:root{--bg-color: #000000;--text-color: #FFFFFF;--text-area-color: #0a0a0a;--border-color: rgba(255, 255, 255, .2);--border-color-strong: rgba(255, 255, 255, .45);--border-color-subtle: rgba(255, 255, 255, .1);--theme-purple: #6a4a8a;--theme-purple-glow: rgba(106, 74, 138, .4);--theme-purple-light: #9a8ab0;--theme-purple-mid: #c4b8d8;--theme-purple-lighter: #e0d0f0;--nav-bg: #0a0515;--theme-purple-a10: rgba(106, 74, 138, .1);--theme-purple-a15: rgba(106, 74, 138, .15);--theme-purple-a20: rgba(106, 74, 138, .2);--theme-purple-a25: rgba(106, 74, 138, .25);--theme-purple-a30: rgba(106, 74, 138, .3);--theme-purple-a35: rgba(106, 74, 138, .35);--theme-purple-a40: rgba(106, 74, 138, .4);--theme-purple-a50: rgba(106, 74, 138, .5);--theme-purple-a60: rgba(106, 74, 138, .6);--theme-purple-a70: rgba(106, 74, 138, .7);--theme-purple-a80: rgba(106, 74, 138, .8);--theme-purple-dark: rgba(42, 26, 58, .3);--theme-purple-dark-hover: rgba(52, 36, 68, .5);--theme-purple-dark-strong: rgba(42, 26, 58, .5);--theme-purple-dark-hover-strong: rgba(52, 36, 68, .7);--nav-bg-a60: rgba(10, 5, 21, .6);--nav-bg-a90: rgba(10, 5, 21, .9);--action-success: #50ff88;--action-success-bg: rgba(0, 180, 80, .25);--action-success-border: rgba(0, 220, 100, .5);--action-warning: #ffcc33;--action-danger: #ff6666;--action-danger-bg: rgba(180, 20, 20, .2);--action-danger-border: rgba(220, 50, 50, .4);--effect-burn: #ff6622;--effect-poison: #44ff22;--effect-slow: #4488ff;--game-primary: #444444;--game-secondary: #666666;--game-accent-orange: #FF9A66;--game-success: #00AA00;--game-error: #AA0000;--game-health: #ff4444;--game-gold: #ffd700;--game-gold-a08: rgba(255, 215, 0, .08);--game-gold-a15: rgba(255, 215, 0, .15);--game-gold-a25: rgba(255, 215, 0, .25);--game-gold-a40: rgba(255, 215, 0, .4);--game-gold-a50: rgba(255, 215, 0, .5);--game-gold-a60: rgba(255, 215, 0, .6);--game-victory: #00ff88;--game-defeat: #ff4444;--game-wave-text: #ff8888;--game-star-filled: #ffd700;--game-star-empty: rgba(255, 255, 255, .2);--enemy-color-basic: #ff4444;--enemy-color-fast: #ffff00;--enemy-color-heavy: #4444ff;--enemy-color-flying: #44ffff;--enemy-color-shield: #4488ff;--enemy-color-boss: #ff00ff;--enemy-color-swarm: #44ff44;--enemy-glow-basic: rgba(255, 68, 68, .6);--enemy-glow-fast: rgba(255, 255, 0, .6);--enemy-glow-heavy: rgba(68, 68, 255, .6);--enemy-glow-flying: rgba(68, 255, 255, .6);--enemy-glow-boss: rgba(255, 0, 255, .7);--enemy-glow-shielded: rgba(68, 136, 255, .6);--enemy-glow-swarm: rgba(68, 255, 68, .6);--tower-color-basic: #ff6600;--tower-color-sniper: #9900ff;--tower-color-splash: #00ff00;--tower-color-slow: #4488ff;--tower-color-chain: #ffdd00;--tower-color-mortar: #664422;--tower-glow-basic: rgba(255, 102, 0, .5);--tower-glow-sniper: rgba(153, 0, 255, .5);--tower-glow-splash: rgba(0, 255, 0, .5);--tower-glow-slow: rgba(68, 136, 255, .6);--tower-glow-chain: rgba(255, 221, 0, .7);--tower-glow-mortar: rgba(255, 100, 34, .4);--score-multiplier: #88aaff;--text-disabled: #8a8a9a;--theme-cyan: #00ffff;--theme-orange: #dd6600;--rainbow-red: #FF0000;--rainbow-orange: #FFA500;--rainbow-yellow: #FFFF00;--rainbow-green: #008000;--rainbow-gold: gold;--panel-blue-bg: rgba(20, 60, 120, .3);--panel-blue-hover: rgba(30, 90, 160, .45);--panel-blue-border: rgba(100, 200, 255, .3);--panel-blue-border-hover: rgba(100, 200, 255, .6);--panel-blue-accent: #88ddff;--panel-neutral-bg: rgba(80, 80, 80, .3);--panel-neutral-hover: rgba(120, 120, 120, .4);--text-muted: rgba(255, 255, 255, .6);--text-dim: rgba(255, 255, 255, .5);--text-faint: rgba(255, 255, 255, .4);--text-subtle: rgba(255, 255, 255, .45);--text-dimmer: rgba(255, 255, 255, .55);--font-size-hero: 3rem;--font-size-large: 2rem;--font-size-title: 1.5rem;--font-size-base: 1rem;--font-size-small: .875rem;--font-size-xs: .75rem;--font-size-2xs: .625rem;--font-size-3xs: .5625rem;--spacing-xs: .3125rem;--spacing-sm: .625rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--border-width-thin: .0625rem;--border-width-medium: .125rem;--border-width-thick: .25rem;--border-radius-sm: .25rem;--border-radius-md: .375rem;--border-radius-lg: .5rem;--shadow-sm: 0 0 .625rem;--shadow-md: 0 0 1.25rem;--shadow-lg: 0 0 2.5rem;--transition-fast: .2s;--transition-medium: .3s;--transition-slow: 1s;--z-index-base: 1;--z-index-overlay: 10;--z-index-modal: 100}@font-face{font-family:Orbitron;src:url(/assets/fonts/orbitron/Orbitron-Regular.ttf);font-weight:400;font-style:normal;font-display:swap}html,body{height:100%;margin:0;padding:0;box-sizing:border-box;overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:var(--font-size-base);color:var(--text-color);background-color:var(--bg-color)}*,*:before,*:after{box-sizing:inherit}app-novarise,app-game,app-landing,app-profile{flex:1;overflow:hidden;display:block}app-campaign{flex:1;overflow:hidden;display:block}h1,h2,h3,h4,h5,h6{margin:0;font-weight:600;line-height:1.2}p{margin:0;line-height:1.5}.text-hero{font-size:var(--font-size-hero)}.text-large{font-size:var(--font-size-large)}.text-title{font-size:var(--font-size-title)}.text-base{font-size:var(--font-size-base)}.text-small{font-size:var(--font-size-small)}.sr-only{position:absolute;width:.0625rem;height:.0625rem;padding:0;margin:-.0625rem;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.tutorial-spotlight{pointer-events:none;position:fixed;inset:0;z-index:900}.tutorial-spotlight:before{content:"";position:fixed;inset:0;background:rgba(0,0,0,.15);pointer-events:none;z-index:-1}.tutorial-card{pointer-events:auto;position:fixed;background:rgba(20,20,35,1);border:1px solid var(--theme-purple, #6a5a9a);border-radius:12px;padding:1.25rem 1.5rem;max-width:380px;width:90%;text-align:center;box-shadow:0 0 20px var(--theme-purple-a40);z-index:901;animation:tutorial-fade-in .3s ease-out}@supports (backdrop-filter: blur(8px)){.tutorial-card{background:rgba(20,20,35,.92);backdrop-filter:blur(8px)}}.tutorial-card--welcome,.tutorial-card--place_tower,.tutorial-card--complete{top:50%;left:50%;transform:translate(-50%,-50%)}.tutorial-card--select_tower{bottom:8rem;left:50%;transform:translate(-50%)}.tutorial-card--start_wave{top:auto;bottom:4rem;right:22rem;left:auto;transform:none}.tutorial-card--upgrade_tower{bottom:8rem;left:50%;right:auto;top:auto;transform:translate(-50%)}.tutorial-card--tip_placement,.tutorial-card--tip_wave_preview,.tutorial-card--tip_upgrade,.tutorial-card--is-tip{top:max(4rem,var(--spacing-xl, 2rem));left:50%;right:auto;bottom:auto;transform:translate(-50%)}.tutorial-card--select_tower:after{content:"";position:absolute;bottom:-8px;left:50%;transform:translate(-50%);border-left:8px solid transparent;border-right:8px solid transparent;border-top:8px solid var(--theme-purple, #6a5a9a)}.tutorial-card--start_wave:after{content:"";position:absolute;right:-8px;top:50%;transform:translateY(-50%);border-top:8px solid transparent;border-bottom:8px solid transparent;border-left:8px solid var(--theme-purple, #6a5a9a)}.tutorial-card--upgrade_tower:after{content:"";position:absolute;bottom:-8px;left:50%;transform:translate(-50%);border-left:8px solid transparent;border-right:8px solid transparent;border-top:8px solid var(--theme-purple, #6a5a9a)}body .tutorial-target-highlight{box-shadow:0 0 0 3px var(--theme-purple-lighter, #c8b8ff),0 0 15px #c8b8ff66;border-radius:8px;animation:tutorial-pulse 1.5s ease-in-out infinite}@keyframes tutorial-pulse{0%,to{box-shadow:0 0 0 3px #c8b8ffcc,0 0 15px #c8b8ff4d}50%{box-shadow:0 0 0 3px #c8b8ff,0 0 25px #c8b8ff99}}@keyframes tutorial-fade-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion: reduce){body .tutorial-target-highlight,.tutorial-card{animation:none}}.tutorial-card__step-indicator{position:absolute;top:.5rem;right:.75rem;font-family:Orbitron,sans-serif;font-size:var(--font-size-3xs, .6rem);color:var(--theme-purple-mid, #8a7ac0)}.tutorial-card__title{font-family:Orbitron,sans-serif;font-size:1rem;color:var(--theme-purple-lighter, #c8b8ff);margin:0 0 .75rem}.tutorial-card__message{font-size:.85rem;color:var(--text-color, #e0e0e0);line-height:1.5;margin:0 0 1rem}.tutorial-card__actions{display:flex;gap:.75rem;justify-content:center}.tutorial-card__btn{padding:.5rem 1.25rem;border-radius:6px;border:1px solid var(--theme-purple, #6a5a9a);font-family:Orbitron,sans-serif;font-size:var(--font-size-2xs, .75rem);cursor:pointer;transition:background .2s,border-color .2s;min-height:2.75rem}.tutorial-card__btn--skip{background:transparent;color:var(--theme-purple-mid, #8a7ac0)}.tutorial-card__btn--skip:hover{background:var(--theme-purple-a20)}.tutorial-card__btn--next{background:var(--theme-purple, #6a5a9a);color:#fff}.tutorial-card__btn--next:hover{background:var(--theme-purple-light, #7a6aaa)}.encyclopedia-panel{position:fixed;right:1rem;top:50%;transform:translateY(-50%);width:min(320px,90vw);max-height:80vh;overflow-y:auto;background:rgba(20,20,35,.95);border:1px solid var(--theme-purple, #6a5a9a);border-radius:8px;padding:1rem;z-index:100;box-sizing:border-box;animation:encyclopedia-in .25s ease-out}.encyclopedia-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.encyclopedia-header h3{font-family:Orbitron,sans-serif;font-size:.85rem;color:var(--theme-purple-lighter, #c8b8f8);margin:0}.encyclopedia-close{background:none;border:none;color:var(--theme-purple-mid, #9a8aca);font-size:1.2rem;cursor:pointer;line-height:1;padding:0;min-width:2.75rem;min-height:2.75rem;display:flex;align-items:center;justify-content:center}.encyclopedia-close:hover{color:var(--theme-purple-lighter, #c8b8f8)}.encyclopedia-entry{display:flex;gap:.5rem;padding:.5rem 0;border-bottom:1px solid var(--theme-purple-a20)}.encyclopedia-entry:last-child{border-bottom:none}.encyclopedia-entry__color{width:1.5rem;height:1.5rem;border-radius:50%;flex-shrink:0;margin-top:.2rem}.encyclopedia-entry__info{display:flex;flex-direction:column;gap:2px}.encyclopedia-entry__name{font-family:Orbitron,sans-serif;font-size:.75rem;font-weight:600;color:var(--theme-purple-lighter, #c8b8f8)}.encyclopedia-entry__desc{font-size:.65rem;color:var(--text-color, #ccc);line-height:1.3}.encyclopedia-entry__stats{display:flex;gap:.5rem;font-size:.6rem;color:var(--theme-purple-mid, #9a8aca);font-family:Orbitron,sans-serif}.encyclopedia-entry__special{font-size:.6rem;color:var(--game-gold, #ffd700);font-style:italic}.encyclopedia-entry__immunity{font-size:.6rem;color:var(--action-danger)}.encyclopedia-tabs{display:flex;gap:.25rem;margin-bottom:.75rem}.encyclopedia-tab{flex:1;background:none;border:1px solid var(--theme-purple-a30);border-radius:4px;color:var(--theme-purple-mid, #9a8aca);font-family:Orbitron,sans-serif;font-size:.65rem;font-weight:600;padding:.35rem 0;cursor:pointer;transition:background .15s,color .15s,border-color .15s;min-height:2.75rem}.encyclopedia-tab:hover{color:var(--theme-purple-lighter, #c8b8f8);border-color:var(--theme-purple, #6a5a9a);background:var(--theme-purple-a15)}.encyclopedia-tab.active{color:var(--theme-purple-lighter, #c8b8f8);border-color:var(--theme-purple, #6a5a9a);background:var(--theme-purple-a30)}.encyclopedia-entry__specs{display:grid;grid-template-columns:auto 1fr;gap:1px .4rem;margin-top:3px}.encyclopedia-entry__spec-label{font-family:Orbitron,sans-serif;font-size:.58rem;color:var(--game-gold, #ffd700);white-space:nowrap}.encyclopedia-entry__spec-desc{font-size:.58rem;color:var(--text-color, #ccc);font-style:italic}.encyclopedia-btn{background:rgba(0,0,0,.75);border-radius:4px;backdrop-filter:blur(.625rem);z-index:var(--z-index-overlay, 10);font-family:Orbitron,sans-serif;width:2.75rem;height:2.75rem;padding:0;border:1px solid var(--theme-purple-a50);color:var(--theme-purple-mid, #9a8aca);font-size:.7rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center}.encyclopedia-btn:hover,.encyclopedia-btn.active{color:var(--theme-purple-lighter, #c8b8f8);border-color:var(--theme-purple, #6a5a9a);background:var(--theme-purple-a25)}@media (max-width: 768px){.encyclopedia-panel{position:fixed;inset:auto 0 0;transform:none;width:100%;max-height:55vh;border-radius:12px 12px 0 0;z-index:200;animation:encyclopedia-mobile-in .25s ease-out}}@keyframes encyclopedia-mobile-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 480px){.encyclopedia-panel{bottom:var(--tower-bar-height, 6.5rem);max-height:calc(100vh - var(--tower-bar-height, 6.5rem) - 4rem);padding:.5rem;font-size:var(--font-size-3xs)}.encyclopedia-header{margin-bottom:.35rem}.encyclopedia-header h3{font-size:.7rem}.encyclopedia-tabs{gap:.2rem;margin-bottom:.35rem}.encyclopedia-tab{font-size:.5rem;padding:.25rem .5rem}.encyclopedia-entry{padding:.3rem;gap:.2rem;margin-bottom:.25rem}.encyclopedia-entry__name{font-size:.6rem}.encyclopedia-entry__stats{font-size:.45rem;gap:.3rem}.encyclopedia-entry__desc{font-size:.4rem}.encyclopedia-entry__specs{gap:.15rem}.encyclopedia-entry__spec-label{font-size:.45rem}.encyclopedia-entry__spec-desc{font-size:.4rem}}@media (max-width: 768px){.tutorial-card{max-width:90vw}.tutorial-card--select_tower{bottom:7rem}.tutorial-card--start_wave{right:auto;left:50%;bottom:8rem;transform:translate(-50%);max-width:280px}.tutorial-card--upgrade_tower{max-width:280px}.tutorial-card__btn{padding:.75rem 1.5rem;font-size:.8rem;min-height:2.75rem}}@media (max-width: 480px){.tutorial-card{max-width:85vw}.tutorial-card--select_tower{bottom:6rem}.tutorial-card--start_wave,.tutorial-card--upgrade_tower{right:auto;left:50%;transform:translate(-50%);top:auto;bottom:8rem;max-width:85vw}.tutorial-card--start_wave:after,.tutorial-card--upgrade_tower:after{display:none}.tutorial-card__actions{flex-direction:column;gap:.5rem}.tutorial-card__btn{width:100%}}.campaign-level-info{display:flex;flex-wrap:wrap;align-items:center;gap:.375rem .625rem;padding:.5rem .75rem;margin-bottom:.25rem;background:var(--theme-purple-a20);border:1px solid var(--theme-purple-a50);border-radius:6px}.campaign-level-info__number{font-family:Orbitron,sans-serif;font-size:.65rem;font-weight:700;color:var(--theme-purple-lighter, #c8b8ff);text-transform:uppercase;letter-spacing:.06em}.campaign-level-info__name{font-family:Orbitron,sans-serif;font-size:.75rem;font-weight:700;color:#fff;flex:1 1 100%}.campaign-level-info__tier{font-size:.6rem;color:var(--theme-purple-mid, #8a7ac0);letter-spacing:.08em;text-transform:uppercase}.campaign-level-info__waves{font-size:.6rem;color:var(--theme-purple-mid, #8a7ac0)}.hud-level-name{font-family:Orbitron,sans-serif;font-size:.55rem;font-weight:600;color:#c8b8ffa6;text-transform:uppercase;letter-spacing:.07em;align-self:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:8rem}@media (max-width: 480px){.hud-level-name{display:none}}.board-container .game-hud{background:rgba(0,0,0,.75);border-radius:var(--border-radius-md);backdrop-filter:blur(.625rem);z-index:var(--z-index-overlay);font-family:Orbitron,sans-serif;position:absolute;top:var(--spacing-md);left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:0;padding:var(--spacing-sm) var(--spacing-lg);border:var(--border-width-thin) solid var(--border-color);-webkit-user-select:none;user-select:none}@media (max-width: 768px){.board-container .game-hud{padding:var(--spacing-xs) var(--spacing-md);font-size:var(--font-size-small)}}.board-container .game-hud .hud-stats-row{display:flex;gap:var(--spacing-lg);align-items:center}@media (max-width: 768px){.board-container .game-hud .hud-stats-row{gap:var(--spacing-md)}}.board-container .game-hud .challenge-indicators{display:flex;flex-wrap:wrap;gap:.25rem;justify-content:center;margin-top:.25rem;padding-top:.25rem;border-top:1px solid var(--border-color-subtle);width:100%}.board-container .game-hud .challenge-indicator{font-family:Orbitron,sans-serif;font-size:.625rem;font-weight:600;letter-spacing:.03rem;padding:.125rem .5rem;border-radius:1rem;border:1px solid currentColor;white-space:nowrap}.board-container .game-hud .challenge-indicator.passing{color:var(--action-success);background:rgba(0,180,80,.1)}.board-container .game-hud .challenge-indicator.failing{color:var(--action-danger);background:var(--action-danger-bg)}@media (max-width: 480px){.board-container .game-hud .challenge-indicator{font-size:.5625rem;padding:.0625rem .375rem}}.board-container .game-hud .hud-stat{position:relative;display:flex;flex-direction:column;align-items:center;gap:.125rem}.board-container .game-hud .hud-stat.secondary{opacity:.7}.board-container .game-hud .hud-stat.secondary .hud-value{font-size:var(--font-size-small)}.board-container .game-hud .hud-stat .hud-label{font-size:.625rem;text-transform:uppercase;letter-spacing:.0625rem;color:#ffffff80}.board-container .game-hud .hud-stat .hud-value{font-size:var(--font-size-base);font-weight:700;color:var(--text-color)}.board-container .game-hud .hud-stat .hud-value.lives{color:var(--game-health)}.board-container .game-hud .hud-stat .hud-value.lives.critical{animation:pulse-critical .5s ease-in-out infinite alternate}.board-container .game-hud .hud-stat .hud-value.gold{color:var(--game-gold)}.board-container .game-hud .hud-stat .hud-value.gold-pulse,.board-container .game-hud .hud-stat .hud-value.score-pulse{animation:hud-value-pulse var(--transition-fast, .3s) ease-out}.board-container .game-hud .hud-stat .gold-change{position:absolute;top:-.25rem;left:50%;transform:translate(-50%);font-family:Orbitron,sans-serif;font-size:.625rem;font-weight:700;color:var(--game-gold);pointer-events:none;white-space:nowrap;animation:gold-change-float var(--transition-fast, .3s) ease-out forwards}.board-container .game-hud .hud-stat.speed-run-active{opacity:1!important}.board-container .game-hud .hud-stat.speed-run-active .speed-run-label{color:var(--game-accent-orange)}.board-container .game-hud .hud-stat.speed-run-active .speed-run-timer{color:var(--game-accent-orange);font-variant-numeric:tabular-nums}.board-container .game-hud .hud-stat.speed-run-active .speed-run-timer.warning{color:var(--game-health);animation:pulse-critical .5s ease-in-out infinite alternate}.board-container .game-hud .hud-stat.speed-run-active .speed-run-timer.critical{color:var(--game-health);animation:pulse-critical .3s ease-in-out infinite alternate;font-size:var(--font-size-base);font-weight:900}@media (max-width: 768px){.board-container .game-hud .hud-stat .hud-label{font-size:.5625rem}.board-container .game-hud .hud-stat .hud-value{font-size:var(--font-size-small)}}@media (max-width: 480px){.board-container .game-hud{gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-xs);font-size:.625rem;max-width:calc(100vw - 1.5rem)}.board-container .game-hud .hud-stats-row{gap:var(--spacing-xs)}.board-container .game-hud .hud-stat.secondary{display:none}.board-container .game-hud .hud-stat .hud-label{font-size:.5rem;letter-spacing:0}.board-container .game-hud .hud-stat .hud-value{font-size:.6875rem}}@keyframes hud-value-pulse{0%{transform:scale(1)}40%{transform:scale(1.2)}to{transform:scale(1)}}@keyframes gold-change-float{0%{opacity:1;transform:translate(-50%) translateY(0)}to{opacity:0;transform:translate(-50%) translateY(-1rem)}}@media (prefers-reduced-motion: reduce){.board-container .game-hud .hud-stat .hud-value.gold-pulse,.board-container .game-hud .hud-stat .hud-value.score-pulse,.board-container .game-hud .hud-stat .gold-change{animation:none}}body.reduce-motion .board-container .game-hud .hud-stat .hud-value.gold-pulse,body.reduce-motion .board-container .game-hud .hud-stat .hud-value.score-pulse,body.reduce-motion .board-container .game-hud .hud-stat .gold-change{animation:none}.victory-level{display:flex;align-items:center;gap:.5rem;justify-content:center;margin:.25rem 0 .75rem}.victory-level__label{font-family:Orbitron,sans-serif;font-size:.65rem;font-weight:700;color:var(--theme-purple-lighter, #c8b8ff);text-transform:uppercase;letter-spacing:.08em;padding:.2rem .5rem;background:var(--theme-purple-a25);border:1px solid var(--theme-purple-a50);border-radius:4px}.victory-level__name{font-family:Orbitron,sans-serif;font-size:.85rem;font-weight:700;color:#ffffffe6}.level-card__unlock-req{font-size:.7rem;color:#c8b8ffa6;margin:.25rem 0 0;line-height:1.4}.campaign-challenges-preview{margin-bottom:.5rem;padding:.5rem .75rem;background:rgba(40,30,70,.5);border:1px solid var(--theme-purple-a35);border-radius:6px}.campaign-challenges-preview__title{font-family:Orbitron,sans-serif;font-size:.6rem;font-weight:700;color:var(--theme-purple-lighter, #c8b8ff);text-transform:uppercase;letter-spacing:.07em;margin:0 0 .375rem}.campaign-challenges-preview__list{display:flex;flex-direction:column;gap:.3rem}.challenge-preview-item{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;column-gap:.5rem;padding:.3rem .4rem;background:var(--theme-purple-a10);border:1px solid var(--theme-purple-a25);border-radius:4px;transition:opacity .2s}.challenge-preview-item--completed{opacity:.45}.challenge-preview-item__name{font-family:Orbitron,sans-serif;font-size:.6rem;font-weight:600;color:#ffffffe6;grid-column:1;grid-row:1}.challenge-preview-item__desc{font-size:.58rem;color:#c8b8ffd9;grid-column:1;grid-row:2;line-height:1.3}.challenge-preview-item__bonus{font-family:Orbitron,sans-serif;font-size:.6rem;font-weight:700;color:var(--game-gold, #ffd700);grid-column:2;grid-row:1 / 3;align-self:center;white-space:nowrap}.challenges-result{margin:.5rem 0 .625rem;padding:.5rem .75rem;background:rgba(30,20,60,.6);border:1px solid var(--theme-purple-a40);border-radius:6px;text-align:left}.challenges-result__title{font-family:Orbitron,sans-serif;font-size:.65rem;font-weight:700;color:var(--theme-purple-lighter, #c8b8ff);text-transform:uppercase;letter-spacing:.07em;margin:0 0 .4rem}.challenge-result-item{display:flex;align-items:center;gap:.5rem;padding:.2rem 0;font-size:.7rem}.challenge-result-item__status{font-size:.75rem;font-weight:700;min-width:1rem;text-align:center}.challenge-result-item--passed .challenge-result-item__status{color:#4caf50}.challenge-result-item--failed{opacity:.5}.challenge-result-item--failed .challenge-result-item__status{color:#f44336}.challenge-result-item__name{flex:1;color:#ffffffe6}.challenge-result-item__bonus{font-family:Orbitron,sans-serif;font-size:.65rem;font-weight:700;color:var(--game-gold, #ffd700);white-space:nowrap}@media (max-width: 480px){.campaign-challenges-preview{padding:.4rem .6rem}.challenge-preview-item{padding:.25rem .35rem}.challenges-result{padding:.4rem .6rem}}.wave-preview-new{font-family:Orbitron,sans-serif;font-size:.5rem;font-weight:700;color:var(--game-gold, #ffd700);background:var(--game-gold-a15);border:1px solid var(--game-gold-a40);border-radius:3px;padding:1px 4px;align-self:center;letter-spacing:.05em}.wave-enemy-badges{display:flex;flex-wrap:wrap;gap:.2rem;margin-top:.15rem;width:100%}.wave-enemy-badge{font-size:var(--font-size-3xs);padding:.05rem .25rem;border-radius:var(--border-radius-sm);font-weight:600;line-height:1.4;white-space:nowrap}.wave-enemy-badge.badge-info{background:var(--theme-purple-a20);color:var(--text-dim)}.wave-enemy-badge.badge-warning{background:rgba(255,165,0,.15);color:var(--game-accent-orange)}.wave-enemy-badge.badge-danger{background:rgba(255,68,68,.15);color:var(--game-health)}.toast-stack{position:fixed;bottom:5rem;right:1rem;display:flex;flex-direction:column-reverse;gap:.5rem;z-index:500;pointer-events:none}.toast{padding:.75rem 1rem;border-radius:8px;min-width:200px;max-width:320px;pointer-events:auto;cursor:pointer;animation:toast-slide-in .3s ease-out;font-family:Orbitron,sans-serif;color:#fff}.toast--achievement{background:var(--game-gold-a15);border:1px solid var(--game-gold-a50)}.toast--streak{background:rgba(0,255,255,.1);border:1px solid rgba(0,255,255,.4)}.toast--challenge{background:rgba(180,100,255,.15);border:1px solid rgba(180,100,255,.4)}.toast--info{background:rgba(200,200,255,.1);border:1px solid rgba(200,200,255,.3)}.toast__title{display:block;font-size:.7rem;font-weight:700;color:inherit}.toast__message{display:block;font-size:.6rem;color:#fffc;margin-top:2px}@keyframes toast-slide-in{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@media (prefers-reduced-motion: reduce){.toast{animation:none}}@media (max-width: 768px){.toast-stack{left:.5rem;right:.5rem;bottom:6rem}.toast{max-width:none;min-height:2.75rem}}@media (max-width: 480px){.toast-stack{bottom:calc(var(--tower-bar-height, 7.75rem) + .5rem)}}.board-container .game-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.7);z-index:var(--z-index-modal);animation:fade-in .5s ease}.board-container .overlay-content{text-align:center;padding:var(--spacing-2xl);border-radius:var(--border-radius-lg);backdrop-filter:blur(1rem);animation:scale-in .4s cubic-bezier(.34,1.56,.64,1);max-width:min(32rem,90vw);max-height:90vh;overflow-y:auto;width:100%}.board-container .overlay-content.victory{background:rgba(0,100,0,.3);border:var(--border-width-medium) solid rgba(0,255,0,.4);box-shadow:0 0 2.5rem #00ff0026}.board-container .overlay-content.victory h2{color:var(--game-victory)}.board-container .overlay-content.defeat{background:rgba(100,0,0,.3);border:var(--border-width-medium) solid rgba(255,0,0,.4);box-shadow:0 0 2.5rem #ff000026}.board-container .overlay-content.defeat h2{color:var(--game-defeat)}.board-container .overlay-content h2{font-family:Orbitron,sans-serif;font-size:var(--font-size-hero);margin-bottom:var(--spacing-md);text-transform:uppercase;letter-spacing:.25rem}.board-container .overlay-content .final-score{font-family:Orbitron,sans-serif;font-size:var(--font-size-large);color:var(--game-gold);margin-bottom:var(--spacing-lg)}.board-container .overlay-content .star-display{display:flex;justify-content:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg)}.board-container .overlay-content .overlay-star{font-size:2.5rem;line-height:1;transition:transform .2s ease}.board-container .overlay-content .overlay-star.filled{color:var(--game-star-filled);text-shadow:0 0 .75rem var(--game-gold-a60);opacity:0;animation:star-reveal .4s ease-out forwards}.board-container .overlay-content .overlay-star.filled.star-1{animation-delay:.3s}.board-container .overlay-content .overlay-star.filled.star-2{animation-delay:.8s}.board-container .overlay-content .overlay-star.filled.star-3{animation-delay:1.3s}.board-container .overlay-content .overlay-star.empty{color:var(--game-star-empty);opacity:.35}@keyframes star-reveal{0%{transform:scale(0);opacity:0}50%{transform:scale(1.3);opacity:1}70%{transform:scale(.9)}to{transform:scale(1);opacity:1}}@media (prefers-reduced-motion: reduce){.board-container .overlay-content .overlay-star.filled{animation:none;opacity:1}}.board-container .overlay-content .score-breakdown{display:flex;flex-direction:column;gap:var(--spacing-xs);margin-bottom:var(--spacing-lg);min-width:18rem;text-align:left}@media (max-width: 768px){.board-container .overlay-content .score-breakdown{min-width:14rem}}.board-container .overlay-content .score-row{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-xs) 0;border-bottom:var(--border-width-thin) solid rgba(255,255,255,.08);font-family:Orbitron,sans-serif;font-size:var(--font-size-small)}.board-container .overlay-content .score-row.final{border-bottom:none;border-top:var(--border-width-medium) solid rgba(255,255,255,.2);margin-top:var(--spacing-xs);padding-top:var(--spacing-sm)}.board-container .overlay-content .score-label{color:#ffffff8c;text-transform:uppercase;letter-spacing:.0313rem}.board-container .overlay-content .score-value{color:var(--text-color);font-weight:600}.board-container .overlay-content .score-value.multiplier{color:var(--score-multiplier)}.board-container .overlay-content .score-value.final-value{color:var(--game-gold);font-size:var(--font-size-large);font-weight:700}.board-container .overlay-content .achievements-unlocked{margin-bottom:var(--spacing-lg)}.board-container .overlay-content .achievements-title{font-family:Orbitron,sans-serif;font-size:var(--font-size-small);color:var(--game-gold);text-transform:uppercase;letter-spacing:.0625rem;margin-bottom:var(--spacing-sm)}.board-container .overlay-content .achievement-list{display:flex;flex-direction:column;gap:var(--spacing-xs)}.board-container .overlay-content .achievement-badge{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-sm);background:var(--game-gold-a08);border:var(--border-width-thin) solid var(--game-gold-a25);border-radius:var(--border-radius-sm);animation:scale-in .4s cubic-bezier(.34,1.56,.64,1)}.board-container .overlay-content .achievement-icon{font-size:1.25rem}.board-container .overlay-content .achievement-info{display:flex;flex-direction:column;text-align:left}.board-container .overlay-content .achievement-name{font-family:Orbitron,sans-serif;font-size:var(--font-size-small);color:var(--game-gold);font-weight:600}.board-container .overlay-content .achievement-desc{font-size:var(--font-size-tiny);color:#ffffff80}.board-container .overlay-content .overlay-actions{display:flex;gap:var(--spacing-md);justify-content:center}.board-container .overlay-content .results-btn{padding:var(--spacing-sm) var(--spacing-xl);background:var(--theme-purple-a20);border:var(--border-width-medium) solid var(--theme-purple-a50);border-radius:var(--border-radius-md);color:var(--text-color);font-family:Orbitron,sans-serif;font-size:var(--font-size-base);cursor:pointer;transition:all var(--transition-medium) ease}.board-container .overlay-content .results-btn:hover{background:var(--theme-purple-a30);border-color:var(--theme-purple-a80)}.board-container .overlay-content .results-btn--primary{background:var(--theme-purple-a50);border-color:var(--theme-purple-light);box-shadow:0 0 8px var(--theme-purple-glow)}.board-container .overlay-content .results-btn--primary:hover{background:var(--theme-purple-a70);box-shadow:0 0 14px var(--theme-purple-glow)}.board-container .overlay-content .results-btn--secondary{color:var(--theme-purple-lighter)}.board-container .overlay-content .results-btn--secondary:hover{background:var(--theme-purple-a30);border-color:var(--theme-purple-a80)}.board-container .overlay-content .results-btn--tertiary{color:var(--theme-purple-mid)}.board-container .overlay-content .results-btn--tertiary:hover{background:var(--theme-purple-a20);border-color:var(--theme-purple-a80);color:var(--theme-purple-lighter)}@media (max-width: 768px){.board-container .game-overlay .overlay-content{padding:var(--spacing-xl);max-width:90vw}.board-container .game-overlay .overlay-content h2{font-size:var(--font-size-title);letter-spacing:var(--spacing-xs)}.board-container .game-overlay .overlay-content .final-score{font-size:var(--font-size-base);margin-bottom:var(--spacing-md)}.board-container .game-overlay .overlay-content .overlay-actions{flex-wrap:wrap;justify-content:center}.board-container .game-overlay .overlay-content .overlay-actions .results-btn{min-height:2.75rem}}@media (max-width: 480px){.board-container .game-overlay{align-items:flex-end}.board-container .game-overlay .overlay-content{width:100%;max-width:100%;max-height:85vh;overflow-y:auto;padding:var(--spacing-xl) var(--spacing-md);border-radius:var(--border-radius-lg) var(--border-radius-lg) 0 0;border-left:none;border-right:none;border-bottom:none}.board-container .game-overlay .overlay-content h2{font-size:var(--font-size-large);letter-spacing:var(--spacing-xs);margin-bottom:var(--spacing-sm)}.board-container .game-overlay .overlay-content .final-score{font-size:var(--font-size-base);margin-bottom:var(--spacing-md)}.board-container .game-overlay .overlay-content .overlay-actions{flex-direction:column;gap:var(--spacing-sm)}.board-container .game-overlay .overlay-content .overlay-actions .results-btn{width:100%;padding:var(--spacing-sm) var(--spacing-md);min-height:2.75rem}}.board-container .pause-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.65);z-index:var(--z-index-modal);cursor:pointer;animation:fade-in .2s ease}@supports (backdrop-filter: blur(4px)){.board-container .pause-overlay{backdrop-filter:blur(4px)}}.board-container .pause-menu{cursor:default;background:var(--panel-blue-bg, #1a1a2e);border:1px solid var(--theme-purple, #6a5a9a);border-radius:var(--border-radius-md);box-shadow:0 0 2rem var(--theme-purple-a50, rgba(106, 90, 154, .5));padding:1.5rem 2rem;width:min(22rem,90vw);display:flex;flex-direction:column;gap:1.25rem;font-family:Orbitron,sans-serif}@media (max-width: 480px){.board-container .pause-menu{padding:1rem;width:min(20rem,95vw);gap:.75rem}.board-container .pause-menu__title{font-size:var(--font-size-large);letter-spacing:.2rem}.board-container .pause-menu__stats{grid-template-columns:1fr 1fr;gap:.3rem .5rem;padding:.5rem 0}}.board-container .pause-menu__title{font-size:var(--font-size-hero);color:var(--text-color);text-transform:uppercase;letter-spacing:.4rem;text-shadow:0 0 1.5rem var(--theme-purple-a50);margin:0;text-align:center}.board-container .pause-menu__stats{display:grid;grid-template-columns:1fr 1fr;gap:.5rem 1rem;border-top:1px solid rgba(255,255,255,.1);border-bottom:1px solid rgba(255,255,255,.1);padding:.75rem 0}.board-container .pause-stat{display:flex;flex-direction:column;gap:.2rem}.board-container .pause-stat__label{font-size:var(--font-size-xs, .65rem);color:#ffffff73;text-transform:uppercase;letter-spacing:.05rem}.board-container .pause-stat__value{font-size:var(--font-size-small, .8rem);color:var(--text-color);font-weight:600}.board-container .pause-menu__settings{display:flex;flex-direction:column;gap:.75rem}.board-container .pause-setting{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.board-container .pause-setting__label{font-size:var(--font-size-xs, .65rem);color:#ffffff8c;text-transform:uppercase;letter-spacing:.05rem;flex-shrink:0}.board-container .pause-setting__btn{font-family:Orbitron,sans-serif;font-size:var(--font-size-xs, .65rem);background:rgba(255,255,255,.08);color:var(--text-color);border:1px solid rgba(255,255,255,.2);border-radius:var(--border-radius-sm);padding:.4rem .875rem;min-height:2.75rem;cursor:pointer;transition:background var(--transition-fast) ease,border-color var(--transition-fast) ease}.board-container .pause-setting__btn:hover{background:rgba(255,255,255,.14);border-color:var(--theme-purple-a80)}@media (max-width: 768px){.board-container .pause-setting__btn{min-height:2.75rem}}.board-container .pause-speed-btns{display:flex;gap:.375rem}.board-container .pause-speed-btn{font-family:Orbitron,sans-serif;font-size:var(--font-size-xs, .65rem);background:rgba(255,255,255,.08);color:var(--text-color);border:1px solid rgba(255,255,255,.2);border-radius:var(--border-radius-sm);padding:.4rem .625rem;min-height:2.75rem;cursor:pointer;transition:background var(--transition-fast) ease,border-color var(--transition-fast) ease}.board-container .pause-speed-btn:hover{background:rgba(255,255,255,.14);border-color:var(--theme-purple-a80)}.board-container .pause-speed-btn.pause-speed-btn--active{background:var(--theme-purple-a30);border-color:var(--theme-purple-a80);color:var(--theme-purple-lighter)}@media (max-width: 768px){.board-container .pause-speed-btn{min-height:2.75rem}}.board-container .pause-menu__actions,.board-container .pause-menu__quit-confirm{display:flex;flex-direction:column;gap:.625rem}.board-container .quit-confirm__text{font-size:var(--font-size-small, .8rem);color:#ffffffb3;text-align:center;margin:0 0 .25rem;font-family:Orbitron,sans-serif}.board-container .quit-confirm__actions{display:flex;flex-direction:column;gap:.625rem}.board-container .pause-action{font-family:Orbitron,sans-serif;font-size:var(--font-size-small, .8rem);border-radius:var(--border-radius-sm);padding:.75rem 1rem;min-height:2.75rem;cursor:pointer;transition:background var(--transition-fast) ease,border-color var(--transition-fast) ease;text-align:center;letter-spacing:.05rem}@media (max-width: 768px){.board-container .pause-action{min-height:2.75rem}}.board-container .pause-action.pause-action--primary{background:var(--theme-purple, #6a5a9a);color:#fff;border:1px solid var(--theme-purple-lighter, #9a8aca)}.board-container .pause-action.pause-action--primary:hover{background:var(--theme-purple-lighter, #9a8aca)}.board-container .pause-action.pause-action--quit{background:transparent;color:#ffffff8c;border:1px solid rgba(255,255,255,.2)}.board-container .pause-action.pause-action--quit:hover{background:rgba(255,80,80,.15);border-color:#ff505073;color:#ffb4b4e6}.board-container .pause-menu__auto-hint{font-size:var(--font-size-xs, .65rem);color:#ffc850bf;text-align:center;margin:0 0 .25rem;letter-spacing:.03rem}.board-container .pause-menu__hint{font-size:var(--font-size-xs, .65rem);color:#ffffff4d;text-align:center;margin:0;letter-spacing:.05rem}.board-container .wave-preview{background:rgba(0,0,0,.82);border-radius:var(--border-radius-md);backdrop-filter:blur(.625rem);z-index:var(--z-index-overlay);font-family:Orbitron,sans-serif;position:fixed;top:8rem;left:50%;transform:translate(-50%);min-width:12rem;padding:var(--spacing-md) var(--spacing-lg);border:var(--border-width-thin) solid var(--theme-purple-a50);border-radius:var(--border-radius-lg);animation:wave-preview-in .2s ease-out;pointer-events:none;text-align:center;max-height:min(45vh,350px);overflow-y:auto}@media (max-width: 768px){.board-container .wave-preview{min-width:10rem}}@media (max-width: 480px){.board-container .wave-preview{position:absolute;top:var(--spacing-md);left:var(--spacing-xs);right:auto;transform:none;font-size:var(--font-size-3xs);padding:.2rem .4rem;min-width:auto;max-width:55%;max-height:25vh;text-align:left;border-radius:var(--border-radius-sm)}.board-container .wave-preview .wave-preview-header{align-items:flex-start;margin-bottom:.15rem;gap:0}.board-container .wave-preview .wave-preview-list{gap:.1rem}.board-container .wave-preview .wave-income{font-size:var(--font-size-3xs);padding:.1rem 0;margin-top:.1rem}}.board-container .wave-preview .wave-preview-header{text-align:center;display:flex;flex-direction:column;margin-bottom:var(--spacing-sm)}.board-container .wave-preview .wave-preview-header .wave-number{font-size:var(--font-size-large);font-weight:700;text-transform:uppercase;letter-spacing:.15rem;color:var(--text-color)}@media (max-width: 480px){.board-container .wave-preview .wave-preview-header .wave-number{font-size:.875rem;letter-spacing:.05rem;margin:0}}.board-container .wave-preview .wave-income{display:flex;justify-content:center;animation:fade-in .2s ease-out;gap:var(--spacing-sm);margin-top:var(--spacing-xs);padding-top:var(--spacing-xs);border-top:var(--border-width-thin) solid rgba(255,255,255,.08);font-size:var(--font-size-xs)}.board-container .wave-preview .wave-income .income-item{font-weight:600}.board-container .wave-preview .wave-income .reward{color:var(--action-warning)}.board-container .wave-preview .wave-income .interest{color:var(--action-success)}.board-container .wave-preview .wave-preview-header .wave-template-description{font-size:var(--font-size-2xs);color:var(--theme-purple);text-transform:none;letter-spacing:.04rem;font-weight:600;margin-top:.125rem}.board-container .wave-preview .wave-preview-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.25rem}.board-container .wave-preview .wave-preview-entry{display:flex;align-items:center;flex-wrap:wrap;gap:var(--spacing-xs);font-size:var(--font-size-small)}.board-container .wave-preview .enemy-dot{width:.5rem;height:.5rem;border-radius:50%;flex-shrink:0}.board-container .wave-preview .enemy-dot[data-type=basic]{background:var(--enemy-color-basic);box-shadow:0 0 4px var(--enemy-glow-basic)}.board-container .wave-preview .enemy-dot[data-type=fast]{background:var(--enemy-color-fast);box-shadow:0 0 4px var(--enemy-glow-fast)}.board-container .wave-preview .enemy-dot[data-type=heavy]{background:var(--enemy-color-heavy);box-shadow:0 0 4px var(--enemy-glow-heavy)}.board-container .wave-preview .enemy-dot[data-type=swift]{background:var(--enemy-color-flying);box-shadow:0 0 4px var(--enemy-glow-flying)}.board-container .wave-preview .enemy-dot[data-type=boss]{background:var(--enemy-color-boss);box-shadow:0 0 4px var(--enemy-glow-boss)}.board-container .wave-preview .enemy-dot[data-type=shielded]{background:var(--enemy-color-shield);box-shadow:0 0 4px var(--enemy-glow-shielded)}.board-container .wave-preview .enemy-dot[data-type=swarm]{background:var(--enemy-color-swarm);box-shadow:0 0 4px var(--enemy-glow-swarm)}.board-container .wave-preview .enemy-count{color:var(--text-color);font-weight:700;min-width:2rem;text-align:right}.board-container .wave-preview .enemy-label{color:#ffffffbf;text-transform:uppercase;letter-spacing:.03125rem}.board-container .wave-preview .wave-btn{display:flex;flex-direction:column;align-items:center;gap:.125rem;width:100%;margin-top:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:rgba(255,255,255,.06);border:var(--border-width-thin) solid rgba(255,255,255,.2);border-radius:var(--border-radius-md);color:var(--text-color);font-size:var(--font-size-title);cursor:pointer;pointer-events:auto;transition:all var(--transition-medium) ease}.board-container .wave-preview .wave-btn:hover{background:rgba(255,255,255,.12);border-color:#ffffff80;transform:scale(1.03)}.board-container .wave-preview .wave-btn:active{transform:scale(.98)}.board-container .wave-preview .wave-btn .wave-hint{font-size:.5rem;color:#ffffff4d;text-transform:uppercase;letter-spacing:.05rem}@media (max-width: 768px){.board-container .wave-preview .wave-btn{min-height:2.75rem}}@media (max-width: 480px){.board-container .wave-preview .wave-btn{padding:.5rem 1rem;font-size:var(--font-size-xs);min-height:2.75rem;margin-top:.35rem;pointer-events:auto;width:100%}}@keyframes wave-preview-in{0%{opacity:0;transform:translate(-50%) translateY(-4px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes mode-indicator-in{0%{opacity:0;transform:translate(-50%) translateY(10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@keyframes encyclopedia-in{0%{opacity:0;transform:translateY(-50%) translate(16px)}to{opacity:1;transform:translateY(-50%) translate(0)}}@keyframes scale-up-in{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@keyframes wave-clear-in{0%{opacity:0;transform:translate(-50%,-50%) scale(.8)}20%{opacity:1;transform:translate(-50%,-50%) scale(1.05)}80%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-50%) scale(1)}}@keyframes wave-start-pulse{0%{transform:scale(1)}50%{transform:scale(1.2)}to{transform:scale(1)}}.board-container .wave-clear-banner{position:absolute;top:40%;left:50%;transform:translate(-50%,-50%);font-size:var(--font-size-hero);font-family:Orbitron,sans-serif;font-weight:700;color:var(--text-color);text-shadow:0 0 20px rgba(0,0,0,.8);animation:wave-clear-in 2s ease-out forwards;pointer-events:none;z-index:var(--z-index-overlay);white-space:nowrap}.board-container .wave-clear-banner.perfect{color:var(--game-gold)}@media (max-width: 480px){.board-container .wave-clear-banner{font-size:var(--font-size-large);white-space:normal;max-width:90vw;text-align:center}}.wave-start-pulse{animation:wave-start-pulse var(--transition-medium) ease-out}@media (prefers-reduced-motion: reduce){.board-container .mode-indicator,.encyclopedia-panel,.board-container .wave-preview .wave-income,.board-container .pause-overlay,.board-container .tower-info-panel .spec-choice-panel,.board-container .wave-preview,.board-container .wave-clear-banner,.wave-start-pulse{animation:none!important}}body.reduce-motion .tutorial-target-highlight,body.reduce-motion .tutorial-card,body.reduce-motion .toast,body.reduce-motion .board-container .overlay-content .overlay-star.filled,body.reduce-motion .board-container .mode-indicator,body.reduce-motion .encyclopedia-panel,body.reduce-motion .board-container .wave-preview .wave-income,body.reduce-motion .board-container .pause-overlay,body.reduce-motion .board-container .tower-info-panel .spec-choice-panel,body.reduce-motion .board-container .wave-preview,body.reduce-motion .board-container .wave-clear-banner,body.reduce-motion .wave-start-pulse{animation:none!important}body.reduce-motion .board-container .overlay-content .overlay-star.filled{opacity:1}.board-container .tower-info-panel{background:rgba(0,0,0,.85);border-radius:var(--border-radius-md);backdrop-filter:blur(.75rem);z-index:var(--z-index-overlay);font-family:Orbitron,sans-serif;position:absolute;bottom:calc(var(--spacing-lg) + var(--tower-bar-height));left:50%;transform:translate(-50%);min-width:14rem;padding:var(--spacing-md);border:var(--border-width-thin) solid var(--theme-purple-a50);animation:scale-in .2s ease-out}@media (max-width: 768px){.board-container .tower-info-panel{min-width:12rem;bottom:calc(var(--spacing-md) + var(--tower-bar-height))}}@media (max-width: 480px){.board-container .tower-info-panel{min-width:auto;width:calc(100vw - 1rem);left:.5rem;transform:none;bottom:calc(var(--spacing-xs) + var(--tower-bar-height));padding:var(--spacing-sm);font-size:var(--font-size-3xs)}}.board-container .tower-info-panel .tower-info-header{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm);padding-bottom:var(--spacing-xs);border-bottom:var(--border-width-thin) solid var(--border-color)}.board-container .tower-info-panel .tower-info-name{font-size:var(--font-size-base);font-weight:700;color:var(--text-color);text-transform:uppercase;letter-spacing:.0625rem}.board-container .tower-info-panel .tower-info-level{display:flex;gap:.125rem}.board-container .tower-info-panel .level-star{font-size:.75rem;color:var(--game-star-filled)}.board-container .tower-info-panel .level-star.empty{color:var(--game-star-empty)}.board-container .tower-info-panel .tower-info-close{margin-left:auto;background:none;border:none;color:#ffffff80;font-size:var(--font-size-large);cursor:pointer;padding:0 var(--spacing-xs);line-height:1}.board-container .tower-info-panel .tower-info-close:hover{color:var(--text-color)}.board-container .tower-info-panel .tower-info-stats{display:flex;flex-direction:column;gap:var(--spacing-xs);margin-bottom:var(--spacing-sm)}.board-container .tower-info-panel .stat-row{display:flex;justify-content:space-between;font-size:var(--font-size-small)}.board-container .tower-info-panel .stat-label{color:#ffffff80;text-transform:uppercase;letter-spacing:.0313rem}.board-container .tower-info-panel .stat-value{color:var(--text-color);font-weight:600}.board-container .tower-info-panel .stat-value.status-effect{text-transform:capitalize}.board-container .tower-info-panel .stat-value.status-effect[data-effect=BURN]{color:var(--effect-burn)}.board-container .tower-info-panel .stat-value.status-effect[data-effect=POISON]{color:var(--effect-poison)}.board-container .tower-info-panel .stat-value.status-effect[data-effect=SLOW]{color:var(--effect-slow)}.board-container .tower-info-panel .stat-preview{color:var(--theme-cyan, #00ffff);font-weight:600;font-size:var(--font-size-2xs);opacity:.8}.board-container .tower-info-panel .stat-preview:before{content:"\2192\a0";color:#ffffff4d}.board-container .tower-info-panel .tower-info-targeting{margin-bottom:var(--spacing-xs)}.board-container .tower-info-panel .targeting-btn{width:100%;padding:var(--spacing-xs) var(--spacing-sm);border:var(--border-width-thin) solid rgba(100,180,255,.3);border-radius:var(--border-radius-sm);background:rgba(30,80,140,.3);color:#8cf;font-size:.6875rem;cursor:pointer;transition:all var(--transition-medium) ease;text-align:center}.board-container .tower-info-panel .targeting-btn:hover{background:rgba(40,100,180,.45);border-color:#64b4ff99}.board-container .tower-info-panel .tower-info-actions{display:flex;gap:var(--spacing-sm)}.board-container .tower-info-panel .upgrade-btn,.board-container .tower-info-panel .sell-btn{flex:1;padding:var(--spacing-xs) var(--spacing-sm);border:var(--border-width-thin) solid var(--border-color);border-radius:var(--border-radius-sm);font-size:.6875rem;cursor:pointer;transition:all var(--transition-medium) ease}.board-container .tower-info-panel .upgrade-btn{background:rgba(0,100,0,.3);border-color:#00ff004d;color:#8f8}.board-container .tower-info-panel .upgrade-btn:hover{background:rgba(0,150,0,.4);border-color:#0f09}.board-container .tower-info-panel .upgrade-btn.unaffordable{opacity:.4;cursor:not-allowed;color:var(--game-health)}.board-container .tower-info-panel .upgrade-tile-percent{color:var(--theme-orange, #dd6600);font-size:var(--font-size-2xs, .65rem);margin-left:.25rem;opacity:.9}.board-container .tower-info-panel .sell-btn{background:rgba(100,50,0,.3);border-color:#ffc8004d;color:var(--game-gold)}.board-container .tower-info-panel .sell-btn:hover{background:rgba(150,75,0,.4);border-color:#ffc80099}.board-container .tower-info-panel .sell-btn.confirm{background:rgba(200,50,0,.5);border-color:#ff6400cc;color:var(--game-health);animation:pulse-warn .5s ease-in-out infinite alternate}@keyframes pulse-warn{0%{opacity:.8}to{opacity:1}}.board-container .tower-info-panel .max-level-badge{flex:1;display:flex;align-items:center;justify-content:center;font-size:.6875rem;color:var(--game-gold);text-transform:uppercase;letter-spacing:.0625rem}.board-container .tower-info-panel .spec-choice-panel{display:flex;flex-direction:column;gap:var(--spacing-xs);animation:scale-up-in .2s ease-out}.board-container .tower-info-panel .spec-choice-header{font-size:var(--font-size-small);color:var(--game-gold);text-transform:uppercase;letter-spacing:.0625rem;text-align:center;margin-bottom:var(--spacing-xs)}.board-container .tower-info-panel .spec-btn{display:flex;flex-direction:column;gap:var(--border-width-medium);padding:var(--spacing-sm);border:var(--border-width-thin) solid var(--panel-blue-border);border-radius:var(--border-radius-sm);background:var(--panel-blue-bg);cursor:pointer;transition:all var(--transition-medium) ease;text-align:left;min-height:2.75rem}.board-container .tower-info-panel .spec-btn:hover{background:var(--panel-blue-hover);border-color:var(--panel-blue-border-hover)}.board-container .tower-info-panel .spec-btn.unaffordable{opacity:.4;cursor:not-allowed}.board-container .tower-info-panel .spec-label{font-size:var(--font-size-xs);font-weight:700;color:var(--panel-blue-accent);text-transform:uppercase;letter-spacing:.0313rem}.board-container .tower-info-panel .spec-desc{font-size:var(--font-size-2xs);color:var(--text-muted)}.board-container .tower-info-panel .spec-stats{font-size:var(--font-size-3xs);color:var(--text-faint);font-family:monospace}.board-container .tower-info-panel .spec-cancel-btn{padding:var(--spacing-xs);border:var(--border-width-thin) solid var(--border-color);border-radius:var(--border-radius-sm);background:var(--panel-neutral-bg);color:var(--text-dim);font-size:var(--font-size-2xs);cursor:pointer;transition:all var(--transition-medium) ease;min-height:2.75rem}.board-container .tower-info-panel .spec-cancel-btn:hover{background:var(--panel-neutral-hover);color:var(--text-color)}.board-container .setup-panel{background:rgba(0,0,0,.85);border-radius:var(--border-radius-md);backdrop-filter:blur(.625rem);z-index:var(--z-index-overlay);font-family:Orbitron,sans-serif;position:absolute;top:var(--spacing-md);right:var(--spacing-md);width:min(18rem,35vw);max-height:calc(100vh - var(--spacing-xl));overflow-y:auto;display:flex;flex-direction:column;gap:var(--spacing-sm);padding:var(--spacing-md);border:var(--border-width-thin) solid var(--theme-purple-a50);animation:scale-in .2s ease-out}.board-container .setup-panel,.encyclopedia-panel,.editor-modal-list{scrollbar-width:thin;scrollbar-color:var(--theme-purple-a50, rgba(106, 90, 154, .5)) transparent}.board-container .setup-panel::-webkit-scrollbar,.encyclopedia-panel::-webkit-scrollbar,.editor-modal-list::-webkit-scrollbar{width:8px}.board-container .setup-panel::-webkit-scrollbar-track,.encyclopedia-panel::-webkit-scrollbar-track,.editor-modal-list::-webkit-scrollbar-track{background:rgba(0,0,0,.2)}.board-container .setup-panel::-webkit-scrollbar-thumb,.encyclopedia-panel::-webkit-scrollbar-thumb,.editor-modal-list::-webkit-scrollbar-thumb{background:var(--theme-purple-a50, rgba(106, 90, 154, .5));border-radius:4px}.board-container .setup-panel::-webkit-scrollbar-thumb:hover,.encyclopedia-panel::-webkit-scrollbar-thumb:hover,.editor-modal-list::-webkit-scrollbar-thumb:hover{background:var(--theme-purple-a70, rgba(106, 90, 154, .7))}.board-container .setup-section-label{font-size:var(--font-size-2xs);text-transform:uppercase;letter-spacing:.1rem;color:var(--text-dim);font-weight:600}.board-container .setup-section-toggle{font-family:Orbitron,sans-serif;font-size:var(--font-size-2xs);text-transform:uppercase;letter-spacing:.1rem;color:var(--text-dim);font-weight:600;background:none;border:none;padding:.25rem 0;cursor:pointer;width:100%;text-align:left;display:flex;align-items:center;gap:.3rem}.board-container .setup-section-toggle:hover{color:var(--text-color)}.board-container .setup-section-toggle .toggle-arrow{font-size:.7rem}.board-container .setup-difficulty-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-xs)}.board-container .setup-difficulty-info{font-size:var(--font-size-2xs);color:var(--text-dim);opacity:.75;text-align:center}.board-container .setup-diff-btn{padding:var(--spacing-xs) var(--spacing-sm);background:transparent;border:var(--border-width-thin) solid var(--border-color);border-radius:var(--border-radius-sm);color:var(--text-color);font-size:var(--font-size-xs);font-weight:700;text-transform:uppercase;cursor:pointer;transition:all var(--transition-fast) ease;min-height:2.75rem}.board-container .setup-diff-btn:hover{background:var(--theme-purple-a20);border-color:var(--theme-purple-a80)}.board-container .setup-diff-btn.selected{background:var(--theme-purple-a30);border-color:var(--theme-purple);color:var(--theme-purple-lighter);box-shadow:0 0 var(--spacing-xs) var(--theme-purple-a50)}.board-container .setup-endless{display:flex;align-items:center;gap:var(--spacing-xs);cursor:pointer;font-size:var(--font-size-small);color:var(--text-color);padding:var(--spacing-xs) 0;border-top:var(--border-width-thin) solid var(--border-color)}.board-container .setup-endless input[type=checkbox]{accent-color:var(--theme-purple);width:1rem;height:1rem;cursor:pointer}.board-container .setup-modifier-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-xs)}.board-container .setup-mod-btn{padding:var(--spacing-xs);background:transparent;border:var(--border-width-thin) solid var(--border-color);border-radius:var(--border-radius-sm);color:var(--text-color);font-size:var(--font-size-3xs);font-weight:600;text-transform:uppercase;cursor:pointer;transition:all var(--transition-fast) ease;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-height:2.75rem;display:flex;align-items:center;justify-content:center}.board-container .setup-mod-btn:hover{background:var(--theme-purple-a20);border-color:var(--theme-purple-a80)}.board-container .setup-mod-btn.active{background:var(--theme-purple-a30);border-color:var(--theme-purple);color:var(--theme-purple-lighter)}.board-container .setup-score{font-size:var(--font-size-small);font-weight:700;color:var(--theme-purple-lighter);text-align:center}.board-container .setup-start-btn{width:100%;padding:var(--spacing-sm) var(--spacing-md);border:var(--border-width-medium) solid var(--action-success-border);border-radius:var(--border-radius-md);background:var(--action-success-bg);color:var(--action-success);font-size:var(--font-size-small);font-weight:700;letter-spacing:.05em;cursor:pointer;transition:all var(--transition-fast) ease}.board-container .setup-start-btn:hover{background:rgba(0,180,80,.35);box-shadow:0 0 var(--spacing-sm) #00ff6440}@media (max-width: 1024px){.board-container .setup-panel{width:min(16rem,30vw)}}@media (max-width: 768px){.board-container .setup-panel{position:absolute;top:auto;bottom:calc(var(--spacing-md) + var(--tower-bar-height));left:auto;right:var(--spacing-sm);width:min(16rem,55vw);max-height:calc(100vh - var(--tower-bar-height) - 4rem);overflow-y:auto;padding:var(--spacing-sm);gap:var(--spacing-xs)}.board-container .setup-difficulty-grid{grid-template-columns:repeat(4,1fr)}.board-container .setup-diff-btn,.board-container .setup-mod-btn{padding:.25rem;font-size:var(--font-size-3xs);min-height:2.75rem}.board-container .setup-endless{font-size:var(--font-size-2xs);padding:.25rem 0}.board-container .setup-modifier-grid{grid-template-columns:repeat(2,1fr)}.board-container .setup-start-btn{padding:var(--spacing-xs);font-size:var(--font-size-2xs)}}@media (max-width: 480px){.board-container .setup-panel{position:fixed;top:auto;right:0;bottom:var(--tower-bar-height);left:0;width:100%;max-height:calc(100vh - var(--tower-bar-height) - 4rem);border-radius:var(--border-radius-lg) var(--border-radius-lg) 0 0;border-bottom:none;padding:.25rem .5rem .5rem;overflow-y:auto;gap:.2rem;transform:none}.board-container .setup-panel .setup-section-label{font-size:.5rem;margin-bottom:.1rem;letter-spacing:.05rem}.board-container .setup-panel .campaign-level-info{padding:.15rem .35rem;gap:.2rem .4rem;margin-bottom:.1rem}.board-container .setup-panel .campaign-level-info__number{font-size:.5rem}.board-container .setup-panel .campaign-level-info__name{font-size:.6rem;flex:0 1 auto}.board-container .setup-panel .campaign-level-info__tier,.board-container .setup-panel .campaign-level-info__waves{font-size:.4rem}.board-container .setup-panel .campaign-challenges-preview{padding:.2rem .3rem;gap:.15rem}.board-container .setup-panel .campaign-challenges-preview__title{font-size:.5rem;margin-bottom:.1rem;letter-spacing:.05rem}.board-container .setup-panel .challenge-preview-item{padding:.15rem .3rem;font-size:.5rem;gap:.2rem}.board-container .setup-panel .challenge-preview-item__name{font-size:.65rem}.board-container .setup-panel .challenge-preview-item__desc{font-size:.55rem;color:#c8b8ff}.board-container .setup-panel .challenge-preview-item__bonus{font-size:.6rem}.board-container .setup-difficulty-grid{gap:.15rem}.board-container .setup-difficulty-info{font-size:.4rem;margin:.05rem 0}.board-container .setup-modifier-grid{gap:.15rem}.board-container .setup-diff-btn,.board-container .setup-mod-btn{min-height:2rem;font-size:.45rem;padding:.1rem .2rem}.board-container .setup-start-btn{position:sticky;bottom:0;min-height:2.5rem;font-size:.65rem;padding:.25rem;z-index:1}}.game-minimap{position:absolute;inset:auto auto 12px 12px;border:2px solid rgba(138,92,246,.5);border-radius:4px;z-index:100;pointer-events:none;box-shadow:0 0 8px #8a5cf640,inset 0 0 0 1px #ffffff0f;overflow:hidden;transition:opacity .3s ease}@media (max-width: 480px){.game-minimap{bottom:auto!important;top:3.5rem!important;left:0!important;right:auto!important}.board-container .wave-hint{display:none}}.board-container .game-controls{background:rgba(0,0,0,.75);border-radius:var(--border-radius-md);backdrop-filter:blur(.625rem);z-index:var(--z-index-overlay);font-family:Orbitron,sans-serif;position:absolute;bottom:var(--spacing-lg);right:var(--spacing-lg);display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-sm);border:var(--border-width-thin) solid var(--border-color)}@media (max-width: 768px){.board-container .game-controls{bottom:var(--spacing-md);right:var(--spacing-md);gap:var(--spacing-xs);padding:var(--spacing-xs);flex-direction:column;align-items:stretch}.board-container .game-controls .speed-controls{justify-content:center}}.board-container .game-controls .speed-controls{display:flex;gap:.25rem}.board-container .game-controls .control-btn{display:flex;align-items:center;justify-content:center;padding:var(--spacing-xs) var(--spacing-sm);background:transparent;border:var(--border-width-thin) solid var(--border-color);border-radius:var(--border-radius-sm);color:#fff9;font-size:var(--font-size-small);cursor:pointer;transition:all var(--transition-medium) ease;min-width:2.75rem;min-height:2.75rem;line-height:1}@media (max-width: 768px){.board-container .game-controls .control-btn{min-width:1.875rem;font-size:.625rem;padding:var(--spacing-xs) .25rem}}.board-container .game-controls .control-btn:hover{background:var(--theme-purple-a20);border-color:var(--theme-purple-a80);color:var(--theme-purple-lighter)}.board-container .game-controls .control-btn:active{transform:scale(.95)}.board-container .game-controls .control-btn.active{background:var(--theme-purple-a30);border-color:var(--theme-purple);color:var(--theme-purple-lighter);box-shadow:0 0 var(--spacing-xs) var(--theme-purple-a50)}.board-container .game-controls .pause-btn{min-width:2.5rem;line-height:0}.board-container .game-controls .pause-btn.active{background:rgba(255,200,0,.15);border-color:#ffc80080;color:var(--game-gold);box-shadow:0 0 var(--spacing-xs) #ffc8004d}.board-container .game-controls .path-btn.active{background:rgba(0,255,136,.15);border-color:#00ff8880;color:#8fb;box-shadow:0 0 var(--spacing-xs) #00ff884d}.board-container .game-controls .wave-hint{font-size:.5625rem;color:#ffffff4d}@media (max-width: 480px){.board-container .game-controls{bottom:auto;top:5rem;right:var(--spacing-xs);flex-direction:row;flex-wrap:wrap;align-items:center;gap:.15rem;padding:.15rem}.board-container .game-controls .control-btn{min-width:2.75rem;min-height:2.75rem;padding:var(--spacing-xs);font-size:.5625rem;justify-content:center}.board-container .game-controls .pause-btn{line-height:0}.board-container .game-controls .speed-controls{flex-direction:row;gap:.15rem}}.board-container .tower-selection{background:rgba(0,0,0,.8);border-radius:var(--border-radius-md);backdrop-filter:blur(.625rem);z-index:var(--z-index-overlay);font-family:Orbitron,sans-serif;position:absolute;bottom:var(--spacing-lg);left:50%;transform:translate(-50%);display:flex;gap:var(--spacing-md);padding:var(--spacing-sm);border:var(--border-width-thin) solid var(--border-color)}@media (max-width: 768px){.board-container .tower-selection{bottom:var(--spacing-md);gap:var(--spacing-sm);padding:var(--spacing-xs);width:90%;justify-content:center}}@media (max-width: 480px){.board-container .tower-selection{display:grid;grid-template-columns:repeat(3,1fr);bottom:0;left:0;right:0;transform:none;width:100%;border-radius:var(--border-radius-md) var(--border-radius-md) 0 0;padding:var(--spacing-sm);gap:var(--spacing-xs);border-left:none;border-right:none;border-bottom:none}}.board-container .tower-selection .tower-btn{position:relative;display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm);background:transparent;border:var(--border-width-medium) solid var(--border-color);border-radius:var(--border-radius-sm);cursor:pointer;transition:all var(--transition-medium) cubic-bezier(.4,0,.2,1);min-width:5rem}@media (max-width: 768px){.board-container .tower-selection .tower-btn{min-width:4rem;padding:var(--spacing-xs)}}@media (max-width: 480px){.board-container .tower-selection .tower-btn{min-width:unset;width:100%;min-height:2.75rem;padding:.25rem;gap:.0625rem}.board-container .tower-selection .tower-hotkey{display:none}}.board-container .tower-selection .tower-btn:hover{background:rgba(255,255,255,.1);border-color:var(--border-color-strong);transform:translateY(-.125rem)}.board-container .tower-selection .tower-btn:active{transform:translateY(.0625rem)}.board-container .tower-selection .tower-btn.selected{background:rgba(255,255,255,.15);border-color:var(--text-color);box-shadow:0 0 var(--spacing-sm) #ffffff4d}.board-container .tower-selection .tower-btn.unaffordable{opacity:.4}.board-container .tower-selection .tower-btn.unaffordable .tower-cost{color:var(--game-health)}.board-container .tower-selection .tower-icon{width:2.5rem;height:2.5rem;border-radius:var(--border-radius-sm);display:flex;align-items:center;justify-content:center;position:relative}@media (max-width: 768px){.board-container .tower-selection .tower-icon{width:2rem;height:2rem}}@media (max-width: 480px){.board-container .tower-selection .tower-icon{width:1.25rem;height:1.25rem}}.board-container .tower-selection .tower-icon.basic:before{content:"";width:1.25rem;height:1.25rem;background:var(--tower-color-basic);border-radius:50%;box-shadow:0 0 var(--spacing-xs) var(--tower-glow-basic)}.board-container .tower-selection .tower-icon.sniper:before{content:"";width:0;height:0;border-left:.75rem solid transparent;border-right:.75rem solid transparent;border-bottom:1.5rem solid var(--tower-color-sniper);filter:drop-shadow(0 0 4px var(--tower-glow-sniper))}.board-container .tower-selection .tower-icon.splash:before{content:"";width:1.25rem;height:1.25rem;background:var(--tower-color-splash);box-shadow:0 0 var(--spacing-xs) var(--tower-glow-splash)}.board-container .tower-selection .tower-icon.slow:before{content:"";width:.9rem;height:.9rem;background:var(--tower-color-slow);transform:rotate(45deg);box-shadow:0 0 var(--spacing-xs) var(--tower-glow-slow)}.board-container .tower-selection .tower-icon.chain:before{content:"";width:.25rem;height:1.5rem;background:var(--tower-color-chain);border-radius:.125rem;box-shadow:0 0 var(--spacing-xs) var(--tower-glow-chain)}.board-container .tower-selection .tower-icon.mortar:before{content:"";width:1.4rem;height:.75rem;background:var(--tower-color-mortar);border-radius:.1rem;box-shadow:0 0 var(--spacing-xs) var(--tower-glow-mortar)}.board-container .tower-selection .tower-name{font-size:var(--font-size-small);color:var(--text-color);font-weight:500;text-transform:uppercase;letter-spacing:.0313rem}@media (max-width: 768px){.board-container .tower-selection .tower-name{font-size:.75rem}}@media (max-width: 480px){.board-container .tower-selection .tower-name{font-size:.5rem}}.board-container .tower-selection .tower-cost{font-size:.6875rem;color:var(--game-gold)}@media (max-width: 480px){.board-container .tower-selection .tower-cost{font-size:.5rem}}.board-container .tower-selection .tower-hotkey{font-size:.5rem;color:#ffffff40;letter-spacing:.0313rem}.board-container .tower-selection .tower-tooltip{position:absolute;bottom:calc(100% + .625rem);left:50%;transform:translate(-50%);min-width:9rem;padding:var(--spacing-sm) var(--spacing-md);background:var(--nav-bg, rgba(10, 5, 20, .96));border:var(--border-width-thin) solid var(--theme-purple-a50);border-radius:var(--border-radius-md);backdrop-filter:blur(.75rem);pointer-events:none;opacity:0;visibility:hidden;transition:opacity .15s ease,visibility .15s ease;z-index:calc(var(--z-index-overlay) + 10);white-space:nowrap;word-wrap:break-word;box-shadow:0 .25rem 1rem #0009,0 0 .5rem var(--theme-purple-a30, rgba(128, 0, 255, .2))}@media (max-width: 480px){.board-container .tower-selection .tower-tooltip{max-width:min(200px,50vw);white-space:normal}}.board-container .tower-selection .tower-btn:hover .tower-tooltip{opacity:1;visibility:visible}@media (hover: none){.board-container .tower-selection .tower-btn:hover .tower-tooltip{opacity:0;visibility:hidden}}.board-container .tower-selection .tower-btn.previewing .tower-tooltip{opacity:1;visibility:visible}.board-container .tower-selection .tooltip-stat{display:flex;justify-content:space-between;gap:var(--spacing-md);font-size:clamp(.5rem,1.5vw,.625rem);margin-bottom:.1875rem}.board-container .tower-selection .tooltip-label{color:#ffffff73;letter-spacing:.0625rem}.board-container .tower-selection .tooltip-val{color:var(--text-color);font-weight:600}.board-container .tower-selection .tooltip-desc{margin-top:var(--spacing-xs);padding-top:var(--spacing-xs);border-top:var(--border-width-thin) solid rgba(255,255,255,.1);font-size:.5rem;color:var(--theme-purple-mid, rgba(160, 100, 255, .8));text-align:center;line-height:1.4;white-space:normal}.board-container .tower-selection .tooltip-arrow{position:absolute;bottom:-.3125rem;left:50%;transform:translate(-50%) rotate(45deg);width:.375rem;height:.375rem;background:var(--nav-bg, rgba(10, 5, 20, .96));border-right:var(--border-width-thin) solid var(--theme-purple-a50);border-bottom:var(--border-width-thin) solid var(--theme-purple-a50)}.board-container .help-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.7);display:flex;align-items:center;justify-content:center;z-index:var(--z-index-modal)}.board-container .help-overlay .help-content{background:var(--nav-bg-a90);border:var(--border-width-thin) solid var(--theme-purple);border-radius:var(--border-radius-lg);padding:var(--spacing-lg) var(--spacing-xl);max-width:20rem}.board-container .help-overlay .help-content h3{margin:0 0 var(--spacing-sm);color:var(--theme-purple-light);font-size:var(--font-size-base)}.board-container .help-overlay .help-grid{display:grid;grid-template-columns:4.375rem 1fr;gap:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-small)}.board-container .help-overlay .help-grid kbd{background:rgba(255,255,255,.1);padding:2px var(--spacing-xs);border-radius:var(--border-radius-sm);text-align:center;font-family:monospace;color:var(--text-color);border:none}.board-container .help-overlay .help-grid span{color:#ffffffb3}.board-container .help-overlay .help-dismiss{margin:var(--spacing-sm) 0 0;font-size:.6875rem;color:#fff6;text-align:center}.board-container .mode-indicator{position:absolute;bottom:calc(var(--spacing-lg) + var(--tower-bar-height) + .5rem);left:50%;transform:translate(-50%);display:flex;align-items:center;gap:var(--spacing-xs);padding:.25rem var(--spacing-sm);border-radius:var(--border-radius-md);background:rgba(0,0,0,.75);pointer-events:none;z-index:var(--z-index-overlay);font-family:Orbitron,sans-serif;font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;animation:mode-indicator-in .2s ease-out}.board-container .mode-indicator .mode-label{font-weight:600}.board-container .mode-indicator .mode-label.place-mode{color:var(--theme-cyan, #00ffff)}.board-container .mode-indicator .mode-cost{color:var(--game-gold, #ffd700);font-weight:700}.board-container .mode-indicator .mode-percent{color:var(--theme-orange);font-weight:600;font-size:var(--font-size-2xs)}.board-container .mode-indicator .mode-hint{font-size:var(--font-size-2xs);color:#ffffff59;text-transform:none;letter-spacing:normal}@media (max-width: 768px){.board-container .mode-indicator{bottom:calc(var(--spacing-md) + var(--tower-bar-height) + .5rem);font-size:var(--font-size-2xs)}}@media (max-width: 480px){.board-container .mode-indicator{bottom:calc(var(--tower-bar-height) + .2rem);left:auto;right:var(--spacing-xs);transform:none;font-size:var(--font-size-3xs);padding:.15rem .5rem}.board-container .mode-indicator .mode-hint{display:none}}
