:root{--bg: #070b16;--panel: #17203a;--panel-2: #23304f;--text: #e8ecf4;--muted: #94a3c0;--accent: #38bdf8;--gold: #fcd34d;color-scheme:dark}*{box-sizing:border-box}html,body,#app{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-tap-highlight-color:transparent;overflow:hidden}.game{height:100%;padding:max(10px,env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));display:flex;flex-direction:column;gap:8px;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.hud{display:flex;align-items:center;justify-content:space-between;gap:8px}.hud-stats{display:flex;gap:8px;min-width:0}.hud-actions{display:flex;gap:8px;flex:none}.stat{display:flex;align-items:baseline;gap:8px;min-width:0;min-height:44px;padding:10px 14px;border-radius:10px;background:var(--panel)}.stat-label{color:var(--muted);font-size:13px;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.stat-value{font-size:18px;font-weight:700;font-variant-numeric:tabular-nums}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;min-width:44px;padding:0 16px;border:0;border-radius:10px;background:var(--panel-2);color:var(--text);font:inherit;font-weight:600;cursor:pointer}.btn:active{transform:translateY(1px)}.btn-icon{padding:0 10px;font-size:17px}.btn-glyph{display:none;font-size:16px;line-height:1}.btn-primary{background:var(--accent);color:#06263a;padding:0 28px;font-size:16px}.board-wrap{position:relative;flex:1;min-height:0;border-radius:12px;overflow:hidden;touch-action:none;cursor:pointer}.board-wrap:after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;box-shadow:inset 0 0 0 1px #94a3b829}canvas{position:absolute;inset:0;width:100%;height:100%;display:block}.overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:14px;background:#060910b8;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);pointer-events:none;overflow-y:auto}.overlay[hidden]{display:none}.overlay-card{display:flex;flex-direction:column;align-items:center;gap:10px;max-width:46ch;text-align:center;pointer-events:auto}.overlay-title{margin:0;font-size:clamp(19px,5.2vw,36px)}.overlay-note{margin:0;font-size:16px;font-weight:600}.overlay-note.is-best{color:var(--gold)}.overlay-sub{margin:0;font-size:14px;font-weight:600;color:var(--accent)}.overlay-meta,.overlay-hint{margin:0;color:var(--muted);font-size:13px;line-height:1.45}.overlay-note[hidden],.overlay-sub[hidden],.overlay-meta[hidden],.overlay-hint[hidden],.stat[hidden]{display:none}.size-row{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.btn-size{flex-direction:column;gap:1px;padding:6px 14px;font-size:14px;line-height:1.15}.btn-size[aria-pressed=true]{outline:2px solid var(--accent);outline-offset:1px}.size-count{font-size:11px;font-weight:500;color:var(--muted)}.btn-size[aria-pressed=true] .size-count{color:var(--accent)}@media(max-width:560px){.btn-text{display:none}.btn-glyph{display:inline-flex;align-items:center}.btn{padding:0 12px}.btn-primary{padding:0 24px}.btn-primary .btn-text{display:inline}.stat{padding:8px 10px;gap:6px}.stat-label{font-size:11px}}@media(max-width:400px){.stat-label{display:none}.hud,.hud-stats,.hud-actions{gap:6px}.stat{padding:6px 10px}}@media(max-width:300px){#time-chip{display:none}.btn{padding:0 8px;min-width:40px}.btn-icon{padding:0 6px;font-size:15px}.hud,.hud-stats,.hud-actions{gap:4px}}@media(max-height:340px){.game{padding:max(6px,env(safe-area-inset-top)) max(6px,env(safe-area-inset-right)) max(6px,env(safe-area-inset-bottom)) max(6px,env(safe-area-inset-left));gap:6px}.stat{min-height:36px;padding:4px 8px}.stat-value{font-size:15px}.overlay{align-items:flex-start;padding:6px}.overlay-card{gap:5px}.overlay-title{font-size:clamp(15px,4.4vw,24px)}.overlay-meta{display:none}.btn-primary{min-height:40px;padding:0 20px}.size-row{gap:4px}.btn-size{min-height:32px;padding:4px 6px;font-size:12px}.size-count{display:none}}@media(max-width:380px)and (max-height:430px),(max-height:300px){.overlay-hint{display:none}}@media(prefers-reduced-motion:reduce){.btn:active{transform:none}}
