/* Television show. Scores and captions remain outside the musicians' faces. */
body[data-view="screen"]{background:radial-gradient(ellipse at 30% 0,#3a175c 0,transparent 60%),#10091d}
.tv-layout.page{grid-template-columns:minmax(0,1fr) clamp(270px,17vw,340px);padding:16px 24px 12px;gap:14px 24px;min-height:0}
.tv-stage-panel{justify-content:flex-start;gap:12px;view-transition-name:show-stage}
.tv-clock-panel{display:block}.tv-clock-panel .round-meta{flex-direction:row;justify-content:space-between;align-items:baseline;text-align:left;gap:12px}.tv-clock-panel .clock-label{max-width:110px;text-align:right}.tv-clock-panel .clock{white-space:nowrap;font-size:clamp(48px,4.1vw,80px);padding-top:7px}.tv-sidebar .waiting-organizer{display:none}
.tv-question-intro{flex-shrink:0;animation:question-arrive .7s cubic-bezier(.18,.8,.24,1) both}
.tv-show-eyebrow{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:900;letter-spacing:.14em;color:#cfb9eb;margin-bottom:10px}
.tv-show-eyebrow i{width:7px;height:7px;border-radius:50%;background:#d2f444;box-shadow:0 0 0 4px #d2f44418}
.tv-question{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 14px;color:#fff8ec;font:400 clamp(30px,3vw,72px)/1.12 var(--display);text-transform:uppercase;letter-spacing:.01em;text-shadow:3px 4px 0 #08030f}
.question-person{position:relative;display:inline-block;padding:2px 14px 5px;border-radius:7px;color:#170d24;background:#ffe641;text-shadow:none;box-shadow:4px 5px 0 #fd3d92;transform:rotate(-1.5deg);animation:name-arrive .8s cubic-bezier(.16,.8,.2,1) both,name-accent 7s 1.3s ease-in-out infinite;overflow-wrap:anywhere;max-width:100%}
.question-end{padding-left:3px}
.stage-live-strip{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-shrink:0;min-height:30px;padding-bottom:8px;border-bottom:1px solid #ffffff22;font-size:clamp(12px,.88vw,18px)}
.stage-state{color:#d0f33f;letter-spacing:.08em;font-size:.84em;font-weight:900}
#stage-comment{color:#f5e8ff;text-align:right}
.show-content{display:flex;flex-direction:column;flex:1 1 0;min-height:0;gap:9px;transition:opacity .7s,transform .7s}
.tv-layout .ensemble-battle{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;max-width:none;width:100%;margin:0;aspect-ratio:auto;flex:1 1 0;min-height:0;overflow:visible;box-shadow:none;background:transparent;container-type:normal}
.tv-team{--team:#07bbf6;--team-deep:#0052a1;position:relative;display:flex;flex-direction:column;min-width:0;min-height:0;isolation:isolate;border:2px solid #0b0715;border-radius:13px;background:linear-gradient(150deg,#123e66,#091c34);box-shadow:0 0 0 1px #4999bb65,4px 6px 0 #04020a;overflow:hidden;transition:box-shadow .5s,border-color .5s}
.tv-team[data-team="criolla"]{--team:#ff3558;--team-deep:#ae153d;background:linear-gradient(150deg,#651e40,#2e0c2b)}
.tv-team[data-team="salsa"]{--team:#ffcd28;--team-deep:#c57610;background:linear-gradient(150deg,#634416,#241427)}
.team-topline{display:flex;justify-content:space-between;align-items:center;gap:8px;height:34px;flex-shrink:0;padding:5px 12px;background:#08051099;border-bottom:1px solid #ffffff23;color:#f8eefe;font-size:11px;font-weight:900;letter-spacing:.07em}
.team-number{color:var(--team)}.team-rank{text-align:center;font-size:clamp(9px,.7vw,14px)}.team-onair{font-size:21px;color:var(--team)}
.team-scene{position:relative;width:100%;aspect-ratio:2048/1143;flex:0 1 auto;min-height:0;overflow:hidden;background:#0c0913;border-bottom:3px solid var(--team)}
.team-scene .ensemble-scene{width:100%;height:100%;max-height:none}
.team-score{display:flex;flex-direction:column;justify-content:center;gap:9px;flex:1 0 auto;padding:clamp(10px,1vw,24px);min-width:0}
.team-score h2{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;column-gap:6px;min-height:2.05em;font:400 clamp(24px,2vw,43px)/1 var(--display);text-align:center;color:#fff8e9;text-shadow:2px 3px 0 #0a0616}
.team-score h2 .connector{display:block;font-size:.8em}.team-score-values{display:flex;justify-content:space-between;align-items:center;gap:12px}
.team-score-values>strong{color:var(--team);font:400 clamp(40px,4.2vw,104px)/1 var(--display);font-variant-numeric:tabular-nums;letter-spacing:-.03em}.team-score-values small{font-size:.42em}
.team-score-values>span{display:flex;flex-direction:column;align-items:flex-end;font-size:clamp(12px,.8vw,20px);color:#f6eafa}.team-score-values b{font:400 clamp(24px,2vw,43px)/1 var(--display)}
.tv-team .tv-meter{position:relative;inset:auto;width:100%;height:15px;padding:0;border:0;border-radius:20px;background:none;flex-shrink:0}
.tv-team .tv-meter-track{border:1px solid #ffffff55;padding:0;box-shadow:none;border-radius:20px;background:#080515aa}.tv-team .tv-meter-fill{background:linear-gradient(90deg,var(--team-deep),var(--team));box-shadow:0 0 15px var(--team)}
.team-motto{font-size:clamp(11px,.8vw,17px);color:#e6d7e9;text-align:center}
.team-leading{box-shadow:0 0 0 2px var(--team),0 0 30px color-mix(in srgb,var(--team) 20%,transparent),4px 6px 0 #04020a}.team-leading .team-rank{color:var(--team)}
.team-reaction{position:absolute;bottom:13px;left:12px;right:12px;border:1px solid var(--team);border-radius:6px;padding:8px;color:#fff;background:#140c25ed;text-align:center;font-size:clamp(10px,.9vw,17px);font-weight:900;opacity:0;pointer-events:none;transform:translateY(10px)}
.react-vote .team-reaction,.react-rise .team-reaction,.react-chase .team-reaction{animation:reaction-label 1.7s ease both}.react-rise .team-onair{animation:rank-star 1.3s ease}.team-speaking .team-topline{background:color-mix(in srgb,var(--team) 18%,#0d071c)}
.voice-caption{display:flex;align-items:center;gap:12px;flex-shrink:0;min-height:48px;border:1px solid #d2b2f22c;border-radius:9px;padding:10px 14px;background:#20112e;color:#cfbbdf;font-size:clamp(12px,.95vw,20px)}.voice-caption p{line-height:1.35}
.voice-caption-icon{display:flex;align-items:center;justify-content:center;gap:3px;width:28px;height:24px;flex-shrink:0}.voice-caption-icon i{display:block;width:4px;height:8px;background:#b598d3;border-radius:4px}
.voice-caption.speaking{color:#fff6dd;border-color:#ffd44899;background:#30203c}.speaking .voice-caption-icon i{background:#ffe347;animation:voice-meter 1s ease-in-out infinite}.speaking .voice-caption-icon i:nth-child(2){animation-delay:-.33s}.speaking .voice-caption-icon i:nth-child(3){animation-delay:-.66s}
/* The image receives the remaining height instead of a viewport estimate. */
.tv-layout .winner-stage{display:grid;grid-template-rows:auto minmax(0,1fr);flex:1 1 0;min-height:0;overflow:hidden;border-radius:12px;animation:result-reveal .7s ease both}
.tv-layout .winner-announcement{position:relative;padding:12px 20px 14px;flex-shrink:0}.tv-layout .winner-announcement .eyebrow{font-size:11px;margin-bottom:6px}.tv-layout .winner-announcement .comic-title{font-size:clamp(28px,3vw,64px)}
.tv-layout .victory-callout{position:absolute;right:14px;top:12px;font:400 19px/1 var(--display);color:#fff088;text-shadow:1px 2px 0 #161020}.tv-layout .victory-callout span{display:none}
.tv-layout .winning-scenes{display:flex;align-items:stretch;min-height:0;height:100%;overflow:hidden}.tv-layout .winning-scene{display:flex;flex-direction:column;flex:1 1 0;min-width:0;min-height:0;height:100%}
.tv-layout .winning-scene .winner-art{width:100%;height:100%;min-height:0;max-height:none;flex:1 1 0}
.tv-layout .winning-scene figcaption{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;flex:0 0 auto;min-height:43px;padding:8px 14px;font-size:14px}.tv-layout .winning-scene figcaption strong{font-size:clamp(16px,1.2vw,25px)}
.tv-layout .winner-stage.tie .winning-scene{align-self:stretch}.tv-layout .winner-stage.tie figcaption{flex-direction:column;align-items:center;text-align:center;min-height:64px;gap:4px}
.tv-layout .result-bottom{flex-shrink:0;min-height:42px;margin:0;font-size:14px}.tv-layout .result-bottom strong{font-size:23px}.tv-layout .result-bottom .button{min-height:42px;padding:7px 12px}.tv-layout .empty-stage{height:100%;min-height:0}
.tv-result-view .tv-show-eyebrow{display:none}.tv-result-view .tv-question{font-size:clamp(24px,1.8vw,43px)}.tv-result-view .question-person{padding:2px 10px;box-shadow:3px 3px 0 #fd3d92}.tv-result-view .stage-live-strip{min-height:25px;padding-bottom:5px}
.tv-layout .confetti{z-index:3;pointer-events:none}.tv-layout .confetti i{width:6px;height:12px;opacity:.8;animation-duration:var(--duration);animation-iteration-count:4}
body[data-victory="encore"] .confetti,body[data-victory="rest"] .confetti,body[data-victory="encore"] .victory-callout{display:none}.round-departing .show-content{opacity:.85;transform:translateY(-3px)}.tv-layout .site-footer{flex-shrink:0}
/* Individual choreography: all members celebrate, with asynchronous idle cues. */
.cast-actor,.cast-motion,.cast-head,.cast-arm{transform-box:view-box}
.cast-motion{animation:cast-idle var(--beat) var(--offset) ease-in-out infinite}.cast-head{animation:cast-nod var(--head-beat) var(--offset) ease-in-out infinite}.cast-arm{animation:cast-wave calc(var(--beat)*1.6) var(--offset) ease-in-out infinite}
.motion-strum .cast-arm{animation-name:cast-strum;animation-duration:2.4s}.motion-drum .cast-arm{animation-name:cast-strum;animation-duration:1.8s}.motion-step{animation-name:cast-step}.motion-groove,.motion-dance{animation-name:cast-groove}
.cast-blink{opacity:0;animation:cast-blink calc(var(--head-beat)*1.17) var(--offset) steps(1) infinite}.cast-instrument-note{opacity:0;animation:instrument-note calc(var(--beat)*1.3) var(--offset) ease-in-out infinite}
.react-vote .cast-head{animation:cast-cheer 1.3s var(--react-delay) ease-in-out 1}.react-rise .cast-head{animation:cast-cheer 1.2s ease-in-out 2}.react-chase .cast-head{animation:cast-nod 2s ease-in-out 2}
.celebrating .cast-motion{animation:cast-victory 1.8s var(--offset) ease-in-out infinite}.celebrating .cast-head{animation:cast-cheer 1.6s var(--offset) ease-in-out infinite}.celebrating .cast-arm{animation:cast-triumph 2.3s var(--offset) ease-in-out infinite}
.celebrating .motion-strum .cast-arm,.celebrating .motion-drum .cast-arm{animation:cast-strum .95s var(--offset) ease-in-out infinite}.celebrating .cast-instrument-note{animation-duration:2.3s}
.round-paused .cast-motion,.round-paused .cast-head,.round-paused .cast-arm,.round-paused .cast-blink,.round-paused .cast-actor,.motion-paused .cast-actor,.round-paused .question-person,.motion-paused .question-person{animation-play-state:paused}
.round-paused .tv-question-intro,.round-paused .winner-stage,.motion-paused .tv-question-intro{animation:none}.light-motion .cast-motion,.light-motion .cast-instrument-note{animation:none}
.experience-settings{margin-top:24px}.experience-settings-heading{display:flex;justify-content:space-between;gap:24px;align-items:flex-start}.experience-settings h2{margin:8px 0}
.voice-provider{color:#562288;border:1px solid #ae85cb;border-radius:5px;padding:7px 10px;font-size:10px;font-weight:900;white-space:nowrap;background:#f0e5ff}
.experience-name{display:grid;grid-template-columns:minmax(200px,.75fr) minmax(0,1.25fr);gap:24px;align-items:center;margin:24px 0}.question-preview{font:400 clamp(24px,2vw,35px)/1.15 var(--display);color:#522277;border-left:3px solid #8c4dcc;padding:12px 18px;overflow-wrap:anywhere;background:#eee3ff;border-radius:0 7px 7px 0}
.voice-settings{display:grid;grid-template-columns:minmax(220px,1fr) minmax(150px,.7fr) minmax(220px,1fr);gap:24px;align-items:start;padding:22px 0;border-top:1px solid #d5c7e0}.voice-settings .check-field{margin:0}.voice-settings .check-field small{display:block;margin-top:6px}
.voice-settings .field>span{display:flex;align-items:center;gap:14px}.voice-settings input[type="range"]{min-width:0;width:100%;padding:0;accent-color:#7828db}.voice-settings output{min-width:40px;color:#5a2584;font-weight:900}.voice-settings select{width:100%;min-width:0;min-height:46px;padding:8px;color:#f9efff;background:#271739;border:1px solid #9674b3;border-radius:5px}
.voice-profile-note{color:#5d4b75;font-size:12px;margin-bottom:20px}.experience-save{display:flex;align-items:center;flex-wrap:wrap;gap:20px}.experience-save p{font-size:12px;color:#285c25}
@keyframes question-arrive{from{opacity:.7;transform:translateY(-12px) scale(.98)}to{opacity:1;transform:none}}
@keyframes name-arrive{0%{transform:translateY(8px) rotate(3deg) scale(.86)}65%{transform:translateY(-2px) rotate(-2deg) scale(1.035)}100%{transform:rotate(-1.5deg)}}
@keyframes name-accent{0%,70%,100%{box-shadow:4px 5px 0 #fd3d92;transform:rotate(-1.5deg)}82%{box-shadow:4px 5px 0 #fd3d92,0 0 20px #ffe64140;transform:rotate(-.5deg)}}
@keyframes result-reveal{from{opacity:.75;transform:translateY(14px) scale(.99)}to{opacity:1;transform:none}}
@keyframes reaction-label{0%{opacity:0;transform:translateY(10px)}15%,75%{opacity:1;transform:none}100%{opacity:0;transform:translateY(-5px)}}
@keyframes rank-star{0%,100%{transform:none}40%{transform:rotate(15deg) scale(1.4)}}
@keyframes voice-meter{0%,100%{height:6px}50%{height:21px}}
@keyframes cast-idle{0%,25%,75%,100%{transform:none}40%,58%{transform:rotate(.14deg)}}
@keyframes cast-groove{0%,18%,90%,100%{transform:none}35%{transform:rotate(-.16deg)}57%{transform:rotate(.18deg)}73%{transform:rotate(-.1deg)}}
@keyframes cast-step{0%,28%,90%,100%{transform:none}45%{transform:rotate(-.14deg)}65%{transform:rotate(.14deg)}}
@keyframes cast-nod{0%,25%,80%,100%{transform:none}42%{transform:rotate(.5deg)}59%{transform:rotate(-.35deg)}}
@keyframes cast-wave{0%,48%,85%,100%{transform:none}58%{transform:rotate(-.8deg)}70%{transform:rotate(.25deg)}}
@keyframes cast-strum{0%,28%,70%,100%{transform:none}40%,55%{transform:rotate(.4deg)}}
@keyframes cast-blink{0%,47%,51%,100%{opacity:0}48%,50%{opacity:1}}
@keyframes instrument-note{0%,35%,85%,100%{opacity:0}45%,65%{opacity:.8}}
@keyframes cast-victory{0%,100%{transform:none}28%{transform:rotate(-.25deg)}53%{transform:rotate(.25deg)}76%{transform:rotate(-.15deg)}}
@keyframes cast-cheer{0%,100%{transform:none}45%{transform:rotate(.8deg)}}
@keyframes cast-triumph{0%,100%{transform:none}30%{transform:rotate(-1deg)}65%{transform:rotate(-.4deg)}}
/* A partial silhouette cannot travel: the hidden anatomy does not exist in
   the illustration. These constraints apply equally to idle, votes and victory. */
.cast-actor[data-root-motion="anchored"] .cast-motion{animation:none}
.cast-actor[data-head-motion="fixed"] .cast-head{animation:none}
.cast-actor[data-arm-motion="fixed"] .cast-arm{animation:none}
.scene-foreground{pointer-events:none}
::view-transition-old(root),::view-transition-new(root){animation:none;mix-blend-mode:normal}::view-transition-old(show-stage){animation:show-out .18s ease both}::view-transition-new(show-stage){animation:show-in .4s ease both}
@keyframes show-out{to{opacity:.4;transform:translateY(-5px)}}@keyframes show-in{from{opacity:.5;transform:translateY(7px)}to{opacity:1;transform:none}}
@media(min-width:1101px) and (max-height:850px){
 .tv-layout.page{padding-top:10px;gap:8px 18px}.tv-stage-panel{gap:8px}.tv-question{font-size:clamp(30px,2.7vw,55px)}.tv-show-eyebrow{margin-bottom:6px}.team-score{padding:10px 14px;gap:6px}.team-score h2{font-size:clamp(24px,1.8vw,35px)}.team-score-values>strong{font-size:clamp(40px,3.8vw,75px)}.team-motto{display:none}.tv-layout .voice-caption{min-height:40px;padding:7px 10px}.tv-layout .winner-announcement .comic-title{font-size:40px}.tv-layout .winning-scene .winner-art{max-height:none}
}
@media(max-width:1100px){
 .tv-layout.page{height:auto;min-height:calc(100svh - var(--tv-top));grid-template-columns:minmax(0,1fr) 240px;padding:14px;gap:16px}.tv-question{font-size:36px}.tv-layout .ensemble-battle{gap:10px;flex:auto}.team-score h2{font-size:23px}.team-topline{padding:4px 8px}.team-rank{font-size:8px}.team-score{padding:10px}.team-score-values>strong{font-size:42px}.team-score-values b{font-size:25px}.team-motto{display:none}.tv-layout .show-content{flex:auto;min-height:350px}.tv-layout .winner-stage{min-height:420px}.tv-layout .winning-scene .winner-art{max-height:none}.voice-settings{grid-template-columns:1fr 1fr}.voice-settings .check-field{grid-column:1/-1}
}
@media(max-width:760px){
 .tv-layout.page{display:flex;flex-direction:column;height:auto;min-height:0;padding:14px 12px}.tv-layout .ensemble-battle{grid-template-columns:1fr}.tv-team{display:grid;grid-template-columns:1fr 1fr}.team-topline{grid-column:1/-1}.team-scene{align-self:center;flex:auto;border-bottom:0}.team-score{padding:12px;gap:8px}.team-score h2{min-height:0;font-size:25px}.team-score-values>strong{font-size:39px}.team-score-values>span{font-size:11px}.tv-team .tv-meter{height:10px}.tv-question{font-size:32px}.tv-show-eyebrow{font-size:9px}.stage-live-strip{align-items:flex-start;flex-direction:column;gap:5px;font-size:12px}#stage-comment{text-align:left}.tv-layout .tv-sidebar{display:grid;grid-template-columns:1fr 1fr}.tv-layout .tv-sidebar .participation{grid-column:1/-1}.tv-layout .tv-stage-panel{min-height:0}.tv-layout .show-content{min-height:0}.tv-layout .winner-stage{display:block;flex:auto;min-height:0}.tv-layout .winning-scenes{height:auto;display:flex;flex-direction:column}.tv-layout .winning-scene{height:auto;flex:auto}.tv-layout .winning-scene .winner-art{height:auto;min-height:0;max-height:none;flex:auto}.tv-layout .winner-announcement .comic-title{font-size:30px}.tv-layout .victory-callout{display:none}.tv-layout .winning-scene figcaption{flex:auto}.tv-layout .result-bottom{flex-wrap:wrap}.voice-caption{font-size:12px}.experience-settings-heading,.experience-name,.voice-settings{display:flex;flex-direction:column;align-items:stretch;gap:18px}.voice-provider{align-self:flex-start}.question-preview{font-size:27px}.experience-save .button{width:100%}
}
@media(prefers-reduced-motion:reduce){
 .tv-question-intro,.question-person,.cast-actor,.cast-motion,.cast-head,.cast-arm,.cast-blink,.cast-instrument-note,.voice-caption-icon i,.tv-layout .winner-stage{animation:none}.cast-blink,.cast-instrument-note{display:none}.round-departing .show-content{transform:none;opacity:1}::view-transition-old(root),::view-transition-new(root){animation:none}
}
