:root{--neon-cyan: #00f5ff;--neon-pink: #ff006e;--neon-purple: #bd00ff;--bg-dark: #05050a}.app-container{width:100%;height:100vh;background:#000;display:flex;justify-content:center;align-items:center;font-family:JetBrains Mono,monospace;overflow:hidden}.shake{animation:screen-shake .15s cubic-bezier(.36,.07,.19,.97) both}@keyframes screen-shake{0%,to{transform:translate(0)}25%{transform:translate(-4px,4px)}50%{transform:translate(4px,-4px)}75%{transform:translate(-4px,-4px)}}.viewport{width:800px;height:500px;background:var(--bg-dark);position:relative;overflow:hidden;border:2px solid #1a1a2e;box-shadow:0 0 50px #00f5ff1a}.scanlines{position:absolute;top:0;right:0;bottom:0;left:0;z-index:100;pointer-events:none;background:linear-gradient(to bottom,transparent 50%,rgba(0,245,255,.03) 50%);background-size:100% 4px}.grid-floor{position:absolute;bottom:0;width:200%;height:150px;z-index:1;background-image:linear-gradient(rgba(189,0,255,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(189,0,255,.1) 1px,transparent 1px);background-size:50px 50px;transform:perspective(200px) rotateX(60deg)}.cloud-tag{position:absolute;top:20px;right:20px;font-size:10px;color:var(--neon-cyan);display:flex;align-items:center;gap:8px;z-index:110;background:#00f5ff1a;padding:4px 12px;border-radius:20px}.hud{position:absolute;top:20px;left:20px;right:20px;display:flex;justify-content:space-between;z-index:150}.score-box,.stamina-box{background:#000c;padding:6px 14px;border-left:3px solid var(--neon-cyan);color:var(--neon-cyan);font-size:14px;display:flex;align-items:center;gap:10px;margin-bottom:8px}.stamina-box{border-left-color:var(--neon-purple);color:var(--neon-purple)}.stamina-bar-wrap{width:60px;height:6px;background:#1a1a2e;border-radius:3px;overflow:hidden}.stamina-bar-fill{height:100%;background:var(--neon-purple);box-shadow:0 0 8px var(--neon-purple);transition:width .3s}.stamina-empty{border-left-color:var(--neon-pink);color:var(--neon-pink);animation:pulse .3s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.hp-bar-container{display:flex;align-items:center;gap:10px;background:#000c;padding:6px 12px;border-right:3px solid var(--neon-pink);height:fit-content}.hp-track{width:100px;height:6px;background:#1a1a2e;border-radius:3px;overflow:hidden}.hp-fill{height:100%;background:var(--neon-pink);box-shadow:0 0 10px var(--neon-pink);transition:width .3s}.player{position:absolute;z-index:50;display:flex;justify-content:center;align-items:center}.player-emoji{font-size:30px;filter:drop-shadow(0 0 8px var(--neon-cyan));transition:transform .2s}.dashing .player-emoji{transform:scale(1.4) skew(-15deg);filter:drop-shadow(0 0 15px var(--neon-purple))}.dash-trail{position:absolute;width:100%;height:100%;background:var(--neon-purple);opacity:.4;filter:blur(8px);border-radius:50%;animation:trail-fade .4s forwards}@keyframes trail-fade{0%{transform:scale(1);opacity:.6}to{transform:scale(2);opacity:0}}.platform{position:absolute;background:#1a1a2e;border-top:2px solid var(--neon-cyan);z-index:20}.platform-glow{position:absolute;top:-4px;left:0;width:100%;height:2px;background:var(--neon-cyan);box-shadow:0 0 15px var(--neon-cyan)}.ground-line{position:absolute;left:0;width:100%;height:4px;z-index:10;background:var(--neon-purple);box-shadow:0 0 20px var(--neon-purple)}.monster{position:absolute;width:50px;height:50px;z-index:40;display:flex;flex-direction:column;justify-content:center;align-items:center}.monster.boss{width:85px;height:85px}.monster img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 0 10px var(--neon-pink))}.monster-hp{width:40px;height:4px;background:#000;border:1px solid var(--neon-pink);margin-bottom:4px}.m-hp-fill{height:100%;background:var(--neon-pink)}.overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:200;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#05050af2;display:flex;flex-direction:column;justify-content:center;align-items:center}.glitch-title{font-size:48px;color:#fff;margin-bottom:20px;text-shadow:2px 0 var(--neon-pink),-2px 0 var(--neon-cyan)}.start-btn{background:transparent;border:2px solid var(--neon-cyan);color:var(--neon-cyan);padding:12px 30px;font-size:18px;cursor:pointer;transition:.3s}.start-btn:hover{background:var(--neon-cyan);color:#000;box-shadow:0 0 20px var(--neon-cyan)}.flicker{animation:flicker-anim .1s infinite}@keyframes flicker-anim{0%,to{opacity:1}50%{opacity:.3}}.pulse-icon{animation:pulse-anim 2s infinite}@keyframes pulse-anim{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}
