:root{--ink:#24201C;--teal:#1C6E70;--danger:#B94C38;--cream:#FFF8EA;--floor:#E7D6B4;--path:#806044;--honey:#F2B84A;--muted:#73675B;--sm:8px;--md:16px;--lg:24px;--gap-sm:8px;--gap-md:16px;--gap-lg:24px}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;background:var(--floor);color:var(--ink);font:600 1rem/1.45 system-ui,sans-serif;overflow:hidden;user-select:none}#app{position:fixed;inset:0}#game{display:block;width:100%;height:100%;touch-action:none}#hud{position:absolute;inset:0;pointer-events:none}button{font:inherit;cursor:pointer}button:focus-visible{outline:3px solid var(--teal);outline-offset:3px}button:active{transform:scale(.97)}.brand{position:absolute;top:max(16px,env(safe-area-inset-top));left:24px;font-size:.875rem;font-weight:800;letter-spacing:.09em;z-index:1}.brand-mark{color:var(--teal);font-size:1.5rem}.brand small{display:block;margin-left:29px;color:var(--muted);font-size:.625rem;letter-spacing:.13em}.hud-bar{position:absolute;top:max(16px,env(safe-area-inset-top));right:24px;display:flex;gap:var(--gap-md);align-items:start}.hud-stats,.hud-actions{display:flex;gap:var(--gap-sm)}.chip{display:grid;min-width:84px;background:var(--cream);border:1px solid var(--path);border-radius:var(--md);padding:8px 14px;box-shadow:0 4px #24201c1f;font-variant-numeric:tabular-nums}.chip small,.tray-copy small,.tower-card small{font-size:.75rem;letter-spacing:.07em;color:var(--muted)}.chip b{font-size:1.15rem;white-space:nowrap}.btn{pointer-events:auto;min-height:48px;min-width:48px;padding:10px 16px;border:1px solid var(--ink);border-radius:var(--md);background:var(--cream);color:var(--ink);transition:transform .15s ease-out,background .15s ease-out;box-shadow:0 4px #24201c24}.btn:hover{background:var(--honey)}.icon-btn{font-size:1.3rem}.center{position:absolute;inset:0;display:grid;place-items:center;background:#24201c8c;pointer-events:auto;transition:opacity .25s ease-out}.center.hidden{opacity:0;pointer-events:none}.panel{width:min(92vw,530px);max-height:calc(100dvh - 32px);overflow:auto;text-align:center;background:var(--cream);border:2px solid var(--ink);border-radius:var(--lg);padding:clamp(24px,5vh,48px);box-shadow:10px 12px #24201c47;animation:rise .25s ease-out}.panel-symbol{color:var(--teal);font-size:2.5rem;line-height:1.1;margin:12px}.eyebrow{display:inline-block;padding:8px 12px;background:var(--honey);border-radius:var(--sm);font-size:.75rem;font-weight:800;letter-spacing:.09em}.panel h1{font:700 clamp(2.3rem,6vw,3.7rem)/1.07 Georgia,serif;letter-spacing:-.04em;margin:14px 0}.panel h1 em{color:var(--teal);font-style:italic}.panel p{margin:0 auto 22px;max-width:33ch;font-size:1rem;color:var(--muted)}.panel .primary{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:0 auto 16px;min-width:min(100%,280px);background:var(--ink);color:var(--cream);font-weight:800}.panel .primary:hover{background:var(--teal)}.panel>small{display:block;font-size:.7rem;letter-spacing:.08em;color:var(--muted)}.subtle{border:0;box-shadow:none}.tray{position:absolute;bottom:max(20px,env(safe-area-inset-bottom));left:50%;transform:translate(-50%);width:min(960px,calc(100vw - 32px));display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px;background:var(--cream);border:1px solid var(--ink);border-radius:var(--lg);box-shadow:0 8px #24201c24;pointer-events:auto}.tray.hidden{display:none}.tray-copy{display:grid;min-width:135px}.tray-copy strong{font:700 1.2rem Georgia,serif}.tray-items{display:flex;align-items:center;gap:8px}.tower-card{display:flex;align-items:center;gap:12px;min-height:64px;padding:8px 12px;background:var(--cream);border:2px solid var(--path);border-radius:var(--md);text-align:left;transition:transform .12s ease-out,background .12s ease-out}.tower-card:hover,.tower-card[aria-pressed=true]{background:var(--honey);border-color:var(--teal)}.tower-card span:nth-child(2){display:grid}.tower-icon{display:grid;place-items:center;min-width:40px;height:40px;border-radius:var(--sm);background:var(--honey);font-size:1.7rem}.price{font-weight:800;font-variant-numeric:tabular-nums}.cancel{display:none}.selecting .cancel{display:block}.notice{position:absolute;top:100px;left:50%;transform:translate(-50%);max-width:min(90vw,450px);padding:9px 14px;background:var(--ink);color:var(--cream);border-radius:var(--sm);font-size:.875rem;text-align:center;opacity:0;transition:opacity .15s}.notice.visible{opacity:1}.perf{position:absolute;left:16px;bottom:112px;padding:8px;background:var(--cream);font:12px/1.35 monospace;white-space:pre;border-radius:var(--sm)}@keyframes rise{0%{transform:translateY(12px);opacity:0}to{transform:translateY(0);opacity:1}}@media(max-width:760px){.brand{top:auto;bottom:calc(118px + env(safe-area-inset-bottom));left:16px;font-size:.75rem}.brand small{display:none}.hud-bar{top:max(8px,env(safe-area-inset-top));left:8px;right:8px;justify-content:space-between;gap:4px}.hud-stats,.hud-actions{gap:4px}.chip{min-width:0;padding:6px 8px;border-radius:var(--sm)}.chip small{font-size:.625rem}.chip b{font-size:.875rem}.icon-btn{padding:5px}.tray{bottom:max(8px,env(safe-area-inset-bottom));padding:8px 10px;gap:8px}.tray-copy{display:none}.tray-items{width:100%;justify-content:space-between}.tower-card{flex:1;min-width:0;padding:7px}.tower-card strong{font-size:.875rem}.tower-card small{font-size:.68rem;letter-spacing:0}.tower-icon{min-width:34px;height:34px;font-size:1.3rem}.price{display:none}.notice{top:78px}.perf{bottom:100px}}@media(max-width:390px){.tower-icon{display:none}.chip b{font-size:.8rem}.tower-card,.chip{padding:5px}.panel{padding:20px}}.tray-items{flex:1;display:grid;align-items:stretch;grid-template-columns:repeat(4,minmax(0,1fr))}.tower-card{position:relative;min-width:0}.tower-copy{display:grid;min-width:0}.tower-copy strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tower-card .price{margin-left:auto;font-size:.875rem}.tower-card.cant-afford{opacity:.55}.tower-card.cant-afford .price{color:var(--danger)}.tray.inspecting .tray-items,.tray.inspecting .cancel{display:none}.sheet{flex:1;display:flex;align-items:center;justify-content:flex-end;gap:var(--gap-sm)}.sheet.hidden{display:none}.sheet-copy{display:grid;margin-right:auto}.sheet-copy small{font-size:.75rem;letter-spacing:.07em;color:var(--muted)}.sheet-copy strong{font:700 1.2rem Georgia,serif}.primary-sm{background:var(--ink);color:var(--cream);font-weight:800}.primary-sm:hover{background:var(--teal)}.primary-sm.cant-afford{opacity:.55}.wave-call{position:absolute;left:50%;bottom:calc(max(20px,env(safe-area-inset-bottom)) + 124px);transform:translate(-50%);background:var(--honey);font-weight:800;border-radius:999px;padding:10px 20px;white-space:nowrap;animation:rise .25s ease-out}.wave-call:hover{background:var(--cream)}.wave-call.hidden{display:none}.boss{position:absolute;top:calc(max(16px,env(safe-area-inset-top)) + 72px);right:24px;display:flex;align-items:center;gap:var(--gap-sm);padding:8px 14px;background:var(--ink);color:var(--cream);border-radius:var(--md);font-size:.75rem;letter-spacing:.07em;font-weight:800;animation:rise .25s ease-out}.boss.hidden{display:none}.boss-track{width:140px;height:10px;background:#fff8ea33;border-radius:var(--sm);overflow:hidden}.boss-track i{display:block;height:100%;background:var(--danger);transition:width .15s ease-out}.boss b{font-variant-numeric:tabular-nums}@media(max-width:1499px){.tray-copy{display:none}}@media(max-width:760px){.tray-items{gap:4px}.tower-card{flex-direction:column;gap:2px;padding:6px 4px;min-height:64px;text-align:center}.tower-copy small{display:none}.tower-copy strong{font-size:.75rem}.tower-card .price{display:block;margin:0;font-size:.75rem}.tower-icon{min-width:28px;height:28px;font-size:1.1rem}.sheet-copy strong{font-size:1rem}.sheet{gap:4px}.wave-call{bottom:calc(max(8px,env(safe-area-inset-bottom)) + 112px);padding:8px 14px;font-size:.875rem}.boss{top:calc(max(8px,env(safe-area-inset-top)) + 60px);left:8px;right:8px;justify-content:space-between}.boss-track{flex:1}.brand{bottom:calc(176px + env(safe-area-inset-bottom))}}@media(max-width:390px){.tower-icon{display:grid}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}.zoom-controls{position:absolute;right:max(24px,env(safe-area-inset-right));top:50%;transform:translateY(-50%);display:grid;gap:var(--gap-sm);pointer-events:auto}.zoom-controls .btn{font-size:1.5rem;font-weight:700;padding:0;width:48px;height:48px}.pad-picker{position:absolute;left:50%;bottom:calc(max(20px,env(safe-area-inset-bottom)) + 118px);transform:translate(-50%);width:min(960px,calc(100vw - 32px));padding:var(--gap-sm);display:flex;align-items:center;gap:var(--gap-sm);overflow-x:auto;overscroll-behavior-x:contain;background:var(--cream);border:1px solid var(--path);border-radius:var(--md);box-shadow:0 4px #24201c24;pointer-events:auto;scrollbar-width:thin}.pad-picker.hidden{display:none}.pad-picker span{position:sticky;left:0;background:var(--cream);padding:0 var(--gap-sm);font-size:.875rem;font-weight:700;z-index:1}.placement-preview{position:absolute;z-index:1;pointer-events:none;transform:translate(-50%,-50%);width:0;height:0;color:var(--teal)}.placement-preview.hidden{display:none}.preview-radius{position:absolute;left:0;top:0;width:calc(var(--radius)*2);height:calc(var(--radius)*2);transform:translate(-50%,-50%);border:2px solid currentColor;border-radius:50%;background:color-mix(in srgb,var(--teal) 14%,transparent);transition:width .12s ease-out,height .12s ease-out}.placement-preview.invalid{color:var(--danger)}.placement-preview.invalid .preview-radius{border-style:dashed;background:color-mix(in srgb,var(--danger) 12%,transparent)}.preview-label{position:absolute;left:0;top:var(--gap-md);width:max-content;max-width:min(190px,calc(100vw - 2 * var(--gap-sm)));padding:3px 6px;border:1px solid currentColor;border-radius:var(--sm);background:var(--cream);color:var(--ink);font-size:14px;font-weight:700;text-align:center;line-height:1.2;white-space:normal;overflow-wrap:anywhere}.pad-picker .btn{flex:0 0 48px;height:48px;padding:0;font-variant-numeric:tabular-nums}.pad-picker .btn:disabled{opacity:.5;cursor:not-allowed}.tray.selecting~.center{z-index:0}@media(max-width:760px){.brand{display:none}.hud-bar{z-index:2;align-items:center}.hud-stats{flex:1;justify-content:space-between}.chip{flex:1;padding:6px;min-width:0}.chip small{font-size:.75rem;letter-spacing:0}.chip b{font-size:.875rem}.icon-btn{padding:0;width:48px;height:48px}.zoom-controls{right:max(8px,env(safe-area-inset-right));top:48%;z-index:1}.tray{width:calc(100vw - 16px);left:8px;transform:none;max-height:calc(100dvh - 160px)}.tray-items{min-width:0}.tower-card{min-width:48px;min-height:72px}.tower-card strong,.tower-card .price{font-size:.875rem}.tray.selecting .cancel{display:block;position:absolute;right:8px;bottom:calc(100% + 72px);z-index:2}.pad-picker{width:calc(100vw - 16px);left:8px;transform:none;bottom:calc(max(8px,env(safe-area-inset-bottom)) + 102px)}.pad-picker span{font-size:.75rem}.wave-call{bottom:calc(max(8px,env(safe-area-inset-bottom)) + 184px)}.tray.selecting~.center{z-index:auto}.notice{top:calc(max(8px,env(safe-area-inset-top)) + 102px);z-index:2}.perf{left:8px;bottom:calc(max(8px,env(safe-area-inset-bottom)) + 102px);max-width:calc(100vw - 80px);overflow:hidden;pointer-events:none}}@media(max-width:390px){.tower-icon{display:none}.tower-card{padding:4px 2px}.tower-card strong,.tower-card .price,.chip b{font-size:.75rem}}@media(max-height:520px)and (orientation:landscape){.hud-bar{left:8px;right:auto;max-width:calc(100vw - 140px)}.brand{display:none}.tray{left:auto;right:max(8px,env(safe-area-inset-right));top:calc(max(8px,env(safe-area-inset-top)) + 64px);bottom:8px;transform:none;width:120px;max-height:none;flex-direction:column;overflow-y:auto;padding:8px}.tray-items{width:100%;display:flex;flex-direction:column}.tower-card{width:100%;min-height:48px;flex-direction:row}.tower-card .price{display:none}.tray .cancel{width:100%}.pad-picker{left:8px;right:140px;bottom:max(8px,env(safe-area-inset-bottom));width:auto;transform:none}.wave-call{bottom:72px;left:24px;transform:none}.zoom-controls{right:142px;top:50%}.boss{top:64px;left:8px;right:142px}.tray.selecting .cancel{position:static}.notice{top:64px;left:8px;transform:none}.sheet{flex-direction:column}.sheet-copy{margin:0}}.entity-badges{position:absolute;inset:0;pointer-events:none;overflow:hidden}.entity-badge{position:absolute;display:flex;align-items:center;gap:var(--gap-sm);transform:translate(-50%,-100%);padding:2px 5px;border:1px solid var(--ink);border-radius:var(--sm);background:var(--cream);color:var(--ink);box-shadow:0 2px 0 var(--path);white-space:nowrap;line-height:1}.entity-badge small{font-size:14px;font-weight:800;letter-spacing:.03em}.entity-badge.is-tower{background:var(--honey)}.entity-badge.is-enemy{background:var(--ink);color:var(--cream);border:2px solid var(--cream)}.entity-badge svg{width:32px;height:32px;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;flex:none}.entity-badge.is-enemy svg{width:36px;height:36px;stroke-width:3.5}.boss-track i{border-right:3px solid var(--ink)}.pad-picker .pad-occupied{border:2px dashed var(--danger);background:var(--floor)}.pad-picker .btn[aria-current=true]{outline:3px solid var(--teal);outline-offset:-4px}.tray.selecting~.center.hidden{pointer-events:none}.tray.selecting~.center{z-index:auto}@media(min-width:761px){.wave-call{bottom:calc(max(20px,env(safe-area-inset-bottom)) + 200px)}}@media(max-width:760px)and (orientation:portrait){.tower-icon{display:none!important}.tray{bottom:max(8px,env(safe-area-inset-bottom));padding:var(--gap-sm);align-items:stretch}.tray-items{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--gap-sm)}.tower-card{min-height:68px;display:grid;grid-template-columns:1fr auto;align-content:center;text-align:left;padding:var(--gap-sm);gap:0 var(--gap-sm)}.tower-copy{grid-column:1;display:grid}.tower-copy strong{font-size:14px;overflow:visible;white-space:normal;line-height:1.1}.tower-copy small{display:block;font-size:14px;line-height:1.1;letter-spacing:0;color:var(--ink)}.tower-card .price{grid-column:2;grid-row:1;font-size:14px;white-space:nowrap;align-self:start}.tray.selecting{display:grid;grid-template-columns:1fr}.tray.selecting .tray-items{grid-column:1}.tray.selecting .cancel{position:static;grid-column:1;display:block;width:100%}.pad-picker{bottom:calc(max(8px,env(safe-area-inset-bottom)) + 218px)}.wave-call{bottom:calc(max(8px,env(safe-area-inset-bottom)) + 326px);left:8px;right:8px;transform:none;white-space:normal;padding:var(--gap-sm);text-align:center;min-height:48px}.zoom-controls{top:auto;bottom:calc(max(8px,env(safe-area-inset-bottom)) + 440px);right:8px;transform:none}.zoom-controls{right:max(16px,env(safe-area-inset-right))}.pad-picker span{flex:0 0 auto;white-space:nowrap;font-size:14px}.center:not(.hidden){z-index:4}.center:not(.hidden)~.entity-badges{display:none}.chip b,.chip small{font-size:14px}.hud-bar{gap:var(--gap-sm)}.hud-actions{gap:4px}.icon-btn{width:48px}}.wave-call{left:max(16px,env(safe-area-inset-left));right:auto;transform:none;max-width:240px;text-align:left;white-space:normal}@media(max-width:760px)and (orientation:portrait){.wave-call{left:max(8px,env(safe-area-inset-left));right:auto;width:160px;max-width:160px;text-align:left}}#app{background-color:var(--floor);background-image:url(../assets/b2/plate-desktop.png);background-position:center;background-repeat:no-repeat;background-size:contain}@media(max-aspect-ratio:3/4){#app{background-image:url(../assets/b2/plate-mobile.png)}}.brand small,.chip small,.tray-copy small,.tower-card small,.sheet-copy small,.panel>small,.eyebrow,.boss,.boss b{font-size:14px;color:inherit}.chip small,.tray-copy small,.sheet-copy small{color:var(--ink)}.panel>small{color:var(--ink)}.notice{z-index:3;max-width:min(90vw,450px)}.boss-track{background:var(--cream)}.boss-track i{background:var(--danger)}.boss,.boss b,.boss span{color:var(--cream)}.tower-card.cant-afford{opacity:1;background:var(--floor)}.tower-card.cant-afford .price{color:var(--ink)}.tower-card[aria-pressed=true]{animation:chosen .3s ease-out}.notice.visible{animation:notice-pop .25s ease-out}@keyframes chosen{50%{box-shadow:0 0 0 5px var(--teal);transform:translateY(-3px)}}@keyframes notice-pop{0%{opacity:0;translate:0 10px}to{opacity:1;translate:0 0}}@media(max-width:760px)and (orientation:portrait){.hud-bar{top:max(8px,env(safe-area-inset-top));left:8px;right:8px}.chip{padding:4px 6px}.chip small,.chip b{font-size:14px}.tray{bottom:max(8px,env(safe-area-inset-bottom));padding:8px;gap:4px}.tower-card{min-height:48px;padding:4px 6px;gap:0 4px}.tower-copy small{display:none}.tower-card .price{font-size:14px}.tray.selecting{display:flex;align-items:stretch}.tray.selecting .tray-items{flex:1;min-width:0}.tray.selecting .cancel{position:static;display:block;width:76px;min-width:76px;padding:4px;font-size:14px}.pad-picker{bottom:calc(max(8px,env(safe-area-inset-bottom)) + 136px);display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:4px;overflow:visible;padding:8px}.pad-picker.hidden,.pad-picker span{display:none}.pad-picker .btn{width:100%;min-width:0;height:48px;font-size:14px}.zoom-controls{top:auto;bottom:calc(max(8px,env(safe-area-inset-bottom)) + 146px);transform:none}#hud:has(.tray.selecting) .zoom-controls,#hud:has(.tray.selecting) .wave-call{display:none}.wave-call{bottom:calc(max(8px,env(safe-area-inset-bottom)) + 140px)}.notice{top:calc(max(8px,env(safe-area-inset-top)) + 112px);left:8px;right:8px;transform:none;max-width:none;font-size:14px}.boss{top:calc(max(8px,env(safe-area-inset-top)) + 56px);font-size:14px}.boss-track{min-width:36px}}#hud .pad-picker:not(.hidden){position:absolute;inset:0;width:100%;height:100%;display:block;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;overflow:visible;transform:none;pointer-events:none;z-index:2}#hud .pad-picker button[data-pad]{position:absolute;transform:translate(-50%,-50%);width:48px;height:48px;min-width:48px;padding:0;display:grid;place-items:center;background:transparent;border:0;box-shadow:none;pointer-events:auto}#hud .pad-picker button[data-pad] span{position:static;display:grid;place-items:center;width:28px;height:28px;padding:0;border:1px solid var(--path);border-radius:var(--sm);background:var(--cream);color:var(--ink);font-size:14px;line-height:1;box-shadow:0 2px 0 var(--path)}#hud .pad-picker button[data-pad][aria-current=true] span{background:var(--teal);color:var(--cream);border-color:var(--ink)}#hud .pad-picker button[data-pad].pad-occupied span{background:var(--floor);border-style:dashed}#hud .pad-picker button[data-pad].pad-occupied span{opacity:0}.chip.coin-pulse{animation:coin-pulse .55s ease-out}.reward-float{position:absolute;z-index:3;transform:translate(-50%,-50%);pointer-events:none;font:800 1.25rem/1 system-ui,sans-serif;color:var(--cream);text-shadow:0 2px 2px var(--ink),1px 0 var(--ink),-1px 0 var(--ink);animation:reward-rise 1.1s ease-out forwards}@keyframes coin-pulse{50%{background:var(--honey);box-shadow:0 0 0 5px var(--teal)}}@keyframes reward-rise{to{opacity:0;transform:translate(-50%,-230%)}}#hud .center[data-status=ready]{background:transparent;display:flex;align-items:flex-end;justify-content:flex-start;padding:var(--gap-md);pointer-events:none}#hud .center[data-status=ready] .panel{width:min(360px,36vw);padding:var(--gap-md);max-height:min(74dvh,600px);pointer-events:auto;box-shadow:0 6px 24px #24201c33}#hud .center[data-status=ready] .panel h1,#hud .center[data-status=ready] .panel p{margin:var(--gap-sm) 0}#hud:has(.center:not(.hidden)) .zoom-controls{display:none}@media(max-aspect-ratio:3/4){#app{background-size:auto calc(100% - 16px)}#hud .center[data-status=ready]{align-items:flex-end;justify-content:center;padding:0 8px max(8px,env(safe-area-inset-bottom))}#hud .center[data-status=ready] .panel{width:min(100%,360px);max-height:210px;overflow:auto;padding:8px 12px;border-radius:var(--md)}#hud .center[data-status=ready] .panel .panel-symbol,#hud .center[data-status=ready] .panel small{display:none}#hud .center[data-status=ready] .panel h1{font-size:1.5rem;line-height:1.05;margin:2px 0}#hud .center[data-status=ready] .panel p{font-size:14px;line-height:1.2;margin:4px 0}#hud .center[data-status=ready] .panel .btn{min-height:48px}#hud .pad-picker button[data-pad] span{width:25px;height:25px;font-size:14px}.tray{bottom:max(8px,env(safe-area-inset-bottom))}}.brand{width:min(28vw,360px);line-height:0;pointer-events:none}.brand img{display:block;width:100%;height:auto;object-fit:contain;image-rendering:auto;filter:drop-shadow(0 2px 2px var(--cream))}.hud-bar{z-index:2}.chip{display:flex;align-items:center;gap:var(--gap-sm);min-width:98px;padding:6px 10px}.chip-copy{display:grid;min-width:0;line-height:1.15}.chip-copy b{font-variant-numeric:tabular-nums}.hud-icon{width:36px;height:36px;flex:none;object-fit:contain;image-rendering:auto}.icon-btn{display:grid;place-items:center;padding:4px;width:48px;height:48px}.icon-btn .hud-icon{width:38px;height:38px}.tray{width:min(1040px,calc(100vw - 32px));padding:var(--gap-sm) var(--gap-md)}.tray-items{gap:var(--gap-sm)}.tower-card{min-height:76px;gap:var(--gap-sm);padding:var(--gap-sm)}.tower-icon{background:transparent;min-width:56px;width:56px;height:56px;flex:none}.arsenal-icon{display:block;width:100%;height:100%;object-fit:contain;image-rendering:auto}.tower-card[aria-pressed=true]{outline:3px solid var(--teal);outline-offset:-3px}.tower-card.cant-afford{background:var(--floor)}.button-icon{width:32px;height:32px;object-fit:contain;flex:none;image-rendering:auto}.wave-call{display:flex;align-items:center;gap:var(--gap-sm);max-width:230px;padding:8px 12px}.wave-call span{display:grid;line-height:1.2}.wave-call strong{font-size:14px}.panel .btn:has(.button-icon){display:inline-flex;align-items:center;justify-content:center;gap:var(--gap-sm)}@media(min-width:761px)and (max-width:1100px){.brand{top:72px;width:260px}.tray-copy{display:none}.tower-card{flex-wrap:wrap;justify-content:center;text-align:center}.tower-card .price{margin-left:0}}@media(max-width:760px)and (orientation:portrait){.brand{display:block;top:calc(max(8px,env(safe-area-inset-top)) + 66px);left:50%;transform:translate(-50%);width:min(40vw,156px);z-index:1}#hud:has(.center.hidden) .brand{display:none}.hud-bar{left:max(8px,env(safe-area-inset-left));right:max(8px,env(safe-area-inset-right));gap:4px}.hud-stats{gap:2px;min-width:0}.chip{min-width:0;flex:1;gap:2px;padding:2px 3px;justify-content:center}.chip-copy small,.chip-copy b{font-size:14px}.chip .hud-icon{width:22px;height:28px}.hud-actions{gap:2px}.icon-btn{padding:0;width:48px;height:48px}.icon-btn .hud-icon{width:32px;height:32px}.tray{left:max(8px,env(safe-area-inset-left));right:max(8px,env(safe-area-inset-right));width:auto;padding:4px 6px;max-height:none}.tray-items{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2px}.tower-card{display:flex;flex-direction:column;justify-content:flex-start;align-items:center;min-width:0;min-height:106px;padding:2px;gap:0;text-align:center}.tower-icon{display:block!important;width:48px;min-width:48px;height:48px}.tower-copy{display:block;grid-column:auto;line-height:1.1}.tower-copy strong{display:block;font-size:14px;white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere}.tower-copy small{display:none}.tower-card .price{display:block;grid-column:auto;grid-row:auto;font-size:14px;margin:0;white-space:nowrap;line-height:1.2}.tray.selecting .cancel{width:76px;min-width:76px}.wave-call{bottom:calc(max(8px,env(safe-area-inset-bottom)) + 124px);width:auto;max-width:210px;min-height:48px}.wave-call .button-icon{width:28px;height:28px}.zoom-controls{bottom:calc(max(8px,env(safe-area-inset-bottom)) + 124px)}.notice{top:calc(max(8px,env(safe-area-inset-top)) + 104px)}}@media(max-width:370px)and (orientation:portrait){.chip .hud-icon{width:18px;height:26px}.chip-copy small,.chip-copy b{font-size:14px}}@media(max-height:520px)and (orientation:landscape){.tower-icon{width:40px;min-width:40px;height:40px}.tower-card{flex-direction:column;min-height:78px}.tower-card .price{display:block}}.splash,.splash-loading{position:fixed;inset:0;z-index:20;display:grid;place-items:center;background:var(--floor);color:var(--ink)}.splash{cursor:pointer;touch-action:manipulation}.splash:focus-visible{outline:3px solid var(--teal);outline-offset:-8px}.splash img{display:block;width:min(90vw,80dvh,650px);max-height:86dvh;object-fit:contain;border-radius:var(--lg);box-shadow:0 12px 42px #24201c38}.splash-loading{font:700 1.5rem/1.2 Georgia,serif;text-align:center;padding:var(--lg)}@media(max-aspect-ratio:3/4){.splash img{width:min(90vw,65dvh);max-height:65dvh}}.attack-effects{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:1}.attack-fx{position:absolute;display:block;transform:translate(-50%,-50%);will-change:transform,opacity;pointer-events:none}.attack-fx.impact-ring,.attack-fx.wind-ring{width:24px;height:24px;border:3px solid var(--honey);border-radius:50%;animation:impact-ring .38s ease-out forwards}.attack-fx.wind-ring{border-color:var(--teal)}.attack-fx.slap{width:30px;height:12px;border-radius:50%;background:var(--path);box-shadow:0 0 0 4px var(--honey);animation:slap .44s ease-out forwards}.attack-fx.sweep-trail{width:54px;height:26px;border-bottom:5px dashed var(--path);border-radius:50%;animation:sweep-trail .5s ease-out forwards}.attack-fx.wind{width:46px;height:20px;border-top:3px solid var(--teal);border-bottom:3px solid var(--teal);border-radius:50%;animation:wind-blow .55s ease-out forwards}.attack-fx.sugar-patch{width:52px;height:24px;border-radius:50%;background:radial-gradient(circle,var(--cream) 0 2px,transparent 3px) 0 0/11px 9px,radial-gradient(circle,var(--honey) 0 1px,transparent 2px) 5px 3px/10px 8px;animation:sugar-patch 4.5s ease-out forwards}.attack-fx.flatten{width:25px;height:9px;border-radius:50%;background:var(--ink);border:2px solid var(--cream);animation:flatten .55s ease-out forwards}.attack-fx.dust{width:7px;height:7px;border-radius:50%;background:var(--floor);border:1px solid var(--path);animation:dust .48s ease-out forwards}@keyframes impact-ring{to{opacity:0;transform:translate(-50%,-50%) scale(2.6)}}@keyframes slap{0%{transform:translate(-50%,-180%) scale(.6)}45%{transform:translate(-50%,-50%) scale(1.3,.55)}to{opacity:0;transform:translate(-50%,-30%)}}@keyframes sweep-trail{0%{transform:translate(-110%,-50%) rotate(-40deg)}to{transform:translate(30%,-50%) rotate(30deg);opacity:0}}@keyframes wind-blow{to{transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) scaleX(1.3);opacity:0}}@keyframes sugar-patch{0%{opacity:0;transform:translate(-50%,-120%) scale(.5)}10%,75%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-50%)}}@keyframes flatten{to{opacity:0;transform:translate(-50%,-50%) scale(1.5,.6)}}@keyframes dust{to{opacity:0;transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) scale(.3)}}@media(prefers-reduced-motion:reduce){.attack-fx:not(.impact-ring):not(.wind-ring):not(.sugar-patch){display:none}.attack-fx.sugar-patch{animation:none;opacity:.7}}#hud .tower-card .card-name-short{display:none}@media(max-aspect-ratio:3/4){#app{background-size:auto calc(100% + 48px);background-position:center top}}.notice{top:calc(max(16px,env(safe-area-inset-top)) + 76px);left:max(16px,env(safe-area-inset-left));right:auto;transform:none;width:max-content;max-width:min(240px,calc(100vw - 32px));text-align:left;pointer-events:none}#hud .pad-picker button[data-pad] span{border-color:color-mix(in srgb,var(--path) 55%,transparent);background:color-mix(in srgb,var(--cream) 82%,transparent);box-shadow:none;font-weight:600}#hud .pad-picker button[data-pad][aria-current=true] span{background:var(--teal);border-color:var(--ink);color:var(--cream);font-weight:700}@media(max-width:760px)and (orientation:portrait){.notice{top:calc(max(8px,env(safe-area-inset-top)) + 56px);left:max(8px,env(safe-area-inset-left));right:auto;width:170px;max-width:calc(100vw - 16px);padding:6px 8px}#hud:has(.boss:not(.hidden)) .notice{top:calc(max(8px,env(safe-area-inset-top)) + 110px)}.tower-icon{display:block!important;width:36px;min-width:36px;height:36px}.tower-card{justify-content:center;min-height:88px}.tower-copy strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;overflow-wrap:normal;letter-spacing:-.025em}}@media(max-width:370px)and (orientation:portrait){.tower-icon{width:32px;min-width:32px;height:32px}.tower-card{padding:2px 1px}.tower-copy strong{font-size:14px}.card-name-full{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}#hud .tower-card .card-name-short{display:inline}}
