/* Weekly Spin mobile + landing integrity — v17.27.64
   The server result remains authoritative. This layer only guarantees that the
   visual wheel stays inside its card and makes the exact landed segment
   unambiguous on small screens. */
.weekly-spin-page,
.weekly-spin-main-grid,
.weekly-spin-casino-panel,
.weekly-spin-machine,
.weekly-spin-wheel-stage{
  min-width:0;
  max-width:100%;
  box-sizing:border-box;
}
.weekly-spin-machine{
  width:100%;
}
.weekly-spin-wheel-stage{
  flex:0 0 auto;
}
.weekly-spin-machine.has-confirmed-landing .weekly-spin-wheel-disc>b:not(.is-confirmed-winner){
  opacity:.18;
}
.weekly-spin-machine.has-confirmed-landing .weekly-spin-wheel-disc>b.is-confirmed-winner{
  opacity:1;
}
.weekly-spin-machine.has-confirmed-landing .weekly-spin-wheel-disc>b.is-confirmed-winner span{
  isolation:isolate;
}
.weekly-spin-machine.has-confirmed-zero .weekly-spin-landing-readout{
  border-color:rgba(213,196,239,.55);
  background:rgba(21,12,33,.96);
}
.weekly-spin-machine.has-confirmed-zero .weekly-spin-landing-readout strong{
  color:#eee7ff;
}
@media(max-width:760px), (hover:none) and (pointer:coarse) and (max-width:1024px){
  .weekly-spin-page{
    width:100%;
    overflow-x:clip;
  }
  .weekly-spin-casino-panel{
    width:100%;
    overflow:hidden;
    padding:13px 10px 18px;
  }
  .weekly-spin-machine{
    width:100%;
    overflow:hidden;
    padding-inline:0;
  }
  .weekly-spin-machine-top,
  .weekly-spin-machine-copy,
  .weekly-spin-pull-button{
    max-width:100%;
  }
  .weekly-spin-wheel-stage{
    width:min(82vw,330px);
    max-width:calc(100% - 4px);
    margin:14px auto 8px;
  }
  .weekly-spin-stage-glow{
    inset:16%;
    filter:blur(24px);
  }
  .weekly-spin-wheel-rim{
    inset:4%;
    box-shadow:0 16px 34px rgba(0,0,0,.46),inset 0 0 0 4px rgba(67,34,4,.55),inset 0 0 22px rgba(255,244,192,.28);
  }
  .weekly-spin-wheel-rim:before{
    inset:7.5%;
    box-shadow:inset 0 0 0 3px rgba(255,236,164,.55),inset 0 0 24px rgba(0,0,0,.48);
  }
  .weekly-spin-wheel-disc{
    inset:9.5%;
    border-width:3px;
  }
  /* The decorative bulbs were the only wheel elements sized from viewport
     width rather than the actual wheel. Hide them on phones so they can never
     escape the card or distort the wheel footprint. */
  .weekly-spin-bulbs{
    display:none!important;
  }
  .weekly-spin-wheel-disc>b{
    padding-top:7.2%;
    font-size:clamp(9px,3.15vw,13px);
  }
  .weekly-spin-wheel-disc>b span{
    min-width:1.9em;
    max-width:3.3em;
    padding:1px 2px;
    white-space:nowrap;
  }
  .weekly-spin-wheel-disc>b[data-spin-prize="1000"] span,
  .weekly-spin-wheel-disc>b[data-spin-prize="900"] span,
  .weekly-spin-wheel-disc>b[data-spin-prize="800"] span{
    font-size:.76em;
  }
  .weekly-spin-pointer{
    top:.4%;
    width:40px;
    height:55px;
  }
  .weekly-spin-pointer:before{
    width:27px;
    height:27px;
    border-width:3px;
  }
  .weekly-spin-pointer i{
    top:19px;
    border-left-width:16px;
    border-right-width:16px;
    border-top-width:36px;
  }
  .weekly-spin-pointer i:after{
    left:-12px;
    top:-33px;
    border-left-width:12px;
    border-right-width:12px;
    border-top-width:26px;
  }
  .weekly-spin-landing-readout{
    left:50%;
    bottom:2.5%;
    min-width:132px;
    max-width:72%;
    padding:6px 9px 7px;
    border-radius:10px;
  }
  .weekly-spin-landing-readout strong{
    font-size:19px;
  }
  .weekly-spin-machine.has-confirmed-landing .weekly-spin-wheel-disc>b:not(.is-confirmed-winner){
    opacity:.10;
  }
  .weekly-spin-machine.has-confirmed-landing .weekly-spin-wheel-disc>b.is-confirmed-winner span{
    transform:rotate(90deg) scale(1.08);
    box-shadow:0 0 0 2px rgba(255,214,94,.24),0 0 18px rgba(255,204,73,.78),0 3px 9px rgba(0,0,0,.4);
  }
  .weekly-spin-machine-copy{
    padding-inline:6px;
  }
}
@media(max-width:380px){
  .weekly-spin-wheel-stage{
    width:min(80vw,292px);
  }
  .weekly-spin-casino-panel{
    padding-inline:8px;
  }
  .weekly-spin-wheel-disc>b{
    font-size:clamp(8px,3vw,11px);
  }
  .weekly-spin-wheel-hub small{
    margin-top:6px;
  }
}

/* v17.27.66 — iOS Safari true-centre repair.
   mobile-app-v17-27-35.css assigns the absolutely-positioned spinning disc an
   explicit 86vw width/height with !important. Because the disc also has inset,
   Safari honours left/top + that width and the disc shifts right of the pointer.
   These rules remove those dimensions and make rim/disc geometry derive only
   from the centred square stage. */
.weekly-spin-demo-banner{
  display:flex;align-items:center;justify-content:center;gap:9px;flex-wrap:wrap;
  margin:8px 0 0;padding:10px 13px;border:1px solid rgba(89,225,207,.34);
  border-radius:12px;background:rgba(10,38,42,.9);color:#d9fff9;
  font-size:11px;text-align:center
}
.weekly-spin-demo-banner strong{color:#64f2df;letter-spacing:.1em}
.weekly-spin-demo-card{
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  padding:16px 18px;border:1px solid rgba(89,225,207,.25);border-radius:16px;
  background:linear-gradient(135deg,rgba(11,50,53,.92),rgba(8,27,34,.94));color:#dffcf7
}
.weekly-spin-demo-card span{display:block;color:#64f2df;font-size:9px;font-weight:1000;letter-spacing:.12em}
.weekly-spin-demo-card h2{margin:4px 0 5px;font-size:18px}
.weekly-spin-demo-card p{margin:0;max-width:760px;color:#a9c9c5;font-size:11px;line-height:1.5}
.weekly-spin-demo-card code{flex:0 0 auto;padding:8px 10px;border-radius:9px;background:rgba(0,0,0,.28);color:#fff2b1}
.weekly-spin-result-panel.is-demo .weekly-spin-result-status{border-color:rgba(89,225,207,.34);background:rgba(7,43,45,.8);color:#8ff7e8}

/* The disc must NEVER have an independent width/height. It is an inset child
   of the rim. This is deliberately !important and more specific than the old
   mobile rule so the pointer and disc share the same horizontal centre. */
body[data-page="weekly-spin"] .weekly-spin-wheel-disc{
  width:auto!important;
  height:auto!important;
  max-width:none!important;
  max-height:none!important;
  transform-origin:50% 50%!important;
}

@media(max-width:760px), (hover:none) and (pointer:coarse) and (max-width:1024px){
  body[data-page="weekly-spin"] .weekly-spin-page{width:100%!important;overflow-x:clip!important}
  body[data-page="weekly-spin"] .weekly-spin-main-grid{min-width:0!important}
  body[data-page="weekly-spin"] .weekly-spin-casino-panel{
    width:100%!important;min-width:0!important;overflow:hidden!important;
    padding:13px 10px 18px!important;contain:layout paint
  }
  body[data-page="weekly-spin"] .weekly-spin-machine{
    width:100%!important;max-width:100%!important;min-width:0!important;
    box-sizing:border-box!important;overflow:hidden!important;padding:12px!important
  }
  body[data-page="weekly-spin"] .weekly-spin-wheel-stage{
    position:relative!important;display:block!important;flex:none!important;
    width:min(100%,330px)!important;max-width:330px!important;height:auto!important;
    aspect-ratio:1 / 1!important;margin:16px auto 14px!important;
    box-sizing:border-box!important;overflow:visible!important
  }
  body[data-page="weekly-spin"] .weekly-spin-wheel-rim{
    position:absolute!important;inset:4%!important;width:auto!important;height:auto!important;
    max-width:none!important;max-height:none!important;box-sizing:border-box!important
  }
  body[data-page="weekly-spin"] .weekly-spin-wheel-disc{
    position:absolute!important;inset:9.5%!important;width:auto!important;height:auto!important;
    max-width:none!important;max-height:none!important;box-sizing:border-box!important;
    transform-origin:50% 50%!important
  }
  body[data-page="weekly-spin"] .weekly-spin-pointer{
    left:50%!important;transform:translateX(-50%)!important
  }
  body[data-page="weekly-spin"] .weekly-spin-machine-copy{
    position:relative!important;z-index:2!important;width:100%!important;max-width:330px!important;
    margin:5px auto 12px!important;padding:0 6px!important;box-sizing:border-box!important
  }
  body[data-page="weekly-spin"] .weekly-spin-pull-button{
    width:min(100%,370px)!important;margin-left:auto!important;margin-right:auto!important
  }
  .weekly-spin-demo-card{display:block;padding:14px}
  .weekly-spin-demo-card code{display:inline-block;margin-top:10px}
  .weekly-spin-demo-banner{margin:8px 10px 0}
}
@media(max-width:390px){
  body[data-page="weekly-spin"] .weekly-spin-wheel-stage{width:min(100%,300px)!important;max-width:300px!important}
  body[data-page="weekly-spin"] .weekly-spin-machine-copy{max-width:300px!important}
}

/* v17.27.67 — mobile clean centre hub.
   Keep the physical gold hub intact, but remove all lettering/symbols from
   inside it on phones/touch layouts. Desktop remains unchanged. */
@media(max-width:760px), (hover:none) and (pointer:coarse) and (max-width:1024px){
  body[data-page="weekly-spin"] .weekly-spin-wheel-hub > span,
  body[data-page="weekly-spin"] .weekly-spin-wheel-hub > small,
  body[data-page="weekly-spin"] .weekly-spin-wheel-hub > em{
    display:none!important;
  }
}
