.wallet strong, .stakeLimits, .stakePreset, .inputShell,
.hud .stat strong, .buildingInteractionValue, .resultFigures dd { font-variant-numeric: tabular-nums; }

@media (max-width: 1100px) {
  .actionDeck { grid-template-columns: minmax(135px, 1fr) minmax(190px, 1.2fr) minmax(155px, 1fr) 96px; gap: 10px; }
  .actionDeck .stakePresets { display: none; }
  .actionDeck .stakeControl { grid-template-columns: minmax(0, 1fr); }
  .actionDeck.is-playing { grid-template-columns: minmax(110px, 1fr) minmax(260px, 1.1fr) minmax(220px, 1.15fr) 96px; }
  .actionDeck.is-playing .hud { grid-template-columns: 86px minmax(0, 1fr); }
  .actionDeck.is-playing .hud .stat { padding: 6px; }
  .actionDeck.is-playing .hud .stat strong { font-size: 16px; }
  .actionDeck.is-playing .hud .pot strong { font-size: 20px; }
}

@media (max-width: 800px) and (orientation: portrait) {
  .actionDeck {
    right: calc(env(safe-area-inset-right, 0px) + 8px);
    bottom: calc(env(safe-area-inset-bottom, 0px) + var(--footer-h, 22px) + 6px);
    left: calc(env(safe-area-inset-left, 0px) + 8px);
    grid-template-columns: minmax(0, 1fr) 96px;
    width: calc(100% - 16px);
    gap: 12px;
    padding: 12px;
    border-radius: 18px;
  }
  .actionDeck .deckHead { grid-column: 1 / -1; grid-row: 1; }
  .actionDeck .message { font-size: 13px; }
  .actionDeck .stakeControl { grid-column: 1; grid-row: 2; }
  .actionDeck .controls { grid-column: 1 / -1; grid-row: 3; }
  .actionDeck .deckTools { grid-column: 2; grid-row: 2; }
  .actionDeck .buildingInteraction { display: none; }
  .actionDeck.is-playing { grid-template-columns: minmax(0, 1fr) 96px; }
  .actionDeck.is-playing .deckHead { grid-column: 1; }
  .actionDeck.is-playing .deckTools { grid-row: 1; }
  .actionDeck.is-playing .hud { grid-column: 1 / -1; grid-row: 2; min-height: 64px; }
  .gamePage:has(.tutorialLayer.show) .actionDeck:not(.is-playing) .hud { grid-column: 1 / -1; grid-row: 4; }
}

@media (orientation: landscape) and (max-height: 500px) {
  .actionDeck {
    right: calc(env(safe-area-inset-right, 0px) + 8px);
    bottom: calc(env(safe-area-inset-bottom, 0px) + var(--footer-h, 22px) + 6px);
    left: calc(env(safe-area-inset-left, 0px) + 8px);
    grid-template-columns: minmax(100px, 1fr) minmax(180px, 210px) minmax(150px, 190px) 92px;
    gap: 6px;
    width: min(1060px, calc(100% - env(safe-area-inset-left, 0px) - env(safe-area-inset-right, 0px) - 20px));
    padding: 5px 8px;
    border-radius: 14px;
  }
  /* Slim landscape deck (Egi, 2026-09-25: more street, less box): one quiet row, targets stay 44 px. */
  .actionDeck .deckHead { gap: 4px 6px; }
  .actionDeck .deckHead::before { display: none; }
  .actionDeck .message { font-size: 12px; line-height: 1.25; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2; overflow: hidden; }
  .actionDeck .buildingInteraction, .actionDeck .stakePresets { display: none; }
  .actionDeck .deckTools { grid-template-columns: repeat(2, 44px); gap: 4px; }
  .actionDeck .controls button { min-height: 46px; padding: 4px 8px; }
  .actionDeck .controls button span { font-size: 15px; line-height: 1.15; }
  .actionDeck .controls button small { display: block; font-size: 9px; line-height: 1.2; }
  .actionDeck .stakeHead { font-size: 9px; }
  .actionDeck .stakeRow { gap: 3px; }
  .actionDeck .inputShell { width: auto; }
  .actionDeck .inputShell input { font-size: 20px; }
  .actionDeck .stakeLimits { font-size: 8px; letter-spacing: 0; }
  .actionDeck.is-playing {
    pointer-events: none;
    grid-template-columns: minmax(105px, 1fr) minmax(250px, 280px) minmax(205px, 240px) 92px;
  }
  .actionDeck.is-playing .hud,
  .actionDeck.is-playing .message,
  .actionDeck.is-playing .controls button:not(:disabled),
  .actionDeck.is-playing .deckTools { pointer-events: auto; }
  .actionDeck.is-playing .hud { min-height: 46px; }
  .actionDeck.is-playing .hud { grid-template-columns: 86px minmax(0, 1fr); }
  .actionDeck.is-playing .hud .stat { padding: 6px; }
  .actionDeck.is-playing .hud .stat span { font-size: 9px; }
  .actionDeck.is-playing .hud .stat strong { font-size: 16px; }
  .actionDeck.is-playing .hud .pot strong { font-size: 20px; }
  .actionDeck.is-playing .hud .pot { gap: 6px; }
  .actionDeck.is-playing .controls { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
}

@media (orientation: landscape) and (max-height: 500px) and (max-width: 740px) {
  .actionDeck, .actionDeck.is-playing { grid-template-columns: minmax(170px, 1fr) minmax(176px, 1fr) 92px; }
  .actionDeck .deckHead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .actionDeck .stakeControl, .actionDeck .hud { grid-column: 1; }
  .actionDeck .controls { grid-column: 2; }
  .actionDeck .deckTools { grid-column: 3; }
  .actionDeck .controls button span { font-size: 13px; }
  .actionDeck .controls button small { font-size: 8px; }
  .gamePage:has(.tutorialLayer.show) .actionDeck:not(.is-playing) .hud { grid-column: 1; }
}

@media (orientation: landscape) and (max-height: 500px) and (max-width: 740px) {
  .actionDeck.is-playing { grid-template-columns: minmax(240px, 1.2fr) minmax(176px, 1fr) 92px; }
  .actionDeck.is-playing .deckHead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .actionDeck.is-playing .hud { grid-column: 1; }
  .actionDeck.is-playing .controls { grid-column: 2; }
  .actionDeck.is-playing .deckTools { grid-column: 3; }
}

@media (prefers-reduced-motion: reduce) {
  .actionDeck, .controls button { transition: none; }
  .buildingInteraction { animation: none; }
}

/* Eight-place balances retain every digit on compact landscape screens. */
body:is([data-currency="BTC"], [data-currency="ETH"]) .inputShell b { font-size: 10px; padding-left: 5px; }
body:is([data-currency="BTC"], [data-currency="ETH"]) .inputShell input { font-size: 17px; padding-inline: 4px; }
body:is([data-currency="BTC"], [data-currency="ETH"]) .wallet strong { font-size: 16px; }
@media (orientation: landscape) and (max-height: 500px) {
  body:is([data-currency="BTC"], [data-currency="ETH"]) .actionDeck .hud .pot strong { font-size: 13px; letter-spacing: 0; }
  body:is([data-currency="BTC"], [data-currency="ETH"]) .actionDeck.is-playing .hud { grid-template-columns: 104px minmax(0, 1fr); }
  body:is([data-currency="BTC"], [data-currency="ETH"]) .actionDeck .controls button span { font-size: 11px; overflow-wrap: anywhere; }
}
