.bonus-layer{position:absolute;inset:0;z-index:70;display:none;overflow:hidden;background:#07111a}
.bonus-layer.is-open{display:block}
.bonus-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.bonus-bg-landscape{display:none}
.bonus-haze{position:absolute;inset:0;background:radial-gradient(circle at 50% 39%,rgba(34,78,105,.08),rgba(0,0,0,.47) 78%);pointer-events:none}
.bonus-intro,.bonus-active,.bonus-complete{position:absolute;inset:0;z-index:3;display:none}
.bonus-layer[data-phase="intro"] .bonus-intro,
.bonus-layer[data-phase="active"] .bonus-active,
.bonus-layer[data-phase="complete"] .bonus-complete{display:block}

/* ---------------- Intro / portrait ---------------- */
.bonus-intro-art-wrap{position:absolute;left:20px;top:170px;width:350px;height:166px;filter:drop-shadow(0 12px 17px rgba(0,0,0,.8))}
.bonus-intro-panel-art{width:100%;height:100%;object-fit:contain}
.bonus-awarded-number{position:absolute;left:32.7%;top:47.1%;width:32.8%;height:20%;display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,#8b150b,#5c0805);font-family:Georgia,"Times New Roman",serif;font-size:41px;line-height:1;font-weight:1000;color:#ffd753;text-shadow:0 3px 2px #6a1900,0 0 5px #fff39b}
.bonus-awarded-copy{position:absolute;left:31.6%;top:67.2%;width:36.9%;height:10.2%;display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,#ffd46e,#d19028);font-family:Georgia,"Times New Roman",serif;font-size:8px;font-weight:1000;color:#651b06;text-shadow:0 1px rgba(255,255,255,.34);white-space:nowrap}
.bonus-start-button{position:absolute;left:105px;top:300px;width:180px;height:130px;border:0;background:transparent;padding:0;cursor:pointer;filter:drop-shadow(0 8px 10px rgba(0,0,0,.7));animation:startBreathe 1.8s ease-in-out infinite}
.bonus-start-button img{position:absolute;left:0;top:-36px;width:180px;height:208px;object-fit:contain}

/* ---------------- Active / portrait ---------------- */
.bonus-active-panel-wrap{position:absolute;left:8px;top:18px;width:374px;height:177px;filter:drop-shadow(0 8px 12px rgba(0,0,0,.8));z-index:6}
.bonus-active-panel-art{width:100%;height:100%;object-fit:contain}
/* Artwork slot centers are ~24%, 50%, 76.8% across and ~58% vertically. */
.bonus-stat{position:absolute;top:46.5%;height:23%;display:flex;align-items:center;justify-content:center;font-weight:1000;font-variant-numeric:tabular-nums;color:#eefaff;text-shadow:0 3px 5px #000,0 0 10px #66beff;line-height:1}
.bonus-stat-spins{left:14.8%;width:16.8%;font-size:22px}
.bonus-stat-win{left:33%;width:34%;font-size:19px}
.bonus-stat-multiplier{left:68.4%;width:16.8%;font-size:21px;color:#fff0c1;text-shadow:0 3px 5px #000,0 0 10px #ff6227}

.bonus-reel-host{position:absolute;left:0;top:204px;width:390px;height:246px;z-index:4}
.bonus-reel-host .reel-zone{position:absolute!important;left:0!important;top:0!important;width:390px!important;height:246px!important;z-index:1!important}
.bonus-reel-host .reel-frame{left:0!important;top:-26px!important;width:390px!important;height:259px!important}
.bonus-reel-host .reel-layer{left:30px!important;top:44px!important;width:330px!important;height:162px!important;gap:4px!important}
.bonus-reel-host .reel-col{height:162px!important}
.bonus-reel-host .cell{height:54px!important}
.bonus-reel-host .win-banner{transform-origin:center}

.bonus-ladder{position:absolute;left:0;top:452px;width:390px;height:112px;display:flex;align-items:center;justify-content:center;gap:0;z-index:5}
.bonus-multiplier{position:relative;flex:0 0 auto;opacity:.60;transform:scale(.96);filter:saturate(.78) brightness(.78);transition:opacity .2s ease,transform .2s ease,filter .2s ease}
.bonus-multiplier[data-multiplier="2"]{width:64px;height:80px}
.bonus-multiplier[data-multiplier="3"]{width:70px;height:88px}
.bonus-multiplier[data-multiplier="5"]{width:76px;height:96px}
.bonus-multiplier[data-multiplier="10"]{width:82px;height:104px}
.bonus-multiplier[data-multiplier="25"]{width:94px;height:132px}
.bonus-multiplier img{width:100%;height:100%;object-fit:contain}
.bonus-multiplier.is-active{opacity:1;transform:scale(1.05);filter:saturate(1.25) brightness(1.15) drop-shadow(0 0 9px #ffd25d)}
.bonus-multiplier.is-passed{opacity:.84;filter:saturate(1) brightness(.95)}

.bonus-spin-button{position:absolute;left:136px;top:568px;width:118px;height:93px;border:0;background:transparent;padding:0;cursor:pointer;filter:drop-shadow(0 7px 10px #000);z-index:5}
.bonus-spin-button img{width:100%;height:100%;object-fit:contain}
.bonus-spin-button:disabled{opacity:.48;filter:grayscale(.4) brightness(.7)}
.bonus-message{position:absolute;left:50%;top:670px;transform:translateX(-50%);z-index:5;min-width:180px;padding:7px 12px;border-radius:999px;background:rgba(0,0,0,.58);border:1px solid rgba(255,213,104,.48);font-size:9px;font-weight:900;letter-spacing:.08em;text-align:center;color:#ffe8aa}

/* ---------------- Complete / portrait ---------------- */
.bonus-complete-art-wrap{position:absolute;left:15px;top:164px;width:360px;height:171px;filter:drop-shadow(0 12px 17px rgba(0,0,0,.82))}
.bonus-complete-panel-art{width:100%;height:100%;object-fit:contain}
.bonus-complete-win{position:absolute;left:27.5%;top:48.2%;width:45%;height:20%;display:flex;align-items:center;justify-content:center;font-family:Georgia,"Times New Roman",serif;font-size:26px;font-weight:1000;color:#fff1b2;text-shadow:0 3px 4px #000,0 0 10px #e46d22}
.bonus-continue{position:absolute;left:131px;top:279px;width:129px;height:40px;border:1px solid #ffd66b;border-radius:13px;background:linear-gradient(180deg,#14792f,#07531d);box-shadow:inset 0 0 10px rgba(255,247,142,.35),0 7px 13px #000;font-family:Georgia,"Times New Roman",serif;font-size:15px;font-weight:1000;color:#ffe28a;text-shadow:0 2px 3px #000;cursor:pointer}

@keyframes startBreathe{0%,100%{transform:scale(.98);filter:drop-shadow(0 8px 10px rgba(0,0,0,.7))}50%{transform:scale(1.04);filter:drop-shadow(0 8px 10px rgba(0,0,0,.7)) drop-shadow(0 0 10px rgba(92,255,113,.65))}}

/* ---------------- LANDSCAPE 16:9 ---------------- */
@media (orientation:landscape){
  .bonus-bg-portrait{display:none}
  .bonus-bg-landscape{display:block}
  .bonus-haze{background:radial-gradient(ellipse at 48% 45%,rgba(38,83,121,.05),rgba(0,0,0,.43) 82%)}

  .bonus-intro-art-wrap{left:510px;top:160px;width:900px;height:426px}
  .bonus-awarded-number{font-size:104px}
  .bonus-awarded-copy{font-size:20px}
  .bonus-start-button{left:750px;top:525px;width:420px;height:310px}
  .bonus-start-button img{top:-90px;width:420px;height:484px}

  .bonus-active-panel-wrap{left:570px;top:15px;width:780px;height:369px}
  .bonus-stat{top:46.5%;height:23%}
  .bonus-stat-spins{font-size:52px}
  .bonus-stat-win{font-size:47px}
  .bonus-stat-multiplier{font-size:52px}

  .bonus-reel-host{left:340px;top:300px;width:970px;height:635px;z-index:4}
  .bonus-reel-host .reel-zone{width:970px!important;height:635px!important}
  .bonus-reel-host .reel-frame{left:-10px!important;top:-54px!important;width:990px!important;height:658px!important}
  .bonus-reel-host .reel-layer{left:80px!important;top:113px!important;width:810px!important;height:435px!important;gap:10px!important}
  .bonus-reel-host .reel-col{height:435px!important}
  .bonus-reel-host .cell{height:145px!important}

    .bonus-ladder{left:1325px;top:225px;width:560px;height:590px;display:grid;grid-template-columns:repeat(2,220px);grid-template-rows:repeat(3,180px);gap:8px 18px;align-items:center;justify-content:center;justify-items:center}
  .bonus-multiplier[data-multiplier="2"]{width:160px;height:188px}
  .bonus-multiplier[data-multiplier="3"]{width:172px;height:200px}
  .bonus-multiplier[data-multiplier="5"]{width:184px;height:212px}
  .bonus-multiplier[data-multiplier="10"]{width:196px;height:224px}
  .bonus-multiplier[data-multiplier="25"]{grid-column:1 / span 2;width:220px;height:276px}
  .bonus-spin-button{left:1470px;top:820px;width:245px;height:190px}
  .bonus-message{left:1590px;top:1005px;min-width:320px;padding:10px 18px;font-size:17px}

  .bonus-complete-art-wrap{left:510px;top:160px;width:900px;height:426px}
  .bonus-complete-win{font-size:64px}
  .bonus-continue{left:806px;top:445px;width:308px;height:101px;border-radius:28px;border-width:3px;font-size:36px}
}
