/* Portrait UI: retain each game's artwork and theme, adapt only its controls. */
@media(max-width:700px){
 :root{--touch:44px}
 button,a,input,select{touch-action:manipulation}
 input,select{font-size:16px}
 dialog{width:min(440px,calc(100vw - 24px));max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);overflow:auto;overscroll-behavior:contain;border-radius:18px}
 dialog button,.close-dialog{min-height:44px;min-width:44px}
 #auth-dialog label{gap:7px;margin:14px 0}#auth-dialog input{width:100%;min-height:46px}#auth-dialog small{font-size:12px;line-height:1.45;color:#d2c7dd;font-weight:400}#auth-dialog .auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px}#auth-dialog #auth-note{line-height:1.5}
 body:not(.pirate-screen):not(.arcade-screen):not(.tables-screen) .header{padding:10px 14px;height:auto;min-height:76px;gap:10px;flex-wrap:wrap}
 .header .brand{font-size:17px;letter-spacing:2px;gap:7px}.header .moon{font-size:36px}.header .avatar{display:none}.header nav{margin-left:auto;gap:14px;align-self:center}.header nav a,.header nav button{padding:10px 0;font-size:12px;min-height:44px}.header .wallet{padding:6px 12px;min-height:44px;margin-left:0}.header .wallet strong{font-size:15px}
 #lobby{padding:0}body:not(.pirate-screen):not(.arcade-screen):not(.tables-screen) main{padding:16px 12px;width:100%;max-width:100%}
 .hero{min-height:240px;border-radius:18px}.hero h1{font-size:clamp(26px,8vw,40px);line-height:1.05}.hero p{font-size:12px}.hero .gold-button{min-height:44px;padding:10px 16px}.hero .demo-pill{font-size:9px}
 .game-filters{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:8px;padding:5px 2px 12px;scroll-snap-type:x proximity}.game-filters button{flex:0 0 auto;min-height:44px;font-size:12px;scroll-snap-align:start}
 .category-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}#cards .game-category{padding:10px;border-radius:16px}.category-heading h3{font-size:16px}.category-heading>span{font-size:10px}.card-action{min-height:34px;font-size:12px}.text-button{min-height:44px}
}
@media(max-width:700px) and (orientation:portrait){
 body.pirate-screen,body.arcade-screen,body.tables-screen{height:100dvh;min-height:0;overflow:hidden;overscroll-behavior:none}
 body.pirate-screen main,body.arcade-screen main,body.tables-screen main{padding:0!important;margin:0!important;width:100vw;height:100dvh;max-width:none}
 body.pirate-screen:before{display:none!important}
 body.pirate-screen #stage[data-game]{--mobile-art:url('assets/pirate-cabinet-v3.webp');--mobile-panel:#06212b;--mobile-gold:#dfba70;position:absolute;inset:0;transform:none;width:100vw;height:100dvh;aspect-ratio:auto;min-height:0;padding:0;border:0;border-radius:0;container-type:inline-size;background-image:linear-gradient(0deg,#020b12 0%,#04111bee 40%,#04111b33 80%,#04111b88),var(--mobile-art);background-position:center,center top;background-size:100% 100%,auto 67%;background-repeat:no-repeat}
 body.pirate-screen #stage[data-game=olimpo]{--mobile-art:url('assets/olympus-cabinet-v3.webp');--mobile-panel:#0b2240;--mobile-gold:#f2d28d}
 body.pirate-screen #stage[data-game=sol]{--mobile-art:url('assets/sol-cabinet-v3.webp');--mobile-panel:#3a261b;--mobile-gold:#f4c66e}
 body.pirate-screen #stage[data-game=jade]{--mobile-art:url('assets/jade-cabinet-v3.webp');--mobile-panel:#0c3028;--mobile-gold:#dfd49b}
 body.pirate-screen #stage[data-game=neon]{--mobile-art:url('assets/neon-cabinet-v3.webp');--mobile-panel:#261435;--mobile-gold:#e2a4ee}
 body.pirate-screen #stage .game-title{position:absolute;display:grid;place-items:center;left:3%;top:9%;width:94%;height:11%;padding:0;border:0;border-radius:0;background:linear-gradient(90deg,transparent,#06101ccc,transparent);z-index:2}
 body.pirate-screen #stage .game-title h1{margin:0;font:700 clamp(23px,7.5vw,36px)/1.04 Cinzel,Georgia,serif;color:var(--mobile-gold);text-align:center;text-shadow:0 2px 2px #000,0 0 18px #f5ca6d55}
 body.pirate-screen #stage .game-title:before,body.pirate-screen #stage .game-title:after,body.pirate-screen #stage #game-subtitle,body.pirate-screen #stage .title-rule{display:none}
 body.pirate-screen #stage .machine{position:absolute;left:3%;top:22%;width:94%;height:34%;padding:3px;border:3px ridge var(--mobile-gold);border-radius:12px;overflow:hidden;background:linear-gradient(135deg,#04121ce8,#061a27ee);box-shadow:0 9px 24px #000b,inset 0 0 24px #d4ad5333,0 0 20px #cba55730}
 body.pirate-screen #stage .reels{gap:2px;border-radius:6px;background:transparent}body.pirate-screen #stage .symbol{background:radial-gradient(ellipse,#ffffff0b,transparent);border-bottom-color:#e8cb8055}
 body.pirate-screen #stage .result-message{left:3%;top:57%;width:94%;height:6%;display:grid;place-items:center;padding:4px 10px;font-size:12px;line-height:1.3;background:#06101cdb;border:1px solid #d8b46a66;border-radius:8px;white-space:normal}
 body.pirate-screen #stage .balance-meter,body.pirate-screen #stage .prize-meter{top:64%;width:45%;height:7%;padding:5px;background:linear-gradient(145deg,var(--mobile-panel),#030d17);border:1px solid var(--mobile-gold);border-radius:10px;box-shadow:inset 0 0 12px #0009}
 body.pirate-screen #stage .balance-meter{left:3%}body.pirate-screen #stage .prize-meter{left:52%}
 body.pirate-screen #stage .meter>span,body.pirate-screen #stage .bet-meter>label{display:block;font-size:10px;letter-spacing:1px;color:var(--mobile-gold);text-align:center;margin:0}
 body.pirate-screen #stage .meter>strong{font:700 clamp(19px,5.5vw,25px)/1.15 Georgia;color:#fff1c5;height:auto;text-align:center}
 body.pirate-screen #stage .bet-meter{left:3%;top:72%;width:94%;height:8%;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:5px 12px;background:linear-gradient(145deg,var(--mobile-panel),#030d17);border:1px solid var(--mobile-gold);border-radius:10px}
 body.pirate-screen #stage .bet-controls{height:44px;width:68%;display:flex;gap:6px;align-items:center}body.pirate-screen #stage .bet-controls button{flex:0 0 44px;width:44px;height:44px;font-size:26px;color:#fff0bc;background:linear-gradient(var(--mobile-panel),#08101c);border:1px solid var(--mobile-gold);border-radius:9px}body.pirate-screen #stage .bet-controls input{flex:1;width:64px;min-width:0;height:44px;font:700 22px Georgia;background:#040d16;color:#fff0bc;border-radius:6px}
 body.pirate-screen #stage #power-panel{left:3%;top:81%;width:94%;height:7%;background:none}body.pirate-screen #stage .power-top{height:100%;display:block}body.pirate-screen #stage #power-options{gap:6px;height:100%}body.pirate-screen #stage #power-options button{font-size:18px;min-height:44px;border:1px solid var(--mobile-gold);border-radius:9px;background:linear-gradient(var(--mobile-panel),#07101d);color:#fff0c5}body.pirate-screen #stage #power-options button[aria-pressed=true]{background:linear-gradient(#1b8c91,#084652);box-shadow:0 0 14px #8dfff14d,inset 0 0 12px #7effe533}
 body.pirate-screen #stage #effective-stake{position:absolute;display:block;clip-path:none;overflow:visible;white-space:normal;left:0;top:100%;width:100%;height:auto;margin:3px 0;color:#f5dfac;font-size:11px;line-height:1.2;text-align:center}body.pirate-screen #stage #risk-message{display:none}
 body.pirate-screen #stage .spin-button{left:3%;top:92%;width:94%;height:7%;min-height:44px;border:2px ridge var(--mobile-gold);border-radius:14px;background:linear-gradient(#198e99,#064650);box-shadow:0 0 20px #61cfc433,inset 0 0 15px #6de6df22}
 body.pirate-screen #stage .spin-button span{opacity:1}body.pirate-screen #stage #spin-label{font:700 23px Cinzel,Georgia;display:block;text-shadow:0 2px 3px #000}body.pirate-screen #stage .spin-arrow{display:none}
 body.pirate-screen #stage .back,body.pirate-screen #stage .game-tools button,body.pirate-screen #stage #pirate-profile{position:absolute;top:max(4px,env(safe-area-inset-top));height:44px;min-height:44px;border:1px solid var(--mobile-gold);border-radius:10px;background:linear-gradient(var(--mobile-panel),#04111ae8);color:#fff0bc;display:grid;place-items:center;font-size:12px;z-index:5}
 body.pirate-screen #stage .back{left:3%;width:24%;font-size:0}body.pirate-screen #stage .back span{display:none}body.pirate-screen #stage .back:before{content:'‹ SALA';font-size:12px}
 body.pirate-screen #stage #pirate-profile{left:29%;right:auto;width:29%;font-size:12px}body.pirate-screen #stage #sound{left:60%;width:17%;font-size:0}body.pirate-screen #stage #rules{left:79%;width:18%;font-size:0}body.pirate-screen #stage #sound:before{content:'♫';font-size:23px}body.pirate-screen #stage #rules:before{content:'ⓘ';font-size:23px}
 body.pirate-screen #stage #pirate-bonus-dock .pirate-bonus-help{left:3%;top:92%;width:30%;height:7%;min-height:44px;color:#ffe9ac;font-size:12px;border:1px solid var(--mobile-gold);border-radius:10px;background:linear-gradient(var(--mobile-panel),#05131c)}body.pirate-screen #stage[data-game=pirata] .spin-button{left:35%;width:62%}
 body.pirate-screen #stage #win-banner{width:92%;max-width:92%;padding:20px 12px;font-size:14px}body.pirate-screen #stage #win-heading{font-size:24px}body.pirate-screen #stage #win-amount{font-size:44px}body.pirate-screen #stage #skip-win{min-height:44px;font-size:15px}
 /* Portrait cabinets use the entire available browser viewport. */
 .arcade-frame,.t-frame{width:100vw!important;height:100dvh!important;max-height:100dvh;min-height:0;border:0;border-radius:0}
 .arcade-frame .a-back,.arcade-frame .a-sound,.t-frame header a,.t-frame header button{min-height:44px;min-width:44px;font-size:12px;display:grid;place-items:center}
 .arcade-frame .a-back,.arcade-frame .a-sound{top:1%;background:#061722d9;border:1px solid #d5b36a;border-radius:10px}
 .arcade-frame .a-status{left:3%!important;top:74%!important;width:94%!important;height:6%!important;z-index:4;font-size:12px!important;line-height:1.25;background:#061522ef;border:1px solid #c8a45b66;border-radius:8px;display:grid;place-items:center;padding:4px 8px}
 .arcade-frame:after{content:'';position:absolute;inset:81% 0 0;background:linear-gradient(#0b2335ed,#020a14f5);border-top:2px ridge #d8b16c;pointer-events:none;z-index:2}
 .arcade-frame .a-balance{left:3%!important;top:83%!important;width:26%!important;height:6%!important;font-size:21px!important;z-index:4;color:#ffe7a7}.arcade-frame .a-balance:before{content:'SALDO';display:block;font:10px Arial;color:#dac58f}
 .arcade-frame .a-bet{left:43%!important;top:84%!important;width:13%!important;height:44px!important;min-height:44px!important;font-size:18px!important;z-index:4;background:#041520!important;color:#ffe5aa}
 .arcade-frame .a-minus,.arcade-frame .a-plus{top:84%!important;width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;z-index:4;background:linear-gradient(#244558,#071724);border:1px solid #d7b673;border-radius:9px;font-size:0!important;color:#ffeac0}.arcade-frame .a-minus{left:30%!important}.arcade-frame .a-plus{left:57%!important}.arcade-frame .a-minus:before{content:'−';font-size:25px}.arcade-frame .a-plus:before{content:'+';font-size:25px}
 .arcade-frame .a-action{left:73%!important;top:83%!important;width:24%!important;height:9%!important;min-height:48px;z-index:4;border:2px ridge #e6c27d;border-radius:13px;background:linear-gradient(#178c99,#053c4b)}.arcade-frame .a-action span{position:static!important;font-size:15px!important;line-height:1.1;white-space:normal;background:none!important;padding:2px!important}
 .arcade-frame .a-info,.arcade-frame .a-load{display:none!important}.arcade-frame .a-menu,.arcade-frame .a-account{top:93%!important;width:44px!important;height:44px!important;min-height:44px;min-width:44px;z-index:4;border:1px solid #cfb16f;border-radius:10px;background:#123044;font-size:0}.arcade-frame .a-menu{left:3%!important}.arcade-frame .a-account{left:17%!important}.arcade-frame .a-menu:before{content:'ⓘ';font-size:23px}.arcade-frame .a-account:before{content:'☾';font-size:23px}.arcade-frame .a-menu:after{display:none}
 .arcade-frame .a-demo{left:33%!important;right:2%!important;top:93%!important;bottom:auto!important;width:auto!important;z-index:4}.arcade-frame .a-demo>span{display:none}.arcade-frame .a-demo button{min-height:36px;font-size:10px;padding:2px}
 .r-arena .r-canon{height:39%}.r-aim-controls input{min-height:36px}.r-picks button{min-height:44px;font-size:12px}
 .t-frame header{height:8%;font-size:12px}.t-frame h1{font-size:8cqw}.t-frame .t-status{font-size:12px;line-height:1.25}
 .t-frame .t-console{bottom:6.5%;height:9%;gap:2%;padding:1.5%}.t-frame .t-console label{font-size:10px}.t-frame .t-bet{font-size:19px;min-height:36px}.t-frame .t-play{font-size:17px!important;min-height:44px}.t-frame .t-chips{top:79%;height:5%;}.t-frame .t-chips button{width:36px;height:36px;max-height:none;font-size:11px}
 .t-frame footer{bottom:0;height:6%;font-size:10px}.t-frame footer button{min-height:40px;font-size:12px}.t-frame .t-win button{min-height:44px;font-size:15px}
 [data-table=blackjack] .t-status{top:64%;height:6%}[data-table=blackjack] .t-picks{top:71%;height:7%;gap:6px}[data-table=blackjack] .t-picks>button{font-size:14px;min-height:44px}
 [data-table=dados] .t-scene{top:20%;height:21%}[data-table=dados] .t-tray{display:none}[data-table=dados] .t-status{top:42%;height:6%}[data-table=dados] .t-picks{top:49%;height:29%;gap:6px}.t-dice-ranges{height:26%;gap:4px}.t-dice-exact{height:71%;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr));gap:4px}.t-dice-ranges button,.t-dice-exact button{font-size:12px;padding:2px;line-height:1.1}
 [data-table=real] .t-scene{top:19%;height:20%}[data-table=real] .t-status{top:40%;height:6%}[data-table=real] .t-picks{top:47%;height:31%}.t-outside{height:24%;gap:4px}.t-outside button{font-size:12px}.t-numbers{height:73%;grid-template-columns:repeat(7,minmax(0,1fr));grid-template-rows:repeat(6,minmax(0,1fr));gap:3px}.t-numbers button{font-size:12px;min-width:0;padding:0}
 .q-frame .q-picks{top:77%;height:7%}.q-frame .q-pick{font-size:12px!important;min-height:44px}.q-frame .q-gain{top:77%;height:7%;font-size:11px}.q-frame .q-gain strong{font-size:20px}.q-door>span{font-size:11px!important}
}
@media(max-width:700px) and (orientation:portrait) and (max-height:650px){
 body.pirate-screen #stage .game-title{top:10%;height:10%}body.pirate-screen #stage .machine{top:21%;height:32%}body.pirate-screen #stage .result-message{top:54%;height:6%}body.pirate-screen #stage .balance-meter,body.pirate-screen #stage .prize-meter{top:61%;height:8%}body.pirate-screen #stage .bet-meter{top:70%;height:9%}body.pirate-screen #stage #power-panel{top:80%;height:8%}body.pirate-screen #stage .spin-button,body.pirate-screen #stage #pirate-bonus-dock .pirate-bonus-help{top:92%;height:7.5%}body.pirate-screen #stage .bet-controls{height:44px}body.pirate-screen #stage .bet-controls button,body.pirate-screen #stage .bet-controls input{height:44px}body.pirate-screen #stage #effective-stake{font-size:10px;margin:1px 0 0}
 .arcade-frame .a-menu,.arcade-frame .a-account{top:92%!important}.arcade-frame .a-demo{top:92%!important}
}
@media(prefers-reduced-motion:reduce){.game-card,.game-filters button{transition:none!important}.a-chest-opening-art{animation:none!important}}
@media(max-width:700px){
 body:not(.pirate-screen):not(.arcade-screen):not(.tables-screen) .header nav{display:flex!important}body:not(.pirate-screen):not(.arcade-screen):not(.tables-screen) .header .wallet{margin-left:auto}
 .hero{height:270px}.hero-copy{padding:24px 18px}.hero h1 span{font-size:inherit}
}
@media(max-width:700px) and (orientation:portrait){
 body.pirate-screen #stage .game-title{background:linear-gradient(135deg,var(--mobile-panel),#05111cf5);border-top:1px solid var(--mobile-gold);border-bottom:1px solid var(--mobile-gold);border-radius:9px}
 body.pirate-screen #stage #sound,body.pirate-screen #stage #rules{top:max(4px,env(safe-area-inset-top))!important;height:44px!important;padding:0}
 .arcade-frame .a-balance{width:20%!important;font-size:18px!important}.arcade-frame .a-minus{left:25%!important}.arcade-frame .a-bet{left:calc(25% + 46px)!important;width:12%!important}.arcade-frame .a-plus{left:calc(37% + 50px)!important}
 [data-table=real] .t-scene{top:17%;height:16%}[data-table=real] .t-status{top:34%;height:5%}[data-table=real] .t-picks{top:40%;height:38%}.t-numbers{grid-template-columns:repeat(8,minmax(0,1fr));grid-template-rows:repeat(5,minmax(0,1fr));height:76%}.t-outside{height:22%}
}
@media(max-width:700px) and (orientation:portrait){.t-frame footer{bottom:4px;height:44px}.t-frame footer button{max-height:44px}.t-frame .t-console{bottom:calc(44px + 6px)}}
