/* BALI DJ immersive v1: no site chrome, full-sized playable stage,
   separate full-window leaderboard and exact-reference photo face. */
body.bali-guest-theme .app.tg-immersive-game{
 padding:0!important;display:block!important;width:100vw!important;height:100dvh!important;
 overflow:hidden!important;background:#070b1c!important;isolation:isolate
}
body.bali-guest-theme .tg-immersive-game>.head,
body.bali-guest-theme .tg-immersive-game>.nav{display:none!important}
body.bali-guest-theme .tg-immersive-game>.main{
 padding:0!important;margin:0!important;width:100%!important;height:100%!important;
 min-height:0!important;max-height:100dvh!important;display:block!important;
 background:radial-gradient(ellipse at 50% 30%,#293163,#08091b 77%)!important;
 overflow:hidden!important
}
body.bali-guest-theme .tg-immersive-game .tg-page-game{
 height:100%!important;min-height:0!important;padding:0!important;border:0!important;
 display:block!important;overflow:hidden!important
}
body.bali-guest-theme .tg-immersive-game .tg-page-game #screen{
 width:100%;height:100%;min-height:0;display:block;overflow:hidden
}
body.bali-guest-theme .tg-immersive-game .dj-game-page{
 width:100vw!important;max-width:none!important;height:100dvh!important;min-height:0!important;
 margin:0!important;overflow:hidden!important;border:0!important;border-radius:0!important;
 padding:calc(var(--tg-safe-top,0px) + var(--tg-content-top,0px) + 6px)
   clamp(6px,2vw,16px)
   calc(var(--tg-safe-bottom,0px) + var(--tg-content-bottom,0px) + 5px)!important;
 display:flex!important;flex-direction:column!important;gap:0!important;
 background:
 radial-gradient(ellipse at 50% 30%,#3e276f40,transparent 68%),
 linear-gradient(177deg,#13112e,#080b19 55%,#101329)!important
}
body.bali-guest-theme .tg-immersive-game .dj-titlebar{
 height:clamp(38px,6.5dvh,58px)!important;min-height:38px;flex-shrink:0!important;
 display:grid!important;grid-template-columns:90px 1fr 90px!important;
 gap:4px!important;align-items:center!important
}
body.bali-guest-theme .tg-immersive-game .dj-back{
 display:flex!important;align-items:center;gap:4px;justify-content:center;
 min-width:0!important;height:clamp(33px,5dvh,44px)!important;
 padding:0 6px!important;color:#f5f0e0!important;
 border:1px solid #9299bb81!important;border-radius:99px!important;
 background:linear-gradient(145deg,#31345c,#12152e)!important;
 box-shadow:inset 0 1px #ffffff55,0 3px 8px #000a!important;
 font:850 clamp(10px,1.6dvh,13px)/1 Manrope,Inter,sans-serif!important;
 -webkit-tap-highlight-color:transparent
}
.dj-back:active{transform:translateY(2px) scale(.96)!important;filter:brightness(1.3)}
.dj-back>span{white-space:nowrap}
body.bali-guest-theme .tg-immersive-game .dj-title-center{text-align:center;min-width:0}
body.bali-guest-theme .tg-immersive-game .dj-titlebar h1{
 margin:0!important;font-size:clamp(24px,4.5dvh,37px)!important;
 text-align:center!important;white-space:nowrap!important
}
body.bali-guest-theme .tg-immersive-game .dj-coin-puck{
 max-width:100%;padding:5px!important;
 justify-content:center!important;font-size:clamp(8px,1.1dvh,10px)!important;
}
body.bali-guest-theme .tg-immersive-game .dj-coin-puck small{font-size:clamp(7px,1dvh,9px)!important}
body.bali-guest-theme .tg-immersive-game .dj-stats{
 height:clamp(22px,3.7dvh,30px)!important;min-height:22px!important;
 margin:0 0 3px!important;gap:4px!important;flex-shrink:0!important
}
body.bali-guest-theme .tg-immersive-game .dj-stats>span{
 display:flex!important;flex-direction:row!important;justify-content:center!important;
 gap:4px!important;padding:2px!important;font-size:clamp(7px,1.1dvh,10px)!important;
}
body.bali-guest-theme .tg-immersive-game .dj-stats b{font-size:clamp(11px,1.5dvh,14px)!important}
body.bali-guest-theme .tg-immersive-game .dj-stage{
 height:clamp(90px,19dvh,180px)!important;min-height:90px!important;
 margin:0 0 clamp(3px,.6dvh,7px)!important;
 border-color:#9d82f28a!important;
 background:linear-gradient(160deg,#1b1c46,#121022 65%,#1d2541)!important;
 overflow:hidden!important
}
body.bali-guest-theme .tg-immersive-game .dj-photoreal-scene{
 position:absolute;inset:0;z-index:1;pointer-events:none;
 background-image:url('/assets/bali-dj-exact-face.webp');
 background-position:center 48%;background-repeat:no-repeat;
 background-size:cover;
 filter:saturate(1.17) contrast(1.03);
 animation:djRealCamera 5.5s ease-in-out infinite alternate
}
body.bali-guest-theme .tg-immersive-game .dj-illustration{display:none!important}
body.bali-guest-theme .tg-immersive-game .dj-crowd{z-index:3;opacity:.68}
body.bali-guest-theme .tg-immersive-game .dj-disco{display:none!important}
body.bali-guest-theme .tg-immersive-game .dj-tabbar{
 display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
 gap:0!important;position:absolute!important;
 z-index:5!important;top:clamp(88px,14dvh,150px)!important;
 left:clamp(9px,3vw,20px)!important;right:clamp(9px,3vw,20px)!important;
 height:clamp(48px,8.6dvh,76px)!important;margin:0!important;
 pointer-events:none!important;align-items:center!important
}
body.bali-guest-theme .tg-immersive-game .dj-tabbar button{
 pointer-events:auto!important;display:flex!important;flex-direction:column!important;
 align-items:center!important;justify-content:center!important;gap:2px!important;
 width:clamp(56px,15vw,82px)!important;height:clamp(48px,8.4dvh,76px)!important;
 min-height:48px!important;padding:4px!important;border:2px solid #8d89ef!important;
 border-radius:50%!important;color:#f8efff!important;
 background:radial-gradient(circle at 30% 10%,#a385ff7a,#34245ecf 55%,#101328f2)!important;
 box-shadow:inset 0 1px #fff9,0 0 12px #a57eff9a,0 4px 13px #000a!important;
 font:900 clamp(7px,1.2dvh,10px)/1.15 Manrope,Inter,sans-serif!important;
 text-shadow:0 1px #080b14!important;
}
body.bali-guest-theme .tg-immersive-game .dj-tabbar button:last-child{
 justify-self:end!important;border-color:#5ce5f6!important;
 background:radial-gradient(circle at 30% 10%,#9ffaff6d,#1c5376e6 50%,#10172c)!important;
 box-shadow:inset 0 1px #fff9,0 0 12px #42e6ff9a,0 4px 13px #000a!important
}
body.bali-guest-theme .tg-immersive-game .dj-tabbar button span{font-size:clamp(16px,2.6dvh,23px)}
body.bali-guest-theme .tg-immersive-game .dj-tabbar button b{font-size:inherit;white-space:nowrap}
body.bali-guest-theme .tg-immersive-game .dj-tabbar button.selected{
 border-color:#fff9cf!important;box-shadow:inset 0 1px #fff,0 0 21px #fff1adbb!important
}
body.bali-guest-theme .tg-immersive-game .dj-tabbar button:active{transform:scale(.91)!important}
/* Critical: huge 6-by-6 tile surface, upper bound only viewport width
   and the actual height remaining after controls. */
body.bali-guest-theme .tg-immersive-game .dj-game-section{
 flex:1 1 0!important;min-height:0!important;
 display:flex!important;flex-direction:column!important;
 gap:clamp(2px,.65dvh,6px)!important;justify-content:space-between!important;
 overflow:hidden!important
}
body.bali-guest-theme .tg-immersive-game .dj-info-row{
 flex:none!important;gap:3px!important
}
body.bali-guest-theme .tg-immersive-game .dj-info-row>span{font-size:clamp(8px,1.25dvh,11px)!important}
body.bali-guest-theme .tg-immersive-game .dj-info-row b{font-size:clamp(18px,3dvh,25px)!important}
body.bali-guest-theme .tg-immersive-game .dj-board-housing{
 flex:0 1 auto!important;align-self:center!important;
 width:min(calc(100vw - 12px),calc(100dvh - 255px),560px)!important;
 max-width:calc(100% - 2px)!important;
 min-width:0!important;height:auto!important;max-height:100%!important;
 aspect-ratio:1!important;
 margin:clamp(2px,.3dvh,6px) auto!important;padding:clamp(4px,1.2vw,7px)!important;
 border-radius:clamp(11px,2.8vw,18px)!important;
 border:2px solid #b8d6f7!important;
 background:linear-gradient(145deg,#67749f,#161c3c 22%,#0b1630 73%,#4c5c9d)!important;
 box-shadow:inset 0 2px #fff8,0 4px 0 #24345b,0 10px 26px #000b,0 0 17px #977dff4e!important
}
body.bali-guest-theme .tg-immersive-game .dj-grid{gap:clamp(3px,.75vw,5px)!important}
body.bali-guest-theme .tg-immersive-game .dj-cell{border-radius:clamp(7px,2vw,12px)!important}
body.bali-guest-theme .tg-immersive-game .dj-cell>span{
 font-size:clamp(21px,min(6.5vw,5dvh),38px)!important;
}
body.bali-guest-theme .tg-immersive-game .dj-energy-label{
 flex:none!important;font-size:clamp(9px,1.4dvh,12px)!important
}
body.bali-guest-theme .tg-immersive-game .dj-energy-track{
 flex:none!important;height:clamp(10px,1.7dvh,15px)!important
}
body.bali-guest-theme .tg-immersive-game .dj-primary{
 flex:none!important;min-height:clamp(40px,6dvh,56px)!important;
 font-size:clamp(12px,2dvh,16px)!important;
}
body.bali-guest-theme .tg-immersive-game .dj-message{
 font-size:clamp(8px,1.2dvh,11px)!important;flex:none!important
}
body.bali-guest-theme .tg-immersive-game .dj-footer{
 flex:none!important;min-height:20px!important;
 margin-top:3px!important;font-size:clamp(8px,1.1dvh,10px)!important
}
/* Distinct, genuine full-viewport leaderboard instead of the old
   miniature game field with a small inset list. */
body.bali-guest-theme .tg-immersive-game .dj-view-rank .dj-stage,
body.bali-guest-theme .tg-immersive-game .dj-view-rank .dj-stats{display:none!important}
body.bali-guest-theme .tg-immersive-game .dj-view-rank .dj-tabbar{
 top:clamp(97px,16dvh,149px)!important
}
body.bali-guest-theme .tg-immersive-game .dj-rating-section{
 flex:1!important;min-height:0!important;display:flex!important;
 flex-direction:column!important;gap:clamp(8px,1.6dvh,13px)!important;
 overflow:hidden!important;padding:0 1px!important;
}
body.bali-guest-theme .tg-immersive-game .dj-rating-section[hidden]{display:none!important}
.dj-rating-hero{
 display:flex;align-items:center;justify-content:center;flex:none;
 gap:12px;min-height:clamp(112px,20dvh,180px);
 padding:20px 12px;border:1px solid #d7b9779e;border-radius:15px;
 background:radial-gradient(circle at 34% 12%,#b0a0ff5b,transparent 65%),linear-gradient(165deg,#36325a,#16182f)!important;
 box-shadow:inset 0 1px #fff5,0 5px 15px #0009
}
.dj-rating-hero>span{font-size:clamp(46px,10dvh,80px);filter:drop-shadow(0 6px 9px #0008)}
.dj-rating-hero small{display:block;color:#d7bbfe;font:900 clamp(9px,1.6dvh,13px)/1.2 Manrope,Inter,sans-serif;letter-spacing:.12em}
.dj-rating-hero h2{color:#fff0ac;font:950 clamp(19px,3.6dvh,30px)/1.1 Manrope,Inter,sans-serif;margin:5px 0}
.dj-rating-hero p{margin:0;color:#d5dbeb;font:650 clamp(9px,1.3dvh,12px)/1.3 Manrope,Inter,sans-serif}
body.bali-guest-theme .tg-immersive-game .dj-ranking-header{
 gap:10px!important;padding:2px 8px!important;flex:none
}
body.bali-guest-theme .tg-immersive-game .dj-ranking-header>span{font-size:clamp(11px,1.6dvh,14px)!important}
body.bali-guest-theme .tg-immersive-game .dj-ranking-header strong{font-size:clamp(14px,2.1dvh,19px)!important}
body.bali-guest-theme .tg-immersive-game .dj-you-rank{
 flex:none!important;justify-content:space-around!important;
 padding:clamp(10px,2dvh,18px)!important;font-size:clamp(11px,1.7dvh,14px)!important
}
body.bali-guest-theme .tg-immersive-game .dj-you-rank b{font-size:clamp(28px,5dvh,41px)!important}
body.bali-guest-theme .tg-immersive-game .dj-ranking-list{
 flex:1 1 0!important;min-height:0!important;overflow-y:auto!important;align-content:start!important
}
body.bali-guest-theme .tg-immersive-game .dj-rank-row{
 min-height:clamp(48px,8dvh,68px)!important;
 grid-template-columns:clamp(30px,8vw,49px) 1fr auto!important;
 padding:clamp(7px,1.2dvh,11px) 11px!important
}
body.bali-guest-theme .tg-immersive-game .dj-rank-row span{font-size:clamp(18px,3dvh,25px)!important}
body.bali-guest-theme .tg-immersive-game .dj-rank-row b,
body.bali-guest-theme .tg-immersive-game .dj-rank-row strong{font-size:clamp(13px,1.9dvh,17px)!important}
body.bali-guest-theme .tg-immersive-game .dj-prize-preview{font-size:clamp(9px,1.3dvh,11px)!important}
@media(max-height:650px){
 body.bali-guest-theme .tg-immersive-game .dj-stage{height:clamp(82px,17dvh,115px)!important}
 body.bali-guest-theme .tg-immersive-game .dj-titlebar{height:38px!important}
 body.bali-guest-theme .tg-immersive-game .dj-board-housing{
  width:min(calc(100vw - 12px),calc(100dvh - 230px),480px)!important;
 }
 body.bali-guest-theme .tg-immersive-game .dj-tabbar{
  top:clamp(71px,15dvh,102px)!important;
  height:50px!important
 }
 body.bali-guest-theme .tg-immersive-game .dj-tabbar button{
  width:54px!important;height:48px!important
 }
 body.bali-guest-theme .tg-immersive-game .dj-primary{min-height:34px!important}
 body.bali-guest-theme .tg-immersive-game .dj-footer small{display:none}
 body.bali-guest-theme .tg-immersive-game .dj-rating-hero{min-height:115px}
}
@media(min-width:700px){
 body.bali-guest-theme .tg-immersive-game .dj-game-page{
  max-width:800px!important;margin:0 auto!important;
  border-left:1px solid #58508b!important;border-right:1px solid #58508b!important
 }
}
@keyframes djRealCamera{
 from{transform:scale(1);filter:saturate(1.05)}
 to{transform:scale(1.025);filter:saturate(1.22) brightness(1.05)}
}
@media(prefers-reduced-motion:reduce){
 body.bali-guest-theme .tg-immersive-game .dj-photoreal-scene{animation:none!important}
}

/* On short phones reserve the actual vertical space for a minimum 44px tile.
   The original 308px board was taller than the remaining content at 568px. */
@media(max-height:650px){
 body.bali-guest-theme .tg-immersive-game .dj-board-housing{
  width:min(calc(100vw - 10px),calc(100dvh - 284px),480px)!important
 }
 body.bali-guest-theme .tg-immersive-game .dj-stage{height:clamp(80px,16dvh,105px)!important}
 body.bali-guest-theme .tg-immersive-game .dj-info-row b{font-size:17px!important}
 body.bali-guest-theme .tg-immersive-game .dj-footer{min-height:15px!important}
}

/* Photo rig and content-based viewport sizing. */
body.bali-guest-theme .tg-immersive-game .dj-game-page,
body.bali-guest-theme .tg-immersive-game .dj-game-page *{box-sizing:border-box}
body.bali-guest-theme .tg-immersive-game .dj-stage{
 height:clamp(70px,12dvh,112px)!important;min-height:0!important;
 pointer-events:none;
 background:radial-gradient(ellipse at 50% 30%,#243e79,transparent 70%),#100d2b!important
}
.dj-photo-rig{position:absolute;inset:0;width:100%;height:100%;overflow:visible;z-index:2;pointer-events:none}
.dj-photo-body{transform-origin:315px 355px;animation:djPhotoGroove 3.2s ease-in-out infinite}
.dj-photo-left{transform-origin:162px 240px;animation:djPhotoKnob 2.7s ease-in-out infinite}
.dj-photo-right{transform-origin:420px 290px;animation:djPhotoFader 3.7s ease-in-out infinite}
@keyframes djPhotoGroove{0%,100%{transform:translateY(0) rotate(-.35deg)}50%{transform:translateY(1.4px) rotate(.35deg)}}
@keyframes djPhotoKnob{0%,100%{transform:rotate(-1deg)}30%{transform:rotate(1.7deg) translate(1px,0)}65%{transform:rotate(.5deg) translate(0,-1px)}}
@keyframes djPhotoFader{0%,100%{transform:translate(0,0)}35%{transform:translate(-7px,-1px) rotate(-1deg)}70%{transform:translate(2px,0)}}
body.bali-guest-theme .tg-immersive-game .dj-tabbar{
 top:calc(var(--tg-safe-top,0px) + var(--tg-content-top,0px) + clamp(65px,10.5dvh,95px))!important;
 height:48px!important
}
body.bali-guest-theme .tg-immersive-game .dj-tabbar button{
 width:clamp(48px,13vw,65px)!important;height:48px!important;min-height:44px!important
}
body.bali-guest-theme .tg-immersive-game .dj-board-housing{
 width:var(--dj-board-size,240px)!important;height:var(--dj-board-size,240px)!important;
 flex:none!important;max-height:none!important
}
/* These must outrank the immersive display:flex declarations above. */
body.bali-guest-theme .tg-immersive-game .dj-game-section[hidden],
body.bali-guest-theme .tg-immersive-game .dj-rating-section[hidden],
body.bali-guest-theme .tg-immersive-game .dj-view-rank .dj-game-section,
body.bali-guest-theme .tg-immersive-game .dj-view-rank .dj-stage,
body.bali-guest-theme .tg-immersive-game .dj-view-rank .dj-stats,
body.bali-guest-theme .tg-immersive-game .dj-view-rank .dj-tabbar,
body.bali-guest-theme .tg-immersive-game .dj-view-rank .dj-footer{display:none!important}
body.bali-guest-theme .tg-immersive-game .dj-view-rank .dj-rating-section{gap:8px!important}
body.bali-guest-theme .tg-immersive-game .dj-rating-hero{min-height:0!important;padding:12px!important}
body.bali-guest-theme .tg-immersive-game .dj-rating-hero>span{font-size:36px!important}
body.bali-guest-theme .tg-immersive-game .dj-ranking-list{display:flex!important;flex-direction:column!important;gap:4px!important}
body.bali-guest-theme .tg-immersive-game .dj-rank-row{flex:none!important;min-height:44px!important}
body.bali-guest-theme .tg-immersive-game .dj-ranking-header{flex-wrap:wrap}
@media(prefers-reduced-motion:reduce){
 .dj-photo-body,.dj-photo-left,.dj-photo-right{animation:none!important}
}
/* The shared .tg-page cap must not crop the fullscreen game on wide screens. */
body.bali-guest-theme .tg-immersive-game .tg-page-game{
 width:100%!important;max-width:none!important;margin:0!important
}
body.bali-guest-theme .tg-immersive-game .dj-game-page{width:100%!important}
.dj-human-model{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain;z-index:2;pointer-events:none;user-select:none}

/* Club palette: cyan, ultraviolet, hot pink and electric lime. */
body.bali-guest-theme .tg-immersive-game .dj-game-page{
 --dj-aqua:#22fff0;--dj-gold:#ffe53b;--dj-blue:#8e70ff;
 background:radial-gradient(ellipse at 15% 25%,#5425c965,transparent 58%),
 radial-gradient(ellipse at 88% 65%,#dc158f38,transparent 54%),
 linear-gradient(165deg,#191040,#090e2c 55%,#1c0c38)!important
}
body.bali-guest-theme .tg-immersive-game .dj-stage{
 border-color:#9b69ff!important;
 background:radial-gradient(ellipse at 50% 65%,#4459bb88,transparent 65%),
 linear-gradient(115deg,#291258,#112b5c 50%,#49134e)!important;
 box-shadow:inset 0 0 22px #7f45ff40,0 0 10px #c143ff55,0 3px 0 #392165!important
}
body.bali-guest-theme .tg-immersive-game .dj-crowd{display:none!important}
body.bali-guest-theme .tg-immersive-game .dj-equalizer{opacity:1;z-index:3;height:30%;bottom:6px}
body.bali-guest-theme .tg-immersive-game .dj-equalizer i{
 width:4px;background:#21fff0;box-shadow:0 0 9px currentColor;color:#21fff0
}
body.bali-guest-theme .tg-immersive-game .dj-equalizer i:nth-child(3n){background:#ff36d8;color:#ff36d8}
body.bali-guest-theme .tg-immersive-game .dj-equalizer i:nth-child(4n){background:#bc6aff;color:#bc6aff}
body.bali-guest-theme .tg-immersive-game .dj-equalizer i:nth-child(5n){background:#d3ff31;color:#d3ff31}
body.bali-guest-theme .tg-immersive-game .dj-board-housing{
 border-color:#afacff!important;
 background:linear-gradient(135deg,#a76fff,#252662 30%,#163067 70%,#35d5f4)!important;
 box-shadow:inset 0 2px #fff9,0 4px 0 #382475,0 8px 24px #0009,0 0 18px #b23bff66!important
}
body.bali-guest-theme .tg-immersive-game .dj-cell{border-color:#f2eaff80!important}
body.bali-guest-theme .tg-immersive-game .dj-type-0{background:linear-gradient(145deg,#d9edff,#5279e7 55%,#343aa4)!important}
body.bali-guest-theme .tg-immersive-game .dj-type-1{background:linear-gradient(145deg,#ffa2f2,#d527df 58%,#811eb6)!important}
body.bali-guest-theme .tg-immersive-game .dj-type-2{background:linear-gradient(145deg,#ffdafb,#b25fff 55%,#6f31bb)!important}
body.bali-guest-theme .tg-immersive-game .dj-type-3{background:linear-gradient(145deg,#98faff,#16bfea 55%,#136bb3)!important}
body.bali-guest-theme .tg-immersive-game .dj-type-4{background:linear-gradient(145deg,#f3ffa1,#9fdf22 55%,#368e3d)!important}
body.bali-guest-theme .tg-immersive-game .dj-type-5{background:linear-gradient(145deg,#fff6a6,#ffc328 55%,#d37b13)!important}
body.bali-guest-theme .tg-immersive-game .dj-tabbar button{
 background:radial-gradient(circle at 30% 10%,#c778ff,#6b249d 55%,#28124c)!important;
 border-color:#e0a5ff!important;box-shadow:inset 0 1px #fff9,0 0 14px #da43ff88!important
}
body.bali-guest-theme .tg-immersive-game .dj-tabbar button:last-child{
 background:radial-gradient(circle at 30% 10%,#69f7ff,#156da5 55%,#122a66)!important;
 border-color:#79f9ff!important;box-shadow:inset 0 1px #fff9,0 0 14px #19ddff88!important
}
body.bali-guest-theme .tg-immersive-game .dj-primary{
 background:linear-gradient(115deg,#91ffdf,#24f2da 48%,#37c6ff)!important;
 color:#092e42!important;border-color:#baffff!important;border-bottom-color:#168aa9!important;
 box-shadow:inset 0 1px #fff,0 0 18px #1aeef24f!important
}
body.bali-guest-theme .tg-immersive-game .dj-energy-track i{
 background:linear-gradient(90deg,#24dfff,#914dff 50%,#ff3cd8)!important;
 box-shadow:0 0 12px #a35bff!important
}
body.bali-guest-theme .tg-immersive-game .dj-stats>span{
 background:linear-gradient(130deg,#36225f,#16375b)!important;border-color:#927af477!important
}
body.bali-guest-theme .tg-immersive-game .dj-info-row b{color:#fff26d!important;text-shadow:0 0 12px #ffe24c44}
body.bali-guest-theme .tg-immersive-game .dj-titlebar h1 em{
 background-image:linear-gradient(#fff,#61fff5 50%,#51b5ff)!important
}
body.bali-guest-theme .tg-immersive-game .dj-rating-hero{
 background:radial-gradient(circle at 25% 15%,#bd51ff66,transparent 65%),linear-gradient(145deg,#492270,#152d62)!important
}
body.bali-guest-theme .tg-immersive-game .dj-rank-row{background:linear-gradient(115deg,#32235c,#18385c)!important;border-color:#8d7be16b!important}
body.bali-guest-theme .tg-immersive-game .dj-rank-row.is-me{background:linear-gradient(115deg,#583793,#185775)!important;border-color:#5cf7ef!important}

/* Controls are children of the stage: center against the actual frame. */
body.bali-guest-theme .tg-immersive-game .dj-stage{pointer-events:auto}
body.bali-guest-theme .tg-immersive-game .dj-stage .dj-tabbar{
 position:absolute!important;inset:0 8px!important;top:0!important;
 width:auto!important;height:100%!important;margin:0!important;
 display:flex!important;align-items:center!important;justify-content:space-between!important;
 pointer-events:none!important
}
body.bali-guest-theme .tg-immersive-game .dj-stage .dj-tabbar button{
 --dj-mode-size:clamp(44px,8dvh,64px);
 width:var(--dj-mode-size)!important;height:var(--dj-mode-size)!important;
 min-width:var(--dj-mode-size)!important;min-height:var(--dj-mode-size)!important;
 max-width:var(--dj-mode-size)!important;max-height:var(--dj-mode-size)!important;
 aspect-ratio:1!important;border-radius:50%!important;padding:2px!important;
 flex:0 0 var(--dj-mode-size)!important;pointer-events:auto!important
}
body.bali-guest-theme .tg-immersive-game .dj-equalizer{z-index:1;pointer-events:none}
.dj-human-model{z-index:2}
.dj-boosters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;flex:none}
.dj-booster-card{min-width:0;border:1px solid #a58bee88;border-radius:10px;overflow:hidden;
 background:linear-gradient(135deg,#39245f,#182d4c);box-shadow:inset 0 1px #fff3}
.dj-booster-card button{cursor:pointer;width:100%;border:0;color:#f5efff;background:transparent;font-family:inherit}
.dj-booster-card button:first-child{display:flex;align-items:center;justify-content:center;gap:5px;min-height:29px;padding:3px}
.dj-booster-card button span{font-size:18px}.dj-booster-card button b{font-size:clamp(8px,1.2dvh,11px)}
.dj-booster-card button small{color:#82fff1;font-size:10px;font-weight:900}
.dj-booster-card button:last-child{border-top:1px solid #a58bee55;background:#753acb45;color:#e5f5ff;min-height:20px;font-size:10px;font-weight:900}
.dj-booster-card button:disabled{opacity:.5;cursor:default}
.dj-booster-card.armed{border-color:#fff079;box-shadow:0 0 12px #ffdb5466}
.dj-cell.dj-target{outline:1px solid #fff69e;cursor:crosshair}
.dj-booster-overlay{position:absolute;inset:0;z-index:80;display:grid;place-items:center;padding:14px;background:#070b24db;backdrop-filter:blur(9px)}
.dj-booster-overlay>div{position:relative;display:grid;gap:13px;width:min(100%,350px);max-height:100%;overflow:auto;
 padding:25px 18px 18px;text-align:center;color:#f8f3ff;border:1px solid #b58aff;border-radius:20px;background:linear-gradient(150deg,#492275,#152e55);box-shadow:0 0 30px #b146ff55}
.dj-booster-overlay [data-dj-shop-close]{position:absolute;top:6px;right:8px;background:none;border:0;color:#fff;font-size:26px;min-width:35px;min-height:35px}
.dj-booster-overlay>div>span{font-size:45px}.dj-booster-overlay h2{margin:0;font-size:23px}
.dj-booster-overlay p{margin:0;font-size:13px;line-height:1.45}.dj-booster-overlay small{font-size:11px;color:#9efff1}
.dj-booster-overlay [role=status]{min-height:18px;color:#fff08f}
@media(max-height:620px){.dj-boosters{gap:4px}.dj-booster-card button:first-child{min-height:26px;gap:3px}.dj-booster-card button:last-child{min-height:18px}}

/* Larger proportional portrait, side HUD and a dedicated game shop. */
body.bali-guest-theme .tg-immersive-game .dj-stage{
 height:clamp(132px,24dvh,260px)!important;min-height:0!important;flex:none!important
}
body.bali-guest-theme .tg-immersive-game .dj-human-model{
 width:100%!important;height:100%!important;object-fit:contain!important;
 object-position:center bottom!important;image-rendering:auto;filter:none!important
}
body.bali-guest-theme .tg-immersive-game .dj-playfield{
 flex:1 1 0;min-height:0;display:flex;align-items:center;justify-content:center;
 width:100%;gap:clamp(4px,1vw,10px);overflow:visible
}
body.bali-guest-theme .tg-immersive-game .dj-playfield .dj-board-housing{
 margin:0!important;flex:none!important
}
body.bali-guest-theme .tg-immersive-game .dj-playfield .dj-info-row{
 flex:0 0 clamp(60px,11vw,90px)!important;width:clamp(60px,11vw,90px)!important;
 display:flex!important;flex-direction:column!important;align-self:flex-start!important;
 gap:clamp(10px,2dvh,20px)!important;padding-top:5px!important
}
body.bali-guest-theme .tg-immersive-game .dj-info-row>span{
 align-items:flex-end!important;text-align:right!important;gap:3px!important;
 font-size:clamp(8px,1.1dvh,11px)!important;letter-spacing:0!important
}
body.bali-guest-theme .tg-immersive-game .dj-info-row b{
 font-size:clamp(15px,2.6dvh,24px)!important;line-height:1.1!important;white-space:nowrap
}
body.bali-guest-theme .tg-immersive-game .dj-info-row>span:last-child b{font-size:clamp(11px,1.9dvh,17px)!important}
.dj-game-tools{flex:0 0 clamp(30px,6vw,44px);width:clamp(30px,6vw,44px);align-self:flex-start;padding-top:5px}
.dj-game-shop-launch{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;
 width:100%;min-height:48px;border:1px solid #ad8aff;border-radius:12px;
 background:linear-gradient(155deg,#703fae,#202c68);color:#f6f0ff;padding:4px 0;cursor:pointer;
 box-shadow:0 0 12px #ad46ff55,inset 0 1px #fff5}
.dj-game-shop-launch span{font-size:clamp(19px,3dvh,26px)}.dj-game-shop-launch small{font-size:8px;font-weight:900}
body.bali-guest-theme .tg-immersive-game .dj-icon-boosters{
 display:flex!important;justify-content:center;align-items:center;gap:clamp(14px,5vw,32px)!important;
 min-height:38px;flex:none!important
}
.dj-booster-icon{display:flex;align-items:center;justify-content:center;gap:4px;
 border:0;background:transparent;color:#e5fff8;padding:2px;cursor:pointer;min-height:36px;min-width:44px;
 font-family:inherit;box-shadow:none}
.dj-booster-icon>span{font-size:clamp(25px,4dvh,34px);line-height:1.1;filter:drop-shadow(0 2px 4px #0008)}
.dj-booster-icon>small{font-size:clamp(13px,2dvh,17px);font-weight:950;white-space:nowrap;color:#aaffef}
.dj-booster-icon:disabled{opacity:.45;cursor:default}
.dj-booster-icon.armed{outline:1px solid #fff69e;border-radius:10px;filter:drop-shadow(0 0 6px #ffe178)}
.dj-shop-drawer{place-items:stretch end;padding:0;background:#05091bc9}
.dj-shop-drawer>div{width:min(100%,370px);height:100%;max-height:100%;border-radius:18px 0 0 18px;
 display:flex;flex-direction:column;align-items:stretch;gap:14px;padding:46px 16px 16px;text-align:left;overflow-y:auto}
.dj-shop-drawer h2{font-size:20px}.dj-shop-products{display:grid;gap:15px}
.dj-shop-product{display:grid;grid-template-columns:40px minmax(0,1fr);gap:10px;padding:13px 8px;
 border:1px solid #b993f466;border-radius:13px;background:#101e413d}
.dj-shop-product>span{font-size:30px}.dj-shop-product h3{margin:0 0 4px;font-size:16px;color:#fff2ba}
.dj-shop-product p{font-size:11px!important;line-height:1.4!important;margin:7px 0 10px!important}
body.bali-guest-theme .tg-immersive-game .dj-shop-product .dj-primary{min-height:36px!important;font-size:11px!important}
.dj-shop-drawer [role=status]{flex:none}
@media(max-height:620px){
 body.bali-guest-theme .tg-immersive-game .dj-stage{height:clamp(118px,23dvh,142px)!important}
 body.bali-guest-theme .tg-immersive-game .dj-icon-boosters{min-height:32px!important}
 .dj-booster-icon{min-height:32px}.dj-booster-icon>span{font-size:25px}
}
@media(orientation:landscape) and (max-height:500px){
 body.bali-guest-theme .tg-immersive-game .dj-stage{height:clamp(90px,26dvh,130px)!important}
 body.bali-guest-theme .tg-immersive-game .dj-stats{display:none!important}
 body.bali-guest-theme .tg-immersive-game .dj-footer{display:none!important}
}

/* Direct manipulation: one swipe, one neighbor, visible destination. */
body.bali-guest-theme .tg-immersive-game .dj-grid{touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;overscroll-behavior:contain}
body.bali-guest-theme .tg-immersive-game .dj-cell{cursor:grab;touch-action:none}
body.bali-guest-theme .tg-immersive-game .dj-cell.dj-swipe-source{
 transform:translate(var(--dj-drag-x,0px),var(--dj-drag-y,0px)) scale(1.06)!important;
 z-index:7;transition:none!important;cursor:grabbing;outline:2px solid #fff8b5;
 box-shadow:0 0 16px #79faff99!important;animation:none!important
}
body.bali-guest-theme .tg-immersive-game .dj-cell.dj-swipe-target{outline:2px solid #64fff2;filter:brightness(1.18)}
body.bali-guest-theme .tg-immersive-game button:focus-visible{outline:2px solid #9efff6!important;outline-offset:3px}
body.bali-guest-theme .tg-immersive-game .dj-icon-boosters{min-height:44px!important}
body.bali-guest-theme .tg-immersive-game .dj-booster-icon{min-height:44px!important;min-width:48px;padding:4px}
.dj-game-shop-launch{min-height:48px}
.dj-shop-drawer [data-dj-shop-close]{min-width:44px;min-height:44px}
body.bali-guest-theme .tg-immersive-game .dj-shop-product .dj-primary{min-height:44px!important}
@media(max-width:480px){
 body.bali-guest-theme .tg-immersive-game .dj-playfield{position:relative;gap:5px}
 body.bali-guest-theme .tg-immersive-game .dj-playfield .dj-info-row{
  flex-basis:56px!important;width:56px!important;gap:8px!important
 }
 body.bali-guest-theme .tg-immersive-game .dj-info-row b{font-size:17px!important}
 body.bali-guest-theme .tg-immersive-game .dj-info-row>span:last-child b{font-size:11px!important}
 .dj-game-tools{position:absolute;right:0;bottom:3px;width:48px;padding:0;z-index:4}
 .dj-game-shop-launch{min-height:48px}
 body.bali-guest-theme .tg-immersive-game .dj-primary{min-height:44px!important}
}

/* Full-width square arena with a quiet bottom dock and original image frames. */
body.bali-guest-theme .tg-immersive-game .tg-page-game #screen{overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior-y:contain}
body.bali-guest-theme .tg-immersive-game .dj-game-page{
 max-width:620px!important;height:auto!important;min-height:100%!important;overflow:visible!important;
 padding-left:4px!important;padding-right:4px!important;padding-bottom:calc(var(--tg-safe-bottom,0px) + var(--tg-content-bottom,0px) + 8px)!important;
 background:radial-gradient(ellipse at 25% 8%,#57259042,transparent 55%),radial-gradient(ellipse at 92% 88%,#152e6945,transparent 60%),#0c1024!important
}
body.bali-guest-theme .tg-immersive-game .dj-stats{display:none!important}
body.bali-guest-theme .tg-immersive-game .dj-stage{
 height:var(--dj-stage-height,180px)!important;min-height:144px!important;margin-bottom:6px!important;
 background:radial-gradient(ellipse at 50% 78%,#23447c60,transparent 72%),linear-gradient(130deg,#211435,#111d37 55%,#291332)!important
}
body.bali-guest-theme .tg-immersive-game .dj-human-model{
 width:100%!important;height:100%!important;object-fit:contain!important;object-position:center bottom!important;
 filter:none!important;animation:none!important;transform:none!important;backface-visibility:hidden
}
body.bali-guest-theme .tg-immersive-game .dj-stage .dj-tabbar{
 inset:8px 8px auto!important;top:8px!important;height:auto!important;align-items:flex-start!important
}
body.bali-guest-theme .tg-immersive-game .dj-stage .dj-tabbar button{
 --dj-mode-size:clamp(44px,7dvh,56px)
}
body.bali-guest-theme .tg-immersive-game .dj-stage .dj-info-row{
 position:absolute!important;top:calc(14px + clamp(44px,7dvh,56px))!important;right:7px!important;z-index:5;
 display:flex!important;flex-direction:column!important;gap:5px!important;
 width:70px!important;padding:5px 4px!important;border-radius:10px;
 background:linear-gradient(135deg,#131a35c9,#25173cc4);border:1px solid #8673b546;pointer-events:none
}
body.bali-guest-theme .tg-immersive-game .dj-stage .dj-info-row>span{font-size:7px!important;gap:1px!important;align-items:center!important;text-align:center!important}
body.bali-guest-theme .tg-immersive-game .dj-stage .dj-info-row b{font-size:15px!important;line-height:1.05!important}
body.bali-guest-theme .tg-immersive-game .dj-stage .dj-info-row>span:last-child b{font-size:11px!important}
body.bali-guest-theme .tg-immersive-game .dj-game-section{
 flex:none!important;min-height:0!important;overflow:visible!important;gap:6px!important;justify-content:flex-start!important
}
body.bali-guest-theme .tg-immersive-game .dj-playfield{
 flex:none!important;display:flex!important;align-items:center!important;justify-content:center!important;
 width:100%!important;gap:0!important;min-height:0!important
}
body.bali-guest-theme .tg-immersive-game .dj-playfield .dj-board-housing{
 margin:0!important;max-width:calc(100% - 2px)!important;aspect-ratio:1!important
}
.dj-bottom-dock{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:48px;padding:2px 5px}
body.bali-guest-theme .tg-immersive-game .dj-bottom-dock .dj-icon-boosters{flex:1!important;min-height:44px!important;justify-content:space-around!important;gap:8px!important}
.dj-bottom-dock .dj-game-tools{position:static!important;flex:0 0 44px!important;width:44px!important;align-self:center;padding:0!important}
.dj-bottom-dock .dj-game-shop-launch{min-height:44px;border-radius:11px;background:linear-gradient(145deg,#45316f,#172c49);box-shadow:inset 0 1px #fff3,0 0 10px #8951cb33}
body.bali-guest-theme .tg-immersive-game .dj-energy-label{font-size:8px!important;padding:0 4px}
body.bali-guest-theme .tg-immersive-game .dj-energy-track{height:8px!important;margin:0 3px}
body.bali-guest-theme .tg-immersive-game .dj-game-section>[data-dj-start]{min-height:44px!important;margin-top:2px}
body.bali-guest-theme .tg-immersive-game .dj-message[hidden]{display:none!important}
body.bali-guest-theme .tg-immersive-game .dj-game-section>.dj-message:not([hidden]){
 position:fixed;left:50%;bottom:12px;transform:translateX(-50%);width:max-content;max-width:calc(100vw - 24px);
 z-index:90;padding:8px 12px;border:1px solid #9f7bd5;border-radius:10px;background:#1b1539ed;color:#fff2ba;font-size:11px!important;box-shadow:0 5px 18px #0008
}
body.bali-guest-theme .tg-immersive-game .dj-view-rank{height:100dvh!important;min-height:0!important;overflow:hidden!important}
body.bali-guest-theme .tg-immersive-game .dj-view-rank .dj-rating-section{min-height:0!important;flex:1 1 0!important}
.dj-cell>span>img{display:block;width:76%;height:76%;object-fit:contain;pointer-events:none}
.dj-booster-icon>span>img{width:28px;height:28px;object-fit:contain;display:block}
.dj-tabbar button span>img,.dj-game-shop-launch span>img{width:22px;height:22px;object-fit:contain;display:block}
.dj-shop-product>span>img{width:27px;height:27px;object-fit:contain;display:block}
/* Centered compact shop, shared club colors. */
body.bali-guest-theme .tg-immersive-game .dj-shop-drawer{
 position:fixed!important;inset:0!important;z-index:95!important;display:grid!important;
 place-items:center!important;padding:12px!important;background:#070b20c9!important;backdrop-filter:blur(8px)
}
body.bali-guest-theme .tg-immersive-game .dj-shop-drawer>div{
 width:min(100%,350px)!important;height:auto!important;max-height:calc(100dvh - 24px)!important;
 border-radius:18px!important;padding:38px 12px 10px!important;gap:9px!important;
 background:radial-gradient(ellipse at 5% 5%,#69339b35,transparent 70%),linear-gradient(145deg,#231d3c,#111d32)!important;
 border:1px solid #9673cc!important;box-shadow:0 14px 45px #000a,0 0 22px #8f42c52b!important;overflow-y:auto!important
}
.dj-shop-drawer h2{font-size:17px!important}.dj-shop-products{gap:8px!important}
.dj-shop-product{grid-template-columns:29px minmax(0,1fr)!important;gap:8px!important;padding:9px!important;border-radius:11px!important;background:#14213b80!important;border-color:#9277c54d!important}
.dj-shop-product>span{font-size:25px!important}.dj-shop-product h3{font-size:13px!important;margin:0 0 2px!important}
.dj-shop-product p{font-size:10px!important;line-height:1.35!important;margin:5px 0 6px!important}
.dj-shop-product small,.dj-shop-drawer>div>small{font-size:10px!important}
body.bali-guest-theme .tg-immersive-game .dj-shop-product .dj-primary{min-height:34px!important;font-size:10px!important;padding:6px!important;border-radius:8px!important}
.dj-shop-drawer [role=status]{min-height:0!important;font-size:10px!important}
@media(max-width:360px){body.bali-guest-theme .tg-immersive-game .dj-stage .dj-info-row{width:62px!important;right:5px!important}}
/* Lift the status and stage to the top; start action exists only below the board. */
body.bali-guest-theme .tg-immersive-game .dj-stats{
 display:grid!important;height:25px!important;min-height:25px!important;margin:0 0 4px!important;
 grid-template-columns:repeat(3,minmax(0,1fr));gap:4px!important
}
body.bali-guest-theme .tg-immersive-game .dj-stats>span{font-size:7px!important;background:#1a223c!important;border-color:#8074a659!important}
body.bali-guest-theme .tg-immersive-game .dj-stats b{font-size:11px!important}
body.bali-guest-theme .tg-immersive-game .dj-view-rank .dj-stats{display:none!important}
.dj-rank-nav{flex:none;padding:3px 6px 8px}.dj-rank-nav[hidden]{display:none!important}
.dj-rank-nav .dj-back{width:96px!important}
body.bali-guest-theme .tg-immersive-game .dj-game-page{max-width:560px!important}
.dj-start-symbol{display:inline-flex;vertical-align:middle;align-items:center;margin-right:4px;font-size:17px}
.dj-start-symbol img{width:20px;height:20px;object-fit:contain}
/* Icon-only stage actions, larger portrait, and proportionally smaller square. */
body.bali-guest-theme .tg-immersive-game .dj-stage{min-height:210px!important}
body.bali-guest-theme .tg-immersive-game .dj-stage .dj-tabbar button,
body.bali-guest-theme .tg-immersive-game .dj-stage .dj-tabbar button:last-child{
 --dj-mode-size:44px;width:44px!important;height:44px!important;
 min-width:44px!important;min-height:44px!important;max-width:44px!important;max-height:44px!important;
 border:0!important;border-radius:0!important;background:none!important;box-shadow:none!important;
 color:#f0eaff!important;text-shadow:none!important;padding:4px!important
}
body.bali-guest-theme .tg-immersive-game .dj-stage .dj-tabbar button b{display:none!important}
body.bali-guest-theme .tg-immersive-game .dj-stage .dj-tabbar button span{font-size:29px!important;display:grid;place-items:center}
body.bali-guest-theme .tg-immersive-game .dj-stage .dj-tabbar button:hover{filter:brightness(1.25)}
body.bali-guest-theme .tg-immersive-game .dj-human-model{
 top:auto!important;bottom:0!important;height:calc(100% / 1.2)!important;
 transform:scale(1.2)!important;transform-origin:50% 100%!important
}
body.bali-guest-theme .tg-immersive-game .dj-stage .dj-info-row{top:58px!important}
body.bali-guest-theme .tg-immersive-game .dj-game-section>.dj-message:not([hidden]){bottom:116px!important;pointer-events:none}
@media(max-width:400px){body.bali-guest-theme .tg-immersive-game .dj-human-model{width:calc(100% / 1.12)!important;left:calc(50% - 100% / 2.24)!important}}
