:root{--background: oklch(97.5% .005 250);--card: oklch(100% 0 0);--foreground: oklch(21% .03 256);--muted: oklch(96.5% .012 258);--muted-foreground: oklch(52% .02 257);--secondary: oklch(96% .01 256);--secondary-foreground: oklch(30% .04 258);--border: oklch(91% .01 256);--input: oklch(91% .01 256);--ring: oklch(55% .14 258);--primary: oklch(52% .22 262);--primary-hover: oklch(45% .2 262);--primary-foreground: oklch(99% .01 250);--accent: oklch(95.5% .035 262);--accent-foreground: oklch(30% .05 258);--ok: oklch(48% .13 155);--ok-bg: oklch(96% .035 155);--ok-border: oklch(86% .06 155);--ok-dot: oklch(55% .15 155);--warn: oklch(50% .12 82);--warn-bg: oklch(96.5% .045 88);--warn-border: oklch(87% .07 85);--stop: oklch(51% .17 25);--stop-bg: oklch(96.5% .03 25);--stop-border: oklch(88% .05 25);--dim: oklch(45% .015 256);--dim-bg: oklch(96% .006 252);--radius: .65rem;--font-sans: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;color-scheme:light}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--background);color:var(--foreground);font-family:var(--font-sans);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased;min-height:100vh}a{color:var(--primary)}button{font:inherit;color:inherit}h1,h2,h3{text-wrap:balance;margin:0;letter-spacing:-.02em}p{margin:0 0 10px}code,.mono{font-family:var(--font-mono)}.topnav{position:sticky;top:0;z-index:50;border-bottom:1px solid var(--border);background:color-mix(in oklab,var(--card) 85%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.topnav-inner{max-width:80rem;margin:0 auto;height:3.75rem;display:flex;align-items:center;gap:12px;padding:0 16px}@media(min-width:768px){.topnav-inner{padding:0 24px}}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--foreground);flex:none}.brand svg{display:block}.brand b{font-weight:600;font-size:15px;letter-spacing:-.01em}.brand span{color:var(--muted-foreground);font-weight:400}.links{display:flex;align-items:center;gap:2px;flex:1;min-width:0;overflow-x:auto;scrollbar-width:none}.links::-webkit-scrollbar{display:none}.links a{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;text-decoration:none;padding:8px 12px;border-radius:.5rem;font-size:14px;color:var(--muted-foreground);transition:background .15s,color .15s}.links a:hover{background:var(--accent);color:var(--foreground)}.links a.active{background:var(--accent);color:var(--foreground);font-weight:500}.links svg{width:16px;height:16px}.account{position:relative;flex:none}.acct-btn{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-family:inherit;color:var(--muted-foreground);padding:7px 11px;border-radius:999px;border:1px solid var(--border);background:var(--card);cursor:pointer}.acct-btn:hover{color:var(--foreground)}.acct-btn .dot{width:7px;height:7px;border-radius:50%;background:var(--ok-dot);flex:none}.acct-btn .txt{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:12ch}.acct-btn.err{color:var(--warn);border-color:var(--warn-border);background:var(--warn-bg)}.acct-btn.err .dot{background:var(--warn)}.acct-btn.login{color:var(--foreground);font-weight:500}.account .backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40}.account .menu{position:absolute;z-index:41;right:0;top:calc(100% + 8px);min-width:15rem;padding:12px;display:flex;flex-direction:column;gap:8px;align-items:flex-start;background:var(--card);border:1px solid var(--border);border-radius:.75rem;box-shadow:0 12px 32px #0000001f;font-size:13px}.account .menu .who{color:var(--foreground);font-weight:600;overflow-wrap:anywhere}.account .menu .st{color:var(--muted-foreground);font-size:12.5px}@media(max-width:700px){.acct-btn .txt{display:none}.acct-btn{padding:7px}.acct-btn.login .txt{display:inline}}.ext{flex:none;font-size:13px;color:var(--muted-foreground);text-decoration:none;padding:8px 12px;border-radius:.5rem;border:1px solid var(--border);background:var(--card)}.ext:hover{color:var(--foreground)}@media(max-width:560px){.ext,.brand b span{display:none}}main.page{max-width:56rem;margin:0 auto;padding:24px 16px 56px}@media(min-width:768px){main.page{padding:32px 24px 72px}}.footer{border-top:1px solid var(--border);background:var(--card)}.footer-inner{max-width:80rem;margin:0 auto;padding:24px 16px 32px;display:flex;flex-wrap:wrap;gap:14px 32px;align-items:flex-start;font-size:13px;color:var(--muted-foreground)}@media(min-width:768px){.footer-inner{padding:28px 24px 36px}}.footer .disclaimer{flex:1 1 320px;max-width:60ch}.footer .disclaimer b{color:var(--foreground);font-weight:600;display:block;margin-bottom:4px}.footer .cols{display:flex;gap:32px;flex-wrap:wrap}.footer .col h4{margin:0 0 6px;font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--foreground);font-weight:600}.footer .col a{display:block;color:var(--muted-foreground);text-decoration:none;padding:2px 0}.footer .col a:hover{color:var(--primary)}.footer .copy{width:100%;padding-top:12px;border-top:1px solid var(--border);font-size:12px}.eyebrow{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted-foreground);font-weight:600}.muted{color:var(--muted-foreground)}.small{font-size:13px}.error{color:var(--stop)}.spacer{flex:1}.pill{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:500;padding:2px 8px;border-radius:999px;border:1px solid transparent;white-space:nowrap}.pill.warn{background:var(--warn-bg);color:var(--warn);border-color:var(--warn-border)}.pill.acc{background:var(--accent);color:var(--accent-foreground)}.pill.ok{background:var(--ok-bg);color:var(--ok);border-color:var(--ok-border)}.primary,.btn.primary{background:var(--primary);color:var(--primary-foreground);border:1px solid var(--primary)}.primary{padding:9px 16px;border-radius:.5rem;font-weight:500;font-size:14px;cursor:pointer;transition:background .15s}.primary:hover:not(:disabled),.btn.primary:hover{background:var(--primary-hover);border-color:var(--primary-hover)}.primary:disabled{opacity:.5;cursor:default}.ghost{background:var(--card);border:1px solid var(--input);padding:8px 14px;border-radius:.5rem;cursor:pointer;font-size:14px}.ghost:hover:not(:disabled){background:var(--accent)}.ghost:disabled{opacity:.45;cursor:default}.ghost.small{padding:5px 10px;font-size:13px}.ghost.star{font-size:17px;line-height:1;padding:4px 9px}.link{background:none;border:0;padding:0;color:var(--primary);text-decoration:underline;cursor:pointer;font-size:inherit}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:.5rem;text-decoration:none;border:1px solid var(--input);color:var(--foreground);font-weight:500;font-size:14px;background:var(--card);transition:background .15s}.btn:hover{background:var(--accent)}.btn b{font-variant-numeric:tabular-nums;font-weight:600}:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.hero{padding:8px 0 28px}.hero h1{font-size:clamp(26px,4.5vw,34px);font-weight:700;margin:6px 0 10px}.hero .lede{color:var(--muted-foreground);max-width:62ch;font-size:16px}.quick{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.topics{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.topic{display:block;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:16px;text-decoration:none;color:inherit;transition:border-color .15s,box-shadow .15s}.topic:hover{border-color:var(--ring);box-shadow:0 1px 2px #0f19260f}.topic-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.topic h2{font-size:16px;font-weight:600;margin-bottom:4px}.meter{height:6px;background:var(--muted);border-radius:3px;overflow:hidden;margin:12px 0 8px}.meter span{display:block;height:100%;background:var(--primary);border-radius:3px}.stats{display:flex;gap:12px;font-size:13px;color:var(--muted-foreground);font-variant-numeric:tabular-nums}.stats .bad{color:var(--stop)}.foot{margin-top:28px;text-align:center}.bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px}.bar h1{font-size:20px;font-weight:600;flex:1;min-width:0;text-wrap:pretty}.back{text-decoration:none;font-size:14px;color:var(--muted-foreground)}.back:hover{color:var(--primary)}.modes{display:inline-flex;padding:3px;background:var(--muted);border-radius:.5rem;gap:2px}.modes button{background:transparent;border:0;padding:5px 11px;font-size:13px;cursor:pointer;color:var(--muted-foreground);border-radius:.375rem}.modes button.active{background:var(--card);color:var(--foreground);font-weight:500;box-shadow:0 1px 2px #0f192614}.progressline{display:flex;justify-content:space-between;font-size:13px;margin-bottom:8px;font-variant-numeric:tabular-nums;color:var(--muted-foreground)}.actions{display:flex;justify-content:space-between;gap:12px;margin-top:14px}.hint{font-size:12px;text-align:center;margin-top:10px}.timer{font-variant-numeric:tabular-nums;font-weight:600;font-family:var(--font-mono)}.timer.urgent{color:var(--stop)}.dots{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:12px}.dot{width:13px;height:13px;border-radius:50%;border:1.5px solid var(--input);background:var(--card);padding:0;cursor:pointer}.dot.done{background:var(--primary);border-color:var(--primary)}.dot.cur{outline:2px solid var(--foreground);outline-offset:1px}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:18px 20px;margin-bottom:14px}.card.compact{padding:14px 16px}.card-head{display:flex;align-items:center;gap:8px;margin-bottom:8px;flex-wrap:wrap}.card .q{font-size:17px;font-weight:600;line-height:1.45;margin:0 0 14px;letter-spacing:-.01em;text-wrap:pretty}.card.compact .q{font-size:15px;font-weight:500}.opts{display:grid;gap:8px}.opt{display:flex;align-items:flex-start;gap:10px;width:100%;text-align:left;padding:10px 12px;border:1px solid var(--input);border-radius:.5rem;background:var(--card);cursor:pointer;line-height:1.45;font-size:15px;transition:border-color .15s,background .15s}.opt:hover:not(:disabled){border-color:var(--ring);background:var(--accent)}.opt:disabled{cursor:default}.opt .box{flex:none;width:18px;height:18px;border:1.5px solid var(--input);border-radius:5px;display:inline-flex;align-items:center;justify-content:center;font-size:11px;margin-top:2px;color:var(--primary-foreground);background:var(--card)}.opt .letter{flex:none;font-weight:600;color:var(--muted-foreground);width:18px;font-size:14px;margin-top:1px}.opt .text{flex:1}.opt.sel{border-color:var(--primary);background:var(--accent)}.opt.sel .box{background:var(--primary);border-color:var(--primary)}.opt.right{border-color:var(--ok-border);background:var(--ok-bg)}.opt.right .box{background:var(--ok-dot);border-color:var(--ok-dot)}.opt.missed{border-color:var(--ok-dot);border-style:dashed}.opt.wrong{border-color:var(--stop-border);background:var(--stop-bg)}.opt.wrong .box{background:var(--stop);border-color:var(--stop)}.opt.dim{opacity:.55}.tag{flex:none;font-size:11px;font-weight:600;letter-spacing:.02em;padding:2px 8px;border-radius:999px;align-self:center;border:1px solid transparent}.tag.ok{background:var(--ok);color:#fff}.tag.miss{background:var(--ok-bg);color:var(--ok);border-color:var(--ok-border)}.tag.bad{background:var(--stop);color:#fff}.explain{margin-top:16px;padding:14px 16px;background:var(--muted);border-radius:.5rem;border-left:3px solid var(--primary)}.explain-head{display:flex;align-items:center;gap:12px;margin-bottom:6px;flex-wrap:wrap}.explain-head b{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted-foreground)}.explain .answer{font-weight:600;color:var(--ok);font-size:14px}.explain p{margin:0 0 8px}.explain .flagnote{color:var(--warn);font-size:14px}.explain .srcnote{font-size:12.5px;color:var(--muted-foreground);margin:0 0 10px}.refs{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 10px}.ref{font-family:var(--font-mono);font-size:12px;padding:2px 8px;border-radius:.375rem;background:var(--card);border:1px solid var(--border);color:var(--secondary-foreground)}.small-h{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted-foreground);margin:18px 0 8px;font-weight:600}.checks{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px 16px;margin-bottom:14px}.check{display:flex;gap:8px;align-items:center;font-size:14px}.check input{accent-color:var(--primary)}.fields{display:flex;gap:20px;flex-wrap:wrap;margin-bottom:12px}.fields label{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--muted-foreground)}.fields input,.searchbox{font:inherit;padding:8px 10px;border:1px solid var(--input);border-radius:.5rem;background:var(--card);color:var(--foreground)}.fields input{width:120px;font-variant-numeric:tabular-nums}.searchbox{width:100%;font-size:15px;padding:11px 14px;margin-bottom:14px}.searchbox:focus{border-color:var(--ring)}.history{list-style:none;padding:0;margin:0}.history li{display:flex;gap:14px;align-items:baseline;padding:8px 0;border-bottom:1px solid var(--border);font-size:14px;font-variant-numeric:tabular-nums}.history li .muted{flex:1}.result{text-align:center}.result .big{font-size:56px;font-weight:700;letter-spacing:-.03em;font-variant-numeric:tabular-nums;line-height:1.1}.result .big .muted{font-size:28px}.plain{list-style:none;padding:0;margin:0 0 8px;font-size:14px}.plain li{padding:4px 0}.plain li.right{color:var(--ok);font-weight:600}@media(max-width:600px){.bar .modes{flex-basis:100%}.bar h1{font-size:18px}.card{padding:14px}.actions{flex-direction:column-reverse}.actions button{width:100%}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important}}.tabbar{display:none}@media(max-width:700px){.links{display:none}.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:50;display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--border);background:color-mix(in oklab,var(--card) 92%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding-bottom:env(safe-area-inset-bottom)}.tabbar a{display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 4px 7px;font-size:11px;text-decoration:none;color:var(--muted-foreground)}.tabbar a svg{width:22px;height:22px}.tabbar a.active{color:var(--primary);font-weight:500}main.page{padding-bottom:88px}.footer{padding-bottom:64px}.footer.compact .disclaimer,.footer.compact .cols{display:none}.footer.compact .copy{border-top:0;padding-top:0}.footer.compact .footer-inner{padding:14px 16px}}.resume{display:grid;grid-template-columns:1fr auto;grid-template-areas:"eyebrow go" "title go" "meta go";align-items:center;gap:2px 14px;margin:14px 0 4px;padding:14px 16px;border-radius:var(--radius);text-decoration:none;color:inherit;background:var(--accent);border:1px solid color-mix(in oklab,var(--primary) 25%,var(--border));transition:border-color .15s,background .15s}.resume:hover{border-color:var(--ring);background:color-mix(in oklab,var(--accent) 80%,var(--card))}.resume .eyebrow{grid-area:eyebrow;color:var(--primary)}.resume b{grid-area:title;font-size:16px;font-weight:600;letter-spacing:-.01em}.resume .muted{grid-area:meta;font-size:13px;font-variant-numeric:tabular-nums}.resume .go{grid-area:go;font-size:22px;color:var(--primary)}.topic .sources{display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.stats{flex-wrap:wrap}.stats .okc{color:var(--ok);font-weight:500;white-space:nowrap}@media(hover:none)and (pointer:coarse){.hint{display:none}}.chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}.chips.inline{align-self:flex-end;margin-bottom:0}.chip{font:inherit;font-size:13px;padding:5px 11px;border-radius:999px;border:1px solid var(--input);background:var(--card);color:var(--foreground);cursor:pointer;transition:background .15s,border-color .15s}.chip:hover{background:var(--accent)}.chip.on{background:var(--primary);border-color:var(--primary);color:var(--primary-foreground)}.fields{align-items:flex-end}.ref.link{text-decoration:none;color:var(--primary);border-color:color-mix(in oklab,var(--primary) 35%,var(--border))}.ref.link:hover{background:var(--accent)}.reviewbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:14px;padding:10px 14px;margin-bottom:14px;border-radius:var(--radius);background:var(--card);border:1px solid var(--border);font-variant-numeric:tabular-nums}.reviewbar b{color:var(--primary)}.card.empty{text-align:center;padding:28px 20px}.card.empty .btn,.card.empty .ghost{margin-top:6px}.btn b.hot,.stat b.hot{color:var(--primary)}.btn .muted{font-weight:400;margin-left:-2px}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.stat{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;display:flex;flex-direction:column;gap:4px}.stat b{font-size:28px;font-weight:700;letter-spacing:-.02em;line-height:1.1;font-variant-numeric:tabular-nums}.stat b small{font-size:15px;font-weight:500;color:var(--muted-foreground)}.stat .muted{font-size:12.5px}.small-h .normal{text-transform:none;letter-spacing:0;font-weight:400}.chart{display:grid;grid-template-columns:repeat(14,1fr);gap:4px;height:120px;padding:12px 12px 6px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius)}.chart .col{display:flex;flex-direction:column;align-items:stretch;min-width:0}.chart .barwrap{flex:1;display:flex;align-items:flex-end}.chart .barbg{width:100%;background:var(--accent);border-radius:3px 3px 0 0;display:flex;align-items:flex-end;overflow:hidden;min-height:2px}.chart .barok{width:100%;background:var(--primary)}.chart .lbl{font-size:10px;text-align:center;color:var(--muted-foreground);margin-top:4px;font-variant-numeric:tabular-nums}.rows{display:flex;flex-direction:column;gap:6px}.row{display:grid;grid-template-columns:1fr 120px 64px 64px auto;align-items:center;gap:12px;padding:10px 14px;background:var(--card);border:1px solid var(--border);border-radius:.5rem;text-decoration:none;color:inherit;font-size:14px;font-variant-numeric:tabular-nums}.row:hover{border-color:var(--ring)}.row .name{font-weight:500;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row .meter.small-m{margin:0;height:5px}.row .num{color:var(--muted-foreground);text-align:right}.row .acc{font-weight:600;color:var(--ok);text-align:right}.row .acc.low{color:var(--stop)}.row .acc.none{color:var(--muted-foreground);font-weight:400;font-size:12.5px}@media(max-width:600px){.row{grid-template-columns:1fr 56px 56px}.row .meter.small-m,.row .pill{display:none}}.worst{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px;counter-reset:w}.worst li a{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--card);border:1px solid var(--border);border-radius:.5rem;text-decoration:none;color:inherit;font-size:14px}.worst li a:hover{border-color:var(--ring)}.worst .qt{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.worst .cnt{flex:none;font-size:13px;color:var(--muted-foreground);font-variant-numeric:tabular-nums}.worst .cnt b{color:var(--stop)}@media(max-width:600px){.worst .qt{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical}}
