:root {
  --bg1:#0f0824; --bg2:#0f1d47; --panel:rgba(255,255,255,.08); --line:rgba(255,255,255,.16); --text:#f5f7ff; --muted:#b6c0f6; --pink:#ff4fd8; --cyan:#35e4ff; --yellow:#ffcb3d; --purple:#8a5cff; --green:#59f790; --red:#ff5f7a;
}
*{box-sizing:border-box} html,body{min-height:100%} body{margin:0;color:var(--text);font-family:Inter,Arial,Helvetica,sans-serif;background:radial-gradient(circle at top,#2b146b 0%,var(--bg1) 35%,var(--bg2) 100%)} body.has-stars::before{content:'';position:fixed;inset:0;pointer-events:none;opacity:.35;background-image:radial-gradient(#fff 1px,transparent 1px),radial-gradient(#fff 1px,transparent 1px);background-size:34px 34px,68px 68px;background-position:0 0,17px 17px}.noise{position:fixed;inset:0;pointer-events:none;background:linear-gradient(transparent,rgba(255,255,255,.02),transparent);mix-blend-mode:overlay}.glass{background:linear-gradient(180deg,rgba(255,255,255,.10),rgba(255,255,255,.06));border:1px solid var(--line);box-shadow:0 20px 60px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.1);backdrop-filter:blur(10px)}.inset{background:rgba(0,0,0,.16)}.hidden{display:none!important}.stack{display:grid}.gap-sm{gap:8px}.gap-md{gap:14px}.gap-lg{gap:22px}.label,.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:12px;color:var(--muted)}.lede{color:#dde5ff;line-height:1.6}.btn{display:inline-flex;justify-content:center;align-items:center;gap:10px;padding:14px 22px;border-radius:16px;text-decoration:none;color:white;border:1px solid var(--line);background:rgba(255,255,255,.08);cursor:pointer;font-weight:700}.btn.big{padding:18px 26px;font-size:18px}.btn.primary{background:linear-gradient(90deg,var(--pink),var(--purple),var(--cyan));border:0}.btn.danger{background:linear-gradient(90deg,#b0204c,#ff5f7a);border:0}.input,select.input,input.input{width:100%;padding:14px 16px;border-radius:14px;border:1px solid var(--line);background:rgba(255,255,255,.08);color:#fff}.center-card,.leaderboard-card,.phone-shell{width:min(94vw,620px);margin:6vh auto;border-radius:28px;padding:32px;position:relative;z-index:1}.hero-card{width:min(94vw,880px)}.actions{display:grid;gap:14px}.two-col{grid-template-columns:repeat(2,minmax(0,1fr))}.compact{max-width:460px;margin:0 auto}.feature-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:24px}.feature{padding:18px;border-radius:18px;background:rgba(255,255,255,.06);border:1px solid var(--line);text-align:center}.feature strong{display:block;font-size:22px}.feature span{color:var(--muted)}.tv-layout{display:grid;min-height:100vh;padding:22px;gap:22px;position:relative;z-index:1}.full-tv{grid-template-columns:330px 1fr}.tv-side,.tv-main,.card{border-radius:28px;padding:22px}.room-code{font-size:54px;font-weight:900;color:var(--yellow);text-shadow:0 0 22px rgba(255,203,61,.4);margin:8px 0 14px}.qr{width:min(100%,220px);border-radius:18px;background:white;padding:10px}.join-url{margin-top:10px;font-size:12px;color:var(--muted);overflow-wrap:anywhere}.player-list,.leaderboard-list{display:grid;gap:12px}.player-pill,.leader-item{padding:14px 16px;border-radius:18px;background:rgba(255,255,255,.06);border:1px solid var(--line);display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center}.tv-header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.tv-header h1{margin:.2rem 0 0;font-size:clamp(28px,4vw,54px);text-transform:uppercase}.status-boxes{display:grid;gap:10px}.status-chip{padding:12px 16px;border-radius:14px;background:rgba(255,255,255,.08);border:1px solid var(--line);font-weight:800;color:var(--yellow)}.video-wrap{position:relative;overflow:hidden;border-radius:28px;border:1px solid var(--line);background:radial-gradient(circle at center,rgba(53,228,255,.14),rgba(255,79,216,.10),rgba(0,0,0,.16))}.video-wrap.huge{min-height:440px;margin:18px 0}.pulse-grid{position:absolute;inset:0;opacity:.22;background-image:linear-gradient(rgba(255,255,255,.18) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.14) 1px,transparent 1px);background-size:50px 50px;transform:perspective(600px) rotateX(60deg) scale(1.6);transform-origin:bottom center}.video-player{position:relative;z-index:1;min-height:inherit;display:grid;place-items:center}.tv-placeholder{text-align:center}.equalizer{display:flex;gap:8px;justify-content:center;margin-bottom:18px}.equalizer span{width:10px;height:50px;border-radius:999px;background:linear-gradient(180deg,var(--cyan),var(--pink));animation:bounce 1s infinite ease-in-out}.equalizer span:nth-child(2){animation-delay:.1s}.equalizer span:nth-child(3){animation-delay:.2s}.equalizer span:nth-child(4){animation-delay:.3s}.equalizer span:nth-child(5){animation-delay:.4s}@keyframes bounce{0%,100%{transform:scaleY(.6)}50%{transform:scaleY(1.3)}}.countdown{position:absolute;right:22px;bottom:22px;z-index:2;width:132px;height:132px;border-radius:50%;display:grid;place-items:center;font-size:58px;font-weight:900;background:radial-gradient(circle,rgba(11,9,32,.82),rgba(255,79,216,.18));border:4px solid var(--cyan);box-shadow:0 0 24px rgba(53,228,255,.45),inset 0 0 20px rgba(255,79,216,.18)}.choices{display:grid;gap:14px}.choice{padding:18px 20px;border-radius:18px;border:1px solid var(--line);background:rgba(255,255,255,.08);display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:center;font-size:28px;font-weight:800}.choice .badge,.answer-btn .badge{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(180deg,rgba(255,255,255,.18),rgba(255,255,255,.05))}.choice.correct,.answer-btn.correct{box-shadow:inset 0 0 0 2px rgba(89,247,144,.7),0 0 24px rgba(89,247,144,.2);background:rgba(89,247,144,.14)}.choice.dim{opacity:.58}.tv-stagebar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:18px}.answer-stats{color:var(--muted);font-size:20px}.tv-actions{display:flex;gap:12px;flex-wrap:wrap}.phone-shell{max-width:520px}.mobile-scoreboard{display:grid;grid-template-columns:1fr 1fr;gap:12px}.mobile-chip{padding:12px 14px;border-radius:14px;background:rgba(255,255,255,.08);border:1px solid var(--line);text-align:center;font-weight:700}.question-panel{border-radius:22px;padding:18px}.mobile-timer{width:82px;height:82px;border-radius:50%;display:grid;place-items:center;font-size:36px;font-weight:900;border:3px solid var(--cyan);margin-top:12px}.phone-answers{gap:12px}.answer-btn{width:100%;padding:18px;border-radius:18px;border:1px solid var(--line);background:rgba(255,255,255,.08);color:white;font-size:22px;text-align:left;display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:center}.answer-btn.wrong{box-shadow:inset 0 0 0 2px rgba(255,95,122,.75);background:rgba(255,95,122,.16)}.answer-btn:disabled{opacity:.9}.lock-state{min-height:28px;color:var(--yellow);font-weight:700}.leaderboard-card{max-width:860px;text-align:center}.podium-list .leader-item{grid-template-columns:1fr auto;font-size:24px}.podium-1{background:linear-gradient(90deg,rgba(255,203,61,.22),rgba(255,255,255,.08))}.podium-2{background:linear-gradient(90deg,rgba(200,210,255,.18),rgba(255,255,255,.08))}.podium-3{background:linear-gradient(90deg,rgba(211,122,75,.18),rgba(255,255,255,.08))}.admin-layout{display:grid;grid-template-columns:260px 1fr;gap:22px;padding:22px;min-height:100vh;position:relative;z-index:1}.admin-nav{border-radius:24px;padding:22px;display:grid;align-content:start;gap:12px}.admin-nav a{color:#fff;text-decoration:none;padding:12px 14px;border-radius:12px;background:rgba(255,255,255,.06)}.admin-main{display:grid;gap:18px}.card{padding:22px}.admin-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.stat-card{padding:18px;border-radius:18px;background:rgba(255,255,255,.07);border:1px solid var(--line)}.stat-card strong{display:block;font-size:30px}.table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse}.data-table th,.data-table td{padding:12px 10px;border-bottom:1px solid rgba(255,255,255,.08);text-align:left;vertical-align:top}.admin-form{display:grid;gap:10px;align-items:end}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr)) auto}.grid-7{grid-template-columns:1fr 1fr 1.2fr 1fr 100px 110px auto auto}.mini-form{margin:8px 0}.toggle{display:flex;gap:8px;align-items:center;color:var(--muted)}.color-dot{width:14px;height:14px;border-radius:50%;display:inline-block;margin-right:8px;vertical-align:middle}.alert{padding:12px 14px;border-radius:14px;margin:12px 0}.alert.success{background:rgba(89,247,144,.14);border:1px solid rgba(89,247,144,.35)}.alert.error{background:rgba(255,95,122,.14);border:1px solid rgba(255,95,122,.35)}.section-head{display:flex;justify-content:space-between;align-items:center;gap:12px}@media (max-width:1100px){.full-tv,.admin-layout{grid-template-columns:1fr}.feature-grid,.admin-stats,.grid-4,.grid-7,.two-col{grid-template-columns:1fr}.tv-stagebar{flex-direction:column;align-items:stretch}}@media (max-width:700px){.center-card,.leaderboard-card,.phone-shell{padding:22px;margin:3vh auto}.room-code{font-size:40px}.choice{font-size:20px}.countdown{width:96px;height:96px;font-size:40px}}


.tv-player-overlay {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  text-align: center;
  background: radial-gradient(circle at center, rgba(21,16,54,.18), rgba(6,8,24,.72));
  color: #fff;
  z-index: 4;
  transition: opacity .25s ease, visibility .25s ease;
  pointer-events: none;
}
.tv-player-overlay.hidden {
  opacity: 0;
  visibility: hidden;
}
.tv-player-overlay p {
  margin: 0;
  font-size: 1.4rem;
  font-weight: 800;
}
.tv-player-overlay small {
  opacity: .85;
  font-size: .95rem;
  letter-spacing: .04em;
}
.video-player iframe {
  width: 100%;
  height: 100%;
  border: 0;
  border-radius: 22px;
}


.video-wrap.player-hidden #youtubePlayer,
.video-wrap.player-hidden #youtubePlayer iframe,
.video-wrap.player-hidden .video-player,
.video-wrap.player-hidden .video-player iframe {
  opacity: 0 !important;
  visibility: hidden !important;
}
.video-wrap.player-hidden {
  background: radial-gradient(circle at center, rgba(13,13,22,.98), rgba(5,7,16,1));
}
.video-wrap.player-hidden .pulse-grid {
  opacity: 0.08;
}


.video-wrap.player-hidden {
  min-height: 420px;
}
.video-wrap.player-hidden .video-player {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  left: -9999px !important;
  top: -9999px !important;
  overflow: hidden !important;
}
.video-wrap.player-visible .video-player {
  position: relative !important;
  width: 100% !important;
  height: 100% !important;
  left: 0 !important;
  top: 0 !important;
}
.video-wrap.player-visible .tv-player-overlay.hidden {
  display: none !important;
}


.answer-btn.selected,
.answer-btn.locked {
  border-color: rgba(255,203,61,.88);
  box-shadow: inset 0 0 0 2px rgba(255,203,61,.55), 0 0 24px rgba(255,203,61,.22);
  background: linear-gradient(180deg, rgba(255,203,61,.20), rgba(255,255,255,.10));
  transform: translateY(-1px);
}
.answer-btn.selected .badge,
.answer-btn.locked .badge {
  background: linear-gradient(180deg, rgba(255,203,61,.95), rgba(255,138,61,.75));
  color: #1a1238;
  font-weight: 900;
}
.answer-btn.locked::after {
  content: "LOCKED IN";
  justify-self: end;
  align-self: center;
  font-size: 12px;
  letter-spacing: .14em;
  font-weight: 900;
  color: var(--yellow);
  text-shadow: 0 0 10px rgba(255,203,61,.35);
}
.lock-state {
  min-height: 32px;
}

.full-screen-overlay {
  position: fixed;
  inset: 0;
  z-index: 50;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background: radial-gradient(circle at center, rgba(22,18,58,.72), rgba(5,8,20,.94));
  backdrop-filter: blur(10px);
}
.full-screen-overlay.hidden {
  display: none !important;
}
.splash-inner {
  width: min(92vw, 980px);
  padding: 36px;
  border-radius: 32px;
  text-align: center;
  box-shadow: 0 20px 60px rgba(0,0,0,.35), 0 0 40px rgba(138,92,255,.18);
}
.mobile-overlay .splash-inner {
  width: min(92vw, 560px);
  padding: 28px 22px;
  border-radius: 24px;
}
.splash-inner h2 {
  margin: 10px 0 8px;
  font-size: clamp(42px, 8vw, 88px);
  text-transform: uppercase;
}
.mobile-overlay .splash-inner h2 {
  font-size: clamp(34px, 12vw, 56px);
}
.splash-category {
  font-size: clamp(24px, 4vw, 42px);
  font-weight: 900;
  color: var(--yellow);
  letter-spacing: .08em;
  text-transform: uppercase;
  text-shadow: 0 0 22px rgba(255,203,61,.28);
}
.mobile-overlay .splash-category {
  font-size: clamp(18px, 6vw, 28px);
}
.splash-timer {
  margin: 18px auto 12px;
  width: 120px;
  height: 120px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  font-size: 48px;
  font-weight: 900;
  border: 4px solid var(--cyan);
  box-shadow: 0 0 28px rgba(53,228,255,.25);
}
.mobile-overlay .splash-timer {
  width: 90px;
  height: 90px;
  font-size: 36px;
}
.splash-inner p {
  margin: 0;
  color: rgba(255,255,255,.88);
  font-size: 18px;
}
.mobile-overlay .splash-inner p {
  font-size: 15px;
}


.choices.answers-hidden .choice,
.phone-answers.answers-hidden .answer-btn {
  opacity: .38;
  filter: blur(4px);
  pointer-events: none;
}
.choices.answers-hidden .choice .labeltext,
.phone-answers.answers-hidden .answer-copy {
  user-select: none;
}
.phone-answers.answers-hidden .answer-btn {
  transform: none;
}
.lock-state.waiting {
  color: var(--muted);
}


.splash-players{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;align-items:center;min-height:42px;margin:14px auto 10px;max-width:480px}.splash-player{padding:8px 14px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.08);font-weight:700;letter-spacing:.02em}.splash-player.empty{opacity:.75}.waiting-spinner{position:relative;color:transparent !important}.waiting-spinner::before{content:"";position:absolute;inset:10px;border-radius:50%;border:4px solid rgba(53,228,255,.18);border-top-color:var(--cyan);border-right-color:var(--pink);animation:spin 1.1s linear infinite}.waiting-spinner::after{content:"";position:absolute;inset:-4px;border-radius:50%;box-shadow:0 0 26px rgba(53,228,255,.22)}@keyframes spin{to{transform:rotate(360deg)}}

#tvLayout{transition:grid-template-columns .35s ease,gap .35s ease}#tvSide{transition:opacity .25s ease,transform .35s ease,max-width .35s ease,padding .35s ease,margin .35s ease,border .25s ease;border-radius:28px}#tvLayout.game-view{grid-template-columns:1fr !important}#tvLayout.game-view #tvSide{opacity:0;transform:translateX(-24px);max-width:0;overflow:hidden;padding:0;border:0;margin:0;pointer-events:none}#tvLayout.game-view #tvMain{grid-column:1 / -1}#tvLayout.game-view .tv-main{padding-left:28px;padding-right:28px}#tvLayout.game-view .video-wrap.huge{min-height:560px}#tvLayout.game-view .tv-choices .choice{font-size:34px;padding:22px 24px}#tvLayout.game-view .countdown{width:148px;height:148px;font-size:64px}#tvActions{transition:opacity .2s ease}


/* v20 TV/fullscreen and mobile controller polish */
.tv-layout, .tv-main, .tv-side { min-width: 0; }
.tv-main { width: 100%; }
.video-wrap, .tv-choices, .tv-stagebar, .tv-header { width: 100%; }
#tvLayout.game-view { grid-template-columns: 1fr !important; gap: 0 !important; padding: 22px !important; }
#tvLayout.game-view #tvSide { display: none !important; }
#tvLayout.game-view #tvMain { grid-column: 1 / -1; width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important; background: transparent !important; border: 0 !important; box-shadow: none !important; backdrop-filter: none !important; display: grid; grid-template-columns: minmax(0,1fr); grid-template-rows: auto minmax(0,1fr) auto auto; align-content: start; }
#tvLayout.game-view .tv-header { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: start; gap: 18px; margin-bottom: 18px; }
#tvLayout.game-view .tv-header h1 { margin: 0; font-size: clamp(44px,5.5vw,82px); max-width: 8ch; line-height: .95; }
#tvLayout.game-view .status-boxes { justify-self: end; align-self: start; }
#tvLayout.game-view .video-wrap.huge { min-height: 520px; width: 100%; margin: 0 0 18px; }
#tvLayout.game-view .tv-choices { grid-template-columns: repeat(3, minmax(0,1fr)); gap: 18px; margin-bottom: 16px; }
#tvLayout.game-view .tv-choices .choice { min-height: 120px; font-size: clamp(24px,2vw,34px); padding: 24px 22px; align-items: center; }
#tvLayout.game-view .tv-stagebar { margin-top: 0; }
#tvLayout.game-view .answer-stats { font-size: 22px; }
body.controller-live .phone-shell > .eyebrow, body.controller-live .phone-shell > h1 { display: none; }
body.controller-live .phone-shell { padding-top: 22px; }
body.controller-live .mobile-scoreboard { margin-top: 0; }


/* v21 intro + full-width game stage */
.intro-overlay{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;background:#02030a}.intro-overlay.hidden{display:none !important}.intro-video{width:100vw;height:100vh;object-fit:cover;background:#000}.intro-fallback{position:absolute;inset:auto;min-width:min(90vw,640px);padding:28px 34px;text-align:center}
#tvLayout.game-view{display:block !important;padding:0 !important;gap:0 !important}
#tvLayout.game-view #tvMain{position:fixed;inset:22px;z-index:5;width:auto !important;max-width:none !important;margin:0 !important;padding:24px !important;display:grid !important;grid-template-columns:minmax(0,1fr) !important;grid-template-rows:auto minmax(0,1fr) auto auto;gap:18px;background:linear-gradient(180deg, rgba(19,21,56,.72), rgba(8,10,28,.56)) !important;border:1px solid var(--line) !important;box-shadow:0 16px 48px rgba(0,0,0,.28) !important;backdrop-filter:blur(14px) !important}
#tvLayout.game-view .tv-header{display:grid !important;grid-template-columns:minmax(0,1fr) auto !important;align-items:start;gap:16px;width:100%}
#tvLayout.game-view .tv-header .eyebrow{display:none !important}
#tvLayout.game-view .tv-header h1{font-size:clamp(24px,2.8vw,42px) !important;max-width:none !important;line-height:1.02 !important;margin:0 !important}
#tvLayout.game-view .status-boxes{display:flex !important;flex-wrap:wrap;gap:10px;justify-content:flex-end}
#tvLayout.game-view .video-wrap.huge{min-height:52vh !important;height:52vh !important;max-height:62vh;width:100%}
#tvLayout.game-view .tv-choices{display:grid !important;grid-template-columns:repeat(3,minmax(0,1fr)) !important;gap:16px;width:100%}
#tvLayout.game-view .tv-choices .choice{min-height:110px;font-size:clamp(22px,1.9vw,32px) !important}
#tvLayout.game-view .tv-stagebar{width:100%}
#tvLayout.game-view #tvSide{display:none !important}
body.controller-live #phoneTitle,body.controller-live #phoneEyebrow{display:none !important}


/* v22 logo + intro polish */
.brand-wrap{display:grid;gap:10px;align-content:start}
.brand-logo{display:block;max-width:min(520px,38vw);max-height:100px;width:auto;height:auto;object-fit:contain;filter:drop-shadow(0 12px 30px rgba(0,0,0,.28))}
.brand-fallback{margin:0}
.phone-logo{display:block;max-width:min(78vw,360px);max-height:100px;width:auto;height:auto;object-fit:contain;margin:0 auto 10px;filter:drop-shadow(0 10px 26px rgba(0,0,0,.25))}
.tv-stagebar-actions-only{justify-content:flex-end}
#tvLayout.game-view .brand-logo{max-width:min(420px,26vw);max-height:100px}
#tvLayout.game-view .tv-stagebar-actions-only{display:flex;justify-content:flex-end;width:100%}
@media (max-width:700px){.phone-logo{max-height:72px}}

/* v24 intro video sizing */
.intro-overlay{background:#000 !important;}
.intro-video{width:100vw;height:100vh;object-fit:contain !important;background:#000 !important;display:block;}


.wordmark{margin:.15rem 0 0;font-weight:900;letter-spacing:.06em;text-transform:uppercase;line-height:.94;color:#fff;text-shadow:0 0 18px rgba(53,228,255,.34),0 0 34px rgba(138,92,255,.28),0 0 56px rgba(255,79,216,.18);} 
.brand-wordmark{font-size:clamp(34px,5vw,74px);} 
.phone-wordmark,.hero-wordmark{font-size:clamp(32px,8vw,56px);text-align:center;} 
.video-preload{position:fixed;left:-9999px;top:-9999px;width:320px;height:180px;opacity:0;pointer-events:none;overflow:hidden} 
#tvLayout.game-view .brand-wordmark{font-size:clamp(28px,4vw,56px);} 
.controller .phone-shell h1.wordmark{margin-bottom:10px;} 
