/* Landscape touch layout: keep the cards, score and both decisions on screen. */
html[data-platform=android]{overscroll-behavior:none}
html[data-platform=android] body{overscroll-behavior:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
@media (orientation:landscape) and (max-height:560px) and (max-width:1280px){
 html{scroll-padding:8px}body{margin:0}button{touch-action:manipulation}
 header.top{height:40px;min-height:40px;padding:0 12px;flex:none}
 header.top .wordmark{font-size:24px}header.top .version{font-size:9px}
 header.top nav{gap:4px}header.top nav button{min-width:44px;min-height:40px;height:40px;padding:5px 8px;font-size:12px}
 header.top nav>[data-action=catalog],header.top nav>[data-action=home]{display:none}
 .nav-short,.mobile-menu-item{display:inline}.nav-long{display:none}
 #app:has(.game-room){height:100dvh;min-height:0;display:flex;flex-direction:column;overflow:hidden}
 #app:has(.game-room)>.game-room,.learning #app>.game-room{display:grid;grid-template-columns:88px minmax(0,1fr);flex:1;height:auto;min-height:0;gap:7px;padding:3px 9px 5px;border-width:3px;overflow:hidden}
 .game-room .score-rail{display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:5px;padding:2px;border:0;min-height:0;overflow-y:auto;scrollbar-width:none}
 .score-rail .round-plaque{display:flex;align-items:baseline;flex-wrap:nowrap;gap:3px;padding:0;border:0;min-height:22px}
 .round-plaque>span{display:none}.round-plaque b{font-size:23px}.round-plaque small{font-size:10px}
 .score-rail .score-box{padding:5px 3px;min-height:0}.score-box>small{font-size:10px;letter-spacing:0}.score-box strong{font-size:27px;line-height:1.04;margin:3px 0 0}
 .score-rail .target-note,.score-rail .target-note.beaten{position:static;font-size:10px;margin:0;padding:3px}
 .score-rail .meter,.score-rail .rail-bottom{display:none}
 .score-rail .midnight-seal,.score-rail .payment-tickets,.score-rail .boon-badge{font-size:10px;padding:2px;margin:0}
 .game-room .casino,.learning .game-room .casino{display:flex;flex-direction:column;gap:3px;min-height:0;min-width:0}
 .casino .table-utilities{height:44px;min-height:44px;flex:0 0 44px;gap:8px;padding:0 2px}
 .casino .relic-rack{height:44px;min-height:44px;flex:1 1 auto;min-width:0;align-self:stretch;justify-content:flex-start;gap:10px;padding:0 5px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}
 .relic-rack .relic-token{height:40px;min-height:40px;width:44px;min-width:44px;padding:3px;gap:4px;flex:none}
 .relic-token svg{width:28px;height:28px}.relic-token>span{font-size:11px}.relic-token small{font-size:10px}
 .casino>.casino-table{flex:1;min-height:0;grid-template-rows:40px minmax(0,1fr) 50px;border:0;border-radius:6px;overflow:hidden}
 .casino-table .dealer-strip{display:grid;grid-template-columns:minmax(0,1fr) 105px;gap:5px;padding:0 12px;min-height:0}
 .dealer-strip>div:nth-child(2){display:none}.preview-line{gap:6px;margin:0}
 .preview-slot{width:44px;min-width:44px;height:38px;min-height:38px;padding:1px}.preview-slot svg{width:28px;height:28px}.preview-slot>b{font-size:22px}.preview-slot>small{font-size:9px}.preview-slot>span{display:none}
 .deck-station{gap:5px}.deck-station .card-back{width:34px;height:38px;min-height:38px}.deck-count{height:34px;width:63px;display:flex;flex-direction:row;gap:4px;align-items:center;padding:2px;background:none;box-shadow:none}.deck-count b{font-size:23px}.deck-count small{font-size:9px}
 .casino-table .card-field{padding:12px 12px 5px;min-height:0;overflow-x:auto!important;overflow-y:hidden!important;touch-action:pan-x;overscroll-behavior-x:contain;scrollbar-width:thin;justify-content:center}
 .card-field>.card-row{width:max-content;min-width:100%;justify-content:flex-start}
 .card-field .tile{padding:4px;gap:2px;border-radius:3px}.card-field .tile-top{font-size:8px}.card-field .tile-top b{font-size:15px}.card-field .tile>strong{font-size:12px;line-height:1.12}.card-field .tile>svg{min-height:26px;flex-shrink:1}.card-field .tile-badge{font-size:8px;min-height:9px}
 .casino-table>.table-actions{display:flex;flex-direction:row;padding:2px 12px 4px;gap:8px;align-items:center;min-height:0}
 .table-actions .action-cluster{display:grid;grid-template-columns:minmax(110px,.65fr) minmax(180px,1fr);gap:12px;width:min(100%,470px);margin-left:auto;flex:none}
 .table-actions .cash-action,.table-actions .draw-action{height:44px;min-height:44px;padding:4px 10px}
 .table-actions .cash-action{display:flex;flex-direction:row;gap:9px;align-items:center;justify-content:center;font-size:12px}.cash-action strong{font-size:24px}.table-actions .draw-action{font-size:29px}
 .casino-table .table-pager{display:none}
 .casino .action-tray,.casino .action-tray:has(.empty-inspector),.learning .casino .action-tray{height:59px;min-height:59px;flex:0 0 59px;padding:0;overflow:auto}
 .action-tray>.inspector{display:grid;grid-template-columns:30px 84px minmax(0,1fr) 84px;grid-template-rows:1fr;height:100%;min-height:0;padding:5px 8px;gap:6px;align-items:center}
 .inspector>.inspect-art{grid-column:1;grid-row:1}.inspect-art svg{width:28px;height:28px}.inspector>h2{grid-column:2;grid-row:1;font-size:13px;line-height:1.25;margin:0}.inspector>.eyebrow,.inspector>.card-status{display:none}
 .inspector>.card-rule,.learning .inspector>.card-rule{grid-column:3;grid-row:1;max-height:48px;margin:0;font-size:12px;line-height:1.35;overflow-y:auto}
 .inspector>button,.inspector>.status-box{grid-column:4;grid-row:1;min-height:44px;height:auto;font-size:12px;padding:5px}
 .casino .action-tray:has(.empty-inspector){height:0;min-height:0;flex-basis:0;border:0}
 .casino .action-tray:has(.table-target-prompt){height:44px;min-height:44px;flex:0 0 44px}
 .table-target-prompt{padding:3px 10px;grid-template-columns:auto minmax(0,1fr) auto;gap:8px}.table-target-prompt .target-source{font-size:12px}.table-target-prompt button{height:38px;min-height:38px}
 body:not(.learning) .casino .action-tray:has(.choosing),.learning .casino .action-tray:has(.choosing){height:83px;min-height:83px;flex-basis:83px}
 .action-tray>.inspector.choosing{display:flex;flex-wrap:nowrap;align-items:center;gap:8px;padding:5px;overflow:auto}.inspector.choosing>h2{flex:0 0 100px;font-size:12px}.inspector.choosing>button.outline{min-height:44px;order:3}.inspector.choosing>.choice-list{height:66px;flex:1;min-width:0;display:flex;overflow-x:auto;order:2}.choice-list>.choice{min-width:105px;min-height:54px}
 .lesson{width:min(320px,45vw);max-height:calc(100dvh - 58px);overflow-y:auto;padding:9px 12px;min-height:0}
 .lesson strong{font-size:13px;line-height:1.4}.lesson p{font-size:12px;line-height:1.45}.lesson .lesson-continue{min-height:40px}.lesson .lesson-dismiss{min-height:32px;min-width:32px}
 .salon{height:calc(100dvh - 40px);min-height:0;padding:0 8px 6px}.salon .main-menu{width:310px;gap:5px;transform:none}.salon .menu-dealer{display:none}.salon .main-menu h1{font-size:49px;line-height:1;margin:0}.menu-tagline{font-size:12px;margin:3px 0}.menu-play,.menu-continue{min-height:44px;height:44px;width:250px;padding:6px}.main-menu .menu-secondary{min-height:36px;font-size:12px;margin:0;padding:5px}.menu-difficulty{margin:2px 0}
 dialog{width:min(720px,calc(100vw - 24px));max-height:calc(100dvh - 20px);padding:12px 16px;overscroll-behavior:contain}
 .dialog-heading{position:sticky;top:-12px;background:var(--night);z-index:3;padding:5px 0;margin-bottom:8px}.dialog-heading h2{font-size:21px}.dialog-heading>button{min-width:44px;min-height:44px}.settings-grid button,.settings-grid select{min-height:44px}.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.music-volume input{min-height:32px}
 .stakes-shell{padding:8px 16px}.stakes-heading{padding:4px}.stakes-heading h1{font-size:24px}.dice-tray{height:150px}.dice-controls{min-height:95px}.dice-main-buttons button{min-height:44px}
 .route-shell,.draft-shell{padding:10px 16px}.route-grid,.package-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.package-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.route-card,.package{padding:12px}.route-card .primary,.package button{min-height:44px}.route-targets{grid-template-columns:repeat(4,minmax(0,1fr))}
 .draft-shell>.draft-footer{padding:6px 10px;gap:10px}.draft-footer>#next{min-height:44px}.draft-status>strong{font-size:12px}.draft-status>span{font-size:11px}.closed-draft .receipt-head{padding:6px;margin:0}.closed-draft .receipt-head h1{font-size:23px}.sealed-reward{gap:7px;min-height:0}.sealed-reward>svg{max-height:110px}.sealed-reward h2{font-size:19px;margin:0}.sealed-reward>button{min-height:44px}
 .story-scene{min-height:calc(100dvh - 40px)}.story-copy{padding:15px}.story-copy p{font-size:14px}.story-copy>button{min-height:44px}
 .closed-draft .sealed-reward{position:relative;left:auto;top:auto;width:100%;height:auto;flex:1;margin:0;scale:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px}
 .closed-draft .sealed-reward>svg{position:static;width:130px;height:110px;max-height:110px;flex:none}
 .closed-draft .sealed-reward h2{position:static;font-size:18px}
 .closed-draft .sealed-reward button{position:static;translate:none;min-height:44px;height:44px;padding:7px 20px;flex:none}
 .craft-stage{scale:.62}
}
