:root{--page:#c0500a;--page-deep:#8f3a05;--navy:#0b2c4d;--cream:#fff6e8;--board:var(--navy);--tile:#f3ead9;--tile-zone:#fff6e8;--tile-active:#ffd27a;--ink:#0b2c4d;--selected:#ff7a1a;--selected-ink:#fff;--valid:#1f9d55;--dead:#8a94a3;--invalid:#d6334a;--finish:#ffd27a;--popup:#ffd27a;--radius:16px;--font:ui-rounded, "SF Pro Rounded", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body{height:100%;margin:0}body{background:radial-gradient(120% 80% at 50% 0%, var(--page) 0%, var(--page-deep) 100%);color:var(--cream);font-family:var(--font);overscroll-behavior:none;-webkit-tap-highlight-color:transparent}.app{height:100dvh;padding:max(12px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));grid-template-rows:auto auto 1fr;grid-template-areas:"top""trace""board";gap:8px;max-width:1080px;margin:0 auto;display:grid}.top{grid-area:top;justify-content:space-between;align-items:center;gap:12px;display:flex}.brand{letter-spacing:-.02em;margin:0;font-size:clamp(20px,5vw,32px);font-weight:900}.stats{gap:8px;margin:0;display:flex}.stat{text-align:center;background:#0b2c4d8c;border-radius:12px;min-width:58px;padding:4px 10px}.stat dt{text-transform:uppercase;letter-spacing:.06em;opacity:.75;font-size:11px;font-weight:700}.stat dd{font-variant-numeric:tabular-nums;margin:0;font-size:22px;font-weight:900}.stat.urgent{background:var(--invalid);animation:1s ease-in-out infinite pulse}@keyframes pulse{50%{transform:scale(1.06)}}.trace{text-align:center;letter-spacing:.12em;grid-area:trace;height:36px;font-size:26px;font-weight:900;line-height:36px;transition:color .15s}.trace.word{color:#7ee2a8}.trace.dead{opacity:.5}.trace.found{color:var(--popup)}.trace.invalid{color:#ffd0d6;text-decoration:line-through;text-decoration-thickness:3px}.board{grid-area:board;min-height:0;position:relative}#board{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;width:100%;height:100%;position:absolute;inset:0}.words{border-radius:var(--radius);background:#0b2c4d8c;grid-area:words;min-height:0;padding:16px 20px;display:none;overflow:auto}.words h2{text-transform:uppercase;letter-spacing:.08em;opacity:.75;margin:16px 0 8px;font-size:13px}.longest{text-transform:uppercase;letter-spacing:.08em;margin:0;font-size:13px}.longest strong{color:var(--popup);letter-spacing:.04em;margin-top:4px;font-size:24px;display:block}.words ol{margin:0;padding:0;list-style:none}.words li{letter-spacing:.04em;border-bottom:1px solid #fff6e826;justify-content:space-between;padding:6px 0;font-weight:800;display:flex}.words li span{color:var(--popup);font-variant-numeric:tabular-nums}@media (width>=760px) and (aspect-ratio>=1){.app{grid-template-columns:1fr 260px;grid-template-areas:"top top""trace words""board words";gap:12px 24px}.words{display:block}}.overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:10;background:#0b2c4db3;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.overlay[hidden]{display:none}.panel{background:var(--cream);width:min(420px,100%);max-height:100%;color:var(--navy);text-align:center;border-radius:24px;padding:28px 24px;animation:.25s ease-out rise;overflow:auto;box-shadow:0 20px 60px #00000059}@keyframes rise{0%{opacity:0;transform:translateY(16px)scale(.97)}}.panel h2{letter-spacing:-.02em;margin:0;font-size:36px;font-weight:900}.tagline{opacity:.6;margin:2px 0 16px;font-size:13px;font-style:italic}.panel p{line-height:1.45}.panel button{background:var(--selected);color:#fff;font:900 20px var(--font);cursor:pointer;border:0;border-radius:999px;margin:8px 0 4px;padding:14px 40px;transition:transform 80ms;box-shadow:0 4px #c45606}.panel button:active{transform:translateY(3px);box-shadow:0 1px #c45606}.panel button:focus-visible{outline:3px solid var(--navy);outline-offset:3px}.panel table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;margin-top:20px}.panel th{text-transform:uppercase;letter-spacing:.06em;opacity:.6;font-size:12px}.panel th,.panel td{padding:6px}.panel tbody tr:nth-child(odd){background:#0b2c4d0f}.panel tr.current{font-weight:900;background:var(--tile-active)!important}@media (prefers-reduced-motion:reduce){.stat.urgent,.panel{animation:none}}
