:root{--bg: #0a0e1a;--panel: #141a2b;--ink: #f3f6ff;--accent: #E8002D;--accent2: #FFC400}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%}body{font-family:-apple-system,Segoe UI,system-ui,sans-serif;background:var(--bg);color:var(--ink);overflow:hidden;user-select:none;-webkit-user-select:none}.app{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}.big-btn{font-size:clamp(20px,5vw,28px);font-weight:900;letter-spacing:1px;color:#fff;background:linear-gradient(180deg,var(--accent),#a30020);border:none;border-radius:16px;padding:16px 40px;cursor:pointer;box-shadow:0 8px #00000059,0 0 24px #e8002d66;transition:transform .08s;text-transform:uppercase}.big-btn:active{transform:translateY(4px);box-shadow:0 4px #00000059}.ghost-btn{font-size:16px;font-weight:700;color:var(--ink);background:#ffffff14;border:2px solid rgba(255,255,255,.2);border-radius:12px;padding:12px 22px;cursor:pointer}.ghost-btn.small{padding:8px 14px;font-size:20px}.screen-h2{font-size:clamp(20px,5.5vw,30px);font-weight:900;text-align:center}.sound-toggle{position:absolute;top:calc(10px + env(safe-area-inset-top));right:12px;z-index:50;width:44px;height:44px;border-radius:50%;border:none;cursor:pointer;background:#00000073;color:#fff;font-size:20px}.title-bg,.result .title-bg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;z-index:0}.title-fade{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;background:radial-gradient(120% 80% at 50% 0%,transparent 30%,rgba(8,10,20,.65) 75%,rgba(8,10,20,.95) 100%)}.title-content{position:relative;z-index:2;text-align:center;padding:24px;display:flex;flex-direction:column;align-items:center;gap:14px}.title-logo{width:clamp(140px,42vw,230px);height:auto;margin-bottom:-6px;filter:drop-shadow(0 8px 14px rgba(0,0,0,.5));animation:pop .5s both}.title-wordmark{width:min(84vw,400px);height:auto;filter:drop-shadow(0 0 3px #fff) drop-shadow(0 0 3px #fff) drop-shadow(0 4px 5px rgba(0,0,0,.45));animation:pop .5s .08s both}.game-title{font-size:clamp(54px,17vw,130px);font-weight:900;line-height:.85;display:flex;align-items:baseline;gap:8px;filter:drop-shadow(0 6px 0 rgba(0,0,0,.4))}.t-f1{color:var(--accent);-webkit-text-stroke:3px #fff}.t-math{color:#fff;-webkit-text-stroke:3px var(--accent2);letter-spacing:-2px}.subtitle{font-size:clamp(16px,4.5vw,24px);font-weight:800;color:var(--accent2)}.pitch{font-size:clamp(14px,3.6vw,18px);line-height:1.5;max-width:460px;opacity:.92}.title-content .big-btn{margin-top:8px}.select-screen{justify-content:flex-start;padding:0 16px 16px;gap:12px;background:radial-gradient(120% 80% at 50% -10%,#1b2440,#0a0e1a 70%)}.select-head{display:flex;align-items:center;gap:12px;width:100%;max-width:760px;margin-top:calc(14px + env(safe-area-inset-top));padding-right:52px}.select-head .ghost-btn{flex:0 0 auto}.select-head .screen-h2{flex:1}.team-scroll{--cardw: min(74vw, 320px);display:flex;gap:16px;width:100%;margin-top:auto;overflow-x:auto;overflow-y:hidden;padding:52px max(16px,calc(50vw - var(--cardw) / 2)) 14px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none}.team-scroll::-webkit-scrollbar{display:none}.team-card{position:relative;border:none;cursor:pointer;border-radius:22px;flex:0 0 auto;width:var(--cardw);padding:44px 14px 16px;scroll-snap-align:center;background:linear-gradient(180deg,#1c2440,#11172a);border:2px solid rgba(255,255,255,.08);color:var(--ink);display:flex;flex-direction:column;align-items:center;gap:10px;overflow:visible;animation:pop .35s both;transition:transform .1s}.team-card:active{transform:scale(.96)}.team-card-glow{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.55;border-radius:22px;background:radial-gradient(70% 55% at 50% 25%,var(--accent),transparent 70%)}.team-card-logo{position:absolute;top:0;left:50%;transform:translate(-50%,-50%);z-index:3;height:76px;width:auto;max-width:70%;object-fit:contain;filter:drop-shadow(0 6px 14px rgba(0,0,0,.6))}.team-card-car{position:relative;height:min(42vh,200px);width:100%;object-fit:contain;z-index:1;filter:drop-shadow(0 10px 12px rgba(0,0,0,.55))}.team-card-name{position:relative;z-index:1;font-weight:900;font-size:22px;text-transform:uppercase;letter-spacing:.5px;border-bottom:4px solid var(--accent);padding-bottom:3px}.scroll-hint{color:#ffffff80;font-size:13px;font-weight:700;margin-top:2px;margin-bottom:auto}.driver-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;justify-content:center;width:100%;max-width:560px;margin-top:10px;overflow-y:auto;padding:4px}.driver-card{cursor:pointer;border-radius:20px;color:var(--ink);background:linear-gradient(180deg,#1c2440,#0d1322);border:3px solid var(--accent);overflow:hidden;padding:0;animation:pop .4s both;transition:transform .1s;box-shadow:0 10px 30px #0006}.driver-card:active{transform:scale(.97)}.driver-card-photo{width:100%;aspect-ratio:1 / 1;overflow:hidden}.driver-card-photo img{width:100%;height:100%;object-fit:cover;display:block}.driver-card-info{padding:10px 6px;display:flex;flex-direction:column;align-items:center;gap:1px;background:#00000040}.driver-flag{font-size:22px}.driver-first{font-size:13px;opacity:.8}.driver-last{font-size:clamp(15px,4.6vw,20px);font-weight:900;text-transform:uppercase}.race{justify-content:flex-start}.track-view{position:relative;flex:1;width:100%;overflow:hidden;background:#79c0ff}.road-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block}.track-scroll{position:absolute;top:-10px;right:0;bottom:-10px;left:0;background-repeat:repeat;background-size:100% 540px;image-rendering:auto}.finish-line{position:absolute;left:0;right:0;height:30px;z-index:6;transform:translateY(-50%);background:repeating-linear-gradient(90deg,#fff 0,#fff 15px,#111 15px,#111 30px);display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 3px #0000004d,0 0 18px #0006}.finish-line span{font-size:13px;font-weight:900;color:#fff;background:#000000b3;padding:2px 10px;border-radius:10px;letter-spacing:1px}.stage{position:absolute;top:0;right:0;bottom:0;left:0;z-index:4;overflow:hidden}.racer{position:absolute;width:21%;max-width:122px;z-index:5;transform:translate(-50%,-50%) rotate(var(--tilt, 0deg));transition:top .06s linear,left .12s ease-out,transform .12s ease-out}.racer.me{z-index:9;width:23%;max-width:138px}.racer-car{width:100%;display:block;filter:drop-shadow(0 8px 7px rgba(0,0,0,.55))}.racer.me .racer-car{filter:drop-shadow(0 0 12px var(--accent)) drop-shadow(0 8px 7px rgba(0,0,0,.55))}.racer-tag{position:absolute;top:-16px;left:50%;transform:translate(-50%);font-size:10px;font-weight:800;color:#fff;padding:1px 7px;border-radius:8px;white-space:nowrap;box-shadow:0 2px 4px #0006;text-shadow:0 1px 1px rgba(0,0,0,.5)}.racer.me .racer-tag{font-size:11px;outline:2px solid #fff}.speedlines{position:absolute;left:50%;top:96%;transform:translate(-50%);width:55%;height:55px;opacity:.4;pointer-events:none;z-index:-1;background:repeating-linear-gradient(180deg,rgba(255,255,255,.75) 0 2px,transparent 2px 8px);-webkit-mask-image:linear-gradient(180deg,#000,transparent);mask-image:linear-gradient(180deg,#000,transparent)}.racer.boost .speedlines{opacity:.85;height:95px}.nitro{position:absolute;left:50%;top:92%;transform:translate(-50%);width:48%;height:70px;border-radius:50%;animation:flame .2s infinite alternate;z-index:-1;background:radial-gradient(circle at 50% 0%,#fff,var(--accent2) 40%,#ff5a00 70%,transparent 78%)}@keyframes flame{0%{opacity:.8;height:50px}to{opacity:1;height:75px}}.start-lights{position:absolute;left:50%;top:16%;transform:translate(-50%);z-index:20;display:flex;gap:clamp(8px,3vw,22px);pointer-events:none;padding:clamp(10px,3vw,18px) clamp(12px,4vw,26px);background:linear-gradient(180deg,#181818,#050505);border-radius:16px;border:2px solid #000;box-shadow:0 12px 30px #0000008c,inset 0 2px 2px #ffffff14}.light-col{display:flex;flex-direction:column;gap:clamp(6px,2vw,12px)}.light-bulb{width:clamp(26px,8vw,52px);height:clamp(26px,8vw,52px);border-radius:50%;background:radial-gradient(circle at 38% 32%,#4a0d0d,#1a0303 70%);box-shadow:inset 0 2px 4px #000000b3;transition:none}.light-col.on .light-bulb{background:radial-gradient(circle at 38% 32%,#ff6a6a,#e8002d 55%,#8a0016);box-shadow:0 0 16px 4px #e8002dcc,inset 0 1px 3px #fff6;animation:lightpop .18s ease-out}@keyframes lightpop{0%{transform:scale(.6)}to{transform:scale(1)}}.countdown{position:absolute;top:0;right:0;bottom:0;left:0;z-index:20;display:flex;align-items:center;justify-content:center;font-size:28vw;font-weight:900;color:#fff;-webkit-text-stroke:4px var(--accent);text-shadow:0 10px 30px rgba(0,0,0,.6);animation:countin .85s ease-out;pointer-events:none}@keyframes countin{0%{transform:scale(2.4);opacity:0}40%{opacity:1}to{transform:scale(.8);opacity:0}}.countdown.go{color:var(--accent2);-webkit-text-stroke:4px #fff;font-size:22vw}.lap-banner{position:absolute;top:16%;left:50%;transform:translate(-50%);z-index:20;white-space:nowrap;font-weight:900;font-size:clamp(22px,7vw,46px);color:#fff;letter-spacing:1px;text-transform:uppercase;-webkit-text-stroke:2px var(--accent2);text-shadow:0 4px 0 rgba(0,0,0,.45),0 0 26px rgba(255,196,0,.6);pointer-events:none;animation:lapBan 1.9s ease-out both}@keyframes lapBan{0%{transform:translate(-50%) scale(.4);opacity:0}15%{transform:translate(-50%) scale(1.05);opacity:1}80%{transform:translate(-50%) scale(1);opacity:1}to{transform:translate(-50%) scale(1);opacity:0}}.race.boost .track-view:after,.race.slow .track-view:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:10;pointer-events:none}.race.boost .track-view:after{box-shadow:inset 0 0 80px 20px #ffc40080}.race.slow .track-view:after{box-shadow:inset 0 0 80px 20px #ff28288c}.race-hud{position:relative;z-index:12;width:100%;display:flex;align-items:center;gap:10px;padding:8px 12px;background:linear-gradient(180deg,rgba(0,0,0,.55),transparent);position:absolute;top:0;left:0}.pos-badge{display:flex;align-items:baseline;gap:2px;background:#00000080;padding:4px 12px;border-radius:12px;border:2px solid var(--accent)}.pos-p{font-size:16px;font-weight:800;opacity:.8}.pos-n{font-size:30px;font-weight:900;color:var(--accent2);line-height:1}.pos-tot{font-size:13px;opacity:.7}.hud-mid{display:flex;flex-direction:column;align-items:flex-start;gap:2px;margin-left:4px}.hud-flag{font-size:18px}.hud-name{font-size:16px;font-weight:900;text-transform:uppercase}.hud-team{font-size:13px;font-weight:700}.hud-lap{font-size:13px;font-weight:900;letter-spacing:.5px;color:#ffd54a}.question-zone{position:relative;z-index:12;width:100%;max-width:620px;padding:12px 14px calc(14px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:12px;background:linear-gradient(180deg,transparent,#0a0e1a 22%)}.question-card{display:flex;align-items:center;justify-content:center;gap:10px;font-weight:900;background:var(--panel);border-radius:16px;padding:12px;border:2px solid rgba(255,255,255,.1);animation:pop .25s}.q-num{font-size:clamp(34px,9vw,50px);color:#fff}.q-op,.q-eq{font-size:clamp(28px,7vw,42px);color:var(--accent2)}.q-mark{font-size:clamp(34px,9vw,50px);color:var(--accent)}.choices{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.choice{font-size:clamp(26px,8vw,40px);font-weight:900;color:#fff;cursor:pointer;background:linear-gradient(180deg,#243056,#18213c);border:2px solid rgba(255,255,255,.14);border-radius:14px;padding:14px 0;transition:transform .08s;box-shadow:0 4px #00000059}.choice:active{transform:translateY(3px);box-shadow:0 1px #00000059}.choice:disabled{cursor:default}.choice.right{background:linear-gradient(180deg,#19c463,#0c8a42);border-color:#6dffa8}.choice.wrong{background:linear-gradient(180deg,#e23a3a,#9c1f1f);border-color:#ff9a9a}.choice.show{background:linear-gradient(180deg,#1f8f4d,#0c5d31)}.result-stage{justify-content:center;gap:4px;padding:calc(10px + env(safe-area-inset-top)) 14px calc(10px + env(safe-area-inset-bottom))}.rs-bg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;z-index:0;opacity:.85}.rs-vignette{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;background:radial-gradient(120% 75% at 50% 8%,transparent 32%,rgba(5,8,18,.55) 72%,rgba(5,8,18,.95) 100%)}.rs-head{position:relative;z-index:3;text-align:center;flex:0 0 auto;padding:0 8px}.rs-head h1{font-size:clamp(28px,6.5vw,54px);font-weight:900;letter-spacing:1px;line-height:1;text-shadow:0 3px 0 rgba(0,0,0,.35),0 0 26px rgba(246,191,42,.45)}.rs-head h1.win{color:var(--accent2, #FFC400)}.rs-head p{margin-top:5px;font-size:clamp(12px,2.6vw,18px);font-weight:700;opacity:.95}.rs-podium{position:relative;z-index:3;flex:0 0 auto;width:100%;max-width:1100px;display:flex;align-items:flex-end;justify-content:center;gap:clamp(4px,1.4vw,26px);margin:6px 0 4px}.rs-spot{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;flex:1 1 0;max-width:34%}.rs-figwrap{position:relative;display:flex;align-items:flex-end;justify-content:center;line-height:0}.rs-fig{position:relative;z-index:1;width:auto;max-width:100%;display:block;object-fit:contain;filter:drop-shadow(0 12px 14px rgba(0,0,0,.5));animation:rise .6s cubic-bezier(.2,.9,.3,1.2) both}.rs-spot.s1 .rs-fig{height:clamp(150px,44vh,540px);filter:drop-shadow(0 16px 18px rgba(0,0,0,.55)) drop-shadow(0 0 28px rgba(246,191,42,.45))}.rs-spot.s2 .rs-fig,.rs-spot.s3 .rs-fig{height:clamp(122px,36vh,450px)}.rs-trophy{position:absolute;bottom:1%;left:50%;transform:translate(-50%);width:clamp(40px,10vw,80px);z-index:4;filter:drop-shadow(0 6px 8px rgba(0,0,0,.55));animation:trophyPop .5s .25s both}.rs-spotlight{position:absolute;left:50%;bottom:6%;transform:translate(-50%);width:150%;height:90%;z-index:0;pointer-events:none;background:radial-gradient(55% 65% at 50% 75%,rgba(255,225,120,.4),transparent 70%)}.rs-logo{position:relative;z-index:3;width:clamp(28px,5.4vw,50px);height:clamp(24px,4.6vw,42px);object-fit:contain;margin-bottom:-2px;filter:drop-shadow(0 2px 5px rgba(0,0,0,.6));animation:rise .6s .1s both}.rs-step{position:relative;z-index:2;width:100%;margin-top:2px;border-radius:10px 10px 4px 4px;box-shadow:0 16px 26px #00000080,inset 0 2px #fff9;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;padding:4px;border:1px solid rgba(255,255,255,.3)}.rs-step:before{content:"";position:absolute;inset:0 0 auto 0;height:30%;border-radius:10px 10px 0 0;background:linear-gradient(180deg,#fff9,#fff0)}.rs-spot.s1 .rs-step{min-height:clamp(84px,12.5vh,146px);background:linear-gradient(180deg,#fff1a8,#f6bf2a 55%,#b8810a)}.rs-spot.s2 .rs-step{min-height:clamp(70px,10.5vh,118px);background:linear-gradient(180deg,#f4f8fb,#c4cfd9 55%,#8b97a3)}.rs-spot.s3 .rs-step{min-height:clamp(62px,9.5vh,104px);background:linear-gradient(180deg,#f3c393,#cf843e 55%,#8a4f1e)}.rs-rank{position:relative;font-size:clamp(24px,5.4vw,50px);font-weight:900;color:#1a1206;line-height:.92;text-shadow:0 2px 0 rgba(255,255,255,.45)}.rs-spot.s2 .rs-rank,.rs-spot.s3 .rs-rank{font-size:clamp(22px,4.6vw,40px)}.rs-who{position:relative;font-size:clamp(10px,2.1vw,18px);font-weight:900;color:#1a1206;text-transform:uppercase;white-space:nowrap;display:flex;align-items:center;gap:5px;line-height:1.1}.rs-who .rs-flag{font-size:1.25em}.rs-spot.me .rs-step{outline:3px solid #fff;outline-offset:-3px}.rs-board{position:relative;z-index:3;width:100%;max-width:760px;flex:0 0 auto;display:grid;grid-template-columns:repeat(2,1fr);gap:6px;margin:6px 0}.rs-line{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:9px;background:#ffffff14;border-left:4px solid var(--accent, #888)}.rs-line.me{background:#fff3;outline:2px solid #fff}.rs-p{font-size:14px;font-weight:900;color:#ffd54a;width:22px}.rs-fl{font-size:16px}.rs-logo-sm{width:22px;height:18px;object-fit:contain;flex:0 0 auto;filter:drop-shadow(0 1px 2px rgba(0,0,0,.6))}.rs-nm{font-size:14px;font-weight:800;text-transform:uppercase;flex:1;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rs-you{font-size:10px;font-weight:900;background:#fff;color:#111;padding:1px 6px;border-radius:6px}.rs-actions{position:relative;z-index:3;flex:0 0 auto;display:flex;gap:12px;align-items:center;margin-top:2px}.rs-btn{font-weight:900;border:none;border-radius:14px;cursor:pointer;text-transform:uppercase;transition:transform .08s}.rs-btn:active{transform:translateY(3px)}.rs-btn.primary{font-size:clamp(17px,3.6vw,24px);color:#fff;padding:14px 32px;letter-spacing:1px;background:linear-gradient(180deg,#e8002d,#a30020);box-shadow:0 7px #00000059,0 0 24px #e8002d73}.rs-btn.ghost{font-size:13px;color:#fff;padding:13px 18px;background:#ffffff1a;border:2px solid rgba(255,255,255,.25)}.rs-confetti{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;overflow:hidden;pointer-events:none}.rs-confetti i{position:absolute;top:-14px;width:10px;height:15px;border-radius:2px;animation:fall 2.6s linear infinite}@media(min-width:700px){.rs-board{grid-template-columns:repeat(4,1fr);max-width:980px}}@keyframes rise{0%{transform:translateY(40px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes trophyPop{0%{transform:translate(-50%) scale(.5)}to{transform:translate(-50%) scale(1)}}.confetti{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none;z-index:1}.confetti span{position:absolute;top:-10px;width:9px;height:14px;border-radius:2px;animation:fall 2.4s linear infinite}@keyframes fall{to{transform:translateY(120vh) rotate(540deg)}}@keyframes pop{0%{transform:scale(.6);opacity:0}to{transform:scale(1);opacity:1}}@media(orientation:landscape)and (max-height:560px){.game-title{font-size:clamp(40px,11vw,90px)}.driver-card{flex-basis:200px}.team-scroll{--cardw: min(46vw, 280px)}.team-card-car{height:min(40vh,150px)}}
