.row.svelte-1owbhwc{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}.row.shaking.svelte-1owbhwc{animation:svelte-1owbhwc-shake .26s cubic-bezier(.36,.07,.19,.97)}.cell.svelte-1owbhwc{display:grid;place-items:center;height:100%;user-select:none;-webkit-touch-callout:none;border-bottom:4px solid var(--rule);border-radius:2px 2px 0 0;background:#1b1e1c0b;transition:background-color .2s ease,border-color .2s ease,color .2s ease;transition-delay:calc(var(--column) * 45ms)}.cell.svelte-1owbhwc span:where(.svelte-1owbhwc){font-family:var(--font-tile);font-size:calc(var(--tile) * .5);font-weight:500;line-height:1;text-transform:uppercase}.cell.typed.svelte-1owbhwc{border-bottom-color:var(--ink)}.cell[data-mark=hit].svelte-1owbhwc,.cell[data-mark=near].svelte-1owbhwc,.cell[data-mark=miss].svelte-1owbhwc{border-bottom-color:transparent;border-radius:var(--radius);color:var(--on-mark)}.cell[data-mark=hit].svelte-1owbhwc{background-color:var(--hit)}.cell[data-mark=near].svelte-1owbhwc{background-color:var(--near)}.cell[data-mark=miss].svelte-1owbhwc{background-color:var(--miss)}@keyframes svelte-1owbhwc-shake{10%,90%{transform:translate(-2px)}30%,70%{transform:translate(3px)}50%{transform:translate(-4px)}}.board.svelte-nkg03k{display:grid;grid-template-rows:repeat(var(--rows),var(--tile));gap:6px;width:calc(var(--tile) * 5 + 24px)}.keyboard.svelte-1dlz8xf{display:grid;gap:7px;width:100%;max-width:var(--stage-max);padding-inline:6px}.key-row.svelte-1dlz8xf{display:flex;gap:5px;justify-content:center}.key.svelte-1dlz8xf{display:grid;flex:1 1 0;place-items:center;max-width:2.9rem;height:min(11.5vw,3.1rem);border:1px solid var(--rule);border-radius:var(--radius);background:var(--paper-sunk);font-family:var(--font-tile);font-size:.95rem;font-weight:500;text-transform:uppercase;user-select:none;-webkit-touch-callout:none;transition:background-color .16s ease,border-color .16s ease,color .16s ease}.key.wide.svelte-1dlz8xf{flex-grow:1.6;max-width:4.4rem;font-size:1.3rem}.key[data-mark=hit].svelte-1dlz8xf{border-color:var(--hit);background:var(--hit);color:var(--on-mark)}.key[data-mark=near].svelte-1dlz8xf{border-color:var(--near);background:var(--near);color:var(--on-mark)}.key[data-mark=miss].svelte-1dlz8xf{border-color:var(--miss);background:var(--miss);color:var(--on-mark)}dialog.svelte-l1lb8j{width:min(92vw,26rem);padding:1.1rem;border:1px solid var(--rule);border-radius:4px;background:var(--paper);color:var(--ink)}dialog.svelte-l1lb8j::backdrop{background:#1b1e1c66}.head.svelte-l1lb8j{display:flex;align-items:baseline;gap:.6rem}h2.svelte-l1lb8j{margin:0;font-size:1.05rem;font-variation-settings:"wght" 700;letter-spacing:-.01em}.mode-name.svelte-l1lb8j{margin:0;color:var(--ink-soft);font-size:.8rem}.close.svelte-l1lb8j{margin-left:auto;color:var(--ink-soft);font-size:1.4rem;line-height:1}.numbers.svelte-l1lb8j{display:grid;grid-template-columns:repeat(4,1fr);gap:.4rem;margin:.9rem 0}.numbers.svelte-l1lb8j div:where(.svelte-l1lb8j){display:grid;gap:.1rem}dt.svelte-l1lb8j{color:var(--ink-soft);font-size:.68rem;text-wrap:balance}dd.svelte-l1lb8j{margin:0;font-size:1.25rem;font-variant-numeric:tabular-nums;font-variation-settings:"wght" 600;line-height:1.1}.distribution.svelte-l1lb8j{display:grid;gap:.25rem;margin:0 0 .9rem;padding:0;list-style:none}.distribution.svelte-l1lb8j li:where(.svelte-l1lb8j){display:grid;grid-template-columns:.9rem 1fr 1.4rem;align-items:center;gap:.5rem;font-size:.72rem;font-variant-numeric:tabular-nums}.label.svelte-l1lb8j{color:var(--ink-soft)}.track.svelte-l1lb8j{height:.85rem;border:1px solid var(--rule);border-radius:2px;overflow:hidden}.fill.svelte-l1lb8j{display:block;height:100%;background:var(--hit);transform-origin:left center}.value.svelte-l1lb8j{text-align:right}.note.svelte-l1lb8j{margin:0 0 .9rem;color:var(--ink-soft);font-size:.78rem}.reset.svelte-l1lb8j{color:var(--ink-soft);font-size:.78rem;text-decoration:underline;text-underline-offset:2px}.shell.svelte-1n46o8q{--stage-max: 30rem;--tile: min( calc((min(92vw, var(--stage-max)) - 24px)/5) , 7.4svh, 3.5rem);display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;gap:.55rem;height:100vh;height:100svh;max-width:34rem;margin:0 auto;padding:max(.55rem,env(safe-area-inset-top)) 0 max(.45rem,env(safe-area-inset-bottom))}header.svelte-1n46o8q{display:grid;gap:.5rem;padding-inline:.9rem}.bar.svelte-1n46o8q{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}h1.svelte-1n46o8q{margin:0;font-size:1.15rem;font-variation-settings:"wght" 700;letter-spacing:-.02em}.tools.svelte-1n46o8q{display:flex;gap:.15rem;margin-right:-.5rem}.tool.svelte-1n46o8q{padding:.45rem .5rem;color:var(--ink-soft);font-size:.85rem}.tool.svelte-1n46o8q:hover{color:var(--ink)}.modes.svelte-1n46o8q{display:flex;gap:.4rem}.mode.svelte-1n46o8q{flex:1 1 0;padding:.4rem .5rem;border:1px solid var(--rule);border-radius:var(--radius);color:var(--ink-soft);font-size:.85rem;font-weight:500;transition:background-color .14s ease,border-color .14s ease,color .14s ease}.mode[aria-pressed=true].svelte-1n46o8q{border-color:var(--ink);background:var(--ink);color:var(--paper)}.blurb.svelte-1n46o8q{margin:0;color:var(--ink-soft);font-size:.78rem;text-wrap:balance}.stage.svelte-1n46o8q{display:grid;align-content:center;justify-items:center;min-height:0;gap:.7rem;overflow-y:auto;padding-inline:.9rem}.candidates.svelte-1n46o8q{width:calc(var(--tile) * 5 + 24px);max-width:100%;display:grid;gap:.3rem}.meter.svelte-1n46o8q{height:3px;border-radius:2px;background:var(--rule);overflow:hidden}.meter-fill.svelte-1n46o8q{display:block;height:100%;background:var(--ink);transform-origin:left center;transition:transform .32s ease}.count.svelte-1n46o8q{margin:0;color:var(--ink-soft);font-family:var(--font-tile);font-size:.72rem}.status.svelte-1n46o8q{display:grid;place-items:center;min-height:1.5rem;margin:0;padding-inline:.9rem;font-size:.82rem;font-weight:500;text-align:center;text-wrap:balance}.outcome.svelte-1n46o8q{display:grid;gap:.6rem;margin-inline:.9rem;padding-top:.6rem;border-top:1px solid var(--rule)}.result.svelte-1n46o8q{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}.result-line.svelte-1n46o8q{margin:0;color:var(--ink-soft);font-size:.85rem}.result-word.svelte-1n46o8q{margin:0;font-family:var(--font-tile);font-size:1.05rem;font-weight:500;letter-spacing:.14em}.actions.svelte-1n46o8q{display:flex;gap:.5rem}.action.svelte-1n46o8q{display:grid;flex:1 1 0;place-items:center;min-height:2.75rem;padding:.5rem .75rem;border:1px solid var(--rule);border-radius:var(--radius);font-size:.85rem;font-weight:500}.action.primary.svelte-1n46o8q{border-color:var(--ink);background:var(--ink);color:var(--paper)}.visually-hidden.svelte-1n46o8q{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}@media(max-height:44rem){.shell.svelte-1n46o8q{gap:.35rem}.blurb.svelte-1n46o8q{display:none}}@font-face{font-family:Bricolage Grotesque;src:url(/fonts/bricolage-grotesque.woff2) format("woff2");font-weight:400 800;font-display:swap}@font-face{font-family:DM Mono;src:url(/fonts/dm-mono-400.woff2) format("woff2");font-weight:400;font-display:swap}@font-face{font-family:DM Mono;src:url(/fonts/dm-mono-500.woff2) format("woff2");font-weight:500;font-display:swap}:root{color-scheme:light;--paper: #e7e4db;--paper-sunk: #ded9cc;--ink: #1b1e1c;--ink-soft: #5b5b52;--rule: #bfbaaa;--hit: #14624a;--near: #a9740f;--miss: #7c786d;--on-mark: #efece2;--font-ui: "Bricolage Grotesque", ui-sans-serif, system-ui, sans-serif;--font-tile: "DM Mono", ui-monospace, "SFMono-Regular", monospace;--radius: 3px;--stage-max: 30rem}*,*:before,*:after{box-sizing:border-box}html,body{height:100%}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-ui);font-size:16px;line-height:1.35;-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;overscroll-behavior:none}#app{height:100%}button{margin:0;padding:0;border:0;background:none;color:inherit;font:inherit;letter-spacing:inherit;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}:focus-visible{outline:2px solid var(--ink);outline-offset:2px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
