:root{--hud-bg:#0e0f11eb;--hud-line:#2c3035;--hud-text:#e6e6e6;--hud-muted:#8b9197;--hud-accent:#f2d06b;--hud-bad:#ff6b6b;--hud-bar:52px;--hud-toolbar:76px;--safe-t:env(safe-area-inset-top,0px);--safe-r:env(safe-area-inset-right,0px);--safe-b:env(safe-area-inset-bottom,0px);--safe-l:env(safe-area-inset-left,0px);--game-top:calc(var(--hud-bar) + var(--safe-t));--game-bottom:calc(var(--hud-toolbar) + var(--safe-b));--game-left:var(--safe-l);--game-right:0px}.safe-probe{visibility:hidden;pointer-events:none;padding-right:var(--safe-r);position:fixed}.hud-top,.hud-toolbar{padding:0 max(16px, var(--safe-r)) 0 max(16px, var(--safe-l));background:var(--hud-bg);color:var(--hud-text);z-index:2;align-items:center;gap:12px;display:flex;position:absolute;left:0;right:0}.hud-top{height:calc(var(--hud-bar) + var(--safe-t));padding-top:var(--safe-t);border-bottom:1px solid var(--hud-line);justify-content:space-between;top:0}.hud-toolbar{height:calc(var(--hud-toolbar) + var(--safe-b));padding-bottom:var(--safe-b);border-top:1px solid var(--hud-line);justify-content:center;bottom:0;overflow-x:auto}.hud-stats,.hud-controls,.hud-meta{align-items:center;gap:16px;min-width:0;display:flex}.hud-controls,.hud-meta{gap:8px}.hud-meta{gap:6px}.hud-stat{flex-direction:column;line-height:1.1;display:flex}.hud-stat .label{text-transform:uppercase;letter-spacing:.06em;color:var(--hud-muted);font-size:11px}.hud-stat .value{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:18px;font-weight:700}.hud-btn .bonus{color:var(--hud-accent);font-variant-numeric:tabular-nums}.hud-countdown{color:var(--hud-muted);font-variant-numeric:tabular-nums;white-space:nowrap}.hud-btn,.hud-card{font:inherit;color:var(--hud-text);border:1px solid var(--hud-line);cursor:pointer;background:#202327;border-radius:8px}.hud-btn{white-space:nowrap;padding:6px 10px}.hud-btn.icon{font-variant-numeric:tabular-nums;justify-content:center;align-items:center;min-width:36px;min-height:34px;padding:4px 8px;font-weight:700;display:inline-flex}.hud-btn.icon svg{fill:currentColor;width:18px;height:18px}.hud-btn:hover:not(:disabled),.hud-card:hover{border-color:#4a5058}.hud-btn:disabled{opacity:.4;cursor:default}.hud-btn:focus-visible,.hud-card:focus-visible{outline:2px solid var(--hud-accent);outline-offset:2px}kbd{color:var(--hud-muted);margin-left:6px;font:11px ui-monospace,monospace}.hud-card{text-align:left;grid-template-columns:auto auto;grid-template-areas:"swatch name""swatch cost";align-items:center;column-gap:8px;min-width:112px;padding:8px 12px 8px 10px;display:grid;position:relative;overflow:hidden}.hud-card .key{color:var(--hud-muted);font:11px ui-monospace,monospace;position:absolute;top:3px;right:6px}.hud-card .swatch{background:var(--kind);border-radius:6px;grid-area:swatch;width:28px;height:28px}.hud-card .name{grid-area:name;font-weight:600}.hud-card .cost{color:var(--hud-accent);font-variant-numeric:tabular-nums;grid-area:cost}.hud-card[data-kind=producer]{--kind:#d9b84a}.hud-card[data-kind=shooter]{--kind:#4f9bd9}.hud-card[data-kind=wall]{--kind:#8a8f98}.hud-card[data-kind=mortar]{--kind:#c46ad1}.hud-sell{grid-template-areas:"name""cost";min-width:80px}.hud-card.selected{border-color:var(--hud-accent);box-shadow:0 0 0 1px var(--hud-accent) inset}.hud-card.poor .cost{color:var(--hud-bad)}.hud-card:after{content:"";transform-origin:bottom;transform:scaleY(var(--recharge,0));pointer-events:none;background:#0000009e;position:absolute;inset:0}.hud-card.recharging .name,.hud-card.recharging .cost{opacity:.7}.hud-message{left:calc(50% + (var(--game-left) - var(--game-right)) / 2);bottom:calc(var(--game-bottom) + 12px);background:var(--hud-bg);max-width:90%;color:var(--hud-text);white-space:nowrap;opacity:0;pointer-events:none;z-index:3;border-radius:6px;padding:6px 12px;transition:opacity .2s;position:absolute;transform:translate(-50%)}.hud-message.show{opacity:1}.hud-end{z-index:5;background:#0000008c;place-items:center;display:grid;position:absolute;inset:0}.hud-end[hidden]{display:none}.hud-end-panel{border:1px solid var(--hud-line);min-width:min(360px,100vw - 32px);color:var(--hud-text);text-align:center;background:#181a1d;border-radius:12px;padding:24px}.hud-end-panel h2{margin:0 0 8px}.hud-end-panel p{color:var(--hud-muted);margin:0 0 16px}body.paused #game{filter:saturate(.4)brightness(.8)}@media (max-width:720px) and (orientation:portrait),(max-width:720px) and (min-height:541px){:root{--hud-bar:92px;--hud-toolbar:64px}.hud-top{padding-left:max(8px, var(--safe-l));padding-right:max(8px, var(--safe-r));flex-wrap:wrap;align-content:center;gap:8px}.hud-stats{gap:14px}.hud-controls{gap:6px}.hud-btn{padding:5px 8px;font-size:14px}kbd,.hud-card .key,.hud-btn .wide{display:none}.hud-toolbar{padding-left:max(6px, var(--safe-l));padding-right:max(6px, var(--safe-r));gap:4px}.hud-card{text-align:center;flex:1 1 0;grid-template-columns:1fr;grid-template-areas:"name""cost";min-width:0;padding:6px;font-size:13px}.hud-card .swatch{display:none}.hud-card .name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}}@media (orientation:landscape) and (max-height:540px){:root{--side-cards:82px;--side-status:76px;--game-top:var(--safe-t);--game-bottom:var(--safe-b);--game-left:calc(var(--safe-l) + var(--side-cards) + var(--side-status))}.hud-top,.hud-toolbar{border:0;border-right:1px solid var(--hud-line);height:auto;padding-top:max(6px, var(--safe-t));padding-bottom:max(6px, var(--safe-b));flex-flow:column;top:0;bottom:0;right:auto}.hud-toolbar{width:calc(var(--safe-l) + var(--side-cards));padding-left:calc(var(--safe-l) + 5px);justify-content:center;gap:5px;padding-right:5px;left:0;overflow:hidden auto}.hud-card,.hud-sell{border-left:4px solid var(--kind,var(--hud-line));flex:1 1 0;grid-template-columns:1fr;grid-template-areas:"name""cost";align-content:center;row-gap:1px;width:100%;min-width:0;min-height:0;max-height:64px;padding:2px 3px 2px 6px;font-size:12.5px}.hud-card .swatch,.hud-card .key{display:none}.hud-card .name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.hud-top{left:calc(var(--safe-l) + var(--side-cards));width:var(--side-status);justify-content:space-between;align-items:stretch;gap:8px;padding-left:6px;padding-right:6px}.hud-stats,.hud-controls{flex-direction:column;align-items:stretch;gap:6px}.hud-stat .label{font-size:10px}.hud-stat .value{font-size:16px}.hud-countdown{white-space:normal;min-height:2.4em;font-size:12px;line-height:1.2}.hud-btn{padding:6px 4px;font-size:13px}kbd,.hud-btn .wide{display:none}.hud-meta{flex-wrap:wrap;justify-content:space-between;gap:4px}.hud-meta .hud-btn.icon{flex:28px;min-width:28px;padding:4px 2px}}
