:root{--font-word: "Oswald", "Arial Narrow", "Roboto Condensed", sans-serif;--font-body: "Onest", system-ui, -apple-system, "Segoe UI", sans-serif;--font-ipa: "Noto Sans", "Segoe UI", sans-serif;--word-weight: 700;--word-skew: -7deg;--word-leading: .92;--word-size-max: 104px;--word-size-min: 30px;--meaning-size: 24px;--prompt-size: 30px;--ipa-size: 18px;--example-size: 16px;--hero-size: 52px;--radius-s: 10px;--radius-m: 14px;--radius-l: 18px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--dur-fast: .12s;--dur: .26s;--ease: cubic-bezier(.2,.8,.2,1);--bg: #0E0F11;--surface: #16181B;--raised: #1F2226;--line: #2A2E34;--text: #F2F2EE;--muted: #8C9199;--dim: #5E636B;--accent: #C8F031;--accent-ink: #11140A;--accent-text: #C8F031;--again: #FF6464;--hard: #FFB547;--good: var(--accent);--easy: #7FA8FF;--der: #7FA8FF;--die: #FF7A7A;--das: #74D68E;--nav-bg: rgba(14, 15, 17, .94);--shadow: 0 10px 26px rgba(0, 0, 0, .45);color-scheme:dark}:root[data-ct-theme=light]{--bg: #F4F4EF;--surface: #FFFFFF;--raised: #ECECE5;--line: #DCDCD3;--text: #121410;--muted: #5C6058;--dim: #8A8E85;--accent: #C8F031;--accent-ink: #11140A;--accent-text: #4A6500;--again: #D23B3B;--hard: #A86400;--easy: #2D5FD3;--der: #2D5FD3;--die: #CC3434;--das: #1E8A4C;--nav-bg: rgba(244, 244, 239, .94);--shadow: 0 10px 26px rgba(18, 20, 16, .12);color-scheme:light}@media(prefers-color-scheme:light){:root:not([data-ct-theme]){--bg: #F4F4EF;--surface: #FFFFFF;--raised: #ECECE5;--line: #DCDCD3;--text: #121410;--muted: #5C6058;--dim: #8A8E85;--accent-text: #4A6500;--again: #D23B3B;--hard: #A86400;--easy: #2D5FD3;--der: #2D5FD3;--die: #CC3434;--das: #1E8A4C;--nav-bg: rgba(244, 244, 239, .94);--shadow: 0 10px 26px rgba(18, 20, 16, .12);color-scheme:light}}@media(prefers-reduced-motion:reduce){:root{--dur-fast: 0ms;--dur: 0ms}}*{box-sizing:border-box}[hidden]{display:none!important}html,body{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:16px;-webkit-tap-highlight-color:transparent;overscroll-behavior:none}button{font:inherit;color:inherit;cursor:pointer;border:0;background:none;padding:0}button:disabled{cursor:default}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}input,textarea,select{font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:11px 12px;width:100%}textarea{min-height:90px;resize:vertical}.app{height:100%;max-width:480px;margin:0 auto;display:flex;flex-direction:column;padding:calc(env(safe-area-inset-top) + 10px) 16px 0;position:relative}.view{flex:1;overflow:auto;display:flex;flex-direction:column;gap:14px;padding-bottom:90px}.view>*,.sheet-body>*,.word-card>*,.finish>*{flex-shrink:0}.top{display:flex;align-items:center;gap:10px;padding:4px 0 8px}.logo{display:flex;align-items:center;gap:10px;margin-right:auto}.logo i{width:30px;height:30px;border-radius:9px;background:var(--accent);color:var(--accent-ink);display:grid;place-items:center;font-style:normal;font-family:var(--font-word);font-weight:700;font-size:18px;transform:skew(-8deg)}.logo b{font-family:var(--font-word);font-weight:600;font-size:21px}.chip{display:inline-flex;align-items:center;gap:6px;padding:6px 11px;border-radius:999px;background:var(--surface);border:1px solid var(--line);font-size:13px;font-weight:600;white-space:nowrap}.chip.time{border-color:var(--hard);color:var(--hard)}.chip.on{background:var(--accent);color:var(--accent-ink);border-color:var(--accent-text)}.icon{width:38px;height:38px;border-radius:12px;background:var(--surface);border:1px solid var(--line);display:grid;place-items:center;color:var(--muted);flex:none}.icon svg{width:19px;height:19px}.chips{display:flex;gap:6px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.chips::-webkit-scrollbar{display:none}.modes{display:grid;grid-template-columns:1fr 1.3fr 1fr .8fr;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:3px;gap:2px}.modes button{padding:7px 2px;border-radius:11px;font-size:13px;font-weight:600;color:var(--muted);white-space:nowrap}.modes button small{display:block;font-size:11px;font-weight:500;color:var(--dim);font-variant-numeric:tabular-nums}.modes button.on{background:var(--raised);color:var(--text)}.modes button.on small{color:var(--accent-text)}.hero{display:flex;flex-direction:column;gap:6px;padding:4px 2px 0}.eyebrow{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.hero h1{margin:0;font-family:var(--font-word);font-weight:700;font-size:52px;line-height:.95;transform:skew(-6deg);transform-origin:left}.hero h1 em{font-style:normal;color:var(--accent-text)}.hero p{margin:0;color:var(--muted);font-size:15px;line-height:1.4}.start{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:18px 20px;border-radius:var(--radius-l);background:var(--accent);color:var(--accent-ink);font-weight:700;font-size:18px;text-align:left}.start span{font-family:var(--font-word);font-size:26px;font-weight:700}.start:disabled{background:var(--raised);color:var(--dim)}.rows{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-l);overflow:hidden}.row{display:flex;align-items:center;gap:14px;padding:14px 16px;text-align:left;border-top:1px solid var(--line);width:100%}.row:first-child{border-top:0}.ri{width:34px;height:34px;border-radius:10px;background:var(--raised);display:grid;place-items:center;color:var(--muted);flex:none}.ri svg{width:18px;height:18px}.rt{flex:1;min-width:0}.rt b{display:block;font-weight:600}.rt small{color:var(--muted);font-size:13px}.rn{font-family:var(--font-word);font-size:22px;font-weight:600;font-variant-numeric:tabular-nums}.rn.warn{color:var(--again)}.rn.lime{color:var(--accent-text)}.row:disabled{opacity:.45}.box{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-l);padding:14px 16px;display:flex;flex-direction:column;gap:10px}.box h3{margin:0;font-size:13px;font-weight:600;color:var(--muted)}.box h3 b{color:var(--text)}.note{font-size:13px;color:var(--muted);line-height:1.45;border:1px dashed var(--line);border-radius:12px;padding:10px 12px}.week{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;align-items:end;height:84px}.week div{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:4px;height:100%;font-variant-numeric:tabular-nums}.week i{display:block;width:100%;border-radius:5px 5px 2px 2px;background:var(--raised);min-height:3px}.week div.today i{background:var(--accent)}.week b{font-size:11px;font-weight:600}.week span{font-size:11px;color:var(--dim)}.tiles{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.tile{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:12px 14px}.tile b{display:block;font-family:var(--font-word);font-size:30px;font-weight:600;font-variant-numeric:tabular-nums;line-height:1.1}.tile span{font-size:13px;color:var(--muted)}.ptiles{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.ptile{display:flex;flex-direction:column;gap:8px;text-align:left;padding:14px;border-radius:var(--radius-l);background:var(--surface);border:1px solid var(--line);min-height:132px}.ptile .ri{background:var(--raised)}.ptile b{font-weight:700;font-size:16px}.ptile small{color:var(--muted);font-size:13px;line-height:1.35}.ptile.wide{grid-column:span 2;min-height:0;flex-direction:row;align-items:center}.ptile.accent{background:color-mix(in srgb,var(--accent) 10%,var(--surface));border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}.ptile.accent .ri{color:var(--accent-text)}.btnrow{display:flex;gap:8px;flex-wrap:wrap}.btnrow>*{flex:1 1 40%}.primary{width:100%;padding:15px;border-radius:16px;background:var(--accent);color:var(--accent-ink);font-weight:700;font-size:17px}.primary:disabled{background:var(--raised);color:var(--dim)}.ghost{width:100%;padding:13px;border-radius:16px;background:var(--surface);border:1px solid var(--line);font-weight:700;font-size:15px}.ghost:disabled{opacity:.4}.mini{padding:8px 11px;border-radius:10px;border:1px solid var(--line);background:var(--raised);font-size:13px;font-weight:700;white-space:nowrap}.mini.go{background:var(--accent);border-color:var(--accent-text);color:var(--accent-ink)}.mini.danger{color:var(--again)}.seg{display:inline-flex;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:3px;gap:2px}.seg button{padding:7px 12px;border-radius:9px;font-size:13px;font-weight:600;color:var(--muted)}.seg button.on{background:var(--raised);color:var(--text)}.nav{position:absolute;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);padding:6px 8px calc(env(safe-area-inset-bottom) + 6px);background:var(--nav-bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.nav button{display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px;font-size:12px;font-weight:600;color:var(--dim);position:relative}.nav button svg{width:22px;height:22px}.nav button.on{color:var(--accent-text)}.nav .dot{position:absolute;top:2px;right:calc(50% - 18px);min-width:16px;height:16px;border-radius:8px;background:var(--accent);color:var(--accent-ink);font-size:10px;font-weight:800;display:grid;place-items:center;padding:0 4px}.fab{position:absolute;right:16px;bottom:calc(env(safe-area-inset-bottom) + 76px);width:56px;height:56px;border-radius:18px;background:var(--accent);color:var(--accent-ink);display:grid;place-items:center;box-shadow:var(--shadow)}.fab svg{width:26px;height:26px}.search{display:flex;gap:8px}.wlist{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-l);overflow:hidden}.witem{display:flex;align-items:center;gap:12px;padding:12px 14px;border-top:1px solid var(--line);text-align:left;width:100%}.witem:first-child{border-top:0}.witem .wt{flex:1;min-width:0}.witem .wt b{display:block;font-weight:600;font-size:16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.witem .wt small{display:block;color:var(--muted);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.st{font-size:11px;font-weight:700;padding:4px 8px;border-radius:7px;background:var(--raised);color:var(--muted);white-space:nowrap}.st.new{color:var(--accent-text)}.st.learn{color:var(--hard)}.st.stable{color:var(--das)}.st.leech{color:var(--again)}.art.der{color:var(--der)}.art.die{color:var(--die)}.art.das{color:var(--das)}.inbox-bar{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:var(--radius-l);background:color-mix(in srgb,var(--accent) 9%,var(--surface));border:1px solid color-mix(in srgb,var(--accent) 40%,var(--line));text-align:left;width:100%}.inbox-bar b{flex:1}.empty{text-align:center;color:var(--muted);padding:24px 0}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg);z-index:10;display:flex;justify-content:center}.ov{width:100%;max-width:480px;height:100%;display:flex;flex-direction:column;gap:12px;padding:calc(env(safe-area-inset-top) + 10px) 16px calc(env(safe-area-inset-bottom) + 14px)}.ov-top{display:flex;align-items:center;gap:12px}.ov-top .meta{flex:1;text-align:center;min-width:0}.ov-top .meta b{display:block;font-size:14px;font-weight:600}.ov-top .meta small{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}.bar{height:3px;border-radius:2px;background:var(--raised);overflow:hidden}.bar span{display:block;height:100%;background:var(--accent);transition:width .3s}.linkbtn{font-size:13px;font-weight:600;color:var(--muted);padding:6px 4px;min-width:38px}.linkbtn:disabled{opacity:.3}.stage{flex:1;min-height:0;position:relative}.word-card{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;gap:14px;padding:6px 2px;overflow:auto;touch-action:pan-y;user-select:none;-webkit-user-select:none;transition:transform .26s cubic-bezier(.2,.8,.2,1),opacity .26s}.word-card.drag{transition:none}.tags{display:flex;gap:8px;flex-wrap:wrap}.tag{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding:5px 9px;border-radius:7px;background:var(--surface);border:1px solid var(--line)}.tag.new{color:var(--accent-text);border-color:color-mix(in srgb,var(--accent) 40%,var(--line))}.tag.leech{color:var(--again);border-color:color-mix(in srgb,var(--again) 40%,var(--line))}.big{max-width:100%;font-family:var(--font-word);font-weight:700;line-height:.92;color:var(--text);transform:skew(-7deg);transform-origin:left bottom;animation:rise .4s cubic-bezier(.2,.8,.2,1) both;margin-top:auto}.big .art{font-size:.42em;display:block;letter-spacing:.02em;margin-bottom:.12em}.big .dot{color:var(--accent-text)}.ipa{font-family:var(--font-ipa);font-size:18px;color:var(--muted);display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}.ipa small{font-family:var(--font-body);font-size:13px;color:var(--dim);font-style:italic}.audio{display:flex;gap:8px;flex-wrap:wrap}.pill{display:inline-flex;align-items:center;gap:7px;padding:9px 13px;border-radius:999px;background:var(--surface);border:1px solid var(--line);font-size:14px;font-weight:600}.pill svg{width:16px;height:16px}.pill.on{background:var(--accent);color:var(--accent-ink);border-color:var(--accent-text)}.reveal-zone{display:flex;flex-direction:column;gap:10px;border-left:3px solid var(--accent);padding:2px 0 2px 14px;animation:rise2 .3s ease-out both}.meaning{font-size:24px;font-weight:600;line-height:1.2}.ex{font-size:16px;line-height:1.45;color:var(--muted)}.ex mark{background:none;color:var(--accent-text);font-weight:600}.mnem{font-size:14px;color:var(--text);background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:9px 12px}.mnem b{color:var(--hard);font-size:12px;text-transform:uppercase;letter-spacing:.1em;display:block;margin-bottom:2px}.prompt{font-size:14px;color:var(--muted);font-weight:500}.prod-q{font-size:30px;font-weight:600;line-height:1.15;margin-top:auto;animation:rise2 .4s ease-out both}.typebox{display:flex;gap:8px}.typebox input{flex:1;min-width:0;font-size:18px;border-radius:14px;padding:13px 14px;background:var(--surface)}.typebox button{padding:0 16px;border-radius:14px;background:var(--raised);font-weight:700}.verdict{display:flex;flex-direction:column;gap:4px;font-size:15px;padding:10px 12px;border-radius:12px;background:var(--surface);border:1px solid var(--line)}.verdict b{font-weight:700}.verdict.ok b{color:var(--accent-text)}.verdict.typo b{color:var(--hard)}.verdict.bad b{color:var(--again)}.verdict .diff{font-family:var(--font-word);font-size:22px;letter-spacing:.02em}.diff .x{color:var(--again);text-decoration:underline}.wdiff .x{color:var(--again);font-weight:700}.wdiff .ok{color:var(--accent-text)}.hint-tap{margin-top:auto;font-size:13px;color:var(--dim);text-align:center;padding-top:8px}@keyframes rise{0%{opacity:0;transform:translateY(10px) skew(-7deg)}to{opacity:1}}@keyframes rise2{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes shake{0%,to{transform:none}25%{transform:translate(-6px)}75%{transform:translate(6px)}}.shake{animation:shake .25s}.answer{display:flex;flex-direction:column;gap:8px}.rates{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.rate{display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 4px;border-radius:14px;background:var(--surface);border:1px solid var(--line);font-weight:700;font-size:14px}.rate small{font-size:12px;font-weight:600;color:var(--muted);font-variant-numeric:tabular-nums}.rate.g1{color:var(--again)}.rate.g2{color:var(--hard)}.rate.g4{color:var(--easy)}.rate.g3{background:var(--accent);border-color:var(--accent-text);color:var(--accent-ink)}.rate.g3 small{color:color-mix(in srgb,var(--accent-ink) 70%,transparent)}.rate.sug{box-shadow:0 0 0 2px var(--text)}.hint{font-size:12px;color:var(--dim);text-align:center}.opts{display:flex;flex-direction:column;gap:10px}.opt{display:flex;align-items:center;gap:14px;text-align:left;padding:15px;border-radius:16px;background:var(--surface);border:1px solid var(--line);font-size:16px;font-weight:500}.opt i{width:28px;height:28px;border-radius:8px;background:var(--raised);display:grid;place-items:center;font-style:normal;font-size:13px;font-weight:700;color:var(--muted);flex:none}.opt.right{border-color:var(--good);background:color-mix(in srgb,var(--good) 12%,var(--surface))}.opt.right i{background:var(--good);color:var(--accent-ink)}.opt.wrong{border-color:var(--again);background:color-mix(in srgb,var(--again) 12%,var(--surface))}.qfeed{border-left:3px solid var(--good);padding:2px 0 2px 14px;display:flex;flex-direction:column;gap:6px;animation:rise2 .3s ease-out both}.qfeed.bad{border-color:var(--again)}.finish{position:absolute;top:0;right:0;bottom:0;left:0;overflow:auto;display:flex;flex-direction:column;gap:14px}.done{font-family:var(--font-word);font-weight:700;font-size:60px;line-height:.95;transform:skew(-7deg);transform-origin:left;margin-top:8px}.done em{font-style:normal;color:var(--accent-text)}.mx-top{display:flex;gap:10px;align-items:center;justify-content:space-between;font-variant-numeric:tabular-nums}.mx-top .tm{font-family:var(--font-word);font-size:24px;font-weight:600}.mx-targets{display:flex;flex-wrap:wrap;gap:6px}.mx-t{font-size:13px;padding:6px 10px;border-radius:9px;background:var(--surface);border:1px solid var(--line);color:var(--muted)}.mx-t.found{border-color:var(--accent-text);color:var(--accent-text)}.mx-t.found b{font-family:var(--font-word);font-weight:600;color:var(--text);margin-left:6px}.grid{display:grid;gap:6px;touch-action:none;user-select:none;-webkit-user-select:none}.cell{aspect-ratio:1;border-radius:12px;background:var(--surface);border:1px solid var(--line);display:grid;place-items:center;font-family:var(--font-word);font-weight:600;color:var(--text);transition:background .12s,opacity .3s,transform .12s;font-size:var(--cfs,20px);text-transform:lowercase}.cell.sel{background:var(--accent);color:var(--accent-ink);border-color:var(--accent-text);transform:scale(.96)}.cell.gone{opacity:.12;pointer-events:none}.cell.hint{box-shadow:0 0 0 2px var(--hard)}.cell.bad{background:var(--again);color:var(--accent-ink)}.mx-cur{min-height:34px;font-family:var(--font-word);font-size:26px;font-weight:600;text-align:center;letter-spacing:.02em;color:var(--accent-text)}.heat{display:grid;grid-auto-flow:column;grid-template-rows:repeat(7,1fr);gap:3px}.heat i{display:block;aspect-ratio:1;border-radius:3px;background:var(--raised)}.heat i.l1{background:color-mix(in srgb,var(--accent) 30%,var(--raised))}.heat i.l2{background:color-mix(in srgb,var(--accent) 55%,var(--raised))}.heat i.l3{background:color-mix(in srgb,var(--accent) 80%,var(--raised))}.heat i.l4{background:var(--accent)}.heat i.fut{background:transparent}.legend{display:flex;justify-content:space-between;font-size:11px;color:var(--dim)}.deckbar{display:flex;flex-direction:column;gap:6px}.deckbar .lb{display:flex;justify-content:space-between;font-size:13px}.deckbar .lb span{color:var(--muted);font-variant-numeric:tabular-nums}.stack{display:flex;height:10px;border-radius:5px;overflow:hidden;background:var(--raised)}.stack i{display:block;height:100%}.k{display:flex;gap:12px;flex-wrap:wrap;font-size:12px;color:var(--muted)}.k span:before{content:"";display:inline-block;width:9px;height:9px;border-radius:3px;margin-right:5px;background:var(--c)}.tagbars{display:flex;flex-direction:column;gap:8px}.tagbar{display:grid;grid-template-columns:120px 1fr 44px;gap:10px;align-items:center;font-size:13px}.tagbar .tr{height:8px;border-radius:4px;background:var(--raised);overflow:hidden}.tagbar .tr i{display:block;height:100%;background:var(--accent)}.tagbar .tr i.low{background:var(--again)}.tagbar b{text-align:right;font-variant-numeric:tabular-nums}.chapters{display:flex;gap:10px;overflow-x:auto;padding-bottom:4px}.chap{flex:none;width:150px;border-radius:16px;background:var(--surface);border:1px solid var(--line);padding:12px;display:flex;flex-direction:column;gap:4px}.chap.locked{opacity:.4}.chap b{font-family:var(--font-word);font-size:22px;font-weight:600}.chap small{font-size:12px;color:var(--muted);line-height:1.35}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;z-index:20;opacity:0;pointer-events:none;transition:opacity .2s}.scrim.on{opacity:1;pointer-events:auto}.sheet{position:fixed;left:0;right:0;bottom:0;z-index:21;max-width:480px;margin:0 auto;max-height:90%;display:flex;flex-direction:column;background:var(--surface);border-radius:22px 22px 0 0;border:1px solid var(--line);border-bottom:0;transform:translateY(105%);transition:transform .26s cubic-bezier(.2,.8,.2,1);padding-bottom:env(safe-area-inset-bottom)}.sheet.on{transform:none}.sheet-head{display:flex;align-items:center;gap:8px;padding:16px 16px 8px}.sheet-head h2{margin:0 auto 0 0;font-family:var(--font-word);font-weight:600;font-size:24px}.sheet-body{overflow:auto;padding:0 16px 18px;display:flex;flex-direction:column;gap:10px}.field{display:flex;flex-direction:column;gap:5px}.field label{font-size:12px;font-weight:600;color:var(--muted)}.field2{display:grid;grid-template-columns:1fr 1fr;gap:8px}.set{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--bg);border:1px solid var(--line);border-radius:14px;padding:12px 14px}.set label{font-weight:600}.set small{display:block;color:var(--muted);font-size:12px;font-weight:500;margin-top:2px}.set input[type=range]{width:42%;accent-color:var(--accent-text);padding:0;border:0;background:none}.set output{min-width:42px;text-align:right;font-weight:700;font-variant-numeric:tabular-nums;color:var(--accent-text)}.tgl{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:46px!important;height:28px;border-radius:14px;background:var(--raised);border:1px solid var(--line);position:relative;cursor:pointer;flex:none;padding:0}.tgl:after{content:"";position:absolute;top:2px;left:2px;width:22px;height:22px;border-radius:50%;background:var(--muted);transition:left .18s}.tgl:checked{background:var(--accent);border-color:var(--accent-text)}.tgl:checked:after{left:20px;background:var(--accent-ink)}.grp{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-top:6px}.item{background:var(--bg);border:1px solid var(--line);border-radius:14px;padding:10px 12px;display:flex;flex-direction:column;gap:8px}.item-row{display:flex;gap:8px;align-items:center}.item-row input{padding:9px 10px}.pillrow{display:flex;gap:6px;flex-wrap:wrap;font-size:12px}.pl{padding:3px 8px;border-radius:999px;background:var(--raised);color:var(--muted);font-weight:600}.pl.ok{color:var(--accent-text)}.pl.bad{color:var(--again)}.cands{display:flex;flex-direction:column;gap:6px;max-height:300px;overflow:auto}.cand{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:10px;background:var(--bg);border:1px solid var(--line);font-size:15px}.cand input{width:20px;height:20px;accent-color:var(--accent-text);padding:0}.cand span{flex:1}.cand small{color:var(--dim)}.toast{position:fixed;left:50%;bottom:calc(env(safe-area-inset-bottom) + 92px);transform:translate(-50%,16px);background:var(--text);color:var(--bg);padding:10px 16px;border-radius:12px;font-size:14px;font-weight:600;opacity:0;pointer-events:none;transition:all .2s;z-index:40;max-width:90%;text-align:center}.toast.on{opacity:1;transform:translate(-50%)}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}html,body,#app{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:var(--font-body);-webkit-tap-highlight-color:transparent}.app-loading{height:100%;display:grid;place-items:center;color:var(--muted)}.sync-dot{width:8px;height:8px;border-radius:50%;background:var(--hard);display:inline-block}.login{height:100%;max-width:420px;margin:0 auto;display:flex;flex-direction:column;justify-content:center;gap:14px;padding:24px 16px}.login form{display:flex;flex-direction:column;gap:10px}.err{color:var(--again);font-size:14px}.view .hero h1{font-size:46px}.word-card .big{margin-top:auto}html,body{overflow:hidden;overscroll-behavior:none}.app,.ov{overflow:hidden}.view{overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y}.view>*,.sheet-body>*,.finish>*{min-width:0;max-width:100%}.modes{grid-template-columns:repeat(4,minmax(0,1fr))}.modes button{min-width:0;white-space:normal;line-height:1.15;overflow-wrap:anywhere}.modes button small{white-space:normal}.top{min-width:0}.top .chip{min-width:0;overflow:hidden;text-overflow:ellipsis}.word-card,.finish,.sheet-body{overflow-x:hidden}.rt,.rt b,.rt small{min-width:0;overflow-wrap:anywhere}.start>:first-child{min-width:0}@media(max-width:380px){.app,.ov{padding-left:12px;padding-right:12px}.modes button{font-size:12px;padding:6px 1px}.modes button small{font-size:10px}.view .hero h1{font-size:38px}.start{padding:16px;font-size:17px}.start span{font-size:22px}.logo b{font-size:18px}.top .chip{font-size:12px;padding:5px 9px}.tile b{font-size:26px}.rates{gap:6px}.rate{font-size:13px}.done{font-size:48px}}.set{flex-wrap:wrap}.set>label{flex:1 1 140px;min-width:0}.seg{max-width:100%;flex-wrap:wrap}@media(max-width:380px){.seg button{padding:7px 9px}}.cell{min-width:0;overflow:hidden;padding:0 2px}@media(max-width:380px){.grid{gap:4px}.cell{font-size:calc(var(--cfs, 20px) * .85);border-radius:9px}}.ex-play{display:inline-grid;place-items:center;width:22px;height:22px;margin-left:6px;border-radius:50%;background:var(--raised);color:var(--accent-text);font-size:10px;vertical-align:middle}
