:root{color-scheme:dark;--bg:#060913;--line:rgba(255,255,255,.16);--text:#f6f7fb;--muted:#9aa6bd;--gold:#ffb429;--green:#29d899;--red:#ff5d67;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:#04060b;color:var(--text)}button,input,select{font:inherit}.offline{position:fixed;z-index:100;top:0;left:0;right:0;padding:10px;text-align:center;background:#9b2029;color:#fff;font-weight:800}.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(135deg,rgba(5,7,15,.62),rgba(5,7,15,.94)),url('halloween-30.png') center/cover}.login-card{width:min(440px,100%);padding:42px;border:1px solid var(--line);border-radius:28px;background:rgba(8,12,25,.9);box-shadow:0 30px 100px #000;backdrop-filter:blur(22px)}.brand-mark{width:62px;height:62px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(145deg,#ffc64d,#ef7e00);color:#271400;font-size:34px;font-weight:1000}.eyebrow{margin:24px 0 5px;text-transform:uppercase;letter-spacing:.18em;font-size:12px;font-weight:800;color:var(--gold)}h1{font-size:46px;line-height:1;margin:0}h1 span,.logo span{color:var(--gold)}.intro,.secure-note{color:var(--muted);line-height:1.6}.login-card form{display:grid;gap:18px;margin-top:28px}.login-card label{display:grid;gap:8px;font-size:13px;font-weight:700}.login-card input{width:100%;padding:15px 16px;border:1px solid var(--line);border-radius:12px;background:#090f1d;color:#fff;outline:none}.login-card input:focus{border-color:var(--gold);box-shadow:0 0 0 3px #ffb42922}.login-card button{border:0;border-radius:12px;padding:16px;background:linear-gradient(145deg,#ffd253,#f28c00);color:#241200;font-weight:1000;cursor:pointer}.error{min-height:20px;margin:0;color:#ff8790}.secure-note{text-align:center;font-size:12px}.topbar{height:74px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(18px,4vw,60px);border-bottom:1px solid var(--line);background:#070b14dd;position:relative;z-index:5}.logo{background:none;border:0;color:#fff;font-weight:1000;font-size:20px;cursor:pointer}.account{display:flex;align-items:center;gap:16px;color:var(--muted)}.account strong{color:#fff;padding:8px 12px;border-radius:10px;background:#ffffff0b}.dot{width:9px;height:9px;border-radius:50%;background:var(--green);box-shadow:0 0 12px var(--green)}.dot.off{background:var(--red);box-shadow:0 0 12px var(--red)}.ghost{border:1px solid var(--line);background:#ffffff09;color:#fff;border-radius:10px;padding:9px 13px;cursor:pointer}
.lobby{padding:clamp(30px,6vw,80px);max-width:1500px;margin:auto}.lobby-copy h2{font-size:clamp(32px,5vw,68px);line-height:1;margin:0}.lobby-copy>p:last-child{color:var(--muted)}.game-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:38px}.game-card{position:relative;display:block;width:100%;aspect-ratio:1672/941;padding:0;border:1px solid var(--line);border-radius:24px;overflow:hidden;cursor:pointer;background:#111;box-shadow:0 16px 40px #0008;transition:.25s transform,.25s border}.game-card:hover{transform:translateY(-5px);border-color:#ffffff77}.game-card>.game-card-art{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;transition:.3s transform}.game-card:hover>.game-card-art{transform:scale(1.015)}.game-card-reel-preview{position:absolute;z-index:1;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr));gap:.18%;overflow:hidden;background:#100908}.game-card-reel-preview>span{min-width:0;min-height:0;overflow:hidden;background:radial-gradient(ellipse at 50% 42%,#41105d 0%,#1b062c 62%,#08040d 100%)}.game-card-reel-preview[data-theme="pantanal"]>span{background:radial-gradient(ellipse at 50% 42%,#6a4b16 0%,#2b210d 58%,#090b07 100%)}.game-card-reel-preview img{display:block;width:100%;height:100%;padding:1.2%;object-fit:contain;filter:drop-shadow(0 0 4px rgba(103,31,154,.55))}.game-card-reel-preview[data-theme="pantanal"] img{filter:drop-shadow(0 0 4px rgba(230,164,35,.4))}.game-card:after{content:"";position:absolute;z-index:2;inset:50% 0 0;background:linear-gradient(transparent,#02040dcc);pointer-events:none}.game-card-copy{position:absolute;z-index:3;left:22px;right:22px;bottom:18px;display:flex;justify-content:space-between;align-items:end;text-align:left}.game-card-copy small{font-weight:900}.game-card h3{margin:2px 0 0;font-size:clamp(17px,2vw,26px);text-shadow:0 2px 10px #000}.pill{padding:8px 12px;border-radius:999px;background:#fff;color:#111;font-size:12px;font-weight:900;white-space:nowrap}
body.game-active{overflow:hidden}.game{position:fixed;z-index:20;inset:0;display:grid;place-items:center;background:#000;overflow:hidden}.front-stage{position:relative;width:min(100vw,calc(100vh * 1672 / 941));aspect-ratio:1672/941;overflow:hidden;background:#000}.front-image{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:contain;user-select:none}.front-reels{position:absolute;left:var(--reel-x);top:var(--reel-y);width:var(--reel-w);height:var(--reel-h);display:grid;grid-template-columns:repeat(5,1fr);grid-template-rows:repeat(3,1fr);gap:var(--reel-gap,0);overflow:hidden;background:#100908}.symbol{min-width:0;min-height:0;overflow:hidden;background:#0b0908}.symbol img{display:block;width:100%;height:100%;object-fit:cover}.front-reels.spinning .symbol img{animation:spinBlur .16s infinite alternate;filter:blur(2px) brightness(1.1)}@keyframes spinBlur{to{transform:translateY(8%);filter:blur(4px) brightness(.8)}}.symbol.win{outline:clamp(2px,.35vw,6px) solid #ffe259;outline-offset:clamp(-6px,-.35vw,-2px);filter:drop-shadow(0 0 8px #ffb300)}
.front-readout{position:absolute;z-index:4;left:var(--x);top:var(--y);width:var(--w);height:var(--h);display:grid;place-items:center;padding-top:.08em;background:var(--readout-bg,#10061c);color:var(--readout-color,#fff);font-family:Impact,'Arial Black',sans-serif;font-size:clamp(12px,2.6vw,44px);line-height:1;text-shadow:0 0 7px currentColor;border-radius:10px}.front-balance{--x:var(--balance-x);--y:var(--balance-y);--w:var(--balance-w);--h:var(--balance-h)}.front-prize{--x:var(--prize-x);--y:var(--prize-y);--w:var(--prize-w);--h:var(--prize-h)}.front-bet{--x:var(--bet-x);--y:var(--bet-y);--w:var(--bet-w);--h:var(--bet-h)}.front-hotspot{position:absolute;z-index:6;padding:0;border:0;background:transparent;cursor:pointer}.front-hotspot:focus-visible,.front-hotspot:hover{outline:3px solid #fff8;outline-offset:-4px;border-radius:50%}.front-play{left:var(--play-x);top:var(--play-y);width:var(--play-w);height:var(--play-h);border-radius:50%}.front-bet-button{left:var(--betbtn-x);top:var(--betbtn-y);width:var(--betbtn-w);height:var(--betbtn-h);border-radius:50%}.front-play:disabled{cursor:not-allowed;background:#0007}.last-spin{position:absolute;z-index:7;right:1%;bottom:1.3%;padding:.55em .8em;border:1px solid #fff5;border-radius:9px;background:#060914df;color:#fff;cursor:pointer;font-size:clamp(8px,.9vw,14px)}.result-strip{position:absolute;z-index:5;left:25%;right:25%;bottom:.7%;min-height:4%;display:flex;justify-content:center;align-items:center;gap:12px;padding:5px 10px;border-radius:8px;background:#03050bd9;color:#fff;font-size:clamp(8px,.85vw,14px);white-space:nowrap}.result-strip code{display:none}
.front-free-spins{display:none;--x:var(--free-x);--y:var(--free-y);--w:var(--free-w);--h:var(--free-h)}
.result-strip.winning-line-status{font-family:'Arial Black',sans-serif;font-size:clamp(10px,1.05vw,17px);font-weight:900;letter-spacing:.01em;text-shadow:0 2px 3px #000}
@media(max-width:760px){.account #player-name{display:none}.topbar{padding:0 12px}.account{gap:8px}.game-list{grid-template-columns:1fr}.lobby{padding:24px 14px}.game-card-copy{left:14px;right:14px;bottom:12px}.pill{padding:6px 9px}.front-back{width:12%}.result-strip{left:18%;right:18%}}
[hidden]{display:none!important}

/* Identidade, saldo e saída permanecem acessíveis por cima de qualquer jogo bónus. */
body.game-active .topbar{position:fixed;z-index:120;top:10px;left:10px;right:10px;height:auto;min-height:48px;padding:7px 12px;border:1px solid #ffffff2b;border-radius:14px;background:#05080dcc;box-shadow:0 10px 28px #0009;backdrop-filter:blur(12px);pointer-events:none}
body.game-active .topbar .logo{display:none}
body.game-active .topbar .account{margin-left:auto;pointer-events:auto;color:#e6eaf2}
body.game-active .topbar .account strong{background:#0b331fcc;border:1px solid #55da9388;color:#d9ffe9}
body.admin-preview.game-active .topbar{top:68px}
@media(max-width:760px){body.game-active .topbar{top:6px;left:6px;right:6px}body.admin-preview.game-active .topbar{top:64px}body.game-active .account #player-name{display:inline;font-size:11px}body.game-active .topbar .account{gap:6px}body.game-active .topbar .account strong,body.game-active .topbar .ghost{padding:7px 9px;font-size:11px}}

/* Interface funcional integrada nas frentes originais */
.front-reels{grid-template-columns:repeat(5,minmax(0,1fr));grid-template-rows:1fr;column-gap:var(--reel-gap,0);row-gap:0;box-shadow:inset 0 0 18px #000b}
.reel-column{position:relative;min-width:0;height:100%;overflow:hidden;background:#090706}
.reel-strip{width:100%;height:100%;display:grid;grid-template-rows:repeat(3,minmax(0,1fr));will-change:transform}
.reel-strip .symbol{position:relative;border-radius:0;background:radial-gradient(ellipse at 50% 42%,#41105d 0%,#1b062c 62%,#08040d 100%)}
.front-stage[data-theme="pantanal"] .reel-strip .symbol{background:radial-gradient(ellipse at 50% 42%,#6a4b16 0%,#2b210d 58%,#090b07 100%)}
.reel-strip .symbol img{display:block;width:100%;height:100%;box-sizing:border-box;padding:1.2%;object-fit:contain;transform:scale(.975);filter:drop-shadow(0 0 .45vw rgba(103,31,154,.5))}
.front-stage[data-theme="pantanal"] .reel-strip .symbol img{filter:drop-shadow(0 0 .45vw rgba(230,164,35,.35))}
.spinning-strip{height:800%;grid-template-rows:repeat(24,minmax(0,1fr));animation:reelLoop var(--speed,.24s) linear infinite;filter:blur(1.2px) brightness(.94)}
.settling-strip{height:500%;grid-template-rows:repeat(15,minmax(0,1fr));animation:reelSettle var(--duration,.9s) cubic-bezier(.08,.68,.12,1) forwards}
.reel-column:nth-child(2) .spinning-strip{animation-delay:-.08s}.reel-column:nth-child(3) .spinning-strip{animation-delay:-.16s}.reel-column:nth-child(4) .spinning-strip{animation-delay:-.24s}.reel-column:nth-child(5) .spinning-strip{animation-delay:-.32s}
@keyframes reelLoop{from{transform:translateY(-12.5%)}to{transform:translateY(0)}}
@keyframes reelSettle{0%{transform:translateY(0);filter:blur(1.8px)}80%{filter:blur(.6px)}90%{transform:translateY(-81.2%)}100%{transform:translateY(-80%);filter:none}}
.symbol.win{z-index:2;outline:clamp(2px,.28vw,5px) solid #ffe259;outline-offset:clamp(-5px,-.28vw,-2px);animation:winningSymbol .7s ease-in-out infinite alternate}
@keyframes winningSymbol{to{filter:brightness(1.25) drop-shadow(0 0 10px #ffd000)}}
.front-readout{overflow:hidden;padding:.04em .2em 0;background:linear-gradient(180deg,color-mix(in srgb,var(--readout-bg) 78%,#000),var(--readout-bg));border:1px solid #ffffff1f;border-radius:clamp(4px,.65vw,11px);color:var(--readout-color);font-family:'Arial Black',Impact,sans-serif;font-size:clamp(13px,var(--readout-size,2.15vw),38px);font-variant-numeric:tabular-nums;letter-spacing:.025em;text-shadow:0 2px 2px #000,0 0 5px color-mix(in srgb,var(--readout-color) 55%,transparent);box-shadow:inset 0 2px 8px #0009}
.front-table-button{left:var(--table-x);top:var(--table-y);width:var(--table-w);height:var(--table-h);border-radius:50%}.front-lines-button{left:var(--lines-x);top:var(--lines-y);width:var(--lines-w);height:var(--lines-h);border-radius:50%}.front-auto-button{left:var(--auto-x);top:var(--auto-y);width:var(--auto-w);height:var(--auto-h);border-radius:50%}
.front-hotspot:active{transform:scale(.965);filter:brightness(1.35)}.front-stage.auto-active .front-auto-button{box-shadow:inset 0 0 0 clamp(2px,.3vw,5px) #fff,0 0 clamp(10px,1vw,20px) #61ff7d}
.line-label,.auto-label{position:absolute;z-index:7;pointer-events:none;left:var(--lines-x);top:var(--lines-y);width:var(--lines-w);height:var(--lines-h);display:flex;align-items:flex-end;justify-content:center;padding-bottom:8%;color:#fff;font-family:'Arial Black',sans-serif;font-size:clamp(9px,1.45vw,25px);font-weight:1000;text-shadow:0 2px 5px #000,0 0 5px #000}
.line-label::before{content:"";position:absolute;z-index:-1;bottom:5%;width:37%;aspect-ratio:1.45;border-radius:999px;background:#05070bd9;border:1px solid #ffffff6b;box-shadow:0 2px 7px #000}
.auto-label{left:var(--auto-x);top:var(--auto-y);width:var(--auto-w);height:var(--auto-h);align-items:center;padding:0;font-size:clamp(7px,.85vw,14px);color:#fff}.auto-label::before{content:"";position:absolute;z-index:-1;width:65%;height:25%;border-radius:999px;background:#a90000e8;box-shadow:0 0 10px #ff2525}
.line-preview{position:absolute;z-index:5;pointer-events:none;left:var(--reel-x);top:var(--reel-y);width:var(--reel-w);height:var(--reel-h);overflow:visible;opacity:0;transition:opacity .2s}.line-preview.visible{opacity:1}.line-preview polyline{fill:none;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 1px 2px #000)}
.side-line-marker{width:3.35%}
.line-preview circle{stroke:#fff;stroke-width:3;filter:drop-shadow(0 2px 3px #000)}.line-preview text{fill:#fff;font-family:'Arial Black',sans-serif;font-size:24px;font-weight:1000;paint-order:stroke;stroke:#000;stroke-width:7px;stroke-linejoin:round}
.paytable-modal{position:absolute;z-index:30;inset:5% 8%;padding:clamp(14px,2vw,30px);border:2px solid #eaa52c;border-radius:clamp(14px,2vw,30px);background:linear-gradient(145deg,#111729f5,#050713f8);box-shadow:0 30px 100px #000,inset 0 0 40px #000;color:#fff;overflow:auto}.paytable-modal header{position:sticky;z-index:2;top:-1px;display:flex;align-items:center;justify-content:space-between;margin:-5px 0 18px;padding:6px 0 12px;background:#0d1223f2;border-bottom:1px solid #ffffff20}.paytable-modal header small{color:#ffbd3f;font-weight:900;letter-spacing:.16em}.paytable-modal h2{margin:3px 0 0;font-size:clamp(20px,2.5vw,40px)}.paytable-modal header button{width:46px;height:46px;border:1px solid #ffffff55;border-radius:50%;background:#ffffff10;color:#fff;font-size:30px;cursor:pointer}.paytable-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.paytable-grid article{display:flex;align-items:center;gap:12px;min-width:0;padding:10px;border:1px solid #ffffff20;border-radius:14px;background:#ffffff09}.paytable-grid img{width:34%;aspect-ratio:1.2;object-fit:cover;border-radius:9px}.paytable-grid strong{font-size:clamp(12px,1.2vw,19px)}.paytable-grid p{margin:5px 0 0;color:#ffd461;font-size:clamp(10px,.95vw,15px);line-height:1.4}.paytable-modal footer{margin-top:18px;text-align:center;color:#aab3c6;font-size:12px}
@media(max-width:760px){.paytable-modal{inset:3%;}.paytable-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.last-spin{display:none}.front-readout{font-size:clamp(10px,var(--readout-size),22px)}}
.paytable-grid article.has-bonus{border-color:#ffb62980;background:linear-gradient(135deg,#ff9f1718,#ffffff08)}.bonus-modal{position:absolute;z-index:45;inset:15% 22%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;overflow:hidden;border:clamp(2px,.35vw,6px) solid #ffc138;border-radius:clamp(18px,2vw,34px);background:radial-gradient(circle at 50% 35%,#6a238f,#160529 58%,#050208);box-shadow:0 0 45px #ffb42f,0 35px 120px #000;color:#fff;text-align:center;opacity:0;transform:scale(.75);transition:.35s}.bonus-modal[hidden]{display:none}.bonus-modal.show{opacity:1;transform:scale(1)}.bonus-modal img{position:relative;z-index:2;width:clamp(75px,11vw,180px);height:clamp(75px,11vw,180px);object-fit:contain;filter:drop-shadow(0 0 22px #ffcf4d)}.bonus-modal small,.bonus-modal h2,.bonus-modal strong,.bonus-detail{position:relative;z-index:2}.bonus-modal small{color:#ffd25f;font-weight:900;letter-spacing:.2em}.bonus-modal h2{margin:0;font-size:clamp(24px,3vw,48px);text-transform:uppercase}.bonus-detail{font-size:clamp(20px,3.2vw,52px);color:#ffe36f}.bonus-modal strong{font-size:clamp(20px,2.5vw,42px);color:#8dff73}.bonus-burst{position:absolute;width:80%;aspect-ratio:1;border-radius:50%;background:conic-gradient(from 0deg,#ffbf3400,#ffbf3455,#ffbf3400 20%);animation:bonusSpin 3s linear infinite}@keyframes bonusSpin{to{transform:rotate(360deg)}}
.bonus-modal{inset:5% 11%;padding:clamp(14px,2vw,30px);justify-content:flex-start;background:radial-gradient(circle at 50% 30%,#63318c,#160828 55%,#040207);border-color:#ffca45}.bonus-modal[data-skin="pantanal"]{background:radial-gradient(circle at 50% 25%,#684516,#17210c 55%,#050703);border-color:#df9c32}.bonus-header{position:relative;z-index:2;width:100%;display:flex;align-items:center;justify-content:center;gap:18px}.bonus-header img{width:clamp(58px,8vw,115px);height:clamp(58px,8vw,115px)}.bonus-header h2{font-size:clamp(22px,2.4vw,42px)}.bonus-header p{margin:4px 0 0;color:#e9ddc8;font-weight:700}.bonus-play-area{position:relative;z-index:3;display:flex;align-items:center;justify-content:center;flex:1;width:100%;min-height:0}.bonus-detail{min-height:1.15em;font-size:clamp(18px,2.2vw,34px)}.bonus-modal>strong{min-height:1.2em}.bonus-grid{display:grid;grid-template-columns:repeat(4,minmax(65px,1fr));gap:clamp(8px,1.2vw,18px);width:min(760px,90%)}.bonus-choice{position:relative;display:grid;place-items:center;aspect-ratio:1;border:3px solid #eab64d;border-radius:16px;background:linear-gradient(145deg,#492b0d,#120a04);box-shadow:inset 0 0 22px #000,0 8px 20px #0008;cursor:pointer;color:#fff;font-size:clamp(16px,2vw,30px);font-weight:900;transition:.2s}.bonus-choice:hover{transform:translateY(-4px);filter:brightness(1.18)}.bonus-choice img{width:72%;height:72%}.bonus-choice.revealed{background:radial-gradient(circle,#fff4ae,#d97d14 70%);color:#3d1900;transform:scale(.94)}.bonus-choice:disabled{cursor:default}.bonus-character-grid,.bonus-dice-grid{display:flex;gap:clamp(10px,2vw,28px);align-items:center;justify-content:center;flex-wrap:wrap}.bonus-character-grid .bonus-choice{width:clamp(90px,11vw,165px);border-radius:50%}.bonus-dice-grid .bonus-choice{width:clamp(75px,9vw,125px);aspect-ratio:1;background:#e8392e;border-color:#fff;color:#fff;font-size:0}.bonus-dice-grid .bonus-choice::after{content:'⚄';font-size:clamp(42px,6vw,84px)}.bonus-dice-grid .bonus-choice.revealed::after{content:attr(data-face);color:#fff}.bonus-wheel-wrap{display:grid;grid-template-columns:minmax(210px,42vh) auto;gap:clamp(20px,5vw,70px);align-items:center}.bonus-wheel{position:relative;aspect-ratio:1;border:10px solid #d99b32;border-radius:50%;background:conic-gradient(#e44735 0 14.28%,#e7aa26 0 28.56%,#2c9c64 0 42.84%,#225aa5 0 57.12%,#7f3aaa 0 71.4%,#d54b87 0 85.68%,#774217 0);box-shadow:0 0 0 7px #4b260b,0 15px 45px #000;transition:transform 3.2s cubic-bezier(.12,.64,.13,1)}.bonus-wheel::before{content:'▼';position:absolute;z-index:2;left:50%;top:-26px;transform:translateX(-50%);color:#fff;font-size:32px;text-shadow:0 2px 5px #000}.bonus-wheel::after{content:'WINPOCA';position:absolute;inset:30%;display:grid;place-items:center;border:5px solid #e5b64f;border-radius:50%;background:#090909;color:#f4c761;font-weight:900}.bonus-action{padding:16px 26px;border:3px solid #ffe28c;border-radius:999px;background:linear-gradient(#ffbe35,#a94005);box-shadow:0 8px 20px #0008;color:#fff;font-size:clamp(18px,2vw,30px);font-weight:900;cursor:pointer}.bonus-action:disabled{opacity:.6}.bonus-modal.finished{animation:bonusWin .55s ease-in-out 2}@keyframes bonusWin{50%{filter:brightness(1.45);box-shadow:0 0 90px #ffd966}}@media(max-width:700px){.bonus-modal{inset:2% 3%}.bonus-grid{grid-template-columns:repeat(3,1fr)}.bonus-wheel-wrap{grid-template-columns:1fr}.bonus-wheel{width:min(55vw,260px);margin:auto}.bonus-header p{display:none}}
.bonus-grid.five-choices{grid-template-columns:repeat(5,minmax(80px,1fr));width:min(900px,94%)}.bonus-grid.secondary-stage{grid-template-columns:repeat(3,minmax(110px,1fr));width:min(620px,90%)}.bonus-grid.secondary-stage .bonus-choice{border-color:#ffd86a;background:radial-gradient(circle,#663b94,#170720);box-shadow:inset 0 0 26px #000,0 0 25px #ab61ff66}.bonus-grid.secondary-stage .bonus-choice.revealed{background:radial-gradient(circle,#fff5ae,#e59019 72%)}@media(max-width:700px){.bonus-grid.five-choices{grid-template-columns:repeat(3,1fr)}.bonus-grid.secondary-stage{grid-template-columns:repeat(3,1fr)}}
.bonus-choice.missed{opacity:.48;filter:saturate(.45);transform:scale(.9);background:#120d16;color:#bbaec8}.bonus-choice.missed strong{font-size:.72em}.bonus-choice.revealed{z-index:2;box-shadow:0 0 34px #ffd45f,inset 0 0 18px #fff6}
.front-hotspot:hover,.front-hotspot:focus:not(:focus-visible){outline:none;box-shadow:none}.front-hotspot:focus-visible{outline:2px solid #fff;outline-offset:-3px;border-radius:12px}.front-hotspot:active{outline:none;box-shadow:none;transform:scale(.985)}
.front-readout{background:transparent!important;border:0!important;box-shadow:none!important;border-radius:0!important}
.front-counter{position:absolute;z-index:4;top:var(--counter-y);width:var(--counter-w);height:var(--counter-h);display:grid;grid-template-rows:minmax(0,3fr) minmax(0,2fr);overflow:hidden;padding:0;border:0;border-radius:clamp(4px,.55vw,9px);background:transparent;box-shadow:none;color:#fff3a8;font-family:Impact,'Arial Black',sans-serif;font-variant-numeric:tabular-nums;letter-spacing:.025em;text-shadow:0 1px 2px #000,0 0 5px #ffb000;pointer-events:none}.front-jackpot{--counter-y:var(--jackpot-y);--counter-w:var(--jackpot-w);--counter-h:var(--jackpot-h);left:var(--jackpot-x)}.front-progressive{--counter-y:var(--progressive-y);--counter-w:var(--progressive-w);--counter-h:var(--progressive-h);left:var(--progressive-x)}
.counter-title{display:none}.counter-symbols{min-width:0;height:100%;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:center;gap:clamp(1px,.16vw,3px);overflow:hidden;padding:clamp(1px,.12vw,2px) clamp(3px,.3vw,6px);background:#050706f2}.front-stage[data-theme="halloween"] .front-jackpot .counter-symbols{background:#240403f2}.front-stage[data-theme="halloween"] .front-progressive .counter-symbols{background:#16051ff2}.front-stage[data-theme="pantanal"] .counter-symbols{background:#071007f2}.counter-symbols img{display:block;width:100%;height:100%;min-width:0;object-fit:contain;filter:drop-shadow(0 1px 1px #000)}.counter-value{position:relative;z-index:2;display:grid;place-items:center;min-width:0;align-self:stretch;border-top:1px solid #e6b84f55;background:#020402f4;color:inherit;font-size:clamp(11px,1.22vw,22px);line-height:1;white-space:nowrap}

/* As molduras originais são as caixas dos prémios. As imagens ocupam toda
   a área disponível e os valores ficam por baixo, sem qualquer faixa preta. */
.front-stage .front-counter{z-index:7;grid-template-rows:1fr;overflow:visible}
.front-stage .counter-symbols{gap:clamp(2px,.22vw,4px);overflow:hidden;padding:0 2%;background:transparent!important}
.front-stage .counter-symbols img{transform:scale(var(--counter-symbol-scale,1.08));transform-origin:center;filter:drop-shadow(0 2px 2px #000) drop-shadow(0 0 4px #d99c2c)}
.front-stage[data-game="halloween-20"]{--counter-symbol-scale:1.10}
.front-stage[data-game="halloween-30"]{--counter-symbol-scale:1.10}
.front-stage[data-game="pantanal-20"]{--counter-symbol-scale:1.04}
.front-stage[data-game="pantanal-30"]{--counter-symbol-scale:1.04}
.front-stage .counter-value{position:absolute;z-index:9;left:0;top:calc(100% + .15vw);width:100%;height:clamp(34px,3.4vw,60px);border:0;background:transparent!important;color:#fff2a0;font-size:clamp(28px,3.1vw,60px);line-height:.9;text-shadow:0 3px 2px #000,0 0 4px #000,0 0 8px #d28700;-webkit-text-stroke:1px #3a2100}
.front-stage .result-strip{display:none}
.test-spin-id{position:absolute;z-index:12;top:1.2%;left:50%;transform:translateX(-50%);padding:.48em .9em;border:2px solid #ffd15b;border-radius:999px;background:#050505e8;color:#ffe07a;font:900 clamp(11px,1.25vw,20px)/1.1 Arial,sans-serif;letter-spacing:.05em;box-shadow:0 4px 18px #000b,0 0 12px #ffae0055;text-shadow:0 1px 2px #000;white-space:nowrap}.test-spin-id[hidden]{display:none}

/* Dois controlos comuns a todas as frentes: voltar e volume. */
.front-control{position:absolute;z-index:14;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;padding:0;border:clamp(2px,.22vw,4px) solid #f6b938;border-radius:50%;background:radial-gradient(circle at 38% 28%,#754921,#251205 72%);box-shadow:inset 0 0 0 clamp(2px,.22vw,4px) #160b04,0 0 clamp(4px,.45vw,9px) #ffae28aa;color:#fff6cc;font-family:'Arial Black',Impact,sans-serif;cursor:pointer;text-shadow:0 2px 3px #000}.front-control:hover,.front-control:focus-visible{filter:brightness(1.2);outline:clamp(2px,.18vw,3px) solid #fff;outline-offset:2px}.front-control:active{transform:scale(.95)}.front-control span{font-size:clamp(16px,2.1vw,36px);line-height:.78}.front-control small{font-size:clamp(6px,.55vw,10px);line-height:1}.front-control-back{left:var(--backctrl-x);top:var(--backctrl-y);width:var(--backctrl-w);height:var(--backctrl-h)}.front-sound-control{left:var(--soundctrl-x);top:var(--soundctrl-y);width:var(--soundctrl-w);height:var(--soundctrl-h)}.front-stage[data-theme="halloween"] .front-control{border-color:#ffb732;background:radial-gradient(circle at 38% 28%,#70238b,#26052f 72%);box-shadow:inset 0 0 0 clamp(2px,.22vw,4px) #16031e,0 0 clamp(4px,.45vw,9px) #d63cff99}.volume-panel{position:absolute;z-index:16;left:calc(var(--soundctrl-x) - 3.2%);top:calc(var(--soundctrl-y) - 7.2%);width:13.2%;height:6.2%;display:grid;grid-template-columns:1fr 1.25fr 1fr;align-items:center;overflow:hidden;border:clamp(1px,.18vw,3px) solid #f4bd4d;border-radius:999px;background:#100903f2;box-shadow:0 .5vw 1.5vw #000b;color:#fff}.volume-panel button{height:100%;border:0;background:#ffffff12;color:#fff;font-family:'Arial Black',sans-serif;font-size:clamp(15px,2vw,34px);cursor:pointer}.volume-panel button:hover,.volume-panel button:focus-visible{background:#f0a82a;color:#1b0c00;outline:none}.volume-panel output{text-align:center;font-family:'Arial Black',sans-serif;font-size:clamp(8px,.85vw,15px);font-variant-numeric:tabular-nums}.front-stage[data-theme="halloween"] .volume-panel{border-color:#da62ff;background:#1b0525f2}.front-stage[data-game="halloween-30"] .volume-panel{left:70%;top:79.2%}
.front-stage[data-game$="-30"] .front-control{isolation:isolate}.front-stage[data-game$="-30"] .front-control::before{content:"";position:absolute;z-index:0;inset:-22%;border:clamp(4px,.42vw,8px) solid #f6b938;border-radius:50%;background:radial-gradient(circle at 38% 28%,#754921,#160b04 72%);box-shadow:inset 0 0 0 clamp(3px,.28vw,6px) #150a03,0 0 clamp(5px,.55vw,11px) #000;pointer-events:none}.front-stage[data-game$="-30"] .front-control>span,.front-stage[data-game$="-30"] .front-control>small{position:relative;z-index:1}.front-stage[data-game="halloween-30"] .front-control::before{border-color:#ffb732;background:radial-gradient(circle at 38% 28%,#70238b,#19051f 72%);box-shadow:inset 0 0 0 clamp(3px,.28vw,6px) #16031e,0 0 clamp(5px,.55vw,11px) #000}

/* Separadores fixos da matriz 5x3. Ficam independentes do tamanho e da imagem de cada símbolo. */
.front-reels{--reel-divider:rgba(255,174,26,.94);isolation:isolate}
.front-stage[data-theme="pantanal"] .front-reels{--reel-divider:rgba(255,183,48,.96)}
.front-reels::after{content:"";position:absolute;z-index:4;inset:0;pointer-events:none;background:linear-gradient(var(--reel-divider) 0 0) calc(20% - 1px) 0/clamp(1px,.13vw,2px) 100% no-repeat,linear-gradient(var(--reel-divider) 0 0) calc(40% - 1px) 0/clamp(1px,.13vw,2px) 100% no-repeat,linear-gradient(var(--reel-divider) 0 0) calc(60% - 1px) 0/clamp(1px,.13vw,2px) 100% no-repeat,linear-gradient(var(--reel-divider) 0 0) calc(80% - 1px) 0/clamp(1px,.13vw,2px) 100% no-repeat,linear-gradient(var(--reel-divider) 0 0) 0 calc(33.333% - 1px)/100% clamp(1px,.13vw,2px) no-repeat,linear-gradient(var(--reel-divider) 0 0) 0 calc(66.666% - 1px)/100% clamp(1px,.13vw,2px) no-repeat;filter:drop-shadow(0 0 1px #000)}

/* Moldura individual permanente: mantém as 15 posições legíveis em todas as imagens. */
.front-stage .reel-strip .symbol{box-sizing:border-box!important;box-shadow:inset 0 0 0 clamp(1px,.14vw,2px) rgba(244,166,36,.96),inset 0 0 7px rgba(0,0,0,.42)!important}
.front-stage[data-theme="pantanal"] .reel-strip .symbol{box-shadow:inset 0 0 0 clamp(1px,.14vw,2px) rgba(230,157,37,.98),inset 0 0 7px rgba(0,0,0,.35)!important}

.front-hotspot:focus,.front-hotspot:focus-visible,.front-hotspot:hover{outline:none!important;box-shadow:none!important}
.line-label::before{display:none!important}.line-label{background:transparent!important;text-shadow:0 2px 4px #000,0 0 4px #000}
.bet-multiplier-label{position:absolute;z-index:7;pointer-events:none;left:var(--betbtn-x);top:var(--betbtn-y);width:var(--betbtn-w);height:var(--betbtn-h);display:flex;align-items:flex-start;justify-content:center;padding-top:1%;color:#fff;font-family:'Arial Black',sans-serif;font-size:clamp(9px,1.45vw,25px);font-weight:1000;text-shadow:0 2px 5px #000,0 0 5px #000}
.bottom-line-markers{position:absolute;z-index:13;inset:0;pointer-events:none}.bottom-line-marker,.side-line-marker{position:absolute;left:var(--marker-x);top:var(--marker-y);transform:translate(-50%,-50%);pointer-events:auto;cursor:pointer;font-family:'Arial Black',Impact,sans-serif;font-weight:1000;line-height:1}.bottom-line-marker{width:3.35%;aspect-ratio:1.24;padding:0;display:grid;place-items:center;border:clamp(1px,.16vw,3px) solid #ffd55f;border-radius:50%;background:radial-gradient(circle at 36% 28%,color-mix(in srgb,var(--marker-color) 58%,#fff),var(--marker-color) 48%,color-mix(in srgb,var(--marker-color) 58%,#000) 76%);box-shadow:0 0 0 clamp(1px,.14vw,3px) #170c08,0 0 clamp(3px,.35vw,7px) var(--marker-color),0 clamp(2px,.2vw,4px) clamp(2px,.35vw,7px) #000;color:#fff;font-size:clamp(9px,1.18vw,21px);text-shadow:0 2px 2px #000,0 0 3px #000}.side-line-marker{width:3.75%;aspect-ratio:1;padding:0;border:clamp(1px,.12vw,2px) solid transparent;border-radius:50%;background:transparent;color:transparent;font-size:clamp(9px,1.18vw,21px);text-shadow:none}.side-line-marker:hover,.side-line-marker:focus-visible{border-color:#fff7b5;box-shadow:0 0 clamp(5px,.55vw,11px) #ffe35a;outline:none}.side-line-marker.line-marker-active{border-color:#fff7b5;background:radial-gradient(circle at 35% 28%,color-mix(in srgb,var(--line-color) 56%,#fff),var(--line-color) 50%,color-mix(in srgb,var(--line-color) 62%,#000) 78%);box-shadow:0 0 0 clamp(2px,.18vw,3px) #170c08,0 0 clamp(7px,.8vw,15px) var(--line-color);color:#fff;text-shadow:0 2px 2px #000,0 0 3px #000;outline:none}.bottom-line-marker:hover,.bottom-line-marker:focus-visible{filter:brightness(1.25);outline:clamp(2px,.18vw,3px) solid #fff;outline-offset:clamp(1px,.12vw,2px)}.bottom-line-marker.line-marker-active{background:radial-gradient(circle at 35% 28%,color-mix(in srgb,var(--line-color) 56%,#fff),var(--line-color) 50%,color-mix(in srgb,var(--line-color) 62%,#000) 78%);box-shadow:0 0 0 clamp(1px,.14vw,3px) #170c08,0 0 clamp(7px,.8vw,15px) var(--line-color);outline:clamp(2px,.18vw,3px) solid #fff;outline-offset:clamp(1px,.12vw,2px);transform:translate(-50%,-50%) scale(1.08)}
.admin-preview-bar{position:fixed;z-index:100;top:0;left:0;right:0;min-height:58px;padding:9px clamp(14px,3vw,36px);display:flex;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid #ffce64;background:linear-gradient(90deg,#2f1d00,#6b4100);box-shadow:0 8px 28px #000a;color:#fff}.admin-preview-bar div{display:flex;align-items:baseline;gap:14px}.admin-preview-bar strong{color:#ffd368}.admin-preview-bar span{color:#f7e7c2;font-size:12px}.admin-preview-bar a{padding:9px 14px;border-radius:9px;background:#ffb72e;color:#211400;font-weight:900;text-decoration:none}.admin-preview{padding-top:58px}.admin-preview.game-active .game{top:58px}.admin-preview .front-play,.admin-preview .front-auto-button{cursor:not-allowed;filter:saturate(.45)}.preview-return{border-color:#ffb72e!important;color:#ffd368!important}@media(max-width:680px){.admin-preview-bar{align-items:stretch;flex-direction:column}.admin-preview-bar div{align-items:flex-start;flex-direction:column;gap:2px}.admin-preview{padding-top:100px}.admin-preview.game-active .game{top:100px}}

.construction-page{min-height:100vh;margin:0;display:grid;place-items:center;overflow:hidden;background:radial-gradient(circle at 50% 12%,#243657 0,#0b111e 38%,#030509 78%);color:#fff;font-family:Inter,ui-sans-serif,system-ui,sans-serif}.construction-page::before{content:"";position:fixed;inset:-30%;background:conic-gradient(from 0deg,transparent,#ffb72e12,transparent 24%);animation:constructionGlow 12s linear infinite}.construction-shell{position:relative;z-index:1;width:min(760px,90vw);padding:clamp(34px,7vw,82px);border:1px solid #ffcd6860;border-radius:32px;background:#080d17d9;box-shadow:0 35px 100px #000c,0 0 50px #ffb72e18;text-align:center}.construction-mark{width:84px;height:84px;margin:0 auto 22px;display:grid;place-items:center;border-radius:24px;background:linear-gradient(145deg,#ffd65f,#ff961d);box-shadow:0 16px 40px #ff9e2444;color:#171005;font-size:48px;font-weight:1000}.construction-shell p{margin:0;color:#ffbd36;font-size:13px;font-weight:950;letter-spacing:.26em}.construction-shell h1{margin:18px auto 24px;max-width:650px;font-size:clamp(36px,6vw,68px);line-height:1.02;letter-spacing:-.045em}.construction-shell strong{display:block;color:#ffd66a;font-size:clamp(20px,3vw,30px);text-transform:uppercase;letter-spacing:.11em}.construction-shell span{display:block;margin-top:12px;color:#aeb9ca;font-size:17px}@keyframes constructionGlow{to{transform:rotate(360deg)}}
/* Fortune Tiger usa a mesma frente segura da WINPOCA com uma matriz clássica 3 × 3. */
.game-card-reel-preview,
.front-reels,
.counter-symbols { grid-template-columns:repeat(var(--reel-count,5),minmax(0,1fr)); }
.front-stage[data-game="fortune-tiger"] {
  width:min(100vw,calc(100vh * 1672 / 941));
  aspect-ratio:1672/941;
  --counter-symbol-scale:1.08;
}
.front-stage[data-game="fortune-tiger"]::before {
  content:"";
  position:absolute;
  z-index:3;
  inset:-18% -42%;
  pointer-events:none;
  background:linear-gradient(108deg,transparent 42%,rgba(255,211,72,.08) 46%,rgba(255,252,211,.82) 49.5%,rgba(255,187,26,.2) 53%,transparent 57%);
  mix-blend-mode:screen;
  opacity:0;
  transform:translateX(-38%) skewX(-9deg);
  animation:fortuneGoldSweep 5.2s ease-in-out infinite;
}
.front-stage[data-game="fortune-tiger"]::after {
  content:"";
  position:absolute;
  z-index:3;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 7% 31%,#fffbd7 0 .18%,#ffc928 .24% .42%,transparent .7%),
    radial-gradient(circle at 18% 77%,#fffbd7 0 .15%,#ffb813 .22% .38%,transparent .66%),
    radial-gradient(circle at 29% 45%,#fffbd7 0 .16%,#ffd140 .23% .4%,transparent .68%),
    radial-gradient(circle at 42% 20%,#fffbd7 0 .14%,#ffbf1f .21% .37%,transparent .64%),
    radial-gradient(circle at 57% 18%,#fffbd7 0 .16%,#ffd140 .23% .4%,transparent .68%),
    radial-gradient(circle at 71% 45%,#fffbd7 0 .16%,#ffbd17 .23% .4%,transparent .68%),
    radial-gradient(circle at 82% 77%,#fffbd7 0 .15%,#ffb813 .22% .38%,transparent .66%),
    radial-gradient(circle at 93% 31%,#fffbd7 0 .18%,#ffc928 .24% .42%,transparent .7%),
    radial-gradient(circle at 35% 88%,#fffbd7 0 .13%,#ffd24b .2% .35%,transparent .62%),
    radial-gradient(circle at 65% 88%,#fffbd7 0 .13%,#ffd24b .2% .35%,transparent .62%);
  filter:drop-shadow(0 0 .35vw #ffd64f) drop-shadow(0 0 .7vw #ff9d00);
  opacity:.32;
  animation:fortuneLights 1.55s steps(2,end) infinite alternate;
}
@keyframes fortuneGoldSweep {
  0%,16%{opacity:0;transform:translateX(-38%) skewX(-9deg)}
  25%{opacity:.62}
  58%{opacity:.48}
  72%,100%{opacity:0;transform:translateX(38%) skewX(-9deg)}
}
@keyframes fortuneLights {
  0%,35%{opacity:.25;filter:drop-shadow(0 0 .2vw #ffc629) brightness(.9)}
  36%,68%{opacity:.92;filter:drop-shadow(0 0 .45vw #fff3a4) drop-shadow(0 0 .8vw #ff9d00) brightness(1.65)}
  69%,100%{opacity:.46;filter:drop-shadow(0 0 .3vw #ffc629) brightness(1.12)}
}
@media (prefers-reduced-motion:reduce){.front-stage[data-game="fortune-tiger"]::before,.front-stage[data-game="fortune-tiger"]::after{animation:none}.front-stage[data-game="fortune-tiger"]::before{display:none}.front-stage[data-game="fortune-tiger"]::after{opacity:.45}}
.front-stage[data-game="fortune-tiger"] .front-reels {
  --reel-divider:rgba(255,191,54,.98);
  background:transparent;
  border:0;
}
.front-stage[data-game="fortune-tiger"] .front-reels::after {
  display:none;
}
.front-stage[data-game="fortune-tiger"] .reel-strip .symbol {
  background:transparent;
  box-shadow:none!important;
}
.front-stage[data-game="fortune-tiger"] .reel-strip .symbol img { object-fit:contain; border-radius:12%; padding:2%; filter:drop-shadow(0 .2vw .2vw #000b) drop-shadow(0 0 .28vw #ffbd35aa); }
.front-stage[data-game="fortune-tiger"] .front-lines-button,
.front-stage[data-game="fortune-tiger"] .line-label { display:none; }
.front-stage[data-game="fortune-tiger"] .front-control {
  border:0;
  background:transparent;
  box-shadow:none;
  color:#fff0b0;
  text-shadow:0 2px 3px #000,0 0 7px #ff9d00;
}
.front-stage[data-game="fortune-tiger"] .front-control:hover,
.front-stage[data-game="fortune-tiger"] .front-control:focus-visible {
  background:radial-gradient(circle,#ffbd2426 0 48%,transparent 70%);
  outline:2px solid #ffe081;
  outline-offset:-7px;
}
.front-stage[data-game="fortune-tiger"] .front-control span { font-size:clamp(14px,1.55vw,27px); }
.front-stage[data-game="fortune-tiger"] .front-control small { font-size:clamp(6px,.5vw,9px); }
.front-stage[data-game="fortune-tiger"] .front-readout {
  padding:0;
  border-radius:0;
  background:transparent;
  color:#fff2a8;
  font-size:clamp(14px,1.72vw,29px);
  line-height:1;
  white-space:nowrap;
  text-shadow:0 2px 2px #4a0800,0 0 8px #f39a14;
}
.front-stage[data-game="fortune-tiger"] .front-free-spins{display:grid;color:#eaffb2;font-size:clamp(14px,1.72vw,29px);text-shadow:0 2px 2px #032300,0 0 9px #67ff3b}
.front-stage[data-game="fortune-tiger"] .front-free-spins.has-free-spins{animation:freeSpinsPulse .85s ease-in-out infinite alternate}
@keyframes freeSpinsPulse{to{filter:brightness(1.35);transform:scale(1.045)}}
.front-stage[data-game="fortune-tiger"] .front-counter { opacity:.98;overflow:hidden;display:grid;place-items:center; }
.front-stage[data-game="fortune-tiger"] .counter-symbols { display:none; }
.front-stage[data-game="fortune-tiger"] .counter-value { position:static;width:100%;height:100%;border:0;background:transparent!important;font-size:clamp(14px,1.72vw,29px);line-height:1; }
.front-stage[data-game="fortune-tiger"] .result-strip { display:flex; left:35%; right:35%; top:auto; bottom:.35%; min-height:2.7%;padding:2px 8px;background:#2b0802ed;border:1px solid #ffbe43;color:#fff1a4;box-shadow:0 .3vw .8vw #000b; }
.front-stage[data-game="fortune-tiger"] .bet-multiplier-label { left:46.5%; top:auto; bottom:7.8%; width:7%; height:3.5%;padding:0;align-items:center;justify-content:center;border:0;background:transparent;color:#fff1a4;font-size:clamp(13px,1.5vw,26px);line-height:1;text-shadow:0 2px 3px #3b0900,0 0 7px #ff9d00;box-shadow:none; }

/* Fortune Tiger: a arte já contém os ícones; estas camadas são apenas áreas clicáveis. */
.front-bet-down-button,.front-max-bet-button { display:none; }
.front-stage[data-game="fortune-tiger"] .front-control > span,
.front-stage[data-game="fortune-tiger"] .front-control > small { display:none; }
.front-stage[data-game="fortune-tiger"] .front-bet-down-button {
  display:block;
  left:18.7%;
  top:83.8%;
  width:5.5%;
  height:10.4%;
  border-radius:50%;
}
.front-stage[data-game="fortune-tiger"] .front-max-bet-button {
  display:block;
  left:76.2%;
  top:83.8%;
  width:6.3%;
  height:10.4%;
  border-radius:50%;
}
.front-stage[data-game="fortune-tiger"] .front-hotspot:hover { outline:none; }
.front-stage[data-game="fortune-tiger"] .volume-panel { left:8%;top:76%; }

/* Usa apenas a área realmente visível; navegadores internos reservam parte do ecrã para a barra superior. */
body.game-active{height:var(--app-visible-height,100dvh);min-height:0}
.game{inset:0 auto auto 0;width:var(--app-visible-width,100vw);height:var(--app-visible-height,100dvh)}
.front-stage,.front-stage[data-game="fortune-tiger"]{width:min(var(--app-visible-width,100vw),calc(var(--app-visible-height,100dvh) * 1672 / 941));height:min(var(--app-visible-height,100dvh),calc(var(--app-visible-width,100vw) * 941 / 1672));aspect-ratio:auto}
@media (orientation:landscape) and (pointer:coarse){
  body.game-active .topbar{top:max(3px,env(safe-area-inset-top));left:auto;right:max(4px,env(safe-area-inset-right));width:auto;max-width:58vw;min-height:34px;padding:3px 5px;border-radius:10px}
  body.game-active .topbar .account{gap:4px}body.game-active .account #player-name{display:none}body.game-active .topbar .dot{width:6px;height:6px}body.game-active .topbar .account strong,body.game-active .topbar .ghost{padding:5px 7px;font-size:10px;border-radius:7px}
}
body.touch-device.game-active .topbar{display:none}
body.touch-device .front-stage{transform:none}
body.touch-device .topbar{height:48px;padding:0 max(10px,env(safe-area-inset-right)) 0 max(10px,env(safe-area-inset-left))}
body.touch-device .logo{font-size:15px}body.touch-device .account{gap:6px;font-size:11px}body.touch-device .account strong,body.touch-device .ghost{padding:6px 8px;font-size:11px}
body.touch-device .lobby{max-width:none;padding:10px max(12px,env(safe-area-inset-right)) 14px max(12px,env(safe-area-inset-left))}
body.touch-device .lobby-copy{display:flex;align-items:end;gap:10px}body.touch-device .lobby-copy .eyebrow{margin:0 0 2px}body.touch-device .lobby-copy h2{font-size:clamp(22px,4vw,34px)}body.touch-device .lobby-copy>p:last-child{display:none}
body.touch-device .game-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:9px}body.touch-device .game-card{border-radius:11px}body.touch-device .game-card-copy{left:9px;right:9px;bottom:7px}body.touch-device .game-card h3{font-size:clamp(11px,1.7vw,17px)}body.touch-device .pill{padding:4px 7px;font-size:8px}
body.touch-device .bonus-modal{inset:9% 14%;padding:8px 10px;gap:3px;border-width:2px;border-radius:14px}
body.touch-device .bonus-header{gap:8px}body.touch-device .bonus-header img{width:clamp(38px,6vw,76px);height:clamp(38px,6vw,76px)}body.touch-device .bonus-header h2{font-size:clamp(15px,2vw,27px)}body.touch-device .bonus-header p{display:none}
body.touch-device .bonus-detail{font-size:clamp(13px,1.7vw,23px)}body.touch-device .bonus-modal>strong{font-size:clamp(13px,1.7vw,23px)}
body.touch-device .bonus-grid{width:min(620px,86%);gap:6px;grid-template-columns:repeat(4,minmax(0,1fr))}body.touch-device .bonus-grid.five-choices{width:min(680px,88%);grid-template-columns:repeat(5,minmax(0,1fr))}body.touch-device .bonus-grid.secondary-stage{width:min(520px,82%);grid-template-columns:repeat(3,minmax(0,1fr))}
body.touch-device .bonus-choice{min-width:0;border-width:2px;border-radius:10px;font-size:clamp(11px,1.5vw,20px)}body.touch-device .bonus-character-grid .bonus-choice{width:clamp(64px,8vw,105px)}body.touch-device .bonus-dice-grid .bonus-choice{width:clamp(58px,7vw,92px)}
body.touch-device .bonus-wheel-wrap{grid-template-columns:minmax(130px,30vh) auto;gap:18px}body.touch-device .bonus-wheel{border-width:6px}body.touch-device .bonus-action{padding:9px 15px;border-width:2px;font-size:clamp(13px,1.6vw,21px)}

/* No jogo móvel a máquina ocupa apenas a área realmente visível.
   Não se usa transform: isso deixava o contentor preto no tamanho antigo. */
@media (orientation:landscape) and (max-height:750px){
  body.game-active{width:100%;height:var(--app-visible-height,100dvh);min-height:0;overflow:hidden;background:#000}
  body.game-active .topbar{display:none!important}
  body.game-active .game{inset:0!important;width:var(--app-visible-width,100vw);height:var(--app-visible-height,100dvh);padding:0;overflow:hidden;place-items:center;background:#000}
  body.game-active .front-stage,
  body.game-active .front-stage[data-game="fortune-tiger"]{
    width:min(var(--app-visible-width,100vw),calc(var(--app-visible-height,100dvh) * 1672 / 941));
    height:min(var(--app-visible-height,100dvh),calc(var(--app-visible-width,100vw) * 941 / 1672));
    max-width:var(--app-visible-width,100vw);
    max-height:var(--app-visible-height,100dvh);
    margin:0;
    transform:none!important;
    transform-origin:center;
  }
  body.game-active .front-stage:not([data-game="fortune-tiger"]) .counter-value{
    top:100%;
    height:65%;
    min-height:0;
    font-size:clamp(13px,2.2vw,21px);
    line-height:1;
  }
}

/* Aplicação móvel: jogador em modo horizontal. */
.landscape-required{display:none}
@media (orientation:portrait) and (max-width:900px){
  body{overflow:hidden}
  .landscape-required{position:fixed;z-index:10000;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:32px;text-align:center;background:radial-gradient(circle at 50% 35%,#172747,#050811 68%);color:#fff}
  .landscape-required .rotate-phone{width:88px;height:56px;display:grid;place-items:center;border:3px solid #ffb429;border-radius:14px;color:#ffcf68;font-size:38px;box-shadow:0 0 28px #ff9f2638;transform:rotate(90deg)}
  .landscape-required strong{margin-top:18px;font-size:26px}.landscape-required span{max-width:320px;color:#b9c3d4;line-height:1.45}
}
@media (orientation:landscape) and (max-height:600px){
  html,body{min-height:100dvh}
  .login-shell{min-height:100dvh;padding:max(10px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}
  .login-card{width:min(760px,94vw);padding:18px 24px;border-radius:20px;display:grid;grid-template-columns:210px 1fr;column-gap:24px;align-items:center}
  .login-card .brand-mark{width:52px;height:52px;font-size:28px}.login-card .eyebrow{margin:12px 0 4px}.login-card h1{font-size:34px}.login-card .intro{margin:8px 0 0;font-size:13px;line-height:1.35}
  .login-card form{grid-column:2;grid-row:1/span 5;margin:0;gap:10px}.login-card input{padding:11px 13px}.login-card button{padding:12px}.login-card .secure-note{grid-column:1;grid-row:5;margin:6px 0 0;text-align:left;font-size:10px;line-height:1.3}
  .topbar{height:54px;padding-left:max(14px,env(safe-area-inset-left));padding-right:max(14px,env(safe-area-inset-right))}.logo{font-size:17px}.account{gap:8px;font-size:12px}.account strong,.ghost{padding:7px 10px}
  .lobby{max-width:none;padding:14px max(18px,env(safe-area-inset-right)) 18px max(18px,env(safe-area-inset-left))}.lobby-copy{display:flex;align-items:end;gap:14px}.lobby-copy .eyebrow{margin:0 0 3px}.lobby-copy h2{font-size:clamp(25px,4.8vw,42px)}.lobby-copy>p:last-child{display:none}
  .game-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}.game-card{border-radius:14px}.game-card-copy{left:11px;right:11px;bottom:9px}.game-card h3{font-size:clamp(13px,2vw,19px)}.pill{padding:5px 8px;font-size:9px}
  .front-stage{width:min(100vw,calc(100dvh * 1672 / 941));max-height:100dvh}body.game-active .topbar{top:max(4px,env(safe-area-inset-top));left:max(4px,env(safe-area-inset-left));right:max(4px,env(safe-area-inset-right));min-height:38px;padding:4px 8px}
}
