@import"https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Inter:wght@400;500;700&display=swap";:root{--bg: #0A0A0A;--surface: #1A1A1A;--primary: #F59E0B;--primary-dark: #D97706;--accent: #FBBF24;--text: #FAFAFA;--text-muted: #A0A0A0;--border: #2A2A2A;--success: #10B981;--warning: #F59E0B;--danger: #EF4444;--radius: 12px;--shadow: 0 12px 36px rgba(0,0,0,.4), 0 0 28px #F59E0B26}body{margin:0;padding:0;background:radial-gradient(ellipse at 50% 100%,#F59E0B26 0%,transparent 60%),radial-gradient(ellipse at 50% 0%,#FBBF241a 0%,transparent 50%),var(--bg);color:var(--text);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;display:flex;justify-content:center;align-items:center;min-height:100vh;overflow:hidden;position:relative;font-size:16px}body:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-image:radial-gradient(circle,rgba(255,255,255,.02) 1px,transparent 1px);background-size:3px 3px;pointer-events:none;z-index:-1}.app-container{background-color:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px;max-width:900px;width:100%;text-align:center;position:relative;overflow:hidden;min-height:600px;display:flex;flex-direction:column;align-items:center;justify-content:center}.cloud-status-indicator{position:absolute;top:10px;right:20px;font-size:.8em;color:var(--text-muted);z-index:100}.loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;width:100%;position:absolute;top:0;left:0;background-color:var(--bg);z-index:100}.loading-text{font-family:Bebas Neue,Inter,sans-serif;font-size:2.5em;color:var(--primary);margin-bottom:20px;text-shadow:0 0 15px var(--primary)}.loading-hint{font-size:1em;color:var(--text-muted);margin-top:10px}.spinner{border:4px solid rgba(255,255,255,.3);border-top:4px solid var(--primary);border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.start-screen,.map-select-screen,.game-over-screen,.pause-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;position:absolute;top:0;left:0;background-color:var(--surface);border-radius:var(--radius);padding:20px;box-sizing:border-box}.game-title{font-family:Bebas Neue,Inter,sans-serif;font-size:4em;color:var(--primary);margin-bottom:10px;text-shadow:0 0 20px var(--accent);letter-spacing:2px}.subtitle{font-size:1.2em;color:var(--text-muted);margin-bottom:30px}.screen-title{font-family:Bebas Neue,Inter,sans-serif;font-size:2.5em;color:var(--accent);margin-bottom:30px;text-shadow:0 0 15px rgba(251,191,36,.5)}.main-button,.back-button,.pause-button{background-color:var(--primary);color:var(--bg);border:none;border-radius:var(--radius);padding:12px 25px;font-size:1.1em;font-weight:700;cursor:pointer;transition:all .2s ease-in-out;display:flex;align-items:center;gap:8px;margin-top:20px;box-shadow:0 0 24px var(--primary)}.main-button:hover{background-color:var(--primary-dark);box-shadow:0 0 30px var(--primary)}.back-button{background-color:var(--text-muted);color:var(--bg);margin-top:15px;box-shadow:none}.back-button:hover{background-color:#888}.pause-button{position:absolute;top:15px;right:15px;width:40px;height:40px;padding:0;display:flex;justify-content:center;align-items:center;background-color:rgba(var(--primary),.7);box-shadow:none}.pause-button:hover{background-color:var(--primary)}.map-cards-container{display:flex;flex-wrap:wrap;gap:20px;justify-content:center;margin-bottom:30px}.map-card{background-color:var(--border);border-radius:var(--radius);padding:20px;width:200px;cursor:pointer;transition:all .2s ease-in-out;text-align:left;position:relative;overflow:hidden;box-shadow:0 4px 15px #0000004d;display:flex;flex-direction:column;align-items:center}.map-card:hover:not(.locked){transform:translateY(-5px);box-shadow:0 8px 20px #0006,0 0 15px var(--accent)}.map-card.locked{opacity:.6;cursor:not-allowed}.map-card h3{font-family:Bebas Neue,Inter,sans-serif;color:var(--primary);margin-top:10px;margin-bottom:5px;font-size:1.8em}.map-card p{color:var(--text-muted);font-size:.9em;line-height:1.4}.map-card-image{width:100%;height:100px;object-fit:cover;border-radius:var(--radius) var(--radius) 0 0;margin-bottom:10px}.map-image-placeholder{width:100%;height:100px;display:flex;justify-content:center;align-items:center;background-color:#00000080;border-radius:var(--radius) var(--radius) 0 0;margin-bottom:10px;color:var(--text-muted)}.locked-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background-color:#000000b3;display:flex;justify-content:center;align-items:center;font-size:1.5em;font-weight:700;color:var(--text);border-radius:var(--radius)}.game-container{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;position:relative}.hud{display:flex;justify-content:space-around;width:100%;padding:10px 0;background-color:#0000004d;border-bottom:1px solid var(--border);position:relative;z-index:10;border-radius:var(--radius) var(--radius) 0 0}.hud-item{display:flex;align-items:center;gap:5px;color:var(--text);font-size:1.1em;font-weight:500}.hud-item.combo{color:var(--accent);font-weight:700;text-shadow:0 0 8px var(--accent)}.game-area{position:relative;width:800px;height:600px;background-color:#000;overflow:hidden;border-radius:0 0 var(--radius) var(--radius);border:2px solid var(--border);box-shadow:inset 0 0 20px #00000080;background-size:cover;background-position:center;cursor:none}.background-particles{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;background:radial-gradient(circle,rgba(255,255,255,.05) 1px,transparent 1px);background-size:10px 10px;animation:particle-flow 30s linear infinite;opacity:.3}@keyframes particle-flow{0%{background-position:0% 0%}to{background-position:100% 100%}}.empty-state-message{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:1.5em;color:var(--text-muted);text-shadow:0 0 5px rgba(0,0,0,.5);pointer-events:none}.player-container{position:absolute;width:60px;height:60px;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:5}.player-image{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 0 8px var(--accent))}.player-fallback{font-size:3em;filter:drop-shadow(0 0 8px var(--accent))}.player-trail{position:absolute;width:40px;height:40px;background:radial-gradient(circle,rgba(251,191,36,.4) 0%,transparent 70%);border-radius:50%;filter:blur(5px);animation:player-trail-fade .5s forwards;pointer-events:none;z-index:-1;transform:translate(-50%,-50%);top:50%;left:50%}@keyframes player-trail-fade{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.5)}}.health-bar-bg{width:80%;height:5px;background-color:#fff3;border-radius:2.5px;margin-top:5px}.health-bar{height:100%;background-color:var(--danger);border-radius:2.5px;transition:width .2s ease-out}.health-bar.low-health{animation:pulse-red 1s infinite alternate}@keyframes pulse-red{0%{box-shadow:0 0 0 var(--danger)}to{box-shadow:0 0 8px var(--danger)}}.full-energy{text-shadow:0 0 8px var(--accent);animation:pulse-yellow 1.5s infinite alternate}@keyframes pulse-yellow{0%{text-shadow:0 0 0px var(--accent)}to{text-shadow:0 0 8px var(--accent)}}.ghost{position:absolute;width:50px;height:50px;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:4}.ghost-image{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 0 5px rgba(255,255,255,.5))}.ghost-fallback{font-size:2.5em;filter:drop-shadow(0 0 5px rgba(255,255,255,.5))}.ghost-health-bar-bg{width:80%;height:3px;background-color:#ffffff1a;border-radius:1.5px;margin-top:3px}.ghost-health-bar{height:100%;background-color:var(--primary);border-radius:1.5px;transition:width .2s ease-out}.obstacle{position:absolute;display:flex;justify-content:center;align-items:center;z-index:3}.obstacle-image{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 0 5px rgba(0,0,0,.5))}.obstacle-fallback{font-size:2em}.projectile{position:absolute;width:30px;height:30px;display:flex;justify-content:center;align-items:center;z-index:7}.projectile-image{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 0 8px var(--primary))}.talisman-projectile{background:radial-gradient(circle,var(--primary) 0%,rgba(245,158,11,.5) 50%,transparent 100%);border-radius:50%;filter:blur(2px)}.skill-bar{display:flex;justify-content:center;gap:15px;padding:15px 0;width:100%;background-color:#0000004d;border-top:1px solid var(--border);border-radius:0 0 var(--radius) var(--radius);margin-top:auto}.skill-button{background-color:var(--surface);color:var(--text);border:2px solid var(--border);border-radius:var(--radius);padding:10px 15px;font-size:.9em;display:flex;flex-direction:column;align-items:center;gap:5px;cursor:pointer;transition:all .2s ease-in-out;position:relative;overflow:hidden;box-shadow:0 2px 10px #0000004d}.skill-icon-img{width:20px;height:20px;object-fit:contain;filter:drop-shadow(0 0 5px var(--accent))}.skill-button:hover:not(.disabled){border-color:var(--primary);box-shadow:0 0 15px var(--primary);transform:translateY(-2px)}.skill-button.disabled{opacity:.5;cursor:not-allowed}.skill-button span{font-weight:500;text-shadow:0 0 5px rgba(0,0,0,.5)}.cooldown-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background-color:#000000b3;display:flex;justify-content:center;align-items:center;font-size:1.2em;font-weight:700;color:var(--text);border-radius:var(--radius)}.skill-effect{position:absolute;border-radius:50%;background-color:rgba(var(--accent),.3);display:flex;justify-content:center;align-items:center;pointer-events:none;z-index:6}.skill-effect.驱魔符{background-color:#f59e0b4d;box-shadow:0 0 20px var(--primary)}.talisman-effect{width:80%;height:80%;object-fit:contain;filter:drop-shadow(0 0 10px var(--primary))}.skill-effect.圣光{background-color:#fbbf2433;box-shadow:0 0 25px var(--accent)}.holy-light-effect{filter:drop-shadow(0 0 10px var(--accent))}.skill-effect.封印阵{background-color:#ef444433;box-shadow:0 0 30px var(--danger)}.seal-array-effect{filter:drop-shadow(0 0 10px var(--danger))}.pause-screen,.game-over-screen{background-color:#000c;z-index:20;gap:15px}.pause-screen h2,.game-over-screen h2{color:var(--primary);font-family:Bebas Neue,Inter,sans-serif;font-size:3em;margin-bottom:20px;text-shadow:0 0 15px var(--primary)}.pause-hint,.gameover-hint{font-size:.9em;color:var(--text-muted);margin-bottom:10px}.game-over-screen p{font-size:1.2em;color:var(--text-muted);margin-bottom:10px}
