/* BROADCAST — the scheduled takeover (see broadcast.js). Every rule is inert
   unless broadcast.js adds its elements / body.broadcasting. */
.bc-bar{position:fixed;top:0;left:0;right:0;z-index:9400;display:none;align-items:center;gap:10px;
  padding:calc(env(safe-area-inset-top,0px) + 9px) 14px 9px;background:#e11d2e;color:#fff;
  font-family:'Share Tech Mono',monospace;font-size:12px;font-weight:700;letter-spacing:.08em;
  box-shadow:0 6px 24px rgba(225,29,46,.45);}
.bc-bar.show{display:flex;}
.bc-bar.pre{background:#111;color:#ffb020;box-shadow:0 6px 24px rgba(0,0,0,.5);}
.bc-dot{width:10px;height:10px;border-radius:50%;background:#fff;flex:0 0 auto;animation:bcPulse 1.1s ease-in-out infinite;}
.bc-bar.pre .bc-dot{background:#ffb020;}
.bc-tag{font-family:'Orbitron',sans-serif;font-weight:900;font-size:13px;letter-spacing:.14em;flex:0 0 auto;}
.bc-title{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-transform:uppercase;}
.bc-time{flex:0 0 auto;font-variant-numeric:tabular-nums;opacity:.92;}
.bc-exit{flex:0 0 auto;border:1.6px solid #fff;background:transparent;color:#fff;border-radius:8px;
  padding:5px 10px;font:inherit;font-size:11px;cursor:pointer;letter-spacing:.06em;}
.bc-exit:active{background:#fff;color:#e11d2e;}
.bc-prog{position:absolute;left:0;bottom:0;height:3px;width:0;background:#fff;opacity:.85;transition:width .9s linear;}
body.broadcasting{padding-top:calc(env(safe-area-inset-top,0px) + 42px);}
body.broadcasting::after{content:"";position:fixed;inset:0;z-index:9300;pointer-events:none;
  box-shadow:inset 0 0 0 3px rgba(225,29,46,.85),inset 0 0 80px rgba(225,29,46,.22);animation:bcGlow 2.4s ease-in-out infinite;}
body.broadcasting #liveBtn.bc-locked{opacity:.4;}
@keyframes bcPulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.7)}}
@keyframes bcGlow{0%,100%{opacity:1}50%{opacity:.55}}

/* the ON AIR flash — the moment the broadcast starts */
.bc-flash{position:fixed;inset:0;z-index:9600;display:none;flex-direction:column;align-items:center;justify-content:center;
  background:#e11d2e;color:#fff;text-align:center;pointer-events:none;}
.bc-flash.show{display:flex;animation:bcFlash 2.6s ease-out forwards;}
.bc-flash b{font-family:'Orbitron',sans-serif;font-weight:900;font-size:clamp(54px,18vw,140px);letter-spacing:.06em;}
.bc-flash small{margin-top:10px;font-family:'Share Tech Mono',monospace;font-size:clamp(12px,3.4vw,18px);letter-spacing:.3em;}
@keyframes bcFlash{0%{opacity:0}8%{opacity:1}55%{opacity:1}100%{opacity:0}}

/* browsers block autoplay until a tap — this is the one-tap "tune in" */
.bc-tap{position:fixed;inset:0;z-index:9500;display:none;align-items:center;justify-content:center;padding:24px;
  background:rgba(8,6,10,.92);text-align:center;}
.bc-tap.show{display:flex;}
.bc-tap-box{max-width:420px;width:100%;}
.bc-tap-live{display:inline-flex;align-items:center;gap:8px;background:#e11d2e;color:#fff;border-radius:999px;
  padding:6px 14px;font-family:'Orbitron',sans-serif;font-weight:900;font-size:13px;letter-spacing:.14em;}
.bc-tap h2{margin:18px 0 6px;font-family:'Oswald',sans-serif;font-weight:700;font-size:34px;color:#fff;text-transform:uppercase;line-height:1.05;}
.bc-tap p{margin:0 0 22px;font-family:'Share Tech Mono',monospace;font-size:12px;letter-spacing:.08em;color:#bdb8ad;}
.bc-tap button{display:block;width:100%;border:0;border-radius:14px;padding:16px;margin-top:10px;cursor:pointer;
  font-family:'Orbitron',sans-serif;font-weight:900;font-size:16px;letter-spacing:.1em;}
.bc-go{background:#e11d2e;color:#fff;}
.bc-skip{background:transparent;color:#bdb8ad;border:1.6px solid #555 !important;font-size:12px !important;}
@media (prefers-reduced-motion:reduce){
  .bc-dot,body.broadcasting::after{animation:none}
  .bc-flash{display:none !important}
}
