@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/cormorant-garamond-cyrillic-ext-500-normal-Yta7XZ9C.woff2)format("woff2"),url(/assets/cormorant-garamond-cyrillic-ext-500-normal-lsPpqi9g.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/cormorant-garamond-cyrillic-500-normal-CyAY5ZLS.woff2)format("woff2"),url(/assets/cormorant-garamond-cyrillic-500-normal-DkJXBcIH.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/cormorant-garamond-vietnamese-500-normal-BZGLGj12.woff2)format("woff2"),url(/assets/cormorant-garamond-vietnamese-500-normal-DqXqCC0q.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/cormorant-garamond-latin-ext-500-normal-CH1kM7og.woff2)format("woff2"),url(/assets/cormorant-garamond-latin-ext-500-normal-DYeaGGzO.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/cormorant-garamond-latin-500-normal-BsRWmXhO.woff2)format("woff2"),url(/assets/cormorant-garamond-latin-500-normal-zIXX3Q-H.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/cormorant-garamond-cyrillic-ext-600-normal-BMhMHfrj.woff2)format("woff2"),url(/assets/cormorant-garamond-cyrillic-ext-600-normal-CsIYWmWK.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/cormorant-garamond-cyrillic-600-normal-C2atO-64.woff2)format("woff2"),url(/assets/cormorant-garamond-cyrillic-600-normal-FNmA3REe.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/cormorant-garamond-vietnamese-600-normal-BoXdMtcr.woff2)format("woff2"),url(/assets/cormorant-garamond-vietnamese-600-normal-C4HEjEaf.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/cormorant-garamond-latin-ext-600-normal-DaBc-lu7.woff2)format("woff2"),url(/assets/cormorant-garamond-latin-ext-600-normal-Dk3-quAP.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/cormorant-garamond-latin-600-normal-Co1r35X9.woff2)format("woff2"),url(/assets/cormorant-garamond-latin-600-normal-2CBVLo0M.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-ext-400-normal-BQZuk6qB.woff2)format("woff2"),url(/assets/inter-cyrillic-ext-400-normal-DQukG94-.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-400-normal-obahsSVq.woff2)format("woff2"),url(/assets/inter-cyrillic-400-normal-HOLc17fK.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-ext-400-normal-DGGRlc-M.woff2)format("woff2"),url(/assets/inter-greek-ext-400-normal-KugGGMne.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-400-normal-B4URO6DV.woff2)format("woff2"),url(/assets/inter-greek-400-normal-q2sYcFCs.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-vietnamese-400-normal-DMkecbls.woff2)format("woff2"),url(/assets/inter-vietnamese-400-normal-Bbgyi5SW.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-ext-400-normal-C1nco2VV.woff2)format("woff2"),url(/assets/inter-latin-ext-400-normal-77YHD8bZ.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-C38fXH4l.woff2)format("woff2"),url(/assets/inter-latin-400-normal-CyCys3Eg.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-cyrillic-ext-500-normal-B0yAr1jD.woff2)format("woff2"),url(/assets/inter-cyrillic-ext-500-normal-BmqWE9Dz.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-cyrillic-500-normal-BasfLYem.woff2)format("woff2"),url(/assets/inter-cyrillic-500-normal-CxZf_p3X.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-greek-ext-500-normal-C4iEst2y.woff2)format("woff2"),url(/assets/inter-greek-ext-500-normal-2j5mBUwD.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-greek-500-normal-BIZE56-Y.woff2)format("woff2"),url(/assets/inter-greek-500-normal-Xzm54t5V.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-vietnamese-500-normal-DOriooB6.woff2)format("woff2"),url(/assets/inter-vietnamese-500-normal-mJboJaSs.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-ext-500-normal-CV4jyFjo.woff2)format("woff2"),url(/assets/inter-latin-ext-500-normal-BxGbmqWO.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-500-normal-Cerq10X2.woff2)format("woff2"),url(/assets/inter-latin-500-normal-BL9OpVg8.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-cyrillic-ext-600-normal-Dfes3d0z.woff2)format("woff2"),url(/assets/inter-cyrillic-ext-600-normal-Bcila6Z-.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-cyrillic-600-normal-CWCymEST.woff2)format("woff2"),url(/assets/inter-cyrillic-600-normal-4D_pXhcN.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-greek-ext-600-normal-DRtmH8MT.woff2)format("woff2"),url(/assets/inter-greek-ext-600-normal-B8X0CLgF.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-greek-600-normal-plRanbMR.woff2)format("woff2"),url(/assets/inter-greek-600-normal-BZpKdvQh.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-vietnamese-600-normal-Cc8MFFhd.woff2)format("woff2"),url(/assets/inter-vietnamese-600-normal-BuLX-rYi.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-ext-600-normal-D2bJ5OIk.woff2)format("woff2"),url(/assets/inter-latin-ext-600-normal-CIVaiw4L.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-600-normal-LgqL8muc.woff2)format("woff2"),url(/assets/inter-latin-600-normal-CiBQ2DWP.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#050607;--panel:#0e0f12e6;--panel-edge:#c9a46a2e;--text:#d9d4c8;--muted:#8a8780;--accent:#c9a46a;--danger:#c8503a;--highlight:#ffd27a;--ok:#6fbf7b;--food:#b9a25a;--medicine:#c8645a;--weapons:#8a9bb0;--materials:#a08466;--uncommon:#6fbf7b;--rare:#6f9cf0;--epic:#c08cf0;--radius:6px;--ui-scale:1.25;--serif:"Cormorant Garamond", Georgia, serif;--sans:"Inter", system-ui, sans-serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--text);font:14px/1.4 var(--sans);-webkit-user-select:none;user-select:none;touch-action:none;margin:0;overflow:hidden}#game{width:100%;height:100%;display:block;position:fixed;inset:0}#ui{pointer-events:none;position:fixed;inset:0}:where(#ui>*){pointer-events:auto}.hidden{display:none!important}.scaled{zoom:var(--ui-scale)}button{font:inherit;color:var(--text);border:1px solid var(--panel-edge);border-radius:var(--radius);cursor:pointer;background:#ffffff0a;padding:.55em 1.1em}button:hover:not(:disabled){border-color:var(--accent);background:#c9a46a14}button:disabled{opacity:.4;cursor:default}.screen{padding:max(16px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1.2rem;display:flex;position:fixed;inset:0}.screen.opaque{background:radial-gradient(#15181b 0%,#050607 70%)}.screen.dim{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0506078c}.logo{font:600 clamp(2.6rem, 9vw, 5rem) / 1 var(--serif);letter-spacing:.04em;color:var(--text);margin:0}.tagline{font:500 1.2rem var(--serif);color:var(--muted);margin:0}.menu{flex-direction:column;gap:.5rem;min-width:min(18rem,100%);display:flex}.menu button{text-align:left}.menu .detail{color:var(--muted);font-size:.8em;display:block}.loading-bar{background:#ffffff14;border-radius:2px;width:min(22rem,80vw);height:3px;overflow:hidden}.loading-bar>div{background:var(--accent);width:0;height:100%;transition:width .2s}.loading-label{color:var(--muted);min-height:1.4em;font-size:.9rem}.keys{color:var(--muted);text-align:left;grid-template-columns:auto auto;gap:.15rem 1rem;font-size:.8rem;display:grid}.keys kbd{font:600 .75rem var(--sans);color:var(--text)}.hud-box{background:var(--panel);border:1px solid var(--panel-edge);border-radius:var(--radius);pointer-events:none;padding:.5rem .75rem;position:fixed}.hud-clock{top:max(12px, env(safe-area-inset-top));left:max(12px, env(safe-area-inset-left));transform-origin:0 0}.hud-clock .time{font:600 1.25rem/1.1 var(--serif)}.hud-clock .phase{letter-spacing:.04em;text-transform:uppercase;font-size:.8rem;font-weight:600}.phase-dawn{color:#d9a26a}.phase-day{color:var(--text)}.phase-dusk{color:#e07a4a}.phase-night{color:#7f95c8}.hud-clock .countdown{color:var(--muted);font-size:.8rem}.hud-clock .countdown.urgent{color:var(--danger)}.hud-fps{bottom:max(12px, env(safe-area-inset-bottom));right:max(12px, env(safe-area-inset-right));color:var(--muted);font-size:.75rem}.toasts{pointer-events:none;flex-direction:column;align-items:center;gap:.4rem;display:flex;position:fixed;top:18%;left:50%;transform:translate(-50%)}.toast{background:var(--panel);border:1px solid var(--panel-edge);border-radius:var(--radius);padding:.4rem .9rem;transition:opacity .4s}.toast.important{border-color:var(--accent);font-weight:600}.banner{font:600 2.4rem var(--serif);color:var(--text);text-shadow:0 2px 12px #000;pointer-events:none;transition:opacity .6s;position:fixed;top:32%;left:50%;transform:translate(-50%)}.prompt{background:var(--panel);border:1px solid var(--panel-edge);border-radius:var(--radius);white-space:nowrap;pointer-events:none;padding:.2rem .6rem;font-size:.85rem;position:fixed;transform:translate(-50%,-100%)}.prompt kbd{font:600 .8rem var(--sans);color:var(--highlight);margin-right:.5em}.camp-column{flex-direction:column;gap:.5rem;font-size:.85rem;display:flex}.camp-chips{grid-template-columns:1fr 1fr;gap:.25rem .75rem;display:grid}.camp-chips .chip-food{color:var(--food)}.camp-chips .chip-medicine{color:var(--medicine)}.camp-chips .chip-weapons{color:var(--weapons)}.camp-chips .chip-materials{color:var(--materials)}.camp-food{color:var(--muted);margin:0}.camp-food.short{color:var(--danger)}.camp-survivors{flex-direction:column;gap:.3rem;margin:0;padding:0;list-style:none;display:flex}.camp-survivors li{grid-template-columns:4.5rem 1fr auto;align-items:center;gap:.5rem;display:grid}.camp-survivors .muted{color:var(--muted);font-size:.75rem}.hp-bar{background:#ffffff14;border-radius:2px;height:4px;overflow:hidden}.hp-fill{background:var(--ok);height:100%;display:block}.inv-layer{z-index:20;justify-content:center;align-items:center;display:flex;position:fixed;inset:0;pointer-events:none!important}.inv{--cell:46px;--inv-zoom:var(--ui-scale);pointer-events:auto;max-height:calc(90vh / var(--inv-zoom));max-width:calc((100vw - 16px) / var(--inv-zoom));overscroll-behavior:contain;touch-action:pan-x pan-y;background:var(--panel);border:1px solid var(--panel-edge);border-radius:var(--radius);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);padding:12px 16px 8px;transition:opacity .12s;overflow:auto;box-shadow:0 10px 40px #00000080}.inv.scaled{zoom:var(--inv-zoom)}.inv.dropping{opacity:.6;border-color:var(--danger)}.inv-cols{align-items:flex-start;gap:20px;display:flex}.inv-col{flex-direction:column;gap:6px;min-width:0;display:flex}.inv-col h2{font:600 1.2rem/1.2 var(--serif);color:var(--text);margin:0}.inv-stats{color:var(--muted);font-size:.78rem}.inv-status-searching{color:var(--highlight)}.inv-slot-label{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin-top:4px;font-size:.72rem}.inv-slot{width:calc(var(--cell) * var(--w));height:calc(var(--cell) * var(--h));outline:1px solid var(--panel-edge);background:#ffffff06;border-radius:3px;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.inv-slot.ok{outline:2px solid var(--ok);background:#6fbf7b24}.inv-slot.bad{outline:2px solid var(--danger);background:#c8503a24}.inv-grid{width:calc(var(--cell) * var(--cols));height:calc(var(--cell) * var(--rows));background-color:#ffffff06;background-image:linear-gradient(90deg,#ffffff12 1px,#0000 1px),linear-gradient(#ffffff12 1px,#0000 1px);background-size:var(--cell) var(--cell);outline:1px solid var(--panel-edge);flex:none;position:relative;overflow:hidden}.inv-tile{width:calc(var(--cell) * var(--w) - 2px);height:calc(var(--cell) * var(--h) - 2px);font-size:calc(var(--cell) * .21);cursor:grab;touch-action:none;background:#1e2024eb;border:1px solid #ffffff1a;border-radius:3px;flex:none;line-height:1.15;position:relative;overflow:hidden}.inv-tile:hover{background:#2c2e34f2}.inv-tile.placed{left:calc(var(--cell) * var(--x) + 1px);top:calc(var(--cell) * var(--y) + 1px);position:absolute}.inv-tile.r-uncommon{border-color:var(--uncommon)}.inv-tile.r-rare{border-color:var(--rare)}.inv-tile.r-epic{border-color:var(--epic)}.inv-tile.dragging{opacity:.3}.inv-tile.unknown{font:600 calc(var(--cell) * .4) var(--serif);color:var(--muted);cursor:default;background:#ffffff0a;justify-content:center;align-items:center;display:flex}.inv-icon{object-fit:cover;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.inv-icon.turned{width:calc(var(--cell) * var(--h) - 2px);height:calc(var(--cell) * var(--w) - 2px);inset:50% auto auto 50%;transform:translate(-50%,-50%)rotate(-90deg)}.inv-name{white-space:nowrap;text-overflow:ellipsis;color:var(--text);text-shadow:0 1px 2px #000;pointer-events:none;position:absolute;bottom:2px;left:3px;right:3px;overflow:hidden}.inv-tile.no-icon .inv-name{white-space:normal;color:var(--text);top:3px}.inv-tag{color:var(--text);text-shadow:0 1px 2px #000;pointer-events:none;font-weight:600;position:absolute;top:2px;right:3px}.inv-preview{left:calc(var(--cell) * var(--x));top:calc(var(--cell) * var(--y));width:calc(var(--cell) * var(--w));height:calc(var(--cell) * var(--h));pointer-events:none;border:2px solid;border-radius:3px;position:absolute}.inv-preview.ok{border-color:var(--ok);background:#6fbf7b2e}.inv-preview.bad{border-color:var(--danger);background:#c8503a2e}.inv-ghost{z-index:30;opacity:.9;cursor:grabbing;position:fixed;top:0;left:0;box-shadow:0 6px 18px #0000008c;pointer-events:none!important}.inv-actions{gap:8px;display:flex}.inv-zone{border:2px dashed var(--panel-edge);border-radius:var(--radius);min-height:6rem;color:var(--muted);text-align:center;font:600 1.05rem var(--serif);justify-content:center;align-items:center;padding:1rem;transition:border-color .1s,background .1s;display:flex}.inv.is-dragging .inv-zone{border-color:var(--accent);color:var(--text)}.inv-zone.hover{color:var(--highlight);background:#c9a46a29;border-style:solid}.inv-camp,.inv-trader{width:17rem}.inv-sell{min-height:4.5rem}.inv-offers{flex-direction:column;gap:4px;display:flex}.inv-offer{text-align:left;grid-template-columns:2.4rem 1fr auto;align-items:center;gap:8px;padding:4px 8px 4px 4px;display:grid}.inv-offer-icon{width:2.4rem;height:2.4rem;position:relative}.inv-offer-icon .inv-icon{object-fit:contain}.inv-offer-text{flex-direction:column;min-width:0;display:flex}.inv-offer-name{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.inv-offer-detail{color:var(--muted);font-size:.75rem}.inv-offer-price{color:var(--accent);white-space:nowrap;font-weight:600}.inv-hint{color:var(--muted);text-align:center;margin-top:10px;font-size:.72rem}@media (width<=760px){.inv{--cell:36px;--inv-zoom:1;padding:10px}.inv-cols{flex-direction:column;gap:14px}.inv-camp,.inv-trader{align-self:stretch;width:auto}}.map-mini{top:max(12px, env(safe-area-inset-top));right:max(12px, env(safe-area-inset-right));pointer-events:none;flex-direction:column;align-items:stretch;gap:4px;display:flex;position:fixed}.map-mini-canvas{background:var(--panel);border:1px solid var(--panel-edge);border-radius:var(--radius);width:180px;height:180px;display:block;box-shadow:0 2px 10px #00000073}.map-caption{background:var(--panel);border:1px solid var(--panel-edge);border-radius:var(--radius);color:var(--text);white-space:nowrap;align-self:center;padding:.1rem .6rem;font-size:.8rem}.map-caption:empty{display:none}.map-full{z-index:20;pointer-events:auto;background:#050607eb;position:fixed;inset:0}.map-full-canvas{cursor:grab;touch-action:none;width:100%;height:100%;display:block}.map-full-canvas:active{cursor:grabbing}.map-north{top:max(16px, env(safe-area-inset-top));right:max(16px, env(safe-area-inset-right));background:var(--panel);border:1px solid var(--panel-edge);border-radius:var(--radius);font:600 1.1rem var(--serif);color:var(--accent);pointer-events:none;padding:.25rem .6rem;position:absolute}.map-hint{bottom:max(16px, env(safe-area-inset-bottom));background:var(--panel);border:1px solid var(--panel-edge);border-radius:var(--radius);color:var(--muted);white-space:nowrap;pointer-events:none;padding:.3rem .9rem;font-size:.85rem;position:absolute;left:50%;transform:translate(-50%)}.menus{z-index:10;position:relative}.menus .screen{justify-content:safe center;overflow-y:auto}.menu-body{max-width:calc(100vw / var(--ui-scale) - 32px);flex-direction:column;align-items:center;gap:1.1rem;display:flex}.title-screen{background:radial-gradient(#05060726 0%,#0506078c 55%,#050607eb 100%)}.title-screen .logo,.title-screen .tagline{text-shadow:0 2px 16px #000000e6}.menu-title{font:600 2rem/1.1 var(--serif);margin:0}.menu button{background:#0e0f12bf}.menus .keys{border:1px solid var(--panel-edge);border-radius:var(--radius);background:#0e0f1299;padding:.6rem .9rem}.credits{color:var(--muted);margin:0;font-size:.7rem}.settings{background:var(--panel);border:1px solid var(--panel-edge);border-radius:var(--radius);text-align:left;flex-direction:column;gap:.9rem;width:min(20rem,100%);padding:.9rem 1rem;display:flex}.setting{cursor:pointer;flex-direction:column;gap:.35rem;display:flex}.setting.check{flex-direction:row;justify-content:space-between;align-items:center}.setting .value{color:var(--accent);font-weight:600}.setting input[type=range]{width:100%;accent-color:var(--accent)}.setting input[type=checkbox]{width:1.1rem;height:1.1rem;accent-color:var(--accent)}.setting select{font:inherit;color:var(--text);border:1px solid var(--panel-edge);border-radius:var(--radius);background:#ffffff0a;padding:.35rem .5rem}.setting select option{background:#0e0f12}.blackout{cursor:pointer;background:#000}.blackout-title{font:600 clamp(2.4rem, 8vw, 4.2rem) / 1 var(--serif);color:var(--danger);margin:0}.blackout-text{font:italic 500 1.25rem var(--serif);color:var(--text);margin:0}.blackout-hint{color:var(--muted);margin:1rem 0 0;font-size:.85rem}.bar{background:#ffffff14;border-radius:2px;height:4px;position:relative;overflow:hidden}.bar>.fill{transform-origin:0;background:var(--accent);transition:background-color .3s;position:absolute;inset:0;transform:scaleX(0)}.hud-vitals{bottom:max(12px, env(safe-area-inset-bottom));left:max(12px, env(safe-area-inset-left));flex-direction:column;gap:.3rem;width:13rem;display:flex}.hud-vitals .bar.health{border-radius:3px;height:1.1rem}.hud-vitals .bar.health>.fill{background:#8f3f33}.hud-vitals .bar.health.low>.fill{background:var(--danger);animation:1.1s ease-in-out infinite alternate low-pulse}@keyframes low-pulse{0%{opacity:1}to{opacity:.6}}.hud-vitals .hp{font:600 .85rem/1.1rem var(--serif);color:var(--text);text-shadow:0 1px 2px #000;position:absolute;inset:0 .4rem}.hud-vitals .bar.stamina{height:3px}.hud-vitals .bar.stamina.locked>.fill{background:var(--muted)}.hud-vitals .row{align-items:center;gap:.5rem;display:flex}.hud-vitals .bar.weight{flex:1;height:3px;overflow:visible}.hud-vitals .bar.weight>.fill{background:var(--muted)}.hud-vitals .bar.weight.heavy>.fill{background:var(--highlight)}.hud-vitals .bar.weight.over>.fill{background:var(--danger)}.hud-vitals .bar.weight .tick{background:var(--text);opacity:.5;width:1px;position:absolute;top:-2px;bottom:-2px}.hud-vitals .kg,.hud-vitals .scrip{color:var(--muted);white-space:nowrap;font-size:.8rem}.hud-vitals .scrip{color:var(--accent)}.hud-hotbar{bottom:max(12px, env(safe-area-inset-bottom));pointer-events:none;gap:.4rem;display:flex;position:fixed;left:50%;transform:translate(-50%)}.hud-hotbar .slot{background:var(--panel);border:1px solid var(--panel-edge);border-radius:var(--radius);grid-template-rows:auto auto;grid-template-columns:auto 1fr;align-items:center;column-gap:.5rem;width:9rem;min-height:3.2rem;padding:.35rem .6rem .45rem 1.3rem;display:grid;position:relative;overflow:hidden}.hud-hotbar .slot.held{border-color:var(--accent);box-shadow:0 0 0 1px #c9a46a59}.hud-hotbar .slot.vacant{opacity:.45}.hud-hotbar .key{font:600 .7rem var(--sans);color:var(--muted);position:absolute;top:.25rem;left:.4rem}.hud-hotbar .slot.held .key{color:var(--highlight)}.hud-hotbar .icon{object-fit:contain;grid-row:1/span 2;width:2.2rem;height:2.2rem}.hud-hotbar .name{white-space:nowrap;text-overflow:ellipsis;font-size:.8rem;font-weight:500;overflow:hidden}.hud-hotbar .slot.vacant .name{color:var(--muted)}.hud-hotbar .ammo{font:600 .85rem var(--serif);color:var(--text)}.hud-hotbar .ammo.empty{color:var(--danger)}.hud-hotbar .bar.reload{border-radius:0;height:2px;position:absolute;bottom:0;left:0;right:0}.hud-hotbar .bar.reload>.fill{background:var(--highlight)}.hud-camp{top:calc(max(12px, env(safe-area-inset-top)) + 5.25rem);left:max(12px, env(safe-area-inset-left));flex-direction:column;gap:.3rem;font-size:.8rem;display:flex}.hud-camp .people{font:600 1rem/1.1 var(--serif)}.hud-camp .chips{grid-template-columns:auto auto;gap:.2rem .6rem;display:grid}.hud-camp .chip{white-space:nowrap;border-left:2px solid;padding-left:.5rem}.hud-camp .res-food{color:var(--food)}.hud-camp .res-medicine{color:var(--medicine)}.hud-camp .res-weapons{color:var(--weapons)}.hud-camp .res-materials{color:var(--materials)}.hud-camp .res-food.short,.hud-camp .raiders{color:var(--danger);font-weight:600}.hud-camp .raiders.quiet{color:var(--muted);font-style:italic;font-weight:400}.hud-camp .distance{color:var(--muted)}.hud-speed{bottom:calc(max(12px, env(safe-area-inset-bottom)) + 4.1rem);font:600 1rem var(--serif);white-space:nowrap;padding:.25rem .75rem;left:50%;transform:translate(-50%)}.crosshair{pointer-events:none;z-index:5;width:0;height:0;position:fixed;top:0;left:0}.crosshair svg{filter:drop-shadow(0 0 1.5px #000000e6);position:absolute;top:0;left:0;overflow:visible;transform:translate(-50%,-50%)}.crosshair .ring{fill:none;stroke:#d9d4c8d9;stroke-width:1.5px}.crosshair .spin{fill:none;stroke:var(--highlight);stroke-width:2.5px;stroke-linecap:round;transform:rotate(-90deg)}.crosshair .label{font:600 .8rem var(--sans);color:var(--text);text-shadow:0 0 3px #000,0 1px 2px #000;white-space:nowrap;position:absolute;left:0;transform:translate(-50%)}.crosshair .label.empty{color:var(--danger)}.panel{bottom:calc(max(12px, env(safe-area-inset-bottom)) + 4.1rem);max-width:calc(100vw / var(--ui-scale) - 24px);background:var(--panel);border:1px solid var(--panel-edge);border-radius:var(--radius);z-index:3;padding:.6rem .8rem;position:fixed;left:50%;transform:translate(-50%)}.panel kbd{font:600 .75rem var(--sans);color:var(--highlight)}.talk{width:30rem}.talk .name{font:600 1.25rem/1.1 var(--serif)}.talk .status{color:var(--muted);margin-bottom:.5rem;font-size:.8rem}.talk .orders{grid-template-columns:repeat(auto-fit,minmax(6.5rem,1fr));gap:.4rem;display:grid}.talk .order{text-align:left;align-items:center;gap:.45rem;padding:.5rem .6rem;display:flex}.talk .order.active{border-color:var(--accent);background:#c9a46a24}.build{width:46rem}.build .palette{grid-template-columns:repeat(auto-fit,minmax(5.8rem,1fr));gap:.35rem;display:grid}.build .item{text-align:left;grid-template-columns:auto 1fr;column-gap:.4rem;padding:.4rem .5rem;display:grid}.build .item .name{white-space:nowrap;text-overflow:ellipsis;font-size:.85rem;font-weight:500;overflow:hidden}.build .item .detail{color:var(--muted);grid-column:1/span 2;font-size:.7rem}.build .item.selected{border-color:var(--highlight);background:#ffd27a1a}.build .item.unaffordable{opacity:.45}.build .foot{align-items:center;gap:.8rem;margin-top:.5rem;display:flex}.build .status{color:var(--ok);font-weight:600}.build .status.bad{color:var(--danger)}.build .hint{color:var(--muted);text-align:right;flex:1;font-size:.75rem}.build .close{margin-left:auto;padding:.1rem .6rem;font-size:1.1rem;line-height:1.2}
