.ex-overlay[data-v-1404052f]{position:fixed;inset:0;background:#0009;display:flex;justify-content:center;align-items:center;padding:16px;z-index:200}.ex-popup[data-v-1404052f]{position:relative;width:100%;max-width:340px;padding:16px 18px;background:var(--bg-1);border:1px solid var(--line);border-radius:var(--floor-radius);box-shadow:var(--shadow);display:flex;flex-direction:column;gap:12px}.ex-close[data-v-1404052f]{position:absolute;top:8px;right:8px;width:28px;height:28px;border-radius:14px;background:var(--bg-2);border:1px solid var(--line);color:var(--text);font-size:16px;display:flex;align-items:center;justify-content:center;cursor:pointer}.ex-title[data-v-1404052f]{margin:0;font-size:15px;color:var(--text)}.ex-rate[data-v-1404052f]{margin:-6px 0 0;font-size:11px;text-transform:uppercase;letter-spacing:.8px;color:var(--text-mute)}.ex-row[data-v-1404052f]{display:flex;align-items:flex-end;gap:10px}.ex-label[data-v-1404052f]{flex:1;display:flex;flex-direction:column;gap:6px;font-size:11px;text-transform:uppercase;letter-spacing:.8px;color:var(--text-dim)}.ex-select[data-v-1404052f],.ex-qty[data-v-1404052f]{height:38px;padding:0 10px;background:var(--bg-2);border:1px solid var(--line-soft);border-radius:8px;color:var(--text);font-size:13px}.ex-qty[data-v-1404052f]{width:76px;flex:0 0 auto}.ex-error[data-v-1404052f]{margin:0;color:#d97a78;font-size:12px}.ex-submit[data-v-1404052f]{flex:1;height:40px;border-radius:8px;border:none;background:var(--accent);color:#1a0d04;font-size:13px;font-weight:600;cursor:pointer}.ex-submit[data-v-1404052f]:disabled{opacity:.4;cursor:default}.ex-foot[data-v-1404052f]{display:flex;align-items:center;justify-content:flex-end;gap:10px}.ex-back[data-v-1404052f]{flex:0 0 auto;width:32px;height:32px;border-radius:6px;background:var(--bg-2);border:1px solid var(--line);color:var(--text-dim);display:flex;align-items:center;justify-content:center;cursor:pointer;-webkit-tap-highlight-color:transparent}.ex-back[data-v-1404052f]:active{background:var(--bg-3);color:var(--accent)}.back-ico[data-v-1404052f]{width:20px;height:20px}.tt-overlay[data-v-a7c4acc8]{position:fixed;inset:0;background:#0009;display:flex;justify-content:center;align-items:center;padding:16px;z-index:200}.tt-popup[data-v-a7c4acc8]{width:100%;max-width:360px;max-height:82vh;padding:16px 18px;background:var(--bg-1);border:1px solid var(--line);border-radius:var(--floor-radius);box-shadow:var(--shadow);display:flex;flex-direction:column;gap:10px}.tt-head[data-v-a7c4acc8]{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.tt-title[data-v-a7c4acc8]{margin:0;font-size:15px;color:var(--text)}.tt-info[data-v-a7c4acc8]{font-size:12px;color:#7ec8d8;font-variant-numeric:tabular-nums}.tt-sub[data-v-a7c4acc8]{margin:-6px 0 0;font-size:10px;text-transform:uppercase;letter-spacing:.8px;color:var(--text-mute)}.tt-list[data-v-a7c4acc8]{list-style:none;margin:0;padding:0;overflow-y:auto;display:flex;flex-direction:column;gap:4px}.tt-row[data-v-a7c4acc8]{display:flex;align-items:stretch;gap:4px;border:1px solid var(--line-soft);border-radius:8px;background:var(--bg-2);overflow:hidden}.tt-row.locked[data-v-a7c4acc8]{background:transparent}.tt-row.maxed[data-v-a7c4acc8]{border-color:#6ec47a59}.tt-main[data-v-a7c4acc8]{flex:1;min-width:0;display:flex;align-items:center;gap:8px;padding:7px 8px;text-align:left;cursor:pointer;color:var(--text)}.tt-main[data-v-a7c4acc8]:disabled{opacity:.45;cursor:default}.tt-num[data-v-a7c4acc8]{flex:0 0 auto;width:16px;font-size:10px;color:var(--text-mute);font-variant-numeric:tabular-nums}.tt-ico[data-v-a7c4acc8]{flex:0 0 auto;font-size:14px}.tt-text[data-v-a7c4acc8]{flex:1;min-width:0;display:flex;flex-direction:column}.tt-name[data-v-a7c4acc8]{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tt-meta[data-v-a7c4acc8]{font-size:10px;color:var(--text-mute);font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tt-cost[data-v-a7c4acc8]{flex:0 0 auto;font-size:12px;color:#7ec8d8;font-variant-numeric:tabular-nums}.tt-go[data-v-a7c4acc8]{flex:0 0 auto;width:30px;display:flex;align-items:center;justify-content:center;border-left:1px solid var(--line-soft);color:var(--text-mute);cursor:pointer}.tt-go svg[data-v-a7c4acc8]{width:16px;height:16px}.tt-go[data-v-a7c4acc8]:active{color:var(--accent)}.tt-study[data-v-a7c4acc8]{width:auto;padding:0 10px;font-size:11px;letter-spacing:.3px;border-left:1px solid var(--line-soft)}.tt-research[data-v-a7c4acc8]{display:grid;grid-template-columns:1fr auto auto;gap:4px 10px;align-items:center;padding:8px 10px;border:1px solid var(--line-soft);border-radius:8px;background:var(--bg-2);font-size:11px}.tt-research-name[data-v-a7c4acc8]{color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tt-research-bar[data-v-a7c4acc8]{grid-column:1 / -1;display:block;height:3px;border-radius:2px;background:#ffffff14;overflow:hidden}.tt-research-fill[data-v-a7c4acc8]{display:block;height:100%;background:var(--accent);transition:width .1s linear}.tt-research-meta[data-v-a7c4acc8]{display:inline-flex;align-items:center;gap:3px;color:var(--text-mute);font-variant-numeric:tabular-nums}.tt-cancel[data-v-a7c4acc8]{border:none;background:transparent;color:var(--text-mute);font-size:11px;cursor:pointer;padding:0;text-decoration:underline}.tt-cancel[data-v-a7c4acc8]:hover{color:var(--accent)}.tt-sub-floors[data-v-a7c4acc8]{margin-top:6px}.tt-foot[data-v-a7c4acc8]{display:flex;justify-content:flex-end}.tt-back[data-v-a7c4acc8]{width:32px;height:32px;border-radius:6px;background:var(--bg-2);border:1px solid var(--line);color:var(--text-dim);display:flex;align-items:center;justify-content:center;cursor:pointer;-webkit-tap-highlight-color:transparent}.tt-back[data-v-a7c4acc8]:active{background:var(--bg-3);color:var(--accent)}.back-ico[data-v-a7c4acc8]{width:20px;height:20px}.rs-overlay[data-v-c1a2bb58]{position:fixed;inset:0;background:#0009;display:flex;justify-content:center;align-items:center;padding:16px;z-index:200}.rs-popup[data-v-c1a2bb58]{width:100%;max-width:360px;max-height:84vh;padding:16px 18px;background:var(--bg-1);border:1px solid var(--line);border-radius:var(--floor-radius);box-shadow:var(--shadow);display:flex;flex-direction:column;gap:10px;overflow-y:auto}.rs-head[data-v-c1a2bb58]{display:flex;align-items:baseline;justify-content:space-between}.rs-title[data-v-c1a2bb58]{margin:0;font-size:18px}.rs-count[data-v-c1a2bb58]{display:inline-flex;align-items:center;gap:4px;font-size:13px;color:var(--text-2)}.rs-count-ico[data-v-c1a2bb58]{opacity:.7}.rs-caption[data-v-c1a2bb58]{margin:4px 0 0;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-2)}.rs-capsules[data-v-c1a2bb58]{display:flex;flex-direction:column;gap:8px}.rs-capsule[data-v-c1a2bb58]{display:grid;grid-template-columns:28px 1fr auto;gap:8px;align-items:center;padding:8px;border:1px solid var(--line-soft);border-radius:8px}.rs-cap-ico[data-v-c1a2bb58]{display:flex;opacity:.85}.rs-cap-text[data-v-c1a2bb58]{display:flex;flex-direction:column;gap:2px;min-width:0}.rs-cap-name[data-v-c1a2bb58]{font-size:13px;font-weight:600}.rs-cap-perk[data-v-c1a2bb58]{font-size:11px;color:var(--text-2)}.rs-wants-inline[data-v-c1a2bb58]{display:inline-flex;gap:4px;flex-wrap:wrap}.rs-want[data-v-c1a2bb58]{display:inline-flex;align-items:center;gap:2px}.rs-defrost[data-v-c1a2bb58],.rs-reroll[data-v-c1a2bb58]{display:inline-flex;align-items:center;gap:4px;padding:6px 10px;border:1px solid var(--line);border-radius:6px;background:var(--bg-2);color:var(--text);font-size:12px;cursor:pointer}.rs-defrost[data-v-c1a2bb58]:disabled,.rs-reroll[data-v-c1a2bb58]:disabled{opacity:.45;cursor:not-allowed}.rs-reroll-have[data-v-c1a2bb58]{color:var(--text-2);font-size:11px}.rs-list[data-v-c1a2bb58]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.rs-dweller[data-v-c1a2bb58]{display:flex;flex-direction:column;gap:5px;padding:10px;border:1px solid var(--line-soft);border-radius:8px}.rs-d-head[data-v-c1a2bb58]{display:flex;align-items:center;gap:6px}.rs-d-name[data-v-c1a2bb58]{font-weight:600;flex:1;min-width:0}.rs-d-st[data-v-c1a2bb58]{font-size:10px;text-transform:uppercase;color:var(--text-2);letter-spacing:.03em}.rs-d-wants[data-v-c1a2bb58],.rs-d-job[data-v-c1a2bb58]{font-size:11px;color:var(--text-2)}.rs-skills[data-v-c1a2bb58]{display:flex;flex-wrap:wrap;gap:4px 8px;font-size:10px;color:var(--text-2)}.rs-sk[data-v-c1a2bb58]{white-space:nowrap}.rs-prios[data-v-c1a2bb58]{display:grid;grid-template-columns:1fr 1fr;gap:3px 8px}.rs-prio[data-v-c1a2bb58]{display:grid;grid-template-columns:1fr 22px 16px 22px;align-items:center;gap:2px;font-size:10px}.rs-prio-l[data-v-c1a2bb58]{color:var(--text-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rs-prio-v[data-v-c1a2bb58]{text-align:center;font-variant-numeric:tabular-nums}.rs-prio-btn[data-v-c1a2bb58]{width:22px;height:20px;padding:0;border:1px solid var(--line-soft);border-radius:4px;background:var(--bg-2);color:var(--text);cursor:pointer;line-height:1}.rs-d-health[data-v-c1a2bb58]{display:flex;align-items:center;gap:6px}.rs-d-health-bar[data-v-c1a2bb58]{flex:1;height:4px;background:var(--line-soft);border-radius:2px;overflow:hidden}.rs-d-health-fill[data-v-c1a2bb58]{display:block;height:100%;background:#6ec47a}.rs-d-health.mid .rs-d-health-fill[data-v-c1a2bb58]{background:#c4a76e}.rs-d-health.low .rs-d-health-fill[data-v-c1a2bb58]{background:#c46e6e}.rs-d-health-val[data-v-c1a2bb58]{font-size:11px;font-variant-numeric:tabular-nums;min-width:2.5em;text-align:right}.rs-d-row[data-v-c1a2bb58]{display:flex;gap:6px}.rs-d-select[data-v-c1a2bb58]{flex:1;min-width:0;padding:6px 8px;border:1px solid var(--line);border-radius:6px;background:var(--bg-2);color:var(--text);font-size:12px}.rs-d-away[data-v-c1a2bb58]{font-size:12px;color:var(--text-2)}.rs-foot[data-v-c1a2bb58]{display:flex;justify-content:flex-end;padding-top:4px}.rs-back[data-v-c1a2bb58]{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--line);border-radius:6px;background:var(--bg-2);color:var(--text-dim);cursor:pointer}.rs-back[data-v-c1a2bb58]:active{background:var(--bg-3);color:var(--accent)}.floor-rail[data-v-04718b6c]{position:fixed;right:8px;bottom:calc(8px + env(safe-area-inset-bottom,0));display:flex;flex-direction:column;align-items:stretch;padding:2px;gap:2px;background:color-mix(in srgb,var(--bg-1) 88%,transparent);border:none;border-radius:22px;box-shadow:none;touch-action:pan-y;z-index:90}.rail-edge[data-v-04718b6c]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;height:22px}.rail-chev[data-v-04718b6c]{width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;border-radius:11px;border:none;background:transparent;color:var(--text-mute);cursor:pointer;padding:0;-webkit-tap-highlight-color:transparent}.rail-chev[data-v-04718b6c]:active{color:var(--accent)}.rail-chev svg[data-v-04718b6c]{display:block}.rail-chev>svg[data-v-04718b6c],.rail-chev-ico[data-v-04718b6c]{width:14px;height:14px}.rail-count[data-v-04718b6c]{font-size:9px;letter-spacing:.3px;color:var(--text-mute);font-variant-numeric:tabular-nums;line-height:1}.rail-list[data-v-04718b6c]{display:flex;flex-direction:column;gap:2px;overflow-y:auto;scroll-snap-type:y proximity;min-height:74px;max-height:112px;scrollbar-width:none}.rail-list[data-v-04718b6c]::-webkit-scrollbar{display:none}.rail-item[data-v-04718b6c]{width:36px;height:36px;flex:0 0 36px;scroll-snap-align:start;display:flex;flex-direction:row;align-items:center;justify-content:center;gap:3px;padding:0;border:none;border-radius:18px;background:transparent;color:var(--text-dim);cursor:pointer;-webkit-tap-highlight-color:transparent}.rail-item[data-v-04718b6c]:hover{background:var(--bg-2)}.rail-item.locked[data-v-04718b6c]{color:var(--text-mute)}.rail-item.active[data-v-04718b6c]{background:var(--bg-2);color:var(--accent)}.rail-num[data-v-04718b6c]{font-size:14px;font-weight:600;line-height:14px;font-variant-numeric:tabular-nums}.rail-ico[data-v-04718b6c]{font-size:14px;line-height:14px}.sheet-overlay[data-v-ef577d28]{position:fixed;inset:0;background:#0000008c;z-index:100;display:flex;align-items:flex-end;justify-content:center}.sheet[data-v-ef577d28]{width:100%;max-width:480px;background:var(--bg-1);border-top:1px solid var(--line);border-radius:14px 14px 0 0;padding:16px 16px calc(16px + env(safe-area-inset-bottom,0));box-shadow:0 -12px 30px #0006;display:flex;flex-direction:column;gap:14px}.sheet-head[data-v-ef577d28]{display:flex;flex-direction:column;gap:4px}.sheet-eyebrow[data-v-ef577d28]{font-size:11px;color:var(--text-mute);text-transform:uppercase;letter-spacing:.6px}.sheet-title[data-v-ef577d28]{margin:0;font-size:18px;letter-spacing:.3px}.sheet-body[data-v-ef577d28]{display:flex;flex-direction:column;gap:10px}.sheet-empty[data-v-ef577d28]{margin:0;padding:14px;background:var(--bg-2);border:1px solid var(--line-soft);border-radius:8px;text-align:center;color:var(--text-dim);font-size:13px}.dweller-list[data-v-ef577d28]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.dweller-row[data-v-ef577d28]{width:100%;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:10px 12px;background:var(--bg-2);border:1px solid var(--line-soft);border-radius:8px;text-align:left;transition:border-color .12s ease}.dweller-row[data-v-ef577d28]:active{border-color:var(--accent)}.dweller-row .name[data-v-ef577d28]{color:var(--text);font-size:14px}.dweller-row .status[data-v-ef577d28]{color:var(--text-dim);font-size:11px;text-transform:uppercase;letter-spacing:.5px}.dweller-card[data-v-ef577d28]{display:flex;align-items:center;gap:14px;padding:12px;background:var(--bg-2);border:1px solid var(--line-soft);border-radius:8px}.dweller-card .name[data-v-ef577d28]{color:var(--text);font-size:16px}.dweller-card .status[data-v-ef577d28]{color:var(--text-dim);font-size:12px}.avatar[data-v-ef577d28]{width:36px;height:36px;background:var(--bg-3);border:1px solid var(--line);border-radius:8px;display:inline-flex;align-items:center;justify-content:center;font-weight:600;color:var(--text)}.avatar-lg[data-v-ef577d28]{width:48px;height:48px;font-size:16px;border-radius:10px}.sheet-btn[data-v-ef577d28]{width:100%;padding:12px;border-radius:8px;background:var(--bg-2);border:1px solid var(--line);color:var(--text);font-size:14px;letter-spacing:.3px}.sheet-btn[data-v-ef577d28]:active{background:var(--bg-3)}.sheet-btn-danger[data-v-ef577d28]{border-color:#b0413e66;color:#d97a78}.sheet-foot[data-v-ef577d28]{display:flex;justify-content:flex-end;margin-top:4px}.sheet-close[data-v-ef577d28]{width:32px;height:32px;padding:0;background:var(--bg-2);border:1px solid var(--line);border-radius:6px;color:var(--text-dim);display:flex;align-items:center;justify-content:center;cursor:pointer}.sheet-close[data-v-ef577d28]:active{background:var(--bg-3);color:var(--accent)}.sheet-enter-active[data-v-ef577d28],.sheet-leave-active[data-v-ef577d28]{transition:opacity .22s ease}.sheet-enter-active .sheet[data-v-ef577d28],.sheet-leave-active .sheet[data-v-ef577d28]{transition:transform .26s cubic-bezier(.22,.61,.36,1)}.sheet-enter-from[data-v-ef577d28],.sheet-leave-to[data-v-ef577d28]{opacity:0}.sheet-enter-from .sheet[data-v-ef577d28],.sheet-leave-to .sheet[data-v-ef577d28]{transform:translateY(100%)}.sheet-overlay[data-v-169ccc68]{position:fixed;inset:0;background:#0000008c;z-index:100;display:flex;align-items:flex-end;justify-content:center}.sheet[data-v-169ccc68]{width:100%;max-width:480px;background:var(--bg-1);border-top:1px solid var(--line);border-radius:14px 14px 0 0;padding:16px 16px calc(16px + env(safe-area-inset-bottom,0));box-shadow:0 -12px 30px #0006;display:flex;flex-direction:column;gap:14px}.sheet-head[data-v-169ccc68]{display:flex;flex-direction:column;gap:4px}.sheet-eyebrow[data-v-169ccc68]{font-size:11px;color:var(--text-mute);text-transform:uppercase;letter-spacing:.6px}.sheet-title[data-v-169ccc68]{margin:0;font-size:18px;letter-spacing:.3px;display:flex;align-items:center;gap:6px}.muted[data-v-169ccc68]{color:var(--text-mute);font-weight:400;font-size:13px}.sheet-body[data-v-169ccc68]{display:flex;flex-direction:column;gap:10px}.sheet-empty[data-v-169ccc68]{margin:0;padding:14px;background:var(--bg-2);border:1px solid var(--line-soft);border-radius:8px;text-align:center;color:var(--text-dim);font-size:13px}.build-list[data-v-169ccc68]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.build-row[data-v-169ccc68]{width:100%;display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px;padding:12px 14px;background:var(--bg-2);border:1px solid var(--line-soft);border-radius:8px;text-align:left;color:var(--text);transition:border-color .12s ease}.build-row[data-v-169ccc68]:not(:disabled):active{border-color:var(--accent)}.build-row[data-v-169ccc68]:disabled{opacity:.45;cursor:not-allowed}.build-name[data-v-169ccc68]{display:flex;flex-direction:column;gap:2px}.build-name strong[data-v-169ccc68]{font-size:14px}.build-cost[data-v-169ccc68]{display:inline-flex;align-items:center;gap:4px;color:var(--text-dim);font-variant-numeric:tabular-nums}.cost-dot[data-v-169ccc68]{color:#c8a858}.sheet-foot[data-v-169ccc68]{display:flex;justify-content:flex-end;margin-top:4px}.sheet-close[data-v-169ccc68]{width:32px;height:32px;padding:0;background:var(--bg-2);border:1px solid var(--line);border-radius:6px;color:var(--text-dim);display:flex;align-items:center;justify-content:center;cursor:pointer}.sheet-close[data-v-169ccc68]:active{background:var(--bg-3);color:var(--accent)}.sheet-enter-active[data-v-169ccc68],.sheet-leave-active[data-v-169ccc68]{transition:opacity .22s ease}.sheet-enter-active .sheet[data-v-169ccc68],.sheet-leave-active .sheet[data-v-169ccc68]{transition:transform .26s cubic-bezier(.22,.61,.36,1)}.sheet-enter-from[data-v-169ccc68],.sheet-leave-to[data-v-169ccc68]{opacity:0}.sheet-enter-from .sheet[data-v-169ccc68],.sheet-leave-to .sheet[data-v-169ccc68]{transform:translateY(100%)}.uc[data-v-fda35797]{position:fixed;left:8px;bottom:60px;z-index:40;width:max-content;max-width:calc(100vw - 16px);max-height:24vh;padding:3px 5px;background:color-mix(in srgb,var(--bg-1) 82%,transparent);border:none;border-radius:6px;font-size:10px;line-height:1.2;overflow:hidden;display:flex;flex-direction:column;gap:2px;transition:opacity .2s ease;cursor:default}.uc.is-muted[data-v-fda35797]{opacity:.38}.uc-list[data-v-fda35797]{list-style:none;margin:0;padding:0;overflow-y:auto;display:flex;flex-direction:column;gap:1px}.uc-row[data-v-fda35797]{display:flex;align-items:center;gap:3px;min-height:16px}.uc-floor[data-v-fda35797]{flex:0 0 auto;display:inline-flex;align-items:center;gap:2px;color:var(--text);font-variant-numeric:tabular-nums}.uc-floor-n[data-v-fda35797]{font-size:10px;font-weight:600;min-width:.7em;text-align:right}.uc-name[data-v-fda35797]{flex:0 0 auto;font-weight:500;color:var(--text);white-space:nowrap}.uc-act[data-v-fda35797]{position:relative;flex:0 0 16px;width:16px;height:16px;display:flex;align-items:center;justify-content:center;color:var(--text-mute);border-radius:50%}.uc-act[data-st=working][data-v-fda35797]{color:#6ec47a}.uc-act[data-st=walking][data-v-fda35797],.uc-act[data-ring=hide][data-v-fda35797]{color:#6ec47a;box-shadow:inset 0 0 0 1.5px #6ec47a}.uc-act[data-st=idle][data-v-fda35797]{color:var(--text-mute)}.uc-act[data-ring=wait][data-v-fda35797],.uc-act[data-ring=drain][data-v-fda35797]{box-shadow:none}.uc-ring[data-v-fda35797]{position:absolute;inset:0;width:16px;height:16px;overflow:visible}.uc-ring-track[data-v-fda35797]{fill:none;stroke:color-mix(in srgb,currentColor 22%,transparent);stroke-width:1.4}.uc-ring-arc[data-v-fda35797]{fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round}.uc-act-ico[data-v-fda35797]{position:relative;z-index:1;display:block}.uc-where[data-v-fda35797]{flex:0 0 auto;color:var(--text);white-space:nowrap;font-size:9px;opacity:.85}.uc-empty[data-v-fda35797]{margin:0;color:var(--text-mute);font-size:10px}@media(max-width:420px){.uc[data-v-fda35797]{bottom:54px;max-height:20vh}}.auth-error[data-v-e2e18eea]{color:#d97a78;margin:8px 0 0;font-size:12px;text-align:center}.bsheet-overlay[data-v-ec12c3c8]{position:fixed;inset:0;background:#0009;display:flex;justify-content:center;align-items:flex-end;padding:12px;padding-bottom:calc(12px + env(safe-area-inset-bottom,0));z-index:200}.bsheet[data-v-ec12c3c8]{display:flex;flex-direction:column;width:100%;max-width:360px;max-height:min(84vh,640px);background:var(--bg-1);border:1px solid var(--line);border-radius:var(--floor-radius);box-shadow:var(--shadow);overflow:hidden}.bsheet.has-catalog .bsheet-body[data-v-ec12c3c8]{flex:0 1 auto;max-height:42vh}.bsheet-head[data-v-ec12c3c8]{display:flex;align-items:baseline;justify-content:flex-start;gap:10px;padding:14px 16px 10px}.bsheet-titles[data-v-ec12c3c8]{display:flex;flex-direction:column;gap:2px;min-width:0}.bsheet-title[data-v-ec12c3c8]{margin:0;font-size:18px;font-weight:600;color:var(--text)}.bsheet-sub[data-v-ec12c3c8]{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-dim)}.bsheet-close[data-v-ec12c3c8]{width:32px;height:32px;border-radius:6px;border:1px solid var(--line);background:var(--bg-2);color:var(--text-dim);display:flex;align-items:center;justify-content:center;cursor:pointer}.bsheet-close[data-v-ec12c3c8]:active{background:var(--bg-3);color:var(--accent)}.bsheet-foot[data-v-ec12c3c8]{flex:0 0 auto;display:flex;justify-content:flex-end;padding:8px 16px 14px}.bsheet-body[data-v-ec12c3c8]{flex:1 1 auto;min-height:0;overflow:auto;padding:4px 16px 12px;display:flex;flex-direction:column;gap:10px}.rooms[data-v-ec12c3c8]{display:grid;gap:8px;margin:0 auto;width:100%}.rooms-grid[data-v-ec12c3c8]{grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(3,minmax(64px,1fr));max-width:280px}.rooms-hub[data-v-ec12c3c8]{grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(3,minmax(56px,1fr));grid-template-areas:".  h1 h2 ." "h6 hc hc h3" ".  h5 h4 .";max-width:300px}.room[data-v-ec12c3c8]{position:relative;min-height:64px;border:1px solid var(--line-soft);border-radius:8px;background:var(--bg-2);overflow:hidden}.room.dirty[data-v-ec12c3c8]{background:color-mix(in srgb,var(--bg-2) 82%,#6a5230)}.room.locked[data-v-ec12c3c8]{background:color-mix(in srgb,var(--bg-2) 88%,#2a2a32);color:var(--text-dim)}.room.locked .room-face[data-v-ec12c3c8]{color:var(--text-dim);opacity:.7}.room.on[data-v-ec12c3c8]{border-color:var(--accent)}.room.target[data-v-ec12c3c8]{outline:1px solid var(--accent);outline-offset:-1px}.room.busy[data-v-ec12c3c8]{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 40%,transparent)}.room-face[data-v-ec12c3c8]{width:100%;height:100%;min-height:64px;padding:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;background:none;border:none;color:var(--text-dim);cursor:pointer}.room-pct[data-v-ec12c3c8]{font-size:13px;font-weight:600;color:var(--text)}.room-mod[data-v-ec12c3c8]{font-size:11px;color:var(--text);text-align:center;line-height:1.15}.room-lvl[data-v-ec12c3c8],.room-empty[data-v-ec12c3c8]{font-size:10px;letter-spacing:.03em;text-transform:uppercase;color:var(--text-dim)}.room-workers[data-v-ec12c3c8]{position:absolute;top:4px;right:6px;font-size:10px;color:var(--accent);pointer-events:none}.room-act[data-v-ec12c3c8]{position:absolute;display:flex;align-items:center;justify-content:center;border-radius:6px;border:1px solid var(--line);background:var(--bg-2);color:var(--text-dim);cursor:pointer}.room-act[data-v-ec12c3c8]:disabled{opacity:.35;cursor:default}.act-clean[data-v-ec12c3c8]{right:4px;bottom:4px;width:28px;height:28px;opacity:.55}.act-clean.lit[data-v-ec12c3c8]{opacity:.95;color:var(--text)}.act-clean.working[data-v-ec12c3c8],.act-clean.accent[data-v-ec12c3c8]{opacity:1;color:var(--accent);border-color:var(--accent)}.act-tl[data-v-ec12c3c8]{top:4px;left:4px;width:26px;height:26px}.act-tl.danger[data-v-ec12c3c8]:active{color:var(--danger);border-color:var(--danger)}.act-br[data-v-ec12c3c8]{right:4px;bottom:4px;width:26px;height:26px}.act-br[data-v-ec12c3c8]:active{color:var(--accent);border-color:var(--accent)}.act-bl[data-v-ec12c3c8]{left:4px;bottom:4px;width:26px;height:26px}.act-bl[data-v-ec12c3c8]:active{color:var(--accent);border-color:var(--accent)}.act-bl.is-off[data-v-ec12c3c8]{color:var(--danger);border-color:var(--danger);animation:power-off-pulse-ec12c3c8 1.35s ease-in-out infinite}.act-bl.is-shed[data-v-ec12c3c8]{color:var(--accent);border-color:var(--accent);animation:power-shed-pulse-ec12c3c8 1.35s ease-in-out infinite}@keyframes power-off-pulse-ec12c3c8{0%,to{opacity:.4;box-shadow:0 0 #b0413e00}50%{opacity:1;box-shadow:0 0 8px 1px #b0413e8c}}@keyframes power-shed-pulse-ec12c3c8{0%,to{opacity:.45;box-shadow:0 0 #d97b2900}50%{opacity:1;box-shadow:0 0 8px 1px #d97b2980}}.build-panel[data-v-ec12c3c8]{margin-top:10px;padding:10px;border:1px solid var(--line-soft);border-radius:8px;background:var(--bg-2);display:flex;flex-direction:column;gap:8px}.build-panel-head[data-v-ec12c3c8]{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;color:var(--text-dim)}.build-pause-btn[data-v-ec12c3c8]{min-height:36px;padding:6px 12px;border-radius:6px;border:1px solid var(--line);background:var(--bg);color:var(--text);font-size:12px;cursor:pointer}.build-pause-btn[data-v-ec12c3c8]:active{border-color:var(--accent);color:var(--accent)}.build-assign[data-v-ec12c3c8]{display:flex;flex-wrap:wrap;gap:6px}.assign-chip[data-v-ec12c3c8]{min-height:34px;padding:4px 10px;border-radius:6px;border:1px solid var(--line);background:var(--bg);color:var(--text-dim);font-size:12px;cursor:pointer}.assign-chip.on[data-v-ec12c3c8]{border-color:var(--accent);color:var(--accent)}.assign-empty[data-v-ec12c3c8]{font-size:11px;color:var(--text-dim)}.room-bar[data-v-ec12c3c8]{position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--line-soft);pointer-events:none}.room-bar i[data-v-ec12c3c8]{display:block;height:100%;background:var(--accent)}.spin[data-v-ec12c3c8]{animation:bsheet-spin-ec12c3c8 .9s linear infinite}@keyframes bsheet-spin-ec12c3c8{to{transform:rotate(360deg)}}.bsheet-detail[data-v-ec12c3c8]{margin:8px 0 0;padding:8px 2px 0;border-top:1px solid var(--line-soft)}.bsheet-detail-title[data-v-ec12c3c8]{margin:0 0 4px;font-size:13px;font-weight:600;color:var(--text)}.bsheet-detail-line[data-v-ec12c3c8]{margin:0;font-size:12px;line-height:1.4;color:var(--text-dim)}.catalog[data-v-ec12c3c8]{flex:0 0 auto;margin-top:auto;padding:10px 12px 12px;border-top:1px solid var(--line-soft);background:var(--bg-1);display:flex;flex-direction:column;gap:8px;position:sticky;bottom:0;z-index:2}.catalog-head[data-v-ec12c3c8]{display:flex;align-items:center;justify-content:space-between;gap:8px}.catalog-title[data-v-ec12c3c8]{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-dim)}.catalog-close[data-v-ec12c3c8]{background:none;border:none;color:var(--text-dim);font-size:12px;cursor:pointer;padding:4px 6px}.catalog-tabs[data-v-ec12c3c8]{display:flex;flex-wrap:nowrap;gap:6px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.catalog-tabs[data-v-ec12c3c8]::-webkit-scrollbar{display:none}.catalog-tab[data-v-ec12c3c8]{flex:0 0 auto;display:inline-flex;align-items:center;gap:4px;padding:8px 10px;min-height:36px;border-radius:6px;border:1px solid var(--line);background:var(--bg-2);color:var(--text);font-size:12px;cursor:pointer;white-space:nowrap}.catalog-tab.on[data-v-ec12c3c8]{border-color:var(--accent);color:var(--accent)}.catalog-detail[data-v-ec12c3c8]{display:flex;flex-direction:column;gap:6px}.catalog-row[data-v-ec12c3c8]{display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:center}.catalog-bonus[data-v-ec12c3c8]{display:flex;flex-direction:column;gap:2px}.catalog-bonus p[data-v-ec12c3c8]{margin:0;font-size:11px;color:var(--text-dim);line-height:1.35}.catalog-name[data-v-ec12c3c8]{font-size:13px;font-weight:600;color:var(--text);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.catalog-cost[data-v-ec12c3c8]{display:inline-flex;align-items:center;gap:3px;font-size:12px;color:var(--text-dim)}.catalog-cost.poor[data-v-ec12c3c8]{color:var(--danger)}.catalog-build[data-v-ec12c3c8]{min-height:40px;min-width:88px;padding:8px 14px;border-radius:6px;border:1px solid var(--line);background:var(--bg-2);color:var(--text);font-size:12px;cursor:pointer}.catalog-build[data-v-ec12c3c8]:not(:disabled){border-color:var(--accent);color:var(--accent)}.catalog-build[data-v-ec12c3c8]:disabled{opacity:.45;cursor:not-allowed}.bsheet-enter-active[data-v-ec12c3c8],.bsheet-leave-active[data-v-ec12c3c8]{transition:opacity .16s ease}.bsheet-enter-active .bsheet[data-v-ec12c3c8],.bsheet-leave-active .bsheet[data-v-ec12c3c8]{transition:transform .2s cubic-bezier(.2,.8,.2,1)}.bsheet-enter-from[data-v-ec12c3c8],.bsheet-leave-to[data-v-ec12c3c8]{opacity:0}.bsheet-enter-from .bsheet[data-v-ec12c3c8],.bsheet-leave-to .bsheet[data-v-ec12c3c8]{transform:translateY(18px)}.catalog-enter-active[data-v-ec12c3c8],.catalog-leave-active[data-v-ec12c3c8]{transition:opacity .14s ease,transform .18s ease}.catalog-enter-from[data-v-ec12c3c8],.catalog-leave-to[data-v-ec12c3c8]{opacity:0;transform:translateY(12px)}.floor-unit-bg[data-v-c198d48e]{fill:#14120ed9;stroke:#ffe6b459;stroke-width:1.4}.floor-unit-tick-track[data-v-c198d48e]{stroke:#6ec47a33;stroke-width:1.5}.floor-unit-tick-arc[data-v-c198d48e]{stroke:#6ec47a;stroke-width:1.5;stroke-linecap:round}.floor-unit.moving .floor-unit-bg[data-v-c198d48e],.floor-unit[data-ring=hide] .floor-unit-bg[data-v-c198d48e]{stroke:#6ec47a;stroke-width:1.8}.floor-unit[data-st=working] .floor-unit-bg[data-v-c198d48e]{stroke:#6ec47a80}.floor-unit[data-st=idle] .floor-unit-bg[data-v-c198d48e]{stroke:#b4aa9673}.floor-unit-txt[data-v-c198d48e]{fill:#fff5dcf2;font-size:8px;font-weight:700;pointer-events:none}.all-resources[data-v-b79ed928]{flex:1;display:flex;justify-content:center;align-items:center;min-height:0;min-width:0;padding:12px;position:relative;overflow:hidden;container-type:size}.floor-chip[data-v-b79ed928]{position:absolute;top:10px;left:10px;display:inline-flex;align-items:center;gap:6px;background:color-mix(in srgb,var(--bg-1) 82%,transparent);border:none;border-radius:14px;padding:4px 10px 4px 6px;color:var(--text);font-size:12px;letter-spacing:.2px;box-shadow:none;z-index:5;cursor:pointer;-webkit-tap-highlight-color:transparent}.floor-chip[data-v-b79ed928]:active{color:var(--accent)}.floor-chip-ico[data-v-b79ed928]{width:18px;height:18px;border-radius:9px;background:transparent;display:inline-flex;align-items:center;justify-content:center;color:var(--accent)}.map-view-seg[data-v-b79ed928]{position:absolute;top:42px;left:10px;display:inline-flex;align-items:stretch;background:color-mix(in srgb,var(--bg-1) 82%,transparent);border:none;border-radius:10px;overflow:hidden;box-shadow:none;z-index:5}.map-view-btn[data-v-b79ed928]{width:28px;height:22px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:none;background:transparent;color:var(--text-mute);cursor:pointer;-webkit-tap-highlight-color:transparent}.map-view-btn+.map-view-btn[data-v-b79ed928]{border-left:1px solid color-mix(in srgb,var(--line-soft) 50%,transparent)}.map-view-btn.on[data-v-b79ed928]{background:#d97b292e;color:var(--accent)}.radar[data-v-b79ed928]{width:min(100cqmin,380px);height:min(100cqmin,380px);max-width:100%;max-height:100%;aspect-ratio:1 / 1;overflow:hidden;touch-action:none;user-select:none;-webkit-user-select:none}@supports not (width: 1cqmin){.radar[data-v-b79ed928]{width:min(100%,70vh,380px);height:min(100%,70vh,380px)}}.zone-center[data-v-b79ed928]{fill:#ffffff0d;stroke:#ffffff4d;stroke-width:1.5}.hub-hex[data-v-b79ed928]{fill:#a08c64;stroke:#ffdc8c73;stroke-width:1.2;cursor:pointer}.hub-hex.core[data-v-b79ed928]{stroke:var(--accent, #e8c56a);stroke-width:2;fill:#aa8246}.hub-hex[data-v-b79ed928]:active{filter:brightness(1.12)}.floor-path[data-v-b79ed928]{fill:none;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.floor-path-bus-main[data-v-b79ed928]{stroke:#dcc396bf;stroke-width:5.5;stroke-linecap:butt;stroke-linejoin:miter}.floor-path-trunk[data-v-b79ed928],.floor-path-ramp[data-v-b79ed928]{stroke:#d2b991c7;stroke-width:4.2;stroke-linecap:butt}.floor-path-spur[data-v-b79ed928]{stroke:#cdb48780;stroke-width:1.7;stroke-linecap:butt}.floor-path-bus[data-v-b79ed928],.floor-path-gate[data-v-b79ed928]{display:none}.floor-bldg[data-v-b79ed928]{fill:#a08c64;stroke:#ffffff47;stroke-width:1.25;cursor:pointer;transition:fill .2s ease,stroke .2s ease}.floor-bldg-wrap[data-v-b79ed928]{cursor:pointer}.floor-bldg-seg[data-v-b79ed928]{stroke:#00000024;stroke-width:.6;fill:none;pointer-events:none}.floor-bldg-outer[data-v-b79ed928]{stroke:#ffffff29}.floor-bldg-clear[data-v-b79ed928]{fill:#5a8c64}.floor-bldg--warehouse[data-v-b79ed928]{fill:#648cbe;stroke:#96beffa6;stroke-width:1.6}.floor-bldg--food[data-v-b79ed928]{fill:#6e965a;stroke:#8cc878a6;stroke-width:1.6}.floor-bldg--energy[data-v-b79ed928]{fill:#aa8246;stroke:#e6be64b3;stroke-width:1.6}.floor-bldg--water[data-v-b79ed928]{fill:#5a82a0;stroke:#82b4dca6;stroke-width:1.6}.floor-bldg--materials[data-v-b79ed928]{fill:#8c786e;stroke:#c8aa8c8c;stroke-width:1.6}.floor-bldg--med[data-v-b79ed928]{fill:#96646e;stroke:#dc8c96a6;stroke-width:1.6}.floor-bldg--education[data-v-b79ed928]{fill:#786e96;stroke:#b4aadc99;stroke-width:1.6}.floor-room[data-v-b79ed928]{fill:transparent;stroke:none;cursor:pointer}.floor-room--dirty[data-v-b79ed928]{fill:#5a46288c}.floor-room--clean-wait[data-v-b79ed928]{fill:#d97b2959;stroke:#d97b29b3;stroke-width:.5}.floor-room--cleaning[data-v-b79ed928]{fill:#d97b298c;animation:map-pulse-b79ed928 1.1s ease-in-out infinite}.floor-room--build-wait[data-v-b79ed928]{fill:#b48c3c66;stroke:#e6be648c;stroke-width:.5;stroke-dasharray:1.5 1}.floor-room--building[data-v-b79ed928]{fill:#c8963280}.floor-room--built[data-v-b79ed928]{fill:#ffffff14}.floor-room--off[data-v-b79ed928]{fill:#b0413e73;animation:map-pulse-danger-b79ed928 1.35s ease-in-out infinite}.floor-room--shed[data-v-b79ed928]{fill:#d97b2966;animation:map-pulse-b79ed928 1.35s ease-in-out infinite}.floor-room--clear[data-v-b79ed928]{fill:transparent}.floor-room.is-blocks[data-v-b79ed928]{fill:transparent;animation:none}.map-blk[data-v-b79ed928]{stroke:none}.map-blk--dirty[data-v-b79ed928]{fill:#483820d9}.map-blk--clean-wait[data-v-b79ed928]{fill:#d97b2980}.map-blk--cleaning[data-v-b79ed928]{fill:#d97b29bf}.map-blk-edge[data-v-b79ed928]{stroke:none;animation:map-blk-edge-pulse-b79ed928 1.5s ease-in-out infinite}.map-blk-edge--dirty[data-v-b79ed928]{fill:#c896468c}.map-blk-edge--clean-wait[data-v-b79ed928],.map-blk-edge--cleaning[data-v-b79ed928]{fill:#ffb450bf}@keyframes map-blk-edge-pulse-b79ed928{0%,to{opacity:.35}50%{opacity:1}}.floor-room-bar[data-v-b79ed928]{fill:#ffd278f2}.floor-room-pct[data-v-b79ed928],.hub-room-pct[data-v-b79ed928]{fill:#ffe6bed9;font-size:5.5px;font-weight:700;font-variant-numeric:tabular-nums}.map-ico[data-v-b79ed928]{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:#fff5dcf2;line-height:0}.map-ico-sm[data-v-b79ed928]{color:#fff5dceb}.floor-room--off .map-ico[data-v-b79ed928],.floor-room-wrap--off .map-ico[data-v-b79ed928],.hub-wrap--off .map-ico[data-v-b79ed928]{color:#ffb4aaf2}.floor-room--shed .map-ico[data-v-b79ed928],.floor-room-wrap--shed .map-ico[data-v-b79ed928],.hub-wrap--shed .map-ico[data-v-b79ed928]{color:#ffc88cf2}.map-worker-dot[data-v-b79ed928]{fill:var(--accent, #d97b29);stroke:#00000059;stroke-width:.4}.hub-hex.hub-act--cleaning[data-v-b79ed928],.hub-hex.hub-act--clean-wait[data-v-b79ed928]{stroke:#d97b29d9;stroke-width:1.4}.hub-hex.hub-act--building[data-v-b79ed928],.hub-hex.hub-act--build-wait[data-v-b79ed928]{stroke:#e6be64e6;stroke-width:1.4}.hub-hex.hub-act--off[data-v-b79ed928]{stroke:#b0413ee6;stroke-width:1.5}.hub-hex.hub-act--shed[data-v-b79ed928]{stroke:#d97b29e6;stroke-width:1.5}@keyframes map-pulse-b79ed928{0%,to{opacity:.55}50%{opacity:1}}@keyframes map-pulse-danger-b79ed928{0%,to{opacity:.4}50%{opacity:.95}}.floor-unit-bg[data-v-b79ed928]{fill:#14120ed9;stroke:#ffe6b4b3;stroke-width:1.2}.floor-unit.moving .floor-unit-bg[data-v-b79ed928]{stroke:#ffc864f2}.floor-unit-txt[data-v-b79ed928]{fill:#fff5dcf2;font-size:8px;font-weight:700;pointer-events:none}.radar-type-surface .zone-center[data-v-b79ed928]{fill:#b496501f;stroke:#dcbe6473}.radar-type-generator .floor-bldg[data-v-b79ed928],.radar-type-generator .floor-bldg-outer[data-v-b79ed928]{fill:#aa8246}.radar-type-food .floor-bldg[data-v-b79ed928],.radar-type-food .floor-bldg-outer[data-v-b79ed928]{fill:#6e965a}.radar-type-water .floor-bldg[data-v-b79ed928],.radar-type-water .floor-bldg-outer[data-v-b79ed928]{fill:#5a82a0}.radar-type-materials .floor-bldg[data-v-b79ed928],.radar-type-materials .floor-bldg-outer[data-v-b79ed928]{fill:#8c786e}.radar-type-med .floor-bldg[data-v-b79ed928],.radar-type-med .floor-bldg-outer[data-v-b79ed928]{fill:#96646e}.sealed-mark[data-v-b79ed928]{fill:#ffffff73;font-size:26px;font-weight:600;pointer-events:none;font-variant-numeric:tabular-nums}.surface-gate[data-v-b79ed928]{fill:#ffdca0bf;font-size:11px;pointer-events:none}.cell-worker-bg[data-v-b79ed928]{fill:#14161ceb;stroke:#ffd278e6;stroke-width:1.2}.cell-worker-txt[data-v-b79ed928]{fill:#f0e6c8;font-size:9px;font-weight:700;pointer-events:none}.cell-worker-extra[data-v-b79ed928]{fill:#f0e6c8;font-size:7px;font-weight:600;pointer-events:none}.hex-around[data-v-b79ed928]{fill:#ffffff05;stroke:#ffffff29;stroke-width:1;stroke-linejoin:round}.hex-around.hex-available[data-v-b79ed928]{cursor:pointer;transition:fill .12s ease-out}.hex-around.hex-available[data-v-b79ed928]:hover{fill:#6ec47a2e}.hex-around.hex-occupied[data-v-b79ed928]{fill:#6ec47a38;cursor:pointer}.hex-around.hex-paused[data-v-b79ed928]{fill:#d9a82924;stroke:#d9a82973;cursor:pointer}.hex-progress-paused[data-v-b79ed928]{stroke:#d9a829d9;animation:none}.hex-progress[data-v-b79ed928]{stroke:#6ec47af2;stroke-width:2;stroke-linecap:round;transform:rotate(-90deg);transform-origin:center;transform-box:fill-box;pointer-events:none;animation:hex-pulse-b79ed928 2.4s ease-in-out infinite}@keyframes hex-pulse-b79ed928{0%,to{filter:drop-shadow(0 0 2px rgba(110,196,122,.4))}50%{filter:drop-shadow(0 0 6px rgba(110,196,122,.7))}}.hex-dweller-frame[data-v-b79ed928]{fill:#ffffff0a;stroke:#ffffff2e;stroke-width:.4}.status-picker[data-v-b79ed928]{display:flex;flex-direction:column;gap:6px}.status-list[data-v-b79ed928]{display:flex;flex-wrap:wrap;gap:5px}.status-chip[data-v-b79ed928]{display:inline-flex;align-items:center;gap:5px;padding:5px 9px;border-radius:13px;border:1px solid var(--line-soft);background:var(--bg-2);color:var(--text-dim);font-size:11px;cursor:pointer;-webkit-tap-highlight-color:transparent}.status-chip.selected[data-v-b79ed928]{background:#d97b2938;border-color:var(--accent);color:var(--accent)}.status-chip.locked[data-v-b79ed928]{opacity:.4;cursor:default}.status-chip[data-v-b79ed928]:disabled{cursor:default}.hex-confirm[data-v-b79ed928]{cursor:pointer;pointer-events:auto}.hex-check-bg[data-v-b79ed928]{fill:#6ec47af5;stroke:#0b0d1099;stroke-width:.6}.hex-check-bg[data-v-b79ed928]:active{fill:#8cdc96}.hex-check-mark[data-v-b79ed928]{fill:none;stroke:#0b0d10f5;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.hex-fading[data-v-b79ed928]{animation:hex-fade-out-b79ed928 .7s ease-out forwards;pointer-events:none}@keyframes hex-fade-out-b79ed928{0%{opacity:1}to{opacity:0}}.hex-status[data-v-b79ed928]{font-size:11px;color:var(--text-dim);margin:4px 0}.hex-die[data-v-b79ed928]{color:#d88080}.hex-immortal[data-v-b79ed928]{color:#6ec47a}.suit-row[data-v-b79ed928]{display:flex;align-items:center;gap:6px;margin:4px 0 8px}.suit-lvl[data-v-b79ed928]{flex:1;height:32px;padding:0 10px;background:var(--bg-2);border:1px solid var(--line-soft);border-radius:8px;color:var(--text);font-size:13px}.popup-secondary[data-v-b79ed928]{flex:0 0 auto;height:32px;padding:0 14px;border-radius:8px;border:1px solid var(--line);background:transparent;color:var(--text);font-size:12px;cursor:pointer}.popup-secondary[data-v-b79ed928]:disabled{opacity:.5;cursor:default}.hex-dwellers[data-v-b79ed928]{display:flex;flex-direction:column;gap:6px;margin-bottom:8px}.hex-suit-choice[data-v-b79ed928]{display:inline-flex;align-items:center;gap:4px;padding:6px 10px;border-radius:14px;border:1px solid var(--line-soft);background:var(--bg-2);color:var(--text-dim);font-size:12px;cursor:pointer}.hex-suit-choice.selected[data-v-b79ed928]{background:#d97b2940;border-color:var(--accent);color:var(--text)}.hex-dweller-select[data-v-b79ed928]{height:32px;padding:0 8px;background:var(--bg-2);border:1px solid var(--line-soft);border-radius:6px;color:var(--text);font-size:12px}.center-group[data-v-b79ed928]{cursor:pointer}.center-group:active .zone-center[data-v-b79ed928]{fill:#d97b292e;stroke:#d97b29b3}.popup-overlay[data-v-b79ed928]{position:fixed;inset:0;background:#0000008c;display:flex;justify-content:center;align-items:flex-end;padding:12px;padding-bottom:calc(12px + env(safe-area-inset-bottom,0));z-index:200}.bldg-sheet[data-v-b79ed928]{width:100%;max-width:420px;max-height:min(88vh,640px);overflow:auto;padding:14px 14px 12px;background:var(--bg-1);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:12px}.bldg-sheet-head[data-v-b79ed928]{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.bldg-scheme[data-v-b79ed928]{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:repeat(3,minmax(52px,1fr));gap:6px;min-height:180px;aspect-ratio:2 / 3;max-height:42vh;margin:0 auto;width:min(100%,220px)}.bldg-room[data-v-b79ed928]{position:relative;border:1.5px solid rgba(255,255,255,.22);border-radius:8px;background:#a08c64;color:#fff5dce6;font-size:13px;font-weight:600;min-height:48px;cursor:pointer;-webkit-tap-highlight-color:transparent}.bldg-room.on[data-v-b79ed928]{border-color:var(--accent, #e8c56a);box-shadow:inset 0 0 0 1px var(--accent, #e8c56a)}.bldg-room.clear[data-v-b79ed928]{background:#788c6e}.bldg-room.target[data-v-b79ed928]{outline:2px solid rgba(232,180,90,.85)}.bldg-room-pct[data-v-b79ed928]{pointer-events:none}.bldg-room-workers[data-v-b79ed928]{position:absolute;right:6px;bottom:4px;font-size:11px;opacity:.85}.bldg-detail[data-v-b79ed928]{display:flex;flex-direction:column;gap:8px}.bldg-roles[data-v-b79ed928]{display:flex;flex-wrap:wrap;gap:6px}.bldg-role[data-v-b79ed928]{min-height:40px;padding:8px 12px;border-radius:10px;border:1px solid var(--line);background:var(--bg-2);color:var(--text);font-size:12px;cursor:pointer;-webkit-tap-highlight-color:transparent}.bldg-role.on[data-v-b79ed928]{border-color:var(--accent, #e8c56a);color:var(--accent, #e8c56a)}.popup[data-v-b79ed928]{position:relative;width:100%;max-width:340px;padding:16px 18px;background:var(--bg-1);border:1px solid var(--line);border-radius:var(--floor-radius);box-shadow:var(--shadow);display:flex;flex-direction:column;gap:12px}.popup-close[data-v-b79ed928]{position:absolute;top:8px;right:8px;width:28px;height:28px;border-radius:14px;background:var(--bg-2);border:1px solid var(--line);color:var(--text);font-size:16px;display:flex;align-items:center;justify-content:center;cursor:pointer}.popup-foot[data-v-b79ed928]{display:flex;align-items:center;justify-content:flex-end;gap:10px}.popup-foot .popup-hint[data-v-b79ed928]{margin-right:auto}.popup-back[data-v-b79ed928]{flex:0 0 auto;width:32px;height:32px;border-radius:6px;background:var(--bg-2);border:1px solid var(--line);color:var(--text-dim);display:flex;align-items:center;justify-content:center;cursor:pointer;-webkit-tap-highlight-color:transparent}.popup-back[data-v-b79ed928]:active{background:var(--bg-3);color:var(--accent)}.back-ico[data-v-b79ed928]{width:18px;height:18px}.popup-head[data-v-b79ed928]{display:flex;align-items:center;justify-content:space-between}.popup-name[data-v-b79ed928]{color:var(--text);font-size:14px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.popup-label[data-v-b79ed928]{color:var(--text-dim);font-size:11px;text-transform:uppercase;letter-spacing:.8px}.popup-meta[data-v-b79ed928]{display:flex;flex-wrap:wrap;gap:10px;font-size:11px;color:var(--text-dim)}.popup-meta .meta-prod[data-v-b79ed928]{color:var(--accent)}.popup-primary[data-v-b79ed928]{height:40px;border-radius:8px;border:none;background:var(--accent);color:#1a0d04;font-size:13px;font-weight:600;cursor:pointer;-webkit-tap-highlight-color:transparent}.popup-primary[data-v-b79ed928]:disabled{opacity:.4;cursor:default}.popup-balance[data-v-b79ed928]{margin:-6px 0 0;font-size:10px;letter-spacing:.6px;text-transform:uppercase;color:var(--text-mute)}.popup-sealed[data-v-b79ed928]{margin:0;padding:10px 0;text-align:center;font-size:12px;letter-spacing:.6px;text-transform:uppercase;color:var(--text-mute)}.popup-dwellers[data-v-b79ed928]{display:flex;flex-wrap:wrap;gap:6px}.popup-hint[data-v-b79ed928]{margin:0;color:var(--text-mute);font-size:10px;text-transform:uppercase;letter-spacing:.8px}:root{color-scheme:dark;--bg-0: #0b0d10;--bg-1: #14181d;--bg-2: #1d2229;--bg-3: #2a313b;--line: #2f3742;--line-soft: #232932;--text: #e7ecf3;--text-dim: #8a96a6;--text-mute: #5b6573;--accent: #d97b29;--accent-soft: #6b3f1a;--danger: #b0413e;--shadow: 0 6px 20px rgba(0, 0, 0, .35);--toolbar-h: 64px;--floor-radius: 8px;--hud-h: 62px}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;touch-action:manipulation}html,body{margin:0;padding:0;height:100%;background:var(--bg-0);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:14px;line-height:1.4;overscroll-behavior:none;-webkit-font-smoothing:antialiased}#app{height:100dvh;width:100vw;overflow:hidden}.app-shell{height:100%;width:100%;display:flex;flex-direction:column;overflow:hidden}button{font:inherit;color:inherit;background:none;border:none;cursor:pointer;user-select:none}input{font:inherit;color:inherit}.auth-screen{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;background:radial-gradient(ellipse at top,rgba(217,123,41,.08),transparent 60%),var(--bg-0)}.auth-card{width:100%;max-width:360px;background:var(--bg-1);border:1px solid var(--line);border-radius:10px;padding:24px;box-shadow:var(--shadow)}.auth-title{font-size:20px;margin:0 0 4px;letter-spacing:.5px}.auth-sub{color:var(--text-dim);margin:0 0 20px;font-size:13px}.auth-field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.auth-field label{font-size:12px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.6px}.auth-field input{background:var(--bg-2);border:1px solid var(--line);border-radius:6px;padding:12px 14px;outline:none;transition:border-color .12s ease}.auth-field input:focus{border-color:var(--accent)}.auth-submit{width:100%;background:var(--accent);color:#1a0d04;font-weight:600;padding:12px;border-radius:6px;letter-spacing:.3px}.auth-submit:active{background:#c46a20}.auth-note{margin-top:14px;font-size:11px;color:var(--text-mute);text-align:center}.game-screen{flex:1;display:flex;flex-direction:column;min-height:0}.game-stage{flex:1;position:relative;overflow:hidden;touch-action:none;background:linear-gradient(180deg,var(--bg-1) 0%,var(--bg-0) 60%,var(--bg-0) 100%)}.floor-head{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--line-soft);background:linear-gradient(180deg,rgba(255,255,255,.02),transparent);font-size:12px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.8px}.floor-head .name{color:var(--text)}.floor-body{padding:14px;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.tile{background:var(--bg-3);border:1px solid var(--line-soft);border-radius:6px;height:64px;display:flex;align-items:center;justify-content:center;font-size:11px;color:var(--text-mute)}.floor-hint{position:absolute;left:0;right:0;text-align:center;font-size:11px;color:var(--text-mute);pointer-events:none;user-select:none;opacity:0;transition:opacity .25s ease;z-index:40}.floor-hint.show{opacity:1}.hint-top{top:6px}.hint-bottom{bottom:6px}.toolbar{flex:0 0 auto;display:flex;justify-content:center;align-items:center;padding:4px 12px calc(4px + env(safe-area-inset-bottom,0));background:transparent}.toolbar-pill{display:flex;gap:2px;padding:2px;background:color-mix(in srgb,var(--bg-1) 88%,transparent);border:none;border-radius:22px;box-shadow:none}.toolbar-btn{width:38px;height:38px;border-radius:19px;border:none;background:transparent;color:var(--text-dim);display:flex;align-items:center;justify-content:center;cursor:pointer;-webkit-tap-highlight-color:transparent}.toolbar-btn:hover,.toolbar-btn.router-link-active{background:var(--bg-2);color:var(--accent)}.toolbar-btn-accent{background:var(--accent);color:#1a0d04}.toolbar-btn-accent:hover{filter:brightness(1.1)}.toolbar-btn:disabled{opacity:.35;cursor:default}.toolbar-btn:disabled:hover,.toolbar-btn-accent:hover{background:var(--accent);filter:none}.toolbar-btn .ico{width:20px;height:20px;display:block}.focus-card{flex:1;min-height:0;margin:16px;padding:16px 18px;background:var(--bg-2);border:1px solid var(--line);border-radius:var(--floor-radius);box-shadow:var(--shadow);cursor:pointer;display:flex;flex-direction:column;gap:10px;-webkit-tap-highlight-color:transparent}.focus-card-head{display:flex;align-items:center;justify-content:space-between}.focus-card-name{color:var(--text);font-size:14px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.focus-card-label{color:var(--text-dim);font-size:11px;text-transform:uppercase;letter-spacing:.8px}.focus-card-meta{display:flex;flex-wrap:wrap;gap:10px;font-size:11px;color:var(--text-dim);letter-spacing:.3px}.focus-card-meta .meta{display:inline-flex;align-items:center;gap:4px}.focus-card-meta .meta-prod{color:var(--accent)}.focus-card-dwellers{display:flex;flex-wrap:wrap;gap:6px}.dweller-chip{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:28px;padding:0 8px;background:var(--bg-3);border:1px solid var(--line);border-radius:6px;color:var(--text);font-size:11px;font-weight:600}.focus-card-hint{margin:0;color:var(--text-mute);font-size:10px;text-transform:uppercase;letter-spacing:.8px;text-align:right}.hud{flex:0 0 auto;display:flex;flex-direction:column;padding:7px 14px 8px;gap:6px;background:transparent;font-size:12px;color:var(--text-dim)}.hud-row{display:flex;align-items:center;min-height:22px}.hud-row-top{justify-content:space-between;gap:10px}.hud-title{color:var(--text);font-size:11px;font-weight:600;letter-spacing:.6px;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;flex:1 1 auto}.hud-actions{display:flex;align-items:center;gap:6px;flex:0 0 auto}.hud-icon{width:26px;height:26px;border-radius:50%;background:transparent;border:1px solid var(--line-soft);color:var(--text-mute);font-size:13px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;-webkit-tap-highlight-color:transparent}.hud-icon:active{background:var(--bg-2);color:var(--accent)}.hud-row-res{gap:6px;min-width:0;align-items:stretch}.hud .res{flex:1 1 0;min-width:52px;display:flex;flex-direction:row;align-items:center;gap:3px;padding:3px 4px 3px 2px;font-variant-numeric:tabular-nums}.hud .res-trend{flex:0 0 8px;width:8px;height:14px;display:inline-flex;align-items:center;justify-content:center}.hud .res-mark{display:block;flex-shrink:0;animation:trend-blink 2.4s ease-in-out infinite}.hud .res-mark-up{width:0;height:0;border-left:3.5px solid transparent;border-right:3.5px solid transparent;border-bottom:6px solid #6ec47a}.hud .res-mark-flat{width:5px;height:5px;border-radius:1px;background:#d9a829}.hud .res-mark-down{width:0;height:0;border-left:3.5px solid transparent;border-right:3.5px solid transparent;border-top:6px solid #c96b6b}.hud .res-line{display:flex;align-items:center;gap:4px;min-width:0;flex:1 1 auto}.hud .res-num{display:flex;flex-direction:column;align-items:flex-start;min-width:0}.hud .res-val{font-size:12px;line-height:1;color:var(--text-dim);overflow:hidden;white-space:nowrap}.hud .res-delta{height:11px;line-height:11px;font-size:9px;color:var(--text-mute);font-variant-numeric:tabular-nums;white-space:nowrap}.hud .res-delta.is-gain{color:#6ec47a}.hud .res-delta.is-loss{color:#c96b6b}.hud .res-delta.is-zero{color:var(--text-mute);opacity:.7}.hud .res.is-up{background:#6ec47a14}.hud .res.is-up .res-val{color:#7cc98a}.hud .res.is-flat{background:#d9a82912}.hud .res.is-flat .res-val{color:#d8b45c}.hud .res.is-down{background:#b0413e1a}.hud .res.is-down .res-val{color:#d88080}@keyframes trend-blink{0%,to{opacity:.45}50%{opacity:1}}@media(prefers-reduced-motion:reduce){.hud .res-mark{animation:none;opacity:1}}.hud .hud-chip{flex:0 0 auto;display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--text-dim);font-variant-numeric:tabular-nums}.hud .dot{width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;font-size:10px;line-height:1;flex:0 0 auto}.res-power{background:#d97b292e;color:var(--accent)}.res-food{background:#50a05a2e;color:#6ec47a}.res-water{background:#508cc82e;color:#6ea4d8}.res-people{background:#b4bed22e;color:var(--text)}.res-info{background:#78bec82e;color:#7ec8d8}.res-materials{background:#9682502e;color:#c8a858}.res-med{background:#b450502e;color:#d88080}.hud .avatar-btn{flex:0 0 auto;width:26px;height:26px;border-radius:50%;background:var(--accent-soft);border:1px solid rgba(217,123,41,.45);color:var(--accent);font-size:12px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;-webkit-tap-highlight-color:transparent}.hud .reset-btn{width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;border-radius:4px;color:var(--text-mute);background:var(--bg-2);border:1px solid var(--line-soft);font-size:13px;line-height:1;flex:0 0 auto}.hud .reset-btn:active{background:var(--bg-3);color:var(--accent)}.toast{position:fixed;left:50%;top:calc(var(--hud-h, 0px) + 12px + env(safe-area-inset-top,0px));transform:translate(-50%);padding:8px 14px;background:var(--bg-2);border:1px solid var(--line);border-radius:16px;color:var(--text);font-size:12px;letter-spacing:.3px;box-shadow:var(--shadow);z-index:200;animation:toast-life 2.4s ease-out forwards}@keyframes toast-life{0%{opacity:0;transform:translate(-50%,-6px)}10%{opacity:1;transform:translate(-50%)}85%{opacity:1}to{opacity:0;transform:translate(-50%,-6px)}}.profile-backdrop{position:fixed;inset:0;z-index:140}.profile-menu{position:fixed;top:calc(var(--hud-h) + 6px);right:10px;z-index:150;min-width:190px;padding:10px;background:var(--bg-1);border:1px solid var(--line);border-radius:var(--floor-radius);box-shadow:var(--shadow);display:flex;flex-direction:column;gap:10px}.profile-row{display:flex;align-items:center;gap:10px;min-width:0}.profile-avatar{flex:0 0 auto;width:32px;height:32px;border-radius:50%;background:var(--bg-3);border:1px solid var(--line);color:var(--text);font-size:13px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}.profile-text{display:flex;flex-direction:column;min-width:0}.profile-name{color:var(--text);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-id{color:var(--text-mute);font-size:10px;letter-spacing:.5px;text-transform:uppercase}.profile-logout{height:32px;border-radius:8px;background:var(--bg-2);border:1px solid rgba(176,65,62,.35);color:#d97a78;font-size:12px;cursor:pointer}.profile-logout:active{background:var(--bg-3)}.floor-meta{display:flex;flex-wrap:wrap;gap:10px;padding:6px 14px 8px;border-bottom:1px solid var(--line-soft);background:var(--bg-1);font-size:11px;color:var(--text-dim);letter-spacing:.3px}.floor-meta .meta{display:inline-flex;align-items:center;gap:4px}.floor-meta .meta-prod{color:var(--accent)}.floor[data-type=residential]{border-color:#3a4757}.floor[data-type=food]{border-color:#3f6b50}.floor[data-type=generator]{border-color:#6b4a26}.floor[data-type=water]{border-color:#356c99}.floor[data-type=materials]{border-color:#6c644c}.floor[data-type=med]{border-color:#833029}
