:root{--muted:#606f65}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #3467a0;outline-offset:3px}button,select{min-height:44px}input[type=radio],input[type=checkbox]{min-width:18px;min-height:18px;accent-color:#426954}.answer-options label,.cloze-choice-cells label{min-height:44px;display:flex;align-items:center;gap:7px;cursor:pointer}.draft-status{font-size:13px;color:#52665a;padding:10px 0 18px}.draft-status button{font-size:12px}.writing-answers label{display:block;margin:24px 0}.writing-answers textarea{display:block;width:100%;margin-top:9px;line-height:1.8;resize:vertical}.writing-answers small{display:block;text-align:right;margin-top:6px}.writing-context{margin-bottom:22px;line-height:1.9}.writing-context summary{font-weight:650;cursor:pointer;padding:12px;background:#eef3eb}.cloze-passage{line-height:1.9!important;font-size:16px!important}.cloze-passage p{margin:0 0 1.25em}.cloze-blank-link{border:0;background:#e3ebdd;padding:0 4px;min-height:28px;color:#274d36;font-weight:700}.cloze-option-row:focus-within{outline:2px solid #426954;outline-offset:3px}.dashboard-next{margin:0 0 20px!important;padding:22px!important}.dashboard-next h2{margin:0 0 14px}.dashboard-next-items{display:flex;gap:12px;flex-wrap:wrap}.dashboard-next-items>button{flex:1;min-width:180px;text-align:left;padding:14px;background:#f4f7ef}.dashboard-next-items small{display:block;margin-top:8px;color:#606f65}.grading-service-status{width:100%;margin:4px 0;font-size:13px}.dash-hero{min-height:230px!important;padding:28px!important}.dash-hero h2{font-size:28px!important}.dash-hero-art{opacity:.35}.teacher-batch{margin-top:20px}.quality-summary{display:flex;gap:12px;flex-wrap:wrap}.quality-summary>div{background:#f2f5ec;padding:14px;min-width:120px}.quality-summary b{display:block;font-size:23px}.analytics-controls{display:flex;gap:12px;flex-wrap:wrap;margin:16px 0}.analytics-controls label{display:flex;gap:8px;align-items:center}.analytics-section{margin:20px 0}.analytics-bars>div{display:grid;grid-template-columns:180px 1fr 65px;align-items:center;gap:12px;margin:14px 0}.analytics-bars progress{width:100%}.exam-countdown{font-variant-numeric:tabular-nums;font-weight:700}.exam-nav{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.exam-nav button.current{outline:2px solid #426954}.exam-nav button.answered{background:#dfeadc}.exam-stem{line-height:1.85}.exam-inputs textarea{width:100%;min-height:180px}.exam-inputs label{display:block;margin:15px 0}.exam-inputs input[type=text]{width:100%}
@media(min-width:1100px){.cloze-question{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(290px,1fr);gap:14px 24px;align-items:start}.cloze-question>h1,.cloze-question>p,.cloze-question>.focused-solution,.cloze-question>.focused-actions{grid-column:1/-1}.cloze-question>.cloze-passage{position:sticky;top:20px;max-height:75vh;overflow:auto;margin:0!important;padding:20px!important}.cloze-question>#focusedForm{grid-column:2;grid-row:3}.cloze-question .word-formation-options{grid-template-columns:1fr!important}.cloze-question .cloze-option-row{padding:8px!important}.cloze-question .cloze-choice-cells{flex-wrap:wrap}.cloze-question .cloze-choice-cells label{flex:1 1 40%}}
@media(max-width:650px){.dashboard-next-items{display:grid;grid-template-columns:1fr;width:100%}.dashboard-next-items>button{min-width:0}.dash-hero h2{font-size:23px!important}.quality-summary{display:grid;grid-template-columns:1fr 1fr}.analytics-bars>div{grid-template-columns:100px 1fr 45px}header select{max-width:115px}.focused-question{padding:18px!important}.cloze-choice-cells{display:flex!important;flex-wrap:wrap}.cloze-choice-cells label{flex:1 1 40%}.writing-answers textarea{font-size:16px}.exam-nav button{min-width:44px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

.journey-board{position:relative;overflow:hidden;background:radial-gradient(ellipse at 95% 0,#315f63,transparent 60%),#102e38;color:#eaf5ed;border-radius:24px;padding:28px;margin:20px 0 28px;border:1px solid #548480;box-shadow:0 14px 36px #102e3820}.journey-header{display:flex;justify-content:space-between;gap:20px}.journey-header small{letter-spacing:.17em;color:#b9dfcc}.journey-header h2{font-size:30px;margin:10px 0}.journey-header p,.journey-rule{color:#c5d9d5}.journey-rank{min-width:110px;display:grid;place-content:center;text-align:center;border:1px solid #b8d9a5;border-radius:18px;padding:14px;color:#e4f3b8}.journey-rank strong{font-size:30px}.journey-xp{display:flex;gap:14px;align-items:center;margin:22px 0;flex-wrap:wrap}.journey-xp progress{flex:1;min-width:120px;accent-color:#d0eaa5}.journey-route{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.journey-node{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:20px;background:#ffffff0c!important;border:1px solid #688d88!important;border-radius:18px!important;color:#eaf5ed!important;text-align:left;transition:transform .2s,background .2s}.journey-node:hover{transform:translateY(-3px);background:#ffffff1c!important}.journey-node b{font-size:20px}.journey-node small{letter-spacing:.12em;color:#b9d8cc}.journey-node em{font-style:normal;color:#e4f3b8}.journey-emblem{display:grid;place-items:center;width:48px;height:48px;background:#3a6264;border-radius:14px;font-size:27px;color:#e4f3b8}.journey-node.earned{border-color:#c6dea0!important}.journey-rule{font-size:12px;line-height:1.7;margin:18px 0 0}.journey-checkpoint{display:flex;gap:14px;align-items:center;padding:16px;background:#edf4df;border-radius:14px;margin:16px 0}.journey-checkpoint>span{font-size:30px;color:#45775c}.journey-checkpoint p{margin:6px 0 0;color:#526454}@media(max-width:650px){.journey-board{padding:18px}.journey-route{grid-template-columns:1fr}.journey-node{display:grid;grid-template-columns:48px 1fr;gap:8px 14px}.journey-emblem{grid-row:span 4}.journey-header h2{font-size:25px}.journey-rank{min-width:80px;padding:8px}}@media(prefers-reduced-motion:reduce){.journey-node{transition:none}.journey-node:hover{transform:none}}
/* Dedicated examination workspace */
.exam-workspace{background:transparent;border:0;padding:0;box-shadow:none}.exam-eyebrow{display:block;letter-spacing:.14em;font-size:11px;color:#687e77;font-weight:750}.exam-intro{display:flex;justify-content:space-between;align-items:center;gap:28px;background:#e8eee7;border:1px solid #d8e2d8;padding:28px;border-radius:20px;margin-bottom:24px}.exam-intro h2{font-size:27px;margin:10px 0}.exam-intro p{color:#5c6e65;margin:0;max-width:560px;line-height:1.7}.exam-service{max-width:260px;display:flex;gap:10px;flex-wrap:wrap;font-size:12px;color:#53665b}.exam-service span{width:100%}.exam-service button{background:#ffffffb0}.exam-paper-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.exam-paper{display:flex;flex-direction:column;min-width:0;background:#fff;border:1px solid #dde5dc;border-radius:18px;padding:24px;transition:border-color .2s,box-shadow .2s}.exam-paper:hover{border-color:#8aa58d;box-shadow:0 8px 20px #1c46380a}.exam-paper-top{display:flex;justify-content:space-between;align-items:center}.exam-subject-symbol{height:48px;min-width:48px;padding:0 10px;display:grid;place-items:center;background:#edf2e8;border-radius:13px;color:#3c624f;font-weight:750;font-size:23px}.exam-edition{font-size:11px;letter-spacing:.12em;color:#69796e}.exam-paper h2{font-size:27px;margin:22px 0 6px}.exam-paper-caption{margin:0;color:#778177;font-size:13px}.exam-paper-stats{display:flex;gap:28px;margin:24px 0;padding:17px 0;border-top:1px solid #edf0e9;border-bottom:1px solid #edf0e9}.exam-paper-stats b{font-size:26px;font-variant-numeric:tabular-nums;font-weight:650}.exam-paper-stats span{display:block;font-size:12px;color:#637367;margin-top:4px}.exam-rules{font-size:12px;line-height:1.75;color:#5d7064;margin-bottom:20px}.exam-rules summary{cursor:pointer;min-height:32px}.exam-rules p{padding:8px 12px;background:#f6f8f2;border-radius:8px}.exam-quiet-rule{font-size:12px;color:#69796c;margin:0 0 20px}.exam-paper-actions{margin-top:auto;display:flex;align-items:center;gap:16px}.exam-paper-actions button{display:flex;justify-content:space-between;flex:1;padding:12px 16px;border-radius:10px}.exam-paper-actions a{font-size:12px;white-space:nowrap;color:#49624f}.exam-history{margin-top:32px}.exam-section-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.exam-section-title h2{font-size:20px;margin:0}.exam-section-title>span{font-size:12px;color:#738071}.exam-history-empty{text-align:center;background:#f1f4ed;padding:30px;border:1px dashed #d2dccd;border-radius:16px}.exam-history-empty>span{display:block;font-size:28px;color:#789078;margin-bottom:10px}.exam-history-empty p{font-size:13px;color:#6d7b6e}.exam-history-row{display:flex;gap:20px;align-items:center;background:#fff;padding:18px;border:1px solid #e2e7dd;border-radius:12px;margin-bottom:10px}.exam-history-row>div{flex:1}.exam-history-row p{font-size:12px;color:#738071;margin-bottom:0}.exam-history-row strong{font-size:24px}.exam-history-row small{font-size:12px;color:#738071}.exam-session-bar{position:sticky;top:0;z-index:8;display:flex;align-items:center;gap:24px;background:#193c36;color:#f1f6ee;padding:18px 24px;border-radius:16px;box-shadow:0 6px 18px #173d3020;margin-bottom:20px}.exam-session-bar>div:first-child{flex:1}.exam-session-bar b{display:block;font-size:17px;margin-top:6px}.exam-session-bar .exam-eyebrow{color:#b8d0c2}.exam-time{display:grid;text-align:center;min-width:90px}.exam-time small{font-size:11px;color:#c3d6c7}.exam-countdown{font-size:25px}.exam-session-bar>.primary{background:#d8e9b8;color:#233e30;border:0}.exam-session-layout{display:grid;grid-template-columns:200px minmax(0,1fr);gap:20px;align-items:start}.exam-sidebar{position:sticky;top:110px;background:#eef2e9;border-radius:16px;padding:18px}.exam-question-directory summary{font-weight:700;cursor:pointer;list-style:none}.exam-question-directory summary>span{display:block;font-size:12px;color:#6b7d69;font-weight:400;margin-top:6px}.exam-nav-legend{display:flex;flex-wrap:wrap;gap:8px;font-size:10px;color:#627861;margin:18px 0}.exam-nav-section h3{font-size:11px;color:#637960;letter-spacing:.08em;margin:18px 0 8px}.exam-nav{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:0}.exam-nav button{padding:0;min-width:0;min-height:34px;background:#fff;border:1px solid #d4dfce;border-radius:7px;font-size:12px}.exam-nav button.answered{background:#d5e3c6;color:#2d513a}.exam-nav button.current{background:#315d48;color:#fff;outline:2px solid #87a176;outline-offset:2px}.exam-sidebar-note{font-size:11px;line-height:1.8;color:#73816d;margin:20px 0 0}.exam-question-card{min-width:0;background:#fff;border:1px solid #e0e6da;border-radius:18px;padding:30px}.exam-question-heading{display:flex;justify-content:space-between;font-size:11px;letter-spacing:.09em;color:#6a7d66}.exam-question-card>h2{font-size:25px;margin:12px 0 24px}.exam-stem{font-size:16px;line-height:1.9;overflow-wrap:anywhere}.exam-stem img{max-width:100%}.exam-answer-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:28px 0 14px;border-top:1px solid #e9ede4;padding-top:24px}.exam-answer-heading h3{font-size:15px;margin:0}.exam-answer-heading span{font-size:12px;color:#798472}.exam-inputs .answer-options{display:grid;gap:10px}.exam-inputs .answer-options>label{display:flex!important;align-items:flex-start;gap:12px;margin:0!important;padding:14px 16px;border:1px solid #dfe7d7;border-radius:11px;line-height:1.6}.exam-inputs .answer-options>label:has(input:checked){background:#edf5e6;border-color:#6e9163}.exam-inputs .answer-options input{margin-top:3px;flex-shrink:0}.exam-inputs textarea{padding:16px;line-height:1.8;background:#fcfdf9;border:1px solid #d5dfcd;border-radius:11px}.exam-inputs input[type=text]{padding:12px;border:1px solid #d5dfcd;border-radius:9px}.exam-question-actions{display:flex;justify-content:space-between;border-top:1px solid #e8ede1;padding-top:20px;margin-top:20px}.exam-question-actions button{min-width:110px}#examSaveStatus{font-size:12px;color:#6a7e62;margin:16px 0}.exam-report-heading{background:#193c36;color:#f1f6ee;border-radius:18px;padding:26px;margin-bottom:20px}.exam-report-heading .exam-eyebrow{color:#bed4c4}.exam-report-heading h2{font-size:25px}.exam-report-heading>p{font-size:19px}.exam-report-item{margin-top:10px!important;padding:18px!important;border-radius:12px!important}.exam-report-item>summary{cursor:pointer;font-weight:600;line-height:1.6}.exam-report-item>p{font-size:14px;line-height:1.8}.exam-report-item input{max-width:100%;padding:10px}.exam-report-item label{display:block;margin:12px 0}.exam-access-columns{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:22px 0}.exam-access-columns fieldset{min-width:0;border:1px solid #dce4d5;border-radius:12px;padding:14px}.exam-access-columns label{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin:10px 0;padding:8px;background:#f5f7f0;border-radius:8px}.exam-access-columns small{font-size:11px;color:#637561}
@media(max-width:1100px){.exam-paper-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.exam-session-layout{grid-template-columns:160px minmax(0,1fr)}.exam-sidebar{padding:14px}.exam-nav{grid-template-columns:repeat(3,1fr)}}@media(max-width:700px){.exam-intro{display:block;padding:20px}.exam-intro h2{font-size:23px}.exam-service{margin-top:18px;max-width:none}.exam-paper-grid{grid-template-columns:1fr}.exam-paper{padding:22px}.exam-session-layout{display:block}.exam-sidebar{position:static;margin-bottom:16px}.exam-nav{grid-template-columns:repeat(8,minmax(0,1fr))}.exam-nav button{min-width:0;min-height:34px}.exam-session-bar{padding:14px;gap:10px;border-radius:12px}.exam-session-bar b{font-size:13px}.exam-session-bar .exam-eyebrow{font-size:9px}.exam-countdown{font-size:22px}.exam-time{min-width:72px}.exam-question-card{padding:20px}.exam-answer-heading{align-items:flex-start;flex-direction:column}.exam-access-columns{grid-template-columns:1fr}.exam-history-row{flex-wrap:wrap;gap:12px}.exam-section-title{align-items:flex-start;gap:12px}.exam-history-row>div{flex-basis:100%}.exam-history-row strong{flex:1}}
.exam-sidebar{width:auto;min-width:0;height:auto;left:auto;bottom:auto;display:block;box-sizing:border-box;max-height:calc(100vh - 130px);overflow:auto;border:0}.exam-session-layout .exam-question-card{box-sizing:border-box}.exam-session-bar{scroll-margin-top:12px}@media(max-width:700px){.exam-sidebar{max-height:none}.exam-question-directory:not([open]){margin:0}}

/* Listening: keep answer controls within reach while reading the full paper. */
.listening-set-layout #focusedForm.listening-floating-answers{position:sticky;top:120px;z-index:5;display:flex;flex-direction:column;max-height:calc(100dvh - 144px);min-height:0;padding:0;background:#f7f9f3;border:1px solid #dbe5d4;border-radius:16px;box-shadow:0 8px 28px #304b3414;overflow:hidden;align-self:start}
.listening-answer-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;border-bottom:1px solid #dfe7d8;flex-shrink:0}
.listening-answer-heading h2{margin:0;font-size:16px}.listening-answer-heading .listening-panel-toggle{font-size:12px;padding:6px 10px;min-height:32px}
.listening-answer-items{overflow-y:auto;overscroll-behavior:contain;min-height:0;padding:16px;scrollbar-gutter:stable}
.listening-answer-footer{padding:12px 16px;border-top:1px solid #dfe7d8;flex-shrink:0;background:#f7f9f3}.listening-answer-footer>button{width:100%}
.listening-floating-answers .listening-choice-row label{cursor:pointer;min-height:40px;box-sizing:border-box;border:1px solid #dfe7d8;flex:1;justify-content:center}.listening-floating-answers .listening-choice-row label:has(input:checked){background:#e0eed8;border-color:#6e905c;color:#284b31}.listening-floating-answers .listening-choice-row label:focus-within{outline:2px solid #729266;outline-offset:2px}
.listening-set-layout #focusedForm.listening-panel-collapsed .listening-answer-items,.listening-set-layout #focusedForm.listening-panel-collapsed .listening-answer-footer{display:none}
@media(max-width:800px){
 .listening-set{padding-bottom:calc(36dvh + 32px + env(safe-area-inset-bottom))!important}
 .listening-set-layout #focusedForm.listening-floating-answers{position:fixed;top:auto;bottom:0;left:8px;right:8px;width:auto;max-height:36dvh;border-radius:16px 16px 0 0;z-index:30;padding-bottom:env(safe-area-inset-bottom);box-shadow:0 -6px 28px #304b3428}
 .listening-answer-heading{padding:9px 14px}.listening-answer-items{padding:10px 14px}.listening-answer-footer{padding:8px 14px}
 .listening-set .listening-answer-row{margin-bottom:10px;padding:8px}.listening-floating-answers .listening-choice-row{gap:6px}
}

#interactionStatus{position:fixed;top:18px;left:50%;transform:translateX(-50%);z-index:10000;max-width:calc(100vw - 32px);box-sizing:border-box;padding:13px 20px;border:1px solid #d3dfcc;border-radius:12px;background:#fff;color:#304f37;box-shadow:0 6px 24px #213d3026;font-size:14px;pointer-events:none}#interactionStatus[hidden]{display:none}#interactionStatus::before{content:"";display:inline-block;width:12px;height:12px;border:2px solid #dbe5d4;border-top-color:#426d46;border-radius:50%;margin-right:10px;vertical-align:-2px;animation:interaction-spin .8s linear infinite}@keyframes interaction-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){#interactionStatus::before{animation:none}}

.focused-toolbar .practice-favorite{margin-left:auto;white-space:nowrap}.practice-favorite[aria-pressed="true"]{background:#fff4ce;border-color:#d2b35e;color:#73551d}.favorite-review{margin-top:24px}.favorite-review h3{font-size:15px}

/* Contain the passage beside answers; explanations live below that entire row. */
.cloze-question.card{display:block}.cloze-question .cloze-workspace{display:block;min-width:0}.cloze-question .cloze-workspace>#focusedForm{min-width:0;margin:0}.cloze-question>.focused-solution{position:relative;clear:both;margin-top:28px;padding:20px;border:1px solid #dbe5d4;border-radius:14px;background:#fff}.cloze-question>.focused-solution>summary{font-weight:700;font-size:17px;padding:4px 0 14px}.cloze-explanation{overflow-wrap:anywhere}.cloze-explanation:last-child{border-bottom:0}
@media(min-width:1100px){.cloze-question .cloze-workspace{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(290px,1fr);gap:24px;align-items:start}.cloze-question .cloze-workspace>.cloze-passage{position:sticky;top:20px;max-height:75dvh;overflow:auto;margin:0!important;padding:20px!important;align-self:start}.cloze-submitted .cloze-workspace>.cloze-passage{position:static;max-height:55dvh}.cloze-submitted .cloze-workspace>#focusedForm{max-height:55dvh;overflow:auto;padding:0 8px 8px 0}.cloze-submitted .cloze-workspace{padding-bottom:20px;border-bottom:1px solid #dbe5d4}}
@media(max-width:1099px){.cloze-question .cloze-workspace>.cloze-passage{position:static;max-height:none;overflow:visible}.cloze-question>.focused-solution{padding:16px}}

/* Submitted listening answers must not float over explanations. */
.listening-set.listening-submitted>.listening-player{position:static}.listening-submitted .listening-set-layout #focusedForm.listening-floating-answers{position:static;inset:auto;width:auto;max-height:none;z-index:auto;box-shadow:none}.listening-submitted .listening-answer-items{overflow:visible}.listening-submitted>.focused-solution{clear:both;margin-top:28px;padding:20px;border:1px solid #dbe5d4;border-radius:14px;background:#fff}
.focused-question>.focused-solution,.exam-report-item{min-width:0;max-width:100%;box-sizing:border-box;overflow-wrap:anywhere}.focused-question>.focused-solution{grid-column:1/-1;position:relative;height:auto;max-height:none}.focused-solution img,.exam-report-item img{max-width:100%;height:auto}.focused-solution pre,.exam-report-item pre{max-width:100%;white-space:pre-wrap;overflow-wrap:anywhere}.focused-solution .katex-display,.exam-report-item .katex-display{max-width:100%;overflow-x:auto;overflow-y:hidden}.ai-grading{min-width:0;max-width:100%;box-sizing:border-box;overflow-wrap:anywhere}.ai-criteria-scroll{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}.ai-criteria-scroll table{width:100%;min-width:360px;table-layout:auto}.ai-criteria-scroll td{white-space:normal;overflow-wrap:anywhere;vertical-align:top}
@media(max-width:800px){.listening-set.listening-submitted{padding-bottom:18px!important}.listening-submitted>.focused-solution{padding:16px}.listening-submitted .listening-set-layout #focusedForm.listening-floating-answers{border-radius:14px;padding-bottom:0}}
