@import url('https://fonts.googleapis.com/css2?family=League+Spartan:wght@400;600;700;800&family=Outfit:wght@400;500;600;700;800&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Bangers&display=swap');
: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: "";
  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;} 


/* v28 intro fade + mobile hurry prompt */
.intro-overlay{opacity:1;transition:opacity .6s ease;}
.intro-overlay.fade-out{opacity:0;pointer-events:none;}
.phone-answers.hurry-up .answer-btn{animation:hurryPulse .72s ease-in-out infinite;border-color:rgba(255,79,216,.7);box-shadow:0 0 0 1px rgba(255,79,216,.18),0 0 24px rgba(255,79,216,.22);}
body.hurry-up #mobileTimer{animation:hurryTimer 0.72s ease-in-out infinite;color:var(--yellow);text-shadow:0 0 18px rgba(255,203,61,.38);}
body.hurry-up .question-panel{box-shadow:0 0 0 1px rgba(255,79,216,.20),0 18px 42px rgba(0,0,0,.28),0 0 34px rgba(255,79,216,.16);}
@keyframes hurryPulse{0%,100%{transform:translateY(0) scale(1);}50%{transform:translateY(-1px) scale(1.015);}}
@keyframes hurryTimer{0%,100%{transform:scale(1);}50%{transform:scale(1.08);}}


/* v41 lobby polish */
#tvLayout.lobby-view .tv-choices{display:none !important;}
#tvLayout.lobby-view .tv-stagebar-actions-only{justify-content:center; width:100%; margin-top:18px;}
.btn-tv-start{font-size:28px; line-height:1; padding:24px 46px; min-width:320px; min-height:78px; border-radius:20px; box-shadow:0 12px 30px rgba(255,79,216,.22), 0 0 24px rgba(53,228,255,.16);}
.btn-tv-start:focus, .btn-tv-start:focus-visible{outline:4px solid rgba(255,203,61,.95); outline-offset:4px; box-shadow:0 0 0 6px rgba(255,203,61,.22), 0 12px 30px rgba(255,79,216,.22), 0 0 24px rgba(53,228,255,.16);}
#tvLayout.lobby-view .tv-stagebar{justify-content:center;}
#tvLayout.lobby-view .video-wrap.huge{min-height:460px;}


/* v42 TV polish */
#tvSide .label{display:block;margin-bottom:18px;}
#playerList{margin-top:6px;}
#tvLayout.lobby-view .tv-stagebar-actions-only{margin-top:10px;padding-bottom:8px;}
.btn-tv-start{font-size:22px;line-height:1;padding:18px 34px;min-width:240px;min-height:60px;border-radius:18px;}
@media (min-width:1200px){.btn-tv-start{min-width:280px;}}


/* v44 logo + landing tweaks */
.hero-card-spacious{padding-top:56px;padding-bottom:56px;}
.hero-logo-wrap{display:flex;justify-content:center;align-items:center;margin:18px 0 28px;}
.hero-lede{margin:8px 0 34px;text-align:center;font-size:clamp(20px,2.2vw,28px);line-height:1.7;}
.hero-actions{margin-top:8px;}
.brand-logo-wrap{display:flex;align-items:center;}
.brand-logo-img{display:block;width:auto;height:auto;max-height:250px;max-width:min(100%,900px);object-fit:contain;filter:drop-shadow(0 0 20px rgba(53,228,255,.28)) drop-shadow(0 0 42px rgba(138,92,255,.20));}
.tv-logo-wrap{margin:.2rem 0 0;}
.tv-logo-img{max-height:250px;}
.hero-logo-img{max-height:250px;}
#tvSide .label{margin-bottom:18px;display:block;}
.player-list{margin-top:10px;}

/* v46 TV lobby single status box + no lobby logo */
#tvLayout.lobby-view .brand-wrap{display:grid !important;}
#tvLayout.lobby-view .tv-logo-static{display:none !important;}
#tvLayout.lobby-view .tv-logo-gif{display:block !important;}
#tvLayout.game-view .tv-logo-static{display:block !important;}
#tvLayout.game-view .tv-logo-gif{display:none !important;}

#tvLayout.lobby-view .tv-header{display:flex;justify-content:flex-end;align-items:flex-start;margin-bottom:12px;}
#tvLayout.lobby-view .status-boxes{display:block;}
#tvLayout.lobby-view .status-chip{min-width:320px;text-align:left;}


/* v48 lobby header positioning */
.tv-header-lobby-layout{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:22px;width:100%}.tv-header-copy{display:grid;gap:14px;align-content:start;justify-self:start;justify-items:start;text-align:left;width:100%;max-width:none}.tv-mode-label{margin:0;padding-top:4px;justify-self:start;text-align:left}.tv-header-copy .status-boxes{justify-self:start;justify-items:start;width:auto}.tv-header-copy .status-chip{display:inline-flex;align-items:center;justify-content:flex-start;text-align:left;min-width:320px}.tv-lobby-gif-wrap{justify-self:end;align-self:start;display:flex;align-items:flex-start;justify-content:flex-end;min-height:100px;margin-left:auto}.tv-lobby-gif-wrap .tv-logo-gif{display:block;max-height:100px;width:auto;height:auto;object-fit:contain;filter:drop-shadow(0 12px 30px rgba(0,0,0,.28))}.tv-lobby-gif-wrap .brand-wordmark{display:none}.status-boxes{justify-items:start}.status-chip{display:inline-flex;align-items:center}.lobby-view .tv-header{display:grid !important;grid-template-columns:minmax(0,1fr) auto !important;align-items:start;justify-items:stretch;margin-bottom:14px}.lobby-view .tv-header-copy .status-boxes{margin-top:2px}.game-view .tv-lobby-gif-wrap{display:none !important}


/* v50 spacing refinements */
#tvLayout.game-view .choices{margin-top:20px;}
#tvLayout.game-view .choice{align-items:center;padding-top:24px;padding-bottom:24px;line-height:1.18;}
#tvLayout.game-view .choice .labeltext{display:block;align-self:center;}

#tvLayout.lobby-view .tv-header{margin-bottom:6px !important;}
#tvLayout.lobby-view .tv-header-lobby-layout{gap:12px;}
#tvLayout.lobby-view .tv-header-copy{gap:8px;}
#tvLayout.lobby-view .tv-mode-label{padding-top:0;}
#tvLayout.lobby-view .tv-header-copy .status-boxes{margin-top:0;}
#tvLayout.lobby-view .tv-lobby-gif-wrap{min-height:0;align-self:start;}
#tvLayout.lobby-view .tv-main{padding-top:14px;}
#tvLayout.lobby-view .video-wrap.huge{margin-top:0;}


.countdown-points{
  position:absolute;
  right:18px;
  top:18px;
  padding:0;
  border-radius:0;
  background:transparent;
  border:0;
  color:#fff7d8;
  font-weight:900;
  letter-spacing:.05em;
  text-transform:uppercase;
  font-family:'Bangers','Impact','Arial Black',system-ui,sans-serif;
  font-size:34px;
  line-height:1;
  white-space:nowrap;
  z-index:5;
  box-shadow:none;
  text-shadow:0 0 10px rgba(255,203,61,.55),0 0 22px rgba(255,79,216,.35),0 0 34px rgba(83,240,255,.18);
  transform:rotate(-2deg) skew(-4deg);
  animation:countdownPointsFloat .65s ease-in-out infinite;
}

.countdown-points.hidden{display:none !important;}

.countdown-points.hot{
  color:#fff7d8;
  border-color:rgba(83,240,255,.72);
  box-shadow:0 14px 30px rgba(0,0,0,.3),0 0 30px rgba(83,240,255,.32),0 0 44px rgba(255,79,216,.12),inset 0 0 22px rgba(83,240,255,.12);
}

.countdown-points.urgent{
  color:#ffcb3d;
  border-color:rgba(255,79,216,.78);
  box-shadow:0 16px 32px rgba(0,0,0,.36),0 0 34px rgba(255,79,216,.34),0 0 54px rgba(255,203,61,.16),inset 0 0 26px rgba(255,79,216,.14);
  animation:countdownPointsUrgent .4s ease-in-out infinite;
}

@keyframes countdownPointsFloat{0%,100%{transform:translateY(0) scale(1) rotate(-3deg) skew(-4deg)}50%{transform:translateY(-3px) scale(1.08) rotate(-1deg) skew(-2deg)}}
@keyframes countdownPointsUrgent{0%,100%{transform:translateY(0) scale(1) rotate(-3deg) skew(-4deg);filter:brightness(1)}50%{transform:translateY(-4px) scale(1.15) rotate(-1deg) skew(-2deg);filter:brightness(1.18)}}
.lockin-burst{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%) scale(.86);
  z-index:8;
  pointer-events:none;
  min-width:min(82vw,760px);
  text-align:center;
  padding:0;
  background:transparent;
  border:0;
  box-shadow:none;
  opacity:0;
}
.lockin-burst.is-correct{
  border-color:rgba(53,228,255,.45);
  box-shadow:0 18px 60px rgba(0,0,0,.45),0 0 32px rgba(53,228,255,.24),0 0 54px rgba(255,203,61,.15);
}
.lockin-burst.is-wrong{
  border-color:rgba(255,95,122,.48);
  box-shadow:0 18px 60px rgba(0,0,0,.45),0 0 32px rgba(255,95,122,.24),0 0 54px rgba(255,203,61,.10);
}
.lockin-burst.is-hurry{
  border-color:rgba(255,203,61,.62);
  box-shadow:0 18px 60px rgba(0,0,0,.45),0 0 32px rgba(255,203,61,.28),0 0 54px rgba(255,79,216,.12);
}
.lockin-burst-name{
  font-size:clamp(40px,5vw,66px);
  font-weight:900;
  color:#fff;
  letter-spacing:.05em;
  text-transform:uppercase;
  font-family:'Bangers','Impact','Arial Black',system-ui,sans-serif;
  text-shadow:0 0 10px rgba(83,240,255,.45),0 0 28px rgba(255,79,216,.28),0 8px 24px rgba(0,0,0,.45);
  transform:rotate(-2deg) skew(-4deg);
}
.lockin-burst-points{
  margin-top:6px;
  font-size:clamp(40px,5vw,66px);
  font-weight:900;
  color:#ffcb3d;
  letter-spacing:.06em;
  text-transform:uppercase;
  font-family:'Bangers','Impact','Arial Black',system-ui,sans-serif;
  text-shadow:0 0 14px rgba(255,203,61,.52),0 0 30px rgba(255,79,216,.3),0 8px 24px rgba(0,0,0,.4);
  transform:rotate(-2deg) skew(-4deg);
}
.lockin-burst.is-wrong .lockin-burst-points{ color:#ff8ea0; }
.lockin-burst.burst-in{ animation:lockinBurstIn .34s cubic-bezier(.2,.9,.28,1.2) forwards; }
.lockin-burst.burst-out{ animation:lockinBurstOut .45s ease-in forwards; }
.lockin-burst.is-wrong.burst-in{ animation:lockinBurstWrongIn .46s cubic-bezier(.22,1.25,.22,1) forwards; }
@keyframes lockinBurstIn{ from{opacity:0;transform:translate(-50%,-56%) scale(.72);} 60%{opacity:1;transform:translate(-50%,-50%) scale(1.08);} to{opacity:1;transform:translate(-50%,-50%) scale(1);} }
@keyframes lockinBurstWrongIn{ from{opacity:0;transform:translate(-50%,-56%) scale(.68) rotate(-4deg);} 55%{opacity:1;transform:translate(-50%,-50%) scale(1.1) rotate(2deg);} 75%{transform:translate(-50%,-50%) scale(.96) rotate(-1deg);} to{opacity:1;transform:translate(-50%,-50%) scale(1) rotate(0);} }
@keyframes lockinBurstOut{ from{opacity:1;transform:translate(-50%,-50%) scale(1);} to{opacity:0;transform:translate(-50%,-44%) scale(1.04);} }
.mobile-points-band{
  margin-top:10px;
  text-align:center;
  color:#ffcb3d;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
  font-size:13px;
}



/* v4b burst styling cleanup */
.lockin-burst{
  min-width:0 !important;
  width:auto !important;
  max-width:min(88vw, 820px);
  top:54% !important;
  left:50%;
  transform:translate(-50%,-50%) scale(.92);
  padding:0 !important;
  margin:0;
  background:transparent !important;
  border:0 !important;
  border-color:transparent !important;
  box-shadow:none !important;
  outline:0 !important;
  filter:none;
}
.lockin-burst.is-correct,
.lockin-burst.is-wrong,
.lockin-burst.is-hurry{
  background:transparent !important;
  border:0 !important;
  border-color:transparent !important;
  box-shadow:none !important;
}
.lockin-burst-name,
.lockin-burst-points{
  display:block;
  margin:0;
  padding:0;
  line-height:.92;
  text-transform:uppercase;
  font-family:'Bangers','Impact','Arial Black',system-ui,sans-serif;
  font-weight:900;
  letter-spacing:.04em;
  transform:rotate(-2deg) skew(-4deg);
  -webkit-text-stroke: 0 transparent;
}
.lockin-burst-name{
  font-size:clamp(48px,5.4vw,74px);
  color:#fff7d8;
  text-shadow:0 0 10px rgba(255,203,61,.55),0 0 22px rgba(255,79,216,.35),0 0 34px rgba(83,240,255,.18);
  animation:countdownPointsFloat .65s ease-in-out infinite;
}
.lockin-burst-points{
  margin-top:4px;
  font-size:clamp(52px,6.2vw,86px);
  color:#fff7d8;
  text-shadow:0 0 10px rgba(255,203,61,.55),0 0 22px rgba(255,79,216,.35),0 0 34px rgba(83,240,255,.18);
  animation:countdownPointsUrgent .55s ease-in-out infinite;
}
.lockin-burst.is-correct .lockin-burst-points{
  color:#ffcb3d;
  text-shadow:0 0 12px rgba(255,203,61,.7),0 0 26px rgba(255,79,216,.42),0 0 38px rgba(83,240,255,.22);
}
.lockin-burst.is-wrong .lockin-burst-name,
.lockin-burst.is-wrong .lockin-burst-points{
  color:#ff8ea0;
  text-shadow:0 0 12px rgba(255,95,122,.64),0 0 26px rgba(255,79,216,.34),0 0 38px rgba(83,240,255,.12);
}
.lockin-burst.is-hurry .lockin-burst-name,
.lockin-burst.is-hurry .lockin-burst-points{
  color:#ffcb3d;
  text-shadow:0 0 14px rgba(255,203,61,.74),0 0 30px rgba(255,79,216,.42),0 0 42px rgba(83,240,255,.18);
}


/* mobile login logo */
.phone-brand-wrap{display:grid;justify-items:center;gap:6px;margin-bottom:10px}
.phone-login-logo{display:block;max-width:min(72vw,280px);max-height:84px;width:auto;height:auto;object-fit:contain;margin:0 auto 8px;filter:drop-shadow(0 10px 26px rgba(0,0,0,.25))}
@media (max-width:700px){.phone-login-logo{max-width:min(78vw,240px);max-height:72px}}


/* mobile controller top bar */
body.controller-live #phoneTitleWrap{display:none !important;}
.controller-topbar{display:none;align-items:center;justify-content:space-between;gap:16px;}
body.controller-live .controller-topbar{display:flex;}
.controller-logo{display:block;max-width:min(56vw,220px);max-height:72px;width:auto;height:auto;object-fit:contain;filter:drop-shadow(0 10px 26px rgba(0,0,0,.25));}
.mobile-timer-inline{margin-top:0;flex:0 0 auto;width:74px;height:74px;font-size:34px;}
@media (max-width:700px){
  .controller-logo{max-width:min(52vw,190px);max-height:60px;}
  .mobile-timer-inline{width:68px;height:68px;font-size:30px;}
}


/* minimal mobile controller tweak: add button gap and hide bottom helper text */
.phone-answers{
  display:grid;
  gap:12px;
}

body.controller-live .lock-state{
  display:none !important;
}


/* mobile join screen: add space above logo and let it fit width cleanly */
.phone-brand-wrap{
  margin-top: 14px;
}
.phone-login-logo{
  max-width: min(84vw, 320px);
  width: auto;
  height: auto;
}

/* mobile controller: hide yellow points text under round/clip info */
body.controller-live .mobile-points-band{
  display: none !important;
}


/* keep only black contrast glow for clip overlay messages */
.lockin-burst-name,
.lockin-burst-points{
  text-shadow:
    0 0 5px rgba(0,0,0,0.95),
    0 0 5px rgba(0,0,0,0.95),
    0 0 10px rgba(255,203,61,.55),
    0 0 22px rgba(255,79,216,.35),
    0 0 34px rgba(83,240,255,.18) !important;
}

.lockin-burst.is-correct .lockin-burst-points{
  text-shadow:
    0 0 5px rgba(0,0,0,0.95),
    0 0 5px rgba(0,0,0,0.95),
    0 0 12px rgba(255,203,61,.7),
    0 0 26px rgba(255,79,216,.42),
    0 0 38px rgba(83,240,255,.22) !important;
}

.lockin-burst.is-wrong .lockin-burst-name,
.lockin-burst.is-wrong .lockin-burst-points{
  text-shadow:
    0 0 5px rgba(0,0,0,0.95),
    0 0 5px rgba(0,0,0,0.95),
    0 0 12px rgba(255,95,122,.64),
    0 0 26px rgba(255,79,216,.34),
    0 0 38px rgba(83,240,255,.12) !important;
}

.lockin-burst.is-hurry .lockin-burst-name,
.lockin-burst.is-hurry .lockin-burst-points{
  text-shadow:
    0 0 5px rgba(0,0,0,0.95),
    0 0 5px rgba(0,0,0,0.95),
    0 0 14px rgba(255,203,61,.74),
    0 0 30px rgba(255,79,216,.42),
    0 0 42px rgba(83,240,255,.18) !important;
}


/* requested tweaks only */
.countdown-points{
  left: 18px !important;
  right: auto !important;
}

.phone-brand-wrap{
  width: 100%;
}

.phone-login-logo{
  display: block;
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  margin: 0 auto 8px;
}


/* requested logo CSS overrides only */
.phone-logo{
  max-height: none !important;
}

.phone-login-logo{
  max-height: none !important;
  object-fit: cover !important;
}


/* v14 mobile answer cleanup */
.answer-btn.locked::after{display:none !important; content:none !important;}


/* v15 remove locked text */
.answer-btn.locked::after{display:none !important;content:none !important;}

.answer-btn.locked::after{display:none!important;content:none!important;}


/* v2.02 luxury clean global overrides */
body, input, select, button, textarea{font-family:'Outfit', Inter, Arial, sans-serif !important;}
.wordmark, h1, h2, h3, .eyebrow, .label, .btn, .status-chip, .room-code, .mobile-chip, .answer-btn .badge, .choice .badge{font-family:'League Spartan', Arial, sans-serif !important;}
