.st-bar { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.st-bar .clock { font-size: 2.25rem; text-align: left; }
.st-next { margin: 0; display: grid; justify-items: end; color: var(--muted); font-size: .875rem; font-weight: 600; }
.st-next strong { color: var(--accent); font-size: 1.5rem; font-weight: 600; line-height: 1.2; font-variant-numeric: tabular-nums; }
.st-board { display: grid; gap: 6px; width: 100%; max-width: 420px; margin: 0 auto; touch-action: manipulation; user-select: none; -webkit-user-select: none; }
.st-board[data-size="3"] { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.st-board[data-size="4"] { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.st-board[data-size="5"] { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.st-board button { min-height: 0; aspect-ratio: 1; padding: 0; border-radius: 12px; background: var(--bg); color: var(--fg); font-size: 1.375rem; font-weight: 600; font-variant-numeric: tabular-nums; -webkit-tap-highlight-color: transparent; }
.st-board[data-size="3"] button { font-size: 2rem; }
.st-board[data-size="4"] button { font-size: 1.625rem; }
.st-board button.found { background: var(--card); color: var(--faint); box-shadow: inset 0 0 0 1px var(--line); }
.st-board button.wrong { background: var(--card); color: var(--warn); box-shadow: inset 0 0 0 3px var(--warn); }
.st-board button:disabled { opacity: .6; }
@media (hover: hover) { .st-board button:not(:disabled):not(.found):hover { background-color: var(--tint); } }
:root[data-theme="play"] .st-board button { box-shadow: 2px 2px 0 var(--ink); }
:root[data-theme="play"] .st-board button.wrong { border-color: var(--warn); }
#summary .big { font-variant-numeric: tabular-nums; }
