html,body{overscroll-behavior:none;background:#8db8e8;overflow:hidden}.ds-root{--ds-ink:#2a1d14;--ds-cream:#f4e6cc;--ds-sand:#d9b382;--ds-teal:#2e8c8a;--ds-accent:var(--primary,#ff8a1f);color:var(--ds-ink);font-family:var(--forge-font-sans), system-ui, sans-serif;touch-action:none;-webkit-user-select:none;user-select:none;background:#8db8e8;position:fixed;inset:0;overflow:hidden}.ds-display{font-family:var(--forge-font-serif), system-ui, sans-serif;letter-spacing:.02em}.ds-canvas{touch-action:none;width:100%;height:100%;display:block;position:absolute;inset:0}.ds-titleimg{object-fit:cover;z-index:3;pointer-events:none;width:100%;height:100%;transition:opacity .7s cubic-bezier(.2,0,0,1);position:absolute;inset:0}.ds-titleimg--gone{opacity:0}.ds-overlay{z-index:40;box-sizing:border-box;padding:max(12px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));touch-action:auto;background:#2a1d1461;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.ds-overlay--title{background:0 0}@media (min-width:900px){.ds-overlay--title{justify-content:flex-start;align-items:flex-end;padding-bottom:clamp(32px,8vh,80px);padding-left:clamp(32px,6vw,96px)}}.ds-card{box-sizing:border-box;overscroll-behavior:contain;width:100%;max-width:min(520px,100%);max-height:100%;color:var(--ds-ink);border:2px solid var(--ds-ink);clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px);overflow-wrap:anywhere;background:#f4e6ccf5;padding:clamp(20px,5vw,32px);line-height:1.45;overflow-y:auto;box-shadow:0 18px 48px #2a1d1459}.ds-card *{box-sizing:border-box;max-width:100%}.ds-kicker{text-transform:uppercase;letter-spacing:.16em;color:var(--ds-teal);margin:0 0 4px;font-size:14px;font-weight:700}.ds-h1{text-transform:uppercase;letter-spacing:.01em;margin:0;font-size:clamp(40px,9vw,64px);font-weight:700;line-height:.98}.ds-h2{text-transform:uppercase;margin:0;font-size:clamp(30px,7vw,44px);font-weight:700;line-height:1}.ds-lede{margin:10px 0 0;font-size:16px}.ds-actions{flex-wrap:wrap;gap:10px;margin-top:20px;display:flex}.ds-actions>*{flex:140px}.ds-btn{cursor:pointer;white-space:nowrap;min-height:48px;font-family:var(--forge-font-serif), system-ui, sans-serif;letter-spacing:.06em;text-transform:uppercase;color:var(--ds-ink);border:2px solid var(--ds-ink);touch-action:manipulation;clip-path:polygon(6px 0,100% 0,100% calc(100% - 6px),calc(100% - 6px) 100%,0 100%,0 6px);background:0 0;justify-content:center;align-items:center;gap:8px;padding:0 20px;font-size:20px;font-weight:700;transition:transform .12s cubic-bezier(.2,0,0,1),background-color .12s;display:inline-flex}.ds-btn:hover:not(:disabled){background:#2a1d1414;transform:translateY(-1px)}.ds-btn:active:not(:disabled){transform:translateY(1px)}.ds-btn:focus-visible{outline:3px solid var(--ds-ink);outline-offset:2px}.ds-btn:disabled{opacity:.7;cursor:default}.ds-btn--primary{background:var(--ds-accent)}.ds-btn--primary:hover:not(:disabled){background:color-mix(in oklch, var(--ds-accent) 88%, white)}.ds-hint{margin:16px 0 0;font-size:14px}.ds-hint kbd{font:inherit;border:1.5px solid var(--ds-ink);background:#ffffff73;padding:1px 6px;font-weight:700}.ds-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:18px 0 0;display:grid}.ds-stat{border:2px solid var(--ds-ink);background:#fff6;padding:10px 12px}.ds-stat dt{text-transform:uppercase;letter-spacing:.12em;font-size:12px;font-weight:700}.ds-stat dd{font-variant-numeric:tabular-nums;margin:2px 0 0;font-size:28px;font-weight:700;line-height:1.1}.ds-note{margin:10px 0 0;font-size:14px}.ds-sound-wrap,.ds-controls-wrap{margin-top:18px}.ds-card h3{margin:0 0 8px}.ds-hud{z-index:10;pointer-events:none;touch-action:none;font-variant-numeric:tabular-nums;position:absolute;inset:0}.ds-hud button{pointer-events:auto}.ds-pill{color:var(--ds-ink);border:2px solid var(--ds-ink);white-space:nowrap;clip-path:polygon(6px 0,100% 0,100% calc(100% - 6px),calc(100% - 6px) 100%,0 100%,0 6px);background:#f4e6cceb;align-items:center;gap:8px;padding:6px 12px;font-weight:700;display:inline-flex}.ds-pause{top:max(10px, env(safe-area-inset-top));left:max(10px, env(safe-area-inset-left));border:2px solid var(--ds-ink);width:48px;height:48px;color:var(--ds-ink);cursor:pointer;touch-action:manipulation;clip-path:polygon(6px 0,100% 0,100% calc(100% - 6px),calc(100% - 6px) 100%,0 100%,0 6px);background:#f4e6cceb;place-items:center;display:grid;position:absolute}.ds-pause:hover{background:var(--ds-cream)}.ds-pause:focus-visible{outline:3px solid var(--ds-ink);outline-offset:2px}.ds-top{top:max(8px, env(safe-area-inset-top));flex-direction:column;align-items:center;gap:6px;display:flex;position:absolute;left:50%;transform:translate(-50%)}.ds-timer{text-align:center;min-width:104px;padding:4px 16px;font-size:34px;line-height:1}.ds-timer--low{background:var(--ds-accent)}.ds-row{gap:6px;display:flex}.ds-chip{letter-spacing:.06em;text-transform:uppercase;padding:4px 10px;font-size:15px}.ds-chip--plant{color:#fff;background:#d6281a;border-color:#5a0f08;animation:.7s steps(2,jump-none) infinite ds-blink}.ds-chip--plant .ds-plantnum{font-size:20px}.ds-health,.ds-ammo{bottom:max(14px, env(safe-area-inset-bottom));font-size:30px;line-height:1;position:absolute}.ds-health{left:max(14px, env(safe-area-inset-left));flex-direction:column;align-items:stretch;gap:4px;min-width:132px}.ds-health__top{align-items:center;gap:8px;display:flex}.ds-health__bar{background:#2a1d1440;height:6px}.ds-health__bar i{background:var(--ds-teal);height:100%;transition:width .15s;display:block}.ds-health--low{animation:.8s ease-in-out infinite ds-pulse}.ds-health--low .ds-health__bar i{background:#d6281a}.ds-ammo{right:max(14px, env(safe-area-inset-right));justify-content:flex-end;min-width:128px}.ds-ammo small{text-transform:uppercase;letter-spacing:.1em;font-size:12px}.ds-pickflash{opacity:var(--ds-pick,0);background:radial-gradient(#0000 55%,#2e8c8a80);position:absolute;inset:0}.ds-dmg{position:absolute}.ds-dmg--n{height:30%;opacity:var(--ds-dmg-n,0);background:linear-gradient(#ff8a1fcc,#0000);top:0;left:0;right:0}.ds-dmg--s{height:30%;opacity:var(--ds-dmg-s,0);background:linear-gradient(#0000,#ff8a1fcc);bottom:0;left:0;right:0}.ds-dmg--e{width:24%;opacity:var(--ds-dmg-e,0);background:linear-gradient(270deg,#ff8a1fcc,#0000);top:0;bottom:0;right:0}.ds-dmg--w{width:24%;opacity:var(--ds-dmg-w,0);background:linear-gradient(90deg,#ff8a1fcc,#0000);top:0;bottom:0;left:0}.ds-cross{width:0;height:0;position:absolute;top:50%;left:50%}.ds-cross i{background:#fff;position:absolute;box-shadow:0 0 0 1px #2a1d14d9}.ds-cross .t{width:2px;height:9px;left:-1px;top:calc(-9px - var(--gap,6px))}.ds-cross .b{width:2px;height:9px;left:-1px;top:var(--gap,6px)}.ds-cross .l{width:9px;height:2px;top:-1px;left:calc(-9px - var(--gap,6px))}.ds-cross .r{width:9px;height:2px;top:-1px;left:var(--gap,6px)}.ds-cross .d{width:2px;height:2px;top:-1px;left:-1px}.ds-hitm{width:28px;height:28px;opacity:var(--ds-hit,0);margin:-14px 0 0 -14px;position:absolute;top:50%;left:50%}.ds-hitm:before,.ds-hitm:after{content:"";background:var(--ds-hit-color,#4ed0cc);width:4px;height:30px;box-shadow:0 0 0 1px var(--ds-ink);margin:-15px 0 0 -2px;position:absolute;top:50%;left:50%;transform:rotate(45deg)}.ds-hitm:after{transform:rotate(-45deg)}.ds-banner{top:calc(max(8px, env(safe-area-inset-top)) + 104px);letter-spacing:.04em;border-color:var(--ds-accent);white-space:normal;text-align:center;max-width:calc(100% - 24px);font-size:22px;animation:.2s cubic-bezier(.16,1,.3,1) both ds-in;position:absolute;left:50%;transform:translate(-50%)}.ds-keys{bottom:max(14px, env(safe-area-inset-bottom));gap:6px;display:none;position:absolute;left:50%;transform:translate(-50%)}.ds-keys .ds-pill{padding:4px 8px;font-size:13px}@media (pointer:fine) and (min-width:900px){.ds-keys{display:flex}}.ds-reload{text-transform:uppercase;letter-spacing:.1em;color:#b3200f;margin-right:8px;font-size:13px}.ds-debug{color:#fff;z-index:60;pointer-events:none;white-space:pre;background:#0009;margin:0;padding:6px 8px;font:11px/1.3 ui-monospace,monospace;position:absolute;bottom:90px;left:8px}.ds-aimzone{pointer-events:auto;touch-action:none;z-index:11;width:56%;position:absolute;top:64px;bottom:0;right:0}.ds-stick{left:max(16px, env(safe-area-inset-left));bottom:max(22px, env(safe-area-inset-bottom));border:2px solid var(--ds-ink);pointer-events:auto;touch-action:none;z-index:12;background:#f4e6cc8c;border-radius:50%;width:124px;height:124px;position:absolute}.ds-knob{background:var(--ds-cream);border:2px solid var(--ds-ink);border-radius:50%;width:54px;height:54px;margin:-27px 0 0 -27px;position:absolute;top:50%;left:50%}.ds-tbtn{color:var(--ds-ink);border:2px solid var(--ds-ink);touch-action:none;pointer-events:auto;z-index:12;cursor:pointer;background:#f4e6cce0;border-radius:50%;place-items:center;padding:0;display:grid;position:absolute}.ds-tbtn[aria-pressed=true]{background:var(--ds-accent)}.ds-tbtn:active{transform:scale(.94)}.ds-tbtn--fire{right:max(16px, env(safe-area-inset-right));bottom:max(24px, env(safe-area-inset-bottom));background:var(--ds-accent);width:80px;height:80px}.ds-tbtn--ads{right:max(26px, env(safe-area-inset-right));bottom:calc(max(24px, env(safe-area-inset-bottom)) + 92px);width:52px;height:52px}.ds-tbtn--jump{right:calc(max(16px, env(safe-area-inset-right)) + 92px);bottom:max(40px, env(safe-area-inset-bottom));width:52px;height:52px}.ds-tbtn--reload{right:calc(max(16px, env(safe-area-inset-right)) + 92px);bottom:calc(max(40px, env(safe-area-inset-bottom)) + 62px);width:52px;height:52px}.ds-tbtn--crouch{right:calc(max(16px, env(safe-area-inset-right)) + 154px);bottom:max(40px, env(safe-area-inset-bottom));width:52px;height:52px}.ds-touch-on .ds-health{bottom:calc(max(22px, env(safe-area-inset-bottom)) + 136px)}.ds-touch-on .ds-ammo{bottom:calc(max(24px, env(safe-area-inset-bottom)) + 160px);min-width:0;font-size:24px}@keyframes ds-blink{50%{background:#8f1a10}}@keyframes ds-pulse{50%{transform:scale(1.04)}}@keyframes ds-in{0%{opacity:0;transform:translate(-50%,-6px)}to{opacity:1;transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){.ds-root *,.ds-root :before,.ds-root :after{transition:none!important;animation:none!important}}@media (max-height:520px){.ds-timer{font-size:26px}.ds-banner{top:calc(max(8px, env(safe-area-inset-top)) + 82px);font-size:18px}}
