html,body{margin:0;padding:0;overflow:hidden;background-color:#050510;font-family:Inter,sans-serif;color:#fff}#canvas{position:fixed;top:0;left:0;width:100vw;height:100vh}#fall-flash{position:fixed;top:0;right:0;bottom:0;left:0;background:#ff1e1e80;pointer-events:none;z-index:15;opacity:0;transition:opacity .3s ease}#speed-vignette{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:4;opacity:0;background:radial-gradient(ellipse at center,transparent 45%,rgba(255,60,0,.55) 100%);transition:opacity .12s ease}#milestone-banner{position:absolute;top:38%;left:50%;transform:translate(-50%);font-family:Outfit,sans-serif;font-size:52px;font-weight:900;letter-spacing:6px;color:#fff;text-shadow:0 0 30px rgba(0,242,254,1),0 0 60px rgba(0,242,254,.5);pointer-events:none;z-index:6;opacity:0;transition:opacity .15s ease;white-space:nowrap}#milestone-banner.show{animation:milestone-pop 1.4s ease forwards}@keyframes milestone-pop{0%{opacity:0;transform:translate(-50%) scale(.7)}15%{opacity:1;transform:translate(-50%) scale(1.08)}30%{transform:translate(-50%) scale(1)}70%{opacity:1}to{opacity:0;transform:translate(-50%) scale(1)}}#crosshair{position:absolute;top:50%;left:50%;width:6px;height:6px;background-color:#ffffffe6;border-radius:50%;transform:translate(-50%,-50%);pointer-events:none;z-index:5;box-shadow:0 0 5px #00000080}#bhop-display{position:absolute;bottom:30px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:2px;pointer-events:none;-webkit-user-select:none;user-select:none;z-index:5;transition:opacity .3s ease}#bhop-label{font-family:Outfit,sans-serif;font-size:11px;font-weight:700;letter-spacing:4px;color:#00f2fe80}#bhop-count{font-family:Outfit,sans-serif;font-size:48px;font-weight:900;color:#00f2fe;text-shadow:0 0 20px rgba(0,242,254,.6);line-height:1;transition:transform .08s ease,color .08s ease}#bhop-display.flash #bhop-count{transform:scale(1.3);color:#fff;text-shadow:0 0 30px rgba(0,242,254,1)}#hp-display{position:absolute;bottom:30px;left:50%;transform:translate(-50%);display:flex;gap:8px;pointer-events:none;z-index:5;margin-bottom:80px}.hp-pip{font-size:28px;color:#f33;text-shadow:0 0 10px rgba(255,50,50,.6);transition:color .2s,transform .2s}.hp-pip.lost{color:#333;text-shadow:none;transform:scale(.7)}#hit-marker{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);font-size:28px;color:#f44;pointer-events:none;z-index:10;opacity:0;transition:opacity .15s ease}#ammo-display{position:absolute;bottom:30px;right:30px;display:flex;flex-direction:column;align-items:flex-end;pointer-events:none;-webkit-user-select:none;user-select:none;z-index:5}#ammo-count{font-family:Outfit,monospace;font-size:48px;font-weight:900;color:#fff;line-height:1;text-shadow:0 0 20px rgba(255,255,255,.3)}#ammo-label{font-family:Outfit,sans-serif;font-size:11px;font-weight:700;letter-spacing:4px;color:#ffffff59}#velocity-display{position:absolute;bottom:30px;left:30px;background:#0a0f1999;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#0fc;padding:12px 24px;font-family:Outfit,monospace;font-size:32px;font-weight:800;border-radius:12px;border:1px solid rgba(255,255,255,.05);box-shadow:0 10px 30px #0000004d;z-index:5;-webkit-user-select:none;user-select:none;pointer-events:none;text-shadow:0 0 10px rgba(0,255,204,.4)}#main-menu{position:absolute;top:0;left:0;width:100vw;height:100vh;background:#05050ad9;backdrop-filter:blur(25px);-webkit-backdrop-filter:blur(25px);display:flex;flex-direction:column;justify-content:center;align-items:center;z-index:20}.logo{font-family:Outfit,sans-serif;font-size:90px;font-weight:900;margin:0;background:linear-gradient(135deg,#00f2fe,#4facfe);-webkit-background-clip:text;-webkit-text-fill-color:transparent;letter-spacing:6px;text-shadow:0px 10px 40px rgba(0,242,254,.2)}.subtitle{font-size:20px;color:#8a90a5;margin-top:0;margin-bottom:60px;letter-spacing:4px;text-transform:uppercase;font-weight:600}.map-container{display:flex;gap:40px}.map-card{width:320px;height:440px;border-radius:20px;position:relative;overflow:hidden;cursor:pointer;transform-style:preserve-3d;transition:all .4s cubic-bezier(.2,.8,.2,1);box-shadow:0 15px 35px #0006;border:1px solid rgba(255,255,255,.08)}.map-card:hover{transform:translateY(-15px) scale(1.02);box-shadow:0 25px 50px #00c8ff33;border-color:#ffffff4d}#btn-fuji:hover{box-shadow:0 25px 50px #ff64964d}.card-bg{position:absolute;top:0;left:0;width:100%;height:100%;transition:all .6s cubic-bezier(.2,.8,.2,1);z-index:1}.classic-bg{background-image:url(/classic.png)}.fuji-bg{background-image:url(/fuji.png)}.map-card .card-bg:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at center,transparent 0%,rgba(0,0,0,.5) 100%)}.map-card:hover .card-bg{transform:scale(1.08)}.card-content{position:absolute;bottom:0;left:0;width:100%;padding:40px 30px 30px;box-sizing:border-box;background:linear-gradient(to top,rgba(0,0,0,.95) 0%,rgba(0,0,0,.6) 50%,transparent 100%);z-index:2;transform:translateY(5px);transition:transform .4s}.map-card:hover .card-content{transform:translateY(0)}.card-content h3{font-family:Outfit,sans-serif;font-size:32px;margin:0 0 12px;color:#fff;font-weight:800;letter-spacing:1px}.card-content p{color:#b0b5c5;font-size:15px;line-height:1.6;margin:0;opacity:.9}.bhop-toggle{display:flex;flex-direction:column;align-items:center;gap:12px;margin-bottom:36px}.toggle-label{font-size:12px;letter-spacing:4px;color:#505565;font-weight:600}.toggle-options{display:flex;background:#ffffff0d;border:1px solid rgba(255,255,255,.08);border-radius:50px;padding:4px;gap:4px}.toggle-btn{padding:10px 28px;border-radius:50px;border:none;background:transparent;color:#505565;font-family:Outfit,sans-serif;font-size:14px;font-weight:700;letter-spacing:2px;cursor:pointer;transition:all .25s ease}.toggle-btn small{font-size:10px;opacity:.7}.toggle-btn.active{background:linear-gradient(135deg,#00f2fe,#4facfe);color:#000}.controls-hint{position:absolute;bottom:40px;color:#505565;font-family:monospace;font-size:14px;letter-spacing:2px}.username-input-wrap{margin-bottom:28px}.username-input{background:#ffffff0d;border:1px solid rgba(255,255,255,.12);border-radius:50px;padding:12px 28px;color:#fff;font-family:Outfit,sans-serif;font-size:16px;font-weight:600;letter-spacing:2px;text-align:center;outline:none;width:260px;transition:border-color .25s,box-shadow .25s}.username-input::placeholder{color:#404558}.username-input:focus{border-color:#00f2fe80;box-shadow:0 0 20px #00f2fe1a}.username-input.shake{border-color:#ff3c3ccc;animation:shake .5s ease}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-8px)}40%{transform:translate(8px)}60%{transform:translate(-6px)}80%{transform:translate(6px)}}#username-display{position:absolute;top:28px;right:30px;color:#ffffff80;font-family:Outfit,sans-serif;font-size:14px;font-weight:700;letter-spacing:3px;text-transform:uppercase;z-index:5;pointer-events:none;-webkit-user-select:none;user-select:none}#blocker{position:absolute;top:0;left:0;width:100vw;height:100vh;background:#05050ab3;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:flex;flex-direction:column;justify-content:center;align-items:center;cursor:pointer;z-index:10}#instructions{-webkit-user-select:none;user-select:none;text-align:center;animation:pulse 2s infinite ease-in-out}.pause-title{font-family:Outfit,sans-serif;font-size:50px;font-weight:900;margin:0 0 15px;letter-spacing:10px;color:#fff}.pause-subtitle{font-size:18px;color:#8a90a5;margin:0;letter-spacing:2px;text-transform:uppercase}@keyframes pulse{0%{opacity:.8;transform:scale(1)}50%{opacity:1;transform:scale(1.02)}to{opacity:.8;transform:scale(1)}}#winner-screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;justify-content:center;align-items:center;background:#050510eb;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}#winner-content{display:flex;flex-direction:column;align-items:center;gap:16px}#winner-crown{font-size:80px;animation:pulse 1s infinite}#winner-title{font-family:Outfit,sans-serif;font-size:52px;font-weight:900;letter-spacing:8px;color:#fff}#winner-name{font-family:Outfit,sans-serif;font-size:72px;font-weight:900;background:linear-gradient(135deg,#00f2fe,#4facfe);-webkit-background-clip:text;-webkit-text-fill-color:transparent}#winner-sub{font-size:18px;letter-spacing:6px;color:#8a90a5;text-transform:uppercase}#winner-restart{margin-top:8px;padding:14px 48px;border-radius:50px;border:none;background:linear-gradient(135deg,#00f2fe,#4facfe);color:#000;font-family:Outfit,sans-serif;font-size:16px;font-weight:900;letter-spacing:3px;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;box-shadow:0 0 30px #00f2fe4d}#winner-restart:hover{transform:scale(1.05);box-shadow:0 0 45px #00f2fe8c}
