@font-face {
  font-family:Congreso;
  src:url("assets/DejaVuSans.ttf") format("truetype");
  font-display:swap;
  font-weight:400;
}

@font-face {
  font-family:Congreso;
  src:url("assets/DejaVuSans-Bold.ttf") format("truetype");
  font-display:swap;
  font-weight:700;
}

:root {
  --navy:#011c3d;
  --blue:#bad6eb;
  --cyan:#2bc9ee;
  --answer:#123a74;
  --gold:#f6bd46;
  --green:#007d46;
  --red:#d71f36;
  --paper:#f3f6fb;
  --muted:#42566f;
  --line:#667f99;
  --white:#fff;
  color-scheme:dark;
  font-family:Congreso,"DejaVu Sans",sans-serif;
  font-synthesis:none;
}

* {
  box-sizing:border-box;
}

html,body {
  margin:0;
}

body {
  background:var(--navy);
  color:var(--white);
}

button,input,select {
  font:inherit;
}

button,a,input,select {
  -webkit-tap-highlight-color:transparent;
  touch-action:manipulation;
}

button {
  cursor:pointer;
}

button:disabled {
  cursor:default;
}

a {
  color:inherit;
}

button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible {
  outline:3px solid var(--gold);
  outline-offset:5px;
  box-shadow:0 0 0 7px var(--navy);
}

button:hover:not(:disabled) {
  filter:brightness(1.12);
}

h1,h2,h3,p {
  margin:0;
}

button,div,p,h1,h2,h3 {
  overflow-wrap:break-word;
}

svg {
  display:block;
}

img {
  max-width:100%;
}

.screen {
  position:relative;
  isolation:isolate;
  min-height:100vh;
  overflow:hidden;
  background:var(--navy);
}

.stage {
  padding:22px 30px 24px;
  height:100vh;
  min-height:720px;
}

.phone {
  width:100%;
  min-height:100vh;
  padding:18px 20px 28px;
  display:flex;
  flex-direction:column;
}

.background-video,.background-still {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  z-index:-3;
}

.screen::before {
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  pointer-events:none;
  background:linear-gradient(120deg,rgba(1,28,61,.83),rgba(1,28,61,.76) 62%,rgba(1,28,61,.87));
}

.light {
  background:var(--paper);
  color:var(--navy);
  color-scheme:light;
}

.light::before {
  background:none;
}

.brand-row {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  position:relative;
  z-index:1;
}

.brand-lockup {
  display:flex;
  align-items:center;
  gap:13px;
}

.brand-lockup .seal {
  width:64px;
  height:64px;
}

.brand-name {
  font-size:14px;
  line-height:1.4;
  letter-spacing:.08em;
  font-weight:700;
  color:var(--blue);
  text-transform:uppercase;
}

.clinic {
  width:106px;
  height:62px;
  object-fit:contain;
}

.brand-row .event {
  display:flex;
  gap:12px;
  align-items:center;
  color:var(--blue);
  font-size:15px;
  margin-left:auto;
  margin-right:24px;
  font-variant-numeric:tabular-nums;
}

.event strong {
  color:white;
  font-size:20px;
}

.phone .brand-row {
  padding:0 0 14px;
  border-bottom:1px solid #bad6eb40;
  margin-bottom:25px;
}

.phone .brand-lockup .seal {
  width:49px;
  height:49px;
}

.phone .brand-name {
  font-size:10px;
  letter-spacing:.06em;
}

.phone .clinic {
  width:80px;
  height:48px;
}

.light .brand-row {
  margin:-18px -20px 28px;
  padding:16px 20px;
  background:var(--navy);
  border-bottom-right-radius:40px;
}

.kicker {
  font-size:13px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.11em;
  color:var(--blue);
}

.light .kicker {
  color:var(--muted);
}

.subtle {
  color:var(--blue);
  font-size:16px;
  line-height:1.5;
}

.light .subtle {
  color:var(--muted);
}

.phone h1 {
  font-size:28px;
  line-height:1.2;
  letter-spacing:-.04em;
  font-weight:700;
}

.phone .subtle {
  margin-top:12px;
}

.phone-content {
  flex:1;
  display:flex;
  flex-direction:column;
  position:relative;
}

.phone .bottom-note {
  margin-top:auto;
  padding-top:26px;
  font-size:15px;
  line-height:1.5;
  color:var(--blue);
}

.light .bottom-note {
  color:var(--muted);
}

.phone .question-head {
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin:0 0 17px;
  gap:10px;
}

.progress {
  display:flex;
  gap:5px;
}

.progress i {
  display:block;
  width:24px;
  height:4px;
  background:#bad6eb42;
}

.progress i.done {
  background:var(--blue);
}

.progress i.current {
  background:var(--gold);
}

.clock {
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  font-variant-numeric:tabular-nums;
}

.clock small {
  font-size:11px;
  letter-spacing:.1em;
  color:var(--blue);
  font-weight:700;
}

.clock strong {
  font-size:29px;
  line-height:1.2;
  color:white;
}

.clock.paused strong {
  font-size:22px;
  color:var(--gold);
}

.phone .question {
  font-size:23px;
  line-height:1.3;
  font-weight:700;
  margin:0 0 24px;
  letter-spacing:-.02em;
}

.answer-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px 22px;
}

.answer {
  position:relative;
  background:linear-gradient(110deg,#184781,#123a74);
  color:#fff;
  border:1.5px solid var(--cyan);
  border-radius:0;
  clip-path:polygon(18px 0,calc(100% - 18px) 0,100% 50%,calc(100% - 18px) 100%,18px 100%,0 50%);
  min-height:100px;
  width:100%;
  padding:18px 27px;
  display:flex;
  gap:18px;
  align-items:center;
  text-align:left;
  font-size:21px;
  line-height:1.35;
  font-weight:400;
  text-decoration:none;
  box-shadow:inset 0 0 0 1px #ffffff18;
  transition:background-color 140ms,filter 140ms;
}

.answer::after {
  content:"";
  position:absolute;
  inset:5px 6px;
  border:1px solid #bad6eb22;
  clip-path:inherit;
  pointer-events:none;
}

.answer .letter {
  font-weight:700;
  font-size:23px;
  color:var(--blue);
  width:27px;
  flex:0 0 27px;
}

.answer .answer-text {
  flex:1;
}

.answer .answer-label {
  display:block;
  font-size:12px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.07em;
  margin-top:5px;
}

.answer.selected {
  background:var(--gold);
  border-color:var(--gold);
  color:var(--navy);
}

.answer.selected .letter {
  color:var(--navy);
}

.answer.correct {
  background:var(--green);
  border-color:#66edaa;
}

.answer.wrong {
  background:var(--red);
  border-color:#ff8a92;
}

.answer.correct .letter,.answer.wrong .letter {
  color:white;
}

.answer.removed {
  visibility:hidden;
  pointer-events:none;
}

.answer[aria-disabled=true] {
  cursor:default;
}

.answer:focus-visible {
  outline:none;
  filter:drop-shadow(0 0 5px var(--gold));
  background:#23598f;
  border-color:var(--gold);
}

.phone .answer-grid {
  grid-template-columns:1fr;
  gap:12px;
}

.phone .answer {
  font-size:18px;
  min-height:70px;
  padding:15px 22px;
  gap:10px;
  clip-path:polygon(14px 0,calc(100% - 14px) 0,100% 50%,calc(100% - 14px) 100%,14px 100%,0 50%);
}

.phone .answer .letter {
  font-size:19px;
  width:23px;
  flex-basis:23px;
}

.phone .question-group {
  margin-bottom:22px;
}

.phone .poll-title {
  font-size:27px;
  margin:12px 0 20px;
}

.stage-main {
  display:grid;
  grid-template-columns:minmax(0,1fr) 265px;
  gap:36px;
  margin-top:21px;
  height:calc(100% - 88px);
}

.stage-board {
  display:flex;
  flex-direction:column;
  min-width:0;
}

.stage-topline {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
  margin-bottom:21px;
}

.stage-topline .kicker {
  font-size:17px;
}

.stage-topline .clock {
  flex-direction:row;
  gap:13px;
  align-items:center;
}

.stage-topline .clock strong {
  font-size:30px;
}

.question-plaque {
  position:relative;
  border-top:2px solid var(--cyan);
  border-bottom:2px solid var(--cyan);
  background:linear-gradient(110deg,rgba(7,42,79,.97),rgba(11,52,93,.94));
  padding:27px 28px;
  margin-bottom:25px;
  min-height:160px;
  display:flex;
  align-items:center;
}

.question-plaque::before,.question-plaque::after {
  content:"";
  position:absolute;
  width:24px;
  height:24px;
  background:var(--cyan);
  transform:rotate(45deg);
  left:-12px;
  top:calc(50% - 12px);
  z-index:-1;
}

.question-plaque::after {
  left:auto;
  right:-12px;
}

.stage h1.question {
  font-size:32px;
  line-height:1.28;
  letter-spacing:-.025em;
  font-weight:700;
}

.stage .answer-grid {
  margin-bottom:20px;
}

.stage-bottom {
  display:flex;
  gap:16px;
  align-items:center;
  margin-top:auto;
  min-height:58px;
}

.status-line {
  font-size:17px;
  color:var(--blue);
  line-height:1.4;
  flex:1;
}

.status-line strong {
  color:white;
}

.action {
  border:1.5px solid var(--cyan);
  background:#0d345f;
  color:white;
  min-height:48px;
  border-radius:999px;
  padding:11px 25px;
  font-size:16px;
  font-weight:700;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  gap:10px;
}

.action.primary {
  color:var(--navy);
  background:var(--gold);
  border-color:var(--gold);
}

.action.secondary {
  background:transparent;
}

.action:disabled {
  opacity:.5;
}

.light .action {
  background:var(--navy);
  color:white;
  border-color:var(--navy);
}

.light .action.secondary {
  background:white;
  color:var(--navy);
}

.stage-sidebar {
  border-left:1px solid #bad6eb55;
  padding-left:26px;
  display:flex;
  flex-direction:column;
  min-height:0;
}

.participant {
  font-size:19px;
  line-height:1.35;
  font-weight:700;
  letter-spacing:-.025em;
  margin-bottom:8px;
}

.score {
  font-size:39px;
  font-weight:700;
  letter-spacing:-.04em;
  line-height:1.15;
  font-variant-numeric:tabular-nums;
}

.score-caption {
  font-size:13px;
  color:var(--blue);
  margin-top:4px;
}

.ladder {
  list-style:none;
  margin:21px 0 20px;
  padding:0;
  display:flex;
  flex-direction:column-reverse;
  gap:5px;
}

.ladder li {
  display:flex;
  align-items:center;
  gap:11px;
  padding:8px 13px;
  font-size:17px;
  color:var(--blue);
  font-variant-numeric:tabular-nums;
  min-height:36px;
}

.ladder li b {
  margin-left:auto;
  font-size:19px;
}

.ladder li i {
  font-style:normal;
  font-size:13px;
  opacity:.8;
}

.ladder li.current {
  color:var(--navy);
  background:var(--gold);
  clip-path:polygon(9px 0,calc(100% - 9px) 0,100% 50%,calc(100% - 9px) 100%,9px 100%,0 50%);
}

.ladder li.past {
  color:white;
}

.ladder li.past::before {
  content:"✓";
  font-size:12px;
  color:var(--cyan);
}

.ladder li:not(.past)::before {
  content:"";
  width:12px;
}

.lifelines {
  display:flex;
  justify-content:space-between;
  gap:10px;
  margin-top:auto;
}

.lifeline {
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:7px;
  min-width:58px;
  border:0;
  background:none;
  color:var(--blue);
  padding:0;
  min-height:81px;
}

.lifeline .icon-ring {
  position:relative;
  display:grid;
  place-items:center;
  width:62px;
  height:62px;
  border:2px solid var(--cyan);
  border-radius:50%;
  background:#092d54;
  box-shadow:0 0 14px #15aee21a;
}

.lifeline svg {
  width:36px;
  height:36px;
}

.lifeline small {
  font-size:11px;
  line-height:1.2;
  font-weight:700;
}

.lifeline.used {
  opacity:.54;
}

.lifeline.used .icon-ring::after {
  content:"";
  position:absolute;
  width:65px;
  height:2px;
  background:var(--blue);
  transform:rotate(-40deg);
}

.lifeline .used-label {
  font-size:10px;
  text-transform:uppercase;
}

.stage-sidebar .mini-caption {
  font-size:11px;
  color:var(--blue);
  margin-bottom:6px;
}

.modal-layer {
  position:absolute;
  inset:0;
  background:#01162dba;
  display:grid;
  place-items:center;
  z-index:5;
  padding:25px;
}

.confirmation {
  width:min(660px,90vw);
  background:#082c53;
  border:2px solid var(--gold);
  padding:34px 42px 32px;
  border-radius:18px;
  box-shadow:0 0 0 8px #f6bd4612,0 22px 100px #0009;
  color:white;
  text-align:center;
  animation:heartbeat 1.2s ease-in-out infinite;
}

.confirmation h2 {
  font-size:31px;
  letter-spacing:-.03em;
  margin-bottom:23px;
}

.confirmation .chosen-letter {
  display:inline-grid;
  place-items:center;
  width:65px;
  height:65px;
  background:var(--gold);
  color:var(--navy);
  border-radius:50%;
  font-size:29px;
  font-weight:700;
  margin-bottom:15px;
}

.confirmation p {
  font-size:21px;
  line-height:1.35;
}

.confirmation .modal-actions {
  display:flex;
  justify-content:center;
  gap:18px;
  margin-top:30px;
}

.confirmation .modal-actions .action {
  min-width:190px;
}

.center-state {
  align-items:center;
  text-align:center;
  justify-content:center;
  padding-bottom:50px;
}

.center-state .kicker {
  margin-bottom:16px;
}

.center-state h1 {
  font-size:31px;
  max-width:100%;
}

.orbit-receipt {
  position:relative;
  width:180px;
  height:180px;
  margin:40px auto 29px;
  display:grid;
  place-items:center;
}

.orbit-receipt::before {
  content:"";
  position:absolute;
  inset:0;
  border-radius:50%;
  border:1px solid #bad6eb50;
}

.orbit-receipt::after {
  content:"";
  position:absolute;
  inset:-3px;
  border-radius:50%;
  border:4px solid transparent;
  border-top-color:var(--cyan);
  border-right-color:var(--cyan);
  animation:orbit 1.8s linear infinite;
  filter:drop-shadow(0 0 5px #2bc9ee80);
}

.receipt-letter {
  width:132px;
  height:132px;
  border-radius:50%;
  display:grid;
  place-items:center;
  border:2px solid var(--cyan);
  background:#124274;
  font-size:64px;
  font-weight:700;
  color:white;
}

.receipt-caption {
  font-size:18px;
  line-height:1.5;
  color:var(--blue);
  max-width:270px;
}

.brain-loader {
  width:230px;
  height:200px;
  margin:24px auto 18px;
}

.brain-loader svg {
  width:100%;
  height:100%;
}

.brain-loader .region {
  fill:#29425f;
  animation:brain-glow 3.6s steps(1,end) infinite;
}

.brain-loader .r0 {
  --lit:#3f9af5;
  animation-delay:0s;
}

.brain-loader .r1 {
  --lit:#bc5aff;
  animation-delay:-3s;
}

.brain-loader .r2 {
  --lit:#ffb524;
  animation-delay:-2.4s;
}

.brain-loader .r3 {
  --lit:#ff5c82;
  animation-delay:-1.8s;
}

.brain-loader .r5 {
  --lit:#13d4c5;
  animation-delay:-1.2s;
}

.brain-loader .r5 {
  --lit:#76d534;
  animation-delay:-.6s;
}

.result-name {
  font-size:20px;
  line-height:1.4;
  font-weight:700;
  margin:23px 0 19px;
}

.phone-result .big-score {
  font-size:62px;
  line-height:1.1;
  font-weight:700;
  letter-spacing:-.055em;
  font-variant-numeric:tabular-nums;
}

.phone-result .score-unit {
  font-size:16px;
  color:var(--muted);
  margin-top:3px;
}

.position {
  display:inline-flex;
  align-items:baseline;
  gap:8px;
  border-top:1px solid #667f9955;
  border-bottom:1px solid #667f9955;
  margin:24px 0;
  padding:14px 25px;
  font-size:16px;
}

.position strong {
  font-size:27px;
}

.selection-banner {
  background:var(--navy);
  border-radius:16px;
  color:white;
  padding:20px 22px;
  text-align:center;
  margin-top:auto;
  font-size:22px;
  font-weight:700;
  line-height:1.3;
  position:relative;
  z-index:2;
}

.selection-banner small {
  display:block;
  color:var(--blue);
  font-weight:400;
  font-size:15px;
  margin-top:8px;
}

.phone-result .result-seal {
  width:102px;
  height:102px;
  margin:7px auto 10px;
}

.phone-result {
  align-items:center;
  text-align:center;
  padding-bottom:0;
}

.winner {
  display:flex;
  flex-direction:column;
  align-items:center;
  padding:40px 70px;
  height:100vh;
  min-height:720px;
  text-align:center;
}

.winner .brand-row {
  width:100%;
  align-self:stretch;
}

.winner .winner-seal {
  width:205px;
  height:205px;
  margin:48px 0 27px;
}

.winner .kicker {
  font-size:24px;
  letter-spacing:.15em;
  margin-bottom:23px;
  color:var(--gold);
}

.winner h1 {
  font-size:60px;
  line-height:1.16;
  letter-spacing:-.04em;
  max-width:1400px;
  position:relative;
  z-index:2;
}

.winner .winner-score {
  font-size:46px;
  font-weight:700;
  margin-top:30px;
}

.winner .winner-score small {
  font-weight:400;
  font-size:24px;
  color:var(--blue);
}

.winner .thanks {
  font-size:24px;
  margin-top:25px;
  color:var(--blue);
}

.celebration {
  position:absolute;
  inset:0;
  pointer-events:none;
  overflow:hidden;
  z-index:0;
}

.confetti-piece {
  position:absolute;
  left:var(--x);
  top:-8%;
  width:9px;
  height:18px;
  background:var(--color);
  animation:confetti var(--duration,3s) ease-out var(--delay,0s) both;
  transform:rotate(var(--rotation));
}

.brain-piece {
  width:36px;
  height:31px;
  background:none;
  animation:brain-confetti var(--duration,3s) cubic-bezier(.25,.1,.5,1) var(--delay,0s) both;
}

.brain-piece svg {
  width:100%;
  height:100%;
}

.balloon {
  position:absolute;
  bottom:-190px;
  left:var(--x);
  width:73px;
  height:91px;
  background:var(--color);
  border-radius:50% 50% 48% 48%;
  animation:balloon var(--duration,4s) ease-out var(--delay,0s) both;
  opacity:.9;
}

.balloon::after {
  content:"";
  position:absolute;
  top:91px;
  left:36px;
  width:1px;
  height:100px;
  background:#bad6eb88;
}

.motion-control {
  position:absolute;
  bottom:12px;
  right:18px;
  background:#011c3dcc;
  border:1px solid #bad6eb66;
  border-radius:50%;
  width:36px;
  height:36px;
  display:grid;
  place-items:center;
  color:var(--blue);
  font-size:15px;
  z-index:8;
}

.phone .motion-control {
  bottom:8px;
  right:10px;
  width:30px;
  height:30px;
  font-size:12px;
}

.suspense .selected {
  animation:suspense 1s ease-in-out 3;
}

.banner-inline {
  background:#0b335dcc;
  border-left:3px solid var(--cyan);
  padding:13px 18px;
  color:var(--blue);
  font-size:17px;
  line-height:1.4;
}

.poll-results {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:12px;
  width:100%;
  margin:0;
}

.poll-bar {
  height:54px;
  position:relative;
  border-bottom:2px solid #bad6eb66;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 10px;
  font-size:17px;
}

.poll-bar::before {
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  height:5px;
  width:var(--amount);
  background:var(--cyan);
}

.poll-bar strong {
  font-size:20px;
  color:white;
}

.field {
  display:flex;
  flex-direction:column;
  gap:10px;
  margin:28px 0 18px;
  font-weight:700;
  font-size:16px;
  width:100%;
}

.field input {
  width:100%;
  background:#fff;
  color:var(--navy);
  border:1.5px solid var(--line);
  border-radius:10px;
  min-height:56px;
  padding:12px;
  font-size:18px;
}

.error-text {
  color:var(--red);
  font-size:16px;
  margin-bottom:18px;
}

.phone .wide {
  width:100%;
}

.muted-card {
  background:#bad6eb44;
  padding:18px;
  border-radius:14px;
  margin:22px 0;
  font-size:16px;
  line-height:1.5;
}

.connection {
  display:flex;
  align-items:center;
  gap:8px;
  color:var(--muted);
  font-size:14px;
}

.connection::before {
  content:"";
  width:8px;
  height:8px;
  background:var(--green);
  border-radius:50%;
}

.screen[data-paused=true] *,html[data-reduced=true] .screen * {
  animation-play-state:paused!important;
}

.screen[data-paused=true] .background-video,html[data-reduced=true] .background-video {
  visibility:hidden;
}

html[data-reduced=true] .celebration {
  display:none;
}

html[data-reduced=true] .confirmation {
  animation:none;
}

html[data-reduced=true] .brain-loader .region {
  animation:none;
  fill:#29425f;
}

html[data-reduced=true] .brain-loader .r0 {
  fill:#3f9af5;
}

@keyframes heartbeat {
  0%,100% {
    box-shadow:0 0 0 6px #f6bd4612,0 20px 90px #0009;
  }
  18%,39% {
    box-shadow:0 0 0 10px #f6bd4635,0 20px 90px #0009;
  }
  29%,55% {
    box-shadow:0 0 0 6px #f6bd4612,0 20px 90px #0009;
  }
}

@keyframes orbit {
  to {
    transform:rotate(360deg);
  }
}

@keyframes brain-glow {
  0%,12.49% {
    fill:var(--lit);
  }
  12.5%,100% {
    fill:#29425f;
  }
}

@keyframes suspense {
  0%,100% {
    filter:brightness(1);
  }
  50% {
    filter:brightness(1.38);
  }
}

@keyframes confetti {
  0% {
    transform:translateY(-10vh) rotate(var(--rotation));
    opacity:0;
  }
  8% {
    opacity:1;
  }
  100% {
    transform:translate(var(--drift),110vh) rotate(calc(var(--rotation) + 570deg));
    opacity:0;
  }
}

@keyframes balloon {
  0% {
    transform:translateY(0) rotate(-6deg);
  }
  100% {
    transform:translateY(-145vh) rotate(9deg);
  }
}

@keyframes brain-confetti {
  0% {
    transform:translateY(85vh) rotate(-20deg);
    opacity:0;
  }
  10% {
    opacity:1;
  }
  55% {
    transform:translate(var(--drift),20vh) rotate(70deg);
    opacity:1;
  }
  100% {
    transform:translate(calc(var(--drift)*1.3),100vh) rotate(150deg);
    opacity:0;
  }
}

@media(min-width:1800px) {
  .stage {
    padding:32px 48px;
  }
  .brand-lockup .seal {
    width:88px;
    height:88px;
  }
  .brand-name {
    font-size:18px;
  }
  .clinic {
    width:142px;
    height:84px;
  }
  .stage-main {
    grid-template-columns:minmax(0,1fr) 330px;
    gap:48px;
    margin-top:36px;
    height:calc(100% - 128px);
  }
  .stage h1.question {
    font-size:48px;
  }
  .question-plaque {
    min-height:220px;
    padding:35px;
    margin-bottom:34px;
  }
  .stage .answer {
    font-size:36px;
    min-height:145px;
    padding:22px 34px;
  }
  .stage .answer .letter {
    font-size:36px;
    flex-basis:38px;
  }
  .stage .answer-grid {
    gap:23px 30px;
  }
  .stage-topline .kicker {
    font-size:23px;
  }
  .stage-topline .clock strong {
    font-size:42px;
  }
  .stage-topline .clock small {
    font-size:16px;
  }
  .participant {
    font-size:25px;
  }
  .score {
    font-size:54px;
  }
  .score-caption {
    font-size:17px;
  }
  .ladder {
    gap:10px;
    margin-top:30px;
  }
  .ladder li {
    font-size:22px;
    min-height:48px;
  }
  .ladder li b {
    font-size:27px;
  }
  .lifeline .icon-ring {
    width:76px;
    height:76px;
  }
  .lifeline small {
    font-size:14px;
  }
  .lifeline svg {
    width:45px;
    height:45px;
  }
  .status-line {
    font-size:23px;
  }
  .winner .winner-seal {
    width:270px;
    height:270px;
    margin:68px 0 35px;
  }
  .winner h1 {
    font-size:75px;
  }
  .winner .winner-score {
    font-size:62px;
  }
  .winner .kicker {
    font-size:30px;
  }
  .winner .thanks {
    font-size:30px;
  }
  .winner .winner-score small {
    font-size:30px;
  }
}

@media(max-width:600px) {
  .phone {
    padding-top:max(18px,env(safe-area-inset-top));
    padding-bottom:max(28px,env(safe-area-inset-bottom));
  }
  .phone .question {
    font-size:22px;
  }
  .phone .answer {
    font-size:18px;
  }
  .stage {
    min-width:1000px;
  }
  .winner {
    min-width:1000px;
  }
  .phone-result .big-score {
    font-size:58px;
  }
}

@media(prefers-reduced-motion:reduce) {
  *,*::before,*::after {
    scroll-behavior:auto!important;
  }
  .screen * {
    animation:none!important;
    transition:none!important;
  }
  .background-video,.celebration {
    display:none;
  }
  .brain-loader .region {
    fill:#29425f;
  }
  .brain-loader .r0 {
    fill:#3f9af5;
  }
}

.phone-content {
  z-index:1;
}

.winner>h1,.winner>.winner-score,.winner>.thanks,.winner>.kicker,.winner>.winner-seal {
  position:relative;
  z-index:1;
}

.stage-sidebar {
  padding-bottom:24px;
}

.stage>.motion-control {
  right:11px;
  bottom:5px;
  width:25px;
  height:25px;
  font-size:11px;
}

.confirmation::backdrop {
  background:#01162dba;
}

.confirmation {
  margin:auto;
}

.phone .motion-control,.stage>.motion-control,.winner>.motion-control {
  width:48px;
  height:48px;
  border:0;
  background:transparent;
  right:4px;
  bottom:2px;
  font-size:15px;
}

.motion-control::before {
  content:"";
  position:absolute;
  inset:8px;
  border:1px solid #bad6eb66;
  border-radius:50%;
  background:#011c3dcc;
  z-index:-1;
}

.phone .selection-banner {
  margin-bottom:26px;
}

.stage-sidebar {
  padding-bottom:39px;
}

.phone-result>.result-name,.phone-result>.big-score,.phone-result>.position {
  background:#f3f6fbf5;
  position:relative;
  padding:2px 7px;
  border-radius:4px;
}

.winner .winner-score,.winner .thanks {
  background:#011c3dbb;
  padding:5px 12px;
  border-radius:6px;
}

.tie-player {
  margin-top:28px;
  border-bottom:1px solid #bad6eb44;
  padding-bottom:23px;
}

.tie-player b {
  font-size:20px;
  line-height:1.4;
  display:block;
}

.tie-player span {
  display:block;
  color:var(--blue);
  font-size:16px;
  margin-top:10px;
}

.tie-emblem {
  margin:30px auto;
}

.stage-board .brain-loader {
  width:74px;
  height:60px;
  margin:0;
}

.compact-status {
  display:flex;
  gap:16px;
  align-items:center;
}

.poll-results {
  margin:0 0 12px;
}

.poll-history {
  border-top:1px solid #bad6eb55;
  padding:8px 0;
  margin-bottom:8px;
}

.poll-history .poll-bar {
  height:40px;
}

.poll-history .kicker {
  font-size:12px;
  margin-bottom:3px;
}

.poll-results.two {
  grid-template-columns:1fr 1fr;
}

.aud-poll .question {
  font-size:21px;
}

.aud-poll .answer {
  min-height:72px;
}

.aux-large {
  font-size:20px;
  line-height:1.5;
}

.form-error {
  border-color:var(--red)!important;
}

.phone .named {
  font-size:20px;
  font-weight:700;
  margin-top:22px;
  line-height:1.4;
}

.result-seal.large {
  width:165px;
  height:165px;
  margin:25px auto;
}

.quiet-status {
  padding:18px 0;
  border-top:1px solid #667f9944;
  margin-top:24px;
  color:var(--muted);
  line-height:1.5;
}

.phone.long-copy {
  min-height:100vh;
  height:auto;
}

.phone.long-copy .answer {
  min-height:86px;
}

.phone.long-copy .bottom-note {
  margin-top:20px;
}

.small-icon {
  width:68px;
  height:68px;
  border:2px solid var(--cyan);
  border-radius:50%;
  display:grid;
  place-items:center;
  margin:28px auto;
  color:var(--cyan);
  font-size:34px;
}

.light .small-icon {
  color:var(--navy);
  border-color:var(--navy);
}

.brand-name {
  text-transform:none;
  letter-spacing:.01em;
  font-size:16px;
}

.phone .brand-name {
  font-size:11px;
  letter-spacing:0;
}

.consultation-meter {
  display:flex;
  align-items:center;
  gap:20px;
  border-left:3px solid var(--gold);
  padding:13px 20px;
  color:var(--blue);
  font-size:18px;
}

.consultation-meter strong {
  font-size:28px;
  color:var(--gold);
  font-variant-numeric:tabular-nums;
}

.assign-actions {
  display:flex;
  gap:16px;
  margin:14px 0;
}

.operator {
  padding:22px 28px;
  min-height:768px;
  height:100vh;
}

.operator::before {
  background:none;
}

.ops-layout {
  display:grid;
  grid-template-columns:150px minmax(0,1fr) 260px;
  gap:28px;
  margin-top:27px;
  height:calc(100% - 100px);
}

.ops-nav {
  display:flex;
  flex-direction:column;
  gap:22px;
  padding:18px 0;
  color:var(--blue);
  font-size:14px;
}

.ops-nav b {
  font-size:16px;
  color:white;
  margin-bottom:13px;
}

.ops-nav span {
  padding-left:14px;
  border-left:2px solid #bad6eb55;
}

.ops-content {
  background:var(--paper);
  color:var(--navy);
  padding:30px 34px;
  border-radius:18px;
  display:flex;
  flex-direction:column;
  min-width:0;
}

.ops-content .kicker {
  color:var(--muted);
  font-size:12px;
}

.ops-content h1 {
  font-size:29px;
  line-height:1.25;
  letter-spacing:-.035em;
  margin:12px 0 23px;
}

.ops-body {
  flex:1;
  min-height:0;
}

.ops-lead {
  font-size:18px;
  line-height:1.45;
  margin-bottom:19px;
}

.evidence-list {
  margin:0;
}

.evidence-list>div {
  display:grid;
  grid-template-columns:190px minmax(0,1fr);
  gap:20px;
  padding:13px 0;
  border-bottom:1px solid #667f9944;
  font-size:14px;
  line-height:1.4;
}

.evidence-list dt {
  color:var(--muted);
}

.evidence-list dd {
  margin:0;
  font-weight:700;
}

.ops-evidence {
  padding:10px 0;
}

.ops-evidence .kicker {
  margin-bottom:21px;
}

.ops-evidence .evidence-list>div {
  grid-template-columns:1fr;
  gap:6px;
  padding:13px 0;
}

.ops-evidence .evidence-list dt {
  color:var(--blue);
  font-size:13px;
}

.ops-evidence .evidence-list dd {
  font-size:16px;
}

.ops-actions {
  display:flex;
  gap:12px;
  margin-top:22px;
  flex-wrap:wrap;
}

.ops-actions .action {
  font-size:14px;
  min-height:48px;
  padding:10px 18px;
}

.ops-actions .action.secondary {
  color:var(--navy);
  border-color:var(--line);
}

.ops-alert {
  padding:18px 20px;
  background:#ffebbb;
  border-left:4px solid #a86800;
  color:#654000;
  font-size:16px;
  line-height:1.45;
  margin-top:20px;
}

.ops-checks {
  display:flex;
  gap:18px;
  flex-wrap:wrap;
  color:var(--green);
  font-size:13px;
  font-weight:700;
  margin-top:24px;
}

.ops-table {
  border-collapse:collapse;
  width:100%;
  font-size:14px;
  font-variant-numeric:tabular-nums;
}

.ops-table th {
  text-align:left;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.04em;
  color:var(--muted);
  padding:11px 8px;
  border-bottom:2px solid var(--line);
}

.ops-table td {
  padding:14px 8px;
  border-bottom:1px solid #667f9944;
}

.ops-table td:not(:first-child) {
  font-weight:700;
}

.ops-result {
  border-left:4px solid var(--green);
  padding:22px 18px;
  background:#e0f4e8;
  font-size:21px;
  font-weight:700;
  margin-top:25px;
}

.ops-content code {
  font:13px "DejaVu Sans",sans-serif;
}

.operator .confirmation p {
  font-size:20px;
}

.screen[data-paused=true] *::before,.screen[data-paused=true] *::after,html[data-reduced=true] .screen *::before,html[data-reduced=true] .screen *::after {
  animation-play-state:paused!important;
}

.answer:focus-visible {
  box-shadow:inset 0 0 0 4px var(--gold),inset 0 0 0 6px var(--navy);
}

@media(prefers-reduced-motion:reduce) {
  .screen *::before,.screen *::after {
    animation:none!important;
  }
}

.phone .kicker {
  font-size:16px;
  letter-spacing:.035em;
}

.phone .clock small {
  font-size:16px;
  letter-spacing:.02em;
}

.phone .bottom-note,.selection-banner small {
  font-size:16px;
}

.phone .question-head .kicker {
  font-size:16px;
  letter-spacing:.01em;
}

.answer {
  isolation:isolate;
  background:var(--cyan);
  border:0;
}

.answer::before {
  content:"";
  position:absolute;
  inset:1.5px;
  clip-path:inherit;
  background:linear-gradient(110deg,#184781,#123a74);
  z-index:-1;
}

.answer.selected::before {
  background:var(--gold);
}

.answer.correct::before {
  background:var(--green);
}

.answer.wrong::before {
  background:var(--red);
}

.answer:focus-visible::before {
  inset:5px;
}

.answer:focus-visible {
  background:var(--gold);
}

.operator .confirmation {
  animation:none;
  box-shadow:0 22px 100px #0009;
}

.clock {
  flex-shrink:0;
}

.clock strong {
  white-space:nowrap;
}

.aud-poll .question {
  font-size:22px;
}


/* Keep the question, closed poll and consultation visible within 768 px. */
.stage-board:has(.poll-history):has(.consultation-meter) .question-plaque {
  min-height:130px;
  padding-block:18px;
  margin-bottom:17px;
}
.stage-board:has(.poll-history):has(.consultation-meter) .answer-grid {
  margin-bottom:10px;
}
.stage-board:has(.poll-history):has(.consultation-meter) .consultation-meter {
  padding-block:6px;
}
.stage-board:has(.poll-history):has(.consultation-meter) .stage-bottom {
  min-height:40px;
}
.answer-exit {
  pointer-events:none;
  animation:answer-exit 180ms ease-in both;
}
@keyframes answer-exit {
  to { opacity:0; transform:scale(.96); }
}
@media (prefers-reduced-motion:reduce) {
  .answer-exit { animation:none; visibility:hidden; }
}
html[data-reduced="true"] .answer-exit {
  animation:none;
  visibility:hidden;
}

/* R5 contest material, six regions and shared stage composition. */
.answer {
  font-weight:700;
  padding:20px 28px;
  background:linear-gradient(180deg,#d5f7ff,#79bee2 22%,#1b5692 48%,#062142 53%,#78cbe5 100%);
  transition:opacity 140ms,transform 140ms;
}
.answer::before {
  inset:3px;
  background:linear-gradient(180deg,#4176b5 0%,#23528f 24%,#173e77 50%,#102d5b 51%,#1c457e 100%);
  box-shadow:inset 0 3px 1px #ffffff36,inset 0 -4px 2px #0007;
}
.answer::after { inset:7px 9px; border-color:#a5ddff43; }
.answer.selected { color:#fff8da; background:linear-gradient(#fff1ba,#b87d25 50%,#ffde7d); }
.answer.selected::before { background:linear-gradient(#b17b22,#77500f); }
.answer.selected .letter { color:#fff4b6; }
.answer.correct::before { background:linear-gradient(#079b50,#006d35); }
.answer.wrong::before { background:linear-gradient(#eb2747,#a90b29); }
.answer:active:not(:disabled) { transform:scale(.988); }
.answer:focus-visible { background:#fff2ac; filter:none; }
.answer:focus-visible::before { inset:6px; }
.answer-grid { gap:22px 26px; }
.phone .answer-grid { gap:18px; margin-top:24px; }
.phone .answer { min-height:94px; padding:20px 24px; font-size:18px; line-height:1.35; }
.phone .answer .letter { font-size:22px; flex-basis:26px; }
.phone .question-head { margin-bottom:8px; }
.phone .bottom-note { margin-top:28px; }
.phone.long-copy .answer { min-height:145px; }
.stage .question-plaque { min-height:156px; }
.stage .answer { min-height:108px; }
.stage .answer-grid { margin-bottom:20px; }
.stage-board:has(.poll-history):has(.consultation-meter) .answer { min-height:100px; }
.stage-board:has(.poll-history):has(.consultation-meter) .answer-grid { gap:16px 26px; }
.stage-sidebar { padding-bottom:0; }
.ladder li.current {
  color:#ffefbb;
  background:url('assets/selector-oro.svg') center/100% 100% no-repeat;
  clip-path:none;
  min-height:44px;
  padding-inline:21px;
  filter:drop-shadow(0 4px 4px #0008);
}
.ladder li.current b { text-shadow:0 2px 1px #000; }
.brain-loader { width:260px; height:190px; margin:28px auto 25px; }
.brain-loader .region { animation:none!important; opacity:0; }
.brain-loader .r0 { fill:none; }
html[data-reduced=true] .brain-loader .region { opacity:0!important; }
.orbit-receipt { width:192px; height:192px; }
.orbit-receipt::before {
  inset:-13px;
  border:0;
  background:conic-gradient(from 0deg,transparent 0%,#77eaff18 10%,#b6f6ffdb 24%,#64dcff65 36%,transparent 52%,transparent 100%);
  mask-image:radial-gradient(circle,transparent 43%,#000 53%,#000 65%,transparent 75%);
  filter:blur(10px);
  animation:aura-drift 2.4s linear infinite;
  z-index:-1;
}
.orbit-receipt::after {
  inset:-8px;
  border:0;
  background:radial-gradient(circle,transparent 40%,#2bc9ee18 47%,#5ce5ff9c 59%,#2bc9ee25 66%,transparent 74%);
  filter:blur(7px);
  animation:aura-breathe 2.4s ease-in-out infinite;
  z-index:-1;
}
.receipt-letter { width:145px; height:145px; box-shadow:inset 0 3px 12px #83caff30,0 0 28px #37d6ff38; }
@keyframes aura-breathe {
  0%,100% { opacity:.5; transform:scale(.94); }
  50% { opacity:1; transform:scale(1.07); }
}
@keyframes aura-drift {
  from { transform:rotate(0deg); }
  to { transform:rotate(360deg); }
}
.suspense .selected { animation:none; }
.suspense .selected::before { animation:suspense-r5 .5s steps(1,end) 6; }
.suspense .selected::after { animation:none; }
@keyframes suspense-r5 {
  0%,100% { background:radial-gradient(ellipse at 50% -20%,#ffe99d80,transparent 70%),linear-gradient(#a17321,#66440c); }
  50% { background:radial-gradient(ellipse at 50% -20%,#5b99ce9c,transparent 62%),linear-gradient(180deg,#265b91,#123961 56%,#082445); }
}
.timeout-cross { color:#ef2948; font-size:96px; font-weight:700; line-height:1; margin:24px auto; }
.phone .timeout-cross { font-size:112px; }
.timeout-cross.compact { display:inline-block; font-size:96px; margin:0 10px 0 0; vertical-align:middle; }
.phone-result>.result-name,.phone-result>.big-score,.phone-result>.position,
.winner .winner-score,.winner .thanks { background:transparent; border-radius:0; padding:0; }
.winner h1,.winner .winner-score,.winner .thanks { text-shadow:0 3px 13px #00142d; }
.celebration { position:absolute; inset:0; z-index:8; pointer-events:none; overflow:hidden; }
.celebration-media { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; pointer-events:none; }
.mobile-confetti { object-fit:fill; }
.balloons-media { opacity:.93; }
html[data-reduced=true] .celebration { display:none; }
html[data-reduced=true] .suspense .selected,
html[data-reduced=true] .suspense .selected::before,
html[data-reduced=true] .suspense .selected::after { animation:none; }
.qualification-board { max-width:1160px; margin:25px auto 0; }
.qualification-board .question-plaque { min-height:190px; }
.qualification-board .answer { min-height:105px; font-size:24px; }
.qualification-board .stage-instruction { text-align:center; margin-top:24px; color:#bad6eb; font-size:22px; }
.qualification-board.center-state { text-align:center; padding-top:120px; }
.qualification-board.center-state h1 { font-size:44px; }
.qualification-board.center-state .brain-loader { width:380px; height:280px; }
.qualification-stage .brand-row { margin-bottom:20px; }
@media (min-width:1600px) {
  .stage .answer { font-size:28px; min-height:145px; }
  .stage .question-plaque { min-height:220px; }
  .qualification-board { max-width:1640px; margin-top:58px; }
  .qualification-board .question { font-size:44px; }
  .qualification-board .answer-grid { gap:30px 40px; }
  .qualification-board .answer { font-size:32px; min-height:155px; }
  .qualification-board .stage-instruction { margin-top:40px; font-size:28px; }
}
@media (prefers-reduced-motion:reduce) {
  .suspense .selected,.suspense .selected::before,.suspense .selected::after { animation:none; }
  .celebration { display:none; }
  .orbit-receipt::before,.orbit-receipt::after { animation:none; opacity:.65; }
}

/* Continuous highlights and curved television-style answer shoulders. */
.answer,.phone .answer {
  clip-path:none;
  background:transparent;
  box-shadow:none;
  filter:drop-shadow(0 7px 5px #0006);
}
.answer::before {
  inset:0;
  clip-path:none;
  mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20600%20110%22%20preserveAspectRatio%3D%22none%22%3E%3Cpath%20fill%3D%22white%22%20d%3D%22M2%2055%20C19%2045%2023%2031%2030%2018%20Q34%207%2048%207%20H552%20Q566%207%20570%2018%20C577%2031%20581%2045%20598%2055%20C581%2065%20577%2079%20570%2092%20Q566%20103%20552%20103%20H48%20Q34%20103%2030%2092%20C23%2079%2019%2065%202%2055%20Z%22%2F%3E%3C%2Fsvg%3E%0A") center/100% 100% no-repeat;
  background:radial-gradient(ellipse at 50% -20%,#5b99ce9c,transparent 62%),linear-gradient(180deg,#265b91,#123961 56%,#082445);
  box-shadow:none;
}
.answer::after {
  inset:0;
  clip-path:none;
  border:0;
  background:url('assets/respuesta-bisel.svg') center/100% 100% no-repeat;
}
.answer.selected { background:transparent; color:#fff5d5; }
.answer.selected::before { background:radial-gradient(ellipse at 50% -20%,#ffe99d80,transparent 70%),linear-gradient(#a17321,#66440c); }
.answer.correct::before { background:radial-gradient(ellipse at 50% -20%,#55ffa650,transparent 70%),linear-gradient(#098c43,#00672e); }
.answer.wrong::before { background:radial-gradient(ellipse at 50% -20%,#ffb1bc50,transparent 70%),linear-gradient(#c9243e,#96091e); }
.answer:focus-visible { outline:3px solid #ffe7a4; outline-offset:3px; border-radius:18px; background:transparent; }
.answer:focus-visible::before { inset:0; }
.lifeline .icon-ring {
  border:1px solid #a4e7fc;
  background:radial-gradient(circle at 36% 16%,#69a7cf70,transparent 49%),linear-gradient(155deg,#17456f,#041c39);
  box-shadow:inset 0 2px 3px #d9f5ff6b,inset 0 -3px 4px #0008,0 5px 7px #0006;
}
.action.primary,.action.wide {
  background:radial-gradient(ellipse at 50% 0,#ffe5a0b0,transparent 70%),linear-gradient(#ecc56a,#ad7d22);
  border:1px solid #fff0b9;
  box-shadow:inset 0 2px 1px #fff5c77a,inset 0 -3px 2px #69450888,0 5px 8px #0004;
  color:#09223f;
}
.confirmation { border:2px solid #d8b46f; background:linear-gradient(145deg,#fff,#e2edf5); box-shadow:inset 0 2px 2px #fff,0 20px 60px #0008; }
.selected-phone .selection-banner { background:transparent; box-shadow:none; color:#ffdda0; padding-inline:0; }
.selected-phone .selection-banner small { color:#bad6eb; }
.selected-phone .big-score { color:#fff; }
.selected-phone .position { border-color:#bad6eb55; }
.selected-phone .phone-result { color:#fff; }
.selected-phone .result-name { color:#fff; }
.selected-phone .score-unit { color:#bad6eb; }
.selected-phone .phone-result>h1 { color:#ffda8a; }
.receipt-letter {
  background:radial-gradient(circle at 35% 20%,#80b6de61,transparent 51%),linear-gradient(145deg,#225b8d,#092a4e);
  border:1px solid #b5efff;
  box-shadow:inset 0 2px 3px #dff8ff63,inset 0 -5px 8px #00152c,0 0 0 4px #158db955,0 0 28px #37d6ff38;
}

/* Shared qualification result: transparent publication without a game ladder. */
.qualification-result{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:22px}
.qualification-result h1{font-size:50px;line-height:1.25;max-width:1120px;margin:0}
.qualification-score{font-size:68px;font-weight:700;color:#f6cf73;margin:6px 0}
.qualification-score small{display:block;font-size:26px;color:#fff;margin-top:10px}
.screen[data-paused="true"] .mobile-confetti{visibility:hidden}

/* Correct inherited dark-dialog colors and keep answer silhouettes transparent. */
.confirmation,.confirmation h2,.confirmation p,.confirmation .secondary{color:#011c3d}
.confirmation .secondary{border-color:#42566f;background:transparent}
.answer.correct,.answer.wrong{background:transparent}
.phone.light.phone-result .result-seal.large{width:120px;height:120px;margin:18px auto}

/* Restore the requested r4 admission composition without changing r5 behavior. */
.admission-r4 [data-demo-join] { display:flex; flex-direction:column; }
.admission-r4 .result-seal.large { display:block; }
.admission-r4 [data-join-error]:empty { display:none; }
.admission-r4 .action.wide {
  background:var(--navy);
  color:white;
  border-color:var(--navy);
  box-shadow:none;
}
.admission-r4 .bottom-note { margin-top:auto; }
.phone.light.phone-result>.phone-content {
  width:100%;
  align-items:center;
  text-align:center;
}
.winner .winner-correct {
  display:block;
  margin-top:12px;
  font-size:30px;
  line-height:1.3;
  font-weight:400;
  color:var(--blue);
  text-align:center;
}
.phone.long-copy .answer{min-height:180px;padding-block:24px}

/* Congress identity footer and edge-to-edge light result headers. */
.phone.light.with-brand-footer { padding-bottom:0; }
.brand-footer {
  display:block;
  flex:none;
  width:calc(100% + 40px);
  max-width:none;
  height:42px;
  margin:24px -20px 0;
  color:var(--navy);
  pointer-events:none;
}
.phone.light.phone-result>.brand-row { align-self:stretch; }
