/* Author: @Ax3lFlores */:root{--bg-color:#050505;--accent-primary:#008fcc;--accent-secondary:#cc0061;--accent-tertiary:#5d0099;--glass-bg:rgba(10,10,10,0.8);--glass-border:rgba(255,255,255,0.1);--font-heading:'Outfit',sans-serif;--font-body:'Inter',sans-serif;--transition:cubic-bezier(0.4,0,0.2,1)}*{box-sizing:border-box;margin:0;padding:0;user-select:none}body{background:var(--bg-color);color:#fff;font-family:var(--font-body);overflow:hidden;height:100vh;display:flex;justify-content:center;align-items:center}#game-container{position:relative;width:100vw;height:100vh;display:flex;justify-content:center;align-items:center}#game-canvas{width:100%;height:100%;background:#000;display:block;transition:filter .3s ease-in-out}#vignette{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:5;background:radial-gradient(circle,transparent 20%,rgba(200,0,0,0) 60%,rgba(0,0,0,1) 90%);opacity:0;transition:opacity .5s ease}.low-health #vignette{opacity:1;background:radial-gradient(circle,transparent 15%,rgba(150,0,0,0.2) 50%,rgba(60,0,0,0.8) 100%);animation:blood-pulse 1.5s infinite alternate}.low-health #game-canvas{filter:blur(2px) saturate(0.5)}@keyframes blood-pulse{from{opacity:.6}to{opacity:1}}#ui-overlay{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:10}.stats-panel{position:absolute;top:2rem;left:2rem;background:var(--glass-bg);backdrop-filter:blur(12px);border:1px solid var(--glass-border);padding:1rem 1.5rem;border-radius:12px;display:flex;gap:2rem;font-weight:600;pointer-events:auto;font-family:var(--font-heading);letter-spacing:.05em;box-shadow:0 4px 15px rgba(0,0,0,0.5)}.stat-item{font-size:1.1rem;text-transform:uppercase;min-width:140px;display:flex;justify-content:space-between;gap:10px;letter-spacing:.05em;font-family:var(--font-heading)}#health-value,#score-value,#timer-value,#wave-value{font-size:1.1rem;min-width:4rem;display:inline-block;text-align:right;font-family:inherit}#health-value{color:#4cd137;text-shadow:0 0 10px rgba(76,209,55,0.5)}#score-value{color:var(--accent-primary);text-shadow:0 0 10px rgba(0,224,255,0.5)}.modal{position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.85);display:flex;justify-content:center;align-items:center;transition:opacity .4s var(--transition);pointer-events:auto;z-index:100}.modal.hidden{opacity:0;visibility:hidden;pointer-events:none}.modal-content{background:var(--glass-bg);backdrop-filter:blur(20px);border:1px solid var(--glass-border);padding:3rem;border-radius:24px;text-align:center;width:90%;max-width:450px;box-shadow:0 20px 40px rgba(0,0,0,0.4);animation:modalIn .6s var(--transition)}@keyframes modalIn{from{transform:translateY(20px) scale(0.9);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}h1{font-family:var(--font-heading);font-size:4rem;font-weight:900;letter-spacing:-.02em;background:linear-gradient(to bottom,#fff,#888);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:.5rem}.subtitle{font-size:1.2rem;color:var(--accent-primary);text-transform:uppercase;font-weight:600;margin-bottom:2rem;letter-spacing:.1em}.controls-guide{margin:2rem 0;display:flex;flex-direction:column;gap:1rem;text-align:left;max-width:250px;margin-inline:auto}.control{font-size:1rem;color:#ccc;font-weight:500}.control span{background:#2b2b2b;padding:.2rem .6rem;border-radius:6px;color:#fff;margin-right:.5rem;display:inline-block;min-width:3.5rem;text-align:center;font-weight:700;font-size:0.85rem;border-bottom:2px solid #000}.primary-btn{background:var(--accent-primary);color:#000;border:none;padding:1rem 2.5rem;font-size:1.1rem;font-weight:900;border-radius:12px;cursor:pointer;transition:all .3s var(--transition);font-family:var(--font-heading);letter-spacing:.05em;margin-top:1rem}.primary-btn:hover{transform:scale(1.05);box-shadow:0 0 30px rgba(0,224,255,0.4);background:#fff}.danger{color:var(--accent-secondary);text-shadow:0 0 20px rgba(255,0,122,0.4);font-family:var(--font-heading);font-size:3rem;margin-bottom:1rem}.settings-group{margin:15px 0;font-size:1.1rem;display:flex;flex-direction:column;align-items:center;gap:12px}.settings-group label{display:flex;align-items:center;gap:10px}.game-guide{text-align:left;margin:15px 0;padding:0 20px;font-size:.9rem}.game-guide h3{font-size:1rem;color:#00fbff;margin-bottom:8px;text-align:center}.game-guide p{margin:5px 0}.ranking-actions{display:flex;flex-direction:column;gap:10px;margin-top:20px}#ranking-modal .primary-btn{padding:10px 25px;font-size:.9rem}.save-score{margin:15px 0;display:flex;flex-direction:column;gap:10px}.save-score input{background:rgba(0,0,0,0.5);border:1px solid #00fbff;color:#fff;padding:10px;text-align:center;font-family:inherit;border-radius:5px}.ranking-list{margin:20px 0;display:flex;flex-direction:column;gap:10px}.rank-item{padding:10px;background:rgba(255,255,255,0.05);border-radius:5px;display:flex;justify-content:space-between}.rank-item.gold{color:#ffd700;border:1px solid #ffd700}.rank-item.silver{color:#c0c0c0;border:1px solid #c0c0c0}.rank-item.bronze{color:#cd7f32;border:1px solid #cd7f32}#ranking-modal{backdrop-filter:blur(20px)}#horde-alert{display:flex;justify-content:center;align-items:center;pointer-events:none;z-index:200}.no-bg{background:none!important}.horde-text{font-family:'Outfit',sans-serif;font-size:5rem;font-weight:900;color:#ff0044;text-shadow:0 0 20px #ff0044,0 0 40px #ff0044;animation:hordepulse .5s infinite alternate}@keyframes hordepulse{from{transform:scale(1);opacity:.8}to{transform:scale(1.1);opacity:1}}
