.modal-mask[data-v-75195b8d]{z-index:10001;-webkit-backdrop-filter:blur(4px);background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-panel[data-v-75195b8d]{border-radius:var(--radius-lg);width:100%;max-width:480px;max-height:85vh;box-shadow:var(--shadow-xl);background:#fff;border:none;flex-direction:column;margin:16px;display:flex;overflow:hidden}.modal-header[data-v-75195b8d]{justify-content:space-between;align-items:center;padding:20px 24px 16px;display:flex}.modal-title[data-v-75195b8d]{letter-spacing:-.01em;margin:0;font-size:16px;font-weight:700}.modal-close[data-v-75195b8d]{border-radius:var(--radius-xs);cursor:pointer;width:28px;height:28px;color:var(--color-text-muted);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;transition:all .15s;display:flex}.modal-close[data-v-75195b8d]:hover{color:var(--color-text-secondary);background:#0000000d}.modal-body[data-v-75195b8d]{color:var(--color-text-secondary);padding:0 24px 24px;font-size:14px;overflow-y:auto}.modal-footer[data-v-75195b8d]{border-top:1px solid var(--color-stroke);justify-content:flex-end;gap:8px;padding:12px 24px 20px;display:flex}.confirm-msg[data-v-0209336b]{color:var(--color-text-secondary);word-break:break-word;white-space:pre-wrap;margin:0 0 20px;font-size:14px;line-height:1.6}.confirm-msg.danger[data-v-0209336b]{color:var(--color-text-primary);background:#ef44440f;border-left:3px solid #ef4444;border-radius:4px;padding-top:10px;padding-bottom:10px;padding-left:12px}.require-text-wrap[data-v-0209336b]{margin:0 0 20px}.require-hint[data-v-0209336b]{color:var(--color-text-secondary);margin:0 0 8px;font-size:13px}.require-hint code[data-v-0209336b]{background:var(--color-bg-inset);color:var(--color-text-primary);border-radius:3px;padding:2px 6px;font-weight:600}.require-input[data-v-0209336b]{border:1px solid var(--color-stroke);border-radius:var(--radius-sm);background:var(--color-bg-base);width:100%;color:var(--color-text-primary);box-sizing:border-box;padding:8px 12px;font-family:inherit;font-size:13px}.require-input[data-v-0209336b]:focus{border-color:var(--color-brand);outline:none}.confirm-actions[data-v-0209336b]{justify-content:flex-end;gap:8px;display:flex}.confirm-actions button[data-v-0209336b]{border-radius:var(--radius-sm);cursor:pointer;padding:7px 18px;font-family:inherit;font-size:13px;font-weight:600;transition:all .15s}.btn-cancel[data-v-0209336b]{background:var(--color-bg-subtle);border:1px solid var(--color-stroke);color:var(--color-text-secondary)}.btn-cancel[data-v-0209336b]:hover{background:var(--color-bg-inset)}.btn-ok[data-v-0209336b]{background:var(--color-brand);border:1px solid var(--color-brand);color:#fff}.btn-ok[data-v-0209336b]:hover:not(:disabled){opacity:.9}.btn-ok[data-v-0209336b]:disabled{opacity:.4;cursor:not-allowed}.btn-ok.danger[data-v-0209336b]{background:#ef4444;border-color:#ef4444}.btn-ok.danger[data-v-0209336b]:hover:not(:disabled){background:#dc2626}.app-btn[data-v-58a86743]{border-radius:var(--radius-sm);cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--color-text-primary);transition:all .15s var(--ease-smooth);white-space:nowrap;letter-spacing:.01em;background:#fff;border:1px solid #0000;justify-content:center;align-items:center;gap:6px;font-family:inherit;font-weight:500;display:inline-flex}.app-btn[data-v-58a86743]:hover:not(:disabled){background:var(--color-bg-subtle);border-color:var(--color-stroke-2)}.app-btn[data-v-58a86743]:active:not(:disabled){transform:scale(.97)}.app-btn[data-v-58a86743]:focus-visible{box-shadow:var(--shadow-ring)}.app-btn[data-v-58a86743]:disabled{opacity:.5;cursor:not-allowed}.app-btn--sm[data-v-58a86743]{border-radius:var(--radius-xs);height:30px;padding:0 10px;font-size:12px}.app-btn--md[data-v-58a86743]{height:36px;padding:0 14px;font-size:13px}.app-btn--lg[data-v-58a86743]{height:42px;padding:0 20px;font-size:14px}.app-btn--primary[data-v-58a86743]{background:var(--color-brand);border-color:var(--color-brand);color:#fff;box-shadow:none;font-weight:600}.app-btn--primary[data-v-58a86743]:hover:not(:disabled){background:var(--color-brand-hover);border-color:var(--color-brand-hover);box-shadow:none}.app-btn--primary[data-v-58a86743]:focus-visible{box-shadow:var(--shadow-ring)}.app-btn--danger[data-v-58a86743]{border-color:var(--color-stroke-2);color:var(--color-danger);background:#fff}.app-btn--danger[data-v-58a86743]:hover:not(:disabled){background:var(--color-danger-soft);border-color:#ef444433}.app-btn--danger[data-v-58a86743]:focus-visible{box-shadow:var(--shadow-ring-danger)}.app-btn--ghost[data-v-58a86743]{color:var(--color-text-secondary);background:0 0;border-color:#0000}.app-btn--ghost[data-v-58a86743]:hover:not(:disabled){color:var(--color-text-primary);background:#0000000a}.app-btn--warm[data-v-58a86743]{background:var(--color-accent-amber);border-color:var(--color-accent-amber);color:#fff;box-shadow:none;font-weight:600}.app-btn--warm[data-v-58a86743]:hover:not(:disabled){box-shadow:none;background:#9a7209;border-color:#9a7209}.app-btn--warm[data-v-58a86743]:focus-visible{box-shadow:var(--shadow-ring)}.app-btn__spinner[data-v-58a86743]{border:2px solid;border-top-color:#0000;border-radius:50%;width:14px;height:14px;animation:.6s linear infinite spin}.term-pw-body[data-v-73004789]{flex-direction:column;gap:12px;padding:4px 0;display:flex}.term-pw-hint[data-v-73004789]{color:var(--text-muted,#666);margin:0;font-size:13px;line-height:1.5}.mode-grid[data-v-73004789]{grid-template-columns:1fr 1fr;gap:8px;display:grid}.mode-card[data-v-73004789]{border:2px solid var(--border,#e5e7eb);cursor:pointer;text-align:left;font:inherit;color:inherit;background:#fff;border-radius:8px;padding:12px;transition:border-color .15s,background .15s}.mode-card[data-v-73004789]:hover{border-color:var(--accent,#3b82f6)}.mode-card.active[data-v-73004789]{border-color:var(--accent,#3b82f6);background:#eff6ff}.mode-card-rescue[data-v-73004789]:hover{border-color:#dc2626}.mode-card-rescue.active[data-v-73004789]{background:#fee2e2;border-color:#dc2626}.mode-title[data-v-73004789]{margin-bottom:4px;font-size:14px;font-weight:600}.mode-card-rescue .mode-title[data-v-73004789]{color:#991b1b}.mode-card-rescue.active .mode-title[data-v-73004789]{color:#7f1d1d}.mode-sub[data-v-73004789]{color:var(--text-muted,#6b7280);font-size:11px;line-height:1.4}.term-pw-warning[data-v-73004789]{color:#92400e;background:#fef3c7;border:1px solid #fcd34d;border-radius:6px;padding:10px 12px;font-size:12px;line-height:1.5}.term-pw-rescue[data-v-73004789]{color:#7f1d1d;background:#fee2e2;border:1px solid #fca5a5;border-radius:6px;padding:10px 12px;font-size:12px;line-height:1.5}.term-pw-rescue-caveat[data-v-73004789]{color:#b91c1c;margin-top:4px;font-size:11px;display:block}.term-pw-rate[data-v-73004789]{color:#6b7280;padding:0 2px;font-size:11px}.term-pw-input[data-v-73004789],.term-pw-textarea[data-v-73004789]{border:1px solid var(--border,#e5e7eb);resize:vertical;border-radius:6px;outline:none;padding:10px 12px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:14px}.term-pw-input[data-v-73004789]:focus,.term-pw-textarea[data-v-73004789]:focus{border-color:var(--accent,#3b82f6)}.char-count[data-v-73004789]{color:#b91c1c;text-align:right;font-size:11px}.char-count.enough[data-v-73004789]{color:#166534}.term-pw-actions[data-v-73004789]{justify-content:flex-end;gap:8px;margin-top:8px;display:flex}.svg-icon[data-v-63186795]{vertical-align:middle;fill:currentColor;color:inherit;flex-shrink:0;display:inline-block}.user-chip-wrap[data-v-2f248ab3]{position:relative}.user-chip[data-v-2f248ab3]{border-radius:var(--radius-full);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:3px 10px 3px 3px;font-family:inherit;transition:all .15s;display:flex}.user-chip[data-v-2f248ab3]:hover{background:var(--color-bg-subtle)}.user-avatar[data-v-2f248ab3]{border-radius:var(--radius-full);background:var(--color-brand);color:#fff;justify-content:center;align-items:center;width:26px;height:26px;font-size:11px;font-weight:700;display:flex}.user-name[data-v-2f248ab3]{color:var(--color-text-primary);text-overflow:ellipsis;white-space:nowrap;max-width:100px;font-size:13px;font-weight:500;overflow:hidden}.user-caret[data-v-2f248ab3]{color:var(--color-text-muted);transition:transform .2s}.user-caret.open[data-v-2f248ab3]{transform:rotate(180deg)}.user-menu[data-v-2f248ab3]{border-radius:var(--radius-md);width:240px;box-shadow:var(--shadow-lg);z-index:400;background:#fff;border:none;position:absolute;top:calc(100% + 6px);right:0;overflow:hidden}.user-menu-header[data-v-2f248ab3]{align-items:center;gap:10px;padding:14px 16px;display:flex}.user-menu-avatar[data-v-2f248ab3]{border-radius:var(--radius-full);background:var(--color-brand);color:#fff;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:12px;font-weight:700;display:flex}.user-menu-name[data-v-2f248ab3]{color:var(--color-text-primary);font-size:14px;font-weight:600}.user-menu-email[data-v-2f248ab3]{color:var(--color-text-tertiary);margin-top:1px;font-size:12px}.user-menu-divider[data-v-2f248ab3]{background:var(--color-stroke);height:1px}.user-menu-item[data-v-2f248ab3]{cursor:pointer;width:100%;color:var(--color-text-secondary);text-align:left;background:0 0;border:none;align-items:center;gap:8px;padding:10px 16px;font-family:inherit;font-size:13px;transition:background .12s;display:flex}.user-menu-item[data-v-2f248ab3]:hover{background:var(--color-bg-subtle)}.user-menu-item--danger[data-v-2f248ab3]{color:var(--color-danger)}.auth-overlay[data-v-08b48f7f]{z-index:2000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#14120f8c;justify-content:center;align-items:center;padding:20px;animation:.18s fadeIn-08b48f7f;display:flex;position:fixed;inset:0}.auth-modal[data-v-08b48f7f]{background:#fff;border-radius:12px;width:100%;max-width:380px;animation:.2s popIn-08b48f7f;overflow:hidden;box-shadow:0 20px 60px #0003}.auth-hdr[data-v-08b48f7f]{color:#1f1d1a;border-bottom:1px solid #ece8e2;justify-content:space-between;align-items:center;padding:14px 18px;font-size:14px;font-weight:600;display:flex}.auth-close[data-v-08b48f7f]{cursor:pointer;color:#999;background:0 0;border:0;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:22px;line-height:1;transition:background .15s,color .15s;display:inline-flex}.auth-close[data-v-08b48f7f]:hover{color:#c26b4d;background:#f3f0eb}.auth-cur[data-v-08b48f7f]{color:#6b6359;background:#faf8f4;border-bottom:1px solid #ece8e2;padding:10px 18px;font-size:12px}.auth-cur strong[data-v-08b48f7f]{color:#1f1d1a}.auth-form[data-v-08b48f7f]{flex-direction:column;gap:12px;padding:16px 18px 0;display:flex}.auth-form label[data-v-08b48f7f]{flex-direction:column;gap:4px;display:flex}.auth-form .lbl[data-v-08b48f7f]{color:#524d47;font-size:12px;font-weight:500}.auth-form input[data-v-08b48f7f]{color:#1f1d1a;background:#fafaf8;border:1px solid #d8d2ca;border-radius:6px;outline:none;width:100%;height:38px;padding:0 12px;font-size:13px;transition:border-color .15s,background .15s}.auth-form input[data-v-08b48f7f]:focus{background:#fff;border-color:#c26b4d}.pwd-wrap[data-v-08b48f7f]{position:relative}.pwd-wrap input[data-v-08b48f7f]{padding-right:56px}.pwd-toggle[data-v-08b48f7f]{color:#8e857a;cursor:pointer;background:0 0;border:0;padding:4px 8px;font-size:12px;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.pwd-toggle[data-v-08b48f7f]:hover{color:#c26b4d}.auth-err[data-v-08b48f7f]{color:#b91c1c;background:#ef444414;border-left:3px solid #ef4444;border-radius:4px;padding:8px 10px;font-size:12px}.auth-actions[data-v-08b48f7f]{justify-content:flex-end;gap:8px;margin-top:4px;display:flex}.auth-actions .btn-ghost[data-v-08b48f7f],.auth-actions .btn-primary[data-v-08b48f7f]{cursor:pointer;border-radius:6px;height:34px;padding:0 16px;font-size:13px;transition:all .12s}.auth-actions .btn-ghost[data-v-08b48f7f]{color:#524d47;background:#fff;border:1px solid #d8d2ca}.auth-actions .btn-ghost[data-v-08b48f7f]:hover{color:#c26b4d;border-color:#c26b4d}.auth-actions .btn-primary[data-v-08b48f7f]{color:#fff;letter-spacing:.5px;background:#c26b4d;border:0;flex:1;max-width:180px;font-weight:600}.auth-actions .btn-primary[data-v-08b48f7f]:hover:not(:disabled){opacity:.9}.auth-actions .btn-primary[data-v-08b48f7f]:disabled{opacity:.5;cursor:not-allowed}.auth-hint[data-v-08b48f7f]{color:#94897a;text-align:center;padding:10px 18px 14px;font-size:11px}@keyframes fadeIn-08b48f7f{0%{opacity:0}to{opacity:1}}@keyframes popIn-08b48f7f{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}.nav[data-v-f92cecae]{z-index:300;height:var(--nav-h);background:color-mix(in oklab, var(--surface), transparent 12%);-webkit-backdrop-filter:saturate(1.5)blur(16px);border-bottom:1px solid var(--border-subtle);align-items:center;gap:12px;padding:0 24px;display:flex;position:sticky;top:0}.nav-logo[data-v-f92cecae]{font-family:var(--font-serif);letter-spacing:-.01em;color:var(--text-1);cursor:pointer;border:0;border-right:1px solid var(--border-subtle);background:0 0;align-items:center;gap:10px;height:36px;margin-right:4px;padding-right:18px;font-size:16px;font-weight:500;display:flex}.nav-logo[data-v-f92cecae]:hover{opacity:.85}.nav-logo-mark[data-v-f92cecae]{background:linear-gradient(135deg, var(--brand) 0%, oklch(40% .22 280) 100%);color:#fff;border-radius:6px;place-items:center;width:22px;height:22px;display:grid}.nav-logo-text[data-v-f92cecae]{font-family:var(--font-serif);letter-spacing:.04em}.ws-switcher[data-v-f92cecae]{border:1px solid var(--border);border-radius:var(--r-md);cursor:pointer;color:var(--text-2);background:var(--surface);white-space:nowrap;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;height:30px;padding:5px 10px 5px 12px;font-size:12.5px;transition:border-color .15s,background .15s;display:inline-flex;position:relative}.ws-switcher[data-v-f92cecae]:hover{border-color:var(--border-strong);background:var(--bg-2)}.ws-name[data-v-f92cecae]{text-overflow:ellipsis;max-width:120px;font-weight:500;overflow:hidden}.ws-dropdown[data-v-f92cecae]{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);min-width:220px;box-shadow:var(--shadow-lg);z-index:500;padding:4px;position:absolute;top:calc(100% + 6px);left:0}.ws-dropdown button[data-v-f92cecae]{text-align:left;border-radius:var(--r-sm);cursor:pointer;width:100%;color:var(--text-2);background:0 0;border:0;flex-direction:column;gap:2px;padding:8px 10px;font-family:inherit;font-size:12.5px;transition:background .1s;display:flex}.ws-dropdown button[data-v-f92cecae]:hover{background:var(--bg-2)}.ws-dropdown button.active[data-v-f92cecae]{background:var(--brand-soft);color:var(--text-1)}.ws-item-name[data-v-f92cecae]{color:inherit;font-weight:600}.ws-item-meta[data-v-f92cecae]{color:var(--text-3);font-size:11px}.nav-tabs[data-v-f92cecae]{flex:1;align-items:center;gap:1px;display:flex}.nav-tab[data-v-f92cecae]{color:var(--text-3);border-radius:var(--r-md);transition:color .15s var(--ease-smooth), background .15s var(--ease-smooth);white-space:nowrap;cursor:pointer;background:0 0;border:0;align-items:center;gap:7px;height:32px;padding:7px 12px;font-family:inherit;font-size:13px;font-weight:500;display:inline-flex;position:relative}.nav-tab[data-v-f92cecae]:hover{color:var(--text-1);background:var(--bg-2)}.nav-tab.active[data-v-f92cecae]{color:var(--text-1);background:var(--bg-2);font-weight:600}.nav-tab-icon[data-v-f92cecae]{opacity:.75;flex-shrink:0}.nav-tab.active .nav-tab-icon[data-v-f92cecae]{opacity:1;color:var(--brand)}.nav-tab .count[data-v-f92cecae]{background:var(--danger);color:#fff;border-radius:var(--r-full);text-align:center;min-width:16px;margin-left:2px;padding:3px 5px;font-size:10.5px;font-weight:600;line-height:1}.nav-tab .count.pulse[data-v-f92cecae]{animation:2s ease-in-out infinite badge-pulse-f92cecae}@keyframes badge-pulse-f92cecae{0%,to{opacity:1}50%{opacity:.6}}.nav-right[data-v-f92cecae]{align-items:center;gap:8px;display:inline-flex}@media (width<=768px){.nav[data-v-f92cecae]{border-bottom:none;border-top:1px solid var(--border-subtle);z-index:400;height:56px;padding:0 6px;position:fixed;inset:auto 0 0}.nav-logo[data-v-f92cecae],.nav-right[data-v-f92cecae],.ws-switcher[data-v-f92cecae]{display:none}.nav-tabs[data-v-f92cecae]{justify-content:space-around;gap:0;width:100%}.nav-tab[data-v-f92cecae]{border-radius:var(--r-sm);flex-direction:column;gap:2px;height:48px;padding:6px 8px;font-size:10.5px}.nav-tab.active[data-v-f92cecae]{background:0 0}.nav-tab.active[data-v-f92cecae]:after{content:"";background:var(--brand);border-radius:0 0 2px 2px;width:24px;height:2px;position:absolute;top:-1px;left:50%;transform:translate(-50%)}}.switch-acct-btn[data-v-f92cecae]{border:1px dashed var(--border,#d8d2ca);height:28px;color:var(--text-2,#524d47);cursor:pointer;background:0 0;border-radius:6px;align-items:center;gap:5px;padding:5px 10px;font-size:12px;transition:all .12s;display:inline-flex}.switch-acct-btn[data-v-f92cecae]:hover{border-style:solid;border-color:var(--brand,#c26b4d);color:var(--brand,#c26b4d);background:#c26b4d0a}.switch-acct-btn svg[data-v-f92cecae]{opacity:.85}.site-footer[data-v-e98ac87f]{color:#8a8278;border-top:1px solid var(--color-stroke,#e5e7eb);background:0 0;flex-wrap:wrap;flex:none;justify-content:center;align-items:center;gap:8px;padding:8px 16px;font-size:12px;display:flex}.beian-link[data-v-e98ac87f]{color:inherit;align-items:center;gap:4px;text-decoration:none;display:inline-flex}.beian-link[data-v-e98ac87f]:hover{color:var(--color-brand,#c26b4d)}.sep[data-v-e98ac87f]{opacity:.4}.mps-icon[data-v-e98ac87f]{vertical-align:middle;width:14px;height:14px}@media (width<=480px){.site-footer[data-v-e98ac87f]{padding:6px 12px;font-size:11px}}.toast-wrap[data-v-c5b42dfb]{z-index:10010;pointer-events:none;flex-direction:column;gap:8px;display:flex;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}.toast-item[data-v-c5b42dfb]{pointer-events:auto;border-radius:var(--radius-md);min-width:280px;max-width:460px;box-shadow:var(--shadow-lg);color:var(--color-text-primary);animation:toast-in .4s var(--ease-spring) forwards;background:#fff;border:none;align-items:flex-start;gap:10px;padding:12px 14px;font-size:13px;display:flex}.toast-indicator[data-v-c5b42dfb]{background:var(--color-brand);border-radius:2px;flex-shrink:0;width:4px;min-height:20px;margin-top:1px}.indicator--error[data-v-c5b42dfb]{background:var(--color-danger)}.indicator--success[data-v-c5b42dfb]{background:var(--color-success)}.indicator--info[data-v-c5b42dfb]{background:var(--color-brand)}.toast-content[data-v-c5b42dfb]{flex:1;min-width:0}.toast-title[data-v-c5b42dfb]{color:var(--color-text-primary);font-size:13px;font-weight:600}.toast-content small[data-v-c5b42dfb]{color:var(--color-text-tertiary);margin-top:2px;font-size:12px;display:block}.toast-close[data-v-c5b42dfb]{cursor:pointer;color:var(--color-text-muted);border-radius:var(--radius-xs);background:0 0;border:0;flex-shrink:0;justify-content:center;align-items:center;padding:2px;transition:all .15s;display:flex}.toast-close[data-v-c5b42dfb]:hover{color:var(--color-text-secondary);background:#0000000d}.toast-enter-active[data-v-c5b42dfb]{animation:toast-in .4s var(--ease-spring) forwards}.toast-leave-active[data-v-c5b42dfb]{animation:toast-out .3s var(--ease-smooth) forwards}.toast-move[data-v-c5b42dfb]{transition:transform .3s var(--ease-spring)}.app-layout[data-v-48e5348a]{background:var(--color-bg);flex-direction:column;height:100%;display:flex}.stage[data-v-48e5348a]{flex:1;padding:16px 20px 20px;overflow:hidden}.page-container[data-v-48e5348a]{border-radius:var(--radius-lg);background:var(--color-card);border:1px solid var(--color-stroke);height:100%;box-shadow:var(--shadow-md);position:relative;overflow:hidden}.page-container[data-v-48e5348a]>*{scroll-behavior:smooth;overscroll-behavior:contain;height:100%;padding:20px 24px;overflow-y:auto}.no-perm-shell[data-v-48e5348a]{justify-content:center;align-items:center;height:100%;padding:32px;display:flex}.no-perm-card[data-v-48e5348a]{border:1px solid var(--color-stroke);text-align:center;background:#fff;border-radius:12px;max-width:420px;padding:32px;box-shadow:0 8px 24px #0000000f}.no-perm-icon[data-v-48e5348a]{margin-bottom:12px;font-size:40px}.no-perm-card h2[data-v-48e5348a]{color:#1f1d1a;margin:0 0 8px;font-size:16px;font-weight:600}.no-perm-card p[data-v-48e5348a]{color:#6b6359;margin:0 0 16px;font-size:13px;line-height:1.6}.no-perm-card code[data-v-48e5348a]{background:#faf8f4;border-radius:3px;padding:1px 6px;font-size:12px}.no-perm-meta[data-v-48e5348a]{color:#6b6359;background:#faf8f4;border-radius:6px;margin:16px 0;padding:12px;font-size:12px;line-height:1.7}.no-perm-meta strong[data-v-48e5348a]{color:#1f1d1a}.no-perm-btn[data-v-48e5348a]{color:#fff;cursor:pointer;background:#c26b4d;border:0;border-radius:6px;margin-top:8px;padding:10px 24px;font-size:13px;font-weight:600}.no-perm-btn[data-v-48e5348a]:hover{opacity:.9}.auth-shell[data-v-48e5348a]{background:linear-gradient(135deg,#f5f3ef 0%,#ebe7df 100%);flex:1;justify-content:center;align-items:center;display:flex}.auth-bg-brand[data-v-48e5348a]{opacity:.4;flex-direction:column;align-items:center;display:flex}.brand-mark[data-v-48e5348a]{color:#fff;letter-spacing:.5px;background:linear-gradient(135deg,#c26b4d,#b85535);border-radius:14px;justify-content:center;align-items:center;width:64px;height:64px;margin-bottom:12px;font-size:22px;font-weight:700;display:flex}.brand-name[data-v-48e5348a]{color:#1f1d1a;letter-spacing:.4px;font-size:18px;font-weight:600}@media (width<=768px){.stage[data-v-48e5348a]{padding:8px 8px 64px}.page-container[data-v-48e5348a]{border-radius:var(--radius-md)}.page-container[data-v-48e5348a]>*{padding:14px 12px}}.xterm{cursor:text;-webkit-user-select:none;user-select:none;position:relative}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{z-index:5;position:absolute;top:0}.xterm .xterm-helper-textarea{opacity:0;z-index:-5;white-space:nowrap;resize:none;border:0;width:0;height:0;margin:0;padding:0;position:absolute;top:0;left:-9999em;overflow:hidden}.xterm .composition-view{color:#fff;white-space:nowrap;z-index:1;background:#000;display:none;position:absolute}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{cursor:default;background-color:#000;position:absolute;inset:0;overflow-y:scroll}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;top:0;left:0}.xterm .xterm-scroll-area{visibility:hidden}.xterm-char-measure-element{visibility:hidden;line-height:normal;display:inline-block;position:absolute;top:0;left:-9999em}.xterm.enable-mouse-events{cursor:default}.xterm.xterm-cursor-pointer,.xterm .xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility,.xterm .xterm-message{z-index:10;color:#0000;pointer-events:none;position:absolute;inset:0}.xterm .live-region{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{-webkit-text-decoration:underline double;text-decoration:underline double}.xterm-underline-3{-webkit-text-decoration:underline wavy;text-decoration:underline wavy}.xterm-underline-4{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.xterm-underline-5{-webkit-text-decoration:underline dashed;text-decoration:underline dashed}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:underline overline}.xterm-overline.xterm-underline-2{-webkit-text-decoration:overline double underline;text-decoration:overline double underline}.xterm-overline.xterm-underline-3{-webkit-text-decoration:overline wavy underline;text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{-webkit-text-decoration:overline dotted underline;text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{-webkit-text-decoration:overline dashed underline;text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{z-index:6;position:absolute}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{z-index:8;pointer-events:none;position:absolute;top:0;right:0}.xterm-decoration-top{z-index:2;position:relative}.lan-ssh-overlay[data-v-ee8cfbf9]{z-index:9999;background:#0f172a9e;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.lan-ssh-panel[data-v-ee8cfbf9]{color:#e6e9ef;background:#0b1020;border-radius:10px;flex-direction:column;width:min(960px,92vw);height:min(640px,88vh);transition:width .2s,height .2s;display:flex;overflow:hidden;box-shadow:0 24px 48px #0006}.lan-ssh-panel.is-auth[data-v-ee8cfbf9]{width:min(440px,92vw);height:auto;max-height:88vh}.lan-ssh-header[data-v-ee8cfbf9]{background:#111827;border-bottom:1px solid #1f2937;justify-content:space-between;align-items:center;padding:10px 16px;display:flex}.lan-ssh-title[data-v-ee8cfbf9]{color:#f1f5f9;font-size:14px;font-weight:600}.lan-ssh-status[data-v-ee8cfbf9]{color:#cbd5e1;align-items:center;gap:6px;margin-top:3px;font-size:12px;display:flex}.lan-ssh-status .dot[data-v-ee8cfbf9]{background:#94a3b8;border-radius:50%;width:7px;height:7px}.phase-connecting .dot[data-v-ee8cfbf9]{background:#fbbf24;animation:1.4s infinite pulse-ee8cfbf9}.phase-connected .dot[data-v-ee8cfbf9]{background:#10b981}.phase-closed .dot[data-v-ee8cfbf9]{background:#6b7280}.phase-error .dot[data-v-ee8cfbf9]{background:#ef4444}@keyframes pulse-ee8cfbf9{0%,to{opacity:1}50%{opacity:.4}}.lan-ssh-close[data-v-ee8cfbf9]{color:#e6e9ef;cursor:pointer;background:0 0;border:1px solid #374151;border-radius:4px;padding:4px 12px;font-size:12px}.lan-ssh-close[data-v-ee8cfbf9]:hover{background:#1f2937}.lan-ssh-auth[data-v-ee8cfbf9]{flex-direction:column;gap:12px;padding:22px 26px 18px;display:flex}.auth-row[data-v-ee8cfbf9]{flex-direction:column;gap:5px;display:flex}.auth-row label[data-v-ee8cfbf9]{color:#e2e8f0;font-size:12.5px;font-weight:500}.auth-row input[data-v-ee8cfbf9]{color:#f8fafc;background:#1e293b;border:1px solid #334155;border-radius:5px;padding:9px 11px;font-family:ui-monospace,monospace;font-size:13px}.auth-row input[data-v-ee8cfbf9]::placeholder{color:#64748b}.auth-row input[data-v-ee8cfbf9]:focus{outline:2px solid #7dd3fc}.auth-err[data-v-ee8cfbf9]{color:#fecaca;background:#7f1d1d;border-radius:4px;padding:6px 10px;font-size:12px}.auth-actions[data-v-ee8cfbf9]{justify-content:flex-end;gap:8px;margin-top:4px;display:flex}.btn-primary[data-v-ee8cfbf9],.btn-secondary[data-v-ee8cfbf9]{cursor:pointer;border:1px solid #0000;border-radius:4px;padding:6px 14px;font-size:12px}.btn-primary[data-v-ee8cfbf9]{color:#fff;background:#2563eb}.btn-primary[data-v-ee8cfbf9]:hover{background:#1d4ed8}.btn-secondary[data-v-ee8cfbf9]{color:#cbd5e1;background:0 0;border-color:#374151}.btn-secondary[data-v-ee8cfbf9]:hover{background:#1f2937}.auth-note[data-v-ee8cfbf9]{color:#94a3b8;margin-top:8px;font-size:11.5px;line-height:1.6}.lan-ssh-term[data-v-ee8cfbf9]{flex:1;padding:10px;overflow:hidden}.lan-ssh-footer[data-v-ee8cfbf9]{color:#94a3b8;background:#111827;border-top:1px solid #1f2937;justify-content:space-between;padding:6px 16px;font-size:11px;display:flex}.loading-state[data-v-c169f6fa]{text-align:center;animation:appear .3s var(--ease-spring) forwards;padding:56px 24px}.loading-dots[data-v-c169f6fa]{justify-content:center;align-items:center;gap:6px;margin-bottom:14px;display:flex}.loading-dots span[data-v-c169f6fa]{background:var(--color-text-muted);opacity:.3;width:8px;height:8px;animation:dot-pulse-c169f6fa 1.2s var(--ease-smooth) infinite;border-radius:50%}.loading-dots span[data-v-c169f6fa]:nth-child(2){animation-delay:.15s}.loading-dots span[data-v-c169f6fa]:nth-child(3){animation-delay:.3s}@keyframes dot-pulse-c169f6fa{0%,80%,to{opacity:.3;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}.loading-text[data-v-c169f6fa]{color:var(--color-text-tertiary);font-size:13px}.empty-state[data-v-e40e8abc]{text-align:center;animation:appear .4s var(--ease-spring) forwards;padding:56px 24px}.empty-icon-wrap[data-v-e40e8abc]{color:var(--color-text-muted);opacity:.25;justify-content:center;align-items:center;margin-bottom:16px;display:flex}.empty-title[data-v-e40e8abc]{font-family:var(--font-serif);color:var(--color-text-tertiary);letter-spacing:.02em;font-size:16px;font-weight:400}.empty-desc[data-v-e40e8abc]{color:var(--color-text-muted);max-width:320px;margin-top:8px;margin-left:auto;margin-right:auto;font-size:13px;line-height:1.6}.app-input-wrap[data-v-6cc0a04a]{width:100%}.app-input[data-v-6cc0a04a]{border:none;border-bottom:1px solid var(--color-stroke);width:100%;color:var(--color-text-primary);font-size:13px;font-family:var(--font-sans,-apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", sans-serif);background:#fff;border-radius:0;outline:none;padding:10px 12px;transition:border-color .2s,background .2s}.app-input[data-v-6cc0a04a]::placeholder{color:var(--color-text-tertiary)}.app-input[data-v-6cc0a04a]:focus{border-color:var(--color-brand);background:#fff}.app-input--error[data-v-6cc0a04a]{border-color:var(--color-danger)}.app-input[data-v-6cc0a04a]:disabled{opacity:.5;cursor:not-allowed}.app-input-error[data-v-6cc0a04a]{color:var(--color-danger);margin:4px 0 0;font-size:12px}.form[data-v-6da4b044]{flex-direction:column;gap:16px;padding-top:4px;display:flex}.guide-banner[data-v-6da4b044]{background:var(--color-bg-subtle,#f7f5f1);border:1px solid var(--color-border,#e5e2dc);color:var(--color-text-secondary);border-radius:6px;padding:10px 12px;font-size:12.5px;line-height:1.6}.guide-title[data-v-6da4b044]{margin-bottom:8px}.guide-title a[data-v-6da4b044]{color:var(--color-brand,#b5462e);font-weight:500;text-decoration:none}.guide-title a[data-v-6da4b044]:hover{text-decoration:underline}.steps-toggle[data-v-6da4b044]{color:var(--color-brand,#b5462e);cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;margin-top:8px;padding:0;font-size:12px;display:inline-flex}.steps-toggle[data-v-6da4b044]:hover{text-decoration:underline}.steps-caret[data-v-6da4b044]{font-size:10px;transition:transform .15s;display:inline-block}.steps-caret.open[data-v-6da4b044]{transform:rotate(90deg)}.steps-list[data-v-6da4b044]{color:var(--color-text-secondary);flex-direction:column;gap:6px;margin:8px 0 0;padding-left:22px;font-size:12px;line-height:1.65;display:flex}.steps-list li[data-v-6da4b044]::marker{color:var(--color-brand,#b5462e);font-weight:600}.step-link[data-v-6da4b044]{border:1px solid var(--color-brand,#b5462e);color:var(--color-brand,#b5462e);white-space:nowrap;vertical-align:baseline;background:#fff;border-radius:3px;margin-left:6px;padding:1px 8px;font-size:11px;text-decoration:none;display:inline-block}.step-link[data-v-6da4b044]:hover{background:var(--color-brand,#b5462e);color:#fff}.callback-row[data-v-6da4b044]{align-items:stretch;gap:6px;display:flex}.callback-url[data-v-6da4b044]{border:1px solid var(--color-border,#e5e2dc);color:var(--color-text);-webkit-user-select:all;user-select:all;word-break:break-all;background:#fff;border-radius:4px;flex:1;padding:6px 9px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11.5px}.copy-btn[data-v-6da4b044]{background:var(--color-brand,#b5462e);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:4px;padding:4px 12px;font-size:12px}.copy-btn[data-v-6da4b044]:hover{opacity:.88}.banner-error[data-v-6da4b044]{border-radius:var(--radius-sm);color:#b3261e;background:#fdecea;border:1px solid #f5c2bd;padding:10px 12px;font-size:13px}.field[data-v-6da4b044]{flex-direction:column;gap:6px;display:flex}.field label[data-v-6da4b044]{color:var(--color-text-secondary);letter-spacing:.02em;font-size:12px;font-weight:600}.req[data-v-6da4b044]{color:var(--color-brand);margin-left:2px}.optional[data-v-6da4b044]{color:var(--color-text-tertiary,#a8a6a1);margin-left:4px;font-size:11px;font-weight:400}.input[data-v-6da4b044]{border:1px solid var(--color-stroke);border-radius:var(--radius-sm);width:100%;color:var(--color-text-primary);box-sizing:border-box;background:#fff;padding:9px 12px;font-family:inherit;font-size:13px;transition:border-color .15s,box-shadow .15s}.input[data-v-6da4b044]:focus{border-color:var(--color-brand);box-shadow:0 0 0 3px var(--color-brand-ring);outline:none}.input[data-v-6da4b044]:disabled{background:var(--color-brand-soft);color:var(--color-text-muted);cursor:not-allowed}.input.mono[data-v-6da4b044]{font-family:SF Mono,Menlo,Consolas,monospace;font-size:12.5px}.hint[data-v-6da4b044]{color:var(--color-text-muted);margin:0;font-size:11.5px}.err[data-v-6da4b044]{color:#b3261e;margin:0;font-size:12px}.field-inline[data-v-6da4b044]{align-items:center;display:flex}.checkbox[data-v-6da4b044]{color:var(--color-text-primary);cursor:pointer;align-items:center;gap:8px;font-size:13px;font-weight:500;display:inline-flex}.checkbox input[data-v-6da4b044]{width:16px;height:16px;accent-color:var(--color-brand);cursor:pointer}.enroll-field[data-v-6da4b044]{border:1px dashed var(--color-stroke);border-radius:var(--radius-sm);flex-direction:column;gap:8px;margin:0;padding:10px 12px;display:flex}.enroll-field legend[data-v-6da4b044]{color:var(--color-text-secondary);letter-spacing:.02em;padding:0 6px;font-size:12px;font-weight:600}.enroll-opt[data-v-6da4b044]{cursor:pointer;align-items:flex-start;gap:8px;padding:4px 2px;display:flex}.enroll-opt input[type=radio][data-v-6da4b044]{accent-color:var(--color-brand);margin-top:3px}.enroll-text[data-v-6da4b044]{flex-direction:column;display:flex}.enroll-text strong[data-v-6da4b044]{color:var(--color-text-primary);font-size:13px;font-weight:600}.enroll-text small[data-v-6da4b044]{color:var(--color-text-tertiary);margin-top:2px;font-size:11.5px;line-height:1.4}.form-grid[data-v-5050479b]{flex-direction:column;gap:14px;display:flex}.field[data-v-5050479b]{flex-direction:column;gap:6px;display:flex}.field.row[data-v-5050479b]{flex-direction:row;align-items:center;gap:8px}.lbl[data-v-5050479b]{color:var(--color-text-tertiary);letter-spacing:.02em;font-size:12px;font-weight:500}.lbl em[data-v-5050479b]{color:var(--color-brand);margin-left:2px;font-style:normal}.inp[data-v-5050479b]{border:1px solid var(--color-stroke);border-radius:var(--radius-sm);color:var(--color-text-primary);background:#fff;outline:none;padding:9px 11px;font-family:inherit;font-size:13px;transition:border-color .15s,box-shadow .15s}.inp[data-v-5050479b]:focus{border-color:var(--color-brand);box-shadow:var(--shadow-ring)}.inp[data-v-5050479b]:disabled{background:var(--color-bg-subtle);color:var(--color-text-tertiary);cursor:not-allowed}.inp.ta[data-v-5050479b]{resize:vertical;min-height:56px;font-family:inherit}.hint[data-v-5050479b]{color:var(--color-text-muted);font-size:11px;line-height:1.55}.hint code[data-v-5050479b]{background:var(--color-bg-subtle);color:var(--color-text-secondary);border-radius:3px;padding:1px 5px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}.hint.warn[data-v-5050479b]{color:var(--color-warning)}.empty-idp[data-v-5050479b]{color:var(--color-text-secondary);margin-top:6px;font-size:12px}.ttl-custom-row[data-v-5050479b]{gap:8px;margin-top:6px;display:flex}.ttl-num[data-v-5050479b]{flex:1}.ttl-unit[data-v-5050479b]{flex:0 0 90px;width:90px}.empty-idp-link[data-v-5050479b]{color:var(--color-brand,#b5462e);font-weight:600;text-decoration:none}.empty-idp-link[data-v-5050479b]:hover{text-decoration:underline}.dev-field[data-v-5050479b]{border:1px solid var(--color-stroke);border-radius:6px;padding:10px 12px}.dev-field legend[data-v-5050479b]{color:var(--color-text-secondary);padding:0 6px;font-size:12px;font-weight:500}.dev-hint[data-v-5050479b]{color:var(--color-text-tertiary);margin:4px 0 10px;font-size:12px;line-height:1.55}.dev-list[data-v-5050479b]{flex-direction:column;gap:6px;display:flex}.dev-card[data-v-5050479b]{border:1px solid var(--color-stroke);background:#fff;border-radius:5px;padding:8px 10px;transition:border-color .12s}.dev-card.active[data-v-5050479b]{border-color:var(--color-brand,#b5462e);background:#fff8f5}.dev-head[data-v-5050479b]{cursor:pointer;align-items:center;gap:8px;font-size:13px;display:flex}.dev-dot[data-v-5050479b]{border-radius:50%;flex-shrink:0;width:7px;height:7px}.dev-dot.on[data-v-5050479b]{background:#2ea065}.dev-dot.off[data-v-5050479b]{background:var(--color-text-muted,#b0b0b0)}.dev-name[data-v-5050479b]{color:var(--color-text);font-weight:500}.dev-status[data-v-5050479b]{border-radius:10px;padding:1px 6px;font-size:11px}.dev-status.on[data-v-5050479b]{color:#1e7a4a;background:#e9f7ef}.dev-status.off[data-v-5050479b]{background:var(--color-bg-subtle);color:var(--color-text-tertiary)}.dev-meta[data-v-5050479b]{color:var(--color-text-tertiary);margin-left:auto;font-size:11px}.dev-prio-row[data-v-5050479b]{border-bottom:1px dashed var(--color-stroke);align-items:center;gap:8px;margin-bottom:6px;padding:6px 0 4px 24px;font-size:11.5px;display:flex}.dev-prio-label[data-v-5050479b]{color:var(--color-text-secondary)}.dev-prio-input[data-v-5050479b]{border:1px solid var(--color-stroke);text-align:center;border-radius:3px;width:50px;padding:2px 6px;font-size:12px}.dev-prio-hint[data-v-5050479b]{color:var(--color-text-tertiary);font-size:10.5px}.dev-subnets[data-v-5050479b]{border-top:1px dashed var(--color-stroke);flex-direction:column;gap:4px;margin-top:8px;padding-top:8px;display:flex}.dev-subnets-empty[data-v-5050479b]{color:var(--color-text-tertiary);font-size:11.5px}.dev-subnet-row[data-v-5050479b]{align-items:center;gap:8px;font-size:12px;display:flex}.dev-subnet-cidr[data-v-5050479b]{background:var(--color-bg-subtle);color:var(--color-text);border-radius:3px;padding:2px 6px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11.5px}.dev-subnet-iface[data-v-5050479b]{background:var(--color-bg-subtle,#f7f5f1);border:1px solid var(--color-stroke,#e5e2dc);color:var(--color-text-secondary);white-space:nowrap;border-radius:3px;padding:1px 7px;font-family:inherit;font-size:11px}.dev-subnet-toggle[data-v-5050479b]{border:1px solid var(--color-stroke);cursor:pointer;color:var(--color-text-secondary);background:#fff;border-radius:3px;margin-left:auto;padding:2px 10px;font-size:11px}.dev-subnet-toggle.on[data-v-5050479b]{color:#1e7a4a;background:#e9f7ef;border-color:#2ea065;font-weight:500}.dev-subnet-toggle[data-v-5050479b]:hover:not(:disabled){border-color:var(--color-brand,#b5462e);color:var(--color-brand,#b5462e)}.dev-subnet-toggle[data-v-5050479b]:disabled{opacity:.6;cursor:wait}.err[data-v-5050479b]{background:var(--color-danger-soft);color:var(--color-danger);border-radius:var(--radius-sm);margin:0;padding:8px 12px;font-size:12px}.vis-field[data-v-5050479b]{border:1px dashed var(--color-stroke);border-radius:var(--radius-sm);flex-direction:column;gap:8px;margin:0;padding:10px 12px;display:flex}.vis-field legend[data-v-5050479b]{padding:0 6px}.vis-opt[data-v-5050479b]{cursor:pointer;align-items:flex-start;gap:8px;padding:4px 2px;display:flex}.vis-opt input[type=radio][data-v-5050479b]{accent-color:var(--color-brand);margin-top:3px}.vis-text[data-v-5050479b]{flex-direction:column;display:flex}.vis-text strong[data-v-5050479b]{color:var(--color-text-primary);font-size:13px;font-weight:600}.vis-text small[data-v-5050479b]{color:var(--color-text-tertiary);margin-top:2px;font-size:11.5px;line-height:1.4}.adv-block[data-v-5050479b]{border:1px solid var(--color-stroke);border-radius:var(--radius-sm);background:var(--color-bg-subtle,#faf7f2);overflow:hidden}.adv-toggle[data-v-5050479b]{cursor:pointer;width:100%;color:var(--color-text-primary);text-align:left;background:0 0;border:0;align-items:center;gap:8px;padding:10px 12px;font-family:inherit;font-size:13px;display:flex}.adv-toggle[data-v-5050479b]:hover{background:#b5462e0a}.adv-caret[data-v-5050479b]{color:var(--color-brand,#b5462e);font-size:11px;transition:transform .15s;display:inline-block}.adv-caret.open[data-v-5050479b]{transform:rotate(90deg)}.adv-title[data-v-5050479b]{letter-spacing:.01em;font-family:Fraunces,Georgia,serif;font-weight:600}.adv-meta[data-v-5050479b]{color:var(--color-text-muted);font-variant-numeric:tabular-nums;margin-left:auto;font-size:11px}.adv-body[data-v-5050479b]{border-top:1px solid var(--color-stroke);background:#fff;flex-direction:column;gap:16px;padding:12px 14px 14px;display:flex}.adv-section[data-v-5050479b]{flex-direction:column;gap:8px;display:flex}.adv-section-head[data-v-5050479b]{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.adv-section-title[data-v-5050479b]{color:var(--color-text-primary);font-family:Fraunces,Georgia,serif;font-size:13px;font-weight:600}.adv-section-hint[data-v-5050479b]{color:var(--color-text-muted);font-size:11px}.empty-tip[data-v-5050479b]{color:var(--color-text-tertiary);background:var(--color-bg-subtle,#faf7f2);border-radius:var(--radius-sm);border:1px dashed var(--color-stroke);margin:0;padding:8px 10px;font-size:12px}.win-table[data-v-5050479b]{border:1px solid var(--color-stroke);border-radius:var(--radius-sm);flex-direction:column;display:flex;overflow:hidden}.win-row[data-v-5050479b]{border-bottom:1px solid var(--color-stroke);background:#fff;grid-template-columns:1.4fr 1.2fr 1fr auto;align-items:center;gap:10px;padding:8px 10px;font-size:12.5px;display:grid}.win-row[data-v-5050479b]:last-child{border-bottom:0}.win-row[data-v-5050479b]:nth-child(2n){background:#b5462e05}.win-col.days[data-v-5050479b]{color:var(--color-text-primary);font-weight:500}.win-col.time[data-v-5050479b]{font-variant-numeric:tabular-nums;color:var(--color-text-secondary)}.win-col.tz[data-v-5050479b]{color:var(--color-text-tertiary);font-size:11.5px}.win-del[data-v-5050479b]{color:var(--color-brand,#b5462e);cursor:pointer;background:0 0;border:0;border-radius:4px;padding:2px 6px;font-family:inherit;font-size:11.5px}.win-del[data-v-5050479b]:hover{background:#b5462e14}.add-row[data-v-5050479b]{display:flex}.add-btn[data-v-5050479b]{border:1px dashed var(--color-brand,#b5462e);color:var(--color-brand,#b5462e);border-radius:var(--radius-sm);cursor:pointer;background:0 0;padding:7px 12px;font-family:inherit;font-size:12.5px}.add-btn[data-v-5050479b]:hover{background:#b5462e0f}.win-form[data-v-5050479b]{background:var(--color-bg-subtle,#faf7f2);border:1px solid var(--color-stroke);border-radius:var(--radius-sm);flex-direction:column;gap:10px;padding:10px 12px;display:flex}.win-form-row[data-v-5050479b]{flex-direction:column;gap:6px;display:flex}.win-form-row.times[data-v-5050479b]{flex-flow:wrap;gap:10px}.win-form-lbl[data-v-5050479b]{color:var(--color-text-tertiary);font-size:11px;font-weight:500}.day-picks[data-v-5050479b]{flex-wrap:wrap;gap:6px;display:flex}.day-chip[data-v-5050479b]{border:1px solid var(--color-stroke);border-radius:var(--radius-sm);cursor:pointer;min-width:30px;height:28px;color:var(--color-text-secondary);background:#fff;justify-content:center;align-items:center;padding:0 8px;font-size:12px;transition:all .12s;display:inline-flex}.day-chip input[data-v-5050479b]{display:none}.day-chip[data-v-5050479b]:hover{border-color:var(--color-brand,#b5462e)}.day-chip.active[data-v-5050479b]{background:var(--color-brand,#b5462e);border-color:var(--color-brand,#b5462e);color:#fff;font-weight:600}.micro[data-v-5050479b]{flex-direction:column;gap:4px;display:flex}.tz-micro[data-v-5050479b]{flex:1;min-width:140px}.inp.tiny[data-v-5050479b]{padding:6px 9px;font-size:12.5px}.win-err[data-v-5050479b]{background:var(--color-danger-soft);color:var(--color-danger);border-radius:var(--radius-sm);margin:0;padding:6px 10px;font-size:11.5px}.win-form-actions[data-v-5050479b]{justify-content:flex-end;gap:8px;display:flex}.ghost-btn[data-v-5050479b],.primary-btn[data-v-5050479b]{border-radius:var(--radius-sm);cursor:pointer;border:1px solid #0000;padding:6px 14px;font-family:inherit;font-size:12.5px}.ghost-btn[data-v-5050479b]{border-color:var(--color-stroke);color:var(--color-text-secondary);background:0 0}.ghost-btn[data-v-5050479b]:hover{background:var(--color-bg-subtle)}.primary-btn[data-v-5050479b]{background:var(--color-brand,#b5462e);color:#fff;border-color:var(--color-brand,#b5462e)}.primary-btn[data-v-5050479b]:hover{background:#9d3a25;border-color:#9d3a25}.cidr-ta[data-v-5050479b]{font-family:JetBrains Mono,SF Mono,Menlo,monospace;font-size:12px}.grid[data-v-d3d379d7]{flex-direction:column;gap:12px;display:flex}.f[data-v-d3d379d7]{flex-direction:column;gap:6px;display:flex}.f.row[data-v-d3d379d7]{flex-direction:row;align-items:center;gap:8px;padding-top:22px}.row2[data-v-d3d379d7]{grid-template-columns:1fr 1fr;gap:12px;display:grid}.lbl[data-v-d3d379d7]{color:var(--color-text-tertiary);font-size:12px;font-weight:500}.lbl em[data-v-d3d379d7]{color:var(--color-brand);margin-left:2px;font-style:normal}.inp[data-v-d3d379d7]{border:1px solid var(--color-stroke);border-radius:var(--radius-sm);color:var(--color-text-primary);background:#fff;outline:none;padding:9px 11px;font-family:inherit;font-size:13px;transition:border-color .15s,box-shadow .15s}.inp[data-v-d3d379d7]:focus{border-color:var(--color-brand);box-shadow:var(--shadow-ring)}.inp[data-v-d3d379d7]:disabled{background:var(--color-bg-subtle);color:var(--color-text-tertiary)}.probe-row[data-v-d3d379d7]{align-items:center;gap:10px;padding-top:4px;display:flex}.detect-row[data-v-d3d379d7]{align-items:center;gap:10px;display:flex}.probe-msg[data-v-d3d379d7]{color:var(--color-text-secondary);font-size:12px}.hint[data-v-d3d379d7]{color:var(--color-text-muted);font-size:11px;line-height:1.6}.hint code[data-v-d3d379d7]{background:var(--color-bg-subtle);border-radius:3px;padding:1px 5px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10.5px}.login-url-aux[data-v-d3d379d7]{align-items:flex-start;gap:8px;display:flex}.login-url-aux .hint[data-v-d3d379d7]{flex:1}.open-preview[data-v-d3d379d7]{border:1px solid var(--color-brand,#b5462e);color:var(--color-brand,#b5462e);white-space:nowrap;background:#fff;border-radius:3px;flex-shrink:0;align-self:center;padding:2px 8px;font-size:11px;text-decoration:none}.open-preview[data-v-d3d379d7]:hover{background:var(--color-brand,#b5462e);color:#fff}.path-chips[data-v-d3d379d7]{flex-wrap:wrap;align-items:center;gap:6px;margin-top:4px;display:flex}.path-chips-label[data-v-d3d379d7]{color:var(--color-text-tertiary);margin-right:2px;font-size:11px}.path-chip[data-v-d3d379d7]{background:var(--color-bg-subtle,#f7f5f1);border:1px solid var(--color-stroke,#e5e2dc);color:var(--color-text-secondary);cursor:pointer;border-radius:12px;padding:3px 10px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;transition:all .12s}.path-chip[data-v-d3d379d7]:hover{border-color:var(--color-brand,#b5462e);color:var(--color-brand,#b5462e)}.path-chip.active[data-v-d3d379d7]{background:var(--color-brand,#b5462e);color:#fff;border-color:var(--color-brand,#b5462e)}.advanced-toggle[data-v-d3d379d7]{background:var(--color-bg-subtle,#f7f5f1);border:1px solid var(--color-stroke,#e5e2dc);border-radius:6px;margin-top:4px;padding:8px 10px}.advanced-toggle summary[data-v-d3d379d7]{color:var(--color-text-tertiary);cursor:pointer;-webkit-user-select:none;user-select:none;font-size:12px}.advanced-toggle summary[data-v-d3d379d7]:hover{color:var(--color-text-secondary)}.excluded-grid[data-v-d3d379d7]{flex-direction:column;gap:4px;display:flex}.excluded-item[data-v-d3d379d7]{border:1px solid var(--color-stroke);cursor:pointer;border-radius:4px;align-items:center;gap:8px;padding:6px 9px;font-size:12.5px;display:flex}.excluded-item.on[data-v-d3d379d7]{background:#fff8e6;border-color:#d39f00}.excluded-dot[data-v-d3d379d7]{border-radius:50%;width:7px;height:7px}.excluded-dot.on[data-v-d3d379d7]{background:#2ea065}.excluded-dot.off[data-v-d3d379d7]{background:var(--color-text-muted,#b0b0b0)}.excluded-name[data-v-d3d379d7]{font-weight:500}.excluded-meta[data-v-d3d379d7]{color:var(--color-text-tertiary);margin-left:auto;font-size:11px}.advanced-toggle[open] summary[data-v-d3d379d7]{color:var(--color-text-secondary);margin-bottom:10px}.adv-warning[data-v-d3d379d7]{color:#5a3f00;background:#fff8e6;border-left:3px solid #d39f00;border-radius:3px;margin:0 0 12px;padding:8px 11px;font-size:12px;line-height:1.6}.route-row[data-v-d3d379d7]{border-radius:4px;margin-top:6px;padding:6px 10px;font-size:12px;line-height:1.5}.route-checking[data-v-d3d379d7]{background:var(--color-bg-subtle,#f7f5f1);color:var(--color-text-tertiary)}.route-hit[data-v-d3d379d7]{color:#1e7a4a;background:#e9f7ef;border-left:3px solid #2ea065;justify-content:space-between;align-items:center;gap:10px;display:flex}.route-miss[data-v-d3d379d7]{color:#5a3f00;background:#fff8e6;border-left:3px solid #d39f00;justify-content:space-between;align-items:center;gap:10px;display:flex}.route-link[data-v-d3d379d7]{color:inherit;white-space:nowrap;background:#fff;border:1px solid;border-radius:3px;flex-shrink:0;padding:2px 10px;font-size:11px;text-decoration:none}.route-link[data-v-d3d379d7]:hover{opacity:.85}.err[data-v-d3d379d7]{background:var(--color-danger-soft);color:var(--color-danger);border-radius:var(--radius-sm);margin:0;padding:8px 12px;font-size:12px}.ff-block[data-v-d3d379d7]{border-radius:var(--radius-md);background:#faf6f3;border:1px solid #ecdfd6;flex-direction:column;gap:12px;padding:14px;display:flex}.ff-tip[data-v-d3d379d7]{color:var(--color-text-secondary,#4a4845);margin:0;font-size:12px;line-height:1.55}.ff-tip strong[data-v-d3d379d7]{color:#b5462e;font-weight:600}.hi-presets[data-v-d3d379d7]{flex-wrap:wrap;align-items:center;gap:6px;margin:4px 0 12px;display:flex}.hi-presets-label[data-v-d3d379d7]{color:var(--color-text-tertiary,#7a7873);margin-right:4px;font-size:12px}.hi-preset-chip[data-v-d3d379d7]{color:#4a4845;cursor:pointer;background:#faf8f4;border:1px solid #e8e6e1;border-radius:4px;padding:4px 10px;font-family:inherit;font-size:11.5px;transition:all .15s}.hi-preset-chip[data-v-d3d379d7]:hover{color:#fff;background:#b5462e;border-color:#b5462e}.grid[data-v-8595e991]{flex-direction:column;gap:12px;display:flex}.ctx[data-v-8595e991]{color:var(--color-text-tertiary);margin:0 0 4px;font-size:12.5px}.ctx b[data-v-8595e991]{color:var(--color-text-primary);font-weight:600}.ff-tip[data-v-8595e991]{color:var(--color-text-secondary,#4a4845);border-radius:var(--radius-sm);background:#faf6f3;border:1px solid #ecdfd6;margin:0;padding:9px 12px;font-size:12px;line-height:1.55}.ff-tip strong[data-v-8595e991]{color:#b5462e;font-weight:600}.f[data-v-8595e991]{flex-direction:column;gap:6px;display:flex}.lbl[data-v-8595e991]{color:var(--color-text-tertiary);font-size:12px;font-weight:500}.lbl em[data-v-8595e991]{color:var(--color-brand);margin-left:2px;font-style:normal}.inp[data-v-8595e991]{border:1px solid var(--color-stroke);border-radius:var(--radius-sm);color:var(--color-text-primary);background:#fff;outline:none;padding:9px 11px;font-family:inherit;font-size:13px;transition:border-color .15s,box-shadow .15s}.inp[data-v-8595e991]:focus{border-color:var(--color-brand);box-shadow:var(--shadow-ring)}.inp[data-v-8595e991]:disabled{background:var(--color-bg-subtle);color:var(--color-text-tertiary)}.picker[data-v-8595e991]{background:var(--color-bg-subtle);border-radius:var(--radius-sm);padding:8px 10px}.hint[data-v-8595e991]{color:var(--color-text-muted);font-size:11px}.chips[data-v-8595e991]{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.pchip[data-v-8595e991]{border:1px solid var(--color-stroke);color:var(--color-text-secondary);border-radius:var(--radius-full);cursor:pointer;background:#fff;padding:3px 9px;font-size:12px;transition:all .12s}.pchip[data-v-8595e991]:hover{border-color:var(--color-brand);color:var(--color-brand)}.more[data-v-8595e991]{color:var(--color-text-muted);align-self:center;font-size:11px}.test-row[data-v-8595e991]{align-items:center;gap:10px;display:flex}.probe-msg[data-v-8595e991]{color:var(--color-text-secondary);font-size:12px}.probe-msg.ok[data-v-8595e991]{color:#1f8a4c}.probe-msg.bad[data-v-8595e991]{color:var(--color-danger,#b5462e)}.err[data-v-8595e991]{background:var(--color-danger-soft);color:var(--color-danger);border-radius:var(--radius-sm);margin:0;padding:8px 12px;font-size:12px}.grid[data-v-bc6f6641]{flex-direction:column;gap:14px;display:flex}.fmt[data-v-bc6f6641]{background:var(--color-bg-subtle);border-radius:var(--radius-sm);padding:10px 12px}.lbl[data-v-bc6f6641]{color:var(--color-text-secondary);margin:0 0 6px;font-size:12px;font-weight:600}.fmt code[data-v-bc6f6641]{border:1px solid var(--color-stroke);border-radius:var(--radius-xs);font-family:var(--font-mono);color:var(--color-text-primary);background:#fff;padding:4px 8px;font-size:11.5px;display:inline-block}.hint[data-v-bc6f6641]{color:var(--color-text-muted);margin:6px 0 0;font-size:11.5px}.filebox[data-v-bc6f6641]{border:1.5px dashed var(--color-stroke-2);border-radius:var(--radius-sm);cursor:pointer;justify-content:center;align-items:center;padding:18px;transition:border-color .15s,background .15s;display:flex}.filebox[data-v-bc6f6641]:hover{border-color:var(--color-brand);background:var(--color-brand-soft)}.filebox input[type=file][data-v-bc6f6641]{display:none}.ph[data-v-bc6f6641]{color:var(--color-text-tertiary);font-size:13px}.fname[data-v-bc6f6641]{color:var(--color-text-primary);font-size:13px;font-weight:500}.result[data-v-bc6f6641]{background:var(--color-bg-subtle);border-radius:var(--radius-sm);padding:10px 12px}.result .ok[data-v-bc6f6641]{color:var(--color-text-secondary);margin:0;font-size:13px}.result .ok b[data-v-bc6f6641]{color:var(--color-success);font-weight:700}.result .ok .bad[data-v-bc6f6641]{color:var(--color-danger)}.errors[data-v-bc6f6641]{margin-top:8px;font-size:12px}.errors summary[data-v-bc6f6641]{cursor:pointer;color:var(--color-text-secondary)}.errors ul[data-v-bc6f6641]{color:var(--color-danger);margin:6px 0 0;padding-left:20px}.sparkline[data-v-7bfd40d4]{display:block}.lan-share[data-v-361d6e71]{flex-direction:column;display:flex}.lan-share-head[data-v-361d6e71]{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.lan-share-title[data-v-361d6e71]{color:var(--text-1,var(--color-text-primary));font-size:13px;font-weight:600}.lan-share--compact .lan-share-title[data-v-361d6e71]{letter-spacing:.1em;color:var(--text-3,var(--color-text-tertiary));text-transform:uppercase;font-size:10.5px;font-weight:600}.label-aux[data-v-361d6e71]{color:var(--color-text-muted);margin-left:4px;font-size:11px;font-weight:400}.help-btn[data-v-361d6e71]{border:1px solid var(--color-stroke);color:var(--accent,#c26b4d);cursor:pointer;background:#fff;border-radius:12px;align-items:center;padding:2px 8px;font-size:11px;font-weight:400;transition:all .15s;display:inline-flex}.help-btn[data-v-361d6e71]:hover{background:var(--accent,#c26b4d);color:#fff;border-color:var(--accent,#c26b4d)}.lan-share-empty[data-v-361d6e71]{text-align:center;color:var(--color-text-tertiary);padding:12px;font-size:12px}.share-tagline[data-v-361d6e71]{color:var(--color-text-secondary,#555);margin:0 0 12px;font-size:13px;line-height:1.65}.share-tagline strong[data-v-361d6e71]{color:var(--color-text-primary)}.subnet-block[data-v-361d6e71]{margin-bottom:10px}.subnet-row[data-v-361d6e71]{background:var(--color-card-alt,#f9f9f9);border-radius:6px;justify-content:space-between;align-items:center;gap:8px;padding:8px 12px;display:flex}.lan-share--compact .subnet-row[data-v-361d6e71]{padding:6px 10px}.subnet-row-left[data-v-361d6e71]{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.subnet-state[data-v-361d6e71]{background:var(--color-stroke-2,#e5e5e5);color:var(--color-text-tertiary);border-radius:10px;padding:2px 8px;font-size:11px}.subnet-state.on[data-v-361d6e71]{color:var(--color-success,#059669);background:#10b98124}.switch[data-v-361d6e71]{cursor:pointer;flex-shrink:0;width:36px;height:20px;display:inline-block;position:relative}.switch input[data-v-361d6e71]{opacity:0;width:0;height:0}.switch-slider[data-v-361d6e71]{background:var(--color-stroke-2,#ccc);border-radius:20px;transition:all .2s;position:absolute;inset:0}.switch-slider[data-v-361d6e71]:before{content:"";background:#fff;border-radius:50%;width:14px;height:14px;transition:all .2s;position:absolute;bottom:3px;left:3px}.switch input:checked+.switch-slider[data-v-361d6e71]{background:var(--color-success,#059669)}.switch input:checked+.switch-slider[data-v-361d6e71]:before{transform:translate(16px)}.switch input:disabled+.switch-slider[data-v-361d6e71]{opacity:.5;cursor:not-allowed}.acl-summary[data-v-361d6e71]{justify-content:space-between;align-items:center;padding:6px 12px 4px;font-size:11.5px;display:flex}.acl-summary-text[data-v-361d6e71]{color:var(--color-text-secondary)}.acl-summary-expand[data-v-361d6e71]{color:var(--brand-600,var(--accent,#c26b4d));cursor:pointer;background:0 0;border:0;padding:0;font-size:11.5px}.acl-summary-expand[data-v-361d6e71]:hover{text-decoration:underline}.acl-box[data-v-361d6e71]{background:var(--color-card-alt,#f9f9f9);border-left:2px solid var(--accent,#c26b4d);border-radius:6px;margin-top:6px;padding:10px 12px}.lan-share--compact .acl-box[data-v-361d6e71]{padding:8px 10px}.acl-header[data-v-361d6e71]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.acl-header-right[data-v-361d6e71]{align-items:center;gap:6px;display:flex}.acl-title[data-v-361d6e71]{color:var(--color-text-secondary);font-size:12px;font-weight:600}.acl-collapse[data-v-361d6e71]{color:var(--color-text-tertiary);cursor:pointer;background:0 0;border:0;padding:2px 4px;font-size:11px}.acl-collapse[data-v-361d6e71]:hover{color:var(--color-text-primary)}.seg-xs[data-v-361d6e71]{border:1px solid var(--color-stroke);background:#fff;border-radius:6px;display:inline-flex;overflow:hidden}.seg-xs button[data-v-361d6e71]{cursor:pointer;color:var(--color-text-secondary);border:none;border-right:1px solid var(--color-stroke);background:0 0;padding:4px 10px;font-size:11px}.seg-xs button[data-v-361d6e71]:last-child{border-right:none}.seg-xs button[data-v-361d6e71]:hover:not(:disabled){background:var(--color-card-alt)}.seg-xs button.active[data-v-361d6e71]{background:var(--accent,#c26b4d);color:#fff}.seg-xs button[data-v-361d6e71]:disabled{opacity:.5;cursor:not-allowed}.acl-picker[data-v-361d6e71]{border:1px solid var(--color-stroke);background:#fff;border-radius:4px;max-height:200px;padding:4px;overflow-y:auto}.acl-empty[data-v-361d6e71]{text-align:center;color:var(--color-text-tertiary);padding:12px;font-size:12px}.acl-row[data-v-361d6e71]{cursor:pointer;border-radius:4px;grid-template-columns:18px 1fr 90px 44px;align-items:center;gap:6px;padding:5px 8px;font-size:12px;display:grid}.acl-row[data-v-361d6e71]:hover{background:var(--color-card-alt,#f5f5f5)}.acl-row-name[data-v-361d6e71]{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.acl-row-vip[data-v-361d6e71]{color:var(--color-text-tertiary);font-size:11px}.acl-row-status[data-v-361d6e71]{text-align:right;font-size:11px}.acl-row-status.online[data-v-361d6e71]{color:var(--color-success,#059669)}.acl-row-status.offline[data-v-361d6e71]{color:var(--color-text-tertiary)}.acl-warn[data-v-361d6e71]{color:var(--color-warning,#92400e);background:#f59e0b1a;border-radius:4px;margin:6px 0 0;padding:6px 10px;font-size:11px}.acl-default-note[data-v-361d6e71]{margin:0;font-size:11px;line-height:1.6}.acl-default-note code[data-v-361d6e71]{background:#fff;border-radius:3px;padding:1px 5px;font-size:11px}.muted[data-v-361d6e71]{color:var(--color-text-tertiary,var(--text-3))}.subnet-hint[data-v-361d6e71]{color:var(--color-text-tertiary);background:#f59e0b14;border:1px solid #f59e0b40;border-radius:6px;margin-top:4px;padding:8px 10px;font-size:11px;line-height:1.5}.subnet-hint--minimal[data-v-361d6e71]{background:0 0;border:none;padding:4px 0 0}.subnet-hint-compact[data-v-361d6e71]{color:var(--color-text-tertiary,var(--text-3));margin-top:4px;font-size:10.5px}.share-help[data-v-361d6e71]{color:var(--color-text-secondary,#555);font-size:13px;line-height:1.7}.share-help section[data-v-361d6e71]{margin-bottom:18px}.share-help section[data-v-361d6e71]:last-child{margin-bottom:0}.share-help h3[data-v-361d6e71]{color:var(--color-text-primary);margin:0 0 8px;font-size:14px;font-weight:600}.share-help p[data-v-361d6e71]{margin:6px 0}.share-help ul[data-v-361d6e71],.share-help ol[data-v-361d6e71]{margin:6px 0;padding-left:22px}.share-help code[data-v-361d6e71]{background:var(--color-card-alt,#f5f5f5);font-family:var(--font-mono);border-radius:3px;padding:1px 5px;font-size:12px}.share-help section.warn[data-v-361d6e71]{border-left:3px solid var(--color-warning,#f59e0b);background:#f59e0b14;border-radius:4px;padding:12px 14px}.share-help section.emphasis[data-v-361d6e71]{border-left:3px solid var(--accent,#c26b4d);background:#c26b4d0f;border-radius:4px;padding:12px 14px}.modal-backdrop[data-v-da0908f4]{z-index:1000;background:#0000008c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-card[data-v-da0908f4]{background:#fff;border-radius:8px;width:560px;max-width:92vw;max-height:90vh;padding:20px 22px;overflow-y:auto;box-shadow:0 8px 32px #0000002e}.modal-header[data-v-da0908f4]{border-bottom:1px solid #eee;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:10px;display:flex}.modal-header h3[data-v-da0908f4]{margin:0;font-size:16px}.channel-toggle[data-v-da0908f4]{grid-template-columns:1fr 1fr;gap:8px;margin:10px 0 4px;display:grid}.channel-toggle label[data-v-da0908f4]{cursor:pointer;background:#fafbfc;border:1px solid #d4d8e0;border-radius:6px;flex-direction:column;padding:8px 10px;transition:border-color .12s,background .12s;display:flex}.channel-toggle label.active[data-v-da0908f4]{background:#eef4ff;border-color:#3a7afe}.channel-toggle label input[data-v-da0908f4]{display:none}.channel-toggle .ch-title[data-v-da0908f4]{color:#1a1f29;font-size:13px;font-weight:600}.channel-toggle .ch-sub[data-v-da0908f4]{color:#707683;margin-top:2px;font-size:11px}.close[data-v-da0908f4]{cursor:pointer;color:#888;background:0 0;border:none;font-size:18px}.close[data-v-da0908f4]:hover:not(:disabled){color:#333}.intro[data-v-da0908f4]{color:#555;margin-bottom:14px;font-size:13px}.intro .vip[data-v-da0908f4]{color:#888;margin-left:6px;font-family:monospace}.intro .help[data-v-da0908f4]{margin:6px 0 0;line-height:1.5}.intro code[data-v-da0908f4]{background:#f4f4f4;border-radius:3px;padding:1px 5px;font-size:12px}.form label[data-v-da0908f4]{margin-bottom:12px;display:block}.form label>span[data-v-da0908f4]{color:#444;margin-bottom:4px;font-size:12px;display:block}.form input[data-v-da0908f4],.form textarea[data-v-da0908f4],.form select[data-v-da0908f4]{box-sizing:border-box;border:1px solid #ddd;border-radius:4px;width:100%;padding:6px 10px;font-size:13px}.form textarea[data-v-da0908f4]{resize:vertical;font-family:monospace;font-size:12px}.form .row[data-v-da0908f4]{gap:10px;display:flex}.form .row label[data-v-da0908f4]{flex:1}.form .port-field[data-v-da0908f4]{max-width:110px}.progress[data-v-da0908f4]{background:#f6f8fa;border-left:3px solid #888;border-radius:5px;margin-top:14px;padding:10px 12px}.progress.ok[data-v-da0908f4]{background:#f0fdf4;border-left-color:#28a745}.progress.fail[data-v-da0908f4]{background:#fef2f2;border-left-color:#dc3545}.status-line[data-v-da0908f4]{font-size:13px}.status-line.ok[data-v-da0908f4]{color:#1e7e34;font-weight:500}.status-line.fail[data-v-da0908f4]{color:#b91c1c;font-weight:500}.logs[data-v-da0908f4]{color:#e0e0e0;white-space:pre-wrap;background:#1e1e1e;border-radius:4px;max-height:200px;margin:8px 0 0;padding:8px 10px;font-family:monospace;font-size:11px;overflow:auto}.logs.err[data-v-da0908f4]{color:#ff9090}.error[data-v-da0908f4]{color:#b91c1c;margin:10px 0 0;font-size:13px}.actions[data-v-da0908f4]{justify-content:flex-end;gap:10px;margin-top:16px;display:flex}.btn-primary[data-v-da0908f4],.btn-secondary[data-v-da0908f4]{cursor:pointer;border:none;border-radius:4px;padding:7px 16px;font-size:13px}.btn-primary[data-v-da0908f4]{color:#fff;background:#2563eb}.btn-primary[data-v-da0908f4]:disabled{cursor:not-allowed;background:#93c5fd}.btn-secondary[data-v-da0908f4]{color:#333;background:#f3f4f6}.btn-secondary[data-v-da0908f4]:disabled{color:#aaa;cursor:not-allowed}.join-topo-overlay[data-v-66d5ef6d]{z-index:1000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.join-topo-modal[data-v-66d5ef6d]{background:var(--surface,#fff);border-radius:12px;width:480px;max-width:calc(100vw - 32px);padding:24px;box-shadow:0 12px 40px #0003}.join-topo-title[data-v-66d5ef6d]{margin:0 0 6px;font-size:18px;font-weight:600}.join-topo-subtitle[data-v-66d5ef6d]{color:var(--text-muted,#666);margin:0 0 16px;font-size:13px;line-height:1.5}.join-topo-device[data-v-66d5ef6d]{background:var(--surface-alt,#f5f7fa);border-radius:8px;margin-bottom:16px;padding:12px}.device-line[data-v-66d5ef6d]{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.device-name[data-v-66d5ef6d]{font-weight:600}.category-badge[data-v-66d5ef6d]{color:#1e63e9;background:#e6f0ff;border-radius:4px;padding:2px 8px;font-size:12px}.cat-plc[data-v-66d5ef6d]{color:#b45309;background:#fef3c7}.cat-camera[data-v-66d5ef6d]{color:#166534;background:#ddf4dd}.cat-network[data-v-66d5ef6d]{color:#6b21a8;background:#f3e8ff}.device-meta[data-v-66d5ef6d]{color:var(--text-muted,#666);font-size:12px}.warn-banner[data-v-66d5ef6d]{color:#92400e;background:#fef3c7;border-left:3px solid #d97706;border-radius:4px;margin-bottom:16px;padding:8px 12px;font-size:13px}.form-row[data-v-66d5ef6d]{margin-bottom:14px}.form-label[data-v-66d5ef6d]{color:var(--text-muted,#555);margin-bottom:6px;font-size:13px;display:block}.form-select[data-v-66d5ef6d],.form-input[data-v-66d5ef6d]{border:1px solid var(--border,#ccc);background:var(--surface,#fff);border-radius:6px;width:100%;padding:8px 10px;font-size:14px}.form-hint[data-v-66d5ef6d]{color:var(--text-muted,#888);margin:4px 0 0;font-size:12px}.form-hint.err[data-v-66d5ef6d]{color:#b91c1c}.error-msg[data-v-66d5ef6d]{color:#991b1b;background:#fee2e2;border-radius:6px;margin-bottom:12px;padding:8px 12px;font-size:13px}.join-topo-footer[data-v-66d5ef6d]{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.btn[data-v-66d5ef6d]{cursor:pointer;border:none;border-radius:6px;padding:8px 18px;font-size:14px}.btn-primary[data-v-66d5ef6d]{color:#fff;background:#1e63e9}.btn-primary[data-v-66d5ef6d]:disabled{cursor:not-allowed;background:#a3b2cd}.btn-ghost[data-v-66d5ef6d]{color:var(--text,#333);border:1px solid var(--border,#ccc);background:0 0}.btn-ghost[data-v-66d5ef6d]:disabled{opacity:.5;cursor:not-allowed}.view-toggle[data-v-0627038d]{border-radius:var(--radius-sm);background:var(--color-bg-subtle);border:none;display:inline-flex;overflow:hidden}.toggle-btn[data-v-0627038d]{cursor:pointer;width:32px;height:30px;color:var(--color-text-muted);transition:all .15s var(--ease-smooth);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.toggle-btn[data-v-0627038d]:not(:last-child){border-right:none}.toggle-btn[data-v-0627038d]:hover{color:var(--color-text-secondary);background:var(--color-bg-subtle)}.toggle-btn.active[data-v-0627038d]{color:var(--color-brand);background:var(--color-brand-soft)}.help-tip[data-v-e8cd3a1e]{cursor:help;color:var(--color-text-muted,#94a3b8);vertical-align:middle;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;margin-left:4px;display:inline-flex;position:relative}.help-tip[data-v-e8cd3a1e]:hover,.help-tip.active[data-v-e8cd3a1e]{color:var(--color-text-primary,#0f172a)}.help-icon[data-v-e8cd3a1e]{display:block}.help-tip-bubble{z-index:9999;color:#c8d8e8;text-align:left;white-space:normal;letter-spacing:.01em;pointer-events:none;-webkit-font-smoothing:antialiased;background:linear-gradient(160deg,#1b2738 0%,#151f2e 100%);border-top:2px solid #3b82f6;border-radius:10px;min-width:210px;max-width:340px;padding:13px 15px 14px;font-family:system-ui,-apple-system,Segoe UI,sans-serif;font-size:12.5px;font-weight:400;line-height:1.7;position:fixed;box-shadow:0 0 0 1px #ffffff0f,0 4px 8px -2px #0006,0 16px 32px -4px #00000073}.help-tip-bubble strong{color:#f0f6ff;font-weight:600}.help-tip-bubble code{color:#93c5fd;letter-spacing:0;background:#60a5fa26;border:1px solid #60a5fa33;border-radius:4px;padding:1px 6px;font-family:SF Mono,JetBrains Mono,Consolas,Courier New,monospace;font-size:11px}.help-tip-bubble.arrow-top:after{content:"";border:6px solid #0000;border-top-color:#151f2e;position:absolute;top:100%;left:50%;transform:translate(-50%)}.help-tip-bubble.arrow-bottom:after{content:"";border:6px solid #0000;border-bottom-color:#1b2738;position:absolute;bottom:100%;left:50%;transform:translate(-50%)}.help-tip-bubble.arrow-left:after{content:"";border:6px solid #0000;border-left-color:#151f2e;position:absolute;top:50%;left:100%;transform:translateY(-50%)}.help-tip-bubble.arrow-right:after{content:"";border:6px solid #0000;border-right-color:#151f2e;position:absolute;top:50%;right:100%;transform:translateY(-50%)}.help-fade-enter-active,.help-fade-leave-active{transition:opacity .15s,transform .15s}.help-fade-enter-from,.help-fade-leave-to{opacity:0;transform:var(--help-fade-from,translateY(-4px))}.qr-mask[data-v-d5613a8c]{z-index:9999;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#1412108c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.qr-modal[data-v-d5613a8c]{width:360px;max-width:calc(100vw - 32px);font-family:var(--font-sans,system-ui);background:#fdfcfa;border-radius:16px;padding:32px 28px 18px;position:relative;box-shadow:0 24px 64px #00000026}.qr-close[data-v-d5613a8c]{cursor:pointer;color:#a8a6a1;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px;transition:background .15s;display:inline-flex;position:absolute;top:14px;right:14px}.qr-close[data-v-d5613a8c]:hover{color:#2a2522;background:#f4f3f1}.qr-header[data-v-d5613a8c]{text-align:center;margin-bottom:22px}.qr-title[data-v-d5613a8c]{font-family:var(--font-serif,"Fraunces", Georgia, serif);color:#2a2522;letter-spacing:-.01em;margin:0 0 6px;font-size:20px;font-weight:600}.qr-sub[data-v-d5613a8c]{color:#7a7873;margin:0;font-size:13px}.qr-body[data-v-d5613a8c]{justify-content:center;align-items:center;min-height:280px;display:flex}.qr-status[data-v-d5613a8c]{text-align:center;flex-direction:column;align-items:center;gap:12px;padding:24px 0;display:flex}.qr-status-text[data-v-d5613a8c]{color:#2a2522;font-size:16px;font-weight:500}.qr-status-sub[data-v-d5613a8c]{color:#7a7873;font-size:13px}.qr-success[data-v-d5613a8c]{color:#2c6b4a}.qr-expired[data-v-d5613a8c],.qr-error[data-v-d5613a8c]{color:#a83820}.qr-stage[data-v-d5613a8c]{flex-direction:column;align-items:center;gap:14px;display:flex}.qr-frame[data-v-d5613a8c]{background:#fff;border:1px solid #ecebe8;border-radius:12px;padding:12px;box-shadow:0 2px 8px #0000000a}.qr-frame img[data-v-d5613a8c]{width:240px;height:240px;display:block}.qr-timer[data-v-d5613a8c]{color:#a8a6a1;font-variant-numeric:tabular-nums;font-size:12px}.qr-hint[data-v-d5613a8c]{color:#7a7873;text-align:center;max-width:280px;font-size:12.5px;line-height:1.55}.qr-btn[data-v-d5613a8c]{cursor:pointer;border-radius:6px;align-items:center;gap:6px;height:32px;padding:0 14px;font-family:inherit;font-size:13px;font-weight:500;transition:all .15s;display:inline-flex}.qr-btn-primary[data-v-d5613a8c]{color:#fff;background:#b5462e;border:1px solid #b5462e}.qr-btn-primary[data-v-d5613a8c]:hover{background:#9a3b27}.qr-btn-secondary[data-v-d5613a8c]{color:#2a2522;background:#fff;border:1px solid #d9d7d2}.qr-btn-secondary[data-v-d5613a8c]:hover{color:#b5462e;border-color:#b5462e}.spinner[data-v-d5613a8c]{border:2.5px solid #ecebe8;border-top-color:#b5462e;border-radius:50%;width:32px;height:32px;animation:.8s linear infinite spin-d5613a8c}@keyframes spin-d5613a8c{to{transform:rotate(360deg)}}.qr-loading[data-v-d5613a8c]{color:#7a7873;font-size:13px}.sbm-mask[data-v-91cd15a4]{-webkit-backdrop-filter:blur(4px);z-index:10010;background:#1412108c;justify-content:center;align-items:center;animation:.18s sbm-fade-in-91cd15a4;display:flex;position:fixed;inset:0}.sbm-card[data-v-91cd15a4]{width:100%;max-width:460px;font-family:var(--font-sans,system-ui);background:#fff;border-radius:8px;margin:16px;padding:32px 30px 26px;position:relative;box-shadow:0 18px 42px #1a1a1a1f,0 4px 8px #1a1a1a0a}.sbm-close[data-v-91cd15a4]{width:32px;height:32px;color:var(--color-text-tertiary,#7a7873);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;transition:all .15s;display:flex;position:absolute;top:12px;right:12px}.sbm-close[data-v-91cd15a4]:hover{color:#1a1a1a;background:#0000000a}.sbm-title[data-v-91cd15a4]{font-family:var(--font-serif,"Fraunces", Georgia, serif);letter-spacing:-.01em;color:#2a2522;margin:0 0 6px;font-size:20px;font-weight:600}.sbm-sub[data-v-91cd15a4]{color:var(--color-text-secondary,#4a4845);margin:0 0 18px;font-size:13px;line-height:1.55}.sbm-sub strong[data-v-91cd15a4]{color:#b5462e;font-weight:600}.sbm-err[data-v-91cd15a4]{color:#8a2a18;background:#fbeae5;border:1px solid #f0c8be;border-radius:6px;align-items:center;gap:6px;margin-bottom:14px;padding:8px 12px;font-size:12px;display:flex}.sbm-form[data-v-91cd15a4]{flex-direction:column;gap:14px;display:flex}.sbm-field[data-v-91cd15a4]{flex-direction:column;gap:6px;display:flex}.sbm-label[data-v-91cd15a4]{color:var(--color-text-secondary,#4a4845);font-size:12px;font-weight:500}.sbm-label em[data-v-91cd15a4]{color:#b5462e;margin-left:2px;font-style:normal}.sbm-optional[data-v-91cd15a4]{color:var(--color-text-tertiary,#a8a6a1);margin-left:4px;font-weight:400}.sbm-input[data-v-91cd15a4]{color:#2a2522;background:#fff;border:1px solid #d9d7d2;border-radius:6px;height:38px;padding:0 12px;font-family:inherit;font-size:13px;transition:border-color .15s,box-shadow .15s}.sbm-input[data-v-91cd15a4]:focus{border-color:#b5462e;outline:none;box-shadow:0 0 0 3px #b5462e26}.sbm-hint[data-v-91cd15a4]{color:var(--color-text-tertiary,#a8a6a1);font-size:11px;line-height:1.5}.sbm-consent[data-v-91cd15a4]{color:var(--color-text-secondary,#4a4845);background:#f7f6f4;border:1px solid #ecebe8;border-radius:6px;align-items:flex-start;gap:8px;padding:10px 12px;font-size:12px;line-height:1.5;display:flex}.sbm-consent input[data-v-91cd15a4]{accent-color:#b5462e;margin-top:2px}.sbm-consent strong[data-v-91cd15a4]{color:#b5462e;font-weight:600}.sbm-actions[data-v-91cd15a4]{justify-content:flex-end;gap:8px;margin-top:8px;display:flex}.sbm-btn[data-v-91cd15a4]{cursor:pointer;border:1px solid #0000;border-radius:6px;height:36px;padding:0 16px;font-family:inherit;font-size:13px;font-weight:500;transition:all .15s}.sbm-btn[data-v-91cd15a4]:disabled{opacity:.5;cursor:not-allowed}.sbm-btn-ghost[data-v-91cd15a4]{color:var(--color-text-secondary,#4a4845);background:#fff;border-color:#d9d7d2}.sbm-btn-ghost[data-v-91cd15a4]:hover:not(:disabled){background:#f4f3f1}.sbm-btn-primary[data-v-91cd15a4]{color:#fff;background:#b5462e;border-color:#b5462e;font-weight:600}.sbm-btn-primary[data-v-91cd15a4]:hover:not(:disabled){background:#9a3b27;border-color:#9a3b27}@keyframes sbm-fade-in-91cd15a4{0%{opacity:0}to{opacity:1}}
