:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-synthesis:none;text-rendering:optimizelegibility;--ink:#eef8f1;--muted:#9fb4a8;--panel:#091813e0;--panel-strong:#081410f5;--line:#a5e1ba2e;--line-strong:#a9edc157;--green:#79e69b;--green-strong:#42c977;--gold:#ffe17d;--danger:#ff7180;--cyan:#82ecff;--shadow:0 18px 55px #00000061;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}html,body,#root{background:#040b08;width:100%;height:100%;margin:0;overflow:hidden}body{overscroll-behavior:none;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;min-width:320px}button,select{font:inherit}button{color:inherit}button:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}button:disabled{cursor:not-allowed;filter:saturate(.55);opacity:.46}button:not(:disabled){cursor:pointer}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.game-app{isolation:isolate;background:#06100d;width:100%;height:100dvh;min-height:100%;position:fixed;inset:0;overflow:hidden}.game-canvas-shell,.game-canvas{width:100%;height:100%;position:absolute;inset:0}.game-canvas-shell{z-index:0;overflow:hidden}.game-canvas{touch-action:none;cursor:crosshair;display:block}.phase-menu .game-canvas,.phase-gameover .game-canvas,.phase-victory .game-canvas{cursor:default}.screen-vignette,.screen-grain{z-index:2;pointer-events:none;position:absolute;inset:0}.screen-vignette{box-shadow:inset 0 0 120px #0000006b,inset 0 0 24px #0006}.screen-grain{opacity:.11;mix-blend-mode:soft-light;background-image:repeating-linear-gradient(0deg,#ffffff06 0 1px,#0000 1px 3px),repeating-linear-gradient(90deg,#00000006 0 1px,#0000 1px 4px)}.hud{z-index:20;top:max(10px, env(safe-area-inset-top));left:max(10px, env(safe-area-inset-left));right:max(10px, env(safe-area-inset-right));min-height:54px;color:var(--ink);border:1px solid var(--line-strong);-webkit-backdrop-filter:blur(18px)saturate(1.22);backdrop-filter:blur(18px)saturate(1.22);background:linear-gradient(#0d221bf0,#07130fe0);border-radius:15px;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:10px;padding:7px 8px;display:grid;position:absolute;box-shadow:0 14px 42px #00000052,inset 0 1px #ffffff0b}.hud__stats,.hud__controls{align-items:center;gap:6px;min-width:0;display:flex}.hud__controls{justify-content:flex-end}.hud-stat{color:#dcebe1;background:#ffffff0b;border:1px solid #b8eac917;border-radius:10px;grid-template-columns:auto auto;align-items:center;column-gap:6px;min-width:64px;height:39px;padding:5px 9px;display:grid}.hud-stat svg{color:#9bdcaf;grid-row:1/3}.hud-stat--lives svg{color:#ff7885;fill:#ff78851f}.hud-stat--gold svg{color:var(--gold)}.hud-stat--enemy svg{color:#d498ef}.hud-stat__value{letter-spacing:.01em;align-self:end;font-size:13px;font-weight:800;line-height:1}.hud-stat__label{color:#789085;letter-spacing:.08em;text-transform:uppercase;align-self:start;margin-top:3px;font-size:8px;font-weight:700}.wave-start-button,.control-button,.icon-button,.hud-menu summary{color:#eaf7ee;background:#ffffff0e;border:1px solid #b4e9c633;border-radius:10px;justify-content:center;align-items:center;gap:7px;height:39px;transition:transform .14s,border-color .14s,background .14s;display:inline-flex;box-shadow:inset 0 1px #ffffff0a}.wave-start-button:not(:disabled):hover,.control-button:not(:disabled):hover,.icon-button:not(:disabled):hover,.hud-menu summary:hover{background:#86e2a41f;border-color:#a4f5c085;transform:translateY(-1px)}.wave-start-button:active,.control-button:active,.icon-button:active{transform:translateY(1px)}.wave-start-button{color:#062113;letter-spacing:.02em;background:linear-gradient(#99efad,#51ce7c);border-color:#88f3ac8c;min-width:190px;padding:0 18px;font-size:12px;font-weight:900;box-shadow:0 9px 26px #42c97738,inset 0 1px #ffffff80}.wave-start-button:not(:disabled):hover{background:linear-gradient(#b4f5bf,#62db89)}.wave-start-button:disabled{color:#ebf7efb3;box-shadow:none;background:#ffffff0f;border-color:#ffffff1a}.icon-button,.hud-menu summary{width:39px;min-width:39px;padding:0}.icon-button.is-active{color:#081a12;background:#d7ed89;border-color:#e3f5a1}.control-button{min-width:59px;padding:0 10px;font-size:12px;font-weight:800}.hud-menu{position:relative}.hud-menu summary{list-style:none}.hud-menu summary::-webkit-details-marker{display:none}.hud-menu__panel{width:210px;color:var(--ink);background:var(--panel-strong);border:1px solid var(--line-strong);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:13px;gap:8px;padding:12px;display:grid;position:absolute;top:calc(100% + 10px);right:0}.hud-menu__panel label{color:var(--muted);gap:6px;font-size:11px;display:grid}.hud-menu__panel select,.menu-settings select{width:100%;height:38px;color:var(--ink);border:1px solid var(--line-strong);background:#112c22;border-radius:8px;padding:0 9px}.hud-menu__panel button{color:#dfeee5;border:1px solid var(--line);background:#ffffff0e;border-radius:8px;height:38px}.wave-banner{z-index:15;top:max(76px, calc(env(safe-area-inset-top) + 72px));color:#dfeee5;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#071410d1;border:1px solid #a0dbb430;border-radius:12px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;width:min(820px,100% - 32px);min-height:43px;padding:7px 11px;display:grid;position:absolute;left:50%;transform:translate(-50%);box-shadow:0 10px 28px #00000040}.wave-banner--boss{border-color:#ff896975;box-shadow:0 10px 34px #be3f3626}.wave-banner__heading{white-space:nowrap;align-items:baseline;gap:8px;min-width:116px;display:flex}.wave-banner__heading span{color:#89a095;letter-spacing:.08em;font-size:9px;font-weight:700}.wave-banner__heading b{font-size:12px}.wave-progress{background:#ffffff0d;height:2px;position:absolute;bottom:0;left:11px;right:11px;overflow:hidden}.wave-progress span{transform-origin:0;background:linear-gradient(90deg, var(--green-strong), var(--cyan));width:100%;height:100%;transition:transform .18s linear;display:block}.wave-preview{align-items:center;gap:7px;min-width:0;display:flex}.wave-preview__label{color:#738a7e;letter-spacing:.08em;flex:none;font-size:9px;font-weight:800}.wave-preview__units{align-items:center;gap:9px;min-width:0;display:flex;overflow:hidden}.wave-unit{color:#b8cbbf;white-space:nowrap;flex:none;align-items:center;gap:5px;font-size:10px;display:inline-flex}.wave-unit i{border-radius:50%;width:7px;height:7px;box-shadow:0 0 8px}.boss-badge{color:#2a0c0b;background:linear-gradient(#ffbb72,#f46b5c);border-radius:5px;flex:none;padding:3px 6px;font-size:8px;font-weight:900}.camera-hint{color:#7f968a;white-space:nowrap;font-size:9px}.tower-dock{z-index:18;left:50%;bottom:max(10px, env(safe-area-inset-bottom));width:min(1120px,100% - 28px);color:var(--ink);border:1px solid var(--line-strong);-webkit-backdrop-filter:blur(18px)saturate(1.2);backdrop-filter:blur(18px)saturate(1.2);background:linear-gradient(#0a1d16ed,#06120ee8);border-radius:16px;grid-template-rows:auto auto;grid-template-columns:minmax(0,1fr) auto;gap:6px 10px;padding:9px;display:grid;position:absolute;transform:translate(-50%);box-shadow:0 16px 52px #00000061,inset 0 1px #ffffff0a}.tower-dock__cards{grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;display:grid}.tower-card{color:#e7f4eb;text-align:left;background:#ffffff0b;border:1px solid #ace2bf21;border-radius:11px;grid-template-rows:1fr auto;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;min-width:0;min-height:72px;padding:7px 8px;transition:transform .15s,border-color .15s,background .15s,box-shadow .15s;display:grid;position:relative;overflow:hidden}.tower-card:before{content:"";background:var(--tower-color);opacity:.42;height:2px;position:absolute;inset:auto 0 0}.tower-card:not(:disabled):hover{z-index:1;border-color:color-mix(in srgb, var(--tower-color) 62%, transparent);background:color-mix(in srgb, var(--tower-color) 12%, #ffffff0d);transform:translateY(-3px);box-shadow:0 10px 24px #00000040}.tower-card.is-selected{border-color:var(--tower-color);background:color-mix(in srgb, var(--tower-color) 18%, #0a1c15f0);box-shadow:0 0 0 1px color-mix(in srgb, var(--tower-color) 30%, transparent), 0 10px 30px #00000052;transform:translateY(-4px)}.tower-card .tower-glyph{filter:drop-shadow(0 5px 7px #00000047);grid-row:1/3}.tower-card__copy{align-self:end;gap:3px;min-width:0;display:grid}.tower-card__copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.tower-card__copy small{color:#81988c;text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.tower-card__cost{color:var(--gold);align-self:end;align-items:center;gap:3px;font-size:10px;font-weight:800;display:inline-flex}.tower-card__shortcut{color:#738a7e;background:#00000045;border:1px solid #ffffff14;border-radius:4px;place-items:center;width:16px;height:16px;font-size:8px;font-weight:800;display:grid;position:absolute;top:5px;right:6px}.tower-dock__actions{align-content:start;gap:6px;min-width:126px;display:grid}.dock-action{color:#c8d9ce;border:1px solid var(--line);white-space:nowrap;background:#ffffff0b;border-radius:8px;justify-content:center;align-items:center;gap:6px;min-height:34px;padding:0 9px;font-size:9px;font-weight:750;display:inline-flex}.dock-action--undo{color:#fff0ae;background:#ffd65a14;border-color:#ffe07d4d}.dock-action b{color:var(--gold);font-size:9px}.tower-dock__hint{color:#748a7f;text-align:center;letter-spacing:.02em;grid-column:1/-1;font-size:9px}.selection-panel{z-index:22;top:51%;right:max(12px, env(safe-area-inset-right));width:min(354px,100% - 24px);max-height:calc(100dvh - 190px);color:var(--ink);border:1px solid color-mix(in srgb, var(--tower-color) 44%, #a5e1ba2e);box-shadow:var(--shadow), inset 0 1px #ffffff0d;-webkit-backdrop-filter:blur(20px)saturate(1.18);backdrop-filter:blur(20px)saturate(1.18);scrollbar-width:thin;scrollbar-color:#8ad7a459 transparent;background:linear-gradient(#0a1d16f7,#06120ef5);border-radius:17px;padding:15px;position:absolute;overflow:auto;transform:translateY(-50%)}.selection-panel:before{content:"";background:linear-gradient(90deg, transparent, var(--tower-color), transparent);opacity:.72;height:3px;position:absolute;inset:0 0 auto}.selection-panel__close{color:#9db1a5;background:#ffffff0b;border:1px solid #ffffff14;border-radius:8px;place-items:center;width:30px;height:30px;display:grid;position:absolute;top:11px;right:11px}.selection-panel__header{grid-template-columns:60px minmax(0,1fr);align-items:center;gap:10px;padding-right:28px;display:grid}.selection-panel__header h2{margin:3px 0 2px;font-size:17px;line-height:1.15}.selection-panel__header p,.selection-panel__header .eyebrow{color:#81978b;margin:0;font-size:9px}.selection-panel__header .eyebrow{color:var(--tower-color);letter-spacing:.1em;text-transform:uppercase;font-weight:800}.tower-stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:13px;display:grid}.tower-stat-card{text-align:center;background:#ffffff0a;border:1px solid #ffffff12;border-radius:8px;gap:5px;min-width:0;padding:8px 5px;display:grid}.tower-stat-card span{color:#748a7e;white-space:nowrap;font-size:8px}.tower-stat-card strong{color:#eff8f2;text-overflow:ellipsis;font-size:12px;overflow:hidden}.upgrade-section{background:#ffffff09;border:1px solid #ffffff13;border-radius:11px;gap:10px;margin-top:12px;padding:11px;display:grid}.upgrade-section__copy span{color:var(--tower-color);font-size:10px;font-weight:850}.upgrade-section__copy p,.branch-card p,.specialization-summary p{color:#82998d;margin:4px 0 0;font-size:9px;line-height:1.5}.primary-action,.secondary-action,.menu-primary{color:#071d11;background:linear-gradient(#a5efb5,#55ce7d);border:1px solid #b2ffc8b3;border-radius:10px;justify-content:center;align-items:center;gap:8px;min-height:43px;padding:0 15px;font-size:11px;font-weight:900;display:inline-flex;box-shadow:0 9px 22px #43c6762b,inset 0 1px #ffffff7a}.primary-action b{border-left:1px solid #052c1638;align-items:center;gap:3px;padding-left:6px;display:inline-flex}.branch-grid{grid-template-columns:1fr 1fr;gap:7px;display:grid}.branch-card{color:#eaf6ee;text-align:left;border:1px solid color-mix(in srgb, var(--branch-color) 35%, #ffffff14);background:#ffffff0b;border-radius:10px;align-content:start;gap:4px;min-height:138px;padding:10px;display:grid;position:relative}.branch-card:not(:disabled):hover{border-color:var(--branch-color);background:color-mix(in srgb, var(--branch-color) 10%, #ffffff0a)}.branch-card__mark{color:#071811;background:var(--branch-color);border-radius:7px;place-items:center;width:27px;height:27px;margin-bottom:2px;display:grid}.branch-card strong{font-size:11px}.branch-card p{min-height:42px}.branch-card b{color:var(--gold);align-items:center;gap:3px;margin-top:auto;font-size:10px;display:inline-flex}.specialization-summary{color:var(--tower-color);background:color-mix(in srgb, var(--tower-color) 9%, #ffffff08);border:1px solid color-mix(in srgb, var(--tower-color) 32%, transparent);border-radius:10px;grid-template-columns:auto 1fr;gap:9px;margin-top:12px;padding:10px;display:grid}.specialization-summary strong{font-size:11px}.selection-panel__actions{grid-template-columns:1fr 1fr;gap:7px;margin-top:12px;display:grid}.selection-panel__actions button{color:#d6e6dc;border:1px solid var(--line);background:#ffffff0b;border-radius:9px;justify-content:center;align-items:center;gap:6px;min-height:39px;font-size:10px;font-weight:750;display:inline-flex}.selection-panel__actions .sell-action{color:#ffabb0;background:#ff5c6f12;border-color:#ff718040}.game-overlay{z-index:60;padding:max(18px, env(safe-area-inset-top)) max(18px, env(safe-area-inset-right)) max(18px, env(safe-area-inset-bottom)) max(18px, env(safe-area-inset-left));color:var(--ink);-webkit-backdrop-filter:blur(7px)saturate(.75);backdrop-filter:blur(7px)saturate(.75);background:radial-gradient(circle at 50% 35%,#225e3d38,#0000 42%),#020906bf;place-items:center;display:grid;position:absolute;inset:0;overflow:auto}.game-overlay--victory{background:radial-gradient(circle at 50% 35%,#b1993a33,#0000 46%),#020906cc}.game-overlay--defeat{background:radial-gradient(circle at 50% 35%,#89273233,#0000 45%),#040706d1}.menu-card,.result-card{background:linear-gradient(160deg,#0d231bf7,#05110cf7);border:1px solid #9ee8b74a;border-radius:24px;width:min(570px,100%);padding:clamp(20px,4vw,34px);position:relative;overflow:hidden;box-shadow:0 36px 110px #00000080,inset 0 1px #ffffff0e}.menu-card:before,.result-card:before{content:"";background:linear-gradient(90deg,#0000,#79e69b,#8aebff,#0000);height:3px;position:absolute;inset:0 0 auto}.menu-card__brand{text-align:center}.menu-card__version,.result-card__eyebrow{color:#7f9b8d;letter-spacing:.16em;background:#ffffff0a;border:1px solid #ffffff13;border-radius:6px;padding:5px 8px;font-size:8px;font-weight:850;display:inline-flex}.menu-card__brand h1{letter-spacing:-.065em;text-shadow:0 8px 26px #00000059;margin:13px 0 0;font-size:clamp(38px,8vw,68px);line-height:.92}.menu-card__brand h1 span{color:#8ce8a6}.menu-card__brand>p{color:#8fa99a;letter-spacing:.2em;margin:11px 0 0;font-size:11px;font-weight:750}.menu-card__lead{color:#a9bcae;text-align:center;max-width:470px;margin:19px auto 0;font-size:12px;line-height:1.75}.menu-features{flex-wrap:wrap;justify-content:center;gap:7px;margin:17px 0;display:flex}.menu-features span{color:#b8cec0;background:#ffffff0a;border:1px solid #ffffff12;border-radius:8px;align-items:center;gap:6px;padding:7px 9px;font-size:9px;display:inline-flex}.menu-card>.menu-primary{width:100%;min-height:52px;font-size:14px}.menu-settings{grid-template-columns:1.35fr 1fr 1fr;gap:7px;margin-top:12px;display:grid}.menu-settings label{color:#758d80;gap:5px;font-size:8px;display:grid}.menu-settings button{color:#c3d6c9;border:1px solid var(--line);background:#ffffff0a;border-radius:8px;justify-content:center;align-self:end;align-items:center;gap:6px;height:38px;font-size:9px;display:inline-flex}.menu-record{color:#789084;background:#ffffff07;border:1px solid #ffffff0f;border-radius:9px;justify-content:space-between;align-items:center;margin-top:16px;padding:10px 12px;font-size:9px;display:flex}.menu-record strong{color:var(--gold);font-size:11px}.menu-controls{color:#6f887a;flex-wrap:wrap;justify-content:center;gap:7px 12px;margin-top:13px;font-size:8px;display:flex}.menu-controls span{white-space:nowrap}kbd{color:#a7bdaf;background:#10271e;border:1px solid #2b4b3b;border-bottom-width:2px;border-radius:4px;place-items:center;min-width:21px;height:19px;margin-right:3px;padding:0 5px;font:700 8px inherit;display:inline-grid}.result-card{text-align:center;width:min(520px,100%)}.result-card h1{letter-spacing:-.04em;margin:11px 0 6px;font-size:clamp(30px,7vw,46px)}.result-card>p{color:#93a99c;max-width:420px;margin:0 auto;font-size:11px;line-height:1.65}.result-score{gap:4px;margin:20px 0 13px;display:grid}.result-score span{color:#748c7f;letter-spacing:.12em;font-size:9px}.result-score strong{color:var(--gold);font-size:clamp(34px,8vw,52px);line-height:1}.result-stats{grid-template-columns:repeat(4,1fr);gap:7px;display:grid}.result-stats>div{background:#ffffff09;border:1px solid #fff1;border-radius:9px;gap:5px;padding:10px 5px;display:grid}.result-stats span{color:#72897d;font-size:8px}.result-stats strong{font-size:12px}.result-actions{grid-template-columns:1fr 1fr;gap:8px;margin-top:16px;display:grid}.result-actions .menu-primary:first-child:last-child,.result-actions .menu-primary:first-child:nth-last-child(3){grid-column:1/-1}.result-actions .secondary-action{color:#c9d9cf;border-color:var(--line);box-shadow:none;background:#ffffff0b}.ability-bar{z-index:19;top:50%;left:max(12px, env(safe-area-inset-left));gap:8px;display:grid;position:absolute;transform:translateY(-50%)}.ability-button{width:168px;color:var(--ink);text-align:left;border:1px solid var(--line);-webkit-backdrop-filter:blur(16px)saturate(1.15);backdrop-filter:blur(16px)saturate(1.15);background:linear-gradient(#0a1d16ed,#06120eeb);border-radius:13px;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:9px;padding:9px 10px;transition:transform .15s,border-color .15s,box-shadow .15s;display:grid;position:relative;overflow:hidden;box-shadow:0 12px 32px #00000052}.ability-button__sweep{transform:scaleY(calc(1 - var(--progress,1)));transform-origin:top;pointer-events:none;background:#040c09b8;position:absolute;inset:0}.ability-button.is-ready{border-color:color-mix(in srgb, var(--ability-color) 55%, transparent)}.ability-button.is-ready:hover{box-shadow:0 0 0 1px color-mix(in srgb, var(--ability-color) 40%, transparent), 0 14px 34px #0000005c;transform:translate(3px)}.ability-button.is-targeting{border-color:var(--ability-color);background:color-mix(in srgb, var(--ability-color) 16%, #081611f2)}.ability-button__icon{width:38px;height:38px;color:var(--ability-color);background:color-mix(in srgb, var(--ability-color) 14%, #ffffff0a);border:1px solid color-mix(in srgb, var(--ability-color) 34%, transparent);border-radius:10px;place-items:center;display:grid}.ability-button__meta{gap:2px;min-width:0;display:grid}.ability-button__meta strong{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.ability-button__meta small{color:#869c90;font-size:9px;font-weight:700}.ability-button.is-ready .ability-button__meta small{color:var(--ability-color)}.ability-button__key{color:#7c9287;background:#0000004d;border:1px solid #ffffff14;border-radius:4px;place-items:center;min-width:16px;height:16px;padding:0 3px;font-size:8px;font-weight:800;display:grid;position:absolute;top:6px;right:7px}.combo-meter{z-index:17;top:max(118px, calc(env(safe-area-inset-top) + 112px));right:max(12px, env(safe-area-inset-right));color:var(--gold);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:linear-gradient(#261b08e6,#100d06e6);border:1px solid #ffd66e5c;border-radius:12px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;padding:8px 12px;display:grid;position:absolute;box-shadow:0 12px 30px #00000057}.combo-meter__body{gap:1px;display:grid}.combo-meter__body strong{font-size:13px;font-weight:900;line-height:1}.combo-meter__body span{color:#d8c58a;font-size:9px;font-weight:700}.combo-meter__decay{background:#0006;border-radius:99px;grid-column:1/-1;height:3px;overflow:hidden}.combo-meter__decay span{transform-origin:0;background:linear-gradient(90deg,#ffd76b,#ff9d5c);height:100%;transition:transform .12s linear;display:block}.wave-affix{min-width:0;color:var(--affix-color);background:color-mix(in srgb, var(--affix-color) 13%, #00000047);border:1px solid color-mix(in srgb, var(--affix-color) 42%, transparent);border-radius:99px;align-items:center;gap:5px;padding:3px 8px;font-size:9px;display:inline-flex}.wave-affix strong{white-space:nowrap;font-size:10px;font-weight:900}.wave-affix span{color:#9db1a6;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.hud-stat--difficulty svg{color:var(--difficulty-color)}.hud-stat--difficulty .hud-stat__value{color:var(--difficulty-color);font-size:12px}.difficulty-picker{text-align:left;gap:7px;margin-top:14px;display:grid}.difficulty-picker__label{color:#8ea497;letter-spacing:.16em;text-transform:uppercase;font-size:9px;font-weight:800}.difficulty-picker__options{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid}.difficulty-option{color:#cadbd0;border:1px solid var(--line);background:#ffffff0a;border-radius:10px;gap:2px;padding:8px 4px;transition:transform .14s,border-color .14s,background .14s;display:grid}.difficulty-option strong{color:var(--difficulty-color);font-size:12px;font-weight:900}.difficulty-option small{color:#85998c;font-size:8px}.difficulty-option:hover{border-color:color-mix(in srgb, var(--difficulty-color) 50%, transparent);transform:translateY(-2px)}.difficulty-option.is-selected{border-color:var(--difficulty-color);background:color-mix(in srgb, var(--difficulty-color) 15%, #0a1c15e6);box-shadow:0 0 0 1px color-mix(in srgb, var(--difficulty-color) 26%, transparent)}.difficulty-picker__detail{color:#8ba296;margin:0;font-size:9px;line-height:1.5}.tower-record{color:#8ea497;flex-wrap:wrap;gap:6px 12px;margin-top:9px;font-size:9px;font-weight:700;display:flex}.tower-record span{align-items:center;gap:4px;display:inline-flex}.boost-tag{color:#d9b6ff;background:#c99bff24;border:1px solid #c99bff5c;border-radius:99px;align-items:center;gap:3px;margin-left:6px;padding:1px 6px;font-size:8px;font-weight:800;display:inline-flex}@media (max-width:1080px){.hud-stat__label{display:none}.hud-stat{grid-template-columns:auto auto;min-width:55px}.hud-stat svg{grid-row:auto}.tower-card{grid-template-columns:43px minmax(0,1fr)}.tower-card__cost{grid-column:2;justify-self:start}.tower-card__copy small{display:none}.ability-button{grid-template-columns:32px minmax(0,1fr);width:132px;padding:7px 8px}.ability-button__icon{width:32px;height:32px}}@media (max-width:760px){.hud{top:max(6px, env(safe-area-inset-top));left:max(6px, env(safe-area-inset-left));right:max(6px, env(safe-area-inset-right));border-radius:12px;grid-template-columns:auto minmax(90px,1fr) auto;gap:5px;min-height:50px;padding:5px}.hud__stats,.hud__controls{gap:4px}.hud-stat{column-gap:4px;min-width:48px;height:36px;padding:4px 7px}.hud-stat:nth-child(n+3){display:none}.hud-stat__value{font-size:11px}.hud-stat svg{width:15px;height:15px}.wave-start-button{gap:4px;width:100%;min-width:0;height:36px;padding:0 7px;font-size:10px}.wave-start-button svg{display:none}.icon-button,.hud-menu summary{width:36px;min-width:36px;height:36px}.control-button{gap:3px;min-width:42px;height:36px;padding:0 6px}.control-button svg,.hud__fullscreen,.hud__controls>.icon-button:first-child:not(:last-child){display:none}.wave-banner{top:max(62px, calc(env(safe-area-inset-top) + 57px));border-radius:10px;grid-template-columns:auto minmax(0,1fr);gap:7px;width:calc(100% - 12px);min-height:38px;padding:5px 8px}.wave-banner__heading{min-width:92px}.wave-banner__heading b{font-size:10px}.wave-preview__units{scrollbar-width:none;overflow-x:auto}.wave-preview__units::-webkit-scrollbar{display:none}.wave-unit{font-size:8px}.camera-hint{display:none}.tower-dock{bottom:max(6px, env(safe-area-inset-bottom));border-radius:12px;grid-template-columns:1fr;gap:4px;width:calc(100% - 12px);padding:6px}.tower-dock__cards{gap:4px}.tower-card{text-align:center;border-radius:9px;flex-direction:column;justify-content:center;min-height:75px;padding:3px 2px 5px;display:flex}.tower-card .tower-glyph{flex:none;width:36px;height:36px}.tower-card__copy{align-self:center}.tower-card__copy strong{font-size:9px}.tower-card__copy small,.tower-card__shortcut{display:none}.tower-card__cost{align-self:center;font-size:8px}.tower-card__cost svg{width:11px;height:11px}.tower-dock__actions{min-width:0;display:flex;position:absolute;bottom:calc(100% + 5px);right:4px}.dock-action{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#071410f0;min-height:30px;padding:0 8px}.tower-dock__hint{display:none}.ability-bar{top:auto;left:6px;right:6px;bottom:calc(max(6px, env(safe-area-inset-bottom)) + 96px);grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:5px;transform:none}.ability-button{border-radius:10px;grid-template-columns:28px minmax(0,1fr);gap:6px;width:auto;padding:6px 7px}.ability-button__icon{width:28px;height:28px}.ability-button__icon svg{width:17px;height:17px}.ability-button__meta strong{font-size:9px}.ability-button__meta small{font-size:8px}.ability-button__key{display:none}.combo-meter{top:max(112px, calc(env(safe-area-inset-top) + 106px));gap:6px;padding:6px 9px;right:6px}.combo-meter__body strong{font-size:11px}.wave-affix span{display:none}.difficulty-picker__options{grid-template-columns:repeat(2,minmax(0,1fr))}.selection-panel{top:auto;right:6px;bottom:calc(max(6px, env(safe-area-inset-bottom)) + 144px);border-radius:14px;width:auto;max-height:min(44dvh,380px);padding:12px;left:6px;transform:none}.selection-panel__header{grid-template-columns:49px 1fr}.selection-panel__header .tower-glyph{width:48px;height:48px}.selection-panel__header h2{font-size:14px}.tower-stats-grid,.upgrade-section{margin-top:8px}.branch-card{min-height:122px}.game-overlay{padding:10px}.menu-card,.result-card{border-radius:18px;padding:20px 16px}.menu-settings{grid-template-columns:1fr 1fr}.menu-settings label{grid-column:1/-1}}@media (max-width:430px){.hud-stat{min-width:43px;padding-inline:5px}.hud-stat--gold{min-width:61px}.hud__controls>.icon-button:nth-of-type(2),.wave-banner__heading span,.wave-preview__label{display:none}.wave-banner__heading{min-width:auto}.tower-stats-grid{grid-template-columns:repeat(2,1fr)}.branch-grid{grid-template-columns:1fr}.branch-card{grid-template-columns:auto 1fr auto;align-items:center;min-height:92px}.branch-card__mark{grid-row:1/3}.branch-card p{min-height:0}.branch-card b{grid-area:1/3/3}.menu-card__lead{font-size:10px}.menu-controls{display:none}.result-stats{grid-template-columns:repeat(2,1fr)}.tower-dock__cards{gap:3px}.tower-card{min-height:62px;padding:3px 1px 4px}.tower-card .tower-glyph{width:30px;height:30px}.tower-card__cost,.ability-button__meta{display:none}.ability-button{grid-template-columns:minmax(0,1fr);justify-items:center}.ability-bar{bottom:calc(max(6px, env(safe-area-inset-bottom)) + 82px)}.selection-panel{bottom:calc(max(6px, env(safe-area-inset-bottom)) + 130px);max-height:min(40dvh,330px)}}@media (orientation:landscape) and (max-height:620px){.hud{min-height:44px;top:5px}.wave-banner{top:56px}.tower-dock{width:min(760px,100% - 18px);padding:5px;bottom:5px}.tower-card{min-height:58px}.tower-card .tower-glyph{width:38px;height:38px}.selection-panel{max-height:none;top:57px;bottom:72px;transform:none}.ability-bar{grid-auto-flow:column;gap:5px;inset:auto auto 72px 6px;transform:none}.ability-button{width:108px;padding:5px 7px}.combo-meter{top:52px}.menu-card,.result-card{transform-origin:50%;transform:scale(.9)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
