.top[data-v-f20b711e]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 16px;width:100%;max-width:1180px;margin:0 auto;padding:24px 32px 0;display:flex}.brand[data-v-f20b711e]{appearance:none;color:inherit;cursor:pointer;letter-spacing:-.01em;background:0 0;border:0;border-radius:10px;align-items:center;gap:10px;margin-left:-8px;padding:6px 8px;font-size:16px;font-weight:700;transition:background-color .15s;display:flex}.brand[data-v-f20b711e]:hover{background:var(--chip)}.brand[data-v-f20b711e]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.device[data-v-f20b711e]{align-items:center;gap:12px;min-width:0;font-size:13px;display:flex}.device-text[data-v-f20b711e]{text-overflow:ellipsis;white-space:nowrap;max-width:260px;overflow:hidden}.device-text strong[data-v-f20b711e]{font-weight:600}.via[data-v-f20b711e]{color:var(--muted);margin-left:4px}.dot[data-v-f20b711e]{background:var(--line);width:8px;height:8px;transition:background-color var(--t);border-radius:50%;flex:none}.ok .dot[data-v-f20b711e]{background:var(--accent);box-shadow:0 0 0 4px var(--hold-bg)}.busy .dot[data-v-f20b711e]{background:var(--accent);animation:1.1s ease-in-out infinite pulse-f20b711e}.bad .device-text[data-v-f20b711e]{color:var(--bad)}.bad .dot[data-v-f20b711e]{background:var(--bad)}@keyframes pulse-f20b711e{50%{opacity:.35}}@media (width<=640px){.top[data-v-f20b711e]{padding:16px 16px 0}.device-text[data-v-f20b711e]{max-width:140px}}.inner[data-v-743c3955]{width:var(--pane-w);flex-direction:column;min-height:100%;padding:20px 24px;display:flex}.head[data-v-743c3955]{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}h1[data-v-743c3955]{letter-spacing:-.01em;margin:0;font-size:16px;font-weight:700}.close[data-v-743c3955]{appearance:none;width:36px;height:36px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:10px;place-items:center;margin-right:-8px;transition:color .15s,background-color .15s;display:grid}.close[data-v-743c3955]:hover{color:var(--ink);background:var(--chip)}.close[data-v-743c3955]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}section[data-v-743c3955]{flex-direction:column;gap:8px;padding:18px 0;display:flex}section+section[data-v-743c3955]{border-top:1px solid var(--line)}h2[data-v-743c3955]{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0;font-size:11px;font-weight:700}.field[data-v-743c3955]{flex-direction:column;gap:4px;margin-top:4px;display:flex}.label[data-v-743c3955]{font-size:13px;font-weight:600}.unit[data-v-743c3955]{color:var(--muted);font-weight:500}.help[data-v-743c3955]{color:var(--muted);font-size:12px}.pills[data-v-743c3955]{flex-wrap:wrap;gap:2px;margin-left:-12px;display:flex}.switch-row[data-v-743c3955]{justify-content:space-between;align-items:center;gap:16px;display:flex}.switch[data-v-743c3955]{appearance:none;border:1px solid var(--line);background:var(--chip);cursor:pointer;border-radius:12px;flex:none;width:40px;height:24px;padding:0;transition:background-color .2s,border-color .2s;position:relative}.switch span[data-v-743c3955]{background:var(--muted);width:16px;height:16px;transition:transform .3s var(--ease-out-expo), background-color .2s;border-radius:50%;position:absolute;top:3px;left:3px}.switch[aria-checked=true][data-v-743c3955]{background:var(--accent);border-color:var(--accent)}.switch[aria-checked=true] span[data-v-743c3955]{background:var(--on-accent);transform:translate(16px)}.switch[data-v-743c3955]:focus-visible,input[data-v-743c3955]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.input-wrap[data-v-743c3955]{position:relative}input[data-v-743c3955]{border:1px solid var(--line);background:var(--bg);width:100%;height:40px;color:var(--ink);font:500 15px/1 var(--font-mono);letter-spacing:.04em;border-radius:10px;padding:0 36px 0 12px}input[data-v-743c3955]::placeholder{color:var(--muted);opacity:.7}.clear[data-v-743c3955]{appearance:none;width:32px;height:32px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;display:grid;position:absolute;top:4px;right:4px}.clear[data-v-743c3955]:hover{color:var(--ink)}.btn[data-v-743c3955]{align-self:flex-start}.keys[data-v-743c3955]{flex-direction:column;gap:8px;margin:0;display:flex}.keys div[data-v-743c3955]{justify-content:space-between;align-items:center;gap:12px;font-size:12px;display:flex}.keys dt[data-v-743c3955]{color:var(--ink);gap:4px;display:flex}.keys dd[data-v-743c3955]{color:var(--muted);text-align:right;margin:0}.keys kbd[data-v-743c3955]{padding:4px 6px;font-size:11px}.tips[data-v-743c3955]{color:var(--muted);flex-direction:column;gap:4px;margin:0;padding-left:18px;font-size:12px;display:flex}.about[data-v-743c3955]{border-top:1px solid var(--line);color:var(--muted);margin-top:auto;padding-top:16px;font-size:12px}.about p[data-v-743c3955]{margin:0 0 6px}.about a[data-v-743c3955]{color:inherit;text-decoration:underline;-webkit-text-decoration-color:var(--line);text-decoration-color:var(--line);text-underline-offset:3px;transition:color .15s,text-decoration-color .15s}.about a[data-v-743c3955]:hover{color:var(--ink);-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.about a[data-v-743c3955]:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:3px}.panel[data-v-7a258c8e]{width:min(100%,860px);margin:0 auto;font-size:28px;position:relative}.meta[data-v-7a258c8e]{font:500 15px/1 var(--font-mono);color:var(--muted);flex-wrap:wrap;align-items:baseline;gap:20px;margin-bottom:14px;display:flex}.meta b[data-v-7a258c8e]{color:var(--ink);font-weight:500}.count[data-v-7a258c8e]{margin-left:auto}.viewport[data-v-7a258c8e]{--line:1.72em;height:calc(var(--line) * 3);font-family:var(--font-mono);transition:opacity var(--t) var(--ease-out-expo);overflow:hidden}.panel:not(.focused) .viewport[data-v-7a258c8e]{opacity:.45}.words[data-v-7a258c8e]{line-height:var(--line);transition:transform .28s var(--ease-out-expo);flex-wrap:wrap;column-gap:.6em;display:flex;position:relative}.word[data-v-7a258c8e]{animation:rise .36s var(--ease-out-expo) backwards;line-height:calc(var(--line) - .3em);border-bottom:2px solid #0000;margin-bottom:.3em;display:inline-flex}.word.wrong[data-v-7a258c8e]{border-bottom-color:color-mix(in srgb, var(--bad) 55%, transparent)}.l[data-v-7a258c8e]{color:var(--todo);transition:color .12s}.l.ok[data-v-7a258c8e]{color:var(--done)}.l.bad[data-v-7a258c8e]{color:var(--bad);background:var(--bad-bg);border-radius:4px}.l.extra[data-v-7a258c8e]{color:var(--bad);background:var(--bad-bg);opacity:.7}.caret[data-v-7a258c8e]{background:var(--accent);border-radius:2px;width:2px;max-height:1.15em;margin-top:.22em;transition:transform .15s cubic-bezier(.25,1,.5,1);position:absolute;top:0;left:0}.caret.blink[data-v-7a258c8e]{animation:1.2s ease-in-out infinite blink-7a258c8e}@keyframes blink-7a258c8e{0%,to{opacity:1}50%{opacity:.15}}.panel.demo .caret[data-v-7a258c8e]{opacity:.7}.unfocused[data-v-7a258c8e]{pointer-events:none;place-items:center;display:grid;position:absolute;inset:0}.pill[data-v-7a258c8e]{color:var(--muted);background:var(--raised);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:999px;padding:7px 14px;font-size:14px}.demo-tag[data-v-7a258c8e]{font:600 11px/1 var(--font-ui);letter-spacing:.08em;text-transform:uppercase;color:var(--accent);border:1px solid;border-radius:999px;align-self:center;padding:4px 8px}.demo-row[data-v-7a258c8e]{min-height:24px;margin-bottom:14px}.demo-badge[data-v-7a258c8e]{font-family:var(--font-ui);align-items:center;gap:10px;display:inline-flex}.demo-pause[data-v-7a258c8e]{border:1px solid var(--line);background:var(--raised);width:24px;height:24px;color:var(--ink);cursor:pointer;transition:background-color var(--t) var(--ease-out-expo), border-color var(--t) var(--ease-out-expo);border-radius:999px;place-items:center;padding:0;display:grid}.demo-pause[data-v-7a258c8e]:hover{border-color:var(--accent)}.demo-hint[data-v-7a258c8e]{color:var(--ink);font-size:13px}.demo-hint kbd[data-v-7a258c8e]{font-size:12px}@media (width<=640px){.panel[data-v-7a258c8e]{font-size:20px}}.results[data-v-6a3c5d22]{flex-direction:column;gap:40px;width:min(100%,820px);margin:0 auto;display:flex}.score[data-v-6a3c5d22]{animation:rise .5s var(--ease-out-expo) both;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px 32px;display:flex}.wpm[data-v-6a3c5d22]{align-items:baseline;gap:12px;display:flex}.big[data-v-6a3c5d22]{font:600 clamp(72px, 12vw, 120px) / .85 var(--font-ui);letter-spacing:-.05em;font-variant-numeric:tabular-nums}.unit[data-v-6a3c5d22]{color:var(--muted);font-size:18px;font-weight:500}.stats[data-v-6a3c5d22]{font-variant-numeric:tabular-nums;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px;margin:0;display:grid}dt[data-v-6a3c5d22]{color:var(--muted);margin-bottom:8px;font-size:12px}dd[data-v-6a3c5d22]{font:500 24px/1 var(--font-mono);margin:0}.slash[data-v-6a3c5d22]{color:var(--muted)}.list[data-v-6a3c5d22]{flex-direction:column;gap:6px;display:flex}.list-head[data-v-6a3c5d22]{animation:rise .5s var(--ease-out-expo) both;justify-content:space-between;align-items:baseline;margin-bottom:8px;display:flex}h2[data-v-6a3c5d22]{margin:0;font-size:15px;font-weight:600}.note[data-v-6a3c5d22]{color:var(--muted);font-size:13px}.row[data-v-6a3c5d22]{background:var(--row);animation:rise .5s var(--ease-out-expo) both;border-radius:12px;grid-template-columns:56px minmax(0,1fr) 36px 140px;align-items:center;gap:20px;padding:12px 16px;display:grid}.char[data-v-6a3c5d22]{font:500 26px/1 var(--font-mono);text-align:center}.how[data-v-6a3c5d22]{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;display:flex}.layer[data-v-6a3c5d22]{margin-left:6px}.add[data-v-6a3c5d22]{appearance:none;border:1px solid var(--line);width:36px;height:36px;color:var(--muted);cursor:pointer;transition:color .15s, background-color .2s var(--ease-out-expo), border-color .15s, transform .2s var(--ease-out-expo);background:0 0;border-radius:10px;place-items:center;display:grid}.add[data-v-6a3c5d22]:hover{color:var(--ink);border-color:var(--muted)}.add[data-v-6a3c5d22]:active{transform:scale(.9)}.add.on[data-v-6a3c5d22]{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.add[data-v-6a3c5d22]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.misses[data-v-6a3c5d22]{color:var(--muted);text-align:right;flex-direction:column;gap:6px;font-size:12px;display:flex}.bar[data-v-6a3c5d22]{background:var(--line);border-radius:2px;height:4px;overflow:hidden}.bar span[data-v-6a3c5d22]{background:var(--accent);transform-origin:0;height:100%;animation:grow-6a3c5d22 .8s var(--ease-out-expo) both;border-radius:2px;display:block}@keyframes grow-6a3c5d22{0%{transform:scaleX(0)}}.actions[data-v-6a3c5d22]{animation:rise .5s var(--ease-out-expo) .45s both;flex-wrap:wrap;gap:10px;display:flex}@media (width<=640px){.stats[data-v-6a3c5d22]{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 32px}.row[data-v-6a3c5d22]{grid-template-columns:40px minmax(0,1fr) 36px}.misses[data-v-6a3c5d22]{text-align:left;grid-column:2/-1}}.board-host[data-v-7f11ea60]{width:100%}.board[data-v-7f11ea60]{margin:0 auto;position:relative}.key[data-v-7f11ea60]{padding:calc(var(--u) * .04);position:absolute}.cap[data-v-7f11ea60]{border-radius:calc(var(--u) * .18);background:var(--key);border:1px solid var(--key-edge);width:100%;height:100%;transition:transform .18s var(--ease-out-expo), background-color .18s var(--ease-out-expo), border-color .18s var(--ease-out-expo);place-items:center;display:grid;position:relative;overflow:hidden}.legend[data-v-7f11ea60]{width:100%;min-width:0;padding-inline:calc(var(--u) * .06);box-sizing:border-box;align-items:center;gap:calc(var(--u) * .06);color:var(--legend);text-align:center;flex-direction:column;grid-area:1/1;line-height:1;display:flex}.main[data-v-7f11ea60]{font-family:var(--font-mono);font-size:calc(var(--u) * .3);font-weight:500}.main.long[data-v-7f11ea60]{font-family:var(--font-ui);font-size:calc(var(--u) * .2);overflow-wrap:anywhere;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;max-width:100%;line-height:1.1;display:-webkit-box;overflow:hidden}.sub[data-v-7f11ea60]{font-size:calc(var(--u) * .17);opacity:.8;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-weight:500;overflow:hidden}.tone-layer .main[data-v-7f11ea60]{color:var(--ink)}.tone-other .main[data-v-7f11ea60]{font-family:var(--font-ui);font-size:calc(var(--u) * .18)}.tone-trans .legend[data-v-7f11ea60]{color:var(--dim)}.tone-none .cap[data-v-7f11ea60]{background:0 0;border-style:dashed}.key.next .cap[data-v-7f11ea60]{background:var(--accent);border-color:var(--accent)}.key.next .legend[data-v-7f11ea60]{color:var(--on-accent)}.key.hold .cap[data-v-7f11ea60]{border:2px solid var(--accent);background:var(--hold-bg)}.key.hold .legend[data-v-7f11ea60]{color:var(--ink)}.tag[data-v-7f11ea60]{left:50%;top:calc(var(--u) * -.22);font:700 9px/1 var(--font-ui);letter-spacing:.1em;text-transform:uppercase;color:var(--accent);z-index:2;position:absolute;translate:-50%}.key[class*=flash-] .cap[data-v-7f11ea60]{animation:press-a-7f11ea60 .24s var(--ease-out-expo)}.key.odd[class*=flash-] .cap[data-v-7f11ea60]{animation-name:press-b-7f11ea60}.key.flash-ok .cap[data-v-7f11ea60]{border-color:var(--ink)}.key.flash-bad .cap[data-v-7f11ea60]{border-color:var(--bad);background:var(--bad-bg)}.key.flash-bad .legend[data-v-7f11ea60]{color:var(--bad)}.key.flash-neutral .cap[data-v-7f11ea60]{border-color:var(--muted)}@keyframes press-a-7f11ea60{35%{transform:scale(.92)}}@keyframes press-b-7f11ea60{35%{transform:scale(.92)}}.legend-enter-active[data-v-7f11ea60]{transition:opacity .2s var(--ease-out-expo), transform .24s var(--ease-out-expo)}.legend-leave-active[data-v-7f11ea60]{transition:opacity 90ms linear}.legend-enter-from[data-v-7f11ea60]{opacity:0;transform:translateY(5px)}.legend-leave-to[data-v-7f11ea60]{opacity:0}.shell[data-v-6390cc5f]{--pane-w:340px;min-height:100vh;display:flex}.content[data-v-6390cc5f]{flex-direction:column;flex:1;min-width:0;min-height:100vh;display:flex}.pane[data-v-6390cc5f]{width:var(--pane-w);background:var(--raised);border-left:1px solid var(--line);flex:none;height:100vh;position:sticky;top:0;overflow:hidden auto}.pane-enter-active[data-v-6390cc5f],.pane-leave-active[data-v-6390cc5f]{transition:width .42s var(--ease-out-expo), opacity .26s ease}.pane-enter-from[data-v-6390cc5f],.pane-leave-to[data-v-6390cc5f]{opacity:0;width:0}@media (width<=1000px){.pane[data-v-6390cc5f]{z-index:30;width:min(var(--pane-w), 100vw);box-shadow:var(--shadow);position:fixed;right:0}.pane-enter-active[data-v-6390cc5f],.pane-leave-active[data-v-6390cc5f]{transition:transform .38s var(--ease-out-expo), opacity .26s ease}.pane-enter-from[data-v-6390cc5f],.pane-leave-to[data-v-6390cc5f]{width:min(var(--pane-w), 100vw);transform:translate(100%)}}.trigger[data-v-6390cc5f]{appearance:none;border:1px solid var(--line);width:36px;height:36px;color:var(--muted);cursor:pointer;background:0 0;border-radius:10px;place-items:center;padding:0;transition:color .15s,border-color .15s,background-color .15s;display:grid}.trigger svg[data-v-6390cc5f]{transition:transform .4s var(--ease-out-expo)}.trigger[data-v-6390cc5f]:hover{color:var(--ink);border-color:var(--muted)}.trigger.on[data-v-6390cc5f]{color:var(--ink);background:var(--chip);border-color:#0000}.trigger.on svg[data-v-6390cc5f]{transform:rotate(180deg)}.trigger[data-v-6390cc5f]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.main[data-v-6390cc5f]{flex:1;grid-template-columns:minmax(0,1fr);align-items:start;padding:clamp(32px,9vh,96px) 24px 40px;display:grid}.intro[data-v-6390cc5f]{text-align:center;width:min(100%,860px);color:var(--muted);transition:opacity .4s var(--ease-out-expo), transform .4s var(--ease-out-expo)}.intro.gone[data-v-6390cc5f]{opacity:0;pointer-events:none;transform:translateY(-6px)}.intro h1[data-v-6390cc5f]{font:600 20px/1.3 var(--font-ui);color:var(--ink);letter-spacing:-.01em;margin:0 0 6px}.intro p[data-v-6390cc5f]{max-width:560px;margin:0 auto;font-size:14px;line-height:1.55}.typing[data-v-6390cc5f],.kb-area[data-v-6390cc5f]{flex-direction:column;align-items:center;gap:28px;display:flex}.kb-area[data-v-6390cc5f]{width:100%}.hint[data-v-6390cc5f]{min-height:36px;color:var(--muted);flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;font-size:13px;display:flex}.keyboard[data-v-6390cc5f]{flex-direction:column;align-items:center;gap:18px;width:min(100%,960px);display:flex}.tabs[data-v-6390cc5f]{flex-wrap:wrap;justify-content:center;align-items:center;gap:4px;display:flex}.tab[data-v-6390cc5f]{appearance:none;font:500 12px/1 var(--font-ui);color:var(--muted);cursor:pointer;background:0 0;border:0;min-height:36px;padding:0 10px;transition:color .15s;position:relative}.tab[data-v-6390cc5f]:after{content:"";background:var(--accent);height:2px;transition:transform .28s var(--ease-out-expo);border-radius:2px;position:absolute;bottom:6px;left:10px;right:10px;transform:scaleX(0)}.tab[data-v-6390cc5f]:hover,.tab.on[data-v-6390cc5f]{color:var(--ink)}.tab.on[data-v-6390cc5f]:after{transform:scaleX(1)}.tab[aria-pressed=true][data-v-6390cc5f]:before{content:"";background:var(--accent);border-radius:50%;width:4px;height:4px;position:absolute;top:6px;right:3px}.tab[data-v-6390cc5f]:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}.pin-note[data-v-6390cc5f]{color:var(--muted);opacity:0;transition:grid-template-columns .32s var(--ease-out-expo), margin-left .32s var(--ease-out-expo), opacity .2s ease-out;grid-template-columns:0fr;margin-left:-4px;font-size:12px;display:grid}.pin-note>span[data-v-6390cc5f]{white-space:nowrap;min-width:0;overflow:hidden}.pin-note.open[data-v-6390cc5f]{opacity:1;transition:grid-template-columns .32s var(--ease-out-expo), margin-left .32s var(--ease-out-expo), opacity .24s ease-out 80ms;grid-template-columns:1fr;margin-left:8px}.toast[data-v-6390cc5f]{z-index:10;background:var(--raised);border:1px solid var(--line);max-width:calc(100vw - 32px);box-shadow:var(--shadow);color:var(--ink);border-radius:12px;align-items:center;gap:14px;padding:14px 20px;display:flex;position:fixed;top:24px;left:50%;translate:-50%}.toast svg[data-v-6390cc5f]{color:var(--accent);flex:none}.toast p[data-v-6390cc5f]{color:var(--muted);margin:2px 0 0;font-size:13px}.toast code[data-v-6390cc5f]{font-family:var(--font-mono);color:var(--ink)}@media (width<=640px){.main[data-v-6390cc5f]{padding:28px 16px}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f2f4f3;--raised:#fff;--ink:#0a0908;--muted:#5e503f;--line:#5e503f33;--chip:#a9927d33;--row:#a9927d1f;--accent:#49111c;--on-accent:#f2f4f3;--hold-bg:#49111c12;--todo:#5e503f;--done:#0a0908;--bad:#49111c;--bad-bg:#49111c21;--key:#fff;--key-edge:#5e503f38;--legend:#5e503f;--dim:#5e503f66;--shadow:0 12px 32px -16px #0a090840;--ease-out-expo:cubic-bezier(.16, 1, .3, 1);--t:.22s;--radius:10px;--font-ui:"Inter", system-ui, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, monospace}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#1e1a17;--raised:#27221e;--ink:#f2f4f3;--muted:#a9927d;--line:#a9927d2e;--chip:#a9927d24;--row:#a9927d0f;--accent:#a9927d;--on-accent:#0a0908;--hold-bg:#a9927d1f;--todo:#a9927d;--done:#f2f4f3;--bad:#f2b8c1;--bad-bg:#49111c;--key:#27221e;--key-edge:#a9927d29;--legend:#c9b6a3;--dim:#a9927d5c;--shadow:0 12px 32px -16px #0009}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#1e1a17;--raised:#27221e;--ink:#f2f4f3;--muted:#a9927d;--line:#a9927d2e;--chip:#a9927d24;--row:#a9927d0f;--accent:#a9927d;--on-accent:#0a0908;--hold-bg:#a9927d1f;--todo:#a9927d;--done:#f2f4f3;--bad:#f2b8c1;--bad-bg:#49111c;--key:#27221e;--key-edge:#a9927d29;--legend:#c9b6a3;--dim:#a9927d5c;--shadow:0 12px 32px -16px #0009}*,:before,:after{box-sizing:border-box}html,body{min-height:100%;margin:0}body{background:var(--bg);color:var(--ink);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.45;transition:background-color .3s,color .3s;overflow-x:hidden}button{font:inherit;color:inherit}kbd{font:500 13px/1 var(--font-mono);background:var(--key);border:1px solid var(--key-edge);color:var(--ink);border-radius:7px;align-items:center;padding:7px 9px;display:inline-flex}kbd.hold{border:2px solid var(--accent);background:var(--hold-bg);padding:6px 8px}kbd.tap{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.opt{appearance:none;font:500 13px/1 var(--font-ui);color:var(--muted);cursor:pointer;white-space:nowrap;min-height:36px;transition:color .15s, background-color var(--t) var(--ease-out-expo);background:0 0;border:0;border-radius:9px;padding:0 12px}.opt:hover{color:var(--ink)}.opt.on{color:var(--ink);background:var(--chip)}.btn{appearance:none;font:600 13px/1 var(--font-ui);cursor:pointer;border:1px solid var(--line);height:36px;color:var(--ink);white-space:nowrap;transition:border-color .15s, transform .2s var(--ease-out-expo);background:0 0;border-radius:10px;align-items:center;gap:10px;padding:0 14px;display:inline-flex}.btn:hover{border-color:var(--muted)}.btn:active{transform:scale(.97)}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.btn.big{height:44px;padding:0 18px;font-size:14px}.btn kbd{color:inherit;opacity:.7;background:0 0;border-color:currentColor;padding:3px 6px;font-size:11px}.opt:focus-visible,.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.fade-enter-active,.fade-leave-active{transition:opacity var(--t) var(--ease-out-expo), transform var(--t) var(--ease-out-expo)}.fade-enter-from,.fade-leave-to{opacity:0;transform:translateY(6px)}.swap-enter-active,.swap-leave-active{transition:opacity .32s var(--ease-out-expo), transform .32s var(--ease-out-expo)}.swap-enter-from{opacity:0;transform:translateY(12px)}.swap-leave-to{opacity:0;transform:translateY(-8px)}.puff-leave-active .cap{animation:puff-out .52s var(--ease-out-expo) var(--d,0s) both}.puff-leave-active .key:after{content:"";background:radial-gradient(closest-side, var(--dim), transparent);pointer-events:none;animation:smoke .62s ease-out var(--d,0s) both;border-radius:50%;position:absolute;inset:-20%}.puff-enter-active .cap{animation:puff-in .48s var(--ease-out-expo) var(--d,0s) both}.puff-leave-active .key .tag{animation:puff-out .52s var(--ease-out-expo) var(--d,0s) both}.puff-enter-active .key .tag{animation:puff-in .48s var(--ease-out-expo) var(--d,0s) both}.puff-leave-active .hint,.puff-leave-active .tabs{animation:.26s ease-out both puff-fade}.puff-enter-active .hint,.puff-enter-active .tabs{animation:.36s ease-out .2s reverse both puff-fade}@keyframes puff-out{30%{opacity:1;filter:blur();transform:scale(1.1)}to{opacity:0;filter:blur(8px);transform:translateY(-14px)scale(1.45)}}@keyframes smoke{0%{opacity:0;transform:scale(.4)}35%{opacity:.55}to{opacity:0;transform:translateY(-22px)scale(1.7)}}@keyframes puff-in{0%{opacity:0;filter:blur(6px);transform:scale(.6)}}@keyframes puff-fade{to{opacity:0;transform:translateY(-6px)}}@keyframes rise{0%{opacity:0;transform:translateY(10px)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}
