@import "https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@500;600;700;800&display=swap";:root{color:#f2f8e9;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:#050b09;font-family:Manrope,system-ui,sans-serif}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0}body{overscroll-behavior:none;min-width:320px;overflow:hidden}button,output{font:inherit}button{color:inherit}.game-shell,.map-viewport{width:100%;height:100%}.map-viewport{isolation:isolate;background:#07100d;position:relative;overflow:hidden}.map-viewport:after{z-index:1;pointer-events:none;content:"";position:absolute;inset:0;box-shadow:inset 0 0 100px #0000006b}canvas{cursor:default;touch-action:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block}canvas.is-panning{cursor:grabbing}canvas:focus{outline:none}.player-location{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.player-marker{z-index:2;color:#f2f8e9;text-shadow:0 1px 3px #050b09,0 0 8px #050b09;pointer-events:none;justify-items:center;min-width:92px;font-size:11px;font-weight:800;line-height:1;display:grid;position:absolute;top:0;left:0}.player-marker-name{text-align:center;overflow-wrap:anywhere;width:max-content;max-width:160px;position:absolute;top:calc(100% + 4px);left:50%;transform:translate(-50%)}.player-marker--remote{pointer-events:none}.player-marker-visual{display:grid;position:relative}.player-marker-visual>.avatar-md{border-radius:50%}.shield-ring{pointer-events:none;width:calc(100% + 14px);height:calc(100% + 14px);position:absolute;inset:-7px;overflow:visible}.shield-ring-segment{fill:none;stroke:#6fe3ff;stroke-width:3.5px;stroke-linecap:round;filter:drop-shadow(0 0 2px #1aa6d9)}.shield-ring-segment--spent{stroke:#6fe3ff2e;filter:none}.player-marker-visual--taunting{animation:.5s linear player-taunt}@keyframes player-taunt{0%,to{transform:translateY(0)}12.5%,37.5%,62.5%,87.5%{transform:translateY(-5px)}25%,50%,75%{transform:translateY(5px)}}@keyframes player-taunt-pulse{0%,to{opacity:1;filter:brightness()}50%{opacity:.65;filter:brightness(1.8)}}.spawn-smoke{z-index:3;pointer-events:none;width:68px;height:58px;animation:.82s steps(6,end) forwards spawn-smoke-clear;position:absolute;top:0;left:0}.spawn-smoke-puff{background:#d7ded8;border:3px solid #29332f;border-radius:48% 55% 43% 58%;width:26px;height:22px;margin:-11px 0 0 -13px;animation:.18s steps(2,jump-none) infinite alternate spawn-smoke-jumble;position:absolute;top:50%;left:50%;box-shadow:inset -4px -4px #87938d,inset 3px 3px #f7faf6}.spawn-smoke-puff--1{--smoke-x:-22px;--smoke-y:-13px;animation-delay:-30ms}.spawn-smoke-puff--2{--smoke-x:0px;--smoke-y:-20px;animation-delay:-110ms}.spawn-smoke-puff--3{--smoke-x:21px;--smoke-y:-12px;animation-delay:-70ms}.spawn-smoke-puff--4{--smoke-x:-27px;--smoke-y:7px;animation-delay:-140ms}.spawn-smoke-puff--5{--smoke-x:-8px;--smoke-y:3px;animation-delay:-50ms}.spawn-smoke-puff--6{--smoke-x:14px;--smoke-y:5px;animation-delay:-160ms}.spawn-smoke-puff--7{--smoke-x:29px;--smoke-y:10px;animation-delay:-90ms}.spawn-smoke-puff--8{--smoke-x:-15px;--smoke-y:19px;animation-delay:-120ms}.spawn-smoke-puff--9{--smoke-x:10px;--smoke-y:20px;animation-delay:-10ms}@keyframes spawn-smoke-jumble{0%{translate:calc(var(--smoke-x) - 3px) calc(var(--smoke-y) + 2px);rotate:-7deg}to{translate:calc(var(--smoke-x) + 3px) calc(var(--smoke-y) - 2px);rotate:7deg}}@keyframes spawn-smoke-clear{0%,38%{opacity:1}to{opacity:0}}.grass-rustle{z-index:1;pointer-events:none;--grass-lean:0deg;--grass-squash:.6;--grass-shift:0px;justify-content:space-between;align-items:flex-end;width:64px;height:12px;margin-top:4px;display:flex;position:absolute;top:0;left:0}.grass-rustle--east{--grass-lean:30deg;--grass-squash:.85}.grass-rustle--west{--grass-lean:-30deg;--grass-squash:.85}.grass-rustle--north{--grass-shift:-2px}.grass-rustle--south{--grass-shift:2px}.grass-rustle-tuft{justify-content:center;align-items:flex-end;gap:2px;width:13px;height:100%;display:flex}.grass-rustle-blade{background:var(--grass-color);width:3px;height:10px;box-shadow:inset 1px 0 0 var(--grass-speck), inset 0 1px 0 var(--grass-speck);transform-origin:50% 100%;border-radius:2px 2px 0 0;animation:.35s ease-out forwards grass-rustle-sway}.grass-rustle-blade--2{height:12px}.grass-rustle-blade--3{height:8px}@keyframes grass-rustle-sway{0%{opacity:.9;transform:rotate(0)scaleY(1)}30%{opacity:.9;transform:translateY(var(--grass-shift)) rotate(var(--grass-lean)) scaleY(var(--grass-squash))}70%{opacity:.6;transform:rotate(calc(var(--grass-lean) * -.25)) scaleY(1)}to{opacity:0;transform:rotate(0)scaleY(1)}}.facing-indicator{z-index:-1;color:#fff4a8;pointer-events:none;background:#050b0999;border-radius:50%;place-items:center;width:18px;height:18px;display:grid;position:absolute}.facing-indicator:before{content:"";clip-path:polygon(50% 0,100% 50%,70% 50%,70% 100%,30% 100%,30% 50%,0 50%);filter:drop-shadow(0 1px 1px #000)drop-shadow(0 0 1px #000);background:currentColor;width:10px;height:12px}.facing-indicator--north{top:-9px;left:calc(50% - 9px)}.facing-indicator--south{bottom:-9px;left:calc(50% - 9px);rotate:180deg}.facing-indicator--east{top:calc(50% - 9px);right:-9px;rotate:90deg}.facing-indicator--west{top:calc(50% - 9px);left:-9px;rotate:270deg}.laser-beam,.laser-stop,.laser-impact,.laser-aim,.laser-aim-stop{z-index:2;box-sizing:border-box;pointer-events:none;position:absolute;top:0;left:0;transform:translate(-50%,-50%)}.laser-beam:before,.laser-aim:before,.laser-stop:before,.laser-aim-stop:before{content:"";border-radius:999px;position:absolute}.laser-beam{animation:laser-flash var(--laser-flash,.52s) ease-out both}.laser-beam:before{background:#fffbe0;box-shadow:0 0 6px 2px #ff5ad6,0 0 14px 4px #ff5ad68c}.laser-beam--horizontal:before{border-radius:0;height:20%;top:40%;left:0;right:0}.laser-beam--vertical:before{border-radius:0;width:20%;top:0;bottom:0;left:40%}.laser-stop{animation:laser-flash var(--laser-flash,.52s) ease-out both}.laser-stop:before{background:#fff;box-shadow:0 0 8px 3px #ff5ad6}.laser-stop--east:before{width:6px;top:18%;bottom:18%;left:-3px}.laser-stop--west:before{width:6px;top:18%;bottom:18%;right:-3px}.laser-stop--south:before{height:6px;top:-3px;left:18%;right:18%}.laser-stop--north:before{height:6px;bottom:-3px;left:18%;right:18%}.laser-impact{z-index:3;animation:laser-impact var(--laser-flash,.52s) ease-out both;border:3px solid #ff5ad6;border-radius:50%;box-shadow:0 0 10px 2px #ff5ad6b3,inset 0 0 8px #fffbe0b3}.laser-aim:before{background:#ff5ad657}.laser-aim--horizontal:before{height:8%;top:46%;left:18%;right:18%}.laser-aim--vertical:before{width:8%;top:18%;bottom:18%;left:46%}.laser-aim-stop:before{background:#ff5ad68c}.laser-aim--recharging:before{background:#ff5ad624}.laser-aim-stop--east:before{width:3px;top:30%;bottom:30%;left:-1px}.laser-aim-stop--west:before{width:3px;top:30%;bottom:30%;right:-1px}.laser-aim-stop--south:before{height:3px;top:-1px;left:30%;right:30%}.laser-aim-stop--north:before{height:3px;bottom:-1px;left:30%;right:30%}.laser--reduced{opacity:1;animation:none}@keyframes laser-flash{0%{opacity:1;filter:brightness(1.8)}35%{opacity:1;filter:brightness()}to{opacity:0}}@keyframes laser-impact{0%{opacity:1;scale:.5}to{opacity:0;scale:1}}.death-screen{z-index:5;color:#f7fff8;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#120303c2;place-content:center;justify-items:center;display:grid;position:absolute;inset:0}.death-screen h2{overflow-wrap:anywhere;text-align:center;max-width:100%;margin:0 0 8px;font-size:clamp(30px,6vw,58px)}.death-attacker{color:#d9ff9a;font-weight:900}.death-screen{padding:20px;overflow-y:auto}.death-screen p{color:#ffc0a8;margin:0 0 22px}.death-screen button{color:#efffe8;background:#13271d;border:1px solid #d9ff9a;border-radius:9px;padding:11px 18px;font-weight:800}.death-screen button:disabled{opacity:.42}.death-screen button kbd{border:1px solid;border-radius:4px;margin-left:6px;padding:2px 5px;font:700 11px/1 DM Mono,monospace}.connection-screen{z-index:3;color:#f2f8e9;text-align:center;background:radial-gradient(circle,#102b21fa,#030b08);place-content:center;justify-items:center;padding:24px;display:grid;position:absolute;inset:0}.connection-screen h2{margin:18px 0 7px;font-size:clamp(1.25rem,3vw,1.8rem)}.connection-screen p{color:#deefd5c2;margin:0}.connection-spinner{border:3px solid #d9ff9a2e;border-top-color:#d9ff9a;border-radius:50%;width:38px;height:38px;animation:.8s linear infinite connection-spin}@keyframes connection-spin{to{transform:rotate(360deg)}}.sync-message{z-index:2;color:#fff8e8;background:#592219e6;border-radius:.55rem;margin:0;padding:.55rem .8rem;position:absolute;bottom:5.5rem;left:50%;transform:translate(-50%)}.brand-panel,.world-badge,.navigation-help{z-index:2;position:absolute}.control-dock{z-index:4;position:absolute}.brand-panel{top:max(20px, env(safe-area-inset-top));left:max(22px, env(safe-area-inset-left));pointer-events:none;filter:drop-shadow(0 4px 16px #00000057);align-items:center;gap:13px;display:flex}.brand-mark{grid-template-rows:repeat(2,9px);grid-template-columns:repeat(2,9px);width:23px;height:23px;display:grid;position:relative;transform:rotate(45deg)}.brand-mark span{background:#d9ff9a;display:block;box-shadow:0 0 12px #d9ff9a61}.brand-mark span:first-child{grid-area:1/1}.brand-mark span:nth-child(2){opacity:.72;grid-area:1/2}.brand-mark span:nth-child(3){opacity:.46;grid-area:2/1}.eyebrow{color:#a8b9ad;letter-spacing:.17em;text-transform:uppercase;margin:0 0 2px;font-family:DM Mono,monospace;font-size:9px;font-weight:500}h1{letter-spacing:-.04em;margin:0;font-size:clamp(17px,2vw,22px);font-weight:800;line-height:1}.world-badge{top:max(23px, env(safe-area-inset-top));right:max(22px, env(safe-area-inset-right));color:#c4d0c6;letter-spacing:.05em;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#071410c2;border:1px solid #d2f5b421;border-radius:9px;align-items:center;gap:9px;height:32px;padding:0 12px;font-family:DM Mono,monospace;font-size:10px;display:flex;box-shadow:0 10px 30px #0003}.status-dot{background:#d9ff9a;border-radius:50%;width:6px;height:6px;box-shadow:0 0 9px #d9ff9a}.status-dot--syncing,.status-dot--reconnecting{box-shadow:none;background:#8fa39a}.status-dot--unavailable{background:#ff8b7a;box-shadow:0 0 9px #ff8b7a}.backend-status{white-space:nowrap}.badge-divider,.control-divider{background:#ffffff1f;width:1px}.badge-divider{height:12px}.navigation-help{top:max(62px, calc(env(safe-area-inset-top) + 42px));left:max(24px, env(safe-area-inset-left));color:#d2e0d494;letter-spacing:.015em;pointer-events:none;font-family:DM Mono,monospace;font-size:10px}.mobile-help{display:none}.control-dock{right:max(22px, env(safe-area-inset-right));bottom:max(20px, env(safe-area-inset-bottom));align-items:center;gap:8px;display:flex}.map-controls{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#06120ee0;border:1px solid #d9ff9a2b;border-radius:12px;align-items:center;height:44px;padding:4px;display:flex;box-shadow:0 15px 40px #00000059}.map-controls[aria-hidden=true]{visibility:hidden}.map-controls button{cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;min-width:36px;height:34px;padding:0 8px;transition:color .14s,background .14s,transform .14s;display:grid}.map-controls button:hover{color:#d9ff9a;background:#d9ff9a17}.map-controls button:active{transform:scale(.94)}.map-controls button:focus-visible{outline-offset:1px;outline:2px solid #d9ff9a}.map-controls button>span:first-child{font-size:21px;font-weight:500;line-height:1}.map-controls output{color:#aebcb1;text-align:center;width:56px;font-family:DM Mono,monospace;font-size:10px}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.control-divider{height:22px;margin:0 4px}.map-controls .fit-button{color:#dce7dd;gap:7px;padding:0 11px;display:flex}.map-controls .fit-button>span:first-child{font-size:16px}.map-controls .fit-button[aria-pressed=true]{color:#d9ff9a;background:#d9ff9a29;box-shadow:inset 0 0 0 1px #d9ff9a8c}.fit-button span:last-child{white-space:nowrap;font-size:11px;font-weight:700}@media (pointer:coarse),(width<=680px){.brand-panel{top:max(16px, env(safe-area-inset-top));left:max(16px, env(safe-area-inset-left))}.world-badge{top:max(16px, env(safe-area-inset-top));right:max(16px, env(safe-area-inset-right))}.navigation-help{top:auto;bottom:max(80px, calc(env(safe-area-inset-bottom) + 66px));width:max-content;left:50%;transform:translate(-50%)}.desktop-help{display:none}.mobile-help{display:inline}.control-dock{right:50%;bottom:max(16px, env(safe-area-inset-bottom));transform:translate(50%)}}@media (width<=520px){.control-dock{gap:5px}.map-controls .fit-button span:last-child{display:none}.map-controls .fit-button{padding:0 8px}}@media (width<=430px){.eyebrow,.badge-divider,.world-size,.backend-status{display:none}.brand-mark{grid-template-rows:repeat(2,7px);grid-template-columns:repeat(2,7px);width:18px;height:18px}.brand-panel{gap:10px}.world-badge{height:30px}}@media (prefers-reduced-motion:reduce){.player-marker-visual--taunting{animation:.5s ease-out player-taunt-pulse}.laser-beam,.laser-stop,.laser-impact{opacity:1;animation:none}.map-controls button{transition:none}.connection-spinner{animation:none}}.game-shell{isolation:isolate;position:relative}.avatar{color:var(--avatar-color,#d9ff9a);border:1px solid color-mix(in srgb, var(--avatar-color,#d9ff9a) 45%, transparent);background:color-mix(in srgb, var(--avatar-color,#d9ff9a) 14%, #071410e6);box-shadow:0 0 14px color-mix(in srgb, var(--avatar-color,#d9ff9a) 22%, transparent);border-radius:50%;flex:none;place-items:center;line-height:1;display:inline-grid}.avatar-sm{width:24px;height:24px;font-size:12px}.avatar-md{width:34px;height:34px;font-size:16px}.avatar-lg{width:44px;height:44px;font-size:21px}.avatar--sprite{color:inherit;background:0 0;border-color:#0000;overflow:visible}.avatar--sprite img{object-fit:contain;width:100%;height:100%;image-rendering:pixelated;-webkit-user-select:none;user-select:none;display:block}.register-backdrop{z-index:3;padding:max(20px, env(safe-area-inset-top)) 16px max(20px, env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0308069e;place-items:center;display:grid;position:absolute;inset:0;overflow:auto}.register-modal{background:#06120ef0;border:1px solid #d9ff9a26;border-radius:18px;width:min(100%,440px);padding:30px 28px 26px;animation:.18s ease-out register-in;box-shadow:0 30px 80px #00000073}@keyframes register-in{0%{opacity:0;transform:translateY(10px)scale(.98)}to{opacity:1;transform:none}}.register-header{align-items:center;gap:13px;margin-bottom:18px;display:flex}.register-header h2{letter-spacing:-.04em;margin:0;font-size:24px;font-weight:800;line-height:1}.mode-switch{background:#00000038;border:1px solid #d9ff9a21;border-radius:10px;grid-template-columns:1fr 1fr;gap:4px;margin-bottom:16px;padding:4px;display:grid}.mode-switch button{color:#a8b9ad;cursor:pointer;background:0 0;border:0;border-radius:7px;height:34px;font-size:12px;font-weight:700;transition:color .14s,background .14s}.mode-switch button.is-active{color:#071410;background:#d9ff9a}.mode-switch button:focus-visible{outline-offset:2px;outline:2px solid #d9ff9a}.pin-input{letter-spacing:.4em;-webkit-text-security:disc;font-family:DM Mono,monospace}.register-lede{color:#c4d0c6;margin:0 0 18px;font-size:14px;line-height:1.5}.register-form{gap:18px;display:grid}.field{border:0;gap:8px;min-width:0;margin:0;padding:0;display:grid}.field label,.field legend{color:#a8b9ad;letter-spacing:.17em;text-transform:uppercase;padding:0;font-family:DM Mono,monospace;font-size:10px;font-weight:500}.field legend{margin-bottom:8px}.field input:not([type=radio],[type=range],[type=file]){color:#f2f8e9;width:100%;height:46px;font:inherit;background:#00000047;border:1px solid #d2f5b42e;border-radius:10px;padding:0 14px;font-size:16px;font-weight:600;transition:border-color .14s,box-shadow .14s}.field input:not([type=radio],[type=range],[type=file])::placeholder{color:#a8b9ad8c;font-weight:500}.field input:not([type=radio],[type=range],[type=file]):focus-visible{border-color:#d9ff9a;outline:none;box-shadow:0 0 0 3px #d9ff9a38}.field input[aria-invalid=true]{border-color:#ff9f6b}.field-error{color:#ffb08a;margin:0;font-size:13px;line-height:1.4}.avatar-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.avatar-option{cursor:pointer;background:#00000038;border:1px solid #d2f5b421;border-radius:12px;justify-items:center;gap:8px;padding:12px 6px 10px;transition:border-color .14s,background .14s;display:grid;position:relative}.avatar-option:hover{border-color:#d9ff9a66}.avatar-option input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.avatar-option:has(input:checked){background:#d9ff9a17;border-color:#d9ff9a}.avatar-option:has(input:focus-visible){outline-offset:2px;outline:2px solid #d9ff9a}.avatar-option-label{color:#dce7dd;text-align:center;font-size:11px;font-weight:700}.avatar-grid-scroll{overscroll-behavior:contain;scrollbar-gutter:stable;max-height:min(44dvh,340px);margin:-4px;padding:4px;overflow-y:auto}.avatar-option--in-use{cursor:not-allowed;border-style:dashed}.avatar-option--in-use:hover{border-color:#d2f5b421}.avatar-option--in-use input{cursor:not-allowed}.avatar-option--in-use .avatar,.avatar-option--in-use .avatar-option-label{opacity:.45;filter:grayscale(.85)}.avatar-option-status{color:#ffb08a;letter-spacing:.06em;text-transform:uppercase;font-size:10px;font-weight:800}.avatar--sprite.avatar--custom{border-color:color-mix(in srgb, var(--avatar-color,#d9ff9a) 45%, transparent);overflow:hidden}.avatar--custom img{object-fit:cover;image-rendering:pixelated;border-radius:50%}.avatar-upload{gap:8px;margin-top:14px;display:grid}.field .avatar-upload-button{color:#dce7dd;font:inherit;letter-spacing:normal;text-transform:none;cursor:pointer;justify-content:center;justify-self:start;align-items:center;padding:0 18px;font-size:14px;font-weight:800;display:inline-flex;position:relative}.avatar-upload-button:has(input:focus-visible){outline-offset:2px;outline:2px solid #d9ff9a}.avatar-upload-button.is-disabled{opacity:.5;cursor:not-allowed}.avatar-upload-hint{color:#a8b9ad;margin:0;font-size:12px;line-height:1.4}.avatar-crop{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.avatar-crop-preview{width:112px;height:112px;image-rendering:pixelated;background-color:#0006;border:2px solid #d9ff9a;border-radius:50%;flex:none}.avatar-crop-controls{flex:200px;gap:8px;display:grid}.field .avatar-crop-slider{grid-template-columns:84px minmax(0,1fr);align-items:center;gap:8px;display:grid}.avatar-crop-slider input{accent-color:#d9ff9a;width:100%}.avatar-crop-slider input:focus-visible{outline-offset:2px;outline:2px solid #d9ff9a}.avatar-crop-actions{justify-content:flex-end;gap:8px;display:flex}.primary-button{color:#071410;letter-spacing:-.01em;cursor:pointer;background:#d9ff9a;border:0;border-radius:10px;height:44px;padding:0 18px;font-size:14px;font-weight:800;transition:transform .14s,background .14s;box-shadow:0 10px 30px #d9ff9a2e}.primary-button:hover{background:#e8ffb8}.primary-button:active{transform:scale(.97)}.primary-button:focus-visible{outline-offset:2px;outline:2px solid #d9ff9a}.register-footnote{color:#a8b9adbf;margin:0;font-size:12px;line-height:1.5}.notice{border-radius:10px;margin:0;padding:10px 12px;font-size:13px;line-height:1.4}.notice-error{color:#ffb08a;background:#ff9f6b17;border:1px solid #ff9f6b4d}.avatar-modal-backdrop{z-index:20;padding:max(20px, env(safe-area-inset-top)) 16px max(20px, env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#030806bd;place-items:center;display:grid;position:absolute;inset:0;overflow:auto}.avatar-modal{width:min(620px,100%);max-height:calc(100dvh - max(40px, env(safe-area-inset-top) + env(safe-area-inset-bottom)));background:#071410fa;border:1px solid #d9ff9a3d;border-radius:18px;padding:clamp(18px,4vw,28px);overflow:auto;box-shadow:0 28px 80px #0000008c}.avatar-modal h2{margin:2px 0 6px;font-size:clamp(24px,5vw,34px)}.avatar-modal header>p:last-child{color:#b9c8bc;margin:0 0 20px;line-height:1.5}.avatar-modal form{gap:18px;display:grid}.avatar-modal .avatar-grid-scroll{max-height:clamp(132px,100dvh - 430px,440px)}.avatar-modal .avatar-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.avatar-modal-actions{justify-content:flex-end;gap:10px;display:flex}.secondary-button{color:#dce7dd;cursor:pointer;background:0 0;border:1px solid #d2f5b442;border-radius:10px;min-height:44px;padding:0 18px;font-weight:800}.secondary-button:focus-visible{outline-offset:2px;outline:2px solid #d9ff9a}.secondary-button:disabled,.avatar-modal .primary-button:disabled{opacity:.5;cursor:not-allowed}@media (width<=540px){.avatar-modal .avatar-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.avatar-grid-scroll{max-height:min(38dvh,300px)}.avatar-modal .avatar-grid-scroll{max-height:clamp(132px,100dvh - 460px,440px)}.avatar-crop-preview{width:88px}.avatar-modal .avatar-option{padding-inline:3px}.avatar-modal-actions>button{flex:1}}@media (prefers-reduced-motion:reduce){.register-modal{animation:none}.spawn-smoke{animation:.6s linear forwards spawn-smoke-fade}.spawn-smoke-puff{translate:var(--smoke-x) var(--smoke-y);animation:none}.grass-rustle{display:none}.avatar-option,.avatar-change-control,.field input,.primary-button,.mode-switch button{transition:none}}@keyframes spawn-smoke-fade{0%{opacity:1}to{opacity:0}}.game-action-controls{right:max(20px, env(safe-area-inset-right));bottom:max(76px, calc(env(safe-area-inset-bottom) + 66px));z-index:5;justify-items:stretch;gap:8px;width:max-content;max-width:calc(100vw - 40px);display:grid;position:absolute}.game-action-controls>*{box-sizing:border-box;color:#fff4a8;text-align:center;background:#06120ee6;border:1px solid #fff4a859;border-radius:10px;justify-content:center;align-items:center;gap:8px;min-height:44px;margin:0;padding:9px 13px;font:700 11px/1 DM Mono,monospace;display:flex}.game-action-controls kbd{font:inherit;border:1px solid;border-radius:3px;padding:2px 4px}.avatar-change-control{color:#efffe8;cursor:pointer;border-color:#d9ff9a6b}.avatar-change-control:hover{color:#071410;background:#d9ff9a}.avatar-change-control:disabled{opacity:.5;cursor:not-allowed}.avatar-change-control:focus-visible{outline-offset:3px;outline:3px solid #d9ff9a}.view-controls{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#06120ee0;border:1px solid #d9ff9a2b;border-radius:12px;align-items:center;height:44px;padding:4px;display:flex;box-shadow:0 15px 40px #00000059}.view-controls button{color:#dce7dd;white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:7px;height:34px;padding:0 11px;font-size:11px;font-weight:700;transition:color .14s,background .14s;display:flex}.view-controls button>span:first-child{font-size:16px;line-height:1}.view-controls button:hover{color:#d9ff9a;background:#d9ff9a17}.view-controls button[aria-pressed=true]{color:#d9ff9a;background:#d9ff9a24}.view-controls button:focus-visible{outline-offset:1px;outline:2px solid #d9ff9a}.view-controls button:disabled{opacity:.45;cursor:not-allowed}.view-controls .restore-ui{color:#fff4a8}.view-notice{z-index:4;right:max(22px, env(safe-area-inset-right));bottom:max(74px, calc(env(safe-area-inset-bottom) + 54px));color:#fff8e8;background:#592219e6;border-radius:8px;margin:0;padding:6px 10px;font-family:DM Mono,monospace;font-size:11px;position:absolute}.map-viewport--clean .control-dock{opacity:.82}.map-viewport--clean .control-dock:hover,.map-viewport--clean .control-dock:focus-within{opacity:1}@media (pointer:coarse),(width<=680px){.control-dock{flex-wrap:wrap;justify-content:flex-end;max-width:calc(100vw - 32px)}.view-controls button>span:last-child{display:none}.view-controls button{justify-content:center;min-width:36px;padding:0 8px}}.mob-marker{--mob-body-size:20px;z-index:2;pointer-events:none;display:grid;position:absolute;top:0;left:0}.mob-marker-body{place-content:center;gap:calc(var(--mob-body-size) * .19);width:var(--mob-body-size);height:var(--mob-body-size);background:radial-gradient(circle at 50% 30%,#c8324a,#6d0f1f 70%);border:2px solid #ffb3a7;border-radius:7px 7px 11px 11px;grid-auto-flow:column;animation:1.4s ease-in-out infinite alternate mob-breathe;display:grid;position:relative;box-shadow:0 0 0 2px #2a0509,0 0 12px #ff3b3b}.mob-marker-eye{width:calc(var(--mob-body-size) * .19);height:calc(var(--mob-body-size) * .27);background:#fff4c2;border-radius:2px;box-shadow:0 0 5px #ffe37a}.mob-marker--north .mob-marker-body{border-radius:11px 11px 7px 7px}.mob-health-bar{background:#3a0a10;border:1px solid #ffe9b0;border-radius:2px;width:34px;height:6px;display:block;position:absolute;bottom:calc(100% + 3px);left:50%;overflow:hidden;transform:translate(-50%);box-shadow:0 0 0 1px #2a0509}.mob-health-bar-fill{background:linear-gradient(90deg,#ffe45c,#ff8a2a 55%,#ff3b3b);height:100%;transition:width .25s ease-out;display:block}.mob-marker--reduced .mob-health-bar-fill{transition:none}.mob-marker--hit .mob-marker-body{animation:.6s ease-out mob-hit}.mob-marker--attacking .mob-marker-body{animation:.6s ease-out mob-lunge}.mob-marker--attacking.mob-marker--north .mob-marker-body{--mob-lunge-x:0;--mob-lunge-y:-9px}.mob-marker--attacking.mob-marker--south .mob-marker-body{--mob-lunge-x:0;--mob-lunge-y:9px}.mob-marker--attacking.mob-marker--west .mob-marker-body{--mob-lunge-x:-9px;--mob-lunge-y:0}.mob-marker--attacking.mob-marker--east .mob-marker-body{--mob-lunge-x:9px;--mob-lunge-y:0}.mob-marker--ranged .mob-marker-body{background:radial-gradient(circle at 50% 35%,#a35cff,#3d1478 72%);border-color:#e4c8ff;border-radius:50%;animation-name:mob-ranged-breathe;box-shadow:0 0 0 2px #14052a,0 0 12px #b26bff}.mob-marker--ranged .mob-marker-eye{width:calc(var(--mob-body-size) * .35);height:calc(var(--mob-body-size) * .35);border-radius:50%}.mob-marker--winding .mob-marker-body{border-color:#fff4c2;animation:.4s ease-in-out infinite alternate mob-windup}.mob-marker--reduced.mob-marker--winding .mob-marker-body{outline-offset:2px;outline:3px dashed #ff6bf0}.mob-projectile{z-index:3;clip-path:polygon(0 0,30% 20%,72% 20%,100% 50%,72% 80%,30% 80%,0 100%,12% 50%);filter:drop-shadow(0 0 3px #ffb44a);pointer-events:none;background:linear-gradient(#f7f3ff 0 30%,#b6a4d8 45% 65%,#6c519a 100%);width:22px;height:12px;position:absolute;top:0;left:0}.mob-projectile:before{content:"";background:linear-gradient(90deg,#ff5722,#ffe898);position:absolute;inset:3px 15px 3px 0}.mob-projectile:after{content:"";background:#ff526f;position:absolute;inset:2px 0 2px 16px}@keyframes mob-ranged-breathe{to{filter:brightness(1.12);box-shadow:0 0 0 2px #14052a,0 0 18px #c98bff}}@keyframes mob-windup{0%{scale:1;box-shadow:0 0 0 2px #14052a,0 0 8px #ff6bf0}to{scale:1.2;box-shadow:0 0 0 4px #ff6bf0,0 0 22px 6px #ff6bf0}}@keyframes mob-breathe{to{filter:brightness(1.12);box-shadow:0 0 0 2px #2a0509,0 0 18px #ff5a5a}}@keyframes mob-hit{0%{filter:brightness(3);box-shadow:0 0 0 8px #fffc}to{filter:none;box-shadow:0 0 0 2px #2a0509,0 0 12px #ff3b3b}}@keyframes mob-lunge{0%,to{translate:0}35%{translate:var(--mob-lunge-x,0) var(--mob-lunge-y,9px)}}.mob-defeat{z-index:3;color:#ffb3a7;text-shadow:0 0 6px #ff3b3b,0 0 16px #ff8a5a;pointer-events:none;font-size:30px;line-height:1;animation:.6s ease-out forwards mob-defeat;position:absolute;top:0;left:0}@keyframes mob-defeat{0%{opacity:1;scale:.4}60%{opacity:1;scale:1.25}to{opacity:0;scale:1.5}}.mob-marker--reduced .mob-marker-body,.mob-defeat--reduced{animation:none}.mob-marker--reduced.mob-marker--hit .mob-marker-body{outline:3px solid #fff4c2}.mob-marker--reduced.mob-marker--attacking .mob-marker-body{outline:3px solid #ff5a5a}@media (prefers-reduced-motion:reduce){.mob-marker-body,.mob-defeat{animation:none}.mob-health-bar-fill{transition:none}.mob-marker--hit .mob-marker-body{outline:3px solid #fff4c2}.mob-marker--attacking .mob-marker-body{outline:3px solid #ff5a5a}.mob-marker--winding .mob-marker-body{outline-offset:2px;outline:3px dashed #ff6bf0}}.map-viewport--touch{--virtual-cell:56px;--virtual-gap:6px;--virtual-pad-height:calc(3 * var(--virtual-cell) + 2 * var(--virtual-gap));--virtual-pad-bottom:max(12px, env(safe-area-inset-bottom))}.virtual-controls{left:max(8px, env(safe-area-inset-left));right:max(8px, env(safe-area-inset-right));bottom:var(--virtual-pad-bottom);z-index:6;pointer-events:none;touch-action:none;justify-content:space-between;align-items:flex-end;display:flex;position:absolute}.virtual-controls>*{pointer-events:auto;touch-action:none}.virtual-dpad,.virtual-actions{grid-template-columns:repeat(3, var(--virtual-cell));grid-template-rows:repeat(3, var(--virtual-cell));gap:var(--virtual-gap);display:grid}.virtual-dpad{grid-template-areas:".north.""west.east"".south."}.virtual-dpad-north{grid-area:north}.virtual-dpad-south{grid-area:south}.virtual-dpad-west{grid-area:west}.virtual-dpad-east{grid-area:east}.virtual-actions{grid-template-areas:". . ."".fire."". . ."}.virtual-action-fire{grid-area:fire}.virtual-controls button{color:#f4f7ef;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;touch-action:none;background:#06120ec7;border:1px solid #f4f7ef52;border-radius:14px;place-content:center;gap:2px;min-width:48px;min-height:48px;padding:0;font:700 18px/1 DM Mono,monospace;transition:transform 80ms,background-color 80ms;display:grid}.virtual-controls button small{opacity:.8;font-size:10px;font-weight:600}.virtual-controls button:active{background:#183428eb;transform:scale(.94)}.virtual-controls button:disabled{opacity:.4;cursor:not-allowed;transform:none}.virtual-dpad button{border-radius:50%}.virtual-action-fire{color:#10160c;letter-spacing:.04em;background:#ffc43deb;border-color:#ffd65cb3;border-radius:50%;font-size:14px}.virtual-action-fire:active{background:#ffe280f5}.virtual-action-fire--recharging{opacity:.55}.map-viewport--clean .virtual-controls{opacity:.82}.map-viewport--clean .virtual-controls:active,.map-viewport--clean .virtual-controls:focus-within{opacity:1}.map-viewport--touch .control-dock{top:max(64px, calc(env(safe-area-inset-top) + 52px));justify-content:center;width:max-content;max-width:calc(100vw - 32px);margin:0 auto;bottom:auto;left:0;right:0;transform:none}.map-viewport--touch .navigation-help{top:auto;bottom:calc(var(--virtual-pad-bottom) + var(--virtual-pad-height) + 12px)}.map-viewport--touch .game-action-controls{right:max(8px, env(safe-area-inset-right));bottom:calc(var(--virtual-pad-bottom) + var(--virtual-pad-height) + 34px)}@media (width<=400px){.map-viewport--touch{--virtual-cell:52px;--virtual-gap:4px}}@media (height<=520px){.map-viewport--touch{--virtual-cell:48px;--virtual-gap:6px}.map-viewport--touch .game-action-controls{left:50%;right:auto;bottom:var(--virtual-pad-bottom);justify-items:center;transform:translate(-50%)}.map-viewport--touch .navigation-help{display:none}}@media (prefers-reduced-motion:reduce){.virtual-controls button{transition:none}.virtual-controls button:active{transform:none}}.how-to-play-button{color:#d9ff9a;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);white-space:nowrap;cursor:pointer;background:#1a301af0;border:1px solid #d9ff9a99;border-radius:12px;align-items:center;gap:7px;min-height:44px;padding:0 14px;font-size:12px;font-weight:800;transition:background .14s;display:flex;box-shadow:0 15px 40px #00000059}.how-to-play-button>span:first-child{color:#071410;background:#d9ff9a;border-radius:50%;place-items:center;width:20px;height:20px;font-size:13px;line-height:1;display:grid}.how-to-play-button kbd{border:1px solid;border-radius:3px;padding:2px 4px;font:700 11px/1 DM Mono,monospace}.how-to-play-button:hover{background:#284622f5}.how-to-play-button:focus-visible{outline-offset:2px;outline:2px solid #d9ff9a}.how-to-play-button--highlight{animation:1.2s ease-in-out infinite how-to-play-glow}@keyframes how-to-play-glow{0%,to{box-shadow:0 0 #d9ff9a00,0 15px 40px #00000059}50%{box-shadow:0 0 0 5px #d9ff9a73,0 0 26px #d9ff9a99}}.how-to-play-backdrop{z-index:30;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));-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);touch-action:none;background:#030806b3;place-items:center;display:grid;position:fixed;inset:0}.how-to-play-panel{touch-action:auto;background:#071410fa;border:1px solid #d9ff9a3d;border-radius:18px;flex-direction:column;width:min(560px,100%);height:min(640px,100%);display:flex;overflow:hidden;box-shadow:0 28px 80px #0000008c}.how-to-play-header,.how-to-play-footer{flex:none;align-items:center;gap:12px;padding:16px clamp(16px,4vw,24px);display:flex}.how-to-play-header{border-bottom:1px solid #ffffff12;justify-content:space-between}.how-to-play-header h2{margin:2px 0 0;font-size:clamp(22px,5vw,30px)}.how-to-play-close{color:#dce7dd;cursor:pointer;background:0 0;border:1px solid #d2f5b442;border-radius:10px;flex:none;place-items:center;width:44px;height:44px;font-size:24px;line-height:1;display:grid}.how-to-play-close:hover{color:#d9ff9a;background:#d9ff9a17}.how-to-play-close:focus-visible{outline-offset:2px;outline:2px solid #d9ff9a}.how-to-play-body{flex-direction:column;flex:auto;min-height:0;padding:4px clamp(16px,4vw,24px) 0;display:flex;overflow:hidden}.how-to-play-objective{flex:none}.how-to-play-objective p+p{margin-top:8px}.how-to-play-controls-section{flex-direction:column;flex:auto;min-height:0;display:flex}.how-to-play-controls-scroll{overscroll-behavior:contain;touch-action:pan-y;border-radius:8px;flex:auto;min-height:96px;margin-inline:-4px;padding:0 4px 10px;overflow-y:auto;-webkit-mask-image:linear-gradient(#000 calc(100% - 18px),#0000);mask-image:linear-gradient(#000 calc(100% - 18px),#0000)}.how-to-play-controls-scroll:focus-visible{outline-offset:2px;outline:2px solid #d9ff9a8c}.how-to-play-body h3{color:#d9ff9a;letter-spacing:.08em;text-transform:uppercase;margin:14px 0 6px;font-size:12px;font-weight:800}.how-to-play-body h4{color:#b9c8bc;margin:12px 0 4px;font-size:12px;font-weight:700}.how-to-play-body p{color:#dce7dd;margin:0;font-size:14px;line-height:1.5}.how-to-play-body .how-to-play-note{color:#b9c8bc;margin-top:8px;font-size:12px}.how-to-play-controls{gap:4px;margin:0;display:grid}.how-to-play-control{border-top:1px solid #ffffff0f;grid-template-columns:minmax(96px,auto) 1fr;align-items:center;gap:12px;padding:5px 0;display:grid}.how-to-play-control:first-child{border-top:0}.how-to-play-control dt{white-space:nowrap;color:#91a296;font-size:11px}.how-to-play-control dd{color:#eaf5e8;margin:0;font-size:13px}.how-to-play-control kbd{color:#f2f8e9;text-align:center;background:#d9ff9a14;border:1px solid #d9ff9a52;border-radius:6px;min-width:22px;padding:2px 6px;font:700 11px/1.4 DM Mono,monospace;display:inline-block}.how-to-play-footer{border-top:1px solid #ffffff12;justify-content:space-between}.how-to-play-footer p{color:#91a296;margin:0;font-size:12px;line-height:1.4}.how-to-play-footer .primary-button{flex:none;min-width:120px}@media (width<=480px){.how-to-play-backdrop{padding-inline:max(8px, env(safe-area-inset-left)) max(8px, env(safe-area-inset-right))}.how-to-play-header,.how-to-play-footer{padding-block:12px}.how-to-play-footer{flex-direction:column;align-items:stretch;gap:8px}.how-to-play-footer p{text-align:center}}@media (height<=520px){.how-to-play-header,.how-to-play-footer{padding-block:8px}.how-to-play-header .eyebrow,.how-to-play-footer p{display:none}.how-to-play-footer{justify-content:flex-end}.how-to-play-body h3{margin-block:8px 4px}.how-to-play-body p{font-size:12px;line-height:1.4}.how-to-play-controls-scroll{min-height:72px}}@media (prefers-reduced-motion:reduce){.how-to-play-button{transition:none}.how-to-play-button--highlight{animation:none;box-shadow:0 0 0 3px #d9ff9a,0 0 18px #d9ff9a73}}.game-action-controls>.weapon-bar,.game-action-controls>.store-build-row,.game-action-controls>.build-actions{background:0 0;border:0;gap:6px;min-height:0;padding:0;display:flex}.weapon-bar button,.store-build-row button,.build-actions button{color:#fff4a8;white-space:nowrap;cursor:pointer;background:#06120ee6;border:1px solid #fff4a859;border-radius:10px;flex:1 1 0;justify-content:center;align-items:center;gap:5px;min-height:44px;padding:7px 9px;font:700 11px/1 DM Mono,monospace;display:flex}.weapon-bar button:disabled,.store-build-row button:disabled,.build-actions button:disabled{opacity:.5;cursor:not-allowed}.weapon-bar button:focus-visible,.store-build-row button:focus-visible,.build-actions button:focus-visible{outline-offset:2px;outline:3px solid #d9ff9a}.weapon-choice{flex-direction:column;gap:3px}.weapon-choice kbd{font-size:9px}.weapon-choice--selected{color:#071410;background:#d9ff9a;border-color:#d9ff9a}.weapon-ammo{opacity:.85;font-size:10px}.store-control{color:#ffe27a;border-color:#ffd65c8c}.build-control[aria-pressed=true],.build-confirm:not(:disabled){color:#071410;background:#ffb36b;border-color:#ffb36b}.action-notice{align-items:center;gap:10px;display:flex}.action-notice--ok{color:#d9f99d;background:#1a2e14eb;border-color:#bef26473}.action-notice button{color:inherit;cursor:pointer;background:0 0;border:0;font-size:18px}.brick-wall,.build-preview{z-index:2;box-sizing:border-box;pointer-events:none;position:absolute;top:0;left:0;transform:translate(-50%,-50%)}.brick-wall{background:linear-gradient(#3b1a0c 0 0) 0 33%/100% 2px no-repeat,linear-gradient(#3b1a0c 0 0) 0 66%/100% 2px no-repeat,linear-gradient(90deg,#0000 48%,#3b1a0c 48% 52%,#0000 52%) 0 0/100% 33% no-repeat,linear-gradient(90deg,#0000 23%,#3b1a0c 23% 27%,#0000 27% 73%,#3b1a0c 73% 77%,#0000 77%) 0/100% 33% no-repeat,#b5562b;border:2px solid #3b1a0c;border-radius:3px;box-shadow:inset 0 0 0 1px #ffbe8c59,0 2px 4px #00000073}.brick-wall--own{outline-offset:0;outline:2px solid #d9ff9a}.brick-wall--other{outline-offset:0;outline:2px solid #ff9f6b}.brick-wall[data-health="2"]{filter:brightness(.85)}.brick-wall[data-health="1"]{filter:brightness(.7)saturate(.8)}.brick-wall-health{gap:2px;display:flex;position:absolute;bottom:calc(100% + 2px);left:50%;transform:translate(-50%)}.brick-wall-pip{background:#ffe27a;border-radius:1px;width:5px;height:5px;box-shadow:0 0 0 1px #3b1a0c}.brick-wall-pip--lost{background:#28140ab3}.build-preview{background:#ffb36b47;border:2px dashed #ffb36b;border-radius:3px}.build-preview--dismantle{background:#ff6b6b42;border-color:#ff6b6b}.build-preview--blocked{background:repeating-linear-gradient(45deg,#ff6b6b4d 0 4px,#0000 4px 8px);border-color:#ff6b6b}.shotgun-ray{z-index:2;pointer-events:none;transform-origin:0;height:3px;animation:laser-flash var(--laser-flash,.52s) ease-out both;background:linear-gradient(90deg,#ffe27a00,#ffe27a 30%,#fff8d6);margin-top:-1.5px;position:absolute;top:0;left:0;box-shadow:0 0 6px 1px #ffb36b}.laser-beam--rifle:before{background:#e8fbff;box-shadow:0 0 6px 2px #5ad1ff,0 0 14px 4px #5ad1ff8c}.store-backdrop{z-index:20;padding:max(16px, env(safe-area-inset-top)) 12px max(16px, env(safe-area-inset-bottom));background:#03080699;place-items:center;display:grid;position:absolute;inset:0;overflow:auto}.store-panel{width:min(560px,100%);max-height:calc(100dvh - max(32px, env(safe-area-inset-top) + env(safe-area-inset-bottom)));background:#071410f7;border:1px solid #ffd65c4d;border-radius:18px;gap:14px;padding:clamp(16px,4vw,24px);display:grid;overflow:auto;box-shadow:0 28px 80px #0000008c}.store-header{justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.store-header h2{margin:2px 0 0;font-size:clamp(24px,5vw,32px)}.store-balance{color:#ffe27a;white-space:nowrap;margin:0;font:700 14px/1 DM Mono,monospace}.store-balance strong{font-size:24px}.store-token{margin-right:6px}.store-supplies{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0;display:grid}.store-supplies div{background:#d9ff9a12;border-radius:10px;padding:8px}.store-supplies dt{color:#a8b9ad;font-size:11px}.store-supplies dd{color:#efffe8;margin:3px 0 0;font:700 12px/1.3 DM Mono,monospace}.store-catalog{gap:8px;margin:0;padding:0;list-style:none;display:grid}.store-item{background:#ffffff08;border:1px solid #d9ff9a2e;border-radius:12px;align-items:center;gap:12px;padding:12px;display:flex}.store-item--unavailable{opacity:.78}.store-item-copy{flex:1;min-width:0}.store-item h3{margin:0 0 4px;font-size:15px}.store-item-quantity{color:#ffe27a;margin-left:6px;font:700 11px/1 DM Mono,monospace}.store-item p{color:#b9c8bc;margin:0;font-size:12px;line-height:1.4}.store-item .store-item-reason{color:#ffb08a;margin-top:4px;font-weight:700}.store-buy{flex:none;min-width:76px}.store-buy:disabled{opacity:.5;cursor:not-allowed}.store-earn{color:#a8b9ad;margin:0;font-size:12px}.store-actions{justify-content:flex-end;display:flex}.notice-success{color:#d9ff9a;background:#d9ff9a17;border:1px solid #d9ff9a4d}@media (width<=540px){.store-supplies{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce){.shotgun-ray{animation:none}}.pickup-object{--pickup-cell:20px;z-index:1;pointer-events:none;justify-items:center;display:grid;position:absolute;top:0;left:0}.pickup-object-shape{width:max(18px, calc(var(--pickup-cell) * .9));height:max(18px, calc(var(--pickup-cell) * .9));border:2px solid #f6fbff;animation:1.6s ease-in-out infinite alternate pickup-bob;box-shadow:0 0 0 2px #0a121ebf,0 0 12px}.pickup-object--barrier{color:#6fd3ff}.pickup-object--barrier .pickup-object-shape{background:radial-gradient(circle,#0000 38%,#f6fbff 40% 48%,#0000 50%),radial-gradient(circle at 35% 30%,#c9f1ff,#1f7fbf 70%);border-radius:50%}.pickup-object--piercing{color:#ffcf4a}.pickup-object--piercing .pickup-object-shape{clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);background:linear-gradient(90deg,#0000 44%,#fffbe8 45% 55%,#0000 56%),linear-gradient(135deg,#ffe58a,#d9760f);border:0}.pickup-object--stasis{color:#b99bff}.pickup-object--stasis .pickup-object-shape{clip-path:polygon(50% 0,90% 22%,90% 78%,50% 100%,10% 78%,10% 22%);background:linear-gradient(160deg,#efe6ff,#7a4fe0 60%,#3d2385);border:0}.pickup-object-label{color:#fff;white-space:nowrap;background:#0a121ecc;border-radius:3px;margin-top:2px;padding:0 4px;font-size:10px;font-weight:700;line-height:14px}@keyframes pickup-bob{0%{transform:translateY(1px)}to{transform:translateY(-2px)}}.pickup-aura{z-index:1;box-sizing:border-box;pointer-events:none;border-radius:50%;position:absolute;top:0;left:0}.pickup-aura--barrier{border:3px solid #8be0ff;animation:1.2s ease-in-out infinite alternate pickup-aura-pulse;box-shadow:0 0 10px #6fd3ff,inset 0 0 8px #6fd3ff}.pickup-aura--piercing{background:radial-gradient(circle,#ffcf4a59,#0000 70%);border:2px dashed #ffd666;animation:1.6s linear infinite pickup-aura-spin}.pickup-aura--stasis{background:#966eff1f;border:2px dashed #c8b0fff2}@keyframes pickup-aura-pulse{0%{opacity:.65}to{opacity:1}}@keyframes pickup-aura-spin{to{rotate:360deg}}.pickup-object--reduced .pickup-object-shape,.pickup-aura--reduced{animation:none}@media (prefers-reduced-motion:reduce){.pickup-object-shape,.pickup-aura{animation:none}}.pickup-skill-hud{z-index:4;color:#fff;pointer-events:none;background:#0a121ed9;border:1px solid #ffffff40;border-radius:999px;align-items:center;gap:.45rem;margin:0;padding:.35rem .7rem;font-size:.85rem;font-weight:700;display:flex;position:absolute;top:.9rem;left:50%;transform:translate(-50%)}.pickup-skill-icon{background:currentColor;width:14px;height:14px}.pickup-skill-icon--barrier{color:#6fd3ff;border-radius:50%}.pickup-skill-icon--piercing{color:#ffcf4a;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}.pickup-skill-icon--stasis{color:#b99bff;clip-path:polygon(50% 0,90% 22%,90% 78%,50% 100%,10% 78%,10% 22%)}.pickup-skill-time{font-variant-numeric:tabular-nums;opacity:.85}@media (width<=640px){.pickup-skill-hud{font-size:.8rem;top:auto;bottom:13rem;left:1rem;transform:none}}
