/* Poker portrait is a content-sized table. Shared viewport/keyboard and touch
   rules remain in their existing owners. Desktop and landscape stay separate. */
.native-poker-lock-label { display: none; }
.native-practice-actions .native-poker-practice-help { display: none; }
@media (max-width: 1180px) {
  body.poker-mobile-active .native-practice-actions .native-poker-practice-help { display: inline-flex; }
  body.poker-mobile-active .layout > .sidebar { display: none; }
  body.poker-mobile-active #homePage :is(#globalChatPanel, #homeGlobalChatEntry) { display: none; }
  body.poker-mobile-active .layout,
  body.poker-mobile-active .layout > .main,
  body.poker-mobile-active #homePage { display: contents; }
  body.poker-mobile-active .game-shell.home-game { overflow: visible; transform: none; contain: none; }
  body.poker-mobile-active .game-shell.home-game > .game-header { display: none; }
  body.poker-mobile-active #nativeWorkerGameRoot {
    position: fixed;
    inset: var(--rx-size-topbar) 0 0;
    width: auto;
    height: auto;
    min-height: 0;
    margin: 0;
    overflow: hidden;
    /* One continuous page background behind the transparent table, including
       its side gutters. Keep the lobby beneath this fixed game surface covered. */
    background: var(--rx-color-overlay-solid); background-image: var(--rx-background-page);
    background-color: var(--rx-color-page-secondary);
  }
  body.poker-mobile-active #nativeWorkerGameRoot .native-game-shell.mode-pokerduel {
    height: 100%;
    min-height: 0;
    padding: 0;
    background: transparent;
  }
  body.poker-mobile-active #nativeWorkerGameRoot .mode-pokerduel :is(.worker-spectate-content, .worker-spectate-content-main, .native-game-main, .native-game-board-column, .worker-spectate-board-wrap, [data-native-board-slot]) {
    width: 100%;
    height: 100%;
    min-height: 0;
    max-height: none;
    padding: 0;
    margin: 0;
    gap: 0;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: minmax(0, 1fr);
    align-self: stretch;
    align-items: stretch;
    overflow: visible;
    background: transparent;
  }
  body.poker-mobile-active #nativeWorkerGameRoot .mode-pokerduel [data-native-board-slot] {
    display: block;
    overflow-y: auto;
    overflow-x: hidden;
    overscroll-behavior-y: contain;
    scrollbar-width: thin;
  }
  /* Keep the table and its controls in the same layout. The control row may
     wrap or include queue information; its actual height reserves the space. */
  body.poker-mobile-active #nativeWorkerGameRoot .mode-pokerduel .native-game-main {
    grid-template-rows: minmax(0, 1fr) auto;
  }
  body.poker-mobile-active #nativeWorkerGameRoot .mode-pokerduel [data-native-panel-slot] {
    position: static;
    height: auto;
    max-height: none;
    padding-bottom: var(--rx-safe-bottom);
  }
  body.poker-mobile-active #nativeWorkerGameRoot .mode-pokerduel .native-game-side {
    display: block;
    width: 100%;
    height: auto;
    min-height: 0;
    max-height: none;
    padding: 0;
    border: 0;
    background: var(--rx-color-surface);
  }
  body.poker-mobile-active .mode-pokerduel .native-game-side > :is(.native-game-panel-body, .native-game-tabs) { display: none; }
  body.poker-mobile-active .mode-pokerduel .native-game-panel-actions { padding: 6px; border: 0; }
  body.poker-mobile-active .mode-pokerduel .native-game-actions { display: flex; gap: 4px; }
  body.poker-mobile-active .mode-pokerduel .native-game-actions .btn { flex: 1 1 0; min-width: 0; }

  body.poker-mobile-active #nativeWorkerGameRoot .mode-pokerduel .native-poker-board {
    --native-poker-card-width: var(--poker-mobile-card-width, 52px);
    box-sizing: border-box;
    width: min(100%, 620px);
    height: auto;
    max-height: none;
    min-height: 100%;
    margin: 0 auto;
    padding: 6px 8px;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto auto auto auto auto;
    align-content: space-evenly;
    gap: 8px;
    color: var(--rx-color-text);
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    overflow: visible;
  }
  /* Wrap complete score groups when their text no longer fits one row. */
  body.poker-mobile-active .native-poker-score { display: flex; flex-wrap: wrap; justify-content: space-between; min-height: 32px; padding: 0 0 4px; gap: 8px; }
  body.poker-mobile-active .native-poker-score-player { display: flex; flex: 1 1 max-content; max-width: 100%; flex-wrap: wrap; gap: 6px; }
  body.poker-mobile-active .native-poker-score-player.opponent { justify-content: end; }
  body.poker-mobile-active .native-poker-score-player > span:first-child { font-size: .75rem; color: var(--rx-color-text-muted); grid-column: auto; }
  body.poker-mobile-active .native-poker-score-player > strong { font-size: 1.125rem; line-height: 1.35; color: var(--rx-color-text); grid-column: auto; }
  body.poker-mobile-active .native-poker-score-pips { display: none; }
  body.poker-mobile-active .native-poker-score-player.local:has(.native-poker-profile-button) > span:first-of-type { display: none; }
  body.poker-mobile-active .native-poker-score .native-poker-profile-button.name { min-height: var(--rx-size-tap-min); min-width: var(--rx-size-tap-min); }
  body.poker-mobile-active .native-poker-round-label { display: flex; flex-wrap: wrap; min-width: 0; max-width: 100%; align-items: center; justify-content: center; gap: 6px; }
  :root body.poker-mobile-active .native-poker-round-label strong { font-size: .875rem; line-height: 1.35; padding: 0; border: 0; border-radius: 0; box-shadow: none; color: var(--rx-color-text); background: transparent; }
  body.poker-mobile-active .native-poker-round-label span { font-size: .75rem; color: var(--rx-color-text-muted); }
  body.poker-mobile-active #nativeWorkerGameRoot .mode-pokerduel :is(.native-poker-row, .native-poker-hand-wrap) { min-height: 0; overflow: visible; gap: 4px; }
  body.poker-mobile-active .native-poker-row-head { min-height: 32px; gap: 6px; }
  body.poker-mobile-active .native-poker-player-identity { min-width: 0; gap: 4px; }
  body.poker-mobile-active .native-poker-row-title > span,
  body.poker-mobile-active .native-poker-player-clan,
  body.poker-mobile-active .native-poker-row.own .native-poker-player-identity { display: none; }
  body.poker-mobile-active .native-poker-player-avatar { width: 28px; height: 28px; flex-basis: 28px; }
  body.poker-mobile-active .native-poker-profile-button.avatar { min-width: var(--rx-size-tap-min); min-height: var(--rx-size-tap-min); display: grid; place-items: center; }
  body.poker-mobile-active .native-poker-profile-button.name { min-height: var(--rx-size-tap-min); min-width: var(--rx-size-tap-min); }
  body.poker-mobile-active .native-poker-row-title > strong,
  body.poker-mobile-active .native-poker-profile-button.name > strong { font-size: .875rem; max-width: 44vw; color: var(--rx-color-text); }
  body.poker-mobile-active .native-poker-row-status { max-width: 62%; font-size: .75rem; padding: 2px 4px; white-space: normal; color: var(--rx-color-text-muted); background: transparent; }
  body.poker-mobile-active .native-poker-row.own .native-poker-row-head { min-height: 18px; justify-content: center; }
  body.poker-mobile-active .native-poker-row.own .native-poker-row-status { max-width: 100%; }
  body.poker-mobile-active #nativeWorkerGameRoot .mode-pokerduel .native-poker-hand { grid-template-columns: repeat(5, minmax(0, var(--native-poker-card-width))); gap: 6px; justify-content: center; }
  body.poker-mobile-active .native-poker-card { gap: 0; grid-template-rows: auto; }
  body.poker-mobile-active .native-poker-card-command { display: none; }
  body.poker-mobile-active #nativeWorkerGameRoot .native-poker-row.own .native-poker-card.selected .native-poker-card-visual { transform: none; animation: none; }
  body.poker-mobile-active .native-poker-card-action { top: auto; bottom: 3px; left: 50%; transform: translateX(-50%); font-size: .75rem; padding: 2px 4px; }
  body.poker-mobile-active .native-poker-card.selected .native-poker-card-action { font-size: 0; width: 20px; height: 20px; padding: 0; display: grid; place-items: center; }
  body.poker-mobile-active .native-poker-card.selected .native-poker-card-action::after { content: '✓'; font-size: 14px; }
  body.poker-mobile-active .native-poker-slot { bottom: 3px; min-width: 18px; height: 18px; font-size: .75rem; }
  body.poker-mobile-active .native-poker-row.own .native-poker-slot { display: none; }

  body.poker-mobile-active #nativeWorkerGameRoot .mode-pokerduel .native-poker-table-center { position: relative; height: auto; min-height: 0; }
  body.poker-mobile-active .native-poker-dealer-row { display: grid; grid-template-columns: 1fr auto 1fr; grid-template-rows: auto auto; min-height: 0; height: auto; gap: 4px 12px; }
  body.poker-mobile-active .native-poker-table-line { display: none; }
  body.poker-mobile-active .native-poker-shared-cards { grid-column: 1 / 3; grid-row: 1; justify-self: end; gap: 4px; transform: none; }
  body.poker-mobile-active .native-poker-shared-cards::before { content: 'Shared'; font-size: .75rem; color: var(--rx-color-text-muted); margin-right: 4px; }
  body.poker-mobile-active .native-poker-shared-slot,
  body.poker-mobile-active .native-poker-card.poker-shared-card { width: clamp(44px, calc(var(--native-poker-card-width) * .72), 60px); min-width: 44px; }
  body.poker-mobile-active .native-poker-dealer-unit { grid-column: 3; grid-row: 1; justify-self: start; gap: 2px; }
  body.poker-mobile-active .native-poker-dealer-circle { width: auto; min-width: 52px; height: auto; min-height: 44px; padding: 2px; border-radius: var(--rx-radius-control); background: var(--rx-color-border); }
  body.poker-mobile-active .native-poker-dealer-core { border-radius: var(--rx-radius-control); background: var(--rx-color-surface); }
  body.poker-mobile-active .native-poker-deck-stack { display: none; }
  body.poker-mobile-active .native-poker-dealer-core .native-poker-timer { font-size: 1.25rem; line-height: 1.35; color: var(--rx-color-text); }
  body.poker-mobile-active .native-poker-center-label { font-size: .75rem; color: var(--rx-color-text-muted); }
  body.poker-mobile-active #nativeWorkerGameRoot .mode-pokerduel .native-poker-center-console { grid-column: 1 / -1; grid-row: 2; display: block; height: auto; min-height: 0; padding: 2px 0; background: transparent; border: 0; }
  body.poker-mobile-active .native-poker-phase-copy { display: grid; justify-items: center; gap: 2px; text-align: center; }
  body.poker-mobile-active .native-poker-phase-copy strong { font-size: .875rem; color: var(--rx-color-text); }
  body.poker-mobile-active .native-poker-phase-copy span { display: block; font-size: .75rem; color: var(--rx-color-text-muted); white-space: normal; }
  body.poker-mobile-active .native-poker-center-action { position: relative; padding: 4px 0; min-width: 0; min-height: var(--rx-size-tap-min); background: transparent; box-shadow: none; z-index: 5; }
  body.poker-mobile-active .native-poker-center-action[data-poker-mobile-hand-actions] > .waiting,
  body.poker-mobile-active [data-poker-mobile-force="true"] .native-poker-center-action > .native-poker-controls { display: none; }
  body.poker-mobile-active .native-poker-controls { width: 100%; min-height: 0; }
  body.poker-mobile-active .native-poker-control-buttons { display: flex; width: 100%; gap: 8px; }
  body.poker-mobile-active .native-poker-control-buttons .btn { flex: 1 1 0; min-width: 0; min-height: var(--rx-size-tap-min); height: auto; padding: 8px; font-size: .875rem; white-space: normal; }
  body.poker-mobile-active .native-poker-center-action .btn:disabled { opacity: .55; cursor: default; }
  body.poker-mobile-active .native-poker-ready-button { display: flex; align-items: center; justify-content: center; gap: 6px; }
  body.poker-mobile-active .native-poker-ready-button .native-poker-lock-label { display: inline; }
  body.poker-mobile-active .native-poker-control-copy :is(span, strong, small) { font-size: .875rem; white-space: normal; }
  body.poker-mobile-active .native-poker-result { height: auto; min-height: 0; padding: 6px; gap: 3px; overflow: visible; }
  body.poker-mobile-active .native-poker-result strong { font-size: 1rem; white-space: normal; }
  body.poker-mobile-active .native-poker-result :is(span, small) { font-size: .75rem; white-space: normal; overflow-wrap: anywhere; }
  body.poker-mobile-active .native-poker-result .native-poker-result-force { display: block; }
  body.poker-mobile-active .native-poker-result-kicker { display: none; }
  body.poker-mobile-active .native-poker-last-round { flex: 1 1 0; min-width: 0; height: auto; white-space: normal; overflow-wrap: anywhere; }
  body.poker-mobile-active #nativeWorkerGameRoot > .native-game-panel-actions { background: var(--rx-color-surface); }
  body.poker-mobile-active .native-poker-board[data-poker-phase="reveal"] .native-poker-center-console { display: none; }
  body.poker-mobile-active .native-poker-board[data-poker-phase="reveal"] .native-poker-center-action { position: static; }
  body.poker-mobile-active .native-poker-board:has(.opponent.forceable) .own .native-poker-row-head { display: none; }
  body.poker-mobile-active .native-poker-board:has(.opponent.forceable) .native-poker-phase-copy > span { display: none; }

  body.poker-mobile-active [data-poker-layout="compact"] .native-poker-board { gap: 4px; padding-block: 4px; align-content: start; }
  body.poker-mobile-active #nativeWorkerGameRoot [data-poker-layout="compact"] .native-poker-board { gap: 2px; padding-block: 2px; }
  body.poker-mobile-active [data-poker-layout="compact"] .native-poker-score { padding-bottom: 0; }
  body.poker-mobile-active [data-poker-layout="compact"] .own .native-poker-row-status { padding-block: 0; }
  body.poker-mobile-active [data-poker-layout="compact"] .native-poker-center-label { display: none; }
  body.poker-mobile-active [data-poker-layout="compact"] .native-poker-center-action { padding-block: 0; }
  body.poker-mobile-active [data-poker-layout="compact"] .native-poker-board[data-poker-phase="reveal"] .own .native-poker-row-head { display: none; }
  body.poker-mobile-active [data-poker-layout="compact"] .native-poker-result { padding: 4px; }
  /* Opponent lock/swap state is already beside their name; keep the primary
     instruction and the player's complete swap counter without repeating it. */
  body.poker-mobile-active [data-poker-layout="compact"] .native-poker-board:is([data-poker-phase="selecting"], [data-poker-phase="redraw"]) .native-poker-phase-copy > span { display: none; }
  /* Opponent cards exist only in the temporary Force workspace. The summary
     carries public swap activity; revealed hands belong in the result sheet. */
  body.poker-mobile-active .native-poker-row.opponent > .native-poker-hand-wrap { display: none; }
  body.poker-mobile-active .native-poker-mobile-activity { min-height: 16px; text-align: center; font-size: .75rem; line-height: 1.35; color: var(--rx-color-text-muted); overflow-wrap: anywhere; }
  body.poker-mobile-active .native-poker-board[data-poker-phase="reveal"] .native-poker-result:not(.native-poker-match-result) { display: none; }
  body.poker-mobile-active [data-poker-mobile-targets] { padding: 8px 4px; border-radius: var(--rx-radius-control); background: rgba(var(--rx-color-accent-rgb), .12); }
  body.poker-mobile-active [data-poker-force-enter] { animation: poker-mobile-targets-in 200ms ease-out backwards; }
  body.poker-mobile-active [data-poker-mobile-targets] .native-poker-hand-event { display: none; }
  body.poker-mobile-active [data-poker-mobile-targets] .native-poker-card { display: grid; grid-template-rows: auto auto; gap: 4px; }
  body.poker-mobile-active .native-poker-swap-count { font-size: .75rem; line-height: 1.2; white-space: normal; color: var(--rx-color-text); text-align: center; }
  body.poker-mobile-active .native-poker-card.mobile-force-selected .native-poker-card-visual { outline: 3px solid var(--rx-color-accent); outline-offset: 1px; }
  body.poker-mobile-active .native-poker-force-confirm { width: 100%; min-height: var(--rx-size-tap-min); font-size: .875rem; }
  body.poker-mobile-active [data-poker-mobile-force="true"] .native-poker-table-center { display: grid; gap: 4px; }
  body.poker-mobile-active [data-poker-mobile-force="true"] .native-poker-dealer-row { grid-template-columns: 1fr auto; gap: 4px 12px; justify-content: center; max-width: 300px; margin-inline: auto; }
  body.poker-mobile-active [data-poker-mobile-force="true"] .native-poker-shared-cards { display: none; }
  body.poker-mobile-active .native-poker-mobile-shared { grid-column: 1; grid-row: 1; align-self: center; font-size: .875rem; color: var(--rx-color-text-muted); }
  body.poker-mobile-active [data-poker-mobile-force="true"] .native-poker-dealer-unit { grid-column: 2; }
  body.poker-mobile-active [data-poker-mobile-force="true"] .native-poker-dealer-circle { min-height: 32px; }
  body.poker-mobile-active [data-poker-mobile-force="true"] .native-poker-center-label { display: none; }
  body.poker-mobile-active .native-poker-force-resolve { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; gap: 12px; padding: 4px; background: var(--rx-color-overlay-solid); border-radius: var(--rx-radius-control); z-index: 2; }
  body.poker-mobile-active .native-poker-force-resolve img { width: 40px; height: 54px; object-fit: contain; animation: poker-mobile-card-replaced 650ms ease-in-out backwards; }
  body.poker-mobile-active .native-poker-force-resolve strong { display: block; font-size: .875rem; color: var(--rx-color-text); }
  body.poker-mobile-active .native-poker-force-resolve span { display: block; font-size: .75rem; color: var(--rx-color-text-muted); }
  /* This is the opponent's targeting workspace. The player's hand returns
     unchanged after targeting; miniature copies only confuse the target. */
  body.poker-mobile-active [data-poker-mobile-force="true"] > .native-poker-row.own { display: none; }

  body.poker-mobile-active #nativeWorkerGameRoot .mode-pokerduel .native-game-side[data-native-panel="chat"] .native-game-panel-body {
    position: fixed;
    inset: calc(var(--rx-size-topbar) + 8px) 8px calc(64px + var(--rx-safe-bottom));
    height: auto;
    display: grid;
    grid-template-rows: minmax(0, 1fr);
    padding: 8px;
    z-index: 7240;
    background: var(--rx-color-overlay-solid); background-image: var(--rx-background-page);
    border: 1px solid var(--rx-color-border);
    border-radius: var(--rx-radius-panel);
    overflow: hidden;
  }
  body.poker-mobile-active #nativeWorkerGameRoot .mode-pokerduel .native-game-chat { height: 100%; min-height: 0; grid-template-rows: auto minmax(0, 1fr) auto; padding: 0; background: transparent; }
  body.poker-mobile-active #nativeWorkerGameRoot .mode-pokerduel .native-game-chat:has(.native-game-chat-reply-composer) { grid-template-rows: auto minmax(0, 1fr) auto auto; }
  body.poker-mobile-active #nativeWorkerGameRoot .mode-pokerduel .native-game-chat-list { overflow-y: auto; min-height: 0; height: auto; }
  body.poker-mobile-active #nativeWorkerGameRoot .mode-pokerduel .native-game-chat-header { display: flex; min-height: var(--rx-size-tap-min); }
  body.poker-mobile-active #nativeWorkerGameRoot .mode-pokerduel .native-game-chat-close { display: inline-flex; position: static; align-items: center; min-height: var(--rx-size-tap-min); }
  body.poker-mobile-active #nativeWorkerGameRoot .mode-pokerduel .native-practice-side[data-native-queue-practice="true"] .native-game-panel-body { display: block; contain: none; max-height: none; overflow-y: auto; }
}

/* Phones move the action dock out of the shell to the viewport-level tray. */
@media (max-width: 700px) {
  body.poker-mobile-active #nativeWorkerGameRoot .native-game-shell.mode-pokerduel { padding-bottom: calc(60px + var(--rx-safe-bottom)); }
  body.poker-mobile-active #nativeWorkerGameRoot .mode-pokerduel [data-native-panel-slot] { padding-bottom: 0; }
  body.poker-mobile-active #nativeWorkerGameRoot.has-responsive-queue-tray .native-game-shell.mode-pokerduel { padding-bottom: calc(132px + var(--rx-safe-bottom)); }
  body.poker-mobile-active #nativeWorkerGameRoot .mode-pokerduel:has(.native-practice-side[data-native-queue-practice="true"]) { padding-bottom: calc(140px + var(--rx-safe-bottom)); }
}

.native-poker-round-sheet {
  position: fixed; inset: auto 0 0; margin: 0 auto; width: min(100%, 620px);
  max-width: 100%; max-height: calc(100dvh - var(--rx-size-topbar) - 8px);
  padding: 0; border: 1px solid var(--rx-color-border); border-bottom: 0;
  border-radius: var(--rx-radius-panel) var(--rx-radius-panel) 0 0;
  color: var(--rx-color-text); background: var(--rx-color-overlay-solid);
  box-shadow: var(--rx-shadow-overlay); overflow: hidden;
}
.native-poker-round-sheet[open] { display: grid; grid-template-rows: auto minmax(0, 1fr) auto; animation: poker-mobile-result-in 220ms ease-out backwards; }
.native-poker-round-sheet::backdrop { background: var(--rx-color-backdrop, rgb(0 0 0 / .5)); }
.native-poker-round-sheet .modal-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; padding: 12px 12px 8px; margin: 0; }
.native-poker-round-sheet .modal-header > div { min-width: 0; }
.native-poker-round-sheet .modal-header small { color: var(--rx-color-text-muted); font-size: .75rem; }
.native-poker-round-sheet .modal-title { margin: 4px 0; font-size: 1.25rem; line-height: 1.2; overflow-wrap: anywhere; }
.native-poker-round-sheet[data-outcome="win"] .modal-title { color: var(--rx-color-success); }
.native-poker-round-sheet[data-outcome="loss"] .modal-title { color: var(--rx-color-danger); }
.native-poker-round-sheet .modal-header p { margin: 0; font-size: .875rem; color: var(--rx-color-text-muted); overflow-wrap: anywhere; }
.native-poker-round-sheet .btn-close { flex-shrink: 0; min-width: var(--rx-size-tap-min); min-height: var(--rx-size-tap-min); }
.native-poker-round-sheet .modal-body { min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: 0 12px 8px; }
.native-poker-result-hand { --poker-result-tone: var(--rx-color-text-muted); padding: 8px; border-left: 3px solid var(--poker-result-tone); border-radius: var(--rx-radius-compact); background: var(--rx-color-surface-raised); margin-bottom: 8px; }
.native-poker-result-hand.win { --poker-result-tone: var(--rx-color-success); }
.native-poker-result-hand.loss { --poker-result-tone: var(--rx-color-danger); }
@supports (background: color-mix(in srgb, red, blue)) {
  .native-poker-result-hand { background: color-mix(in srgb, var(--poker-result-tone) 10%, var(--rx-color-overlay-solid)); }
}
.native-poker-result-hand-title { display: flex; align-items: center; gap: 8px; margin-bottom: 6px; color: var(--rx-color-text); }
.native-poker-result-avatar { display: block; width: 34px; height: 34px; flex: 0 0 34px; object-fit: cover; border-radius: var(--rx-radius-compact); border: 2px solid var(--poker-result-tone); }
.native-poker-result-identity { display: grid; flex: 1 1 auto; min-width: 0; gap: 2px; }
.native-poker-result-identity strong { font-size: .875rem; line-height: 1.2; overflow-wrap: anywhere; }
.native-poker-result-identity small { font-size: .6875rem; color: var(--rx-color-text-muted); }
.native-poker-result-outcome { flex: 0 0 auto; padding: 4px 6px; border: 1px solid var(--poker-result-tone); border-radius: var(--rx-radius-pill); color: var(--poker-result-tone); font-size: .6875rem; font-weight: 800; }
.native-poker-result-rank { margin: 0 0 6px; color: var(--rx-color-text); font-size: .75rem; font-weight: 700; }
.native-poker-result-five { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 5px; }
.native-poker-result-card { min-width: 0; margin: 0; text-align: center; }
.native-poker-result-card img { display: block; width: 100%; aspect-ratio: 14 / 19; object-fit: contain; border: 1px solid var(--poker-result-tone, var(--rx-color-border)); border-radius: 5px; }
.native-poker-result-card figcaption { min-height: 16px; font-size: .6875rem; line-height: 1.4; overflow-wrap: anywhere; color: var(--rx-color-text-muted); }
.native-poker-round-force p { margin: 4px 0; font-size: .75rem; color: var(--rx-color-text-muted); overflow-wrap: anywhere; }
.native-poker-result-bank { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 8px 0 12px; }
.native-poker-result-bank > div:first-child { display: grid; min-width: 0; gap: 2px; }
.native-poker-result-bank strong { font-size: .875rem; color: var(--rx-color-text); }
.native-poker-result-bank span { font-size: .75rem; color: var(--rx-color-text-muted); }
.native-poker-result-bank .native-poker-result-five { flex: 0 0 auto; grid-template-columns: repeat(2, 44px); gap: 6px; }
.native-poker-round-footer { padding: 8px 12px calc(10px + var(--rx-safe-bottom)); display: flex; justify-content: space-between; flex-wrap: wrap; gap: 6px; color: var(--rx-color-text-muted); font-size: .75rem; border-top: 1px solid var(--rx-color-border); }
@keyframes poker-mobile-targets-in { from { transform: translateY(10px); opacity: .25; } to { transform: none; opacity: 1; } }
@keyframes poker-mobile-result-in { from { transform: translateY(32px); opacity: .5; } to { transform: none; opacity: 1; } }
@keyframes poker-mobile-card-replaced { 0% { transform: none; opacity: 1; } 42% { transform: translateY(-12px) rotate(6deg); opacity: 0; } 48% { transform: translateY(12px) rotate(-6deg); opacity: 0; } 100% { transform: none; opacity: 1; } }
@media (prefers-reduced-motion: reduce) {
  body.poker-mobile-active [data-poker-mobile-targets], .native-poker-round-sheet[open], body.poker-mobile-active .native-poker-force-resolve img { animation: none; }
}

@media (max-width: 1180px) {
  :root[data-rx-keyboard-open] body.poker-mobile-active #nativeWorkerGameRoot .mode-pokerduel .native-game-side[data-native-panel="chat"] .native-game-panel-body {
    bottom: calc(var(--rx-keyboard-bottom, 0px) + 60px);
    top: max(var(--rx-size-topbar), var(--rx-visual-top, 0px));
  }
  :root[data-rx-keyboard-open] body.poker-mobile-active #nativeWorkerGameRoot > [data-native-responsive-action-dock] { bottom: var(--rx-keyboard-bottom, 0px); }
}
