:root{--bg:#f5f7fa;--card:#fff;--fg:#0f172a;--muted:#64748b;--line:#e4e8ee;--accent:#2563eb;--accent-strong:#1d4ed8;--accent-fg:#fff;--accent-soft:#e9efff;--ink:#0f172a;--ink-fg:#f8fafc;--good:#16a34a;--good-bg:#e8f7ee;--bad:#dc2626;--bad-bg:#fdecec;--warn:#d97706;--warn-bg:#fdf1e0;--chip:#eef2f7;--track:#e4e8ee;--figbg:#f3f5f9;--mid:#d97706;--mark:#fff;--gold:#2563eb;--coinc:#0f172a;--flame:#2563eb;--belt-foundations:#94a3b8;--belt-white:#e2e8f0;--belt-blue:#2563eb;--belt-purple:#7c3aed;--belt-brown:#92400e;--belt-black:#0f172a;--shadow:none;--shadow-lg:none;--r:16px;--r-sm:12px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0f1217;--card:#171b22;--fg:#eef2f7;--muted:#98a2b3;--line:#262c36;--accent:#4f8cff;--accent-strong:#3b7bff;--accent-fg:#0b1220;--accent-soft:#4f8cff29;--ink:#eef2f7;--ink-fg:#0f1217;--good:#34d399;--good-bg:#34d39924;--bad:#f87171;--bad-bg:#f8717124;--warn:#fbbf24;--warn-bg:#fbbf2424;--chip:#222833;--track:#2a303b;--figbg:#1d222b;--mid:#fbbf24;--mark:#171b22;--gold:#4f8cff;--coinc:#eef2f7;--flame:#4f8cff;--belt-white:#e2e8f0;--belt-black:#000;--belt-foundations:#64748b;--shadow:none;--shadow-lg:none;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#0f1217;--card:#171b22;--fg:#eef2f7;--muted:#98a2b3;--line:#262c36;--accent:#4f8cff;--accent-strong:#3b7bff;--accent-fg:#0b1220;--accent-soft:#4f8cff29;--ink:#eef2f7;--ink-fg:#0f1217;--good:#34d399;--good-bg:#34d39924;--bad:#f87171;--bad-bg:#f8717124;--warn:#fbbf24;--warn-bg:#fbbf2424;--chip:#222833;--track:#2a303b;--figbg:#1d222b;--mid:#fbbf24;--mark:#171b22;--gold:#4f8cff;--coinc:#eef2f7;--flame:#4f8cff;--belt-white:#e2e8f0;--belt-black:#000;--belt-foundations:#64748b;--shadow:none;--shadow-lg:none;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{background:var(--bg);color:var(--fg);-webkit-font-smoothing:antialiased;margin:0;font:16px/1.5 Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}a{color:inherit}button{font:inherit;color:inherit}.wrap{max-width:640px;padding:24px max(16px, env(safe-area-inset-right,0px)) calc(96px + env(safe-area-inset-bottom,0px)) max(16px, env(safe-area-inset-left,0px));flex-direction:column;gap:24px;margin:0 auto;display:flex}.wrap:has(.page.wide){max-width:1040px}.wrap:has(.page.article){max-width:720px}.wrap.play{padding-top:16px;padding-bottom:40px}.page{flex-direction:column;gap:24px;display:flex}.eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--accent);font-size:12px;font-weight:600}h1{letter-spacing:-.02em;text-wrap:balance;margin:0;font-size:28px;font-weight:700;line-height:1.2}h2{letter-spacing:-.01em;margin:0;font-size:20px;font-weight:650;line-height:1.3}h3{margin:0;font-size:16px;font-weight:650}.sub{color:var(--muted);margin:0;font-size:14px;line-height:1.5}.sub.center{text-align:center}.sub a{color:var(--accent)}footer{color:var(--muted);text-align:center;padding:8px 0 0;font-size:12px;line-height:1.5}.pagehead{flex-direction:column;gap:8px;padding:8px 0 0;display:flex}.sechead{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.row{flex-wrap:wrap;gap:12px;display:flex}.row .btn{flex:auto}:is(a,button,select,input,summary):focus-visible{outline:2px solid var(--accent);outline-offset:2px}.chip{color:var(--muted);background:var(--chip);white-space:nowrap;border-radius:999px;align-self:flex-start;align-items:center;padding:4px 12px;font-size:12px;font-weight:600;display:inline-flex}.chip.good{color:var(--good);background:var(--good-bg)}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);flex-direction:column;gap:16px;padding:20px;display:flex}.card h1,.card h2{margin:0}.card.skeleton{background:var(--chip);border:none;min-height:180px;animation:1.2s ease-in-out infinite alternate shimmer}@keyframes shimmer{0%{opacity:.6}to{opacity:1}}.btn{background:var(--accent);color:var(--accent-fg);text-align:center;border-radius:var(--r-sm);cursor:pointer;border:1px solid #0000;justify-content:center;align-self:flex-start;align-items:center;gap:8px;padding:12px 20px;font-size:16px;font-weight:600;line-height:1.25;text-decoration:none;transition:background .12s,transform .12s;display:inline-flex}.btn:hover{background:var(--accent-strong)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:default}.btn.ghost{background:var(--card);color:var(--fg);border-color:var(--line)}.btn.ghost:hover{background:var(--figbg)}.btn.small{padding:8px 16px;font-size:14px}.btn.big{align-self:stretch;padding:16px 24px;font-size:17px}.btn.danger{background:var(--bad);color:#fff}.btn.ghost.danger{background:var(--bad-bg);color:var(--bad);border-color:#0000}.golink{color:var(--accent);margin-top:2px;font-size:14px;font-weight:600;text-decoration:none}.golink:hover{text-decoration:underline}.back{background:var(--card);color:var(--fg);border:1px solid var(--line);border-radius:var(--r-sm);cursor:pointer;white-space:nowrap;align-self:flex-start;padding:8px 12px;font-size:14px;font-weight:600;text-decoration:none}.links{flex-wrap:wrap;justify-content:center;gap:24px;display:flex}.links a{color:var(--accent);padding:4px 0;font-size:15px;font-weight:600;text-decoration:none}.links a:hover{text-decoration:underline}.top{z-index:30;background:color-mix(in srgb, var(--card) 92%, transparent);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line);position:sticky;top:0}.topin{max-width:1040px;padding:calc(12px + env(safe-area-inset-top,0px)) 16px 12px;align-items:center;gap:16px;margin:0 auto;display:flex}.brand{letter-spacing:-.02em;color:var(--fg);align-items:center;gap:8px;font-size:18px;font-weight:700;text-decoration:none;display:inline-flex}.brand svg{border-radius:8px;width:32px;height:32px}.topsearch{border-radius:var(--r-sm);background:var(--chip);width:min(360px,40%);height:40px;color:var(--muted);align-items:center;gap:8px;padding:0 12px;display:none}.topsearch svg{flex:none;width:20px;height:20px}.topsearch input{min-width:0;font:inherit;color:var(--fg);background:0 0;border:0;outline:none;flex:1;font-size:15px}.topsearch:focus-within{outline:2px solid var(--accent);outline-offset:0}.avatar{background:var(--accent-soft);width:36px;height:36px;color:var(--accent);border-radius:50%;justify-content:center;align-items:center;text-decoration:none;display:none}.avatar svg{width:22px;height:22px}.stats{gap:16px;margin-left:auto;display:flex}.stat{font-variant-numeric:tabular-nums;align-items:center;gap:4px;padding:4px 0;text-decoration:none;display:inline-flex}.stat b{color:var(--fg);font-size:15px;font-weight:700}.stat small{display:none}.stat svg{width:20px;height:20px}.stat.streak{color:var(--flame)}.stat.streak.risk{color:var(--muted)}.stat.goal{color:var(--accent)}.stat.coins{color:var(--coinc)}.stat.energy{color:var(--accent)}.stat.energy.out,.stat.energy.out b{color:var(--muted)}.flame{color:var(--muted);opacity:.5}.flame.lit{color:var(--flame);opacity:1}.tabs{z-index:30;padding:8px max(8px, env(safe-area-inset-right,0px)) calc(8px + env(safe-area-inset-bottom,0px)) max(8px, env(safe-area-inset-left,0px));background:color-mix(in srgb, var(--card) 97%, transparent);-webkit-backdrop-filter:blur(16px);border-top:1px solid var(--line);justify-content:center;gap:2px;display:flex;position:fixed;bottom:0;left:0;right:0}.tab{max-width:120px;color:var(--muted);border-radius:var(--r-sm);flex-direction:column;flex:1;align-items:center;gap:4px;padding:4px;font-size:11px;font-weight:600;text-decoration:none;display:flex}.tab svg{width:24px;height:24px}.tab.on{color:var(--accent)}.sidebar{display:none}.sidenav{flex-direction:column;gap:16px;display:flex}.sidegroup{flex-direction:column;gap:0;display:flex}.sidelabel{letter-spacing:.08em;text-transform:uppercase;height:32px;color:var(--muted);align-items:center;gap:12px;padding:0 12px;font-size:11px;font-weight:700;display:flex}.sidelabel:after{content:"";background:var(--line);flex:1;height:1px}.sidegroup:first-child .sidelabel{display:none}.siderow{border-radius:var(--r-sm);height:36px;color:var(--muted);align-items:center;gap:12px;padding:0 12px;font-size:15px;font-weight:500;text-decoration:none;display:flex}.siderow svg{flex:none;width:20px;height:20px}.siderow:hover{color:var(--fg);background:var(--figbg)}.siderow.on{color:var(--fg);background:var(--chip);font-weight:600}.siderow.on svg{color:var(--accent)}@media (min-width:820px){.sidebar{z-index:30;background:var(--card);border-right:1px solid var(--line);flex-direction:column;gap:24px;width:220px;padding:16px 12px;display:flex;position:fixed;top:0;bottom:0;left:0;overflow-y:auto}.sidebar .brand{height:40px;padding:0 12px;font-size:17px}.sidebar .brand svg{border-radius:7px;width:28px;height:28px}.top .brand{display:none}.topin{max-width:none;padding:12px 32px}.topsearch{display:flex}.stats{gap:24px}.stat small{color:var(--muted);font-size:14px;display:inline}.avatar{display:inline-flex}.tabs{display:none}body{padding-left:220px}body:has(.wrap.play){padding-left:0}.wrap{padding-top:32px;padding-bottom:64px}.toasts{left:calc(50% + 110px)}}.toasts{left:50%;top:calc(64px + env(safe-area-inset-top,0px));z-index:50;pointer-events:none;flex-direction:column;gap:8px;width:min(92vw,420px);display:flex;position:fixed;transform:translate(-50%)}.toast{background:var(--ink);color:var(--ink-fg);border-radius:var(--r-sm);box-shadow:var(--shadow-lg);padding:12px 16px;font-size:14px;font-weight:500;animation:.25s pop}@keyframes pop{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.today{gap:12px;padding:24px 20px}.todayhead{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.todayhead h1{font-size:24px}.goaltext{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:13px;font-weight:600}.goalbar{background:var(--track);border-radius:4px;height:8px;margin-bottom:12px;position:relative}.goalbar i{background:var(--accent);border-radius:4px;transition:width .5s;position:absolute;inset:0 auto 0 0}.today .btn.big{margin-top:4px}.today .sub.center{margin-top:-8px}.quests{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.quests li{grid-template-columns:1fr 88px 40px;align-items:center;gap:12px;font-size:14px;font-weight:500;display:grid}.quests li i{background:var(--track);border-radius:4px;height:8px;display:block;overflow:hidden}.quests li i b{background:var(--accent);border-radius:4px;height:100%;display:block}.quests li em{color:var(--muted);text-align:right;font-variant-numeric:tabular-nums;font-size:12px;font-style:normal}.quests li.done{color:var(--muted);text-decoration:line-through}.onboard h1{font-size:28px}fieldset{border:none;flex-direction:column;gap:8px;min-width:0;margin:0;padding:0;display:flex}legend{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:8px;padding:0;font-size:12px;font-weight:600}.segs{flex-wrap:wrap;gap:8px;display:flex}.seg{background:var(--card);border:1px solid var(--line);border-radius:var(--r-sm);cursor:pointer;text-align:left;flex-direction:column;align-items:flex-start;gap:1px;padding:9px 14px;font-size:14px;font-weight:600;display:flex}.seg:hover{border-color:var(--muted)}.seg small{color:var(--muted);font-size:12px;font-weight:400}.seg.on{border-color:var(--accent);background:var(--accent-soft);color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.seg.on small{color:var(--accent)}.check{cursor:pointer;align-items:flex-start;gap:10px;font-size:14px;line-height:1.4;display:flex}.check input{width:18px;height:18px;accent-color:var(--accent);flex:none;margin:1px 0 0}.field{flex-direction:column;gap:6px;display:flex}.field span{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:12px;font-weight:600}.field select,.field input{font:inherit;border-radius:var(--r-sm);border:1px solid var(--line);background:var(--card);color:var(--fg);padding:10px 12px;font-size:16px}.map{flex-direction:column;gap:32px;display:flex}.beltsec{flex-direction:column;gap:12px;display:flex}.belthead{justify-content:space-between;align-items:flex-end;gap:16px;padding:8px 4px 4px;display:flex}.belthead h2{margin-top:4px;font-size:24px}.stripes{gap:4px;padding-bottom:8px;display:flex}.stripes i{background:var(--track);border-radius:2px;width:16px;height:4px}.stripes i.on{background:var(--accent)}.beltsec.soonsec{opacity:.5}.unit{background:var(--card);border:1px solid var(--line);border-radius:var(--r);flex-direction:column;display:flex;overflow:hidden}.unit.here{border-color:var(--accent)}.uhead{text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:16px;width:100%;padding:16px;display:flex}.uhead:hover{background:var(--figbg)}.utext{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.utext h3{font-size:17px}.utext p{color:var(--muted);font-variant-numeric:tabular-nums;margin:0;font-size:13px}.uprog{width:40px;height:40px;color:var(--accent);flex:none;position:relative}.uprog svg{width:100%;height:100%}.uprog span{color:var(--fg);font-variant-numeric:tabular-nums;place-items:center;font-size:13px;font-weight:700;display:grid;position:absolute;inset:0}.unit.complete .uprog{color:var(--good)}.uchev{color:var(--muted);text-align:center;flex:none;width:20px;font-size:20px;font-weight:400}.nodes{border-top:1px solid var(--line);flex-direction:column;padding:4px 0;display:flex}.node{color:var(--fg);align-items:center;gap:12px;padding:12px 16px;text-decoration:none;display:flex}.node.open:hover,.node.done:hover{background:var(--figbg)}.nglyph{background:var(--chip);width:32px;height:32px;color:var(--muted);border-radius:50%;flex:none;place-items:center;font-size:13px;font-style:normal;font-weight:700;display:grid}.nglyph svg{width:16px;height:16px}.node.open .nglyph{background:var(--accent-soft);color:var(--accent)}.node.current .nglyph{background:var(--accent);color:var(--accent-fg)}.node.done .nglyph{background:var(--good-bg);color:var(--good)}.node.lock{color:var(--muted)}.node.lock .ntext b{color:var(--muted);font-weight:500}.ntext{flex-direction:column;flex:1;min-width:0;display:flex}.ntext b{font-size:15px;font-weight:600}.ntext small{color:var(--muted);font-size:13px}.nstatus{color:var(--muted);white-space:nowrap;font-size:13px;font-style:normal;font-weight:600}.nstatus.done{color:var(--good)}.nstatus.current{color:var(--accent)}.node.legendary.done .nglyph{background:var(--accent);color:var(--accent-fg)}.node.legendary.done .nstatus{color:var(--accent)}.lintro{color:var(--muted);margin:-4px 0 8px;font-size:14px}.node.belt{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:16px}.node.belt .nglyph{background:var(--accent-soft);color:var(--accent)}.node.belt.done .nglyph{background:var(--good-bg);color:var(--good)}.node.belt.current{border-color:var(--accent)}.nsub{color:var(--muted);font-variant-numeric:tabular-nums;margin:8px 0 0;font-size:13px}.soon{color:var(--muted);margin:0;padding:0 4px;font-size:14px}.lesson:not(.node){flex-direction:column;gap:16px;display:flex}.lesson:not(.node):has(.nextbar){padding-bottom:88px}.nextbar{z-index:30;padding:12px max(16px, env(safe-area-inset-right,0px)) calc(12px + env(safe-area-inset-bottom,0px)) max(16px, env(safe-area-inset-left,0px));background:color-mix(in srgb, var(--card) 96%, transparent);-webkit-backdrop-filter:blur(16px);border-top:1px solid var(--line);position:fixed;bottom:0;left:0;right:0}.nextbar .btn{width:100%;max-width:640px;margin:0 auto;display:flex}.nextbar.right .btn{background:var(--good);color:#fff}.nextbar.wrong .btn{background:var(--bad);color:#fff}.lessonbar{align-items:center;gap:16px;display:flex}.bar{background:var(--track);border-radius:4px;flex:1;height:8px;overflow:hidden}.bar i{background:var(--accent);border-radius:4px;height:100%;transition:width .35s;display:block}.count{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:14px}.ltitle{color:var(--muted);font-size:13px;font-weight:600}.kindrow{gap:8px;display:flex}.kind{background:var(--chip);color:var(--muted);border-radius:999px;padding:4px 12px;font-size:12px;font-weight:600}.pos{color:var(--muted);flex-wrap:wrap;align-items:baseline;gap:8px;margin-bottom:-4px;font-size:14px;display:flex}.posbtn{font:inherit;color:var(--fg);background:0 0;border:none;padding:0;font-size:14px;font-weight:600;text-decoration:none}.posbtn.haslib{color:var(--accent);cursor:pointer}.side:before{content:"·";margin-right:8px}.q{letter-spacing:-.01em;text-wrap:balance;margin:0;font-size:20px;font-weight:650;line-height:1.35}.q.small{color:var(--muted);font-size:16px;font-weight:400}.timer{background:var(--track);border-radius:3px;height:6px;position:relative;overflow:visible}.timer i{background:var(--accent);border-radius:3px;height:100%;transition:width .1s linear;display:block}.timer span{color:var(--muted);font-variant-numeric:tabular-nums;font-size:11px;font-weight:600;position:absolute;top:10px;right:0}.opts{flex-direction:column;gap:8px;display:flex}.opts.quick{flex-direction:row}.opts.quick.long{flex-direction:column}.opts.quick.long .opt{text-align:left;justify-content:flex-start}.opts.quick .opt{text-align:center;flex:1;justify-content:center;font-weight:600}.opt{text-align:left;background:var(--card);width:100%;color:var(--fg);border:1px solid var(--line);border-radius:var(--r-sm);cursor:pointer;align-items:center;gap:12px;padding:14px 16px;font-size:16px;line-height:1.4;transition:background .15s,border-color .15s;display:flex}.opt:hover:not(:disabled){border-color:var(--accent)}.opt:disabled{cursor:default}.opt .mark{border:1.5px solid var(--line);width:24px;height:24px;color:var(--mark);border-radius:50%;flex:none;place-items:center;font-size:12px;font-weight:700;display:grid}.opt span{min-width:0}.opt.good{border-color:var(--good);background:var(--good-bg)}.opt.good .mark{border-color:var(--good);background:var(--good)}.opt.bad{border-color:var(--bad);background:var(--bad-bg)}.opt.bad .mark{border-color:var(--bad);background:var(--bad)}.opt.dim{opacity:.45}.steps{counter-reset:s;flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.steps li{counter-increment:s;background:var(--figbg);border-radius:var(--r-sm);align-items:center;gap:12px;padding:12px;font-size:15px;font-weight:500;display:flex}.steps li:before{content:counter(s);background:var(--accent);width:24px;height:24px;color:var(--accent-fg);border-radius:50%;flex:none;place-items:center;font-size:12px;font-weight:700;display:grid}.welcome{flex-direction:column;gap:16px;max-width:480px;margin:0 auto;padding:24px 0 40px;display:flex}.welcome .wbrand{align-items:center;gap:8px;margin-bottom:8px;font-size:20px;font-weight:700;display:flex}.welcome .wbrand svg{border-radius:8px;width:36px;height:36px}.welcome h1{margin:0;font-size:28px}.welcome fieldset{border:0;margin:0;padding:0}.welcome .btn.big{margin-top:8px}.hint{color:var(--muted);margin:-4px 0 12px;font-size:14px}.slots{flex-direction:column;gap:8px;margin:0 0 16px;padding:0;list-style:none;display:flex}.slot{border-bottom:1px solid var(--line);align-items:center;gap:12px;min-height:48px;padding:0 0 8px;display:flex}.slot .num{background:var(--accent);width:24px;height:24px;color:var(--accent-fg);border-radius:50%;flex:none;place-items:center;font-size:12px;font-weight:700;display:grid}.slot.empty .num{border:1.5px solid var(--line);color:var(--muted);background:0 0}.slot .ph{color:var(--muted);font-size:14px}.slot .placed{text-align:left;background:var(--figbg);color:var(--fg);border:1px solid var(--figbg);border-radius:var(--r-sm);cursor:pointer;flex:1;padding:10px 12px;font-size:15px;font-weight:500;line-height:1.4}.slot .placed:hover:not(:disabled){border-color:var(--accent)}.slot .placed:disabled{cursor:default}.slot.good .placed{background:var(--good-bg);border-color:var(--good-bg)}.slot.bad .placed{background:var(--bad-bg);border-color:var(--bad-bg)}.slot.good .num{background:var(--good)}.slot.bad .num{background:var(--bad)}.bank{flex-direction:column;gap:8px;margin-bottom:16px;display:flex}.chip{background:var(--card);width:100%;color:var(--fg);border:1px solid var(--line);border-radius:var(--r-sm);text-align:left;cursor:pointer;padding:12px;font-size:15px;line-height:1.4}.chip:hover:not(:disabled){border-color:var(--accent)}.chip.used{opacity:.3}.chip:disabled:not(.used){cursor:default;opacity:.6}.fb{border-radius:var(--r-sm);background:var(--good-bg);padding:16px;font-size:15px;line-height:1.5}.fb.wrong{background:var(--bad-bg)}.fb b{margin-bottom:4px;font-size:15px;display:block}.fb.right b{color:var(--good)}.fb.wrong b{color:var(--bad)}.term{font:inherit;color:var(--accent);cursor:pointer;text-underline-offset:3px;background:0 0;border:none;padding:0;text-decoration:underline;text-decoration-thickness:1px;display:inline}.rhead{color:var(--muted);font-size:13px;font-weight:600}.score{letter-spacing:-.03em;font-variant-numeric:tabular-nums;margin:0;font-size:56px;font-weight:700;line-height:1}.verdict{margin:0;font-size:20px;font-weight:650}.xpline{background:var(--accent-soft);border-radius:var(--r-sm);flex-wrap:wrap;align-items:baseline;gap:12px;padding:12px 16px;display:flex}.xpline b{color:var(--accent);font-size:24px;font-weight:700}.xpline span{color:var(--muted);font-size:14px}.rollstart h2,.rollresult h2{font-size:24px}.facts{flex-direction:column;gap:8px;margin:0;display:flex}.facts div{grid-template-columns:90px 1fr;gap:10px;font-size:14px;display:grid}.facts dt{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding-top:2px;font-size:11px;font-weight:600}.facts dd{margin:0}.rollbar{flex-wrap:wrap;gap:8px;display:flex}.pill{background:var(--chip);font-variant-numeric:tabular-nums;border-radius:999px;padding:5px 11px;font-size:12px;font-weight:600}.pill b{font-size:14px}.pill.muted{color:var(--muted)}.mom{flex-direction:column;gap:8px;display:flex}.momtrack{background:linear-gradient(90deg, var(--bad), var(--chip) 50%, var(--good));border-radius:4px;height:8px;position:relative}.mommid{background:var(--muted);opacity:.6;width:2px;position:absolute;top:-3px;bottom:-3px;left:50%}.momdot{background:var(--card);border:3px solid var(--fg);border-radius:50%;width:16px;height:16px;transition:left .4s;position:absolute;top:50%;transform:translate(-50%,-50%)}.turnlog{flex-direction:column;gap:6px;display:flex}.tl{border-radius:var(--r-sm);background:var(--figbg);border-left:3px solid var(--muted);margin:0;padding:10px 12px;font-size:14px;line-height:1.45}.tl.success{border-left-color:var(--good)}.tl.stuffed,.tl.countered{border-left-color:var(--bad)}.tl.rest{border-left-color:var(--accent)}.tl.opp{border-left-color:var(--warn);background:var(--warn-bg)}.opts.moves .opt{padding:12px 14px}.opt.move{justify-content:space-between}.mlabel{flex-direction:column;gap:2px;font-weight:500;display:flex}.mlabel small{color:var(--muted);font-size:12px}.mmeta{flex-direction:column;flex:none;align-items:flex-end;gap:2px;display:flex}.mmeta small{color:var(--muted);letter-spacing:.06em;font-variant-numeric:tabular-nums;font-size:11px;font-weight:600}.opt.locked{opacity:.5;border-style:dashed}.rollfoot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.legend{color:var(--muted);flex-wrap:wrap;gap:12px;margin:0;font-size:11px;display:flex}.roll .viewer{aspect-ratio:16/8}.gas{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);align-items:center;gap:8px;font-size:11px;font-weight:600;display:flex}.gastrack{gap:3px;display:flex}.gastrack i{background:var(--track);border-radius:3px;width:10px;height:14px}.gastrack i.on{background:var(--good)}.rollresult.win{border-color:var(--good)}.rollresult.loss{border-color:var(--bad)}.replay summary{cursor:pointer;font-size:14px;font-weight:600}.replay ol{flex-direction:column;gap:6px;margin:10px 0 0;padding-left:20px;font-size:13px;display:flex}.replay li{justify-content:space-between;gap:10px;display:flex}.replay li em{color:var(--muted);white-space:nowrap;font-style:normal}.replay li.opp{color:var(--muted)}.roll.compact{box-shadow:none;gap:10px;padding:14px}.statgrid{text-align:center;grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.statgrid div{background:var(--figbg);border-radius:var(--r-sm);flex-direction:column;align-items:center;gap:4px;padding:16px 8px;display:flex}.statgrid b{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:24px;font-weight:700}.statgrid small{color:var(--muted);font-size:12px;font-weight:500}.statgrid svg{display:none}.week{grid-template-columns:repeat(7,1fr);align-items:end;gap:8px;height:96px;display:grid}.day{flex-direction:column;justify-content:flex-end;align-items:center;gap:4px;height:100%;display:flex;position:relative}.day i{background:var(--chip);border-radius:4px;width:100%;min-height:4px;display:block}.day.some i{background:color-mix(in srgb, var(--accent) 45%, var(--chip))}.day.hit i{background:var(--accent)}.day span{color:var(--muted);font-size:11px;font-weight:600}.day em{color:var(--muted);font-variant-numeric:tabular-nums;min-height:12px;font-size:10px;font-style:normal;font-weight:600}.day.today span{color:var(--accent)}.day.future{opacity:.4}.beltrow{flex-wrap:wrap;gap:8px;display:flex}.beltchip{color:var(--muted);flex-direction:column;align-items:center;gap:4px;font-size:11px;font-weight:600;display:flex}.beltchip i{background:var(--belt-foundations);border:1px solid var(--line);border-radius:4px;align-items:center;gap:3px;width:64px;height:16px;padding-left:36px;display:flex}.beltchip i b{background:#ffffff4d;border-radius:1px;width:4px;height:8px}.beltchip i b.on{background:#fff}.beltchip.white i{background:var(--belt-white)}.beltchip.blue i{background:var(--belt-blue)}.beltchip.purple i{background:var(--belt-purple)}.beltchip.brown i{background:var(--belt-brown)}.beltchip.black i{background:var(--belt-black)}.beltchip.passed{color:var(--good)}.beltchip.soon{opacity:.4}.achievements{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.achievements li{background:var(--figbg);border-radius:var(--r-sm);align-items:center;gap:12px;padding:10px 12px;display:flex}.achievements li i{background:var(--chip);width:36px;height:36px;color:var(--muted);border-radius:50%;flex:none;place-items:center;font-size:18px;font-style:normal;display:grid}.achievements li.t1 i{background:var(--accent-soft);color:var(--accent)}.achievements li.t2 i{background:var(--accent);color:var(--accent-fg);opacity:.8}.achievements li.t3 i{background:var(--accent);color:var(--accent-fg)}.achievements li div{flex-direction:column;gap:1px;min-width:0;display:flex}.achievements li b{font-size:14px}.achievements li b small{color:var(--accent);margin-left:4px;font-size:12px;font-weight:600}.achievements li span{color:var(--muted);font-size:12px}.achievements li em{color:var(--muted);font-variant-numeric:tabular-nums;font-size:11px;font-style:normal;font-weight:600}.coinline{color:var(--coinc);align-items:center;gap:5px;font-weight:700;display:inline-flex}.coinline svg,.coin{width:18px;height:18px}.shop{flex-direction:column;gap:8px;display:flex}.shopitem{text-align:left;background:var(--card);border:1px solid var(--line);border-radius:var(--r-sm);cursor:pointer;grid-template-columns:1fr auto;gap:2px 12px;padding:12px 14px;display:grid}.shopitem:hover:not(:disabled){border-color:var(--accent)}.shopitem:disabled{opacity:.55;cursor:default}.shopitem b{font-size:15px}.shopitem span{color:var(--muted);grid-column:1;font-size:13px}.shopitem em{color:var(--coinc);white-space:nowrap;grid-area:1/2/span 2;align-self:center;font-style:normal;font-weight:700}.catalog{flex-direction:column;gap:16px;display:flex}.search{align-items:center;display:flex;position:relative}.search svg{width:20px;height:20px;color:var(--muted);pointer-events:none;position:absolute;left:14px}.search input{width:100%;font:inherit;border-radius:var(--r-sm);border:1px solid var(--line);background:var(--card);color:var(--fg);padding:12px 44px;font-size:16px}.search input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.search input::-webkit-search-cancel-button{display:none}.search .clear{background:var(--chip);width:30px;height:30px;color:var(--muted);cursor:pointer;border:none;border-radius:50%;font-size:12px;position:absolute;right:8px}.filters{flex-wrap:wrap;gap:8px;display:flex}.filter{background:var(--card);border:1px solid var(--line);cursor:pointer;color:var(--fg);border-radius:999px;align-items:center;gap:4px;padding:8px 16px;font-size:14px;font-weight:600;display:inline-flex}.filter em{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px;font-style:normal}.filter:hover{border-color:var(--muted)}.filter.on{background:var(--accent);border-color:var(--accent);color:var(--accent-fg)}.filter.on em{color:color-mix(in srgb, var(--accent-fg) 75%, transparent)}.filter.small{padding:4px 12px;font-size:13px}.filters.sub .filter.on{background:var(--accent-soft);color:var(--accent);border-color:var(--accent)}.grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.grid.small{grid-template-columns:repeat(auto-fill,minmax(136px,1fr));gap:12px}.tile{background:var(--card);border:1px solid var(--line);border-radius:var(--r);flex-direction:column;height:100%;text-decoration:none;transition:border-color .12s;display:flex;overflow:hidden}.tile:hover{border-color:var(--accent)}.tthumb{aspect-ratio:4/3;background:var(--figbg);display:block}.grid.small .tthumb{aspect-ratio:16/10}.ttext{flex-direction:column;gap:2px;padding:12px 16px 16px;display:flex}.ttext small{color:var(--muted);font-size:12px;font-weight:500}.ttext b{letter-spacing:-.01em;font-size:16px;font-weight:650;line-height:1.25}.grid.small .ttext b{font-size:14px}.ethumb{background:var(--figbg);width:100%;height:100%;display:block}.ethumb img{object-fit:cover;width:100%;height:100%;display:block}.ethumb img.dark,:root[data-theme=dark] .ethumb img.light{display:none}:root[data-theme=dark] .ethumb img.dark{display:block}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .ethumb img.light{display:none}:root:not([data-theme=light]) .ethumb img.dark{display:block}}.article{gap:24px}.crumbs{color:var(--muted);gap:8px;font-size:14px;display:flex}.crumbs a{color:var(--accent);text-decoration:none}.visual{flex-direction:column;gap:8px;display:flex}.glance{background:var(--card);border:1px solid var(--line);border-radius:var(--r);grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin:0;padding:16px 20px;display:grid}.glance div{flex-direction:column;gap:4px;min-width:0;display:flex}.glance dt{color:var(--muted);font-size:12px;font-weight:500}.glance dd{margin:0;font-size:15px;font-weight:600}.glance a{color:var(--accent);text-decoration:none}.gsec{flex-direction:column;gap:12px;display:flex}.gsec h2{font-size:22px}.prose{margin:0;font-size:17px;line-height:1.6}.gl{flex-direction:column;gap:8px;margin:0;padding:0 0 0 20px;font-size:16px;line-height:1.55;display:flex}.gl li::marker{color:var(--accent)}.gsteps{counter-reset:g;flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.gsteps li{counter-increment:g;background:var(--card);border:1px solid var(--line);border-radius:var(--r-sm);align-items:flex-start;gap:12px;padding:12px 16px;font-size:16px;line-height:1.5;display:flex}.gsteps li:before{content:counter(g);background:var(--accent);width:28px;height:28px;color:var(--accent-fg);border-radius:50%;flex:none;place-items:center;margin-top:1px;font-size:14px;font-weight:700;display:grid}.cta{margin-top:8px}.pager{justify-content:space-between;gap:16px;display:flex}.pager a{color:var(--fg);flex-direction:column;gap:2px;min-width:0;text-decoration:none;display:flex}.pager a.right{text-align:right;margin-left:auto}.pager small{color:var(--muted);font-size:12px}.pager b{color:var(--accent);font-size:15px;font-weight:600}.related{flex-direction:column;gap:12px;padding-top:8px;display:flex}.related h2{font-size:20px}.scrim{z-index:60;background:#0f172a73;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{background:var(--card);color:var(--fg);border-radius:var(--r) var(--r) 0 0;flex-direction:column;width:100%;max-width:640px;max-height:min(640px,82vh);padding-top:18px;animation:.25s up;display:flex;overflow:hidden}@keyframes up{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}.shbar{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:0 16px 12px;display:flex}.shbar h3{letter-spacing:-.01em;flex:1;min-width:0;margin:0;font-size:18px;font-weight:650}.shclose{background:var(--chip);width:32px;height:32px;color:var(--muted);cursor:pointer;border:none;border-radius:50%;flex:none;place-items:center;font-size:13px;font-weight:700;display:grid}.shbody{overscroll-behavior:contain;padding:14px 20px calc(24px + env(safe-area-inset-bottom,0px));flex-direction:column;gap:12px;display:flex;overflow-y:auto}.shbody p{margin:0;font-size:15px;line-height:1.55}.shtag{letter-spacing:.06em;text-transform:uppercase;color:var(--accent);background:var(--accent-soft);border-radius:999px;align-self:flex-start;padding:3px 9px;font-size:11px;font-weight:600}.lsec{flex-direction:column;display:flex}.lsec h4{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:10px 0 2px;font-size:12px;font-weight:600}.lrow{border:none;border-bottom:1px solid var(--line);width:100%;color:var(--fg);cursor:pointer;text-align:left;background:0 0;justify-content:space-between;align-items:center;gap:10px;padding:12px 2px;font-size:15px;display:flex}.lsec .lrow:last-child{border-bottom:none}.lrow em{color:var(--muted);flex:none;font-size:14px;font-style:normal}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.bmbtn{width:40px;height:40px;color:var(--muted);cursor:pointer;font:inherit;background:0 0;border:none;border-radius:999px;flex:none;justify-content:center;align-items:center;gap:8px;font-size:14px;font-weight:600;display:inline-flex}.bmbtn svg{width:22px;height:22px}.bmbtn:hover{background:var(--chip);color:var(--fg)}.bmbtn.on{color:var(--accent)}.bmbtn.labelled{border:1px solid var(--line);background:var(--card);width:auto;color:var(--fg);padding:0 16px 0 12px}.bmbtn.labelled:hover{border-color:var(--accent)}.bmbtn.labelled.on{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.headrow{justify-content:space-between;align-items:center;gap:16px;display:flex}.headrow h1{flex:1;min-width:0}.noderow{align-items:center;display:flex}.noderow .node{flex:1;min-width:0}.noderow .bmbtn{margin-right:8px}.pos .qbm{align-self:center;width:32px;height:32px;margin-left:auto}.pos .qbm svg{width:20px;height:20px}.filterbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.sortsel{font:inherit;color:var(--fg);background:var(--card);border:1px solid var(--line);cursor:pointer;border-radius:999px;padding:8px 16px;font-size:14px;font-weight:600}.bmlist{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.bmrow{background:var(--card);border:1px solid var(--line);border-radius:var(--r);align-items:center;gap:12px;padding:12px 8px 12px 12px;display:flex}.bmthumb{aspect-ratio:4/3;border-radius:var(--r-sm);background:var(--figbg);flex:none;width:72px;display:block;overflow:hidden}.bmtext{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.bmtext small{color:var(--muted);font-size:12px;font-weight:500}.bmtitle{color:var(--fg);font-size:16px;font-weight:600;line-height:1.3;text-decoration:none}a.bmtitle:hover{color:var(--accent)}.bmrow.bm-question .bmtitle{font-size:15px;font-weight:500}.card.empty{text-align:center;align-items:center;padding:40px 20px}.card.empty .emptyicon{background:var(--chip);width:64px;height:64px;color:var(--muted);border-radius:50%;place-items:center;display:grid}.card.empty .emptyicon svg{width:32px;height:32px}.card.empty .row{justify-content:center}.avatar[hidden]{display:none!important}.topsignin{margin-left:auto}.auth{flex-direction:column;align-items:stretch;gap:32px;max-width:440px;margin:0 auto;padding:48px 0 64px;display:flex}.auth .wbrand{align-self:center;display:flex}.auth .wbrand svg{border-radius:12px;width:48px;height:48px}.authhead{text-align:center;flex-direction:column;gap:12px;display:flex}.auth h1{letter-spacing:-.01em;margin:0;font-size:32px;line-height:1.2}.authhead .sub{font-size:16px;line-height:1.6}.auth .btn.big{text-align:center;align-self:stretch;text-decoration:none}.authform{flex-direction:column;gap:20px;display:flex}.authform .field{gap:8px}.authform .field span{text-transform:none;letter-spacing:0;color:var(--fg);font-size:14px}.authform .field input{padding:14px 16px}.authform .btn.big{margin-top:4px}.authlink{color:var(--accent);align-self:flex-start;margin-top:-8px;font-size:14px;text-decoration:none}.authlink.center{color:var(--muted);align-self:center;margin-top:0}.socials{flex-direction:column;gap:12px;display:flex}.btn.social{justify-content:center;align-self:stretch;align-items:center;gap:12px;padding:14px 20px;font-size:16px;display:flex}.btn.social svg{flex:none;width:20px;height:20px}.or{color:var(--muted);align-items:center;gap:16px;margin-top:12px;font-size:14px;display:flex}.or:before,.or:after{content:"";background:var(--line);flex:1;height:1px}.notice{border-radius:var(--r-sm);margin:0;padding:12px 16px;font-size:14px;line-height:1.5}.notice.bad{background:var(--bad-bg);color:var(--bad)}.notice.info{background:var(--accent-soft);color:var(--accent)}.authfoot{font-size:15px}.authfoot a{color:var(--fg);font-weight:600;text-decoration:none}.chip.plus{width:auto;color:var(--accent);background:var(--accent-soft);border:0;border-radius:999px;align-self:center;padding:4px 12px;font-size:12px;font-weight:600;line-height:1.4;text-decoration:none}a.chip.plus:hover{background:var(--accent);color:var(--accent-fg)}.node.paid .nglyph{background:var(--accent-soft);color:var(--accent)}.node.paid.lock .nglyph{background:var(--chip);color:var(--muted)}.plusscreen .eyebrow{margin-bottom:-8px}.plusperks{flex-direction:column;gap:8px;margin:0;padding:0 0 0 20px;font-size:15px;line-height:1.5;display:flex}.plusperks li::marker{color:var(--accent)}.plans{flex-direction:column;gap:8px;display:flex}.plan{background:var(--card);border:1px solid var(--line);border-radius:var(--r-sm);cursor:pointer;text-align:left;font:inherit;color:var(--fg);justify-content:space-between;align-items:center;gap:12px;padding:16px;display:flex}.plan:hover{border-color:var(--muted)}.plan.on{border-color:var(--accent);background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent)}.planname{align-items:center;gap:8px;font-size:16px;font-weight:600;display:flex}.planname em{color:var(--accent);background:var(--card);border-radius:999px;padding:2px 8px;font-size:12px;font-style:normal;font-weight:600}.plan.on .planname em{background:var(--accent);color:var(--accent-fg)}.planprice{flex-direction:column;align-items:flex-end;display:flex}.planprice b{font-variant-numeric:tabular-nums;font-size:18px}.planprice small{color:var(--muted);font-size:12px}.plusscreen button.authlink{cursor:pointer;font:inherit;background:0 0;border:0;font-size:14px}.sub.small{font-size:13px}.ebars{justify-content:center;gap:8px;display:flex}.ebars i{background:var(--line);border-radius:999px;width:40px;height:12px}.ebars i.on{background:var(--accent)}.gassed .gasicon{width:48px;height:48px;color:var(--accent);align-self:center}.gassed .sub b{color:var(--fg);font-variant-numeric:tabular-nums}.gassed .authlink.center+.authlink.center{margin-top:-16px}.enote{color:var(--muted);margin:0;font-size:14px;line-height:1.5}.enote a{color:var(--accent);font-weight:600;text-decoration:none}.legal section{flex-direction:column;gap:12px;display:flex}.legal h2{margin:0;font-size:20px}.legal p,.legal li{margin:0;font-size:16px;line-height:1.6}.legal .lead{font-size:17px}.legal ul,.legal ol{flex-direction:column;gap:8px;margin:0;padding-left:20px;display:flex}.legal a{color:var(--accent)}.legalfoot{border-top:1px solid var(--line);flex-wrap:wrap;gap:16px;padding-top:24px;font-size:14px;display:flex}.legalfoot a{color:var(--muted);text-decoration:none}
