:root{color-scheme:dark;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{min-height:100vh;background:#0a0a0a;color:#fafafa;overflow:hidden}.app{min-height:100vh}button{cursor:pointer;border:none;font-family:inherit;transition:all .2s}button:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.15)}button:active:not(:disabled){transform:translateY(0)}button:disabled{opacity:.4;cursor:not-allowed}.coins-display{display:flex;align-items:center;gap:6px;font-size:1.1rem;font-weight:700;color:#f1c40f}.coin-icon{font-size:1.1em}.back-btn{background:#ffffff1a;color:#fff;padding:8px 16px;border-radius:8px;font-size:.9rem}.menu-screen{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;overflow:hidden}.menu-bg{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,#0f0c29,#302b63,#24243e);z-index:0}.menu-bg:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(90deg,transparent,transparent 80px,rgba(255,255,255,.02) 80px,rgba(255,255,255,.02) 81px)}.menu-bg:after{content:"";position:absolute;bottom:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#e74c3c,#f39c12,#2ecc71,#3498db,#9b59b6)}.menu-content{position:relative;z-index:1;text-align:center;display:flex;flex-direction:column;align-items:center;gap:2rem}.menu-header{display:flex;flex-direction:column;align-items:center}.menu-title{font-size:3.5rem;font-weight:900;letter-spacing:.08em;background:linear-gradient(135deg,#f1c40f,#e74c3c,#e91e63);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-shadow:none;display:flex;align-items:center;gap:.5rem}.title-icon{font-size:2.8rem;-webkit-text-fill-color:initial}.menu-subtitle{color:#ffffff80;font-size:1.1rem;margin-top:.5rem;letter-spacing:.2em;text-transform:uppercase}.menu-car-preview{display:flex;flex-direction:column;align-items:center;gap:.5rem}.car-emoji-large{font-size:5rem;filter:drop-shadow(0 0 20px rgba(255,255,255,.2))}.car-name-display{font-size:1.3rem;font-weight:600;color:#fffc}.menu-buttons{display:flex;flex-direction:column;gap:.75rem;width:280px}.menu-btn{display:flex;align-items:center;justify-content:center;gap:12px;padding:14px 24px;border-radius:12px;font-size:1.1rem;font-weight:700;letter-spacing:.05em;color:#fff}.play-btn{background:linear-gradient(135deg,#e74c3c,#c0392b);box-shadow:0 4px 15px #e74c3c66}.garage-btn{background:linear-gradient(135deg,#3498db,#2980b9);box-shadow:0 4px 15px #3498db4d}.challenge-btn{background:linear-gradient(135deg,#f39c12,#e67e22);box-shadow:0 4px 15px #f39c124d}.btn-icon{font-size:1.3em}.menu-controls-hint{margin-top:1rem;color:#ffffff4d;font-size:.8rem}.garage-screen{min-height:100vh;background:linear-gradient(180deg,#1a1a2e,#16213e);padding:1rem}.garage-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.garage-header h2{font-size:1.5rem}.garage-layout{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;max-width:1200px;margin:0 auto}.car-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.75rem}.car-card{background:#ffffff0d;border:2px solid transparent;border-radius:12px;padding:1rem;text-align:center;color:#fff;transition:all .2s}.car-card:hover{background:#ffffff1a;border-color:#fff3}.car-card.selected{border-color:#3498db;background:#3498db26}.car-card.locked{opacity:.6}.car-card-emoji{font-size:2.5rem;margin-bottom:.5rem}.car-card-name{font-size:.85rem;font-weight:600;margin-bottom:.25rem}.car-card-tier{font-size:.65rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase}.car-card-price{margin-top:.5rem;font-size:.8rem;color:#f1c40f}.car-detail{background:#ffffff08;border-radius:16px;padding:1.5rem;display:flex;flex-direction:column;gap:1.25rem}.car-detail-preview{text-align:center;display:flex;flex-direction:column;align-items:center;gap:.5rem}.car-detail-preview h3{font-size:1.5rem}.tier-badge{padding:3px 12px;border-radius:20px;font-size:.7rem;font-weight:700;letter-spacing:.15em;color:#fff}.stats-panel h4,.color-picker h4,.upgrade-panel h4{font-size:.9rem;color:#fff9;margin-bottom:.75rem;text-transform:uppercase;letter-spacing:.1em}.stat-row{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.stat-label{width:110px;font-size:.85rem;color:#ffffffb3}.stat-bar-bg{flex:1;height:8px;background:#ffffff1a;border-radius:4px;overflow:hidden}.stat-bar-fill{height:100%;background:linear-gradient(90deg,#2ecc71,#27ae60);border-radius:4px;transition:width .3s}.stat-value{width:30px;text-align:right;font-size:.85rem;font-weight:700}.color-options{display:flex;gap:8px;flex-wrap:wrap}.color-swatch{width:32px;height:32px;border-radius:50%;border:3px solid transparent;transition:all .2s}.color-swatch:hover{transform:scale(1.15)}.color-swatch.active{border-color:#fff;box-shadow:0 0 10px #ffffff4d}.upgrade-row{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.upgrade-label{flex:1;font-size:.8rem;color:#ffffffb3}.upgrade-level{display:flex;gap:4px}.level-pip{width:12px;height:12px;border-radius:3px;background:#ffffff1a}.level-pip.filled{background:#f39c12}.upgrade-btn{background:#f39c1233;color:#f39c12;padding:4px 12px;border-radius:6px;font-size:.8rem;font-weight:700}.max-badge{font-size:.75rem;color:#2ecc71;font-weight:700}.car-actions{margin-top:.5rem}.action-btn{width:100%;padding:12px;border-radius:10px;font-size:1rem;font-weight:700;color:#fff}.buy-btn{background:linear-gradient(135deg,#f39c12,#e67e22)}.select-btn{background:linear-gradient(135deg,#2ecc71,#27ae60)}.track-select-screen{min-height:100vh;background:linear-gradient(180deg,#0f0c29,#1a1a2e);padding:1rem}.track-select-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.track-select-header h2{font-size:1.5rem}.track-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem;max-width:1200px;margin:0 auto}.track-card{background:#ffffff0d;border-radius:16px;overflow:hidden;text-align:left;color:#fff;transition:all .2s}.track-card:hover{background:#ffffff14;transform:translateY(-2px);box-shadow:0 8px 25px #0000004d}.track-preview{height:140px;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}.track-env-icon{font-size:3rem;position:absolute;top:10px;right:15px;opacity:.6}.track-mini-layout{width:80%;height:80%}.track-svg{width:100%;height:100%}.track-info{padding:1rem}.track-info h3{font-size:1.2rem;margin-bottom:.5rem}.track-meta{display:flex;gap:1rem;font-size:.85rem}.track-difficulty{font-weight:700}.track-laps{color:#fff9}.track-reward{color:#f1c40f;display:flex;align-items:center;gap:3px}.track-best-time{margin-top:.5rem;font-size:.8rem;color:#2ecc71}.race-screen{position:fixed;top:0;right:0;bottom:0;left:0;background:#000}.race-canvas{display:block;width:100%;height:100%}.race-finish-overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#00000080;z-index:10}.finish-text{font-size:6rem;font-weight:900;color:#f1c40f;text-shadow:0 0 40px rgba(241,196,15,.5);animation:finishPulse .5s ease-out}@keyframes finishPulse{0%{transform:scale(.5);opacity:0}50%{transform:scale(1.2)}to{transform:scale(1);opacity:1}}.results-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,#1a1a2e,#0f0c29);padding:2rem}.results-card{background:#ffffff0d;border-radius:20px;overflow:hidden;width:100%;max-width:450px}.results-header{padding:2rem;text-align:center}.results-header.win{background:linear-gradient(135deg,#f39c12,#e67e22)}.results-header.lose{background:linear-gradient(135deg,#3498db,#2980b9)}.results-position{font-size:4rem;font-weight:900}.results-label{font-size:1.2rem;font-weight:700;letter-spacing:.1em}.results-track-name{text-align:center;padding:1rem;font-size:1.1rem;color:#fff9}.results-stats{padding:0 1.5rem;display:flex;flex-direction:column;gap:.75rem}.result-stat{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:#ffffff08;border-radius:10px}.result-stat.highlight{background:#f1c40f1a;border:1px solid rgba(241,196,15,.2)}.result-stat-label{color:#fff9;font-size:.9rem}.result-stat-value{font-weight:700;font-size:1.1rem;display:flex;align-items:center;gap:4px}.results-actions{padding:1.5rem;display:flex;flex-direction:column;gap:.5rem}.retry-btn{background:linear-gradient(135deg,#2ecc71,#27ae60)}.tracks-btn{background:linear-gradient(135deg,#3498db,#2980b9)}.menu-btn-result{background:#ffffff1a}.challenges-screen{min-height:100vh;background:linear-gradient(180deg,#1a1a2e,#0f0c29);padding:1rem}.challenges-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.challenges-header h2{font-size:1.5rem}.challenges-date{text-align:center;color:#fff6;font-size:.85rem;margin-bottom:1.5rem}.challenges-list{max-width:600px;margin:0 auto;display:flex;flex-direction:column;gap:.75rem}.challenge-card{background:#ffffff0d;border-radius:12px;padding:1.25rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.challenge-card.completed{opacity:.6}.challenge-info h3{font-size:1rem;margin-bottom:.25rem}.challenge-info p{font-size:.85rem;color:#ffffff80}.claim-btn{background:linear-gradient(135deg,#f39c12,#e67e22);color:#fff;padding:8px 16px;border-radius:8px;font-size:.85rem;font-weight:700;white-space:nowrap}.claimed-badge{color:#2ecc71;font-weight:700;font-size:.85rem}.challenges-note{text-align:center;color:#ffffff4d;font-size:.8rem;margin-top:2rem}@media(max-width:768px){.garage-layout{grid-template-columns:1fr}.menu-title{font-size:2.5rem}.track-grid{grid-template-columns:1fr}}
