:root{--neon-blue: #00d2ff;--neon-purple: #9d50bb;--gold: #ffcc33;--danger: #ff4b2b}body{margin:0;background:#050508;color:#fff;font-family:Inter,system-ui,sans-serif;display:flex;justify-content:center;align-items:center;height:100vh;overflow:hidden}.game-wrapper{padding:10px;background:#111;border-radius:24px;box-shadow:0 0 50px #000c}.game-canvas{position:relative;background:#0a0a0f;border-radius:16px;overflow:hidden}.loading-screen{width:800px;height:500px;display:flex;justify-content:center;align-items:center;color:var(--neon-blue);font-weight:700}.bg-scroll{position:absolute;width:200%;height:100%;opacity:.4}.bg-img{width:100%;height:100%;object-fit:cover}.bg-fallback{width:100%;height:100%;background:linear-gradient(to bottom,#0f0c29,#302b63,#24243e)}.world-layer{position:absolute;width:100%;height:100%;transition:transform .1s ease-out}.platform{position:absolute;border-radius:4px}.ground{background:linear-gradient(180deg,#1a1a2e,#000);border-top:2px solid var(--neon-blue)}.brick{background:#2d3436;border:1px solid #636e72;box-shadow:inset 0 0 10px #00000080}.player{position:absolute;width:40px;height:60px;z-index:10}.player img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 0 5px white)}.shake{animation:shake .2s infinite}.sword-icon{position:absolute;top:0;right:-10px;color:var(--gold);filter:drop-shadow(0 0 5px var(--gold));transform:rotate(45deg)}.attack-slash{position:absolute;width:80px;height:80px;border:4px solid var(--neon-blue);border-radius:50%;top:-10px;left:-20px;animation:slash .3s ease-out forwards}.shrine{position:absolute;width:80px;height:80px;display:flex;justify-content:center;align-items:center}.magic-circle{position:absolute;width:60px;height:60px;border:2px dashed var(--gold);border-radius:50%;animation:rotate 4s linear infinite}.sword-float{width:40px;height:40px;animation:float 2s ease-in-out infinite;filter:drop-shadow(0 0 10px var(--gold))}.monster{position:absolute;width:60px;height:80px;z-index:5}.monster img{width:100%;height:100%;filter:drop-shadow(0 0 15px red)}.monster-placeholder{width:100%;height:100%;background:red;border-radius:10px}.portal{position:absolute;width:80px;height:120px}.portal img{width:100%;height:100%;animation:pulse 2s infinite}.portal-glow{width:100%;height:100%;background:var(--neon-purple);filter:blur(20px);border-radius:50%}.hud-top{position:absolute;top:20px;left:20px;right:20px;display:flex;gap:20px;pointer-events:none}.hud-item{background:#0009;padding:8px 16px;border-radius:12px;display:flex;align-items:center;gap:8px;border:1px solid rgba(255,255,255,.1);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.lv-text{color:var(--neon-blue);font-weight:900}.hud-lives{margin-left:auto;display:flex;gap:5px}.combat-alert{position:absolute;top:80px;left:50%;transform:translate(-50%);background:var(--danger);padding:10px 20px;border-radius:30px;display:flex;align-items:center;gap:10px;font-weight:700;box-shadow:0 0 20px #ff000080}.game-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#000000d9;display:flex;justify-content:center;align-items:center;z-index:100}.menu-box{text-align:center;background:#1a1a24;padding:40px;border-radius:32px;border:1px solid #333}.menu-box h1{font-size:42px;margin:0;background:linear-gradient(to right,var(--neon-blue),var(--neon-purple));-webkit-background-clip:text;-webkit-text-fill-color:transparent}.play-btn{background:#fff;color:#000;border:none;padding:15px 40px;font-size:20px;font-weight:700;border-radius:50px;cursor:pointer;display:flex;align-items:center;gap:10px;margin:30px auto;transition:.2s}.play-btn:hover{transform:scale(1.1);box-shadow:0 0 30px #fff}.controls-hint{font-size:14px;color:#666;margin-bottom:20px}.cloud-status{font-size:12px;color:#4ade80;display:flex;align-items:center;justify-content:center;gap:5px}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes slash{0%{transform:scale(0);opacity:1}to{transform:scale(1.5);opacity:0}}@keyframes shake{0%{transform:translate(1px,1px)}50%{transform:translate(-1px,-1px)}to{transform:translate(1px,1px)}}@keyframes pulse{0%,to{transform:scale(1);opacity:.7}50%{transform:scale(1.1);opacity:1}}.spin{animation:rotate 1s linear infinite}
