@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,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)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}: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;--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)}.vocab-key{margin-top:24px}.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}.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{0%,94%,to{transform:scaleY(1)}97%{transform:scaleY(.1)}}.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}.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 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}.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}
