.topic.open .topic-questions{grid-template-rows:0fr;opacity:0}
.topic.open>.topic-questions,.subtopic.open>.topic-questions{grid-template-rows:1fr;opacity:1}
.topic.open .chevron{transform:none}.topic.open>.topic-toggle>.chevron,.subtopic.open>.subtopic-toggle>.chevron{transform:rotate(180deg)}
.unit-toggle{gap:14px;padding:22px 25px;align-items:center}.unit-copy{flex:1;min-width:0}.unit-copy .topic-meta{display:block;font-size:12px;line-height:1.5;margin-top:7px}.unit-copy .topic-title{line-height:1.35;display:block}
.paper-badges{display:flex;flex-wrap:wrap;gap:5px}.unit-toggle .paper-badges{width:125px;flex-shrink:0;justify-content:flex-end}.paper-badge{display:inline-block;border:1px solid color-mix(in srgb,var(--accent) 12%,white);color:var(--accent);background:var(--soft);padding:4px 8px;border-radius:9px;font-size:10px;line-height:1.35;font-weight:750;white-space:nowrap}
.paper-filter{border:2px solid #f2f2f4;border-radius:13px;background:#fff;color:#727780;padding:10px 13px;font-size:13px;max-width:100%;cursor:pointer}.tools-row .paper-filter{max-width:230px}
.bank-summary{font-size:12px;line-height:1.7;color:#979ba2;margin:0 0 21px}
.subtopic{border-top:1px solid #f1f1f4}.subtopic-toggle{width:100%;text-align:left;display:flex;justify-content:space-between;align-items:center;padding:17px 27px 17px 31px;gap:15px;font-size:15px;line-height:1.4}.subtopic-toggle:hover{background:#fafafa}.subtopic-toggle strong{font-weight:750;display:block}.subtopic-toggle small{display:block;font-size:11px;font-weight:500;color:#999ea5;margin-top:4px}
.subtopic .question-row{padding-left:38px;background:#fcfcfd;font-size:14px}.subtopic .question-row:hover{background:var(--soft)}.question-kind{display:block;color:#a1a5ac;font-size:11px;font-weight:500;margin-top:4px}.unit-note{font-size:12px;color:#969ca4;padding:0 27px;line-height:1.65}
.assessment-help{border:2px solid #f4f4f5;border-radius:18px;padding:15px 20px;margin:23px 0;color:#858a93;font-size:13px;line-height:1.75}.assessment-help summary{cursor:pointer;color:#626871;font-size:14px;font-weight:750}.assessment-help p{margin:13px 0 0}
.resource-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.resource-card{display:block;border:2px solid #f3f3f5;border-radius:21px;padding:20px;transition:background-color 150ms ease,border-color 150ms ease}.resource-card:hover{background:var(--soft);border-color:color-mix(in srgb,var(--accent) 16%,white)}.resource-kind{font-size:11px;color:var(--accent);font-weight:750;display:block;margin-bottom:9px}.resource-card strong{font-size:15px;line-height:1.5;display:block}.resource-card p{font-size:12px;color:#949aa3;line-height:1.6;margin:9px 0 0}.paper-card .paper-badges{margin-top:10px}
.builder-unit{padding:8px 0 13px;border-bottom:1px solid #f5f5f6}.builder-unit:last-child{border:0}.builder-unit .paper-badges{padding-left:29px}.builder-subtopics{border:1px solid #f3f3f5;border-radius:13px;padding:12px 14px;margin:9px 0}.builder-subtopics summary{font-size:14px;font-weight:750;line-height:1.5;cursor:pointer}.builder-subtopics .check-row{font-size:13px;padding:7px 2px}.builder-field .paper-filter{width:100%}
.question-context{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:-12px 0 27px;font-size:11px;color:#9b9fa6;line-height:1.5}.question-context .paper-badges{justify-content:flex-end}.question-context>span{max-width:50%}.question-nav{justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;max-width:850px;margin-left:auto;margin-right:auto;padding:3px 2px 10px;scrollbar-width:thin}.q-number{flex-shrink:0}
.question-data{overflow:auto;margin:22px 0}.question-data table{border-collapse:collapse;width:100%;font-size:14px;text-align:center}.question-data th,.question-data td{padding:10px 15px;border:1px solid #e9ebef}.question-data th{background:#f8f9fa;font-weight:750}
.question-figure{margin:25px 0 15px}.question-figure svg{width:100%;height:auto;stroke:none;fill:none}.question-figure text{fill:#757d87;font-family:"Examdesk UI",sans-serif;font-size:13px;stroke:none}.question-figure .grid{stroke:#e8ebee;stroke-width:1}.question-figure .axis{stroke:#9ba4ae;stroke-width:1.5}.question-figure .data-line{stroke:var(--accent);stroke-width:2.5;stroke-linejoin:round}.question-figure .data-point{fill:var(--accent)}.question-figure .point-label{font-size:10px;fill:#666e78}.question-figure figcaption{font-size:11px;color:#a1a6ad;line-height:1.6}
@media(max-width:780px){.unit-toggle{padding:21px 18px;gap:10px;flex-wrap:wrap}.unit-copy{flex:1;min-width:190px}.unit-toggle .topic-title{font-size:16px}.unit-toggle .paper-badges{width:auto;flex:1 1 100%;justify-content:flex-start;padding-left:43px;order:2}.unit-toggle .chevron{margin-left:auto}.tools-row{flex-wrap:wrap}.tools-row .paper-filter{max-width:none;width:100%}.resource-grid{grid-template-columns:1fr}.subtopic-toggle{padding:16px 21px}.subtopic .question-row{padding-left:24px}.question-context{flex-direction:column;align-items:flex-start}.question-context>span{max-width:none}.question-context .paper-badges{justify-content:flex-start}.question-figure .point-label{font-size:11px}}
@media print{.question-context .paper-badges{display:none}.question-data{break-inside:avoid}.question-figure{break-inside:avoid}}
.header-tools{display:flex;align-items:center;gap:8px;margin-left:auto}.tool-toggle{font-size:13px;font-weight:750;background:#f5f5f6;color:#626870;padding:9px 12px;border-radius:12px;white-space:nowrap;display:flex;gap:7px;align-items:center;min-height:36px}.tool-toggle>span{font-size:16px}.tool-toggle.active{background:var(--accent);color:#fff}.tool-toggle:hover:not(.active){background:#eeeeef}.tool-toggle[hidden]{display:none}.topbar .breadcrumb{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.study-window{position:fixed;top:80px;right:23px;z-index:60;background:#fff;border:2px solid #f1f1f3;border-radius:21px;box-shadow:0 10px 45px #00000012;overflow:hidden;display:flex;flex-direction:column;max-width:calc(100vw - 24px);max-height:calc(100dvh - 96px);animation:arrive 200ms var(--ease)}
.study-window[hidden]{display:none}.calculator-window{width:380px;height:540px}.equations-window{width:520px;height:720px;z-index:61}
.study-window-head{display:flex;align-items:center;justify-content:space-between;gap:15px;min-height:50px;padding:10px 17px;background:#fafafa;border-bottom:1px solid #f0f0f2;cursor:grab;touch-action:none;user-select:none;flex-shrink:0}.study-window-head:active{cursor:grabbing}.study-window-head h2{font-size:14px;font-weight:800;display:flex;align-items:center;gap:9px;margin:0}.study-window-head h2>span{color:#a4a8ae}.study-close{font-size:20px;width:28px;height:28px;border-radius:50%;color:#a4a8ae;line-height:1}.study-close:hover{background:#eee;color:#727780}.study-window-body{flex:1;min-height:0;overflow:auto;background:#fafafa}.calculator-window .study-window-body{overflow:hidden;background:white}.calculator-window iframe{display:block;width:100%;height:100%;border:0}
.equations-window .study-window-body{padding:15px}.equation-intro{font-size:12px;line-height:1.6;color:#747c87;margin:0 3px 17px}.equation-intro span{font-size:11px;color:#a0a6ae}.equation-sections{display:flex;flex-direction:column;gap:12px}.equation-section>summary{list-style:none;display:flex;gap:11px;align-items:center;padding:13px 15px;min-height:56px;background:white;border:2px solid #f3f3f5;border-radius:16px;cursor:pointer;font-size:14px;font-weight:800}.equation-section summary::-webkit-details-marker{display:none}.equation-arrow{color:#a6abb3;font-size:15px;font-weight:500;transition:transform 160ms ease}.equation-section[open] .equation-arrow{transform:rotate(90deg)}.equation-icon{height:32px;width:32px;border-radius:11px;display:grid;place-items:center;font-size:22px;font-weight:600;flex-shrink:0}.colour-0{background:#fff4ca;color:#d79d34}.colour-1{background:#e4edf9;color:#6f8eb9}.colour-2{background:#f1e5fd;color:#a071c4}.colour-3{background:#e0f1eb;color:#64a18b}.equation-section summary small{display:block;font-size:10px;color:#a4a9b0;font-weight:500;margin-top:2px}.equation-count{margin-left:auto;color:#adb1b8;font-size:12px;font-weight:600}
.equation-rows{display:flex;flex-direction:column;gap:8px;padding-top:8px;animation:arrive 180ms var(--ease)}.equation-row{display:flex;justify-content:space-between;align-items:center;gap:17px;padding:14px 16px;background:white;border:1px solid #f0f0f2;border-radius:15px}.equation-description{font-size:12px;color:#828a96;line-height:1.5;flex:1;min-width:0}.equation-description small{display:block;font-size:10px;color:#a2a9b2;line-height:1.5;margin-top:4px}.equation-symbols{font-family:"Cambria Math",Cambria,Georgia,serif;font-size:19px;font-style:italic;color:#404954;line-height:1.4;flex-shrink:0;max-width:58%;overflow-wrap:anywhere;text-align:right}.equation-symbols sup,.equation-symbols sub{font-size:.65em}.formula-fraction{display:inline-flex;flex-direction:column;vertical-align:middle;text-align:center;margin:0 3px;font-size:.88em;line-height:1.15}.formula-fraction>span:first-child{border-bottom:1px solid currentColor;padding:0 3px 3px}.formula-fraction>span:last-child{padding:3px 3px 0}.official-formula-link{display:block;margin:20px 3px 8px;font-size:12px;font-weight:750;color:var(--accent)}
@media(min-width:1300px){.calculator-window{right:24px}.equations-window{right:420px}}
@media(max-width:1150px){.topbar .breadcrumb{display:none}.topbar{padding-left:258px}.header-tools{margin-left:0;margin-right:auto}}
@media(max-width:780px){.topbar{padding-left:186px}.header-tools{gap:5px}.tool-toggle{font-size:11px;padding:8px}.tool-toggle>span{font-size:13px}.topbar{gap:8px}.topbar .quiet{max-width:125px;font-size:10px}.study-window{top:78px;right:12px}.equations-window{width:min(520px,calc(100vw - 24px))}}
@media(max-width:600px){#connect-top{display:none}.topbar{padding-left:180px}.tool-toggle{font-size:11px}.equation-row{flex-direction:column;align-items:flex-start;gap:11px}.equation-symbols{max-width:100%;text-align:left}.equation-description{width:100%}}
@media(prefers-reduced-motion:reduce){.study-window,.equation-rows{animation:none}}
@media print{.study-window,.header-tools{display:none}}
.question-row,.subtopic .question-row{min-height:38px;padding:7px 12px;gap:12px;border-radius:9px;margin:3px 0;font-size:13px;line-height:1.45}
.question-row[hidden]{display:none}.question-row .row-title{font-size:13px;font-weight:600;min-width:0}.question-row .row-status{font-size:12px;gap:12px;flex-shrink:0}.question-row .question-kind{display:none}.subtopic .topic-question-inner{padding:5px 10px 10px}.show-more{padding:8px 12px;font-size:12px;width:100%;text-align:center}
.q-number.marked:after,.q-number.marked::before{display:none}.q-number.full-marks,.mark-total.full-marks{background:#d9f8e4;color:#166534;border-color:#86d8a4}.q-number.partial-marks,.mark-total.partial-marks{background:#fff0bc;color:#854d0e;border-color:#efcf70}.q-number.active.full-marks,.q-number.active.partial-marks{box-shadow:0 0 0 2px white,0 0 0 4px var(--accent)}.question-nav{padding:5px 4px;scroll-padding:4px}.question-row.full-marks .score{color:#15803d}.question-row.partial-marks .score{color:#a16207}
.set-context{white-space:pre-wrap;line-height:1.85;font-size:15px;margin:18px 0 24px;color:#494052}.question-part{padding:22px 0 26px}.question-part+.question-part{border-top:1px solid #ece8f1}.part-heading{display:flex;align-items:baseline;gap:14px;font-size:13px;color:#857b91;margin-bottom:12px}.part-heading strong{font-size:16px;color:var(--accent)}.question-part .prompt{margin-top:0;font-size:16px}.question-part .answer-box{min-height:130px}.question-part .answer-footer{margin-top:12px}.question-part .answer-tabs{margin-top:22px}.compact-result{margin-top:15px}.result-line{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.mark-total{padding:6px 11px;border-radius:9px;font-size:14px;font-weight:800}.result-source{font-size:11px;color:#92889e}.result-line .quiet{margin-left:auto;font-size:12px}.compact-result .feedback-summary{font-size:13px;line-height:1.65;margin:10px 0;color:#6a6078}.feedback-details{font-size:13px;margin-top:12px}.feedback-details>summary{cursor:pointer;color:#82758f;font-size:12px}.feedback-details .criteria{margin-top:15px}.multipart-sheet .sheet-meta{margin-bottom:12px}
#marking-toast{position:fixed;right:26px;bottom:26px;z-index:1200;display:flex;align-items:center;gap:14px;padding:17px 22px;border-radius:18px;border:1px solid #eee7f8;background:#fff;box-shadow:0 12px 40px #35204a22;animation:marking-enter 200ms ease-out;pointer-events:none;min-width:240px}#marking-toast[hidden]{display:none}#marking-toast strong{display:block;color:#443651;font-size:14px}#marking-toast small{display:block;color:#8e819b;margin-top:4px;font-size:12px}.marking-orbit{display:grid;place-items:center;width:35px;height:35px;border:2px solid var(--soft);border-top-color:var(--accent);border-right-color:var(--accent);border-radius:50%;animation:marking-spin 1.4s linear infinite;color:var(--accent)}.marking-orbit span{animation:marking-spin 1.4s linear infinite reverse;font-size:20px}@keyframes marking-spin{to{transform:rotate(360deg)}}@keyframes marking-enter{from{opacity:0;transform:translateY(8px) scale(.97)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){#marking-toast,.marking-orbit,.marking-orbit span{animation:none}}@media(max-width:600px){#marking-toast{right:12px;bottom:12px;left:12px;min-width:0}.result-source{display:none}.part-heading{gap:10px}.question-row .row-status{gap:6px}}
.bank-controls{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px}.bank-controls .check-row{font-size:12px;color:#86818e}.coverage-unit{margin:15px 0;border:1px solid #edeaf1;border-radius:12px;padding:14px}.coverage-unit>summary{font-weight:750;cursor:pointer}.coverage-subtopic{padding:15px 0;font-size:13px}.coverage-subtopic ul{padding:0;list-style:none}.coverage-subtopic li{display:flex;justify-content:space-between;gap:15px;padding:8px 0;border-bottom:1px solid #f3f1f6}.coverage-subtopic small{color:#8b8592;font-size:11px}.coverage-gap span{color:#a17638}.represented span{color:#417650}@media(max-width:600px){.bank-controls{align-items:flex-start;flex-wrap:wrap}.coverage-subtopic li{display:block}.coverage-subtopic small{display:block;margin-top:3px}}
/* Unit > syllabus topic > compact named subtopic > numbered practice groups. */
.syllabus-topic .subtopic-toggle{min-height:48px;padding:12px 16px;font-size:15px;}
.subtopic-list{padding:0 8px 12px!important;}
.subtopic-row{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:46px;padding:10px 12px;border:0;border-radius:10px;background:transparent;color:#758092;text-align:left;font:inherit;font-size:14px;cursor:pointer;transition:background .18s ease,color .18s ease;}
.subtopic-row:hover,.subtopic-row:focus-visible{background:var(--soft);color:var(--accent);}
.leaf-progress{display:flex;align-items:center;gap:9px;flex-shrink:0;margin-left:16px;}
.leaf-progress small{font-size:12px;color:#8590a0;}
.leaf-progress .progress-ring{width:22px;height:22px;min-width:22px;border:4px solid #f0f1f4;font-size:0;}
.leaf-progress .progress-ring.done{border-color:var(--accent);background:transparent;}
.practice-path{color:#8a8793;font-size:13px;margin:20px 0 16px;}
.practice-path span{padding:0 8px;color:#b2adbb;}
.practice-path strong{color:var(--accent);font-weight:600;}
.builder-topic{padding:8px 12px;}
.builder-topic>summary{font-size:14px;font-weight:600;cursor:pointer;margin-bottom:8px;}
@media(prefers-reduced-motion:reduce){.subtopic-row{transition:none;}}
.exam-summary{max-width:960px;margin:24px auto 0;}
.summary-hero{background:white;border:1px solid #eeedf2;border-radius:28px;padding:44px 28px 30px;text-align:center;animation:summary-rise .5s cubic-bezier(.22,1,.36,1) both;}
.summary-hero>.eyebrow{font-size:11px;color:#9c9eaa;letter-spacing:1.2px;}
.summary-score{font-size:72px;line-height:1.1;letter-spacing:-3px;margin:10px 0 0;color:#242733;font-weight:800;}
.summary-score small{font-size:26px;letter-spacing:-.5px;color:#b2b4bd;font-weight:600;}
.summary-marks{margin:3px 0 22px;color:#a0a3ad;font-size:12px;}
.summary-overall{display:flex;align-items:center;gap:14px;max-width:250px;margin:0 auto;}
.summary-overall strong{font-size:14px;color:var(--accent);}
.summary-track{display:block;height:7px;border-radius:8px;overflow:hidden;background:#f2f2f5;}
.summary-overall>.summary-track{flex:1;}
.summary-track>span{display:block;width:var(--fill);height:100%;background:var(--accent);border-radius:inherit;transform-origin:left;animation:summary-fill .85s .2s cubic-bezier(.22,1,.36,1) both;}
.summary-paper-title{font-size:13px;color:#9699a3;margin:19px 0 0;}
.summary-grade{display:inline-flex;flex-direction:column;align-items:center;gap:6px;padding:18px 25px 0;animation:summary-rise .5s .8s both;}
.summary-grade .eyebrow{font-size:9px;letter-spacing:.8px;color:#9fa0aa;}
.summary-grade>strong{font-size:24px;color:var(--accent);}
.summary-grade>.quiet{font-size:11px;color:#8d909b;padding:4px;}
.summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:20px;}
.summary-card{background:#fff;border:1px solid #eeedf2;border-radius:24px;padding:25px;animation:summary-rise .5s .2s both;}
.summary-card h2{font-size:16px;margin:0 0 21px;display:flex;align-items:center;gap:8px;}
.summary-card h2 svg{width:18px;height:18px;color:var(--accent);}
.summary-topics{animation-delay:.3s;}
.summary-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:20px;}
.summary-card-head h2{margin:0;}
.summary-card-head .segmented button{font-size:11px;padding:6px 9px;}
.summary-question-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(56px,1fr));gap:9px;}
.summary-question{border:1px solid #edf0f4;background:#f8f9fa;color:#9aa0ac;border-radius:13px;min-height:64px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;animation:summary-rise .4s calc(.2s + min(var(--row),15)*.025s) both;transition:transform .16s ease;}
.summary-question:hover{transform:translateY(-2px);}
.summary-question strong{font-size:17px;}
.summary-question span{font-size:11px;}
.summary-question.full-marks{background:#effaf0;border-color:#d0edcf;color:#39a45e;}
.summary-question.good-marks{background:#f3faed;border-color:#d7eabc;color:#83b240;}
.summary-question.partial-marks{background:#fff9e9;border-color:#f6e5b6;color:#c7922b;}
.summary-question.zero-marks{background:#fff0f3;border-color:#f6d3dc;color:#d86786;}
.summary-questions>.small-note{font-size:11px;margin:17px 0 0;}
.summary-parts{margin-top:15px;color:#858b98;font-size:12px;}
.summary-parts summary{cursor:pointer;}
.summary-parts button{display:flex;justify-content:space-between;width:100%;padding:8px 4px;border-bottom:1px solid #f1f2f4;font-size:12px;}
.summary-topic-row{display:grid;grid-template-columns:1fr auto;gap:7px 12px;width:100%;text-align:left;padding:0 0 17px;font-size:13px;animation:summary-rise .4s calc(min(var(--row),15)*.025s) both;}
.summary-topic-row strong{font-size:12px;color:#66a87b;}
.summary-topic-row .summary-track{grid-column:1 / -1;height:6px;}
.summary-topic-row .summary-track>span{background:#8ad29c;}
.summary-topic-row.weak strong{color:#d36b88}.summary-topic-row.weak .summary-track>span{background:#ee90a6}
.summary-topic-row.developing strong{color:#c4943d}.summary-topic-row.developing .summary-track>span{background:#edc35e}
.summary-topic-row.pending strong{color:#a1a6af}.summary-topic-row.pending .summary-track>span{background:#c5c9d0}
.summary-topic-row small{font-size:10px;color:#a1a6af;}
.summary-revision{grid-column:1 / -1;animation-delay:.4s;}
.revision-list{display:grid;grid-template-columns:1fr 1fr;gap:10px 22px;}
.revision-list button{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:12px 0;text-align:left;border-bottom:1px solid #f3f3f6;}
.revision-list strong{font-size:13px;display:block;}
.revision-list small{font-size:11px;color:#969ca6;display:block;margin-top:5px;}
.revision-list button>span:last-child{display:flex;align-items:center;gap:5px;font-size:12px;color:var(--accent);white-space:nowrap;}
.revision-list svg{width:15px;height:15px;}
.summary-scale-note{font-size:11px;color:#9b9faa;line-height:1.7;margin:20px 4px;}
.grade-scale-row{display:flex;align-items:center;gap:12px;margin:9px 0;font-size:14px;}
.grade-scale-row input{margin-left:auto;width:80px;border:1px solid #e9e9ee;border-radius:10px;padding:8px;}
@keyframes summary-rise{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}
@keyframes summary-fill{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media(max-width:780px){.summary-grid,.revision-list{grid-template-columns:1fr}.summary-revision{grid-column:auto}.summary-score{font-size:60px}.summary-card{padding:20px}.summary-card-head{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){.summary-hero,.summary-grade,.summary-card,.summary-question,.summary-topic-row,.summary-track>span{animation:none}.summary-question{transition:none}}
body[data-paper=true] .sidebar{display:none}
body[data-paper=true]{overflow-anchor:none}
body[data-paper=true] .workspace{margin-left:0}
body[data-paper=true] .topbar{padding-left:210px}
body[data-paper=true] main{max-width:1120px}
body[data-paper=true] .question-sheet{max-width:860px;}
body[data-paper=true] .question-heading h2{display:none}
body[data-paper=true] .question-part .part-heading{font-size:15px;}
.paper-nav-end{display:flex;align-items:center;justify-content:center;gap:7px;flex-shrink:0;border:2px solid #e5e6ec;border-radius:12px;padding:8px 12px;font-size:13px;}
.paper-nav-end.active{background:var(--accent);border-color:var(--accent);color:#fff}
.paper-nav-end svg{width:16px;height:16px;}
.exam-cover{max-width:860px;margin:22px auto;background:white;border:1px solid #eeedf2;border-radius:25px;padding:42px;animation:summary-rise .35s both;}
.exam-cover-brand{font-size:24px;font-weight:800;margin-bottom:28px;}
.exam-cover h1{font-size:29px;letter-spacing:-.4px;margin:8px 0;}
.exam-cover .eyebrow{font-size:12px;letter-spacing:0;color:#747b88;}
.cover-paper-title{color:#9298a4;font-size:13px;margin:12px 0 20px;}
.cover-timing{display:flex;justify-content:space-between;gap:15px;border-top:2px solid #333;border-bottom:2px solid #333;padding:15px 0;margin:25px 0;font-size:13px;}
.cover-columns{display:grid;grid-template-columns:1fr 175px;gap:45px;align-items:start;}
.cover-columns h2{font-size:16px;margin:0 0 12px;}
.cover-columns ul{font-size:14px;line-height:1.9;margin:0 0 25px;padding-left:20px;}
.cover-mark-table{border-collapse:collapse;width:100%;text-align:center;font-size:13px;}
.cover-mark-table th,.cover-mark-table td{border:1px solid #dddfe5;padding:7px 12px;}
.cover-mark-table th{background:#f8f8fb;}
.cover-begin{display:flex;justify-content:flex-end;margin-top:24px;}
.exam-summary{max-width:860px;border:1px solid #eeedf2;border-radius:28px;background:#fff;padding:30px;}
.summary-hero{border:0;padding:32px 20px 26px;}
.summary-grid{grid-template-columns:1fr;gap:13px;margin-top:22px;}
.summary-grade{flex-direction:row;flex-wrap:wrap;justify-content:center;background:#f8f9fb;border:1px solid #eeedf2;border-radius:16px;padding:12px 18px;margin-top:20px;gap:10px;}
.summary-grade>strong{font-size:21px;}
.summary-grade>.quiet{width:100%;justify-content:center;}
.summary-card{border-radius:20px;padding:20px;}
.summary-questions{animation-duration:.4s;animation-delay:.12s;}
.summary-topics{animation-duration:.4s;animation-delay:.2s;}
.summary-question{animation-name:summary-pop;animation-duration:.35s;animation-timing-function:cubic-bezier(.21,.9,.32,1.23);animation-delay:calc(min(var(--row),30)*.035s);}
.summary-topic-row{animation-duration:.3s;animation-delay:calc(min(var(--row),30)*.045s);}
@keyframes summary-pop{from{opacity:0;transform:scale(.65)}to{opacity:1;transform:scale(1)}}
@media(max-width:780px){body[data-paper=true] .topbar{padding-left:180px}.exam-cover{padding:25px 20px}.cover-columns{grid-template-columns:1fr 110px;gap:16px}.cover-timing{flex-direction:column;gap:8px}.exam-summary{padding:13px}.summary-hero{padding:28px 10px}.summary-grade{flex-direction:column}.summary-grid{grid-template-columns:1fr}}
@media print{body[data-paper=true] .paper-navigation{display:none}}
.custom-paper-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;gap:15px;}
.custom-paper-heading h2{font-size:21px;margin:0;}
.custom-paper-card{margin-bottom:12px;}
.custom-paper-info{flex:1;min-width:0;}
.paper-score-ring{height:46px;width:46px;border-radius:50%;background:conic-gradient(#27c365 var(--score),#eef0f4 0);display:grid;place-items:center;flex-shrink:0;}
.paper-score-ring>span{height:38px;width:38px;border-radius:50%;background:#fff;display:grid;place-items:center;font-size:11px;font-weight:800;}
.paper-status-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:6px;font-size:12px;color:#838995;}
.paper-status-line strong{color:#4a5262;font-weight:600;}
.paper-status,.paper-mode{font-size:9px;font-weight:750;letter-spacing:.4px;background:#f0f1f4;padding:3px 6px;border-radius:5px;}
.paper-mode{background:var(--soft);color:var(--accent);}
/* Native Windows option lists need explicit foreground and matching scheme. */
:root{color-scheme:light;}
dialog{background-color:#fff;}
select,select option,select optgroup{color:#24262a;background-color:#fff;color-scheme:light;}
.summary-actions{display:flex;align-items:center;gap:8px;}
.boundary-source{font-size:12px;line-height:1.6;}.boundary-source a,.summary-scale-note a{color:var(--accent)}
.boundary-columns,.grade-scale-row{display:grid;grid-template-columns:45px 1fr 105px;gap:12px;align-items:center;}
.boundary-columns{font-size:10px;color:#9a9fac;margin:16px 0 6px;}
.grade-scale-row input{width:100px;margin:0;}.grade-scale-row>span{white-space:nowrap}.grade-scale-row small{color:#969da8;font-size:12px;}
body[data-summary-motion=false] .exam-summary *{animation:none!important;transition:none!important}
.batch-marking{width:min(820px,calc(100vw - 32px))}.batch-marking textarea{color:#24262a;background:#fff;font-family:inherit;font-size:13px;line-height:1.5;resize:vertical}.batch-marking #manual-prompt{font-family:Consolas,monospace;font-size:12px}.batch-marking .modal-buttons{margin-top:12px}.batch-marking .handwriting-downloads{margin:18px 0;padding:14px;border:1px solid var(--border);border-radius:14px}.handwriting-downloads .button{display:block;margin-top:8px;text-align:left}.batch-launch{white-space:nowrap}@media(max-width:780px){.topbar{flex-wrap:wrap;height:auto;min-height:62px;padding-block:10px;gap:6px}.batch-launch{font-size:12px}}
@media(max-width:600px){.paper-card.custom-paper-card{flex-wrap:wrap}.custom-paper-card>.button{margin-left:auto}.summary-actions{flex-wrap:wrap}.boundary-columns,.grade-scale-row{grid-template-columns:35px 1fr 75px;gap:7px}}

/* Account entry and compact screens use the same revision workspace styling. */
.account-gate{position:fixed;inset:0;z-index:10000;background:#faf9fc;display:grid;place-items:center;padding:20px;overflow:auto;color:#182030}
.account-card{width:min(100%,410px);padding:34px;background:#fff;border:1px solid #ececf1;border-radius:28px;box-shadow:0 16px 60px #24213d09;animation:account-enter .35s ease-out}
.account-card h1{font-size:27px;letter-spacing:-.7px;margin:20px 0 8px}.account-card p{color:#7a8190;line-height:1.6}
.account-card .error:empty{display:none}
.account-card label,#password-form label{display:grid;gap:8px;margin:20px 0 14px;font-size:14px;font-weight:600}
.account-card input,#password-form input{width:100%;min-height:46px;border:1px solid #dedee8;border-radius:12px;background:#fff;color:#182030;font:inherit;padding:10px 12px;box-sizing:border-box}
.account-card input:focus{outline:3px solid #ad65ff30;border-color:#a24bff}.account-card .primary{width:100%;min-height:46px;background:#a348ff;color:white;border:0;border-radius:12px}
.sync-status{display:block;font-size:11px;color:#717989;line-height:1.6;margin:8px 0}.account-button{max-width:150px;overflow:hidden;text-overflow:ellipsis;flex-shrink:0}
@keyframes account-enter{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}
@media(max-width:760px){
 .topbar{flex-wrap:wrap;height:auto!important;min-height:118px;gap:8px;padding:65px 14px 10px!important}.topbar .breadcrumb{min-width:0;flex:1}.header-tools{margin-left:auto}.topbar .quiet{min-height:40px;font-size:12px}.batch-launch{margin-left:auto}
 .workspace{padding-top:126px}.sidebar{top:126px!important}.topbar .menu-button{position:absolute;right:18px;top:17px;min-width:44px;min-height:40px}
 .summary-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.summary-actions .button{font-size:12px;padding:9px 12px}.practice-top{gap:10px}
 dialog{max-width:calc(100vw - 20px)!important;max-height:calc(100dvh - 28px);padding:20px!important;box-sizing:border-box}dialog textarea{max-width:100%;box-sizing:border-box}
 .modal-buttons{flex-wrap:wrap}.modal-buttons .button{min-height:44px}input,select,textarea{font-size:16px!important}
 .question-paper,.question-card{min-width:0}.question-paper table,.question-card table{max-width:100%}.question-nav{max-width:100%;overflow-x:auto;flex-wrap:nowrap}
 .account-card{padding:26px 22px}.study-window{max-width:calc(100vw - 16px)!important;max-height:calc(100dvh - 20px)!important}
 #toast{max-width:calc(100vw - 32px);box-sizing:border-box}.workspace{padding-bottom:env(safe-area-inset-bottom)}
}
@media(max-width:390px){.summary-actions .button{padding:8px}.account-button{max-width:95px}.header-tools .tool-toggle{padding:8px;font-size:12px}}
@media(prefers-reduced-motion:reduce){.account-card{animation:none}}
.workspace{padding-top:var(--header-height,64px)}.sidebar{top:var(--header-height,64px)!important}

.topbar #connect-top[hidden]{display:none!important}
