:root{color-scheme:dark;--bg: #0d1310;--line: #2a382f;--text: #e8f0ea;--muted: #9bb0a3;--accent: #a4ee8e;--accent-ink: #0d1310;--scrim: rgb(13 19 16 / 74%);--gutter: 16px;--gap: 12px;--hud-height: 44px}*{box-sizing:border-box}html,body{height:100%;margin:0}body{display:grid;place-items:center;padding:max(var(--gutter),env(safe-area-inset-top)) max(var(--gutter),env(safe-area-inset-right)) max(var(--gutter),env(safe-area-inset-bottom)) max(var(--gutter),env(safe-area-inset-left));background:var(--bg);color:var(--text);font:16px/1.5 system-ui,-apple-system,Apple SD Gothic Neo,Noto Sans KR,sans-serif;overscroll-behavior:none;touch-action:none;user-select:none;-webkit-user-select:none}.game{--available-height: calc(100vh - var(--gutter) * 2 - var(--hud-height) - var(--gap));display:grid;gap:var(--gap);width:min(100%,var(--available-height),640px)}@supports (height: 100dvh){.game{--available-height: calc( 100dvh - var(--gutter) * 2 - var(--hud-height) - var(--gap) )}}.hud{display:flex;align-items:center;gap:16px;height:var(--hud-height)}.title{margin:0 auto 0 0;font-size:20px;font-weight:700;letter-spacing:-.01em;white-space:nowrap}.scores{display:flex;gap:16px;margin:0}.scores div{display:flex;align-items:baseline;gap:6px}.scores dt{color:var(--muted);font-size:13px}.scores dd{margin:0;font-size:18px;font-variant-numeric:tabular-nums;font-weight:700}.board{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:12px;aspect-ratio:1}.board canvas{display:block;width:100%;height:100%}.overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-content:center;justify-items:center;gap:8px;padding:24px;background:var(--scrim);text-align:center}.overlay[hidden]{display:none}.overlay h2{margin:0;font-size:28px;letter-spacing:-.01em}.overlay p{margin:0;max-width:34ch;color:var(--muted);text-wrap:balance;word-break:keep-all}.overlay[data-phase=over] .hint{display:none}.overlay .action{margin:12px 0}button{min-height:44px;padding:0 20px;border:1px solid transparent;border-radius:8px;font:inherit;font-weight:700;cursor:pointer}button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.action{background:var(--accent);color:var(--accent-ink)}.ghost{padding:0 12px;border-color:var(--line);background:transparent;color:var(--text);font-size:14px;font-weight:500;white-space:nowrap}.ghost:disabled{color:var(--muted);cursor:default;opacity:.6}.overlay .hint{font-size:13px}.hint-touch{display:none}@media(pointer:coarse){.hint-keys{display:none}.hint-touch{display:block}}@media(max-width:420px){.hud{gap:10px}.title{font-size:17px}.scores{gap:10px}}
