:root{color-scheme:light dark;--paper: #f7f6f2;--surface: #ffffff;--surface-2: #efeee8;--ink: #16303a;--ink-2: #475b60;--ink-3: #5f7276;--line: #dcdcd4;--line-strong: #7d8a87;--action: #1c6b85;--action-soft: #e2eef2;--action-ink: #ffffff;--clock: #9a5a00;--clock-soft: #fbefd9;--mic: #b93626;--mic-soft: #f9e3df;--select: #f5dd6b;--select-ink: #16303a;--good: #26703f;--good-soft: #dff0e5;--warn: #8a6200;--critical: #a1224e;--critical-soft: #f8e4eb;--focus: #1c6b85;--tone-1: #16303a;--tone-2: #4f7f8c;--tone-3: #8fb6bf;--tone-4: #c2d9de;--tone-5: #b56a06;--tone-6: #e4a04a;--radius: 6px;--radius-lg: 10px;--measure: 68ch;--font: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--numerals-weight: 600;--dur-quick: .15s;--dur-move: .24s;--ease: cubic-bezier(.2, 0, 0, 1)}@media(prefers-color-scheme:dark){:root{--paper: #111a1d;--surface: #182225;--surface-2: #223035;--ink: #e4ebe9;--ink-2: #a9b8bb;--ink-3: #8a9ca0;--line: #2d3b3f;--line-strong: #5b6e72;--action: #5fb0cc;--action-soft: #17323b;--action-ink: #0d1a1f;--clock: #e4a04a;--clock-soft: #3a2a12;--mic: #ef7a69;--mic-soft: #3d1c18;--select: #6b5a12;--select-ink: #fff6cf;--good: #6cc58c;--good-soft: #1b3324;--warn: #d9b44a;--critical: #f07aa3;--critical-soft: #3a1826;--focus: #5fb0cc;--tone-1: #9fd0dd;--tone-2: #5f97a6;--tone-3: #e4a04a;--tone-4: #c2d9de;--tone-5: #f0c27a;--tone-6: #7fb894}}*{box-sizing:border-box}html{font-family:var(--font);font-size:17px;line-height:1.5;color:var(--ink);background:var(--paper);-webkit-text-size-adjust:100%}body{margin:0;min-height:100vh}#root{min-height:100vh;display:flex;flex-direction:column}h1,h2,h3{font-weight:600;letter-spacing:-.01em;line-height:1.2;margin:0 0 .5em}h1{font-size:1.75rem}h2{font-size:1.25rem}h3{font-size:1rem}p{margin:0 0 1em;max-width:var(--measure)}a{color:var(--action);text-underline-offset:.15em}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}}.num{font-variant-numeric:tabular-nums}.muted{color:var(--ink-2)}.small{font-size:.875rem}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.topbar{display:flex;align-items:center;gap:1.5rem;padding:.75rem 1.25rem;border-bottom:1px solid var(--line);background:var(--surface)}.topbar .brand{font-weight:600;text-decoration:none;color:var(--ink);letter-spacing:-.01em}.topbar nav{display:flex;gap:1rem;margin-left:auto}.topbar nav a{color:var(--ink-2);text-decoration:none;padding:.25rem 0;border-bottom:2px solid transparent}.topbar nav a[aria-current=page]{color:var(--ink);border-bottom-color:var(--ink)}.page{width:min(100% - 2.5rem,64rem);margin:0 auto;padding:2rem 0 4rem;flex:1}.page.narrow{width:min(100% - 2.5rem,40rem)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.55rem 1.1rem;border-radius:var(--radius);border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);cursor:pointer;text-decoration:none;line-height:1.2}.btn:hover{background:var(--surface-2)}.btn:disabled{opacity:.5;cursor:default}.btn.primary{background:var(--action);border-color:var(--action);color:var(--action-ink)}.btn.primary:hover{filter:brightness(1.08)}.btn.quiet{border-color:transparent;background:transparent;color:var(--action);padding-inline:.5rem}.btn.mic{background:var(--mic);border-color:var(--mic);color:#fff}.btn.danger{background:var(--critical);border-color:var(--critical);color:#fff}.btn.lg{padding:.8rem 1.6rem;font-size:1.05rem}.field{display:grid;gap:.35rem;margin-bottom:1rem;max-width:28rem}.field label{font-size:.9rem;color:var(--ink-2)}.input{padding:.55rem .7rem;border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface);width:100%}.input:focus{border-color:var(--focus);outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--focus) 25%,transparent)}textarea.input{min-height:14rem;resize:vertical;line-height:1.6;font-size:max(16px,1rem)}.error{color:var(--critical);margin:.5rem 0}.notice{border-left:3px solid var(--action);background:var(--action-soft);padding:.75rem 1rem;border-radius:0 var(--radius) var(--radius) 0;margin:1rem 0;max-width:var(--measure)}.notice p{margin:0}.notice.gate{border-left-color:var(--critical);background:var(--critical-soft)}.notice.gate strong{color:var(--critical)}.sections{display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:1.25rem;margin:1.5rem 0 2.5rem}.section-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:1.25rem;display:flex;flex-direction:column}.section-card h2{margin-bottom:.25rem}.section-card .time{color:var(--ink-2);font-size:.85rem;margin-bottom:.75rem}.section-card ul{list-style:none;margin:0 0 1rem;padding:0;flex:1}.section-card li{display:flex;align-items:baseline;gap:.6rem;padding:.3rem 0;border-top:1px solid var(--line)}.section-card li a{text-decoration:none;color:var(--ink)}.section-card li a:hover{color:var(--action)}.code{font-size:.72rem;color:var(--ink-3);min-width:3.6rem;font-variant-numeric:tabular-nums;letter-spacing:.02em;white-space:nowrap}.recent{list-style:none;padding:0;margin:0;max-width:var(--measure)}.recent li{display:grid;grid-template-columns:4rem 1fr auto;gap:1rem;align-items:baseline;padding:.5rem 0;border-top:1px solid var(--line)}.recent li a{text-decoration:none;color:var(--ink)}.empty{color:var(--ink-2);border:1px dashed var(--line);padding:1rem;border-radius:var(--radius);max-width:var(--measure)}.exam{display:flex;flex-direction:column;flex:1}.exam-head{position:sticky;top:0;z-index:2;background:var(--surface);border-bottom:1px solid var(--line)}.exam-head .row{display:flex;align-items:center;gap:1.25rem;padding:.6rem 1.25rem}.exam-head .type{font-weight:600}.exam-head .phase{color:var(--ink-2)}.exam-head .phase.live{color:var(--mic);font-weight:600}.exam-head .clock{margin-left:auto;font-size:1.75rem;font-weight:var(--numerals-weight);font-variant-numeric:tabular-nums;letter-spacing:.01em;line-height:1}.exam-head .clock.low{color:var(--clock)}.phases{display:flex;gap:.25rem;list-style:none;margin:0;padding:0;font-size:.9rem}.phases li{padding:.15rem .6rem;border-radius:999px;color:var(--ink-3)}.phases li.done{color:var(--ink-2)}.phases li.done:before{content:"✓ "}.phases li.now{color:var(--ink);background:var(--surface-2);font-weight:600}.phases li.now.live{color:#fff;background:var(--mic)}.band{height:6px;background:var(--line)}.band>i{display:block;height:100%;background:var(--ink-2);transition:background-color var(--dur-move) var(--ease)}.band>i.low{background:var(--clock)}.band>i.mic{background:var(--mic)}.exam-body{width:min(100% - 2.5rem,52rem);margin:0 auto;padding:1.75rem 0 5rem;flex:1}.instructions{color:var(--ink-2);margin-bottom:1.5rem}.instruction{font-weight:600;font-style:italic;color:var(--ink);max-width:none;margin:0 0 1.5rem}.exam-body.split>.instruction{grid-column:1 / -1}.prompt-text{font-size:1.15rem;line-height:1.7;max-width:var(--measure)}.prompt-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:1.25rem 1.5rem;margin-bottom:1.5rem}.exam-foot{position:sticky;bottom:0;background:var(--surface);border-top:1px solid var(--line);padding:.75rem 1.25rem;display:flex;gap:1rem;align-items:center;justify-content:flex-end}.toggle{display:flex;align-items:center;gap:.5rem;cursor:pointer}.waiting{display:flex;align-items:center;gap:.75rem;color:var(--ink-2)}.waiting i{width:10px;height:10px;border-radius:50%;background:var(--ink-3);animation:pulse 1.2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.3}50%{opacity:1}}.player{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);margin-bottom:1.5rem}.player .bar{flex:1;height:6px;background:var(--line);border-radius:3px;overflow:hidden}.player .bar>i{display:block;height:100%;background:var(--ink);width:0;transition:width .25s linear}.player .label{min-width:6rem;color:var(--ink-2)}.recorder{display:grid;gap:.85rem;padding:1.25rem 1.5rem 1.5rem;border-radius:var(--radius-lg);border:1px solid var(--line-strong);background:var(--surface);transition:background-color var(--dur-move) var(--ease),border-color var(--dur-move) var(--ease)}.recorder .rec-label{font-size:.8rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-2)}.recorder .status{display:flex;align-items:center;gap:.75rem;font-weight:600;font-size:1.15rem}.recorder .rec-current{font-weight:400;font-size:1rem}.recorder.countdown .status .num{color:var(--clock)}.recorder.recording{border-color:var(--mic);background:var(--mic-soft)}.recorder.recording .status{color:var(--mic)}.recorder .dot{width:12px;height:12px;border-radius:50%;background:var(--ink-3);flex:none}.recorder.recording .dot{background:var(--mic);animation:pulse 1s ease-in-out infinite}.recorder.completed .dot{background:var(--good)}.rec-bar{height:8px;border-radius:4px;background:var(--line);overflow:hidden}.rec-bar>i{display:block;height:100%;background:var(--mic);transition:width .1s linear}.recorder.completed .rec-bar>i{background:var(--good)}.meter{display:flex;gap:3px;align-items:flex-end;height:32px}.meter i{flex:1;background:var(--line);border-radius:2px;min-height:3px;transition:height .08s}.recorder.recording .meter i{background:var(--mic)}.recorder .actions{display:flex;gap:.75rem;flex-wrap:wrap}.recorder.denied{border-color:var(--critical)}.essay{display:grid;gap:.4rem}.wordcount{display:flex;justify-content:space-between;gap:1rem;color:var(--ink-2);font-size:.9rem;max-width:none}.wordcount .num{font-weight:600}.wordcount.in .num{color:var(--ink)}.wordcount.over .num{color:var(--warn)}.wordcount.out,.wordcount.out .num{color:var(--critical)}textarea.dictation{min-height:0;font-size:max(16px,1.1rem)}.choices{list-style:none;padding:0;margin:0;display:grid;gap:.5rem;max-width:var(--measure)}.choices label{display:flex;gap:.75rem;align-items:flex-start;padding:.75rem 1rem;border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface);cursor:pointer;transition:background-color var(--dur-quick) var(--ease)}.choices label:hover{background:var(--surface-2)}.choices label:has(input:checked){border-color:var(--action);box-shadow:inset 0 0 0 1px var(--action);background:var(--action-soft)}.choices label:has(input:focus-visible){outline:2px solid var(--focus);outline-offset:2px}.choices input{margin-top:.2rem;width:20px;height:20px;accent-color:var(--action);flex:none}.choices.disabled label{cursor:default;opacity:.72}.choices.disabled label:hover{background:var(--surface)}.choices .para{white-space:pre-wrap}.question{font-weight:600;margin:1.25rem 0 .75rem;max-width:var(--measure)}.gapped{font-size:1.1rem;line-height:2.1;max-width:var(--measure)}.gapped select,.gapped input{font-size:1rem;padding:.15rem .4rem;border:1px solid var(--action);border-radius:4px;background:var(--surface);margin:0 .15rem;min-width:7rem}.gap-slot{display:inline-flex;align-items:center;justify-content:center;min-width:7rem;height:1.9rem;margin:0 .15rem;border:1px dashed var(--action);border-radius:4px;vertical-align:middle;padding:0 .5rem;background:var(--surface);cursor:pointer}.gap-slot.filled{border-style:solid}.gap-slot.target{background:color-mix(in srgb,var(--action) 15%,transparent)}.bank{display:flex;flex-wrap:wrap;gap:.75rem;padding:1rem;margin-top:1.5rem;border:1px solid var(--line-strong);border-radius:var(--radius-lg);background:var(--surface-2);min-height:4rem}.chip{padding:.3rem .85rem;border:1px solid var(--line-strong);background:var(--surface);border-radius:999px;cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none}.chip.picked{border-color:var(--action);box-shadow:inset 0 0 0 1px var(--action)}.chip.ghost{position:fixed;pointer-events:none;z-index:10;opacity:.9;box-shadow:0 4px 16px #0003}.reorder{list-style:none;padding:0;margin:0;display:grid;gap:.6rem;max-width:var(--measure)}.reorder li{display:flex;gap:.75rem;align-items:flex-start;padding:.9rem 1rem;border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface);touch-action:none}.reorder li.dragging{opacity:.4}.reorder li.over{border-color:var(--action);box-shadow:inset 0 0 0 1px var(--action)}.reorder .handle{cursor:grab;color:var(--ink-2);-webkit-user-select:none;user-select:none;padding-top:.1rem}.reorder .text{flex:1}.reorder .moves{display:flex;flex-direction:column;gap:.25rem}.reorder .moves button{width:2rem;height:1.6rem;border:1px solid var(--line-strong);border-radius:4px;background:var(--surface);cursor:pointer;line-height:1}.reorder .moves button:disabled{opacity:.3;cursor:default}.clickable{font-size:1.1rem;line-height:2;max-width:var(--measure)}.clickable button{font:inherit;background:none;border:0;padding:0 .15rem;border-radius:3px;cursor:pointer;color:inherit}.clickable button:hover{background:var(--surface-2)}.clickable button.on{background:var(--select);color:var(--select-ink)}.clickable.disabled button{cursor:default}.clickable.disabled button:hover{background:none}.figure{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:1rem 1.25rem .75rem;margin:0 0 1.5rem}.figure figcaption{font-weight:600;margin-bottom:.5rem}.figure .chart{width:100%}.figure svg{width:100%;height:auto;display:block;overflow:visible}.figure table{border-collapse:collapse;width:100%;font-variant-numeric:tabular-nums}.figure th,.figure td{text-align:left;padding:.4rem .6rem;border-bottom:1px solid var(--line)}.figure th{color:var(--ink-2);font-weight:600}.figure td.n,.figure th.n{text-align:right}.process{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;padding:.5rem 0}.process .step{padding:.5rem .9rem;border:1px solid var(--ink);border-radius:var(--radius);background:var(--surface)}.process .arrow{color:var(--ink-2)}.picture{aspect-ratio:16 / 9;display:grid;place-items:center;background:var(--surface-2);color:var(--ink-2);border-radius:var(--radius);font-style:italic;padding:1rem;text-align:center}.result-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:2rem}@media(min-width:56rem){.result-grid{grid-template-columns:2fr 1fr;align-items:start}}.total{display:flex;align-items:baseline;gap:.5rem;margin-bottom:1rem}.total .big{font-size:2.75rem;font-weight:var(--numerals-weight);font-variant-numeric:tabular-nums;line-height:1}.total .of{color:var(--ink-2)}.traits{list-style:none;padding:0;margin:0 0 2rem;display:grid;gap:.9rem}.traits li{display:grid;gap:.3rem}.traits .head{display:flex;justify-content:space-between;align-items:baseline}.traits .name{font-weight:600}.traits .bar{height:8px;background:var(--line);border-radius:4px;overflow:hidden}.traits .bar>i{display:block;height:100%;background:var(--ink)}.traits .bar>i.full{background:var(--good)}.traits .bar>i.zero{background:var(--critical)}.traits .max{color:var(--ink-2);font-weight:400}.traits li.gating{padding:.6rem .8rem;margin:0 -.8rem;border-radius:var(--radius);background:var(--critical-soft)}.traits li.gating .name,.traits li.gating .score{color:var(--critical)}.traits li.unmarked .score{color:var(--ink-2);font-style:italic;font-weight:400}.traits .reason{color:var(--ink-2);font-size:.95rem;max-width:var(--measure)}.answer-box{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:1.25rem 1.5rem;margin-bottom:1.5rem;white-space:pre-wrap;line-height:1.7}.answer-box h3{margin-bottom:.75rem}.pause{color:var(--ink-2);font-weight:700}.workon{padding-left:1.2rem}.workon li{margin-bottom:.4rem}.aside{background:var(--surface-2);border-radius:var(--radius-lg);padding:1.25rem}.aside h3{margin-bottom:.5rem}.aside dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:.3rem 1rem}.aside dt{color:var(--ink-2)}.aside dd{margin:0}.mark-right{color:var(--good);font-weight:600}.mark-wrong{color:var(--critical);text-decoration:line-through}.mark-missed{color:var(--good);font-weight:600;text-decoration:underline dotted}.mark-hit{background:var(--good-soft);border-radius:3px;padding:0 .15rem}.mark-false{background:var(--critical-soft);border-radius:3px;padding:0 .15rem;text-decoration:line-through}.mark-wanted{box-shadow:inset 0 -2px 0 var(--good)}.table{width:100%;border-collapse:collapse}.table th,.table td{text-align:left;padding:.55rem .6rem;border-bottom:1px solid var(--line);vertical-align:top}.table th{color:var(--ink-2);font-weight:600;font-size:.9rem}.table td.n{font-variant-numeric:tabular-nums}.table a{text-decoration:none;color:var(--ink)}.table a:hover{color:var(--action)}.trends{display:grid;grid-template-columns:repeat(auto-fill,minmax(11rem,1fr));gap:.75rem;margin:1rem 0 2rem}.trend{padding:.75rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.trend .label{display:flex;justify-content:space-between;font-size:.85rem;color:var(--ink-2);margin-bottom:.3rem}.trend svg{width:100%;height:36px;display:block}.filters{display:flex;gap:1rem;align-items:center;flex-wrap:wrap;margin-bottom:1rem}.filters select{max-width:100%}.summary{list-style:none;padding:0;margin:1rem 0 2rem;max-width:var(--measure)}.summary li{display:grid;grid-template-columns:4rem 1fr auto;gap:1rem;padding:.5rem 0;border-top:1px solid var(--line);align-items:baseline}.kv{display:grid;grid-template-columns:auto 1fr;gap:.4rem 1.5rem;margin:1rem 0 1.5rem;max-width:36rem}.kv dt{color:var(--ink-2)}.kv dd{margin:0}hr{border:0;border-top:1px solid var(--line);margin:2rem 0}.exam-body.split{width:min(100% - 2.5rem,80rem)}@media(min-width:56.25rem){.exam-body.split{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:0 2.5rem;align-items:start;align-content:start}.exam-body.split>.pane{min-width:0}.exam-body.split>.pane.sticky{position:sticky;top:4.5rem}}.sections{grid-template-columns:repeat(4,minmax(0,1fr))}@media(max-width:64rem){.sections{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:40rem){.sections{grid-template-columns:1fr}}.btn,.chip,.gap-slot,.reorder .moves button,.choices label,.clickable button,.gapped select,.gapped input{min-height:44px}.clickable button{padding-block:.2rem}.reorder .moves button{width:44px}@media(max-width:40rem){html{font-size:16px}.table thead{display:none}.table,.table tbody,.table tr,.table td{display:block}.table tr{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:.6rem .8rem;margin-bottom:.6rem}.table td{border:0;padding:.15rem 0}.table td[data-label]:before{content:attr(data-label) ": ";color:var(--ink-2)}.topbar{padding:.6rem 1rem;gap:1rem}.topbar nav{gap:.75rem;font-size:.95rem}.exam-head .row{padding:.5rem 1rem;gap:.75rem}.exam-head .clock{font-size:1.3rem}.recent li,.summary li{grid-template-columns:3.5rem 1fr auto;gap:.5rem}.exam-head .phases{display:none}.exam-foot{position:static}.instruction{font-size:.95rem}.figure{padding:.85rem .9rem .6rem}.figure svg text{font-size:12.5px}.figure svg text.v{font-size:11px}}
