/* Boyzees web casino: responsive lobby and a shared, decoded-artwork reveal. */
:root{color-scheme:dark;--muted:#a5aeba;--radius:18px}
html,body{height:100%;height:100dvh;background:#0b1018!important}
#shell{inset:0;border-radius:0;background:#0b1018;animation:none}
h1,h2,h3{font-family:'Segoe UI',Arial,sans-serif;font-weight:700;letter-spacing:-.035em}
button,a,input,select{-webkit-tap-highlight-color:transparent}button{min-height:42px;touch-action:manipulation;border-radius:10px;font-weight:600}
button:disabled{transform:none}input,select{min-height:44px}
.sidebar{width:202px;background:#0e141e;padding:28px 16px;border-color:#ffffff0a}
.brand{margin-bottom:32px}.brand strong{font:800 22px 'Segoe UI',Arial,sans-serif;letter-spacing:3px}.brand small{letter-spacing:5px}
nav{gap:5px}nav button{min-height:46px;font-size:13px;border-radius:11px}nav button.active{background:#dfbd8120;box-shadow:none;color:#f7ddaf}
.settingsNav{border-top:1px solid #ffffff0b;border-radius:0;padding-top:20px}.sidebarFoot{font-size:8px}
.workspace{background:radial-gradient(ellipse at 70% -40%,#35425e33,transparent 70%)}
header{min-height:90px;margin:0 30px}.greeting h1{font-size:23px;letter-spacing:-.025em}.greeting small{color:#b6a88d}
.bankBox{background:#192231;border-color:#ffffff0d;min-width:165px!important;padding:9px 16px;border-radius:12px}.bankBox b{font:700 20px 'Segoe UI',Arial,sans-serif;letter-spacing:.01em}.account button{padding:11px 16px}
#refill{background:#e6c68e;color:#201c14;border-color:#e6c68e}#refill:hover{background:#f8dbab;box-shadow:0 4px 20px #c5a06420}
main{padding:24px 30px 0}.page{overscroll-behavior:contain;padding-bottom:24px;scrollbar-gutter:stable}
.lobbyTop{height:clamp(290px,36vh,390px);grid-template-columns:minmax(0,1fr) 245px;gap:20px}.hero{border:1px solid #ffffff14;border-radius:20px}.hero>img{width:77%;right:0;top:0;height:100%;object-position:center}.heroShade{background:linear-gradient(90deg,#121822 0%,#121822f5 20%,#121822a0 46%,#12182205 78%),linear-gradient(0deg,#101722,transparent 30%)}
.heroCopy{padding:36px;width:70%}.heroCopy h2{font-size:clamp(36px,3.4vw,56px);margin:16px 0;color:#fff3dd;max-width:400px}.heroCopy p{font-size:14px;line-height:1.65;max-width:320px;color:#d2d0d2}.heroActions{margin-top:25px}.heroActions button{font-size:13px;padding:12px 20px;min-height:46px}.heroBottom{padding:16px 36px;font-size:9px}
.sessionPanel{background:#141c28;border-color:#ffffff0b;padding:24px;border-radius:20px}.panelHeading h3{font-size:19px}.sessionPanel .statLine{padding:12px 0;font-size:12px}.recentHeading{margin-top:16px;padding-top:15px}.recentGame{min-height:40px}.recentGame img{width:38px;height:30px}.sessionNote{font-size:10px}
.sectionHead{margin:26px 0 18px}.sectionHead h2{font-size:26px}.sectionHead .textButton{font-size:13px}.sectionHead .eyebrow{font-size:9px}
.gameGrid{gap:18px;grid-template-columns:repeat(4,minmax(0,1fr))}.gameCard{border:1px solid #ffffff10;border-radius:16px;background:#141c28}.gameCard:hover,.gameCard:focus-within{border-color:#e1bf7966;box-shadow:0 14px 35px #0004;transform:translateY(-3px)}.gameArt,#homeGames .gameArt{aspect-ratio:1.5;height:auto!important}.gameCopy{padding:16px}.gameCopy b{font-size:14px}.gameCopy small{font-size:11px;margin-top:9px}.favouriteButton{width:38px;height:38px;min-height:38px;top:10px;right:10px}.favouriteButton svg{width:18px;height:18px}
.latestResult{background:#131b27;border:1px solid #ffffff09;padding:18px;margin-top:22px;border-radius:14px}.latestResult strong,.latestResult .subtle{font-size:12px}
.title h2{font-size:32px}.title p{font-size:14px}.browseControls{gap:10px}.search{background:#161f2c;border-color:#ffffff15;padding:4px 16px;flex:1;max-width:440px}.search input{font-size:14px}select{background:#161f2c;border-color:#ffffff15}.metricTabs button{min-height:44px}.dataPanel,#stats article,.gameStatCard{background:#141c28;border-color:#ffffff0d}.histrow,.lbrow{min-height:58px}.head{background:#ffffff03}.emptyState{background:#141c2855;min-height:180px}.gameStatCard h3{font-size:21px}
footer{padding:15px 30px;font-size:9px;letter-spacing:.3px}
dialog{border-color:#ffffff20;border-radius:22px;background:#151e2b;box-shadow:0 28px 100px #000a;max-height:calc(100dvh - 32px)}dialog::backdrop{background:#03070dbd;backdrop-filter:blur(10px)}dialog[open]{animation:polishDialog .22s ease-out}
.detailsArt{background:#0d1420}.detailsArt>img{object-fit:cover}.detailsArt .closeDetails{border-radius:50%;z-index:1}.detailsContent{padding:32px}.detailsContent h2{font-size:30px}.detailsContent>p{font-size:13px;color:#b9c0cb}.detailFacts{background:#0e1622;border-color:#ffffff10}.detailFacts b{font-weight:600}.dialogActions button{min-height:46px;font-size:13px}.detailNote{font-size:11px!important}.drawer{margin:16px 16px 16px auto;border-radius:20px;height:calc(100dvh - 32px);width:400px}.drawerHead h2{font-size:26px}.settingRow{min-height:44px;font-size:14px}#accountDialog{background:#151e2b;border-color:#ffffff20;border-radius:22px}#accountDialog h2{font-size:30px}.walletAmount{font:700 38px 'Segoe UI',Arial,sans-serif}#accountDialog input{font-size:16px;min-height:48px}.accountClose{min-width:44px;min-height:44px}
.leaveDialog{padding:32px}.leaveDialog h2{font-size:27px}#casinoToast{bottom:28px;right:28px;border-radius:14px;backdrop-filter:blur(10px);max-width:min(420px,calc(100vw - 32px))}
body:has(#gamePage.active) header{height:52px;min-height:52px}body:has(#gamePage.active) .bankBox{border:0;background:transparent;padding:3px 0}.gamebar #back{min-height:36px;padding:8px 12px}body:has(#gamePage.active) .gamebar{height:44px;min-height:44px}body:has(#gamePage.active) main{padding:0 10px}.game.page{padding-bottom:0;scrollbar-gutter:auto}.gameFoot{padding:5px 0;min-height:20px;font-size:9px}#gameHost{border-radius:14px;border-color:#ffffff14}#gameHost iframe{transition:opacity .24s ease;opacity:1}#gameHost iframe.preparingGame{opacity:0;pointer-events:none}
.gameLoader{position:absolute;inset:0;z-index:5;display:grid;place-items:center;overflow:hidden;background:#0c121d;transition:opacity .24s ease}.gameLoader[hidden]{display:none}.loaderGlow{position:absolute;width:min(800px,100%);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#9e784b19,transparent 65%);pointer-events:none}.loaderContent{position:relative;text-align:center;width:min(360px,calc(100% - 48px));padding:24px 0}.loaderContent>img{filter:drop-shadow(0 0 25px #e9be6f33);margin-bottom:18px;animation:crownBreathe 2.4s ease-in-out infinite}.loaderBrand{font-size:23px;font-weight:800;letter-spacing:5px;color:#f5dfb6}.loaderBrand span{display:block;font-size:9px;letter-spacing:6px;margin-top:8px;font-weight:500}.loaderEyebrow{font-size:9px;letter-spacing:2.1px;color:#928979;margin-top:35px}.loaderContent h2{font-size:25px;color:#f4eee5;margin:10px 0 28px}.loadingTrack{height:4px;border-radius:4px;overflow:hidden;background:#ffffff10}.loadingTrack span{display:block;height:100%;width:0;background:linear-gradient(90deg,#a47e44,#f8e1b0);transition:width .2s}.loadingStatus{font-size:12px;line-height:1.7;color:#b2b6c1;margin:16px 0 24px;min-height:40px}.loadingActions{display:flex;justify-content:center;gap:10px}.loadingActions button{font-size:12px;min-height:42px}.loadingActions [hidden]{display:none}.loaderContent>small{display:block;margin-top:24px;font-size:9px;letter-spacing:.5px;color:#7f8797}.gameLoader.loadComplete{opacity:0;pointer-events:none}.gameLoader.loadFailed .loadingTrack{background:#8c504d66}.gameLoader.loadFailed .loadingStatus{color:#efc5b5}
@keyframes crownBreathe{50%{filter:drop-shadow(0 0 35px #e9be6f66);transform:translateY(-3px)}}@keyframes polishDialog{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}
@media(min-width:1800px){main{padding-left:48px;padding-right:48px}.gameGrid{grid-template-columns:repeat(5,minmax(0,1fr))}#homeGames{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1100px){.sidebar{width:164px;padding:24px 12px}.lobbyTop{grid-template-columns:1fr;height:310px}.sessionPanel{display:none}.gameGrid{grid-template-columns:repeat(3,minmax(0,1fr))}.hero>img{width:75%;right:0}.account{gap:8px}.account button{padding:10px 12px}.greeting h1{max-width:150px}.heroCopy{width:70%}}
@media(max-width:700px){
 #shell{inset:0;border-radius:0}.sidebar{position:absolute;bottom:0;left:0;right:0;width:100%;height:calc(70px + env(safe-area-inset-bottom));padding:4px 8px env(safe-area-inset-bottom);z-index:30;background:#111a27f5;border:0;border-top:1px solid #ffffff13;backdrop-filter:blur(16px)}
 .sidebar .brand,.sidebar .settingsNav,.sidebarFoot{display:none}.sidebar nav{height:66px;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:2px}.sidebar nav button{padding:7px 1px;display:flex;flex-direction:column;justify-content:center;gap:5px;min-width:0;min-height:54px;border:0;box-shadow:none;border-radius:10px;font-size:9px;white-space:nowrap}.sidebar nav button span{display:block}.sidebar nav button b{display:none}.sidebar nav button svg{width:21px;height:21px}.sidebar nav button.active{background:#e0bc8118}
 .workspace{padding-bottom:calc(70px + env(safe-area-inset-bottom));width:100%}header{min-height:76px;height:76px;flex-shrink:0;margin:0 16px;padding:10px 0;flex-wrap:nowrap;gap:0}.greeting{display:none}.account{gap:7px;justify-content:space-between;width:100%}.account button{font-size:11px;padding:10px 11px;min-height:42px}.account .bankBox{padding:8px 0;min-width:0!important;border:0;background:none;margin-right:auto}.bankBox small{font-size:8px;letter-spacing:1px}.account .bankBox b{font-size:20px;margin-top:4px}.bankBox i{display:none}
 main{padding:16px 16px 0}.page{padding-bottom:20px;scrollbar-gutter:auto}footer{display:none}.lobbyTop{height:292px}.hero{border-radius:17px}.hero>img{width:95%;right:-18%;opacity:.85}.heroShade{background:linear-gradient(90deg,#111823f8,#111823b8 42%,#11182320),linear-gradient(0deg,#111823,transparent 35%)}.heroCopy{padding:26px 22px;width:88%}.heroCopy h2{font-size:38px;max-width:220px;margin:12px 0 15px}.heroCopy p{font-size:12px;max-width:235px}.heroActions{margin-top:20px;gap:8px}.heroActions button{font-size:12px;padding:11px 14px;min-height:44px}.heroBottom{font-size:8px;padding:14px 22px}.heroBottom span:last-child{display:none}
 .sectionHead{margin:24px 0 14px;align-items:center}.sectionHead h2{font-size:22px}.sectionHead .textButton{font-size:11px;gap:5px}.sectionHead .eyebrow{display:none}.gameGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.gameCard{border-radius:13px}.gameCopy{padding:12px 10px}.gameCopy b{font-size:12px}.gameCopy small{font-size:10px;margin-top:7px}.gameArt,#homeGames .gameArt{aspect-ratio:1.3}.favouriteButton{width:36px;height:36px;min-height:36px;padding:8px;top:6px;right:6px}.gameCard:hover{transform:none}.latestResult{padding:14px;margin-top:16px;gap:10px}.latestResult .subtle,.latestResult strong{font-size:11px}.latestResult .resultNumbers{flex-wrap:wrap;gap:12px}.latestResult .textButton{min-height:34px}.title{margin:4px 0 20px}.title h2{font-size:29px}.title p{font-size:13px}.browseControls{gap:8px}.search{min-width:100%;max-width:none}.search input{font-size:16px}select{font-size:12px;flex:1;min-width:0}.metricTabs{gap:6px}.metricTabs button{font-size:11px;padding:10px}#searchCount,#historyCount{flex-basis:100%;font-size:11px;margin:4px 0}#stats{gap:10px}#stats article{padding:16px}#gameStats{grid-template-columns:1fr}.histrow{font-size:11px;grid-template-columns:1.35fr .7fr .7fr .7fr;gap:6px}.head{font-size:9px}
 #detailsDialog[open]{display:block;width:calc(100vw - 20px);max-width:430px;margin:auto auto 10px;border-radius:22px;max-height:calc(100dvh - 20px)}.detailsArt{height:190px}.detailsArt>img{object-fit:cover}.detailsContent{padding:23px}.detailsContent h2{font-size:27px}.detailFacts{flex-direction:row;gap:12px;padding:14px}.dialogActions{margin-top:18px}.dialogActions button{min-height:48px}.drawer{width:calc(100vw - 20px);max-width:430px;margin:auto auto 10px;height:auto;padding:25px;border-radius:22px;max-height:calc(100dvh - 20px)}#accountDialog{padding:28px 24px;max-height:calc(100dvh - 24px)}.leaveDialog{width:calc(100vw - 24px);padding:26px}.leaveDialog h2{font-size:25px}#casinoToast{bottom:calc(86px + env(safe-area-inset-bottom));left:16px;right:16px;max-width:none;font-size:12px;padding:14px}
 body:has(#gamePage.active) .workspace{padding-bottom:0}body:has(#gamePage.active) header{margin:0 10px;height:50px;min-height:50px;padding:4px 0}body:has(#gamePage.active) .account button{min-height:36px;padding:8px 10px}body:has(#gamePage.active) .bankBox b{font-size:17px}body:has(#gamePage.active) .bankBox small{font-size:7px}body:has(#gamePage.active) main{padding:0 3px}body:has(#gamePage.active) .gamebar{height:40px;min-height:40px;padding:3px 7px;gap:10px}.gamebar #back{font-size:10px;min-height:32px;padding:5px 8px;gap:5px}.gamebar #back svg{width:14px;height:14px}.gamebar h2{font-size:12px!important;line-height:1.2;margin:0}#gameHost{border-radius:9px}.gameFoot{padding:3px 6px;font-size:8px;min-height:17px}body:has(#gamePage.active) #casinoToast{bottom:20px}.loaderContent h2{font-size:23px}.loaderContent>img{width:60px;height:60px}.loaderEyebrow{margin-top:28px}
}
@media(max-height:500px){body:has(#gamePage.active) header{display:none}body:has(#gamePage.active) .gamebar{height:34px;min-height:34px;padding:2px 4px}.gamebar #back{min-height:28px;padding:3px 10px}.gameFoot{display:none}.loaderContent{padding:12px 0}.loaderContent>img{width:36px;height:36px;margin-bottom:8px}.loaderBrand{font-size:16px}.loaderBrand span,.loaderEyebrow,.loaderContent>small{display:none}.loaderContent h2{font-size:20px;margin:12px 0}.loadingStatus{margin:10px 0;min-height:20px}.loadingActions button{min-height:34px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.mobileIdentity{display:none}#profilePage .title>.outline{margin-top:16px;font-size:12px}
#lounge{background:#141e2c;border-color:#ffffff16;padding:24px 20px;animation:drawerIn .22s ease-out}.loungeHead h2{font:700 25px 'Segoe UI',Arial,sans-serif}.loungeHead{margin-bottom:20px}#closeLounge{width:44px;height:44px;background:#ffffff06;border-radius:12px}#chatText{font-size:16px;border-radius:11px;background:#0d1622;border-color:#ffffff25;min-height:46px}#sendChat{background:#e6c68e;color:#201c14;border:0;border-radius:11px}.chatMessage{padding:14px 0}.chatMessage p{font-size:13px}.chatMessage time{color:#92a0b1}#chatRoomTitle{font:600 15px 'Segoe UI',Arial,sans-serif}.onlinePlayer{min-height:48px}.loungeAvatar{font-family:'Segoe UI',Arial,sans-serif}#socialStatus{color:#a4afbd}.chatTabs button{min-height:42px}.shareSetting small{color:#a5afbe}
@media(max-width:700px){
 .mobileIdentity{display:flex;width:100%;align-items:center;justify-content:space-between;height:32px;flex-shrink:0}.mobileIdentity>span{display:flex;align-items:center;gap:7px;font-size:12px;letter-spacing:1.5px;font-weight:800;color:#f1d8aa}.mobileIdentity small{font-size:7px;letter-spacing:1px}.mobileIdentity button{width:32px;height:32px;min-height:32px;padding:2px;border:0;font-size:17px;color:#c8bca9}
 .workspace>header{height:108px;min-height:108px;flex-direction:column;gap:2px;padding:7px 0}.workspace>header>.account{height:60px}
 body:has(#gamePage.active) .mobileIdentity{display:none}body:has(#gamePage.active) .workspace>header{height:50px;min-height:50px;padding:4px 0}body:has(#gamePage.active) .workspace>header>.account{height:42px}
 #lounge{top:8%;bottom:0;width:100%;border-radius:24px 24px 0 0;padding:20px 20px max(18px,env(safe-area-inset-bottom));box-shadow:0 -30px 100px #000b}.loungeHead{margin-bottom:12px}#lounge .onlineSection{max-height:110px;overflow:auto;flex-shrink:0}
}
@media(max-height:500px){body:has(#gamePage.active) .workspace>header{display:none}}

/* Keep Sauce Boss's landscape proportions across the collection. Portrait
   remains a native responsive viewport, including Vice's approved layout. */
#gameHost.landscapeStage iframe{position:absolute;left:50%;top:50%;width:1600px!important;height:900px!important;max-width:none;max-height:none;margin:0;transform:translate(-50%,-50%) scale(var(--game-stage-scale,1));transform-origin:center;}
/* Hooked's wide boat deck needs more breathing room than the 16:9 cabinets. */
#gameHost.landscapeStage iframe[data-game-id="eclipse-hooked-monster-waters"]{transform:translate(-50%,-50%) scale(calc(var(--game-stage-scale,1) * .88));}
