:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#122033;background:radial-gradient(circle at top,#ffffff2e,#0000 30%),linear-gradient(#4d9eff 0%,#2366d1 100%);font-family:PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}#root{min-height:100vh}.screen-shell,.admin-shell{min-height:100vh;padding:32px 20px}.screen-shell{justify-content:center;align-items:center;display:flex}.exam-shell,.admin-shell{display:block}.panel{background:#fffffffa;border-radius:28px;box-shadow:0 28px 80px #113a8238}.start-panel{width:min(100%,680px);padding:44px}.brand-mark{align-items:center;display:inline-flex}.brand-mark-logo{width:105px;height:auto;display:block}.hero-badge{color:#245ce0;letter-spacing:.08em;text-transform:uppercase;background:#3374ff1a;border-radius:999px;align-items:center;padding:8px 14px;font-size:13px;font-weight:700;display:inline-flex}h1,h2,h3,p{margin:0}.start-panel h1,.topbar h2,.admin-header h1{margin-top:18px;font-size:clamp(30px,4vw,42px);line-height:1.1}.hero-copy,.topbar p,.admin-header p{color:#5f6f89;margin-top:12px}.field-block{margin-top:28px}.field-block label,.status-title,.panel-title,.info-card-title{color:#3e4d67;margin-bottom:12px;font-size:14px;font-weight:700;display:block}.text-input,.essay-input{background:#f8fbff;border:1px solid #d3dcee;border-radius:18px;outline:none;width:100%;padding:16px 18px;transition:border-color .2s,box-shadow .2s}.text-input:focus,.essay-input:focus{border-color:#3c7cff;box-shadow:0 0 0 4px #3c7cff26}.info-card,.status-block,.summary-card,.detail-card{background:#f7faff;border:1px solid #e5eefb;border-radius:22px;padding:20px}.info-card{margin-top:28px}.meta-list{color:#52647f;gap:8px;margin:14px 0 0;padding:0;list-style:none;display:grid}.action-row,.action-stack{flex-wrap:wrap;gap:12px;margin-top:28px;display:flex}.primary-button,.ghost-button,.tab-button,.answer-pill,.option-item{border:none;border-radius:16px;transition:transform .15s,box-shadow .15s,background .15s}.primary-button,.ghost-button{padding:15px 22px;font-weight:700}.primary-button{color:#fff;background:linear-gradient(135deg,#2f7cff,#1f5dd9);box-shadow:0 18px 35px #2660d747}.ghost-button{color:#2450bc;background:#eef4ff}.primary-button:hover,.ghost-button:hover,.tab-button:hover,.answer-pill:hover,.option-item:hover{transform:translateY(-1px)}.primary-button:disabled,.ghost-button:disabled{cursor:not-allowed;opacity:.6;box-shadow:none;transform:none}.topbar{background:#fffffffa;border-radius:24px;justify-content:space-between;align-items:center;gap:20px;max-width:1320px;margin:0 auto 24px;padding:28px 32px;display:flex;box-shadow:0 24px 60px #113a822e}.exam-layout,.result-layout{grid-template-columns:minmax(0,1fr) 320px;gap:24px;max-width:1320px;margin:0 auto;display:grid}.question-panel,.detail-panel{padding:0;overflow:hidden}.sidebar-panel,.score-panel{align-self:start;height:fit-content;padding:24px;position:sticky;top:24px}.tab-row{border-bottom:1px solid #e4ecfb;gap:8px;padding:16px;display:flex;overflow-x:auto}.tab-button{white-space:nowrap;color:#60718b;background:0 0;padding:14px 18px;font-weight:700}.tab-button.active{color:#235fe0;background:#eaf2ff}.question-list,.detail-list{gap:16px;padding:20px;display:grid}.section-nav{background:#f8fbff;border-top:1px solid #e4ecfb;justify-content:space-between;align-items:center;gap:16px;padding:20px 24px 24px;display:flex}.section-nav-button{min-width:140px}.section-nav-label{color:#60718b;font-size:14px;font-weight:700}.section-nav-spacer{min-width:140px}.question-card{background:#fff;border:1px solid #e7effd;border-radius:24px;padding:22px}.question-header{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:16px;display:flex}.question-header h3{font-size:18px}.question-header span{color:#245ce0;text-align:center;background:#edf4ff;border-radius:999px;min-width:68px;padding:8px 12px;font-size:14px;font-weight:700}.option-list{gap:12px;display:grid}.option-item{text-align:left;color:#3f5270;background:#f7faff;border:1px solid #dde8fb;padding:14px 16px}.option-item.selected{color:#214fbb;background:#eaf2ff;border:1px solid #3f7aff}.essay-input{resize:vertical;min-height:160px}.progress-value{color:#1a3e91;margin-bottom:10px;font-size:26px;font-weight:800}.progress-track{background:#dde8fb;border-radius:999px;height:10px;overflow:hidden}.progress-fill{background:linear-gradient(90deg,#2e7cff,#69a7ff);border-radius:999px;height:100%}.answer-grid{flex-wrap:wrap;gap:10px;display:flex}.answer-pill{color:#5c6d88;background:#edf2fb;width:42px;height:42px;font-weight:700}.answer-pill.current{border:2px solid #437fff}.answer-pill.done{color:#fff;background:#2f7cff}.status-chip{color:#335ec2;background:#eef3ff;border-radius:999px;margin-top:18px;padding:8px 14px;font-size:13px;font-weight:700;display:inline-flex}.status-chip.pending_review{color:#b17000;background:#fff4df}.status-chip.reviewed{color:#1f8a4d;background:#e4f8ec}.result-hero{justify-content:space-between;align-items:stretch;gap:24px;max-width:1320px;margin:0 auto 24px;padding:32px;display:flex}.result-hero-main{flex:1;min-width:0}.result-hero-side{align-content:space-between;justify-items:end;gap:16px;min-width:220px;display:grid}.result-meta{color:#5f6f89;flex-wrap:wrap;gap:12px 18px;margin-top:14px;display:flex}.result-status-badge{border-radius:999px;align-items:center;padding:10px 16px;font-size:14px;font-weight:800;display:inline-flex}.result-status-badge.is-pass{color:#1c8b4b;background:#e5f8eb}.result-status-badge.is-pending{color:#b26f00;background:#fff3dc}.result-status-badge.is-fail{color:#bf4157;background:#ffe7ea}.result-hero-score-inline{color:#16325c;font-size:28px;font-weight:800;line-height:1}.result-hero-score{text-align:right;gap:4px;display:grid}.result-hero-score strong{color:#16325c;font-size:56px;line-height:1}.result-hero-score span{color:#60718b;font-weight:700}.result-page{gap:20px;max-width:1320px;margin:0 auto;display:grid}.result-detail-section{padding:24px;overflow:hidden}.result-detail-header{border-bottom:1px solid #e8eefb;justify-content:space-between;align-items:flex-end;gap:16px;padding-bottom:18px;display:flex}.result-detail-header p{color:#647690;margin-top:8px}.result-detail-list{gap:16px;padding-top:20px;display:grid}.result-question-card{background:linear-gradient(#fff 0%,#f8fbff 100%);padding:20px 22px}.result-question-top{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.result-question-flag{white-space:nowrap;border-radius:999px;align-items:center;padding:8px 14px;font-size:13px;font-weight:800;display:inline-flex}.result-question-flag.is-correct{color:#1c8b4b;background:#e5f8eb}.result-question-flag.is-wrong{color:#bf4157;background:#ffe7ea}.result-question-flag.is-pending{color:#9a6a00;background:#fff1c8}.result-question-index{color:#245ce0;letter-spacing:.04em;margin-bottom:10px;font-size:13px;font-weight:800}.result-question-top h3{font-size:22px;line-height:1.45}.result-question-score{color:#245ce0;text-align:center;background:#edf4ff;border-radius:999px;min-width:88px;padding:10px 14px;font-weight:800}.result-question-body{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px;display:grid}.result-answer-block{background:#f7faff;border:1px solid #e5eefb;border-radius:18px;padding:16px 18px}.result-answer-block span{color:#60718b;margin-bottom:8px;font-size:13px;font-weight:700;display:block}.result-answer-block p{color:#1f2f49;line-height:1.7}.admin-panel{max-width:1320px;margin:0 auto;padding:32px}.admin-section+.admin-section{margin-top:28px}.admin-section-head{justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px;display:flex}.admin-table-meta{color:#60718b;font-size:14px;font-weight:700}.assignment-form{grid-template-columns:minmax(0,1fr) auto;gap:12px;margin-bottom:18px;display:grid}.assignment-list{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;display:grid}.assignment-card{color:#58708f;background:#f7faff;border:1px solid #e5eefb;border-radius:18px;gap:6px;padding:16px 18px;display:grid}.assignment-card strong{color:#1b2c45}.template-card{text-align:left;cursor:pointer;width:100%;transition:transform .15s,box-shadow .15s,border-color .15s,background .15s}.template-card.selected{background:linear-gradient(#eef5ff 0%,#e3eeff 100%);border-color:#6b9bff;transform:translateY(-1px);box-shadow:0 14px 30px #245ce01f}.muted-text{color:#6a7d99;font-size:14px}.admin-auth-panel{width:min(100%,520px);margin:0 auto;padding:36px}.admin-auth-form{margin-top:24px}.admin-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px;display:flex}.table-wrap{overflow-x:auto}.data-table{border-collapse:collapse;width:100%}.data-table th,.data-table td{text-align:left;white-space:nowrap;border-bottom:1px solid #ebf1fd;padding:16px}.data-table th{color:#60718b;text-transform:uppercase;letter-spacing:.04em;font-size:13px}.inline-link,.text-link{color:#245ce0;font-weight:700}.inline-action{cursor:pointer;background:0 0;border:none;padding:0;font-weight:700}.danger-action{color:#c43f56}.danger-button{background:linear-gradient(135deg,#d95b72,#bf3e59);box-shadow:0 18px 35px #bf3e5938}.table-actions{align-items:center;gap:14px;display:inline-flex}.table-actions-single{justify-content:center;width:100%}.dialog-backdrop{z-index:1000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0e182a6b;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.dialog-card{background:#fffffffa;border-radius:26px;width:min(100%,460px);padding:28px;box-shadow:0 28px 80px #113a8238}.dialog-head h3{font-size:24px;line-height:1.2}.dialog-head p{color:#5f6f89;margin-top:12px}.dialog-actions{justify-content:flex-end;gap:12px;margin-top:24px;display:flex}.summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:24px;display:grid}.summary-card span{color:#60718b;font-size:14px;display:block}.summary-card strong{margin-top:8px;font-size:24px;display:block}.review-placeholder{background:#f3f7ff;border-radius:18px;justify-content:space-between;align-items:center;gap:16px;margin-top:14px;padding:16px;display:flex}.review-form-card{background:#f7faff;border:1px solid #e5eefb;border-radius:20px;margin-top:16px;padding:18px}.review-form-card-split{grid-template-columns:minmax(0,1fr) 220px;align-items:start;gap:18px;display:grid}.review-form-card-single{background:0 0;border:none;justify-content:flex-start;width:220px;margin-left:0;padding:0;display:flex}.review-form-row{grid-template-columns:180px minmax(0,1fr);gap:14px;display:grid}.review-form-row.compact{grid-template-columns:180px}.review-field{gap:10px;display:grid}.review-field span{color:#60718b;font-size:13px;font-weight:700}.review-field-wide{min-width:0}.review-comment-input{min-height:110px}.score-input{text-align:center;appearance:textfield}.score-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.score-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.review-score-panel{align-items:start;gap:14px;width:220px;display:grid}.review-score-panel .primary-button{width:100%}.review-actions{justify-content:space-between;align-items:center;gap:16px;margin-top:16px;display:flex}.review-finalize-bar{background:linear-gradient(#fff 0%,#f6f9ff 100%);border:1px solid #e4ecfb;border-radius:24px;justify-content:space-between;align-items:center;gap:20px;margin-top:24px;padding:20px 22px;display:flex}.review-finalize-bar strong{font-size:20px;display:block}.review-finalize-bar p{color:#60718b;margin-top:8px}.admin-answer-meta{color:#233752;gap:12px;display:grid}.admin-detail-layout{grid-template-columns:minmax(0,1fr) 220px;align-items:start;gap:24px;margin-top:14px;display:grid}.admin-answer-block{background:0 0;border:none;border-radius:0;align-items:start;gap:12px;padding:0;display:flex}.admin-answer-block p{white-space:pre-wrap;word-break:break-word;flex:1;margin:0;line-height:1.75}.admin-answer-label{color:#60718b;flex:0 0 84px;font-size:13px;font-weight:700;line-height:1.75}.review-readonly-note{color:#60718b;background:#f7faff;border:1px solid #e5eefb;border-radius:16px;margin-top:0;padding:14px 16px;font-size:14px;font-weight:700}.pagination-bar{justify-content:space-between;align-items:center;gap:16px;margin-top:18px;display:flex}.pagination-button{min-width:112px}.pagination-label{color:#60718b;font-size:14px;font-weight:700}.error-text{color:#c43f56}.pending-note{color:#8a5a00;margin-top:14px;font-size:14px;line-height:1.6}.loading-shell{color:#fff;place-items:center;font-size:22px;display:grid}@media (width<=980px){.exam-layout,.result-layout,.summary-grid,.result-question-body{grid-template-columns:1fr}.admin-detail-layout{grid-template-columns:1fr;gap:16px}.topbar,.admin-header,.admin-section-head,.review-placeholder,.review-actions,.review-finalize-bar,.assignment-form,.result-hero,.result-detail-header,.pagination-bar,.result-score-row{flex-direction:column;align-items:stretch}.result-hero-side{justify-items:start;min-width:0}.result-hero-score{text-align:left}.result-score-divider{width:100%;height:1px}.review-form-card-single,.review-score-panel{width:100%}}@media (width<=640px){.screen-shell,.admin-shell{padding:16px}.start-panel,.admin-panel,.sidebar-panel,.score-panel,.result-hero,.result-detail-section{padding:22px}.question-list,.detail-list,.result-detail-list{padding:16px}.question-header{flex-direction:column}.review-form-row,.review-form-card-split{grid-template-columns:1fr}.section-nav{flex-direction:column}.section-nav-button{width:100%}.section-nav-spacer{display:none}.result-meta{flex-direction:column;gap:8px}.result-hero-score strong{font-size:42px}.result-question-top h3{font-size:18px}}
