:root{color-scheme:dark;font-family:Courier New,ui-monospace,SFMono-Regular,Menlo,monospace}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{width:100%;height:100%;overflow:hidden;background:#05050f;color:#fff}.game-container{position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden;cursor:pointer;user-select:none;-webkit-user-select:none;touch-action:none}.game-container canvas{display:block;width:100%;height:100%}.overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:10}.menu .title{font-size:clamp(2.2rem,8vw,5rem);font-weight:900;color:#0ff;text-align:center;line-height:1.05;letter-spacing:.12em;text-shadow:0 0 10px #00ffff,0 0 30px #00ffff,0 0 60px rgba(0,255,255,.4);animation:glow-pulse 2s ease-in-out infinite}.menu .subtitle{font-size:clamp(.65rem,2vw,.9rem);color:#ffffff59;letter-spacing:.5em;margin-top:.5rem;text-transform:uppercase}.menu .stats{margin-top:1.5rem;font-size:clamp(.7rem,1.8vw,.85rem);color:#fff6;letter-spacing:.15em;text-align:center;line-height:1.8}.tap-prompt{font-size:clamp(.85rem,2.5vw,1.2rem);color:#ffffff8c;letter-spacing:.3em;margin-top:2.5rem;animation:blink 1.2s ease-in-out infinite}.x-link{display:inline-flex;align-items:center;gap:.5rem;margin-top:1.8rem;color:#ffffff80;text-decoration:none;font-family:inherit;font-size:clamp(.75rem,2vw,.9rem);letter-spacing:.15em;padding:.45rem 1.2rem;border:1px solid rgba(255,255,255,.12);border-radius:999px;transition:all .25s;pointer-events:auto}.x-link:hover{color:#fff;border-color:#fff6;background:#ffffff0a;box-shadow:0 0 16px #ffffff14}.menu-buttons{display:flex;gap:1rem;margin-top:2rem;pointer-events:auto}.skins-btn{margin-top:0;background:transparent;border:1.5px solid rgba(0,255,255,.4);color:#0ff;padding:.6rem 2rem;font-family:inherit;font-size:clamp(.75rem,2vw,.95rem);letter-spacing:.25em;cursor:pointer;transition:all .2s;pointer-events:auto}.skins-btn:hover,.skins-btn:active{background:#00ffff14;box-shadow:0 0 20px #0ff3;border-color:#00ffffb3}.game-over .crash-text{font-size:clamp(2rem,7vw,4rem);font-weight:900;color:#f24;letter-spacing:.12em;text-shadow:0 0 10px #ff2244,0 0 30px #ff2244,0 0 60px rgba(255,34,68,.3)}.game-over .final-score{font-size:clamp(3rem,12vw,6rem);font-weight:900;color:#fff;margin-top:.5rem;text-shadow:0 0 20px rgba(255,255,255,.4)}.game-over .best-score{font-size:clamp(.8rem,2vw,1rem);color:#fff6;letter-spacing:.2em;margin-top:.5rem}.game-over .attempt{font-size:clamp(.6rem,1.5vw,.75rem);color:#ffffff40;letter-spacing:.15em;margin-top:.3rem}.game-over .unlock-msg{margin-top:1rem;padding:.5rem 1.2rem;border:1px solid rgba(255,204,0,.4);color:#fc0;font-size:clamp(.7rem,1.8vw,.85rem);letter-spacing:.15em;animation:glow-gold 1.5s ease-in-out infinite}.dead-buttons{display:flex;gap:1rem;margin-top:2rem;pointer-events:auto}.skins-panel{background:#05050ff0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:auto;gap:1.5rem}.skins-panel h2{font-size:clamp(1.2rem,4vw,1.8rem);color:#0ff;letter-spacing:.3em;text-shadow:0 0 10px rgba(0,255,255,.5)}.skins-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(.5rem,2vw,1rem);max-width:400px;width:90%}.skin-btn{display:flex;flex-direction:column;align-items:center;gap:.4rem;background:#ffffff08;border:2px solid rgba(255,255,255,.08);padding:clamp(.6rem,2vw,1rem);cursor:pointer;color:#fff;font-family:inherit;font-size:clamp(.6rem,1.5vw,.75rem);letter-spacing:.1em;transition:all .2s}.skin-btn.selected{border-color:var(--skin-color);box-shadow:0 0 15px color-mix(in srgb,var(--skin-color) 40%,transparent)}.skin-btn.locked{opacity:.35;cursor:not-allowed}.skin-btn:not(.locked):hover{background:#ffffff0f}.skin-preview{width:clamp(28px,6vw,42px);height:clamp(28px,6vw,42px);background:var(--skin-color);box-shadow:0 0 10px var(--skin-color);border:2px solid rgba(255,255,255,.2)}.lock-req{font-size:.6rem;color:#ffffff80}.back-btn{background:transparent;border:1.5px solid rgba(255,255,255,.25);color:#ffffffb3;padding:.5rem 1.8rem;font-family:inherit;font-size:clamp(.75rem,2vw,.9rem);letter-spacing:.2em;cursor:pointer;transition:all .2s}.back-btn:hover{border-color:#ffffff80;color:#fff}.map-select-panel{background:#05050ff0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:auto;gap:1.5rem}.map-select-panel h2{font-size:clamp(1.2rem,4vw,1.8rem);color:#0ff;letter-spacing:.3em;text-shadow:0 0 10px rgba(0,255,255,.5)}.map-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(.6rem,2vw,1.2rem);max-width:520px;width:92%}.map-card{display:flex;flex-direction:column;align-items:center;gap:.5rem;background:#ffffff08;border:2px solid rgba(255,255,255,.08);padding:clamp(.5rem,1.5vw,.8rem);cursor:pointer;color:#fff;font-family:inherit;font-size:clamp(.55rem,1.4vw,.7rem);letter-spacing:.1em;transition:all .2s}.map-card.selected{border-color:var(--map-ground);box-shadow:0 0 15px color-mix(in srgb,var(--map-ground) 40%,transparent)}.map-card:hover{background:#ffffff0f;border-color:#fff3}.map-preview{position:relative;width:100%;aspect-ratio:16 / 10;overflow:hidden;border:1px solid rgba(255,255,255,.1)}.map-preview-bg{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--map-bg)}.map-preview-ground{position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--map-ground);box-shadow:0 0 6px var(--map-ground),0 -4px 12px color-mix(in srgb,var(--map-ground) 30%,transparent)}.map-preview-obs{position:absolute;bottom:3px}.map-preview-spike{left:30%;width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:9px solid var(--map-spike);filter:drop-shadow(0 0 3px var(--map-spike))}.map-preview-block{right:25%;width:8px;height:8px;background:var(--map-block);box-shadow:0 0 4px var(--map-block)}.map-name{font-weight:700;text-transform:uppercase;letter-spacing:.15em}@keyframes glow-pulse{0%,to{text-shadow:0 0 10px #00ffff,0 0 30px #00ffff}50%{text-shadow:0 0 15px #00ffff,0 0 40px #00ffff,0 0 80px rgba(0,255,255,.3)}}@keyframes blink{0%,to{opacity:1}50%{opacity:.2}}@keyframes glow-gold{0%,to{box-shadow:0 0 5px #fc03}50%{box-shadow:0 0 15px #fc06}}
