:root{color:#17212b;font-synthesis:none;text-rendering:optimizelegibility;background:#eef2f5;font-family:Inter,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif}.student-dashboard,.preparation-page,.phase2-exam-page,.submission-page{color:#17212b;background:#f4f7f7;min-height:100vh}.student-dashboard{padding:28px clamp(20px,5vw,72px) 56px}.student-dashboard-head,.student-dashboard-head>div,.phase2-exam-topbar,.phase2-exam-topbar>div,.student-dashboard-hero,.section-heading,.session-card-top,.phase2-question-audio,.phase2-question-audio>div,.question-sequence,.phase2-submit-bar,.phase2-submit-bar>div,.instruction-banner,.privacy-note,.practice-entry,.practice-entry>div,.device-help,.register-card-title{align-items:center;display:flex}.student-dashboard-head{justify-content:space-between;max-width:1240px;margin:0 auto 34px}.student-dashboard-head>div{gap:13px}.student-dashboard-head h1{margin:2px 0 0;font-size:22px}.student-dashboard-head small{color:#64727e}.student-dashboard-mark,.exam-mini-mark{color:#fff;background:linear-gradient(145deg,#0f766e,#0d9488);place-items:center;font-family:serif;font-weight:700;display:grid;box-shadow:0 8px 24px #0f766e38}.student-dashboard-mark{border-radius:14px;width:46px;height:46px;font-size:23px}.exam-mini-mark{border-radius:10px;width:36px;height:36px;font-size:18px}.student-dashboard-hero{color:#fff;background:radial-gradient(circle at 88% 20%,#2dd4bf47,#0000 30%),linear-gradient(135deg,#0b2730,#0f4c4b 65%,#0f766e);border-radius:24px;justify-content:space-between;gap:28px;max-width:1240px;margin:0 auto 26px;padding:clamp(26px,5vw,48px);box-shadow:0 18px 46px #0f27302e}.student-dashboard-hero h2{margin:8px 0;font-size:clamp(25px,4vw,38px)}.student-dashboard-hero p:last-child{color:#d5e8e7;max-width:660px;margin:0;line-height:1.7}.student-dashboard-profile{background:#ffffff14;border:1px solid #ffffff2e;border-radius:16px;min-width:210px;padding:20px}.student-dashboard-profile span,.student-dashboard-profile small{color:#c9dfdd;display:block}.student-dashboard-profile strong{margin:8px 0;font-size:18px;display:block}.dashboard-notice,.exam-list-section,.practice-entry,.student-dashboard>.inline-alert{max-width:1240px;margin-left:auto;margin-right:auto}.dashboard-notice{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:12px;align-items:center;gap:9px;margin-bottom:18px;padding:13px 16px;display:flex}.section-heading{justify-content:space-between;margin:30px 0 16px}.section-heading h2{margin:0 0 4px;font-size:21px}.section-heading p{color:#6b7782;margin:0}.section-heading>span{color:#64727e}.session-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.session-card{background:#fff;border:1px solid #dde6e7;border-radius:18px;flex-direction:column;min-height:330px;padding:22px;display:flex;box-shadow:0 8px 28px #18313812}.session-card:hover{border-color:#a7d6d1;transform:translateY(-2px);box-shadow:0 14px 34px #1831381c}.session-card-top{justify-content:space-between}.session-status{color:#52616d;background:#eef2f3;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:700}.session-status.available,.session-status.in_progress{color:#0f766e;background:#dff7f2}.session-status.scoring{color:#9a6700;background:#fff6d9}.session-status.published{color:#166534;background:#dcfce7}.session-card h3{margin:22px 0 8px;font-size:19px}.session-card>p{color:#687681;min-height:22px;margin:0 0 18px}.session-card dl{gap:9px;margin:0 0 20px;display:grid}.session-card dl div{grid-template-columns:48px 1fr;gap:8px;font-size:13px;display:grid}.session-card dt{color:#83909a}.session-card dd{color:#3b4852;margin:0}.session-card>.icon-button{justify-content:center;width:100%;margin-top:auto}.published-result{background:#f0fdf4;border-radius:12px;grid-template-columns:1fr auto;align-items:center;gap:2px 10px;margin:0 0 14px;padding:12px 14px;display:grid}.published-result span{color:#52705c;font-size:12px}.published-result strong{grid-row:span 2;font-size:22px}.published-result em{color:#15803d;font-size:12px;font-style:normal}.empty-exam-list{color:#71808b;background:#fff;border:1px dashed #cbd7d9;border-radius:18px;grid-column:1/-1;place-items:center;gap:8px;padding:60px 20px;display:grid}.practice-entry{background:#fff;border:1px solid #d9e2e4;border-radius:18px;justify-content:space-between;gap:20px;margin-top:26px;padding:20px 24px}.practice-entry>div{gap:14px}.practice-entry p{color:#6a7781;margin:4px 0 0}.practice-icon{color:#0f766e;background:#e8f7f4;border-radius:14px;flex:none;place-items:center;width:46px;height:46px;display:grid}.preparation-page{padding:20px}.preparation-page>header{color:#66747e;justify-content:space-between;align-items:center;max-width:900px;margin:0 auto 18px;font-size:13px;display:flex}.back-button{color:#42515b;cursor:pointer;background:0 0;border:0;align-items:center;gap:7px;padding:8px 0;display:inline-flex}.preparation-card{background:#fff;border:1px solid #dde6e7;border-radius:22px;max-width:900px;margin:0 auto;padding:clamp(24px,5vw,46px);box-shadow:0 16px 44px #18313817}.preparation-title{margin-bottom:26px}.preparation-title h1{margin:5px 0 0;font-size:clamp(25px,4vw,34px)}.instruction-banner{color:#0b5d58;background:#eaf8f5;border-radius:14px;gap:14px;margin-bottom:22px;padding:18px}.instruction-banner.local-test{color:#744b00;background:#fff6dd}.instruction-banner span{color:#52716f;margin-top:4px;display:block}.instruction-banner.local-test span{color:#806a40}.instruction-content{color:#34434d;padding:4px 2px;line-height:1.8}.instruction-content ul{padding-left:22px}.exam-introduction-content{background:#fafcfc;border:1px solid #dfe8e9;border-radius:16px;padding:24px}.exam-introduction-content>p{color:#263842;margin:0;font-size:clamp(17px,2.4vw,21px);font-weight:600;line-height:2}.exam-introduction-content>audio{display:none}.instruction-content audio,.section-instruction audio{width:100%;margin-top:12px}.privacy-note{background:#f8fafb;border:1px solid #e2e8ea;border-radius:13px;gap:13px;margin:20px 0;padding:16px}.privacy-note p{color:#66747e;margin:4px 0 0;line-height:1.6}.confirm-check{cursor:pointer;align-items:flex-start;gap:10px;padding:15px 0;font-weight:600;line-height:1.5;display:flex}.confirm-check input{accent-color:#0f766e;width:18px;height:18px;margin-top:2px}.preparation-next{justify-content:center;width:100%;min-height:48px;margin-top:18px}.device-check-grid{gap:14px;display:grid}.device-check-grid article{border:1px solid #dfe7e9;border-radius:15px;grid-template-columns:52px 1fr auto;align-items:center;gap:14px;padding:18px;display:grid;position:relative}.device-check-grid article.passed{background:#f4fcf9;border-color:#9ed8c8}.device-step-icon{color:#0f766e;background:#e8f7f4;border-radius:14px;place-items:center;width:48px;height:48px;display:grid}.device-check-grid h3{margin:2px 0 4px}.device-check-grid p{color:#6b7781;margin:0;font-size:13px}.device-check-grid audio{width:min(260px,100%)}.device-check-grid.compact{gap:18px}.device-check-grid.compact article{padding:20px}.device-check-grid.compact article>audio{display:none}.device-check-grid.compact article>.device-primary-action{grid-column:1/-1}.device-recording-controls{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(20px,7vw,72px);display:grid}.device-primary-action{color:#fff;cursor:pointer;width:100%;min-height:62px;font:inherit;background:#0f766e;border:0;border-radius:13px;justify-content:center;align-items:center;gap:10px;padding:12px 18px;font-size:17px;font-weight:800;display:flex;box-shadow:0 9px 22px #0f766e33}.device-primary-action:hover{background:#0b625c;transform:translateY(-1px)}.device-primary-action.recording{background:#c7352d;box-shadow:0 9px 22px #c7352d33}.device-primary-action.recording:hover{background:#a92822}.device-playback-confirm{grid-column:1/-1;gap:12px;padding-top:2px;display:grid}.device-playback-confirm>audio{display:none}.device-playback-status{color:#485761;background:#f0f5f5;border-radius:10px;align-items:center;gap:9px;min-height:44px;padding:10px 13px;font-size:14px;display:flex}.device-playback-status svg{color:#0f766e;flex:none}.device-playback-status button{color:#0f766e;cursor:pointer;background:0 0;border:0;margin-left:auto;padding:5px 8px;font-weight:750}.device-hearing-choices{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.device-hearing-choices button{color:#0f766e;cursor:pointer;min-height:58px;font:inherit;background:#f4fcfa;border:2px solid #8bc9c2;border-radius:12px;justify-content:center;align-items:center;gap:8px;font-size:16px;font-weight:800;display:flex}.device-hearing-choices button:hover:not(:disabled),.device-hearing-choices button.selected{color:#fff;background:#0f766e;border-color:#0f766e}.device-hearing-choices button.cannot-hear{color:#a52a23;background:#fff7f6;border-color:#efb2ae}.device-hearing-choices button.cannot-hear:hover:not(:disabled){color:#fff;background:#b82f27;border-color:#b82f27}.device-hearing-choices button:disabled{opacity:.45;cursor:not-allowed}.device-check-action{justify-items:start;gap:8px;min-width:240px;display:grid}.device-check-action audio{display:none}.device-check-action .confirm-check{padding:2px 0 0;font-size:13px}.device-playback-error{color:#b42318;max-width:280px;line-height:1.5}.device-passed{color:#16a34a;position:absolute;top:10px;right:10px}.device-waiting{color:#87939b}.device-help{color:#8a5a00;background:#fff9e8;border-radius:12px;gap:9px;margin-top:16px;padding:13px 15px;font-size:13px}.device-help-modal{z-index:120;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f1f247a;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.device-help-modal>div{text-align:center;background:#fff;border-radius:20px;width:min(430px,100%);padding:32px;box-shadow:0 24px 70px #0f1f243d}.device-help-modal-icon{color:#a52a23;background:#fff0ee;border-radius:19px;place-items:center;width:64px;height:64px;margin:0 auto 16px;display:grid}.device-help-modal h2{margin:0 0 9px;font-size:24px}.device-help-modal p{color:#66747e;margin:0 0 22px;line-height:1.7}.device-help-modal .icon-button{justify-content:center;width:100%}.section-intro-icon{color:#0f766e;background:#e7f7f4;border-radius:22px;place-items:center;width:76px;height:76px;margin:0 auto 20px;display:grid}.section-instruction{text-align:center;background:#fafcfc;border:1px solid #dfe8e9;border-radius:16px;padding:22px}.section-instruction h2{margin:0 0 12px}.section-instruction>p{color:#45545e;margin:0;font-size:17px;line-height:1.8}.section-audio-retry{justify-content:center;margin:10px auto 0}.section-example{text-align:left;background:#eef7f6;border-radius:12px;margin-top:18px;padding:14px}.section-example span{color:#0f766e;font-size:12px;font-weight:700}.section-example p{margin:6px 0 0}.section-rule-list{grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0;display:grid}.section-rule-list span{color:#53616a;background:#f1f5f5;border-radius:10px;justify-content:center;align-items:center;gap:7px;padding:11px;font-size:13px;display:flex}.phase2-exam-page{min-height:100vh}.question-loading-gate{z-index:100;background:#f4f7f7;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.question-loading-card{text-align:center;background:#fff;border:1px solid #d9e6e4;border-radius:22px;place-items:center;gap:12px;width:min(460px,100%);padding:36px 28px;display:grid;box-shadow:0 18px 48px #1831381c}.question-loading-icon{color:#0f766e;background:#e7f7f4;border-radius:22px;place-items:center;width:72px;height:72px;animation:1.4s ease-in-out infinite audio-loading-pulse;display:grid}.question-loading-card>strong{margin-top:4px;font-size:22px}.question-loading-card>p{color:#65727c;margin:0;line-height:1.7}.question-loading-card>small{color:#71808a}.question-loading-card>.inline-alert{text-align:left;width:100%}.question-loading-card>.icon-button{justify-content:center;margin-top:4px}@keyframes audio-loading-pulse{50%{transform:scale(1.06);box-shadow:0 0 0 12px #0f766e12}}.phase2-exam-topbar{z-index:20;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff5;border-bottom:1px solid #dbe5e6;justify-content:space-between;min-height:88px;padding:12px clamp(18px,4vw,54px);position:sticky;top:0}.phase2-exam-topbar>div:first-child{gap:11px;max-width:calc(50% - 155px)}.phase2-exam-topbar>div:first-child>div{min-width:0}.phase2-exam-topbar small{color:#73808a;text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.phase2-exam-topbar strong{margin-top:3px;display:block}.local-test-badge{color:#8a5700;white-space:nowrap;background:#fff7df;border:1px solid #f0d795;border-radius:999px;align-items:center;gap:5px;margin-left:10px;padding:6px 9px;font-size:12px;font-weight:750;display:inline-flex}.exam-countdown{color:#0f766e;background:#e9f8f5;border:2px solid #9dd8d1;border-radius:16px;justify-content:center;gap:10px;min-width:270px;min-height:68px;padding:10px 20px;position:absolute;top:10px;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #0f766e26}.exam-countdown.answering{color:#9a3f00;background:#fff3df;border-color:#f2b56d;box-shadow:0 8px 24px #c2560024}.exam-countdown.urgent{color:#b42318;background:#fff0ee;border-color:#ef8f87;animation:1s ease-in-out infinite countdown-urgent;box-shadow:0 8px 26px #b4231833}.exam-countdown span{font-size:15px;font-weight:800}.exam-countdown strong{font-variant-numeric:tabular-nums;letter-spacing:1px;min-width:96px;font-size:38px;line-height:1}@keyframes countdown-urgent{50%{transform:translate(-50%)scale(1.025);box-shadow:0 8px 30px #b4231857}}.phase2-progress{background:#dfe8e9;height:5px}.phase2-progress span{background:linear-gradient(90deg,#0f766e,#2dd4bf);border-radius:0 4px 4px 0;height:100%;transition:width .3s;display:block}.phase2-question-shell{max-width:880px;margin:0 auto;padding:30px 20px 120px}.question-sequence{color:#65727c;justify-content:space-between;margin-bottom:14px;font-size:13px}.question-sequence strong{color:#34434d}.phase2-question-card{background:#fff;border:1px solid #dce6e7;border-radius:20px;overflow:hidden;box-shadow:0 14px 40px #18313814}.phase2-question-audio{background:#f8fbfb;border-bottom:1px solid #e5ebec;justify-content:flex-start;gap:16px;padding:16px 20px}.phase2-question-audio>div{gap:9px}.phase2-question-audio small{color:#849098}.phase2-question-audio audio{width:min(390px,100%);margin-left:auto}.phase2-prompt{padding:28px 30px 12px}.phase2-prompt span{color:#0f766e;font-size:12px;font-weight:800}.phase2-prompt p{margin:10px 0;font-size:clamp(20px,4vw,28px);font-weight:650;line-height:1.65}.prompt-hidden{color:#71808a;place-items:center;gap:7px;padding:52px 20px 34px;display:grid}.prompt-hidden strong{color:#34434d}.phase2-question-image{object-fit:contain;border-radius:12px;max-width:calc(100% - 60px);max-height:340px;margin:10px auto 24px;display:block}.phase2-keyboard-hint{color:#71808a;text-align:center;padding:20px 30px 0;font-size:14px}.phase2-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:14px 30px 32px;display:grid}.phase2-options button{text-align:center;cursor:pointer;background:#fff;border:1px solid #d8e2e3;border-radius:13px;place-items:center;min-height:76px;padding:12px 16px;display:grid;position:relative}.phase2-options button:hover:not(:disabled){background:#f3fbfa;border-color:#66b8af}.phase2-options button.selected{color:#0b625c;background:#eaf8f5;border-color:#0f766e}.phase2-options button>span{background:#edf2f2;border-radius:12px;place-items:center;width:44px;height:44px;font-size:22px;font-weight:800;display:grid}.phase2-options button>svg{position:absolute;top:14px;right:14px}.phase2-recording{text-align:center;place-items:center;padding:28px 30px 36px;display:grid}.recording-orb{color:#0f766e;background:#f3fbf9;border:8px solid #e3f4f1;border-radius:50%;align-content:center;place-items:center;gap:7px;width:110px;height:110px;display:grid}.recording-orb.active{color:#b42318;background:#fff5f5;border-color:#fee2e2;animation:1.5s infinite record-pulse}@keyframes record-pulse{50%{box-shadow:0 0 0 14px #ef444414}}.phase2-recording>p{color:#64727c}.phase2-recording audio{max-width:100%}.recording-control-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(28px,8vw,88px);width:min(560px,100%);margin:10px 0 18px;display:grid}.recording-control-row .icon-button{min-height:54px}.phase2-submit-bar{z-index:15;background:#fffffff7;border-top:1px solid #dbe5e6;justify-content:space-between;gap:20px;padding:16px max(20px,50vw - 440px);position:fixed;bottom:0;left:0;right:0;box-shadow:0 -10px 30px #19323912}.phase2-submit-bar>div{color:#6a7781;gap:8px;font-size:13px}.submission-page{background:radial-gradient(circle at 50% 10%,#dcf8f1,#f4f7f7 48%);place-items:center;min-height:100vh;padding:24px;display:grid}.submission-page>section{text-align:center;background:#fff;border:1px solid #d9e6e4;border-radius:24px;width:min(620px,100%);padding:clamp(32px,6vw,56px);box-shadow:0 20px 54px #1831381c}.submission-icon{color:#15803d;background:#dcfce7;border-radius:50%;place-items:center;width:86px;height:86px;margin:0 auto 22px;display:grid}.submission-page h1{margin:8px 0 14px;font-size:32px}.submission-page>section>p:not(.eyebrow){color:#62717b;line-height:1.7}.submission-meta{text-align:left;background:#f5f8f8;border-radius:14px;grid-template-columns:100px 1fr;gap:10px;margin:26px 0;padding:18px;display:grid}.submission-meta span{color:#7a8790}.submission-page .icon-button{margin:0 auto}.test-exam-entry{color:#17212b;background:radial-gradient(circle at 16% 12%,#2dd4bf33,#0000 30%),radial-gradient(circle at 88% 80%,#f59e0b29,#0000 30%),#edf3f3;place-items:center;min-height:100vh;padding:24px;display:grid}.test-exam-entry-card{background:#fffffff5;border:1px solid #d7e3e3;border-radius:26px;width:min(760px,100%);padding:clamp(28px,6vw,54px);box-shadow:0 24px 70px #18313821}.test-exam-entry-mark{color:#0f766e;background:#e5f6f3;border-radius:21px;place-items:center;width:72px;height:72px;margin-bottom:24px;display:grid}.test-exam-entry-card h1{margin:7px 0 12px;font-size:clamp(28px,5vw,42px);line-height:1.2}.test-exam-entry-lead{color:#64727c;margin:0 0 26px;font-size:16px;line-height:1.7}.test-exam-safety{color:#74500a;background:#fff9e9;border:1px solid #f0d99b;border-radius:14px;align-items:flex-start;gap:13px;margin-bottom:28px;padding:16px 18px;display:flex}.test-exam-safety svg{flex:none;margin-top:2px}.test-exam-safety strong,.test-exam-safety span{display:block}.test-exam-safety span{color:#806f4e;margin-top:4px;font-size:13px;line-height:1.6}.test-exam-entry-card form>label{margin-bottom:9px;font-size:14px;font-weight:700;display:block}.test-exam-picker-row{grid-template-columns:minmax(0,1fr) auto;gap:12px;display:grid}.test-exam-select-wrap{background:#fff;border:1px solid #ccd9da;border-radius:11px;align-items:center;gap:10px;min-width:0;padding:0 14px;display:flex}.test-exam-select-wrap svg{color:#0f766e;flex:none}.test-exam-select-wrap select{color:#25323b;width:100%;min-width:0;height:48px;font:inherit;background:0 0;border:0;outline:0}.test-exam-picker-row>.icon-button{justify-content:center;min-height:48px}.test-exam-entry-footnote{color:#849098;margin-top:22px;line-height:1.6;display:block}.phase2-register-page{align-items:flex-start}.phase2-register-card{width:min(820px,100%)}.register-card-title{justify-content:space-between}.form-progress{color:#0f766e;background:#e9f8f5;border-radius:999px;padding:7px 10px;font-size:12px}.register-section{border:1px solid #dfe7e8;border-radius:15px;margin:22px 0;padding:20px}.register-section legend{padding:0 8px;font-weight:750}.register-section legend span{color:#fff;background:#0f766e;border-radius:8px;place-items:center;width:24px;height:24px;margin-right:7px;font-size:12px;display:inline-grid}.invite-verify-row{grid-template-columns:1fr auto;align-items:end;gap:12px;display:grid}.invite-verify-row .icon-button{min-height:42px}.invite-result{border-radius:9px;margin-top:10px;padding:10px 12px;font-size:13px}.invite-result.valid{color:#166534;background:#ecfdf3}.invite-result.invalid{color:#b42318;background:#fff1f0}.bound-site{background:#f3f8f8;border-radius:11px;grid-template-columns:100px 1fr;gap:4px 12px;margin-top:12px;padding:14px;display:grid}.bound-site span{color:#71808a;grid-row:span 2}.bound-site small{color:#697681}.residence-grid{grid-template-columns:repeat(3,1fr);gap:14px;margin-top:14px;display:grid}.language-options{margin-top:16px}.language-options>span{margin-bottom:9px;font-weight:650;display:block}.language-options>div{flex-wrap:wrap;gap:10px;display:flex}.language-options label{cursor:pointer;background:#fff;border:1px solid #dce5e6;border-radius:10px;align-items:center;gap:7px;padding:9px 12px;display:flex}.language-options input{accent-color:#0f766e}@media (max-width:900px){.session-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.student-dashboard-hero{flex-direction:column;align-items:flex-start}.student-dashboard-profile{width:100%}.device-check-grid article{grid-template-columns:52px 1fr}.device-check-grid article>button,.device-check-grid article>audio,.device-check-grid article>.device-waiting,.device-check-grid article>.device-check-action{grid-column:2}.device-check-action{min-width:0}}@media (max-width:640px){.test-exam-entry{padding:12px}.test-exam-entry-card{border-radius:18px;padding:26px 20px}.test-exam-picker-row{grid-template-columns:1fr}.test-exam-picker-row>.icon-button{width:100%}.student-dashboard{padding:16px 14px 40px}.student-dashboard-head{margin-bottom:20px}.student-dashboard-head small{display:none}.student-dashboard-hero{border-radius:18px;padding:24px 20px}.session-card-grid{grid-template-columns:1fr}.practice-entry{flex-direction:column;align-items:flex-start}.practice-entry>.icon-button{justify-content:center;width:100%}.preparation-page{padding:12px}.preparation-card{border-radius:17px;padding:24px 18px}.device-check-grid article{grid-template-columns:44px 1fr;padding:14px}.device-step-icon{width:42px;height:42px}.device-hearing-choices{grid-template-columns:1fr}.device-help-modal>div{padding:28px 22px}.section-rule-list{grid-template-columns:1fr}.phase2-exam-topbar{align-items:center;min-height:82px;padding:10px 14px}.phase2-exam-topbar>div:first-child{max-width:calc(100% - 158px)}.local-test-badge{display:none}.phase2-exam-topbar>div:first-child strong{text-overflow:ellipsis;white-space:nowrap;max-width:135px;overflow:hidden}.exam-countdown{gap:6px;min-width:146px;min-height:60px;padding:8px 12px;position:static;transform:none}.exam-countdown span{display:none}.exam-countdown strong{min-width:82px;font-size:32px}@keyframes countdown-urgent{50%{transform:scale(1.025);box-shadow:0 8px 30px #b4231857}}.phase2-question-shell{padding:20px 12px 128px}.question-sequence strong{display:none}.phase2-question-audio{align-items:flex-start}.phase2-question-audio>div{flex-wrap:wrap}.phase2-question-audio small{width:100%;padding-left:28px}.phase2-question-audio audio{width:100%;margin-left:0}.phase2-prompt{padding:22px 20px 8px}.phase2-keyboard-hint{padding:16px 18px 0}.phase2-options{gap:8px;padding:12px 18px 24px}.phase2-question-image{max-width:calc(100% - 36px)}.recording-control-row,.device-recording-controls{gap:18px}.phase2-submit-bar{padding:10px 12px calc(10px + env(safe-area-inset-bottom));flex-direction:column;align-items:stretch;gap:8px}.phase2-submit-bar>div{justify-content:center}.phase2-submit-bar>.icon-button{justify-content:center;width:100%}.residence-grid,.invite-verify-row{grid-template-columns:1fr}}*{box-sizing:border-box}body{background:#eef2f5;min-width:320px;margin:0}a{color:#167783}.student-auth-page{background:radial-gradient(circle at 12% 16%,#1ea69a33,#0000 32%),linear-gradient(135deg,#0c2831 0 42%,#eef2f5 42% 100%);grid-template-columns:minmax(320px,.8fr) minmax(520px,1.2fr);align-items:center;gap:clamp(36px,7vw,100px);min-height:100vh;padding:56px max(6vw,32px);display:grid}.student-auth-intro{color:#fff;max-width:520px}.student-auth-mark{background:linear-gradient(145deg,#1aa89c,#0f766e);border-radius:12px;place-items:center;width:54px;height:54px;margin-bottom:34px;font-size:28px;font-weight:900;display:grid;box-shadow:0 14px 34px #0f766e57}.student-auth-intro p{color:#7fd0c8;margin-bottom:12px;font-weight:700}.student-auth-intro h1{margin-bottom:18px;font-size:clamp(36px,4.3vw,60px)}.student-auth-intro>span:last-child{color:#ffffffad;line-height:1.8}.student-auth-card{background:#fffffffa;border:1px solid #d7e0e7;border-radius:10px;justify-self:end;width:min(480px,100%);padding:34px;box-shadow:0 24px 70px #0f273024}.student-auth-card.register-card{width:min(820px,100%)}.student-auth-form{gap:18px;margin-top:26px;display:grid}.student-auth-submit{justify-content:center;width:100%}.student-auth-switch{color:#5f707b;text-align:center;margin:22px 0 0}.student-auth-switch a{margin-left:6px;font-weight:700}.student-test-entry-link{text-align:center;color:#785000;background:#fff8e7;border:1px solid #ecd390;border-radius:9px;margin-top:16px;padding:11px 14px;font-size:13px;font-weight:700;text-decoration:none;display:block}.student-test-entry-link:hover{background:#fff3d4;border-color:#d9b85c}button,textarea,input{font:inherit}button,.icon-button{cursor:pointer;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}button *,.icon-button *{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}button:disabled{cursor:not-allowed;opacity:.55}.exam-shell{grid-template-columns:minmax(0,1fr) 360px;gap:22px;width:min(1280px,100vw - 40px);margin:28px auto;display:grid}.exam-shell.single{grid-template-columns:minmax(0,1fr);width:min(1080px,100vw - 40px)}.exam-panel,.review-panel{background:#fffffff5;border:1px solid #d7e0e7;border-radius:8px;box-shadow:0 18px 44px #182d3d14}.exam-panel{min-height:calc(100vh - 56px);padding:26px}.review-panel{align-self:start;padding:20px;position:sticky;top:24px}.exam-head{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:22px;display:flex}.eyebrow{color:#58707d;letter-spacing:0;margin:0 0 8px;font-size:13px;font-weight:700}h1,h3,p{margin-top:0}h1{letter-spacing:0;margin-bottom:0;font-size:28px;line-height:1.25}h3{letter-spacing:0;margin-bottom:12px;font-size:17px}.status-pill{color:#38515c;white-space:nowrap;background:#f4f7f9;border:1px solid #d0dde3;border-radius:999px;align-items:center;gap:10px;min-height:42px;padding:0 14px;display:inline-flex}.status-pill[data-active=true]{color:#a33b3b;background:#fff3f3;border-color:#efc0c0}.progress-line{color:#516b77;justify-content:space-between;gap:14px;margin-bottom:8px;display:flex}.progress-track{background:#e3ebef;border-radius:999px;height:8px;margin-bottom:22px;overflow:hidden}.progress-track span{border-radius:inherit;background:#167783;height:100%;display:block}.question-block{gap:16px;margin-bottom:20px;display:grid;position:relative}.question-toolbar{color:#5d7580;justify-content:space-between;align-items:center;gap:12px;display:flex}.audio-button{border-radius:999px;width:42px;min-height:42px;padding:0}.image-stage{background:#f7fafb;border:1px solid #d7e0e7;border-radius:8px;place-items:center;min-height:360px;display:grid;overflow:hidden}.image-stage img{object-fit:contain;width:min(100%,620px);max-height:420px;display:block}.option-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.option-list button{color:#1e3540;text-align:center;background:#fff;border:1px solid #cfdbe2;border-radius:8px;justify-content:center;align-items:center;gap:10px;min-height:86px;padding:14px;display:flex}.option-list button span{color:#38515c;background:#e9eff3;border-radius:999px;place-items:center;width:42px;height:42px;font-size:20px;font-weight:800;display:grid}.option-list button svg{opacity:0}.option-list button.selected{border-color:#167783;box-shadow:0 0 0 4px #1677831f}.option-list button.selected span{color:#fff;background:#167783}.option-list button.selected svg{opacity:1;color:#167783}.spoken-prompt{background:#f7fafb;border:1px solid #d7e0e7;border-radius:8px;padding:18px}.spoken-prompt span,.field-block>span,.band-label{color:#4a6471;font-size:14px;font-weight:700}.spoken-prompt p{margin:10px 0 0;font-size:22px;line-height:1.7}.field-block{gap:10px;display:grid}.field-block input,.field-block textarea,.field-block select,.search-form input,.threshold-grid input{resize:vertical;color:#17212b;background:#fbfdfe;border:1px solid #cfdbe2;border-radius:8px;outline:none;width:100%;padding:14px;line-height:1.7}.field-block input{resize:none;min-height:48px}.field-block select{min-height:48px}.field-block textarea{min-height:132px}.field-block input:focus,.field-block textarea:focus,.field-block select:focus,.search-form input:focus,.threshold-grid input:focus{border-color:#2d8d97;box-shadow:0 0 0 4px #2d8d971f}.start-panel{min-height:auto}.start-form{gap:16px;max-width:780px;display:grid}.exam-account-actions{align-items:center;gap:10px;display:flex}.exam-account-actions form{margin:0}.student-profile-card{background:#f7fafb;border:1px solid #d7e0e7;border-radius:8px;gap:20px;max-width:780px;margin-bottom:22px;padding:20px;display:grid}.student-profile-heading{align-items:center;gap:14px;display:flex}.student-avatar{color:#fff;background:#167783;border-radius:50%;place-items:center;width:48px;height:48px;font-size:20px;font-weight:800;display:grid}.student-profile-heading strong,.student-profile-heading span{display:block}.student-profile-heading strong{margin-bottom:4px;font-size:18px}.student-profile-heading span,.student-profile-grid span,.exam-ready-note{color:#627681}.student-profile-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.student-profile-grid>div{background:#fff;border-radius:7px;padding:12px}.student-profile-grid span,.student-profile-grid strong{display:block}.student-profile-grid span{margin-bottom:5px;font-size:12px}.student-profile-grid strong{font-size:14px}.exam-ready-note{margin:0;line-height:1.7}.profile-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.continue-box{background:#f7fafb;border:1px solid #d7e0e7;border-radius:8px;gap:8px;max-width:620px;margin-top:22px;padding:16px;display:grid}.continue-box strong{font-size:18px}.continue-box span{color:#516b77}.speech-note{color:#516b77;background:#f7fafb;border:1px solid #d0dde3;border-radius:8px;align-items:center;gap:10px;min-height:54px;padding:0 14px;font-weight:700;display:flex}.speech-note[data-ready=true]{color:#22613b;background:#edf8f1;border-color:#8ec3a1}.recording-band{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:14px;display:grid}.recording-band.compact-band{grid-template-columns:repeat(2,minmax(0,1fr))}.recording-band>div,.score-box,.section-list article{background:#f7fafb;border:1px solid #d7e0e7;border-radius:8px}.recording-band>div{align-content:center;gap:8px;min-height:88px;padding:14px;display:grid}.recording-band strong{font-size:20px}.action-row{flex-wrap:wrap;gap:12px;margin-top:16px;display:flex}.action-row.compact{margin-top:0}.exam-actions{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr) minmax(0,1fr);display:grid}.exam-actions .icon-button{width:100%;padding:0 8px}.recording-actions{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);display:grid}.recording-actions .icon-button{width:100%}.hold-record-button{touch-action:none;-webkit-user-select:none;user-select:none}.icon-button{color:#1e3540;background:#fff;border:1px solid #cfdbe2;border-radius:8px;justify-content:center;align-items:center;gap:9px;min-height:46px;padding:0 15px;font-weight:700;display:inline-flex}.icon-button.primary{color:#fff;background:#167783;border-color:#167783}.icon-button.danger{color:#fff;background:#b85151;border-color:#b85151}.inline-alert{color:#9a3434;background:#fff3f3;border:1px solid #efc0c0;border-radius:8px;align-items:center;gap:10px;min-height:48px;margin-top:16px;padding:0 14px;display:flex}.success-alert{color:#22613b;background:#edf8f1;border-color:#8ec3a1}.neutral-alert{color:#38515c;background:#f7fafb;border-color:#cfdbe2}.score-box{margin-bottom:14px;padding:18px}.score-box strong{color:#0b6b74;margin-bottom:8px;font-size:44px;line-height:1;display:block}.score-box span{color:#5d7580}.section-list{gap:10px;margin-bottom:18px;display:grid}.section-list.wide{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:22px}.section-list article{align-content:center;gap:8px;min-height:92px;padding:14px;display:grid}.section-list article span,.section-list article small{color:#5d7580}.section-list article strong{color:#17212b;font-size:24px}.question-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-bottom:18px;display:grid}.question-grid button{aspect-ratio:1;color:#38515c;background:#fff;border:1px solid #cfdbe2;border-radius:8px;font-weight:800}.question-grid button[data-answered=true]{color:#22613b;background:#edf8f1;border-color:#8ec3a1}.question-grid button.active{border-color:#167783;box-shadow:0 0 0 3px #1677831f}.current-feedback{border-top:1px solid #d7e0e7;padding-top:16px}.current-feedback strong{color:#0b6b74;margin-bottom:10px;font-size:32px;display:block}.current-feedback p,.current-feedback li,.recap-list li,.recap-list small{color:#516b77;line-height:1.6}.current-feedback ul,.recap-list ul{margin:0;padding-left:18px}.final-score{color:#0b6b74;text-align:right;min-width:132px;font-size:56px;font-weight:800;line-height:1}.recap-list{gap:12px;display:grid}.recap-list article{background:#fff;border:1px solid #d7e0e7;border-radius:8px;padding:16px}.recap-list article>div{justify-content:space-between;align-items:center;gap:16px;margin-bottom:8px;display:flex}.recap-list article>div span{color:#58707d;font-weight:700}.recap-list article>div strong{color:#0b6b74;font-size:24px}.recap-list p{margin-bottom:8px;line-height:1.6}.recap-list small{margin-bottom:8px;display:block}.recap-list audio{width:100%;margin:8px 0}.admin-table{gap:8px;display:grid;overflow-x:auto}.admin-row{background:#fff;border:1px solid #d7e0e7;border-radius:8px;grid-template-columns:1.1fr 1.2fr .8fr .7fr .6fr 1fr .6fr;align-items:center;gap:12px;min-width:860px;padding:12px 14px;display:grid}.admin-head-row{color:#516b77;background:#f4f7f9;font-weight:800}.admin-row a{color:#0b6b74;font-weight:800;text-decoration:none}.admin-shell{width:min(1360px,100vw - 40px)}.admin-head{align-items:center}.admin-dashboard{gap:18px;display:grid}.admin-section{background:#fbfdfe;border:1px solid #d7e0e7;border-radius:8px;gap:16px;padding:18px;display:grid}.admin-section-head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.admin-section-head p{color:#5d7580;margin:4px 0 0;line-height:1.6}.admin-form{gap:12px;display:grid}.settings-form,.scorer-create-form{grid-template-columns:repeat(4,minmax(0,1fr)) auto;align-items:end}.scorer-create-form{grid-template-columns:repeat(4,minmax(0,1fr))}.task-form{align-content:start}.two-column-section{grid-template-columns:repeat(2,minmax(0,1fr))}.toggle-line,.checkbox-list label{color:#38515c;align-items:center;gap:10px;min-height:44px;font-weight:700;display:flex}.toggle-line{background:#fff;border:1px solid #d7e0e7;border-radius:8px;padding:0 12px}.checkbox-list{background:#fff;border:1px solid #d7e0e7;border-radius:8px;gap:8px;max-height:220px;padding:10px;display:grid;overflow:auto}.threshold-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.search-form{grid-template-columns:minmax(180px,1fr) auto;gap:8px;display:grid}.compact-table{gap:8px;display:grid;overflow-x:auto}.compact-row{background:#fff;border:1px solid #d7e0e7;border-radius:8px;grid-template-columns:.8fr .9fr .7fr 1fr 1.4fr .6fr .6fr;align-items:center;gap:12px;min-width:980px;padding:11px 12px;display:grid}.compact-head{color:#516b77;background:#f4f7f9;font-weight:800}.link-button{color:#0b6b74;background:0 0;border:0;padding:0;font-weight:800}.task-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;display:grid}.task-card{background:#fff;border:1px solid #d7e0e7;border-radius:8px;gap:12px;padding:14px;display:grid}.task-card span,.task-card small{color:#5d7580;font-weight:700}.task-card strong{color:#17212b;margin-top:6px;font-size:18px;display:block}.result-row{grid-template-columns:1fr 1.1fr .8fr .6fr .6fr .6fr .7fr 1fr .6fr}.profile-grid.section-list.wide{grid-template-columns:repeat(3,minmax(0,1fr))}.detail-list article{background:#fbfdfe}.score-detail-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:10px 0;display:grid}.score-detail-grid span{color:#38515c;background:#fff;border:1px solid #d7e0e7;border-radius:8px;align-items:center;min-height:38px;padding:0 10px;font-weight:700;display:flex}.review-score-form{grid-template-columns:160px minmax(0,1fr);gap:12px;margin-top:12px;display:grid}.review-score-form textarea{min-height:92px}.empty-state{color:#5d7580;background:#fff;border:1px solid #d7e0e7;border-radius:8px;place-items:center;min-height:88px;font-weight:700;display:grid}.loading-state{color:#516b77;place-items:center;gap:12px;min-height:calc(100vh - 108px);font-weight:700;display:grid}@media (max-width:980px){.student-auth-page{background:linear-gradient(#0c2831 0 28%,#eef2f5 28% 100%);grid-template-columns:1fr;align-items:start;gap:28px;padding:36px 18px}.student-auth-intro h1{font-size:34px}.student-auth-intro>span:last-child{display:none}.student-auth-mark{margin-bottom:22px}.student-auth-card,.student-auth-card.register-card{justify-self:stretch;width:100%;padding:24px 20px}.exam-shell,.exam-shell.single{grid-template-columns:1fr;width:min(100vw - 12px,760px);margin:6px auto}.review-panel{position:static}.exam-head{gap:10px;display:grid}.exam-account-actions{flex-wrap:wrap;align-items:flex-start}.student-profile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.recording-band,.section-list.wide,.profile-grid.section-list.wide,.two-column-section,.settings-form,.scorer-create-form,.score-detail-grid,.review-score-form,.profile-form-grid{grid-template-columns:1fr}.admin-shell{width:min(100vw - 12px,760px)}.admin-section-head,.admin-head{display:grid}.search-form,.threshold-grid{grid-template-columns:1fr}.exam-panel,.review-panel{padding:20px}h1{font-size:22px}.status-pill{justify-self:start;min-height:36px}.progress-track{margin-bottom:16px}.image-stage{min-height:260px}.question-toolbar{flex-direction:row;align-items:center;min-height:42px}.option-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.option-list button{min-height:66px;padding:8px}.option-list button span{width:38px;height:38px;font-size:18px}.icon-button{gap:6px;min-height:44px;padding:0 10px}.exam-actions{grid-template-columns:minmax(0,1fr) minmax(0,.9fr) minmax(0,1fr);gap:8px}.final-score{text-align:left}}
