@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-cyrillic-ext-wght-normal-D4X5GqEv.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-cyrillic-wght-normal-CY6AOgYE.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-vietnamese-wght-normal-U01xdrZh.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-latin-ext-wght-normal-CXYtwYOx.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-latin-wght-normal-BzFMHfZw.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(data:font/woff2;base64,d09GMgABAAAAAAfsABQAAAAAEAwAAAeCAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoP0hWQVJbBmA/U1RBVIFiJyYAdC9qEQgKhGSEAAsgADCGCAE2AiQDOgQgBYlMB4EUDAcbLQ4onoexrSC/2ZyLAa8p8VHB8/x3Vue+V0hVJalMJg2nx/TCrQXxBeqLjQG7FyM1WEa/X1tEXN7cFz9EJEMmMUz3RihWSSKeQCbcIou0izz/C8v+fq3VfajEa9gDD11CImXS7qL/RJFVzC1qiB6KmKeD6TZdQ6IRGv78dL6uSVVCfgni5mzu7kcgQBgAEAQTQRCoL++STTYybkJxNfQxAAIAGu8OdEB9teW2jh4BpgDqFjAeSEByW3zFP0CBBgNMsMCGEDjgggdhiEAUAeIIED7ABTDUEnkIE9Q9ahFgKttcVhApo4ACB4qobHaccgDfEjFO6aaWUhjMLt2SyIvHKoDqoA4CSUwEIYQCEjhAO9R1G6keDeDZGjNo+AhxOjCEGTr1WeIF3kYBiLAOKvkJSMiKX0VdAyQt3SDJClCkxJCHkCzfqyVTriJZLcolS32JZHUekq2TYNkYtCtjYHMQXSxGjXDz2t/yLWXzDzxz+o3zFwDEaN23F+13pyMdQAEaSKAR9vcGq4A4MTSKCElGW+M7UcY7xqkggITb28ZJhlqc9q2twYKTt0NjixBgYvO9BIihEBLYuOFXQzfIQ7dXGUEEEgFDooBfAzqiQbpJrhiWSuKJCRFKYbHCyJKI2G5GiZbNAvgAu5pc3vwx4G+g3aDkhklABiSz0BICXrYghtYhx/cdJ+44rY2oZ0aMNRFz3VZjb6W33F3gzltqtOCV8tTHSpOeXuItfvr5lCdfzFpqtEitvqdcdGGFd28ZqqC0tPbeChGXgrIlnhSWu/eUso4uKWFLugyDzQJhflY4659+WjQ++6x72WUMv9G8mw6QJl7BVxX5fe/kpUsOvnZwee9uQ0cGXYd0o89XB2748sDSnt8d2VphdOTTgceDVvOds0v9P/s7HPq15aGun/6Vllb56f1dl0t1LejqrNkpdRZsG8TOnM5vkBG5oiVyVGnS8LHps5cfNWJs6qKPfaNSxiQNBUm3cKNWROr0GSur7Za31k1vieq7LH11VF+jXdRIasRKflc7jkobm1Z9te1IyZA0pDkhLR98+H37Zf1c/8at+dB7x+7GfVyTfJMPiYztsnl59Y5l4j+0n1RXlpHnF3Tq7HecmNF/CJodEMAikruxiyJaGLvHOdAfoA+oDvpjBm2b91cHGRZMU9n25xEU0A8fgEEAdKI3Q1iDtc034sug5YVMkE2jsE+BIkwSoQ3gxXMqz9tELp48bd0cFKOKS7xYjEuXBnZP5ia7DyiO/X/YI+PQSbt2uSdqAkWL9nQbV1XB94/+uPfdZz8dnXYFBYrcTl2SIR/ybxJNJPz/Gupb0JaZeens2ekC7EKr8t+Ls/P5VJPYJdHKyqfg2nqU6bhlidzcddQV/7MmecTzJ5VPcKXkNKSEogHjYFx6QZ7rQ+FSe8njaiNuOnXS8H2ScQ619c2mC3VTtauL0rRbXd/CkSOP37FY9Zkjz8+GibYUMOEWF+RdrFS8Ecv1SHOpPUPZGEIpjPvFyU5cXKjd6OXqorTqy9GwRd++HVufPGnVsW+aO3vggKZ18jR9sXaTC1PWTEsVUaK0FkNySbTQDqlm2PfDjZcu4aalnSLKjnOoYQ0nUlqqXcGpPu/4VgV/xU2pAqW4BW3qzhQ8/hFKhV2qE3+BKAtDqBXjfgnVdH4y0wg5tbVNRenNdTWOrenWLcupQdmsbq5b+18piTe/xRdp1xbILxNPJGInm2z6hoB21Lal0i+ePTtd7B45+3XhFJ329evskXm7qurUVREotqSluSo/L29d3qDhI4YOQqWhI4YNvBNfsMHeXKemXrxQfKeuPOGRVayA3JtkJKEgbPp+dXUDluddutRYLFoXGXWX6N3WFaGLbQtRSitVYNacTNSdy7AaG/HSaUEANcBoGXNdcZvZsOqQ1icBDv21/gzAoYPHH/WDW0qNR3QTYKEAEHig6o13NXbND06CQPlRtYjGNnSktRc09k1mAMDvAlDKfQjgy6fssInlfzmNAjKkDxoxHOBLdVRAIVt9j4qo+hA1w9T1aNBNTUOTTNUHLbqokE+UAfJXCIGw/IxCSL5GRUJeR40rL/UxTm4Q08H6MbCs70ObuNyIIXrINHQYInF06UUlevTjbQzTh5upiDMzMMogUtEnjPs/Y7jAHCJeB0GBHh04tC6FiB6ZFB1oArUSIoFoqhzCeAN6lHwm0T4C3VVPWvjpSMXReuWesMEcoqrmgtNBGd2noWeV0hNAz9rFeShNJxHGsPa3HXeKTk8b55hahySYHaYKKFFLpCfN8rsoaJn01CR04Gkc+5k7KVTCmClX8Q10HCrUEkVlSX+XO33oQR9609tJ516H497WSobWs5Up6TLaS10/dessIskgJSLiDlWvHVUywpkQ7hdPZqGyiEF0uVQerVcPamT1A3eKXdyI1vG9OoflrSXihZ1qqGE3nhmAgiIbRCQgPLEPtOM3UQwTLYaYYomNlpA44opnjV6jkD6id80OOrzf6BzmMD6eEa1zKyeYG1fzfEf16V6jw9XYOaar1/b2kP/IYX8oR2mcFvv2GtBV3JXgd437AQAA)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-cyrillic-wght-normal-D73BlboJ.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-greek-wght-normal-Bw9x6K1M.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-vietnamese-wght-normal-Bt-aOZkq.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-ext-wght-normal-DBQx-q_a.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-wght-normal-B9CIFXIH.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.coins-goal{text-align:center;color:var(--ink-2);font-size:1.05rem;font-weight:800}.coins-goal b{color:var(--ink);font-size:1.3rem;font-weight:900}.coins-table{border-radius:var(--r-s);background:var(--accent-soft);flex-wrap:wrap;place-content:center;align-items:center;gap:4px;min-height:92px;padding:10px;transition:box-shadow .2s;display:flex}.coins-table.ok{box-shadow:inset 0 0 0 3px var(--ok);background:var(--ok-bg)}.coins-q{margin-bottom:8px}.coins-empty{color:var(--ink-3);text-align:center;font-size:.9rem;font-weight:700}.coins-piece{animation:in .18s var(--ease);border-radius:8px;place-items:center;padding:1px;display:grid}button.coins-piece:focus-visible,.coins-key:focus-visible{outline:3px solid var(--accent);outline-offset:1px}.coins-piece svg,.coins-key svg{margin:0;display:block}.w .val.coins-ok{color:var(--ok)}.coins-row{flex-wrap:wrap;justify-content:center;gap:5px;display:flex}.coins-key{background:var(--key);min-width:44px;min-height:46px;box-shadow:inset 0 0 0 1px var(--line), 0 3px 0 var(--key-edge);transition:transform 90ms var(--ease), box-shadow 90ms var(--ease);border-radius:12px;place-items:center;padding:2px 3px;display:grid}.coins-key:active{box-shadow:inset 0 0 0 1px var(--line), 0 1px 0 var(--key-edge);transform:translateY(2px)}.coins-key:disabled{opacity:.45}.units-in{justify-content:center;align-items:center;gap:8px;display:flex}.units-in input,.units-in select{border:2px solid var(--line);background:var(--key);height:44px;color:var(--ink);font:inherit;border-radius:10px;padding:0 10px;font-size:1.1rem;font-weight:800}.units-in input{text-align:right;font-variant-numeric:tabular-nums;width:9em;min-width:0}.units-in select{min-width:4.5em}.units-in input:focus-visible,.units-in select:focus-visible,.units-u:focus-visible{outline:3px solid var(--accent);outline-offset:1px}.units-in .reveal{min-width:44px;height:44px;padding:0 10px;font-size:1.1rem}.units-ladder{border-left:5px solid var(--line);border-right:5px solid var(--line);border-radius:4px;padding:2px 12px;position:relative}.units-rung{align-items:center;gap:6px;min-height:44px;display:flex}.units-u{background:var(--key);min-width:52px;height:38px;box-shadow:inset 0 0 0 1px var(--line), 0 3px 0 var(--key-edge);transition:transform 90ms var(--ease), box-shadow 90ms var(--ease), background .15s;border-radius:10px;padding:0 10px;font-size:1rem;font-weight:850}.units-u:active{box-shadow:inset 0 0 0 1px var(--line), 0 1px 0 var(--key-edge);transform:translateY(2px)}.units-u.from{background:var(--accent-soft);box-shadow:inset 0 0 0 2px var(--accent), 0 3px 0 var(--key-edge)}.units-u.to{background:var(--accent);color:var(--on-accent);box-shadow:0 3px 0 var(--accent-edge)}.units-eq{color:var(--ink-3);font-weight:800}.units-v{text-align:right;color:var(--accent-ink);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;min-width:0;margin-left:auto;font-weight:850}.units-gap{color:var(--ink-3);padding-left:14px;font-size:.8rem;font-weight:800;line-height:1.5;transition:color .2s}.units-gap.path{color:var(--accent-ink);font-size:.9rem}.units-q{text-align:center;margin-bottom:8px;font-size:1.5rem;font-weight:900}.units-blank{border-bottom:3px solid var(--accent);min-width:2.2em;color:var(--ink-3);padding:0 6px;display:inline-block}.sieve-grid{grid-template-columns:repeat(10,minmax(0,1fr));gap:3px;display:grid}.sieve-c{--sc:var(--accent);aspect-ratio:1;font-variant-numeric:tabular-nums;min-height:30px;color:var(--ink);background:var(--key);box-shadow:inset 0 0 0 1px var(--line);border-radius:7px;font-size:.85rem;font-weight:800;transition:background .2s,color .2s,box-shadow .2s;position:relative}.sieve-c:focus-visible{outline:3px solid var(--ink);outline-offset:1px;z-index:1}.sieve-c:active{transform:translateY(1px)}.sieve-c.one,.sieve-c.out{color:var(--ink-3);text-decoration:line-through;text-decoration-thickness:2px}.sieve-c.one{background:var(--bg);box-shadow:none}.sieve-c.out{background:color-mix(in oklab, var(--sc) 24%, var(--card));box-shadow:none;-webkit-text-decoration-color:var(--sc);text-decoration-color:var(--sc)}.sieve-c.prime{background:color-mix(in oklab, var(--sc) 55%, var(--card));color:var(--ink);box-shadow:inset 0 0 0 3px var(--sc);font-weight:900}.sieve-c.rest{background:var(--ok-bg);color:var(--ok);box-shadow:inset 0 0 0 2px var(--ok);font-weight:900}.sieve-c.ma{background:color-mix(in oklab, var(--k-blue) 35%, var(--card))}.sieve-c.mb{background:color-mix(in oklab, var(--k-orange) 35%, var(--card))}.sieve-c.both{background:linear-gradient(135deg, color-mix(in oklab, var(--k-blue) 45%, var(--card)) 50%, color-mix(in oklab, var(--k-orange) 45%, var(--card)) 50%);font-weight:900}.sieve-c.sel{box-shadow:inset 0 0 0 2px var(--ink);font-weight:900}.sieve-c.lcm{box-shadow:inset 0 0 0 3px var(--ok);color:var(--ok)}.sieve-info{gap:6px;display:grid}.sieve-line{color:var(--ink-2);align-items:flex-start;gap:8px;font-size:.9rem;font-weight:700;display:flex}.sieve-line b{color:var(--ink)}.sieve-line i{border-radius:4px;flex:none;width:16px;height:16px;margin-top:2px}.sieve-line i.ma{background:color-mix(in oklab, var(--k-blue) 45%, var(--card))}.sieve-line i.mb{background:color-mix(in oklab, var(--k-orange) 45%, var(--card))}.sieve-line i.both{background:linear-gradient(135deg, color-mix(in oklab, var(--k-blue) 45%, var(--card)) 50%, color-mix(in oklab, var(--k-orange) 45%, var(--card)) 50%);box-shadow:inset 0 0 0 2px var(--ok)}.sieve-line i.none{box-shadow:inset 0 0 0 2px var(--line);background:0 0}.dice-last{flex-wrap:wrap;justify-content:center;gap:10px;min-height:48px;display:flex}.w .dice-last svg{margin:0}.w.dice .ctrls .reveal{padding:0 12px}.dice-face{fill:var(--key);stroke:var(--ink-2);stroke-width:2px}.dice-pip{fill:var(--ink)}.dice-coin{fill:color-mix(in oklab, var(--k-yellow) 55%, var(--card));stroke:color-mix(in oklab, var(--k-yellow) 50%, var(--ink));stroke-width:2px}.dice-coin-rim{stroke:color-mix(in oklab, var(--k-yellow) 40%, var(--ink));stroke-width:1px;stroke-dasharray:2 2}.dice-coin-t{fill:color-mix(in oklab, var(--k-yellow) 25%, var(--ink))}.w.dice .reveal[disabled]{opacity:.45;pointer-events:none}.dice-reset{background:var(--bg);color:var(--ink);box-shadow:inset 0 0 0 1px var(--line), 0 3px 0 var(--key-edge)}.dice-grid{stroke:var(--line);stroke-width:1px}.dice-axis{fill:var(--ink-3);font-variant-numeric:tabular-nums}.dice-bar{fill:color-mix(in oklab, var(--ink-3) 40%, var(--card));transform-box:fill-box;transform-origin:bottom;transition:transform .25s ease-out}.dice-bar.on{fill:var(--accent)}.dice-th{stroke:var(--ink);stroke-width:2.5px;stroke-dasharray:5 3}.dice-cnt{fill:var(--ink-2);font-variant-numeric:tabular-nums;font-weight:700}.dice-out{fill:var(--ink-2)}.dice-out.on{fill:var(--accent-ink)}.dice-legend{color:var(--ink-2);flex-wrap:wrap;justify-content:center;gap:16px;font-size:.82rem;font-weight:700;display:flex}.dice-legend span{align-items:center;gap:6px;display:inline-flex}.dice-key-bar{background:var(--accent);border-radius:3px;width:12px;height:12px}.dice-key-th{border-top:2.5px dashed var(--ink);width:18px}.dice-event{background:var(--accent-soft);color:var(--ink);border-radius:12px;gap:4px;padding:12px;font-size:.95rem;display:grid}.dice-ev-h{color:var(--accent-ink);font-weight:900}.dice-event svg{margin-top:4px}.dice-hist{fill:none;stroke:var(--accent-ink);stroke-width:2px;stroke-linejoin:round}.dice-note{text-align:center;color:var(--ink-2);font-size:.85rem;font-weight:650}.dice-table{border-collapse:collapse;font-variant-numeric:tabular-nums;margin:0 auto;font-weight:700}.dice-table th,.dice-table td{text-align:center;border:1px solid var(--line);width:34px;height:30px}.dice-table th{background:var(--bg);color:var(--ink-2)}.stats-chart{border-bottom:2px solid var(--ink-3);gap:4px;height:170px;margin-top:16px;padding:0 4px;display:flex;position:relative}.stats-chart.cross{border-bottom-color:var(--line);border-bottom-width:1px;margin-bottom:14px}.stats-zero{border-top:2px solid var(--ink-3);height:0;position:absolute;left:0;right:0}.stats-bar{z-index:1;flex:1 1 0;min-width:0;max-width:46px;height:100%;margin:0 auto;position:relative}.stats-fill{background:color-mix(in oklab, var(--accent) 55%, var(--card));border-radius:6px;transition:height .2s ease-out,bottom .2s ease-out,background .2s;position:absolute;left:0;right:0}.stats-bar.sel .stats-fill{background:var(--accent)}.stats-bar:focus-visible{outline:3px solid var(--accent-ink);outline-offset:2px}.stats-num{text-align:center;color:var(--ink-2);font-variant-numeric:tabular-nums;white-space:nowrap;letter-spacing:-.02em;text-shadow:0 0 3px var(--card), 0 0 3px var(--card), 0 0 2px var(--card);font-size:.72rem;font-weight:800;line-height:1.2;position:absolute;left:-6px;right:-6px}.stats-bar.sel .stats-num{color:var(--accent-ink)}.stats-line{z-index:0;pointer-events:none;height:0;transition:bottom .2s ease-out;position:absolute;left:0;right:0}.stats-line.mean{border-top:2.5px solid var(--ink)}.stats-line.median{border-top:2.5px dashed var(--k-blue)}.w.stats button[disabled]{opacity:.4;pointer-events:none}.stats-sorted{flex-wrap:wrap;justify-content:center;align-items:center;gap:4px;display:flex}.stats-cap{color:var(--ink-2);margin-right:4px;font-size:.82rem;font-weight:700}.stats-chip{text-align:center;background:var(--bg);font-variant-numeric:tabular-nums;border-radius:8px;min-width:28px;padding:3px 6px;font-size:.9rem;font-weight:800}.stats-chip.mid{background:color-mix(in oklab, var(--k-blue) 22%, var(--card));color:color-mix(in oklab, var(--k-blue) 70%, var(--ink));box-shadow:inset 0 0 0 2px color-mix(in oklab, var(--k-blue) 60%, var(--card))}.stats-cards{grid-template-columns:1fr 1fr;gap:8px;display:grid}.stats-card{background:var(--bg);border-radius:12px;align-content:start;gap:2px;min-width:0;padding:10px;display:grid}.stats-card b{color:var(--ink-2);font-size:.8rem}.stats-big{color:var(--accent-ink);font-size:1.2rem;font-weight:900}.stats-card small{color:var(--ink-2);overflow-wrap:anywhere;font-size:.78rem;font-weight:650}.stats-out{text-align:center;justify-items:center;gap:8px;font-size:.92rem;display:grid}.stats-out .reveal{justify-self:center}.stats-hint{font-size:.82rem}.stats-legend{color:var(--ink-2);justify-content:center;gap:16px;margin-top:-4px;font-size:.82rem;font-weight:700;display:flex}.stats-legend span{align-items:center;gap:6px;display:inline-flex}.stats-legend i{width:20px;height:0}.stats-legend i.mean{border-top:2.5px solid var(--ink)}.stats-legend i.median{border-top:2.5px dashed var(--k-blue)}.coordinates-grid{touch-action:manipulation;border-radius:10px}.coordinates-grid.pick{cursor:crosshair}.coordinates-grid:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.coordinates-quad{fill:var(--ink-3);opacity:.35;font-size:22px;font-weight:900;font-family:var(--mono)}.coordinates-axis{fill:var(--ink-2);font-size:14px;font-style:italic;font-weight:900}.coordinates-tick{fill:var(--ink-3);font-variant-numeric:tabular-nums;font-size:10px;font-weight:700}.coordinates-mirror{stroke:var(--k-purple);stroke-width:3.5px;stroke-dasharray:7 5;stroke-linecap:round}.coordinates-poly{fill:color-mix(in oklab, var(--accent) 18%, transparent);stroke:var(--accent);stroke-width:2.5px;stroke-linejoin:round}.coordinates-poly.image{fill:color-mix(in oklab, var(--k-blue) 18%, transparent);stroke:var(--k-blue)}.coordinates-dot .pt{fill:var(--accent);stroke:var(--card);stroke-width:2px}.coordinates-dot text{fill:var(--ink);paint-order:stroke;stroke:var(--card);stroke-width:4px;stroke-linejoin:round;font-variant-numeric:tabular-nums;font-size:13px;font-weight:900}.coordinates-dot.image .pt{fill:var(--k-blue)}.coordinates-dot.found .pt{fill:var(--ok)}.coordinates-dot.target .pt{r:7px}.coordinates-dot.tap{cursor:pointer}.coordinates-cursor{transition:transform .15s var(--ease);pointer-events:none}.coordinates-cursor circle{fill:color-mix(in oklab, var(--accent) 25%, transparent);stroke:var(--accent);stroke-width:2.5px}.coordinates-cursor .core{fill:var(--accent);stroke:none}.coordinates-mono{font-family:var(--mono);color:var(--ink)}.coordinates-names{gap:8px}.coordinates-name{background:var(--bg);min-width:44px;min-height:40px;font-family:var(--mono);border-radius:10px;padding:0 12px;font-size:.9rem;font-weight:800}.coordinates-name.on{background:var(--accent-soft);color:var(--accent-ink)}.coordinates-pad{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;display:flex}.coordinates-pad button:not(.reveal){background:var(--bg);border-radius:10px;width:44px;height:44px;font-size:1.2rem;font-weight:900}.coordinates-pad .reveal{min-height:44px;margin-left:6px}.coordinates-msg{text-align:center;border-radius:10px;min-height:1.4em;padding:0;font-size:.95rem;font-weight:800}.coordinates-msg.ok,.coordinates-msg.bad{padding:8px 12px}.coordinates-msg.ok{background:var(--ok-bg);color:var(--ok)}.coordinates-msg.bad{background:var(--bad-bg);color:var(--bad)}@media (prefers-reduced-motion:reduce){.coordinates-cursor{transition:none}}.coordinates-dot .hit{fill:#0000}.w .coordinates-task{font-size:1.15rem;line-height:1.3}.circle-seg{background:var(--bg);border-radius:12px;justify-self:center;gap:4px;padding:4px;display:flex}.circle-seg button{min-height:38px;font-family:var(--mono);color:var(--ink-2);border-radius:9px;padding:0 12px;font-size:.82rem;font-weight:700;transition:background .2s,color .2s}.circle-seg button.on{background:var(--accent);color:var(--on-accent)}.circle-opts{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.circle-disc{fill:var(--accent-soft);stroke:var(--accent);stroke-width:3px;transition:r .15s var(--ease)}.circle-sector{fill:color-mix(in oklab, var(--k-green) 40%, var(--card));stroke:var(--k-green);stroke-width:1.5px;stroke-linejoin:round}.circle-arc{fill:none;stroke:var(--k-green);stroke-width:5px;stroke-linecap:round}.circle-r{stroke:var(--accent-ink);stroke-width:3px;stroke-linecap:round}.circle-d{stroke:var(--k-blue);stroke-width:3px;stroke-linecap:round}.circle-d.thin{stroke-width:2px;stroke-dasharray:4 4}.circle-label{paint-order:stroke;stroke:var(--card);stroke-width:4px;stroke-linejoin:round;font-size:16px;font-style:italic;font-weight:900}.circle-label.r{fill:var(--accent-ink)}.circle-label.d{fill:var(--k-blue)}.circle-label.s{fill:var(--ink);font-size:13px;font-style:normal}.circle-label.alpha{fill:var(--ink);stroke:none}.circle-lines{text-align:center;color:var(--ink-2);font-variant-numeric:tabular-nums;justify-items:center;gap:6px;font-size:.95rem;font-weight:700;display:grid}.circle-lines b{color:var(--accent-ink);font-weight:900}.circle-frac{white-space:nowrap}.circle-roll{overflow:visible}.circle-ghost{fill:var(--accent-soft);stroke:none}.circle-rim{fill:none;stroke:var(--accent);stroke-width:4px;stroke-dasharray:100 100;stroke-dashoffset:0;transition:stroke-dashoffset 1.8s linear}.circle-unrolled{stroke:var(--accent);stroke-width:4px;stroke-linecap:round;stroke-dasharray:100 100;stroke-dashoffset:100px;transition:stroke-dashoffset 1.8s linear}.circle-wheel{transform-box:view-box;transition:transform 1.8s linear}.circle-roll.rolled .circle-rim{stroke-dashoffset:-100px}.circle-roll.rolled .circle-unrolled{stroke-dashoffset:0}.circle-ticks{opacity:0;transition:opacity .3s}.circle-roll.rolled .circle-ticks{opacity:1;transition-delay:1.8s}.circle-tick-rest{fill:var(--ink-2);font-size:11px;font-weight:800}@media (prefers-reduced-motion:reduce){.circle-rim,.circle-unrolled,.circle-wheel,.circle-ticks,.circle-disc{transition:none!important}}.cuboid-seg{background:var(--bg);border-radius:12px;justify-self:center;gap:4px;padding:4px;display:flex}.cuboid-seg button{min-height:38px;font-family:var(--mono);color:var(--ink-2);border-radius:9px;padding:0 16px;font-size:.85rem;font-weight:700;transition:background .2s,color .2s}.cuboid-seg button.on{background:var(--accent);color:var(--on-accent)}.cuboid-ab{fill:color-mix(in oklab, var(--k-blue) 38%, var(--card))}.cuboid-ac{fill:color-mix(in oklab, var(--k-orange) 55%, var(--card))}.cuboid-bc{fill:color-mix(in oklab, var(--k-green) 50%, var(--card))}.cuboid-solid polygon{stroke:var(--ink);stroke-width:1.2px;stroke-linejoin:round}.cuboid-grid{fill:none;stroke:color-mix(in oklab, var(--ink) 40%, transparent);stroke-width:1px}.cuboid-ghost polygon{fill:none;stroke:var(--ink-3);stroke-width:1.2px;stroke-dasharray:4 4}.cuboid-layer{opacity:0;transition:opacity .22s var(--ease), transform .22s var(--ease);transform:translateY(-14px)}.cuboid-solid.filled .cuboid-layer{opacity:1;transform:none}.cuboid-dim{fill:var(--ink);paint-order:stroke;stroke:var(--card);stroke-width:4px;stroke-linejoin:round;font-size:13px;font-weight:900}.cuboid-net{animation:in .25s var(--ease)}.cuboid-edge{fill:none;stroke:var(--ink);stroke-width:1.5px}.cuboid-area{fill:var(--ink);paint-order:stroke;stroke:color-mix(in oklab, var(--card) 70%, transparent);stroke-width:3px;font-size:13px;font-weight:900}.cuboid-out{gap:6px;display:grid}.cuboid-out .val{font-size:1.15rem;line-height:1.3}.cuboid-s{text-align:center;color:var(--ink-2);font-size:.95rem;font-weight:800;line-height:1.6}.cuboid-s b{color:var(--accent-ink);font-weight:900}.cuboid-t,.cuboid-key{color:var(--ink);white-space:nowrap;border-radius:6px;padding:1px 5px}.cuboid-t.ab,.cuboid-key.ab{background:color-mix(in oklab, var(--k-blue) 38%, var(--card))}.cuboid-t.ac,.cuboid-key.ac{background:color-mix(in oklab, var(--k-orange) 55%, var(--card))}.cuboid-t.bc,.cuboid-key.bc{background:color-mix(in oklab, var(--k-green) 50%, var(--card))}@media (prefers-reduced-motion:reduce){.cuboid-layer{transition:none}.cuboid-net{animation:none}}.functions .val sup,.functions .val sub{font-size:.6em}.functions-types .chip{min-height:40px;padding:0 12px;font-size:.9rem}.functions-props{font-variant-numeric:tabular-nums;gap:0;margin:0;font-size:.88rem;display:grid}.functions-props>div{border-bottom:1px solid var(--line);grid-template-columns:7.2em minmax(0,1fr);gap:8px;padding:6px 0;display:grid}.functions-props>div:last-child{border-bottom:0}.functions-props dt{color:var(--ink-2);font-weight:800}.functions-props dd{color:var(--ink);overflow-wrap:anywhere;margin:0;font-weight:650}.uc{--uc-sin:var(--k-red);--uc-cos:var(--k-blue);--uc-sin-ink:color-mix(in oklab, var(--k-red) 72%, var(--ink));--uc-cos-ink:color-mix(in oklab, var(--k-blue) 72%, var(--ink))}.uc-sector{fill:var(--accent-soft);transition:d .2s}.uc-q{fill:var(--ink-3)}.uc-q.on{fill:var(--accent-ink)}.uc-axis{stroke:var(--ink-3);stroke-width:1.5px}.uc-gridl{stroke:var(--line);stroke-width:1px;stroke-dasharray:3 3}.uc-lbl{fill:var(--ink-2);font-weight:700}.uc-circle{fill:none;stroke:var(--ink-2);stroke-width:2px}.uc-arc{fill:none;stroke:var(--accent);stroke-width:2.5px}.uc-arc-t{fill:var(--accent-ink)}.uc-radius{stroke:var(--ink);stroke-width:2.5px;stroke-linecap:round}.uc-cos{stroke:var(--uc-cos);stroke-width:5px;stroke-linecap:round}.uc-sin{stroke:var(--uc-sin);stroke-width:5px;stroke-linecap:round}.uc-sin.thin{stroke-width:3px}.uc-link{stroke:var(--uc-sin);stroke-width:1.5px;stroke-dasharray:4 3;opacity:.8}.uc-pt{fill:var(--ink);stroke:var(--card);stroke-width:2px}.uc-cos-t{fill:var(--uc-cos-ink)}.uc-sin-t{fill:var(--uc-sin-ink)}.uc-sine-all{fill:none;stroke:var(--ink-3);stroke-width:1.5px;stroke-dasharray:3 4}.uc-sine{fill:none;stroke:var(--uc-sin);stroke-width:3px;stroke-linejoin:round;stroke-linecap:round}.uc .val small,.uc-approx{color:var(--ink-2);font-size:.75em;font-weight:700}.uc-vals{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.uc-row{background:var(--bg);border-top:4px solid var(--line);text-align:center;border-radius:12px;justify-items:center;gap:2px;min-width:0;padding:8px 4px;display:grid}.uc-row.sin{border-top-color:var(--uc-sin)}.uc-row.cos{border-top-color:var(--uc-cos)}.uc-row.tg{border-top-color:var(--ink-3)}.uc-name{color:var(--ink-2);font-size:.8rem;font-weight:800}.uc-row.sin .uc-name{color:var(--uc-sin-ink)}.uc-row.cos .uc-name{color:var(--uc-cos-ink)}.uc-v{color:var(--ink);font-variant-numeric:tabular-nums;font-size:1.1rem;font-weight:900}.uc-v small{color:var(--ink-2);font-size:.72rem;font-weight:700;display:block}.doc-title{text-align:center;font-size:1.1rem;font-weight:900}.doc-author{text-align:center;color:var(--ink-3);margin-top:-4px;font-size:.9rem;font-style:italic;font-weight:700}.doc-paper{--dc:var(--accent);background:var(--key);box-shadow:inset 0 0 0 1px var(--line), 0 3px 0 var(--key-edge);-webkit-user-select:text;user-select:text;border-radius:6px;padding:18px 16px;font-size:.98rem;line-height:1.45;position:relative}.doc-body{gap:12px;display:grid}.doc-show .doc-body{gap:18px}.doc-part-wrap{gap:6px;min-width:0;display:grid}.doc-part{text-align:left;overflow-wrap:anywhere;border-radius:8px;width:calc(100% + 16px);margin:-6px -8px;padding:6px 8px;transition:box-shadow .15s,background .15s;display:block;position:relative;box-shadow:inset 0 0 0 2px #0000}.doc-part.on{box-shadow:inset 0 0 0 2px var(--dc);background:color-mix(in oklab, var(--dc) 8%, transparent)}.doc-part.sel{background:color-mix(in oklab, var(--dc) 18%, transparent)}.doc-line{min-height:1.45em;display:block}.doc-gap{height:.8em;display:block}.doc-tag{background:color-mix(in oklab, var(--dc) 28%, var(--key));color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--dc);font-family:var(--mono);text-align:left;opacity:0;pointer-events:none;white-space:nowrap;text-overflow:ellipsis;border-radius:6px;max-width:80%;padding:1px 7px;font-size:.68rem;font-weight:750;line-height:1.5;transition:opacity .15s,transform .15s;position:absolute;top:-10px;right:8px;overflow:hidden;transform:translateY(3px)}.doc-part.on .doc-tag{opacity:1;transform:none}.doc-note{border-left:4px solid var(--dc);background:var(--bg);color:var(--ink-2);animation:in .2s var(--ease);-webkit-user-select:text;user-select:text;border-radius:0 8px 8px 0;padding:8px 10px;font-size:.9rem;font-weight:650;line-height:1.4}.doc-note b{color:var(--ink);text-transform:uppercase;letter-spacing:.03em;margin-right:4px;font-size:.75rem}.doc-letter{padding:22px 18px}.doc-email{border-radius:12px;padding:0 14px 16px}.doc-head{border-bottom:1px solid var(--line);background:var(--bg);border-radius:12px 12px 0 0;grid-template-columns:auto 1fr;gap:4px 10px;margin:0 -14px 14px;padding:12px 14px;font-size:.88rem;display:grid}.doc-head dt{font-family:var(--mono);color:var(--ink-3);align-self:center;font-size:.78rem;font-weight:700}.doc-head dd{overflow-wrap:anywhere;min-width:0;margin:0}.doc-sms{box-shadow:none;background:0 0;justify-items:start;gap:6px;padding:0;display:grid}.doc-sms .doc-body{background:color-mix(in oklab, var(--k-blue) 16%, var(--key));max-width:88%;box-shadow:inset 0 0 0 1px var(--line);border-radius:20px 20px 20px 6px;padding:12px 14px;position:relative}.doc-sms.doc-show .doc-body{gap:16px}.doc-contact{font-family:var(--mono);color:var(--ink-3);margin-left:8px;font-size:.75rem;font-weight:700}.doc-poem,.doc-poem .doc-part{text-align:center}.doc-poem .doc-body{gap:18px}.doc-book{font-family:Georgia,Times New Roman,serif;font-size:1.02rem}.doc-book .doc-line{text-indent:1.5em}.doc-book .doc-tag{font-family:var(--mono)}.doc-note{text-align:left}.mem-grid{gap:8px;width:100%;max-width:520px;margin:0 auto;display:grid}.mem-card{perspective:700px;aspect-ratio:4/5;border-radius:var(--r-s);min-width:0;min-height:72px}.mem-in{width:100%;height:100%;transition:transform .35s var(--ease);transform-style:preserve-3d;display:block;position:relative}.mem-card.up .mem-in{transform:rotateY(180deg)}.mem-back,.mem-face{border-radius:var(--r-s);backface-visibility:hidden;text-align:center;place-items:center;padding:6px;line-height:1.2;display:grid;position:absolute;inset:0}.mem-back{background:var(--accent);color:var(--on-accent);font-family:var(--mono);background-image:repeating-linear-gradient(45deg, color-mix(in oklab, var(--on-accent) 12%, transparent) 0 6px, transparent 6px 12px);box-shadow:0 3px 0 var(--accent-edge);font-size:1.4rem;font-weight:800}.mem-face{background:var(--key);color:var(--ink);box-shadow:inset 0 0 0 2px var(--line);overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto;font-size:1rem;font-weight:800;transition:background .2s,box-shadow .2s;transform:rotateY(180deg)}.mem-face.long{font-size:.8rem;font-weight:750}.mem-face.emoji{font-size:2rem}.mem-face code{font-size:.85em}.mem-card.found .mem-face{background:var(--ok-bg);color:var(--ok);box-shadow:inset 0 0 0 2px var(--ok)}.mem-card.wrong .mem-face{background:var(--bad-bg);box-shadow:inset 0 0 0 2px var(--bad)}.mem-card.found{cursor:default}.mem-card:active .mem-back{box-shadow:0 1px 0 var(--accent-edge)}.mem-stat{font-family:var(--mono);color:var(--ink-2);justify-content:center;gap:18px;font-size:.85rem;font-weight:700;display:flex}.mem-stat b{color:var(--ink);font-variant-numeric:tabular-nums}.mem-sr{text-align:center;min-height:1.3em;color:var(--ink-3);font-size:.88rem;font-weight:700}@media (prefers-reduced-motion:reduce){.mem-in{transition:none;transform:none!important}.mem-face{visibility:hidden;transform:none}.mem-card.up .mem-face{visibility:visible}.mem-card.up .mem-back{visibility:hidden}}.sen-cats{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.sen-cat{--sc:var(--accent);align-items:center;gap:6px;min-height:38px;padding:0 10px 0 7px;font-size:.85rem;display:inline-flex}.sen-cat i{font-style:normal;font-family:var(--mono);background:color-mix(in oklab, var(--sc) 30%, var(--key));min-width:22px;height:22px;box-shadow:inset 0 0 0 1.5px var(--sc);color:var(--ink);border-radius:6px;place-items:center;padding:0 4px;font-size:.72rem;font-weight:800;display:inline-grid}.sen-cat i:empty{background:var(--sc);border-radius:50%;width:12px;min-width:12px;height:12px;padding:0}.sen-cat.sel{border-color:var(--sc);background:color-mix(in oklab, var(--sc) 20%, var(--key))}.sen-words{flex-wrap:wrap;justify-content:center;gap:6px 4px;padding:6px 0;font-size:1.2rem;font-weight:800;display:flex}.sen-word{--sc:transparent;border-bottom:3px solid var(--line);overflow-wrap:anywhere;background:0 0;border-radius:9px;justify-items:center;gap:1px;max-width:100%;padding:4px 7px 2px;transition:background .2s,border-color .2s;display:grid}.sen-word small{font-family:var(--mono);color:var(--ink-2);min-height:1.2em;font-size:.66rem;font-weight:800;line-height:1.2em}.sen-word.on{background:color-mix(in oklab, var(--sc) 24%, var(--card));border-color:var(--sc)}.sen-word.bad{background:var(--bad-bg);border-color:var(--bad);animation:.3s shake}@media (hover:hover){.sen-word:not(.on):hover{background:color-mix(in oklab, var(--ink) 6%, transparent)}}.sen-msg{min-height:1.4em}.w .sen-msg.sub{font-size:.9rem}.w .sen-msg.val{font-size:1.1rem}.sen-prog{text-align:center;font-family:var(--mono);color:var(--ink-3);margin-top:-6px;font-size:.8rem;font-weight:700}.sen-legend{color:var(--ink-2);flex-wrap:wrap;justify-content:center;gap:6px 14px;margin:0;padding:0;font-size:.85rem;font-weight:750;list-style:none;display:flex}.sen-legend li{align-items:center;gap:6px;display:inline-flex}.sen-legend i{background:var(--sc);border-radius:4px;width:14px;height:14px}.sen-legend b{font-family:var(--mono);color:var(--ink);font-size:.75rem}.sen-pairs{border-radius:var(--r-s);background:var(--bg);justify-items:center;gap:6px;padding:10px;display:grid}.sen-pairs-t{font-family:var(--mono);color:var(--ink-3);font-size:.75rem;font-weight:700}.sen-pair{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;font-weight:800;display:flex}.sen-pair b{--sc:var(--line);border-bottom:3px solid var(--sc);background:color-mix(in oklab, var(--sc) 22%, var(--card));border-radius:7px;padding:1px 7px}.sen-pair em{color:var(--ink-2);font-size:.9rem;font-weight:700}.sen-arrow{color:var(--ink-3);font-weight:900}.circuit-flow{fill:none;stroke:var(--accent);stroke-width:5px;stroke-linecap:round;stroke-dasharray:0 18;animation:1s linear infinite circuit-flow}.circuit-flow.paused{animation-play-state:paused}@keyframes circuit-flow{0%{stroke-dashoffset:18px}to{stroke-dashoffset:0}}.circuit-glow{fill:color-mix(in oklab, var(--k-yellow) 70%, transparent);filter:blur(4px);transition:opacity .3s,r .3s}.circuit-switch{transition:all .15s}.circuit-calc{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;gap:2px;font-size:.88rem;display:grid}.circuit-law{color:var(--accent-ink)}.circuit-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:.84rem}.circuit-table th,.circuit-table td{text-align:right;border-bottom:1px solid var(--line);white-space:nowrap;padding:5px 4px}.circuit-table thead th{color:var(--ink-3);font-weight:800}.circuit-table tbody th{text-align:left;color:var(--ink-2);font-weight:800}.circuit-total td,.circuit-total th{color:var(--accent-ink);border-bottom:0;font-weight:850}.circuit .circuit-step span{min-width:92px}.circuit .circuit-step button:disabled{opacity:.4}@media (prefers-reduced-motion:reduce){.circuit-flow{animation:none}.circuit-pause{display:none}}.lever-move{transition:transform .4s var(--ease)}.lever .val.lever-ok{color:var(--ok)}.lever-calc{font-variant-numeric:tabular-nums;gap:2px;font-size:.9rem;display:grid}.lever-calc b{font-weight:900}.lever-l{color:color-mix(in oklab, var(--k-blue) 70%, var(--ink))}.lever-r{color:color-mix(in oklab, var(--k-orange) 70%, var(--ink))}.lever-goal{color:var(--accent-ink)}.lever-note{color:var(--ink-3);font-size:.8rem;font-weight:650}.lever-ctrls{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px;display:grid}.lever-ctrls.only{grid-template-columns:1fr}.lever-side{justify-items:center;gap:6px;display:grid}.lever-head{color:var(--ink-2);font-size:.85rem;font-weight:850}.lever .lever-step{gap:3px;padding:3px 3px 5px}.lever .lever-step button{width:36px;height:38px}.lever .lever-step span{min-width:54px;font-size:.82rem}.lever .lever-step button:disabled{opacity:.4}@media (prefers-reduced-motion:reduce){.lever-move{transition:none}}.periodic-alkali{--pc:var(--k-red)}.periodic-earth{--pc:var(--k-orange)}.periodic-transition{--pc:var(--k-yellow)}.periodic-lanthanoid{--pc:var(--k-pink)}.periodic-actinoid{--pc:var(--k-purple)}.periodic-metal{--pc:var(--k-gray)}.periodic-metalloid{--pc:var(--k-lime)}.periodic-nonmetal{--pc:var(--k-green)}.periodic-halogen{--pc:var(--k-teal)}.periodic-noble{--pc:var(--k-blue)}.periodic-scroll{overscroll-behavior-x:contain;margin:0 -6px;padding:0 6px 4px;overflow-x:auto;container-type:inline-size}.periodic-grid{gap:2px;font-size:clamp(7px,2.5cqw,15px);display:grid}.periodic-grid.compact{gap:4px;font-size:clamp(11px,4.4cqw,18px)}.periodic-scroll.zoom .periodic-grid{gap:3px;width:760px;font-size:15px}.periodic-head{font-family:var(--mono);color:var(--ink-3);place-items:center;min-height:1.4em;font-size:.7em;font-weight:700;display:grid}.periodic-gap{font-family:var(--mono);color:var(--ink-3);border:1px dashed var(--line);text-align:center;border-radius:4px;place-items:center;font-size:.55em;font-weight:700;display:grid}.periodic-el{aspect-ratio:1/1.12;background:color-mix(in oklab, var(--pc) 42%, var(--card));min-width:0;color:var(--ink);transition:opacity .15s, transform .1s var(--ease), box-shadow .15s;border-radius:4px;place-items:center;display:grid;position:relative}.periodic-el b{font-size:1em;font-weight:850;line-height:1}.periodic-z{font-family:var(--mono);color:var(--ink-2);font-size:.5em;font-weight:600;line-height:1;position:absolute;top:.12em;left:.2em}.periodic-el.dim{opacity:.22}.periodic-el.sel{box-shadow:0 0 0 2px var(--ink);z-index:1;transform:scale(1.12)}.periodic-el:active{transform:scale(.94)}@container (width<=480px){.periodic-grid:not(.compact) .periodic-z{display:none}}.periodic-grid.compact .periodic-el{border-radius:8px}.periodic-grid.compact .periodic-el b{font-size:1.15em}.periodic-el.frow{margin-top:.5em}.periodic-detail{grid-template-columns:auto 1fr;align-items:center;gap:2px 14px;min-height:5.5em;display:grid}.periodic-detail>.sub{grid-column:1/-1}.periodic-big{background:color-mix(in oklab, var(--pc) 42%, var(--card));width:76px;height:86px;color:var(--ink);border-radius:12px;grid-row:span 2;grid-template-rows:auto 1fr auto;place-items:center;padding:6px 4px;display:grid}.periodic-big span{font-family:var(--mono);color:var(--ink-2);font-size:.72rem;font-weight:700}.periodic-big b{font-size:2rem;font-weight:900;line-height:1}.periodic-facts{display:contents}.periodic-name{text-transform:capitalize;align-self:end;font-size:1.25rem;font-weight:900}.periodic-facts>span{color:var(--ink-2);align-self:start;font-size:.9rem;font-weight:700}.periodic-facts dl{grid-column:1/-1;grid-template-columns:auto 1fr;gap:3px 10px;margin:6px 0 0;font-size:.88rem;display:grid}.periodic-facts dt{color:var(--ink-2);font-weight:600}.periodic-facts dd{overflow-wrap:anywhere;margin:0;font-weight:800}.periodic-facts small{color:var(--ink-3);grid-column:1/-1;margin-top:4px;font-size:.78rem}.periodic-legend{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.periodic-key{min-height:32px;color:var(--ink-2);box-shadow:inset 0 0 0 1px var(--line);border-radius:999px;align-items:center;gap:6px;padding:0 10px;font-size:.8rem;font-weight:700;transition:background .15s,color .15s;display:inline-flex}.periodic-key i{background:color-mix(in oklab, var(--pc) 70%, var(--card));border-radius:3px;width:12px;height:12px}.periodic-key.on{background:var(--ink);color:var(--bg);box-shadow:none}.chem-eq{flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:10px 4px;display:flex}.chem-sp{justify-items:center;gap:6px;display:grid}.chem-top{align-items:baseline;gap:4px;min-height:2.2rem;display:inline-flex}.chem-f{white-space:nowrap;font-size:1.35rem;font-weight:850}.chem-f sub{font-size:.68em;font-weight:800}.chem-n{color:var(--accent-ink);font-variant-numeric:tabular-nums;font-size:1.35rem;font-weight:900}.chem-n.one{color:var(--ink-3);opacity:.6}.chem-op{color:var(--ink-2);padding:0 2px;font-size:1.3rem;font-weight:800;line-height:2.2rem}.chem-arrow{padding:0 6px}.chem-k{background:var(--bg);border-radius:12px;gap:4px;padding:3px 3px 5px;display:inline-flex}.chem-k button{width:36px;height:34px;font-family:var(--mono);background:var(--key);box-shadow:inset 0 0 0 1px var(--line), 0 2px 0 var(--key-edge);transition:transform 90ms var(--ease), box-shadow 90ms var(--ease);border-radius:9px;font-size:1.1rem;font-weight:800}.chem-k button:active{box-shadow:inset 0 0 0 1px var(--line);transform:translateY(2px)}.chem-k button:disabled{opacity:.35;cursor:default}.chem-blank{border:2px dashed var(--ink-3);border-radius:7px;align-self:center;width:24px;height:30px;display:inline-block}.chem-table{max-width:340px;margin:0 auto;font-size:.92rem}.chem-table th,.chem-table td{text-align:center;padding:5px 8px}.chem-table td:first-child{font-weight:850}.chem-table td:nth-child(2),.chem-table td:nth-child(3){font-family:var(--mono);font-variant-numeric:tabular-nums;font-weight:700}.chem-table td:last-child{text-align:left;white-space:nowrap;font-size:.82rem;font-weight:750}.chem-table tr.ok td:last-child{color:var(--ok)}.chem-table tr.bad td{background:var(--bad-bg);color:var(--bad)}.chem-table tr td{transition:background .2s,color .2s}.w .val.chem-res{color:var(--ink-2);font-size:1.15rem}.w .val.chem-res.ok{color:var(--ok);font-size:1.35rem}.ph-scale{cursor:pointer;touch-action:manipulation}.ph-ptr{transition:transform .15s var(--ease)}.ph-read{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;display:flex}.w .ph-read .val{font-variant-numeric:tabular-nums;min-width:4.6em}.ph-dot{width:22px;height:22px;box-shadow:inset 0 0 0 2px color-mix(in oklab, var(--ink) 25%, transparent);border-radius:50%;transition:background .15s}.ph-kind{border-radius:999px;padding:3px 12px;font-size:.95rem;font-weight:850}.ph-acid{background:var(--bad-bg);color:var(--bad)}.ph-base{background:color-mix(in oklab, var(--k-blue) 20%, var(--card));color:color-mix(in oklab, var(--k-blue) 60%, var(--ink))}.ph-neutral{background:var(--ok-bg);color:var(--ok)}.ph-chips{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.chip.ph-chip{align-items:center;gap:6px;min-height:38px;padding:0 11px;font-size:.86rem;display:inline-flex}.ph-chip i{border-radius:50%;flex:none;width:12px;height:12px}.ph-chip small{font-family:var(--mono);color:var(--ink-3);font-size:.78rem;font-weight:600}.ph-ss{border-radius:var(--r-s);background:var(--bg);gap:8px;padding:12px;display:grid}.ph-ss>div{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:10px;display:flex}.ph-ss>div span{color:var(--ink-2);font-size:.9rem;font-weight:700}.ph-ss>div b{font-variant-numeric:tabular-nums;font-weight:850}.ph-ss p{margin:0;font-weight:700;line-height:1.4}.ph-ss small,.ph-note{color:var(--ink-3);text-align:center;font-size:.78rem}.code-w{gap:10px}.code-head{font-family:var(--mono);color:var(--ink-2);flex-wrap:wrap;align-items:baseline;gap:10px;font-size:.78rem;font-weight:700;display:flex}.code-lang{background:var(--accent-soft);color:var(--accent-ink);border-radius:6px;padding:2px 8px}.code-title{color:var(--ink)}.code-scroll{border-radius:var(--r-s);background:var(--bg);box-shadow:inset 0 0 0 1px var(--line);-webkit-overflow-scrolling:touch;-webkit-user-select:text;user-select:text;overflow-x:auto}.code-pre{font-family:var(--mono);tab-size:4;min-width:min-content;margin:0;padding:8px 0;font-size:.84rem;line-height:1.6}.code-pre .code-code{color:var(--ink);font-size:inherit;background:0 0;border-radius:0;padding:0;font-weight:500;display:block}.code-line{white-space:pre;padding-right:14px;transition:background .15s;display:flex}.code-line.on{background:color-mix(in oklab, var(--k-yellow) 30%, transparent)}.code-line.noted{background:var(--accent-soft)}.code-no{text-align:right;width:2.6em;color:var(--ink-3);background:var(--bg);box-shadow:inset -1px 0 0 var(--line);font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none;flex:none;margin-right:10px;padding-right:8px;position:sticky;left:0}.code-line.on .code-no{color:var(--ink);background:color-mix(in oklab, var(--k-yellow) 30%, var(--bg));font-weight:800}.code-line.noted .code-no{background:var(--accent-soft)}button.code-no{font-family:var(--mono);font-size:inherit;line-height:inherit;color:var(--accent-ink);border-radius:0;min-height:1.6em;font-weight:800}button.code-no:before{content:"•";color:var(--accent);margin-right:3px}.code-txt{flex:none}.code-k{color:color-mix(in oklab, var(--k-purple) 72%, var(--ink));font-weight:700}.code-s{color:var(--ok)}.code-n{color:color-mix(in oklab, var(--k-orange) 78%, var(--ink))}.code-c{color:var(--ink-3);font-style:italic}.code-f{color:color-mix(in oklab, var(--k-blue) 72%, var(--ink))}.code-a{color:color-mix(in oklab, var(--k-teal) 65%, var(--ink))}.code-note{border-radius:var(--r-s);background:var(--accent-soft);color:var(--ink);gap:2px;padding:10px 40px 10px 12px;line-height:1.4;display:grid;position:relative}.code-note b{font-family:var(--mono);color:var(--accent-ink);font-size:.78rem}.code-x{width:36px;height:36px;color:var(--ink-2);border-radius:8px;font-size:1.3rem;font-weight:800;position:absolute;top:4px;right:4px}.code-steps{gap:10px;display:grid}.code-now{text-align:center;min-height:2.8em;color:var(--ink);font-weight:700;line-height:1.4}.code-now b{font-family:var(--mono);color:var(--accent-ink);font-size:.85rem}.code-vars{font-family:var(--mono);max-width:320px;margin:0 auto;font-size:.85rem}.code-vars th,.code-vars td{padding:4px 10px}.code-vars tr.chg td{background:color-mix(in oklab, var(--k-yellow) 30%, transparent);font-weight:800}.code-console{border-radius:var(--r-s);background:var(--lcd);color:var(--lcd-ink);-webkit-user-select:text;user-select:text;gap:4px;padding:8px 12px;display:grid}.code-console small{font-family:var(--mono);opacity:.7;font-size:.7rem;font-weight:700}.code-console pre{font-family:var(--mono);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:.84rem}.code-steps .reveal:disabled{opacity:.35;cursor:default}.code-why{color:var(--ink-2);font-weight:600;display:block}.binary-bits{gap:14px;width:100%;max-width:400px;margin:0 auto;display:grid}.binary-row{gap:4px;display:grid}.binary-bit{justify-items:center;gap:3px;min-width:0;display:grid}.binary-wt{font-family:var(--mono);color:var(--ink-3);font-variant-numeric:tabular-nums;letter-spacing:-.03em;font-size:.66rem;font-weight:700}.binary-sw{width:100%;max-width:44px;height:48px;font-family:var(--mono);background:var(--bg);color:var(--ink-3);box-shadow:inset 0 0 0 2px var(--line), 0 3px 0 var(--line);border-radius:10px;font-size:1.2rem;font-weight:800;transition:background .15s,color .15s,transform 90ms}.binary-sw.on{background:var(--accent);color:var(--on-accent);box-shadow:0 3px 0 var(--accent-edge)}.binary-sw:active{transform:translateY(2px)}.binary-nib{text-align:center;font-family:var(--mono);color:var(--accent-ink);border-top:2px solid var(--line);margin:2px 4px 0;padding-top:2px;font-size:.9rem;font-weight:800}.binary-w sub{color:var(--ink-3);vertical-align:-.25em;margin-left:1px;font-size:.6em;font-weight:700;line-height:0}.binary-sum{text-align:center;font-family:var(--mono);color:var(--ink);overflow-wrap:anywhere;min-height:1.5em;font-size:.95rem;font-weight:700}.binary-tab{width:auto;font-family:var(--mono);margin:0 auto}.binary-tab th{white-space:nowrap;text-align:right;padding:5px 10px;font-family:inherit;font-size:.78rem}.binary-tab td{white-space:nowrap;font-variant-numeric:tabular-nums;padding:5px 10px;font-size:1.05rem;font-weight:800}.binary-tab tr.dec td{color:var(--accent-ink);font-size:1.3rem}.binary-in .step{gap:6px}.binary-field{border:2px solid var(--line);background:var(--card);text-align:center;width:96px;height:40px;font-family:var(--mono);appearance:textfield;border-radius:10px;font-size:1.05rem;font-weight:800}.binary-field::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.binary-field::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.binary-field:focus{border-color:var(--accent);outline:none}.binary-task{text-align:center;border-radius:var(--r-s);background:var(--accent-soft);color:var(--accent-ink);padding:10px 12px;font-weight:800}.binary-task.ok{background:var(--ok-bg);color:var(--ok)}.binary-div{gap:8px;display:grid}.binary-dt{width:auto;font-family:var(--mono);font-variant-numeric:tabular-nums;margin:0 auto}.binary-dt th,.binary-dt td{text-align:right;padding:3px 12px}.binary-dt td.r{color:var(--accent-ink);text-align:center;font-weight:800}.binary-read{text-align:center;font-family:var(--mono);color:var(--ink);font-weight:700}.binary-q{font-family:var(--mono);letter-spacing:.02em}.lg-w{gap:14px}.lg-gates .chip,.lg-not .chip{min-height:40px;font-family:var(--mono);background:var(--bg);padding:0 12px;font-size:.85rem}.lg-gates .chip.sel,.lg-not .chip.sel{background:var(--accent-soft)}.lg-main{flex-wrap:wrap;justify-content:center;align-items:center;gap:14px 22px;display:flex}.lg-stage{flex:240px;min-width:0;position:relative}.lg-stage svg{width:100%;height:auto;display:block}.lg-wire{transition:stroke .15s,stroke-width .15s}.lg-led{fill:var(--line);stroke:var(--ink-3);stroke-width:2px;transition:fill .15s,filter .15s}.lg-led.on{fill:var(--k-green);stroke:var(--ok);filter:drop-shadow(0 0 6px var(--k-green))}.lg-in{width:40px;height:44px;line-height:1;font-family:var(--mono);background:var(--bg);color:var(--ink-2);box-shadow:inset 0 0 0 2px var(--ink-3), 0 3px 0 var(--line);border-radius:10px;align-content:center;place-items:center;gap:0;font-size:1.1rem;font-weight:800;transition:background .15s,color .15s;display:grid;position:absolute;transform:translate(-50%,-50%)}.lg-in small{opacity:.85;margin-bottom:2px;font-size:.62rem;font-weight:800}.lg-in.on{background:var(--accent);color:var(--on-accent);box-shadow:0 3px 0 var(--accent-edge)}.lg-table{width:auto;font-family:var(--mono);font-variant-numeric:tabular-nums;flex:none}.lg-table th,.lg-table td{text-align:center;padding:4px 12px}.lg-table th.y,.lg-table td.y{color:var(--accent-ink);font-weight:900}.lg-table td.x{color:var(--ink-2)}.lg-table tr.on td{background:var(--accent-soft);font-weight:900}.lg-w .val{font-family:var(--mono);overflow-wrap:anywhere;font-size:1.1rem}.lg-w .sub b{color:var(--ink)}.subnet>*{min-width:0}.subnet{--subnet-net:var(--accent);--subnet-host:var(--k-blue)}.subnet-ed{font-family:var(--mono);justify-content:center;align-items:center;gap:2px;display:flex}.subnet-oe{justify-items:center;gap:4px;display:grid}.subnet-oe button,.subnet-pm{background:var(--bg);width:38px;height:34px;color:var(--ink);font-family:var(--mono);box-shadow:inset 0 0 0 1px var(--line);border-radius:10px;font-size:1.1rem;font-weight:800}.subnet-oe button:active,.subnet-pm:active{background:var(--accent-soft);transform:translateY(1px)}.subnet-oe input{text-align:center;border:2px solid var(--line);background:var(--bg);width:50px;height:40px;color:var(--ink);font:800 1rem var(--mono);appearance:textfield;border-radius:10px;padding:0}.subnet-oe input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.subnet-oe input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.subnet-oe input:focus{border-color:var(--accent);outline:none}.subnet-dot{color:var(--ink-2);align-self:center;font-size:1.3rem;font-weight:900}.subnet-pre{color:var(--accent-ink);margin-left:4px;font-size:1.05rem;font-weight:900}.subnet-prefix{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.subnet-prefix .slider{grid-template-columns:auto 1fr 2.2em}.subnet-bin{background:var(--bg);border-radius:12px;gap:8px;padding:10px;display:grid}.subnet-row{gap:2px;display:grid}.subnet-head{color:var(--ink-2);justify-content:space-between;gap:8px;font-size:.8rem;font-weight:700;display:flex}.subnet-head b{font-family:var(--mono);color:var(--ink)}.subnet-bits{font-family:var(--mono);justify-content:center;gap:5px;font-size:.74rem;font-weight:800;display:flex}.subnet-oct{display:flex}.subnet-bits i{text-align:center;width:1.06ch;padding:1px 0;font-style:normal}.subnet-bits i.net{background:color-mix(in oklab, var(--subnet-net) 26%, var(--card));color:var(--ink)}.subnet-bits i.host{background:color-mix(in oklab, var(--subnet-host) 14%, var(--card));color:var(--ink-2)}.subnet-oct i:first-child{border-radius:4px 0 0 4px}.subnet-oct i:last-child{border-radius:0 4px 4px 0}.subnet-legend{color:var(--ink-2);flex-wrap:wrap;justify-content:center;gap:14px;font-size:.78rem;font-weight:700;display:flex}.subnet-legend span{align-items:center;gap:5px;display:inline-flex}.subnet-legend i{border-radius:3px;width:12px;height:12px}.subnet-legend i.net{background:color-mix(in oklab, var(--subnet-net) 55%, var(--card))}.subnet-legend i.host{background:color-mix(in oklab, var(--subnet-host) 35%, var(--card))}.subnet .val{font-family:var(--mono);overflow-wrap:anywhere;font-size:1.05rem}.subnet-res{grid-template-columns:auto minmax(0,1fr);gap:6px 12px;margin:0;font-size:.92rem;display:grid}.subnet-res dt{color:var(--ink-2);font-weight:700}.subnet-res dd{font-family:var(--mono);text-align:right;overflow-wrap:anywhere;margin:0;font-weight:750}.subnet-note{font-family:var(--sans,inherit);color:var(--ink-3);font-size:.85rem;font-weight:700}.subnet-tag{text-align:left;border-radius:999px;padding:1px 8px;font-family:inherit;font-size:.82rem;display:inline-block}.subnet-tag.priv{background:var(--ok-bg);color:var(--ok)}.subnet-tag.pub{background:var(--accent-soft);color:var(--accent-ink)}.subnet-tag.spec{background:color-mix(in oklab, var(--k-purple) 18%, var(--card));color:var(--ink)}.subnet .reveal[disabled]{opacity:.4}.subnet-split{gap:8px;display:grid}.subnet-cnt{text-align:center;font-size:.92rem;font-weight:800}.subnet-list{gap:4px;margin:0;padding:0;list-style:none;display:grid}.subnet-list li{background:var(--bg);border-radius:10px;gap:1px;padding:6px 10px;font-size:.82rem;display:grid}.subnet-list li b{font-family:var(--mono)}.subnet-list li span{color:var(--ink-2);font-family:var(--mono);overflow-wrap:anywhere;font-size:.76rem}.subnet-list li.mine{box-shadow:inset 0 0 0 2px var(--accent)}.subnet-list li.gap{text-align:center;color:var(--ink-3);background:0 0;font-weight:700}.subnet-q{font-size:1.6rem}.resistor-mode{background:var(--bg);border-radius:12px;gap:4px;padding:4px;display:flex}.resistor-mode button{min-height:38px;font-family:var(--mono);color:var(--ink-2);border-radius:9px;flex:1;font-size:.82rem;font-weight:750}.resistor-mode button.on{background:var(--accent);color:var(--on-accent)}.resistor-goal{text-align:center;color:var(--ink-2);font-weight:750}.resistor-goal b{color:var(--ink);font-size:1.35rem;font-weight:900;display:block}.resistor-band{cursor:pointer;outline:none}.resistor-band:focus-visible rect:nth-child(2){stroke:var(--accent);stroke-width:3px;stroke-opacity:1}.resistor-names{gap:4px;display:grid}.resistor-names>*{background:var(--bg);text-align:center;border-radius:10px;justify-items:center;gap:2px;min-width:0;padding:6px 2px;display:grid}.resistor-names button.on{box-shadow:inset 0 0 0 2px var(--accent);background:var(--accent-soft)}.resistor-names small{color:var(--ink-3);white-space:nowrap;font-size:.66rem;font-weight:700}.resistor-names span{color:var(--ink);overflow-wrap:anywhere;align-items:center;gap:3px;font-size:.74rem;font-weight:800;display:inline-flex}.resistor-names i,.resistor-pal i{width:10px;height:10px;box-shadow:inset 0 0 0 1px color-mix(in oklab, var(--ink) 40%, transparent);border-radius:50%;flex:none}.resistor-pal{grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:5px;display:grid}.resistor-pal button{background:var(--bg);text-align:left;box-shadow:inset 0 0 0 1px var(--line);border-radius:10px;grid-template-columns:auto 1fr;align-items:center;column-gap:6px;padding:6px 8px;display:grid}.resistor-pal button.on{box-shadow:inset 0 0 0 2px var(--accent);background:var(--accent-soft)}.resistor-pal button i{grid-row:span 2;width:16px;height:16px}.resistor-pal span{color:var(--ink);font-size:.8rem;font-weight:800}.resistor-pal small{font-family:var(--mono);color:var(--ink-2);white-space:nowrap;font-size:.72rem;font-weight:700}.resistor-out{gap:4px;display:grid}.resistor-check{background:var(--bg);color:var(--ink-2);text-align:center;border-radius:999px;justify-self:center;padding:4px 12px;font-size:.9rem;font-weight:800}.resistor-check.ok{background:var(--ok-bg);color:var(--ok)}.resistor-hint{color:var(--ink-3);font-size:.8rem}.gears-spin{transform-box:fill-box;transform-origin:50%;animation:6s linear infinite paused gears-spin}.gears-spin.ccw{animation-direction:reverse}.gears-svg.run .gears-spin{animation-play-state:running}@keyframes gears-spin{to{transform:rotate(360deg)}}.gears-table{color:var(--ink-2);align-items:center;gap:4px 8px;font-size:.82rem;font-weight:700;display:grid}.gears-table b{color:var(--ink);border-radius:999px;padding:2px 6px;font-size:.78rem;display:block}.gears-table b.drive{background:color-mix(in oklab, var(--accent) 35%, var(--card))}.gears-table b.idler{background:color-mix(in oklab, var(--k-gray) 40%, var(--card))}.gears-table b.driven{background:color-mix(in oklab, var(--k-blue) 30%, var(--card))}.gears-table span{color:var(--ink);font-weight:750}.gears-dir{font-size:.74rem;line-height:1.2}.gears-out{gap:6px;display:grid}.gears .val{font-size:1.25rem}.gears-out .sub b{color:var(--ink)}.gears-kind{text-align:center;background:var(--bg);color:var(--ink);border-radius:12px;justify-self:center;padding:6px 12px;font-size:.9rem;font-weight:800}.gears-kind.slow{background:color-mix(in oklab, var(--k-blue) 16%, var(--card))}.gears-kind.fast{background:color-mix(in oklab, var(--k-orange) 18%, var(--card))}.gears-ctrls{gap:4px;display:grid}.gears-ctrls .slider span{min-width:2.6em}.gears-ctrls .slider output{min-width:3.4em}.gears-note{color:var(--ink-3);font-size:.78rem}.gears-given{color:var(--ink)}.gears-table>*{text-align:center;font-variant-numeric:tabular-nums}.gears-table .gears-rl{color:var(--ink-3);text-align:left;font-weight:700}.interest-chips .chip{min-height:40px;padding:0 14px;font-size:.9rem}.interest-opts{gap:8px;display:grid}.interest-ctrls{gap:4px;display:grid}.interest-sl{grid-template-columns:1fr auto;align-items:center;column-gap:10px;font-size:.92rem;font-weight:800;display:grid}.interest-sl output{font-variant-numeric:tabular-nums;color:var(--accent-ink)}.interest-sl input{width:100%;height:30px;accent-color:var(--accent);grid-column:1/-1}.interest-legend{color:var(--ink-2);flex-wrap:wrap;justify-content:center;gap:4px 16px;font-size:.88rem;font-weight:700;display:flex}.interest-legend span{align-items:center;gap:6px;display:inline-flex}.interest-legend i{border-radius:4px;width:14px;height:14px}.interest-dep{background:var(--accent-soft);box-shadow:inset 0 0 0 1.5px var(--accent)}.interest-int{background:var(--accent)}.interest-bar{border-radius:8px;height:22px;display:flex;overflow:hidden}.interest-bar span{transition:width .2s}.interest-calc{background:var(--bg);color:var(--ink);overflow-wrap:anywhere;border-radius:12px;gap:4px;padding:10px 12px;font-size:.9rem;font-weight:650;line-height:1.4;display:grid}.interest-calc b{color:var(--accent-ink);white-space:nowrap}.interest-calc sup{font-size:.7em}.interest-note{color:var(--ink-2);text-align:center;font-size:.82rem;font-weight:650}.interest-calc .interest-note{text-align:left}.interest-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:.85rem}.interest-table caption{color:var(--ink-2);text-align:left;padding-bottom:4px;font-size:.85rem;font-weight:800}.interest-table th{color:var(--ink-2);text-align:right;border-bottom:1.5px solid var(--line);padding:4px;font-weight:800}.interest-table td{text-align:right;border-bottom:1px solid var(--line);padding:4px}.interest-table :is(th,td):first-child{text-align:left}.interest-task{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.interest-task span{background:var(--accent-soft);color:var(--accent-ink);border-radius:10px;padding:6px 12px;font-size:.92rem;font-weight:800}.interest-calc sub{font-size:.7em}.sd{--sd-d:var(--k-blue);--sd-s:var(--k-red)}.sd-chips .chip{min-height:40px;padding:0 12px;font-size:.88rem}.sd-chips .chip small{font-family:var(--mono);margin-left:4px;font-size:.78rem;font-weight:800}.sd-line{fill:none;stroke-width:3.5px;stroke-linecap:round;transition:d .2s}.sd-line.sd-d,.sd-ghost.sd-d{stroke:var(--sd-d)}.sd-line.sd-s,.sd-ghost.sd-s{stroke:var(--sd-s)}.sd-ghost{fill:none;stroke-width:2px;stroke-dasharray:5 5;opacity:.45}.sd-guide{stroke:var(--ink-2);stroke-width:1.5px;stroke-dasharray:4 4}.sd-price{stroke:var(--ink);stroke-width:2px;stroke-dasharray:7 4}.sd-eq{fill:var(--ink);stroke:var(--card);stroke-width:2px}.sd-old{fill:var(--card);stroke:var(--ink-3);stroke-width:2px}.sd-gap{opacity:.55}.sd-gap.sd-surplus{fill:var(--k-purple)}.sd-gap.sd-shortage{fill:var(--bad)}.w .val.sd-surplus-t{color:color-mix(in oklab, var(--k-purple) 60%, var(--ink))}.w .val.sd-shortage-t{color:var(--bad)}.w .val.sd-eq-t{color:var(--ok)}.sd-tag{font-size:15px;font-weight:900}text.sd-d-t{fill:var(--sd-d)}text.sd-s-t{fill:var(--sd-s)}:not(text).sd-d-t{color:color-mix(in oklab, var(--sd-d) 75%, var(--ink))}:not(text).sd-s-t{color:color-mix(in oklab, var(--sd-s) 75%, var(--ink))}.sd-eqt{fill:var(--ink);paint-order:stroke;stroke:var(--card);stroke-width:3px;font-size:11px;font-weight:800}.sd-sl{grid-template-columns:6.5em 1fr 2.6em;align-items:center;gap:10px;font-size:.92rem;font-weight:800;display:grid}.sd-sl input{width:100%;height:30px;accent-color:var(--accent)}.sd-sl output{text-align:right;font-variant-numeric:tabular-nums}.sd-note{color:var(--ink-2);text-align:center;font-size:.82rem;font-weight:650}.sd-task{text-align:center;color:var(--ink);font-size:1.02rem;font-weight:800;line-height:1.5}.color-chips .chip{min-height:40px;padding:0 12px;font-size:.88rem}.color-ctrls{gap:4px;display:grid}.color-sl{grid-template-columns:7.6em 1fr 3.2em;align-items:center;gap:8px;font-size:.9rem;font-weight:800;display:grid}.color-sl span{white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.color-sl span i{border-radius:50%;flex:none;width:12px;height:12px}.color-sl input{width:100%;height:30px}.color-sl output{text-align:right;font-variant-numeric:tabular-nums}.color-swatch{box-shadow:inset 0 0 0 1px var(--line);border-radius:14px;justify-items:center;gap:2px;padding:14px 10px;transition:background .15s;display:grid}.color-swatch b{font-family:var(--mono);letter-spacing:.04em;font-size:1.4rem;font-weight:900}.color-swatch span{font-family:var(--mono);text-align:center;font-size:.82rem;font-weight:700}.color-venn-t{text-anchor:middle;font-size:18px;font-weight:900}.color-note{color:var(--ink-2);text-align:center;font-size:.82rem;font-weight:650;line-height:1.4}.color-sec{cursor:pointer;outline:none}.color-sec path{stroke:var(--card);stroke-width:2px;transition:opacity .2s}.color-sec.dim path,.color-sec.dim text{opacity:.28}.color-sec.on path{stroke:var(--ink);stroke-width:4px}.color-sec:focus-visible path{stroke:var(--k-orange);stroke-width:4px}.color-wheel .color-sec.on{filter:drop-shadow(0 2px 3px #00000059)}.color-num{pointer-events:none;font-size:13px;font-weight:900}.color-rel{fill:none;stroke:var(--ink);stroke-width:2.5px;stroke-linejoin:round;pointer-events:none}.color-mid{stroke:var(--card);stroke-width:3px;transition:fill .2s}.color-arc{fill:none;stroke-width:8px;stroke-linecap:round}.color-ws{font-size:13px;font-weight:800}.color .val small{color:var(--ink-2);font-size:.9rem;font-weight:700}.color-rels{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.color-rels .chip{align-items:center;gap:8px;min-height:40px;font-size:.9rem;display:inline-flex}.color-rels .chip i{border-radius:50%;width:18px;height:18px;box-shadow:inset 0 0 0 1px #0003}:root{--k-orange:#ff5b14;--k-orange-on:#141518;--k-blue:#2f6bff;--k-blue-on:#fff;--k-yellow:#ffc21a;--k-yellow-on:#141518;--k-green:#1fb56c;--k-green-on:#141518;--k-lime:#a8d61f;--k-lime-on:#141518;--k-teal:#13b2c6;--k-teal-on:#141518;--k-purple:#8d70ff;--k-purple-on:#141518;--k-pink:#ff8ab6;--k-pink-on:#141518;--k-red:#f2433c;--k-red-on:#141518;--k-gray:#a9adb4;--k-gray-on:#141518;--k-magenta:#d65ad8;--k-magenta-on:#141518;--k-brown:#c98b4e;--k-brown-on:#141518;--bg:#e6e7e9;--dot:#14151812;--card:#f7f7f8;--key:#fcfcfd;--key-edge:#b8bbc1;--ink:#141518;--ink-2:#464a52;--ink-3:#5f636c;--line:#d0d2d7;--ok:#12804a;--ok-bg:#d3f2df;--bad:#cc2a24;--bad-bg:#fde0dd;--lcd:#151619;--lcd-ink:#f4f4f1;--lcd-off:#2c2e33;--k-ink:var(--ink);--k-ink-on:var(--bg);--c:var(--k-orange);--on-c:var(--k-orange-on);--r:16px;--r-s:11px;--mono:"JetBrains Mono Variable", ui-monospace, "SF Mono", Menlo, monospace;--ease:cubic-bezier(.22, 1, .36, 1);--z-bar:5;--z-dock:10;--z-sheet:20;--z-toast:50;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--ink);background:var(--bg);-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%;font-family:Nunito Variable,ui-rounded,system-ui,sans-serif}:root[data-theme=dark]{--bg:#111214;--dot:#ffffff0d;--card:#1a1b1e;--key:#25272b;--key-edge:#040405;--ink:#efeff0;--ink-2:#b4b7be;--ink-3:#90949c;--line:#2f3136;--ok:#3ccf82;--ok-bg:#11301f;--bad:#ff6a5c;--bad-bg:#3a1714;--lcd:#08090a;--lcd-off:#24262a;--k-ink:var(--ink);--k-ink-on:var(--bg);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root,[style*=--c]{--accent:var(--c);--on-accent:var(--on-c);--accent-soft:color-mix(in oklab, var(--c) 17%, var(--card));--accent-ink:color-mix(in oklab, var(--c) 42%, var(--ink));--accent-edge:color-mix(in oklab, var(--c) 62%, #000)}[data-theme=dark],[data-theme=dark] [style*=--c]{--accent-soft:color-mix(in oklab, var(--c) 22%, var(--card));--accent-ink:color-mix(in oklab, var(--c) 72%, var(--ink));--accent-edge:color-mix(in oklab, var(--c) 45%, #000)}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{overscroll-behavior-y:none;background-image:radial-gradient(circle, var(--dot) 1px, transparent 1.4px);background-size:18px 18px;min-height:100dvh}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation;background:0 0;border:0;padding:0}input{font:inherit;color:inherit}a{color:inherit;text-decoration:none}:focus-visible{outline:3px solid var(--k-orange);outline-offset:2px;border-radius:8px}h1,h2,h3,p{margin:0}h1,h2,h3{text-wrap:balance}code{font-family:var(--mono);background:var(--accent-soft);color:var(--accent-ink);border-radius:5px;padding:.05em .35em;font-size:.92em;font-weight:600}mark{background:color-mix(in oklab, var(--k-yellow) 55%, transparent);color:inherit;border-radius:3px;padding:0 1px}.page{max-width:620px;padding:calc(env(safe-area-inset-top) + 8px) 18px calc(env(safe-area-inset-bottom) + 40px);animation:in .24s var(--ease);margin:0 auto}@keyframes in{0%{opacity:0;transform:translateY(6px)}}.num-key,.tile,.row,.mode,.opt,.round,.cart,.search-key,.chip,.step button,.word,.mini-key{background:var(--key);box-shadow:inset 0 0 0 1px var(--line), 0 3px 0 var(--key-edge);transition:transform 90ms var(--ease), box-shadow 90ms var(--ease), background .15s}:is(.num-key,.tile,.row,.mode,.opt,.round,.cart,.search-key,.chip,.step button,.word,.mini-key):active{box-shadow:inset 0 0 0 1px var(--line), 0 1px 0 var(--key-edge);transform:translateY(2px)}@media (hover:hover){:is(.num-key,.tile,.row,.mode,.opt,.search-key,.chip,.word):hover{background:color-mix(in oklab, var(--key) 93%, var(--ink))}}.skey{background:var(--accent);color:var(--on-accent);border-radius:10px;flex:none;place-items:center;display:grid;box-shadow:inset 0 -2px #00000029}.skey.s{border-radius:8px;width:30px;height:30px}.skey.s svg{width:18px;height:18px}.skey.m{width:44px;height:44px}.skey.m svg{width:26px;height:26px}.skey.l{border-radius:14px;width:60px;height:60px}.skey.l svg{width:36px;height:36px}.skey b{font-family:var(--mono);font-size:1rem;font-weight:800}.label{font-family:var(--mono);color:var(--ink-2);letter-spacing:.01em;align-items:center;gap:8px;margin:0 2px 10px;font-size:.8rem;font-weight:650;display:flex}.label:before{content:"";background:var(--k-orange);border-radius:2px;width:8px;height:8px}.grow{flex:1}.bar{min-height:58px;z-index:var(--z-bar);background:var(--bg);padding-top:env(safe-area-inset-top);margin-bottom:8px;margin-top:calc(-1 * env(safe-area-inset-top));align-items:center;gap:6px;display:flex;position:sticky;top:0}.bar h1{text-align:center;white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:1.1rem;font-weight:850;overflow:hidden}.bar-title{flex:1;justify-items:center;min-width:0;display:grid}.bar-title h1{max-width:100%}.crumbs{max-width:100%;font-family:var(--mono);color:var(--ink-3);white-space:nowrap;font-size:.72rem;font-weight:700;display:flex;overflow:hidden}.crumbs a{text-overflow:ellipsis;border-radius:6px;flex:0 auto;min-width:0;padding:2px 3px;overflow:hidden}.crumbs a+a:before{content:"›";opacity:.6;margin:0 6px 0 3px}.crumbs a:active{color:var(--ink)}@media (hover:hover){.crumbs a:hover{color:var(--ink);text-underline-offset:3px;text-decoration:underline}}.bar .spacer{flex:none;width:44px}@media (max-width:419px){.bar .spacer.balance{display:none}}.icon-btn{width:44px;height:44px;color:var(--ink-2);border-radius:12px;flex:none;place-items:center;transition:background .15s,color .15s,transform .1s;display:grid}.icon-btn:active{background:var(--line);transform:scale(.94)}.icon-btn svg{width:24px;height:24px}.icon-btn.pin.on{color:var(--k-orange)}.icon-btn.pin.on svg{animation:pin-in .32s var(--ease)}@keyframes pin-in{0%{transform:translateY(-6px)rotate(-18deg)}to{transform:none}}.bar .brand{flex:none}.brand{font-family:var(--mono);letter-spacing:-.02em;align-items:center;gap:8px;font-size:1.35rem;font-weight:800;display:flex}.search-key{border-radius:var(--r);width:100%;min-height:56px;color:var(--ink-2);text-align:left;align-items:center;gap:12px;padding:0 14px 0 16px;font-weight:700;display:flex}.search-key svg{width:22px;height:22px;color:var(--ink);flex:none}.search-key span{flex:1}.search-key kbd{font-family:var(--mono);border:1px solid var(--line);min-width:26px;height:26px;color:var(--ink-3);border-radius:6px;place-items:center;font-size:.8rem;font-weight:700;display:grid}@media (hover:none){.search-key kbd{display:none}}.display{--ink:var(--lcd-ink);background:var(--lcd);color:var(--lcd-ink);border-radius:20px;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;margin-top:16px;padding:14px 18px 14px 12px;display:grid;box-shadow:inset 0 0 0 1px #ffffff0f,0 3px #000}.leds{grid-template-columns:repeat(14,1fr);align-self:center;gap:4px;display:grid}.leds i{aspect-ratio:1;background:var(--lcd-off);border-radius:3px}.leds i.on{background:var(--k-orange);box-shadow:0 0 8px color-mix(in oklab, var(--k-orange) 70%, transparent)}.leds i.now{outline-offset:1.5px;outline:1.5px solid #ffffff80}.streak{justify-items:end;line-height:1;display:grid}.streak b{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:2.2rem;font-weight:800}.streak small{font-family:var(--mono);color:#f4f4f1a6;white-space:nowrap;margin-top:4px;font-size:.7rem;font-weight:600}.sec{margin-top:28px}.sec-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.sec-head .label{margin-bottom:0}.mini-key{min-height:36px;font-family:var(--mono);background:var(--accent);color:var(--on-accent);box-shadow:0 3px 0 var(--accent-edge);border-radius:999px;align-items:center;gap:6px;padding:0 14px;font-size:.85rem;font-weight:750;display:inline-flex}.mini-key:active{box-shadow:0 1px 0 var(--accent-edge)}.mini-key svg{width:18px;height:18px}.carts{scroll-snap-type:x mandatory;scrollbar-width:none;gap:10px;margin:0 -18px;padding:2px 18px 8px;display:flex;overflow-x:auto}.carts::-webkit-scrollbar{display:none}.cart{scroll-snap-align:start;border-radius:var(--r);text-align:left;background:linear-gradient(var(--accent) 0 6px, var(--key) 6px);flex-direction:column;flex:none;gap:8px;width:148px;min-height:132px;padding:10px 12px 12px;scroll-margin-left:18px;display:flex}.cart-top{justify-content:space-between;align-items:center;padding-top:4px;display:flex}.cart-top small{font-family:var(--mono);color:var(--ink-3);font-size:.78rem;font-weight:700}.cart b{-webkit-line-clamp:3;-webkit-box-orient:vertical;flex:1;font-size:.95rem;font-weight:800;line-height:1.22;display:-webkit-box;overflow:hidden}.slot{border-radius:var(--r);border:2px dashed var(--line);color:var(--ink-2);align-items:center;gap:12px;padding:14px 16px;font-weight:700;display:flex}.slot svg{width:22px;height:22px;color:var(--k-orange);flex:none}.row .txt{flex:1;gap:2px;min-width:0;display:grid}.row .txt b{flex:none}.row .txt small{font-family:var(--mono);color:var(--ink-3);white-space:nowrap;text-overflow:ellipsis;font-size:.74rem;font-weight:600;overflow:hidden}.row .txt small.via{color:var(--ink-2);white-space:normal;font-family:inherit;font-size:.86rem;font-weight:650}.tag{font-family:var(--mono);background:var(--bg);color:var(--ink-2);white-space:nowrap;border-radius:7px;flex:none;padding:5px 8px;font-size:.74rem;font-weight:750}.tag.weak{background:var(--bad-bg);color:var(--bad)}.tag.due{background:color-mix(in oklab, var(--k-orange) 18%, var(--card));color:color-mix(in oklab, var(--k-orange) 45%, var(--ink))}.tag.next,.tag.start{background:var(--ink);color:var(--bg)}.tag.base{background:color-mix(in oklab, var(--k-blue) 16%, var(--card));color:color-mix(in oklab, var(--k-blue) 55%, var(--ink))}.pad{gap:14px;display:grid}.pad-group small{font-family:var(--mono);color:var(--ink-3);margin:0 2px 6px;font-size:.72rem;font-weight:600;display:block}.pad-keys{grid-template-columns:repeat(5,1fr);gap:10px;display:grid}.num-key{aspect-ratio:1.15;font-family:var(--mono);border-radius:13px;place-items:center;font-size:1.55rem;font-weight:750;display:grid}.num-key.on{background:var(--k-orange);color:var(--k-orange-on);box-shadow:0 3px 0 color-mix(in oklab, var(--k-orange) 60%, #000)}.num-key.on:active{box-shadow:0 1px 0 color-mix(in oklab, var(--k-orange) 60%, #000)}.exam-key{margin-top:24px}.exam-key>svg{width:22px;height:22px;color:var(--ink-3);flex:none}.exam-key .skey .em,.map-key .skey .em{background:0 0;width:auto;height:auto;font-size:1.3rem}.vocab-key{margin-top:12px}.vocab-key>svg{width:22px;height:22px;color:var(--ink-3);flex:none}.tiles{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.tile{border-radius:var(--r);text-align:left;flex-direction:column;align-items:flex-start;gap:10px;min-height:140px;padding:14px;display:flex;position:relative}.tile-face{background:var(--accent);width:56px;height:56px;color:var(--on-accent);border-radius:14px;place-items:center;display:grid;box-shadow:inset 0 -3px #00000029}.tile-face svg{width:34px;height:34px}.tile-face .aa{font-family:var(--mono);font-size:1.3rem;font-weight:800}.tile b{font-size:1rem;font-weight:850;line-height:1.2}.tile .seg-meter{width:100%;margin-top:auto}@media (min-width:560px){.tiles{grid-template-columns:repeat(3,1fr)}}.vocab-tile{gap:10px;min-height:0}.vocab-tile .tile-face.em{background:var(--accent-soft);box-shadow:none;font-size:1.9rem}.vocab-tile .sample{color:var(--ink-3);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:auto;font-size:.78rem;font-weight:650;display:-webkit-box;overflow:hidden}.vocab-tile .foot{align-items:center;gap:8px;width:100%;margin-top:auto;display:flex}.vocab-tile .foot .seg-meter{flex:1}.vocab-tile .foot small{font-family:var(--mono);color:var(--ink-3);font-size:.72rem;font-weight:700}.btn.mix{margin-bottom:20px}.btn-count{font-family:var(--mono);background:#00000024;border-radius:7px;padding:2px 7px;font-size:.8rem;font-weight:800}.seg-meter{grid-template-columns:repeat(10,1fr);gap:3px;display:grid}.seg-meter i{background:var(--line);border-radius:2px;height:7px}.seg-meter i.on{background:var(--accent)}.meter{background:var(--line);border-radius:2px;height:7px;margin-top:auto;overflow:hidden}.meter i{background:var(--accent);height:100%;transition:width .4s var(--ease);border-radius:2px;display:block}.list{flex-direction:column;gap:10px;display:flex}.row{border-radius:var(--r-s);text-align:left;align-items:center;gap:12px;width:100%;min-height:64px;padding:10px 12px;display:flex}.row .em{background:var(--accent-soft);border-radius:10px;flex:none;place-items:center;width:44px;height:44px;font-size:1.5rem;display:grid}.row b{flex:1;font-weight:750;line-height:1.25}.row .num{font-family:var(--mono);color:var(--ink-3);text-align:center;flex:none;width:20px;font-size:.8rem;font-weight:700}.row .pinned{color:var(--k-orange);flex:none;display:grid}.row .pinned svg{width:18px;height:18px}.stars{flex:none;gap:1px;display:flex}.stars span{width:16px;height:16px;color:var(--line);display:grid}.stars span.on{color:#f2a900}[data-theme=dark] .stars span.on{color:var(--k-yellow)}.stars svg{width:100%;height:100%}.test-key{margin-top:16px}.test-key .skey{background:var(--ink);color:var(--bg)}.empty{text-align:center;color:var(--ink-2);justify-items:center;gap:14px;padding:48px 20px;font-weight:700;display:grid}.empty .mascot{margin-bottom:4px}.boot-error{background:var(--card);color:var(--ink);text-align:center;border-radius:14px;margin:16px;padding:14px 16px;font-weight:700}.btn{background:var(--accent);min-height:54px;color:var(--on-accent);box-shadow:0 4px 0 var(--accent-edge);transition:transform 90ms var(--ease), box-shadow 90ms var(--ease);border-radius:14px;justify-content:center;align-items:center;gap:8px;padding:0 24px;font-size:1.04rem;font-weight:850;display:inline-flex}.btn:active{box-shadow:0 1px 0 var(--accent-edge);transform:translateY(3px)}.btn.ghost{background:var(--key);color:var(--ink);box-shadow:inset 0 0 0 1px var(--line), 0 4px 0 var(--key-edge)}.btn.ghost:active{box-shadow:inset 0 0 0 1px var(--line), 0 1px 0 var(--key-edge)}.btn.plain{background:var(--key);color:var(--ink);box-shadow:inset 0 0 0 1px var(--line), 0 4px 0 var(--key-edge)}.btn.block{width:100%}.btn[disabled]{opacity:.45;pointer-events:none}.btn svg{width:20px;height:20px}.seg{background:var(--lcd);border-radius:14px;gap:4px;margin-bottom:18px;padding:4px;display:flex}.seg button{min-height:42px;font-family:var(--mono);color:#f4f4f199;border-radius:10px;flex:1;font-size:.85rem;font-weight:700;transition:background .2s,color .2s}.seg button.on{background:var(--accent);color:var(--on-accent)}.blocks{flex-direction:column;gap:14px;font-size:1.08rem;line-height:1.55;display:flex}.blocks>p{text-wrap:pretty;max-width:68ch;padding:0 2px}.key{border-radius:var(--r-s);background:var(--accent-soft);color:var(--accent-ink);box-shadow:inset 0 0 0 2px color-mix(in oklab, var(--accent) 45%, transparent);padding:16px 18px 16px 52px;font-weight:750;position:relative}.key:before{content:"!";background:var(--accent);width:26px;height:26px;color:var(--on-accent);font-family:var(--mono);border-radius:7px;place-items:center;font-size:.95rem;font-weight:800;display:grid;position:absolute;top:14px;left:14px}.blocks ul{gap:6px;margin:0;padding-left:1.2em;display:grid}.card{border-radius:var(--r);background:var(--card);box-shadow:inset 0 0 0 1px var(--line);padding:16px}.example{gap:10px;display:grid}.example .q{font-weight:750}.example .a{color:var(--ok);animation:in .25s var(--ease);font-weight:750}.reveal{background:var(--ink);min-height:40px;color:var(--bg);font-family:var(--mono);box-shadow:0 3px 0 color-mix(in oklab, var(--ink) 60%, #000);transition:transform 90ms var(--ease), box-shadow 90ms var(--ease);border-radius:10px;justify-self:start;padding:0 16px;font-size:.82rem;font-weight:700}.reveal:active{transform:translateY(2px);box-shadow:0 1px #000}.steps{counter-reset:s;gap:10px;display:grid}.steps .s{animation:in .25s var(--ease);align-items:flex-start;gap:12px;display:flex}.steps .s:before{counter-increment:s;content:counter(s);background:var(--accent);width:28px;height:28px;color:var(--on-accent);font-family:var(--mono);border-radius:8px;flex:none;place-items:center;margin-top:1px;font-size:.85rem;font-weight:800;display:grid}.pic{text-align:center;letter-spacing:4px;font-size:2.4rem;line-height:1.3}.pic small{letter-spacing:0;color:var(--ink-2);font-size:.9rem;display:block}table{border-collapse:collapse;width:100%;font-size:.95rem}th,td{text-align:left;border-bottom:1px solid var(--line);padding:8px 10px}th{font-family:var(--mono);color:var(--ink-2);font-size:.78rem;font-weight:700}.table-wrap{padding:4px 6px;overflow-x:auto}.other{border-radius:var(--r-s);border:2px dashed var(--line);color:var(--ink-2);text-align:left;align-items:center;gap:12px;width:100%;margin-top:22px;padding:14px 16px;font-weight:750;transition:border-color .15s,color .15s;display:flex}.other:active{border-color:var(--accent);color:var(--ink)}.other svg{width:22px;height:22px;color:var(--accent-ink);flex:none}.modes{grid-template-columns:repeat(2,1fr);gap:12px;margin-top:26px;display:grid}.next-label{margin-top:30px}.row>svg{width:22px;height:22px;color:var(--ink-3);flex:none}.mode{border-radius:var(--r);text-align:left;flex-direction:column;align-items:flex-start;gap:10px;padding:14px;display:flex}.mode .skey svg{width:24px;height:24px}.mode b{font-weight:850}.mode small{font-family:var(--mono);color:var(--ink-3);margin-top:-8px;font-size:.74rem;font-weight:600}.section-title{font-family:var(--mono);color:var(--ink-2);margin:28px 4px 10px;font-size:.8rem;font-weight:650}.search-bar{min-height:64px;z-index:var(--z-bar);background:var(--bg);padding-top:env(safe-area-inset-top);margin-top:calc(-1 * env(safe-area-inset-top));align-items:center;gap:6px;display:flex;position:sticky;top:0}.search-field{background:var(--lcd);min-width:0;min-height:52px;color:var(--lcd-ink);border-radius:14px;flex:1;align-items:center;gap:10px;padding:0 6px 0 14px;display:flex}.search-field>svg{width:22px;height:22px;color:var(--k-orange);flex:none}.search-field input{min-width:0;font-family:var(--mono);color:inherit;caret-color:var(--k-orange);background:0 0;border:0;outline:none;flex:1;font-size:1.08rem;font-weight:600}.search-field input::placeholder{color:#f4f4f18c}.search-field input::-webkit-search-cancel-button{display:none}.search-field:focus-within{box-shadow:0 0 0 3px color-mix(in oklab, var(--k-orange) 60%, transparent)}.search-field .clear{color:#f4f4f1b3;border-radius:10px;place-items:center;width:40px;height:40px;display:grid}.search-field .clear svg{width:20px;height:20px}.chips.scope{justify-content:flex-start;margin:10px 0 16px}.chips.scope .chip{min-height:38px;font-family:var(--mono);padding:0 14px;font-size:.82rem;font-weight:700}.chips.scope .chip.sel{background:var(--ink);color:var(--bg);border-color:#0000;box-shadow:0 3px #000}.ideas{flex-wrap:wrap;gap:10px;display:flex}.count{font-family:var(--mono);color:var(--ink-3);margin:0 2px 10px;font-size:.78rem;font-weight:650}.hit{align-items:stretch;gap:8px;display:flex}.hit .row{flex:1;min-width:0}.hit .pin{align-self:center}.search .label{margin-top:26px}.words{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px;display:grid}.word{border-radius:var(--r-s);text-align:left;grid-template-columns:1fr auto;gap:2px 8px;padding:10px 12px;display:grid}.word span{color:var(--ink-2);font-weight:700}.word b{grid-column:1;font-size:1.05rem;font-weight:850}.word small{font-family:var(--mono);color:var(--k-purple-on);background:var(--k-purple);border-radius:6px;grid-area:1/2/3;align-self:center;padding:3px 6px;font-size:.72rem;font-weight:700}.qtop{align-items:center;gap:10px;min-height:58px;display:flex}.steps-meter{flex:1;gap:3px;height:12px;display:flex}.steps-meter i{background:var(--line);border-radius:3px;flex:1;min-width:2px;transition:background .2s}.steps-meter i.now{background:color-mix(in oklab, var(--accent) 45%, var(--line))}.steps-meter i.done{background:var(--ink)}.steps-meter i.ok{background:var(--ok)}.steps-meter i.bad{background:var(--bad)}.qtop .timer{font-family:var(--mono);color:var(--ink-2);font-variant-numeric:tabular-nums;text-align:right;min-width:52px;font-size:.92rem;font-weight:700}.question{margin:22px 2px;font-size:1.35rem;font-weight:850;line-height:1.35}.opts{gap:12px;display:grid}.opt{border-radius:var(--r-s);text-align:left;border:2px solid #0000;min-height:58px;padding:12px 18px;font-size:1.05rem;font-weight:750}.opt.sel{border-color:var(--accent);background:var(--accent-soft)}.opt.ok{border-color:var(--ok);background:var(--ok-bg)}.opt.bad{border-color:var(--bad);background:var(--bad-bg);animation:.3s shake}.tf{grid-template-columns:1fr 1fr;gap:12px;display:grid}.tf .opt{text-align:center;min-height:76px;font-size:1.15rem}.answer-input{border-radius:var(--r-s);border:2px solid var(--line);background:var(--card);width:100%;min-height:60px;font-family:var(--mono);outline:none;padding:0 18px;font-size:1.3rem;font-weight:700}.answer-input:focus{border-color:var(--accent)}.answer-input.ok{border-color:var(--ok);background:var(--ok-bg)}.answer-input.bad{border-color:var(--bad);background:var(--bad-bg)}.order{gap:10px;display:grid}.order .opt{align-items:center;gap:10px;display:flex}.order .opt span{flex:1}.order .mv{background:var(--bg);border-radius:10px;flex:none;place-items:center;width:40px;height:40px;display:grid}.order .mv svg{width:20px;height:20px}.pairs{grid-template-columns:1fr 1fr;gap:10px;display:grid}.pairs .col{align-content:start;gap:10px;display:grid}.pairs .opt{text-align:center;min-height:52px;padding:10px;font-size:.98rem}.pairs .opt.done{opacity:.35;pointer-events:none}.sheet{z-index:var(--z-sheet);padding:18px 18px calc(env(safe-area-inset-bottom) + 18px);background:var(--card);box-shadow:0 -1px 0 var(--line), 0 -10px 30px #0000001f;animation:up .28s var(--ease);border-radius:22px 22px 0 0;position:fixed;bottom:0;left:0;right:0}.sheet:before{content:"";border-radius:22px 22px 0 0;height:6px;position:absolute;top:0;left:0;right:0}.sheet.ok:before{background:var(--ok)}.sheet.bad:before{background:var(--bad)}.sheet>div{gap:12px;max-width:600px;margin:0 auto;display:grid}.sheet .verdict{align-items:center;gap:10px;font-size:1.25rem;font-weight:900;display:flex}.sheet .verdict svg{width:30px;height:30px}.sheet.ok .verdict{color:var(--ok)}.sheet.bad .verdict{color:var(--bad)}.sheet .why{color:var(--ink-2);line-height:1.45}@keyframes up{0%{transform:translateY(100%)}}.dock{padding:12px 18px calc(env(safe-area-inset-bottom) + 16px);background:linear-gradient(transparent, var(--bg) 30%);z-index:var(--z-dock);position:fixed;bottom:0;left:0;right:0}.dock>*{max-width:584px;margin:0 auto}.pad-dock{height:100px}.tabbar{left:50%;bottom:calc(env(safe-area-inset-bottom) + 10px);z-index:var(--z-dock);background:var(--card);width:min(100% - 24px,440px);box-shadow:inset 0 0 0 1px var(--line), 0 3px 0 var(--key-edge), 0 12px 32px #00000024;border-radius:22px;gap:4px;padding:6px;display:flex;position:fixed;transform:translate(-50%)}.tabbar a{min-width:0;color:var(--ink-3);font-family:var(--mono);transition:background .15s, color .15s, transform 90ms var(--ease);border-radius:16px;flex:1 1 0;justify-items:center;gap:3px;padding:8px 4px 7px;font-size:.68rem;font-weight:700;display:grid;position:relative}.tabbar a span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.tabbar svg{width:24px;height:24px}.tabbar .aa{height:24px;font-size:1.05rem;font-weight:800;line-height:24px}.tabbar a:active{transform:scale(.94)}.tabbar a[aria-current]{color:var(--ink);background:var(--key);box-shadow:inset 0 0 0 1px var(--line), 0 2px 0 var(--key-edge)}.tabbar a[aria-current]:after{content:"";background:var(--k-orange);width:6px;height:6px;box-shadow:0 0 6px var(--k-orange);border-radius:50%;position:absolute;top:6px;left:calc(50% + 15px)}@media (hover:hover){.tabbar a:not([aria-current]):hover{color:var(--ink);background:color-mix(in oklab, var(--key) 60%, transparent)}}body:has(.tabbar) .page{padding-bottom:calc(env(safe-area-inset-bottom) + 112px)}body:has(.tabbar) .toast{bottom:calc(env(safe-area-inset-bottom) + 100px)}.oral{gap:16px;display:grid}.oral .ans{animation:in .25s var(--ease)}.self{grid-template-columns:1fr 1fr;gap:12px;display:grid}.self .btn{--c:var(--k-red);--on-c:var(--k-red-on)}.self .btn+.btn{--c:var(--k-green);--on-c:var(--k-green-on)}.result{text-align:center;justify-items:center;gap:14px;padding-top:30px;display:grid}.result .mascot{animation:pop .5s var(--ease)}.mark{width:120px;height:120px;font-family:var(--mono);color:#141518;background:var(--accent);animation:pop .5s var(--ease);border-radius:28px;place-items:center;font-size:4rem;font-weight:800;display:grid;box-shadow:0 5px #00000040}.mark.m1{background:var(--k-green)}.mark.m2{background:var(--k-lime)}.mark.m3{background:var(--k-yellow)}.mark.m4{background:var(--k-orange)}.mark.m5{background:var(--k-red)}@keyframes pop{0%{opacity:0;transform:scale(.4)}70%{transform:scale(1.06)}}.result h2{font-size:1.6rem;font-weight:900}.result .pct{font-family:var(--mono);color:var(--ink-2);font-size:1.1rem;font-weight:700}.result .actions{gap:14px;width:100%;margin-top:10px;display:grid}.mistakes{text-align:left;gap:8px;width:100%;margin-top:8px;display:grid}.mistakes .card{padding:12px 14px;font-size:.95rem}.mistakes .card b{margin-bottom:4px;display:block}.mistakes .card span{color:var(--ok);font-weight:750}.big-stars{gap:8px;display:flex}.big-stars span{width:48px;height:48px;color:color-mix(in oklab, var(--ink-3) 40%, transparent);animation:pop .45s var(--ease) backwards}.big-stars span.on{color:#f2a900}.big-stars svg{width:100%;height:100%}.mascot{flex:none;display:block;overflow:visible}.mascot .eyes{transform-origin:32px 28px;animation:5s infinite blink}@keyframes blink{to{fill-opacity:.45}}.mascot .ant-tip{animation:2.4s ease-in-out infinite glow}@keyframes glow{50%{opacity:.55}}.mascot.happy{animation:hop .6s var(--ease)}@keyframes hop{40%{transform:translateY(-5px)}}.levels{gap:10px;display:grid}.lang-levels{font-family:var(--mono);color:var(--ink-3);margin-left:8px;font-size:.8rem;font-weight:700}.drill{gap:22px;padding-top:10px;display:grid}.ask{text-align:center}.ask small{font-family:var(--mono);color:var(--ink-3);font-size:.82rem;font-weight:700}.ask h2{overflow-wrap:anywhere;margin-top:4px;font-size:2rem;font-weight:900}.drill .opt{text-align:center;min-height:64px;font-size:1.2rem}.type{gap:14px;display:grid}.lethint{font-family:var(--mono);color:var(--ink-2);text-align:center;white-space:pre-wrap;letter-spacing:.04em;min-height:1.5em;font-size:1.1rem;font-weight:700}.type .answer-input{text-align:center}.type-btns{grid-template-columns:1fr 2fr;gap:12px;display:grid}.lethint.shown{color:var(--ok);letter-spacing:0;cursor:pointer;font-size:1.5rem;font-weight:800;line-height:1.2}.reveal{animation:in .25s var(--ease)}.qr{border-radius:var(--r);width:min(100%,320px);box-shadow:inset 0 0 0 1px var(--line);background:#fff;margin:0 auto;padding:14px}.qr svg{width:100%;height:auto;display:block}.qr-sheet{width:100%;max-width:none;height:100%;max-height:none;color:var(--ink);overscroll-behavior:contain;background:0 0;border:0;margin:0;padding:0;position:fixed;inset:0;overflow:auto}.qr-sheet::backdrop{background:color-mix(in oklab, var(--bg) 78%, transparent);-webkit-backdrop-filter:blur(10px);animation:.2s fade}.qr-sheet[open] .qr-body{animation:qr-up .42s var(--ease)}.qr-body{min-height:100%;padding:calc(env(safe-area-inset-top) + 64px) 20px calc(env(safe-area-inset-bottom) + 28px);place-content:center;justify-items:center;gap:22px;display:grid;position:relative}.qr-x{top:calc(env(safe-area-inset-top) + 8px);background:var(--key);box-shadow:inset 0 0 0 1px var(--line);position:fixed;right:10px}.qr-card{filter:drop-shadow(0 14px 22px #14151838);width:min(78vw,320px,75dvh - 172.5px);min-width:220px}.qr-card svg{width:100%;height:auto;display:block}.qr-card g.qr-limb{fill:var(--ink)}.qr-card path.qr-limb{stroke:var(--ink)}.qr-card .qr-tip{animation:1.6s ease-in-out .4s 2 glow}.qr-actions{gap:10px;width:min(100%,340px);display:flex}.qr-actions .btn{flex:1;padding:0 16px}@keyframes qr-up{0%{opacity:0;transform:translateY(28px)scale(.96)}}@keyframes fade{0%{opacity:0}}.codebox{border-radius:var(--r-s);border:2px solid var(--line);background:var(--card);width:100%;min-height:80px;font:600 .8rem var(--mono);word-break:break-all;resize:none;padding:12px}.video{aspect-ratio:1;border-radius:var(--r);background:#000;width:min(100%,360px);margin:0 auto;overflow:hidden}.video video{object-fit:cover;width:100%;height:100%}.stack{gap:14px;display:grid}.center{text-align:center}.muted{color:var(--ink-2)}.ok-big{animation:pop .5s var(--ease);justify-items:center;display:grid}.err{color:var(--bad);text-align:center;font-weight:750}.toast{left:50%;bottom:calc(env(safe-area-inset-bottom) + 24px);background:var(--ink);color:var(--bg);font-family:var(--mono);z-index:var(--z-toast);animation:in .25s var(--ease);border-radius:12px;padding:12px 20px;font-size:.9rem;font-weight:700;position:fixed;transform:translate(-50%)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.w{border-radius:var(--r);background:var(--card);box-shadow:inset 0 0 0 1px var(--line);-webkit-user-select:none;user-select:none;gap:12px;padding:16px;display:grid}.w-loading{min-height:160px}.w svg{max-width:100%;height:auto;margin:0 auto;display:block}.w .val{text-align:center;color:var(--accent-ink);font-size:1.4rem;font-weight:900}.w .sub{text-align:center;color:var(--ink-2);font-size:.95rem;font-weight:700}.ctrls{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.step{background:var(--bg);border-radius:14px;align-items:center;gap:6px;padding:4px 4px 6px;display:flex}.step button{width:40px;height:40px;font-family:var(--mono);border-radius:10px;font-size:1.15rem;font-weight:800}.step span{text-align:center;min-width:64px;font-size:.95rem;font-weight:800}.slider{grid-template-columns:auto 1fr auto;align-items:center;gap:10px;font-weight:800;display:grid}.slider input{width:100%;accent-color:var(--accent);height:32px}.slider output{text-align:right;font-variant-numeric:tabular-nums;min-width:40px}.chips{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.chip{border:2px solid #0000;border-radius:12px;min-height:44px;padding:0 16px;font-weight:750}.chip.sel{border-color:var(--accent);background:var(--accent-soft)}.chip.ok{background:var(--ok-bg);color:var(--ok)}.chip.bad{background:var(--bad-bg);color:var(--bad);animation:.3s shake}@keyframes shake{25%{transform:translate(-4px)}75%{transform:translate(4px)}}.buckets{gap:8px;display:grid}.bucket{border-radius:var(--r-s);border:2px dashed var(--line);align-content:start;gap:8px;min-height:64px;padding:10px;transition:border-color .15s,background .15s;display:grid}.bucket.target{border-color:var(--accent);background:var(--accent-soft)}.bucket h4{color:var(--ink-2);text-transform:uppercase;letter-spacing:.04em;margin:0;font-size:.85rem;font-weight:900}.bucket .chips{justify-content:flex-start}.flips{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;display:grid}.flip{perspective:800px;min-height:96px}.flip>div{width:100%;height:100%;min-height:96px;transition:transform .45s var(--ease);transform-style:preserve-3d;position:relative}.flip.on>div{transform:rotateY(180deg)}.flip span{border-radius:var(--r-s);backface-visibility:hidden;text-align:center;place-items:center;padding:10px;font-size:.98rem;font-weight:800;line-height:1.25;display:grid;position:absolute;inset:0}.flip .f{background:var(--accent-soft);color:var(--accent-ink)}.flip .b{background:var(--accent);color:var(--on-accent);transform:rotateY(180deg)}.tl{scroll-snap-type:x mandatory;padding:6px 2px 10px;overflow-x:auto}.tl-track{gap:12px;min-width:max-content;padding-top:22px;display:flex;position:relative}.tl-track:before{content:"";background:var(--line);border-radius:2px;height:4px;position:absolute;top:7px;left:0;right:0}.tl-ev{scroll-snap-align:start;border-radius:var(--r-s);background:var(--bg);text-align:left;width:150px;padding:10px 12px;transition:background .2s;position:relative}.tl-ev:before{content:"";background:var(--accent);border:3px solid var(--card);border-radius:50%;width:14px;height:14px;position:absolute;top:-21px;left:14px}.tl-ev b{color:var(--accent-ink);font-size:1.05rem;font-weight:900;display:block}.tl-ev span{font-size:.92rem;font-weight:650;line-height:1.3}.tl-ev.on{background:var(--accent-soft)}.parts-word{flex-wrap:wrap;justify-content:center;gap:3px;font-size:1.7rem;font-weight:900;display:flex}.parts-word button{border-radius:10px;justify-items:center;gap:2px;padding:4px 6px;display:grid}.parts-word small{text-transform:uppercase;letter-spacing:.03em;opacity:0;white-space:nowrap;font-size:.68rem;font-weight:800;transition:opacity .2s}.parts-word.show small{opacity:1}.gap-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;font-size:1.25rem;font-weight:800;display:flex}.gap-row .hole{border-bottom:3px solid var(--accent);text-align:center;min-width:44px;color:var(--accent-ink);padding:2px 10px}.gap-row .hole.ok{color:var(--ok);border-color:var(--ok)}.bars-list{gap:8px;display:grid}.bar-row{grid-template-columns:minmax(64px,30%) 1fr auto;align-items:center;gap:10px;font-size:.92rem;font-weight:750;display:grid}.bar-row b{color:var(--accent-ink);white-space:nowrap;font-size:.85rem;font-weight:900}.bar-row .track{background:var(--bg);border-radius:8px;height:22px;overflow:hidden}.bar-row .fill{background:var(--accent);height:100%;transition:width .7s var(--ease);border-radius:8px}.counter-items{flex-wrap:wrap;justify-content:center;gap:6px;min-height:56px;font-size:2.2rem;display:flex}.counter-items span{animation:pop .3s var(--ease)}.w{min-width:0}.bucket{min-width:0;padding:8px}.bucket h4,.bucket .chip{-webkit-hyphens:auto;hyphens:auto;overflow-wrap:anywhere}.bucket .chip{text-align:center;max-width:100%;min-height:36px;padding:6px 10px;font-size:.9rem}.chip{max-width:100%}.bh{margin:10px 2px -4px;font-size:1.12rem;font-weight:900}.term{border-radius:var(--r-s);background:linear-gradient(var(--accent) 0 5px, var(--card) 5px);box-shadow:inset 0 0 0 1px var(--line);gap:4px;padding:16px 16px 14px;display:grid}.term b{color:var(--accent-ink);font-size:1.1rem;font-weight:900}.term span{line-height:1.5}.term small{color:var(--ink-2);font-size:.95rem;font-style:italic}.mistake{gap:8px;display:grid}.mistake .wrong,.mistake .right{align-items:baseline;gap:10px;font-weight:750;display:flex}.mistake .wrong{color:var(--bad);text-decoration:line-through;text-decoration-thickness:1.5px}.mistake .right{color:var(--ok)}.mistake .wrong>span:first-child,.mistake .right>span:first-child{flex:none;font-weight:900;text-decoration:none;display:inline-block}.mistake .wrong>span:last-child,.mistake .right>span:last-child{overflow-wrap:anywhere;min-width:0}.mistake p{color:var(--ink-2);font-size:.98rem}.column{font-variant-numeric:tabular-nums;justify-content:center;padding:4px 0;font-size:2rem;font-weight:850;line-height:1.3;display:grid}.cc{text-align:center;height:1.3em;transition:color .2s,background .2s}.cc.carry{height:auto;color:var(--accent);align-self:end;font-size:.55em;line-height:1}.cc.line{border-top:3px solid var(--ink)}.cc.op{color:var(--ink-2)}.cc.pad{color:var(--ink-3)}.cc.res{color:var(--accent-ink)}.cc.act{background:var(--accent-soft);border-radius:6px}.cc.hid{color:#0000}.column-q{text-align:center;margin-bottom:8px;font-size:2rem;font-weight:850}.column.div{justify-content:start;font-size:1.6rem;overflow-x:auto}.cc.line.act{border-radius:0 0 6px 6px}.gallery>p{margin:0 2px 16px;line-height:1.5}.gal-toc{gap:12px;margin-bottom:8px;display:grid}.gal-toc small{font-family:var(--mono);color:var(--ink-3);margin:0 2px 6px;font-size:.72rem;font-weight:700;display:block}.gal-toc .chips{justify-content:flex-start}.gal-list{gap:16px;display:grid}.gal{border-radius:var(--r);background:color-mix(in oklab, var(--card) 55%, transparent);box-shadow:inset 0 0 0 1px var(--line);gap:12px;padding:16px;scroll-margin-top:70px;display:grid}.gal>p{line-height:1.5}.gal-head{flex-wrap:wrap;align-items:center;gap:8px 10px;display:flex}.gal-head h2{font-size:1.15rem;font-weight:850}.gal-ex{gap:8px;display:grid}.gal-ex .label{margin-bottom:0}.gal details>summary{cursor:pointer;font-family:var(--mono);color:var(--ink-2);padding:6px 2px;font-size:.8rem;font-weight:700}.gal td{vertical-align:top;font-size:.88rem;line-height:1.4}.json{border-radius:var(--r-s);background:var(--lcd);color:var(--lcd-ink);font:600 .78rem/1.45 var(--mono);white-space:pre;margin:6px 0 0;padding:12px;overflow-x:auto}.json code{color:inherit;font:inherit;background:0 0;padding:0}.approach-key{margin-top:12px}.approach-key .skey .em{background:0 0;width:auto;height:auto;font-size:1.3rem}.approach-about{margin:4px 0 18px}.approach-switch{box-shadow:inset 0 0 0 2px var(--line);margin-bottom:26px}.approach-switch[aria-checked=true]{box-shadow:inset 0 0 0 2px var(--accent);background:var(--accent-soft)}.switch{background:var(--line);border-radius:999px;flex:none;width:52px;height:30px;transition:background .2s;position:relative}.switch i{background:var(--card);width:24px;height:24px;transition:transform .2s var(--ease);border-radius:50%;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #00000040}.switch.on{background:var(--accent)}.switch.on i{transform:translate(22px)}.row.epoch .seg-meter{flex:none;width:64px}.approach-year{margin-bottom:4px}.epoch-empty{margin:8px 2px}.row.exam-part .seg-meter{flex:none;width:64px}.exam-facts{flex-wrap:wrap;gap:8px;margin:4px 2px 12px;display:flex}.exam-facts span{background:var(--c);color:var(--on-c);font:700 .8rem/1.2 var(--mono);border-radius:999px;padding:5px 11px}.obor-key{margin-top:12px}.obor-key>svg,.obor-row>svg,.obor-all>svg{width:22px;height:22px;color:var(--ink-3);flex:none}.obor-key .skey .em{background:0 0;width:auto;height:auto;font-size:1.3rem}.page>.obor-key:first-of-type{margin:0 0 18px}.tiles+.obor-key{margin-top:18px}.obor-row .em{font-size:1.5rem}.obor-row.on{box-shadow:inset 0 0 0 2px var(--accent)}.obor-all{margin-top:12px}.obor-more{margin:18px 2px 0}.obor-year{margin-bottom:8px}.obor-general{margin:10px 2px 0;line-height:1.5}.obor-general a,.obor-of a{color:inherit;font-weight:750}.obor-of{margin:-4px 2px 14px}.tile .glyph-em,.skey .glyph-em{font-size:1.9rem;font-weight:400;line-height:1}.skey.s .glyph-em{font-size:1rem}.skey.m .glyph-em{font-size:1.25rem}.obor-soon{margin:10px 2px 0}.check-note{background:var(--card);box-shadow:inset 0 0 0 1px var(--line);color:var(--ink-2);text-wrap:pretty;border-radius:14px;gap:8px;margin:16px 0 14px;padding:12px 14px;font-size:.85rem;font-weight:650;line-height:1.4;display:grid}.check-note p{align-items:flex-start;gap:8px;margin:0;display:flex}.check-note b{color:var(--ink);font-weight:800}.check-note p a{color:inherit;text-decoration:underline;-webkit-text-decoration-color:var(--line);text-decoration-color:var(--line);text-underline-offset:2px}.check-note p a:hover{text-decoration-color:currentColor}.check-note p>i{background:var(--k-yellow);min-width:20px;height:20px;color:var(--k-yellow-on);font-style:normal;font:800 .66rem/1 var(--mono);border-radius:10px;flex:none;place-items:center;padding:0 3px;display:grid}.check-note p:first-child>i{background:var(--ink);color:var(--bg)}.check-note.ok p+p>i{background:var(--k-green);color:var(--k-green-on)}.check-note .btn{min-height:46px;margin-top:4px;font-size:.95rem}.choice{min-height:58px}.choice.on{box-shadow:inset 0 0 0 2px var(--accent)}.choice .tick{width:28px;height:28px;box-shadow:inset 0 0 0 2px var(--line);color:var(--on-accent);border-radius:50%;flex:none;place-items:center;display:grid}.choice.on .tick{background:var(--accent);box-shadow:none}.choice .tick svg{width:18px;height:18px}.about-lead{text-wrap:pretty;align-items:center;gap:14px;margin:6px 2px 0;font-size:1.08rem;line-height:1.5;display:flex}.about-lead .mascot{flex:none}.about-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.about-list li{border-radius:var(--r-s);background:var(--card);text-wrap:pretty;padding:12px 16px;line-height:1.5}.about-key{margin-top:24px}.about-key>svg{width:22px;height:22px;color:var(--ink-3);flex:none}.about-join{background:var(--accent-soft);box-shadow:inset 0 0 0 2px color-mix(in oklab, var(--accent) 45%, transparent);text-wrap:pretty;gap:10px;margin-top:28px;line-height:1.5;display:grid}.about-join h2{color:var(--accent-ink);margin:0;font-size:1.3rem;font-weight:900}.about-join p{margin:0;font-weight:700}.about-join ul{gap:6px;margin:0 0 6px;padding-left:1.2em;display:grid}.hints{gap:8px;margin:-4px 0 16px;display:grid}.hint{border-radius:var(--r-s);background:var(--accent-soft);color:var(--accent-ink);animation:in .25s var(--ease);align-items:flex-start;gap:10px;padding:10px 14px;font-weight:700;line-height:1.4;display:flex}.hint svg{flex:none;width:20px;height:20px;margin-top:1px}.hint-key{min-height:40px;font-family:var(--mono);color:var(--ink-2);box-shadow:inset 0 0 0 1.5px var(--line);border-radius:999px;justify-self:start;align-items:center;gap:8px;padding:0 14px;font-size:.85rem;font-weight:750;display:inline-flex}.hint-key svg{width:18px;height:18px;color:var(--accent-ink)}.hint-key small{color:var(--ink-3);font-size:.75rem}.hint-key:active{color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--accent)}.sheet .verdict small{font-family:var(--mono);color:var(--ink-3);margin-left:4px;font-size:.78rem;font-weight:700}.report-key{min-height:36px;font-family:var(--mono);color:var(--ink-3);border-radius:10px;justify-self:center;align-items:center;gap:6px;padding:0 10px;font-size:.76rem;font-weight:700;display:inline-flex}.report-key svg{width:15px;height:15px}.report-key:hover{color:var(--ink)}.topic-report{justify-content:center;margin-top:6px;display:flex}.mistakes .card .report-key{margin:6px 0 -8px -10px}.report-sheet{width:100%;max-width:none;height:100%;max-height:none;color:var(--ink);overscroll-behavior:contain;background:0 0;border:0;margin:0;padding:0;position:fixed;inset:0;overflow:auto}.report-sheet::backdrop{background:color-mix(in oklab, var(--bg) 70%, transparent);-webkit-backdrop-filter:blur(8px);animation:.2s fade}.report-body{max-width:520px;margin:max(12px, calc(env(safe-area-inset-top) + 12px)) auto;background:var(--card);box-shadow:inset 0 0 0 1px var(--line), 0 18px 40px #0000002e;animation:up .28s var(--ease);border-radius:22px;width:calc(100% - 24px);padding:22px 18px 20px;position:relative}@media (min-height:640px){.report-body{margin-top:max(48px,12vh)}}.report-body form,.report-done{gap:14px;display:grid}.report-body h2{padding-right:44px;font-size:1.3rem;font-weight:900}.report-x{position:absolute;top:12px;right:10px}.report-what{border-radius:var(--r-s);background:var(--bg);max-height:7.5em;padding:10px 12px;font-weight:700;line-height:1.4;overflow:auto}.report-what small{font-family:var(--mono);color:var(--ink-3);margin-bottom:2px;font-size:.72rem;font-weight:700;display:block}.report-reasons{gap:8px;display:grid}.report-reason{border-radius:var(--r-s);background:var(--key);min-height:48px;box-shadow:inset 0 0 0 1px var(--line), 0 3px 0 var(--key-edge);cursor:pointer;align-items:center;gap:10px;padding:0 14px;font-weight:750;display:flex}.report-reason.on{box-shadow:inset 0 0 0 2px var(--accent), 0 3px 0 var(--key-edge)}.report-reason input{accent-color:var(--accent);width:18px;height:18px;margin:0}.report-note{gap:6px;font-weight:750;display:grid}.report-note small{font-weight:600}.report-note textarea{font:inherit;border-radius:var(--r-s);border:2px solid var(--line);background:var(--key);color:var(--ink);resize:vertical;min-height:84px;padding:10px 12px;font-weight:600}.report-note textarea:focus{border-color:var(--accent);outline:none}.report-err{color:var(--bad);font-weight:750}.display{text-align:left}.disp-mid{align-self:center;gap:8px;min-width:0;display:grid}.leds i.frz{background:color-mix(in oklab, var(--k-teal) 55%, var(--lcd-off))}.goal{align-items:center;gap:8px;display:flex}.goal-bar{background:var(--lcd-off);border-radius:3px;flex:1;height:6px;overflow:hidden}.goal-bar i{background:var(--k-yellow);height:100%;transition:width .4s var(--ease);border-radius:3px;display:block}.goal.done .goal-bar i{background:var(--k-green);box-shadow:0 0 8px var(--k-green)}.goal small{font-family:var(--mono);color:#f4f4f1b3;white-space:nowrap;font-variant-numeric:tabular-nums;font-size:.68rem;font-weight:700}.goal-done{font-family:var(--mono);color:var(--ok);font-weight:750}.goal-left{font-family:var(--mono);color:var(--ink-3);font-size:.85rem;font-weight:700}.review-keys{gap:10px;margin-top:14px;display:grid}.review-key{min-height:64px}.mistakes-book .lead{margin:0 2px 14px;line-height:1.45}.mistakes-book .btn{margin-bottom:6px}.mistakes-book .sec{margin-top:22px}.mistakes-book .sec .row{margin-bottom:4px}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;margin-bottom:14px;display:grid}.stat{border-radius:var(--r);background:var(--lcd);color:var(--lcd-ink);gap:4px;padding:12px 14px;display:grid}.stat b{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:1.7rem;font-weight:800;line-height:1}.stat b small{color:#f4f4f18c;font-size:.95rem}.stat span{font-family:var(--mono);color:#f4f4f1a6;font-size:.72rem;font-weight:600}.stat.done b{color:var(--k-green)}.sub-row .txt{gap:4px}.star-bar{background:var(--bg);border-radius:4px;gap:2px;height:10px;margin-top:4px;display:flex;overflow:hidden}.star-bar i,.legend i{background:var(--line);min-width:4px;display:block}.star-bar i.b3,.legend i.b3{background:var(--accent)}.star-bar i.b2,.legend i.b2{background:color-mix(in oklab, var(--accent) 62%, var(--card))}.star-bar i.b1,.legend i.b1{background:color-mix(in oklab, var(--accent) 32%, var(--card))}.star-bar i.b0,.legend i.b0{background:color-mix(in oklab, var(--ink-3) 55%, var(--card))}.overview .legend{--c:var(--k-orange);font-family:var(--mono);flex-wrap:wrap;align-items:center;gap:4px 6px;margin-top:22px;font-size:.72rem;font-weight:600;display:flex}.legend i{border-radius:2px;width:12px;height:10px;margin-left:6px}.settings .note{margin:10px 2px 0;font-size:.85rem;line-height:1.45}.map-row .seg-meter{flex:none;width:64px}.label.map-parts{margin-top:24px}.map-frame{min-height:300px;max-height:min(62vh,520px);margin-top:18px;scroll-margin-top:70px}.map-frame .map{height:auto;aspect-ratio:var(--ar);min-height:300px;max-height:min(62vh,520px)}.map{--sea:color-mix(in oklab, var(--k-blue) 13%, var(--card));--land:var(--key);--ctx:color-mix(in oklab, var(--line) 75%, var(--card));--edge:color-mix(in oklab, var(--ink-3) 70%, var(--card));border-radius:var(--r);background:var(--sea);height:100%;min-height:220px;box-shadow:inset 0 0 0 1px var(--line);touch-action:none;-webkit-user-select:none;user-select:none;position:relative;overflow:hidden}:root[data-theme=dark] .map{--sea:color-mix(in oklab, var(--k-blue) 16%, var(--bg));--land:color-mix(in oklab, var(--key) 70%, var(--ink-3));--ctx:color-mix(in oklab, var(--key) 60%, var(--bg));--edge:color-mix(in oklab, var(--ink-3) 75%, var(--bg))}.map svg{cursor:pointer;width:100%;height:100%;display:block}.map path,.map circle{stroke:var(--edge);stroke-width:.7px;vector-effect:non-scaling-stroke;stroke-linejoin:round;transition:fill .2s}.map path.p{fill:var(--land)}.map path.c{fill:var(--ctx);cursor:default}@media (hover:hover){.map path.p:hover,.map circle:hover{fill:color-mix(in oklab, var(--land) 82%, var(--ink))}}.map circle.dot{fill:var(--land);stroke:var(--ink-2);stroke-width:1.4px}.map :is(path,circle).ok{fill:var(--k-green)}.map :is(path,circle).miss{fill:color-mix(in oklab, var(--k-red) 55%, var(--land))}.map :is(path,circle).show{fill:var(--k-yellow);animation:.5s 3 alternate blink}.map :is(path,circle).pick{fill:var(--accent);animation:.6s 2 alternate blink}.map :is(path,circle).bad{fill:var(--bad)}.map circle.pick,.map circle.show{stroke:var(--ink);stroke-width:2px}.map-tag{pointer-events:none;white-space:nowrap;text-overflow:ellipsis;background:var(--ink);max-width:calc(100% - 16px);color:var(--bg);animation:in .18s var(--ease);border-radius:10px;padding:6px 11px;font-size:.95rem;font-weight:800;position:absolute;overflow:hidden;transform:translate(-50%,calc(-100% - 10px));box-shadow:0 4px 14px #0003}.map-tag.ok{background:var(--ok);color:#fff}.map-tag.bad{background:var(--bad);color:#fff}.map-zoom{gap:6px;display:grid;position:absolute;top:8px;right:8px}.map-zoom .icon-btn{background:var(--key);width:40px;height:40px;color:var(--ink);font:800 1.3rem/1 var(--mono);box-shadow:inset 0 0 0 1px var(--line), 0 2px 0 var(--key-edge)}.map-zoom .icon-btn svg{width:20px;height:20px}.map-tip{margin:10px 2px 22px;font-size:.88rem;line-height:1.45}.map-len{margin-top:0}.map-mode .stars{margin-left:6px}.map-list{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px;display:grid}.map-place{border-radius:var(--r-s);text-align:left;background:var(--key);box-shadow:inset 0 0 0 1px var(--line), 0 3px 0 var(--key-edge);gap:1px;padding:9px 12px;display:grid}.map-place b{font-weight:800;line-height:1.25}.map-place span{color:var(--ink-2);font-size:.86rem;font-weight:650}.map-place.on{box-shadow:inset 0 0 0 2px var(--accent), 0 3px 0 var(--key-edge);background:var(--accent-soft)}.page.game{max-width:980px;height:100dvh;padding-bottom:calc(env(safe-area-inset-bottom) + 12px);flex-direction:column;display:flex}.game .map{flex:1;min-height:0}.steps-meter i.half{background:var(--k-yellow)}.map-ask{flex-wrap:wrap;align-content:flex-end;align-items:baseline;gap:4px 10px;min-height:4rem;margin:6px 2px 12px;display:flex}.map-ask small{font-family:var(--mono);color:var(--ink-2);font-size:.85rem;font-weight:700}.map-ask b{font-size:1.6rem;font-weight:900;line-height:1.15}.map-tries{font-family:var(--mono);color:var(--bad);margin-left:auto;font-size:.78rem;font-weight:700}.map-opts{grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.map-opts .opt{text-align:center;min-height:52px;padding:8px 12px;font-size:.98rem}.map-opts .opt[disabled]{opacity:.45}.map-next{margin-top:12px}
