:root{--bg:#fff8ee;--primary:#ff7a59;--accent:#ffc93c;--ink:#1f2347}*{box-sizing:border-box}html,body,#root{background:#1f2347;height:100%;margin:0;overflow:hidden}.tv{background:var(--bg);width:100vw;height:100vh;color:var(--ink);font-family:Nunito,system-ui,sans-serif;font-size:2.2vh;position:relative;overflow:hidden}.tv h1{margin:0;font-size:6vh;line-height:1.1}.lead{margin:1vh 0;font-size:3.2vh}.hint{opacity:.75;margin:.5vh 0;font-size:2.4vh}.center{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:2vh;padding:4vh;display:flex;position:absolute;inset:0}.center.low{top:40%}.guide{width:18vh;height:18vh}.guide.big{width:30vh;height:30vh}.guide.huge{width:45vh;height:45vh}.guide.corner{position:absolute;bottom:3vh;right:3vw}.wave{animation:2.4s ease-in-out infinite tv-bob}.bubble{background:#fff;border-radius:3vh;max-width:60vw;padding:2vh 3vw;font-size:3.4vh;box-shadow:0 .6vh #0000001a}.bubble p{margin:.5vh 0 0}.scene-header{z-index:2;position:absolute;top:3vh;left:4vw;right:4vw}.timer{color:var(--primary);font-size:8vh;font-weight:800;position:absolute;top:0;right:0}.overlay{z-index:20;color:#fff;background:#1f2347a6;place-items:center;font-size:10vh;font-weight:800;display:grid;position:absolute;inset:0}.overlay.countdown{background:#1f234766;font-size:30vh}.status-pill{color:#fff;z-index:30;background:#1f2347;border-radius:999px;padding:1vh 2vw;position:absolute;top:2vh;left:50%;transform:translate(-50%)}.start{z-index:40;color:#fff;cursor:pointer;background:#1f2347d9;border:none;flex-direction:column;justify-content:center;align-items:center;gap:2vh;font-size:9vh;font-weight:800;display:flex;position:absolute;inset:0}.start small{font-size:3vh;font-weight:400}.lobby{grid-template-columns:1fr 1fr;gap:4vw;padding:6vh 5vw;display:grid;position:absolute;inset:0}.lobby-left,.lobby-right{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1.5vh;display:flex}.qr{background:#fff;border-radius:2vh;padding:1vh}.qr svg{width:100%;height:100%}.room-code{letter-spacing:.4em;color:var(--primary);margin:0;font-size:9vh;font-weight:800}.chips{flex-wrap:wrap;justify-content:center;gap:1vh;max-height:40vh;margin:0;padding:0;list-style:none;display:flex;overflow:hidden}.chips li{background:#fff;border:.4vh solid #0000;border-radius:999px;padding:.8vh 1.6vw;font-weight:700}.team-rojo{border-color:#e63946!important}.team-azul{border-color:#457b9d!important}.team-verde{border-color:#2a9d8f!important}.team-amarillo{border-color:#e9c46a!important}.stage{position:absolute;inset:0}.stage-swim{background:linear-gradient(#bfe8f7,#6cc4f0)}.stage-run{background:linear-gradient(#bfe8f7 60%,#8fd18b 60%)}.stage-dance{background:radial-gradient(circle at 50% 30%,#c9c2ff,#1f2347)}.creature{text-align:center;transform-origin:50% 90%;width:20vh;margin:0;animation-timing-function:ease-in-out;animation-iteration-count:infinite;position:absolute}.creature img{filter:drop-shadow(0 .6vh .4vh #00000040);width:100%;height:auto}.creature figcaption{background:#ffffffd9;border-radius:999px;padding:.2vh 1vw;font-size:2.6vh;font-weight:800;display:inline-block}.motion-run{animation-name:tv-run}.motion-swim{animation-name:tv-swim}.motion-dance{animation-name:tv-dance}.creature.appear img{animation:1.2s ease-out tv-appear}@keyframes tv-run{0%,to{transform:translate(0)translateY(0)rotate(-3deg)}25%{transform:translateX(calc(var(--travel) * .5)) translateY(-3vh) rotate(3deg)}50%{transform:translateX(var(--travel)) translateY(0) rotate(-3deg)}75%{transform:translateX(calc(var(--travel) * .5)) translateY(-3vh) scaleX(-1)}}@keyframes tv-swim{0%,to{transform:translate(0)rotate(-4deg)}50%{transform:translate(var(--travel), -4vh) rotate(4deg)}}@keyframes tv-dance{0%,to{transform:rotate(-10deg)scale(1)}25%{transform:translateY(-4vh)rotate(0)scale(1.05)}50%{transform:rotate(10deg)scale(1)}75%{transform:translateY(-2vh)rotate(0)scale(.97,1.05)}}@keyframes tv-appear{0%{filter:brightness(3);transform:scale(0)rotate(-30deg)}60%{transform:scale(1.3)rotate(8deg)}to{transform:scale(1)}}@keyframes tv-bob{0%,to{transform:translateY(0)rotate(-3deg)}50%{transform:translateY(-2vh)rotate(3deg)}}.race .lanes{flex-direction:column;justify-content:space-evenly;gap:.5vh;display:flex;position:absolute;inset:20vh 4vw 4vh}.lane{flex:1;align-items:center;gap:1vw;max-height:10vh;display:flex}.lane-name{text-align:right;width:14vw;font-size:2.6vh;font-weight:800}.track{background:linear-gradient(90deg, transparent 96%, var(--accent) 96%);border-bottom:.4vh dashed #0003;flex:1;height:100%;position:relative}.runner{height:100%;max-height:9vh;transition:left .15s linear;animation:.5s ease-in-out infinite tv-bob;position:absolute;bottom:0}.podium{text-align:center;padding:4vh 5vw;position:absolute;inset:0}.podium ol{flex-wrap:wrap;justify-content:center;gap:2vh 2vw;margin:3vh 0 0;padding:0;list-style:none;display:flex}.podium li{background:#fff;border-radius:2vh;flex-direction:column;align-items:center;gap:.5vh;width:16vw;padding:1.5vh 1.5vw;display:flex}.podium li img{height:12vh}.podium .place-1{outline:.6vh solid #ffc93c;transform:scale(1.1)}.podium .name{font-size:3vh;font-weight:800}.podium .prize{color:var(--primary);font-weight:700}.trivia{grid-template-columns:1fr 26vw;gap:3vw;padding:5vh 4vw;display:grid;position:absolute;inset:0}.trivia-main{flex-direction:column;justify-content:center;gap:2vh;display:flex}.options{grid-template-columns:1fr 1fr;gap:2vh;margin:0;padding:0;list-style:none;display:grid}.options li{color:#fff;border-radius:2vh;padding:3vh 2vw;font-size:4vh;font-weight:800;transition:opacity .3s,transform .3s}.option-0{background:#e63946}.option-1{background:#457b9d}.option-2{background:#2a9d8f}.option-3{background:#e76f51}.options .correct{outline:.8vh solid #ffc93c;transform:scale(1.05)}.options .wrong{opacity:.35}.timebar{background:#0000001a;border-radius:999px;height:2vh;overflow:hidden}.timebar span{background:var(--primary);height:100%;transition:width .2s linear;display:block}.scores{background:#fff;border-radius:3vh;align-self:center;padding:3vh 2vw}.scores h2{margin:0 0 2vh;font-size:4vh}.scores ol{gap:1.2vh;margin:0;padding-left:2vw;font-size:3vh;display:grid}.scores li{justify-content:space-between;gap:1vw;display:flex}.photo-wall{grid-template-columns:repeat(6,1fr);align-content:start;gap:1.5vh;display:grid;position:absolute;inset:18vh 3vw 3vh;overflow:hidden}.photo-wall img{aspect-ratio:1;object-fit:cover;border:.8vh solid #fff;border-radius:1.5vh;width:100%;animation:6s ease-in-out infinite tv-bob;box-shadow:0 .8vh 1.6vh #0003}.stage-hang{background:repeating-linear-gradient(90deg,#00000008 0 2px,#0000 2px 80px),linear-gradient(#f3e6d3 78%,#8b5e3c 78%)}.stage-hang .creature img{background:#fff;border:1.6vh solid #d4a537;outline:.4vh solid #8b6914}.stage-sway{background:linear-gradient(#cdeffd 55%,#8fd18b 55%,#6aa96a)}.stage-fly{background:radial-gradient(circle at 20% 30%,#fff 0 2px,#0000 3px),radial-gradient(circle at 70% 20%,#fff 0 1.5px,#0000 2.5px),radial-gradient(circle at 45% 70%,#fff 0 2px,#0000 3px),radial-gradient(circle at 85% 80%,#ffc93c 0 3px,#0000 4px),linear-gradient(#0b1033,#1f2347)}.stage-fly figcaption{background:#ffffffe6}.motion-hang{transform-origin:50% 0;animation-name:tv-hang}.motion-sway{transform-origin:50% 100%;animation-name:tv-sway}.motion-fly{animation-name:tv-fly}@keyframes tv-hang{0%,to{transform:rotate(-2deg)}50%{transform:rotate(2deg)}}@keyframes tv-sway{0%,to{transform:rotate(-6deg)scale(1)}50%{transform:rotate(6deg)scale(1.03,.97)}}@keyframes tv-fly{0%,to{transform:translate(0)rotate(-8deg)}50%{transform:translate(var(--travel), -6vh) rotate(8deg)}}
