:root{--bg: #2b2b2f;--panel-bg: rgba(28, 28, 32, .92);--panel-border: #3a3a40;--text: #e6e6e8;--text-dim: #9a9aa2;--text-faint: #55565c;--accent: #4a90e2;--accent-dim: #35506e;--track: #45454d;--font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--mx-green: #34e07a;--mx-green-dim: #1fae52;--mx-green-faint: rgba(52, 224, 122, .35);--mx-bright: #c8ffdd;--mx-bg: rgba(2, 12, 6, .96);--mx-panel: rgba(4, 18, 9, .92);--mx-border: rgba(52, 224, 122, .28);--mx-mono: ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, monospace}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:var(--bg);color:var(--text);font-family:var(--font)}#app,canvas{display:block;width:100vw;height:100vh}.sfx-volume{position:fixed;left:18px;bottom:18px;display:flex;align-items:center;gap:7px;width:min(156px,calc(100vw - 36px));padding:4px 7px;background:#040e08c7;border:1px solid var(--mx-border);border-radius:1px;backdrop-filter:blur(4px);font:600 10px/1 var(--mx-mono);letter-spacing:.12em;color:var(--mx-green-dim);user-select:none;z-index:30;box-shadow:inset 0 0 24px #00200c59}.sfx-volume-label{flex:0 0 auto;color:var(--mx-green)}.sfx-volume-toggle{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:16px;height:16px;padding:0;margin:0;background:transparent;border:none;color:var(--mx-green);cursor:pointer;opacity:.85;transition:opacity .12s ease,color .12s ease}.sfx-volume-toggle:hover{opacity:1;color:var(--mx-bright)}.sfx-volume-toggle.is-muted{color:var(--mx-green-dim)}.sfx-volume-toggle svg{width:14px;height:14px;display:block}.sfx-volume-slider{flex:1;min-width:0;height:18px;margin:0;-webkit-appearance:none;appearance:none;background:transparent;border:none;border-radius:0;cursor:pointer}.sfx-volume-slider::-webkit-slider-runnable-track{height:2px;background:linear-gradient(to right,var(--mx-green) 0%,var(--mx-green) var(--sfx-pct, 50%),rgba(52,224,122,.12) var(--sfx-pct, 50%),rgba(52,224,122,.12) 100%);border:none}.sfx-volume-slider::-webkit-slider-thumb{-webkit-appearance:none;width:6px;height:10px;margin-top:-4px;background:var(--mx-bright);border:1px solid var(--mx-green);border-radius:0;box-shadow:0 0 8px #34e07a8c;cursor:pointer}.sfx-volume-slider::-moz-range-track{height:2px;background:#34e07a1f;border:none;border-radius:0}.sfx-volume-slider::-moz-range-progress{height:2px;background:var(--mx-green);border-radius:0}.sfx-volume-slider::-moz-range-thumb{width:6px;height:10px;background:var(--mx-bright);border:1px solid var(--mx-green);border-radius:0;box-shadow:0 0 8px #34e07a8c;cursor:pointer}.sfx-volume-value{flex:0 0 28px;text-align:right;font-variant-numeric:tabular-nums;color:var(--mx-bright);font-size:9px}.legend{position:fixed;left:18px;bottom:58px;display:flex;flex-direction:column;gap:6px;font-size:12px;letter-spacing:.08em;color:var(--text-dim);user-select:none;pointer-events:none}.legend .row{display:flex;gap:8px;align-items:baseline}.legend .key,.legend .val{color:var(--text-faint, #55565c);transition:color 90ms ease-out}.legend .row.active .key,.legend .row.active .val{transition:color .26s ease-out}.legend .key{font-weight:600;min-width:58px}.legend .row.active .key{color:var(--text)}.legend .row.active .val{color:var(--text-dim)}.legend-hotkeys{margin-top:10px;padding-top:10px;border-top:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;gap:6px}.legend .row.panel-hint .key{color:var(--mx-green);font-weight:700;text-shadow:0 0 12px rgba(52,224,122,.45)}.legend .row.panel-hint .val{color:var(--mx-bright)}.panel-keycap{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:20px;padding:0 6px;background:#041209e6;border:1px solid var(--mx-green);border-radius:1px;font:700 11px/1 var(--mx-mono);color:var(--mx-bright);box-shadow:0 0 10px #34e07a59,inset 0 0 12px #34e07a1f}body.panel-hidden .legend .row.panel-hint .panel-keycap{animation:panel-key-pulse 2.4s ease-in-out infinite}@keyframes panel-key-pulse{0%,70%{border-color:var(--mx-green);box-shadow:0 0 10px #34e07a59,inset 0 0 12px #34e07a1f}85%{border-color:var(--mx-bright);box-shadow:0 0 18px #34e07aa6,inset 0 0 16px #34e07a38}to{border-color:var(--mx-green);box-shadow:0 0 10px #34e07a59,inset 0 0 12px #34e07a1f}}.legend.camera-mode .legend-hotkeys .row:first-child .key,.legend.camera-mode .legend-hotkeys .row:first-child .val{color:var(--accent)}body.panel-hidden .panel{visibility:hidden;pointer-events:none}body.panel-hidden .social-links{right:18px}body.immersive .panel,body.immersive .legend,body.immersive .sfx-volume,body.immersive .social-links,body.immersive .info-button,body.immersive .hud-hearts,body.immersive .shield-meter,body.immersive .intro-box,body.immersive .enemy-bars,body.immersive .kill-meter,body.immersive .enemy-count,body.immersive .charge-ring-wrap,body.immersive .vignette,body.immersive .horde-control,body.immersive .wave-overlay,body.immersive .pause-overlay{visibility:hidden;pointer-events:none}.pause-overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;user-select:none;font-size:42px;font-weight:800;letter-spacing:.2em;color:#e6e6e8eb;text-shadow:0 2px 24px rgba(0,0,0,.65);opacity:0;visibility:hidden;transition:opacity .15s ease-out}.social-links{position:fixed;right:286px;bottom:18px;display:flex;gap:8px;z-index:30}.social-link{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:6px;background:#1c1c20bf;border:1px solid var(--panel-border);color:var(--text-dim);backdrop-filter:blur(4px);transition:color .2s ease,border-color .2s ease,background .2s ease}.social-link svg{width:17px;height:17px}.social-link:hover,.social-link:focus-visible{color:var(--text);border-color:var(--text-dim);background:#28282ee6;outline:none}.panel{position:fixed;top:0;right:0;width:268px;height:100vh;padding:16px 16px 12px;background:var(--panel-bg);border-left:1px solid var(--panel-border);backdrop-filter:blur(6px);display:flex;flex-direction:column;gap:12px;font-size:13px;user-select:none}.panel h1{margin:0;font-size:16px;letter-spacing:.04em;font-weight:700}.panel .sub{margin:-8px 0 0;font-size:11px;color:var(--text-dim)}.panel select{width:100%;padding:6px 8px;background:var(--track);color:var(--text);border:1px solid var(--panel-border);border-radius:6px;font-family:inherit;font-size:13px}.panel .buttons{display:flex;gap:8px}.panel .buttons button{flex:1;padding:6px 8px;background:var(--track);color:var(--text);border:1px solid var(--panel-border);border-radius:6px;cursor:pointer;font-family:inherit;font-size:12px}.panel .buttons button:hover{border-color:var(--accent-dim)}.effects{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:10px;padding-right:2px}.effect-group h2{margin:0 0 6px;font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:var(--text-dim)}.effect-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:4px 0}.effect-row label{cursor:pointer}.param-row{display:flex;align-items:center;gap:8px;padding:2px 0 2px 14px;font-size:11px;color:var(--text-dim)}.param-row-root{padding-left:0}.param-row span:first-child{flex:0 0 72px}.param-row input[type=range]{flex:1;min-width:0;accent-color:var(--accent)}.param-row .param-value{flex:0 0 28px;text-align:right;font-variant-numeric:tabular-nums}.switch{position:relative;width:36px;height:20px;flex:0 0 auto}.switch input{opacity:0;width:0;height:0}.switch .slider{position:absolute;inset:0;background:var(--track);border-radius:20px;transition:background .15s ease}.switch .slider:before{content:"";position:absolute;width:14px;height:14px;left:3px;top:3px;background:#d8d8dc;border-radius:50%;transition:transform .15s ease}.switch input:checked+.slider{background:var(--accent)}.switch input:checked+.slider:before{transform:translate(16px)}.panel .footer{font-size:11px;color:var(--text-dim);display:flex;justify-content:space-between;border-top:1px solid var(--panel-border);padding-top:8px}.hud-hearts{position:fixed;top:18px;left:50%;transform:translate(-50%);display:flex;gap:6px;pointer-events:none}.heart{width:22px;height:22px;--heart-color: #e0556a;background:var(--heart-color);clip-path:path("M11 20 L2 11 A5 5 0 0 1 11 5 A5 5 0 0 1 20 11 Z");transform-origin:center}.heart.empty{--heart-color: #55555c}.shield-meter{position:fixed;top:46px;left:50%;transform:translate(-50%);width:148px;pointer-events:none}.shield-track{position:relative;height:7px;border-radius:4px;background:#061422b8;box-shadow:inset 0 0 0 1px #78c8ff59,0 0 6px #00000080;overflow:hidden;background-image:repeating-linear-gradient(90deg,transparent 0,transparent calc(20% - 1px),rgba(4,12,22,.9) calc(20% - 1px),rgba(4,12,22,.9) 20%)}.shield-fill{height:100%;width:100%;background:linear-gradient(90deg,#4fd6ff,#a9ecff);box-shadow:0 0 8px #78d2ffd9;transition:width .12s linear}.shield-meter.recharging .shield-fill{animation:shield-recharge 1s ease-in-out infinite}@keyframes shield-recharge{0%,to{box-shadow:0 0 6px #78d2ff80;filter:brightness(.9)}50%{box-shadow:0 0 14px #96e6ff;filter:brightness(1.3)}}.shield-meter.low .shield-fill{background:linear-gradient(90deg,#ff7a4f,#ffd0a9);box-shadow:0 0 9px #ff965ae6}.shield-meter.down .shield-track{box-shadow:inset 0 0 0 1px #78c8ff24,0 0 6px #00000080}.shield-meter.flash .shield-fill{animation:shield-flash .24s ease-out}@keyframes shield-flash{0%{filter:brightness(2.2)}to{filter:brightness(1)}}.intro-box{position:fixed;top:68px;left:50%;transform:translate(-50%);width:min(360px,calc(100vw - 32px));padding:14px 18px 12px;background:var(--mx-panel);border:1px solid var(--mx-border);border-radius:10px;box-shadow:0 0 0 1px #0006,0 8px 30px #00000080,inset 0 0 24px #34e07a0f;color:var(--mx-bright);font-family:var(--font);font-size:13px;line-height:1.5;text-align:center;cursor:pointer;z-index:40;opacity:0;animation:intro-in .5s ease-out .3s forwards}.intro-box p{margin:6px 0 0}.intro-box b{color:var(--mx-green);font-weight:600}.intro-title{font-family:var(--mx-mono);font-size:11px;letter-spacing:.28em;color:var(--mx-green);text-shadow:0 0 10px var(--mx-green-faint)}.intro-shield{color:#8fdcff;font-weight:600}.intro-heart{color:#ff8095;font-weight:600}.intro-dismiss{margin-top:10px;font-family:var(--mx-mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--mx-green-dim);opacity:.75}.intro-box.gone{animation:intro-out .45s ease-in forwards;pointer-events:none}@keyframes intro-in{0%{opacity:0;transform:translate(-50%) translateY(-8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@keyframes intro-out{0%{opacity:1;transform:translate(-50%) translateY(0)}to{opacity:0;transform:translate(-50%) translateY(-8px)}}.enemy-bars{position:fixed;inset:0;pointer-events:none;overflow:hidden}.enemy-bar{position:absolute;width:42px;height:6px;border-radius:3px;background:#3a3a40;transform:translate(-50%,-50%);overflow:hidden;box-shadow:0 0 0 1px #0006}.enemy-bar .fill{height:100%;background:#e0556a;transition:width .08s linear}.vignette{position:fixed;inset:0;pointer-events:none;box-shadow:inset 0 0 140px 30px #c81e2899;opacity:0}.vignette.flash{animation:vignette-flash .45s ease-out}@keyframes vignette-flash{0%{opacity:.9}to{opacity:0}}.hud-hearts.hit{animation:hearts-hit .35s ease-out}@keyframes hearts-hit{0%{transform:translate(-50%) scale(1)}25%{transform:translate(-50%) translate(-4px) scale(1.18)}50%{transform:translate(-50%) translate(4px) scale(1.1)}75%{transform:translate(-50%) translate(-2px) scale(1.04)}to{transform:translate(-50%) scale(1)}}.enemy-bar.hit{animation:bar-hit .28s ease-out}@keyframes bar-hit{0%,to{transform:translate(-50%,-50%)}25%{transform:translate(-50%,-50%) translate(-4px)}75%{transform:translate(-50%,-50%) translate(4px)}}.panel-fold{border:1px solid var(--panel-border);border-radius:8px;overflow:hidden}.panel-fold-toggle{width:100%;display:flex;align-items:center;gap:8px;padding:8px 10px;background:var(--track);color:var(--text);border:none;cursor:pointer;font-family:inherit;font-size:12px;letter-spacing:.04em;text-align:left}.panel-fold-toggle:hover{color:var(--text);background:var(--accent-dim)}.panel-fold-chevron{display:inline-block;color:var(--text-dim);transition:transform .2s ease}.panel-fold[data-collapsed=false] .panel-fold-chevron{transform:rotate(90deg)}.panel-fold-wrap{display:grid;grid-template-rows:0fr;transition:grid-template-rows .22s ease}.panel-fold[data-collapsed=false] .panel-fold-wrap{grid-template-rows:1fr}.panel-fold-body{overflow:hidden;min-height:0}.horde-control{display:flex;align-items:center;gap:10px;padding:10px;font-size:12px;letter-spacing:.08em;user-select:none}.horde-control .title{font-weight:700;color:var(--text-dim)}.horde-control .count{font-weight:700;min-width:34px;text-align:right;color:var(--text);font-variant-numeric:tabular-nums}.horde-control .target{color:var(--text-dim);font-variant-numeric:tabular-nums}.horde-control input[type=range]{flex:1;min-width:0;accent-color:var(--accent)}.rev-control{flex-direction:column;align-items:stretch;gap:6px}.rev-control .rev-row{display:flex;align-items:center;gap:10px}.rev-control .rev-row .target{min-width:52px;text-align:left}.rev-control .rev-row input[type=range]{flex:1;width:auto}.info-button{position:fixed;left:18px;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;gap:9px;height:40px;padding:0 16px 0 12px;border-radius:20px;background:#06140bd1;border:1px solid var(--mx-green);color:var(--mx-green);font:700 12px/1 var(--mx-mono);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;backdrop-filter:blur(4px);box-shadow:0 0 12px #34e07a47;transition:border-color .2s ease,box-shadow .2s ease,color .2s ease,background .2s ease;z-index:40}.info-button .info-button-glyph{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;border:1px solid currentColor;font-size:13px}.info-button .info-button-label{position:relative;z-index:1;white-space:nowrap}.info-button .info-button-ring{position:absolute;inset:-1px;border-radius:20px;border:1px solid var(--mx-green-faint);animation:info-ping 3.2s ease-out infinite;pointer-events:none}@keyframes info-ping{0%,55%{transform:scale(1);opacity:0}60%{transform:scale(1);opacity:.9}to{transform:scale(1.9);opacity:0}}.info-button:hover,.info-button:focus-visible{color:var(--mx-bright);border-color:var(--mx-bright);background:#0a2012e6;box-shadow:0 0 20px #34e07a8c;outline:none}.info-overlay{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:3vh 3vw;background:#020a06db;backdrop-filter:grayscale(.92) brightness(.28) blur(3px)}.info-overlay[hidden]{display:none}body.info-open #app{visibility:hidden}.info-rain{position:absolute;inset:0;width:100%;height:100%;opacity:.22;pointer-events:auto}.info-modal{position:relative;width:min(1080px,100%);height:min(92vh,100%);display:flex;flex-direction:column;background:var(--mx-bg);border:1px solid var(--mx-border);border-radius:10px;box-shadow:0 0 0 1px #0009,0 0 60px #34e07a2e,inset 0 0 120px #00281080;font-family:var(--mx-mono);color:#d5f2e0;overflow:hidden;animation:info-boot .28s ease-out}@keyframes info-boot{0%{transform:translateY(14px) scale(.985);opacity:0}to{transform:none;opacity:1}}.info-modal:after{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(to bottom,#0000 0px 2px,#001e0c38 3px);mix-blend-mode:multiply}.info-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:22px 28px 16px;border-bottom:1px solid var(--mx-border);background:linear-gradient(180deg,rgba(52,224,122,.07),transparent)}.info-header[hidden]{display:none!important}.info-title-tag{font-size:11px;letter-spacing:.3em;color:var(--mx-green-dim)}.info-title h1{margin:4px 0 6px;font-size:30px;font-weight:800;letter-spacing:.04em;color:var(--mx-bright);text-shadow:0 0 18px rgba(52,224,122,.55)}.info-title p{margin:0;font-size:13px;color:var(--mx-green)}.info-close{flex:0 0 auto;padding:8px 12px;background:transparent;border:1px solid var(--mx-border);border-radius:6px;color:var(--mx-green);font:700 12px var(--mx-mono);letter-spacing:.12em;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,color .15s ease}.info-close:hover,.info-close:focus-visible{color:var(--mx-bright);border-color:var(--mx-green);box-shadow:0 0 12px #34e07a66;outline:none}.info-tabs{display:flex;gap:6px;padding:10px 28px 0;border-bottom:1px solid var(--mx-border);background:linear-gradient(180deg,rgba(52,224,122,.04),transparent)}.info-tab{appearance:none;display:inline-flex;align-items:center;gap:8px;margin-bottom:-1px;padding:9px 18px;background:transparent;border:1px solid transparent;border-radius:7px 7px 0 0;color:var(--mx-green-dim);font:700 12px var(--mx-mono);letter-spacing:.14em;text-transform:uppercase;cursor:pointer;transition:color .15s ease,background-color .15s ease,border-color .15s ease}.info-tab:hover,.info-tab:focus-visible{color:var(--mx-bright);outline:none}.info-tab.is-active{color:var(--mx-bright);background:var(--mx-panel);border-color:var(--mx-border);border-bottom-color:var(--mx-panel);box-shadow:0 -4px 18px #34e07a1f}.info-tab-num{color:var(--mx-green-dim);font-size:10px;letter-spacing:.1em}.info-tab.is-active .info-tab-num{color:var(--mx-green)}.info-tab-panel[hidden]{display:none}.info-body{flex:1;overflow-y:auto;padding:10px 28px 26px;scrollbar-width:thin;scrollbar-color:var(--mx-green-dim) transparent}.info-section{padding:22px 0;border-bottom:1px dashed rgba(52,224,122,.18);max-width:76ch}.info-section-wide{max-width:min(100%,980px)}.info-section-wide>p,.info-section-wide>ul{max-width:76ch}.info-bonus-section{padding-top:30px}.info-bonus-box{max-width:76ch;margin:0 0 14px;padding:16px 18px;border:1px solid rgba(200,255,221,.28);border-radius:8px;background:linear-gradient(135deg,rgba(52,224,122,.12),transparent 42%),#001e0c75;box-shadow:inset 0 0 34px #34e07a14}.info-bonus-box h2{margin-top:8px}.info-link-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-width:76ch;margin:14px 0 6px}.info-link-grid a{display:block;min-height:94px;padding:12px 14px;color:#c2e8d1;text-decoration:none;border:1px solid rgba(52,224,122,.2);border-radius:8px;background:#00180a59;transition:border-color .15s ease,box-shadow .15s ease,color .15s ease}.info-link-grid a:hover,.info-link-grid a:focus-visible{color:var(--mx-bright);border-color:var(--mx-green);box-shadow:0 0 18px #34e07a33;outline:none}.info-link-grid span{display:block;margin-bottom:6px;color:var(--mx-bright);font:700 12px/1.35 var(--mx-mono);letter-spacing:.08em;text-transform:uppercase}.info-link-grid small{display:block;color:#7ca38c;font:400 11.5px/1.55 var(--mx-mono)}.synth-concept-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-width:76ch;margin:14px 0 18px}.synth-concept-list div{min-width:0;padding:12px 14px;border:1px solid rgba(52,224,122,.16);border-radius:8px;background:#00180a4d}.synth-concept-list dt{margin:0 0 6px;color:var(--mx-bright);font:700 11.5px/1.2 var(--mx-mono);letter-spacing:.08em;text-transform:uppercase}.synth-concept-list dd{margin:0;color:#8fbca0;font:400 11.5px/1.55 var(--mx-mono)}.info-section h2{margin:0 0 12px;font-size:16px;letter-spacing:.08em;color:var(--mx-bright);text-transform:uppercase}.info-num{color:var(--mx-green-dim);margin-right:8px}.info-num:after{content:" /"}.info-section p,.info-section li{font-size:13.5px;line-height:1.75;color:#c2e8d1}.info-section p{margin:0 0 12px}.info-section ul{margin:0 0 12px;padding-left:20px}.info-section li{margin-bottom:8px}.info-section li::marker{color:var(--mx-green-dim)}.info-section strong,.info-section em{color:var(--mx-bright)}.info-section code{font-family:var(--mx-mono);font-size:12.5px;color:var(--mx-green);background:#34e07a14;border:1px solid rgba(52,224,122,.16);border-radius:4px;padding:1px 5px}.mx-dim{color:#7ca38c}.mx-hot{color:var(--mx-bright);text-shadow:0 0 10px rgba(52,224,122,.7)}.info-scroll{overflow-x:auto;margin:6px 0 12px;padding:12px;border:1px solid rgba(52,224,122,.16);border-radius:8px;background:#00180a59;scrollbar-width:thin;scrollbar-color:var(--mx-green-dim) transparent}.info-diagram{display:block}.synth-sticky-scroll{--p: 0;--ease: 0;--charge: 0;--charge-ease: 0;--blast: 0;--blast-ease: 0;--stage-osc-opacity: .5;--stage-filter-opacity: .24;--stage-amp-opacity: .18;--stage-space-opacity: .16;--stage-sub-opacity: .45;--stage-chord-opacity: .25;--stage-noise-opacity: .2;--stage-tail-opacity: .2;--tone-opacity: .38;--filter-opacity: .2;--gain-opacity: .2;--output-opacity: .2;--wave-alt-opacity: .45;--sub-wave-opacity: .4;--detune-y: 0px;--charge-dash: 1;--filter-dot-x: 0px;--filter-dot-y: 0px;--lfo-scale: .55;--flow-opacity: 0;--flow-a-x: 0px;--flow-b-x: 0px;--flow-c-x: 0px;--blast-dash: 1;--sub-dash: 1;--chord-dash: 1;--noise-dash: 1;--verb-dash: 1;--blast-glow: 0px;position:relative;height:310vh;min-height:1720px;max-width:min(100%,980px);margin:24px 0 30px}.synth-charge-scroll{margin-top:22px}.synth-blast-scroll{margin-top:34px}.synth-sticky-stage{position:sticky;top:10px;display:grid;grid-template-columns:288px minmax(0,1fr);height:clamp(580px,calc(94vh - 120px),740px);border:1px solid rgba(52,224,122,.24);border-radius:10px;background:radial-gradient(circle at 70% 34%,rgba(52,224,122,.13),transparent 38%),linear-gradient(180deg,#00220eb8,#000a04c7);box-shadow:inset 0 0 70px #002d1259,0 0 28px #34e07a14;overflow:hidden}.synth-stage-copy{min-width:0;min-height:0;display:grid;grid-template-rows:auto auto auto minmax(0,1fr) auto;padding:18px 16px;border-right:1px solid rgba(52,224,122,.16);background:#000e065c;overflow:hidden}.synth-stage-copy .info-title-tag{display:block;font-size:9.5px;line-height:1.35;letter-spacing:.16em}.synth-stage-title{margin:7px 0 12px;color:var(--mx-bright);font:800 16px/1.18 var(--mx-mono);letter-spacing:.04em;text-transform:uppercase}.synth-preview-btn{grid-row:3;justify-self:start;display:inline-flex;align-items:center;gap:8px;margin:0 0 12px;padding:7px 13px 7px 10px;background:#00180a80;border:1px solid var(--mx-green-faint);border-radius:6px;color:var(--mx-green);font:700 10.5px/1 var(--mx-mono);letter-spacing:.14em;text-transform:uppercase;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,color .15s ease,background-color .15s ease}.synth-preview-btn:hover,.synth-preview-btn:focus-visible{color:var(--mx-bright);border-color:var(--mx-green);box-shadow:0 0 12px #34e07a66;outline:none}.synth-preview-icon{width:0;height:0;border-style:solid;border-width:6px 0 6px 10px;border-color:transparent transparent transparent currentColor;transition:opacity .12s linear}.synth-preview-btn.is-playing{color:var(--mx-bright);border-color:var(--mx-green);background:#34e07a29;box-shadow:0 0 14px #34e07a73}.synth-preview-btn.is-playing .synth-preview-icon{width:10px;height:12px;border:0;background:linear-gradient(to right,currentColor 0 40%,transparent 40% 60%,currentColor 60% 100%);animation:synth-preview-pulse .7s ease-in-out infinite}@keyframes synth-preview-pulse{0%,to{opacity:1}50%{opacity:.35}}.synth-stage-steps{grid-row:4;display:grid;align-content:start;gap:7px;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--mx-green-dim) transparent}.synth-stage-line{margin:0;padding:8px 9px;border:1px solid rgba(52,224,122,.16);border-radius:6px;background:#00180a47;color:#c2e8d1;font:400 10.5px/1.42 var(--mx-mono);transition:border-color .12s linear,opacity .12s linear,box-shadow .12s linear}.cs-copy-osc{opacity:var(--stage-osc-opacity)}.cs-copy-filter{opacity:var(--stage-filter-opacity)}.cs-copy-amp{opacity:var(--stage-amp-opacity)}.cs-copy-space{opacity:var(--stage-space-opacity)}.bd-copy-sub{opacity:var(--stage-sub-opacity)}.bd-copy-chord{opacity:var(--stage-chord-opacity)}.bd-copy-noise{opacity:var(--stage-noise-opacity)}.bd-copy-tail{opacity:var(--stage-tail-opacity)}.synth-readouts{grid-row:5;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0}.synth-readouts div{min-width:0;padding:7px;border:1px solid rgba(52,224,122,.16);border-radius:6px;background:#00180a6b}.synth-readouts dt{margin:0 0 4px;color:var(--mx-green-dim);font:700 9.5px/1 var(--mx-mono);letter-spacing:.12em;text-transform:uppercase}.synth-readouts dd{margin:0;color:var(--mx-bright);font:800 15px/1.2 var(--mx-mono);font-variant-numeric:tabular-nums}.synth-sticky-stage .synth-scroll-diagram{height:100%;min-width:0;margin:0;padding:12px;border:0;border-radius:0;background:transparent}.synth-scroll-diagram{position:relative;margin:14px 0 18px;background:linear-gradient(90deg,rgba(52,224,122,.06),transparent 24%),#0014086b}.synth-viz{position:absolute;left:14px;right:14px;bottom:12px;height:21%;opacity:0;pointer-events:none;transition:opacity .28s ease}.synth-viz.is-live{opacity:1}.synth-charge-scroll .synth-viz{height:44%}.synth-timerate-scroll .synth-viz{height:30%}.synth-diagram{overflow:hidden}.synth-stage-diagram{width:100%;min-width:680px;height:100%;max-width:none}.synth-diagram .dg-title,.synth-diagram .dg-sub,.synth-diagram .dg-hot,.synth-diagram .dg-box-title{paint-order:stroke;stroke:#000803e6;stroke-width:3px;stroke-linejoin:round}.cs-step{transition:opacity .12s linear}.cs-step-osc{opacity:var(--tone-opacity)}.cs-step-filter{opacity:var(--filter-opacity)}.cs-step-amp{opacity:var(--gain-opacity)}.cs-step-space,.cs-step-auto{opacity:var(--output-opacity)}.cs-node-box{fill:#34e07a0e;stroke:#34e07a57;stroke-width:1.15}.cs-node-hot{fill:#34e07a17}.cs-scope{fill:#00080385;stroke:#34e07a21;stroke-width:1}.sd-meter-shell{fill:#34e07a14;stroke:#34e07a47}.sd-charge-fill{fill:#34e07a70;filter:drop-shadow(0 0 10px rgba(52,224,122,.55));transform:scaleX(var(--charge-ease));transform-box:fill-box;transform-origin:left center}.sd-meter-hit{fill:transparent;pointer-events:all;cursor:grab;touch-action:none}.synth-charge-scroll.cs-grabbing .sd-meter-hit{cursor:grabbing}.synth-charge-scroll.cs-grabbing .sd-charge-fill{filter:drop-shadow(0 0 16px rgba(52,224,122,.85))}.sd-meter-tick,.sd-playhead-line{stroke:var(--mx-bright);stroke-width:1.4;stroke-dasharray:5 4}.sd-wave,.sd-filter-curve,.sd-lfo-wave,.sd-layer-line,.cs-auto-line{fill:none;stroke:var(--mx-green);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.sd-wave{opacity:.88;filter:drop-shadow(0 0 5px rgba(52,224,122,.5))}.sd-wave-alt{stroke:var(--mx-bright);opacity:var(--wave-alt-opacity)}.sd-sub-wave{stroke:#8fffc0;stroke-width:2.6;opacity:var(--sub-wave-opacity)}.sd-detune-voice,.cs-detune-wave{transform:translateY(var(--detune-y));transform-box:fill-box}.sd-filter-curve,.sd-lfo-wave{stroke-dasharray:1;stroke-dashoffset:var(--charge-dash)}.sd-filter-dot{fill:var(--mx-bright);filter:drop-shadow(0 0 9px rgba(200,255,221,.8));transform:translate(var(--filter-dot-x),var(--filter-dot-y))}.sd-lfo-wave{transform:scaleY(var(--lfo-scale));transform-box:fill-box;transform-origin:center}.cs-auto-line{stroke-dasharray:1;stroke-dashoffset:var(--charge-dash)}.cs-auto-pitch{stroke:#8fffc0}.cs-auto-cutoff{stroke:var(--mx-green)}.cs-auto-lfo{stroke:var(--mx-bright);opacity:.75}.sd-flow-pulse{fill:var(--mx-bright);opacity:var(--flow-opacity);filter:drop-shadow(0 0 10px rgba(200,255,221,.9));transform-box:fill-box}.sd-flow-a{transform:translate(var(--flow-a-x))}.sd-flow-b{transform:translate(var(--flow-b-x))}.sd-flow-c{transform:translate(var(--flow-c-x))}.sd-lane{fill:#34e07a09;stroke:#34e07a1c;stroke-width:1}.sd-tail-lane{fill:#34e07a05}.bd-divider,.bd-grid-line{stroke:#34e07a29;stroke-width:1}.bd-grid-line{stroke-dasharray:4 8}.bd-labels text{pointer-events:none}.synth-charge-diagram .dg-title,.synth-blast-diagram .dg-title,.synth-timerate-diagram .dg-title{font:700 18px var(--mx-mono)}.synth-charge-diagram .dg-box-title,.synth-blast-diagram .dg-box-title,.synth-timerate-diagram .dg-box-title{font:700 15.5px var(--mx-mono)}.synth-charge-diagram .dg-hot,.synth-blast-diagram .dg-hot,.synth-timerate-diagram .dg-hot{font:700 16px var(--mx-mono)}.synth-charge-diagram .dg-sub,.synth-blast-diagram .dg-sub,.synth-timerate-diagram .dg-sub{font:400 13.5px var(--mx-mono)}.synth-charge-diagram .dg-label,.synth-blast-diagram .dg-label,.synth-timerate-diagram .dg-label{font-size:13px}.synth-blast-diagram .dg-title{font-size:20px}.synth-blast-diagram .dg-hot{font-size:17.5px}.synth-blast-diagram .dg-sub{font-size:15px}.synth-blast-diagram .sd-layer-line{stroke-width:3.2;stroke-dasharray:1;stroke-dashoffset:var(--blast-dash)}.sd-layer-sub{stroke:#8fffc0;stroke-dashoffset:var(--sub-dash);opacity:var(--stage-sub-opacity)}.sd-layer-chord{stroke:var(--mx-green);stroke-dashoffset:var(--chord-dash);opacity:var(--stage-chord-opacity)}.sd-layer-noise{stroke:var(--mx-bright);stroke-dashoffset:var(--noise-dash);opacity:var(--stage-noise-opacity);filter:drop-shadow(0 0 8px rgba(200,255,221,.75))}.sd-layer-verb{stroke:#34e07a6b;stroke-dasharray:.015 .018;stroke-dashoffset:var(--verb-dash);opacity:var(--stage-tail-opacity)}.sd-playhead-line{stroke-dasharray:none;stroke:var(--mx-bright)}.sd-playhead-tag{fill:#001c0ce0;stroke:#c8ffdd47;stroke-width:1}.sd-playhead-dot{fill:var(--mx-bright);stroke:var(--mx-green);stroke-width:2;filter:drop-shadow(0 0 12px rgba(200,255,221,.85))}.tr-node{fill:#34e07a0e;stroke:#34e07a57;stroke-width:1.15}.tr-scope{fill:#00080385;stroke:#34e07a21;stroke-width:1}.tr-meter-shell{fill:#34e07a14;stroke:#34e07a47}.tr-meter-fill{fill:#34e07a66;filter:drop-shadow(0 0 10px rgba(52,224,122,.5))}.tr-marker-line{stroke:var(--mx-bright);stroke-width:1.6}.tr-marker-dot{fill:var(--mx-bright);stroke:var(--mx-green);stroke-width:2;filter:drop-shadow(0 0 10px rgba(200,255,221,.85))}.tr-meter-hit{fill:transparent;pointer-events:all;cursor:grab;touch-action:none}.synth-timerate-scroll.tr-grabbing .tr-meter-hit{cursor:grabbing}.synth-timerate-scroll.tr-grabbing .tr-marker-dot{fill:var(--mx-green);filter:drop-shadow(0 0 16px rgba(52,224,122,.95))}.tr-hint{fill:var(--mx-green-dim);letter-spacing:.14em}.tr-wave{fill:none;stroke:var(--mx-green);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;opacity:.9;filter:drop-shadow(0 0 5px rgba(52,224,122,.5));transform:scaleX(var(--wave-stretch, 1));transform-box:fill-box;transform-origin:left center}.tr-env{fill:none;stroke:var(--mx-bright);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 6px rgba(200,255,221,.6));transform:scaleX(var(--env-stretch, 1));transform-box:fill-box;transform-origin:left center}.tr-game-ticks{transform:scaleX(var(--tick-stretch, 1));transform-box:fill-box;transform-origin:left center}.tr-copy-rate{opacity:var(--tr-step-rate, 1)}.tr-copy-pitch{opacity:var(--tr-step-pitch, 1)}.tr-copy-env{opacity:var(--tr-step-env, 1)}.tr-copy-sqrt{opacity:var(--tr-step-sqrt, 1)}.dg-box{fill:#34e07a0f;stroke:var(--mx-green-dim);stroke-width:1}.dg-bus{fill:#34e07a24;stroke:var(--mx-green);stroke-width:1.2}.dg-freeze{fill:#c8ffdd1a;stroke:var(--mx-bright);stroke-dasharray:4 3}.dg-box-title,.dg-title{fill:var(--mx-bright);font:700 12px var(--mx-mono)}.dg-sub{fill:#7ca38c;font:400 10.5px var(--mx-mono)}.dg-label{fill:var(--mx-green-dim);font:700 10px var(--mx-mono);letter-spacing:.2em}.dg-hot{fill:var(--mx-green);font:700 11px var(--mx-mono)}.dg-line{stroke:#34e07a40;stroke-width:1}.dg-tick{stroke:var(--mx-green-dim);stroke-width:1.5}.dg-arrow{stroke:var(--mx-green);stroke-width:1.4}.dg-dashed{stroke-dasharray:4 4}.dg-head{fill:var(--mx-green)}.fx-table{border-collapse:collapse;font-size:12.5px;min-width:640px}.fx-table th{text-align:left;padding:6px 14px 6px 0;color:var(--mx-green-dim);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;border-bottom:1px solid var(--mx-border)}.fx-table td{padding:7px 14px 7px 0;border-bottom:1px solid rgba(52,224,122,.1);color:#c2e8d1;line-height:1.5;vertical-align:top}.fx-table .fx-name{color:var(--mx-bright);font-weight:700;white-space:nowrap}.fx-table .fx-group{color:var(--mx-green-dim);white-space:nowrap}.info-footer{display:flex;justify-content:space-between;align-items:baseline;padding:18px 0 4px;font-size:11px;letter-spacing:.14em;color:#6d947e}.info-footer-blink{color:var(--mx-green);animation:info-cursor 1.1s steps(1) infinite}@keyframes info-cursor{50%{opacity:0}}.info-close-inline{display:none}.info-overlay.is-compact .info-header{display:none!important}.info-overlay.is-compact .info-close-inline{display:inline-flex;align-items:center;justify-content:center;flex:0 0 40px;margin-bottom:-1px;padding:0;width:40px;height:auto;border-radius:7px 7px 0 0;font-size:16px;letter-spacing:0}.info-overlay.is-compact .info-overlay,.info-overlay.is-compact{padding:0;align-items:stretch;justify-content:stretch}.info-overlay.is-compact .info-modal{width:100%;height:100%;max-height:100%;border-radius:0;border-left:0;border-right:0}.info-overlay.is-compact .info-tabs{position:sticky;top:0;z-index:5;gap:4px;padding:10px 12px 0;padding-top:max(10px,env(safe-area-inset-top));align-items:stretch}.info-overlay.is-compact .info-tab{flex:1;justify-content:center;gap:5px;padding:10px 8px;font-size:10px;letter-spacing:.08em}@media (max-width: 900px),(hover: none) and (pointer: coarse){.info-overlay{padding:0;align-items:stretch;justify-content:stretch}.info-overlay .info-header{display:none!important}.info-modal{width:100%;height:100%;max-height:100%;border-radius:0;border-left:0;border-right:0}.info-tabs{position:sticky;top:0;z-index:5;gap:4px;padding:10px 12px 0;padding-top:max(10px,env(safe-area-inset-top));align-items:stretch}.info-tab{flex:1;justify-content:center;gap:5px;padding:10px 8px;font-size:10px;letter-spacing:.08em}.info-tab-num{font-size:9px}.info-close-inline{display:inline-flex;align-items:center;justify-content:center;flex:0 0 40px;margin-bottom:-1px;padding:0;width:40px;height:auto;border-radius:7px 7px 0 0;font-size:16px;letter-spacing:0}.info-body{padding:8px 14px max(20px,env(safe-area-inset-bottom));-webkit-overflow-scrolling:touch}.info-section{padding:14px 0}.info-section h2{font-size:14px}.info-section p,.info-section li{font-size:12px;line-height:1.55}.info-section code{font-size:11px}.info-link-grid{grid-template-columns:1fr}.info-link-grid a{min-height:0;padding:10px 12px}.info-link-grid span{font-size:11px}.info-link-grid small{font-size:10.5px}.synth-concept-list{grid-template-columns:1fr}.synth-concept-list dt,.synth-concept-list dd{font-size:11px}.info-bonus-box{padding:12px}.synth-sticky-scroll{height:240vh;min-height:1200px;margin:14px 0 18px}.synth-sticky-stage{top:calc(max(10px,env(safe-area-inset-top)) + 44px);grid-template-columns:1fr;grid-template-rows:auto auto;height:auto;border-radius:8px}.synth-stage-copy{padding:10px 12px;border-right:0;border-bottom:1px solid rgba(52,224,122,.16);grid-template-rows:auto auto auto auto}.synth-stage-copy .synth-readouts{grid-row:4}.synth-stage-copy .info-title-tag{font-size:8.5px;letter-spacing:.12em}.synth-stage-title{margin:4px 0 8px;font-size:13px;letter-spacing:.03em}.synth-preview-btn{padding:6px 10px;font-size:10px}.synth-stage-steps{display:none}.synth-stage-line{font-size:11px;line-height:1.45}.synth-readouts{margin-top:8px;gap:6px}.synth-readouts dt{font-size:8.5px}.synth-readouts dd{font-size:12px}.synth-stage-diagram{min-width:0!important;width:100%;height:auto;max-height:none}.synth-sticky-stage .synth-scroll-diagram{overflow:hidden;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;height:auto;min-height:0;padding:8px 10px 10px}.synth-sticky-stage .synth-viz{position:relative;left:auto;right:auto;bottom:auto;width:100%;height:0;flex:0 0 auto;margin-top:0;overflow:hidden}.synth-sticky-stage .synth-viz.is-live{height:72px;margin-top:6px}.synth-charge-scroll .synth-viz.is-live,.synth-timerate-scroll .synth-viz.is-live{height:84px}.info-diagram:not(.synth-stage-diagram){width:100%;height:auto;max-width:100%}.fx-table{min-width:0;font-size:11px}.fx-table th,.fx-table td{padding:5px 8px 5px 0}.info-footer{font-size:10px;padding:12px 0 4px}.info-button{left:max(10px,env(safe-area-inset-left));top:auto;bottom:max(18px,env(safe-area-inset-bottom));transform:none;height:36px;padding:0 12px 0 10px;font-size:10px}.info-button .info-button-label{display:none}.info-button .info-button-glyph{width:18px;height:18px;font-size:12px}.panel{display:none}.social-links{right:max(18px,env(safe-area-inset-right))}.legend .row.panel-hint{display:none}}.touch-pad{display:none;position:fixed;inset:0;z-index:35;pointer-events:none;touch-action:none;user-select:none;-webkit-user-select:none}.touch-pad.is-visible{display:block}.touch-map{position:absolute;inset:0;pointer-events:auto;touch-action:none;z-index:0}.touch-map-stick{position:absolute;left:50%;top:50%;opacity:0;pointer-events:none;transition:opacity .12s ease}.touch-map-stick.is-active{opacity:1}.touch-stick-base{position:absolute;left:0;top:0;width:118px;height:118px;margin:-59px 0 0 -59px;border-radius:50%;border:1.5px solid rgba(52,224,122,.45);background:radial-gradient(circle at 50% 50%,rgba(52,224,122,.12),transparent 62%),#020c0659;box-shadow:inset 0 0 24px #34e07a1f,0 0 18px #00000059;backdrop-filter:blur(2px)}.touch-stick-knob{position:absolute;left:50%;top:50%;width:46px;height:46px;margin:-23px 0 0 -23px;border-radius:50%;border:1.5px solid rgba(200,255,221,.7);background:#34e07a59;box-shadow:0 0 14px #34e07a73;will-change:transform}.touch-stick-tag{position:absolute;left:50%;bottom:-18px;transform:translate(-50%);font:700 9px/1 var(--mx-mono);letter-spacing:.18em;color:#34e07a8c;white-space:nowrap;pointer-events:none}.touch-actions{position:absolute;right:max(10px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));display:grid;grid-template-columns:auto auto;grid-template-rows:auto auto;gap:10px;align-items:end;justify-items:end;pointer-events:auto;z-index:2}.touch-btn{position:relative;appearance:none;display:flex;align-items:center;justify-content:center;width:64px;height:64px;padding:0;border-radius:50%;border:1.5px solid rgba(52,224,122,.5);background:#020e078c;color:var(--mx-bright);font:700 9px/1.1 var(--mx-mono);letter-spacing:.1em;text-transform:uppercase;backdrop-filter:blur(3px);box-shadow:0 0 16px #34e07a33;touch-action:none;-webkit-tap-highlight-color:transparent;transition:transform .08s ease,border-color .08s ease,background .08s ease,box-shadow .08s ease}.touch-btn-ring{position:absolute;inset:4px;border-radius:50%;border:1px solid rgba(52,224,122,.2);pointer-events:none}.touch-btn-label{position:relative;z-index:1;max-width:48px;text-align:center;pointer-events:none}.touch-btn-attack{grid-column:2;grid-row:1 / span 2;width:78px;height:78px;align-self:center;border-color:#c8ffdda6;background:#34e07a2e;font-size:10px;box-shadow:0 0 22px #34e07a59}.touch-btn-jump{grid-column:1;grid-row:2}.touch-btn-boost{grid-column:1;grid-row:1;width:54px;height:54px;font-size:8px}.touch-btn.is-active,.touch-btn:active{transform:scale(.92);border-color:var(--mx-bright);background:#34e07a66;box-shadow:0 0 28px #34e07a8c;color:#fff}body.touch-controls .legend,body.touch-controls .sfx-volume,body.touch-controls .panel{display:none}body.touch-controls .social-links{right:auto;left:50%;bottom:auto;top:max(12px,env(safe-area-inset-top));transform:translate(-50%)}body.touch-controls .info-button{top:max(12px,env(safe-area-inset-top));bottom:auto;left:max(10px,env(safe-area-inset-left));transform:none}body.touch-controls .kill-meter{top:max(52px,calc(env(safe-area-inset-top) + 44px))}body.immersive .touch-pad,body.info-open .touch-pad{visibility:hidden;pointer-events:none}body.panel-hidden.touch-controls .social-links{right:auto}@media (max-width: 760px) and (orientation: landscape){.touch-btn{width:52px;height:52px}.touch-btn-attack{width:64px;height:64px}.touch-btn-boost{width:44px;height:44px}.synth-sticky-stage{height:auto}}@media (prefers-reduced-motion: reduce){.info-button .info-button-ring,.info-footer-blink,.info-modal{animation:none}}.kill-meter{position:fixed;top:18px;left:18px;width:168px;padding:10px 12px;background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:8px;backdrop-filter:blur(6px);pointer-events:none;user-select:none;transition:border-color .2s ease,box-shadow .2s ease}.kill-meter .km-title{font-size:10px;letter-spacing:.16em;color:var(--text-dim);font-weight:700}.kill-meter .km-row{display:flex;align-items:baseline;gap:4px;margin:2px 0 6px}.kill-meter .km-count{font-size:26px;font-weight:800;color:var(--text);font-variant-numeric:tabular-nums;line-height:1}.kill-meter .km-goal{font-size:11px;color:var(--text-dim)}.kill-meter .km-track{height:5px;border-radius:3px;background:var(--track);overflow:hidden}.kill-meter .km-fill{height:100%;width:0;background:linear-gradient(90deg,#ffc85a,#ff7a4e);transition:width .15s ease-out}.kill-meter .km-status{margin-top:6px;font-size:10px;font-weight:800;letter-spacing:.14em;min-height:12px;color:#7adcff}.kill-meter.pop .km-count{animation:km-pop .22s ease-out}@keyframes km-pop{0%{transform:scale(1)}35%{transform:scale(1.35)}to{transform:scale(1)}}.kill-meter.armed{border-color:#7adcff;box-shadow:0 0 18px #7adcff73}.kill-meter.armed .km-fill{background:linear-gradient(90deg,#7adcff,#b48cff)}.kill-meter.armed .km-status{animation:km-ready .9s ease-in-out infinite alternate}@keyframes km-ready{0%{opacity:.55}to{opacity:1}}.kill-meter.active{border-color:#fff;box-shadow:0 0 26px #fff9}.kill-meter.active .km-status{color:#fff;animation:km-ready .28s ease-in-out infinite alternate}.enemy-count{position:fixed;top:136px;left:18px;width:168px;padding:9px 12px 10px;background:#1c1c20db;border:1px solid var(--panel-border);border-radius:8px;backdrop-filter:blur(6px);pointer-events:none;user-select:none;transition:border-color .18s ease,box-shadow .18s ease}.enemy-count .ec-title{font-size:10px;letter-spacing:.16em;color:var(--text-dim);font-weight:700}.enemy-count .ec-count{display:block;margin-top:2px;font-size:30px;font-weight:850;color:var(--text);font-variant-numeric:tabular-nums;line-height:1}.enemy-count.drop .ec-count{animation:ec-drop .24s ease-out}.enemy-count.clear{border-color:#7adcffd9;box-shadow:0 0 18px #7adcff40}@keyframes ec-drop{0%{transform:scale(1)}42%{transform:scale(1.26);color:#7adcff}to{transform:scale(1)}}.charge-ring-wrap{position:fixed;left:0;top:0;display:none;pointer-events:none;will-change:transform}.charge-ring{position:absolute;left:0;top:0;width:72px;height:72px;border-radius:50%;transform:translate(-50%,-50%);pointer-events:none;-webkit-mask:radial-gradient(closest-side,transparent 68%,#000 70%);mask:radial-gradient(closest-side,transparent 68%,#000 70%)}.charge-ring.mega{filter:drop-shadow(0 0 10px rgba(122,220,255,.9))}.charge-ring.full{animation:ring-strain .24s linear infinite}@keyframes ring-strain{0%,to{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-50%,-50%) scale(1.07)}}.wave-overlay{position:fixed;top:22%;left:50%;transform:translate(-50%);pointer-events:none;font-size:40px;font-weight:800;letter-spacing:.14em;color:var(--text);text-shadow:0 2px 12px rgba(0,0,0,.6);opacity:0}.wave-overlay.show{animation:wave-announce 1.8s ease-out}@keyframes wave-announce{0%{opacity:0;transform:translate(-50%) scale(.7)}15%{opacity:1;transform:translate(-50%) scale(1.05)}70%{opacity:1;transform:translate(-50%) scale(1)}to{opacity:0;transform:translate(-50%) scale(1)}}
