.phase{text-align:center;font-size:18px;font-weight:600;margin:18px 0 4px}.hint{text-align:center;font-size:48px;font-weight:800;line-height:1.15;color:var(--ink);font-variant-numeric:tabular-nums;min-height:56px;margin:0 0 20px;letter-spacing:-.05em}.hint.urgent{color:var(--red)}.board{display:grid;gap:10px}.tile{aspect-ratio:1;border:1px solid var(--line);border-radius:16px;background:white;color:var(--ink);font-size:36px;font-weight:800;min-width:0;padding:0}.tile:disabled{opacity:1}.tile.covered{background:var(--ink);border-color:var(--ink);color:var(--lime)}.tile.covered:active{transform:scale(.96);background:#496346}.tile.done{background:var(--lime);border-color:#b6cd72}.tile.missed{background:#ffe3dd;color:#a43e31;border:2px solid #a43e31}.tile.target{border:2px solid #76963e}#roundLabel{font-size:18px;font-weight:750;color:var(--ink)}.memory-intro{margin-bottom:20px}body:has(#play:not([hidden])) footer{display:none}@media(max-height:720px){.phase{margin-top:8px}.hint{font-size:44px;min-height:51px;margin-bottom:14px}.tile{font-size:30px}}

.memory-preview{display:block;color:var(--ink)}.memory-preview .play-top{font-size:10px;color:var(--muted)}.memory-preview .phase{font-size:14px;margin:14px 0 4px}.memory-preview .hint{font-size:32px;min-height:37px;margin:0 0 14px}.memory-preview .board{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.memory-preview .tile{display:grid;place-items:center;font-size:26px;border-radius:10px;color:var(--ink);font-weight:800}

/* 풀이 타일의 가로·세로 크기는 남은 뷰포트에 맞춰 함께 축소합니다. */
#play{animation:none}#play .board{margin-inline:auto;max-width:100%;align-content:start}#play .tile{width:100%;height:100%;min-height:0;aspect-ratio:auto;font-size:var(--tile-font,36px);border-radius:var(--tile-radius,16px);border-width:var(--tile-border,1px);line-height:1;padding:0;overflow:hidden}body:has(#play:not([hidden])) header{padding-block:12px}body:has(#play:not([hidden])) main{margin-top:0}@media(max-height:500px){#play .phase{margin:4px 0 0;font-size:14px}#play .hint{font-size:32px;min-height:37px;margin-bottom:8px}body:has(#play:not([hidden])) header{padding-block:6px}}
