: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:#1b2a3a;--ink:#eef3f7;--btn:#ffffff1a;--btn-on:#2dc5a2;--btn-on-ink:#04261d;--focus:#2dc5a2;--dialog:#f6f9fb;--dialog-ink:#142130;--tile:#f3ecd9;--tile-ink:#2a2318;--sel:#2dc5a2;--sel-ink:#04261d;--head:#ffd36b;--line:#ffffff24;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--dialog:#1f2d3d;--dialog-ink:#eef3f7}}:root[data-theme=dark]{--dialog:#1f2d3d;--dialog-ink:#eef3f7}*{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--ambient), var(--shade), var(--grain,none), radial-gradient(ellipse 80% 60% at 50% 30%, #27405a, var(--bg));color:var(--ink);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;touch-action:none;font:14px/1.3 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;overflow:hidden}#app.wg{grid-template-rows:auto auto minmax(0,1fr);justify-items:center;gap:6px;height:100dvh;padding:8px 10px 10px;display:grid;position:relative}.wg-bar{flex-wrap:wrap;grid-row:1;justify-content:center;align-items:center;gap:6px;width:100%;display:flex}.wg-title{letter-spacing:1px;text-transform:uppercase;margin:0 6px 0 0;font:800 18px/1 Trebuchet MS,Segoe UI,sans-serif}.group{gap:3px;display:flex}.btn{font:inherit;color:var(--ink);background:var(--btn);cursor:pointer;border:0;border-radius:9px;min-height:34px;padding:7px 11px;box-shadow:inset 0 1px #ffffff1f,0 2px 6px #00000040}.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:focus-visible,.wg-cell:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.sound-toggle{width:34px;height:34px}.wg-info{opacity:.9;font-variant-numeric:tabular-nums;flex-wrap:wrap;grid-row:2;justify-content:center;gap:14px;font-size:13px;display:flex}.wg-info .clock{font-weight:800}.wg-stage{grid-row:3;grid-template-columns:minmax(0,1fr) minmax(130px,32%);gap:12px;width:100%;min-height:0;display:grid}.wg-left{grid-template-rows:auto minmax(0,1fr) auto;place-items:center;gap:8px;min-height:0;display:grid;position:relative;container-type:size}.wg-current{letter-spacing:3px;text-transform:uppercase;border-bottom:3px solid var(--sel);justify-content:center;align-items:center;min-width:160px;min-height:40px;padding:4px 8px;font:800 26px/1 Trebuchet MS,Segoe UI,sans-serif;display:flex}.wg-current.empty{border-bottom-color:var(--line)}.wg-placeholder{letter-spacing:0;text-transform:none;opacity:.7;font:500 13px/1.2 system-ui,sans-serif}.wg-board{--size:min(100cqw, calc(100cqh - 96px), 420px);width:var(--size);height:var(--size);gap:calc(var(--size) / 40);padding:calc(var(--size) / 40);box-shadow:var(--tray);background:#00000040;border-radius:14px;grid-template-columns:repeat(4,1fr);display:grid}.wg-cell{background:var(--tile);color:var(--tile-ink);font:800 calc(var(--size) / 9) / 1 "Trebuchet MS", "Segoe UI", sans-serif;text-transform:uppercase;cursor:pointer;box-shadow:var(--raised);touch-action:none;border:0;border-radius:10px;padding:0;transition:transform .1s,background .1s}.wg-cell.sel{background:var(--sel);color:var(--sel-ink);transform:scale(.94)}.wg-cell.head{background:var(--head);color:#2a1d00}.wg-cell:disabled{cursor:default;opacity:.7}.wg-actions{gap:8px;display:flex}.wg-toast{background:var(--ink);color:var(--bg);z-index:5;white-space:nowrap;border-radius:8px;padding:7px 14px;font-weight:700;position:absolute;top:44px;left:50%;translate:-50%;box-shadow:0 6px 18px #0000004d}.wg-toast.good{background:var(--sel);color:var(--sel-ink)}.wg-toast[hidden]{display:none}.wg-found{border:1px solid var(--line);background:#0000002e;border-radius:12px;min-height:0;padding:8px 10px;overflow:auto}.wg-found-head{margin-bottom:4px;font-size:13px;font-weight:700}.wg-list{flex-wrap:wrap;gap:4px 8px;margin:0;padding:0;font-size:13px;list-style:none;display:flex}.wg-list li{background:var(--line);text-transform:uppercase;letter-spacing:.5px;border-radius:6px;padding:2px 6px}.wg-list li.long{background:var(--head);color:#2a1d00;font-weight:800}.wg-empty{opacity:.7;margin:4px 0 0;font-size:12px}.overlay{z-index:30;background:#050a148c;place-items:center;padding:12px;display:grid;position:absolute;inset:0;overflow:auto}.overlay[hidden]{display:none}.overlay.later{animation:.9s step-end both wg-later}@keyframes wg-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 #0006}.dialog h2{margin:0;font:800 20px/1.2 Trebuchet MS,Segoe UI,sans-serif}.dialog p{opacity:.85;margin:0}.wg-missed-title{font-weight:700;opacity:1!important}.wg-list.missed{justify-content:center;max-height:150px;overflow:auto}.dialog .wg-list li{background:#7f7f7f33}.wg-dialog-actions{flex-direction:column;align-items:center;gap:8px;display:flex}.wg-next{font-size:13px}@media (max-width:560px) and (orientation:portrait){.wg-stage{grid-template-rows:minmax(0,1fr) minmax(64px,24%);grid-template-columns:minmax(0,1fr)}}@media (max-width:420px){.wg-title{font-size:15px}.btn{min-height:30px;padding:6px 8px;font-size:13px}.wg-current{min-height:32px;font-size:20px}.wg-info{gap:8px;font-size:12px}}@media (max-height:560px) and (min-aspect-ratio:1){#app.wg{gap:3px;padding:6px 8px}.btn{min-height:28px;padding:4px 8px;font-size:12px}.sound-toggle{width:28px;height:28px}.wg-title{font-size:14px}.wg-info{font-size:12px}.wg-current{min-height:26px;padding:2px 6px;font-size:18px}.wg-left{gap:4px}.wg-actions .btn{min-height:26px}.wg-board{--size:min(100cqw, calc(100cqh - 66px), 420px)}.wg-toast{top:28px}}@media (max-height:300px){#app.wg{gap:2px;padding:4px 6px}.wg-left{gap:2px}.wg-actions .btn{min-height:22px;padding:2px 8px;font-size:11px}.wg-board{--size:min(100cqw, calc(100cqh - 30px), 420px)}.wg-info,.wg-found{display:none}.wg-stage{grid-template-columns:minmax(0,1fr)}.wg-current{display:none}.dialog{gap:6px;padding:8px 10px}.dialog h2{font-size:15px}.wg-list.missed{display:none}}
