:root{--raised:inset 0 1.5px 0 #ffffff8c, inset 1px 0 0 #ffffff2e, inset -1px 0 0 #00000014, inset 0 -4px 0 #0000002e, 0 1px 1px #0000002e, 0 4px 8px -2px #00000047;--raised-strong:inset 0 2px 0 #fff9, inset 1px 0 0 #fff3, inset -1px 0 0 #0000001a, inset 0 -5px 0 #00000038, 0 2px 2px #0003, 0 8px 14px -4px #00000059;--pressed:inset 0 3px 5px #0003, inset 0 1px 1px #0000001f, inset 0 -1px 0 #ffffff4d;--tray:inset 0 4px 10px #00000042, inset 0 -1px 0 #ffffff4d, 0 0 0 1px #ffffff59, 0 1px 0 #fff6, 0 14px 30px -10px #00000059;--sheen:radial-gradient(ellipse 70% 50% at 30% 18%, #ffffff47, #fff0 70%), linear-gradient(180deg, #ffffff29, #fff0 55%);--ambient:radial-gradient(ellipse 70% 45% at 50% 28%, #fff8e673, transparent 70%), radial-gradient(ellipse 120% 60% at 50% 110%, #00000014, transparent 70%);--shade:radial-gradient(ellipse 120% 95% at 50% 40%, transparent 52%, #0000002e)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--ambient:radial-gradient(ellipse 80% 60% at 50% 32%, #ffffff0f, transparent 70%);--shade:radial-gradient(ellipse 130% 100% at 50% 40%, transparent 55%, #00000059);--sheen:linear-gradient(180deg, #ffffff1a, #fff0 55%)}}:root[data-theme=dark]{--ambient:radial-gradient(ellipse 80% 60% at 50% 32%, #ffffff0f, transparent 70%);--shade:radial-gradient(ellipse 130% 100% at 50% 40%, transparent 55%, #00000059);--sheen:linear-gradient(180deg, #ffffff1a, #fff0 55%)}@keyframes art-pop{0%{opacity:0;transform:scale(.4)}70%{opacity:1;transform:scale(1.08)}to{transform:scale(1)}}@keyframes art-pulse{0%{transform:scale(1)}45%{transform:scale(1.14)}to{transform:scale(1)}}@keyframes art-shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-5px)}40%,80%{transform:translate(5px)}}@keyframes art-press{0%{transform:scale(1)}40%{transform:scale(.9)}to{transform:scale(1)}}.art-pop{animation:.22s ease-out art-pop}.art-pulse{animation:.22s ease-out art-pulse}.art-shake{animation:.32s ease-in-out art-shake}.art-press{animation:.18s ease-out art-press}@media (prefers-reduced-motion:reduce){.art-pop,.art-pulse,.art-shake,.art-press{animation:none}}.sound-toggle{background:var(--btn,#00000040);width:36px;min-width:36px;height:36px;color:var(--ink,#fff);cursor:pointer;border:0;border-radius:50%;place-items:center;padding:0;display:inline-grid}.sound-toggle svg{width:20px;height:20px}.sound-toggle[aria-pressed=true]{opacity:.7}.sound-toggle:focus-visible{outline:3px solid var(--focus,#ffd54a);outline-offset:2px}:root{--bg:#1d2b4a;--ink:#f2f4f8;--muted:#f2f4f8b3;--btn:#ffffff1f;--btn-on:#f0b429;--btn-on-ink:#241a00;--focus:#f0b429;--tile:#f7f1e3;--tile-ink:#1d2433;--vowel:#e2772f;--consonant:#3f7fd6;--line:#ffffff2e;--dialog:#fffaf0;--dialog-ink:#1d2433;--dialog-accent:#9a6400;--good:#3f9b4f;--bad:#c74848;--clock:#f0b429;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#121a2c;--tile:#ece4d2;--dialog:#222b40;--dialog-ink:#f2f4f8;--dialog-accent:#f0b429}}:root[data-theme=dark]{--bg:#121a2c;--tile:#ece4d2;--dialog:#222b40;--dialog-ink:#f2f4f8;--dialog-accent:#f0b429}*{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--ambient), var(--shade), var(--grain,none), radial-gradient(ellipse 90% 70% at 50% 20%, color-mix(in srgb, var(--bg) 80%, #4a6fb5), var(--bg));color:var(--ink);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;font:14px/1.3 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;overflow:hidden}#app.nl{grid-template-rows:auto auto minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr);justify-items:center;gap:6px;height:100dvh;padding:8px 10px 10px;display:grid;position:relative}.nl-bar{flex-wrap:wrap;grid-row:1;justify-content:center;align-items:center;gap:6px;width:100%;display:flex}.nl-title{letter-spacing:1px;text-transform:uppercase;margin:0 6px 0 0;font:800 18px/1 Trebuchet MS,Segoe UI,sans-serif}.group{flex-wrap:wrap;justify-content:center;gap:3px;display:flex}.btn{font:inherit;color:var(--ink);background:var(--btn);cursor:pointer;white-space:nowrap;border:0;border-radius:9px;min-height:34px;padding:7px 11px;box-shadow:inset 0 1px #ffffff1f,0 2px 6px #0003}.btn[hidden]{display:none}.btn:disabled{opacity:.45;cursor:default}.btn[aria-pressed=true]{background:var(--btn-on);color:var(--btn-on-ink);font-weight:700}.btn.primary{background:var(--btn-on);color:var(--btn-on-ink);font-weight:800}.btn.big{color:#fff;min-height:48px;padding:10px 22px;font-size:17px;font-weight:800}.btn.big.vowel{background:var(--vowel)}.btn.big.consonant{background:var(--consonant)}.btn:focus-visible,.nl-tile:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.sound-toggle{width:34px;height:34px}.nl-info{flex-wrap:wrap;grid-row:2;justify-content:center;align-items:center;gap:14px;width:min(100%,620px);font-size:13px;display:flex}.nl-round{font-weight:700}.nl-score{font-variant-numeric:tabular-nums;background:var(--btn);border-radius:999px;padding:2px 8px}.nl-clock-box{background:var(--line);font-variant-numeric:tabular-nums;border-radius:999px;justify-content:center;align-items:center;min-width:72px;height:24px;font-weight:800;display:inline-flex;position:relative;overflow:hidden}.nl-clock-box[hidden]{display:none}.nl-clock-fill{background:var(--clock);opacity:.55;transition:width 1s linear;position:absolute;top:0;bottom:0;left:0}.nl-clock{position:relative}.nl-clock-box.low .nl-clock-fill{background:var(--bad);opacity:.8}.nl-stage{grid-row:3;grid-template-rows:auto auto auto auto;align-content:center;justify-items:center;gap:12px;width:100%;min-height:0;display:grid;position:relative;container-type:size}.nl-tiles{--s:min(10cqw, 24cqh, 64px);gap:calc(var(--s) * .12);display:flex}.nl-tile{width:var(--s);height:calc(var(--s) * 1.15);border-radius:calc(var(--s) * .14);background:var(--tile);color:var(--tile-ink);font:800 calc(var(--s) * .56) / 1 "Trebuchet MS", "Segoe UI", sans-serif;text-transform:uppercase;cursor:pointer;box-shadow:var(--raised);background-image:var(--sheen);border:0;border-bottom:calc(var(--s) * .09) solid transparent;padding:0;transition:transform .12s,opacity .12s}.nl-tile.v{border-bottom-color:var(--vowel)}.nl-tile.c{border-bottom-color:var(--consonant)}.nl-tile.slot{box-shadow:none;border:2px dashed var(--line);cursor:default;background:0 0}.nl-tile.used{opacity:.35;transform:translateY(4px)}.nl-tile:disabled:not(.slot){cursor:default}.nl-tile:not(:disabled):active{transform:translateY(2px)}.nl-typed{letter-spacing:2px;text-transform:uppercase;border-bottom:3px solid var(--clock);justify-content:center;align-items:center;gap:2px;min-width:200px;max-width:100%;min-height:48px;padding:4px 10px;font:800 30px/1 Trebuchet MS,Segoe UI,sans-serif;display:flex}.nl-typed.empty{border-bottom-color:var(--line)}.nl-ch.v{color:var(--btn-on)}.nl-count{letter-spacing:0;text-transform:none;opacity:.7;margin-left:10px;font:600 12px/1 system-ui,sans-serif}.nl-placeholder{letter-spacing:0;text-transform:none;opacity:.75;text-align:center;font:500 13px/1.3 system-ui,sans-serif}.nl-actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.nl-hint{background:var(--btn-on);color:var(--btn-on-ink);border-radius:999px;padding:4px 12px;font-size:13px;font-weight:700}.nl-hint[hidden]{display:none}.nl-toast{background:var(--tile);color:var(--tile-ink);z-index:5;white-space:nowrap;border-radius:8px;padding:7px 14px;font-weight:700;position:absolute;top:8px;left:50%;translate:-50%;box-shadow:0 6px 18px #00000059}.nl-toast.good{background:var(--good);color:#fff}.nl-toast[hidden]{display:none}.nl-history{border:1px solid var(--line);background:#0000001f;border-radius:10px;flex-direction:column;grid-row:4;gap:2px;width:min(100%,620px);max-height:22dvh;margin:0;padding:6px 10px;font-size:12px;list-style:none;display:flex;overflow:auto}.nl-history[hidden]{display:none}.nl-history li{text-transform:none;border-radius:6px;padding:2px 6px}.nl-history li.win{color:#9fe0a8}.nl-history li.lose{color:#f0a0a0}.overlay{z-index:30;background:#060a1699;place-items:center;padding:12px;display:grid;position:absolute;inset:0;overflow:auto}.overlay[hidden]{display:none}.overlay.later{animation:.9s step-end both nl-later}@keyframes nl-later{0%{opacity:0}to{opacity:1}}.dialog{background:var(--dialog);color:var(--dialog-ink);text-align:center;border-radius:16px;flex-direction:column;gap:10px;width:min(100%,420px);max-height:100%;padding:18px 20px;display:flex;overflow:auto;box-shadow:0 12px 40px #00000073}.dialog h2{margin:0;font:800 20px/1.2 Trebuchet MS,Segoe UI,sans-serif}.dialog p{margin:0}.nl-words{flex-direction:column;gap:4px;font-size:15px;display:flex}.nl-w.best{font-size:13px}.nl-w.nine{color:var(--dialog-accent);font-weight:800}.nl-final{font-weight:700}.nl-dialog-actions{flex-direction:column;align-items:center;gap:8px;display:flex}.nl-next{opacity:.8;font-size:13px}@media (max-width:420px){.nl-bar{gap:4px}.nl-title{text-align:center;flex-basis:100%;margin:0;font-size:15px}.btn{min-height:30px;padding:6px 7px;font-size:12px}.sound-toggle{width:30px;height:30px}.nl-typed{min-width:160px;min-height:40px;font-size:24px}.nl-info{gap:8px;font-size:12px}.nl-tiles{--s:min(9.6cqw, 22cqh, 64px)}}@media (max-height:560px) and (min-aspect-ratio:1){#app.nl{gap:3px;padding:6px 8px}.btn{min-height:28px;padding:4px 8px;font-size:12px}.btn.big{min-height:36px;padding:6px 16px;font-size:14px}.sound-toggle{width:28px;height:28px}.nl-title{font-size:14px}.nl-info{gap:10px;font-size:12px}.nl-stage{gap:6px}.nl-tiles{--s:min(8cqw, 26cqh, 56px)}.nl-typed{min-height:32px;padding:2px 6px;font-size:22px}.nl-history{max-height:14dvh;padding:3px 8px;font-size:11px}.nl-toast{top:2px}.dialog{gap:6px;padding:10px 14px}.dialog h2{font-size:16px}.nl-words{gap:2px;font-size:13px}}@media (max-height:300px){.nl-history,.nl-info .nl-round,.nl-title{display:none}#app.nl{gap:2px;padding:4px 6px}.nl-bar{gap:3px}.btn{border-radius:6px;min-height:22px;padding:2px 6px;font-size:11px}.btn.big{min-height:30px;padding:4px 12px;font-size:13px}.sound-toggle{width:22px;height:22px}.nl-info{gap:6px;font-size:11px}.nl-clock-box{min-width:56px;height:20px}.nl-hint{padding:2px 8px;font-size:11px}.nl-tiles{--s:min(8cqw, 30cqh, 56px)}.nl-typed{min-height:26px;font-size:18px}.nl-stage{gap:4px}}
