@font-face{font-family:Sora;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/sora-latin-700-normal-9waGdLWo.woff2)format("woff2"),url(/assets/sora-latin-700-normal-BKPfQAnC.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-C38fXH4l.woff2)format("woff2"),url(/assets/inter-latin-400-normal-CyCys3Eg.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-600-normal-LgqL8muc.woff2)format("woff2"),url(/assets/inter-latin-600-normal-CiBQ2DWP.woff)format("woff")}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0a1024;--panel:#0e1830;--text:#e6f2ff;--muted:#8fb0d6;--accent:#3ad1ff;--accent-2:#ffb703;--error:#ff8a8a;--edge:#3ad1ff;--glow:#3ad1ff59;--font-display:Sora, system-ui, -apple-system, "Segoe UI", sans-serif;--font-display-weight:700;--font-body:Inter, system-ui, -apple-system, "Segoe UI", sans-serif}html,body{overscroll-behavior:none;background:var(--bg);height:100%;font-family:var(--font-body);color:var(--text);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;margin:0;overflow:hidden}body{position:fixed;inset:0}#game{top:env(safe-area-inset-top,0px);right:env(safe-area-inset-right,0px);bottom:env(safe-area-inset-bottom,0px);left:env(safe-area-inset-left,0px);touch-action:none;position:fixed}#board{width:100%;height:100%;display:block}#ui{pointer-events:none;position:absolute;inset:0}#ui>*{pointer-events:auto}dialog.screen{min-width:min(20rem,80vw);max-width:min(32rem,94vw);max-height:calc(100dvh - 2rem - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));box-sizing:border-box;touch-action:pan-y;border:1px solid var(--edge);box-shadow:0 0 24px color-mix(in srgb, var(--edge) 30%, transparent), 0 14px 40px #00000073, inset 0 0 22px color-mix(in srgb, var(--edge) 8%, transparent);background:var(--panel);color:var(--text);text-align:center;border-radius:14px;padding:1.5rem 2rem;overflow:auto}dialog.screen:focus{outline:none}dialog.screen::backdrop{background:color-mix(in srgb, var(--bg) 65%, transparent)}dialog.screen h1,dialog.screen h2{font-family:var(--font-display);font-weight:var(--font-display-weight);letter-spacing:.04em;color:var(--accent);text-shadow:0 0 10px color-mix(in srgb, var(--accent) 80%, transparent);margin:0 0 .5rem}@media (prefers-reduced-motion:no-preference){dialog.screen[open]{animation:.15s ease-out dialog-in}}@keyframes dialog-in{0%{opacity:0;transform:scale(.96)}}dialog.screen p{margin:.5rem 0 1rem}dialog.screen .hint{color:var(--muted);margin:.75rem 0 0;font-size:.85rem}dialog.screen.touch .hint{display:none}dialog.screen .gesture{color:var(--accent);margin-left:.3rem}dialog.screen .error{color:var(--error)}dialog.screen .score{font-family:var(--font-display);font-weight:var(--font-display-weight);font-variant-numeric:tabular-nums;font-size:1.6rem}dialog.screen .buttons{justify-content:center;gap:.75rem;display:flex}button{font:inherit;border:1px solid color-mix(in srgb, var(--edge) 75%, transparent);color:var(--text);cursor:pointer;touch-action:manipulation;background:0 0;border-radius:999px;padding:.5rem 1.25rem}@media (hover:hover){button:hover{border-color:var(--edge)}}button.primary{background:var(--accent-2);border-color:var(--accent-2);color:var(--bg);box-shadow:0 0 16px color-mix(in srgb, var(--accent-2) 45%, transparent);font-weight:600}button[aria-busy=true]{opacity:.6;cursor:progress}button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button:disabled{opacity:.55;cursor:default;box-shadow:none}dialog.screen .modes{flex-wrap:wrap;justify-content:center;gap:.75rem;margin:1rem 0 .5rem;display:flex}dialog.screen button.mode{border-radius:14px;flex-direction:column;flex:11rem;align-items:center;gap:.2rem;max-width:14rem;padding:.6rem 1rem;display:flex}dialog.screen .mode-name{font-family:var(--font-display);font-weight:var(--font-display-weight);letter-spacing:.04em}dialog.screen .mode-detail{opacity:.85;font-size:.8rem;font-weight:400}dialog.screen .countdown,dialog.screen .daily-day,dialog.screen .status{color:var(--muted);margin:.25rem 0 .75rem;font-size:.9rem}dialog.screen .submission{color:var(--accent);font-variant-numeric:tabular-nums;margin:0 0 .5rem}dialog.screen .countdown{color:var(--accent);font-variant-numeric:tabular-nums}dialog.screen .warning{color:var(--accent-2)}dialog.screen table.controls{border-collapse:collapse;text-align:left;margin:.5rem auto 1rem}dialog.screen table.controls th{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:.6rem 0 .2rem;font-size:.75rem}dialog.screen table.controls td{padding:.15rem 0}dialog.screen table.controls td.keys{text-align:right;padding-left:1.5rem}kbd{border:1px solid color-mix(in srgb, var(--edge) 60%, transparent);min-width:1.4em;font:inherit;text-align:center;border-radius:4px;margin-left:.3rem;padding:.05rem .4rem;font-size:.85rem;display:inline-block}.hud-button{background:0 0;border:none;place-items:center;padding:0;font-weight:700;line-height:1;display:grid;position:absolute}.hud-button[hidden]{display:none}.hud-button>span{width:var(--size);height:var(--size);box-sizing:border-box;border:1px solid color-mix(in srgb, var(--edge) 80%, transparent);box-shadow:0 0 8px var(--glow);border-radius:50%;place-items:center;display:grid}.hud-button[data-button=pause]>span:before{content:"";border-left:.2em solid;border-right:.2em solid;width:.2em;height:.75em}.hud-button:focus-visible{outline:none}.hud-button:focus-visible>span{outline:2px solid var(--accent);outline-offset:2px}dialog.screen .best,dialog.screen .details{color:var(--muted)}dialog.screen .news{color:var(--accent);font-weight:600}dialog.screen .streak{color:var(--accent-2);font-weight:600}dialog.screen table.top{border-collapse:collapse;text-align:left;width:100%;margin:.5rem 0 1rem;font-size:.85rem}dialog.screen table.top th{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:.2rem .4rem;font-size:.7rem}dialog.screen table.top td{white-space:nowrap;padding:.2rem .4rem}dialog.screen table.top .number{text-align:right}dialog.screen table.top tr.latest td{background:color-mix(in srgb, var(--accent) 14%, transparent);color:var(--accent);font-weight:600}dialog.screen button.name-button{border-color:var(--accent);color:var(--accent);box-shadow:0 0 10px color-mix(in srgb, var(--accent) 45%, transparent)}dialog.screen .name-form label{color:var(--muted);margin-bottom:.4rem;display:block}dialog.screen .name-field{box-sizing:border-box;border:1px solid var(--edge);background:var(--bg);width:min(100%,18rem);color:var(--text);font:inherit;text-align:center;border-radius:10px;padding:.5rem .75rem;font-size:max(1rem,16px)}dialog.screen .name-field:focus-visible{outline:2px solid var(--accent);outline-offset:2px}dialog.screen .name-help{font-variant-numeric:tabular-nums;margin:.4rem 0;font-size:.85rem}dialog.screen .name-form .error:empty{display:none}dialog.screen .recap{border:1px solid var(--accent);box-shadow:0 0 12px color-mix(in srgb, var(--accent) 35%, transparent);border-radius:12px;margin:.75rem 0;padding:.75rem 2.5rem;position:relative}dialog.screen .recap p{margin:.15rem 0}dialog.screen .recap .recap-line{font-family:var(--font-display);font-weight:var(--font-display-weight);color:var(--accent)}dialog.screen .recap .buttons{margin-top:.5rem}dialog.screen button.recap-dismiss{border:none;min-width:44px;min-height:44px;padding:0;font-size:1.2rem;position:absolute;top:.25rem;right:.25rem}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}dialog.screen .tabs{justify-content:center;gap:.4rem;margin:.5rem 0 .75rem;display:flex}dialog.screen .tabs [role=tab]{min-height:44px;padding:.4rem 1rem}dialog.screen .tabs [aria-selected=true]{border-color:var(--accent);color:var(--accent);box-shadow:0 0 10px color-mix(in srgb, var(--accent) 45%, transparent)}dialog.screen[open][data-screen=leaderboard]{flex-direction:column;display:flex}dialog.screen .board-panel{min-height:0;overflow:auto}dialog.screen table.board thead th{background:var(--panel);position:sticky;top:0}dialog.screen .board-panel h3{font-family:var(--font-display);font-weight:var(--font-display-weight);letter-spacing:.04em;margin:0;font-size:1rem}dialog.screen .board-heading{justify-content:center;align-items:center;gap:.75rem;display:flex}dialog.screen button.day-step{min-width:44px;min-height:44px;padding:0;font-size:1.2rem}dialog.screen table.board td.name{text-overflow:ellipsis;max-width:9rem;overflow:hidden}dialog.screen table.board th[scope=row]{font-size:inherit;letter-spacing:normal;text-transform:none;color:inherit;padding:.2rem .4rem}dialog.screen table.board tr.latest th{background:color-mix(in srgb, var(--accent) 14%, transparent);color:var(--accent)}dialog.screen .stale{opacity:.45}dialog.screen .board-footer{margin:.25rem 0;font-size:.85rem}@media (max-width:420px){dialog.screen[data-screen=leaderboard]{padding:1.25rem 1rem}dialog.screen table.board .level,dialog.screen table.board .word{display:none}dialog.screen table.board td.name{max-width:12rem}}.word-list{box-sizing:border-box;color:var(--text);scrollbar-width:thin;touch-action:pan-y;margin:0;padding:0;list-style:none;position:absolute;overflow-y:auto}.word-list li{gap:.5em;padding:.1em 0;font-weight:600;display:flex}.word-list .points{color:var(--muted)}.word-list .chain,.word-list .board-clear{color:var(--accent)}.word-list li.fresh{color:var(--accent);text-shadow:0 0 8px color-mix(in srgb, var(--accent) 70%, transparent)}.word-list li.fresh .points{color:var(--accent)}.word-strip{box-sizing:border-box;border:1px solid color-mix(in srgb, var(--edge) 35%, transparent);white-space:nowrap;border-radius:6px;justify-content:space-between;align-items:center;gap:.75em;padding:0 .6em;font-weight:600;display:flex;position:absolute;overflow:hidden}.word-strip[hidden]{display:none}.word-strip .latest{gap:1em;min-width:0;display:flex;overflow:hidden}.word-strip .latest>span{gap:.4em;display:flex}.word-strip .points,.word-strip .count,.word-strip .empty{color:var(--muted)}.word-strip .chain,.word-strip .board-clear,.word-strip .fresh,.word-strip .fresh .points{color:var(--accent)}dialog.screen ol.words{text-align:left;touch-action:pan-y;max-height:50vh;margin:.5rem 0 1rem;padding:0;list-style:none;overflow-y:auto}dialog.screen ol.words li{gap:.5em;padding:.15em 0;font-weight:600;display:flex}dialog.screen ol.words .points{color:var(--muted)}dialog.screen ol.words .chain,dialog.screen ol.words .board-clear{color:var(--accent)}dialog.screen .share-text{box-sizing:border-box;border:1px solid var(--edge);background:var(--bg);width:min(100%,22rem);color:var(--text);font:inherit;resize:none;border-radius:10px;margin:.5rem 0;padding:.6rem .75rem;font-size:max(.95rem,16px);line-height:1.35}dialog.screen .share-text:focus-visible{outline:2px solid var(--accent);outline-offset:2px}dialog.screen .share-card{box-sizing:border-box;aspect-ratio:1;border:1px solid var(--edge);width:min(100%,15rem);height:auto;box-shadow:0 0 12px var(--glow);border-radius:12px;margin:.5rem auto;display:block}dialog.screen p.share-card-waiting{color:var(--muted);place-items:center;display:grid}
