:root{--accent:#facc15;--accent-2:#f97316;--bg:#0b1220;--bg-panel:#0f172a;--text:#e5e7eb;--muted:#94a3b8;--border:#1f2937;--success:#22c55e;--danger:#ef4444}.display-none{display:none !important}.display-block{display:block !important}:root{--bg-dark:#0f1115;--panel-bg:#161b22;--accent:#f59e0b;--text-main:#e2e8f0;--text-sub:#94a3b8;--green:#22c55e;--red:#ef4444}*{box-sizing:border-box}body{margin:0;background:var(--bg-dark);color:var(--text-main);font-family:'Segoe UI',sans-serif;height:100vh;display:flex;flex-direction:column;overflow:hidden;user-select:none;position:relative}body::before{content:"";position:fixed;inset:0;background-image:url('/images/menu-car-bg.png');background-size:cover;background-position:center;background-repeat:no-repeat;opacity:1;pointer-events:none;z-index:50}body.racing{background:var(--bg-dark)}body.racing::before{opacity:0}body.racing header{transition:transform 0.25s ease,height 0.25s ease,padding 0.25s ease,border-bottom-width 0.25s ease}body.racing.header-collapsed header{display:none}body.racing.header-collapsed main{padding-top:6px}.header-toggle{position:fixed;top:4px;right:10px;z-index:30;background:#020617;border:1px solid #334155;color:#e5e7eb;border-radius:999px;padding:3px 8px;font-size:0.7rem;cursor:pointer;display:none}body.racing .header-toggle{display:inline-flex;align-items:center;justify-content:center;animation:headerTogglePulse 1.15s ease-in-out infinite}@keyframes headerTogglePulse{0%,100%{border-color:#f97316;box-shadow:0 0 0 rgba(249,115,22,0);transform:translateZ(0) scale(1)}50%{border-color:#fb923c;box-shadow:0 0 0 4px rgba(249,115,22,0.16),0 0 18px rgba(249,115,22,0.42);transform:translateZ(0) scale(1.06)}}.modal-overlay{position:absolute;inset:0;background:rgba(0,0,0,0.85);backdrop-filter:blur(5px);z-index:1000;display:flex;align-items:center;justify-content:center}.modal-panel{background:#1e293b;width:400px;padding:30px;border-radius:10px;border:1px solid #334155;box-shadow:0 20px 50px rgba(0,0,0,0.7);position:relative;text-align:center;animation:slideIn 0.3s ease}.modal-panel.wide{width:700px;max-width:95%;text-align:left}@media (max-width:1024px) and (orientation:landscape){#matchmaking-lobby .modal-panel.wide{max-height:90vh;overflow-y:auto}}@keyframes slideIn{from{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-title{margin:0 0 20px 0;color:var(--accent);font-weight:900}.close-modal{position:absolute;top:10px;right:15px;background:none;border:none;color:#64748b;font-size:1.2rem;cursor:pointer}.close-modal:hover{color:#fff}.auth-input{width:100%;padding:12px;margin-bottom:10px;background:#0f172a;border:1px solid #334155;color:#fff;border-radius:5px}.auth-input:focus{border-color:var(--accent);outline:none}.link-text{font-size:0.8rem;color:var(--text-sub);cursor:pointer;text-decoration:underline;margin-top:10px}.link-text:hover{color:var(--accent)}.dashboard-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #334155;padding-bottom:15px;margin-bottom:20px}.player-stats{display:flex;gap:15px;align-items:center}.stat-badge{background:#0f172a;padding:5px 10px;border-radius:4px;font-family:monospace;font-size:1rem}.stat-badge.money{color:#ffd700;border:1px solid rgba(255,215,0,0.3);text-shadow:0 0 10px rgba(255,215,0,0.4);font-weight:bold;letter-spacing:1px;display:inline-flex;align-items:center;gap:6px}.garage-grid{display:flex;gap:20px}.garage-col{flex:1;background:#0f172a;padding:15px;border-radius:8px;border:1px solid #334155}.garage-col h3{margin-top:0;color:var(--text-sub);font-size:0.9rem;text-transform:uppercase}.upgrade-item{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid #1e293b}.up-info{display:flex;flex-direction:column}.up-info span{font-weight:600;font-size:0.9rem}.up-info small{color:#64748b;font-size:0.75rem}.career-btn{background:linear-gradient(45deg,#f59e0b,#d97706);box-shadow:0 4px 15px rgba(245,158,11,0.3);border:none;color:#fff;padding:10px 20px;font-size:1rem;border-radius:5px;font-weight:700;cursor:pointer;transition:all 0.1s}.car-preview-box{height:100px;display:flex;align-items:center;justify-content:center;background:#1e293b;margin-top:10px;border-radius:5px}#preview-car{width:44px;height:24px;background:var(--accent);border-radius:2px;position:relative}#preview-car::before{content:'';position:absolute;top:4px;left:16px;width:16px;height:16px;background:#0f172a}#setup-menu{position:absolute;inset:0;background:#000;z-index:900;display:flex;justify-content:center;align-items:center}.bg-ready #setup-menu{animation:setupMenuFade 2s ease forwards}@keyframes setupMenuFade{from{background:#000}to{background:rgba(0,0,0,0)}}.menu-panel{background:#1e293b;padding:30px;border-radius:10px;border:1px solid #334155;text-align:center}.menu-group{margin-bottom:20px;text-align:left}.menu-group label{display:block;margin-bottom:8px;font-size:0.9rem;color:var(--text-sub);font-weight:600}.menu-group input[type="range"]{width:100%;cursor:pointer}.track-options{display:flex;gap:10px}.track-card{flex:1;background:#0f172a;border:2px solid #334155;border-radius:8px;padding:15px;cursor:pointer;transition:all 0.2s;text-align:center}.track-card:hover{border-color:#64748b}.track-card.selected{border-color:var(--accent);background:rgba(245,158,11,0.1)}.t-icon{font-size:1.5rem;margin-bottom:5px}.big-btn{width:100%;padding:15px;font-size:1.2rem;margin-top:10px}.test-match-btn{background:#0f172a;color:#e5e7eb;margin-bottom:20px;border:1px dashed #475569;font-size:0.9rem;margin-top:10px}header{height:50px;background:var(--panel-bg);display:flex;align-items:center;justify-content:space-between;padding:0 20px;border-bottom:1px solid #334155;z-index:20}.header-title{font-weight:900;font-size:1rem;letter-spacing:0.5px}.header-controls{display:flex;gap:10px}main{flex:1;display:flex;padding:10px;gap:10px;position:relative}#game-area{flex:1;background:#16a34a;border-radius:8px;position:relative;overflow:hidden;box-shadow:inset 0 0 80px rgba(0,0,0,0.6);border:1px solid #334155}.perf-overlay{position:fixed;top:12px;right:12px;background:rgba(2,6,23,0.72);border:1px solid rgba(148,163,184,0.4);border-radius:10px;padding:10px 12px;color:#e5e7eb;font-family:'Segoe UI',sans-serif;font-size:12px;letter-spacing:0.3px;box-shadow:0 10px 35px rgba(0,0,0,0.45);z-index:1200;display:grid;gap:6px;min-width:96px;text-align:right;pointer-events:none}.perf-line{display:flex;align-items:center;justify-content:space-between;gap:8px}.perf-line span{color:#94a3b8;font-weight:600;font-size:11px;text-transform:uppercase}.perf-line b{color:#f8fafc;font-size:14px;font-weight:800}body:not(.racing) #game-area{background:transparent}#weather-image-overlay{position:fixed;inset:0;pointer-events:none;z-index:60;opacity:0;transition:opacity 0.35s ease}#weather-image-overlay img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 0.35s ease}#weather-image-overlay.active{opacity:1}#weather-image-overlay img.active{opacity:0.075;filter:blur(2px)}#weather-image-overlay.weather-snow img.active{opacity:0.5;filter:blur(1px)}#weather-overlay-rain{opacity:0}#game-area::before,#game-area::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:30;opacity:0;transition:opacity 0.5s ease}#game-area.weather-rain::before{opacity:0;background:none;animation:none}#game-area.weather-snow::before{opacity:0;background:none;animation:none}#game-area.weather-fog::before{opacity:0.80;background:radial-gradient(circle at 10% 10%,rgba(148,163,184,0.82),transparent 60%),radial-gradient(circle at 90% 30%,rgba(148,163,184,0.98),transparent 60%),radial-gradient(circle at 40% 80%,rgba(148,163,184,0.54),transparent 60%),rgba(15,23,42,0.75);filter:none;background-size:140% 140%;animation:fogPulse 8s ease-in-out infinite alternate}#game-area.weather-rain.weather-fog::before{opacity:0.40;animation:none}#game-area.weather-sunny::before{opacity:0}#fog-overlay{display:none}#game-area.weather-fog #fog-overlay{opacity:1}#fog-overlay .fog-layer{position:absolute;inset:-15% -25%;width:150%;height:130%;background:none;filter:blur(8px);mix-blend-mode:normal;will-change:transform}#fog-overlay .fog-layer.layer1{opacity:0.92;background:radial-gradient(circle at 15% 30%,rgba(255,255,255,0.55),transparent 48%),radial-gradient(circle at 75% 60%,rgba(210,235,255,0.35),transparent 56%),rgba(20,24,35,0.12);mix-blend-mode:color;animation:fogDriftLayer1 10s ease-in-out infinite alternate}#fog-overlay .fog-layer.layer2{opacity:0.30;background:radial-gradient(circle at 30% 50%,rgb(68 74 77),transparent 52% 52%),radial-gradient(circle at 70% 35%,rgb(112 126 141 / 36%),#00000030 60%),rgba(6,22,46,0.12);mix-blend-mode:color;animation:fogDriftLayer2 14s ease-in-out infinite alternate}@keyframes fogDrift{0%{background-position:0px 0px,0px 0px,0px 0px,0px 0px}100%{background-position:20px -10px,-25px 15px,10px 20px,0px 0px}}@keyframes fogPulse{0%{opacity:0.99}100%{opacity:0.60}}@keyframes rainFall{0%{background-position:0 -40px,12px -32px,-8px -20px}100%{background-position:-16px 40px,0 24px,-20px 36px}}@keyframes snowFall{0%{background-position:0 0}100%{background-position:0 260px}}canvas{display:block;width:100%;height:100%}.vehicle-preview canvas{width:auto;height:100%}aside{width:165px;background:var(--panel-bg);border-radius:8px;padding:7px;display:flex;flex-direction:column;gap:5px;border:1px solid #334155;z-index:20}.panel-header{color:var(--accent);font-weight:bold;font-size:0.62rem;text-transform:uppercase;letter-spacing:0.5px;border-bottom:1px solid #334155;padding-bottom:3px}.racer-card{background:#0f172a;padding:4px 6px;border-radius:5px;border:1px solid #334155;display:flex;flex-direction:column;gap:1px;transition:transform 0.2s}.racer-card.player{border-color:var(--accent);background:rgba(245,158,11,0.15)}.top-info{display:flex;justify-content:space-between;font-weight:bold;font-size:0.66rem}.sub-info{font-size:0.56rem;color:var(--text-sub);display:flex;justify-content:space-between;align-items:center;margin-top:0px}.xp-badge{background:#334155;color:#fff;padding:0px 3px;border-radius:3px;font-size:0.52rem;font-family:monospace}.hp-track{width:100%;height:4px;background:#020617;margin-top:2px;border-radius:3px;overflow:hidden;border:1px solid rgba(255,255,255,0.1)}.hp-fill{height:100%}.info-box{margin-top:auto;font-size:0.56rem;color:#64748b;text-align:center;line-height:1.4}.btn{background:var(--accent);color:#000;border:none;padding:10px 20px;font-size:1rem;border-radius:5px;font-weight:700;cursor:pointer;transition:all 0.1s}.btn.sm{padding:6px 12px;font-size:0.75rem}.btn.outline{background:transparent;border:1px solid var(--accent);color:var(--accent)}.btn:hover{filter:brightness(1.1)}.btn.outline:hover{background:rgba(245,158,11,0.1)}.btn:active{transform:scale(0.95)}#countdown-layer{position:absolute;inset:0;display:flex;justify-content:center;align-items:center;pointer-events:none;z-index:50}.traffic-light{display:flex;gap:15px;background:#000;padding:15px;border-radius:40px;border:3px solid #333;opacity:0;transform:scale(0.8);transition:all 0.2s}.traffic-light.visible{opacity:1;transform:scale(1)}.traffic-light.hidden{opacity:0}.light{width:50px;height:50px;border-radius:50%;background:#333;box-shadow:inset 0 0 10px #000}.light.red.active{background:#ef4444;box-shadow:0 0 40px #ef4444}.light.yellow.active{background:#f59e0b;box-shadow:0 0 40px #f59e0b}.light.green.active{background:#22c55e;box-shadow:0 0 40px #22c55e}#go-text{position:absolute;font-size:6rem;font-weight:900;color:#22c55e;text-shadow:0 0 20px #000;opacity:0;transform:scale(0.5);transition:all 0.3s}#overlay{position:absolute;inset:0;background:rgba(0,0,0,0.85);backdrop-filter:blur(5px);display:flex;flex-direction:column;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity 0.3s}#overlay.active{opacity:1;pointer-events:all}#rotate-device-overlay{position:fixed;inset:0;background:rgba(15,23,42,0.95);display:none;align-items:center;justify-content:center;z-index:4000;padding:20px}#rotate-device-overlay.active{display:flex}.rotate-device-box{background:#0f172a;border-radius:12px;border:1px solid #334155;position:relative;padding:20px 24px;max-width:320px;width:100%;text-align:center;color:#e5e7eb;box-shadow:0 15px 40px rgba(0,0,0,0.7)}.rotate-device-icon{font-size:2.4rem;margin-bottom:8px}.rotate-device-title{font-size:1rem;font-weight:700;margin-bottom:6px;color:var(--accent)}.rotate-device-text{font-size:0.85rem;color:#cbd5f5;margin-bottom:12px}.leaderboard-container{width:90%;max-width:400px;background:rgba(15,23,42,0.95);border:1px solid #334155;border-radius:8px;padding:10px;margin-bottom:20px}.lb-row{display:flex;align-items:center;padding:10px;border-bottom:1px solid rgba(255,255,255,0.1);font-size:0.9rem}.lb-row:last-child{border-bottom:none}.lb-row.is-player{background:rgba(245,158,11,0.15);border-left:3px solid var(--accent)}.lb-pos{width:30px;font-weight:900;color:var(--text-sub)}.lb-pos.podium{color:var(--accent)}.lb-name{flex-grow:1;font-weight:600;text-align:left}.lb-dist{font-family:monospace;color:var(--text-sub);font-size:0.8rem}#mobile-ui{display:none;position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:100}@media (max-width:1024px) and (pointer:coarse){#mobile-ui{display:block}}#mobile-ui.force-show{display:block !important}#joystick-zone{position:absolute;bottom:30px;right:30px;width:120px;height:120px;background:rgba(255,255,255,0.1);border:2px solid rgba(255,255,255,0.3);border-radius:50%;pointer-events:all;touch-action:none;transition:right 0.3s,left 0.3s}#mobile-ui.left-mode #joystick-zone{right:auto;left:30px}#joystick-stick{position:absolute;top:50%;left:50%;width:50px;height:50px;background:var(--accent);border-radius:50%;transform:translate(-50%,-50%);pointer-events:none;box-shadow:0 0 15px var(--accent)}.shake{animation:shake 0.4s cubic-bezier(.36,.07,.19,.97) both}@keyframes shake{10%,90%{transform:translate3d(-3px,0,0)}20%,80%{transform:translate3d(5px,0,0)}30%,50%,70%{transform:translate3d(-5px,0,0)}40%,60%{transform:translate3d(5px,0,0)}}#nitro-btn{position:absolute;bottom:40px;left:30px;width:80px;height:80px;border-radius:50%;border:4px solid #fff;background:rgba(56,189,248,0.6);color:#fff;font-weight:900;font-size:1.2rem;pointer-events:all;box-shadow:0 0 20px rgba(56,189,248,0.4);transition:all 0.3s ease;touch-action:manipulation;cursor:pointer;z-index:101}#nitro-btn:active{transform:scale(0.9);background:#0ea5e9;box-shadow:0 0 30px #0ea5e9}#mobile-ui.left-mode #nitro-btn{left:auto;right:30px;background:rgba(239,68,68,0.6);box-shadow:0 0 20px rgba(239,68,68,0.4)}#mobile-ui.left-mode #nitro-btn:active{background:#dc2626}#fire-btn{position:absolute;bottom:130px;left:95px;width:70px;height:70px;border-radius:50%;border:4px solid #fff;background:rgba(248,113,113,0.7);color:#fff;font-size:1.5rem;pointer-events:all;box-shadow:0 0 20px rgba(248,113,113,0.5);transition:all 0.2s ease;touch-action:manipulation;cursor:pointer;z-index:101}#fire-btn:active{transform:scale(0.9);background:#ef4444;box-shadow:0 0 30px rgba(248,113,113,0.9)}#mobile-ui.left-mode #fire-btn{left:auto;right:95px}#oil-btn{position:absolute;bottom:210px;left:70px;width:60px;height:60px;border-radius:50%;border:3px solid #fff;background:rgba(15,23,42,0.75);color:#fff;font-weight:800;font-size:0.9rem;letter-spacing:0.5px;pointer-events:all;box-shadow:0 0 18px rgba(15,23,42,0.45);transition:all 0.2s ease;touch-action:manipulation;cursor:pointer;z-index:101}#oil-btn:active{transform:scale(0.92);background:rgba(2,6,23,0.9);box-shadow:0 0 26px rgba(2,6,23,0.8)}#mobile-ui.left-mode #oil-btn{left:auto;right:70px}#lights-btn{position:absolute;bottom:130px;left:30px;width:55px;height:55px;border-radius:50%;border:3px solid #fff;background:rgba(100,116,139,0.6);color:#fff;font-size:1.3rem;pointer-events:all;box-shadow:0 0 15px rgba(100,116,139,0.4);transition:all 0.2s ease;touch-action:manipulation;cursor:pointer;z-index:101}#lights-btn:active,#lights-btn.active{background:rgba(250,204,21,0.8);box-shadow:0 0 25px rgba(250,204,21,0.6);border-color:#facc15}#mobile-ui.left-mode #lights-btn{left:auto;right:30px}.lobby-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;max-height:400px;overflow-y:auto;margin-bottom:20px}.lobby-slot{background:#0f172a;border:1px solid #334155;padding:15px;border-radius:8px;display:flex;align-items:center;justify-content:space-between;transition:all 0.3s}.lobby-slot.empty{opacity:0.3;border-style:dashed}.lobby-slot.me{border-color:var(--accent);background:rgba(245,158,11,0.1)}.slot-info{display:flex;align-items:center;gap:10px}.slot-color{width:12px;height:12px;border-radius:50%}.slot-name{font-weight:bold;color:#fff}.slot-status{font-size:0.8rem;font-weight:bold;color:#64748b;text-transform:uppercase}.slot-status.connected{color:#facc15;animation:blink 1s infinite}.slot-status.ready{color:#22c55e;animation:none}@keyframes blink{50%{opacity:0.5}}button:disabled{opacity:0.5;cursor:not-allowed;filter:grayscale(100%);pointer-events:none}.guest-alert{margin-top:15px;padding:10px;background:rgba(239,68,68,0.15);border:1px solid #ef4444;border-radius:6px;font-size:0.85rem;color:#fca5a5;animation:pulse 2s infinite}@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(239,68,68,0.4)}70%{box-shadow:0 0 0 10px rgba(239,68,68,0)}100%{box-shadow:0 0 0 0 rgba(239,68,68,0)}}.gold-coin{display:inline-block;width:14px;height:14px;background:radial-gradient(ellipse at center,#ffd700 0%,#d4af37 100%);border-radius:50%;border:1px solid #b8860b;box-shadow:inset 0 0 0 1px rgba(255,255,255,0.5),0 0 4px rgba(255,215,0,0.6);vertical-align:text-bottom;margin-right:4px;position:relative}.gold-coin::after{content:'';position:absolute;top:25%;left:25%;width:50%;height:50%;border-radius:50%;border:1px solid rgba(184,134,11,0.5)}.earned-money{display:inline-flex;justify-content:center;align-items:anchor-center}.modal-panel.store-panel{width:960px;max-width:95vw;background:linear-gradient(135deg,#0f172a 0%,#1e293b 100%);border:1px solid #334155;box-shadow:0 0 50px rgba(0,0,0,0.8);padding:0;display:flex;flex-direction:column;max-height:90vh;overflow-x:hidden;overflow-y:auto}.store-header{padding:20px 30px;background:rgba(0,0,0,0.3);border-bottom:1px solid rgba(255,255,255,0.1);display:flex;justify-content:space-between;align-items:center}.store-layout{display:grid;grid-template-columns:320px 1fr;height:520px}.store-left{background:rgba(0,0,0,0.2);padding:16px;border-right:1px solid rgba(255,255,255,0.05);display:flex;flex-direction:column;gap:14px}.vehicle-preview{height:90px;background:radial-gradient(circle at center,#334155 0%,#0f172a 70%);border-radius:10px;border:1px solid #475569;display:flex;align-items:center;justify-content:center;position:relative;box-shadow:inset 0 0 20px #000}.stats-container{background:#0f172a;padding:12px;border-radius:8px;border:1px solid #334155}.stat-row{margin-bottom:12px}.stat-label{display:flex;justify-content:space-between;color:#94a3b8;font-size:0.8rem;margin-bottom:4px;text-transform:uppercase;font-weight:bold}.progress-bg{height:8px;background:#1e293b;border-radius:4px;overflow:hidden;position:relative}.bar-current{height:100%;background:linear-gradient(90deg,#3b82f6,#2563eb);width:0%;transition:width 0.3s ease;position:absolute;top:0;left:0;z-index:2}.bar-preview{height:100%;background:#22c55e;width:0%;position:absolute;top:0;left:0;opacity:0.6;z-index:1;animation:pulseBar 1s infinite}@keyframes pulseBar{0%{opacity:0.4}50%{opacity:0.8}100%{opacity:0.4}}.store-right{padding:16px;overflow-y:auto}.tabs{display:flex;gap:8px;margin-bottom:14px;border-bottom:2px solid #334155}.tab-btn{background:none;border:none;color:#64748b;padding:10px 20px;font-size:1rem;font-weight:bold;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;transition:all 0.3s}.tab-btn:hover{color:#fff}.tab-btn.active{color:var(--accent);border-bottom-color:var(--accent)}.shop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px}.item-card{background:#1e293b;border:1px solid #334155;border-radius:6px;padding:10px;cursor:pointer;transition:all 0.2s;position:relative;display:flex;flex-direction:column;align-items:center;text-align:center}.item-card:hover{transform:translateY(-3px);border-color:var(--accent);box-shadow:0 5px 15px rgba(0,0,0,0.3)}.item-card.locked{opacity:0.6;filter:grayscale(0.8);cursor:not-allowed;border-color:#ef4444}.item-card.locked:hover{transform:none;box-shadow:none}.item-icon{font-size:1.4rem;margin-bottom:6px}.item-name{font-weight:bold;color:#fff;margin-bottom:5px}.item-level{font-size:0.75rem;color:#94a3b8;margin-bottom:10px}.item-price{background:#0f172a;padding:4px 8px;border-radius:14px;color:#ffd700;font-weight:bold;display:flex;align-items:center;gap:4px}.item-card.locked .item-price{color:#ef4444}.color-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:4px}.color-swatch{width:18px;height:18px;border-radius:50%;cursor:pointer;border:2px solid transparent;transition:transform 0.2s;justify-self:center}.color-swatch:hover{transform:scale(1.2);border-color:#fff}.color-swatch.active{border-color:var(--accent);box-shadow:0 0 10px var(--accent)}#setup-menu{display:flex;justify-content:center;align-items:center;padding:20px}.menu-layout-wrapper{display:flex;flex-direction:row;align-items:stretch;max-width:850px;width:100%;height:85%;padding:5px;position:absolute;opacity:0.98}@media (max-height:550px){.menu-layout-wrapper{height:auto;max-height:90vh;overflow-y:auto}.side-settings-panel{top:auto !important;transform:none !important}.side-leaderboard-panel{margin-top:0 !important;transform:none !important}}.side-settings-panel{width:200px;background:#1e293b;padding:15px;display:flex;flex-direction:column;flex-shrink:0;height:90%;box-shadow:inset -1px 0px 0px 2px #0b111f70;position:relative;z-index:20;top:50%;transform:translateY(-50%);border-radius:12px 0 0 12px}.side-settings-panel .settings-content{flex:1;overflow-y:auto;overflow-x:hidden}.side-settings-panel .settings-content::-webkit-scrollbar{width:4px}.side-settings-panel .settings-content::-webkit-scrollbar-track{background:#0f172a;border-radius:2px}.side-settings-panel .settings-content::-webkit-scrollbar-thumb{background:#334155;border-radius:2px}.side-title{color:#94a3b8;font-size:0.75rem;font-weight:800;margin-top:0;margin-bottom:10px;text-transform:uppercase;letter-spacing:1px}.config-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.config-icon{font-size:1rem;filter:grayscale(0.3)}.side-settings-panel .menu-group{margin-bottom:10px}.side-settings-panel .menu-group label{font-size:0.7rem;color:#94a3b8;margin-bottom:4px;display:block}.side-settings-panel input[type="range"]{width:100%;height:4px;-webkit-appearance:none;appearance:none;background:#0f172a;border-radius:2px;outline:none}.side-settings-panel input[type="range"]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:14px;height:14px;background:var(--accent);border-radius:50%;cursor:pointer}.side-settings-panel .track-options.vertical{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}.side-settings-panel .track-card{padding:4px 4px;background:#0f172a;border-radius:6px;font-size:0.7rem;border:1px solid transparent;transition:all 0.2s;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;text-align:center}.side-settings-panel .track-card:hover{background:#334155;border-color:#facc15}.side-settings-panel .track-card.selected{border-color:var(--accent);background:rgba(245,158,11,0.18) !important}.side-settings-panel .track-card .t-icon{font-size:0.9rem}.side-settings-panel .track-card span{font-size:0.65rem}.side-settings-panel .track-card canvas.track-mini{width:26px;height:16px}.side-settings-panel .pole-checkbox-wrapper{font-size:0.75rem}.side-settings-panel .pole-checkbox-wrapper input[type="checkbox"]{width:14px !important;height:14px !important}.side-settings-panel .tooltip-icon{width:14px;height:14px;font-size:0.6rem}.menu-panel.main-section{flex-grow:1;min-width:380px;border-radius:12px;box-shadow:none;padding:25px 30px}#logged-in-welcome{display:flex;align-items:center;justify-content:center;gap:10px}.menu-panel.main-section .track-options.vertical{display:flex;flex-direction:column;gap:8px}.menu-panel.main-section .track-options.vertical .track-card{padding:8px 12px;display:flex;align-items:center;gap:15px;text-align:left;background:#1e293b}.track-preview{margin-top:8px;background:#020617;border-radius:8px;border:1px solid #334155;padding:6px;width:60%}.track-preview canvas{width:100%;height:auto;display:block;background:radial-gradient(circle at center,#020617 0%,#020617 100%)}.track-preview-name{margin-top:4px;font-size:0.7rem;color:#94a3b8;text-align:center;text-transform:uppercase;letter-spacing:0.06em}@media (max-width:768px) and (orientation:landscape){.track-preview{width:30%}}.side-leaderboard-panel{width:200px;background:#1e293b;padding:15px;display:flex;flex-direction:column;flex-shrink:0;height:82%;margin-top:41%;box-shadow:inset 1px 0px 0px 2px #0b111f70;position:relative;z-index:20;transform:translateY(-50%);border-radius:0 12px 12px 0}.side-leaderboard-panel .leaderboard-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.side-leaderboard-panel .side-title{margin:0;padding:0;border:none}.online-indicator{width:10px;height:10px;background:#22c55e;border-radius:50%;box-shadow:0 0 8px #22c55e,0 0 16px #22c55e;animation:pulse-online 1.5s ease-in-out infinite}@keyframes pulse-online{0%,100%{opacity:1;transform:scale(1);box-shadow:0 0 8px #22c55e,0 0 16px #22c55e}50%{opacity:0.6;transform:scale(0.85);box-shadow:0 0 4px #22c55e,0 0 8px #22c55e}}#btn-join-next.logged-in-glow{animation:pulse-join-btn 2s ease-in-out infinite}@keyframes pulse-join-btn{0%,100%{background:#22c55e;box-shadow:0 0 15px rgba(34,197,94,0.4)}50%{background:#16a34a;box-shadow:0 0 25px rgba(34,197,94,0.7),0 0 40px rgba(34,197,94,0.3)}}.side-leaderboard-panel .leaderboard-list{flex:1;overflow-y:auto;overflow-x:hidden}.side-leaderboard-panel .leaderboard-list::-webkit-scrollbar{width:4px}.side-leaderboard-panel .leaderboard-list::-webkit-scrollbar-track{background:#0f172a;border-radius:2px}.side-leaderboard-panel .leaderboard-list::-webkit-scrollbar-thumb{background:#334155;border-radius:2px}.side-lb-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:10px 0;color:#94a3b8;font-size:0.8rem}.side-lb-spinner{width:18px;height:18px;border-radius:999px;border:2px solid rgba(148,163,184,0.4);border-top-color:#22c55e;animation:side-lb-spin 0.8s linear infinite;margin-bottom:6px}@keyframes side-lb-spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}.side-lb-item{display:flex;align-items:center;gap:8px;padding:6px 8px;background:#0f172a;border-radius:6px;margin-bottom:6px;font-size:0.75rem;transition:background 0.2s}.side-lb-item:hover{background:#334155}.side-lb-rank{width:20px;height:20px;display:flex;align-items:center;justify-content:center;background:#334155;border-radius:4px;font-weight:bold;font-size:0.65rem;color:#94a3b8}.side-lb-item:nth-child(1) .side-lb-rank{background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#000}.side-lb-item:nth-child(2) .side-lb-rank{background:linear-gradient(135deg,#94a3b8,#64748b);color:#000}.side-lb-item:nth-child(3) .side-lb-rank{background:linear-gradient(135deg,#cd7f32,#a0522d);color:#fff}.side-lb-name{flex:1;color:#e2e8f0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.side-lb-xp{color:#22c55e;font-weight:bold;font-size:0.65rem}.side-lb-item.finished{background:rgba(34,197,94,0.1);border:1px solid rgba(34,197,94,0.3)}.side-lb-finished{margin-left:4px;font-size:0.8rem;opacity:0.8}.cookie-banner.hidden{display:none}.cookie-text{max-width:700px;color:var(--text-sub)}.modal-actions{display:grid !important;grid-template-columns:1fr 1fr !important;gap:10px !important;justify-content:center !important;align-items:center !important;margin-top:24px !important;width:100% !important}.modal-actions button{height:48px !important;padding:0 !important;margin:0 !important;display:flex !important;align-items:center !important;justify-content:center !important;box-sizing:border-box !important;font-size:0.95rem !important;font-weight:700 !important;white-space:nowrap !important;border:none !important;border-radius:6px !important;text-transform:uppercase !important;cursor:pointer !important;line-height:1 !important;outline:none !important}#btn-challenge-user{background:linear-gradient(135deg,#f97316,#ea580c) !important;color:white !important}.modal-actions .close-button{background:#334155 !important;color:#e2e8f0 !important}.btn-orange{background:linear-gradient(135deg,#f97316,#ea580c);color:white}.btn-orange:hover:not(:disabled){background:linear-gradient(135deg,#ea580c,#c2410c);box-shadow:0 0 15px rgba(234,88,12,0.4)}.btn-orange:disabled{background:#475569;cursor:not-allowed;opacity:0.7}.btn-red{background:linear-gradient(135deg,#ef4444,#dc2626);color:white}.challenge-panel{border:2px solid #f97316}.challenge-msg{margin:20px 0;font-size:1.1rem;color:#e2e8f0}#btn-challenge-user.waiting{background:#64748b}#btn-challenge-user.accepted{background:#22c55e !important}#btn-challenge-user.rejected{background:#ef4444 !important}#site-footer{height:32px;background:var(--panel-bg);border-top:1px solid #334155;display:flex;align-items:center;justify-content:space-between;padding:0 16px;font-size:0.75rem;color:var(--text-sub);position:relative;z-index:950}#site-footer .footer-link-btn{background:none;border:none;color:var(--accent);font-size:0.75rem;cursor:pointer;text-decoration:underline;padding:0}.tooltip-icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;background:#334155;color:#94a3b8;border-radius:50%;font-size:0.7rem;font-weight:bold;cursor:help;position:relative;line-height:1;flex-shrink:0;box-sizing:border-box}#global-tooltip{position:fixed;left:-9999px;top:-9999px;transform:translateX(-50%);background:#1e293b;color:#e2e8f0;padding:10px 12px;border-radius:6px;font-size:0.75rem;font-weight:normal;white-space:normal;width:220px;text-align:center;box-shadow:0 4px 12px rgba(0,0,0,0.4);border:1px solid #475569;z-index:99999;line-height:1.4;pointer-events:none;opacity:0}#global-tooltip.active{opacity:1}.tooltip-icon:hover::after,.tooltip-icon:hover::before,.weather-option[data-tooltip]:hover::after,.weather-option[data-tooltip]:hover::before{content:none !important;display:none !important}.tooltip-icon:hover::after{content:attr(data-tooltip);position:absolute;bottom:130%;left:50%;transform:translateX(-50%);background:#1e293b;color:#e2e8f0;padding:10px 12px;border-radius:6px;font-size:0.75rem;font-weight:normal;white-space:normal;width:220px;text-align:center;box-shadow:0 4px 12px rgba(0,0,0,0.4);border:1px solid #475569;z-index:9999;line-height:1.4}.tooltip-icon:hover::before{content:'';position:absolute;bottom:115%;left:50%;transform:translateX(-50%);border:6px solid transparent;border-top-color:#1e293b;z-index:9999}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.afk-popup{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:5000;display:none}.afk-popup.display-block{display:block;animation:afk-pulse 0.5s ease-in-out infinite alternate}@keyframes afk-pulse{0%{transform:translate(-50%,-50%) scale(1)}100%{transform:translate(-50%,-50%) scale(1.02)}}.afk-popup-content{background:linear-gradient(135deg,#1e293b 0%,#0f172a 100%);border:3px solid #ef4444;border-radius:16px;position:relative;padding:30px 40px;text-align:center;box-shadow:0 0 40px rgba(239,68,68,0.5),0 0 80px rgba(239,68,68,0.2);opacity:0.95}.afk-popup .afk-icon{font-size:3rem;margin-bottom:10px;animation:afk-shake 0.3s ease-in-out infinite}@keyframes afk-shake{0%,100%{transform:rotate(-5deg)}50%{transform:rotate(5deg)}}.afk-popup h3{color:#ef4444;font-size:1.5rem;margin:0 0 10px 0;text-transform:uppercase;letter-spacing:2px}.afk-popup p{color:#94a3b8;margin:5px 0;font-size:0.9rem}.afk-popup .afk-countdown{color:#fbbf24;font-weight:bold;font-size:1rem;margin-top:15px}.afk-popup .afk-countdown span{color:#ef4444;font-size:1.5rem;font-weight:900}.afk-popup .afk-warning-count{margin-top:15px;padding:8px 16px;background:rgba(239,68,68,0.2);border-radius:20px;color:#ef4444;font-weight:bold;font-size:0.85rem}.racer-card .afk-indicator{display:inline-block;margin-left:5px;color:#ef4444;font-size:0.7rem;animation:blink 0.5s ease-in-out infinite}@keyframes blink{0%,100%{opacity:1}50%{opacity:0.3}}.racer-card.eliminated{opacity:0.5;background:rgba(239,68,68,0.1);border-left:3px solid #ef4444}@media (max-width:1024px){.menu-layout-wrapper{max-width:100%;padding:10px;height:auto;max-height:90vh;overflow-y:auto}.side-settings-panel,.side-leaderboard-panel{width:180px;height:auto;margin-top:0;transform:none}.menu-panel.main-section{min-width:300px;padding:20px}.modal-panel.store-panel{width:95vw}.store-layout{grid-template-columns:280px 1fr;height:auto;max-height:70vh}}@media (max-width:768px){header{height:45px;padding:0 10px}.header-title{font-size:0.85rem}.header-controls{gap:5px}.header-controls .btn{padding:6px 10px;font-size:0.7rem}.racer-card{min-width:100px;max-width:100px;flex-shrink:0;padding:4px 6px;font-size:0.65rem}.racer-card .top-info{font-size:0.6rem}.racer-card .sub-info{font-size:0.55rem;display:none}.racer-card .hp-track{height:2px}#game-area{margin-top:0}#game-area{border-radius:5px}.menu-panel{padding:20px;width:95%;max-width:400px}.menu-panel h1{font-size:1.5rem}.big-btn{padding:12px;font-size:1rem}.menu-layout-wrapper{flex-direction:column;height:auto;max-height:85vh;overflow-y:auto}.side-settings-panel{width:100%;height:auto;margin-top:0;transform:none;border-radius:0 0 12px 12px;padding:12px;order:2}.menu-panel.main-section{min-width:100%;width:100%;border-radius:12px 12px 0 0;padding:20px 15px;order:1}.side-leaderboard-panel{width:100%;height:auto;max-height:150px;min-height:400px;margin-top:0;transform:none;border-radius:12px;padding:10px;order:3;overflow-y:auto}.side-leaderboard-panel h4{font-size:0.8rem;margin-bottom:8px}.side-lb-item{padding:4px 6px;font-size:0.7rem}.side-lb-rank{width:18px;height:18px;font-size:0.6rem}.track-options.vertical{flex-direction:row;flex-wrap:wrap}.side-settings-panel .track-card{flex:1;min-width:80px}.modal-panel{width:95%;max-width:360px;padding:20px}.modal-panel.wide{max-width:95%}.modal-panel.store-panel{width:95vw;max-height:90vh}.store-layout{grid-template-columns:1fr;height:auto}.store-left{border-right:none;border-bottom:1px solid rgba(255,255,255,0.05)}.vehicle-preview{height:80px}.shop-grid{grid-template-columns:repeat(2,1fr);gap:8px}.item-card{padding:8px}.item-icon{font-size:1.2rem}.item-name{font-size:0.8rem}.tabs{flex-wrap:wrap}.tab-btn{padding:8px 12px;font-size:0.85rem}.lobby-grid{grid-template-columns:1fr}.cookie-banner{flex-direction:column;gap:10px;padding:15px;text-align:center}.cookie-text{font-size:0.75rem}#site-footer{height:28px;font-size:0.65rem;padding:0 10px;flex-wrap:wrap;justify-content:center;gap:5px}#end-title{font-size:1.5rem}.leaderboard-container{width:95%;padding:8px}.lb-row{padding:8px;font-size:0.8rem}.traffic-light{gap:10px;padding:10px}.light{width:35px;height:35px}#go-text{font-size:4rem}#joystick-zone{width:100px;height:100px;bottom:20px;right:20px}#joystick-stick{width:40px;height:40px}#nitro-btn{width:65px;height:65px;bottom:25px;left:20px;font-size:1rem}#fire-btn{width:60px;height:60px;bottom:100px;left:80px;font-size:1.2rem}#oil-btn{width:55px;height:55px;bottom:165px;left:60px;font-size:0.8rem}#mobile-ui.left-mode #joystick-zone{left:20px}#mobile-ui.left-mode #nitro-btn{right:20px}#mobile-ui.left-mode #fire-btn{left:auto;right:80px}#mobile-ui.left-mode #oil-btn{left:auto;right:60px}#lights-btn{width:45px;height:45px;bottom:100px;left:20px;font-size:1.1rem}#mobile-ui.left-mode #lights-btn{left:auto;right:20px}.afk-popup-content{padding:20px 25px}.afk-popup .afk-icon{font-size:2.5rem}.afk-popup h3{font-size:1.2rem}}@media (max-width:375px){.menu-panel{padding:15px}.menu-panel h1{font-size:1.3rem}.big-btn{padding:10px;font-size:0.9rem}.btn.sm{padding:5px 8px;font-size:0.7rem}#joystick-zone{width:85px;height:85px;bottom:15px;right:15px}#joystick-stick{width:35px;height:35px}#nitro-btn{width:55px;height:55px;bottom:20px;left:15px;font-size:0.85rem}#fire-btn{width:50px;height:50px;bottom:80px;left:70px;font-size:1.1rem}#oil-btn{width:45px;height:45px;bottom:135px;left:55px;font-size:0.75rem}#mobile-ui.left-mode #fire-btn{left:auto;right:70px}#mobile-ui.left-mode #oil-btn{left:auto;right:55px}#lights-btn{bottom:80px;left:15px}#mobile-ui.left-mode #lights-btn{left:auto;right:15px}.shop-grid{grid-template-columns:1fr}}body.racing main{flex-direction:row}body.racing aside{position:static;width:165px;max-height:none;height:auto;overflow:auto;padding:7px;background:var(--panel-bg);backdrop-filter:none;border:1px solid #334155}body.racing #racer-list{display:flex;flex-direction:column;gap:5px;overflow-y:auto;overflow-x:hidden}@media (max-width:900px){body.racing aside{width:105px}body.racing .panel-header{font-size:0.6rem}body.racing .racer-card{min-width:auto;max-width:100%;padding:4px 5px;font-size:0.6rem}body.racing .top-info{font-size:0.6rem}body.racing .sub-info{display:flex;flex-direction:column;align-items:flex-start;gap:1px;font-size:0.5rem}body.racing .xp-badge{font-size:0.5rem}body.racing .info-box{font-size:0.55rem}body.racing .hp-track{height:4px}}.direction-option{display:flex;align-items:center;justify-content:center;flex-direction:row;cursor:pointer;padding:4px 8px;min-width:20px;border-radius:10px;border:1px solid #334155;background:transparent;overflow:hidden;transition:all 0.2s ease}.direction-option:hover{border-color:#facc15}.direction-option.selected{border-color:var(--accent);border-width:1px;background:rgba(245,158,11,0.18)}.direction-arrows{display:flex;justify-content:center;align-items:center;height:16px;overflow:hidden;position:relative}.direction-arrows .arrow{font-size:13px;font-weight:bold;color:#facc15;display:inline-block;margin:0 1px;animation:none}.direction-option.selected .direction-arrows.rtl .arrow,.direction-option:hover .direction-arrows.rtl .arrow{animation:dirSlideRight 1.4s infinite linear}.direction-option.selected .direction-arrows.ltr .arrow,.direction-option:hover .direction-arrows.ltr .arrow{animation:dirSlideLeft 1.4s infinite linear}.direction-option .direction-arrows .arrow:nth-child(1){animation-delay:0s}.direction-option .direction-arrows .arrow:nth-child(2){animation-delay:0.15s}.direction-option .direction-arrows .arrow:nth-child(3){animation-delay:0.30s}.weather-options{display:flex;align-items:center;justify-content:flex-start;gap:6px;margin-top:0}.weather-option{position:relative;flex:0 0 auto;width:32px;height:32px;padding:0;font-size:0.75rem;border-radius:999px;border:1px solid #1e293b;background:#020617;color:#cbd5f5;cursor:pointer;text-transform:uppercase;letter-spacing:0;font-weight:600;display:flex;align-items:center;justify-content:center;gap:0;transition:all 0.15s ease}.weather-option:hover{border-color:#facc15;background:rgba(250,204,21,0.08);z-index:9999}.weather-option.selected{border-color:var(--accent);background:rgba(245,158,11,0.18);color:#fde68a;box-shadow:0 0 12px rgba(250,204,21,0.2)}.weather-group{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:4px}.weather-group>label{margin-bottom:0;white-space:nowrap}.weather-icon{font-size:1.1rem;line-height:1}.weather-option[data-tooltip]:hover::after{content:attr(data-tooltip);position:absolute;bottom:135%;left:50%;transform:translateX(-50%);background:#1e293b;color:#e2e8f0;padding:8px 10px;border-radius:6px;font-size:0.7rem;font-weight:normal;white-space:normal;width:190px;text-align:center;box-shadow:0 4px 12px rgba(0,0,0,0.4);border:1px solid #475569;z-index:9999;line-height:1.4}.weather-option[data-tooltip]:hover::before{content:'';position:absolute;bottom:118%;left:50%;transform:translateX(-50%);border:5px solid transparent;border-top-color:#1e293b;z-index:9999}@keyframes dirSlideRight{0%{transform:translateX(-20px);opacity:0}10%{opacity:1}90%{opacity:1}100%{transform:translateX(20px);opacity:0}}@keyframes dirSlideLeft{0%{transform:translateX(20px);opacity:0}10%{opacity:1}90%{opacity:1}100%{transform:translateX(-20px);opacity:0}}.hourly-race-widget{position:fixed;top:20px;left:20px;background:linear-gradient(135deg,#1a1a2e 0%,#16213e 100%);border:2px solid #f59e0b;border-radius:12px;padding:12px 16px;z-index:100;min-width:160px;box-shadow:0 4px 20px rgba(245,158,11,0.3),inset 0 1px 0 rgba(255,255,255,0.1);cursor:help;transition:transform 0.2s,box-shadow 0.2s,opacity 0.3s;display:none}.hourly-race-widget:hover{transform:translateY(-2px);box-shadow:0 6px 25px rgba(245,158,11,0.4),inset 0 1px 0 rgba(255,255,255,0.1)}.hourly-race-tooltip{position:absolute;top:100%;left:0;margin-top:10px;background:linear-gradient(135deg,#1a1a2e 0%,#0f0f1a 100%);border:2px solid #f59e0b;border-radius:10px;padding:12px 16px;min-width:260px;opacity:0;visibility:hidden;transform:translateY(-10px);transition:all 0.3s ease;z-index:200;box-shadow:0 8px 30px rgba(0,0,0,0.5),0 0 20px rgba(245,158,11,0.2);pointer-events:none}.hourly-race-tooltip::before{content:'';position:absolute;top:-8px;left:20px;width:0;height:0;border-left:8px solid transparent;border-right:8px solid transparent;border-bottom:8px solid #f59e0b}.hourly-race-tooltip::after{content:'';position:absolute;top:-5px;left:22px;width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid #1a1a2e}.hourly-race-widget:hover .hourly-race-tooltip{opacity:1;visibility:visible;transform:translateY(0)}.tooltip-title{font-size:0.85rem;font-weight:700;color:#f59e0b;text-align:center;margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid rgba(245,158,11,0.3);letter-spacing:1px}.tooltip-row{display:flex;align-items:center;gap:8px;font-size:0.75rem;color:#e2e8f0;margin:6px 0}.tooltip-medal{font-size:1rem;width:24px;text-align:center}.tooltip-note{font-size:0.65rem;color:#94a3b8;text-align:center;margin-top:10px;padding-top:8px;border-top:1px solid rgba(148,163,184,0.2);font-style:italic}.tooltip-note.tooltip-warning{color:#f59e0b;border-top:none;margin-top:6px;padding-top:0}.gold-coin-mini{display:inline-block;width:12px;height:12px;background:linear-gradient(135deg,#ffd700 0%,#ffb300 50%,#ff8c00 100%);border-radius:50%;vertical-align:middle;margin-right:2px;box-shadow:0 1px 2px rgba(0,0,0,0.3),inset 0 1px 1px rgba(255,255,255,0.5)}.hourly-test-btn{position:absolute;top:4px;right:4px;padding:2px 6px;font-size:0.6rem;background:#ef4444;border:none;color:#fff;cursor:pointer;z-index:10}.hourly-test-btn:hover{background:#dc2626}.hourly-race-header{display:flex;align-items:center;gap:8px;margin-bottom:8px}.hourly-race-icon{font-size:1.2rem;animation:pulse-glow 2s infinite}@keyframes pulse-glow{0%,100%{filter:drop-shadow(0 0 3px #f59e0b)}50%{filter:drop-shadow(0 0 8px #f59e0b)}}.hourly-race-title{font-size:0.75rem;font-weight:700;color:#f59e0b;letter-spacing:1px}.hourly-race-countdown{text-align:center;margin:8px 0}#hourly-countdown-timer{font-size:1.8rem;font-weight:700;color:#fff;font-family:'Courier New',monospace;text-shadow:0 0 10px rgba(245,158,11,0.5)}.hourly-race-widget.join-open #hourly-countdown-timer{color:#22c55e;animation:countdown-pulse 1s infinite}@keyframes countdown-pulse{0%,100%{opacity:1}50%{opacity:0.7}}.hourly-race-info{text-align:center;font-size:0.7rem;color:#94a3b8;margin-bottom:8px}.hourly-join-btn{width:100%;padding:8px 12px;font-size:0.8rem;font-weight:700;background:linear-gradient(135deg,#374151 0%,#1f2937 100%);border:1px solid #4b5563;color:#6b7280;cursor:not-allowed;transition:all 0.3s}.hourly-join-btn:not(:disabled){background:linear-gradient(135deg,#f59e0b 0%,#d97706 100%);border-color:#f59e0b;color:#000;cursor:pointer;animation:join-ready 0.5s ease-out}.hourly-join-btn:not(:disabled):hover{background:linear-gradient(135deg,#fbbf24 0%,#f59e0b 100%);transform:scale(1.02)}.hourly-join-btn.joined{background:linear-gradient(135deg,#22c55e 0%,#16a34a 100%);border-color:#22c55e;color:#fff}.hourly-join-btn.pulse-success{animation:pulse-success 0.5s ease-out}@keyframes pulse-success{0%{transform:scale(1);box-shadow:0 0 0 0 rgba(34,197,94,0.7)}50%{transform:scale(1.05);box-shadow:0 0 0 10px rgba(34,197,94,0)}100%{transform:scale(1);box-shadow:0 0 0 0 rgba(34,197,94,0)}}.hourly-race-widget.race-imminent{border-color:#22c55e;animation:race-imminent-pulse 1s infinite}@keyframes race-imminent-pulse{0%,100%{box-shadow:0 4px 20px rgba(34,197,94,0.3),inset 0 1px 0 rgba(255,255,255,0.1)}50%{box-shadow:0 4px 30px rgba(34,197,94,0.6),inset 0 1px 0 rgba(255,255,255,0.1)}}#hourly-countdown-timer.race-starting{color:#22c55e;animation:race-starting-blink 0.5s infinite}@keyframes race-starting-blink{0%,100%{opacity:1}50%{opacity:0.5}}@keyframes join-ready{0%{transform:scale(0.95)}50%{transform:scale(1.05)}100%{transform:scale(1)}}.player-medals{display:inline-flex;gap:4px;margin-left:6px;vertical-align:middle}.medal{position:relative;display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;font-size:0.75rem;border-radius:50%}.medal-gold{background:linear-gradient(135deg,#ffd700 0%,#ffb300 100%);box-shadow:0 2px 4px rgba(255,215,0,0.4)}.medal-silver{background:linear-gradient(135deg,#c0c0c0 0%,#a8a8a8 100%);box-shadow:0 2px 4px rgba(192,192,192,0.4)}.medal-bronze{background:linear-gradient(135deg,#cd7f32 0%,#b87333 100%);box-shadow:0 2px 4px rgba(205,127,50,0.4)}.medal-count{position:absolute;top:-4px;right:-4px;background:#1f2937;color:#fff;font-size:0.5rem;font-weight:700;min-width:12px;height:12px;border-radius:6px;display:flex;align-items:center;justify-content:center;border:1px solid #374151}.medal[title]{cursor:help}.hourly-race-result{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:linear-gradient(135deg,#1a1a2e 0%,#16213e 100%);border:3px solid #f59e0b;border-radius:20px;padding:30px 50px;text-align:center;z-index:1000;animation:result-popup 0.5s ease-out}@keyframes result-popup{0%{transform:translate(-50%,-50%) scale(0.5);opacity:0}100%{transform:translate(-50%,-50%) scale(1);opacity:1}}.hourly-race-result h2{font-size:1.5rem;color:#f59e0b;margin-bottom:15px}.hourly-race-result .medal-earned{font-size:4rem;margin:15px 0}.hourly-race-result .reward-text{font-size:1rem;color:#94a3b8}@media (max-width:768px){.hourly-race-widget{top:auto;bottom:80px;left:10px;padding:10px 12px;min-width:140px}#hourly-countdown-timer{font-size:1.4rem}.hourly-race-title{font-size:0.65rem}.hourly-race-tooltip{top:auto;bottom:100%;margin-top:0;margin-bottom:10px;min-width:220px;left:-10px}.hourly-race-tooltip::before{top:auto;bottom:-8px;border-bottom:none;border-top:8px solid #f59e0b}.hourly-race-tooltip::after{top:auto;bottom:-5px;border-bottom:none;border-top:6px solid #1a1a2e}}