.race-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;flex-direction:column;background:#0a0a0a;color:#f5f5f5;font-family:system-ui,-apple-system,sans-serif}.race-header{display:flex;align-items:center;justify-content:space-between;padding:10px 18px;background:#0a0803;border-bottom:1px solid rgba(255,255,255,.08);flex-shrink:0}.race-header-left{display:flex;align-items:center;gap:10px}.race-header-sprite{height:32px;image-rendering:pixelated}.race-header-title{font-weight:700;color:#d4a030}.race-header-timer{font-size:1.4rem;font-weight:900;font-variant-numeric:tabular-nums}.race-header-timer.countdown-warning{color:#ff6b6b;animation:pulse 1s infinite}.race-header-right{display:flex;align-items:center;gap:14px}.race-header-finish{font-size:.85rem;color:#9a9a9a}.race-fullscreen-btn{background:transparent;border:1px solid rgba(255,255,255,.2);color:#f5f5f5;padding:6px 12px;border-radius:8px;font-size:.8rem;cursor:pointer}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.track-world{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.world-sky{position:relative;flex-shrink:0;height:88px;overflow:hidden}.world-run{flex:1;min-height:0;display:flex;overflow-x:hidden;overflow-y:auto}.name-rail{flex-shrink:0;display:flex;flex-direction:column;background:#0a0803;z-index:6}.world-surface{flex:1;position:relative;overflow:hidden;min-width:0;display:flex;flex-direction:column}.world-bank{position:absolute;top:0;left:0;right:0;height:10px;z-index:1;pointer-events:none}.surface-layers{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;z-index:0}.surface-base,.surface-scroll,.surface-detail{position:absolute;top:0;right:0;bottom:0;left:0}.surface-scroll,.surface-detail{background-repeat:repeat}.surface-ambience{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;overflow:hidden}.racer-slots{position:relative;z-index:2;flex:1;display:flex;flex-direction:column;min-height:0}.racer-slot{position:relative;flex:1;min-height:60px;border-bottom:1px solid var(--lane-line, rgba(255,255,255,.12))}.racer-slot:last-child{border-bottom:none}.lane-number{position:absolute;left:16px;top:50%;transform:translateY(-50%);font-weight:900;font-size:clamp(1.1rem,4vh,2.2rem);line-height:1;pointer-events:none;z-index:1;-webkit-user-select:none;user-select:none}.start-flag{position:absolute;left:3%;top:0;bottom:0;width:26px;transform:skew(-22deg);z-index:2;box-shadow:0 0 0 2px #00000040;pointer-events:none}.finish-flag{position:absolute;right:0;top:0;bottom:0;width:22px;z-index:4;pointer-events:none}.lane-nameplate{width:92px;flex:1;min-height:60px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:.25rem;border-right:3px solid;background:#0a0803;z-index:6}.place-badge{font-size:.75rem;min-height:1rem}.racer-name{font-family:Courier New,monospace;font-size:.65rem;color:#0a0500;background:#d4a030;padding:.1rem .3rem;border-radius:3px;max-width:82px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center}@keyframes scrollScene{0%{background-position:0 0}to{background-position:var(--scroll-shift, -200px) 0}}.scene-sun{position:absolute;top:10px;left:28px;width:48px;height:48px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#fff7b0,#ffd54a 55%,#f5a623);box-shadow:0 0 24px #ffd54ab3;z-index:1}.scene-hills{position:absolute;left:0;right:0;bottom:0;height:70%;z-index:1;pointer-events:none;overflow:hidden}.hill{position:absolute;bottom:0;border-radius:50% 50% 0 0;background:#3d8a32}.hill-a{left:-4%;width:28%;height:90%;background:#2f7a28}.hill-b{left:18%;width:34%;height:110%;background:#3d8a32}.hill-c{left:46%;width:30%;height:80%;background:#2a6b24}.hill-d{left:72%;width:36%;height:100%;background:#34802c}.scene-fx{position:absolute;display:block;pointer-events:none}.scene-fx-bubbles{width:7px;height:7px;border:1px solid rgba(255,220,150,.45);border-radius:50%;animation-name:bubbleRise;animation-timing-function:linear;animation-iteration-count:infinite}.scene-fx-ripples{width:16px;height:6px;border:1px solid rgba(180,230,255,.45);border-radius:50%;animation-name:rippleExpand;animation-timing-function:ease-out;animation-iteration-count:infinite}.scene-fx-dust{width:12px;height:4px;background:#b48c4673;border-radius:50%;filter:blur(1px);animation-name:dustDrift;animation-timing-function:linear;animation-iteration-count:infinite}.scene-fx-lights{width:48px;height:3px;background:linear-gradient(90deg,transparent,rgba(255,220,120,.7),transparent);animation-name:headlightSweep;animation-timing-function:linear;animation-iteration-count:infinite}.scene-fx-stars{width:3px;height:3px;background:#fff;border-radius:50%;box-shadow:0 0 6px #fff;animation-name:twinkle;animation-iteration-count:infinite}.scene-fx-leaves{width:8px;height:10px;background:#3d8c2a;border-radius:0 70%;animation-name:leafSway;animation-timing-function:linear;animation-iteration-count:infinite}@keyframes bubbleRise{0%{transform:translateY(20%) scale(.6);opacity:0}20%{opacity:.55}to{transform:translateY(-140%) scale(1);opacity:0}}@keyframes rippleExpand{0%{transform:scaleX(.4);opacity:.5}to{transform:scaleX(1.8);opacity:0}}@keyframes dustDrift{0%{transform:translate(0) translateY(0);opacity:.45}to{transform:translate(-90px) translateY(-10px);opacity:0}}@keyframes headlightSweep{0%{opacity:0;transform:translate(30px)}25%{opacity:.7}to{opacity:0;transform:translate(-140px)}}@keyframes twinkle{0%,to{opacity:.25;transform:scale(.8)}50%{opacity:1;transform:scale(1.3)}}@keyframes leafSway{0%{transform:translate(0) rotate(0);opacity:.7}to{transform:translate(-50px) rotate(-40deg);opacity:0}}.racer-sprite-img{position:absolute;top:50%;height:78%;max-height:180px;width:auto;image-rendering:pixelated;z-index:3;transition:filter .2s;-webkit-user-select:none;user-select:none;pointer-events:none}.racer-sprite-img.is-surging{filter:drop-shadow(0 0 8px rgba(255,255,255,.65))}.racer-wake-trail{position:absolute;top:50%;transform:translateY(-50%) skew(-18deg);width:16%;height:42%;border-radius:40% 8px 8px 40%;opacity:.55;z-index:2}.live-race-panel{height:140px;background:#000000b3;border-top:1px solid rgba(255,255,255,.08);flex-shrink:0;display:flex;flex-direction:column;padding:8px 16px;gap:6px;overflow:hidden;z-index:20}.live-event-bar{display:flex;gap:24px;font-size:.8rem;color:#6a7a5a;padding-bottom:6px;border-bottom:1px solid rgba(255,255,255,.06);flex-shrink:0}.live-leading{color:#d4a030}.live-surging{color:#4ecdc4}.live-slowing{color:#ff6b6b}.live-steady{opacity:.4}.live-progress-list{display:flex;flex-direction:column;gap:4px;overflow:hidden;flex:1}.live-progress-row{display:flex;align-items:center;gap:8px;font-size:.75rem}.live-progress-name{width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700;flex-shrink:0}.live-progress-name.is-finished{color:#d4a030}.live-progress-track{flex:1;height:8px;background:#ffffff14;border-radius:4px;overflow:hidden}.live-progress-fill{height:100%;border-radius:4px;transition:width .1s linear}.live-progress-pct{width:36px;text-align:right;color:#4a5a4a;font-size:.7rem;flex-shrink:0}.race-countdown-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1100;display:flex;align-items:center;justify-content:center;background:#0a0a0a}.countdown-number{font-size:12rem;font-weight:900;color:#d4a030;animation:countPop .9s ease-out}.countdown-number.countdown-go{color:#4ecdc4}@keyframes countPop{0%{transform:scale(.3);opacity:0}60%{transform:scale(1.15);opacity:1}to{transform:scale(1)}}
