@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";:root{--primary: #00d4ff;--primary-dim: #0099cc;--accent: #00ff88;--danger: #ff4444;--warning: #ffaa00;--success: #00ff88;--text-primary: #ffffff;--text-secondary: rgba(255, 255, 255, .7);--text-muted: rgba(255, 255, 255, .4);--bg-primary: #000000;--bg-secondary: #0a0a0a;--bg-overlay: rgba(0, 0, 0, .7);--bg-panel: rgba(255, 255, 255, .03);--bg-hover: rgba(255, 255, 255, .06);--border-subtle: rgba(255, 255, 255, .08);--border-default: rgba(255, 255, 255, .12);--border-strong: rgba(255, 255, 255, .2);--font-main: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "SF Mono", "Monaco", "Inconsolata", monospace;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-xl: 24px;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .12);--shadow-md: 0 4px 12px rgba(0, 0, 0, .15);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .18);--shadow-glow: 0 0 40px rgba(0, 212, 255, .15)}*{margin:0;padding:0;box-sizing:border-box}html,body{overflow:hidden;background:var(--bg-primary);color:var(--text-primary);font-family:var(--font-main);-webkit-user-select:none;user-select:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.hud{position:fixed;top:0;left:0;width:100vw;height:100vh;pointer-events:none;z-index:100;font-size:13px;font-weight:500}.hud-panel{position:absolute;display:flex;flex-direction:column;gap:10px}.hud-panel.top-left{top:24px;left:24px}.hud-panel.top-right{top:20px;right:20px;align-items:flex-end}.hud-panel.bottom-center{bottom:20px;left:50%;transform:translate(-50%);align-items:center}.hud-item{background:var(--bg-panel);padding:10px 16px;border-radius:var(--radius-md);border:1px solid var(--border-subtle);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);font-weight:500;min-width:140px;transition:all .2s ease;box-shadow:var(--shadow-sm);color:var(--text-secondary);display:flex;align-items:center;gap:8px;font-variant-numeric:tabular-nums}.start-screen{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#0a0a0a;display:flex;align-items:center;justify-content:center;z-index:1000;cursor:default}#start-background-canvas{position:absolute;top:0;left:0;width:100%;height:100%;z-index:-1}.start-content{text-align:center;max-width:600px;padding:20px;background:#0006;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:8px;border:1px solid rgba(0,255,255,.2);animation:slideInUp .6s ease-out;overflow-y:auto;max-height:90vh;box-shadow:0 0 40px #00ffff1a,inset 0 0 20px #00000080}.game-title{font-size:3rem;font-weight:900;margin-bottom:10px;background:linear-gradient(90deg,#0cf,#09f,#66f,#93f,#c0f);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-shadow:0 0 20px rgba(0,204,255,.3);animation:titleGlow 4s ease-in-out infinite}@keyframes titleGlow{0%,to{filter:brightness(1) saturate(1)}50%{filter:brightness(1.2) saturate(1.3)}}.subtitle{font-size:1rem;color:#ffffffe6;margin-bottom:30px;text-shadow:0 2px 8px rgba(0,0,0,.5)}.level-selection h2{margin-bottom:30px;font-size:2rem;color:var(--text-light)}.circuit-selection h2{font-size:1.5rem;color:#ffffffe6;margin-bottom:20px;text-align:center}.circuit-container{margin-bottom:15px;border-radius:12px;overflow:hidden;background:#ffffff1a;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);border:1px solid rgba(255,255,255,.2)}.circuit-header{display:flex;justify-content:space-between;align-items:center;padding:15px 20px;cursor:pointer;transition:all .3s ease;background:#0003}.circuit-header:hover{background:#ffffff1a}.circuit-header.disabled{cursor:not-allowed;opacity:.6}.circuit-info{display:flex;flex-direction:column;gap:2px;align-items:flex-start;text-align:left}.circuit-name{font-size:1.2rem;font-weight:700;color:#fffffff2}.circuit-progress{font-size:.85rem;color:#ffffffb3}.circuit-toggle{font-size:1.2rem;color:#fffc;transition:transform .3s ease}.circuit-content{display:none;padding:20px;background:#0000001a}.circuit-content.open{display:block}.difficulty-row{display:flex;align-items:center;margin-bottom:15px;gap:15px}.difficulty-label{font-size:.8rem;font-weight:700;min-width:80px;text-align:right;text-transform:uppercase;letter-spacing:1px}.difficulty-label.easy{color:#80c784}.difficulty-label.medium{color:#ffb74d}.difficulty-label.hard{color:#e57373}.difficulty-label.extreme{color:#ba68c8}.track-list{display:flex;flex-wrap:wrap;gap:8px;flex:1}.track-btn{background:transparent;border:1px solid rgba(0,255,255,.2);border-radius:2px;padding:5px 8px;color:#00ffffb3;font-family:var(--font-main);cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:5px;min-width:100px;font-size:.7rem}.track-btn:hover{background:#fff3;border-color:#fff6;transform:translateY(-1px)}.track-btn.easy:hover{box-shadow:0 4px 12px #4caf504d}.track-btn.medium:hover{box-shadow:0 4px 12px #ff98004d}.track-btn.hard:hover{box-shadow:0 4px 12px #f443364d}.track-btn.extreme:hover{box-shadow:0 4px 12px #9c27b04d}.track-number{font-size:1rem;font-weight:900;min-width:25px;padding:2px 6px;border-radius:4px;color:#fff;text-shadow:0 0 8px currentColor}.circuit-alpha .track-number{background:linear-gradient(135deg,#0cf,#09f);color:#fff;box-shadow:0 0 12px #0cf6}.circuit-beta .track-number{background:linear-gradient(135deg,#c0f,#93f);color:#fff;box-shadow:0 0 12px #c0f6}.circuit-gamma .track-number{background:linear-gradient(135deg,#f60,#f30);color:#fff;box-shadow:0 0 12px #f606}.circuit-delta .track-number{background:linear-gradient(135deg,#0f8,#0c6);color:#fff;box-shadow:0 0 12px #0f86}.circuit-epsilon .track-number{background:linear-gradient(135deg,#f0f,#0ff);color:#fff;box-shadow:0 0 15px #ff00ff80,0 0 15px #00ffff80}.track-name{font-size:.85rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.controls-info{margin-top:15px;opacity:.6}.controls-info h3{margin-bottom:10px;font-size:.7rem;text-transform:uppercase;letter-spacing:2px;color:#00ffff80;font-weight:400}.controls-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;max-width:800px;margin:0 auto}.control-item{display:flex;align-items:center;gap:8px;background:transparent;padding:4px 8px;border-radius:2px;border:1px solid rgba(0,255,255,.15);font-size:.6rem;color:#0ff9;text-transform:uppercase;letter-spacing:.5px}kbd{background:#00ffff0d;border:1px solid rgba(0,255,255,.3);border-radius:2px;padding:2px 6px;font-family:var(--font-mono);font-weight:400;color:#0ffc;min-width:35px;text-align:center;font-size:.6rem}.loading-screen{position:fixed;top:0;left:0;width:100vw;height:100vh;background:var(--bg-dark);display:flex;align-items:center;justify-content:center;z-index:999}.loading-screen.hidden{display:none}.loading-content{text-align:center}.loading-spinner{width:60px;height:60px;border:3px solid rgba(0,255,255,.3);border-top:3px solid var(--primary-color);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 20px}.loading-text{font-size:1.2rem;color:var(--primary-color);text-shadow:0 0 10px var(--primary-color)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes startScreenFade{0%{opacity:0}to{opacity:1}}@keyframes slideInUp{0%{transform:translateY(50px);opacity:0}to{transform:translateY(0);opacity:1}}.hud-item.boost{animation:boostGlow .5s ease-in-out}@keyframes boostGlow{0%,to{box-shadow:0 0 20px #0ff3}50%{box-shadow:0 0 40px #f0f9}}.hud-item.finish{animation:finishGlow 1s ease-in-out}@keyframes finishGlow{0%,to{box-shadow:0 0 20px #0ff3}50%{box-shadow:0 0 50px #0f0c}}@keyframes notificationSlide{0%{opacity:0;transform:translate(-50%,-50%) scale(.5)}20%{opacity:1;transform:translate(-50%,-50%) scale(1.1)}30%{transform:translate(-50%,-50%) scale(1)}70%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-50%) scale(.8)}}.hud-item.high-speed{animation:speedGlow .5s ease-in-out infinite alternate}@keyframes speedGlow{0%{box-shadow:0 0 20px #0ff3}to{box-shadow:0 0 30px #f009}}.hud-item.boost-active{animation:boostPulse .3s ease-in-out infinite alternate;color:#0ff}@keyframes boostPulse{0%{box-shadow:0 0 20px #0ff3;transform:scale(1)}to{box-shadow:0 0 40px #0ffc;transform:scale(1.05)}}@media (max-width: 768px){.start-content{max-width:95vw;padding:20px;max-height:90vh}.game-title{font-size:2rem}.subtitle{font-size:.9rem;margin-bottom:20px}.circuit-selection h2{font-size:1.2rem;margin-bottom:15px}.circuit-container{margin-bottom:10px}.circuit-header{padding:12px 15px}.circuit-name{font-size:1rem}.circuit-progress{font-size:.75rem}.circuit-content{padding:15px}.difficulty-row{flex-direction:column;align-items:stretch;gap:8px}.difficulty-label{text-align:left;margin-bottom:5px}.track-list{display:grid;grid-template-columns:1fr 1fr;gap:8px}.track-btn{min-width:auto;padding:10px 8px;font-size:.8rem}.track-number{font-size:.9rem}.track-name{font-size:.75rem}.controls-info{display:none}.start-content:after{content:"Touch controls enabled in-game";display:block;margin-top:15px;font-size:.8rem;color:#0ff9;text-align:center}.hud{font-size:11px}.hud-panel.top-left{top:15px;left:15px}.hud-item{min-width:100px;padding:6px 10px;font-size:.75rem}.completion-content{max-width:95vw;padding:25px 15px;border-radius:15px}.completion-title{font-size:1.8rem;margin-bottom:15px;letter-spacing:1px}.completion-time{margin-bottom:10px}.completion-time .time-value{font-size:2rem}.completion-best .best-value{font-size:1.2rem}.completion-time .time-label,.completion-best .best-label{font-size:.8rem}.completion-buttons{flex-direction:column;gap:15px;width:100%}.completion-btn{width:100%;padding:12px 20px;font-size:.9rem}.btn-key{display:none}.mobile-controls{display:block}}@media (max-width: 480px){.game-title{font-size:1.5rem}.track-list{grid-template-columns:1fr}.completion-title{font-size:1.5rem}.completion-time .time-value{font-size:1.8rem}.completion-best .best-value{font-size:1rem}.completion-content{padding:20px 15px}.completion-btn{padding:10px 15px;font-size:.85rem}.joystick-zone{width:110px;height:110px;bottom:70px;left:20px}.action-buttons{bottom:70px;right:20px;gap:10px}.jump-button,.boost-button{width:75px;height:75px}.jump-icon,.boost-icon{font-size:1.5rem}}@media (hover: none) and (pointer: coarse){body.playing .mobile-controls{display:block}.track-btn{min-height:44px}.completion-btn{min-height:48px}}.completion-screen{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:9999;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.completion-screen.hidden{display:none!important}.completion-content{text-align:center;max-width:400px;width:90%;background:linear-gradient(135deg,#001428fa,#002850f2);border:2px solid var(--primary-color);border-radius:20px;padding:30px;box-shadow:0 0 60px #00ffff80,0 0 30px #00ffff4d inset,0 10px 30px #00000080;animation:completionSlideIn .4s ease-out;position:relative;overflow:hidden}.completion-content:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(0,255,255,.1),transparent 60%);animation:rotate 20s linear infinite}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes completionSlideIn{0%{transform:scale(.7) translateY(-30px);opacity:0}50%{transform:scale(1.05) translateY(0)}to{transform:scale(1) translateY(0);opacity:1}}.completion-title{font-size:2.2rem;background:linear-gradient(90deg,#0ff,#0f8,#8f0);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:20px;font-weight:900;letter-spacing:2px;animation:titleGlow 2s ease-in-out infinite;position:relative;z-index:1}@keyframes titleGlow{0%,to{filter:brightness(1) drop-shadow(0 0 20px rgba(0,255,255,.8))}50%{filter:brightness(1.2) drop-shadow(0 0 30px rgba(0,255,255,1))}}.completion-time{margin-bottom:20px}.completion-time .time-label,.completion-best .best-label{font-size:1rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:2px;margin-bottom:5px}.completion-time .time-value{font-size:2.5rem;color:var(--primary-color);font-weight:900;text-shadow:0 0 20px var(--primary-color),0 0 40px rgba(0,255,255,.5);position:relative;z-index:1;display:inline-block;margin:10px 0}.completion-time .time-value.new-best-animation{animation:newBestPulse 2s ease-in-out}@keyframes newBestPulse{0%{transform:scale(1)}25%{transform:scale(1.2);color:gold}50%{transform:scale(1.1)}75%{transform:scale(1.15);color:gold}to{transform:scale(1)}}.completion-best{margin-bottom:20px}.completion-best .best-value{font-size:1.5rem;color:#ffd700cc;font-weight:300;margin:10px 0}.completion-best .time-difference{font-size:1.2rem;color:var(--text-muted);opacity:.8}.performance-rating{margin:20px 0 30px;padding:15px;background:#ffffff0d;border-radius:10px}.performance-rating .rating-stars{font-size:2rem;margin-bottom:10px}.performance-rating .rating-text{font-size:1.5rem;font-weight:700;color:var(--primary-color);text-transform:uppercase;letter-spacing:2px}.completion-best.new-record{animation:goldPulse 1s ease-in-out infinite}@keyframes goldPulse{0%,to{opacity:.9;transform:scale(1)}50%{opacity:1;transform:scale(1.05)}}.completion-buttons{display:flex;gap:25px;justify-content:center;margin-top:30px;animation:slideUp .6s ease-out .2s both;position:relative;z-index:1}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.completion-btn{background:linear-gradient(135deg,#00ffff26,#00ffff0d);border:2px solid var(--primary-color);color:var(--text-light);padding:14px 25px;border-radius:10px;font-size:1rem;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center;gap:10px;font-family:var(--font-family);font-weight:600;position:relative;overflow:hidden;text-transform:uppercase;letter-spacing:.5px}.completion-btn:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;background:radial-gradient(circle,rgba(0,255,255,.4),transparent);transition:width .4s,height .4s;transform:translate(-50%,-50%);border-radius:50%}.completion-btn:hover{background:linear-gradient(135deg,#00ffff4d,#00ffff26);transform:translateY(-3px) scale(1.05);box-shadow:0 10px 30px #0ff9,0 0 30px #0ff6 inset;border-color:#0f8}.completion-btn:hover:before{width:400px;height:400px}.completion-btn:active{transform:translateY(-1px) scale(1.02)}.btn-key{background:linear-gradient(135deg,var(--primary-color),#00ff88);color:var(--bg-dark);padding:6px 12px;border-radius:6px;font-weight:900;font-size:1rem;box-shadow:0 2px 10px #0ff6,0 0 20px #0ff3 inset;display:inline-block;min-width:45px;text-align:center}body.playing{cursor:none}.track-btn,.circuit-header,button{cursor:pointer}.start-screen *{cursor:default}.start-screen button,.start-screen .track-btn,.start-screen .circuit-header{cursor:pointer}.mobile-controls{position:fixed;top:0;left:0;width:100vw;height:100vh;pointer-events:none;z-index:150;display:none}.mobile-controls.show{display:block}.mobile-controls.hidden{display:none!important}.joystick-zone{position:absolute;bottom:60px;left:30px;width:150px;height:150px;pointer-events:all}.action-buttons{position:absolute;bottom:90px;right:30px;display:flex;flex-direction:column;gap:15px;pointer-events:all}.jump-button{width:85px;height:85px;border-radius:50%;background:#0006;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(0,255,255,.3);color:#0ffc;font-family:var(--font-main);font-weight:300;font-size:.65rem;letter-spacing:1px;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;transition:all .15s ease;box-shadow:0 0 20px #00ffff1a,inset 0 0 10px #00000080;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.boost-button{width:85px;height:85px;border-radius:50%;background:#0006;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,136,0,.3);color:#f80c;font-family:var(--font-main);font-weight:300;font-size:.65rem;letter-spacing:1px;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;transition:all .15s ease;box-shadow:0 0 20px #ff88001a,inset 0 0 10px #00000080;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.jump-button:active{transform:scale(.95);background:#0ff3;border-color:#0ffc;box-shadow:0 2px 10px #0000004d,0 0 40px #0ff6,inset 0 0 30px #00ffff4d}.boost-button:active{transform:scale(.95);background:#f803;border-color:#f80c;box-shadow:0 2px 10px #0000004d,0 0 40px #f806,inset 0 0 30px #ff88004d}.boost-button.cooldown{opacity:.4;border-color:#8080804d;color:#80808080;pointer-events:none}.jump-icon,.boost-icon{font-size:2rem;line-height:1}.jump-text,.boost-text{font-size:.7rem;opacity:.8}.joystick-zone .back,.joystick-zone .front{background:#ffffff14!important;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:2px solid rgba(0,255,255,.4)!important;box-shadow:0 4px 20px #0000004d,0 0 30px #00ffff26,inset 0 0 20px #00ffff1a!important}.joystick-zone .front{background:#00ffff4d!important;border:2px solid rgba(0,255,255,.6)!important}
