/* Readable game pages scroll; their height never scales the entire application. */
body:is(.casino-tables-screen,.poker-screen,.spades-screen,.crossword-screen,.cat-screen){height:auto!important;min-height:100svh;overflow:auto!important}
body:is(.casino-tables-screen,.poker-screen,.spades-screen,.crossword-screen,.cat-screen) #app{height:auto!important;min-height:100svh;overflow:visible!important}
body:is(.casino-tables-screen,.poker-screen,.spades-screen,.crossword-screen,.cat-screen) #app>main.wrap{position:relative!important;inset:auto!important;transform:none!important;width:100%!important;height:auto!important;min-height:100svh;max-height:none!important;max-width:1040px!important;margin:0 auto!important;padding:0 14px 24px!important;display:block!important;overflow:visible!important}
body:is(.casino-tables-screen,.poker-screen,.spades-screen,.crossword-screen) .game-scene{display:block!important;height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important;padding:0!important}
body:is(.casino-tables-screen,.poker-screen,.spades-screen,.crossword-screen) .topbar{height:auto!important;min-height:70px!important;padding:10px 0!important}.casino-tables-screen .brand .paxton-wordmark,.crossword-screen .brand .paxton-wordmark{font-size:30px!important}
body:is(.casino-tables-screen,.poker-screen,.spades-screen,.crossword-screen) .mode-hud{min-height:48px!important;padding:10px 0!important;gap:10px;flex-wrap:wrap}.mode-hud button{min-height:44px}
body:is(.casino-tables-screen,.poker-screen,.spades-screen,.crossword-screen) .toolbar{display:flex!important;flex-wrap:wrap!important;gap:10px!important;height:auto!important;margin:12px 0!important;padding:0!important;align-items:center!important}
body:is(.casino-tables-screen,.poker-screen,.spades-screen,.crossword-screen) .toolbar h1{flex:1;min-width:0;font-size:27px!important;line-height:1.2!important;margin:0!important}
body:is(.casino-tables-screen,.poker-screen,.spades-screen,.crossword-screen) button:not(.card){min-height:44px!important;touch-action:manipulation;white-space:normal;line-height:1.3}
body:is(.casino-tables-screen,.crossword-screen) button:not(.card){background:linear-gradient(150deg,#30291c,#15130e)!important;color:#f4dfaa!important;border:1px solid #b99a55!important;border-radius:9px!important;padding:10px 12px!important;box-shadow:inset 0 1px #ffe8a526!important;text-shadow:none!important;font-size:14px!important}
body:is(.casino-tables-screen,.crossword-screen) button.gold:not(.card){background:linear-gradient(135deg,#fff0bc,#d6b05d 65%,#b38a3f)!important;color:#261d0d!important;font-weight:750}
/* Roulette keeps a real wheel, a separate zero row, and a full-width number grid. */
.casino-tables-screen #app .casino-table{width:100%;height:auto!important;min-height:0!important;padding:12px!important;overflow:visible!important;box-sizing:border-box}
.casino-tables-screen #app .casino-table-head{flex-wrap:wrap;gap:12px;align-items:center}.casino-tables-screen #app .casino-table-head>div:last-child{max-width:100%;gap:6px;justify-content:flex-start}
.casino-tables-screen #app .roulette-surface{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:20px!important;margin:16px 0}
.casino-tables-screen #app .roulette-wheel-shell{width:160px!important;max-width:100%!important;aspect-ratio:1!important;margin:8px auto!important}
.casino-tables-screen #app .roulette-layout{display:flex!important;flex-direction:column!important;gap:5px!important;min-width:0;width:100%}
.casino-tables-screen #app .roulette-zero{display:flex!important;flex-direction:row!important;gap:5px!important;min-height:44px!important}.casino-tables-screen #app .roulette-zero .bet-spot{flex:1!important;min-width:0}
.casino-tables-screen #app .roulette-numbers{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;grid-auto-rows:minmax(44px,auto)!important;gap:4px!important}
.casino-tables-screen #app .roulette-outside{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;grid-auto-rows:minmax(44px,auto)!important;gap:4px!important}
.casino-tables-screen #app .roulette-table .bet-spot{position:relative!important;min-width:0!important;padding:9px 4px!important;font-size:15px!important;background:#113d30!important;color:#fff4d6!important;border:1px solid #b49a58!important;border-radius:7px!important}
.casino-tables-screen #app .roulette-table .bet-spot.red{background:linear-gradient(#a83240,#651c28)!important}.casino-tables-screen #app .roulette-table .bet-spot.black{background:linear-gradient(#28313d,#090e16)!important}.casino-tables-screen #app .roulette-table .bet-spot.green{background:linear-gradient(#19805f,#064c38)!important}
.casino-tables-screen #app .roulette-table .bet-spot.slip-selected{outline:3px solid #ffdf86!important;outline-offset:-3px}
.casino-tables-screen #app .casino-controls,.casino-tables-screen #app .casino-action-row,.casino-tables-screen #app .slip-actions{display:flex!important;flex-wrap:wrap!important;align-items:center;gap:8px!important;margin:12px 0!important}.casino-tables-screen #app .chip-rack{display:flex;flex-wrap:wrap;gap:7px}.casino-tables-screen #app .casino-chip{min-width:44px!important;padding:7px!important}.casino-tables-screen #app .casino-chip.chosen{outline:3px solid #ffe292!important;outline-offset:1px}
.casino-tables-screen #app .casino-action-row>span{flex-basis:100%;overflow-wrap:anywhere;font-size:15px}.casino-tables-screen #app .casino-message,.casino-tables-screen #app .casino-net{font-size:14px!important;line-height:1.5}.casino-tables-screen #app .inside-bets{grid-template-columns:repeat(2,minmax(0,1fr))!important}
/* Poker seats occupy reserved grid rows around a separate five-card community row. */
.poker-screen #app .poker-game{position:relative;width:100%;min-width:0}.poker-screen #app .poker-info{width:100%!important;font-size:13px;gap:8px;flex-wrap:wrap}
.poker-screen #app .poker-table{position:relative!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;grid-template-rows:auto auto auto!important;align-items:stretch!important;gap:22px 8px!important;width:100%!important;height:auto!important;min-height:0!important;margin:24px 0!important;padding:26px 10px 18px!important;border-width:7px!important;border-radius:54px!important;box-sizing:border-box!important;overflow:visible!important}
.poker-screen #app .poker-seat{position:relative!important;inset:auto!important;transform:none!important;width:100%!important;max-width:160px!important;justify-self:center!important;min-width:0!important;height:auto!important;padding:8px 3px!important;box-sizing:border-box;grid-row:1!important}
.poker-screen #app .poker-seat-1{grid-column:1!important}.poker-screen #app .poker-seat-2{grid-column:2!important}.poker-screen #app .poker-seat-3{grid-column:3!important}.poker-screen #app .poker-seat-4{grid-row:3!important;grid-column:3!important}.poker-screen #app .poker-seat-5{grid-row:3!important;grid-column:1!important}.poker-screen #app .poker-seat-0{grid-row:3!important;grid-column:2!important;align-self:center!important}
.poker-screen #app .poker-table[data-seats="2"] .poker-seat-1{grid-column:2!important}.poker-screen #app .poker-table[data-seats="3"] .poker-seat-2{grid-column:3!important}
.poker-screen #app .poker-center{position:relative!important;inset:auto!important;transform:none!important;grid-column:1/-1!important;grid-row:2!important;width:100%!important;min-width:0!important;padding:8px 0!important;text-align:center;box-sizing:border-box}
.poker-screen #app .poker-table-wordmark{font-size:25px!important;line-height:1.2}.poker-screen #app .poker-pot{font-size:18px!important;line-height:1.5!important;margin:8px 0!important}
.poker-screen #app .poker-community{display:flex!important;flex-wrap:nowrap!important;justify-content:center!important;gap:4px!important;min-width:0!important}
html body #app .poker-game .poker-community .card,html body #app .poker-card-slot{--playing-card-w:clamp(34px,9.4vw,58px)}
.poker-screen #app .poker-seat .poker-hole{display:flex!important;gap:3px!important;margin:6px 0 0!important}.poker-screen #app .poker-avatar{margin:-20px auto 5px!important;width:32px!important;height:32px!important}
.poker-screen #app .poker-seat strong,.poker-screen #app .poker-seat b{font-size:12px!important;line-height:1.4!important;white-space:normal!important;overflow-wrap:anywhere;overflow:visible;text-overflow:clip}
.poker-screen #app .poker-seat-action{font-size:10px!important;min-height:15px!important}.poker-screen #app .poker-seat-bet{position:relative!important;inset:auto!important;transform:none!important;display:block!important;margin:5px auto 0!important;max-width:100%;white-space:normal;overflow-wrap:anywhere;font-size:10px!important;padding:3px!important}
.poker-screen #app .poker-controls,.poker-screen #app .poker-results{position:relative!important;inset:auto!important;width:100%!important;height:auto!important;max-height:none!important;overflow:visible!important;box-sizing:border-box;margin:14px 0!important}.poker-screen #app .poker-status{width:100%!important;font-size:15px!important;margin:12px 0!important}.poker-screen #app .poker-history,.poker-screen #app .poker-wallet-note{display:block!important}.poker-screen #app .poker-action-buttons button{font-size:14px!important;padding:10px 6px!important}
.poker-screen #app .poker-private-hand{position:relative!important;margin:16px 0!important}.poker-screen #app .poker-private-hand .poker-hole{display:flex!important}
/* Keep disabled Spades cards fully colored and readable while preserving disabled play rules. */
.spades-screen #app .table{height:auto!important;min-height:0!important;padding:16px 12px!important;overflow:visible!important}.spades-screen #app .scorebar{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}.spades-screen #app .scorebox{width:auto!important;min-width:0!important;padding:10px!important;font-size:14px!important}.spades-screen #app .scorebox strong{font-size:25px!important}.spades-screen #app .seatlabel{font-size:14px!important;line-height:1.5!important;overflow-wrap:anywhere}
.spades-screen #app .spadeshand{display:flex!important;flex-wrap:wrap!important;justify-content:center!important;gap:7px!important;margin:14px 0!important;padding:4px 0 12px!important;overflow:visible!important}
html body #app .scene-spades .spadeshand .card{--playing-card-w:clamp(46px,13vw,68px)}
.spades-screen #app .spadeshand .card.ineligible-card,.spades-screen #app .spadeshand .card:disabled{opacity:1!important;filter:none!important;background:#f7f0df!important;color:var(--face-ink)!important;outline:none!important}
.spades-screen #app .spadeshand .card.playable-card:not(:disabled){outline:2px solid #6bdfb4!important;outline-offset:1px}.spades-screen #app .bidbox{gap:8px!important;margin:14px 0!important;flex-wrap:wrap!important}.spades-screen #app .bidbox input{font-size:18px!important;min-height:44px!important;width:70px!important}.spades-screen #app .trickstage{display:flex!important;flex-wrap:wrap!important;gap:12px;justify-content:center;min-height:160px!important;height:auto!important}
/* Crossword values, clue text and options remain full size when the keyboard opens. */
.crossword-screen #app .table{height:auto!important;min-height:0!important;overflow:visible!important;padding:14px!important}.crossword-screen #app .config{height:auto!important;max-height:none!important;padding:14px!important;overflow:visible!important}.crossword-screen #app .option-choices{display:flex!important;flex-wrap:wrap!important;gap:7px!important}.crossword-screen #app .option-choices button{flex:1 1 120px!important}.crossword-screen #app .crosslayout{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:18px!important;max-width:850px!important}.crossword-screen #app .crossgrid{width:100%!important;max-width:420px!important;min-width:0!important;aspect-ratio:1!important;margin:0 auto!important;grid-template-columns:repeat(var(--cross-cols,5),minmax(0,1fr))!important}.crossword-screen #app .crosscell input{font-size:24px!important;box-sizing:border-box!important;min-width:0!important;padding:14px 2px 2px!important}.crossword-screen #app .crosscell small{font-size:11px!important}.crossword-screen #app .clues{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;min-width:0}.crossword-screen #app .clues h3{font-size:17px!important}.crossword-screen #app .clue{display:block!important;width:100%!important;min-width:0!important;text-align:left!important;font-size:14px!important;line-height:1.5!important;padding:10px!important;overflow-wrap:anywhere}.crossword-screen #app .tableactions{display:flex!important;flex-wrap:wrap!important;gap:8px!important;margin:16px 0!important}.crossword-screen #app .status{font-size:14px!important;line-height:1.5!important;height:auto!important;min-height:32px!important}.crossword-screen #app .instruction{font-size:13px!important;line-height:1.5!important}
.cat-screen #app .solo-nav{height:auto!important;min-height:48px;padding:8px 0!important}.cat-screen #app #kitty-frame{height:calc(100svh - 120px)!important;min-height:640px!important;width:100%!important}
@media(min-width:760px){.casino-tables-screen #app .roulette-surface{grid-template-columns:minmax(160px,.7fr) minmax(0,1.3fr)!important;align-items:start!important}.casino-tables-screen #app .roulette-wheel-shell{width:240px!important;position:sticky;top:24px}.spades-screen #app .scorebar{grid-template-columns:repeat(4,minmax(0,1fr))!important}.crossword-screen #app .crosslayout{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important}}
