:root{--gold:#f4bf25;--green:#31e96a}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#00150c;color:#fff;font-family:Arial,Helvetica,sans-serif}button{font:inherit;color:inherit}
body{display:grid;place-items:center}
.lobby-stage{position:relative;width:min(100vw,calc(100vh * 1.7777778));aspect-ratio:16/9;overflow:hidden;background:#002016;box-shadow:0 0 50px #000}
.lobby-background{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;display:block;user-select:none;pointer-events:none}
.hotspot{position:absolute;z-index:10;border:0;background:transparent;padding:0;cursor:pointer;border-radius:12px;-webkit-tap-highlight-color:transparent}
.hotspot:hover{background:rgba(255,211,55,.07);box-shadow:inset 0 0 0 1px rgba(255,213,58,.18)}.hotspot:active{background:rgba(255,211,55,.14)}
/* top navigation */
.hs-checkin{left:47.2%;top:1.8%;width:8.3%;height:13.2%}.hs-vipgift{left:55.4%;top:1.8%;width:7.6%;height:13.2%}.hs-history{left:63.0%;top:1.8%;width:7.1%;height:13.2%}.hs-refer-top{left:70.1%;top:1.8%;width:7.3%;height:13.2%}.hs-bind{left:77.4%;top:1.8%;width:7.2%;height:13.2%}.hs-account{left:84.6%;top:1.8%;width:7.1%;height:13.2%}.hs-settings{left:91.7%;top:1.8%;width:7.5%;height:13.2%}
/* main play button */.hs-play{left:4.5%;top:63.0%;width:29.0%;height:11.6%;border-radius:24px}
/* bottom navigation */.hs-refer-bottom{left:3.0%;top:78.2%;width:13.4%;height:19.5%}.hs-vip-bottom{left:17.4%;top:78.2%;width:14.8%;height:19.5%}.hs-bonuses{left:32.2%;top:78.2%;width:16.2%;height:19.5%}.hs-transactions{left:48.4%;top:78.2%;width:18.0%;height:19.5%}.hs-withdraw{left:66.4%;top:78.2%;width:16.0%;height:19.5%}.hs-deposit{left:82.4%;top:78.2%;width:16.5%;height:19.5%}
.identity-overlay{position:absolute;z-index:8;left:7.9%;top:4.0%;width:13.7%;height:8.1%;border:0;background:transparent;text-align:left;padding:.2% .7%;cursor:pointer;overflow:hidden}.identity-overlay span,.identity-overlay small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 2px 3px #000}.identity-overlay span{font-weight:900;font-size:clamp(11px,1.35vw,24px)}.identity-overlay small{margin-top:.3em;color:#63e58a;font-size:clamp(7px,.72vw,13px)}
.balance-overlay{position:absolute;z-index:8;left:28.8%;top:4.1%;width:13.4%;height:7.6%;display:flex;align-items:center;padding-left:1.5%;overflow:hidden}.balance-overlay b{font-size:clamp(13px,1.6vw,28px);text-shadow:0 2px 3px #000}
.status-pill{position:absolute;z-index:8;right:1.2%;top:15.3%;display:flex;gap:5px;align-items:center;font-size:clamp(7px,.65vw,11px);opacity:.01;pointer-events:none}.status-pill i{width:6px;height:6px;border-radius:50%;background:#eebc26}.status-pill.ready i{background:#32e66b}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
#toast{position:fixed;z-index:120;left:50%;bottom:4%;transform:translate(-50%,20px);opacity:0;padding:10px 18px;border:1px solid #d8aa27;border-radius:12px;background:#071b11;transition:.2s}#toast.show{opacity:1;transform:translate(-50%,0)}
.session-cover{position:fixed;inset:0;z-index:150;display:grid;place-items:center;background:#020b07;transition:.2s}.session-cover.hide{opacity:0;pointer-events:none}.session-loader{text-align:center}.session-loader .lz{width:62px;height:62px;margin:0 auto 13px;border:2px solid #e3ad25;border-radius:50%;display:grid;place-items:center;color:#ffd34d;font-size:22px;font-weight:1000}.session-loader b,.session-loader small{display:block}.session-loader small{margin-top:6px;color:#7da48b}
/* Existing two-stage Bind / Deposit popup logic retained; clean visual shell. */
.startup-modal{position:fixed;inset:0;z-index:100;background:rgba(0,0,0,.78);backdrop-filter:blur(5px);display:grid;place-items:center;padding:16px}.startup-modal.hide{display:none!important}.startup-card{position:relative;width:min(760px,94vw);min-height:410px;border:2px solid #e8bd31;border-radius:22px;overflow:hidden;background:linear-gradient(135deg,#07532f,#087a42 48%,#b8d77d);box-shadow:0 20px 75px #000c;display:grid;grid-template-columns:42% 58%}.startup-close{position:absolute;z-index:6;right:14px;top:12px;width:40px;height:40px;border:2px solid #efc63e;border-radius:50%;background:#07522f;color:#ffe36d;font-size:25px;cursor:pointer}.startup-girl{align-self:end;width:115%;max-height:405px;object-fit:contain;object-position:left bottom;filter:drop-shadow(0 12px 12px #0007)}.startup-content{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:32px 32px 25px 8px}.startup-icon{display:none}.startup-content>small{color:#fff2a5;font-weight:900;letter-spacing:1.3px}.startup-content h2{margin:8px 0 10px;color:#fff;font-size:34px;text-shadow:0 2px 3px #164b2d}.startup-content p{margin:0;color:#fff;line-height:1.4;font-size:15px}.startup-reward{width:min(275px,95%);margin:18px auto 12px;padding:12px;border:2px solid #ffd64d;border-radius:15px;background:linear-gradient(#fff7bd,#ffc936);box-shadow:0 8px 20px #315b3566}.startup-reward small,.startup-reward strong,.startup-reward em{display:block}.startup-reward small{color:#854600;font-size:10px;letter-spacing:1px}.startup-reward strong{color:#ef9000;font-size:42px;line-height:1.05;text-shadow:0 2px #fff1a0}.startup-reward em{margin-top:5px;color:#287634;font-size:12px;font-style:normal;font-weight:900}.startup-action{width:min(280px,100%);height:52px;border:0;border-radius:12px;background:linear-gradient(#ffe55b,#efa30a);color:#552d00;font-weight:1000;font-size:17px;cursor:pointer;box-shadow:0 5px 0 #b86c00}.startup-later{margin-top:12px;border:0;background:transparent;color:#fff;cursor:pointer}
@media(max-width:600px),(orientation:portrait){body{overflow:auto;align-items:start}.lobby-stage{width:100vw;height:auto;min-height:56.25vw}.startup-card{width:min(390px,96vw);min-height:540px;grid-template-columns:1fr;grid-template-rows:210px 1fr}.startup-girl{height:260px;width:100%;object-position:center top}.startup-content{padding:8px 20px 20px}.startup-content h2{font-size:27px}.startup-content p{font-size:13px}}


/* =========================================================
   LUCKZOO IMAGE STARTUP POPUPS V2
   Uses final WebP artwork with proportional transparent hotspots.
   Lobby artwork and lobby hotspots are untouched.
   ========================================================= */
.startup-modal{
  position:fixed!important;
  inset:0!important;
  z-index:1000!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:12px!important;
  background:rgba(0,7,3,.76)!important;
  backdrop-filter:blur(4px)!important;
}
.startup-modal.hide{display:none!important}

.startup-artwork{
  position:relative!important;
  width:min(92vw,1260px)!important;
  aspect-ratio:1672/941!important;
  max-height:91vh!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  overflow:visible!important;
}
.startup-artwork>img{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  display:block!important;
  pointer-events:none!important;
  user-select:none!important;
  -webkit-user-drag:none!important;
}

.popup-hotspot{
  position:absolute!important;
  z-index:5!important;
  border:0!important;
  padding:0!important;
  margin:0!important;
  background:transparent!important;
  appearance:none!important;
  -webkit-appearance:none!important;
  cursor:pointer!important;
  outline:none!important;
  color:transparent!important;
  box-shadow:none!important;
}

/* X button — same position on both 1672x941 popup artworks. */
.popup-close{
  left:85.2%!important;
  top:17.2%!important;
  width:8.3%!important;
  height:13.3%!important;
  border-radius:50%!important;
}

/* Main gold CTA — Bind Account / Deposit Now. */
.popup-action{
  left:47.7%!important;
  top:79.5%!important;
  width:35.0%!important;
  height:12.0%!important;
  border-radius:18px!important;
}

/* "Maybe later" exists only on binding artwork. */
.popup-later{
  left:56.4%!important;
  top:90.1%!important;
  width:16.0%!important;
  height:6.6%!important;
}

/* Optional keyboard accessibility focus ring, invisible during normal use. */
.popup-hotspot:focus-visible{
  outline:2px solid rgba(255,231,89,.95)!important;
  outline-offset:2px!important;
}

/* The transparent artwork itself already contains all design/text. */
.startup-card,.startup-promo-card,.startup-girl,.startup-content,
.startup-icon,.startup-reward{
  /* only legacy popup nodes; the current HTML no longer uses them */
}

/* Short landscape phone / APK */
@media (orientation:landscape) and (max-height:650px){
  .startup-artwork{
    width:auto!important;
    height:min(91vh,610px)!important;
    max-width:96vw!important;
  }
}

/* Portrait: keep entire popup visible without cropping. */
@media (orientation:portrait){
  .startup-modal{padding:7px!important}
  .startup-artwork{
    width:97vw!important;
    height:auto!important;
    max-height:78vh!important;
  }
}


/* =========================================================
   LUCKZOO COMPACT BIND PANEL V1
   Opens above the working image lobby without navigating away.
   ========================================================= */
.mini-modal{
  position:fixed;
  inset:0;
  z-index:1100;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:12px;
  background:rgba(0,8,4,.70);
  backdrop-filter:blur(4px);
}
.mini-modal.hide{display:none!important}

.mini-card{
  width:min(610px,94vw);
  max-height:90vh;
  overflow:auto;
  border:2px solid #d9ae31;
  border-radius:18px;
  background:
    radial-gradient(circle at 85% 5%,rgba(255,208,50,.10),transparent 30%),
    linear-gradient(180deg,#07502d,#032719 58%,#021a11);
  color:#fff;
  box-shadow:0 20px 60px rgba(0,0,0,.72),0 0 22px rgba(226,177,37,.18);
}

.mini-head{
  min-height:76px;
  display:grid;
  grid-template-columns:52px 1fr 42px;
  align-items:center;
  gap:10px;
  padding:12px 14px;
  border-bottom:1px solid rgba(216,174,48,.42);
  background:linear-gradient(180deg,rgba(11,102,55,.88),rgba(4,57,33,.88));
}
.mini-head-icon{
  width:46px;height:46px;border-radius:13px;
  display:grid;place-items:center;
  background:linear-gradient(#ffd95c,#bd8007);
  color:#17200f;font-size:24px;
  box-shadow:inset 0 1px 0 #fff8,0 5px 12px #0005;
}
.mini-head small{display:block;color:#ffe276;font-size:9px;font-weight:900;letter-spacing:1.2px}
.mini-head h2{margin:2px 0 0;font-size:23px;color:#fff}
.mini-close{
  width:38px;height:38px;border-radius:50%;
  border:1px solid #d6b444;background:#052d1c;color:#ffe16c;
  font-size:26px;line-height:1;
}

.mini-status{
  margin:10px 14px 0;
  padding:8px 11px;
  border:1px solid #2c6844;
  border-radius:10px;
  background:#031d12;
  color:#a9c3b2;
  font-size:11px;
}
.mini-status.ok{color:#74ef95;border-color:#23864a}
.mini-status.error{color:#ff9c8c;border-color:#9b493c}

.mini-section{padding:12px 14px 4px}
.mini-section label{
  display:block;margin:0 0 5px;
  color:#d8e3db;font-size:10px;font-weight:900
}
.mini-phone-row,.mini-code-row{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) 106px;
  gap:7px;align-items:center
}
.mini-code-row{grid-template-columns:minmax(0,1fr) 106px}
.mini-phone-row>span{
  height:42px;padding:0 10px;display:grid;place-items:center;
  border:1px solid #45684f;border-radius:9px;background:#061c12;
  color:#ffd75a;font-weight:900;font-size:12px
}
.mini-card input{
  width:100%;height:42px;
  border:1px solid #45684f;border-radius:9px;
  background:#061a11;color:#fff;
  padding:0 11px;outline:none;font-size:13px
}
.mini-card input:focus{border-color:#d9af35;box-shadow:0 0 0 2px rgba(217,175,53,.12)}
.mini-phone-row button,.mini-code-row button{
  height:42px;border:0;border-radius:9px;
  background:linear-gradient(#ffd95d,#bc7d08);
  color:#1d1606;font-size:11px;font-weight:1000
}
.mini-otp{margin-top:9px}

.mini-divider{
  display:flex;align-items:center;gap:8px;margin:2px 0 9px;
  color:#d7bd67;font-size:9px;font-weight:900;letter-spacing:1px
}
.mini-divider:before,.mini-divider:after{content:"";height:1px;flex:1;background:#6c5720}

.mini-password-grid{
  display:grid;grid-template-columns:1fr 1fr;gap:7px
}
.mini-primary{
  width:100%;height:43px;margin-top:8px;
  border:1px solid #ffe17a;border-radius:10px;
  background:linear-gradient(#ffe36b,#d69109);
  color:#251800;font-size:12px;font-weight:1000;
  box-shadow:inset 0 -3px 0 #9f5f00
}
.mini-password>small{
  display:block;margin:7px 2px 0;color:#8fa99a;font-size:9px;line-height:1.3
}

.mini-success{
  margin:11px 14px 2px;
  min-height:52px;
  display:grid;grid-template-columns:38px 1fr;align-items:center;
  gap:9px;padding:8px 10px;
  border:1px solid #258c4d;border-radius:11px;
  background:#06341f
}
.mini-success>span{
  width:32px;height:32px;border-radius:50%;
  display:grid;place-items:center;background:#20a953;
  font-weight:1000
}
.mini-success small,.mini-success b{display:block}
.mini-success small{color:#86d99d;font-size:8px}
.mini-success b{font-size:12px;margin-top:2px}

.mini-foot{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  margin-top:10px;padding:10px 14px 12px;
  border-top:1px solid rgba(216,174,48,.28);
  color:#8da698;font-size:9px
}
.mini-foot a{color:#ffd65a;text-decoration:none;font-weight:900}

@media(max-width:620px){
  .mini-card{width:min(520px,96vw)}
  .mini-head{min-height:64px;grid-template-columns:42px 1fr 36px;padding:8px 10px}
  .mini-head-icon{width:38px;height:38px;font-size:19px}
  .mini-head h2{font-size:18px}
  .mini-close{width:32px;height:32px;font-size:21px}
  .mini-section{padding:9px 10px 3px}
  .mini-status{margin:8px 10px 0}
  .mini-phone-row{grid-template-columns:auto minmax(0,1fr) 88px}
  .mini-code-row{grid-template-columns:minmax(0,1fr) 88px}
  .mini-card input,.mini-phone-row>span,.mini-phone-row button,.mini-code-row button{height:36px}
  .mini-password-grid{grid-template-columns:1fr}
  .mini-primary{height:38px}
  .mini-foot{padding:8px 10px 10px}
}


/* =========================================================
   COMPACT BIND PANEL V2 — shorter, wider, no internal scrollbar
   ========================================================= */
#bindPanel{
  padding:10px!important;
}
#bindPanel .mini-card{
  width:min(760px,95vw)!important;
  max-height:none!important;
  overflow:visible!important;
  border-radius:16px!important;
}

#bindPanel .mini-head{
  min-height:64px!important;
  grid-template-columns:44px 1fr 38px!important;
  padding:8px 12px!important;
}
#bindPanel .mini-head-icon{
  width:38px!important;
  height:38px!important;
  border-radius:10px!important;
  font-size:20px!important;
}
#bindPanel .mini-head small{font-size:8px!important}
#bindPanel .mini-head h2{font-size:20px!important}
#bindPanel .mini-close{
  width:32px!important;
  height:32px!important;
  font-size:21px!important;
}

#bindPanel .mini-status{
  margin:8px 12px 0!important;
  padding:6px 9px!important;
  min-height:28px!important;
  font-size:10px!important;
}

#bindPanel .mini-success{
  margin:8px 12px 0!important;
  min-height:40px!important;
  grid-template-columns:30px 1fr!important;
  padding:6px 9px!important;
  border-radius:9px!important;
}
#bindPanel .mini-success>span{
  width:25px!important;
  height:25px!important;
  font-size:14px!important;
}
#bindPanel .mini-success small{font-size:7px!important}
#bindPanel .mini-success b{font-size:11px!important;margin-top:1px!important}

#bindPanel .mini-section{
  padding:8px 12px 0!important;
}
#bindPanel .mini-section label{
  margin-bottom:4px!important;
  font-size:9px!important;
}

#bindPanel .mini-phone-row{
  grid-template-columns:52px minmax(0,1fr) 96px!important;
  gap:6px!important;
}
#bindPanel .mini-code-row{
  grid-template-columns:minmax(0,1fr) 96px!important;
  gap:6px!important;
}

#bindPanel .mini-card input,
#bindPanel .mini-phone-row>span,
#bindPanel .mini-phone-row button,
#bindPanel .mini-code-row button{
  height:36px!important;
  border-radius:8px!important;
}
#bindPanel .mini-card input{
  font-size:12px!important;
  padding:0 10px!important;
}
#bindPanel .mini-phone-row>span{font-size:11px!important}
#bindPanel .mini-phone-row button,
#bindPanel .mini-code-row button{font-size:10px!important}

#bindPanel .mini-otp{
  margin-top:7px!important;
}

#bindPanel .mini-password{
  padding-top:7px!important;
}
#bindPanel .mini-divider{
  margin:1px 0 7px!important;
  font-size:8px!important;
}
#bindPanel .mini-password-grid{
  grid-template-columns:1fr 1fr!important;
  gap:6px!important;
}
#bindPanel .mini-primary{
  height:38px!important;
  margin-top:7px!important;
  border-radius:8px!important;
  font-size:11px!important;
}
#bindPanel .mini-password>small{
  margin-top:5px!important;
  font-size:8px!important;
}

#bindPanel .mini-foot{
  margin-top:8px!important;
  padding:7px 12px 8px!important;
  font-size:8px!important;
}

/* Fully secured account: become a very short status panel. */
#bindPanel .mini-card:has(#bpRegistered:not(.hide)){
  width:min(620px,94vw)!important;
}
#bindPanel #bpRegistered:not(.hide){
  margin-bottom:8px!important;
}

/* Landscape/mobile target: mimic short in-game dialog, never scroll internally. */
@media (orientation:landscape) and (max-height:650px){
  #bindPanel{
    align-items:center!important;
  }
  #bindPanel .mini-card{
    width:min(760px,94vw)!important;
    max-height:94vh!important;
    overflow:hidden!important;
  }
  #bindPanel .mini-head{
    min-height:54px!important;
    padding:6px 10px!important;
  }
  #bindPanel .mini-head-icon{width:34px!important;height:34px!important;font-size:18px!important}
  #bindPanel .mini-head h2{font-size:17px!important}
  #bindPanel .mini-status{margin-top:6px!important;padding:5px 8px!important}
  #bindPanel .mini-section{padding:6px 10px 0!important}
  #bindPanel .mini-card input,
  #bindPanel .mini-phone-row>span,
  #bindPanel .mini-phone-row button,
  #bindPanel .mini-code-row button{height:32px!important}
  #bindPanel .mini-primary{height:34px!important}
  #bindPanel .mini-foot{margin-top:6px!important;padding:5px 10px 6px!important}
}

/* Narrow portrait phones may stack password inputs, but still avoid a tall page-like modal. */
@media (max-width:560px) and (orientation:portrait){
  #bindPanel .mini-card{
    width:min(480px,96vw)!important;
    max-height:88vh!important;
    overflow:auto!important;
  }
  #bindPanel .mini-password-grid{
    grid-template-columns:1fr!important;
  }
}


/* =========================================================
   LUCKZOO GENERIC SHORT MODULE PANEL V1
   Withdraw, Deposit, Check-In, VIP, History, Bonuses, Refer,
   Account and Settings open over the lobby.
   ========================================================= */
.module-modal{
  position:fixed;
  inset:0;
  z-index:1090;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:10px;
  background:rgba(0,8,4,.70);
  backdrop-filter:blur(4px);
}
.module-modal.hide{display:none!important}

.module-card{
  width:min(860px,95vw);
  height:min(610px,88vh);
  display:grid;
  grid-template-rows:60px minmax(0,1fr);
  overflow:hidden;
  border:2px solid #d9ae31;
  border-radius:16px;
  background:#031d12;
  box-shadow:0 20px 64px rgba(0,0,0,.72),0 0 24px rgba(226,177,37,.18);
}

.module-head{
  display:grid;
  grid-template-columns:42px 1fr 36px;
  align-items:center;
  gap:9px;
  padding:7px 10px;
  border-bottom:1px solid rgba(216,174,48,.42);
  background:linear-gradient(180deg,#086137,#044628);
}
.module-icon{
  width:36px;height:36px;
  display:grid;place-items:center;
  border-radius:10px;
  background:linear-gradient(#ffd95c,#bd8007);
  color:#17200f;
  font-size:19px;
  box-shadow:inset 0 1px 0 #fff8,0 4px 10px #0005;
}
.module-title small{
  display:block;
  color:#ffe276;
  font-size:8px;
  font-weight:900;
  letter-spacing:1.1px;
}
.module-title h2{
  margin:1px 0 0;
  color:#fff;
  font-size:19px;
  line-height:1.05;
}
.module-close{
  width:32px;height:32px;
  border:1px solid #d6b444;
  border-radius:50%;
  background:#052d1c;
  color:#ffe16c;
  font-size:21px;
  line-height:1;
}

.module-frame-wrap{
  position:relative;
  min-height:0;
  overflow:hidden;
  background:#041c12;
}
#moduleFrame{
  width:100%;
  height:100%;
  display:block;
  border:0;
  background:#041c12;
}
.module-loading{
  position:absolute;
  inset:0;
  z-index:3;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:8px;
  background:#041c12;
  color:#e6cf78;
  font-size:11px;
}
.module-loading.hide{display:none!important}
.module-spinner{
  width:29px;height:29px;
  border:3px solid #305c42;
  border-top-color:#e4b934;
  border-radius:50%;
  animation:moduleSpin .8s linear infinite;
}
@keyframes moduleSpin{to{transform:rotate(360deg)}}

/* Landscape / APK: wide, short, game-like panel. */
@media (orientation:landscape) and (max-height:700px){
  .module-card{
    width:min(900px,94vw);
    height:min(570px,92vh);
    grid-template-rows:52px minmax(0,1fr);
  }
  .module-head{
    grid-template-columns:36px 1fr 32px;
    padding:5px 9px;
  }
  .module-icon{width:31px;height:31px;font-size:16px}
  .module-title h2{font-size:16px}
  .module-close{width:28px;height:28px;font-size:18px}
}

/* Portrait can be taller, still remains an overlay rather than a page. */
@media (orientation:portrait){
  .module-card{
    width:min(700px,96vw);
    height:min(760px,88vh);
  }
}


/* V2: embedded module pages must fit like the native Bind box — no side scrollbar. */
#moduleFrame{
  overflow:hidden!important;
  scrollbar-width:none!important;
}
#moduleFrame::-webkit-scrollbar{display:none!important}
.module-frame-wrap{overflow:hidden!important}


/* V3 dimension correction: preserve full page width while keeping the short modal. */
.module-frame-wrap{
  overflow:hidden!important;
  padding:0!important;
}
#moduleFrame{
  display:block!important;
  width:100%!important;
  height:100%!important;
  border:0!important;
  margin:0!important;
  transform:none!important;
}


/* =========================================================
   NATIVE COMPACT BONUSES PANEL V1
   No iframe, no scaling, no scrollbar.
   ========================================================= */
.bonus-mini-card{
  width:min(760px,95vw)!important;
  max-height:none!important;
  overflow:hidden!important;
}
.bonus-balance-strip{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:7px;
  padding:9px 11px 7px;
}
.bonus-balance-strip>div{
  min-height:48px;
  padding:7px 9px;
  border:1px solid #315f42;
  border-radius:9px;
  background:#041d12;
}
.bonus-balance-strip small,
.bonus-balance-strip b{display:block}
.bonus-balance-strip small{font-size:7px;color:#82aa91;font-weight:900}
.bonus-balance-strip b{margin-top:3px;font-size:13px;color:#ffd951}

.bonus-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:7px;
  padding:0 11px 8px;
}
.bonus-tile{
  min-height:76px;
  display:grid;
  grid-template-columns:40px minmax(0,1fr) auto;
  align-items:center;
  gap:8px;
  padding:8px 9px;
  border:1px solid #2d774a;
  border-radius:11px;
  background:linear-gradient(135deg,#07331f,#042518);
  color:#fff;
  text-align:left;
}
.bonus-tile:hover{border-color:#d7ad31}
.bonus-tile>i{
  width:35px;height:35px;
  display:grid;place-items:center;
  border-radius:50%;
  background:#0a5433;
  font-style:normal;
  font-size:18px;
}
.bonus-tile span{min-width:0}
.bonus-tile small,.bonus-tile b,.bonus-tile em{display:block}
.bonus-tile small{
  color:#6ee18d;
  font-size:7px;
  font-weight:1000;
  letter-spacing:.35px;
}
.bonus-tile b{
  margin-top:2px;
  color:#ffd951;
  font-size:15px;
  line-height:1.05;
}
.bonus-tile em{
  margin-top:3px;
  color:#9cb3a4;
  font-size:7px;
  font-style:normal;
  line-height:1.2;
}
.bonus-tile>strong{
  align-self:start;
  padding:3px 5px;
  border:1px solid #3b8960;
  border-radius:999px;
  color:#8adba3;
  font-size:6px;
  white-space:nowrap;
}
.bonus-tile>strong.claimed{
  border-color:#596b5f;
  color:#9da9a1;
}
.bonus-wide{
  grid-column:1/-1;
  min-height:70px;
}
.bonus-note{
  margin:0 11px 10px;
  padding:7px 9px;
  border:1px solid #315f42;
  border-radius:8px;
  color:#8da698;
  background:#031b11;
  font-size:7px;
}

@media (orientation:landscape) and (max-height:650px){
  .bonus-mini-card{width:min(760px,94vw)!important}
  .bonus-balance-strip{padding:6px 9px 5px;gap:5px}
  .bonus-balance-strip>div{min-height:38px;padding:5px 7px}
  .bonus-balance-strip b{font-size:11px}
  .bonus-grid{gap:5px;padding:0 9px 6px}
  .bonus-tile{min-height:61px;padding:6px 7px;grid-template-columns:33px minmax(0,1fr) auto}
  .bonus-tile>i{width:29px;height:29px;font-size:15px}
  .bonus-tile b{font-size:12px}
  .bonus-tile em{font-size:6px}
  .bonus-wide{min-height:58px}
  .bonus-note{margin:0 9px 7px;padding:5px 7px}
}


/* =========================================================
   BOTTOM HOTSPOT ALIGNMENT V1
   Each box is centered over its own background icon/button.
   ========================================================= */
.hs-refer-bottom{
  left:4.2%!important;
  top:79.0%!important;
  width:9.0%!important;
  height:18.0%!important;
}
.hs-vip-bottom{
  left:20.6%!important;
  top:79.0%!important;
  width:8.8%!important;
  height:18.0%!important;
}
.hs-bonuses{
  left:37.7%!important;
  top:79.0%!important;
  width:9.4%!important;
  height:18.0%!important;
}
.hs-transactions{
  left:52.8%!important;
  top:79.0%!important;
  width:10.0%!important;
  height:18.0%!important;
}
.hs-withdraw{
  left:68.2%!important;
  top:79.0%!important;
  width:9.0%!important;
  height:18.0%!important;
}
.hs-deposit{
  left:85.2%!important;
  top:79.0%!important;
  width:10.0%!important;
  height:18.0%!important;
}

/* =========================================================
   COMPACT MODULE SIZE V1
   Match the smaller Bonuses/Bind visual footprint.
   ========================================================= */
.module-card{
  width:min(760px,94vw)!important;
  height:min(430px,78vh)!important;
  grid-template-rows:54px minmax(0,1fr)!important;
}
.module-head{
  grid-template-columns:38px 1fr 32px!important;
  padding:6px 9px!important;
}
.module-icon{
  width:32px!important;
  height:32px!important;
  font-size:17px!important;
}
.module-title h2{font-size:17px!important}
.module-close{
  width:29px!important;
  height:29px!important;
  font-size:19px!important;
}

@media (orientation:landscape) and (max-height:700px){
  .module-card{
    width:min(760px,92vw)!important;
    height:min(410px,84vh)!important;
    grid-template-rows:48px minmax(0,1fr)!important;
  }
  .module-head{
    grid-template-columns:34px 1fr 29px!important;
    padding:5px 8px!important;
  }
  .module-icon{
    width:29px!important;
    height:29px!important;
    font-size:15px!important;
  }
  .module-title h2{font-size:15px!important}
  .module-close{
    width:26px!important;
    height:26px!important;
    font-size:17px!important;
  }
}

@media (orientation:portrait){
  .module-card{
    width:min(700px,94vw)!important;
    height:min(600px,76vh)!important;
  }
}


/* =========================================================
   V2 HOTSPOTS — larger click targets but still centered over artwork
   ========================================================= */
.hs-refer-bottom{left:2.4%!important;top:77.5%!important;width:12.2%!important;height:21%!important}
.hs-vip-bottom{left:18.9%!important;top:77.5%!important;width:12.2%!important;height:21%!important}
.hs-bonuses{left:35.8%!important;top:77.5%!important;width:12.2%!important;height:21%!important}
.hs-transactions{left:50.9%!important;top:77.5%!important;width:13.2%!important;height:21%!important}
.hs-withdraw{left:67.2%!important;top:77.5%!important;width:12.2%!important;height:21%!important}
.hs-deposit{left:84.7%!important;top:77.5%!important;width:12.2%!important;height:21%!important}

/* =========================================================
   V2 GENERIC PANEL SIZE — a little larger so labels stay readable
   ========================================================= */
.module-card{
  width:min(840px,95vw)!important;
  height:min(500px,84vh)!important;
  grid-template-rows:56px minmax(0,1fr)!important;
}
@media (orientation:landscape) and (max-height:700px){
  .module-card{
    width:min(840px,94vw)!important;
    height:min(475px,88vh)!important;
    grid-template-rows:50px minmax(0,1fr)!important;
  }
}
@media (orientation:portrait){
  .module-card{
    width:min(720px,95vw)!important;
    height:min(650px,82vh)!important;
  }
}

/* =========================================================
   NATIVE WITHDRAW PANEL — prevents guest/session-token error
   ========================================================= */
.withdraw-mini-card{
  width:min(650px,94vw)!important;
  max-height:none!important;
  overflow:hidden!important;
}
.withdraw-wallet-strip{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:7px;
  padding:10px 12px 7px;
}
.withdraw-wallet-strip>div{
  min-height:48px;
  padding:7px 10px;
  border:1px solid #315f42;
  border-radius:9px;
  background:#041d12;
}
.withdraw-wallet-strip small,.withdraw-wallet-strip b{display:block}
.withdraw-wallet-strip small{font-size:8px;color:#82aa91;font-weight:900}
.withdraw-wallet-strip b{margin-top:3px;font-size:14px;color:#ffd951}

.withdraw-state{
  margin:3px 12px 12px;
  min-height:108px;
  display:grid;
  grid-template-columns:48px minmax(0,1fr) 128px;
  gap:10px;
  align-items:center;
  padding:11px;
  border:1px solid #31764a;
  border-radius:12px;
  background:linear-gradient(135deg,#07331f,#042518);
}
.withdraw-state-icon{
  width:42px;height:42px;border-radius:50%;
  display:grid;place-items:center;
  background:#0a5433;color:#ffd65a;font-size:20px;
}
.withdraw-state small{display:block;color:#6ee18d;font-size:7px;font-weight:1000}
.withdraw-state h3{margin:3px 0 4px;color:#fff;font-size:16px}
.withdraw-state p{margin:0;color:#9fb4a6;font-size:9px;line-height:1.35}
.withdraw-state button{
  min-height:40px;border:1px solid #ffe17a;border-radius:9px;
  background:linear-gradient(#ffe36b,#d69109);
  color:#251800;font-size:10px;font-weight:1000;
}
.withdraw-ready{border-color:#3b8d59}

@media (orientation:landscape) and (max-height:650px){
  .withdraw-mini-card{width:min(650px,92vw)!important}
  .withdraw-wallet-strip{padding:7px 10px 5px}
  .withdraw-wallet-strip>div{min-height:39px;padding:5px 8px}
  .withdraw-wallet-strip b{font-size:12px}
  .withdraw-state{margin:3px 10px 9px;min-height:82px;padding:8px;grid-template-columns:38px minmax(0,1fr) 110px}
  .withdraw-state-icon{width:34px;height:34px;font-size:16px}
  .withdraw-state h3{font-size:13px}
  .withdraw-state p{font-size:8px}
  .withdraw-state button{min-height:34px;font-size:9px}
}


/* =========================================================
   DEPOSIT HEIGHT FIX V1
   Only Deposit is taller so the amount controls remain visible.
   Other compact panels keep their current working dimensions.
   ========================================================= */
.module-card.module-card-deposit{
  height:min(590px,90vh)!important;
}

@media (orientation:landscape) and (max-height:700px){
  .module-card.module-card-deposit{
    height:min(560px,92vh)!important;
  }
}

@media (orientation:portrait){
  .module-card.module-card-deposit{
    height:min(720px,88vh)!important;
  }
}
\n\n/* REFER PANEL POLISH V1\n   Keeps both My Promo and Downline compact, centered and fully visible. */\n.module-card.module-card-refer{\n  width:min(840px,92vw)!important;\n  height:min(500px,78vh)!important;\n}\n@media (orientation:landscape) and (max-height:700px){\n  .module-card.module-card-refer{\n    width:min(840px,90vw)!important;\n    height:min(475px,82vh)!important;\n  }\n}\n@media (orientation:portrait){\n  .module-card.module-card-refer{\n    width:min(700px,95vw)!important;\n    height:min(610px,82vh)!important;\n  }\n}\n
/* ===== FULL-SIZE ACCOUNT MODULE RESTORE =====
   Do not squeeze long account pages. Give the iframe a readable viewport;
   each account page handles its own vertical scrolling. */
.module-modal{
  overflow:hidden!important;
}
.module-card,
.module-card.module-card-deposit,
.module-card.module-card-refer{
  width:min(980px,96vw)!important;
  height:min(760px,92dvh)!important;
  max-width:96vw!important;
  max-height:92dvh!important;
  transform:none!important;
}
.module-frame-wrap{
  min-height:0!important;
  overflow:hidden!important;
}
.module-frame-wrap iframe,
#moduleFrame{
  width:100%!important;
  height:100%!important;
  display:block!important;
  border:0!important;
}
@media (orientation:landscape) and (max-height:700px){
  .module-card,
  .module-card.module-card-deposit,
  .module-card.module-card-refer{
    width:min(1000px,96vw)!important;
    height:94dvh!important;
    max-height:94dvh!important;
  }
}
@media (orientation:portrait){
  .module-card,
  .module-card.module-card-deposit,
  .module-card.module-card-refer{
    width:96vw!important;
    height:92dvh!important;
    max-height:92dvh!important;
  }
}


/* LuckZoo professional session progress loader */
.session-cover{z-index:2147483647!important;background:#020d08!important}
.session-cover .session-loader{width:min(520px,82vw)!important;text-align:center!important}
.session-brand{margin:0 0 20px!important;color:#fff!important;font-size:clamp(30px,5vw,48px)!important;font-weight:1000!important;line-height:1!important}
.session-brand span{color:#ffd13e!important}
.session-progress-head{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:14px!important;margin:0 2px 8px!important}
.session-progress-head b{color:#dfece3!important;font-size:clamp(11px,1.5vw,14px)!important}
.session-progress-head strong{min-width:44px!important;color:#ffd13e!important;font-size:clamp(12px,1.6vw,15px)!important;text-align:right!important}
.session-progress-track{height:17px!important;overflow:hidden!important;border:2px solid #d6a52d!important;border-radius:999px!important;background:#06140d!important;box-shadow:inset 0 0 9px #000,0 0 18px #d6a52d2e!important}
.session-progress-track i{display:block!important;width:0;height:100%!important;border-radius:999px!important;background:linear-gradient(90deg,#20be63,#69e783 48%,#ffe05b)!important;transition:width .18s ease!important}
.session-loader>small{display:block!important;margin-top:10px!important;color:#7fa18d!important;font-size:clamp(10px,1.35vw,12px)!important;font-weight:700!important}
