:root{--neon-cyan: #00f0ff;--neon-purple: #bd00ff;--neon-pink: #ff007a;--dark-bg: #0a0a12;--panel-bg: rgba(16, 16, 28, .75);--border-glow: 1px solid rgba(0, 240, 255, .2)}body{margin:0;padding:0;background-color:var(--dark-bg);color:#fff;font-family:Segoe UI,Roboto,Helvetica,Arial,sans-serif;overflow-x:hidden;-webkit-user-select:none;user-select:none}.game-container{min-height:100vh;display:flex;flex-direction:column;position:relative;overflow:hidden}.game-header{display:flex;justify-content:space-between;align-items:center;padding:15px 30px;background:#05050acc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.05);z-index:10}.logo{display:flex;align-items:center;gap:10px;font-size:1.2rem;font-weight:800;letter-spacing:1px;background:linear-gradient(45deg,var(--neon-cyan),var(--neon-purple));-webkit-background-clip:text;-webkit-text-fill-color:transparent}.logo-icon{width:24px;height:24px}.header-stats{display:flex;align-items:center;gap:20px}.stat-item{display:flex;align-items:center;gap:8px;background:#ffffff0d;padding:6px 14px;border-radius:20px;font-size:.9rem;border:1px solid rgba(255,255,255,.1)}.mute-btn{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);padding:8px;border-radius:50%;cursor:pointer;transition:all .2s ease}.mute-btn:hover{background:#ffffff26;transform:scale(1.05)}.screen{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;z-index:2}.start-screen{max-width:1200px;margin:0 auto;width:100%;justify-content:flex-start;padding-top:40px}.hero-banner{text-align:center;margin-bottom:30px}.title-glow{font-size:3.5rem;font-weight:900;letter-spacing:4px;margin:0;background:linear-gradient(to right,#00f0ff,#ff007a,#bd00ff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:titlePulse 3s infinite alternate}.subtitle{color:#8a8ab0;font-size:1.1rem;margin-top:10px}.section-title{display:flex;align-items:center;gap:8px;font-size:1.1rem;font-weight:700;color:#e2e2ee;align-self:flex-start;margin-bottom:15px;border-left:4px solid var(--neon-cyan);padding-left:10px}.character-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;width:100%;margin-bottom:30px}.char-card{background:var(--panel-bg);border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:20px;cursor:pointer;position:relative;overflow:hidden;transition:all .3s cubic-bezier(.175,.885,.32,1.275)}.char-card:hover:not(.locked){transform:translateY(-5px);border-color:var(--neon-cyan);box-shadow:0 10px 20px #00f0ff26}.char-card.selected{border-color:var(--neon-cyan);background:#00f0ff14;box-shadow:0 0 25px #00f0ff33}.char-emoji-wrapper{width:60px;height:60px;border-radius:50%;background:#ffffff0d;display:flex;align-items:center;justify-content:center;margin-bottom:15px}.char-emoji{font-size:2.2rem}.char-name{font-size:1.4rem;margin:0 0 10px;font-weight:800}.char-stats{display:flex;gap:15px;font-size:.9rem;color:#a0a0c0;margin-bottom:15px}.char-skill{background:#0000004d;padding:10px 12px;border-radius:8px;border-left:3px solid currentColor}.skill-header{display:flex;align-items:center;gap:6px;font-weight:700;font-size:.9rem;margin-bottom:4px}.skill-desc{font-size:.8rem;color:#8a8ab0;margin:0}.locked{opacity:.6;cursor:not-allowed}.lock-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#0a0a12e6;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#a0a0c0;font-size:.9rem;font-weight:600;padding:20px;text-align:center}.stage-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px;width:100%;margin-bottom:40px}.stage-card{height:80px;border-radius:12px;border:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;position:relative;overflow:hidden;transition:all .2s ease}.stage-card:hover:not(.locked){border-color:var(--neon-pink);transform:scale(1.02)}.stage-card.selected{border-color:var(--neon-pink);box-shadow:0 0 15px #ff007a4d}.stage-name{font-weight:700;font-size:1.1rem}.active-badge{font-size:.7rem;background:var(--neon-pink);padding:2px 6px;border-radius:10px;margin-top:4px}.start-btn{background:linear-gradient(135deg,var(--neon-cyan),var(--neon-purple));color:#fff;border:none;padding:16px 45px;font-size:1.3rem;font-weight:800;border-radius:30px;cursor:pointer;display:flex;align-items:center;gap:10px;box-shadow:0 0 30px #00f0ff66;transition:all .3s cubic-bezier(.175,.885,.32,1.275)}.start-btn:hover{transform:scale(1.05);box-shadow:0 0 40px #bd00ff99}.playing-screen{padding:10px;justify-content:space-between}.hud{display:flex;justify-content:space-between;align-items:center;width:100%;max-width:1000px;margin-bottom:10px;background:#0a0a1299;padding:10px 20px;border-radius:12px;border:1px solid rgba(255,255,255,.05)}.player-profile{display:flex;align-items:center;gap:12px}.hud-emoji{font-size:2rem}.hud-char-name{font-weight:700;font-size:1rem}.hp-bar-container{width:160px;height:16px;background:#ffffff1a;border-radius:8px;position:relative;overflow:hidden;margin-top:4px}.hp-bar{height:100%;transition:width .1s ease}.hp-text{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:800}.score-display{display:flex;flex-direction:column;align-items:center;transition:transform .1s ease}.score-display.bump{transform:scale(1.3)}.score-label{font-size:.7rem;color:#8a8ab0;letter-spacing:2px}.score-num{font-size:2.2rem;font-weight:900;color:var(--neon-cyan);text-shadow:0 0 10px var(--neon-cyan)}.difficulty-badge{background:#ff00001a;border:1px solid rgba(255,0,0,.3);padding:6px 15px;border-radius:8px;text-align:center;font-size:.8rem}.difficulty-badge strong{display:block;font-size:1.2rem}.canvas-wrapper{flex:1;width:100%;max-width:1000px;display:flex;align-items:center;justify-content:center;position:relative}canvas{background:transparent;border-radius:16px;box-shadow:0 10px 30px #00000080;border:2px solid rgba(255,255,255,.1)}canvas.shake{animation:shake .3s ease-in-out}.controls-footer{display:flex;justify-content:space-between;align-items:center;width:100%;max-width:1000px;margin-top:10px}.skill-control-panel{flex:1}.skill-btn{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:10px 20px;cursor:pointer;position:relative;overflow:hidden;color:#fff;transition:all .2s ease;width:280px}.skill-btn:hover:not(:disabled){background:#ffffff1a;border-color:var(--neon-cyan)}.skill-btn-content{display:flex;align-items:center;gap:12px;position:relative;z-index:2}.skill-info{text-align:left}.skill-btn-title{display:block;font-weight:700;font-size:.95rem}.skill-btn-hint{display:block;font-size:.75rem;color:#8a8ab0}.cooldown-overlay{position:absolute;bottom:0;left:0;right:0;background:#0009;z-index:1;transition:height .1s linear}.mobile-joystick{display:flex;flex-direction:column;align-items:center;gap:4px}.joy-row{display:flex;gap:4px}.joy-btn{width:44px;height:44px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:8px;color:#fff;font-size:1.1rem;cursor:pointer;display:flex;align-items:center;justify-content:center}.joy-btn:active{background:var(--neon-cyan);color:#000}.gameover-screen{background:#05050ad9;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px)}.gameover-box{background:var(--panel-bg);border:2px solid var(--neon-pink);border-radius:24px;padding:40px;max-width:480px;width:100%;text-align:center;box-shadow:0 0 40px #ff007a40;animation:boxFadeIn .5s cubic-bezier(.175,.885,.32,1.275)}.gameover-title{font-size:3.5rem;font-weight:900;color:var(--neon-pink);text-shadow:0 0 20px rgba(255,0,122,.5);margin:0;letter-spacing:2px}.gameover-subtitle{color:#8a8ab0;margin-top:5px;margin-bottom:30px}.results-card{background:#0000004d;border-radius:16px;padding:20px;margin-bottom:25px}.result-row{display:flex;justify-content:space-between;align-items:center}.new-record-badge{display:flex;align-items:center;justify-content:center;gap:8px;background:#ffd70026;border:1px solid #ffd700;color:gold;border-radius:8px;padding:8px;margin-top:15px;font-size:.9rem;font-weight:700}.unlock-alert{display:flex;align-items:center;justify-content:center;gap:8px;background:#bd00ff26;border:1px solid var(--neon-purple);color:#e2b3ff;border-radius:8px;padding:10px;margin-bottom:25px;font-size:.9rem}.gameover-actions{display:flex;gap:15px}.restart-btn{flex:1;background:linear-gradient(135deg,var(--neon-cyan),var(--neon-purple));color:#fff;border:none;padding:14px;border-radius:12px;font-weight:800;font-size:1.1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:transform .2s ease}.restart-btn:hover{transform:scale(1.03)}.back-btn{flex:1;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:#fff;padding:14px;border-radius:12px;font-weight:700;font-size:1.1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:background .2s ease}.back-btn:hover{background:#ffffff1a}@keyframes titlePulse{0%{transform:scale(1);filter:drop-shadow(0 0 10px rgba(0,240,255,.3))}to{transform:scale(1.02);filter:drop-shadow(0 0 25px rgba(255,0,122,.5))}}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-4px,2px)}20%,40%,60%,80%{transform:translate(4px,-2px)}}@keyframes boxFadeIn{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}@media (max-width: 768px){.title-glow{font-size:2.2rem}.character-grid{grid-template-columns:1fr}.controls-footer{flex-direction:column;gap:15px}.skill-btn{width:100%}}
