.paper{--pk-ink: #000;--pk-rule: #000;--pk-grey: #555;font-family:Georgia,Times New Roman,serif;color:var(--pk-ink);background:#fff;max-width:190mm;margin:0 auto;padding:12mm 10mm 20mm;font-size:11.5pt;line-height:1.45}.pk-front{text-align:left}.pk-school{font-size:20pt;letter-spacing:.06em;font-weight:700}.pk-year{float:right;font-size:13pt;color:var(--pk-grey)}.pk-title{text-align:center;font-size:19pt;font-weight:700;margin:14mm 0 1mm}.pk-subtitle{text-align:center;font-size:12pt;letter-spacing:.1em;text-transform:uppercase;color:var(--pk-grey);margin-bottom:12mm}.pk-idline{text-align:center;font-family:Courier New,monospace;font-size:10pt;color:var(--pk-grey);margin-bottom:10mm}.pk-nameRow{display:flex;justify-content:space-between;align-items:flex-end;gap:10mm;margin:8mm 0 4mm}.pk-field{flex:1}.pk-field .lbl{font-size:11pt}.pk-rule{border-bottom:1px solid var(--pk-ink);height:6mm;min-width:55mm}.pk-total{white-space:nowrap;font-size:12pt}.pk-writingTime{margin:6mm 0 3mm;font-size:12pt}.pk-instructions{margin:0 0 8mm}.pk-instructions ul{margin:2mm 0 0;padding-left:7mm}.pk-instructions li{margin:1.2mm 0}.pk-marksTable{width:100%;border-collapse:collapse;margin-top:6mm}.pk-marksTable th,.pk-marksTable td{border:1px solid var(--pk-ink);text-align:center;padding:4mm 2mm;font-size:12pt}.pk-marksTable td{height:14mm;font-size:13pt}.pk-partHead{border-bottom:2.5px solid var(--pk-ink);padding-bottom:1.5mm;margin:0 0 1mm;font-size:15pt;font-weight:700}.pk-partHead .lead{font-weight:700}.pk-partMarks{text-align:right;color:var(--pk-grey);font-size:11pt;margin-bottom:5mm}.pk-endPart{text-align:center;color:var(--pk-grey);letter-spacing:.12em;font-size:10.5pt;margin:8mm 0 0}.pk-q{margin:0 0 7mm;page-break-inside:avoid;break-inside:avoid}.pk-qnum{font-size:12pt;margin-bottom:1mm}.pk-stem{margin:0 0 2mm}.pk-stem p{margin:1mm 0}.pk-marksRight{text-align:right;font-size:10.5pt;color:var(--pk-grey);margin-top:1mm}.pk-choices{list-style:none;margin:2mm 0 0;padding-left:6mm}.pk-choices li{margin:1.6mm 0}.pk-choiceLetter{display:inline-block;min-width:7mm;font-weight:700}.pk-parts{list-style:none;margin:2mm 0 0;padding-left:0}.pk-parts>li{margin:0 0 2mm;page-break-inside:avoid;break-inside:avoid}.pk-partLabel{font-weight:700}.pk-work{border-bottom:1px dotted #999}.pk-work.m1{height:14mm}.pk-work.m2{height:22mm}.pk-work.m3{height:30mm}.pk-work.m4{height:38mm}.pk-work.m5{height:46mm}.pk-answerLine{margin-top:2mm;font-size:11pt}.pk-answerLine .blank{display:inline-block;min-width:42mm;border-bottom:1px solid var(--pk-ink)}.pk-diagram{margin:3mm auto;text-align:center;page-break-inside:avoid;break-inside:avoid;--dg-line: #000;--dg-text: #000;--dg-red: #333;--dg-shade: #d9d9d9}.pk-diagram .diagram{background:none;border:none;padding:0}.pk-diagram svg{width:100%;max-width:105mm;height:auto}.pk-diagram.wide svg{max-width:130mm}.pk-diagram figcaption{font-size:9.5pt;color:var(--pk-grey);margin-top:1mm}.pk-solution{margin-top:2mm;padding:2mm 3mm;border-left:3px solid #888}.pk-solution .ans{font-weight:700}.pk-solution ol{margin:1.5mm 0 0;padding-left:6mm}.pk-solution li{margin:.8mm 0;font-family:Courier New,monospace;font-size:10pt}.pk-note{font-size:10pt;color:var(--pk-grey);margin-top:1.5mm}.pk-key{font-weight:700}.pk-pageBreak{page-break-before:always;break-before:page}.pk-toolbar{position:sticky;top:0;z-index:20;background:#fff;border-bottom:1px solid #ccc;padding:10px 14px;display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-family:Segoe UI,system-ui,sans-serif}.pk-hint{font-size:13px;color:#555;font-family:Segoe UI,system-ui,sans-serif}@page{size:A4 portrait;margin:14mm 14mm 16mm;@bottom-right{content:"Page " counter(page);font-size:9pt}}@media print{html,body{background:#fff!important}body *{visibility:hidden}.paper,.paper *{visibility:visible}.paper{position:absolute;left:0;top:0;width:100%;max-width:none;margin:0;padding:0;font-size:11pt}.pk-toolbar,.pk-hint,.no-print{display:none!important}.pk-q{page-break-inside:avoid;break-inside:avoid}.pk-parts>li{page-break-inside:avoid;break-inside:avoid}.pk-diagram{page-break-inside:avoid;break-inside:avoid}.pk-partHead{page-break-after:avoid;break-after:avoid}.pk-front{page-break-after:always;break-after:page}.pk-diagram svg{max-width:95mm}.pk-diagram.wide svg{max-width:120mm}}.rp-meta,.rp-table,.rp-answers{width:100%;border-collapse:collapse;margin:3mm 0 6mm}.rp-meta th,.rp-meta td,.rp-table th,.rp-table td,.rp-answers th,.rp-answers td{border:1px solid #333;padding:2mm 3mm;font-size:10.5pt;text-align:left;vertical-align:top}.rp-meta th,.rp-answers th{width:38mm;background:#f0f0f0}.rp-table thead th{background:#f0f0f0}.rp-table .num,.rp-answers .num{text-align:right;font-variant-numeric:tabular-nums}.rp-h{font-size:12.5pt;margin:6mm 0 1mm;border-bottom:1px solid #333;padding-bottom:1mm}.rp-two{display:flex;gap:8mm}.rp-two>div{flex:1}.rp-two ul{padding-left:6mm;margin:1mm 0}.rp-skill{font-size:10pt;color:#555;margin-bottom:2mm}.rp-part{margin:2mm 0;padding-left:4mm}.rp-label{font-weight:700;font-size:10.5pt;margin-top:2mm}.rp-working{margin:1mm 0;padding-left:7mm}.rp-working li{font-family:Courier New,monospace;font-size:9.5pt;margin:.6mm 0}.rp-note{font-size:10pt;margin:1mm 0 0}.pk-work.m6{height:54mm}.pk-work.m7{height:62mm}.pk-work.m8{height:70mm}.pk-selfCheckTag{font-size:9.5pt;font-style:italic;color:#555;margin:1mm 0}:root{--bg: #f6f7fb;--surface: #ffffff;--surface-2: #eef1f8;--ink: #16192a;--ink-2: #4a5068;--ink-3: #767c96;--rule: #dde1ec;--accent: #2f3e9e;--accent-soft: #e9ecfb;--good: #1f7a4d;--good-soft: #e3f5ec;--bad: #a8342a;--bad-soft: #fbeae8;--warn: #8a6410;--dg-line: #1d2340;--dg-red: #c0392b;--dg-shade: #ccd3f0;--dg-text: #16192a;--font-body: "Segoe UI", system-ui, -apple-system, sans-serif;--font-mono: "Cascadia Mono", "SF Mono", Consolas, monospace}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:16px;line-height:1.55}h1,h2,h3,h4{margin:0 0 .4em;line-height:1.2}h1{font-size:30px}h2{font-size:24px;margin-top:.2em}h3{font-size:18px;margin-top:1.4em}h4{font-size:14px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3);margin-top:1.1em}p{margin:.5em 0}.mono{font-family:var(--font-mono)}.screen{max-width:900px;margin:0 auto;padding:24px 20px 90px}.screenHead{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.sub{color:var(--ink-2)}.meta{color:var(--ink-3);font-size:14px;font-family:var(--font-mono)}.empty{color:var(--ink-2);background:var(--surface);border:1px solid var(--rule);border-radius:8px;padding:20px}.btn{font:inherit;border-radius:6px;padding:9px 16px;cursor:pointer;border:1px solid var(--rule);background:var(--surface);color:var(--ink)}.btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn.primary:hover:not(:disabled){filter:brightness(1.12);color:#fff}.btn.ghost{background:transparent}.btn.big{padding:13px 28px;font-size:17px}.actions{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0}.hero{padding:18px 0 10px}.eyebrow{font-family:var(--font-mono);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}.grid{display:grid;gap:12px}.grid.menu{grid-template-columns:1fr;margin-top:22px}@media (min-width: 720px){.grid.menu{grid-template-columns:1fr 1fr}}.menuTile{text-align:left;font:inherit;cursor:pointer;background:var(--surface);border:1px solid var(--rule);border-radius:10px;padding:18px 20px;display:grid;grid-template-columns:auto 1fr;grid-template-areas:"n name" ". desc";gap:2px 12px;color:inherit}.menuTile:hover{border-color:var(--accent);box-shadow:0 3px 14px -8px #2f3e9e80}.menuTile.primary{border-color:var(--accent);background:var(--accent-soft)}.mt-1{grid-area:n;font-family:var(--font-mono);font-weight:700;color:var(--accent);background:#fff;border:1px solid var(--rule);border-radius:5px;width:26px;height:26px;display:grid;place-items:center;font-size:13px}.mt-name{grid-area:name;font-weight:600;font-size:18px;align-self:center}.mt-desc{grid-area:desc;color:var(--ink-2);font-size:14px}.grid.sections{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.grid.cats{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.tile{text-align:left;font:inherit;cursor:pointer;background:var(--surface);border:1px solid var(--rule);border-radius:8px;padding:12px 14px;display:grid;gap:2px;color:inherit}.tile:hover:not(:disabled){border-color:var(--accent)}.tile:disabled{opacity:.4;cursor:not-allowed}.tileCode{font-family:var(--font-mono);font-weight:700;color:var(--accent);font-size:13px}.tileName{font-weight:600}.tileMeta{font-size:12.5px;color:var(--ink-3)}.qcard{background:var(--surface);border:1px solid var(--rule);border-radius:10px;padding:20px 22px;margin:18px 0}.qhead{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;padding-bottom:10px;border-bottom:1px solid var(--rule)}.qnum{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.qn{font-family:var(--font-mono);font-weight:700}.marks{font-family:var(--font-mono);font-size:13px;color:var(--ink-3)}.chip{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.07em;text-transform:uppercase;padding:2px 7px;border-radius:4px;border:1px solid var(--rule);color:var(--ink-2)}.chip.sec{background:var(--accent-soft);color:var(--accent);border-color:transparent}.chip.ext{background:#fdf3dd;color:var(--warn);border-color:transparent}.chip.nocalc{background:var(--surface-2)}.chip.d1,.chip.d2{color:#3f7186}.chip.d3{color:var(--accent)}.chip.d4{color:var(--warn)}.chip.d5{color:var(--bad)}.prompt{font-size:16.5px;margin:14px 0}.diagram{margin:8px 0 14px;background:var(--surface-2);border:1px solid var(--rule);border-radius:8px;padding:6px}.diagram svg{display:block;max-height:330px}.diagram figcaption{text-align:center;font-size:12.5px;color:var(--ink-3);padding:2px 0 6px}.answerRow{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:10px 0}.answerRow label{font-size:14px;color:var(--ink-2)}.answerRow input{font:inherit;padding:9px 12px;border:1px solid var(--rule);border-radius:6px;min-width:190px;background:#fff;color:var(--ink)}.answerRow input:focus{outline:2px solid var(--accent);outline-offset:1px}.units{font-family:var(--font-mono);color:var(--ink-2);font-size:14px}.tick{color:var(--good);font-weight:700}.cross{color:var(--bad);font-weight:700}.choices{list-style:none;padding:0;margin:10px 0;display:grid;gap:8px}.choice{width:100%;text-align:left;font:inherit;cursor:pointer;display:flex;gap:12px;align-items:center;background:var(--surface);border:1px solid var(--rule);border-radius:7px;padding:11px 14px;color:inherit}.choice:hover:not(:disabled){border-color:var(--accent)}.choice.selected{border-color:var(--accent);background:var(--accent-soft)}.choice.correct{border-color:var(--good);background:var(--good-soft)}.choice.wrong{border-color:var(--bad);background:var(--bad-soft)}.choice .letter{font-family:var(--font-mono);font-weight:700;color:var(--ink-3)}.parts{padding-left:0;list-style:none;counter-reset:none}.parts>li{border-top:1px dashed var(--rule);padding:14px 0}.partHead{display:flex;justify-content:space-between;align-items:baseline}.partMarks{font-family:var(--font-mono);font-size:12px;color:var(--ink-3)}.partPrompt{margin:4px 0}.partSolution{background:var(--surface-2);border-radius:6px;padding:10px 14px;margin-top:8px}.feedback{margin-top:18px;padding:16px 18px;border-radius:8px;border:1px solid var(--rule)}.feedback.ok{background:var(--good-soft);border-color:#b8e2cd}.feedback.no{background:var(--bad-soft);border-color:#f0c8c3}.verdict{font-weight:700;font-size:17px}.feedback.ok .verdict{color:var(--good)}.feedback.no .verdict{color:var(--bad)}.expected{margin:6px 0}.working{margin:6px 0;padding-left:22px}.working li{margin:5px 0;font-family:var(--font-mono);font-size:13.5px}.misc{color:var(--ink-2)}.distractors{margin-top:12px;font-size:14px}.distractors summary{cursor:pointer;color:var(--ink-2)}.distractors ul{padding-left:20px}.pager{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:12px;color:var(--ink-3);font-size:14px}.scoreline{font-size:14px;color:var(--ink-2)}.testSection{margin-top:30px}.testSection>h3{border-bottom:2px solid var(--ink);display:inline-block;padding-bottom:5px}.submitBar{position:sticky;bottom:0;background:var(--surface);border-top:1px solid var(--rule);padding:14px 0;margin-top:26px;display:flex;gap:14px;align-items:center;flex-wrap:wrap}.results{background:var(--surface);border:1px solid var(--rule);border-radius:10px;padding:20px 22px;margin:18px 0}.bigScore{font-size:38px;font-weight:700;font-family:var(--font-mono);display:flex;align-items:baseline;gap:14px}.bigScore .pct{font-size:18px;color:var(--ink-3)}.resTable{width:100%;border-collapse:collapse;font-size:14px;margin:8px 0 4px}.resTable th,.resTable td{text-align:left;padding:7px 10px;border-bottom:1px solid var(--rule)}.resTable thead th{font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-3)}.resTable tr.weak td{background:var(--bad-soft)}.resTable tr.mid td{background:#fdf3dd}.resTable tr.good td{background:var(--good-soft)}.missed{padding-left:20px}.missed li{margin:8px 0}.missed .misc{font-size:13.5px}.mistakeList{list-style:none;padding:0}.mistakeList li{background:var(--surface);border:1px solid var(--rule);border-radius:8px;padding:12px 14px;margin:8px 0}.mHead{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.tally{margin-left:auto;font-family:var(--font-mono);font-size:13px;color:var(--ink-3)}.mTopic{font-size:13px;color:var(--ink-3)}.bankInfo{margin-top:40px;font-size:13.5px;color:var(--ink-3)}.bankInfo summary{cursor:pointer}.bankGrid{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-top:10px}.bankGrid ul{list-style:none;padding:0}.bankGrid ul.cols{columns:2}.warn{color:var(--bad)}.gradeNote{background:#fff6e0;border-left:3px solid var(--warn);padding:7px 12px;border-radius:0 5px 5px 0;margin:8px 0;font-size:14px;color:#6b4e0c}.gradeNote.inline{display:inline-block;margin:0 0 0 8px;padding:3px 9px;font-size:12.5px}.btn.small{padding:5px 11px;font-size:13px}.diagPanel{margin-top:12px;border:1px solid var(--rule);border-radius:8px;padding:12px 16px;background:var(--surface)}.paperIdInput{font:inherit;padding:9px 12px;border:1px solid var(--rule);border-radius:6px;min-width:250px;font-family:var(--font-mono)}.testControls{display:flex;gap:8px;flex-wrap:wrap}.statGrid{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin:16px 0}.statCard{background:var(--surface);border:1px solid var(--rule);border-radius:8px;padding:12px 14px}.statValue{font-size:24px;font-weight:700;font-family:var(--font-mono)}.statLabel{font-size:12.5px;color:var(--ink-3)}.statSub{font-size:11.5px;color:var(--ink-3);margin-top:2px}.twoCol{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin:8px 0 4px}.plainList{list-style:none;padding:0;margin:4px 0}.plainList li{margin:5px 0}.tableWrap{overflow-x:auto}.resTable select{font:inherit}.reviewCard{background:var(--surface);border:1px solid var(--rule);border-left:4px solid var(--bad);border-radius:8px;margin:10px 0;overflow:hidden}.reviewCard.partial{border-left-color:var(--warn)}.reviewCard.correct{border-left-color:var(--good)}.reviewHead{display:grid;gap:5px;width:100%;text-align:left;font:inherit;cursor:pointer;background:none;border:none;padding:12px 14px;color:inherit}.reviewHead:hover{background:var(--surface-2)}.rTop{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.rMeta{font-size:12.5px;color:var(--ink-3);font-family:var(--font-mono)}.rAnswers{display:grid;gap:2px;font-size:13.5px}.rYour{color:var(--bad)}.rCorrect{color:var(--good)}.rToggle{font-size:12.5px;color:var(--accent)}.reviewBody{padding:4px 16px 16px;border-top:1px solid var(--rule)}.chip.mastered,.chip.good{background:var(--good-soft);color:var(--good);border-color:transparent}.historyRow{display:grid;gap:3px;width:100%;text-align:left;font:inherit;cursor:pointer;background:var(--surface);border:1px solid var(--rule);border-radius:8px;padding:11px 14px;color:inherit}.historyRow:hover{border-color:var(--accent)}.hTitle{font-weight:600}.hScore{font-family:var(--font-mono)}.hMeta{font-size:12.5px;color:var(--ink-3)}.timeInput{font:inherit;width:80px;padding:6px 8px;border:1px solid var(--rule);border-radius:6px}.devPaperCheck{margin:0 0 12px;padding:6px 10px;border:1px dashed var(--line, #b9c3d0);border-radius:6px;background:#fffbe6;color:#5b4a00;font-size:12px}@media print{.devPaperCheck{display:none!important}}
