.mobile-only { display: none; }
.layout-control { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.layout-control label { margin: 0; font-size: .75rem; }
.layout-control select { width: auto; padding: 7px; min-height: 38px; font-size: .78rem; }
.layout-control .field-hint { flex-basis: 100%; max-width: 280px; }
.mobile-sheet-heading { display: flex; justify-content: space-between; align-items: center; gap: 12px; position: sticky; top: -1px; background: var(--panel); z-index: 1; padding-bottom: 10px; }
.mobile-sheet-heading h2 { font-size: 1.25rem; margin: 0; }
#mobile-options-content { display: grid; gap: 16px; }
#mobile-options-content .identity { width: 100%; justify-content: space-between; }
#mobile-help-context p, #mobile-help > p, #mobile-help details { margin-bottom: 12px; }
#mobile-help summary { cursor: pointer; padding-block: 8px; color: var(--gold); }

.mobile-table { overflow: hidden; }
.mobile-table .room-page-scroll { display: grid; position: fixed; inset: 0; height: 100dvh; grid-template-rows: 38px minmax(0, 1fr); overflow: hidden; }
.mobile-table .site-header { padding: 2px max(8px, env(safe-area-inset-right)) 2px max(8px, env(safe-area-inset-left)); width: 100%; height: 100%; margin: 0; gap: 8px; flex-wrap: nowrap; }
.mobile-table .brand { font-size: 21px; gap: 5px; }
.mobile-table .brand-symbol { width: 20px; height: 27px; font-size: 14px; }
.mobile-table .header-right { flex: 1; gap: 8px; flex-wrap: nowrap; }
.mobile-table .connection-badge { font-size: 10px; }
.mobile-table #mobile-menu-open { display: inline-flex; font-size: 11px; min-height: 32px; padding: 5px 10px; }
.mobile-table #main { width: 100%; height: 100%; margin: 0; min-height: 0; display: flex; flex-direction: column; padding: 0 max(6px, env(safe-area-inset-right)) max(6px, env(safe-area-inset-bottom)) max(6px, env(safe-area-inset-left)); }
.mobile-table #room-screen { flex: 1; min-height: 0; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr); grid-template-rows: 24px 28px minmax(174px, .9fr) 26px minmax(105px, 1fr) 38px; grid-template-areas: "title" "people" "table" "hint" "hand" "nav"; gap: 6px; }
.mobile-table.has-room-video #room-screen { grid-template-columns: minmax(0, 1fr) 202px; grid-template-rows: 24px 28px minmax(234px, .9fr) 26px minmax(105px, 1fr) 38px; grid-template-areas: "title title" "people people" "table video" "hint hint" "hand hand" "nav nav"; }
.mobile-table .room-layout, .mobile-table .play-column, .mobile-table .social-column { display: contents; }
.mobile-table .room-heading { grid-area: title; margin: 0; min-height: 0; gap: 6px; flex-wrap: nowrap; }
.mobile-table .room-heading > div:first-child { min-width: 0; }
.mobile-table .room-heading h1 { font-size: 14px; margin: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mobile-table #room-phase { display: none; }
.mobile-table .room-heading-actions { width: auto; gap: 4px; flex-wrap: nowrap; }
.mobile-table #start-game { min-height: 24px; font-size: 10px; padding: 3px 8px; }
.mobile-table .people-panel { grid-area: people; border: 0; background: transparent; padding: 0; min-width: 0; }
.mobile-table .people-panel > .panel-heading, .mobile-table #people-help { display: none; }
.mobile-table #members { display: flex; margin: 0; gap: 7px; height: 28px; max-height: none; overflow-y: hidden; overflow-x: auto; overscroll-behavior: contain; scrollbar-width: none; }
.mobile-table .member { flex: none; gap: 4px; padding: 0 3px; min-width: 55px; border-left-width: 2px; }
.mobile-table .member-avatar { width: 22px; height: 22px; font-size: 10px; }
.mobile-table .member-info { max-width: 78px; }
.mobile-table .member-name { font-size: 10px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mobile-table .member-meta, .mobile-table .near-win-badge { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.mobile-table .member-cards { font-size: 10px; }
.mobile-table .member-cards::before { display: none; }
.mobile-table .table-panel { grid-area: table; min-width: 0; min-height: 0; height: 100%; padding: 7px; border-radius: 13px; overflow: auto; overscroll-behavior: contain; box-shadow: inset 0 0 0 3px #0b25183b; }
.mobile-table .table-topline { gap: 4px; min-height: 22px; }
.mobile-table .table-topline h2 { display: none; }
.mobile-table .table-topline #turn-title { flex: 1; min-width: 0; font-size: 10px; line-height: 1.3; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mobile-table #mobile-table-state { display: flow-root; height: 26px; min-height: 26px; }
.mobile-table .spectator-badge { font-size: 8px; padding: 2px; }
.mobile-table .turn-clock { font-size: 11px; padding: 1px 4px; gap: 3px; }
.mobile-table .clock-icon { font-size: 12px; }
.mobile-table .table-cards { gap: 6px; margin: 7px 0 3px; align-items: flex-start; }
.mobile-table .card-pile { min-width: 0; flex: 1; gap: 4px; }
.mobile-table .table-divider { display: none; }
.mobile-table .discard-dropzone { padding: 0 0 4px; border-width: 1px; border-radius: 6px; }
.mobile-table .pile-label, .mobile-table .discard-dropzone .pile-label { font-size: 9px; letter-spacing: 0; text-align: center; }
.mobile-table .desktop-discard-label { display: none; }
.mobile-table .pile-label .mobile-only { display: inline; }
.mobile-table .market-count { padding: 0 2px; margin-left: 1px; }
.mobile-table .pile-caption { font-size: 9px; line-height: 1.25; }
.mobile-table .table-cards .playing-card { width: min(64px, 100%); height: 91px; border-width: 1px; border-radius: 6px; }
.mobile-table #top-card { max-width: 100%; }
.mobile-table #top-card > .playing-card { width: 64px; max-width: 100%; }
.mobile-table .table-cards .card-number { font-size: 12px; }
.mobile-table .table-cards .card-corner { top: 3px; left: 4px; }
.mobile-table .table-cards .card-corner-bottom { inset: auto 4px 3px auto; }
.mobile-table .table-cards .card-corner .shape-svg { width: 6px; height: 6px; }
.mobile-table .table-cards .card-center > .shape-svg { width: 27px; height: 27px; }
.mobile-table .table-cards .card-center-number { font-size: 9px; }
.mobile-table .table-cards .wild-word { font-size: 12px; }
.mobile-table .back-frame > span:first-child { font-size: 12px; }
.mobile-table .back-diamond { font-size: 25px; }
.mobile-table .back-caption { font-size: 5px; letter-spacing: 0; }
.mobile-table .turn-summary { margin: 0; }
.mobile-table .turn-summary strong { display: block; font-size: 10px; line-height: 1.3; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mobile-table .debt-display { font-size: 10px; padding: 3px; margin-top: 3px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mobile-table #draw-help, .mobile-table #market-help, .mobile-table #last-event,
.mobile-table #motion-summary, .mobile-table #hand-help, .mobile-table #hand-order-help,
.mobile-table #stack-controls, .mobile-table #expert-stack-actions, .mobile-table #expert-stack-top { display: none !important; }
.mobile-table .shape-request { padding: 2px; margin: 2px 0; border-width: 1px; border-radius: 5px; gap: 2px; }
.mobile-table .request-kicker { font-size: 8px; letter-spacing: 0; }
.mobile-table #requested-shape-display { font-size: 11px; gap: 4px; }
.mobile-table .shape-request .shape-svg { width: 16px; height: 16px; }
.mobile-table #shape-request-help { font-size: 9px; }
.mobile-table .request-kicker, .mobile-table #shape-request-help { display: none; }
.mobile-table .near-win-announcement { padding: 3px; margin: 4px 0; border-radius: 5px; border-left-width: 2px; }
.mobile-table .near-win-kicker { display: none; }
.mobile-table .near-win-announcement p, .mobile-table .near-win-announcement strong { font-size: 10px; line-height: 1.25; }
.mobile-table .pending-play { position: absolute; inset: 0; margin: 0; border-radius: 12px; padding: 7px; z-index: 7; overflow: auto; }
.mobile-table .pending-play-title, .mobile-table .pending-play p { font-size: 11px; }
.mobile-table .pending-play-cards { gap: 4px; margin: 4px 0; }
.mobile-table .pending-play-cards .playing-card { width: 45px; height: 65px; }
.mobile-table .pending-play-actions { position: sticky; bottom: 0; background: #102e24; margin-top: 4px; }
.mobile-table .pending-play-actions .button { min-height: 36px; font-size: 12px; padding: 6px 12px; }
.mobile-table .drop-feedback { position: absolute; inset: auto 3px 3px; z-index: 8; font-size: 10px; padding: 5px; margin: 0; pointer-events: none; }
.mobile-table .lobby-message { margin: 10px 0; }
.mobile-table .table-monogram { font-size: 34px; }
.mobile-table .lobby-message h2 { font-size: 15px; }
.mobile-table .lobby-message p { font-size: 11px; }
.mobile-table .game-result { padding: 8px; margin-top: 8px; }
.mobile-table .game-result h2 { font-size: 20px; }
.mobile-table .game-result p, .mobile-table #result-tagline { font-size: 11px; }
.mobile-table .score-table { font-size: 11px; margin-top: 8px; }
.mobile-table .score-table th, .mobile-table .score-table td { padding: 4px 2px; }
.mobile-table #winner-unlock { font-size: 11px; padding: 6px; }
.mobile-table .whot-announcement, .mobile-table .victory-announcement { position: fixed; top: max(40px, calc((100dvh - 290px) / 2)); left: 12px; right: 12px; width: min(440px, calc(100vw - 24px)); margin-inline: auto; min-height: 220px; max-height: calc(100dvh - 50px); padding: 16px; z-index: 85; }
.mobile-table .victory-title { font-size: 28px; }
.mobile-table .victory-tagline { font-size: 15px; }
.mobile-table .victory-detail { font-size: 12px; }
.mobile-table .victory-emblem { width: 44px; height: 38px; font-size: 28px; }

.mobile-table .hand-panel { grid-area: hand; min-height: 0; min-width: 0; padding: 6px; display: flex; flex-direction: column; border-radius: 12px; overflow: hidden; }
.mobile-table .hand-heading { flex: none; align-items: center; min-height: 28px; gap: 4px; margin-bottom: 4px; flex-wrap: wrap; }
.mobile-table .hand-heading h2 { font-size: 12px; }
.mobile-table .count-pill { font-size: 10px; padding: 1px 4px; margin-left: 2px; }
.mobile-table #hand-heading-main { flex: 1 0 auto; min-width: 0; }
.mobile-table #mobile-modes button { background: var(--panel-raised); color: var(--text); border: 1px solid var(--line); border-radius: 6px; }
.mobile-table #mobile-modes button[aria-pressed="true"] { background: var(--accent); color: var(--accent-ink); border-color: var(--accent); }
.mobile-table #action-pending { font-size: 9px; max-width: 100%; text-align: left; }
.mobile-table #hand { display: grid; grid-template-columns: repeat(auto-fill, minmax(56px, 1fr)); grid-auto-rows: 94px; align-content: start; justify-content: normal; gap: 8px; flex: 1; min-height: 0; padding: 7px 5px 5px; overflow-y: auto; overflow-x: hidden; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: #688367 transparent; touch-action: pan-y; scroll-padding: 8px; }
.mobile-table .hand-card { position: relative; min-width: 0; height: 94px; gap: 0; }
.mobile-table .hand-card, .mobile-table .hand-card * { -webkit-touch-callout: none; }
.mobile-table .hand .playing-card, .mobile-table .hand .presentation-card-face { width: 100%; height: 94px; border-radius: 6px; border-width: 1px; }
.mobile-table .hand .card-number { font-size: 13px; }
.mobile-table .hand .card-corner { top: 3px; left: 4px; }
.mobile-table .hand .card-corner-bottom { inset: auto 4px 3px auto; }
.mobile-table .hand .card-center > .shape-svg { width: 28px; height: 28px; }
.mobile-table .hand .card-corner .shape-svg { width: 6px; height: 6px; }
.mobile-table .hand .wild-word { font-size: 12px; }
.mobile-table .hand .card-center-number { font-size: 9px; }
.mobile-table .hand .playing-card:hover:not(:disabled), .mobile-table .hand .playing-card:focus-visible:not(:disabled) { transform: translateY(-3px); }
.mobile-table .hand-card-controls { display: none; }
.mobile-table[data-mobile-hand-mode="select"] .hand-card.is-stack-selected .hand-card-controls,
.mobile-table[data-mobile-hand-mode="arrange"] .hand-card-controls { display: contents; }
.mobile-table .hand-card-controls button { position: absolute; inset: 0; width: 100%; height: 100%; min-height: 44px; background: #17302414; border: 2px solid var(--gold); border-radius: 6px; }
.mobile-table .hand-card-controls .control-icon { display: block; position: absolute; right: 2px; top: 2px; width: 18px; height: 18px; background: var(--panel); color: var(--gold); padding: 2px; border-radius: 3px; }
.mobile-table .hand-card-controls .control-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.mobile-table .hand-card-controls .control-count { position: absolute; bottom: 3px; left: 3px; min-width: 18px; border-radius: 3px; background: var(--gold); color: var(--accent-ink); }
.mobile-table .hand-stack-toggle { display: none; }
.mobile-table .hand-card-controls button[aria-pressed="true"] { border: 3px solid var(--accent); background: #d6ee9826; }
.mobile-table[data-mobile-hand-mode="select"] .hand-card-controls .hand-reorder-handle { inset: 0 0 auto auto; width: 32px; height: 32px; min-height: 32px; background: var(--panel); border-width: 1px; border-radius: 0 6px 0 6px; }
.mobile-table[data-mobile-hand-mode="select"] .hand-reorder-handle .control-icon { inset: 6px; padding: 0; }
.mobile-table[data-mobile-hand-mode="select"] .hand .playing-card:not(.is-playable) { background: #d1d4c7; color: #496150; border-color: #a7b5a4; }
.mobile-table .hand-card.is-stack-selected { outline-offset: 1px; outline-width: 2px; }
.mobile-table .hand-card.is-stack-selected::before { content: attr(data-selection-order); position: absolute; z-index: 1; bottom: 3px; left: 3px; min-width: 18px; padding: 1px 3px; border-radius: 3px; background: var(--gold); color: var(--accent-ink); font-size: 10px; font-weight: 700; text-align: center; pointer-events: none; }
.mobile-table .hand-card.is-proposed-card::after { position: absolute; bottom: 0; left: 0; right: 0; font-size: 9px; background: var(--panel); }
.mobile-table .is-departing-card { max-width: 100%; }
.mobile-table .is-departing-card::after { display: none; }
.mobile-table .hand-empty { font-size: 11px; padding: 5px; }
.mobile-table #hand-storage-note { font-size: 10px; flex: none; }
.mobile-table [data-play-layout="visible"] { height: auto !important; min-height: 0 !important; max-height: none !important; }
.mobile-table .table-panel[data-play-layout="visible"] { height: 100% !important; }
.mobile-table .table-topline[data-play-layout="visible"] { height: 22px !important; min-height: 22px !important; }

.mobile-table #mobile-hint { grid-area: hint; display: flex; position: relative; min-width: 0; align-items: center; gap: 8px; border-left: 2px solid var(--accent); padding-left: 7px; }
.mobile-table #mobile-hint .near-win-announcement { position: absolute; inset: 0 46px 0 0; margin: 0; padding: 2px 5px; display: flex; align-items: center; gap: 8px; overflow: auto; white-space: nowrap; scrollbar-width: none; }
.mobile-table #mobile-hint .near-win-announcement p { flex: none; }
.mobile-table #mobile-hint-text { min-width: 0; flex: 1; font-size: 10px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; color: var(--accent); }
.mobile-table #mobile-why { min-width: 40px; min-height: 26px; border: 0; background: transparent; color: var(--gold); font-size: 11px; }
.mobile-table #mobile-hand-tools { display: flex; flex: 1 1 200px; min-width: min(100%, 200px); gap: 3px; }
.mobile-table #mobile-actions, .mobile-table #mobile-stack-actions, .mobile-table #mobile-stack-actions .stack-actions, .mobile-table #mobile-modes { display: contents; }
.mobile-table #mobile-hand-tools button { flex: 1; min-width: 30px; min-height: 38px; padding: 4px 3px; gap: 2px; font-size: 10px; }
.mobile-table #mobile-hand-tools .control-icon { width: 18px; height: 18px; flex: none; }
.mobile-table #mobile-hand-tools .control-label { display: none; }
.mobile-table #mobile-hand-tools .control-count { font-size: 10px; }
.mobile-table #mobile-nav { grid-area: nav; display: block; min-width: 0; border-top: 1px solid var(--line); }
.mobile-table #chat-open, .mobile-table #room-audio-toggle, .mobile-table #room-video-toggle, .mobile-table #mobile-help-open { position: fixed; top: var(--mobile-nav-y); bottom: auto; left: var(--mobile-nav-x); width: calc(var(--mobile-nav-width) / 4 - 3px); height: 36px; min-height: 36px; padding: 4px 2px; gap: 3px; font-size: 11px; box-shadow: none; border-color: transparent; background: var(--panel); z-index: 30; overflow: hidden; }
.mobile-table #room-audio-toggle { left: calc(var(--mobile-nav-x) + var(--mobile-nav-width) / 4); }
.mobile-table #room-video-toggle { left: calc(var(--mobile-nav-x) + var(--mobile-nav-width) / 2); }
.mobile-table #mobile-help-open { left: calc(var(--mobile-nav-x) + var(--mobile-nav-width) * .75); }
.mobile-table #chat-badge { font-size: 9px; padding: 1px 2px; }
.mobile-table #chat-panel { position: fixed; z-index: 105; bottom: calc(4px + var(--mobile-keyboard-inset, 0px)); left: 6px; right: 6px; max-height: min(72dvh, 530px, calc(var(--mobile-visible-height, 100dvh) - 8px)); padding-top: 10px; display: flex; flex-direction: column; background: var(--panel); box-shadow: 0 -8px 30px #0007; }
.mobile-table #chat-panel .panel-heading { padding-inline: 10px; gap: 5px; flex: none; }
.mobile-table #chat-panel .panel-heading h2 { font-size: 14px; }
.mobile-table #chat-panel .chat-intro { font-size: 10px; padding-inline: 10px; }
.mobile-table #chat-unread { margin: 5px 10px 0; min-height: 28px; }
.mobile-table #chat-log { flex: 1; min-height: 60px; height: 180px; padding: 10px; }
.mobile-table #chat-form { padding: 8px 10px; flex: none; }
.mobile-table #chat-form textarea { min-height: 48px; max-height: 100px; }
.mobile-table #chat-form .field-hint { display: none; }
.mobile-table #chat-form label { font-size: 11px; margin-bottom: 3px; }
.mobile-table #chat-status { min-height: 0; margin-top: 2px; }
.mobile-table .room-audio-panel { z-index: 106; inset: auto 6px 6px; width: min(360px, calc(100vw - 12px)); height: min(510px, calc(100dvh - 50px)); max-height: none; display: flex; flex-direction: column; }
.mobile-table .room-audio-panel iframe { flex: 1; min-height: 0; height: 0; }
.mobile-table #mobile-video-slot { grid-area: video; width: 202px; min-height: 234px; align-self: center; }
.mobile-table.has-room-video #mobile-video-slot { display: block; }
.mobile-table .room-video-surface, .mobile-table .room-video-surface.is-compact { position: fixed; top: var(--mobile-video-y); left: var(--mobile-video-x); right: auto; bottom: auto; transform: none; width: 202px; max-width: none; border-radius: 7px 7px 0 0; }
.mobile-table .room-video-toolbar { height: 32px; min-height: 32px; padding: 0 4px; }
.mobile-table .room-video-toolbar strong { font-size: 10px; }
.mobile-table .room-video-toolbar button { min-height: 30px; }
.mobile-table .room-video-position { display: none; }
.mobile-table .room-video-expand { display: inline-block; }
.mobile-table .room-video-frame { height: 284px; }
.mobile-table .room-video-surface.is-compact .room-video-frame { height: 200px; }
.mobile-table .room-video-surface:not(.is-compact) { left: max(6px, env(safe-area-inset-left)); top: max(6px, env(safe-area-inset-top)); width: min(360px, calc(100vw - 12px)); box-shadow: 0 12px 40px #0007; }
.mobile-table .mobile-sheet { max-height: min(calc(100dvh - 32px), calc(var(--mobile-visible-height, 100dvh) - 20px)); padding: 14px; }
.card-options-sheet { max-width: min(380px, calc(100vw - 24px)); }
#mobile-card-label { display: block; color: var(--gold); margin-bottom: 8px; }
.card-option-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 16px; }
.mobile-table #mobile-options-content .site-footer { display: block; margin: 0; padding: 12px 0; }
.mobile-table #mobile-options-content .room-settings, .mobile-table #mobile-options-content .winner-composer, .mobile-table #mobile-options-content .host-invite-panel { margin: 0; padding: 12px; }
.mobile-table #notice, .mobile-table #connection-notice, .mobile-table #guidance-storage-note { position: fixed; left: 8px; right: 8px; top: 40px; max-height: 38dvh; overflow: auto; z-index: 120; margin: 0; box-shadow: 0 5px 30px #0008; }
body.mobile-table.has-room-video .room-page-scroll { display: grid; inset: 0; overflow: hidden; }
body.mobile-table.has-room-video .room-video-surface.is-compact { top: var(--mobile-video-y); left: var(--mobile-video-x); right: auto; bottom: auto; transform: none; width: 202px; }
body.mobile-table.has-room-video .room-video-surface:not(.is-compact) { left: max(6px, env(safe-area-inset-left)); top: max(6px, env(safe-area-inset-top)); width: min(360px, calc(100vw - 12px)); }
body.mobile-table.has-room-video.room-audio-open .room-audio-panel { inset: auto 6px 6px; width: min(360px, calc(100vw - 12px)); height: min(510px, calc(100dvh - 50px)); max-height: none; }

@media (orientation: landscape) {
  .mobile-table .room-page-scroll { grid-template-rows: 34px minmax(0, 1fr); }
  .mobile-table #room-screen { grid-template-columns: minmax(155px, .85fr) minmax(260px, 1.4fr); grid-template-rows: 24px minmax(0, 1fr) 26px 38px; grid-template-areas: "title people" "table hand" "hint hint" "nav nav"; gap: 5px; }
  .mobile-table.has-room-video #room-screen { grid-template-columns: 202px minmax(94px, .85fr) minmax(150px, 1.4fr); grid-template-rows: 24px minmax(0, 1fr) 26px 38px; grid-template-areas: "video title people" "video table hand" "video hint hint" "nav nav nav"; }
  .mobile-table .hand-card, .mobile-table .hand .playing-card, .mobile-table .hand .presentation-card-face { height: 88px; }
  .mobile-table #hand { grid-auto-rows: 88px; }
  .mobile-table #chat-panel { left: auto; width: min(370px, calc(100vw - 215px)); max-height: calc(var(--mobile-visible-height, 100dvh) - 8px); }
  .mobile-table .room-audio-panel { left: auto; right: 6px; height: calc(100dvh - 12px); }
}
@media (orientation: portrait) and (max-width: 350px) {
  .mobile-table.has-room-video .table-cards { flex-direction: column; align-items: center; gap: 5px; }
  .mobile-table.has-room-video .table-cards .card-pile { width: 100%; }
  .mobile-table.has-room-video .table-cards .playing-card { width: 52px; height: 66px; }
  .mobile-table.has-room-video #top-card > .playing-card { width: 52px; }
  .mobile-table.has-room-video .table-cards .pile-caption { display: none; }
  .mobile-table.has-room-video .table-topline h2 { display: none; }
}
@media (orientation: portrait) and (max-width: 350px) and (min-height: 650px) {
  .mobile-table.has-room-video #room-screen { grid-template-rows: 24px 28px minmax(266px, .9fr) 26px minmax(105px, 1fr) 38px; }
}
@media (orientation: landscape) and (max-height: 350px), (orientation: portrait) and (max-height: 700px) {
  .mobile-table .table-cards .playing-card { height: 82px; }
  .mobile-table .table-cards { margin: 4px 0 0; }
  .mobile-table .discard-dropzone { padding-bottom: 0; }
  .mobile-table .table-cards .pile-caption { display: none; }
}
@media (orientation: landscape) and (max-height: 350px) {
  body.mobile-table.has-room-video .room-video-surface:not(.is-compact) { top: 1px; }
}
@media (prefers-reduced-motion: reduce) {
  .mobile-table .hand .playing-card:hover:not(:disabled), .mobile-table .hand .playing-card:focus-visible:not(:disabled) { transform: none; }
}
