@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-400-normal-CDDApCn2.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-400-normal-CYLoc0-x.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-500-normal-6ng42L7E.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-500-normal-BgVn5rGT.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-600-normal-CuJfVYMP.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-600-normal-Cu4Hd6ag.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-latin-700-normal-Bxkt5Cjx.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-700-normal-Bth3BMcD.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-cyrillic-400-normal-DZqxrq2p.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-400-normal-BTotfTJu.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-cyrillic-500-normal-CocWQlwt.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-500-normal-ByOcLdNv.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-cyrillic-600-normal-71GNu3SW.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-600-normal-BGq0mW3O.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-cyrillic-700-normal-D_uavGvn.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-700-normal-RFb1v-CK.woff)format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-latin-400-normal-V6pRDFza.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-400-normal-6-qcROiO.woff)format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-latin-500-normal-BWZEU5yA.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-500-normal-CJOVTJB7.woff)format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/jetbrains-mono-latin-600-normal-C8RAYTDA.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-600-normal-BfsvjouI.woff)format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/jetbrains-mono-latin-700-normal-BYuf6tUa.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-700-normal-D3wTyLJW.woff)format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-cyrillic-400-normal-BEIGL1Tu.woff2)format("woff2"),url(/assets/jetbrains-mono-cyrillic-400-normal-ugxPyKxw.woff)format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-cyrillic-500-normal-DmUKJPL_.woff2)format("woff2"),url(/assets/jetbrains-mono-cyrillic-500-normal-DJqRU3vO.woff)format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/jetbrains-mono-cyrillic-600-normal-EVf6-Yzo.woff2)format("woff2"),url(/assets/jetbrains-mono-cyrillic-600-normal-8K4wrrwR.woff)format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/jetbrains-mono-cyrillic-700-normal-BWTpRfYl.woff2)format("woff2"),url(/assets/jetbrains-mono-cyrillic-700-normal-CEoEElIJ.woff)format("woff")}:root{--bg:#0f1115;--bar:#13161c;--surface:#171a21;--sunk:#1e232c;--line:#262b35;--line-strong:#333a46;--fg:#e6e8ec;--muted:#a9b1bf;--faint:#8c95a4;--accent:#f5c451;--accent-ink:#0f1115;--accent-soft:#2a2414;--info:#7cc4ff;--info-soft:#14222e;--ok:#4ade80;--ok-soft:#13261b;--warn:#ffb86b;--warn-soft:#2a2014;--bad:#ff8a5c;--bad-soft:#2a1a14;--code-bg:#0a0c10;--code-fg:#e6e8ec;--body:"IBM Plex Sans", "Segoe UI", system-ui, sans-serif;--display:var(--body);--mono:"JetBrains Mono", ui-monospace, Consolas, monospace;--radius:10px;--tap:40px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (pointer:coarse){:root{--tap:44px}}*{box-sizing:border-box}[hidden]{display:none!important}html{-webkit-text-size-adjust:100%;touch-action:pan-x pan-y}body{background:var(--bg);color:var(--fg);font:15px/1.55 var(--body);margin:0;overflow-x:hidden}a{color:var(--info)}a:hover{color:#b3dcff}.wrap{max-width:1200px;margin:0 auto;padding:24px 24px 48px}@media (width<=720px){.wrap{padding:16px 16px 32px}}.prerender{max-width:820px;margin:0 auto;padding:24px 16px 48px}.prerender h2{margin:28px 0 8px}h1{font:600 clamp(24px, 4vw, 30px)/1.2 var(--display);letter-spacing:-.01em;margin:0}h2{font:600 17px/1.35 var(--display);text-wrap:balance;margin:0 0 12px}h3{font:500 12px var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0 0 8px}.sub{color:var(--muted);max-width:70ch;margin:6px 0 14px}.mono{font-family:var(--mono)}.prompt{font:13px var(--mono);color:var(--muted);margin:0 0 6px}.tabs{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-bottom:18px;display:grid}@media (width<=900px){.tabs{grid-template-columns:repeat(2,minmax(0,1fr))}}.tab{text-align:left;background:var(--surface);border:1px solid var(--line);cursor:pointer;color:var(--fg);font:inherit;border-radius:8px;gap:2px;min-width:0;padding:10px 12px;display:grid}.tab:hover{border-color:var(--line-strong)}.tab b{font:600 15px var(--body)}.tab small{color:var(--muted);font:12px var(--mono);font-variant-numeric:tabular-nums}.tab[aria-selected=true]{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.mini{background:var(--line);border-radius:2px;height:4px;margin-top:6px;display:flex;overflow:hidden}.mini span{height:100%}.group{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:10px;display:flex}.group>span{font:12px var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);flex:none;width:80px}@media (width<=560px){.group>span{width:100%}}.chip{font:500 13px var(--mono);border:1px solid var(--line-strong);color:var(--fg);cursor:pointer;background:0 0;border-radius:6px;min-height:32px;padding:4px 10px}@media (pointer:coarse){.chip{min-height:40px}}.chip:hover{border-color:var(--muted)}.chip[aria-pressed=true]{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);min-width:0;padding:20px}@media (width<=560px){.card{padding:16px}}.meta{font:12px var(--mono);color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:12px;display:flex}.tag,.lvl{border:1px solid var(--line-strong);border-radius:4px;padding:2px 8px}.tag{color:var(--fg)}pre{background:var(--code-bg);color:var(--code-fg);border:1px solid var(--line);font:13.5px/1.6 var(--mono);border-radius:8px;margin:0 0 14px;padding:14px 16px;overflow-x:auto}code{font:.9em var(--mono);background:var(--code-bg);color:#c3e88d;overflow-wrap:anywhere;border-radius:4px;padding:1px 5px}pre code{color:inherit;overflow-wrap:normal;background:0 0;padding:0}.top{font:13px var(--mono);color:var(--muted);font-variant-numeric:tabular-nums;flex-wrap:wrap;justify-content:space-between;gap:10px;margin-bottom:8px;display:flex}.bar{background:var(--line);border-radius:3px;gap:2px;height:6px;margin-bottom:16px;display:flex;overflow:hidden}.bar span{height:100%}.opts{grid-template-columns:minmax(0,1fr);gap:10px;display:grid}.opt{text-align:left;font:15px/1.45 var(--body);background:var(--surface);color:var(--fg);border:1px solid var(--line-strong);cursor:pointer;border-radius:8px;align-items:flex-start;gap:12px;width:100%;min-height:52px;padding:12px 14px;display:flex}.opt:hover:not(:disabled){border-color:var(--muted);background:var(--sunk)}.opt b{border:1px solid var(--line-strong);width:26px;height:26px;font:500 13px var(--mono);color:var(--muted);border-radius:4px;flex:none;justify-content:center;align-items:center;display:inline-flex}.opt span{scrollbar-width:thin;flex:1;min-width:0;padding-top:2px;overflow-x:auto}.opt{min-width:0;max-width:100%}.opt code{white-space:nowrap;overflow-wrap:normal}.opt.right,.opt.wrong{position:relative}.opt.right:after,.opt.wrong:after{font:600 12px var(--mono);flex:none;padding-top:5px}.opt.right{background:var(--ok-soft);border-color:var(--ok)}.opt.right b,.opt.right:after{color:var(--ok);border-color:var(--ok)}.opt.right:after{content:"PASS"}.opt.wrong{background:var(--bad-soft);border-color:var(--bad)}.opt.wrong b,.opt.wrong:after{color:var(--bad);border-color:var(--bad)}.opt.wrong:after{content:"FAIL"}.opt:disabled{cursor:default}.ex{background:var(--bar);border:1px solid var(--line);border-radius:8px;margin-top:16px;padding:14px 16px}.verdict{font:600 14px var(--mono);margin-bottom:6px}.verdict.y{color:var(--ok)}.verdict.n{color:var(--bad)}.verdict.s{color:var(--warn)}.golink{color:var(--info);margin-top:8px;font-weight:600;text-decoration:none;display:inline-block}.golink:hover{text-decoration:underline}.actions{flex-wrap:wrap;justify-content:space-between;gap:8px;margin-top:16px;display:flex}.actions .left{flex-wrap:wrap;gap:8px;display:flex}.btn{font:600 14px var(--body);min-height:var(--tap);cursor:pointer;border:1px solid var(--line-strong);color:var(--fg);background:0 0;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:8px 16px;text-decoration:none;display:inline-flex}.btn:hover:not(:disabled){border-color:var(--muted);color:var(--fg)}.btn.sm{min-height:34px;padding:4px 12px;font-size:13px}@media (pointer:coarse){.btn.sm{min-height:40px}}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn.primary:hover:not(:disabled){color:var(--accent-ink);background:#ffd57a;border-color:#ffd57a}.btn.ghost{color:var(--muted);border-style:dashed}.btn:disabled{opacity:.45;cursor:default}button:focus-visible,textarea:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.big{font:700 48px/1 var(--mono);font-variant-numeric:tabular-nums;margin:4px 0 8px}table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:14px}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:8px}th{font:500 12px var(--mono);text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.tw{margin:14px 0;overflow-x:auto}.weak{color:var(--bad);font-weight:600}.note{color:var(--muted);font-size:13px}.say{background:var(--code-bg);border:1px solid var(--line);border-radius:8px;margin:0 0 12px;padding:12px 14px}.cmp{background:var(--sunk);border-radius:8px;margin:0 0 12px;padding:10px 12px;font-size:14px}.cmp p{margin:6px 0 0}.fbtns{flex-wrap:wrap;gap:8px;display:flex}.backup textarea{resize:vertical;background:var(--code-bg);width:100%;min-height:140px;color:var(--code-fg);border:1px solid var(--line);font:12px/1.5 var(--mono);border-radius:10px;padding:12px}@media (prefers-reduced-motion:no-preference){.chip,.btn,.tab,.opt,.rate button{transition:background .15s,border-color .15s}}.lvlbar{background:var(--line);border-radius:3px;height:6px;overflow:hidden}.lvlbar span{border-radius:3px;height:100%;display:block}.two{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:20px;display:grid}@media (width<=860px){.two{grid-template-columns:minmax(0,1fr)}}.legend{color:var(--muted);font-size:13px}.rq{font:600 21px/1.4 var(--display);text-wrap:balance;margin:0 0 14px}@media (width<=560px){.rq{font-size:19px}}.ans{border-top:1px dashed var(--line-strong);margin-top:14px;padding-top:14px}.ans p{margin:0 0 10px}.rate{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin-top:12px;display:grid}@media (width<=560px){.rate{gap:4px}.rate small{font-size:10px;line-height:1.15}}.rate button{font:600 18px var(--mono);color:var(--fg);border:1px solid var(--line-strong);cursor:pointer;background:0 0;border-radius:8px;align-content:center;justify-items:center;gap:2px;min-height:52px;padding:8px 4px;display:grid}.rate button small{font:500 11.5px var(--body);color:var(--muted);text-align:center}.rate .r1,.rate .r2{color:var(--bad)}.rate .r3{color:var(--warn)}.rate .r4,.rate .r5{color:var(--ok)}.rate .r1:hover,.rate .r2:hover{background:var(--bad-soft);border-color:var(--bad)}.rate .r3:hover{background:var(--warn-soft);border-color:var(--warn)}.rate .r4:hover,.rate .r5:hover{background:var(--ok-soft);border-color:var(--ok)}.kb{grid-template-columns:280px minmax(0,1fr);align-items:start;gap:20px;display:grid}@media (width<=860px){.kb{grid-template-columns:minmax(0,1fr)}.side{display:none}}.side{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);max-height:calc(100vh - 92px);padding:10px;position:sticky;top:76px;overflow:auto}.side details{margin-bottom:2px}.side summary{font:600 14px var(--body);cursor:pointer;border-radius:6px;padding:6px}.side a{color:var(--muted);border-radius:6px;padding:5px 8px 5px 16px;font-size:13.5px;line-height:1.35;text-decoration:none;display:block}.side a:hover{background:var(--sunk);color:var(--fg)}.side a[aria-current=page]{background:var(--accent-soft);color:var(--accent);font-weight:600}.kbtop{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.kbtop input,.kbsel{font:15px var(--body);min-height:var(--tap);border:1px solid var(--line-strong);background:var(--code-bg);color:var(--fg);border-radius:8px;padding:8px 12px}.kbtop input{flex:240px;min-width:0}.kbsel{width:100%;margin-bottom:10px;display:none}@media (width<=860px){.kbsel{display:block}}.art{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);margin-bottom:8px}.art>summary{cursor:pointer;font:600 15.5px/1.4 var(--body);justify-content:space-between;align-items:baseline;gap:8px;padding:12px 16px;display:flex}.art>summary .st{font:500 12px var(--mono);color:var(--muted);flex:none}.art .body{border-top:1px solid var(--line);padding:14px 16px 6px}.art .body p,.art .body ul,.art .body ol{margin:0 0 12px}.art .body ul,.art .body ol{padding-left:22px}.art .body li{margin-bottom:4px}.art .body h4{font:600 15px var(--body);margin:16px 0 6px}.art.hit{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.res a{color:var(--fg);border-bottom:1px solid var(--line);padding:10px;text-decoration:none;display:block}.res a:hover{background:var(--sunk)}.res small{color:var(--muted);font-size:12.5px;display:block}mark{background:var(--accent-soft);color:var(--accent);padding:0 1px}.shell{min-height:100dvh;display:flex}.shell-main{flex-direction:column;flex:1;min-width:0;display:flex}.shell-main>.wrap{flex:1 0 auto;width:100%;padding-inline:32px}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.logo{font:700 16px var(--mono);color:var(--fg);white-space:nowrap;text-decoration:none}.logo:hover{color:var(--fg)}.logo .dollar{color:var(--accent)}.appside{z-index:25;background:var(--surface);border-right:1px solid var(--line);flex-direction:column;flex:none;align-self:flex-start;width:232px;height:100dvh;padding:16px 12px;display:flex;position:sticky;top:0;overflow-y:auto}.appside .logo{padding:4px 10px 8px;font-size:18px;display:block}.appside-nav,.appside-foot{flex-direction:column;gap:2px;display:flex}.appside-foot{margin-top:auto}.grp{font:500 11px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0;padding:14px 10px 6px}.snav{min-height:var(--tap);color:var(--muted);font:500 14px var(--body);border-radius:6px;align-items:center;gap:10px;padding:0 10px;text-decoration:none;display:flex;position:relative}.snav svg{flex:none}.snav:hover{color:var(--fg);background:var(--sunk)}.snav[aria-current=page]{color:var(--fg);background:var(--sunk);box-shadow:inset 3px 0 0 var(--accent)}.cnt{background:var(--accent);min-width:20px;height:20px;color:var(--accent-ink);font:700 11px var(--mono);border-radius:10px;justify-content:center;align-items:center;padding:0 6px;display:inline-flex}.snav .cnt{margin-left:auto}.appside-lang{margin:8px 10px;display:flex}.appside-lang button{min-width:0;height:var(--tap);flex:1}.prof{border-top:1px solid var(--line);align-items:center;gap:8px;margin-top:8px;padding:10px 0 0 10px;display:flex}.prof-link{min-width:0;min-height:44px;color:var(--fg);border-radius:6px;flex:1;align-items:center;gap:10px;text-decoration:none;display:flex}.prof-link:hover{color:var(--fg)}.avatar{border:1px solid var(--accent);background:var(--line);width:34px;height:34px;color:var(--accent);font:700 12px var(--mono);border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.prof-link[aria-current=page] .avatar{background:var(--accent-soft)}.pn{flex:1;min-width:0;line-height:1.25;display:grid}.pn b{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.pn small{color:var(--muted);font-size:12px}.topbar{z-index:20;background:var(--bar);border-bottom:1px solid var(--line);position:sticky;top:0}.topbar-in{justify-content:space-between;align-items:center;gap:16px;height:60px;padding:0 32px;display:flex}.crumb{font:13px var(--mono);color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin:0;overflow:hidden}.crumb b{color:var(--fg);font-weight:500}.tr{align-items:center;gap:20px;display:flex}.lscale{width:210px;position:relative}.lscale-in{text-align:left;width:100%;font:inherit;color:inherit;background:0 0;border:0;margin:0;padding:0;text-decoration:none;display:block}.lscale-in:hover{color:inherit}.lscale-t{font:700 12px/1.2 var(--mono);color:var(--accent);white-space:nowrap;display:block}.lscale-t .hide-sm{color:var(--fg);font-weight:500}.lscale .lvlbar{border-radius:2px;height:4px;margin-top:5px;display:block}.lscale .lvlbar span{border-radius:2px}.lscale-tip{z-index:26;background:var(--sunk);border:1px solid var(--line-strong);font:400 12px/1.4 var(--mono);color:var(--fg);white-space:nowrap;border-radius:6px;margin-top:8px;padding:8px 10px;display:none;position:absolute;top:100%;left:0}.lscale[data-mode=link]:hover .lscale-tip,.lscale[data-mode=link]:focus-within .lscale-tip,.lscale[data-open=true] .lscale-tip{display:block}.streak{border:1px solid var(--line);background:var(--surface);font:12px var(--mono);color:var(--faint);white-space:nowrap;border-radius:16px;align-items:center;gap:6px;padding:6px 12px;display:inline-flex}.streak.on{color:var(--warn)}.iconbtn{border:1px solid var(--line);width:44px;height:44px;color:var(--muted);cursor:pointer;background:0 0;border-radius:6px;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.iconbtn:hover{color:var(--bad);border-color:var(--bad)}@media (width>=721px) and (width<=1023px){.appside{align-items:center;width:64px;padding:14px 0}.appside .logo{padding:4px 0 8px;font-size:15px}.logo .full{display:none}.appside-nav,.appside-foot{align-items:center}.grp{background:var(--line);width:32px;height:1px;margin:8px 0;padding:0;font-size:0;overflow:hidden}.snav{justify-content:center;width:44px;padding:0}.snav .lbl{display:none}.snav .cnt{min-width:17px;height:17px;margin:0;padding:0 4px;font-size:10px;position:absolute;top:2px;right:0}.appside-lang{flex-direction:column;width:44px;margin:6px 0}.appside-lang button{flex:none;width:100%;padding:0}.appside-lang button+button{border-left:0;border-top:1px solid var(--line-strong)}.prof{border-top:0;flex-direction:column;gap:6px;margin-top:6px;padding:8px 0 0}.prof-link{flex:none;justify-content:center;width:44px}.pn{display:none}.shell-main>.wrap,.topbar-in{padding-inline:24px}.lscale{width:190px}.tr{gap:14px}}@media (width<=720px){.shell-main>.wrap{padding-inline:16px}.topbar-in{gap:14px;height:56px;padding:0 16px}.topbar-in .logo{flex:1;min-width:0}.tr{gap:14px}.lscale{width:80px;position:static}.lscale-in{cursor:pointer;flex-direction:column;justify-content:center;min-height:44px;display:flex}.lscale-t{font-size:11px}.lscale .lvlbar{margin-top:4px}.lscale-tip{margin:0;top:52px;left:auto;right:16px}.streak{background:0 0;border:0;gap:4px;padding:0}.hide-sm{display:none}body{padding-bottom:calc(64px + env(safe-area-inset-bottom))}}.mtabs{z-index:30;height:calc(64px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--surface);border-top:1px solid var(--line);grid-template-columns:repeat(5,minmax(0,1fr));display:grid;position:fixed;inset:auto 0 0}.mtabs a,.mtabs button{min-height:44px;color:var(--muted);font:10px var(--mono);cursor:pointer;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:3px;margin:0;padding:0;text-decoration:none;display:flex;position:relative}.mtabs a[aria-current=page],.mtabs button.on{color:var(--accent);box-shadow:inset 0 2px 0 var(--accent)}.mtabs .cnt{min-width:16px;height:16px;padding:0 4px;font-size:10px;position:absolute;top:6px;left:calc(50% + 6px)}.sheet-scrim{inset:0 0 calc(64px + env(safe-area-inset-bottom)) 0;z-index:29;background:#050608b8;position:fixed}.sheet{left:0;right:0;bottom:calc(64px + env(safe-area-inset-bottom));z-index:31;max-height:calc(100dvh - 64px - env(safe-area-inset-bottom) - 24px);background:var(--surface);border:1px solid var(--line);border-bottom:0;border-radius:16px 16px 0 0;outline:none;padding:8px 16px 12px;position:fixed;overflow-y:auto}.grab{background:var(--line-strong);border-radius:2px;width:40px;height:4px;margin:0 auto 10px}.sh{font:700 13px var(--mono);color:var(--muted);margin:0;padding:4px 0 8px}.sheet .it{border:0;border-bottom:1px solid var(--line);width:100%;min-height:52px;color:var(--fg);font:500 15px var(--body);text-align:left;cursor:pointer;background:0 0;border-radius:0;align-items:center;gap:14px;margin:0;padding:0;text-decoration:none;display:flex}.sheet .it svg{color:var(--muted)}.sheet .it-t{flex:1;min-width:0}.sheet .chv{display:inline-flex}.sheet .it[aria-current=page]{color:var(--accent)}.sheet .it.out{color:var(--bad);border-bottom:0}.sheet .it.out svg{color:var(--bad)}.sheet .it-lang{cursor:default}.sheet .langsw button{min-width:48px;height:40px}.acct{color:var(--muted);align-items:baseline;gap:10px;margin:0 0 20px;font-size:13px;display:flex}.dot{border-radius:50%;flex:none;width:8px;height:8px;transform:translateY(-1px)}.dot.ok{background:var(--ok)}.dot.warn{background:var(--warn)}.err{color:var(--bad);margin-top:10px;font-size:14px}.xpgain{font:600 13px var(--mono);color:var(--ok);margin-left:8px}.linkbtn{font:inherit;color:var(--info);cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.authcard{max-width:460px;margin:0 auto}.form{gap:14px;display:grid}.form label{font:12px var(--mono);color:var(--muted);gap:6px;display:grid}.form input,.form select{font:15px var(--body);min-height:var(--tap);border:1px solid var(--line-strong);background:var(--code-bg);color:var(--fg);border-radius:8px;padding:9px 12px}@media (pointer:coarse){.form input,.form select,.kbtop input,.kbsel{font-size:16px}}.form .actions{align-items:center}.form label.check{min-height:var(--tap);font:14px var(--body);color:var(--fg);cursor:pointer;align-items:flex-start;gap:10px;display:flex}.form label.check input{width:20px;height:20px;min-height:0;accent-color:var(--accent);cursor:pointer;flex:none;margin:1px 0 0;padding:0}.form label.check small{color:var(--muted);margin-top:2px;font-size:12px;display:block}.btn.google{background:var(--sunk);width:100%}.or{text-align:center;font:12px var(--mono);color:var(--muted);margin:14px 0}.importcard{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);margin-bottom:20px}.toasts{z-index:30;gap:8px;max-width:min(380px,100vw - 32px);display:grid;position:fixed;bottom:16px;right:16px}@media (width<=720px){.toasts{max-width:none;left:16px;right:16px;bottom:calc(72px + env(safe-area-inset-bottom))}}.toast{background:var(--sunk);color:var(--fg);border:1px solid var(--ok);font:13.5px var(--mono);border-radius:8px;padding:10px 14px;box-shadow:0 8px 24px #0006}.toast.level{border-color:var(--accent);color:var(--accent);font-weight:600}@media (prefers-reduced-motion:no-preference){.toast{animation:.18s ease-out toast-in}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}}}.badge{font:600 11px var(--mono);text-transform:uppercase;letter-spacing:.05em;border:1px solid;border-radius:4px;padding:1px 6px}.badge.gold{color:#f5c451}.badge.silver{color:#c9d1dc}.badge.bronze{color:#e0a070}.xpchart-plot{max-width:760px;margin:8px 0;position:relative}.xpchart svg{width:100%;height:auto;display:block}.xpchart .axis{stroke:var(--line);stroke-width:1px}.xpchart .grid{stroke:var(--sunk);stroke-width:1px}.xpchart .tick{fill:var(--muted);font:11px var(--body);font-variant-numeric:tabular-nums}.xpchart .tick.strong{fill:var(--fg);font-weight:600}.xpchart .bar{fill:var(--accent)}.xpchart .bar.on{opacity:.75}.xpchart rect:focus-visible{outline:2px solid var(--accent)}.xpchart .hero{font:700 22px var(--mono);color:var(--fg)}.xptip{background:var(--surface);border:1px solid var(--line);pointer-events:none;white-space:nowrap;border-radius:8px;gap:2px;padding:6px 10px;font-size:12.5px;display:grid;position:absolute;top:0;transform:translate(-50%,-4px);box-shadow:0 4px 14px #00000026}.profile-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));align-items:start;gap:14px;display:grid}.stats{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;margin-bottom:14px;display:grid}.stats div{gap:2px;display:grid}.stats b{font:700 24px/1.1 var(--mono);font-variant-numeric:tabular-nums}.stats span{color:var(--muted);font-size:12.5px}.danger{border-color:var(--bad)}.form select{font:15px var(--body);border:1px solid var(--line);background:var(--surface);color:var(--fg);border-radius:8px;padding:9px 12px}.ok-msg{color:var(--ok);font-size:14px}.ok{color:var(--ok)}.warn{color:var(--warn)}.bad{color:var(--bad)}.info{color:var(--info)}.dash{gap:20px;display:grid}.card.today{padding:0;overflow:hidden}.today-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.today-head h2{font:700 13px var(--mono);margin:0}.rchip{border:1px solid var(--line);background:var(--bg);font:700 11px var(--mono);color:var(--muted);white-space:nowrap;border-radius:4px;flex:none;padding:3px 7px}.rchip.run,.task.run .st{color:var(--warn)}.rchip.pass,.task.pass .st{color:var(--ok)}.tasks,.wl{margin:0;padding:0;list-style:none}.task{border-bottom:1px solid var(--line);grid-template-columns:52px minmax(0,1fr) auto;grid-template-areas:"st t go""st meta go";align-items:center;gap:2px 12px;min-height:56px;padding:8px 16px;display:grid}.task .st{text-align:center;grid-area:st}.task .t{grid-area:t;font-weight:500;line-height:1.3}.task .meta2{font:12px var(--mono);color:var(--muted);grid-area:meta;gap:12px;display:flex}.task .go{border-color:var(--accent);color:var(--accent);grid-area:go}.task .go:hover:not(:disabled){color:#ffd57a;border-color:#ffd57a}.task.pass .t{color:var(--muted)}.today-foot{font:12px var(--mono);color:var(--muted);justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.today .runline{margin:0;padding:0 16px;font-size:12px}.today .note{margin:4px 0 0;padding:0 16px 14px}.failing .count{font:400 12px var(--mono);color:var(--bad);margin-left:6px}.dash-pair{align-items:stretch}.dash-pair.open{align-items:start}.dash-pair>.card{flex-direction:column;display:flex}.dash-pair .tasks,.dash-pair .wl{flex-direction:column;flex:auto;display:flex}.dash-pair .task,.dash-pair .wi{flex:auto;align-content:center}.dash-pair .wl.short .wi{flex:none}.weak-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 12px;margin-bottom:8px;display:flex}.weak-head h2{margin:0}.wi{border-bottom:1px solid var(--line);grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:2px 12px;padding:10px 0;display:grid}.wi:last-child{border-bottom:0}.wi .mark{font:600 13px var(--mono);white-space:nowrap;grid-row:1/span 2}.wi .t{font-weight:500}.wi .s{color:var(--muted);grid-column:2;font-size:12.5px}.wi .b{flex-wrap:wrap;grid-area:1/3/span 2;justify-content:flex-end;gap:6px;display:flex}@media (width<=420px){.wi{grid-template-columns:56px minmax(0,1fr)}.wi .b{grid-area:auto/2;justify-content:flex-start;margin-top:6px}}.specs{padding:0;overflow:hidden}.specs-head{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 12px;padding:16px 20px;display:flex}.specs-head h2{margin:0}.spec{border-bottom:1px solid var(--line);grid-template-columns:minmax(150px,1.3fr) minmax(130px,1.2fr) minmax(130px,1.2fr) minmax(90px,.7fr) 212px;align-items:center;gap:8px 20px;padding:12px 20px;display:grid}.spec-cols{font:11px var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding-block:8px}.spec .nm{min-width:0;display:grid}.spec .nm b{font:600 14px var(--mono);overflow-wrap:anywhere}.spec .nm small{color:var(--muted);font-size:12.5px}.spec .lbl-sm{display:none}.meter{align-items:center;gap:10px;display:flex}.meter .lvlbar{flex:1}.meter .v{font:12px var(--mono);color:var(--muted);font-variant-numeric:tabular-nums;min-width:56px}.spec .lv{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.spec .lv b{font:700 16px var(--mono)}.spec .lv .none{font:12px var(--mono);color:var(--faint)}.spec .lnk{justify-content:flex-end;gap:6px;display:flex}@media (width<=900px){.spec-cols{display:none}.spec{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"nm nm""qz rc""lnk lnk";gap:10px 16px;padding:16px;position:relative}.spec .nm{grid-area:nm;padding-right:104px}.spec .qz{grid-area:qz}.spec .rc{grid-area:rc}.spec .lv{justify-content:flex-end;position:absolute;top:16px;right:16px}.spec .lnk{grid-area:lnk;justify-content:flex-start}.spec .lnk .btn{flex:1}.spec .lbl-sm{font:11px var(--mono);color:var(--muted);margin-bottom:4px;display:block}.meter .v{min-width:0}}.howto{padding:12px 20px 4px}.howto summary{cursor:pointer;font:13px var(--mono);color:var(--muted);align-items:center;min-height:32px;display:flex}.meta .k{color:var(--faint)}@media (width<=720px){.tabs{scroll-snap-type:x proximity;scrollbar-width:none;margin-inline:-16px;padding:0 16px 4px;display:flex;overflow-x:auto}.tabs .tab{scroll-snap-align:start;flex:none;width:160px}.tabs .desc{display:none}.qactions{bottom:calc(64px + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--line);border-radius:0 0 var(--radius) var(--radius);grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:16px -16px -16px;padding:12px 16px;display:grid;position:sticky}.qactions .left{display:contents}.qactions>span:empty{display:none}.qactions .btn{text-align:center;width:100%;padding-inline:8px}.qactions .btn.primary{order:-1}.rate{bottom:calc(64px + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--line);border-radius:0 0 var(--radius) var(--radius);margin:12px -16px -16px;padding:12px 16px;position:sticky}}@media (width<=560px){.form .btn.primary{width:100%}}.site-footer{border-top:1px solid var(--line);background:var(--bar);margin-top:40px}.footer-in{grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr);gap:24px 40px;max-width:1200px;margin:0 auto;padding:28px 24px 32px;display:grid}.footer-brand{align-content:start;gap:8px;display:grid}.footer-brand .note{max-width:42ch;margin:0}.footer-tg{min-height:32px;color:var(--accent);font:14px var(--mono);justify-self:start;align-items:center;gap:8px;text-decoration:none;display:inline-flex}.footer-tg:hover{text-decoration:underline}@media (pointer:coarse){.footer-tg{min-height:44px}}.footer-brand .keys{font:12px var(--mono);color:var(--muted);margin:4px 0 0}.kbd{border:1px solid var(--line-strong);color:var(--fg);border-radius:4px;margin-right:4px;padding:1px 6px}@media (pointer:coarse){.footer-brand .keys{display:none}}.footer-col{align-content:start;gap:2px;display:grid}.footer-col h3{margin-bottom:6px}.footer-col a{color:var(--muted);padding:4px 0;font-size:14px;text-decoration:none}.footer-col a:hover{color:var(--fg)}@media (width<=720px){.footer-in{grid-template-columns:minmax(0,1fr) minmax(0,1fr);padding:24px 16px}.footer-brand{grid-column:1/-1}.footer-col a{padding:8px 0}}.ticon{flex:none}.spec .nm{grid-template-columns:32px minmax(0,1fr);align-items:center;column-gap:12px}.spec .nm .ibox{grid-row:1/span 2}.ibox{border:1px solid var(--line-strong);background:var(--sunk);width:32px;height:32px;color:var(--accent);border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.tab .tname{align-items:center;gap:8px;display:flex}.tab .tname .ticon{color:var(--accent)}.side summary .ticon{color:var(--accent);vertical-align:-3px;margin-right:8px}.morebtn{width:100%;margin-top:10px}.tutorial section>h2{margin-bottom:14px}.steps{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin:0;padding:0;list-style:none;display:grid}.step{align-content:start;gap:10px;display:grid}.step p{color:var(--muted);margin:0;font-size:14px}.step .btn{justify-self:start}.step-head{align-items:center;gap:10px;display:flex}.step-n{color:var(--faint);font-size:12px}.step-t,.case-t{font:600 16px var(--body);text-transform:none;letter-spacing:0;color:var(--fg);margin:0}.cases{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;display:grid}.case .note{margin:4px 0 10px}.case ol,.rules{gap:8px;margin:0;padding-left:20px;font-size:14px;display:grid}.case ol li::marker{font-family:var(--mono);color:var(--accent)}.rules .badge{vertical-align:1px}.errpage{gap:10px;max-width:640px;margin:24px auto;display:grid}.errpage h1{font-size:24px}.errpage .note{margin:0}.errline{white-space:pre-wrap;overflow-wrap:anywhere;margin:4px 0 0}.langsw{border:1px solid var(--line-strong);border-radius:8px;justify-self:start;display:inline-flex;overflow:hidden}.langsw button{font:600 12px var(--mono);min-width:40px;height:36px;color:var(--muted);cursor:pointer;background:0 0;border:0;padding:0 8px}.langsw button+button{border-left:1px solid var(--line-strong)}.langsw button[aria-pressed=true]{background:var(--accent-soft);color:var(--accent)}.langsw button:hover:not([aria-pressed=true]){color:var(--fg)}.footer-brand .langsw{margin-top:6px}.card.loading{align-items:center;gap:12px;display:flex}.spinner{border:2px solid var(--line-strong);border-top-color:var(--accent);border-radius:50%;flex:none;width:20px;height:20px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner{animation-duration:2.4s}}@media (pointer:coarse){.footer-brand .langsw button{min-width:52px;height:44px}}.kbland{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;display:grid}.kbtopic{border:1px solid var(--line);border-radius:var(--radius);background:var(--bar);color:var(--fg);align-items:center;gap:12px;padding:14px;text-decoration:none;display:flex}.kbtopic:hover{border-color:var(--accent);color:var(--fg)}.kbtopic b{display:block}.kbtopic small{font:12px var(--mono);color:var(--muted);display:block}.cold{z-index:100;background:var(--bg);position:fixed;inset:0;overflow-y:auto}.cold-in{flex-direction:column;gap:24px;max-width:560px;min-height:100%;margin:0 auto;padding:56px 16px 24px;display:flex}.cold-logo{font:700 18px var(--mono)}.cold-logo span{color:var(--accent)}.cold-head h1{margin:0 0 10px;font-size:28px;line-height:1.15}.cold-head p{color:var(--muted);margin:0;font-size:16px;line-height:1.5}.cold-head b{color:var(--fg);font-weight:600}.cold-term{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.cold-bar{border-bottom:1px solid var(--line);font:12px var(--mono);color:var(--muted);justify-content:space-between;gap:12px;padding:10px 14px;display:flex}.cold-bar span:last-child{color:var(--accent);font-variant-numeric:tabular-nums}.cold-log{min-height:230px;font:13px/1.4 var(--mono);flex-direction:column;gap:8px;padding:14px;display:flex}.cold-line{color:var(--muted);gap:10px;animation:.35s ease-out both cold-in;display:flex}.cold-line.now{color:var(--fg);animation:none}.cold-tag{flex:none;width:40px;font-weight:700}.cold-tag.pass{color:var(--ok)}.cold-tag.wait{color:var(--info)}.cold-spin{width:40px;color:var(--info);flex:none}.cold-spin:first-line{line-height:1}.cold-spin{transform-origin:8px;animation:1s linear infinite cold-spin;display:inline-block}.cold-caret{color:var(--accent);animation:1s step-end infinite cold-blink}.cold-track{background:var(--line);height:3px;overflow:hidden}.cold-slide{background:var(--accent);width:40%;height:100%;animation:1.6s cubic-bezier(.6,0,.4,1) infinite cold-slide}.cold-hint{color:var(--muted);margin:0;font-size:14px;line-height:1.5}.cold-slow{border:1px solid color-mix(in srgb, var(--warn) 35%, transparent);border-radius:var(--radius);background:color-mix(in srgb, var(--warn) 8%, transparent);color:var(--warn);flex-direction:column;align-items:flex-start;gap:10px;margin-top:auto;padding:14px;font-size:14px;display:flex}.cold-slow .btn{background:var(--surface);min-height:44px}@keyframes cold-slide{0%{transform:translate(-100%)}to{transform:translate(250%)}}@keyframes cold-blink{0%,49%{opacity:1}50%,to{opacity:0}}@keyframes cold-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@keyframes cold-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.cold-line,.cold-spin,.cold-caret,.cold-slide{animation:none}.cold-slide{transform:translate(75%)}}@media (width>=720px){.cold-in{padding-top:12vh}}.pf-hero{gap:18px;padding:20px;display:grid}.pf-id{align-items:center;gap:16px;min-width:0;display:flex}.pf-avatar{background:var(--accent);width:72px;height:72px;color:var(--accent-ink);font:700 28px var(--mono);border-radius:18px;flex:none;place-items:center;display:grid}.pf-avatar.guest{background:var(--sunk);color:var(--muted);border:1px solid var(--line-strong)}.pf-avatar svg{width:32px;height:32px}.pf-who{gap:4px;min-width:0;display:grid}.pf-who h1{letter-spacing:-.01em;overflow-wrap:anywhere;margin:0;font-size:30px;line-height:1.1}.pf-who p{color:var(--muted);margin:0;font-size:15px}.pf-who p b{color:var(--fg);font-weight:600}.pf-level{gap:8px;display:grid}.pf-lvlrow{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.pf-lvltitle{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.pf-lvltitle strong{color:var(--accent);font-size:24px}.pf-lvltitle span,.pf-lvlrow>span{font:13px var(--mono);color:var(--muted)}.pf-bar{background:var(--line);border-radius:999px;height:10px;overflow:hidden}.pf-bar>span{background:var(--accent);border-radius:999px;height:100%;display:block}.pf-hint{color:var(--muted);margin:0;font-size:13px}.pf-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.pf-stat{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);gap:2px;padding:10px;display:grid}.pf-stat b{font:700 20px/1.2 var(--mono);font-variant-numeric:tabular-nums}.pf-stat b small{font:400 13px var(--mono);color:var(--muted)}.pf-stat span{color:var(--muted);font-size:12px;line-height:1.3}.pf-sec{margin-bottom:14px}.pf-sec>header{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:14px;display:flex}.pf-sec h2{margin:0;font-size:20px}.pf-sec>header>span{font:13px var(--mono);color:var(--muted)}.pf-daily{flex-wrap:wrap;align-items:center;gap:10px 14px;display:flex}.pf-daily-label{font:500 14px var(--mono);color:var(--muted)}.seg{gap:6px;display:inline-flex}.seg .chip{min-width:52px;min-height:var(--tap);font-size:15px}.warn-note{color:var(--warn);margin-bottom:0}.ach-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 14px;padding:0;list-style:none;display:grid}.ach{--ach:var(--accent);background:var(--bg);border:1px solid color-mix(in srgb, var(--ach) 35%, transparent);border-radius:12px;position:relative}.ach-btn{text-align:center;width:100%;height:100%;min-height:44px;font:inherit;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:11px;flex-direction:column;align-items:center;gap:8px;padding:12px 8px;display:flex}.ach-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.ach[data-open=true]{z-index:5;border-color:var(--ach)}.ach:hover{z-index:5}.ach:has(:focus-visible){z-index:5}.ach-desc{z-index:10;text-align:left;width:230px;max-width:calc(100vw - 32px);color:var(--fg);background:var(--surface);border:1px solid var(--line);visibility:hidden;opacity:0;pointer-events:none;border-radius:10px;flex-direction:column;gap:4px;padding:10px 12px;font-size:13px;line-height:1.4;transition:opacity .12s;display:flex;position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);box-shadow:0 8px 24px #00000080}.ach-desc strong{color:var(--ach);font-size:13px}.ach-desc-prog{font:12px var(--mono);color:var(--muted)}.ach[data-open=true] .ach-desc{visibility:visible;opacity:1}.ach:has(:focus-visible) .ach-desc{visibility:visible;opacity:1}@media (hover:hover){.ach:hover .ach-desc{visibility:visible;opacity:1}}@media (width<=719px){.ach-desc{top:auto;bottom:calc(100% + 8px)}.ach:nth-child(3n+1) .ach-desc{left:0;transform:none}.ach:nth-child(3n) .ach-desc{left:auto;right:0;transform:none}}.ach.tone-ok{--ach:var(--ok)}.ach.tone-warn{--ach:var(--warn)}.ach.tone-info{--ach:var(--info)}.ach-ico{width:48px;height:48px;color:var(--ach);background:color-mix(in srgb, var(--ach) 14%, transparent);border-radius:50%;place-items:center;display:grid}.ach-ico svg{width:24px;height:24px}.ach-name{overflow-wrap:anywhere;font-size:12px;font-weight:600;line-height:1.25}.ach.locked{opacity:.75;border-color:var(--line)}.ach.locked .ach-ico{color:var(--muted);background:var(--line)}.ach-meter{background:var(--line);border-radius:999px;width:100%;height:4px;overflow:hidden}.ach-meter>span{background:var(--info);height:100%;display:block}.ach-prog{font:11px var(--mono);color:var(--muted)}.pf-toggle{width:100%}@media (width>=720px){.pf-hero{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);grid-template-areas:"id stats""level stats";align-items:center;column-gap:32px;padding:24px}.pf-hero .pf-id{grid-area:id}.pf-hero .pf-level{grid-area:level}.pf-hero .pf-stats{grid-area:stats;grid-template-columns:1fr}.ach-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}.pf-toggle{width:auto;min-width:220px}}@media (width>=1100px){.pf-hero{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);grid-template-areas:"id id id id""level stats stats stats"}.pf-hero .pf-stats{grid-template-columns:repeat(3,minmax(0,1fr))}}.dash-lb{min-height:var(--tap);font:500 13px var(--mono);color:var(--accent);align-items:center;gap:6px;margin-top:10px;text-decoration:none;display:inline-flex}.dash-lb:hover{text-decoration:underline}.lb{gap:16px;display:grid}.lb-periods{gap:8px;display:flex}.lb-cta,.lb-me{margin:0}.lb-me{border-color:var(--accent);background:var(--accent-soft);flex-wrap:wrap;align-items:baseline;gap:4px 14px;display:flex}.lb-me[data-state=unranked]{border-color:var(--line);background:var(--surface);color:var(--muted)}.lb-me .lbl{font:11px var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.lb-me b{color:var(--accent);font-size:22px}.lb-me .note{flex-basis:100%;margin:0}.lb-table{padding:0;overflow:hidden}.lb-empty{margin:0;padding:16px 20px}.lb-list{margin:0;padding:0;list-style:none}.lb-own{border-top:1px dashed var(--line-strong)}.lb-row{border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums;grid-template-columns:56px minmax(0,1fr) 96px 110px;align-items:center;gap:12px;min-height:48px;padding:8px 20px;display:grid}.lb-list li:last-child{border-bottom:0}.lb-cols{min-height:0;font:11px var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.lb-rank{font:600 14px var(--mono);color:var(--muted)}.lb-row.gold .lb-rank{color:var(--accent)}.lb-row.silver .lb-rank{color:var(--fg)}.lb-row.bronze .lb-rank{color:var(--warn)}.lb-name{align-items:baseline;gap:8px;min-width:0;display:flex}.lb-name .nm,.lb-name .anon{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.lb-name .anon{color:var(--faint);font-style:italic}.lb-name .you{font:600 11px var(--mono);color:var(--accent-ink);background:var(--accent);border-radius:4px;flex:none;padding:1px 6px}.lb-lvl{font:12px var(--mono);color:var(--info)}.lb-xp{font:600 14px var(--mono);text-align:right}.lb-cols .lb-rank,.lb-cols .lb-lvl,.lb-cols .lb-xp{font:inherit;color:inherit}.lb-row.me{background:var(--accent-soft);box-shadow:inset 3px 0 0 var(--accent)}@media (width<=560px){.lb-periods{width:100%}.lb-periods .chip{min-height:var(--tap);flex:1}.lb-cols{display:none}.lb-row{grid-template-columns:40px minmax(0,1fr) auto;grid-template-areas:"rank name xp""rank lvl xp";gap:2px 12px;padding:10px 16px}.lb-row .lb-rank{grid-area:rank}.lb-row .lb-name{grid-area:name}.lb-row .lb-lvl{grid-area:lvl}.lb-row .lb-xp{grid-area:xp}}.dash-links{flex-wrap:wrap;gap:0 18px;display:flex}.fbsheet{z-index:40;background:var(--surface);border:1px solid var(--accent);border-radius:var(--radius);width:min(400px,100vw - 32px);max-height:calc(100dvh - 32px);padding:16px 18px 18px;position:fixed;bottom:16px;right:16px;overflow-y:auto;box-shadow:0 12px 32px #00000080}.fbsheet h2{margin:0 36px 6px 0;font-size:17px}.fbsheet .note{margin:0 0 12px}.fbsheet form{gap:8px;display:grid}.fbsheet label{font:12px var(--mono);color:var(--muted)}.fbsheet textarea,.chatcompose textarea{width:100%;font:16px/1.45 var(--body);border:1px solid var(--line-strong);background:var(--code-bg);color:var(--fg);resize:vertical;border-radius:8px;padding:9px 12px}.fbsheet textarea:focus-visible,.chatcompose textarea:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.fbclose{width:44px;height:44px;color:var(--muted);font:24px/1 var(--mono);cursor:pointer;background:0 0;border:0;border-radius:8px;position:absolute;top:6px;right:6px}.fbclose:hover{color:var(--fg);background:var(--sunk)}.fbstars{grid-template-columns:repeat(5,minmax(44px,1fr));gap:6px;margin-bottom:6px;display:grid}.fbstars button{border:1px solid var(--line-strong);background:var(--sunk);min-height:52px;color:var(--faint);cursor:pointer;font:22px/1 var(--body);border-radius:8px;place-items:center;gap:0;display:grid}.fbstars button small{font:11px var(--mono);color:var(--muted)}.fbstars button.on{color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}.fbstars button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.fbactions{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}.fbthanks{color:var(--ok);font:14px var(--mono);margin:4px 0 0}@media (width<=720px){.fbsheet{width:auto;left:16px;right:16px;bottom:calc(72px + env(safe-area-inset-bottom));max-height:calc(100dvh - 140px)}.fbactions .btn{flex:1}}.tosheet .note{color:var(--muted);margin:0 0 12px}.tosheet .fbactions .btn{min-height:44px}@media (prefers-reduced-motion:no-preference){.fbsheet{animation:.2s ease-out toast-in}}.fblist{margin:0;padding:0;list-style:none;display:grid}.fblist li{border-top:1px solid var(--line);flex-wrap:wrap;align-items:baseline;gap:4px 12px;padding:10px 0;display:flex}.fblist li p{white-space:pre-wrap;overflow-wrap:anywhere;flex-basis:100%;margin:0}.fbrating{color:var(--accent);letter-spacing:1px}.fbrating .dim{color:var(--line-strong)}.chat{gap:16px;display:grid}.chatlog{padding:0;position:relative}.chatfeed{overscroll-behavior:contain;background:var(--code-bg);border-radius:var(--radius) var(--radius) 0 0;height:clamp(280px,100dvh - 400px,680px);margin:0;padding:10px 0;font-size:14.5px;list-style:none;overflow-y:auto}.chatmsg{grid-template-columns:auto 1fr;gap:2px 10px;padding:6px 16px;display:grid}.chatmsg:hover{background:var(--bar)}.chatmsg time{font:12px/1.9 var(--mono);color:var(--faint);font-variant-numeric:tabular-nums;white-space:nowrap}.chatwho{font:600 13px/1.9 var(--mono);color:var(--info);overflow-wrap:anywhere}.chatwho.anon{color:var(--muted);font-style:italic}.chatmsg.mine .chatwho{color:var(--accent)}.chatwho .you{color:var(--muted);font-weight:400}.chattext{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--fg);grid-column:2}.chatdeleted{font:italic 13px/1.9 var(--mono);color:var(--faint)}.chatacts{grid-column:2;gap:14px;font-size:12.5px;display:flex}.chatacts .linkbtn{color:var(--muted);min-height:32px}.chatacts .linkbtn:hover,.chatacts .linkbtn[data-state=confirm]{color:var(--bad)}.chatmore{justify-content:center;padding:4px 16px 10px;display:flex}.chatempty{text-align:center;padding:24px 16px}.chatnew{border:1px solid var(--accent);background:var(--accent-soft);min-height:36px;color:var(--accent);font:600 12.5px var(--mono);cursor:pointer;border-radius:18px;margin-top:-52px;padding:6px 14px;position:absolute;left:50%;transform:translate(-50%)}.chatnotice{margin:0;padding:8px 16px 0}.chatcta{border-top:1px solid var(--line);margin:0;padding:14px 16px}.chatcompose{border-top:1px solid var(--line);border-radius:0 0 var(--radius) var(--radius);background:var(--surface);gap:8px;padding:12px 16px 14px;display:grid}.chatcompose-row{flex-wrap:wrap;align-items:center;gap:8px 14px;display:flex}.chatcompose .check{min-height:var(--tap);cursor:pointer;flex:220px;align-items:flex-start;gap:8px;padding-top:8px;font-size:14px;display:flex}.chatcompose .check input{width:20px;height:20px;accent-color:var(--accent);flex:none;margin:0}.chatcompose .check small{color:var(--muted);font-size:12px;display:block}.chatcount{color:var(--faint);font-size:12px}.chatkeys{font:12px var(--mono);margin:0}.chatcompose .err{margin:0}@media (width<=720px){.chatmsg{padding:6px 12px}.chatlog{scroll-margin-bottom:calc(72px + env(safe-area-inset-bottom))}.chatfeed{height:clamp(240px,100dvh - 330px,560px)}.chatcompose{bottom:calc(64px + env(safe-area-inset-bottom));z-index:5;padding:10px 12px 12px;position:sticky}.chatcompose .check{align-items:center;padding-top:0}.chatcompose .check small{display:none}.chatcompose .check input:checked+span small{display:block}}#qtop{scroll-margin-top:72px}.runhead{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.dash-intro h1{font-size:clamp(26px,3vw,32px)}.dash-intro .lead{max-width:70ch;color:var(--muted);margin:8px 0 0;font-size:15px;line-height:1.5}.dash>.prompt{margin:0}.dash-top{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.dash-top .stat.q{grid-area:1/1}.dash-top .stat.r{grid-area:1/2}.dash-top .cta{grid-area:1/3/auto/5;min-height:44px}.dash-top .dash-links{grid-area:2/1/auto/-1}.dash-top .dash-lb{margin:0}.stat-tile{background:var(--surface);border:1px solid var(--line);border-radius:8px;flex-direction:column;gap:6px;height:100%;padding:14px 16px;display:flex}.stat-tile small{font:11px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.stat .big{font:700 22px var(--mono);margin:0}.stat .big span{color:var(--muted);margin-left:4px;font-size:13px;font-weight:400}.stat-line{font:13px var(--mono);color:var(--muted);display:none}.stat-line b{font-weight:700}@media (width>=1024px){.dash-top .dash-links{display:none}}@media (width<=720px){.dash{gap:16px}.dash-top{flex-direction:column;gap:4px;display:flex}.dash-top .dash-links{margin-bottom:8px}.stat-tile{display:none}.stat-line{display:block}.dash-top .cta{width:100%;min-height:48px}}
