.login[data-v-f2b5c573]{position:relative;min-height:100vh;display:grid;place-items:center;padding:var(--sp-6);background:radial-gradient(1200px 600px at 80% -10%,var(--brand-soft),transparent 60%),radial-gradient(900px 500px at -10% 110%,var(--brand-soft),transparent 60%),var(--surface-0);overflow:hidden}.login[data-v-f2b5c573]:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(var(--border-subtle) 1px,transparent 1px),linear-gradient(90deg,var(--border-subtle) 1px,transparent 1px);background-size:48px 48px;mask-image:radial-gradient(ellipse at center,black 30%,transparent 75%);-webkit-mask-image:radial-gradient(ellipse at center,black 30%,transparent 75%);opacity:.4;pointer-events:none}.login__theme-toggle[data-v-f2b5c573]{position:absolute;top:var(--sp-4);right:var(--sp-4);width:36px;height:36px;display:grid;place-items:center;border-radius:var(--rd-full);border:1px solid var(--border);background:var(--surface-1);color:var(--text-muted);transition:color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease);z-index:2}.login__theme-toggle[data-v-f2b5c573]:hover{color:var(--text-strong);border-color:var(--border-strong);transform:rotate(15deg)}.login__shell[data-v-f2b5c573]{position:relative;z-index:1;width:100%;max-width:400px;display:flex;flex-direction:column;align-items:stretch;gap:var(--sp-6)}.login__brand[data-v-f2b5c573]{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--sp-2)}.login__logo[data-v-f2b5c573]{width:48px;height:48px;border-radius:var(--rd-xl);display:grid;place-items:center;background:linear-gradient(135deg,var(--brand-600),var(--brand-400));color:var(--text-on-brand);box-shadow:0 10px 24px var(--brand-ring),inset 0 1px #ffffff40}.login__brand-name[data-v-f2b5c573]{margin:0;font-size:var(--fs-2xl);font-weight:var(--fw-bold);color:var(--text-strong);letter-spacing:-.01em}.login__tagline[data-v-f2b5c573]{margin:0;color:var(--text-subtle);font-size:var(--fs-md);max-width:320px}.login__card[data-v-f2b5c573]{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--rd-2xl);padding:var(--sp-6);box-shadow:var(--sh-lg);display:flex;flex-direction:column;gap:var(--sp-4)}.login__head[data-v-f2b5c573]{display:flex;flex-direction:column;gap:2px;margin-bottom:var(--sp-1)}.login__title[data-v-f2b5c573]{margin:0;font-size:var(--fs-xl);font-weight:var(--fw-semibold);color:var(--text-strong);letter-spacing:-.01em}.login__subtitle[data-v-f2b5c573]{margin:0;color:var(--text-subtle);font-size:var(--fs-md)}.login__field[data-v-f2b5c573]{display:flex;flex-direction:column;gap:6px}.login__label[data-v-f2b5c573]{font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--text-muted)}.login__input-wrap[data-v-f2b5c573]{position:relative;display:flex;align-items:center}.login__input[data-v-f2b5c573]{width:100%;padding:11px 13px;border:1px solid var(--border-strong);border-radius:var(--rd-lg);background:var(--surface-2);color:var(--text-strong);font-size:var(--fs-base);transition:border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease)}.login__input[data-v-f2b5c573]::placeholder{color:var(--text-faint)}.login__input[data-v-f2b5c573]:hover{border-color:var(--text-faint)}.login__input[data-v-f2b5c573]:focus{outline:none;border-color:var(--border-focus);box-shadow:var(--sh-focus)}.login__input--pw[data-v-f2b5c573]{padding-right:38px}.login__toggle-pw[data-v-f2b5c573]{position:absolute;right:6px;width:30px;height:30px;display:grid;place-items:center;color:var(--text-subtle);border-radius:var(--rd-md);transition:color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease)}.login__toggle-pw[data-v-f2b5c573]:hover{color:var(--text-strong);background:var(--state-hover)}.login__error[data-v-f2b5c573]{display:flex;align-items:center;gap:8px;margin:0;padding:9px 11px;border-radius:var(--rd-md);background:var(--danger-soft);border:1px solid color-mix(in srgb,var(--danger) 30%,transparent);color:var(--danger);font-size:var(--fs-sm);line-height:1.35}.login-err-enter-active[data-v-f2b5c573],.login-err-leave-active[data-v-f2b5c573]{transition:opacity var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease)}.login-err-enter-from[data-v-f2b5c573],.login-err-leave-to[data-v-f2b5c573]{opacity:0;transform:translateY(-4px)}.login__submit[data-v-f2b5c573]{margin-top:var(--sp-1);padding:12px;border-radius:var(--rd-lg);background:linear-gradient(135deg,var(--brand-700),var(--brand-500));color:var(--text-on-brand);font-size:var(--fs-base);font-weight:var(--fw-semibold);letter-spacing:.02em;box-shadow:0 6px 16px var(--brand-ring);display:flex;align-items:center;justify-content:center;gap:8px;transition:transform var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease),opacity var(--dur-fast) var(--ease)}.login__submit[data-v-f2b5c573]:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 10px 22px var(--brand-ring)}.login__submit[data-v-f2b5c573]:active:not(:disabled){transform:translateY(0)}.login__submit[data-v-f2b5c573]:disabled{opacity:.7;cursor:not-allowed;box-shadow:none}.login__spinner[data-v-f2b5c573]{width:14px;height:14px;border-radius:50%;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;animation:spin .7s linear infinite}.login__foot[data-v-f2b5c573]{margin:0;text-align:center;color:var(--text-faint);font-size:var(--fs-xs)}@media (max-width: 420px){.login__card[data-v-f2b5c573]{padding:var(--sp-5);border-radius:var(--rd-xl)}.login__brand-name[data-v-f2b5c573]{font-size:var(--fs-xl)}}.dv-tbtn[data-v-d7a51a85]{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:var(--rd-md, 8px);background:transparent;color:var(--text-muted, #475569);font-size:var(--fs-xs, 11px);font-weight:var(--fw-semibold, 600);letter-spacing:.02em;white-space:nowrap;border:none;cursor:pointer;transition:background .15s ease,color .15s ease}.dv-tbtn[data-v-d7a51a85]:hover{background:var(--state-hover, rgba(15, 23, 42, .05));color:var(--text-strong, #0f172a)}.dv-tbtn.is-active[data-v-d7a51a85]{background:var(--brand-soft, rgba(99, 102, 241, .12));color:var(--brand-strong, #4f46e5)}.dv-counter[data-v-d7a51a85]{font-size:9px;font-weight:700;letter-spacing:.04em;padding:1px 6px;border-radius:999px;background:#6366f12e;color:inherit;font-variant-numeric:tabular-nums}.dv-backdrop[data-v-d7a51a85]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#0f172a8c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:grid;place-items:center;padding:24px;animation:dv-fadein-d7a51a85 .18s ease-out}@keyframes dv-fadein-d7a51a85{0%{opacity:0}to{opacity:1}}.dv-modal[data-v-d7a51a85]{width:min(1100px,95vw);height:min(720px,88vh);background:var(--surface-1, #fff);color:var(--text, #0f172a);border-radius:14px;border:1px solid var(--border, #e2e8f0);box-shadow:0 24px 60px #00000073;display:flex;flex-direction:column;overflow:hidden}.dv-modal__head[data-v-d7a51a85]{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border, #e2e8f0);background:var(--surface-2, #f8fafc)}.dv-modal__title[data-v-d7a51a85]{display:inline-flex;align-items:center;gap:8px;font-weight:700;color:var(--text-strong, #0f172a);font-size:14px;letter-spacing:-.01em}.dv-modal__close[data-v-d7a51a85]{width:28px;height:28px;display:grid;place-items:center;border-radius:8px;background:transparent;color:var(--text-muted, #475569);cursor:pointer;border:1px solid transparent;transition:background .15s ease,color .15s ease,border-color .15s ease}.dv-modal__close[data-v-d7a51a85]:hover{background:var(--state-hover, rgba(15, 23, 42, .05));color:var(--text-strong, #0f172a);border-color:var(--border, #e2e8f0)}.dv-modal__body[data-v-d7a51a85]{flex:1;display:grid;grid-template-columns:minmax(0,1fr) 340px;min-height:0}.dv-modal__map[data-v-d7a51a85]{position:relative;min-height:0;background:var(--surface-2, #f8fafc)}.dv-map[data-v-d7a51a85]{position:absolute;top:0;right:0;bottom:0;left:0}.dv-hint[data-v-d7a51a85]{position:absolute;left:12px;bottom:12px;display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border-radius:999px;background:#0f172ae0;color:#fff;font-size:11px;font-weight:600;letter-spacing:.02em;box-shadow:0 4px 14px #00000040;pointer-events:none}.dv-hint__dot[data-v-d7a51a85]{width:8px;height:8px;border-radius:50%;background:#f59e0b;box-shadow:0 0 0 4px #f59e0b40;animation:dv-pulse-d7a51a85 1.4s infinite ease-in-out}@keyframes dv-pulse-d7a51a85{0%,to{transform:scale(1)}50%{transform:scale(1.35)}}.dv-hover[data-v-d7a51a85]{position:absolute;top:12px;left:12px;display:flex;align-items:stretch;gap:10px;padding:9px 12px 9px 9px;border-radius:10px;background:#0f172aeb;color:#fff;box-shadow:0 6px 18px #0000004d;pointer-events:none;font-size:11px;line-height:1.3;max-width:320px;z-index:5}.dv-hover__sw[data-v-d7a51a85]{width:4px;align-self:stretch;border-radius:2px;flex-shrink:0}.dv-hover__body[data-v-d7a51a85]{display:flex;flex-direction:column;gap:2px;min-width:0}.dv-hover__kind[data-v-d7a51a85]{font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;opacity:.7}.dv-hover__pair[data-v-d7a51a85]{display:inline-flex;align-items:baseline;gap:5px;font-size:12.5px;flex-wrap:wrap}.dv-hover__pair strong[data-v-d7a51a85]{font-weight:700}.dv-hover__pair em[data-v-d7a51a85]{font-style:italic;opacity:.6;font-weight:500}.dv-hover__count[data-v-d7a51a85]{font-size:10px;opacity:.65;font-variant-numeric:tabular-nums}.dv-pop-enter-active[data-v-d7a51a85],.dv-pop-leave-active[data-v-d7a51a85]{transition:opacity .12s ease,transform .12s ease}.dv-pop-enter-from[data-v-d7a51a85],.dv-pop-leave-to[data-v-d7a51a85]{opacity:0;transform:translateY(-3px)}.dv-modal__panel[data-v-d7a51a85]{border-left:1px solid var(--border, #e2e8f0);padding:14px;overflow-y:auto;background:var(--surface-1, #fff);display:flex;flex-direction:column;gap:16px}.dv-section[data-v-d7a51a85]{display:flex;flex-direction:column;gap:8px}.dv-section__head[data-v-d7a51a85]{display:flex;align-items:baseline;justify-content:space-between}.dv-section__title[data-v-d7a51a85]{margin:0;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint, #94a3b8)}.dv-section__count[data-v-d7a51a85]{font-size:11px;color:var(--text-muted, #64748b);font-weight:600}.dv-table[data-v-d7a51a85]{display:flex;flex-direction:column;gap:1px;background:var(--border-subtle, #f1f5f9);border:1px solid var(--border, #e2e8f0);border-radius:10px;overflow:hidden}.dv-table__head[data-v-d7a51a85]{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:8px;padding:8px 10px;background:var(--surface-2, #f8fafc);font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint, #94a3b8)}.dv-table__row[data-v-d7a51a85]{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:8px;align-items:center;padding:7px 10px;background:var(--surface-1, #fff);font-size:11px}.dv-table__row code[data-v-d7a51a85]{font-family:var(--font-mono, ui-monospace, SFMono-Regular, monospace);color:var(--text-muted, #475569);font-size:10.5px}.dv-table__id[data-v-d7a51a85]{display:inline-flex;align-items:center;gap:6px;min-width:0}.dv-table__id strong[data-v-d7a51a85]{color:var(--text-strong, #0f172a);font-weight:700;letter-spacing:.02em}.dv-table__id em[data-v-d7a51a85]{font-style:normal;color:var(--text-muted, #64748b);font-size:10px;font-family:var(--font-mono, ui-monospace, monospace)}.dv-table__swatch[data-v-d7a51a85]{width:10px;height:10px;border-radius:3px;flex-shrink:0;box-shadow:inset 0 0 0 1px #00000026}.dv-meta code[data-v-d7a51a85]{display:block;padding:8px 10px;background:var(--surface-2, #f8fafc);border:1px solid var(--border, #e2e8f0);border-radius:8px;font-family:var(--font-mono, ui-monospace, monospace);font-size:11px;color:var(--text-muted, #475569)}.dv-vertices[data-v-d7a51a85]{display:flex;flex-direction:column;gap:1px;background:var(--border-subtle, #f1f5f9);border:1px solid var(--border, #e2e8f0);border-radius:8px;overflow:hidden}.dv-vertices__row[data-v-d7a51a85]{display:flex;align-items:center;gap:10px;padding:6px 10px;background:var(--surface-1, #fff);font-size:11px}.dv-vertices__row strong[data-v-d7a51a85]{color:var(--text-strong, #0f172a);font-family:var(--font-mono, monospace);width:28px}.dv-vertices__row code[data-v-d7a51a85]{font-family:var(--font-mono, monospace);color:var(--text-muted, #475569);font-size:10.5px}.dv-sides[data-v-d7a51a85]{display:flex;flex-direction:column;gap:8px}.dv-sides__row[data-v-d7a51a85]{display:grid;grid-template-columns:78px 1fr;gap:8px;align-items:center}.dv-sides__label[data-v-d7a51a85]{font-size:10.5px;font-weight:700;letter-spacing:.04em;color:var(--text-muted, #475569);font-variant-numeric:tabular-nums}.dv-section__spacing[data-v-d7a51a85]{height:1px;background:var(--border-subtle, #f1f5f9);margin:4px 0}.dv-scale-label[data-v-d7a51a85]{display:flex;flex-direction:column;gap:6px;cursor:default}.dv-scale-label__text[data-v-d7a51a85]{font-size:10.5px;font-weight:700;letter-spacing:.04em;color:var(--text-muted, #475569);font-variant-numeric:tabular-nums}.dv-scale-row[data-v-d7a51a85]{display:grid;grid-template-columns:1fr auto;gap:6px;align-items:center}.dv-scale-row__unit[data-v-d7a51a85]{font-size:11px;font-weight:600;color:var(--text-muted, #475569);width:24px;text-align:center}.dv-scale-buttons[data-v-d7a51a85]{display:grid;grid-template-columns:repeat(5,1fr);gap:5px}.dv-scale-btn[data-v-d7a51a85]{padding:5px 6px;border-radius:6px;border:1px solid var(--border, #e2e8f0);background:var(--surface-2, #f8fafc);color:var(--text-muted, #475569);font-size:10px;font-weight:700;letter-spacing:.02em;cursor:pointer;transition:all .15s ease}.dv-scale-btn[data-v-d7a51a85]:hover{background:var(--surface-3, #e2e8f0);color:var(--text-strong, #0f172a)}.dv-scale-btn.is-active[data-v-d7a51a85]{background:#7c3aed;border-color:#7c3aed;color:#fff}.dv-scale-adjust[data-v-d7a51a85]{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-top:2px}.dv-scale-adjust__btn[data-v-d7a51a85]{padding:6px;border-radius:6px;border:1px solid var(--border, #e2e8f0);background:var(--surface-2, #f8fafc);color:var(--text-muted, #475569);font-size:12px;font-weight:700;cursor:pointer;transition:all .15s ease;display:flex;align-items:center;justify-content:center}.dv-scale-adjust__btn[data-v-d7a51a85]:hover{background:var(--surface-3, #e2e8f0);color:var(--text-strong, #0f172a)}.dv-scale-adjust__btn[data-v-d7a51a85]:active{transform:scale(.95)}.dv-input[data-v-d7a51a85]{width:100%;padding:6px 9px;border-radius:7px;border:1px solid var(--border, #e2e8f0);background:var(--surface-2, #f8fafc);color:var(--text-strong, #0f172a);font-size:11.5px;font-family:inherit;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.dv-input[data-v-d7a51a85]::placeholder{color:var(--text-faint, #94a3b8)}.dv-input[data-v-d7a51a85]:focus{outline:none;border-color:var(--border-focus, #6366f1);background:var(--surface-1, #fff);box-shadow:0 0 0 3px #6366f12e}.dv-input--number[data-v-d7a51a85]{text-align:center;font-variant-numeric:tabular-nums}.dv-input--number[data-v-d7a51a85]::-webkit-outer-spin-button,.dv-input--number[data-v-d7a51a85]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.dv-input--number[type=number][data-v-d7a51a85]{-moz-appearance:textfield}.dv-tris[data-v-d7a51a85]{display:flex;flex-direction:column;gap:4px}.dv-tri[data-v-d7a51a85]{border:1px solid var(--border, #e2e8f0);border-radius:9px;background:var(--surface-1, #fff);overflow:hidden}.dv-tri__head[data-v-d7a51a85]{width:100%;display:grid;grid-template-columns:12px auto 1fr auto 12px;gap:8px;align-items:center;padding:7px 10px;background:transparent;border:none;cursor:pointer;text-align:left;font:inherit;color:inherit;transition:background .15s ease}.dv-tri__head[data-v-d7a51a85]:hover{background:var(--state-hover, rgba(15, 23, 42, .04))}.dv-tri.is-open .dv-tri__head[data-v-d7a51a85]{background:var(--surface-2, #f8fafc)}.dv-tri__swatch[data-v-d7a51a85]{width:12px;height:12px;border-radius:3px;flex-shrink:0;box-shadow:inset 0 0 0 1px #00000026}.dv-tri__id[data-v-d7a51a85]{display:inline-flex;align-items:center;gap:5px;min-width:0}.dv-tri__id strong[data-v-d7a51a85]{font-weight:700;color:var(--text-strong, #0f172a);font-size:11.5px;letter-spacing:.02em}.dv-tri__id em[data-v-d7a51a85]{font-style:normal;color:var(--text-muted, #64748b);font-size:10px;font-family:var(--font-mono, ui-monospace, monospace)}.dv-tri__group[data-v-d7a51a85]{font-size:10.5px;color:var(--text-muted, #475569);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-style:italic}.dv-tri__badge[data-v-d7a51a85]{font-size:10px;font-weight:700;letter-spacing:.04em;color:var(--text-muted, #475569);background:var(--surface-3, #e2e8f0);padding:2px 7px;border-radius:999px;font-variant-numeric:tabular-nums}.dv-tri__caret[data-v-d7a51a85]{color:var(--text-faint, #94a3b8);transition:transform .15s ease}.dv-tri.is-open .dv-tri__caret[data-v-d7a51a85]{transform:rotate(90deg)}.dv-tri__body[data-v-d7a51a85]{padding:0 8px 8px;border-top:1px solid var(--border-subtle, #f1f5f9);background:var(--surface-1, #fff)}.dv-tri__empty[data-v-d7a51a85]{padding:10px 6px;font-size:10.5px;color:var(--text-faint, #94a3b8);font-style:italic;text-align:center}.dv-cellslist[data-v-d7a51a85]{margin-top:6px;max-height:220px;overflow-y:auto;display:flex;flex-direction:column;gap:1px;background:var(--border-subtle, #f1f5f9);border-radius:6px;border:1px solid var(--border, #e2e8f0)}.dv-cellslist__head[data-v-d7a51a85]{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:6px;padding:6px 8px;position:sticky;top:0;background:var(--surface-2, #f8fafc);font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint, #94a3b8);z-index:1}.dv-cellslist__row[data-v-d7a51a85]{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:6px;align-items:center;padding:5px 8px;background:var(--surface-1, #fff);font-size:10.5px}.dv-cellslist__row code[data-v-d7a51a85]{font-family:var(--font-mono, ui-monospace, monospace);color:var(--text-muted, #475569);font-size:10px}.dv-cellslist__uid[data-v-d7a51a85]{color:var(--text, #334155)!important;font-weight:600}.dv-section__head--toggle[data-v-d7a51a85]{width:100%;display:flex;align-items:center;gap:10px;background:transparent;border:1px solid var(--border-subtle, #f1f5f9);border-radius:8px;padding:8px 10px;cursor:pointer;font:inherit;color:inherit;text-align:left;transition:background .15s ease,border-color .15s ease}.dv-section__head--toggle .dv-section__title[data-v-d7a51a85]{flex:1}.dv-section__head--toggle[data-v-d7a51a85]:hover{background:var(--state-hover, rgba(15, 23, 42, .04));border-color:var(--border, #e2e8f0)}.dv-section__head--toggle.is-open[data-v-d7a51a85]{background:var(--surface-2, #f8fafc);border-color:var(--border, #e2e8f0)}.dv-section__caret[data-v-d7a51a85]{color:var(--text-faint, #94a3b8);transition:transform .15s ease;flex-shrink:0}.dv-section__head--toggle.is-open .dv-section__caret[data-v-d7a51a85]{transform:rotate(90deg)}.dv-secondary-info[data-v-d7a51a85]{display:grid;grid-template-columns:auto 1fr;gap:8px;align-items:center;padding:10px 12px;border-radius:10px;border:1px solid var(--border, #e2e8f0);background:color-mix(in srgb,var(--border, #e2e8f0) 50%,transparent)}.dv-secondary-info__label[data-v-d7a51a85]{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint, #94a3b8)}.dv-secondary-info__count[data-v-d7a51a85]{font-size:12px;font-weight:700;color:#7c3aed;text-align:right;font-variant-numeric:tabular-nums}.dv-confirm[data-v-d7a51a85]{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:8px;background:var(--surface-1, #fff);border:1px solid var(--border, #e2e8f0);cursor:pointer;-webkit-user-select:none;user-select:none;font-size:11px;color:var(--text-muted, #475569);transition:border-color .15s ease,background .15s ease,color .15s ease}.dv-confirm[data-v-d7a51a85]:hover{border-color:var(--border-strong, #cbd5e1)}.dv-confirm.is-on[data-v-d7a51a85]{background:color-mix(in srgb,var(--brand, #4f46e5) 8%,var(--surface-1, #fff));border-color:color-mix(in srgb,var(--brand, #4f46e5) 35%,transparent);color:var(--text-strong, #0f172a)}.dv-confirm input[type=checkbox][data-v-d7a51a85]{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0)}.dv-confirm__box[data-v-d7a51a85]{width:16px;height:16px;border-radius:4px;border:1.6px solid var(--border-strong, #cbd5e1);background:var(--surface-1, #fff);display:grid;place-items:center;color:transparent;transition:background .15s ease,border-color .15s ease,color .15s ease;flex-shrink:0}.dv-confirm.is-on .dv-confirm__box[data-v-d7a51a85]{background:var(--brand, #4f46e5);border-color:var(--brand, #4f46e5);color:#fff}.dv-confirm__text[data-v-d7a51a85]{flex:1;font-weight:600;letter-spacing:.01em}.dv-country[data-v-d7a51a85]{display:grid;grid-template-columns:88px 1fr;gap:6px}.dv-country__row[data-v-d7a51a85]{display:grid;grid-template-columns:100%;gap:4px;align-content:start}.dv-country__row .dv-sides__label[data-v-d7a51a85]{letter-spacing:.06em;text-transform:uppercase;font-size:9.5px}.dv-submit[data-v-d7a51a85]{margin-top:4px;display:flex;flex-direction:column;gap:8px;padding:12px;border-radius:10px;border:1px solid var(--border, #e2e8f0);background:var(--surface-2, #f8fafc)}.dv-submit__hint[data-v-d7a51a85]{font-size:11px;color:var(--text-muted, #475569);line-height:1.45}.dv-submit__hint strong[data-v-d7a51a85]{color:var(--text-strong, #0f172a);font-weight:700;font-variant-numeric:tabular-nums}.dv-submit__hint code[data-v-d7a51a85]{font-family:var(--font-mono, ui-monospace, monospace);font-size:10.5px;background:var(--surface-3, #e2e8f0);color:var(--text-strong, #0f172a);padding:1px 5px;border-radius:4px}.dv-submit__err[data-v-d7a51a85]{padding:8px 10px;border-radius:8px;background:var(--danger-soft, #fee2e2);color:var(--danger, #ef4444);font-size:11px;line-height:1.4;border:1px solid color-mix(in srgb,var(--danger, #ef4444) 30%,transparent)}.dv-submit__ok[data-v-d7a51a85]{padding:8px 10px;border-radius:8px;background:var(--success-soft, #d1fae5);color:var(--success, #10b981);font-size:11px;font-weight:600;border:1px solid color-mix(in srgb,var(--success, #10b981) 30%,transparent)}.dv-submit__btn[data-v-d7a51a85]{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:9px 12px;border-radius:9px;border:none;background:var(--brand, #4f46e5);color:var(--text-on-brand, #fff);font-size:12px;font-weight:700;letter-spacing:.02em;cursor:pointer;transition:background .15s ease,opacity .15s ease,transform .05s ease}.dv-submit__btn[data-v-d7a51a85]:hover:not(:disabled){background:var(--brand-strong, #4338ca)}.dv-submit__btn[data-v-d7a51a85]:active:not(:disabled){transform:translateY(1px)}.dv-submit__btn[data-v-d7a51a85]:disabled{opacity:.55;cursor:not-allowed}.dv-submit__spinner[data-v-d7a51a85]{width:13px;height:13px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;animation:dv-spin-d7a51a85 .7s linear infinite}@keyframes dv-spin-d7a51a85{to{transform:rotate(360deg)}}@media (max-width: 800px){.dv-modal__body[data-v-d7a51a85]{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) 280px}.dv-modal__panel[data-v-d7a51a85]{border-left:none;border-top:1px solid var(--border, #e2e8f0)}}.sb-tbtn[data-v-048ffff6]{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:var(--rd-md, 8px);background:transparent;color:var(--text-muted, #475569);font-size:var(--fs-xs, 11px);font-weight:var(--fw-semibold, 600);letter-spacing:.02em;white-space:nowrap;border:none;cursor:pointer;transition:background .15s ease,color .15s ease}.sb-tbtn[data-v-048ffff6]:hover{background:var(--state-hover, rgba(15, 23, 42, .05));color:var(--text-strong, #0f172a)}.sb-tbtn.is-active[data-v-048ffff6]{background:#2563eb1f;color:#1d4ed8}.sb-counter[data-v-048ffff6]{font-size:9px;font-weight:700;letter-spacing:.04em;padding:1px 6px;border-radius:999px;background:#2563eb2e;font-variant-numeric:tabular-nums}.sb-panel[data-v-048ffff6]{position:fixed;top:78px;left:50%;transform:translate(-50%);z-index:900;background:var(--surface-1, #fff);border:1px solid var(--border, #e2e8f0);border-radius:12px;box-shadow:0 10px 30px #0f172a2e,0 2px 6px #0f172a14;padding:8px 10px;display:flex;flex-direction:column;gap:6px;min-width:540px}.sb-panel__row[data-v-048ffff6]{display:flex;align-items:center;gap:6px}.sb-panel__sep[data-v-048ffff6]{width:1px;align-self:stretch;background:var(--border, #e2e8f0);margin:0 4px}.sb-panel__hint[data-v-048ffff6]{font-size:11px;color:var(--text-muted, #475569);display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.sb-panel__hint b[data-v-048ffff6]{color:var(--text-strong, #0f172a);font-weight:700}.sb-panel__hint-dot[data-v-048ffff6]{width:8px;height:8px;border-radius:50%;animation:sb-pulse-048ffff6 1.4s ease-in-out infinite}.sb-panel__stats[data-v-048ffff6]{color:var(--text-faint, #94a3b8)}@keyframes sb-pulse-048ffff6{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.4);opacity:.6}}.sb-seg[data-v-048ffff6]{display:inline-flex;background:var(--surface-2, #f8fafc);border:1px solid var(--border, #e2e8f0);border-radius:999px;padding:2px}.sb-seg__btn[data-v-048ffff6]{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border:none;background:transparent;color:var(--text-muted, #475569);font-size:12px;font-weight:600;border-radius:999px;cursor:pointer;transition:background .15s ease,color .15s ease}.sb-seg__btn[data-v-048ffff6]:hover{color:var(--text-strong, #0f172a)}.sb-seg__btn.is-on[data-v-048ffff6]{background:var(--text-strong, #0f172a);color:#fff;box-shadow:0 1px 2px #0f172a26}.sb-seg__btn--main.is-on[data-v-048ffff6]{background:#2563eb}.sb-seg__btn--cross.is-on[data-v-048ffff6]{background:#f97316}.sb-seg__dot[data-v-048ffff6]{width:8px;height:8px;border-radius:50%;box-shadow:inset 0 0 0 1px #fff9}.sb-panel__btn[data-v-048ffff6]{display:inline-flex;align-items:center;gap:5px;padding:6px 11px;border:1px solid var(--border, #e2e8f0);background:var(--surface-1, #fff);color:var(--text-muted, #475569);border-radius:8px;font-size:12px;font-weight:600;cursor:pointer;transition:background .12s ease,color .12s ease,border-color .12s ease}.sb-panel__btn[data-v-048ffff6]:hover:not(:disabled){color:var(--text-strong, #0f172a);background:var(--state-hover, rgba(15, 23, 42, .05));border-color:var(--border-strong, #cbd5e1)}.sb-panel__btn[data-v-048ffff6]:disabled{opacity:.5;cursor:not-allowed}.sb-panel__btn--primary[data-v-048ffff6]{background:#2563eb;color:#fff;border-color:#2563eb}.sb-panel__btn--primary[data-v-048ffff6]:hover:not(:disabled){background:#1d4ed8;color:#fff;border-color:#1d4ed8}.sb-pop-enter-active[data-v-048ffff6],.sb-pop-leave-active[data-v-048ffff6]{transition:opacity .18s ease,transform .18s ease}.sb-pop-enter-from[data-v-048ffff6],.sb-pop-leave-to[data-v-048ffff6]{opacity:0;transform:translate(-50%,-6px)}.sb-backdrop[data-v-048ffff6]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#0f172a8c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:grid;place-items:center;padding:24px;animation:sb-fadein-048ffff6 .18s ease-out}@keyframes sb-fadein-048ffff6{0%{opacity:0}to{opacity:1}}.sb-modal[data-v-048ffff6]{width:min(1100px,95vw);height:min(720px,88vh);background:var(--surface-1, #fff);color:var(--text, #0f172a);border-radius:14px;border:1px solid var(--border, #e2e8f0);box-shadow:0 24px 60px #00000073;display:flex;flex-direction:column;overflow:hidden}.sb-modal__head[data-v-048ffff6]{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border, #e2e8f0);background:var(--surface-2, #f8fafc)}.sb-modal__title[data-v-048ffff6]{display:inline-flex;align-items:center;gap:8px;font-weight:700;color:var(--text-strong, #0f172a);font-size:14px}.sb-modal__close[data-v-048ffff6]{width:28px;height:28px;display:grid;place-items:center;border-radius:8px;background:transparent;color:var(--text-muted, #475569);cursor:pointer;border:1px solid transparent;transition:background .15s,color .15s,border-color .15s}.sb-modal__close[data-v-048ffff6]:hover{background:var(--state-hover, rgba(15, 23, 42, .05));color:var(--text-strong, #0f172a);border-color:var(--border, #e2e8f0)}.sb-modal__body[data-v-048ffff6]{flex:1;display:grid;grid-template-columns:minmax(0,1fr) 360px;min-height:0}.sb-modal__map[data-v-048ffff6]{position:relative;min-height:0;background:var(--surface-2, #f8fafc)}.sb-map[data-v-048ffff6]{position:absolute;top:0;right:0;bottom:0;left:0}.sb-hover[data-v-048ffff6]{position:absolute;top:12px;left:12px;display:flex;align-items:stretch;gap:10px;padding:9px 12px 9px 9px;border-radius:10px;background:#0f172aeb;color:#fff;box-shadow:0 6px 18px #0000004d;pointer-events:none;font-size:11px;line-height:1.3;max-width:320px;z-index:5}.sb-hover__sw[data-v-048ffff6]{width:4px;align-self:stretch;border-radius:2px;flex-shrink:0}.sb-hover__body[data-v-048ffff6]{display:flex;flex-direction:column;gap:2px;min-width:0}.sb-hover__kind[data-v-048ffff6]{font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;opacity:.7}.sb-hover__pair[data-v-048ffff6]{display:inline-flex;align-items:baseline;gap:5px;font-size:12.5px;flex-wrap:wrap}.sb-hover__pair strong[data-v-048ffff6]{font-weight:700}.sb-hover__pair em[data-v-048ffff6]{font-style:italic;opacity:.6;font-weight:500}.sb-hover__count[data-v-048ffff6]{font-size:10px;opacity:.65;font-variant-numeric:tabular-nums}.sb-modal__legend[data-v-048ffff6]{position:absolute;left:12px;bottom:12px;display:inline-flex;align-items:center;gap:10px;padding:7px 12px;border-radius:999px;background:#0f172ae0;color:#fff;font-size:11px;font-weight:600;box-shadow:0 4px 14px #00000040}.sb-legend[data-v-048ffff6]{display:inline-flex;align-items:center;gap:5px}.sb-legend__dot[data-v-048ffff6]{width:8px;height:8px;border-radius:50%}.sb-modal__panel[data-v-048ffff6]{border-left:1px solid var(--border, #e2e8f0);padding:14px;overflow-y:auto;background:var(--surface-1, #fff);display:flex;flex-direction:column;gap:14px}.sb-section[data-v-048ffff6]{display:flex;flex-direction:column;gap:8px}.sb-section__head[data-v-048ffff6]{display:flex;align-items:baseline;justify-content:space-between}.sb-section__title[data-v-048ffff6]{margin:0;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint, #94a3b8)}.sb-section__count[data-v-048ffff6]{font-size:11px;color:var(--text-muted, #64748b);font-weight:600;font-variant-numeric:tabular-nums}.sb-empty[data-v-048ffff6]{font-size:11px;color:var(--text-faint, #94a3b8);font-style:italic;padding:8px 4px}.sb-list[data-v-048ffff6]{display:flex;flex-direction:column;gap:6px}.sb-row[data-v-048ffff6]{display:grid;grid-template-columns:36px 1fr 36px;gap:6px;align-items:center}.sb-row__index[data-v-048ffff6]{height:26px;display:grid;place-items:center;border-radius:6px;color:#fff;font-size:10px;font-weight:700;letter-spacing:.04em}.sb-row__count[data-v-048ffff6]{text-align:center;font-size:11px;color:var(--text-muted, #475569);background:var(--surface-2, #f8fafc);border:1px solid var(--border, #e2e8f0);border-radius:6px;padding:4px 0;font-variant-numeric:tabular-nums}.sb-input[data-v-048ffff6]{width:100%;padding:6px 9px;border-radius:7px;border:1px solid var(--border, #e2e8f0);background:var(--surface-2, #f8fafc);color:var(--text-strong, #0f172a);font-size:12px;font-family:inherit;transition:border-color .15s,box-shadow .15s,background .15s}.sb-input[data-v-048ffff6]::placeholder{color:var(--text-faint, #94a3b8)}.sb-input[data-v-048ffff6]:focus{outline:none;border-color:#6366f1;background:var(--surface-1, #fff);box-shadow:0 0 0 3px #6366f12e}.sb-cov[data-v-048ffff6]{display:grid;grid-template-columns:1fr 1fr;gap:6px}.sb-cov__btn[data-v-048ffff6]{display:flex;flex-direction:column;gap:3px;padding:9px 11px;text-align:left;border-radius:8px;border:1px solid var(--border, #e2e8f0);background:var(--surface-1, #fff);cursor:pointer;font:inherit;color:var(--text-muted, #475569);transition:border-color .12s ease,background .12s ease}.sb-cov__btn strong[data-v-048ffff6]{font-size:11px;font-weight:700;color:var(--text-strong, #0f172a)}.sb-cov__btn span[data-v-048ffff6]{font-size:10px;color:var(--text-muted, #64748b);line-height:1.35}.sb-cov__btn[data-v-048ffff6]:hover{border-color:var(--border-strong, #cbd5e1)}.sb-cov__btn.is-on[data-v-048ffff6]{background:#2563eb14;border-color:#2563eb}.sb-cov__btn.is-on strong[data-v-048ffff6]{color:#1d4ed8}.sb-mains[data-v-048ffff6]{display:flex;flex-direction:column;gap:10px}.sb-mainblock[data-v-048ffff6]{display:flex;flex-direction:column;gap:6px;padding:8px 8px 6px;border:1px solid var(--border, #e2e8f0);border-radius:8px;background:var(--surface-1, #fff)}.sb-crossings[data-v-048ffff6]{display:flex;flex-direction:column;gap:4px;padding:6px 4px 0 30px}.sb-crossings__head[data-v-048ffff6]{display:flex;align-items:baseline;justify-content:space-between;font-size:9.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-faint, #94a3b8);padding-bottom:2px}.sb-crossings__count[data-v-048ffff6]{font-variant-numeric:tabular-nums;color:var(--text-muted, #64748b)}.sb-crossings__empty[data-v-048ffff6]{font-size:10.5px;font-style:italic;color:var(--text-faint, #94a3b8);padding:3px 0}.sb-crossing[data-v-048ffff6]{display:grid;grid-template-columns:28px 1fr 22px;gap:5px;align-items:center}.sb-crossing__chip[data-v-048ffff6]{height:22px;display:grid;place-items:center;border-radius:5px;color:#fff;font-size:9.5px;font-weight:700;letter-spacing:.04em;font-variant-numeric:tabular-nums;opacity:.85}.sb-crossing .sb-input[data-v-048ffff6]{font-size:11px;padding:4px 8px}.sb-crossing__del[data-v-048ffff6]{width:22px;height:22px;display:grid;place-items:center;border-radius:5px;border:1px solid transparent;background:transparent;color:var(--text-faint, #94a3b8);cursor:pointer;transition:background .12s ease,color .12s ease,border-color .12s ease}.sb-crossing__del[data-v-048ffff6]:hover{color:#b91c1c;background:#fef2f2;border-color:#fecaca}.sb-crossingblock[data-v-048ffff6]{display:flex;flex-direction:column;gap:4px}.sb-parallels[data-v-048ffff6]{margin-left:30px;display:flex;flex-direction:column;gap:3px;padding:4px 6px;border-left:2px solid var(--border, #e2e8f0)}.sb-parallels__lbl[data-v-048ffff6]{font-size:9px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-faint, #94a3b8)}.sb-parallels__row[data-v-048ffff6]{display:grid;grid-template-columns:1fr 1fr;gap:5px}.sb-input--small[data-v-048ffff6]{font-size:10.5px;padding:3px 7px}.sb-alt-toggle[data-v-048ffff6]{display:flex;align-items:flex-start;gap:8px;padding:9px 11px;border-radius:8px;border:1px solid var(--border, #e2e8f0);background:var(--surface-1, #fff);cursor:pointer;-webkit-user-select:none;user-select:none}.sb-alt-toggle.is-on[data-v-048ffff6]{background:#2563eb14;border-color:#2563eb59}.sb-alt-toggle input[type=checkbox][data-v-048ffff6]{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0)}.sb-alt-toggle__box[data-v-048ffff6]{width:16px;height:16px;border-radius:4px;border:1.6px solid #cbd5e1;background:#fff;display:grid;place-items:center;color:transparent;flex-shrink:0;margin-top:1px}.sb-alt-toggle.is-on .sb-alt-toggle__box[data-v-048ffff6]{background:#2563eb;border-color:#2563eb;color:#fff}.sb-alt-toggle__body[data-v-048ffff6]{display:flex;flex-direction:column;gap:2px;min-width:0}.sb-alt-toggle__body strong[data-v-048ffff6]{font-size:11.5px;font-weight:700;color:var(--text-strong, #0f172a)}.sb-alt-toggle__body span[data-v-048ffff6]{font-size:10.5px;line-height:1.35;color:var(--text-muted, #64748b)}.sb-suggest[data-v-048ffff6]{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:8px;border:1px dashed #6366f1;background:#6366f10f;color:#4338ca;font-size:11px;font-weight:600;cursor:pointer;align-self:flex-start}.sb-suggest[data-v-048ffff6]:hover{background:#6366f11f}.sb-tbl[data-v-048ffff6]{display:flex;flex-direction:column;gap:1px;background:var(--border-subtle, #f1f5f9);border:1px solid var(--border, #e2e8f0);border-radius:8px;overflow:hidden}.sb-tbl__head[data-v-048ffff6],.sb-tbl__row[data-v-048ffff6]{display:grid;grid-template-columns:14px 1fr auto;gap:8px;align-items:center;padding:7px 10px;background:var(--surface-1, #fff);font-size:11px}.sb-tbl__sw[data-v-048ffff6]{width:12px;height:12px;border-radius:3px;box-shadow:inset 0 0 0 1px #00000026}.sb-tbl__head[data-v-048ffff6]{background:var(--surface-2, #f8fafc);font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint, #94a3b8)}.sb-tbl__place[data-v-048ffff6]{display:inline-flex;align-items:baseline;gap:4px;min-width:0;overflow:hidden}.sb-tbl__place strong[data-v-048ffff6]{color:var(--text-strong, #0f172a);font-weight:700;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.sb-tbl__place em[data-v-048ffff6]{color:var(--text-faint, #94a3b8);font-style:italic}.sb-tbl__cells[data-v-048ffff6]{text-align:right;font-variant-numeric:tabular-nums;color:var(--text-muted, #475569);font-weight:600}.sb-summary[data-v-048ffff6]{display:flex;flex-direction:column;gap:1px;background:var(--border-subtle, #f1f5f9);border:1px solid var(--border, #e2e8f0);border-radius:8px;overflow:hidden}.sb-summary__row[data-v-048ffff6]{display:flex;justify-content:space-between;padding:6px 10px;background:var(--surface-1, #fff);font-size:11px;color:var(--text-muted, #475569)}.sb-summary__row strong[data-v-048ffff6]{color:var(--text-strong, #0f172a);font-weight:700;font-variant-numeric:tabular-nums}.sb-summary__row--total[data-v-048ffff6]{background:var(--surface-2, #f8fafc);font-weight:600}.sb-country[data-v-048ffff6]{display:grid;grid-template-columns:88px 1fr;gap:6px}.sb-country__row[data-v-048ffff6]{display:grid;grid-template-columns:100%;gap:4px;align-content:start}.sb-country__row>span[data-v-048ffff6]{font-size:9.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted, #475569)}.sb-submit[data-v-048ffff6]{margin-top:4px;display:flex;flex-direction:column;gap:8px;padding:12px;border-radius:10px;border:1px solid var(--border, #e2e8f0);background:var(--surface-2, #f8fafc)}.sb-submit__hint[data-v-048ffff6]{font-size:11px;color:var(--text-muted, #475569);line-height:1.45}.sb-submit__hint strong[data-v-048ffff6]{color:var(--text-strong, #0f172a);font-weight:700;font-variant-numeric:tabular-nums}.sb-submit__hint code[data-v-048ffff6]{font-family:ui-monospace,monospace;font-size:10.5px;background:var(--surface-3, #e2e8f0);color:var(--text-strong, #0f172a);padding:1px 5px;border-radius:4px}.sb-submit__err[data-v-048ffff6]{padding:8px 10px;border-radius:8px;background:#fee2e2;color:#b91c1c;font-size:11px;border:1px solid rgba(220,38,38,.3)}.sb-submit__ok[data-v-048ffff6]{padding:8px 10px;border-radius:8px;background:#d1fae5;color:#047857;font-size:11px;font-weight:600;border:1px solid rgba(16,185,129,.3)}.sb-submit__btn[data-v-048ffff6]{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:9px 12px;border-radius:9px;border:none;background:#2563eb;color:#fff;font-size:12px;font-weight:700;cursor:pointer;transition:background .15s ease,opacity .15s ease,transform .05s ease}.sb-submit__btn[data-v-048ffff6]:hover:not(:disabled){background:#1d4ed8}.sb-submit__btn[data-v-048ffff6]:active:not(:disabled){transform:translateY(1px)}.sb-submit__btn[data-v-048ffff6]:disabled{opacity:.55;cursor:not-allowed}.sb-submit__spinner[data-v-048ffff6]{width:13px;height:13px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;animation:sb-spin-048ffff6 .7s linear infinite}@keyframes sb-spin-048ffff6{to{transform:rotate(360deg)}}.sb-confirm[data-v-048ffff6]{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:8px;background:var(--surface-1, #fff);border:1px solid var(--border, #e2e8f0);cursor:pointer;-webkit-user-select:none;user-select:none;font-size:11px;color:var(--text-muted, #475569)}.sb-confirm.is-on[data-v-048ffff6]{background:#2563eb14;border-color:#2563eb59;color:var(--text-strong, #0f172a)}.sb-confirm input[type=checkbox][data-v-048ffff6]{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0)}.sb-confirm__box[data-v-048ffff6]{width:16px;height:16px;border-radius:4px;border:1.6px solid #cbd5e1;background:#fff;display:grid;place-items:center;color:transparent}.sb-confirm.is-on .sb-confirm__box[data-v-048ffff6]{background:#2563eb;border-color:#2563eb;color:#fff}.sb-confirm__text[data-v-048ffff6]{flex:1;font-weight:600}.sb-edit-toggle[data-v-048ffff6]{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:8px;border:1px solid var(--border, #e2e8f0);background:var(--surface-1, #fff);cursor:pointer;text-align:left;font:inherit;color:var(--text-muted, #475569);transition:border-color .12s ease,background .12s ease}.sb-edit-toggle[data-v-048ffff6]:hover{border-color:var(--border-strong, #cbd5e1)}.sb-edit-toggle.is-on[data-v-048ffff6]{background:#0f172a0f;border-color:#0f172a;color:var(--text-strong, #0f172a)}.sb-edit-toggle.is-on svg[data-v-048ffff6]{color:#0f172a}.sb-edit-toggle__body[data-v-048ffff6]{display:flex;flex-direction:column;gap:2px;min-width:0}.sb-edit-toggle__body strong[data-v-048ffff6]{font-size:12px;font-weight:700;color:var(--text-strong, #0f172a)}.sb-edit-toggle__body span[data-v-048ffff6]{font-size:10.5px;line-height:1.35;color:var(--text-muted, #64748b)}.sb-stroketools[data-v-048ffff6]{position:fixed;top:78px;right:18px;z-index:1300;width:280px;background:var(--surface-1, #fff);border:1px solid var(--border, #e2e8f0);border-radius:11px;box-shadow:0 12px 30px #0f172a38,0 2px 6px #0f172a14;overflow:hidden}.sb-stroketools__head[data-v-048ffff6]{display:flex;align-items:center;gap:8px;padding:9px 11px;border-bottom:1px solid var(--border, #e2e8f0);background:var(--surface-2, #f8fafc)}.sb-stroketools__chip[data-v-048ffff6]{padding:3px 8px;border-radius:5px;color:#fff;font-size:10.5px;font-weight:700;letter-spacing:.04em;font-variant-numeric:tabular-nums}.sb-stroketools__name[data-v-048ffff6]{flex:1;font-size:12px;font-weight:600;color:var(--text-strong, #0f172a);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sb-stroketools__close[data-v-048ffff6]{width:22px;height:22px;display:grid;place-items:center;border-radius:5px;border:1px solid transparent;background:transparent;color:var(--text-muted, #475569);cursor:pointer;transition:background .12s ease,color .12s ease}.sb-stroketools__close[data-v-048ffff6]:hover{background:var(--state-hover, rgba(15, 23, 42, .05));color:var(--text-strong, #0f172a)}.sb-stroketools__body[data-v-048ffff6]{padding:11px;display:flex;flex-direction:column;gap:8px}.sb-stroketools__group[data-v-048ffff6]{display:flex;align-items:center;justify-content:space-between;gap:8px}.sb-stroketools__label[data-v-048ffff6]{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted, #64748b)}.sb-stroketools__width[data-v-048ffff6]{display:inline-flex;align-items:center;border:1px solid var(--border, #e2e8f0);border-radius:7px;background:var(--surface-2, #f8fafc);overflow:hidden}.sb-stroketools__step[data-v-048ffff6]{width:26px;height:26px;display:grid;place-items:center;background:transparent;border:none;color:var(--text-muted, #475569);font-size:14px;font-weight:700;cursor:pointer;transition:background .12s ease}.sb-stroketools__step[data-v-048ffff6]:hover:not(:disabled){background:var(--state-hover, rgba(15, 23, 42, .05));color:var(--text-strong, #0f172a)}.sb-stroketools__step[data-v-048ffff6]:disabled{opacity:.4;cursor:not-allowed}.sb-stroketools__step-val[data-v-048ffff6]{padding:0 10px;font-size:11px;font-weight:600;color:var(--text-strong, #0f172a);font-variant-numeric:tabular-nums}.sb-stroketools__count[data-v-048ffff6]{font-size:12px;font-weight:700;color:var(--text-strong, #0f172a);font-variant-numeric:tabular-nums;background:var(--surface-2, #f8fafc);padding:3px 9px;border-radius:5px;border:1px solid var(--border, #e2e8f0)}.sb-stroketools__danger[data-v-048ffff6]{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:7px 10px;border-radius:7px;border:1px solid #fecaca;background:#fef2f2;color:#b91c1c;font-size:11.5px;font-weight:600;cursor:pointer;transition:background .12s ease}.sb-stroketools__danger[data-v-048ffff6]:hover{background:#fee2e2}@media (max-width: 800px){.sb-modal__body[data-v-048ffff6]{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) 320px}.sb-modal__panel[data-v-048ffff6]{border-left:none;border-top:1px solid var(--border, #e2e8f0)}.sb-panel[data-v-048ffff6]{min-width:0;width:calc(100vw - 32px)}}.dir[data-v-f8bf03d8]{display:grid;grid-template-columns:var(--panel-w) 1fr;height:100%;min-height:0;background:var(--surface-0)}.dir--edit .map[data-v-f8bf03d8]{cursor:crosshair}.panel[data-v-f8bf03d8]{background:var(--surface-1);border-right:1px solid var(--border);color:var(--text);display:flex;flex-direction:column;gap:var(--sp-3);padding:var(--sp-4);overflow-y:auto;min-height:0}.panel__header[data-v-f8bf03d8]{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-2)}.panel__title-wrap[data-v-f8bf03d8]{display:flex;flex-direction:column;min-width:0}.panel__title[data-v-f8bf03d8]{margin:0;font-size:var(--fs-lg);font-weight:var(--fw-semibold);color:var(--text-strong);letter-spacing:-.01em}.panel__subtitle[data-v-f8bf03d8]{font-size:var(--fs-xs);color:var(--text-subtle)}.panel__header-actions[data-v-f8bf03d8]{display:flex;align-items:center;gap:4px}.panel__hint[data-v-f8bf03d8]{margin:0;padding:8px 10px;border-radius:var(--rd-md);background:var(--warning-soft);border:1px solid color-mix(in srgb,var(--warning) 30%,transparent);color:var(--warning);font-size:var(--fs-xs);line-height:1.4}.btn-ghost[data-v-f8bf03d8]{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:var(--rd-md);border:1px solid var(--border);background:transparent;color:var(--text-muted);font-size:var(--fs-sm);font-weight:var(--fw-medium);transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}.btn-ghost[data-v-f8bf03d8]:hover:not(:disabled){background:var(--state-hover);color:var(--text-strong);border-color:var(--border-strong)}.btn-ghost[data-v-f8bf03d8]:disabled{opacity:.4;cursor:not-allowed}.btn-ghost--sq[data-v-f8bf03d8]{width:30px;height:30px;padding:0;justify-content:center}.btn-ghost.is-spinning svg[data-v-f8bf03d8]{animation:spin-f8bf03d8 .9s linear infinite}.stats[data-v-f8bf03d8]{display:flex;align-items:center;gap:8px;padding:8px 11px;border-radius:var(--rd-md);background:var(--surface-2);border:1px solid var(--border);font-size:var(--fs-xs)}.stats__item[data-v-f8bf03d8]{display:inline-flex;align-items:center;gap:5px;color:var(--text-muted);font-weight:var(--fw-medium);font-variant-numeric:tabular-nums}.stats__item--ok[data-v-f8bf03d8]{color:var(--success)}.stats__item--warn[data-v-f8bf03d8]{color:var(--warning)}.stats__dot[data-v-f8bf03d8]{width:6px;height:6px;border-radius:50%}.stats__sep[data-v-f8bf03d8]{width:1px;height:12px;background:var(--border)}.stats__err[data-v-f8bf03d8]{margin-left:auto;color:var(--danger);font-weight:var(--fw-bold);cursor:help}.controls[data-v-f8bf03d8]{display:flex;align-items:center;gap:6px}.search[data-v-f8bf03d8]{flex:1;position:relative;display:flex;align-items:center}.search__icon[data-v-f8bf03d8]{position:absolute;left:10px;color:var(--text-faint);pointer-events:none}.search__input[data-v-f8bf03d8]{width:100%;padding:8px 10px 8px 30px;border-radius:var(--rd-md);border:1px solid var(--border);background:var(--surface-2);color:var(--text-strong);font-size:var(--fs-sm);transition:border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease)}.search__input[data-v-f8bf03d8]::placeholder{color:var(--text-faint)}.search__input[data-v-f8bf03d8]:focus{outline:none;border-color:var(--border-focus);box-shadow:var(--sh-focus)}.chip[data-v-f8bf03d8]{display:inline-flex;align-items:center;gap:5px;padding:6px 10px;border-radius:var(--rd-md);border:1px solid var(--border);background:var(--surface-2);color:var(--text-muted);font-size:var(--fs-xs);font-weight:var(--fw-semibold);letter-spacing:.02em;transition:color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}.chip[data-v-f8bf03d8]:hover{color:var(--text-strong);border-color:var(--border-strong)}.chip--accent[data-v-f8bf03d8]{color:#a78bfa;border-color:color-mix(in srgb,#a78bfa 40%,transparent);background:color-mix(in srgb,#a78bfa 10%,transparent)}.empty[data-v-f8bf03d8]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:var(--sp-10) var(--sp-4);text-align:center;color:var(--text-subtle);font-size:var(--fs-sm)}.empty__spinner[data-v-f8bf03d8]{width:22px;height:22px;border-radius:50%;border:2px solid var(--border);border-top-color:var(--brand);animation:spin-f8bf03d8 .7s linear infinite}.groups[data-v-f8bf03d8]{display:flex;flex-direction:column;gap:4px}.group[data-v-f8bf03d8]{border-radius:var(--rd-md);overflow:visible}.group--warn .group__row[data-v-f8bf03d8]{border-left:2px solid color-mix(in srgb,var(--warning) 45%,transparent)}.group__row[data-v-f8bf03d8]{position:relative;display:flex;align-items:stretch;border-radius:var(--rd-md);background:var(--surface-2);border:1px solid var(--border-subtle);transition:border-color var(--dur-fast) var(--ease);overflow:visible}.group__row[data-v-f8bf03d8]:hover{border-color:var(--border)}.group__color[data-v-f8bf03d8]{display:grid;place-items:center;width:32px;flex-shrink:0;border-radius:var(--rd-md) 0 0 var(--rd-md);transition:background var(--dur-fast) var(--ease)}.group__color[data-v-f8bf03d8]:hover:not(:disabled){background:var(--state-hover)}.group__color[data-v-f8bf03d8]:disabled{cursor:default}.group__dot[data-v-f8bf03d8]{width:10px;height:10px;border-radius:3px;box-shadow:inset 0 0 0 1px #ffffff1a;transition:transform var(--dur-fast) var(--ease)}.group__color:hover:not(:disabled) .group__dot[data-v-f8bf03d8]{transform:scale(1.2)}.colorpicker[data-v-f8bf03d8]{position:absolute;top:calc(100% + 6px);left:0;display:grid;grid-template-columns:repeat(5,20px);gap:4px;padding:8px;background:var(--surface-1);border:1px solid var(--border);border-radius:var(--rd-lg);box-shadow:var(--sh-lg);z-index:100}.colorpicker__swatch[data-v-f8bf03d8]{width:20px;height:20px;border-radius:4px;box-shadow:inset 0 0 0 1px #ffffff1a;transition:transform var(--dur-fast) var(--ease)}.colorpicker__swatch[data-v-f8bf03d8]:hover{transform:scale(1.2)}.group__name-btn[data-v-f8bf03d8]{flex:1;display:flex;align-items:center;gap:8px;padding:8px;background:transparent;color:var(--text);font-size:var(--fs-sm);text-align:left;min-width:0;transition:background var(--dur-fast) var(--ease)}.group__name-btn[data-v-f8bf03d8]:hover{background:var(--state-hover)}.group__name[data-v-f8bf03d8]{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:var(--fw-medium);color:var(--text-strong)}.group--warn .group__name[data-v-f8bf03d8]{color:var(--warning);font-style:italic}.group__badge[data-v-f8bf03d8]{font-size:10px;color:var(--text-muted);background:var(--surface-3);padding:2px 7px;border-radius:var(--rd-full);font-variant-numeric:tabular-nums;font-weight:var(--fw-semibold)}.group__caret[data-v-f8bf03d8]{color:var(--text-faint);transition:transform var(--dur-fast) var(--ease)}.group__caret.is-open[data-v-f8bf03d8]{transform:rotate(90deg)}.group__select[data-v-f8bf03d8]{width:34px;display:grid;place-items:center;border-left:1px solid var(--border-subtle);color:var(--text-faint);border-radius:0 var(--rd-md) var(--rd-md) 0;transition:color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease)}.group__select[data-v-f8bf03d8]:hover{color:var(--brand-strong);background:var(--state-hover)}.group__list[data-v-f8bf03d8]{display:flex;flex-direction:column;padding:4px 0 0;gap:1px}.gitem[data-v-f8bf03d8]{display:flex;gap:6px;align-items:center;padding:5px 10px;background:transparent;border-radius:var(--rd-sm);color:var(--text-muted);text-align:left;font-size:11px;transition:background var(--dur-fast) var(--ease);min-width:0}.gitem[data-v-f8bf03d8]:hover{background:var(--state-hover)}.gitem--sel[data-v-f8bf03d8]{background:var(--brand-soft)!important;color:var(--text-strong)}.gitem__cell[data-v-f8bf03d8]{flex:1 1 0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gitem__coord[data-v-f8bf03d8]{font-family:var(--font-mono);color:var(--text-muted);flex:0 0 auto;min-width:80px}.gitem__id[data-v-f8bf03d8]{font-family:var(--font-mono);color:var(--text-faint)}.gitem__place[data-v-f8bf03d8]{color:var(--text-subtle)}.gitem__placeid[data-v-f8bf03d8]{font-family:var(--font-mono);color:var(--text-faint)}.gitem__addr[data-v-f8bf03d8]{color:var(--text-subtle)}.col-picker-wrap[data-v-f8bf03d8]{position:relative}.col-picker[data-v-f8bf03d8]{position:absolute;top:calc(100% + 4px);right:0;z-index:50;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--rd-md);padding:6px 4px;display:flex;flex-direction:column;gap:2px;min-width:110px;box-shadow:0 4px 12px #00000026}.col-picker__item[data-v-f8bf03d8]{display:flex;align-items:center;gap:6px;padding:4px 8px;border-radius:var(--rd-sm);font-size:11px;color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background var(--dur-fast) var(--ease)}.col-picker__item[data-v-f8bf03d8]:hover{background:var(--state-hover)}.col-picker__item input[type=checkbox][data-v-f8bf03d8]{accent-color:var(--brand)}.map-wrap[data-v-f8bf03d8]{position:relative;min-height:0}.map[data-v-f8bf03d8]{position:absolute;top:0;right:0;bottom:0;left:0}.no-key[data-v-f8bf03d8]{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;display:grid;place-items:center;align-content:center;gap:8px;background:var(--surface-2);color:var(--text);text-align:center;padding:var(--sp-6);font-size:var(--fs-md)}.no-key code[data-v-f8bf03d8]{font-family:var(--font-mono);font-size:var(--fs-xs);padding:2px 6px;border-radius:var(--rd-sm);background:var(--surface-3);color:var(--text-strong)}.toolbar[data-v-f8bf03d8]{position:absolute;top:12px;left:12px;display:flex;align-items:center;gap:4px;padding:4px;border-radius:var(--rd-lg);background:var(--surface-1);border:1px solid var(--border);box-shadow:var(--sh-md);z-index:10}.tbtn[data-v-f8bf03d8]{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:var(--rd-md);background:transparent;color:var(--text-muted);font-size:var(--fs-xs);font-weight:var(--fw-semibold);letter-spacing:.02em;white-space:nowrap;transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.tbtn[data-v-f8bf03d8]:hover{background:var(--state-hover);color:var(--text-strong)}.tbtn.is-active[data-v-f8bf03d8]{background:var(--brand-soft);color:var(--brand-strong)}.tbtn--primary.is-active[data-v-f8bf03d8]{background:var(--brand);color:var(--text-on-brand)}.tbtn__dot[data-v-f8bf03d8]{width:7px;height:7px;border-radius:50%;flex-shrink:0}.tbtn__caret[data-v-f8bf03d8]{color:inherit;opacity:.75;transition:transform var(--dur-fast) var(--ease)}.tbtn__caret.is-open[data-v-f8bf03d8]{transform:rotate(180deg)}.toolbar__divider[data-v-f8bf03d8]{width:1px;height:22px;background:var(--border);margin:0 2px}.toolbar__color-picker[data-v-f8bf03d8]{display:flex;align-items:center;gap:6px;padding:6px 10px;font-size:var(--fs-xs);color:var(--text-muted)}.color-input[data-v-f8bf03d8]{width:24px;height:24px;border:1px solid var(--border);border-radius:var(--rd-sm);cursor:pointer;padding:2px}.color-input[data-v-f8bf03d8]:hover{border-color:var(--brand-500)}.tbtn--alert[data-v-f8bf03d8]{color:var(--warning)!important}.tbtn--alert.is-active[data-v-f8bf03d8]{background:var(--warning-soft)!important;color:var(--warning)!important}.toolbar__dd[data-v-f8bf03d8]{position:relative}.popover[data-v-f8bf03d8]{position:absolute;top:calc(100% + 6px);left:0;width:220px;background:var(--surface-1);border:1px solid var(--border);border-radius:var(--rd-lg);box-shadow:var(--sh-lg);padding:var(--sp-2);z-index:30}.pop-enter-active[data-v-f8bf03d8],.pop-leave-active[data-v-f8bf03d8]{transition:opacity var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease)}.pop-enter-from[data-v-f8bf03d8],.pop-leave-to[data-v-f8bf03d8]{opacity:0;transform:translateY(-6px)}.popover__head[data-v-f8bf03d8]{display:flex;flex-direction:column;gap:8px;padding:4px 6px 10px;border-bottom:1px solid var(--border);margin-bottom:6px}.popover__title[data-v-f8bf03d8]{font-size:10px;font-weight:var(--fw-bold);color:var(--text-faint);letter-spacing:.08em;text-transform:uppercase}.popover__presets[data-v-f8bf03d8]{display:flex;gap:4px}.preset[data-v-f8bf03d8]{flex:1;padding:5px 8px;border-radius:var(--rd-sm);border:1px solid var(--border);background:var(--surface-2);color:var(--text-muted);font-size:var(--fs-xs);font-weight:var(--fw-semibold);transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.preset[data-v-f8bf03d8]:hover{background:var(--surface-3);color:var(--text-strong)}.popover__list[data-v-f8bf03d8]{display:flex;flex-direction:column;gap:2px}.theme-row[data-v-f8bf03d8]{display:flex;align-items:center;gap:10px;padding:8px 0;border-top:1px solid var(--border)}.theme-row__label[data-v-f8bf03d8]{font-size:var(--fs-xs);color:var(--text-muted);font-weight:var(--fw-semibold);flex:none;min-width:38px}.theme-row__seg[data-v-f8bf03d8]{display:flex;flex:1;gap:0;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--rd-sm);padding:2px}.theme-row__btn[data-v-f8bf03d8]{flex:1;padding:5px 8px;border-radius:calc(var(--rd-sm) - 2px);background:transparent;border:none;color:var(--text-muted);font-size:var(--fs-xs);font-weight:var(--fw-semibold);cursor:pointer;transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.theme-row__btn[data-v-f8bf03d8]:hover{color:var(--text-strong)}.theme-row__btn.is-on[data-v-f8bf03d8]{background:var(--brand-500);color:#fff;box-shadow:var(--sh-sm)}.switch-row[data-v-f8bf03d8]{display:flex;align-items:center;gap:10px;padding:6px;border-radius:var(--rd-sm);cursor:pointer;transition:background var(--dur-fast) var(--ease)}.switch-row[data-v-f8bf03d8]:hover{background:var(--state-hover)}.switch-row__check[data-v-f8bf03d8]{display:none}.switch-row__label[data-v-f8bf03d8]{font-size:var(--fs-sm);color:var(--text);flex:1;-webkit-user-select:none;user-select:none}.switch-track[data-v-f8bf03d8]{width:30px;height:16px;border-radius:var(--rd-full);background:var(--surface-3);border:1px solid var(--border-strong);position:relative;flex-shrink:0;transition:background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}.switch-track.is-on[data-v-f8bf03d8]{background:var(--brand);border-color:var(--brand)}.switch-thumb[data-v-f8bf03d8]{position:absolute;top:1px;left:1px;width:12px;height:12px;border-radius:50%;background:var(--surface-1);box-shadow:var(--sh-sm);transition:transform var(--dur-base) var(--ease)}.switch-track.is-on .switch-thumb[data-v-f8bf03d8]{transform:translate(14px)}.editpanel[data-v-f8bf03d8]{position:absolute;top:12px;right:12px;width:320px;max-height:calc(100% - 24px);overflow-y:auto;background:var(--surface-1);border:1px solid var(--border);border-radius:var(--rd-xl);padding:14px;display:flex;flex-direction:column;gap:12px;z-index:20;box-shadow:var(--sh-lg)}.panel-slide-enter-active[data-v-f8bf03d8],.panel-slide-leave-active[data-v-f8bf03d8]{transition:opacity var(--dur-base) var(--ease),transform var(--dur-base) var(--ease)}.panel-slide-enter-from[data-v-f8bf03d8],.panel-slide-leave-to[data-v-f8bf03d8]{opacity:0;transform:translate(10px)}.editpanel__head[data-v-f8bf03d8]{display:flex;align-items:center;justify-content:space-between}.editpanel__label[data-v-f8bf03d8]{display:inline-flex;align-items:center;gap:6px;color:var(--text-muted);font-size:var(--fs-sm)}.editpanel__label svg[data-v-f8bf03d8]{color:var(--brand-strong)}.editpanel__label b[data-v-f8bf03d8]{color:var(--text-strong)}.tag[data-v-f8bf03d8]{font-size:9px;font-weight:var(--fw-bold);letter-spacing:.06em;padding:3px 7px;border-radius:var(--rd-full);text-transform:uppercase}.tag--new[data-v-f8bf03d8]{background:var(--success-soft);color:var(--success)}.tag--edit[data-v-f8bf03d8]{background:var(--brand-soft);color:var(--brand-strong)}.tag--mix[data-v-f8bf03d8]{background:var(--warning-soft);color:var(--warning)}.tag--info[data-v-f8bf03d8]{background:var(--brand-soft);color:var(--brand-strong)}.editpanel__close[data-v-f8bf03d8]{width:26px;height:26px;display:grid;place-items:center;border-radius:var(--rd-md);color:var(--text-subtle);transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.editpanel__close[data-v-f8bf03d8]:hover{background:var(--state-hover);color:var(--text-strong)}.editpanel__cells[data-v-f8bf03d8]{max-height:140px;overflow-y:auto;display:flex;flex-direction:column;gap:3px;padding:2px;margin:-2px}.editpanel__cellshead[data-v-f8bf03d8]{display:flex;align-items:center;gap:6px;padding:0 4px 4px;font-size:9px;letter-spacing:.06em;color:var(--text-faint);text-transform:uppercase}.cellitem__toggle[data-v-f8bf03d8]{margin-left:auto;background:transparent;border:1px solid var(--border-subtle);color:var(--text-muted);border-radius:var(--rd-sm, 6px);padding:2px 7px;font-size:9px;letter-spacing:.04em;cursor:pointer;transition:background .12s,color .12s,border-color .12s}.cellitem__toggle[data-v-f8bf03d8]:hover{background:var(--state-hover);color:var(--text-strong)}.cellitem__toggle.is-on[data-v-f8bf03d8]{background:color-mix(in srgb,var(--accent, #3b82f6) 18%,transparent);border-color:color-mix(in srgb,var(--accent, #3b82f6) 45%,transparent);color:var(--text-strong)}.cellitem[data-v-f8bf03d8]{display:flex;align-items:center;gap:6px;padding:5px 8px;border-radius:var(--rd-md);background:var(--surface-2);font-size:var(--fs-xs);border:1px solid var(--border-subtle);transition:background .12s,border-color .12s}.cellitem[data-v-f8bf03d8]:hover{border-color:color-mix(in srgb,var(--accent, #3b82f6) 30%,transparent)}.cellitem--clickable[data-v-f8bf03d8]{cursor:pointer}.cellitem--clickable[data-v-f8bf03d8]:hover{background:color-mix(in srgb,var(--accent, #3b82f6) 10%,var(--surface-2))}.cellitem--new[data-v-f8bf03d8]{background:var(--success-soft);border-color:color-mix(in srgb,var(--success) 28%,transparent)}.cellitem__col[data-v-f8bf03d8]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cellitem__col--place[data-v-f8bf03d8]{flex:1 1 auto;min-width:0;color:var(--text)}.cellitem__col--coord[data-v-f8bf03d8]{flex:0 0 auto;font-family:var(--font-mono);color:var(--text-muted);font-size:10px;width:64px;text-align:right}.cellitem__btn[data-v-f8bf03d8]{flex:0 0 auto;width:22px;height:22px;display:grid;place-items:center;border-radius:var(--rd-sm, 6px);background:transparent;border:1px solid var(--border-subtle);color:var(--text-muted);cursor:pointer;transition:background .12s,color .12s,border-color .12s}.cellitem__btn--load[data-v-f8bf03d8]:hover{background:color-mix(in srgb,var(--accent, #3b82f6) 18%,transparent);border-color:color-mix(in srgb,var(--accent, #3b82f6) 45%,transparent);color:var(--text-strong)}.cellitem__btn--remove[data-v-f8bf03d8]:hover{background:var(--danger-soft, #fee2e2);border-color:color-mix(in srgb,var(--danger, #ef4444) 40%,transparent);color:var(--danger, #ef4444)}.miniform[data-v-f8bf03d8]{display:flex;flex-direction:column;gap:10px}.miniform__row[data-v-f8bf03d8]{display:flex;flex-direction:column;gap:5px}.miniform__label[data-v-f8bf03d8]{display:flex;align-items:center;justify-content:space-between;font-size:10px;color:var(--text-subtle);text-transform:uppercase;letter-spacing:.08em;font-weight:var(--fw-semibold)}.miniform__inferred[data-v-f8bf03d8]{font-style:italic;color:var(--brand-strong);text-transform:none;letter-spacing:0}.miniform__actions[data-v-f8bf03d8]{display:flex;gap:6px}.miniform__actions .btn[data-v-f8bf03d8]{flex:1;justify-content:center}.miniform__actions .btn--ghost[data-v-f8bf03d8]{flex:0 0 auto}.miniform__grid[data-v-f8bf03d8]{display:grid;grid-template-columns:1fr 1fr;gap:8px}.miniform__grid--cc[data-v-f8bf03d8]{grid-template-columns:72px 1fr}.miniform__confirm[data-v-f8bf03d8]{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:var(--rd-md);background:var(--surface-2);border:1px solid var(--border-subtle);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}.miniform__confirm[data-v-f8bf03d8]:hover{border-color:var(--text-faint)}.miniform__confirm.is-on[data-v-f8bf03d8]{background:var(--success-soft);border-color:color-mix(in srgb,var(--success) 35%,transparent)}.miniform__confirm input[data-v-f8bf03d8]{position:absolute;opacity:0;pointer-events:none}.miniform__confirm-box[data-v-f8bf03d8]{width:16px;height:16px;flex:0 0 16px;display:grid;place-items:center;border-radius:4px;border:1.5px solid var(--border-strong);background:var(--surface-1);color:transparent;transition:background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.miniform__confirm.is-on .miniform__confirm-box[data-v-f8bf03d8]{background:var(--success);border-color:var(--success);color:#fff}.miniform__confirm-text[data-v-f8bf03d8]{font-size:var(--fs-xs);color:var(--text-muted);line-height:1.3}.miniform__confirm.is-on .miniform__confirm-text[data-v-f8bf03d8]{color:var(--text)}.editpanel__ok[data-v-f8bf03d8]{font-size:var(--fs-xs);color:var(--success);padding:0 2px;font-weight:var(--fw-semibold)}.editpanel__tools[data-v-f8bf03d8]{display:flex;flex-direction:column;gap:4px;padding:8px 12px 0}.editpanel__tools .btn--fill[data-v-f8bf03d8]{width:100%;flex:none}.editpanel__err[data-v-f8bf03d8]{font-size:var(--fs-xs);color:var(--danger, #dc2626);padding:0 2px}.input[data-v-f8bf03d8]{padding:9px 11px;border-radius:var(--rd-md);border:1px solid var(--border-strong);background:var(--surface-2);color:var(--text-strong);font-size:var(--fs-md);transition:border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease);width:100%;box-sizing:border-box}.input[data-v-f8bf03d8]::placeholder{color:var(--text-faint)}.input[data-v-f8bf03d8]:hover:not(:disabled):not(.input--readonly){border-color:var(--text-faint)}.input[data-v-f8bf03d8]:focus{outline:none;border-color:var(--border-focus);box-shadow:var(--sh-focus)}.input--mono[data-v-f8bf03d8]{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--text-muted)}.input--readonly[data-v-f8bf03d8]{cursor:default;color:var(--text-muted)}.input--readonly[data-v-f8bf03d8]:focus{border-color:var(--border-strong);box-shadow:none}.btn[data-v-f8bf03d8]{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:9px 14px;border-radius:var(--rd-md);font-size:var(--fs-sm);font-weight:var(--fw-semibold);letter-spacing:.01em;transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease),opacity var(--dur-fast) var(--ease)}.btn[data-v-f8bf03d8]:disabled{opacity:.5;cursor:not-allowed}.btn--ghost[data-v-f8bf03d8]{background:var(--surface-2);border:1px solid var(--border);color:var(--text-muted);flex:1}.btn--ghost[data-v-f8bf03d8]:hover:not(:disabled){background:var(--surface-3);color:var(--text-strong);border-color:var(--border-strong)}.btn--primary[data-v-f8bf03d8]{background:linear-gradient(135deg,var(--brand-700),var(--brand-500));color:var(--text-on-brand);box-shadow:0 4px 12px var(--brand-ring);flex:2}.btn--primary[data-v-f8bf03d8]:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 16px var(--brand-ring)}.btn--primary[data-v-f8bf03d8]:active:not(:disabled){transform:translateY(0)}.btn--lg[data-v-f8bf03d8]{padding:11px 16px;font-size:var(--fs-md)}.btn__spinner[data-v-f8bf03d8]{width:12px;height:12px;border-radius:50%;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;animation:spin-f8bf03d8 .7s linear infinite}.bottombar[data-v-f8bf03d8]{position:absolute;bottom:24px;left:12px;right:12px;display:flex;align-items:flex-end;gap:12px;pointer-events:none;z-index:10}.bottombar[data-v-f8bf03d8]>*{pointer-events:auto}.modebadge[data-v-f8bf03d8]{display:inline-flex;flex:none;align-items:center;gap:7px;padding:6px 12px;border-radius:var(--rd-full);background:var(--surface-1);border:1px solid var(--border);color:var(--text-muted);font-size:10px;font-weight:var(--fw-semibold);letter-spacing:.07em;text-transform:uppercase;pointer-events:none;z-index:10;box-shadow:var(--sh-sm);transition:color var(--dur-base) var(--ease),border-color var(--dur-base) var(--ease)}.modebadge__dot[data-v-f8bf03d8]{width:6px;height:6px;border-radius:50%;background:var(--text-faint);transition:background var(--dur-base) var(--ease),box-shadow var(--dur-base) var(--ease)}.modebadge--edit[data-v-f8bf03d8]{color:var(--brand-strong);border-color:var(--brand-border)}.modebadge--edit .modebadge__dot[data-v-f8bf03d8]{background:var(--brand);box-shadow:0 0 8px var(--brand)}.modebadge--inverse[data-v-f8bf03d8]{color:var(--brand-strong);border-color:var(--brand-border)}.modebadge--inverse .modebadge__dot[data-v-f8bf03d8]{background:var(--brand);box-shadow:0 0 8px var(--brand)}.infocard[data-v-f8bf03d8]{flex:1 1 auto;max-width:420px;background:var(--surface-1);border:1px solid var(--border);border-radius:var(--rd-lg);box-shadow:var(--sh-md);padding:12px 14px;display:flex;flex-direction:column;gap:10px}.infocard__head[data-v-f8bf03d8]{display:flex;align-items:center;justify-content:space-between;gap:10px}.infocard__title-wrap[data-v-f8bf03d8]{display:flex;align-items:center;gap:10px;min-width:0}.infocard__icon[data-v-f8bf03d8]{width:30px;height:30px;display:grid;place-items:center;border-radius:var(--rd-md);background:linear-gradient(135deg,var(--brand-600),var(--brand-400));color:var(--text-on-brand);flex-shrink:0}.infocard__title[data-v-f8bf03d8]{display:block;font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--text-strong);letter-spacing:-.01em}.infocard__subtitle[data-v-f8bf03d8]{display:block;font-size:10px;color:var(--text-subtle);letter-spacing:.05em;text-transform:uppercase;margin-top:2px}.infocard__close[data-v-f8bf03d8]{width:26px;height:26px;display:grid;place-items:center;border-radius:var(--rd-md);color:var(--text-subtle);flex-shrink:0;transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.infocard__close[data-v-f8bf03d8]:hover{background:var(--state-hover);color:var(--text-strong)}.infocard__list[data-v-f8bf03d8]{display:grid;grid-template-columns:1fr;gap:6px;margin:0}.infocard__row[data-v-f8bf03d8]{display:grid;grid-template-columns:110px 1fr;gap:10px;align-items:baseline;padding:6px 8px;border-radius:var(--rd-sm);background:var(--surface-0);border:1px solid var(--border)}.infocard__row dt[data-v-f8bf03d8]{font-size:10px;font-weight:var(--fw-semibold);color:var(--text-subtle);letter-spacing:.06em;text-transform:uppercase}.infocard__row dd[data-v-f8bf03d8]{margin:0;font-size:var(--fs-sm);color:var(--text-strong);word-break:break-word}.infocard__loading[data-v-f8bf03d8]{display:inline-flex;align-items:center;gap:8px;font-size:var(--fs-sm);color:var(--text-muted)}.infocard__spinner[data-v-f8bf03d8]{width:12px;height:12px;border-radius:50%;border:2px solid var(--border);border-top-color:var(--brand);animation:spin-f8bf03d8 .7s linear infinite}.infocard__error[data-v-f8bf03d8]{font-size:var(--fs-sm);color:var(--warning)}.infocard__actions[data-v-f8bf03d8]{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:4px}.infocard__btn[data-v-f8bf03d8]{display:flex;align-items:center;justify-content:center;gap:4px;padding:6px 8px;background:var(--surface-0);border:1px solid var(--border);border-radius:var(--rd-md);font-size:10px;font-weight:var(--fw-semibold);color:var(--text-strong);cursor:pointer;transition:background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease);white-space:nowrap}.infocard__btn[data-v-f8bf03d8]:hover{background:var(--state-hover);border-color:var(--brand-300)}.infocard__btn svg[data-v-f8bf03d8]{flex-shrink:0}.cellhover[data-v-f8bf03d8]{position:absolute;top:64px;right:16px;width:min(320px,calc(100vw - 32px));display:flex;flex-direction:column;gap:10px;padding:12px 14px;border-radius:12px;background:#0f172af0;color:#fff;box-shadow:0 10px 28px #00000059;pointer-events:none;font-size:12px;line-height:1.35;z-index:10}.cellhover__head[data-v-f8bf03d8]{display:flex;align-items:stretch;gap:10px}.cellhover__sw[data-v-f8bf03d8]{width:4px;align-self:stretch;border-radius:2px;flex-shrink:0}.cellhover__head-text[data-v-f8bf03d8]{display:flex;flex-direction:column;gap:2px;min-width:0}.cellhover__kind[data-v-f8bf03d8]{font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;opacity:.7}.cellhover__title[data-v-f8bf03d8]{font-size:13.5px;font-weight:700;word-break:break-word}.cellhover__list[data-v-f8bf03d8]{margin:0;display:grid;grid-template-columns:1fr;gap:6px;border-top:1px solid rgba(255,255,255,.12);padding-top:10px}.cellhover__row[data-v-f8bf03d8]{display:grid;grid-template-columns:92px 1fr;align-items:baseline;gap:8px}.cellhover__row dt[data-v-f8bf03d8]{font-size:9.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;opacity:.55}.cellhover__row dd[data-v-f8bf03d8]{margin:0;font-size:12px;word-break:break-word;opacity:.95}.cellhover__row code[data-v-f8bf03d8]{font-size:11px;font-family:var(--font-mono, ui-monospace, SFMono-Regular, Menlo, monospace);background:#ffffff14;padding:1px 5px;border-radius:4px}.cellhover__foot[data-v-f8bf03d8]{font-size:10.5px;opacity:.7;font-variant-numeric:tabular-nums;border-top:1px solid rgba(255,255,255,.12);padding-top:8px}.zoomhint[data-v-f8bf03d8]{position:absolute;bottom:24px;left:50%;transform:translate(-50%);background:var(--surface-1);color:var(--warning);border:1px solid color-mix(in srgb,var(--warning) 40%,transparent);font-size:var(--fs-xs);font-weight:var(--fw-semibold);padding:5px 14px;border-radius:var(--rd-full);pointer-events:none;z-index:10;box-shadow:var(--sh-sm)}.globalloader[data-v-f8bf03d8]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;align-items:center;gap:var(--sp-3);padding:14px 22px;background:var(--surface-1);border:1px solid var(--border);border-radius:var(--rd-lg);box-shadow:var(--sh-lg);color:var(--text);z-index:30;pointer-events:none;max-width:360px}.globalloader__spinner[data-v-f8bf03d8]{width:22px;height:22px;border-radius:50%;border:3px solid color-mix(in srgb,var(--brand-500) 25%,transparent);border-top-color:var(--brand-500);animation:spin-f8bf03d8 .9s linear infinite;flex:none}.globalloader__text[data-v-f8bf03d8]{display:flex;flex-direction:column;gap:2px}.globalloader__text strong[data-v-f8bf03d8]{font-size:var(--fs-sm);font-weight:var(--fw-semibold)}.globalloader__text span[data-v-f8bf03d8]{font-size:var(--fs-xs);color:var(--text-muted)}.globalerr[data-v-f8bf03d8]{position:absolute;top:70px;left:50%;transform:translate(-50%);padding:8px 14px;background:var(--surface-1);color:var(--danger, #dc2626);border:1px solid color-mix(in srgb,var(--danger, #dc2626) 40%,transparent);border-radius:var(--rd-full);font-size:var(--fs-xs);font-weight:var(--fw-semibold);box-shadow:var(--sh-sm);z-index:30;pointer-events:none}@keyframes spin-f8bf03d8{to{transform:rotate(360deg)}}.panel__hint--info[data-v-f8bf03d8]{color:var(--brand-500);border-color:color-mix(in srgb,var(--brand-500) 35%,transparent)}.globalpanel[data-v-f8bf03d8]{display:flex;flex-direction:column;gap:var(--sp-3);padding:var(--sp-3);border:1px solid color-mix(in srgb,var(--brand-500) 30%,transparent);background:color-mix(in srgb,var(--brand-500) 6%,var(--surface-1));border-radius:var(--rd-md)}.globalpanel__row[data-v-f8bf03d8]{display:flex;gap:var(--sp-2);align-items:flex-start}.globalpanel__dot[data-v-f8bf03d8]{flex:none;width:10px;height:10px;margin-top:6px;border-radius:50%;background:var(--brand-500);box-shadow:0 0 0 4px color-mix(in srgb,var(--brand-500) 20%,transparent)}.globalpanel__text[data-v-f8bf03d8]{display:flex;flex-direction:column;gap:2px}.globalpanel__text strong[data-v-f8bf03d8]{font-size:var(--fs-sm);font-weight:var(--fw-semibold)}.globalpanel__text span[data-v-f8bf03d8]{font-size:var(--fs-xs);color:var(--text-muted)}.globalpanel__fetch[data-v-f8bf03d8],.globalpanel__exit[data-v-f8bf03d8]{align-self:stretch;display:inline-flex;align-items:center;justify-content:center;gap:8px}.backdrop[data-v-f8bf03d8]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal);background:var(--overlay);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:var(--sp-5)}.modal[data-v-f8bf03d8]{width:100%;max-width:560px;max-height:90vh;background:var(--surface-1);border:1px solid var(--border);border-radius:var(--rd-2xl);box-shadow:var(--sh-xl);display:flex;flex-direction:column;overflow:hidden}.modal-enter-active[data-v-f8bf03d8],.modal-leave-active[data-v-f8bf03d8]{transition:opacity var(--dur-base) var(--ease)}.modal-enter-active .modal[data-v-f8bf03d8],.modal-leave-active .modal[data-v-f8bf03d8]{transition:opacity var(--dur-base) var(--ease),transform var(--dur-base) var(--ease)}.modal-enter-from[data-v-f8bf03d8],.modal-leave-to[data-v-f8bf03d8]{opacity:0}.modal-enter-from .modal[data-v-f8bf03d8],.modal-leave-to .modal[data-v-f8bf03d8]{transform:scale(.96) translateY(8px)}.modal__header[data-v-f8bf03d8]{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--border);flex-shrink:0}.modal__header-left[data-v-f8bf03d8]{display:flex;align-items:center;gap:12px;min-width:0}.modal__icon[data-v-f8bf03d8]{width:38px;height:38px;border-radius:var(--rd-lg);display:grid;place-items:center;background:linear-gradient(135deg,var(--brand-600),var(--brand-400));color:var(--text-on-brand);box-shadow:0 4px 12px var(--brand-ring);flex-shrink:0}.modal__title[data-v-f8bf03d8]{font-size:var(--fs-lg);font-weight:var(--fw-semibold);color:var(--text-strong);letter-spacing:-.01em}.modal__subtitle[data-v-f8bf03d8]{font-size:var(--fs-xs);color:var(--text-subtle);margin-top:2px}.modal__close[data-v-f8bf03d8]{width:30px;height:30px;display:grid;place-items:center;border-radius:var(--rd-md);color:var(--text-subtle);transition:color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease);flex-shrink:0}.modal__close[data-v-f8bf03d8]:hover{background:var(--state-hover);color:var(--text-strong)}.modal__success[data-v-f8bf03d8]{display:flex;align-items:center;gap:14px;padding:var(--sp-8) var(--sp-6)}.modal__success-icon[data-v-f8bf03d8]{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:var(--success-soft);color:var(--success);flex-shrink:0}.modal__success-title[data-v-f8bf03d8]{font-size:var(--fs-lg);font-weight:var(--fw-semibold);color:var(--text-strong)}.modal__success-subtitle[data-v-f8bf03d8]{font-size:var(--fs-sm);color:var(--text-subtle);margin-top:2px}.modal__section[data-v-f8bf03d8]{padding:16px 20px 0}.modal__section-head[data-v-f8bf03d8]{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.modal__section-label[data-v-f8bf03d8]{font-size:10px;font-weight:var(--fw-bold);color:var(--text-faint);letter-spacing:.08em;text-transform:uppercase}.modal__count[data-v-f8bf03d8]{font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:var(--text-muted);background:var(--surface-3);padding:2px 8px;border-radius:var(--rd-full);font-variant-numeric:tabular-nums}.chips[data-v-f8bf03d8]{display:flex;flex-wrap:wrap;gap:4px;max-height:90px;overflow-y:auto;padding:8px 10px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--rd-md)}.coord-chip[data-v-f8bf03d8]{font-family:var(--font-mono);font-size:10px;color:var(--text-muted);background:var(--surface-1);border:1px solid var(--border);border-radius:var(--rd-sm);padding:2px 8px}.modal__form[data-v-f8bf03d8]{display:flex;flex-direction:column;gap:14px;padding:16px 20px 20px;overflow-y:auto}.section-title[data-v-f8bf03d8]{font-size:10px;font-weight:var(--fw-bold);color:var(--brand-strong);text-transform:uppercase;letter-spacing:.08em;padding-bottom:6px;border-bottom:1px solid var(--border);margin-top:4px}.section-title[data-v-f8bf03d8]:first-of-type{margin-top:0}.grid-2[data-v-f8bf03d8]{display:grid;grid-template-columns:1fr 1fr;gap:10px}.field[data-v-f8bf03d8]{display:flex;flex-direction:column;gap:5px}.field__label[data-v-f8bf03d8]{font-size:10px;font-weight:var(--fw-semibold);color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;display:inline-flex;align-items:center;gap:6px}.req[data-v-f8bf03d8]{color:var(--danger);font-size:11px;font-weight:var(--fw-bold)}.row-attached[data-v-f8bf03d8]{display:flex;gap:6px}.row-attached .input[data-v-f8bf03d8]{flex:1;min-width:0}.btn-attached[data-v-f8bf03d8]{width:36px;display:grid;place-items:center;border-radius:var(--rd-md);border:1px solid var(--border-strong);background:var(--surface-2);color:var(--brand-strong);transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}.btn-attached[data-v-f8bf03d8]:hover{background:var(--brand-soft);border-color:var(--brand);color:var(--brand)}.alert[data-v-f8bf03d8]{display:flex;align-items:flex-start;gap:8px;padding:10px 12px;border-radius:var(--rd-md);font-size:var(--fs-sm);line-height:1.4}.alert svg[data-v-f8bf03d8]{flex-shrink:0;margin-top:2px}.alert--error[data-v-f8bf03d8]{background:var(--danger-soft);border:1px solid color-mix(in srgb,var(--danger) 30%,transparent);color:var(--danger)}.fade-enter-active[data-v-f8bf03d8],.fade-leave-active[data-v-f8bf03d8]{transition:opacity var(--dur-fast) var(--ease)}.fade-enter-from[data-v-f8bf03d8],.fade-leave-to[data-v-f8bf03d8]{opacity:0}.modal__actions[data-v-f8bf03d8]{display:flex;gap:8px;margin-top:4px}@media (max-width: 860px){.dir[data-v-f8bf03d8]{grid-template-columns:1fr;grid-template-rows:1fr auto}.panel[data-v-f8bf03d8]{order:2;max-height:40vh;border-right:none;border-top:1px solid var(--border)}.map-wrap[data-v-f8bf03d8]{order:1;min-height:50vh}.editpanel[data-v-f8bf03d8]{width:calc(100% - 24px)}.toolbar[data-v-f8bf03d8]{flex-wrap:wrap;max-width:calc(100% - 24px)}}.layout[data-v-240e1932]{display:grid;grid-template-rows:var(--header-h) 1fr;height:100vh;min-height:0;background:var(--surface-0)}.layout__header[data-v-240e1932]{background:var(--surface-nav);border-bottom:1px solid var(--border);position:relative;z-index:20}.layout__header-inner[data-v-240e1932]{height:100%;display:flex;align-items:center;gap:var(--sp-4);padding:0 var(--sp-5)}.layout__brand[data-v-240e1932]{display:flex;align-items:center;gap:10px;color:var(--text-strong);font-weight:var(--fw-semibold);letter-spacing:-.01em}.layout__brand[data-v-240e1932]:hover{text-decoration:none}.layout__logo[data-v-240e1932]{width:30px;height:30px;display:grid;place-items:center;border-radius:var(--rd-md);background:linear-gradient(135deg,var(--brand-600),var(--brand-400));color:var(--text-on-brand);box-shadow:0 4px 10px var(--brand-ring),inset 0 1px #ffffff40}.layout__brand-name[data-v-240e1932]{font-size:var(--fs-lg)}.layout__nav[data-v-240e1932]{display:flex;align-items:center;gap:2px;flex:1;margin-left:var(--sp-3)}.layout__nav-item[data-v-240e1932]{display:inline-flex;align-items:center;gap:8px;color:var(--text-muted);padding:8px 12px;border-radius:var(--rd-md);font-size:var(--fs-md);font-weight:var(--fw-medium);transition:color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease)}.layout__nav-item[data-v-240e1932]:hover{color:var(--text-strong);background:var(--surface-nav-hover);text-decoration:none}.layout__nav-item.is-active[data-v-240e1932]{color:var(--brand-strong);background:var(--brand-soft)}.layout__nav-dot[data-v-240e1932]{width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.55}.layout__nav-item.is-active .layout__nav-dot[data-v-240e1932]{opacity:1}.layout__actions[data-v-240e1932]{display:flex;align-items:center;gap:8px}.layout__icon-btn[data-v-240e1932]{width:34px;height:34px;display:grid;place-items:center;border-radius:var(--rd-md);border:1px solid var(--border);background:transparent;color:var(--text-muted);transition:color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}.layout__icon-btn[data-v-240e1932]:hover{color:var(--text-strong);background:var(--surface-nav-hover);border-color:var(--border-strong)}.layout__mobile-toggle[data-v-240e1932]{display:none}.layout__user-wrap[data-v-240e1932]{position:relative}.layout__user-btn[data-v-240e1932]{display:flex;align-items:center;gap:8px;padding:4px 10px 4px 4px;border-radius:var(--rd-full);border:1px solid var(--border);color:var(--text);font-size:var(--fs-sm);font-weight:var(--fw-medium);transition:border-color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease)}.layout__user-btn[data-v-240e1932]:hover,.layout__user-btn.is-open[data-v-240e1932]{border-color:var(--border-strong);background:var(--surface-nav-hover)}.layout__avatar[data-v-240e1932]{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:var(--fw-bold);color:var(--text-on-brand);background:linear-gradient(135deg,var(--brand-600),var(--brand-400));flex-shrink:0;text-transform:uppercase}.layout__avatar--lg[data-v-240e1932]{width:36px;height:36px;font-size:14px}.layout__user-email[data-v-240e1932]{max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.layout__user-caret[data-v-240e1932]{color:var(--text-faint);transition:transform var(--dur-fast) var(--ease)}.layout__user-btn.is-open .layout__user-caret[data-v-240e1932]{transform:rotate(180deg)}.layout__menu[data-v-240e1932]{position:absolute;top:calc(100% + 8px);right:0;min-width:260px;background:var(--surface-1);border:1px solid var(--border);border-radius:var(--rd-xl);box-shadow:var(--sh-lg);padding:var(--sp-2);z-index:var(--z-dropdown)}.layout__menu-head[data-v-240e1932]{display:flex;align-items:center;gap:10px;padding:var(--sp-2) var(--sp-3)}.layout__menu-id[data-v-240e1932]{display:flex;flex-direction:column;min-width:0}.layout__menu-email[data-v-240e1932]{color:var(--text-strong);font-size:var(--fs-sm);font-weight:var(--fw-semibold);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:200px}.layout__menu-role[data-v-240e1932]{color:var(--text-faint);font-size:var(--fs-xs)}.layout__menu-divider[data-v-240e1932]{height:1px;background:var(--border);margin:6px 0}.layout__menu-item[data-v-240e1932]{display:flex;align-items:center;gap:10px;width:100%;padding:8px 12px;border-radius:var(--rd-md);color:var(--text);font-size:var(--fs-sm);transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.layout__menu-item[data-v-240e1932]:hover{background:var(--surface-nav-hover);color:var(--text-strong)}.layout__menu-item--danger[data-v-240e1932]{color:var(--danger)}.layout__menu-item--danger[data-v-240e1932]:hover{background:var(--danger-soft);color:var(--danger)}.menu-enter-active[data-v-240e1932],.menu-leave-active[data-v-240e1932]{transition:opacity var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease)}.menu-enter-from[data-v-240e1932],.menu-leave-to[data-v-240e1932]{opacity:0;transform:translateY(-6px) scale(.98)}.layout__main[data-v-240e1932]{min-height:0;overflow:hidden}@media (max-width: 720px){.layout__header-inner[data-v-240e1932]{padding:0 var(--sp-3);gap:var(--sp-2)}.layout__brand-name[data-v-240e1932],.layout__user-email[data-v-240e1932]{display:none}.layout__mobile-toggle[data-v-240e1932]{display:grid}.layout__nav[data-v-240e1932]{position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:4px;padding:var(--sp-3);margin:0;background:var(--surface-1);border-bottom:1px solid var(--border);box-shadow:var(--sh-md);transform:translateY(-8px);opacity:0;pointer-events:none;transition:opacity var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease)}.layout__nav.is-open[data-v-240e1932]{opacity:1;transform:translateY(0);pointer-events:auto}}:root{--font-sans: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--fs-xs: 11px;--fs-sm: 12px;--fs-md: 13px;--fs-base: 14px;--fs-lg: 16px;--fs-xl: 18px;--fs-2xl: 22px;--fs-3xl: 28px;--fw-regular: 400;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700;--lh-tight: 1.25;--lh-normal: 1.5;--sp-0: 0;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-8: 32px;--sp-10: 40px;--sp-12: 48px;--rd-sm: 4px;--rd-md: 6px;--rd-lg: 8px;--rd-xl: 12px;--rd-2xl: 16px;--rd-full: 9999px;--header-h: 56px;--panel-w: 320px;--ease: cubic-bezier(.4, 0, .2, 1);--dur-fast: .12s;--dur-base: .18s;--dur-slow: .28s;--z-dropdown: 50;--z-overlay: 100;--z-modal: 1000;--z-toast: 1100;--brand-500: #3b82f6;--brand-600: #2563eb;--brand-700: #1d4ed8;--brand-400: #60a5fa}:root,[data-theme=dark]{color-scheme:dark;--surface-0: #060b18;--surface-1: #0b1424;--surface-2: #0f1b30;--surface-3: #14243d;--surface-4: #1a2d50;--surface-nav: #0b1220;--surface-nav-hover: #162033;--text-strong: #f1f5f9;--text: #cbd5e1;--text-muted: #94a3b8;--text-subtle: #64748b;--text-faint: #475569;--text-on-brand: #ffffff;--border: #1e293b;--border-strong: #334155;--border-subtle: #13203a;--border-focus: var(--brand-500);--state-hover: rgba(255, 255, 255, .04);--state-active: rgba(255, 255, 255, .08);--overlay: rgba(2, 6, 16, .72);--brand: var(--brand-500);--brand-strong: var(--brand-400);--brand-soft: rgba(59, 130, 246, .14);--brand-ring: rgba(59, 130, 246, .28);--brand-border: #1e3a6e;--success: #4ade80;--success-soft: rgba(74, 222, 128, .12);--warning: #fbbf24;--warning-soft: rgba(251, 191, 36, .12);--danger: #f87171;--danger-soft: rgba(248, 113, 113, .12);--info: var(--brand-400);--sh-sm: 0 1px 2px rgba(0, 0, 0, .35);--sh-md: 0 4px 12px rgba(0, 0, 0, .4);--sh-lg: 0 10px 32px rgba(0, 0, 0, .5);--sh-xl: 0 24px 60px rgba(0, 0, 0, .65);--sh-focus: 0 0 0 3px var(--brand-ring)}[data-theme=light]{color-scheme:light;--surface-0: #f1f5f9;--surface-1: #ffffff;--surface-2: #f8fafc;--surface-3: #eef2f7;--surface-4: #e2e8f0;--surface-nav: #ffffff;--surface-nav-hover: #f1f5f9;--text-strong: #0b1220;--text: #1e293b;--text-muted: #475569;--text-subtle: #64748b;--text-faint: #94a3b8;--text-on-brand: #ffffff;--border: #e2e8f0;--border-strong: #cbd5e1;--border-subtle: #eef2f7;--border-focus: var(--brand-600);--state-hover: rgba(15, 23, 42, .04);--state-active: rgba(15, 23, 42, .08);--overlay: rgba(15, 23, 42, .45);--brand: var(--brand-600);--brand-strong: var(--brand-700);--brand-soft: rgba(37, 99, 235, .08);--brand-ring: rgba(37, 99, 235, .25);--brand-border: #bfdbfe;--success: #16a34a;--success-soft: rgba(22, 163, 74, .1);--warning: #d97706;--warning-soft: rgba(217, 119, 6, .12);--danger: #dc2626;--danger-soft: rgba(220, 38, 38, .08);--info: var(--brand-600);--sh-sm: 0 1px 2px rgba(15, 23, 42, .06);--sh-md: 0 6px 16px rgba(15, 23, 42, .08);--sh-lg: 0 12px 32px rgba(15, 23, 42, .12);--sh-xl: 0 24px 60px rgba(15, 23, 42, .18);--sh-focus: 0 0 0 3px var(--brand-ring)}*{box-sizing:border-box}html,body,#app{height:100%;margin:0;padding:0}body{font-family:var(--font-sans);font-size:var(--fs-base);line-height:var(--lh-normal);color:var(--text);background:var(--surface-0);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;transition:background-color var(--dur-base) var(--ease),color var(--dur-base) var(--ease)}a{color:var(--brand-strong);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}button{cursor:pointer;background:none;border:none;padding:0}:focus-visible{outline:none;box-shadow:var(--sh-focus);border-radius:var(--rd-sm)}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--rd-full);border:2px solid transparent;background-clip:padding-box}*::-webkit-scrollbar-thumb:hover{background:var(--text-faint);background-clip:padding-box}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
