.login-overlay[data-v-f2a1ceb1]{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg-secondary, #1a1a2e);display:flex;align-items:center;justify-content:center;z-index:3000}.login-card[data-v-f2a1ceb1]{background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:12px;padding:40px;width:360px;text-align:center}.login-title[data-v-f2a1ceb1]{font-size:var(--font-size-3xl);font-weight:600;color:var(--text-primary);margin:0 0 var(--space-sm)}.login-subtitle[data-v-f2a1ceb1]{font-size:var(--font-size-xl);color:var(--text-secondary);margin:0 0 var(--space-4xl)}.login-form[data-v-f2a1ceb1]{display:flex;flex-direction:column;gap:var(--space-2xl)}.form-group[data-v-f2a1ceb1]{display:flex;flex-direction:column;gap:var(--space-base);text-align:left}.form-group label[data-v-f2a1ceb1]{font-size:var(--font-size-lg);color:var(--text-secondary)}.form-group input[data-v-f2a1ceb1]{padding:var(--space-md) var(--space-xl);background:var(--input-bg);border:1px solid var(--border-primary);border-radius:4px;color:var(--text-primary);font-size:var(--font-size-xl)}.form-group input[data-v-f2a1ceb1]:focus{outline:none;border-color:var(--accent)}.form-group input[data-v-f2a1ceb1]:disabled{opacity:.5}.login-error[data-v-f2a1ceb1]{color:#ef4444;font-size:var(--font-size-lg);margin:0}.login-btn[data-v-f2a1ceb1]{padding:var(--space-lg) var(--space-2xl);background:var(--accent);color:#fff;border:none;border-radius:6px;font-size:var(--font-size-xl);font-weight:500;cursor:pointer;transition:background .2s}.login-btn[data-v-f2a1ceb1]:hover:not(:disabled){background:var(--accent-hover)}.login-btn[data-v-f2a1ceb1]:disabled{opacity:.5;cursor:not-allowed}.toast[data-v-923729e7]{display:flex;align-items:center;gap:var(--space-lg);padding:var(--space-xl) var(--space-2xl);background:var(--bg-secondary);border:1px solid var(--border-primary);border-left-width:4px;border-radius:6px;color:var(--text-primary);font-size:var(--font-size-xl);box-shadow:0 4px 12px #0000004d;position:relative;overflow:hidden}.toast-icon[data-v-923729e7]{font-size:var(--font-size-2xl);flex-shrink:0}.toast-message[data-v-923729e7]{flex:1}.toast-dismiss[data-v-923729e7]{background:none;border:none;color:var(--text-secondary);font-size:var(--font-size-heading);cursor:pointer;padding:0 var(--space-xs);line-height:1;flex-shrink:0}.toast-dismiss[data-v-923729e7]:hover{color:var(--text-primary)}.toast-progress[data-v-923729e7]{position:absolute;bottom:0;left:0;height:2px;transition:width .1s linear;opacity:.6}.toast-container[data-v-1ce38b92]{position:fixed;bottom:20px;right:20px;z-index:2000;display:flex;flex-direction:column;gap:var(--space-md);max-width:400px}.toast-enter-active[data-v-1ce38b92]{transition:all .3s ease-out}.toast-leave-active[data-v-1ce38b92]{transition:all .2s ease-in}.toast-enter-from[data-v-1ce38b92],.toast-leave-to[data-v-1ce38b92]{transform:translate(100%);opacity:0}.header[data-v-1fccf920]{display:flex;align-items:center;padding:0 var(--space-xl);height:33px;background:var(--bg-secondary);border-bottom:1px solid var(--border-secondary);flex-shrink:0;gap:var(--space-xl);position:relative;z-index:1600}.header-left[data-v-1fccf920]{display:flex;align-items:center;flex-shrink:0;gap:var(--space-sm)}.rev-badge[data-v-1fccf920],.fork-badge[data-v-1fccf920]{display:inline-flex;align-items:center;padding:1px var(--space-md);font-size:var(--font-size-xs);font-weight:700;font-family:var(--font-mono);letter-spacing:.5px;border-radius:3px;white-space:nowrap;line-height:1.4}.rev-badge[data-v-1fccf920]{background:#7c3aed;color:#fff}.fork-badge[data-v-1fccf920]{background:#2563eb;color:#fff;position:relative}.fork-badge.clickable[data-v-1fccf920]{cursor:pointer}.fork-badge.clickable[data-v-1fccf920]:hover{background:#1d4ed8}.fork-dropdown[data-v-1fccf920]{position:absolute;top:100%;left:0;margin-top:4px;background:var(--bg-elevated);border:1px solid var(--border-primary);border-radius:6px;padding:4px 0;box-shadow:var(--shadow-lg);min-width:120px;z-index:9999}.fork-dropdown-item[data-v-1fccf920]{display:block;width:100%;padding:var(--space-sm) var(--space-lg);border:none;background:none;color:var(--text-primary);font-size:var(--font-size-sm);font-family:var(--font-mono);text-align:left;cursor:pointer;white-space:nowrap}.fork-dropdown-item[data-v-1fccf920]:hover{background:var(--bg-tertiary)}.fork-dropdown-item.active[data-v-1fccf920]{color:var(--accent);font-weight:700}.header-center[data-v-1fccf920]{flex:1;display:flex;align-items:center;justify-content:center;min-width:0;gap:var(--space-md)}.template-badge[data-v-1fccf920]{display:inline-flex;align-items:center;gap:var(--space-sm);padding:2px var(--space-lg);background:#7c3aed;color:#fff;font-size:var(--font-size-xs);font-weight:700;font-family:var(--font-mono);letter-spacing:1px;border-radius:3px;flex-shrink:0}.template-source[data-v-1fccf920]{font-weight:400;opacity:.8;letter-spacing:0}.nav-link[data-v-1fccf920]{background:none;border:none;color:var(--text-secondary);font-size:var(--font-size-base);font-family:var(--font-mono);cursor:pointer;padding:var(--space-sm) var(--space-md);border-radius:3px}.nav-link[data-v-1fccf920]:hover{color:var(--text-primary);background:var(--bg-tertiary)}.nav-sep[data-v-1fccf920]{width:1px;height:12px;background:var(--border-primary)}.header-right[data-v-1fccf920]{display:flex;align-items:center;gap:var(--space-sm);flex-shrink:0}.dev-icon-group[data-v-1fccf920]{display:flex;align-items:center;gap:var(--space-xs);padding:1px 3px;border:1px solid var(--border-primary);border-radius:4px;background:color-mix(in srgb,var(--bg-tertiary) 50%,transparent);margin-right:var(--space-base)}.header-title[data-v-1fccf920]{font-size:calc(var(--font-size-base) + 2px);font-weight:700;color:var(--text-secondary);margin:0;letter-spacing:.3px;flex-shrink:0;text-transform:uppercase}.action-group[data-v-1fccf920]{display:flex;align-items:center;gap:var(--space-sm);flex-shrink:0}.action-btn[data-v-1fccf920]{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-xs) var(--space-md);height:22px;background:none;border:1px solid var(--border-primary);border-radius:3px;color:var(--text-secondary);font-size:var(--font-size-base);font-weight:600;cursor:pointer;white-space:nowrap}.action-btn[data-v-1fccf920]:hover:not(:disabled){background:var(--bg-tertiary);color:var(--text-primary);border-color:var(--text-secondary)}.action-btn[data-v-1fccf920]:disabled{opacity:.4;cursor:default}.action-upgrade[data-v-1fccf920]{background:none;color:var(--warning, #f59e0b);border-color:var(--warning, #f59e0b);margin-left:100px}.action-upgrade[data-v-1fccf920]:hover:not(:disabled){background:color-mix(in srgb,var(--warning, #f59e0b) 12%,transparent);color:var(--warning, #f59e0b);border-color:var(--warning, #f59e0b)}.action-btn svg[data-v-1fccf920]{flex-shrink:0}.action-btn.calc-action[data-v-1fccf920]{border-radius:0 3px 3px 0}.calc-group.calc-stale[data-v-1fccf920]{border:1px solid var(--error, #ef4444);border-radius:4px;overflow:hidden}.calc-group.calc-stale .mode-btn[data-v-1fccf920]{border:none;border-right:1px solid color-mix(in srgb,var(--error, #ef4444) 30%,transparent);border-radius:0}.calc-group.calc-stale .calc-action[data-v-1fccf920]{border:none;border-radius:0}.calc-group[data-v-1fccf920]:not(.calc-stale){border:1px solid #22c55e;border-radius:4px;overflow:hidden}.calc-group:not(.calc-stale) .mode-btn[data-v-1fccf920]{border:none;border-right:1px solid color-mix(in srgb,#22c55e 30%,transparent);border-radius:0}.calc-group:not(.calc-stale) .calc-action[data-v-1fccf920]{border:none;border-radius:0}.action-btn.calc-action.active[data-v-1fccf920]{background:none;border-color:transparent;color:var(--error, #ef4444)}.action-btn.calc-action.active[data-v-1fccf920]:hover{background:color-mix(in srgb,var(--error, #ef4444) 10%,transparent)}.action-btn.calc-action.calculating[data-v-1fccf920]{background:var(--warning-bg);color:var(--warning);min-width:140px}.action-btn.calc-action.paused[data-v-1fccf920]{opacity:.6}.action-btn.cancel-action[data-v-1fccf920]{width:22px;padding:0;justify-content:center;background:var(--error-bg);border-color:var(--error);color:var(--error);font-weight:700;margin-left:1px}.action-btn.cancel-action[data-v-1fccf920]:hover{background:var(--error);color:#fff}.calc-group[data-v-1fccf920]{display:flex;align-items:center;gap:0;margin-left:25px}.mode-dropdown-wrap[data-v-1fccf920]{position:relative}.mode-btn[data-v-1fccf920]{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);background:var(--bg-tertiary);border:1px solid var(--border-primary);border-right:none;border-radius:3px 0 0 3px;color:var(--text-secondary);font-size:var(--font-size-sm);cursor:pointer;height:22px}.mode-btn[data-v-1fccf920]:hover{color:var(--text-primary);background:var(--bg-primary)}.mode-icon[data-v-1fccf920]{font-size:var(--font-size-xs);line-height:1}.chevron[data-v-1fccf920]{flex-shrink:0}.mode-dropdown[data-v-1fccf920]{position:absolute;top:100%;left:0;margin-top:var(--space-sm);background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:6px;box-shadow:0 4px 16px #0000004d;z-index:100;padding:var(--space-sm);min-width:200px}.mode-option[data-v-1fccf920]{display:flex;align-items:center;gap:var(--space-base);width:100%;padding:5px var(--space-md);background:none;border:none;border-radius:4px;color:var(--text-primary);font-size:var(--font-size-base);cursor:pointer;text-align:left}.mode-option[data-v-1fccf920]:hover{background:var(--bg-tertiary)}.mode-option.active[data-v-1fccf920]{background:color-mix(in srgb,var(--accent) 15%,transparent)}.mode-opt-icon[data-v-1fccf920]{font-size:var(--font-size-base);width:16px;text-align:center;flex-shrink:0}.mode-opt-label[data-v-1fccf920]{font-weight:600;white-space:nowrap}.mode-opt-desc[data-v-1fccf920]{color:var(--text-muted);font-size:var(--font-size-sm);white-space:nowrap}.calc-icon[data-v-1fccf920]{font-size:var(--font-size-sm);line-height:1}.calc-icon.spin[data-v-1fccf920]{animation:spin-1fccf920 1.5s linear infinite}@keyframes spin-1fccf920{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.calc-progress-bar[data-v-1fccf920]{width:40px;height:4px;background:#fff3;border-radius:2px;overflow:hidden;flex-shrink:0}.calc-progress-fill[data-v-1fccf920]{display:block;height:100%;background:var(--warning);border-radius:2px;transition:width .3s ease}.icon-btn[data-v-1fccf920]{display:flex;align-items:center;justify-content:center;width:22px;height:22px;background:none;border:1px solid transparent;border-radius:3px;color:var(--text-secondary);cursor:pointer;flex-shrink:0}.icon-btn[data-v-1fccf920]:hover{color:var(--text-primary);background:var(--bg-tertiary);border-color:var(--border-primary)}.icon-btn.active[data-v-1fccf920]{color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent);border-color:color-mix(in srgb,var(--accent) 30%,transparent)}.icon-btn svg[data-v-1fccf920]{width:14px;height:14px;flex-shrink:0;display:block}.bell-wrap[data-v-1fccf920]{position:relative}.bell-btn.has-unread[data-v-1fccf920]{color:var(--accent)}.bell-badge[data-v-1fccf920]{position:absolute;top:-2px;right:-2px;min-width:14px;height:14px;padding:0 3px;background:var(--error);border-radius:7px;color:#fff;font-size:var(--font-size-xxs);font-weight:700;display:flex;align-items:center;justify-content:center;line-height:1;pointer-events:none}.bell-dropdown[data-v-1fccf920]{position:absolute;top:calc(100% + 4px);right:0;width:300px;max-height:360px;background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:8px;box-shadow:0 8px 24px #00000059;z-index:5000;display:flex;flex-direction:column;overflow:hidden}.bell-header[data-v-1fccf920]{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md) var(--space-xl);border-bottom:1px solid var(--border-primary);flex-shrink:0}.bell-title[data-v-1fccf920]{font-size:var(--font-size-base);font-weight:600;color:var(--text-primary);text-transform:uppercase;letter-spacing:.5px}.bell-clear[data-v-1fccf920]{background:none;border:none;color:var(--text-muted);font-size:var(--font-size-sm);cursor:pointer;padding:var(--space-xs) var(--space-base);border-radius:3px}.bell-clear[data-v-1fccf920]:hover{color:var(--text-primary);background:var(--bg-tertiary)}.bell-body[data-v-1fccf920]{overflow-y:auto;flex:1;min-height:0}.bell-empty[data-v-1fccf920]{padding:var(--space-4xl) var(--space-xl);text-align:center;color:var(--text-muted);font-size:var(--font-size-base)}.bell-event[data-v-1fccf920]{display:flex;align-items:flex-start;gap:var(--space-base);padding:var(--space-base) var(--space-xl);font-size:var(--font-size-base);border-bottom:1px solid var(--border-primary)}.bell-event[data-v-1fccf920]:last-child{border-bottom:none}.bell-event.unread[data-v-1fccf920]{background:color-mix(in srgb,var(--accent) 5%,transparent)}.bell-event-icon[data-v-1fccf920]{flex-shrink:0;font-size:var(--font-size-sm);margin-top:1px;opacity:.6}.bell-event-msg[data-v-1fccf920]{flex:1;color:var(--text-primary);line-height:1.4}.bell-event-time[data-v-1fccf920]{flex-shrink:0;color:var(--text-muted);font-size:var(--font-size-xs);font-family:var(--font-mono);margin-top:1px}.bell-fade-enter-active[data-v-1fccf920]{transition:opacity .1s ease-out,transform .1s ease-out}.bell-fade-leave-active[data-v-1fccf920]{transition:opacity 80ms ease-in,transform 80ms ease-in}.bell-fade-enter-from[data-v-1fccf920],.bell-fade-leave-to[data-v-1fccf920]{opacity:0;transform:translateY(-4px)}@media (max-width: 1023px){.header[data-v-1fccf920]{padding:0 var(--space-md);gap:var(--space-base)}.header-title[data-v-1fccf920]{font-size:var(--font-size-sm)}.action-btn span[data-v-1fccf920]{display:none}}.shortcuts-overlay[data-v-71bb1639]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:2500}.shortcuts-modal[data-v-71bb1639]{background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:10px;width:480px;max-height:80vh;box-shadow:0 16px 40px #0006;overflow:hidden;display:flex;flex-direction:column}.shortcuts-header[data-v-71bb1639]{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2xl) var(--space-3xl);border-bottom:1px solid var(--border-primary);flex-shrink:0}.shortcuts-title[data-v-71bb1639]{margin:0;font-size:var(--font-size-2xl);font-weight:600}.close-btn[data-v-71bb1639]{background:none;border:none;color:var(--text-secondary);font-size:var(--font-size-3xl);cursor:pointer;padding:var(--space-xs) var(--space-base);border-radius:4px;line-height:1}.close-btn[data-v-71bb1639]:hover{background:var(--bg-tertiary);color:var(--text-primary)}.shortcuts-body[data-v-71bb1639]{overflow-y:auto;padding:var(--space-2xl) var(--space-3xl);flex:1;min-height:0}.shortcut-group[data-v-71bb1639]{margin-bottom:var(--space-2xl)}.shortcut-group[data-v-71bb1639]:last-child{margin-bottom:0}.group-title[data-v-71bb1639]{margin:0 0 var(--space-md);font-size:var(--font-size-base);font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary)}.shortcut-row[data-v-71bb1639]{display:flex;align-items:center;gap:var(--space-xl);padding:var(--space-sm) 0}.shortcut-key[data-v-71bb1639]{min-width:100px;text-align:right;font-size:var(--font-size-md);padding:var(--space-xs) var(--space-md);background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:4px;color:var(--text-primary);font-family:monospace;font-weight:500}.shortcut-desc[data-v-71bb1639]{font-size:var(--font-size-lg);color:var(--text-primary)}.shortcuts-footer[data-v-71bb1639]{padding:var(--space-lg) var(--space-3xl);border-top:1px solid var(--border-primary);font-size:var(--font-size-md);color:var(--text-secondary);text-align:center;flex-shrink:0}.shortcuts-footer kbd[data-v-71bb1639]{font-size:var(--font-size-base);padding:1px 5px;background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:3px;font-family:monospace}.comparison-matrix[data-v-ee345d88]{font-size:var(--font-size-md)}.matrix-scroll[data-v-ee345d88]{overflow-x:auto}.matrix-table[data-v-ee345d88]{width:100%;border-collapse:collapse;white-space:nowrap}.matrix-table th[data-v-ee345d88],.matrix-table td[data-v-ee345d88]{padding:var(--space-base) var(--space-lg);border:1px solid var(--border-primary);vertical-align:top}.th-name[data-v-ee345d88]{position:sticky;left:0;z-index:2;background:var(--bg-secondary);font-weight:600;font-size:var(--font-size-base);text-transform:uppercase;letter-spacing:.3px;color:var(--text-secondary);min-width:140px;text-align:left}.th-sol[data-v-ee345d88]{font-weight:600;font-size:var(--font-size-base);text-transform:uppercase;letter-spacing:.3px;color:var(--text-secondary);min-width:130px;text-align:center;background:var(--bg-secondary)}.td-name[data-v-ee345d88]{position:sticky;left:0;z-index:1;background:var(--bg-secondary);font-weight:500;color:var(--text-primary);max-width:180px;overflow:hidden;text-overflow:ellipsis}.td-cell[data-v-ee345d88]{text-align:center;background:var(--bg-primary);transition:background .15s}.cell-best[data-v-ee345d88]{background:#22c55e14}.cell-mid[data-v-ee345d88]{background:#eab3080f}.cell-worst[data-v-ee345d88]{background:#ef444414}.cell-row-best[data-v-ee345d88]{box-shadow:inset 0 0 0 2px var(--accent)}.cell-cost[data-v-ee345d88]{font-weight:600;font-variant-numeric:tabular-nums;color:var(--text-primary)}.cost-best[data-v-ee345d88]{color:var(--accent)}.cell-weight[data-v-ee345d88]{font-size:var(--font-size-base);color:var(--text-secondary);margin-top:var(--space-xs)}.cell-status[data-v-ee345d88]{display:flex;justify-content:center;gap:var(--space-sm);margin-top:3px}.badge-ok[data-v-ee345d88]{font-size:var(--font-size-sm);padding:1px var(--space-base);border-radius:8px;background:#22c55e26;color:#22c55e;font-weight:500}.badge-fail[data-v-ee345d88]{font-size:var(--font-size-sm);padding:1px var(--space-base);border-radius:8px;background:#ef444426;color:#ef4444;font-weight:500}.badge-warn[data-v-ee345d88]{font-size:var(--font-size-sm);padding:1px var(--space-base);border-radius:8px;background:#f59e0b26;color:#f59e0b;font-weight:500}.cell-pressure[data-v-ee345d88]{font-size:var(--font-size-sm);color:var(--text-secondary);margin-top:var(--space-xs)}.cell-empty[data-v-ee345d88]{color:var(--text-secondary)}.matrix-empty[data-v-ee345d88]{padding:var(--space-5xl);text-align:center;color:var(--text-secondary);font-size:var(--font-size-lg)}.bottom-panel[data-v-8e1209e4]{display:flex;flex-direction:column;border-top:1px solid var(--border-primary);background:var(--bg-secondary);flex-shrink:0;min-height:120px;max-height:600px;position:relative}.resize-handle[data-v-8e1209e4]{position:absolute;top:-3px;left:0;right:0;height:6px;cursor:ns-resize;z-index:10}.resize-handle[data-v-8e1209e4]:hover,.resize-handle[data-v-8e1209e4]:active{background:var(--accent);opacity:.3}.panel-header[data-v-8e1209e4]{display:flex;align-items:center;gap:var(--space-xl);padding:0 var(--space-xl);border-bottom:1px solid var(--border-primary);flex-shrink:0;height:36px}.panel-tabs[data-v-8e1209e4]{display:flex;gap:0}.panel-tab[data-v-8e1209e4]{padding:var(--space-md) 14px;background:none;border:none;border-bottom:2px solid transparent;color:var(--text-secondary);font-size:var(--font-size-md);font-weight:500;cursor:pointer;white-space:nowrap}.panel-tab[data-v-8e1209e4]:hover{color:var(--text-primary)}.panel-tab.active[data-v-8e1209e4]{color:var(--accent);border-bottom-color:var(--accent)}.panel-meta[data-v-8e1209e4]{margin-left:auto;font-size:var(--font-size-base);color:var(--text-secondary)}.meta-network[data-v-8e1209e4]{font-family:monospace}.panel-actions[data-v-8e1209e4]{display:flex;gap:var(--space-sm)}.action-btn[data-v-8e1209e4]{padding:var(--space-xs) var(--space-md);background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:3px;color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:600;cursor:pointer;text-transform:uppercase;letter-spacing:.3px}.action-btn[data-v-8e1209e4]:hover{border-color:var(--accent);color:var(--accent)}.panel-close[data-v-8e1209e4]{background:none;border:none;color:var(--text-secondary);font-size:var(--font-size-heading);cursor:pointer;padding:var(--space-xs) var(--space-base);border-radius:4px;line-height:1}.panel-close[data-v-8e1209e4]:hover{background:var(--bg-tertiary);color:var(--text-primary)}.panel-body[data-v-8e1209e4]{flex:1;overflow:hidden}.tab-content[data-v-8e1209e4]{height:100%;overflow-y:auto}.table-scroll[data-v-8e1209e4]{padding:var(--space-md) var(--space-xl)}.data-table[data-v-8e1209e4]{width:100%;font-size:var(--font-size-base);border-collapse:collapse}.data-table th[data-v-8e1209e4],.data-table td[data-v-8e1209e4]{padding:3px 8px;text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.data-table th[data-v-8e1209e4]{color:var(--text-secondary);font-weight:500;border-bottom:1px solid var(--border-primary);position:sticky;top:0;background:var(--bg-secondary)}.data-table th[data-v-8e1209e4]:first-child,.data-table td[data-v-8e1209e4]:first-child{text-align:left}.data-table tr:hover td[data-v-8e1209e4]{background:var(--bg-tertiary)}.desc-cell[data-v-8e1209e4]{text-align:left!important;max-width:200px;overflow:hidden;text-overflow:ellipsis}.bom-summary-strip[data-v-8e1209e4]{display:flex;gap:var(--space-xl);align-items:center;padding:var(--space-base) var(--space-md);background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:4px;margin-bottom:var(--space-lg);flex-wrap:wrap}.bom-summary-cell[data-v-8e1209e4]{display:flex;flex-direction:column;gap:1px;padding:var(--space-xs) var(--space-lg);border-right:1px solid var(--border-primary);min-width:70px}.bom-summary-cell[data-v-8e1209e4]:last-of-type{border-right:none}.bom-summary-total[data-v-8e1209e4]{font-weight:700}.bom-summary-label[data-v-8e1209e4]{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.3px;color:var(--text-secondary)}.bom-summary-value[data-v-8e1209e4]{font-size:var(--font-size-md);font-family:monospace;color:var(--text-primary);font-variant-numeric:tabular-nums}.bom-summary-mrp[data-v-8e1209e4],.bom-summary-wt[data-v-8e1209e4]{font-size:var(--font-size-sm);color:var(--text-secondary);font-family:monospace}.bom-summary-meta[data-v-8e1209e4]{margin-left:auto;display:flex;gap:var(--space-md);font-size:var(--font-size-sm);font-weight:600;color:var(--accent);text-transform:uppercase;letter-spacing:.3px}.bom-grand-mrp[data-v-8e1209e4],.bom-grand-wt[data-v-8e1209e4]{margin-left:var(--space-2xl);font-size:var(--font-size-md);font-weight:500;color:var(--text-secondary)}.bom-section[data-v-8e1209e4]{margin-bottom:var(--space-xl)}.bom-cat-title[data-v-8e1209e4]{margin:0 0 var(--space-sm);font-size:var(--font-size-base);font-weight:600;color:var(--text-secondary)}.bom-grand-total[data-v-8e1209e4]{font-size:var(--font-size-lg);font-weight:700;padding:var(--space-md) 0;border-top:2px solid var(--border-primary)}.log-scroll[data-v-8e1209e4]{padding:var(--space-md) var(--space-xl);font-family:monospace;font-size:var(--font-size-base)}.log-line[data-v-8e1209e4]{padding:1px 0;color:var(--text-primary);white-space:pre-wrap;word-break:break-all}.empty-tab[data-v-8e1209e4]{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-secondary);font-size:var(--font-size-lg)}.dev-panel[data-v-8e1209e4]{padding:var(--space-md) var(--space-xl)}.dev-summary[data-v-8e1209e4]{display:flex;gap:var(--space-2xl);font-size:var(--font-size-md);font-family:monospace;color:var(--text-primary);padding:var(--space-base) var(--space-md);background:var(--bg-primary);border-radius:4px;margin-bottom:var(--space-md)}.dev-section[data-v-8e1209e4]{margin-bottom:var(--space-sm)}.dev-section-title[data-v-8e1209e4]{font-size:var(--font-size-base);font-weight:600;color:var(--accent);cursor:pointer;padding:3px 0;-webkit-user-select:none;user-select:none}.dev-json[data-v-8e1209e4]{font-size:var(--font-size-sm);font-family:monospace;color:var(--text-primary);background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:4px;padding:var(--space-base) var(--space-md);margin:var(--space-xs) 0 0;overflow-x:auto;max-height:200px;white-space:pre-wrap;word-break:break-all}.footer-bar[data-v-964bc2b1]{display:flex;align-items:center;gap:var(--space-md);padding:0 var(--space-lg);height:33px;background:var(--bg-secondary);border-top:1px solid var(--border-secondary);flex-shrink:0;font-size:var(--font-size-base);-webkit-user-select:none;user-select:none}.footer-zone[data-v-964bc2b1]{flex:1;display:flex;align-items:center;gap:var(--space-base);min-width:0}.footer-left[data-v-964bc2b1]{justify-content:flex-start}.footer-right[data-v-964bc2b1]{justify-content:flex-end}.footer-center[data-v-964bc2b1]{display:flex;align-items:center;gap:var(--space-md);flex-shrink:0}.footer-group[data-v-964bc2b1]{display:flex;align-items:center;gap:var(--space-sm)}.footer-sep[data-v-964bc2b1]{width:1px;height:14px;background:var(--border-primary);flex-shrink:0}.footer-clock[data-v-964bc2b1]{color:var(--text-secondary);font-family:var(--font-mono);font-size:var(--font-size-sm);white-space:nowrap;letter-spacing:.2px}.footer-user[data-v-964bc2b1],.footer-meta[data-v-964bc2b1]{color:var(--text-muted);font-family:var(--font-mono);font-size:var(--font-size-sm);white-space:nowrap}.footer-meta-dot[data-v-964bc2b1]{color:var(--text-muted);opacity:.4;font-size:var(--font-size-sm);line-height:1}.footer-hash[data-v-964bc2b1]{opacity:.7;cursor:help}.footer-version[data-v-964bc2b1]{color:var(--text-secondary);font-size:var(--font-size-sm);font-family:var(--font-mono);font-weight:600;white-space:nowrap}.footer-version-outdated[data-v-964bc2b1]{color:var(--warning)}.footer-mixed-badge[data-v-964bc2b1]{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.3px;color:#f59e0b;margin-left:4px}.footer-env[data-v-964bc2b1]{background:none;border:none;color:var(--text-muted);font-family:var(--font-mono);font-size:var(--font-size-sm);cursor:pointer;padding:1px 4px;border-radius:3px;white-space:nowrap}.footer-env[data-v-964bc2b1]:hover{color:var(--text-primary);background:var(--bg-tertiary)}.footer-env-non-prod[data-v-964bc2b1]{color:#f59e0b;font-weight:600}.issue-badges[data-v-964bc2b1]{cursor:pointer}.issue-badges:hover .badge[data-v-964bc2b1]{opacity:.8}.issue-badges.muted[data-v-964bc2b1]{cursor:default}.badge[data-v-964bc2b1]{display:flex;align-items:center;gap:3px;padding:1px 6px;border-radius:8px;font-size:var(--font-size-sm);font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums}.badge-error[data-v-964bc2b1]{background:var(--error-bg);color:var(--error)}.badge-warning[data-v-964bc2b1]{background:var(--warning-bg);color:var(--warning)}.badge-info[data-v-964bc2b1]{background:color-mix(in srgb,var(--accent) 15%,transparent);color:var(--accent)}.badge-ok[data-v-964bc2b1]{color:var(--text-muted);font-weight:500}.footer-project-label[data-v-964bc2b1]{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-xs) var(--space-md);background:none;border:1px solid transparent;border-radius:3px;cursor:pointer;height:20px;max-width:800px;overflow:hidden}.footer-project-label[data-v-964bc2b1]:hover{background:var(--bg-tertiary);border-color:var(--border-primary)}.footer-project-id[data-v-964bc2b1]{color:var(--text-secondary);font-size:var(--font-size-sm);font-family:var(--font-mono);font-weight:600;text-transform:uppercase;letter-spacing:.3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.footer-project-sep[data-v-964bc2b1]{color:var(--text-muted);opacity:.5;flex-shrink:0;font-size:var(--font-size-sm)}.footer-project-net[data-v-964bc2b1]{color:var(--text-primary);font-size:var(--font-size-sm);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (max-width: 768px){.footer-meta[data-v-964bc2b1],.footer-meta-dot[data-v-964bc2b1]{display:none}}.canvas-tab-bar[data-v-5ae09db6]{display:flex;align-items:stretch;height:28px;background:var(--bg-secondary);border-bottom:1px solid var(--border-secondary);overflow-x:auto;overflow-y:hidden;flex-shrink:0;gap:1px;scrollbar-width:none}.canvas-tab-bar[data-v-5ae09db6]::-webkit-scrollbar{display:none}.tab[data-v-5ae09db6]{display:flex;align-items:center;gap:var(--space-sm);padding:0 var(--space-lg);border:none;background:none;color:var(--text-secondary);font-size:var(--font-size-sm);font-family:var(--font-mono);font-weight:500;cursor:pointer;white-space:nowrap;min-width:0;position:relative;border-bottom:2px solid transparent;transition:color .15s,background .15s}.tab[data-v-5ae09db6]:hover{color:var(--text-primary);background:var(--bg-tertiary)}.tab.active[data-v-5ae09db6]{color:var(--text-primary);background:var(--bg-primary);border-bottom-color:var(--accent);font-weight:600}.overview-tab[data-v-5ae09db6]{padding:0 var(--space-xl)}.tab-icon[data-v-5ae09db6]{flex-shrink:0}.tab-label[data-v-5ae09db6]{overflow:hidden;text-overflow:ellipsis;max-width:100px}.tab-dirty-dot[data-v-5ae09db6]{width:6px;height:6px;border-radius:50%;background:var(--warning, #f59e0b);flex-shrink:0}.tab-close[data-v-5ae09db6],.tab-pin[data-v-5ae09db6]{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:14px;height:14px;border-radius:3px;font-size:var(--font-size-lg);line-height:1;opacity:0;transition:opacity .1s}.tab:hover .tab-close[data-v-5ae09db6],.tab:hover .tab-pin[data-v-5ae09db6],.tab.pinned .tab-pin[data-v-5ae09db6]{opacity:.6}.tab-close[data-v-5ae09db6]:hover,.tab-pin[data-v-5ae09db6]:hover{opacity:1!important;background:var(--bg-tertiary)}.tab.pinned .tab-pin[data-v-5ae09db6]{opacity:.5;color:var(--accent)}.tab-ctx-menu[data-v-5ae09db6]{position:fixed;z-index:9999;background:var(--bg-elevated);border:1px solid var(--border-primary);border-radius:6px;padding:4px 0;box-shadow:var(--shadow-lg);min-width:120px}.tab-ctx-menu button[data-v-5ae09db6]{display:block;width:100%;padding:var(--space-sm) var(--space-xl);border:none;background:none;color:var(--text-primary);font-size:var(--font-size-sm);font-family:var(--font-mono);text-align:left;cursor:pointer}.tab-ctx-menu button[data-v-5ae09db6]:hover{background:var(--bg-tertiary)}.multi-svg-viewer[data-v-c7e2f06d]{width:100%;height:100%;position:relative;background:var(--bg-primary)}.overview-canvas[data-v-c7e2f06d]{width:100%;height:100%;cursor:crosshair;user-select:none;-webkit-user-select:none}.overview-canvas.is-panning[data-v-c7e2f06d]{cursor:grabbing}.network-group[data-v-c7e2f06d]{cursor:pointer}.net-hitarea[data-v-c7e2f06d]{fill:transparent;stroke:none;pointer-events:all}.net-content[data-v-c7e2f06d]{pointer-events:none}.net-bounds[data-v-c7e2f06d]{pointer-events:none;fill:none;stroke:var(--text-secondary, #6b7280);stroke-width:1;stroke-dasharray:4 2;vector-effect:non-scaling-stroke;opacity:.4}.net-bounds-focused[data-v-c7e2f06d]{stroke:var(--accent, #3b82f6);stroke-width:2;stroke-dasharray:none;opacity:.6}.net-bounds-selected[data-v-c7e2f06d]{stroke:var(--accent, #3b82f6);stroke-width:2;stroke-dasharray:none;opacity:.8;fill:color-mix(in srgb,var(--accent, #3b82f6) 8%,transparent)}.net-label[data-v-c7e2f06d]{fill:var(--text-primary, #e5e7eb);font-family:var(--font-mono, monospace);font-weight:600;pointer-events:none}.net-dirty-overlay[data-v-c7e2f06d]{fill:#0000001f;pointer-events:none}.net-dirty-badge[data-v-c7e2f06d]{fill:#a78bfa;font-family:var(--font-mono, monospace);font-weight:700;font-style:italic;pointer-events:none;text-transform:uppercase;letter-spacing:.05em}.net-locked-badge[data-v-c7e2f06d]{fill:#9ca3af;font-family:var(--font-mono, monospace);font-weight:700;font-style:italic;pointer-events:none;text-transform:uppercase;letter-spacing:.05em}.drag-select-window[data-v-c7e2f06d]{fill:#3b82f61a;stroke:#3b82f6;stroke-width:1;vector-effect:non-scaling-stroke}.drag-select-crossing[data-v-c7e2f06d]{fill:#22c55e1a;stroke:#22c55e;stroke-width:1;stroke-dasharray:4 3;vector-effect:non-scaling-stroke}.empty-state[data-v-c7e2f06d]{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-secondary);font-size:var(--font-size-xl);font-family:var(--font-mono)}.bottom-bar[data-v-c7e2f06d]{position:absolute;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:6px 12px;pointer-events:none}.net-count[data-v-c7e2f06d]{color:var(--text-muted);font-size:var(--font-size-sm);font-family:var(--font-mono);display:flex;align-items:center;gap:6px;pointer-events:auto}.open-sel-btn[data-v-c7e2f06d]{background:var(--bg-secondary);border:1px solid var(--border-primary);color:var(--text-secondary);padding:1px 6px;font-size:var(--font-size-sm);font-family:var(--font-mono);border-radius:3px;cursor:pointer}.open-sel-btn[data-v-c7e2f06d]:hover{background:var(--bg-tertiary);color:var(--text-primary)}.zoom-controls[data-v-c7e2f06d]{display:flex;align-items:center;gap:1px;background:var(--overlay-panel-bg, var(--bg-secondary));backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-primary);border-radius:6px;padding:2px;pointer-events:auto}.zoom-btn[data-v-c7e2f06d]{background:none;border:none;color:var(--text-secondary);width:26px;height:26px;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-lg);font-weight:600;font-family:var(--font-mono);cursor:pointer;border-radius:4px}.zoom-btn[data-v-c7e2f06d]:hover{background:var(--bg-tertiary);color:var(--text-primary)}.zoom-indicator[data-v-c7e2f06d]{color:var(--text-muted);font-size:var(--font-size-sm);font-family:var(--font-mono);min-width:40px;text-align:center;-webkit-user-select:none;user-select:none}.fit-btn[data-v-c7e2f06d]{background:none;border:none;border-left:1px solid var(--border-primary);color:var(--text-secondary);padding:2px 8px;font-size:var(--font-size-base);font-family:var(--font-mono);cursor:pointer;border-radius:0 4px 4px 0;height:26px}.fit-btn[data-v-c7e2f06d]:hover{background:var(--bg-tertiary);color:var(--text-primary)}.svg-ctx-menu[data-v-c7e2f06d]{position:fixed;z-index:9999;min-width:140px;background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:6px;box-shadow:0 4px 12px #0000004d;padding:4px 0}.svg-ctx-item[data-v-c7e2f06d]{display:block;width:100%;padding:6px 14px;background:none;border:none;color:var(--text-primary);font-size:var(--font-size-md);text-align:left;cursor:pointer}.svg-ctx-item[data-v-c7e2f06d]:hover{background:var(--bg-tertiary)}.viewcube-container[data-v-efa9e235]{position:absolute;top:12px;right:12px;width:100px;height:100px;pointer-events:none;z-index:10}.viewcube-scene[data-v-efa9e235]{width:100%;height:100%;perspective:300px;display:flex;align-items:center;justify-content:center}.viewcube[data-v-efa9e235]{width:80px;height:80px;position:relative;transform-style:preserve-3d;transition:transform .1s ease-out}.viewcube-face[data-v-efa9e235]{position:absolute;width:80px;height:80px;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#ffffffb3;background:#0f1117b3;border:1px solid rgba(255,255,255,.15);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);cursor:pointer;pointer-events:auto;-webkit-user-select:none;user-select:none;backface-visibility:hidden}.viewcube-face[data-v-efa9e235]:hover{background:#3b82f680;color:#fff;border-color:#3b82f699}.viewcube-axes[data-v-efa9e235]{position:absolute;bottom:2px;left:50%;transform:translate(-50%);display:flex;gap:8px}.axis-label[data-v-efa9e235]{font-size:9px;font-weight:700;font-family:monospace}.axis-x[data-v-efa9e235]{color:#ef4444}.axis-y[data-v-efa9e235]{color:#22c55e}.three-viewer[data-v-2f1bca94]{width:100%;height:100%;position:relative}.empty-state[data-v-2f1bca94]{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-secondary);font-size:var(--font-size-xl)}.color-mode-bar[data-v-2f1bca94]{position:absolute;top:12px;left:12px;display:flex;gap:2px;background:#0f1117d9;border:1px solid rgba(255,255,255,.1);border-radius:6px;padding:3px}.color-mode-btn[data-v-2f1bca94]{padding:3px 10px;background:none;border:none;border-radius:4px;color:#ffffff80;font-size:var(--font-size-sm);font-weight:600;cursor:pointer;text-transform:uppercase;letter-spacing:.3px}.color-mode-btn[data-v-2f1bca94]:hover{color:#fffc}.color-mode-btn.active[data-v-2f1bca94]{background:#ffffff1f;color:#fff}.view-preset-bar[data-v-2f1bca94]{position:absolute;top:12px;left:50%;transform:translate(-50%);display:flex;gap:2px;background:#0f1117d9;border:1px solid rgba(255,255,255,.1);border-radius:6px;padding:3px;z-index:5}.view-preset-btn[data-v-2f1bca94]{padding:3px 10px;background:none;border:none;border-radius:4px;color:#ffffff80;font-size:var(--font-size-sm);font-weight:600;cursor:pointer;text-transform:uppercase;letter-spacing:.3px}.view-preset-btn[data-v-2f1bca94]:hover{color:#fffc}.view-preset-btn.active[data-v-2f1bca94]{background:#ffffff1f;color:#fff}.dn-legend[data-v-2f1bca94]{position:absolute;top:12px;right:12px;background:#0f1117d9;border:1px solid rgba(255,255,255,.1);border-radius:6px;padding:8px 12px;display:flex;flex-direction:column;gap:4px;pointer-events:none}.legend-title[data-v-2f1bca94]{font-size:var(--font-size-sm);font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#fff9;margin-bottom:2px}.legend-item[data-v-2f1bca94]{display:flex;align-items:center;gap:6px}.legend-dot[data-v-2f1bca94]{width:10px;height:10px;border-radius:50%;flex-shrink:0}.legend-label[data-v-2f1bca94]{font-size:var(--font-size-base);font-family:monospace;color:#fffc}.selection-bar[data-v-2f1bca94]{position:absolute;bottom:12px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:10px;background:#0f1117e6;border:1px solid rgba(255,255,255,.15);border-radius:6px;padding:4px 12px;z-index:5}.selection-count[data-v-2f1bca94]{font-size:var(--font-size-base);font-weight:600;color:#ffffffe6}.selection-clear[data-v-2f1bca94]{padding:2px 8px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:3px;color:#ffffffb3;font-size:var(--font-size-sm);font-weight:600;cursor:pointer}.selection-clear[data-v-2f1bca94]:hover{background:#fff3;color:#fff}.fit-btn[data-v-2f1bca94]{position:absolute;bottom:12px;right:12px;background:#0f1117d9;border:1px solid rgba(255,255,255,.1);color:#fff9;padding:4px 10px;font-size:var(--font-size-base);font-weight:600;border-radius:4px;cursor:pointer;z-index:5}.fit-btn[data-v-2f1bca94]:hover{background:#ffffff26;color:#fff}.hover-tooltip[data-v-2f1bca94]{position:absolute;bottom:12px;left:12px;background:#0f1117e6;border:1px solid rgba(255,255,255,.1);border-radius:4px;padding:3px 8px;font-size:var(--font-size-sm);font-family:monospace;color:#fffc;pointer-events:none;z-index:5}.viewer-mode-pill[data-v-b5b6584d]{position:absolute;top:10px;left:50%;transform:translate(-50%);z-index:5;display:flex;gap:1px;background:var(--overlay-panel-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-primary);border-radius:6px;padding:2px;box-shadow:var(--shadow-md)}.pill-btn[data-v-b5b6584d]{background:none;border:none;color:var(--text-secondary);padding:3px 10px;font-size:var(--font-size-base);cursor:pointer;border-radius:4px;font-weight:600;font-family:var(--font-mono);letter-spacing:.2px}.pill-btn[data-v-b5b6584d]:hover{color:var(--text-primary);background:var(--bg-tertiary)}.pill-btn.active[data-v-b5b6584d]{background:var(--accent);color:#fff}.svg-viewer[data-v-18dff868]{width:100%;height:100%;position:relative;background:var(--bg-primary);overflow:hidden}.svg-wrapper[data-v-18dff868]{width:100%;height:100%;position:relative;overflow:hidden}.svg-canvas[data-v-18dff868]{width:100%;height:100%;cursor:default}.svg-canvas.is-panning[data-v-18dff868]{cursor:grabbing}.nav-controls[data-v-18dff868]{position:absolute;bottom:12px;right:12px;display:flex;align-items:center;gap:1px;background:var(--overlay-panel-bg, var(--bg-secondary));backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-primary);border-radius:6px;padding:2px;box-shadow:var(--shadow-md, 0 4px 12px rgba(0,0,0,.2))}.nav-btn[data-v-18dff868]{background:none;border:none;color:var(--text-secondary);width:28px;height:28px;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-lg);font-weight:600;font-family:var(--font-mono);cursor:pointer;border-radius:4px}.nav-btn[data-v-18dff868]:hover{background:var(--bg-tertiary);color:var(--text-primary)}.nav-btn.fit[data-v-18dff868]{width:auto;padding:0 8px;font-size:var(--font-size-base)}.zoom-indicator[data-v-18dff868]{color:var(--text-muted);font-size:var(--font-size-sm);font-family:var(--font-mono);min-width:44px;text-align:center;cursor:pointer;padding:2px 4px;border-radius:3px;-webkit-user-select:none;user-select:none}.zoom-indicator[data-v-18dff868]:hover{background:var(--bg-tertiary);color:var(--text-secondary)}.empty-state[data-v-18dff868]{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-secondary);font-size:var(--font-size-xl)}.detail-center[data-v-04e2ac2d]{display:flex;flex-direction:column;overflow:hidden}.viewer-area[data-v-04e2ac2d]{flex:1;position:relative;overflow:hidden}.detail-left[data-v-ca44450b]{overflow-y:auto;border-right:1px solid var(--border-primary);padding:var(--space-xl);display:flex;flex-direction:column;gap:var(--space-md)}.panel-section[data-v-ca44450b]{background:var(--bg-secondary);border-radius:6px;padding:var(--space-lg)}.section-title[data-v-ca44450b]{margin:0 0 var(--space-md);font-size:var(--font-size-md);font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary)}.summary-grid[data-v-ca44450b]{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-base)}.summary-item[data-v-ca44450b]{display:flex;justify-content:space-between;font-size:var(--font-size-md);padding:var(--space-xs) 0}.summary-item .label[data-v-ca44450b]{color:var(--text-secondary)}.summary-item .value[data-v-ca44450b]{font-weight:500;font-variant-numeric:tabular-nums}.solution-tabs[data-v-ca44450b]{display:flex;gap:var(--space-sm);flex-wrap:wrap}.solution-tab[data-v-ca44450b]{background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:4px;padding:var(--space-sm) var(--space-md);font-size:var(--font-size-base);cursor:pointer;color:var(--text-secondary);display:flex;gap:var(--space-sm);align-items:center}.solution-tab.active[data-v-ca44450b]{border-color:var(--accent);color:var(--text-primary);background:var(--bg-tertiary)}.tab-cost[data-v-ca44450b]{font-variant-numeric:tabular-nums}.table-scroll[data-v-ca44450b]{overflow-x:auto}.data-table[data-v-ca44450b]{width:100%;font-size:var(--font-size-base);border-collapse:collapse}.data-table th[data-v-ca44450b],.data-table td[data-v-ca44450b]{padding:3px 4px;text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.data-table th[data-v-ca44450b]{color:var(--text-secondary);font-weight:500;border-bottom:1px solid var(--border-primary)}.data-table th[data-v-ca44450b]:first-child,.data-table td[data-v-ca44450b]:first-child{text-align:left}.data-table tr:hover td[data-v-ca44450b]{background:var(--bg-tertiary)}.text-warning[data-v-ca44450b]{color:var(--warning)}.warnings-list[data-v-ca44450b]{margin:0;padding-left:var(--space-2xl);font-size:var(--font-size-base);color:var(--warning)}.warnings-list li[data-v-ca44450b]{margin-bottom:var(--space-xs)}.empty-state[data-v-ca44450b]{font-size:var(--font-size-md);color:var(--text-secondary);text-align:center;padding:var(--space-xl)}.dn-dropdown[data-v-aeddf833]{position:relative;display:flex;flex-direction:column;gap:var(--space-sm)}.dn-label[data-v-aeddf833]{font-size:var(--font-size-md);font-weight:600;color:var(--text-secondary)}.dn-toggle[data-v-aeddf833]{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding:var(--space-md) var(--space-lg);background:var(--input-bg);border:1px solid var(--border-primary);border-radius:4px;color:var(--text-primary);font-size:var(--font-size-lg);font-weight:400;cursor:pointer;min-width:120px}.dn-toggle[data-v-aeddf833]:hover{border-color:var(--accent)}.dn-arrow[data-v-aeddf833]{font-size:var(--font-size-sm);color:var(--text-secondary)}.dn-menu[data-v-aeddf833]{position:absolute;top:100%;left:0;right:0;margin-top:var(--space-xs);background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:4px;padding:var(--space-base) 0;z-index:100;max-height:240px;overflow-y:auto}.dn-option[data-v-aeddf833]{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-sm) var(--space-xl);cursor:pointer;font-size:var(--font-size-lg);color:var(--text-primary)}.dn-option[data-v-aeddf833]:hover{background:var(--bg-tertiary)}.dn-option input[type=checkbox][data-v-aeddf833]{accent-color:var(--accent)}.dn-divider[data-v-aeddf833]{border:none;border-top:1px solid var(--border-primary);margin:var(--space-sm) 0}.solver-config[data-v-e18b3ef8]{display:flex;flex-direction:column;gap:var(--space-2xl)}.config-toolbar[data-v-e18b3ef8]{display:flex;align-items:center;gap:var(--space-md);position:sticky;top:0;z-index:10;background:var(--bg-secondary);border-bottom:1px solid var(--border-primary);padding:var(--space-md) 0;margin:0 0 var(--space-md) 0;flex-wrap:wrap}.engine-badge[data-v-e18b3ef8]{font-size:var(--font-size-sm);font-family:var(--font-mono);color:var(--text-muted);padding:var(--space-xs) var(--space-base);background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:3px}.engine-advisory-hint[data-v-e18b3ef8]{font-size:var(--font-size-md);cursor:default}.engine-advisory-hint.advisory-critical[data-v-e18b3ef8]{color:var(--error, #ef4444)}.engine-advisory-hint.advisory-warning[data-v-e18b3ef8]{color:#f59e0b}.engine-advisory-hint.advisory-info[data-v-e18b3ef8]{color:var(--text-muted)}.btn-apply[data-v-e18b3ef8]{padding:var(--space-sm) var(--space-xl);background:var(--accent);border:none;border-radius:4px;color:#fff;font-size:var(--font-size-base);font-weight:600;font-family:var(--font-mono);cursor:pointer}.btn-apply[data-v-e18b3ef8]:hover{background:var(--accent-hover, var(--accent))}.scope-desc[data-v-e18b3ef8]{font-size:var(--font-size-sm);color:var(--text-muted)}.override-badge[data-v-e18b3ef8]{font-size:var(--font-size-sm);padding:1px var(--space-base);border-radius:8px;background:var(--accent);color:#fff;font-weight:500}.btn-action[data-v-e18b3ef8]{padding:3px var(--space-md);font-size:var(--font-size-sm);font-weight:600;font-family:var(--font-mono);background:none;border:1px solid var(--border-primary);border-radius:4px;color:var(--text-secondary);cursor:pointer}.btn-action[data-v-e18b3ef8]:hover{color:var(--error);border-color:var(--error);background:var(--bg-tertiary)}.sections-grid[data-v-e18b3ef8]{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4xl) var(--space-5xl)}.config-section[data-v-e18b3ef8]{min-width:0}.section-title[data-v-e18b3ef8]{margin:0 0 var(--space-xl);font-size:var(--font-size-sm);font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary)}.form-field[data-v-e18b3ef8]{margin-bottom:14px}.form-field[data-v-e18b3ef8]:last-child{margin-bottom:0}.form-field label[data-v-e18b3ef8]{display:flex;align-items:center;gap:var(--space-base);font-size:var(--font-size-md);font-weight:600;color:var(--text-secondary);margin-bottom:var(--space-sm)}.form-field input[data-v-e18b3ef8]:not([type=checkbox]),.form-field select[data-v-e18b3ef8]{width:100%;padding:var(--space-md) var(--space-lg);background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:4px;color:var(--text-primary);font-size:var(--font-size-lg);box-sizing:border-box;font-family:inherit}.form-field input[data-v-e18b3ef8]:not([type=checkbox]):focus,.form-field select[data-v-e18b3ef8]:focus{outline:none;border-color:var(--accent)}.profile-detail[data-v-e18b3ef8]{margin-top:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:4px}.field-help[data-v-e18b3ef8]{display:block;font-size:var(--font-size-sm);color:var(--text-muted);line-height:1.4;margin-bottom:var(--space-xs)}.profile-values[data-v-e18b3ef8]{display:flex;flex-wrap:wrap;gap:var(--space-sm) var(--space-lg)}.profile-kv[data-v-e18b3ef8]{display:inline-flex;align-items:baseline;gap:var(--space-xs);font-size:var(--font-size-sm)}.profile-key[data-v-e18b3ef8]{color:var(--text-muted);font-weight:500}.profile-val[data-v-e18b3ef8]{color:var(--text-primary);font-family:var(--font-mono);font-weight:600}.form-field.overridden[data-v-e18b3ef8]{border-left:2px solid var(--accent);padding-left:var(--space-md)}.section-divider[data-v-e18b3ef8]{border-top:1px solid var(--border-primary);margin:var(--space-md) 0 0}.form-row-2[data-v-e18b3ef8]{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-xl)}.checkbox-row[data-v-e18b3ef8]{display:flex;align-items:center;gap:var(--space-xl);margin-bottom:var(--space-lg)}.checkbox-row[data-v-e18b3ef8]:last-child{margin-bottom:0}.checkbox-row.overridden[data-v-e18b3ef8]{border-left:2px solid var(--accent);padding-left:var(--space-md)}.checkbox-inline-field[data-v-e18b3ef8]{display:flex;align-items:center;gap:var(--space-base)}.checkbox-inline-field label[data-v-e18b3ef8]{display:flex;align-items:center;gap:var(--space-base);font-size:var(--font-size-md);font-weight:600;color:var(--text-secondary);white-space:nowrap}.checkbox-inline-field input[data-v-e18b3ef8]{width:80px;padding:var(--space-sm) var(--space-md);background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:4px;color:var(--text-primary);font-size:var(--font-size-lg);font-family:inherit}.checkbox-inline-field input[data-v-e18b3ef8]:focus{outline:none;border-color:var(--accent)}.config-checkbox[data-v-e18b3ef8]{display:flex;align-items:center;justify-content:flex-start;gap:var(--space-base);cursor:pointer;font-size:var(--font-size-md);font-weight:400;color:var(--text-primary);white-space:nowrap;margin-bottom:0}.config-checkbox input[type=checkbox][data-v-e18b3ef8]{accent-color:var(--accent)}.config-checkbox.overridden[data-v-e18b3ef8]{border-left:2px solid var(--accent);padding-left:var(--space-base)}.btn-reset[data-v-e18b3ef8]{width:16px;height:16px;padding:0;background:none;border:1px solid var(--border-primary);border-radius:3px;color:var(--text-secondary);font-size:var(--font-size-base);line-height:1;cursor:pointer;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;margin-left:auto}.btn-reset[data-v-e18b3ef8]:hover{border-color:var(--error);color:var(--error)}.btn-reset-dn[data-v-e18b3ef8]{position:absolute;top:var(--space-sm);right:var(--space-sm)}@media (max-width: 600px){.sections-grid[data-v-e18b3ef8],.form-row-2[data-v-e18b3ef8]{grid-template-columns:1fr}}.detail-right[data-v-a29567d1]{overflow-y:auto;border-left:1px solid var(--border-primary);padding:var(--space-xl);display:flex;flex-direction:column;gap:var(--space-md)}.panel-section[data-v-a29567d1]{background:var(--bg-secondary);border-radius:6px;padding:var(--space-lg)}.section-title[data-v-a29567d1]{margin:0 0 var(--space-md);font-size:var(--font-size-md);font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary)}.bom-category[data-v-a29567d1]{margin-bottom:var(--space-md)}.category-title[data-v-a29567d1]{margin:0 0 var(--space-sm);font-size:var(--font-size-base);font-weight:600;color:var(--text-primary)}.table-scroll[data-v-a29567d1]{overflow-x:auto}.data-table[data-v-a29567d1]{width:100%;font-size:var(--font-size-base);border-collapse:collapse}.data-table th[data-v-a29567d1],.data-table td[data-v-a29567d1]{padding:3px 4px;text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.data-table th[data-v-a29567d1]{color:var(--text-secondary);font-weight:500;border-bottom:1px solid var(--border-primary)}.data-table th[data-v-a29567d1]:first-child,.data-table td[data-v-a29567d1]:first-child{text-align:left}.desc-cell[data-v-a29567d1]{text-align:left!important;max-width:120px;overflow:hidden;text-overflow:ellipsis}.data-table tr:hover td[data-v-a29567d1]{background:var(--bg-tertiary)}.subtotal-row td[data-v-a29567d1]{font-weight:600;border-top:1px solid var(--border-primary);color:var(--text-secondary)}.grand-total[data-v-a29567d1]{display:flex;justify-content:space-between;padding:var(--space-md) var(--space-sm);font-weight:700;font-size:var(--font-size-lg);border-top:2px solid var(--border-primary);margin-top:var(--space-sm)}.empty-state[data-v-a29567d1]{font-size:var(--font-size-md);color:var(--text-secondary);text-align:center;padding:var(--space-xl)}.settings-section[data-v-a29567d1]{padding:0}.settings-toggle[data-v-a29567d1]{display:flex;align-items:center;gap:var(--space-md);width:100%;padding:var(--space-lg);background:none;border:none;cursor:pointer;color:var(--text-primary);text-align:left}.settings-toggle[data-v-a29567d1]:hover{background:var(--bg-tertiary);border-radius:6px}.settings-badge[data-v-a29567d1]{font-size:var(--font-size-sm);padding:1px 6px;border-radius:3px;font-weight:500}.settings-badge.default[data-v-a29567d1]{background:var(--bg-primary);color:var(--text-secondary)}.settings-badge.custom[data-v-a29567d1]{background:var(--accent);color:#fff}.toggle-arrow[data-v-a29567d1]{margin-left:auto;font-size:var(--font-size-sm);color:var(--text-secondary);transition:transform .15s}.toggle-arrow.open[data-v-a29567d1]{transform:rotate(180deg)}.settings-body[data-v-a29567d1]{border-top:1px solid var(--border-primary)}.settings-body[data-v-a29567d1] .solver-config{padding:var(--space-md) var(--space-lg)}.settings-body[data-v-a29567d1] .config-heading{display:none}.collapsed-edge[data-v-82610440]{position:absolute;top:8px;bottom:8px;width:6px;z-index:50;cursor:col-resize;border-radius:3px;background:transparent;transition:background .15s}.collapsed-edge[data-v-82610440]:hover{background:var(--accent);opacity:.4}.edge-left[data-v-82610440]{left:8px}.edge-right[data-v-82610440]{right:8px}.floating-panel[data-v-82610440]{position:absolute;top:8px;bottom:8px;z-index:50;background:var(--overlay-panel-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-primary);border-radius:8px;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;overflow:visible;transition:width .15s ease}.floating-panel.resizing[data-v-82610440]{transition:none;-webkit-user-select:none;user-select:none}.panel-left[data-v-82610440]{left:8px}.panel-right[data-v-82610440]{right:8px}.panel-content[data-v-82610440]{flex:1;overflow-y:auto;overflow-x:hidden;min-height:0;border-radius:0 0 8px 8px}.panel-header[data-v-82610440]{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md) var(--space-md) var(--space-sm) var(--space-xl);flex-shrink:0}.panel-header.header-right[data-v-82610440]{flex-direction:row-reverse}.panel-title[data-v-82610440]{font-size:var(--font-size-base);font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.pin-btn[data-v-82610440]{display:flex;align-items:center;justify-content:center;width:26px;height:26px;background:none;border:none;border-radius:4px;color:var(--text-muted);cursor:pointer;transition:color .12s,background .12s}.pin-btn svg[data-v-82610440]{width:15px;height:15px;flex-shrink:0;display:block;transition:transform .12s;transform:rotate(45deg)}.pin-btn[data-v-82610440]:hover{color:var(--text-primary);background:var(--bg-tertiary)}.pin-btn.pinned[data-v-82610440]{color:var(--accent)}.pin-btn.pinned svg[data-v-82610440]{transform:rotate(0)}.resize-handle[data-v-82610440]{position:absolute;top:0;bottom:0;width:5px;cursor:col-resize;z-index:3}.resize-handle[data-v-82610440]:hover,.resizing .resize-handle[data-v-82610440]{background:var(--accent);opacity:.3}.handle-left[data-v-82610440]{right:0}.handle-right[data-v-82610440]{left:0}@media (max-width: 1023px){.floating-panel[data-v-82610440]{position:fixed;top:auto;bottom:0;left:0;right:0;width:100%!important;max-height:50vh;border-radius:12px 12px 0 0}.resize-handle[data-v-82610440],.collapsed-edge[data-v-82610440]{display:none}}.network-list-panel[data-v-4930cedd]{display:flex;flex-direction:column;height:100%;overflow:hidden}.list-toolbar[data-v-4930cedd]{display:flex;align-items:center;gap:var(--space-base);padding:var(--space-base) var(--space-lg);border-bottom:1px solid var(--border-primary);flex-shrink:0}.select-all[data-v-4930cedd]{display:flex;align-items:center;cursor:pointer;flex-shrink:0}.select-all input[type=checkbox][data-v-4930cedd]{accent-color:var(--accent);width:13px;height:13px}.search-input[data-v-4930cedd]{flex:1;padding:3px var(--space-base);background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:3px;color:var(--text-primary);font-size:var(--font-size-sm);font-family:var(--font-mono);min-width:0}.search-input[data-v-4930cedd]::placeholder{color:var(--text-secondary)}.search-input[data-v-4930cedd]:focus{outline:none;border-color:var(--accent)}.status-dropdown-wrap[data-v-4930cedd]{position:relative;flex-shrink:0}.status-trigger[data-v-4930cedd]{display:flex;align-items:center;gap:3px;padding:var(--space-xs) var(--space-base);font-size:var(--font-size-sm);font-family:var(--font-mono);background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:3px;color:var(--text-primary);cursor:pointer;white-space:nowrap}.status-trigger[data-v-4930cedd]:hover{border-color:var(--text-secondary)}.chevron[data-v-4930cedd]{flex-shrink:0}.status-dropdown[data-v-4930cedd]{position:absolute;top:100%;right:0;margin-top:var(--space-xs);background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:6px;box-shadow:0 8px 24px #00000040;z-index:50;padding:var(--space-sm);min-width:130px}.status-option[data-v-4930cedd]{display:flex;align-items:center;gap:5px;padding:3px var(--space-base);border-radius:3px;cursor:pointer;font-size:var(--font-size-sm);font-family:var(--font-mono);color:var(--text-primary)}.status-option[data-v-4930cedd]:hover{background:var(--bg-tertiary)}.status-option input[type=checkbox][data-v-4930cedd]{accent-color:var(--accent);width:12px;height:12px;flex-shrink:0}.status-dot[data-v-4930cedd]{width:6px;height:6px;border-radius:50%;flex-shrink:0}.status-label[data-v-4930cedd]{text-transform:capitalize}.status-sep[data-v-4930cedd]{height:1px;background:var(--border-primary);margin:var(--space-xs) var(--space-sm)}.count[data-v-4930cedd]{font-size:var(--font-size-sm);color:var(--text-secondary);font-variant-numeric:tabular-nums;flex-shrink:0}.network-list[data-v-4930cedd]{overflow-y:auto;flex:1}.network-item[data-v-4930cedd]{display:flex;align-items:center;gap:5px;width:100%;padding:var(--space-sm) var(--space-lg);background:none;border:none;border-left:2px solid transparent;color:var(--text-primary);font-size:var(--font-size-base);cursor:pointer;text-align:left}.network-item[data-v-4930cedd]:hover{background:var(--bg-tertiary)}.network-item.open[data-v-4930cedd]{background:color-mix(in srgb,var(--accent) 8%,transparent)}.network-item.active[data-v-4930cedd]{background:color-mix(in srgb,var(--accent) 15%,transparent);border-left-color:var(--accent);font-weight:600}.item-check[data-v-4930cedd]{accent-color:var(--accent);flex-shrink:0;width:12px;height:12px}.state-badge[data-v-4930cedd]{font-size:var(--font-size-sm);font-weight:700;width:14px;text-align:center;flex-shrink:0}.net-name[data-v-4930cedd]{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.net-dirty[data-v-4930cedd]{opacity:.6;font-style:italic}.net-cost[data-v-4930cedd]{font-size:var(--font-size-xs);color:var(--text-secondary);font-variant-numeric:tabular-nums;flex-shrink:0}.empty[data-v-4930cedd]{padding:var(--space-3xl) var(--space-lg);text-align:center;color:var(--text-secondary);font-size:var(--font-size-base)}.panel-content-wrap[data-v-aed87716]{font-size:var(--font-size-md)}.panel-empty[data-v-aed87716]{padding:24px 12px;text-align:center;color:var(--text-muted);font-size:var(--font-size-base)}.panel-item[data-v-aed87716]{display:flex;align-items:center;gap:8px;padding:5px 12px;font-size:var(--font-size-md);font-family:var(--font-mono)}.panel-item[data-v-aed87716]:hover{background:var(--bg-tertiary)}.panel-issue[data-v-aed87716]{display:flex;align-items:flex-start;gap:6px;padding:6px 12px;font-size:var(--font-size-base);border-bottom:1px solid var(--border-primary)}.issue-sev[data-v-aed87716]{flex-shrink:0;font-size:var(--font-size-base)}.issue-sev.error[data-v-aed87716]{color:var(--error)}.issue-sev.warning[data-v-aed87716]{color:var(--warning)}.issue-sev.info[data-v-aed87716]{color:var(--accent)}.issue-msg[data-v-aed87716]{flex:1;color:var(--text-primary);line-height:1.4}.props-table[data-v-aed87716]{width:100%;border-collapse:collapse;font-size:var(--font-size-base);font-family:var(--font-mono)}.props-table th[data-v-aed87716]{padding:4px 8px;text-align:left;font-weight:600;color:var(--text-secondary);border-bottom:1px solid var(--border-primary);position:sticky;top:0;background:var(--overlay-panel-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.props-table td[data-v-aed87716]{padding:3px 8px;color:var(--text-primary);border-bottom:1px solid var(--border-primary)}.history-item[data-v-aed87716]{justify-content:space-between}.history-label[data-v-aed87716]{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-ts[data-v-aed87716]{color:var(--text-muted);font-size:var(--font-size-sm);flex-shrink:0}.activity-item[data-v-aed87716]{justify-content:space-between}.activity-msg[data-v-aed87716]{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.activity-ts[data-v-aed87716]{color:var(--text-muted);font-size:var(--font-size-sm);flex-shrink:0}.modal-overlay[data-v-e75e0c5a]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content[data-v-e75e0c5a]{background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:8px;width:90%;max-height:80vh;overflow-y:auto}.modal-header[data-v-e75e0c5a]{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2xl) var(--space-3xl);border-bottom:1px solid var(--border-primary)}.modal-close[data-v-e75e0c5a]{background:none;border:none;color:var(--text-secondary);font-size:var(--font-size-4xl);cursor:pointer;padding:0 var(--space-sm);line-height:1}.modal-close[data-v-e75e0c5a]:hover{color:var(--text-primary)}.modal-body[data-v-e75e0c5a]{padding:var(--space-3xl)}.modal-footer[data-v-e75e0c5a]{display:flex;justify-content:flex-end;gap:var(--space-md);padding:var(--space-2xl) var(--space-3xl);border-top:1px solid var(--border-primary)}.solve-modal-body[data-v-e4567eb3]{display:flex;flex-direction:column;gap:var(--space-2xl)}.solve-count[data-v-e4567eb3]{font-size:var(--font-size-title);color:var(--text-primary)}.summary-heading[data-v-e4567eb3]{font-size:var(--font-size-md);font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);margin:0 0 var(--space-md)}.summary-items[data-v-e4567eb3]{display:flex;flex-wrap:wrap;gap:var(--space-base)}.summary-item[data-v-e4567eb3]{font-size:var(--font-size-md);padding:3px var(--space-md);background:var(--bg-primary);border-radius:4px;color:var(--text-primary);font-family:monospace}.btn[data-v-e4567eb3]{padding:var(--space-md) var(--space-2xl);border-radius:6px;font-size:var(--font-size-lg);font-weight:500;cursor:pointer;border:none;transition:background .15s}.btn-cancel[data-v-e4567eb3]{background:var(--bg-primary);color:var(--text-primary);border:1px solid var(--border-primary)}.btn-cancel[data-v-e4567eb3]:hover{background:var(--bg-tertiary)}.btn-solve[data-v-e4567eb3]{background:var(--accent);color:#fff}.btn-solve[data-v-e4567eb3]:hover:not(:disabled){background:var(--accent-hover)}.btn-solve[data-v-e4567eb3]:disabled{opacity:.5;cursor:not-allowed}.canvas-view[data-v-7b3f47c0]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;overflow:hidden}.canvas-empty[data-v-7b3f47c0]{flex:1;background:var(--bg-primary)}.canvas-body[data-v-7b3f47c0]{flex:1;min-height:0;position:relative;display:flex;flex-direction:column}.canvas-viewer[data-v-7b3f47c0],.canvas-overview[data-v-7b3f47c0]{flex:1;min-height:0}.panel-empty-msg[data-v-7b3f47c0]{padding:24px 12px;text-align:center;color:var(--text-muted);font-size:var(--font-size-base)}.icon-strip[data-v-93929fd3]{display:flex;flex-direction:column;align-items:center;width:40px;padding:var(--space-md) 0;gap:var(--space-sm);background:var(--bg-secondary);border-right:1px solid var(--border-primary);flex-shrink:0}.strip-btn[data-v-93929fd3]{position:relative;display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:none;border:none;border-radius:6px;color:var(--text-muted);cursor:pointer;transition:color .12s,background .12s}.strip-btn svg[data-v-93929fd3]{width:16px;height:16px;flex-shrink:0;display:block}.strip-btn[data-v-93929fd3]:hover{color:var(--text-primary);background:var(--bg-tertiary)}.strip-btn.active[data-v-93929fd3]{color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent)}.strip-badge[data-v-93929fd3]{position:absolute;top:0;right:0;min-width:15px;height:15px;padding:0 3px;background:var(--accent);border-radius:8px;color:#fff;font-size:var(--font-size-xxs);font-weight:700;display:flex;align-items:center;justify-content:center;line-height:1;transform:translate(4px,-2px)}.icon-strip[data-v-5b54cd77]{display:flex;flex-direction:column;align-items:center;width:40px;padding:var(--space-md) 0;gap:var(--space-sm);background:var(--bg-secondary);border-left:1px solid var(--border-primary);flex-shrink:0}.strip-btn[data-v-5b54cd77]{position:relative;display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:none;border:none;border-radius:6px;color:var(--text-muted);cursor:pointer;transition:color .12s,background .12s}.strip-btn svg[data-v-5b54cd77]{width:16px;height:16px;flex-shrink:0;display:block}.strip-btn[data-v-5b54cd77]:hover{color:var(--text-primary);background:var(--bg-tertiary)}.strip-btn.active[data-v-5b54cd77]{color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent)}.overlay-backdrop[data-v-18bb3957]{position:fixed;top:62px;left:0;right:0;bottom:33px;z-index:1500;background:var(--overlay-backdrop);display:flex}.overlay-panel[data-v-18bb3957]{position:relative;background:var(--overlay-panel-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:var(--overlay-panel-radius);box-shadow:var(--overlay-panel-shadow);border:1px solid var(--border-primary);display:flex;flex-direction:column;max-height:calc(100vh - 119px);margin:var(--space-xl)}.overlay-center[data-v-18bb3957]{margin:var(--space-xl) auto;width:100%;max-width:var(--content-max-width, 1400px)}.overlay-header[data-v-18bb3957]{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-xl) var(--space-2xl);background:var(--bg-secondary);border-bottom:1px solid var(--border-primary);flex-shrink:0;position:relative;z-index:10}.overlay-title[data-v-18bb3957]{margin:0;font-size:var(--font-size-lg);font-weight:600;color:var(--text-primary);flex-shrink:0}.overlay-header-center[data-v-18bb3957]{flex:1;display:flex;justify-content:center;min-width:0}.overlay-center-label[data-v-18bb3957]{font-size:var(--font-size-base);font-weight:600;font-family:var(--font-mono);color:var(--accent);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.overlay-rev-badge[data-v-18bb3957],.overlay-fork-badge[data-v-18bb3957]{display:inline-flex;align-items:center;padding:1px 8px;font-size:10px;font-weight:700;font-family:var(--font-mono);letter-spacing:.5px;border-radius:3px;white-space:nowrap;line-height:1.4;flex-shrink:0}.overlay-rev-badge[data-v-18bb3957]{background:#7c3aed;color:#fff}.overlay-fork-badge[data-v-18bb3957]{background:#2563eb;color:#fff}.overlay-close[data-v-18bb3957]{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:var(--space-base);border-radius:4px;display:flex;align-items:center;justify-content:center;flex-shrink:0;min-width:28px;min-height:28px}.overlay-close[data-v-18bb3957]:hover{background:var(--bg-tertiary);color:var(--text-primary)}.overlay-resize-handle[data-v-18bb3957]{position:absolute;top:0;bottom:0;width:6px;cursor:ew-resize;z-index:20;transition:background .15s}.overlay-resize-handle[data-v-18bb3957]:hover,.overlay-resize-handle[data-v-18bb3957]:active{background:var(--accent);opacity:.4}.overlay-resize-left[data-v-18bb3957]{left:-1px;border-radius:var(--overlay-panel-radius) 0 0 var(--overlay-panel-radius)}.overlay-resize-right[data-v-18bb3957]{right:-1px;border-radius:0 var(--overlay-panel-radius) var(--overlay-panel-radius) 0}.overlay-body[data-v-18bb3957]{flex:1;overflow-y:auto;min-height:0;background:var(--bg-secondary);border-radius:0 0 var(--overlay-panel-radius) var(--overlay-panel-radius)}.overlay-fade-enter-active[data-v-18bb3957]{transition:opacity .15s ease-out}.overlay-fade-enter-active .overlay-panel[data-v-18bb3957]{transition:transform .15s ease-out,opacity .15s ease-out}.overlay-fade-leave-active[data-v-18bb3957]{transition:opacity .1s ease-in}.overlay-fade-leave-active .overlay-panel[data-v-18bb3957]{transition:transform .1s ease-in,opacity .1s ease-in}.overlay-fade-enter-from[data-v-18bb3957]{opacity:0}.overlay-fade-enter-from .overlay-center[data-v-18bb3957]{transform:scale(.96);opacity:0}.overlay-fade-leave-to[data-v-18bb3957]{opacity:0}@media (max-width: 768px){.overlay-panel[data-v-18bb3957]{margin:var(--space-sm);max-height:calc(100vh - 8px);border-radius:12px;max-width:none!important}.overlay-header[data-v-18bb3957]{padding:var(--space-lg) var(--space-xl)}.overlay-close[data-v-18bb3957]{min-width:44px;min-height:44px}}.app[data-v-1caafa3a]{display:flex;flex-direction:column;height:100vh;background:var(--bg-primary);color:var(--text-primary)}.content-row[data-v-1caafa3a]{display:flex;flex:1;min-height:0;position:relative}.content[data-v-1caafa3a]{flex:1;min-height:0;min-width:0;position:relative;overflow:hidden;container-type:inline-size;container-name:main-content}:root{--font-ui: "JetBrains Mono", system-ui, sans-serif;--font-mono: "JetBrains Mono", monospace;--font-size-xxs: 8px;--font-size-xs: 9px;--font-size-sm: 10px;--font-size-base: 11px;--font-size-md: 12px;--font-size-lg: 13px;--font-size-xl: 14px;--font-size-title: 15px;--font-size-2xl: 16px;--font-size-heading: 18px;--font-size-3xl: 20px;--font-size-4xl: 24px;--density-scale: 1;--content-max-width: none;--space-xs: calc(2px * var(--density-scale));--space-sm: calc(4px * var(--density-scale));--space-base: calc(6px * var(--density-scale));--space-md: calc(8px * var(--density-scale));--space-lg: calc(10px * var(--density-scale));--space-xl: calc(12px * var(--density-scale));--space-2xl: calc(16px * var(--density-scale));--space-3xl: calc(20px * var(--density-scale));--space-4xl: calc(24px * var(--density-scale));--space-5xl: calc(32px * var(--density-scale));--bg-primary: #ffffff;--bg-secondary: #f6f8fa;--bg-tertiary: #eaeef2;--bg-elevated: #ffffff;--border-primary: #d0d7de;--border-secondary: #e1e4e8;--text-primary: #1f2328;--text-secondary: #656d76;--text-muted: #8c959f;--accent: #0969da;--accent-hover: #0550ae;--success: #1a7f37;--success-bg: #dafbe1;--warning: #9a6700;--warning-bg: #fff8c5;--error: #cf222e;--error-bg: #ffebe9;--purple: #8250df;--purple-bg: #fbefff;--header-bg: var(--bg-secondary);--card-bg: var(--bg-elevated);--card-border: var(--border-primary);--input-bg: var(--bg-primary);--input-border: var(--border-primary);--btn-bg: var(--bg-tertiary);--btn-hover: var(--border-primary);--btn-primary-bg: var(--success);--btn-primary-hover: #15803d;--overlay-bg: rgba(255, 255, 255, .95);--overlay-backdrop: rgba(0, 0, 0, .25);--overlay-panel-bg: rgba(255, 255, 255, .92);--overlay-panel-radius: 16px;--overlay-panel-shadow: 0 16px 48px rgba(0, 0, 0, .15);--shadow: 0 1px 3px rgba(0, 0, 0, .08);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .12);--svg-bg: #f0f4f8}[data-theme=dark]{--bg-primary: #0d1117;--bg-secondary: #161b22;--bg-tertiary: #21262d;--bg-elevated: #161b22;--border-primary: #30363d;--border-secondary: #21262d;--text-primary: #e6edf3;--text-secondary: #8b949e;--text-muted: #6e7681;--accent: #58a6ff;--accent-hover: #79b8ff;--success: #3fb950;--success-bg: rgba(46, 160, 67, .15);--warning: #d29922;--warning-bg: rgba(187, 128, 9, .15);--error: #f85149;--error-bg: rgba(248, 81, 73, .15);--purple: #a371f7;--purple-bg: rgba(163, 113, 247, .15);--header-bg: var(--bg-secondary);--card-bg: var(--bg-secondary);--card-border: var(--border-primary);--input-bg: var(--bg-primary);--input-border: var(--border-primary);--btn-bg: var(--bg-tertiary);--btn-hover: #30363d;--btn-primary-bg: #238636;--btn-primary-hover: #2ea043;--overlay-bg: rgba(13, 17, 23, .95);--overlay-backdrop: rgba(0, 0, 0, .4);--overlay-panel-bg: rgba(22, 27, 34, .9);--overlay-panel-radius: 16px;--overlay-panel-shadow: 0 16px 48px rgba(0, 0, 0, .5);--shadow: 0 1px 3px rgba(0, 0, 0, .3);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .4);--svg-bg: #1a1a2e}*{margin:0;padding:0;box-sizing:border-box}html,body{overflow:hidden;height:100%}body{font-family:var(--font-ui);background:var(--bg-primary);color:var(--text-primary);font-size:var(--font-size-base);line-height:1.5;transition:background-color .2s,color .2s}::-webkit-scrollbar{width:14px;height:14px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--border-primary);border-radius:7px;border:3px solid var(--bg-primary)}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}*{scrollbar-width:auto;scrollbar-color:var(--border-primary) var(--bg-primary)}::selection{background:var(--accent);color:#fff}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}code{font-family:var(--font-mono);font-size:var(--font-size-base)}table{border-collapse:collapse}th{text-align:left;font-weight:500}button{font-family:var(--font-mono);background:var(--bg-tertiary);border:none;color:var(--text-primary);padding:6px 14px;border-radius:6px;font-size:var(--font-size-md);cursor:pointer;font-weight:500;transition:background .15s}button:hover{background:var(--btn-hover)}button.btn-primary{background:var(--btn-primary-bg);color:#fff;font-weight:600}button.btn-primary:hover{background:var(--btn-primary-hover)}button.btn-danger{background:var(--error);color:#fff}button.btn-danger:hover{background:#b91c1c}button:disabled{opacity:.5;cursor:not-allowed}input,select,textarea{font-family:var(--font-mono);background:var(--input-bg);border:1px solid var(--input-border);color:var(--text-primary);padding:8px 10px;border-radius:4px;font-size:var(--font-size-lg);box-sizing:border-box;transition:border-color .15s}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent)}input::placeholder{color:var(--text-muted)}input[type=checkbox]{accent-color:var(--accent)}.card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:8px;overflow:hidden;box-shadow:var(--shadow)}.card-header{padding:8px 12px;border-bottom:1px solid var(--border-secondary);font-size:var(--font-size-base);font-weight:600;color:var(--text-primary)}.card-body{padding:12px}.modal-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:199}.modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:8px;padding:20px;z-index:200;min-width:500px;box-shadow:var(--shadow-lg)}.modal h3{color:var(--text-primary);font-size:var(--font-size-title);margin-bottom:10px}.modal code{display:block;background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:4px;padding:10px;font-size:var(--font-size-md);color:var(--success);word-break:break-all;margin-bottom:10px}.badge{padding:3px 8px;border-radius:12px;font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:.3px;box-shadow:0 1px 3px #0003}.badge-pending{background:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border-primary)}.badge-balanced{background:var(--success);color:#fff}.badge-unbalanced,.badge-partial{background:var(--warning);color:#fff}.badge-failed{background:var(--error);color:#fff}.badge-invalid{background:var(--bg-tertiary);color:var(--error);border:1px solid var(--error)}.badge-stale{background:var(--bg-tertiary);color:var(--warning);border:1px solid var(--warning)}.badge-solving{background:var(--accent);color:#fff;animation:pulse-badge 1.5s ease-in-out infinite}.badge-solved{background:var(--success);color:#fff}.badge-timeout{background:var(--bg-tertiary);color:var(--error);border:1px solid var(--error)}@keyframes pulse-badge{0%,to{opacity:1}50%{opacity:.6}}.dot{width:10px;height:10px;border-radius:50%;border:1px solid var(--border-primary)}.dot-balanced,.dot-solved{background:var(--success)}.dot-unbalanced{background:var(--warning)}.dot-failed,.dot-timeout{background:var(--error)}.dot-pending{background:var(--bg-tertiary)}.dot-solving{background:var(--accent);animation:pulse-dot 1s infinite}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.4}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.text-muted{color:var(--text-muted)}.text-secondary{color:var(--text-secondary)}.text-success{color:var(--success)}.text-warning{color:var(--warning)}.text-error{color:var(--error)}.text-accent{color:var(--accent)}.font-mono{font-family:var(--font-mono)}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}[data-tooltip]:after{content:"";display:none}[data-tooltip]{position:relative}[data-tooltip]:hover:after{content:attr(data-tooltip);display:block;position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%);padding:3px 8px;background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:4px;color:var(--text-primary);font-size:var(--font-size-base);font-weight:400;white-space:nowrap;pointer-events:none;z-index:9999;animation:tooltip-fade-in 80ms .12s both}@keyframes tooltip-fade-in{0%{opacity:0}to{opacity:1}}[data-tooltip-pos=top]:hover:after{top:auto;bottom:calc(100% + 6px)}[data-tooltip-pos=left]:hover:after{top:50%;left:auto;right:calc(100% + 6px);transform:translateY(-50%)}[data-tooltip-pos=right]:hover:after{top:50%;left:calc(100% + 6px);transform:translateY(-50%)}[data-tooltip-pos=bottom-end]:hover:after{top:calc(100% + 6px);left:auto;right:0;transform:none}[data-tooltip-pos=bottom-start]:hover:after{top:calc(100% + 6px);left:0;right:auto;transform:none}[data-tooltip-pos=top-end]:hover:after{top:auto;bottom:calc(100% + 6px);left:auto;right:0;transform:none}[data-tooltip-pos=top-start]:hover:after{top:auto;bottom:calc(100% + 6px);left:0;right:auto;transform:none}
