:root{
  --bg:#020402;
  --panel:#101610;
  --panel-strong:#151d15;
  --muted:#b8b8b8;
  --green:#35a900;
  --green-strong:#41c400;
  --green-soft:#bce8a3;
  --green-rgb:65,196,0;
  --gold:var(--green-strong);
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{
  min-height:100svh;
  padding:8px;
  overflow-x:hidden;
  font-family:Inter,Arial,sans-serif;
  color:#f7f8fa;
  background:
    radial-gradient(circle at 50% 20%,rgba(44,137,0,.13),transparent 36%),
    linear-gradient(180deg,var(--bg),#000 78%);
}
button{font:inherit}
.app{
  width:100%;
  margin:0 auto;
  padding:14px;
  border:1px solid #ffffff16;
  border-radius:18px;
  background:rgba(8,14,8,.96);
  box-shadow:0 20px 55px #0009;
}
.header{
  padding-inline:44px;
  margin-bottom:14px;
  text-align:center;
}
.header h1{
  font-size:clamp(2rem,13vw,3.15rem);
  line-height:1;
  letter-spacing:clamp(4px,3vw,8px);
}
.muted-indicator{
  position:fixed;
  top:max(10px,env(safe-area-inset-top));
  right:max(10px,env(safe-area-inset-right));
  z-index:1000;
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border:1px solid #ffffff24;
  border-radius:50%;
  background:rgba(8,14,8,.93);
  color:#fff;
  font-size:1.15rem;
  box-shadow:0 8px 24px #0009;
  cursor:pointer;
  touch-action:manipulation;
  -webkit-tap-highlight-color:transparent;
  transition:transform .18s ease,background .18s ease;
}
.muted-indicator:active{transform:scale(.94)}
.muted-indicator:focus-visible{outline:3px solid var(--green-strong);outline-offset:3px}
.muted-indicator[aria-pressed="true"]{background:#183f06}

.audio-tip{
  position:fixed;
  top:max(60px,calc(env(safe-area-inset-top) + 52px));
  right:max(10px,env(safe-area-inset-right));
  z-index:999;
  max-width:min(245px,calc(100vw - 24px));
  padding:10px 13px;
  border:1px solid rgba(188,232,163,.33);
  border-radius:12px;
  background:rgba(10,18,10,.96);
  color:#f4f8fc;
  font-size:.78rem;
  font-weight:800;
  line-height:1.3;
  text-align:center;
  box-shadow:0 10px 30px #000b,0 0 18px rgba(var(--green-rgb),.12);
  opacity:0;
  transform:translateY(-6px) scale(.97);
  pointer-events:none;
  transition:opacity .22s ease,transform .22s ease;
}
.audio-tip::before{
  content:"";
  position:absolute;
  top:-7px;
  right:14px;
  width:12px;
  height:12px;
  border-left:1px solid rgba(188,232,163,.33);
  border-top:1px solid rgba(188,232,163,.33);
  background:#0a120a;
  transform:rotate(45deg);
}
.audio-tip.show{opacity:1;transform:translateY(0) scale(1)}
.muted-indicator.audio-attention{animation:audioAttention 1.15s ease-in-out infinite}
@keyframes audioAttention{
  50%{transform:scale(1.09);box-shadow:0 8px 24px #0009,0 0 0 7px rgba(var(--green-rgb),.09),0 0 20px rgba(var(--green-rgb),.27)}
}
.stage{
  position:relative;
  min-height:285px;
  padding:16px 8px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  border-radius:18px;
  background:linear-gradient(180deg,#172217,#090d09);
  box-shadow:inset 0 0 58px #000a;
}
.next-ball{
  width:100%;
  margin-top:10px;
  margin-bottom:0;
}
.next-ball .label{
  margin-bottom:8px;
  text-align:left;
  color:#dce4ef;
  font-size:.72rem;
  font-weight:800;
}
.progress{
  height:6px;
  margin-top:10px;
  overflow:hidden;
  border-radius:99px;
  background:#ffffff14;
}
.next-ball .progress{margin-top:0}
.progress div{height:100%;background:var(--green);transition:none}
.carousel-wrap{
  position:relative;
  width:100%;
  height:205px;
  display:flex;
  align-items:center;
}
.carousel-badges{position:absolute;top:0;left:50%;z-index:20;display:flex;align-items:center;gap:8px;transform:translateX(-50%)}
.carousel-badges .live-pill,.carousel-badges .round-pill{box-shadow:0 8px 22px #0007;backdrop-filter:blur(8px)}
.carousel{
  position:relative;
  width:100%;
  height:126px;
  overflow:hidden;
  border:2px solid #ffffff24;
  border-radius:22px;
  background:linear-gradient(180deg,#070b07,#172417 50%,#060a06);
  box-shadow:inset 0 0 28px #000c,0 16px 34px #0008;
}
.carousel:before,.carousel:after{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  z-index:8;
  width:16%;
  pointer-events:none;
}
.carousel:before{left:0;background:linear-gradient(90deg,#070b07 10%,transparent)}
.carousel:after{right:0;background:linear-gradient(-90deg,#070b07 10%,transparent)}
.track{
  position:absolute;
  left:50%;
  top:50%;
  display:flex;
  gap:10px;
  align-items:center;
  will-change:transform;
  transform:translate3d(0,-50%,0);
}
.number{
  flex:0 0 78px;
  width:78px;
  height:78px;
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  color:#111;
  font-weight:950;
  background-position:center;
  background-repeat:no-repeat;
  background-size:contain;
  filter:drop-shadow(0 7px 8px #0009);
  transform:scale(.78);
  opacity:.62;
  transition:none;
}
.number small{display:none}
.number b{
  position:relative;
  z-index:2;
  display:grid;
  place-items:center;
  width:58%;
  height:58%;
  font-size:1.42rem;
  line-height:1;
  color:#111;
  text-shadow:0 1px 0 #fff;
  font-variant-numeric:tabular-nums;
}
.number.near{transform:scale(.93);opacity:.9}
.number.active{
  transform:scale(1.12);
  opacity:1;
  filter:brightness(1.08) drop-shadow(0 0 7px var(--green-strong)) drop-shadow(0 9px 10px #000b);
}
.number.removed{display:none}
.selector{
  position:absolute;
  left:50%;
  top:50%;
  z-index:10;
  width:98px;
  height:108px;
  transform:translate(-50%,-50%);
  border:3px solid var(--green-strong);
  border-radius:24px;
  box-shadow:0 0 18px rgba(var(--green-rgb),.44),inset 0 0 14px rgba(var(--green-rgb),.15);
  pointer-events:none;
}
.selector:before,.selector:after{
  content:"";
  position:absolute;
  left:50%;
  width:0;
  height:0;
  transform:translateX(-50%);
  border-left:11px solid transparent;
  border-right:11px solid transparent;
}
.selector:before{top:-15px;border-top:17px solid var(--green-strong)}
.selector:after{bottom:-15px;border-bottom:17px solid var(--green-strong)}
.pop-number{display:none}
.number.track-placeholder{visibility:hidden}
.number.flying-ball{
  position:fixed!important;
  z-index:9999!important;
  margin:0!important;
  pointer-events:none;
  opacity:1!important;
  transform-origin:center center!important;
  transition:none!important;
  filter:brightness(1.08) drop-shadow(0 18px 18px #000c)!important;
}
.ball-pink{background-image:url('../ball-pink.webp')}
.ball-blue{background-image:url('../ball-blue.webp')}
.ball-red{background-image:url('../ball-red.webp')}
.ball-green{background-image:url('../ball-green.webp')}
.ball-yellow{background-image:url('../ball-yellow.webp')}
.info{
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
  margin-top:14px;
}
.card{
  padding:16px;
  border:1px solid #ffffff0c;
  border-radius:16px;
  background:#ffffff09;
}
.label{
  display:block;
  margin-bottom:7px;
  color:var(--muted);
  font-size:.72rem;
  text-transform:uppercase;
  letter-spacing:1.1px;
}
.last-number-card{
  min-height:128px;
  display:flex;
  flex-direction:column;
  align-items:center;
}
.last-number-card .label{align-self:flex-start}
.last-ball-slot{
  width:92px;
  height:92px;
  display:grid;
  place-items:center;
  margin-top:2px;
  border-radius:50%;
  position:relative;
}
.last-ball-slot:empty:before{
  content:'--';
  display:grid;
  place-items:center;
  width:100%;
  height:100%;
  border:2px dashed #ffffff20;
  border-radius:50%;
  color:#ffffff45;
  font-size:1.7rem;
  font-weight:900;
}
.last-ball{
  width:92px;
  height:92px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  color:#111;
  font-weight:950;
  background-position:center;
  background-repeat:no-repeat;
  background-size:contain;
  filter:brightness(1.05) drop-shadow(0 8px 10px #000a);
}
.last-ball b{
  display:grid;
  place-items:center;
  width:58%;
  height:58%;
  font-size:1.7rem;
  line-height:1;
  color:#111;
  text-shadow:0 1px 0 #fff;
}
.last-ball small{display:none}
.history-section{margin-top:16px}
.history-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:10px;
  margin-bottom:10px;
}
.history-head h2{font-size:1rem;line-height:1.2}
.history-head span{flex:0 0 auto;color:var(--muted);font-size:.8rem}
.history{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(42px,1fr));
  gap:6px;
  min-height:44px;
}
.history-landing,
.history-ball{
  width:100%;
  max-width:48px;
  aspect-ratio:1;
  height:auto;
  justify-self:center;
  border-radius:50%;
}
.history-landing{visibility:hidden}
.history-ball{
  position:relative;
  display:grid;
  place-items:center;
  font-size:.8rem;
  font-weight:950;
  color:#111;
  text-shadow:0 1px 0 #fff;
  background-position:center;
  background-repeat:no-repeat;
  background-size:contain;
  filter:drop-shadow(0 4px 4px #0008);
}

.prize-card{
  position:relative;
  overflow:hidden;
  margin-top:14px;
  padding:14px 12px;
  border:2px solid var(--green);
  border-radius:16px;
  background:
    linear-gradient(180deg,rgba(31,116,0,.16),rgba(0,0,0,.08)),
    #030503;
  box-shadow:inset 0 0 24px #35a9002b,0 10px 28px #0008;
  text-align:center;
}
.prize-card::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:radial-gradient(circle at 50% 50%,rgba(66,190,0,.1),transparent 66%);
}
.prize-round,
.prize-objective{
  position:relative;
  z-index:1;
  display:block;
  width:100%;
  padding:9px 10px;
  border:1px solid var(--green);
  border-radius:9px;
  color:#fff;
  font-size:.78rem;
  font-weight:900;
  line-height:1.2;
  text-transform:uppercase;
}
.prize-headline{
  position:relative;
  z-index:1;
  margin:13px 0 8px;
  color:#fff;
  font-size:clamp(.92rem,4.4vw,1.18rem);
  font-weight:950;
  line-height:1.2;
  text-transform:uppercase;
  letter-spacing:.3px;
}
.prize-name{
  position:relative;
  z-index:1;
  margin-bottom:4px;
  color:#fff;
  font-size:.8rem;
  font-weight:900;
  text-transform:uppercase;
}
.prize-value{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  margin:2px 0 10px;
  color:var(--green);
  font-size:clamp(2rem,12vw,3.35rem);
  font-weight:950;
  line-height:1;
  white-space:nowrap;
  letter-spacing:-1.5px;
}
.prize-trophy{
  flex:0 0 auto;
  font-size:.58em;
  filter:saturate(1.2);
}
@media (min-width:480px){
  .prize-card{padding:15px 18px}
  .prize-round,.prize-objective{font-size:.9rem}
}
@media (min-width:768px){
  .prize-card{margin-top:22px;padding:18px 22px;border-radius:18px}
  .prize-round,.prize-objective{font-size:1rem;padding:11px 14px}
  .prize-headline{margin-top:16px;font-size:1.3rem}
  .prize-name{font-size:.95rem}
  .prize-value{font-size:3.8rem}
}

@media (min-width:480px){
  body{padding:12px}
  .app{padding:18px;border-radius:22px}
  .stage{min-height:320px;padding:20px 14px;border-radius:21px}
  .number{flex-basis:88px;width:88px;height:88px}
  .number b{font-size:1.58rem}
  .track{gap:12px}
  .selector{width:110px;height:122px}
  .carousel{height:140px}
  .carousel-wrap{height:220px}
  .last-ball-slot,.last-ball{width:104px;height:104px}
  .history{grid-template-columns:repeat(auto-fill,minmax(48px,1fr));gap:8px}
  .history-landing,.history-ball{max-width:54px}
}
@media (min-width:768px){
  body{padding:22px}
  .app{width:min(1050px,100%);padding:28px;border-radius:26px;box-shadow:0 30px 90px #000b}
  .header{margin-bottom:22px}
  .header h1{font-size:clamp(3.2rem,7vw,4.7rem);letter-spacing:12px}
  .muted-indicator{top:18px;right:18px;width:46px;height:46px;font-size:1.25rem}
  .muted-indicator:hover{transform:scale(1.06);background:#1a2433}
  .stage{min-height:410px;padding:28px;border-radius:24px;box-shadow:inset 0 0 85px #000b}
  .next-ball,.carousel-wrap{width:min(920px,92%)}
  .next-ball{margin-bottom:18px}
  .next-ball .label{margin-bottom:10px;font-size:.86rem}
  .next-ball .progress{height:8px}
  .carousel-wrap{height:250px}
  .carousel{height:160px;border-radius:28px;box-shadow:inset 0 0 35px #000c,0 22px 45px #0008}
  .carousel:before,.carousel:after{width:22%}
  .track{gap:16px}
  .number{flex-basis:112px;width:112px;height:112px}
  .number b{font-size:2rem}
  .number.active{transform:scale(1.14)}
  .selector{width:138px;height:148px;border-width:4px;border-radius:32px;box-shadow:0 0 24px rgba(var(--green-rgb),.44),inset 0 0 20px rgba(var(--green-rgb),.15)}
  .selector:before,.selector:after{border-left-width:15px;border-right-width:15px}
  .selector:before{top:-19px;border-top-width:22px}
  .selector:after{bottom:-19px;border-bottom-width:22px}
  .info{gap:16px;margin-top:22px}
  .card{padding:21px;border-radius:18px}
  .label{font-size:.78rem;letter-spacing:1.3px}
  .last-number-card{min-height:154px;align-items:flex-start}
  .last-ball-slot,.last-ball{width:112px;height:112px}
  .last-ball b{font-size:2rem}
  .history-section{margin-top:22px}
  .history-head{margin-bottom:12px}
  .history-head h2{font-size:1.5rem}
  .history-head span{font-size:1rem}
  .history{display:flex;flex-wrap:wrap;gap:8px;min-height:47px}
  .history-landing,.history-ball{width:55px;height:55px;max-width:none;aspect-ratio:auto;flex:0 0 55px}
  .history-ball{font-size:.92rem}
}
@media (max-width:360px){
  .app{padding:10px}
  .stage{padding-inline:5px}
  .header{padding-inline:38px}
  .number{flex-basis:70px;width:70px;height:70px}
  .number b{font-size:1.28rem}
  .track{gap:8px}
  .selector{width:90px;height:100px}
  .history{grid-template-columns:repeat(6,1fr)}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}

/* Production dashboard enhancements */
.production-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;padding:10px 12px;border:1px solid #ffffff18;border-radius:14px;background:#0b111bcc}.brand-lockup{display:flex;align-items:center;gap:10px;min-width:0}.brand-mark{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:linear-gradient(145deg,var(--green-soft),#247c00);color:#111;font-weight:1000}.brand-copy strong,.brand-copy span{display:block}.brand-copy strong{font-size:.9rem}.brand-copy span{color:var(--muted);font-size:.7rem}.live-cluster{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.live-pill,.status-pill,.round-pill{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid #ffffff18;border-radius:999px;background:#111a27;font-size:.68rem;font-weight:900;letter-spacing:.6px;text-transform:uppercase}.live-pill{color:#ffdfdf;background:#35161b;border-color:#ff55663d}.live-dot{width:7px;height:7px;border-radius:50%;background:#ff4f5f;box-shadow:0 0 0 5px #ff4f5f1f;animation:livePulse 1.5s infinite}.status-pill{color:#d8f3c8}.status-dot{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 10px var(--green-strong)}.round-pill{color:#d8f3c8}@keyframes livePulse{50%{opacity:.42;transform:scale(.82)}}
.header{padding-inline:0}.header h1{font-size:clamp(1.8rem,10vw,3.6rem)}.event-subtitle{margin-top:7px;color:var(--muted);font-size:.78rem}.next-ball .label{display:flex;align-items:end;justify-content:space-between;gap:10px}.timer-copy{color:#fff;font-size:.98rem;letter-spacing:0}.timer-copy b{color:var(--green-soft);font-variant-numeric:tabular-nums}.stage-status{margin-top:8px;color:#d6dfeb;font-size:.75rem;text-align:center}
.dashboard-row{display:grid;gap:12px;margin-top:14px}.stat-card{padding:14px;border:1px solid #ffffff16;border-radius:16px;background:linear-gradient(180deg,#151d29,#0e141e)}.stat-label{display:block;color:var(--muted);font-size:.68rem;font-weight:900;letter-spacing:1.2px;text-transform:uppercase}.stat-value{display:block;margin-top:7px;font-size:1.25rem;font-weight:1000}.last-number-card{align-items:center;text-align:center}.last-number-card .label{width:100%;text-align:center}.last-ball-slot{margin-inline:auto}.last-letter{min-height:1.2em;margin-top:8px;color:var(--green-soft);font-weight:900}.prize-round{color:var(--green-soft)}.prize-card{border-color:rgba(var(--green-rgb),.25);background:radial-gradient(circle at top right,#276b0824,transparent 45%),linear-gradient(180deg,#171d27,#0e141d)}
.bingo-board{margin-top:18px;padding:14px;border:1px solid #ffffff16;border-radius:18px;background:#0d141f}.board-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.board-head h2{font-size:1rem}.board-head span{color:var(--muted);font-size:.72rem}.board-grid{display:grid;gap:7px}.board-row{display:grid;grid-template-columns:34px repeat(15,minmax(0,1fr));gap:4px}.board-letter,.board-number{min-width:0;aspect-ratio:1;display:grid;place-items:center;border-radius:7px;font-size:clamp(.48rem,1.8vw,.76rem);font-weight:900}.board-letter{color:#fff}.board-number{color:#687589;background:#ffffff0a;border:1px solid #ffffff0b}.board-number.drawn{color:#fff;border-color:#ffffff2c;box-shadow:inset 0 0 14px #fff1}.board-number.latest{outline:2px solid var(--green-soft);outline-offset:2px;transform:scale(1.05)}.board-letter.ball-pink,.board-number.ball-pink.drawn{background:#d63288}.board-letter.ball-blue,.board-number.ball-blue.drawn{background:#1688d4}.board-letter.ball-red,.board-number.ball-red.drawn{background:#d7483e}.board-letter.ball-green,.board-number.ball-green.drawn{background:#25a962}.board-letter.ball-yellow,.board-number.ball-yellow.drawn{background:#d2a91d;color:#16120a}
@media(min-width:768px){.production-bar{padding:12px 16px}.brand-mark{width:44px;height:44px}.brand-copy strong{font-size:1rem}.brand-copy span{font-size:.76rem}.live-pill,.status-pill,.round-pill{font-size:.72rem}.header{margin-bottom:16px}.dashboard-row{grid-template-columns:minmax(220px,.75fr) minmax(0,1.25fr);align-items:stretch}.info{margin-top:0}.last-number-card{height:100%;justify-content:center}.prize-card{margin-top:0}.board-grid{gap:8px}.board-row{grid-template-columns:42px repeat(15,minmax(0,1fr));gap:6px}.board-letter,.board-number{border-radius:9px}.stage{min-height:390px}.next-ball .label{font-size:.82rem}.timer-copy{font-size:1.15rem}}
@media(max-width:620px){.carousel-badges{top:4px}.production-bar{align-items:flex-start}.brand-copy span{display:none}.live-cluster{gap:5px}.status-pill{display:none}.round-pill,.live-pill{padding:6px 8px}.dashboard-row{grid-template-columns:1fr}.board-row{grid-template-columns:28px repeat(15,1fr);gap:2px}.board-number,.board-letter{border-radius:4px;font-size:.43rem}.bingo-board{padding:10px}.board-head span{display:none}}

/* Requested visual adjustments */
.production-bar{position:relative;justify-content:center;padding:18px 150px 20px;text-align:center}
.brand-lockup{min-width:0;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px}
.event-name{font-size:clamp(1.35rem,3.3vw,2.2rem);font-weight:1000;letter-spacing:1.2px;color:#fff;line-height:1;text-align:center;text-transform:uppercase}
.event-meta{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap}
.event-prize{display:flex;align-items:baseline;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:4px}
.event-prize-label{color:#dce7df;font-size:clamp(.76rem,1.6vw,.95rem);font-weight:1000;letter-spacing:1.2px;text-transform:uppercase}
.event-prize-value{color:var(--green-soft);font-size:clamp(1.45rem,4vw,2.45rem);font-weight:1000;line-height:1;text-shadow:0 0 20px rgba(var(--green-rgb),.27)}
.live-cluster{position:absolute;right:16px;top:16px}
.carousel-badges{position:static;transform:none;justify-content:center;margin:0 auto 10px}
.next-ball .label{margin-top:0}
.round-pill{color:#e1f8d5;border-color:rgba(var(--green-rgb),.53);background:linear-gradient(180deg,#245f0a,#142f08)}
.prize-pill{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid #ffd84f99;border-radius:999px;background:linear-gradient(180deg,#6d5710,#3e3008);color:#fff0a6;font-size:.68rem;font-weight:900;letter-spacing:.6px;text-transform:uppercase;box-shadow:0 0 14px #ffd84f1f}
.prize-pill i{width:7px;height:7px;border-radius:50%;background:#ffd84f;box-shadow:0 0 10px #ffd84f}
.selector{border-color:var(--green-strong);box-shadow:0 0 18px rgba(var(--green-rgb),.44),inset 0 0 16px rgba(var(--green-rgb),.15)}
.selector:before{border-top-color:var(--green-strong)}
.selector:after{border-bottom-color:var(--green-strong)}
.number.active{filter:brightness(1.08) drop-shadow(0 0 7px var(--green-strong)) drop-shadow(0 9px 10px #000b)}
.prize-round,.last-letter,.timer-copy b{color:var(--green-soft)}
.dashboard-row{grid-template-columns:1fr}
.info{width:100%}
@media(max-width:760px){.production-bar{padding:16px 12px 18px}.live-cluster{position:static;margin-top:2px}.status-pill{display:none}.event-name{font-size:clamp(1.2rem,6vw,1.7rem)}.event-prize{gap:7px}.event-prize-value{width:100%}}
.screen-live{position:fixed;top:14px;left:14px;z-index:60;pointer-events:none}
.screen-live .live-pill{padding:8px 12px;box-shadow:0 8px 24px #0008,0 0 18px #ff4f5f24}
.event-objectives{display:flex;align-items:center;justify-content:center;gap:7px;flex-wrap:wrap;color:#d8e2ee;font-size:clamp(.66rem,1.4vw,.82rem);font-weight:800;text-transform:uppercase;letter-spacing:.45px}
.event-objectives .objectives-label{color:#8f9bae}
.event-objectives span:not(.objectives-label){padding:5px 9px;border:1px solid #ffffff18;border-radius:999px;background:#111a27}
@media(max-width:760px){.screen-live{top:8px;left:8px}.screen-live .live-pill{padding:6px 9px;font-size:.62rem}.event-objectives{gap:5px}.event-objectives span:not(.objectives-label){padding:4px 7px}}


/* Painel-resumo do sorteio */
.draw-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 14px}
.draw-summary-card{min-height:88px;padding:13px 10px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border:1px solid #263142;border-radius:14px;background:#0c121c;box-shadow:inset 0 1px 0 #ffffff05}
.draw-summary-label{color:#8da3c1;font-size:.62rem;font-weight:1000;line-height:1.15;letter-spacing:1.15px;text-transform:uppercase}
.draw-summary-value{margin-top:7px;color:#f7f8fa;font-size:clamp(.9rem,2.3vw,1.12rem);font-weight:1000;line-height:1.18}
.draw-summary-value.live-value{display:inline-flex;align-items:center;gap:8px;text-transform:uppercase}
.draw-summary-value .live-dot{width:7px;height:7px;flex:0 0 auto}
@media(max-width:520px){.draw-summary{gap:7px}.draw-summary-card{min-height:87px;padding:12px 6px;border-radius:13px}.draw-summary-label{font-size:.56rem;letter-spacing:.9px}.draw-summary-value{font-size:.82rem}}

/* Mobile-first: a tela é o container; somente os painéis internos permanecem como cards. */
@media (max-width:767px){
  body{
    padding:max(6px,env(safe-area-inset-top)) max(6px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(6px,env(safe-area-inset-left));
  }
  .app{
    width:100%;
    margin:0;
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
  }
  .production-bar{border-radius:16px}
  .draw-summary{margin-top:10px}
  .stage,.card,.bingo-board,.draw-summary-card{box-shadow:none}
  .stage{width:100%;border-radius:16px}
  .dashboard-row,.info,.history-section{width:100%}
  .card{border-radius:14px}
}


/* Hierarquia visual: o usuário deve olhar primeiro para o sorteio e para o último número. */
.draw-focus-card,
.result-focus-card{
  position:relative;
  isolation:isolate;
  border:1px solid rgba(var(--green-rgb),.47);
  background:
    radial-gradient(circle at 50% 0,rgba(var(--green-rgb),.09),transparent 38%),
    linear-gradient(180deg,#182536,#0b121c);
  box-shadow:0 18px 42px #0008,0 0 0 1px rgba(var(--green-rgb),.07),inset 0 1px 0 #ffffff12;
}
.draw-focus-card::after,
.result-focus-card::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  border-radius:inherit;
  box-shadow:inset 0 0 34px rgba(var(--green-rgb),.04);
}
.draw-focus-card{
  border-width:2px;
  box-shadow:0 20px 48px #000a,0 0 24px rgba(var(--green-rgb),.13),inset 0 1px 0 #ffffff14;
}
.result-focus-card{
  border-color:rgba(var(--green-rgb),.38);
  background:
    radial-gradient(circle at 50% 42%,rgba(var(--green-rgb),.09),transparent 45%),
    linear-gradient(180deg,#152131,#0b121b);
}
.result-focus-card .label{
  color:#e1f8d5;
  font-weight:1000;
  letter-spacing:1.35px;
}
.result-focus-card .last-ball-slot{
  filter:drop-shadow(0 0 12px rgba(var(--green-rgb),.22));
}
.result-focus-card .last-letter{
  min-height:1.35em;
  font-size:1rem;
  letter-spacing:.8px;
  text-shadow:0 0 14px rgba(var(--green-rgb),.27);
}

/* Os blocos auxiliares continuam legíveis, mas não disputam atenção com o sorteio. */
.draw-summary-card,
.bingo-board,
.history-section{
  opacity:.82;
}
.draw-summary-card{
  border-color:#ffffff10;
  background:#0b1119cc;
}

@media (max-width:767px){
  .draw-focus-card{
    min-height:300px;
    border-radius:18px;
    box-shadow:0 16px 34px #000a,0 0 20px rgba(var(--green-rgb),.12),inset 0 1px 0 #ffffff14;
  }
  .result-focus-card{
    min-height:154px;
    padding:18px 14px;
    border-width:2px;
    border-radius:18px;
    box-shadow:0 14px 30px #0008,0 0 18px rgba(var(--green-rgb),.09),inset 0 1px 0 #ffffff10;
  }
  .result-focus-card .last-ball-slot,
  .result-focus-card .last-ball{
    width:108px;
    height:108px;
  }
  .result-focus-card .last-ball b{font-size:2rem}
  .dashboard-row{margin-top:12px}
  .draw-summary{opacity:.78}
  .history-section{opacity:.72}
}


/* Elevação real dos dois focos principais do sorteio. */
.stage.draw-focus-card,
.last-number-card.result-focus-card{
  position:relative;
  z-index:3;
  overflow:visible;
  transform:translateZ(0);
}

.stage.draw-focus-card{
  margin-bottom:20px;
  border-color:rgba(188,232,163,.60);
  box-shadow:
    0 18px 22px -12px rgba(0,0,0,.95),
    0 30px 58px -22px rgba(0,0,0,.88),
    0 0 0 1px rgba(var(--green-rgb),.20),
    0 0 28px rgba(var(--green-rgb),.16),
    inset 0 1px 0 rgba(255,255,255,.10);
}

.last-number-card.result-focus-card{
  margin-top:2px;
  margin-bottom:20px;
  border-color:rgba(var(--green-rgb),.45);
  box-shadow:
    0 14px 18px -11px rgba(0,0,0,.92),
    0 24px 42px -20px rgba(0,0,0,.82),
    0 0 0 1px rgba(var(--green-rgb),.14),
    0 0 20px rgba(var(--green-rgb),.11),
    inset 0 1px 0 rgba(255,255,255,.08);
}

/* Os cards auxiliares ficam no plano de base. */
.draw-summary,
.history-section{
  position:relative;
  z-index:1;
}
.draw-summary-card{
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
}

@media (max-width:767px){
  .stage.draw-focus-card{
    margin-bottom:22px;
    transform:translateY(-2px);
    box-shadow:
      0 14px 18px -10px rgba(0,0,0,.98),
      0 27px 48px -18px rgba(0,0,0,.92),
      0 0 0 1px rgba(var(--green-rgb),.24),
      0 0 25px rgba(var(--green-rgb),.15),
      inset 0 1px 0 rgba(255,255,255,.11);
  }
  .last-number-card.result-focus-card{
    margin-top:4px;
    margin-bottom:22px;
    transform:translateY(-1px);
    box-shadow:
      0 12px 16px -10px rgba(0,0,0,.96),
      0 22px 38px -18px rgba(0,0,0,.88),
      0 0 0 1px rgba(var(--green-rgb),.17),
      0 0 18px rgba(var(--green-rgb),.10),
      inset 0 1px 0 rgba(255,255,255,.09);
  }
  .draw-summary{margin-top:0}
  .dashboard-row{margin-top:0}
}


/* Status integrado ao carrossel e menor distância até as bolas. */
.draw-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
.stage .next-ball{margin-bottom:2px}
.stage .stage-status{
  width:max-content;
  max-width:100%;
  margin:0 auto 7px;
  padding:5px 10px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  border:1px solid rgba(69,213,138,.26);
  border-radius:999px;
  background:rgba(10,27,19,.68);
  color:#c9f6dc;
  font-size:.68rem;
  font-weight:900;
  letter-spacing:.55px;
  text-transform:uppercase;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
}
.stage .stage-status::before{content:"";width:7px;height:7px;flex:0 0 auto;border-radius:50%;background:var(--green);box-shadow:0 0 10px rgba(var(--green-rgb),.75)}
.stage .next-ball .label{margin-bottom:6px}
.stage .next-ball .progress{margin-bottom:0}
.stage .carousel-wrap{margin-top:-2px}
@media(max-width:767px){
  .stage .next-ball{margin-bottom:0}
  .stage .stage-status{margin-bottom:6px;padding:4px 9px;font-size:.61rem}
  .stage .next-ball .label{margin-bottom:5px}
  .stage .carousel-wrap{margin-top:-5px}
}


/* Cabeçalho: nome e valor centralizados; posição e objetivo lado a lado. */
.production-bar{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:10px;
  padding:14px 132px 15px;
  text-align:center;
}
.event-heading{
  display:flex;
  flex-direction:column;
  align-items:center;
  min-width:0;
}
.event-name{
  max-width:100%;
  overflow:hidden;
  color:#fff;
  font-size:clamp(1rem,2vw,1.4rem);
  font-weight:1000;
  line-height:1.05;
  letter-spacing:.4px;
  text-overflow:ellipsis;
  text-transform:none;
  white-space:nowrap;
}
.event-prize{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:3px;
  margin-top:5px;
  white-space:nowrap;
}
.event-objective span{
  color:#8996a9;
  font-size:.61rem;
  font-weight:1000;
  letter-spacing:1.15px;
  text-transform:uppercase;
}
.event-prize-value{
  color:var(--green-soft);
  font-size:clamp(1.45rem,3.2vw,2.15rem);
  font-weight:1000;
  line-height:1;
  text-shadow:0 0 20px rgba(var(--green-rgb),.22);
}
.event-details{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:18px;
  min-width:0;
}
.event-position{
  display:flex;
  align-items:center;
  gap:7px;
  color:#aeb9ca;
  margin-top:5px;
  font-size:.68rem;
  font-weight:850;
  letter-spacing:.35px;
  text-transform:uppercase;
  white-space:nowrap;
}
.event-position i{color:var(--green-strong);font-style:normal}
.event-objective{
  max-width:430px;
  padding-left:0;
  border-left:0;
  text-align:center;
}
.event-objective span,.event-objective strong{display:block}
.event-objective strong{
  margin-top:4px;
  color:#e8edf4;
  font-size:.78rem;
  line-height:1.3;
}
.live-cluster{position:absolute;top:14px;right:14px}
@media(max-width:760px){
  .production-bar{gap:9px;padding:13px 12px 14px}
  .event-name{font-size:clamp(.98rem,4.8vw,1.25rem)}
  .event-prize{margin-top:6px}
  .event-prize-value{font-size:clamp(1.3rem,7vw,1.8rem)}
  .event-details{gap:10px;width:100%}
  .event-position{gap:5px;margin-top:4px;font-size:.62rem}
  .event-objective{max-width:100%;padding-left:0}
  .event-objective strong{font-size:.68rem}
  .live-cluster{display:none}
}
@media(max-width:430px){
  .production-bar{padding-inline:8px}
  .event-details{gap:7px}
  .event-position{font-size:.58rem}
  .event-objective{max-width:100%;padding-left:0}
  .event-objective strong{font-size:.61rem}
}


/* Indicadores apoiados nas duas pontas da borda superior do card. */
.stage.draw-focus-card{padding-top:30px}
.stage .stage-status,
.stage .stage-round-prize{
  position:absolute;
  top:0;
  z-index:8;
  transform:translateY(-50%);
  margin:0;
  padding:6px 12px;
  white-space:nowrap;
}
.stage .stage-status{
  left:18px;
  border-color:rgba(255,79,95,.62);
  background:linear-gradient(180deg,#5b1820,#321015);
  color:#fff;
  box-shadow:0 7px 18px rgba(0,0,0,.48),0 0 16px rgba(255,79,95,.24),inset 0 1px 0 rgba(255,255,255,.11);
  transform-origin:center;
  animation:liveCardBlink 1.15s ease-in-out infinite;
}

.stage .stage-status::before{
  width:8px;
  height:8px;
  background:#ff4f5f;
  box-shadow:0 0 0 0 rgba(255,79,95,.48),0 0 11px rgba(255,79,95,.9);
  animation:stageLivePulse 1.05s ease-out infinite;
}
.stage .stage-status.is-paused{
  border-color:rgba(143,155,174,.42);
  background:#1b222d;
  color:#c6cfdb;
  animation:none;
  transform:translateY(-50%);
}
.stage .stage-status.is-paused::before{
  background:#8f9bae;
  box-shadow:none;
  animation:none;
}

.stage .stage-round-prize{
  right:18px;
  display:inline-flex;
  align-items:center;
  gap:7px;
  border:1px solid rgba(69,213,138,.48);
  border-radius:999px;
  background:linear-gradient(180deg,#173426,#0d2118);
  color:#c8f7dc;
  box-shadow:0 7px 18px rgba(0,0,0,.44),0 0 15px rgba(var(--green-rgb),.16),inset 0 1px 0 rgba(255,255,255,.08);
  font-size:.68rem;
  font-weight:1000;
  letter-spacing:.55px;
  text-transform:uppercase;
}
.stage .stage-round-prize i{color:var(--green-soft);font-style:normal;opacity:.8}

@keyframes liveCardBlink{
  0%,100%{transform:translateY(-50%) scale(1);filter:brightness(1);box-shadow:0 7px 18px rgba(0,0,0,.48),0 0 13px rgba(255,79,95,.20),inset 0 1px 0 rgba(255,255,255,.11)}
  50%{transform:translateY(-50%) scale(1.06);filter:brightness(1.28);box-shadow:0 8px 22px rgba(0,0,0,.52),0 0 28px rgba(255,79,95,.72),0 0 8px rgba(255,79,95,.65),inset 0 1px 0 rgba(255,255,255,.18)}
}

@keyframes stageLivePulse{
  0%{transform:scale(.88);box-shadow:0 0 0 0 rgba(255,79,95,.56),0 0 9px rgba(255,79,95,.9)}
  55%{transform:scale(1.14);box-shadow:0 0 0 7px rgba(255,79,95,0),0 0 15px rgba(255,79,95,.72)}
  100%{transform:scale(.88);box-shadow:0 0 0 0 rgba(255,79,95,0),0 0 9px rgba(255,79,95,.9)}
}
@media(max-width:767px){
  .stage.draw-focus-card{padding-top:27px}
  .stage .stage-status,.stage .stage-round-prize{padding:5px 9px;font-size:.60rem}
  .stage .stage-status{left:10px}
  .stage .stage-round-prize{right:10px;gap:5px}
}
@media(max-width:390px){
  .stage .stage-status,.stage .stage-round-prize{font-size:.55rem;padding:5px 7px}
}
@media (prefers-reduced-motion:reduce){
  .stage .stage-status::before{animation:none}
}


/* Resumo compacto dentro do carrossel */
.carousel-progress-summary{
  width:100%;
  margin-top:-2px;padding-top:0;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  color:#9eabbc;
  font-size:.68rem;
  font-weight:800;
  letter-spacing:.25px;
  text-align:center;
}
.carousel-progress-summary strong{color:#eef4fa;font-weight:1000;font-variant-numeric:tabular-nums}
.carousel-progress-divider{width:1px;height:13px;flex:0 0 auto;background:#ffffff2b}

/* Cartelas próximas de vencer */
.near-win-card{
  min-height:96px;
  margin:0 0 14px;
  padding:16px 18px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  border:1px solid rgba(var(--green-rgb),.27);
  border-radius:16px;
  background:radial-gradient(circle at 100% 0,rgba(var(--green-rgb),.08),transparent 46%),linear-gradient(180deg,#131d29,#0b121b);
}
.near-win-copy{min-width:0}
.near-win-label{display:block;color:#9eabbc;font-size:.65rem;font-weight:1000;letter-spacing:1.05px;text-transform:uppercase}
.near-win-message{display:block;margin-top:6px;color:#eef6f1;font-size:clamp(.92rem,2.5vw,1.12rem);font-weight:900;line-height:1.2}
.near-win-count{
  min-width:68px;
  min-height:58px;
  padding:8px 12px;
  display:grid;
  place-items:center;
  border:1px solid rgba(var(--green-rgb),.33);
  border-radius:14px;
  background:#10251a;
  color:var(--green-soft);
  font-size:clamp(1.45rem,5vw,2rem);
  font-weight:1000;
  font-variant-numeric:tabular-nums;
  box-shadow:inset 0 1px 0 #ffffff0c,0 0 18px rgba(var(--green-rgb),.06);
}
.near-win-count.is-empty{font-size:.72rem;line-height:1.15;text-align:center;text-transform:uppercase;letter-spacing:.4px}
@media(max-width:520px){
  .carousel-progress-summary{margin-top:-22px;gap:8px;font-size:.61rem}
  .near-win-card{min-height:88px;padding:14px;gap:12px;border-radius:14px}
  .near-win-label{font-size:.58rem}
  .near-win-message{font-size:.88rem}
  .near-win-count{min-width:62px;min-height:54px;padding:7px 9px}
}


/* Melhorias finais de experiência */
.draw-impact{position:absolute;inset:0;z-index:40;display:grid;place-items:center;overflow:hidden;border-radius:inherit;pointer-events:none;opacity:0}
.draw-impact.show{animation:impactLayer 1.15s ease both}
.draw-impact-ring{
  position:absolute;
  width:min(160px,34vw);
  height:min(160px,34vw);
  border:2px solid rgba(188,232,163,.34);
  border-radius:50%;
  background:radial-gradient(circle,rgba(69,213,138,.18),transparent 62%);
  box-shadow:0 0 28px rgba(var(--green-rgb),.16),inset 0 0 16px rgba(255,255,255,.06);
  opacity:0;
  transform:scale(.45);
}
.draw-impact.show .draw-impact-ring{animation:impactRing 1s cubic-bezier(.15,.78,.25,1) both}
.draw-impact-number{
  position:relative;
  width:min(132px,29vw);
  height:min(132px,29vw);
  display:grid;
  place-items:center;
  border-radius:50%;
  background:radial-gradient(circle at 35% 32%,#d9ffd1 0%,#80d74b 28%,#2c8c00 70%,#174600 100%);
  color:#111;
  box-shadow:0 0 24px rgba(var(--green-rgb),.22),inset 0 2px 0 rgba(255,255,255,.32),inset 0 -10px 20px rgba(0,0,0,.18);
  opacity:0;
  transform:scale(.45);
}
.draw-impact.show .draw-impact-number{animation:impactNumber 1.05s cubic-bezier(.18,.85,.22,1) both}
.draw-impact-letter{position:absolute;top:23%;left:50%;z-index:3;transform:translateX(-50%);color:#0b1605;font-size:.68rem;font-weight:1000;letter-spacing:1px}
.draw-impact-number b{position:relative;z-index:2;font-size:clamp(1.7rem,4vw,2.7rem);line-height:1;color:#111;text-shadow:0 1px 0 rgba(255,255,255,.68)}
.impact-particle{position:absolute;left:var(--origin-x,50%);top:var(--origin-y,50%);width:7px;height:7px;border-radius:50%;background:var(--particle-color,var(--green-soft));box-shadow:0 0 12px var(--particle-color,var(--green-soft));opacity:0}
.draw-impact.show .impact-particle{animation:particleBurst .85s ease-out both;animation-delay:var(--delay)}
@keyframes impactLayer{0%{opacity:0;background:rgba(var(--green-rgb),0)}15%{opacity:1;background:rgba(var(--green-rgb),.06)}72%{opacity:1}100%{opacity:0;background:rgba(var(--green-rgb),0)}}
@keyframes impactRing{0%{opacity:0;transform:scale(.35)}22%{opacity:1}100%{opacity:0;transform:scale(2.5)}}
@keyframes impactNumber{0%{opacity:0;transform:scale(.35) rotate(-8deg)}28%{opacity:1;transform:scale(1.12) rotate(2deg)}48%{transform:scale(.96) rotate(0)}78%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(.88)}}
@keyframes particleBurst{0%{opacity:0;transform:translate(-50%,-50%) rotate(var(--angle)) translateX(20px) scale(.4)}18%{opacity:1}100%{opacity:0;transform:translate(-50%,-50%) rotate(var(--angle)) translateX(var(--distance)) scale(1.2)}}
.recent-strip{margin-top:14px;padding:12px;border:1px solid #ffffff12;border-radius:15px;background:#0b1119b8}
.recent-strip-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px}
.recent-strip-head strong{font-size:.75rem;letter-spacing:.9px;text-transform:uppercase}
.recent-strip-head span{color:var(--muted);font-size:.66rem}
.recent-five{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.recent-five .history-ball{max-width:58px;width:100%;justify-self:center}
.recent-empty{grid-column:1/-1;padding:9px;color:#748196;font-size:.75rem;text-align:center}
.progress.is-urgent div{background:#ffb84d;box-shadow:0 0 14px #ffb84d66}
.timer-copy.is-urgent b{color:#ffca73;animation:timerUrgency .7s ease-in-out infinite}
@keyframes timerUrgency{50%{opacity:.55}}
.last-number-card.just-confirmed{animation:lastCardConfirm .8s ease}
@keyframes lastCardConfirm{0%{transform:scale(.98);box-shadow:0 0 0 rgba(var(--green-rgb),0)}35%{transform:scale(1.015);box-shadow:0 0 32px rgba(var(--green-rgb),.29)}100%{transform:scale(1);box-shadow:inherit}}
@media(max-width:520px){.draw-impact-number{min-width:126px;min-height:126px}.draw-impact-ring{width:126px;height:126px}.recent-five{gap:5px}.recent-strip{padding:10px}}
@media(prefers-reduced-motion:reduce){.draw-impact,.draw-impact *,.timer-copy.is-urgent b,.last-number-card.just-confirmed{animation:none!important}.draw-impact.show{opacity:0}}

/* Premiação sem card para não competir com o carrossel */
.stage-prize-card{
  width:min(560px,92%);
  margin:7px auto 14px;
  padding:0;
  display:grid;
  justify-items:center;
  gap:2px;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  text-align:center;
}
.stage-prize-label{color:#d8c985;font-size:.6rem;font-weight:1000;letter-spacing:1.35px;text-transform:uppercase}
.stage-prize-value{color:var(--green-soft);font-size:clamp(1.45rem,4.4vw,2.35rem);font-weight:1000;line-height:1.05;text-shadow:0 0 16px rgba(var(--green-rgb),.28)}
.stage-prize-card small{color:#aeb8c7;font-size:.67rem;font-weight:800;letter-spacing:.35px}
@media(max-width:520px){
  .stage-prize-card{width:94%;margin:5px auto 12px;padding:0}
  .stage-prize-value{font-size:1.65rem}
}

/* Identificação clara do sorteio no primeiro card */
.draw-identification{gap:11px}
.event-context{display:block;margin-bottom:5px;color:#8f9bae;font-size:.62rem;font-weight:1000;letter-spacing:1.2px;text-transform:uppercase}
.draw-identification .event-name{font-size:clamp(1.2rem,3.2vw,1.75rem);letter-spacing:.65px}
.event-schedule{display:flex;align-items:stretch;justify-content:center;gap:14px;width:min(430px,100%);padding:10px 14px;border:1px solid #ffffff12;border-radius:13px;background:#0a1018aa}
.event-schedule-item{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center}
.event-schedule-item span{color:#8190a5;font-size:.57rem;font-weight:1000;letter-spacing:1.1px;text-transform:uppercase}
.event-schedule-item strong{margin-top:4px;color:#eef3f8;font-size:.84rem;line-height:1;font-variant-numeric:tabular-nums}
.event-schedule-divider{width:1px;background:#ffffff14}
@media(max-width:520px){.event-context{font-size:.56rem}.draw-identification .event-name{font-size:1.18rem}.event-schedule{gap:6px;padding:9px 7px}.event-schedule-item span{font-size:.51rem;letter-spacing:.8px}.event-schedule-item strong{font-size:.7rem}}



/* Carrossel em primeiro plano: palco elevado do sorteio */
.stage.draw-focus-card{
  isolation:isolate;
  background:
    radial-gradient(circle at 50% 48%,rgba(var(--green-rgb),.11),transparent 34%),
    linear-gradient(180deg,#1b2737,#0b111a 76%);
}
.stage.draw-focus-card::before{
  content:"";
  position:absolute;
  left:9%;
  right:9%;
  top:34%;
  height:46%;
  z-index:-1;
  border-radius:50%;
  background:radial-gradient(ellipse,rgba(var(--green-rgb),.28),rgba(42,157,105,.10) 42%,transparent 72%);
  filter:blur(24px);
  opacity:.9;
  pointer-events:none;
  animation:carouselHaloBreath 4.2s ease-in-out infinite;
}
.stage .carousel-wrap{
  z-index:4;
  padding:9px 7px 15px;
  transform:translateY(-5px);
  filter:drop-shadow(0 25px 22px rgba(0,0,0,.48));
  animation:carouselFloat 4.8s ease-in-out infinite;
}
.stage .carousel{
  border:1px solid rgba(130,255,191,.58);
  background:
    radial-gradient(circle at 50% 30%,rgba(255,255,255,.055),transparent 45%),
    linear-gradient(180deg,#101a27,#17283a 49%,#081019);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.17),
    inset 0 -18px 30px rgba(0,0,0,.42),
    inset 0 0 42px rgba(0,0,0,.58),
    0 16px 22px -10px rgba(0,0,0,.95),
    0 31px 55px -19px rgba(0,0,0,.85),
    0 0 0 1px rgba(var(--green-rgb),.20),
    0 0 34px rgba(69,213,138,.22);
}
.stage .carousel::after{
  box-shadow:inset -12px 0 20px rgba(0,0,0,.35);
}
.stage .carousel::before{
  box-shadow:inset 12px 0 20px rgba(0,0,0,.35);
}
.stage .carousel-wrap::after{
  content:"";
  position:absolute;
  left:12%;
  right:12%;
  bottom:7px;
  height:18px;
  z-index:-1;
  border-radius:50%;
  background:rgba(0,0,0,.72);
  filter:blur(12px);
  transform:scaleX(.92);
  pointer-events:none;
}
@keyframes carouselFloat{
  0%,100%{transform:translateY(-5px)}
  50%{transform:translateY(-10px)}
}
@keyframes carouselHaloBreath{
  0%,100%{opacity:.62;transform:scale(.96)}
  50%{opacity:1;transform:scale(1.035)}
}
@media(max-width:767px){
  .stage .carousel-wrap{
    padding-inline:3px;
    transform:translateY(-3px);
    filter:drop-shadow(0 20px 17px rgba(0,0,0,.5));
  }
  .stage .carousel{
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.15),
      inset 0 -15px 25px rgba(0,0,0,.40),
      inset 0 0 32px rgba(0,0,0,.58),
      0 13px 18px -9px rgba(0,0,0,.96),
      0 25px 42px -18px rgba(0,0,0,.89),
      0 0 0 1px rgba(69,213,138,.22),
      0 0 25px rgba(69,213,138,.18);
  }
  @keyframes carouselFloat{
    0%,100%{transform:translateY(-3px)}
    50%{transform:translateY(-7px)}
  }
}
/* Horário do evento e relógio em tempo real */
.event-current-time strong{
  color:#d8f3c8;
  font-variant-numeric:tabular-nums;
  letter-spacing:.04em;
  text-shadow:0 0 14px rgba(69,213,138,.22);
}
#startTime,#currentClock{font-variant-numeric:tabular-nums}

@media(prefers-reduced-motion:reduce){
  .stage .carousel-wrap,.stage.draw-focus-card::before{animation:none}
}



/* Vidro fumê sobre o carrossel, com portinhola central transparente */
.carousel{
  --smoke-door-w:98px;
  --smoke-door-h:108px;
}
.carousel-smoke{
  position:absolute;
  inset:0;
  z-index:9;
  overflow:hidden;
  border-radius:inherit;
  pointer-events:none;
}
.carousel-smoke i{
  position:absolute;
  display:block;
  background:
    linear-gradient(115deg,rgba(255,255,255,.10) 0%,rgba(255,255,255,.025) 20%,transparent 42%),
    linear-gradient(180deg,rgba(17,24,34,.58),rgba(5,9,15,.70));
  -webkit-backdrop-filter:blur(1.4px) saturate(.78) brightness(.78);
  backdrop-filter:blur(1.4px) saturate(.78) brightness(.78);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07),inset 0 -1px 0 rgba(0,0,0,.35);
}
.carousel-smoke .smoke-top{
  left:0;right:0;top:0;
  height:calc((100% - var(--smoke-door-h))/2);
}
.carousel-smoke .smoke-bottom{
  left:0;right:0;bottom:0;
  height:calc((100% - var(--smoke-door-h))/2);
}
.carousel-smoke .smoke-left,
.carousel-smoke .smoke-right{
  top:calc((100% - var(--smoke-door-h))/2);
  height:var(--smoke-door-h);
  width:calc((100% - var(--smoke-door-w))/2);
}
.carousel-smoke .smoke-left{left:0}
.carousel-smoke .smoke-right{right:0}
/* Friso discreto ao redor da abertura, reforçando a aparência de porta */
.selector{
  background:transparent;
  box-shadow:0 0 18px rgba(var(--green-rgb),.44),inset 0 0 14px rgba(var(--green-rgb),.15),0 0 10px rgba(0,0,0,.65);
}
@media(min-width:768px){
  .carousel{--smoke-door-w:138px;--smoke-door-h:148px}
}
@media(max-width:520px){
  .carousel{--smoke-door-w:90px;--smoke-door-h:100px}
}

/* Estrutura semântica do objetivo da rodada. */
.stage-objective {
  margin-top: 6px;
  text-align: center;
}

.stage-objective .objetivo-label {
  display: block;
  font-size: 12px;
  opacity: .8;
}

.stage-objective .objetivo-texto {
  display: block;
  font-size: 16px;
  font-weight: 700;
}
