@font-face{font-family:Public Sans;src:url(/fonts/public-sans.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:Public Sans;src:url(/fonts/public-sans-italic.woff2)format("woff2");font-weight:100 900;font-style:italic;font-display:swap}@font-face{font-family:Red Hat Mono;src:url(/fonts/red-hat-mono.woff2)format("woff2");font-weight:300 700;font-display:swap}@font-face{font-family:Public Sans Fallback;src:local(Arial),local(Helvetica Neue),local(Helvetica);size-adjust:103%;ascent-override:92%;descent-override:22%}@font-face{font-family:Red Hat Mono Fallback;src:local(Menlo),local(Consolas),local(Courier New);size-adjust:96%}:root{color-scheme:light;--paper:oklch(98.8% .004 165);--paper-2:oklch(96.3% .017 165);--paper-3:oklch(93.7% .028 165);--ink:oklch(50% .105 165);--ink-strong:oklch(42% .09 165);--ink-line:oklch(82% .055 165);--ink-hair:oklch(90% .03 165);--on-ink:oklch(99% .004 165);--text:oklch(22% .01 250);--text-2:oklch(43% .012 250);--graphite:oklch(31% .012 255);--black:oklch(17% 0 0);--red:oklch(53% .19 28);--focus:oklch(31% .012 255);--code-foreground:var(--text);--code-background:transparent;--code-token-keyword:var(--ink-strong);--code-token-constant:var(--text);--code-token-string:var(--text-2);--code-token-comment:var(--text-2);--code-token-parameter:var(--text);--code-token-function:var(--ink-strong);--code-token-string-expression:var(--text-2);--code-token-punctuation:var(--text-2);--code-token-link:var(--ink-strong);--sans:"Public Sans", "Public Sans Fallback", system-ui, sans-serif;--mono:"Red Hat Mono", "Red Hat Mono Fallback", ui-monospace, monospace;--measure:38em;--ease-out:cubic-bezier(.16, 1, .3, 1);--radius:3px;--gutter:clamp(16px, 4vw, 40px)}@media (prefers-color-scheme:dark){:root{color-scheme:dark;--paper:oklch(19.5% .01 200);--paper-2:oklch(23.2% .016 185);--paper-3:oklch(27.5% .022 178);--ink:oklch(76% .11 165);--ink-strong:oklch(83% .09 165);--ink-line:oklch(42% .05 168);--ink-hair:oklch(31% .03 170);--on-ink:oklch(18% .02 170);--text:oklch(94% .006 200);--text-2:oklch(77% .012 200);--graphite:oklch(90% .01 250);--black:oklch(93% 0 0);--red:oklch(72% .16 28);--focus:oklch(90% .01 250)}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:80px}body{background:var(--paper);color:var(--text);font-family:var(--sans);font-feature-settings:"tnum" 0;-webkit-font-smoothing:antialiased;flex-direction:column;min-height:100dvh;margin:0;font-size:1rem;line-height:1.55;display:flex}::selection{background:color-mix(in oklch, var(--ink) 28%, transparent);color:inherit}:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:2px}img,svg{max-width:100%;display:block}h1,h2,h3{text-wrap:balance;letter-spacing:-.01em;margin:0;font-weight:700;line-height:1.2}p{text-wrap:pretty;margin:0}a{color:var(--ink-strong);text-underline-offset:.18em;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}button,input,textarea,select{font:inherit;color:inherit}code,kbd,pre{font-family:var(--mono)}:not(pre)>code{background:var(--paper-2);border:1px solid var(--ink-hair);overflow-wrap:anywhere;border-radius:2px;padding:.04em .28em;font-size:.92em}.num{font-variant-numeric:tabular-nums}.sr{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}html{scrollbar-color:var(--ink-line) transparent}.wrap{width:100%;max-width:1240px;padding:0 var(--gutter);margin:0 auto}main{flex:1;padding-bottom:72px}.bar{z-index:20;background:color-mix(in oklch, var(--paper) 94%, transparent);-webkit-backdrop-filter:saturate(1.2)blur(8px);border-bottom:1px solid var(--ink-line);position:sticky;top:0}.bar .wrap{align-items:center;gap:28px;min-height:60px;display:flex}.brand{color:var(--text);letter-spacing:-.02em;align-items:center;gap:9px;font-size:1.32rem;font-weight:800;text-decoration:none;display:inline-flex}.brand svg{width:26px;height:26px}.nav{gap:2px;margin-left:auto;display:flex}.nav a{min-height:40px;color:var(--text-2);border-radius:var(--radius);align-items:center;padding:0 12px;font-size:.95rem;font-weight:600;text-decoration:none;display:inline-flex}.nav a:hover{color:var(--text);background:var(--paper-2)}.nav a[aria-current=page]{color:var(--ink-strong);box-shadow:inset 0 -2px 0 var(--ink);border-radius:0}.nav .count{font-variant-numeric:tabular-nums;color:var(--red);margin-left:6px;font-size:.82rem;font-weight:700}.nav .count:empty{display:none}@media (width<=720px){.bar .wrap{flex-wrap:wrap;gap:0 12px;min-height:0;padding-top:8px}.brand{min-height:40px}.nav{width:calc(100% + 2 * var(--gutter));margin-left:0;margin-inline:calc(-1 * var(--gutter));padding:0 calc(var(--gutter) - 10px) 2px;scrollbar-width:none;overflow-x:auto}.nav::-webkit-scrollbar{display:none}.nav a{white-space:nowrap;min-height:44px;padding:0 10px}}.foot{border-top:1px solid var(--ink-line);color:var(--text-2);padding:22px 0 34px;font-size:.86rem}.foot .wrap{flex-wrap:wrap;justify-content:space-between;gap:8px 24px;display:flex}.page-head{gap:10px;padding:34px 0 22px;display:grid}.page-head h1{letter-spacing:-.025em;font-size:clamp(1.75rem,1.2rem + 2vw,2.5rem);font-weight:800}.lede{color:var(--text-2);max-width:var(--measure)}.label{color:var(--ink-strong);font-size:.8rem;font-weight:700}.muted{color:var(--text-2)}h2.sec{font-size:1.08rem;font-weight:750}.btn{border:1.5px solid var(--ink);border-radius:var(--radius);min-height:44px;color:var(--ink-strong);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;justify-content:center;align-items:center;gap:8px;padding:0 18px;font-size:.98rem;font-weight:700;text-decoration:none;transition:background .14s,color .14s,border-color .14s,transform .12s;display:inline-flex}.btn:hover{background:var(--paper-2)}.btn:active{transform:translateY(1px)}.btn.primary{background:var(--ink);color:var(--on-ink);border-color:var(--ink)}.btn.primary:hover{background:var(--ink-strong);border-color:var(--ink-strong)}.btn.quiet{color:var(--text-2);border-color:#0000}.btn.quiet:hover{color:var(--text);background:var(--paper-2)}.btn.big{min-height:52px;padding:0 24px;font-size:1.05rem}.btn[disabled],.btn[aria-disabled=true]{opacity:.45;cursor:not-allowed;transform:none}.btn kbd{opacity:.75;border:1px solid;border-radius:2px;padding:0 4px;font-size:.74rem;font-weight:600;line-height:1.4}@media (hover:none){.btn kbd,.kbd-hint{display:none}}.seg{flex-wrap:wrap;gap:6px;display:flex}.seg button,.seg label{border:1px solid var(--ink-line);border-radius:var(--radius);background:var(--paper);min-height:40px;color:var(--text);cursor:pointer;align-items:center;gap:8px;padding:0 13px;font-size:.93rem;font-weight:600;display:inline-flex}.seg button:hover,.seg label:hover{border-color:var(--ink)}.seg [aria-pressed=true],.seg label:has(input:checked){border-color:var(--ink);background:var(--paper-3);color:var(--ink-strong);box-shadow:inset 0 0 0 1px var(--ink)}.seg input{opacity:0;pointer-events:none;position:absolute}.seg label:has(input:focus-visible){outline:2px solid var(--focus);outline-offset:2px}.bub{--w:30px;--h:21px;width:var(--w);height:var(--h);border:1.5px solid var(--ink);color:var(--ink-strong);background:var(--paper);border-radius:50%;flex:none;place-items:center;font-size:.74rem;font-weight:700;line-height:1;display:inline-grid;position:relative}.bub.sq{border-radius:5px}.cells{flex-wrap:wrap;gap:3px;display:flex}.cell{border:1px solid var(--ink-line);background:0 0;border-radius:50%;width:9px;height:7px}.cell[data-s=r]{background:var(--graphite);border-color:var(--graphite)}.cell[data-s=w]{border-color:var(--red);background:linear-gradient(to top right, transparent calc(50% - .8px), var(--red) calc(50% - .8px), var(--red) calc(50% + .8px), transparent calc(50% + .8px))}.panel{border:1px solid var(--ink-line);background:var(--paper);border-radius:4px}.panel-head{border-bottom:1px solid var(--ink-line);background:var(--paper-2);border-radius:4px 4px 0 0;justify-content:space-between;align-items:baseline;gap:12px;padding:12px 16px;display:flex}.panel-head h2{color:var(--ink-strong);font-size:1rem;font-weight:750}.panel-body{padding:16px}.stack,.grid-1{grid-template-columns:minmax(0,1fr);display:grid}.exhibit{border:1px solid var(--ink-line);background:var(--paper);border-radius:4px;min-width:0;margin:0}.exhibit figcaption{font-family:var(--mono);color:var(--ink-strong);border-bottom:1px solid var(--ink-hair);background:var(--paper-2);overflow-wrap:anywhere;border-radius:4px 4px 0 0;padding:7px 12px;font-size:.8rem;font-weight:600}.exhibit pre{tab-size:4;background:linear-gradient(to right, var(--paper) 30%, transparent) left / 24px 100% no-repeat local, linear-gradient(to left, var(--paper) 30%, transparent) right / 24px 100% no-repeat local, radial-gradient(farthest-side at 0 50%, color-mix(in oklch, var(--text) 18%, transparent), transparent) left / 10px 100% no-repeat scroll, radial-gradient(farthest-side at 100% 50%, color-mix(in oklch, var(--text) 18%, transparent), transparent) right / 10px 100% no-repeat scroll;margin:0;padding:12px 14px;font-size:.84rem;line-height:1.5;overflow-x:auto;background-color:var(--paper)!important}.exhibit pre code{font-size:inherit}.prose{max-width:var(--measure);grid-template-columns:minmax(0,1fr);gap:.7em;display:grid}.prose ul,.prose ol{gap:.3em;margin:0;padding-left:1.25em;display:grid}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}.sep{opacity:.55;vertical-align:middle;background:currentColor;border-radius:50%;width:3px;height:3px;margin:0 8px;display:inline-block}.gap{gap:14px}.measure{max-width:var(--measure)}.empty{color:var(--text-2);padding:28px 0}.home-top{grid-template-columns:minmax(0,2fr) minmax(0,1fr);align-items:start;gap:20px;display:grid}.home-side{grid-template-columns:minmax(0,1fr);gap:20px;display:grid}.panel-head a{font-size:.88rem;font-weight:600}.missed-box{justify-items:start;gap:6px;display:grid}.missed-box .btn{margin-top:8px}.big-num{letter-spacing:-.03em;color:var(--text);font-size:2.6rem;font-weight:800;line-height:1}.recent{gap:2px;margin:0;padding:0;list-style:none;display:grid}.recent li{border-bottom:1px solid var(--ink-hair);grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:12px;padding:7px 0;display:grid}.recent li:last-child{border-bottom:0}.rc-bar{border:1px solid var(--ink-line);border-radius:2px;align-items:flex-end;width:10px;height:32px;display:flex;overflow:hidden}.rc-bar i{background:var(--graphite);width:100%;display:block}.rc-main{min-width:0;display:grid}.rc-label{text-overflow:ellipsis;white-space:nowrap;font-size:.93rem;font-weight:650;overflow:hidden}.rc-meta{font-size:.8rem}.rc-score{font-weight:750}.home-sheet{grid-template-columns:minmax(0,1fr);gap:12px;margin-top:36px;display:grid}.sheet-title{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 20px;display:flex}.legend{gap:16px;font-size:.84rem;display:flex}.legend span{align-items:center;gap:6px;display:inline-flex}@media (width<=900px){.home-top{grid-template-columns:minmax(0,1fr)}.home-side{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}}.start{grid-template-columns:minmax(0,1fr);gap:18px;display:grid}.start-row{grid-template-columns:minmax(0,1fr);gap:8px;display:grid}.start-grid{flex-wrap:wrap;align-items:start;gap:18px 32px;display:flex}.start-row{align-content:start}.seg>*{flex:none}.topic-pick{flex-wrap:wrap;gap:6px;display:flex}.topic-toggle{border-width:1px;border-color:var(--ink-line);min-width:14em;color:var(--text);justify-content:space-between}.topic-toggle[aria-expanded=true] svg{transform:rotate(180deg)}.topic-list{border:1px solid var(--ink-line);background:var(--paper-2);border-radius:4px;grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr));gap:2px 12px;margin:4px 0 0;padding:10px;display:grid}.topic-list label{cursor:pointer;border-radius:3px;align-items:center;gap:10px;min-height:40px;padding:2px 6px;font-size:.93rem;display:flex}.topic-list label:hover{background:var(--paper-3)}.topic-list input{opacity:0;pointer-events:none;position:absolute}.topic-list .bub{--w:26px;--h:18px;font-size:.68rem}.topic-list label:has(input:checked) .bub{background:var(--graphite);border-color:var(--graphite);color:var(--paper)}.topic-list label:has(input:focus-visible){outline:2px solid var(--focus);outline-offset:1px}.start-go{border-top:1px solid var(--ink-hair);flex-wrap:wrap;align-items:center;gap:10px 12px;padding-top:18px;display:flex}.start-go .match{margin-left:auto;font-size:.9rem}.play{padding-top:18px}.session{grid-template-columns:minmax(0,1fr);gap:22px;max-width:880px;display:grid}.sheet-msg{justify-items:start;gap:16px;padding:48px 0;display:grid}.sheet-head{grid-template-columns:minmax(0,1fr);gap:12px;scroll-margin-top:80px;display:grid}.rail[data-single]{display:none}.rail{align-items:flex-end;gap:4px;height:18px;margin:0;padding:0;list-style:none;display:flex}.rail li{min-width:3px;max-width:34px;height:9px;box-shadow:inset 0 0 0 1px var(--ink-line);transition:height .2s var(--ease-out), background .2s ease;background:0 0;border-radius:1px;flex:1 1 0}.rail li[data-s=r],.rail li[data-s=a]{background:var(--black);box-shadow:none}.rail li[data-s=w]{background:var(--red);box-shadow:none}.rail li[data-s=p]{background:var(--ink-line);box-shadow:none}.rail li[aria-current=step]{height:18px;box-shadow:inset 0 0 0 2px var(--black)}.sheet-meta{grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:4px 16px;display:grid}.qno{font-size:1.15rem;font-weight:800}.qno .of{color:var(--text-2);font-size:.95rem;font-weight:500}.where{color:var(--ink-strong);min-width:0;font-size:.9rem;font-weight:650}.clock{font-variant-numeric:tabular-nums;color:var(--text-2);text-align:right;min-width:5.5em;font-size:.95rem;font-weight:700}.clock[data-low]{color:var(--red)}.end{min-height:40px;padding:0 10px}@media (width<=560px){.sheet-meta{grid-template-columns:auto auto minmax(0,1fr)}.where{grid-area:2/1/auto/-1}.clock{text-align:left}.end{justify-self:end}}.sheet{grid-template-columns:minmax(0,1fr);gap:22px;display:grid}.prompt{letter-spacing:-.012em;gap:.5em;max-width:34em;font-size:clamp(1.28rem,1.05rem + .9vw,1.72rem);font-weight:600;line-height:1.38;display:grid}.prompt code{font-size:.86em;font-weight:500}.prompt.small{font-size:1.05rem;line-height:1.45}.ex{min-width:0}.answers{grid-template-columns:minmax(0,1fr);gap:10px;display:grid;position:relative}.hint{color:var(--ink-strong);font-size:.85rem;font-weight:650}.opts{border:0;grid-template-columns:minmax(0,1fr);gap:8px;min-width:0;margin:0;padding:0;display:grid}.opt{border:1px solid var(--ink-line);background:var(--paper);cursor:pointer;border-radius:4px;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:14px;padding:13px 16px;transition:border-color .12s,background .12s;display:grid;position:relative}.opt input{opacity:0;pointer-events:none;position:absolute}.opt .bub{margin-top:1px;transition:background .16s,color .16s,border-color .16s}.opt-body{gap:4px;min-width:0;padding-top:1px;display:grid}.opt-text{overflow-wrap:anywhere;font-size:1.02rem;line-height:1.45}.opt:hover{border-color:var(--ink);background:var(--paper-2)}.opt:has(input:focus-visible){outline:2px solid var(--focus);outline-offset:2px}.opt[data-state=on]{border-color:var(--graphite);box-shadow:inset 0 0 0 1px var(--graphite)}.opt[data-state=on] .bub{background:var(--graphite);border-color:var(--graphite);color:var(--paper)}fieldset:disabled .opt{cursor:default}fieldset:disabled .opt:hover{background:var(--paper);border-color:var(--ink-line)}.opt[data-state=hit],.opt[data-state=key]{border-color:var(--graphite)}.opt[data-state=hit] .bub,.opt[data-state=key] .bub{background:var(--graphite);border-color:var(--graphite);color:#0000}.opt[data-state=hit] .bub:after,.opt[data-state=key] .bub:after{content:"";border-left:2px solid var(--paper);border-bottom:2px solid var(--paper);width:9px;height:5px;position:absolute;top:45%;left:50%;transform:translate(-50%,-50%)rotate(-45deg)}.opt[data-state=key] .bub{background:var(--paper);color:#0000;border:2px solid var(--graphite)}.opt[data-state=key] .bub:after{border-color:var(--graphite)}.opt[data-state=miss]{border-color:var(--red)}.opt[data-state=miss] .bub{background:var(--graphite);border-color:var(--graphite);color:var(--paper)}.opt[data-state=miss] .bub:before{content:"";background:var(--red);border-radius:1px;height:2px;position:absolute;top:50%;left:-5px;right:-5px;transform:rotate(-32deg)}.opt[data-state=miss]:before{content:"";background:var(--red);width:7px;height:2px;position:absolute;top:50%;left:-12px}.opt[data-state=rest] .opt-text{color:var(--text-2)}.opt-tag{color:var(--graphite);font-size:.8rem;font-weight:700}.opt-tag.bad{color:var(--red)}.why{color:var(--text-2);font-size:.9rem;line-height:1.45}.why[data-strong]{color:var(--text)}.valuebox{grid-template-columns:minmax(0,1fr);gap:8px;display:grid}.field{align-items:center;gap:10px;max-width:30em;display:flex}.field input,.dfield input{min-width:0;height:52px;font-family:var(--mono);border:1.5px solid var(--ink);background:var(--paper);color:var(--text);border-radius:3px;flex:1;padding:0 14px;font-size:1.15rem;font-weight:500}.field input::placeholder,.dfield input::placeholder{color:color-mix(in oklch, var(--text-2) 82%, var(--paper));font-family:var(--sans);font-size:1rem}.field input:focus,.dfield input:focus{outline:2px solid var(--focus);outline-offset:2px}.unit{color:var(--text-2);font-weight:600}.valuebox[data-state=hit] input,.dfield[data-state=hit] input{border-color:var(--graphite);background:var(--paper-2)}.valuebox[data-state=miss] input,.dfield[data-state=miss] input{border-color:var(--red);text-decoration:line-through;text-decoration-color:var(--red);text-decoration-thickness:2px}.accepted{font-size:.95rem}.accepted strong{font-family:var(--mono)}.orderbox{grid-template-columns:minmax(0,1fr);gap:8px;display:grid}.ord{grid-template-columns:minmax(0,1fr);gap:6px;margin:0;padding:0;list-style:none;display:grid}.ord li{border:1px solid var(--ink-line);background:var(--paper);border-radius:4px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;min-height:52px;padding:8px 8px 8px 14px;display:grid}.ord li[draggable=true]{cursor:grab}.ord li[data-drag]{border-color:var(--graphite);box-shadow:0 6px 18px -8px color-mix(in oklch, var(--text) 40%, transparent)}.ord-text{overflow-wrap:anywhere}.ord-move{gap:4px;display:flex}.ord-move button{border:1px solid var(--ink-line);background:var(--paper);width:40px;height:40px;color:var(--ink-strong);cursor:pointer;border-radius:3px;place-items:center;display:grid}.ord-move button:hover:not(:disabled){border-color:var(--ink);background:var(--paper-2)}.ord-move button:disabled{opacity:.3;cursor:default}.ord-move svg{fill:currentColor;width:16px;height:16px}.ord li[data-state=hit] .bub{background:var(--graphite);border-color:var(--graphite);color:var(--paper)}.ord li[data-state=miss]{border-color:var(--red)}.ord li[data-state=miss] .bub{border-color:var(--red);color:var(--red)}.ord-should{color:var(--red);white-space:nowrap;padding-right:6px;font-size:.85rem;font-weight:650}.openbox{grid-template-columns:minmax(0,1fr);gap:8px;display:grid}.openbox textarea{resize:vertical;border:1.5px solid var(--ink);background:var(--paper);background-image:repeating-linear-gradient(to bottom, transparent 0, transparent calc(1.55em + 11px), var(--ink-hair) calc(1.55em + 11px), var(--ink-hair) calc(1.55em + 12px));border-radius:3px;width:100%;min-height:9.5em;padding:12px 14px;font-size:1.02rem;line-height:1.55}.openbox textarea:focus{outline:2px solid var(--focus);outline-offset:2px}.mic{align-items:center;gap:12px;display:flex}.mic .btn[aria-pressed=true]{background:var(--graphite);color:var(--paper);border-color:var(--graphite)}.live{color:var(--red);align-items:center;gap:6px;font-size:.86rem;font-weight:700;display:inline-flex}.live:before{content:"";background:var(--red);border-radius:50%;width:8px;height:8px;animation:1.2s ease-in-out infinite blink}@keyframes blink{50%{opacity:.25}}.err{color:var(--red);font-size:.9rem}.selfcheck{grid-template-columns:minmax(0,1fr);gap:14px;display:grid}.said{border-left:2px solid var(--ink-line);gap:4px;padding:2px 0 2px 14px;display:grid}.said-text{white-space:pre-wrap;color:var(--text-2);max-width:var(--measure)}.points{border:0;grid-template-columns:minmax(0,1fr);gap:6px;margin:0;padding:0;display:grid}.points legend{max-width:var(--measure);margin-bottom:8px;padding:0}.point{border:1px solid var(--ink-line);cursor:pointer;border-radius:4px;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:12px;padding:10px 14px;display:grid}.point input{opacity:0;pointer-events:none;position:absolute}.point .bub{--w:26px;--h:20px}.point[data-state=on]{border-color:var(--graphite)}.point[data-state=on] .bub{background:var(--graphite);border-color:var(--graphite);color:var(--paper)}.point:has(input:focus-visible){outline:2px solid var(--focus);outline-offset:2px}fieldset:disabled .point{cursor:default}.model{background:var(--paper-2);border:1px solid var(--ink-line);border-radius:4px;grid-template-columns:minmax(0,1fr);gap:8px;padding:16px;display:grid}.answers[data-scan]:after{content:"";background:var(--ink);height:2px;box-shadow:0 1px 6px color-mix(in oklch, var(--ink) 45%, transparent);animation:scan .56s var(--ease-out) forwards;pointer-events:none;position:absolute;top:0;left:-10px;right:-10px}@keyframes scan{0%{opacity:1;top:0}85%{opacity:1}to{opacity:0;top:100%}}.answers[data-scan] .opt .bub,.answers[data-scan] .ord .bub,.answers[data-scan] .dfield input,.answers[data-scan] .field input{animation:.26s ease-out both print;animation-delay:calc(var(--i,0) * 70ms + 80ms)}@keyframes print{0%{opacity:.25;transform:scale(.92)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.answers[data-scan]:after{display:none}}.verdict{border-top:1px solid var(--ink-line);grid-template-columns:minmax(0,1fr);gap:10px;padding-top:18px;display:grid}.v-line{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.v-line strong{letter-spacing:-.015em;font-size:1.35rem;font-weight:800}.verdict:not([data-ok]) .v-line strong{color:var(--red)}.vmark{flex:none;width:34px;height:24px}.explain{color:var(--text)}.working{max-width:var(--measure);gap:4px;margin:0;padding-left:1.3em;display:grid}.actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}@media (width<=560px){.actions{z-index:5;padding:12px var(--gutter) calc(12px + env(safe-area-inset-bottom));margin:0 calc(-1 * var(--gutter));background:color-mix(in oklch, var(--paper) 95%, transparent);border-top:1px solid var(--ink-line);-webkit-backdrop-filter:blur(6px);position:sticky;bottom:0}.actions .btn.primary{flex:1}}.drill-prompt{gap:6px}.mono-big{font-family:var(--mono);letter-spacing:-.01em;overflow-wrap:anywhere;font-size:clamp(1.3rem,1rem + 1.6vw,2.1rem);font-weight:600;display:grid}.fields{grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr));gap:14px 18px}.dfield{gap:6px;display:grid}.dfield label{color:var(--ink-strong);font-size:.86rem;font-weight:650}.dfield input{height:48px;font-size:1.05rem}.results{grid-template-columns:minmax(0,1fr);gap:36px;max-width:880px;padding-top:18px;display:grid}.score{border:1px solid var(--ink-line);background:var(--paper-2);border-radius:4px;grid-template-columns:minmax(0,1fr);gap:14px;padding:22px;display:grid}.score h1{letter-spacing:-.03em;font-size:clamp(2rem,1.4rem + 2.6vw,3.2rem);font-weight:800}.score h1:focus{outline:none}.score-label{color:var(--ink-strong);font-weight:650}.stats{border-top:1px solid var(--ink-line);border-bottom:1px solid var(--ink-line);grid-template-columns:repeat(4,minmax(0,1fr));margin:0;display:grid}.stats div{gap:2px;padding:12px 14px 12px 0;display:grid}.stats div+div{border-left:1px solid var(--ink-hair);padding-left:14px}.stats dt{color:var(--ink-strong);font-size:.8rem;font-weight:650}.stats dd{letter-spacing:-.02em;margin:0;font-size:1.5rem;font-weight:750}.pingline{font-family:var(--mono);color:var(--text-2);overflow-wrap:anywhere;font-size:.82rem}.score-actions{flex-wrap:wrap;gap:10px;display:flex}@media (width<=560px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.stats div:nth-child(3){border-left:0;padding-left:0}.stats div:nth-child(n+3){border-top:1px solid var(--ink-hair)}}.review{grid-template-columns:minmax(0,1fr);gap:12px;display:grid}.review-list{border:1px solid var(--ink-line);border-radius:4px;margin:0;padding:0;list-style:none}.review-list>li+li{border-top:1px solid var(--ink-hair)}.review-list summary{cursor:pointer;grid-template-columns:2em 16px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:48px;padding:11px 14px;list-style:none;display:grid}.review-list summary::-webkit-details-marker{display:none}.review-list summary:hover{background:var(--paper-2)}.rv-no{color:var(--ink-strong);font-size:.88rem;font-weight:700}.rv-mark{border:1px solid var(--ink-line);border-radius:50%;width:14px;height:10px}li[data-s=r] .rv-mark{background:var(--graphite);border-color:var(--graphite)}li[data-s=w] .rv-mark{border-color:var(--red);background:linear-gradient(to top right, transparent calc(50% - .9px), var(--red) calc(50% - .9px), var(--red) calc(50% + .9px), transparent calc(50% + .9px))}li[data-s=p] .rv-mark{border:1.5px dashed var(--ink)}.rv-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}details[open] .rv-text{white-space:normal}.rv-time{font-family:var(--mono);color:var(--text-2);white-space:nowrap;font-size:.85rem}li[data-s=p] .rv-time{color:var(--ink-strong);font-family:var(--sans);font-weight:700}.rv-body{grid-template-columns:minmax(0,1fr);padding:4px 14px 20px calc(2em + 54px);display:grid}.rv-body .opt{padding:10px 12px}@media (width<=560px){.rv-body{padding-left:14px}}.drill-review{gap:4px;margin:0;display:grid}.drill-review div{flex-wrap:wrap;gap:10px;display:flex}.drill-review dt{color:var(--text-2);min-width:11em}.drill-review dd{font-family:var(--mono);margin:0;font-weight:600}.bad{color:var(--red);font-family:var(--sans);font-weight:600}.topic-head{gap:12px}.topic-go{flex-wrap:wrap;gap:10px;display:flex}.covers{border:1px solid var(--ink-line);border-radius:4px;margin:0 0 22px;padding:0 16px}.covers summary{cursor:pointer;color:var(--ink-strong);align-items:center;min-height:46px;font-weight:700;display:flex}.covers ul{columns:2 18em;column-gap:32px;margin:0 0 12px;padding-left:1.2em}.covers li{break-inside:avoid;padding:2px 0}.covers p{margin:0 0 14px}.qlist{border:1px solid var(--ink-line);border-radius:4px;margin:0;padding:0;list-style:none}.qlist>li+li{border-top:1px solid var(--ink-hair)}.qlist>li:nth-child(10n+6),.qlist>li:nth-child(10n+7),.qlist>li:nth-child(10n+8),.qlist>li:nth-child(10n+9),.qlist>li:nth-child(10n+10){background:var(--paper-2)}.qrow{color:var(--text);grid-template-columns:2.2em 14px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:48px;padding:10px 14px;text-decoration:none;display:grid}.qrow:hover{background:var(--paper-3)}.qrow:hover .qrow-text{color:var(--ink-strong)}.qrow-no{color:var(--ink-strong);font-size:.86rem;font-weight:700}.qrow-mark .cell{width:12px;height:9px}.qrow-text{-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.4;display:-webkit-box;overflow:hidden}.qrow-meta{white-space:nowrap;font-size:.82rem}.missed-list .qrow{grid-template-columns:14px minmax(0,1fr) auto}@media (width<=640px){.qrow{grid-template-columns:1.8em 14px minmax(0,1fr)}.qrow-meta{grid-column:3}.missed-list .qrow{grid-template-columns:14px minmax(0,1fr)}.missed-list .qrow-meta{grid-column:2}}.pager{flex-wrap:wrap;justify-content:space-between;gap:16px;margin-top:28px;display:flex}.pager a{padding:8px 0;font-weight:650;text-decoration:none;display:grid}.pager a[rel=next]{text-align:right;margin-left:auto}.covers-all{grid-template-columns:minmax(0,1fr);gap:14px;margin-top:40px;display:grid}.cov-list{grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));gap:22px 32px;margin:0;padding:0;list-style:none;display:grid}.cov-list h3{align-items:baseline;gap:8px;font-size:1rem;display:flex}.cov-list h3 a{color:var(--text);text-decoration:none}.cov-list h3 a:hover{color:var(--ink-strong);text-decoration:underline}.cov-no{color:var(--ink-strong);margin-right:8px;font-size:.86rem}.cov-n{font-size:.85rem;font-weight:600}.cov-list p{margin-top:4px;font-size:.9rem}.missed-list{grid-template-columns:minmax(0,1fr);gap:28px;display:grid}.missed-group{grid-template-columns:minmax(0,1fr);gap:10px;display:grid}.missed-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.drill-list{grid-template-columns:repeat(auto-fill,minmax(min(100%,330px),1fr));gap:14px;margin:0;padding:0;list-style:none;display:grid}.drill-card{border:1px solid var(--ink-line);border-radius:4px;align-content:space-between;gap:16px;padding:18px;display:grid}.drill-sample{font-family:var(--mono);overflow-wrap:anywhere;margin:8px 0 4px;font-weight:600}.drill-go{flex-wrap:wrap;gap:8px;display:flex}.totals{border:1px solid var(--ink-line);background:var(--paper-2);border-radius:4px;grid-template-columns:repeat(4,minmax(0,1fr));margin:0 0 32px;display:grid}.totals div{gap:2px;padding:14px 16px;display:grid}.totals div+div{border-left:1px solid var(--ink-hair)}.totals dt{color:var(--ink-strong);font-size:.82rem;font-weight:650}.totals dd{letter-spacing:-.02em;margin:0;font-size:1.7rem;font-weight:800}@media (width<=640px){.totals{grid-template-columns:repeat(2,minmax(0,1fr))}.totals div:nth-child(3){border-left:0}.totals div:nth-child(n+3){border-top:1px solid var(--ink-hair)}}.hist-sec{grid-template-columns:minmax(0,1fr);gap:12px;margin-bottom:36px;display:grid}.table-wrap{border:1px solid var(--ink-line);border-radius:4px;overflow-x:auto}.hist-table{border-collapse:collapse;width:100%;font-size:.93rem}.hist-table th,.hist-table td{text-align:left;border-bottom:1px solid var(--ink-hair);white-space:nowrap;padding:9px 14px}.hist-table thead th{color:var(--ink-strong);background:var(--paper-2);font-size:.8rem;font-weight:700}.hist-table tbody th{font-weight:600}.hist-table tbody th a{color:var(--text);text-decoration:none}.hist-table tbody th a:hover{color:var(--ink-strong);text-decoration:underline}.hist-table tr:last-child>*{border-bottom:0}.hist-table .r{text-align:right}.sets-table td:nth-child(2){white-space:normal;min-width:12em}label.btn{position:relative}label.btn:has(input:focus-visible){outline:2px solid var(--focus);outline-offset:2px}.skip[data-astro-cid-hkbrpulz]:focus{clip-path:none;z-index:50;background:var(--paper);border:2px solid var(--focus);width:auto;height:auto;padding:8px 12px;position:fixed;top:8px;left:8px}
