/* Layer Stack additions stay isolated so the original game is easy to restore. */
.game-shell > *, .game-topline > div { min-width: 0; }
.game-topline { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.game-topline .game-label { overflow-wrap: anywhere; letter-spacing: .035em; }
.game-topline strong { font-variant-numeric: tabular-nums; }
.game-bonus-bar { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 18px; color: var(--muted); font-size: 14px; }
.game-bonus-bar strong { color: var(--ink, #141414); font-variant-numeric: tabular-nums; }
.printer-game canvas { touch-action: pan-y; }
.printer-game canvas:focus-visible { outline: 3px solid #315cff; outline-offset: -4px; }
.game-overlay { pointer-events: none; }
.game-overlay strong { font-size: clamp(24px, 3.5vw, 42px); overflow-wrap: anywhere; }
.game-overlay span { font-size: 14px; }
.game-controls .btn { min-height: 46px; white-space: normal; text-align: center; }
.game-controls .btn:disabled { cursor: not-allowed; opacity: .5; }
.game-controls .game-focus[data-ready="true"] { border-color: #315cff; color: #315cff; background: #edf1ff; }
.game-feedback { margin: 0; min-height: 3.1em; padding: 10px 14px; border-radius: 10px; background: #edf1ff; color: #2347cd; font-size: 14px; line-height: 1.5; overflow-wrap: anywhere; }
.game-keyboard-hint { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.6; }
.game-log:empty { display: none; }
@media (max-width: 600px) {
  .game-topline { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .game-topline > div { padding: 10px 12px; }
  .game-controls { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .game-controls .btn { padding: 11px 8px; font-size: 14px; }
  .game-overlay { gap: 7px; padding: 12px; }
  .game-overlay strong { font-size: clamp(20px, 6vw, 32px); }
  .game-overlay span { font-size: 12px; line-height: 1.4; }
  .game-info { padding: 20px; }
}
@media (prefers-reduced-motion: reduce) {
  .game-overlay, .game-controls .btn { transition: none; }
}
