:root{color:#fff1f5;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--ink:#fff1f5;--muted:#e9bdc9;--panel:#261b23f0;--panel-strong:#191218f5;--panel-soft:#533042b8;--line:#b45d80;--line-soft:#ff9fbe47;--gold:#ff9fbe;--gold-dark:#c85886;--rose:#ff7fac;--rose-dark:#9f344e;--leaf:#5bbf7a;--blue:#7fcde9;--danger:#f05d70;--shadow:0 20px 70px #0000006b;background:#181416;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0;overflow-x:hidden}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}#root,.app-shell{min-height:100vh}.app-shell{background:radial-gradient(circle at 50% 0,#ff9fbe29,#0000 42%),linear-gradient(#241923 0%,#121015 100%)}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:0}.eyebrow{color:var(--gold);letter-spacing:0;text-transform:uppercase;margin:0 0 5px;font-size:.72rem;font-weight:950}.lobby-view{isolation:isolate;background:linear-gradient(#07090738,#080a08b8),url(/assets/menu-background.png) 50%/cover no-repeat;place-items:center;min-height:100vh;display:grid;position:relative;overflow:hidden}.lobby-view:before{content:"";z-index:-1;background:linear-gradient(90deg,#090a08d1,#090a0842 42%,#090a08c7),linear-gradient(#00000047,#0000 34%,#0000008c);position:absolute;inset:0}.lobby-main{justify-items:center;gap:34px;width:min(680px,100vw - 32px);padding:24px;display:grid;transform:translateY(-2vh)}.lobby-logo{text-align:center;filter:drop-shadow(0 14px 20px #00000073);justify-items:center;display:grid}.lobby-logo img{object-fit:contain;width:clamp(148px,24vw,260px);height:auto}.lobby-logo h1{color:#ffd8e5;text-shadow:0 4px #7c2f4c,0 9px #241611,0 18px 34px #00000094;margin:-8px 0 0;font-size:clamp(4rem,15vw,9.2rem);line-height:.86}.lobby-logo p{color:#ffe1eb;text-transform:uppercase;letter-spacing:0;background:#271622a8;border:1px solid #ffb8d070;border-radius:999px;margin:10px 0 0;padding:7px 18px;font-weight:900}.menu-actions{gap:14px;width:min(340px,100%);display:grid}.menu-button{color:#251019;letter-spacing:0;text-transform:uppercase;border:2px solid #ffd1e0;border-radius:8px;justify-content:center;align-items:center;gap:12px;min-height:64px;padding:12px 20px;font-size:1.1rem;font-weight:950;display:inline-flex;box-shadow:inset 0 -5px #5b1c374d,0 12px #371525c7,0 26px 38px #00000061}.primary-menu-button{background:linear-gradient(#ffc2d7,#e86d9c)}.secondary-menu-button{background:linear-gradient(#e9fff3,#74c49a)}.menu-button:hover{transform:translateY(-2px)}.menu-button:active{transform:translateY(7px);box-shadow:inset 0 -2px #5b1c373d,0 5px #371525c7,0 15px 26px #00000061}.primary-button,.ghost-button,.icon-button,.build-card,.powerup-card,.segmented button{letter-spacing:0;white-space:nowrap;border:1px solid #0000;border-radius:7px;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:8px 12px;font-weight:900;display:inline-flex}.primary-button{color:#251019;background:linear-gradient(#ffacc9,#c85886);border-color:#ffd1e0;box-shadow:inset 0 -3px #5b1c3752}.primary-button:hover{filter:brightness(1.06)}.ghost-button,.icon-button{border-color:var(--line-soft);color:var(--ink);background:#121310bd}.ghost-button:hover,.icon-button:hover,.build-card:hover,.powerup-card:hover{border-color:var(--gold)}.icon-button{width:38px;min-height:38px;padding:0}.game-view{background:linear-gradient(#0f160fc7,#0c0e0ce6),url(/assets/menu-background.png) 50%/cover fixed;grid-template-rows:auto minmax(0,1fr);gap:12px;min-height:100vh;padding:12px;display:grid}.top-hud{border:2px solid var(--line);box-shadow:var(--shadow), inset 0 0 0 1px #ffd1e01f;background:linear-gradient(#4a2b3ef5,#1a141af7);border-radius:8px;grid-template-columns:minmax(210px,1fr) minmax(190px,auto) minmax(260px,1fr);align-items:center;gap:8px;padding:6px 8px;display:grid}.game-brand,.panel-heading,.panel-subheading,.top-actions,.hud-stats,.selection-title,.selection-actions,.modal-title,.modal-actions{align-items:center;display:flex}.game-brand{gap:8px;min-width:0}.game-brand img{object-fit:contain;width:38px;height:38px}.game-brand div{min-width:0}.game-brand strong{color:#ffd8e5;text-shadow:0 2px #55291c;font-size:1rem;line-height:1;display:block}.game-brand span{color:#ffb8d0;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;font-size:.76rem;font-weight:950;display:block;overflow:hidden}.hud-stats{flex-wrap:nowrap;justify-content:flex-end;gap:8px}.hud-cluster{white-space:nowrap;justify-content:flex-end;justify-items:end;gap:6px;min-width:0;display:grid}.wave-clock{background:linear-gradient(#37192afa,#161116f5);border:2px solid #ffb8d0b8;border-radius:8px;justify-self:center;justify-items:center;min-width:168px;padding:4px 14px 6px;display:grid;box-shadow:inset 0 0 0 1px #ffb8d024,0 10px 28px #00000047}.wave-clock span{color:var(--muted);text-transform:uppercase;font-size:.66rem;font-weight:950}.wave-clock strong{color:#ffd8e5;text-shadow:0 3px #682842;font-size:clamp(1.62rem,3.2vw,2.35rem);line-height:.95}.wave-clock small{color:var(--gold);text-transform:uppercase;font-size:.66rem;font-weight:950}.wave-clock.warning{background:linear-gradient(#7b2b4afa,#2f111ef5);border-color:#ffcadb;box-shadow:0 0 0 4px #e256563d,0 0 36px #e2565657}.wave-clock.warning strong{color:#ffe1eb}.hud-stat{border:2px solid var(--line-soft);font-variant-numeric:tabular-nums;background:#0e100dbd;border-radius:7px;justify-content:center;align-items:center;gap:8px;min-width:116px;min-height:40px;padding:6px 11px;display:inline-flex;box-shadow:inset 0 0 14px #0000003d}.hud-stat svg{color:var(--gold)}.hud-stat strong{color:#ffe1eb;text-align:right;min-width:5ch;font-size:1.14rem;line-height:1}.life-stat{background:linear-gradient(#571823e6,#160d12e6);border-color:#f05d70c7;box-shadow:inset 0 0 16px #f05d7029,0 0 18px #f05d702e}.life-stat svg,.life-stat strong{color:#ff6f82}.gold-stat{background:linear-gradient(#5c3f12e6,#1a130de6);border-color:#ffcb5cd1;box-shadow:inset 0 0 16px #ffcb5c2e,0 0 18px #ffcb5c29}.gold-stat svg,.gold-stat strong{color:#ffd36f}.top-actions{white-space:nowrap;flex-wrap:nowrap;justify-content:flex-end;gap:7px}.top-actions .primary-button,.top-hud .ghost-button{min-height:30px;padding:5px 8px;font-size:.76rem}.next-wave-button{color:#251019;background:linear-gradient(#ffe6a6,#d99632);border-color:#ffd88a;box-shadow:inset 0 -3px #61330d57,0 0 18px #ffcb5c33}.top-hud .ghost-button svg,.hud-stat svg{width:17px;height:17px}.play-layout{grid-template-columns:260px minmax(660px,1fr) 286px;align-items:stretch;gap:8px;min-height:0;display:grid}.panel{border:2px solid var(--line);min-width:0;box-shadow:var(--shadow), inset 0 0 0 1px #ffb8d01f;background:linear-gradient(#3c2333f5,#171218f7);border-radius:8px}.build-panel{z-index:8;max-height:calc(100vh - 72px);padding:10px;position:relative;overflow:visible}.info-panel{max-height:calc(100vh - 72px);padding:10px;overflow:auto}.panel-heading{border-bottom:1px solid var(--line-soft);justify-content:space-between;gap:12px;margin-bottom:12px;padding-bottom:10px}.panel-subheading{border-top:1px solid var(--line-soft);justify-content:space-between;gap:12px;margin:14px 0 10px;padding-top:12px}.panel-heading h2,.panel-subheading h2{color:#ffd8e5;margin:0;font-size:1.1rem;line-height:1.1}.panel-heading svg{color:var(--gold)}.build-list{gap:8px;display:grid;position:relative}.build-card-wrap{position:relative}.build-card{width:100%;min-height:64px;color:var(--ink);text-align:left;background:linear-gradient(#533042d6,#1b141be6);border-color:#ff9fbe3d;justify-content:start;box-shadow:inset 0 0 0 1px #ffffff0a}.build-card.active{border-color:#ffc2d7;box-shadow:inset 0 0 0 1px #ffdbe733,0 0 0 3px #ff9fbe24}.build-card.dragging{background:linear-gradient(#4a6841f0,#18241aeb);border-color:#bce5c9;transform:translate(4px)scale(.985);box-shadow:inset 0 0 0 1px #ecfff12e,0 0 22px #74c49a47}.build-card.locked{filter:grayscale(.25);background:linear-gradient(#382631d6,#161216e6);border-color:#f05d7052}.build-card:disabled{opacity:.66}.build-card.locked em{color:#ff6f82}.build-card.locked img{opacity:.72}.build-card img{object-fit:contain;filter:drop-shadow(0 4px 3px #00000061);flex:none;width:45px;height:45px}.build-card span{gap:2px;min-width:0;display:grid}.build-card strong{color:#ffd8e5;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.build-card small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;font-weight:700;line-height:1.25;display:block;overflow:hidden}.build-card em{color:var(--gold);margin-left:auto;font-style:normal;font-weight:950}.build-tooltip{opacity:0;pointer-events:none;visibility:hidden;z-index:18;background:linear-gradient(#36202efa,#140f14fa);border:2px solid #ffb8d0b8;border-radius:8px;gap:6px;width:238px;padding:10px;transition:opacity .12s,transform .12s,visibility .12s;display:grid;position:absolute;top:50%;left:calc(100% + 10px);transform:translate(6px,-50%);box-shadow:0 18px 36px #0000007a,inset 0 0 0 1px #ffb8d01f}.build-card-wrap:hover .build-tooltip,.build-card-wrap:focus-within .build-tooltip{opacity:1;visibility:visible;transform:translateY(-50%)}.build-tooltip strong{color:#ffd8e5;line-height:1.05}.build-tooltip small{color:var(--muted);font-weight:850}.build-preview-stats{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:2px}.build-preview-stats span{text-align:left}.build-preview-stats span:first-child{color:#ffd36f}.buff-picker,.selection-box,.tower-help,.compact-leaderboard,.run-grid{border:1px solid var(--line-soft);background:#0c0e0c9e;border-radius:8px;box-shadow:inset 0 0 18px #0003}.buff-picker,.selection-box,.tower-help,.compact-leaderboard{margin-top:10px;padding:11px}.field-label,.selection-box span,.selection-box p,.tower-help p,.status-text,.empty-state{color:var(--muted);font-size:.84rem;line-height:1.42}.field-label{margin:0 0 8px;font-weight:900}.segmented{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.segmented button{border-color:var(--line-soft);min-height:34px;color:var(--ink);background:#1c1f1ad1}.segmented button.active{color:#fff1f6;background:#c8588694;border-color:#ffc2d7}.selection-title{gap:10px;margin-bottom:10px}.selection-title img{object-fit:contain;filter:drop-shadow(0 5px 4px #00000061);width:68px;height:68px}.selection-title span{min-width:0;display:grid}.selection-title strong{overflow-wrap:anywhere;color:#ffd8e5;font-size:1rem}.selection-title small{color:var(--muted)}.mini-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.mini-stats span{color:#ffd8e5;text-align:center;background:#612f449e;border-radius:6px;min-width:0;padding:7px 4px;font-size:.72rem;font-weight:900}.selection-actions{grid-template-columns:1fr;gap:8px;margin-top:12px;display:grid}.board-wrap{border:3px solid var(--line);min-width:0;min-height:0;box-shadow:var(--shadow), inset 0 0 0 2px #ffd1e024, inset 0 0 32px #0000005c;background:linear-gradient(#573143f5,#1f181ffa);border-radius:8px;place-items:center;padding:6px;display:grid}.board{aspect-ratio:22/14;background:linear-gradient(#ffe2eb08,#2d16221a),url(/assets/level-terrain.png) 50%/cover no-repeat,#688f55;border:3px solid #4c2638;border-radius:8px;width:100%;max-width:min(100%,1320px);display:grid;position:relative;overflow:hidden;box-shadow:0 0 0 3px #ff9fbe33,inset 0 0 38px #26271647}.board.dragging-board:before{content:"";pointer-events:none;z-index:1;background:repeating-linear-gradient(90deg,#ecfff147 0 1px,#0000 1px 4.54545%),repeating-linear-gradient(#ecfff147 0 1px,#0000 1px 7.14286%);position:absolute;inset:0}.cell{z-index:2;min-width:0;min-height:0;color:var(--ink);background:0 0;border:0;outline:none;place-items:center;padding:0;display:grid;position:relative}.cell.selected-building{outline-offset:-3px;z-index:4;outline:3px solid #ffb8d0;box-shadow:inset 0 0 0 2px #5b1c37bf,0 0 22px #ff9fbec2}.cell.hovered-building:not(.selected-building){outline-offset:-2px;outline:2px solid #bce5c9f2}.cell.drag-valid{outline-offset:-3px;background:linear-gradient(135deg,#ecfff133,#41a36f2e),#8fbd65;outline:3px solid #b1f6c6fa}.cell.drag-invalid{outline-offset:-3px;background:linear-gradient(135deg,#ffdcdc2e,#9f344e38),#a66858;outline:3px solid #e25656fa}.cell.pending-placement{outline-offset:-3px;outline:3px solid #ffb8d0;box-shadow:inset 0 0 0 2px #371424cc,0 0 24px #ff9fbe94}.cell.spawn,.cell.base{background:0 0}.special-tile{object-fit:contain;pointer-events:none;z-index:1;filter:drop-shadow(0 8px 5px #00000047);width:235%;height:235%;position:absolute;top:50%;transform:translateY(-50%)}.spawn-tile{left:-58%}.gate-tile{right:-58%}.building{object-fit:contain;pointer-events:none;z-index:2;filter:drop-shadow(0 5px 3px #0000005c);width:88%;height:88%}.wall-building{width:104%;height:104%}.buff-dot{color:#fff;z-index:3;background:#101820;border:1px solid #ffffff5c;border-radius:999px;place-items:center;width:18px;height:18px;font-size:.68rem;font-weight:950;display:grid;position:absolute;top:2px;right:2px}.buff-dot.range{background:var(--blue)}.buff-dot.rate{background:var(--gold-dark)}.buff-dot.income{background:var(--leaf)}.range-layer{pointer-events:none;z-index:3;position:absolute;inset:0}.range-radius{background:#ff9fbe1c;border:2px solid #ffb8d0c7;border-radius:999px;position:absolute;transform:translate(-50%,-50%);box-shadow:inset 0 0 28px #ff9fbe29,0 0 18px #ff9fbe40}.range-radius.hovered{background:#bce5c91a;border-color:#bce5c9d1;box-shadow:inset 0 0 22px #bce5c924,0 0 16px #bce5c938}.tower-tooltip{pointer-events:none;z-index:8;background:linear-gradient(#36202efa,#140f14fa);border:2px solid #ffb8d0a8;border-radius:8px;gap:6px;width:min(238px,42%);min-width:190px;padding:10px;display:grid;position:absolute;transform:translate(-50%,calc(-100% - 16px));box-shadow:0 18px 36px #0000007a}.tower-tooltip.left{transform:translate(calc(30px - 100%),calc(-100% - 16px))}.tower-tooltip.below{transform:translate(-50%,16px)}.tower-tooltip.left.below{transform:translate(calc(30px - 100%),16px)}.tower-tooltip strong{color:#ffd8e5;line-height:1.05}.tower-tooltip small{color:var(--muted);font-weight:850}.tower-tooltip .mini-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.tower-tooltip .mini-stats span{font-size:.68rem}.placement-prompt{z-index:10;background:linear-gradient(#3d2232fc,#140f14fc);border:2px solid #ffb8d0;border-radius:8px;gap:9px;width:min(230px,42%);min-width:190px;padding:10px;display:grid;position:absolute;transform:translate(-50%,calc(-100% - 16px));box-shadow:0 20px 42px #00000085}.placement-prompt.left{transform:translate(calc(30px - 100%),calc(-100% - 16px))}.placement-prompt.below{transform:translate(-50%,16px)}.placement-prompt.left.below{transform:translate(calc(30px - 100%),16px)}.placement-title,.placement-actions{align-items:center;display:flex}.placement-title{gap:9px}.placement-title img{object-fit:contain;filter:drop-shadow(0 4px 4px #00000061);width:44px;height:44px}.placement-title span{min-width:0;display:grid}.placement-title strong{overflow-wrap:anywhere;color:#ffd8e5;line-height:1.05}.placement-title small{color:var(--gold);font-weight:950}.placement-actions{gap:7px}.placement-actions .primary-button,.placement-actions .ghost-button{flex:1 1 0;min-height:34px}.pixi-layer{pointer-events:none;z-index:5;position:absolute;inset:0}.pixi-canvas{width:100%;height:100%;display:block}.entity-layer{pointer-events:none;z-index:5;position:absolute;inset:0}.enemy,.projectile{position:absolute;transform:translate(-50%,-50%)}.enemy{width:clamp(22px,4.2vw,46px);height:clamp(22px,4.2vw,46px)}.enemy.boss{filter:drop-shadow(0 0 7px #d85b73b8);width:clamp(34px,6vw,70px);height:clamp(34px,6vw,70px)}.enemy img{object-fit:contain;width:100%;height:100%}.enemy span{background:var(--danger);border-radius:99px;max-width:80%;height:4px;position:absolute;bottom:-4px;left:10%;right:auto;box-shadow:0 0 0 1px #1c0e0aa6}.projectile{width:clamp(12px,2.4vw,24px);height:clamp(12px,2.4vw,24px);image-rendering:pixelated;filter:drop-shadow(0 2px 2px #0000005c)}.projectile.thunder{image-rendering:auto;width:clamp(22px,4vw,44px);height:clamp(22px,4vw,44px)}.run-grid{grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:10px;display:grid}.run-grid span{color:var(--muted)}.run-grid strong{color:#ffd8e5}.tower-help h3,.compact-leaderboard h3{color:#ffd8e5;margin-bottom:8px;font-size:.92rem}.compact-leaderboard{gap:7px;display:grid}.compact-leaderboard div{border-bottom:1px solid #ff9fbe2e;justify-content:space-between;gap:8px;padding:7px 0;display:flex}.compact-leaderboard span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.compact-leaderboard strong{color:var(--gold)}.leaderboard-panel{width:100%;box-shadow:none;background:0 0;border:0;padding:0;overflow:hidden}.leaderboard-list{gap:8px;max-height:min(64vh,620px);padding-right:4px;display:grid;overflow:auto}.leaderboard-row{border:1px solid var(--line-soft);background:#121310bd;border-radius:7px;grid-template-columns:36px minmax(0,1fr) minmax(92px,auto);align-items:center;gap:8px;min-height:46px;padding:8px;display:grid}.leaderboard-name{color:#ffd8e5;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.leaderboard-score{color:#ffd8e5;text-align:right;justify-items:end;gap:1px;line-height:1;display:grid}.leaderboard-score strong{font-variant-numeric:tabular-nums;font-size:1rem}.leaderboard-score small,.leaderboard-score em{color:var(--muted);font-size:.68rem;font-style:normal;font-weight:850}.rank{color:#351421;background:#ffb8d0;border-radius:999px;place-items:center;width:28px;height:28px;font-weight:950;display:grid}.modal-backdrop{z-index:20;background:#050706b3;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.modal{border:2px solid var(--line);background:linear-gradient(#3c2333fa,#171218fc);border-radius:8px;width:min(720px,100%);padding:18px;box-shadow:0 30px 90px #0000008c}.run-confirm-backdrop{z-index:26;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:radial-gradient(circle at 50% 45%,#ffb8d02e,#0000 32%),#050706c7}.run-confirm-modal{text-align:center;border-color:#ffb8d0db;justify-items:center;width:min(440px,100%);padding:22px;display:grid;box-shadow:0 0 0 6px #ff9fbe1f,0 30px 90px #0000009e}.run-confirm-modal .modal-title{justify-items:center;gap:10px;margin-bottom:10px;display:grid}.run-confirm-modal .modal-title svg{background:#ff9fbe21;border:2px solid #ffb8d0c2;border-radius:999px;width:56px;height:56px;padding:13px}.run-confirm-modal .modal-title h2{font-size:clamp(1.8rem,6vw,2.7rem);line-height:.95}.run-confirm-modal .modal-actions{justify-content:center;width:100%}.danger-button{background:linear-gradient(#ff9aa8,#c7465a);border-color:#ffb4b4db;box-shadow:inset 0 -3px #5b1c375c,0 0 18px #f05d7033}.pause-overlay{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:24;background:radial-gradient(circle at 50% 42%,#ffb8d03d,#0000 34%),#060706c7;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.pause-panel{text-align:center;background:linear-gradient(#522a41fa,#140f14fa);border:3px solid #ffb8d0db;border-radius:8px;justify-items:center;width:min(420px,100%);padding:28px;display:grid;overflow:hidden;box-shadow:0 0 0 6px #ff9fbe26,0 30px 90px #000000a8,inset 0 0 32px #ffb8d01a}.pause-panel>svg{color:#ffd8e5;background:#ff9fbe24;border:2px solid #ffd8e5b8;border-radius:999px;width:64px;height:64px;margin-bottom:10px;padding:14px;display:grid}.pause-panel h2{color:#ffd8e5;text-shadow:0 4px #7c2f4c,0 14px 28px #00000094;margin:0 0 18px;font-size:clamp(2.8rem,10vw,5rem);line-height:.9}.pause-panel .primary-button{min-width:180px}.leaderboard-modal{width:min(680px,100vw - 28px)}.modal-title{gap:12px;margin-bottom:16px}.modal-title svg{color:var(--gold)}.modal-title h2{color:#ffd8e5;margin-bottom:0}.gameover-modal{text-align:center;background:radial-gradient(circle at 50% -8%,#ffd36f3d,#0000 40%),linear-gradient(#542b42fa,#130e13fc);border-color:#ffb8d0e6;width:min(640px,100%);padding:24px;position:relative;overflow:hidden;box-shadow:0 0 0 6px #ff9fbe1f,0 34px 100px #000000ad,inset 0 0 42px #ffb8d01a}.gameover-modal:before{content:"";pointer-events:none;border:1px solid #ffd8e524;border-radius:7px;position:absolute;inset:10px}.gameover-modal .modal-title{justify-items:center;gap:10px;margin-bottom:18px;display:grid}.gameover-modal .modal-title svg{color:#ffd36f;filter:drop-shadow(0 0 16px #ffcb5c52);background:#ffcb5c21;border:2px solid #ffd36fd1;border-radius:999px;width:72px;height:72px;padding:15px}.gameover-modal .modal-title h2{text-shadow:0 4px #7c2f4c,0 14px 30px #00000094;font-size:clamp(2.4rem,8vw,4.6rem);line-height:.94}.powerup-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.powerup-card{border-color:var(--line-soft);min-height:146px;color:var(--ink);text-align:left;white-space:normal;background:#121310bd;align-content:start;display:grid}.powerup-card strong{color:#ffd8e5;font-size:1rem}.powerup-card span{color:var(--muted);font-size:.86rem;line-height:1.45}.run-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:16px;display:grid}.run-summary span{border:1px solid var(--line-soft);color:var(--muted);background:#0c0e0c9e;border-radius:7px;justify-items:center;gap:4px;padding:10px;font-weight:850;display:grid}.run-summary strong{color:#ffd8e5;font-size:1.32rem;line-height:1}.gameover-modal .run-summary{gap:10px;margin:0 auto 18px}.gameover-modal .run-summary span{background:linear-gradient(#ffb8d01f,#0c0e0cb3);border-color:#ffb8d057;align-content:center;min-height:78px}.gameover-modal .score-form{justify-items:center;margin:0 auto}.gameover-modal .score-form label{text-align:left;width:min(360px,100%)}.gameover-modal .status-text{text-align:center}.gameover-modal .modal-actions{justify-content:center}.score-form{gap:10px;display:grid}label{color:var(--muted);gap:7px;font-size:.84rem;font-weight:900;display:grid}input{border:1px solid var(--line);width:100%;min-height:42px;color:var(--ink);background:#0c0e0cb8;border-radius:7px;outline:none;padding:8px 11px}input:focus{border-color:var(--gold);box-shadow:0 0 0 3px #ff9fbe33}.modal-actions{justify-content:flex-end;gap:8px;margin-top:16px}.countdown-overlay{pointer-events:none;z-index:15;place-items:center;display:grid;position:fixed;inset:0}.countdown-overlay span{color:#ffd8e5;text-shadow:0 5px #742d4d,0 12px 28px #00000094;background:#3318279e;border:5px solid #ffb8d0db;border-radius:999px;place-items:center;width:clamp(132px,20vw,240px);height:clamp(132px,20vw,240px);font-size:clamp(5rem,15vw,12rem);font-weight:950;line-height:1;display:grid;box-shadow:0 0 0 10px #87375857,0 26px 70px #00000094}@media (width<=1200px){.top-hud{grid-template-columns:1fr}.hud-stats,.top-actions{justify-content:flex-start}.hud-cluster,.wave-clock{justify-self:stretch;justify-items:stretch}.wave-clock{text-align:center}.play-layout{grid-template-columns:270px minmax(450px,1fr)}.info-panel{grid-column:1/3;max-height:none}}@media (width<=820px){.game-view{padding:8px}.play-layout{grid-template-columns:1fr}.info-panel{grid-column:auto}.build-panel,.info-panel{max-height:none}.board-wrap{order:-1;padding:8px}.build-tooltip{width:min(100%,320px);top:calc(100% + 6px);left:0;transform:translateY(-4px)}.build-card-wrap:hover .build-tooltip,.build-card-wrap:focus-within .build-tooltip{transform:translateY(0)}.powerup-grid,.run-summary{grid-template-columns:1fr}.leaderboard-list{max-height:56vh}}@media (width<=560px){.lobby-main{gap:24px}.lobby-logo h1{font-size:clamp(3.5rem,20vw,5rem)}.hud-stat{min-width:64px}.primary-button,.ghost-button{width:100%}.top-hud .ghost-button,.top-hud .primary-button{width:auto}.top-actions{flex-wrap:nowrap;display:flex}.leaderboard-row{grid-template-columns:32px minmax(0,1fr)}.leaderboard-score{text-align:left;grid-column:2;justify-items:start}}
