@import"https://fonts.googleapis.com/css2?family=Bangers&family=Poppins:wght@400;600&display=swap";*{margin:0;padding:0;box-sizing:border-box}body{font-family:Poppins,sans-serif;background-color:#0a0a0a;color:#e0e0e0;overflow:hidden}#game-container{position:relative;width:100vw;height:100vh;overflow:hidden}#game-canvas{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1}#ui-container{position:absolute;top:0;left:0;width:100%;padding:8px;z-index:2}#game-status{background-color:#000c;padding:8px;border-radius:10px;border:2px solid #4CAF50;display:flex;flex-wrap:wrap;gap:8px;box-shadow:0 4px 8px #00000080;margin-bottom:8px;width:fit-content;max-width:100%}@media (max-width: 768px){#game-status{padding:4px 6px;gap:6px;margin-bottom:6px;font-size:.7rem;justify-content:center;width:100%}#ui-container{padding:5px}#debug-controls{margin-left:0;margin-top:4px;width:100%;display:flex;justify-content:center}#next-wave-control{margin:0 4px}#send-next-wave-button{padding:3px 6px;font-size:.7rem}}#gold,#lives,#wave,#mana-counter{display:flex;align-items:center;font-weight:600}#next-wave-control{display:flex;align-items:center;margin:0 8px}#send-next-wave-button{background-color:#e74c3c;color:#fff;font-weight:700;border:none;padding:6px 12px;border-radius:5px;cursor:pointer;transition:all .2s ease;box-shadow:0 0 5px #0000004d}#send-next-wave-button:hover{background-color:#c0392b;transform:scale(1.05)}#send-next-wave-button:active{transform:scale(.95)}#debug-controls{margin-left:auto}#toggle-card-debug{background-color:#673ab7;color:#fff;border:none;border-radius:5px;padding:5px 10px;cursor:pointer;font-size:14px;transition:all .2s}#toggle-card-debug:hover{background-color:#9c27b0;transform:scale(1.05)}.card-debug-mode #mana-display{background-color:#673ab7cc!important}.card-debug-mode #toggle-card-debug{background-color:#e91e63;box-shadow:0 0 8px #e91e63}#gold:before{content:"💰";margin-right:8px}#lives:before{content:"❤️";margin-right:8px}#wave:before{content:"🌊";margin-right:8px}#mana-counter:before{content:"✨";margin-right:8px}#mana-counter{color:#3498db}@media (max-width: 768px){#mana-counter{display:inline-flex!important}}#tower-selection{background-color:#000c;padding:8px;border-radius:10px;border:2px solid #4CAF50;display:flex;flex-direction:row;flex-wrap:wrap;gap:8px;position:absolute;top:80px;left:8px;box-shadow:0 4px 8px #00000080;width:auto;max-width:250px;z-index:10}#rankings-display{background-color:#000c;padding:8px;border-radius:10px;border:2px solid #4CAF50;position:absolute;top:380px;left:8px;box-shadow:0 4px 8px #00000080;width:auto;max-width:250px;z-index:9}#rankings-display h3{font-size:14px;margin-bottom:5px;color:#4caf50}.ranking-entry{font-size:12px;padding:3px 0;border-bottom:1px solid #333}@media (max-width: 768px){#rankings-display{display:none}}@media (max-width: 768px){#tower-selection{position:fixed;top:68px;left:0;right:0;margin:0 auto;max-width:95%;padding:2px 4px;display:flex;flex-direction:row;flex-wrap:wrap;justify-content:space-between;border-radius:5px;gap:2px}.tower-selection-title{display:none}}.tower-option{padding:8px 12px;background-color:#222;border:2px solid #333333;border-radius:8px;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:space-between;font-weight:600;font-size:.9rem}.tower-option span{margin-left:8px;font-family:Consolas,monospace;background-color:#ffd70033;padding:2px 5px;border-radius:4px;color:gold}@media (max-width: 768px){.tower-option{padding:2px 3px;font-size:.6rem;margin:0;flex:1;min-width:0;text-align:center;justify-content:center;border-width:1px}.tower-option span{margin-left:1px;font-size:.6rem;padding:0 1px;background-color:#ffd70033;border-radius:2px;color:gold}.tower-option:before{padding:1px 3px;margin-right:2px;font-size:.6rem}}.tower-option:before{font-family:monospace;padding:3px 8px;background-color:#4caf50;border-radius:4px;color:#000;margin-right:10px}.tower-option[data-tower=arrow]:before{content:"1"}.tower-option[data-tower=doubleArrow]:before{content:"2"}.tower-option[data-tower=cannon]:before{content:"3"}.tower-option:hover{background-color:#333;transform:translateY(-2px);box-shadow:0 4px 12px #4caf504d}.tower-option.selected{background-color:#4caf50;color:#000;border-color:#2e7d32;transform:translateY(-2px);box-shadow:0 4px 12px #4caf5080}.tower-selection-title{font-family:Bangers,cursive;color:#4caf50;font-size:1.5rem;text-align:center;margin-bottom:10px;text-shadow:2px 2px 4px rgba(0,0,0,.5)}.tower-instructions{font-size:.8rem;color:#aaa;text-align:center;margin-top:8px;padding-top:8px;border-top:1px solid #444}@media (max-width: 768px){.tower-instructions{font-size:.7rem;margin-top:5px;padding-top:5px;width:100%;text-align:center;display:flex;flex-direction:row;flex-wrap:wrap;justify-content:space-around;gap:5px}.tower-instructions div{font-weight:700;display:inline}.tower-instructions .mobile-only{font-size:.65rem;color:#aaa;width:100%}.desktop-only{display:none}.mobile-only{display:block}#tower-selection{flex-wrap:wrap}}.mobile-only,#power-cards{display:none}.power-card{width:100px;height:130px;background-color:#222;border:2px solid #333333;border-radius:10px;cursor:pointer;transition:all .3s ease;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:10px;font-size:.9rem;position:relative;overflow:hidden}.power-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:40px;background:linear-gradient(to bottom,#4CAF50,transparent);opacity:.5}.power-card:after{content:attr(data-cost) + "g";position:absolute;bottom:8px;right:8px;font-size:.8rem;background-color:#000000b3;padding:2px 6px;border-radius:10px;color:gold}.power-card:hover{background-color:#333;transform:translateY(-5px);box-shadow:0 8px 16px #4caf504d}.power-card.cooldown{background-color:#222;cursor:not-allowed;opacity:.5;transform:none;box-shadow:none}.power-card.cooldown:before{background:linear-gradient(to bottom,#666,transparent)}.card-icon{font-size:2rem;margin-bottom:8px}#game-overlay{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;justify-content:center;align-items:center;background-color:#000000d9;z-index:10}#start-screen,#end-screen,#high-scores-screen{background-color:#121212;padding:40px;border-radius:15px;text-align:center;border:3px solid #4CAF50;box-shadow:0 0 30px #4caf5080;max-width:500px;width:90%;position:relative}.ai-disclaimer{font-family:monospace;margin-top:20px;font-size:.9rem;color:#aaa}.ai-disclaimer a{color:#4caf50;text-decoration:none}.ai-disclaimer a:hover{text-decoration:underline}.portal-hint{margin-top:10px;font-size:.8rem;color:#0f0;font-weight:400;text-shadow:0 0 8px rgba(0,255,0,.5);animation:portal-glow 2s infinite alternate}@keyframes portal-glow{0%{text-shadow:0 0 4px rgba(0,255,0,.5)}to{text-shadow:0 0 12px rgba(0,255,0,.8)}}.creator-links{margin-top:15px}.creator-link{color:#aaa9;font-size:.8rem;text-decoration:none;transition:color .3s ease;display:inline-block;margin:0 5px}.creator-link:hover{color:#aaaaaae6}.twitter-link{color:#1da1f2b3}.twitter-link:hover{color:#1da1f2e6}.creator-link-fixed{position:fixed;bottom:10px;right:120px;color:#ffffff80;font-size:.75rem;text-decoration:none;z-index:10000}.creator-link-fixed:hover{color:#4caf50}@media (max-width: 768px){.creator-link-fixed{display:none}}.secondary-button{margin-top:15px;background-color:#333!important;color:#fff!important;border:1px solid #4CAF50!important}.secondary-button:hover{background-color:#444!important}#high-scores-list{margin:20px 0;text-align:left;font-size:16px;color:#e0e0e0;max-height:300px;overflow-y:auto}.score-entry{padding:8px 0;border-bottom:1px solid #333}.score-entry.highlight{color:gold;font-weight:700}#start-screen h1,#end-screen h1,#high-scores-screen h1{font-family:Bangers,cursive;margin-bottom:30px;color:#4caf50;font-size:3rem;text-shadow:3px 3px 5px rgba(0,0,0,.7);letter-spacing:2px;position:relative}#green-title{display:inline-block;color:#0f0;font-size:3.2rem;text-shadow:0 0 15px #00ff00,0 0 25px #00ff00;position:relative;z-index:2;margin-right:5px;font-weight:700;letter-spacing:2px;animation:greenGlow 2s infinite alternate;vertical-align:middle}@keyframes greenGlow{0%{text-shadow:0 0 10px #00ff00,0 0 20px #00ff00}to{text-shadow:0 0 15px #00ff00,0 0 30px #00ff00,0 0 40px #00ff00}}@media (max-width: 768px){#green-title{font-size:2.2rem;letter-spacing:1px;text-shadow:0 0 10px #00ff00,0 0 20px #00ff00}#start-screen h1,#end-screen h1,#high-scores-screen h1{font-size:2rem;margin-bottom:20px}#start-screen,#end-screen,#high-scores-screen{padding:25px 15px;width:95%}}#username{padding:12px 15px;margin-bottom:20px;width:100%;border-radius:8px;border:2px solid #333;background-color:#1a1a1a;color:#e0e0e0;font-family:Poppins,sans-serif;transition:all .3s ease}#username:focus{border-color:#4caf50;outline:none;box-shadow:0 0 10px #4caf5080}button{padding:12px 30px;background-color:#4caf50;color:#000;border:none;border-radius:8px;cursor:pointer;font-size:1.1rem;font-weight:600;font-family:Poppins,sans-serif;transition:all .3s ease;box-shadow:0 4px #2e7d32;position:relative;top:0}button:hover{background-color:#66bb6a;box-shadow:0 6px #2e7d32;transform:translateY(-2px)}button:active{box-shadow:0 0 #2e7d32;transform:translateY(4px)}.hidden{display:none!important}#score-display{margin:20px 0;font-size:1.2rem;color:#4caf50}.key-hint{display:inline-block;background-color:#333;color:#fff;padding:2px 8px;border-radius:4px;margin:0 3px;font-family:monospace;font-size:.9em;border:1px solid #555}#card-container-wrapper{position:fixed;bottom:8px;left:50%;transform:translate(-50%);z-index:1000;overflow:visible;width:auto;max-width:90vw;display:flex;justify-content:center}.card-container{display:flex;gap:8px;padding:8px;background-color:transparent!important;border-radius:10px;overflow-x:auto;overflow-y:hidden;width:100%;-webkit-overflow-scrolling:touch;box-shadow:none!important;border:none!important}@media (max-width: 768px){.card-container{bottom:5px;padding:4px 8px;gap:2px;overflow:visible!important}#card-container-wrapper{width:96vw;max-width:96vw;margin:0 auto}}.card{width:80px;height:120px;background-color:#2c3e50;border-radius:5px;border:2px solid #95a5a6;display:flex;flex-direction:column;padding:5px;cursor:pointer;transition:transform .2s;position:relative;color:#fff;flex-shrink:0}@media (max-width: 768px){.card{width:60px;height:90px;padding:3px}}.card:hover{transform:translateY(-10px)}.card-name{font-size:12px;font-weight:700;margin-bottom:2px;text-align:center}.card-cost{position:absolute;top:5px;right:5px;background-color:#3498db;border-radius:50%;width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700}.card-stats{font-size:10px;margin-bottom:2px}.card-element{font-size:10px;border-radius:3px;padding:2px 5px;margin-bottom:2px;text-align:center}@media (max-width: 768px){.card-name{font-size:11px;margin-bottom:1px;font-weight:700}.card-cost{top:3px;right:3px;width:16px;height:16px;font-size:11px;font-weight:700}.card-stats{font-size:9px;margin-bottom:1px;font-weight:700}.card-element{font-size:9px;padding:1px 3px;margin-bottom:1px;font-weight:700}}.tower-placement-mode .game-canvas{cursor:crosshair}.tcg-enabled #power-cards{display:none}.mana-display{position:absolute;top:-30px;left:50%;transform:translate(-50%);color:#3498db;font-weight:700;font-size:14px;text-shadow:1px 1px 2px rgba(0,0,0,.7);transition:color .5s;background-color:#000c;padding:4px 8px;border-radius:5px;z-index:1001;width:auto;text-align:center}@media (max-width: 768px){.mana-display{display:none}}.mana-display.regenerating{animation:manaRegen 2s infinite}@keyframes manaRegen{0%{color:#3498db}50%{color:#2ecc71}to{color:#3498db}}@keyframes lifeFlash{0%{background-color:#f000}40%{background-color:#f006}to{background-color:#f000}}.life-flash{animation:lifeFlash .6s ease;pointer-events:none;position:fixed;top:0;left:0;width:100%;height:100%;z-index:9999}@keyframes gameOverShake{0%{transform:translate(-50%,-50%) rotate(0)}10%{transform:translate(calc(-50% - 5px),-50%) rotate(-2deg)}20%{transform:translate(calc(-50% + 5px),-50%) rotate(2deg)}30%{transform:translate(calc(-50% - 5px),-50%) rotate(-2deg)}40%{transform:translate(calc(-50% + 5px),-50%) rotate(2deg)}50%{transform:translate(calc(-50% - 5px),-50%) rotate(-2deg)}60%{transform:translate(calc(-50% + 5px),-50%) rotate(2deg)}70%{transform:translate(calc(-50% - 5px),-50%) rotate(-2deg)}80%{transform:translate(calc(-50% + 5px),-50%) rotate(2deg)}90%{transform:translate(calc(-50% - 5px),-50%) rotate(-2deg)}to{transform:translate(-50%,-50%) rotate(0)}}@keyframes gameOverFadeIn{0%{background-color:#0000}to{background-color:#000c}}.game-over-effect{position:fixed;top:0;left:0;width:100%;height:100%;z-index:9998;animation:gameOverFadeIn 2s forwards;pointer-events:none}.game-over-text{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);color:red;font-size:5rem;font-weight:700;font-family:Bangers,cursive;text-shadow:0 0 10px #FF0000;animation:gameOverShake .8s ease;z-index:9999;pointer-events:none}.firework{position:absolute;width:5px;height:5px;border-radius:50%;box-shadow:0 0 10px 5px #fffc;animation:fireworkFade 2s ease-out forwards;opacity:0;transform-origin:center}@keyframes fireworkFade{0%{transform:scale(.1);opacity:1}40%{opacity:1}to{transform:scale(1.5);opacity:0}}.music-button{position:fixed;top:auto;bottom:15px;left:15px;width:50px;height:50px;border-radius:50%;background:#000000b3;border:2px solid #00ff00;color:#0f0;font-size:20px;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:1000;box-shadow:0 0 15px #00ff0080;transition:all .3s ease;animation:musicPulse 2s infinite alternate}.music-button:hover{transform:scale(1.1);box-shadow:0 0 20px #0f0c}.music-button.muted{opacity:.7;border-color:red;color:red;box-shadow:0 0 15px #ff000080;animation:none}@keyframes musicPulse{0%{box-shadow:0 0 10px #00ff0080}to{box-shadow:0 0 20px #0f0c,0 0 30px #00ff004d}}#fx-toggle{top:auto;bottom:8px;left:70px}#music-toggle{top:auto;bottom:8px;left:5px}@media (max-width: 768px){.music-button{width:20px;height:30px;font-size:12px;border-width:2px}#music-toggle{top:27px!important;bottom:auto!important;left:5px!important}#fx-toggle{top:27px;bottom:auto;left:70px}.fps-counter-element{top:30px;right:10px;font-size:12px;padding:3px 6px}}#debug-panel{position:fixed;top:80px;right:20px;width:300px;background-color:#000000d9;border:2px solid #9C27B0;border-radius:10px;padding:15px;color:#fff;z-index:1000;box-shadow:0 0 15px #9c27b066;max-height:80vh;overflow-y:auto}.debug-panel-header{font-size:18px;font-weight:700;color:#9c27b0;margin-bottom:15px;text-align:center;border-bottom:1px solid #9C27B0;padding-bottom:8px}.debug-section{margin-bottom:20px;padding:10px;background-color:#9c27b01a;border-radius:8px}.grid-style-controls{display:flex;flex-direction:column;gap:4px;margin-bottom:10px}.grid-style-controls label{display:flex;align-items:center;cursor:pointer}.grid-style-controls input[type=radio]{margin-right:8px}.grid-options{margin-top:10px}.grid-options label{display:flex;flex-direction:column;gap:6px;width:100%;margin-bottom:10px}.grid-options input[type=range]{width:100%;height:6px;-webkit-appearance:none;background:linear-gradient(to right,#4caf50,#8bc34a);border-radius:3px;outline:none}.grid-options input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:15px;height:15px;border-radius:50%;background:#fff;cursor:pointer;border:2px solid #4CAF50}.grid-options input[type=color]{width:100%;height:30px;-webkit-appearance:none;border:none;border-radius:4px;cursor:pointer;background-color:transparent}.grid-options input[type=color]::-webkit-color-swatch-wrapper{padding:0}.grid-options input[type=color]::-webkit-color-swatch{border:2px solid #4CAF50;border-radius:4px}.section-title{font-size:14px;font-weight:700;margin-bottom:10px;color:#9c27b0}.debug-section label{display:block;margin-bottom:8px;cursor:pointer}.debug-section input[type=checkbox]{margin-right:8px}#toggle-debug-panel{background-color:#9c27b0;margin-left:8px}#toggle-debug-panel:hover{background-color:#7b1fa2}.debug-enemy-controls,.debug-element-controls,.debug-wave-controls{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.debug-enemy-controls button,.debug-wave-controls button{padding:6px 10px;font-size:12px;background-color:#424242;color:#fff;border:none;border-radius:4px;cursor:pointer}.debug-enemy-controls button:hover,.debug-wave-controls button:hover{background-color:#616161}.element-btn{padding:4px 8px;font-size:12px;color:#fff;border:none;border-radius:4px;cursor:pointer}.element-btn.fire{background-color:#e74c3c}.element-btn.water{background-color:#3498db}.element-btn.earth{background-color:#27ae60}.element-btn.air{background-color:#95a5a6}.element-btn.shadow{background-color:#9b59b6}.element-btn.selected{box-shadow:0 0 8px 2px currentColor;transform:scale(1.1)}.debug-enemy-showcase{margin-top:15px;border-top:1px solid rgba(156,39,176,.3);padding-top:15px}#enemy-showcase-container{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;margin-top:10px}.enemy-card{background-color:#2c3e50;border-radius:6px;padding:8px;text-align:center;border:1px solid #3498db}.enemy-card-title{font-size:13px;font-weight:700;margin-bottom:5px}.enemy-card-info{font-size:11px;color:#bdc3c7}.enemy-attributes{margin-top:5px;font-size:10px;display:flex;flex-direction:column;gap:3px}.card-debug-mode #debug-panel{display:block}.card-debug-mode #toggle-debug-panel{display:inline-block}#difficulty-controls{margin-bottom:20px;padding:10px;background-color:#4caf501a;border-radius:8px}#difficulty-controls h3{font-size:16px;font-weight:700;margin-bottom:15px;color:#4caf50;text-align:center}.control-group{margin-bottom:12px}.control-group label{display:flex;flex-direction:column;gap:6px;font-size:14px}.control-group input[type=range]{width:100%;height:6px;-webkit-appearance:none;background:linear-gradient(to right,#2980b9,#27ae60);border-radius:3px;outline:none}.control-group input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:15px;height:15px;border-radius:50%;background:#fff;cursor:pointer;border:2px solid #4CAF50}.debug-button{background-color:#4caf50;color:#fff;padding:6px 10px;font-size:12px;border:none;border-radius:4px;cursor:pointer;margin-top:10px;margin-right:5px}.debug-button:hover{background-color:#2e7d32}#wave-controls{margin-bottom:20px;padding:10px;background-color:#4caf501a;border-radius:8px}#wave-controls h3{font-size:16px;font-weight:700;margin-bottom:15px;color:#4caf50;text-align:center}.wave-settings-table{width:100%;border-collapse:collapse;margin-bottom:15px}.wave-settings-table th,.wave-settings-table td{padding:8px 4px;text-align:center;border-bottom:1px solid rgba(76,175,80,.2)}.wave-settings-table th{color:#4caf50;font-size:12px}.wave-settings-table input{width:50px;padding:3px;background-color:#0000004d;border:1px solid #4CAF50;border-radius:3px;color:#fff;text-align:center}.wave-action-btn{background:none;border:none;cursor:pointer;font-size:12px;padding:2px 4px;color:#e74c3c}.export-import-buttons{display:flex;gap:10px;margin-top:15px;justify-content:center}.fps-counter-element{position:fixed;top:30px;right:10px;z-index:1000}.damage-number{position:absolute;font-family:Bangers,cursive;font-size:20px;color:#fff;text-shadow:1px 1px 2px rgba(0,0,0,.8);pointer-events:none;z-index:100;transform:translateY(0);opacity:1;transition:opacity .5s ease,transform .5s ease}.damage-fire{color:#ff5722;text-shadow:0 0 3px rgba(255,87,34,.6)}.damage-water{color:#2196f3;text-shadow:0 0 3px rgba(33,150,243,.6)}.damage-earth{color:#795548;text-shadow:0 0 3px rgba(121,85,72,.6)}.damage-air{color:#eceff1;text-shadow:0 0 3px rgba(236,239,241,.6)}.damage-shadow{color:#673ab7;text-shadow:0 0 3px rgba(103,58,183,.6)}.damage-critical{font-size:24px!important;font-weight:700;filter:drop-shadow(0 0 5px rgba(255,215,0,.7));animation:criticalPulse .3s ease-in-out}@keyframes criticalPulse{0%{transform:scale(.7)}50%{transform:scale(1.3)}to{transform:scale(1)}}
