@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";.app-notifications{position:fixed;right:18px;bottom:72px;z-index:3200;display:flex;flex-direction:column;gap:10px;max-width:min(440px,calc(100vw - 24px));pointer-events:none}.app-notification{pointer-events:auto;display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:12px;color:#f8fafc;backdrop-filter:blur(10px);border:1px solid rgba(148,163,184,.25);background:linear-gradient(160deg,#121725f0,#0a0e1af5);box-shadow:0 14px 34px #0206177a;animation:app-notification-in .22s ease-out}.app-notification-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.app-notification-text{flex:1;font-size:13px;line-height:1.35}.app-notification-close{flex:0 0 auto;border:0;width:22px;height:22px;border-radius:6px;color:#f8fafccc;background:#94a3b81f;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.app-notification-close:hover{background:#94a3b83d;color:#f8fafc}.app-notification-warning .app-notification-icon{color:#f59e0b}.app-notification-error .app-notification-icon{color:#ef4444}.app-notification-success .app-notification-icon{color:#22c55e}.app-notification-info .app-notification-icon{color:#60a5fa}@keyframes app-notification-in{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:900px){.app-notifications{right:10px;left:10px;bottom:62px;max-width:none}}.dimension-overlay{position:absolute;inset:0;pointer-events:none;z-index:50}.dimension-label{position:absolute;transform:translate(-50%,-50%);display:flex;align-items:center;gap:4px;background:#000000d9;padding:3px 8px;border-radius:4px;font-family:var(--font-mono);font-size:11px;white-space:nowrap;border:1px solid;box-shadow:0 2px 8px #0006}.dimension-length{border-color:var(--accent-primary);color:var(--accent-primary)}.dimension-radius{border-color:var(--accent-sketch);color:var(--accent-sketch)}.dimension-angle{border-color:var(--success);color:var(--success)}.dim-icon{font-size:12px;opacity:.8}.dim-value{font-weight:600}.point-handles-overlay{position:absolute;inset:0;pointer-events:none;z-index:60}.point-handle{position:absolute;transform:translate(-50%,-50%);width:10px;height:10px;border-radius:50%;background:var(--bg-primary);border:2px solid var(--accent-primary);cursor:pointer;pointer-events:auto;transition:all .15s ease;box-shadow:0 0 4px #00000080}.point-handle:hover,.point-handle.hovered{width:14px;height:14px;background:var(--accent-primary);border-color:#fff;box-shadow:0 0 8px var(--accent-primary-glow)}.point-handle.selected{background:var(--accent-sketch);border-color:var(--accent-sketch)}.point-handle.selected:hover{background:#fff;border-color:var(--accent-sketch)}.point-handle.point-selected{width:14px;height:14px;background:#0f8;border-color:#fff;box-shadow:0 0 12px #0f8c;z-index:1}.point-handle.entity-selected{background:var(--accent-sketch);border-color:var(--accent-sketch)}.point-handle.origin-point{width:12px;height:12px;background:#f66;border:2px solid #ffaaaa;box-shadow:0 0 8px #f669}.point-handle.origin-point:hover,.point-handle.origin-point.hovered{width:16px;height:16px;background:#f44;border-color:#fff;box-shadow:0 0 12px #ff4444e6}.point-handle.origin-point.point-selected{width:16px;height:16px;background:#0f8;border-color:#fff;box-shadow:0 0 14px #00ff88e6}.point-tooltip{position:absolute;bottom:100%;left:50%;transform:translate(-50%);margin-bottom:8px;background:#000000e6;color:var(--accent-primary);font-family:var(--font-mono);font-size:10px;padding:3px 6px;border-radius:4px;white-space:nowrap;pointer-events:none;border:1px solid var(--accent-primary)}.snap-indicator-overlay{position:absolute;inset:0;pointer-events:none;z-index:70}.snap-indicator{position:absolute;transform:translate(-50%,-50%);width:20px;height:20px}.snap-indicator--endpoint .snap-ring{position:absolute;inset:0;border:2px solid var(--success);border-radius:50%;animation:snap-pulse .8s ease-in-out infinite}.snap-indicator--endpoint .snap-crosshair-h,.snap-indicator--endpoint .snap-crosshair-v{position:absolute;background:var(--success)}.snap-indicator--endpoint .snap-crosshair-h{width:100%;height:2px;top:50%;left:0;transform:translateY(-50%)}.snap-indicator--endpoint .snap-crosshair-v{width:2px;height:100%;top:0;left:50%;transform:translate(-50%)}.snap-indicator--midpoint{--midpoint-color: #f4c268}.snap-indicator--midpoint .snap-triangle{position:absolute;inset:2px;clip-path:polygon(50% 0%,0% 100%,100% 100%);background:var(--midpoint-color);animation:snap-pulse .8s ease-in-out infinite}.snap-indicator--midpoint .snap-triangle-rounded{position:absolute;inset:1px;width:calc(100% - 2px);height:calc(100% - 2px);animation:snap-pulse .8s ease-in-out infinite}.snap-indicator--midpoint .snap-triangle-rounded path{fill:var(--midpoint-color)}.snap-indicator--center .snap-ring--center{position:absolute;inset:0;border:2px solid #d946ef;border-radius:50%;animation:snap-pulse .8s ease-in-out infinite}.snap-indicator--center .snap-crosshair--center{position:absolute;background:#d946ef}.snap-indicator--center .snap-crosshair-h{width:100%;height:2px;top:50%;left:0;transform:translateY(-50%)}.snap-indicator--center .snap-crosshair-v{width:2px;height:100%;top:0;left:50%;transform:translate(-50%)}.snap-indicator--quadrant .snap-diamond{position:absolute;inset:2px;background:#22d3ee;transform:rotate(45deg);animation:snap-pulse .8s ease-in-out infinite}.snap-indicator--perpendicular .snap-perpendicular{position:absolute;inset:4px;border:2px solid #60a5fa;border-radius:0;animation:snap-pulse .8s ease-in-out infinite}.snap-ring{position:absolute;inset:0;border:2px solid var(--success);border-radius:50%;animation:snap-pulse .8s ease-in-out infinite}.snap-crosshair-h,.snap-crosshair-v{position:absolute;background:var(--success)}.snap-crosshair-h{width:100%;height:2px;top:50%;left:0;transform:translateY(-50%)}.snap-crosshair-v{width:2px;height:100%;top:0;left:50%;transform:translate(-50%)}@keyframes snap-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.3);opacity:.7}}.dimension-dialog{position:fixed;z-index:10000;background:linear-gradient(135deg,#1e1e2dfa,#141423fa);border:1px solid rgba(96,165,250,.4);border-radius:8px;box-shadow:0 8px 32px #00000080,0 0 20px #60a5fa26;backdrop-filter:blur(10px);padding:8px;min-width:160px;animation:dimension-dialog-appear .15s ease-out}@keyframes dimension-dialog-appear{0%{opacity:0;transform:scale(.9) translateY(-5px)}to{opacity:1;transform:scale(1) translateY(0)}}.dimension-dialog-header{display:flex;align-items:center;gap:6px;padding-bottom:6px;border-bottom:1px solid rgba(255,255,255,.1);margin-bottom:8px}.dimension-type-icon{font-size:14px}.dimension-type-label{font-size:12px;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.5px}.dimension-dialog-content{display:flex;gap:6px;align-items:center}.dimension-input{flex:1;background:#0000004d;border:1px solid rgba(96,165,250,.3);border-radius:4px;padding:8px 10px;color:#fff;font-size:14px;font-weight:500;min-width:80px;outline:none;transition:border-color .2s,box-shadow .2s}.dimension-input:focus{border-color:#60a5fab3;box-shadow:0 0 8px #60a5fa4d}.dimension-input::-webkit-inner-spin-button,.dimension-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.dimension-dialog-buttons{display:flex;gap:4px}.dimension-btn{width:28px;height:28px;border-radius:4px;border:none;cursor:pointer;font-size:12px;font-weight:600;display:flex;align-items:center;justify-content:center;transition:all .15s}.dimension-btn-apply{background:#4ade8033;color:#4ade80;border:1px solid rgba(74,222,128,.3)}.dimension-btn-apply:hover{background:#4ade804d;border-color:#4ade8080;transform:scale(1.05)}.dimension-btn-cancel{background:#ef444433;color:#ef4444;border:1px solid rgba(239,68,68,.3)}.dimension-btn-cancel:hover{background:#ef44444d;border-color:#ef444480;transform:scale(1.05)}.inline-dimension-input-container{position:absolute;z-index:10000;pointer-events:auto;transform:translate(-50%,-50%);animation:inline-input-appear .1s ease-out}@keyframes inline-input-appear{0%{opacity:0;transform:translate(-50%,-50%) scale(.8)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.inline-dimension-input{background:#141423f2;border:2px solid #3b82f6;border-radius:4px;padding:4px 8px;color:#fff;font-size:14px;font-weight:600;font-family:Segoe UI,-apple-system,BlinkMacSystemFont,sans-serif;width:70px;text-align:center;outline:none;box-shadow:0 2px 10px #00000080,0 0 15px #3b82f64d}.inline-dimension-input:focus{border-color:#60a5fa;box-shadow:0 2px 12px #0009,0 0 20px #60a5fa66}.inline-dimension-input::-webkit-inner-spin-button,.inline-dimension-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.inline-dimension-input::placeholder{color:#fff6}.view-cube{position:absolute;bottom:20px;right:20px;width:110px;height:130px;pointer-events:auto;z-index:330}.view-cube-home{position:absolute;bottom:0;left:50%;width:28px;height:24px;display:flex;align-items:center;justify-content:center;transform:translate(-50%);background:var(--surface-floating-muted);border:1px solid var(--border-glow);border-radius:var(--radius-sm);color:var(--text-secondary);box-shadow:var(--shadow-sm);cursor:pointer;font-size:0}.view-cube-home:hover{color:var(--accent-primary);background:var(--surface-floating);border-color:var(--accent-primary)}.sketch-view-rotation{position:absolute;top:16px;right:16px;z-index:120;display:flex;flex-direction:column;gap:8px;padding:10px;background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);color:var(--text-primary);pointer-events:auto;width:170px}.sketch-view-rotation.minimized{padding:6px 8px;width:auto}.svr-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.svr-title{font-size:var(--font-size-xs);color:var(--text-secondary);letter-spacing:.08em;text-transform:uppercase}.svr-actions{display:flex;gap:6px}.svr-action,.svr-toggle{border:1px solid var(--border-default);background:var(--bg-surface);color:var(--text-primary);border-radius:var(--radius-sm);padding:4px 6px;font-size:var(--font-size-xs);cursor:pointer;transition:border-color var(--transition-fast),background var(--transition-fast)}.svr-action:hover,.svr-toggle:hover{border-color:var(--border-strong);background:var(--bg-hover)}.svr-visual{display:flex;align-items:center;justify-content:center}.svr-ring{stroke:var(--accent-sketch);opacity:.35}.svr-handle{fill:var(--accent-sketch);transform-box:fill-box;transform-origin:center;transition:transform var(--transition-fast)}.svr-handle.active{transform:scale(1.1)}.svr-center{fill:#ffffff80}.svr-input-row{display:grid;grid-template-columns:auto 1fr auto;gap:6px;align-items:center;font-size:var(--font-size-xs)}.svr-label{color:var(--text-secondary)}.svr-input{width:70px;border:1px solid var(--border-default);background:var(--bg-surface);color:var(--text-primary);border-radius:var(--radius-sm);padding:4px 6px;font-size:var(--font-size-xs)}.svr-input:focus{outline:none;border-color:var(--accent-sketch);box-shadow:0 0 0 2px var(--accent-sketch-dim)}.svr-unit{color:var(--text-muted);font-size:var(--font-size-xs)}.section-plane-panel{position:absolute;top:80px;right:16px;background:#1e1e28f2;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:0;min-width:200px;box-shadow:0 4px 20px #0006;z-index:100;backdrop-filter:blur(10px)}.section-plane-header{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border-bottom:1px solid rgba(255,255,255,.1)}.section-plane-title{font-size:13px;font-weight:600;color:#fff}.section-plane-close{background:none;border:none;color:#fff9;font-size:18px;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .15s ease}.section-plane-close:hover{background:#ffffff1a;color:#fff}.section-plane-content{padding:12px;display:flex;flex-direction:column;gap:12px}.section-plane-axis{display:flex;flex-direction:column;gap:6px}.section-plane-axis label,.section-plane-position label{font-size:11px;color:#fff9;text-transform:uppercase;letter-spacing:.5px}.axis-buttons{display:flex;gap:4px}.axis-btn{flex:1;padding:8px 12px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:4px;color:#ffffffb3;font-size:12px;font-weight:600;cursor:pointer;transition:all .15s ease}.axis-btn:hover{background:#ffffff1a;color:#fff}.axis-btn.active{background:#3b82f6;border-color:#3b82f6;color:#fff}.section-plane-position{display:flex;flex-direction:column;gap:6px}.position-slider{width:100%;height:6px;-webkit-appearance:none;appearance:none;background:#ffffff1a;border-radius:3px;outline:none;cursor:pointer}.position-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;background:#3b82f6;border-radius:50%;cursor:pointer;transition:transform .15s ease}.position-slider::-webkit-slider-thumb:hover{transform:scale(1.2)}.position-slider::-moz-range-thumb{width:16px;height:16px;background:#3b82f6;border:none;border-radius:50%;cursor:pointer}.viewport{flex:1;width:100%;height:100%;min-height:400px;background:var(--bg-void);cursor:grab;outline:none;position:relative;box-shadow:inset 0 0 100px #0000004d}.viewport-container>.viewport{position:absolute;inset:0;width:100%;height:100%;min-height:0}.viewport>canvas{position:absolute!important;inset:0;z-index:0;width:100%!important;height:100%!important;display:block}.viewport:active{cursor:grabbing}.viewport-edge-mode{cursor:crosshair;box-shadow:inset 0 0 100px #0000004d,inset 0 0 30px var(--accent-edge-dim)}.viewport-edge-mode:after{content:"";position:absolute;inset:0;border:2px solid var(--accent-edge);border-radius:0;opacity:.5;pointer-events:none;animation:glow-green 2s ease-in-out infinite}@keyframes glow-green{0%,to{box-shadow:inset 0 0 20px var(--accent-edge-dim);border-color:var(--accent-edge)}50%{box-shadow:inset 0 0 40px #10b98133;border-color:#10b981b3}}.viewport-sketch-mode{cursor:crosshair;box-shadow:inset 0 0 100px #0000004d,inset 0 0 40px var(--accent-sketch-dim)}.viewport-sketch-mode:after{content:"";position:absolute;inset:0;border:2px solid var(--accent-sketch);border-radius:0;opacity:.6;pointer-events:none;animation:glow-purple 2s ease-in-out infinite}.viewport-trim-mode{cursor:crosshair}.viewport-trim-ready{cursor:pointer}@keyframes glow-purple{0%,to{box-shadow:inset 0 0 20px var(--accent-sketch-dim);border-color:var(--accent-sketch)}50%{box-shadow:inset 0 0 50px #a855f733;border-color:#a855f7cc}}.selection-box{position:absolute;border:1px dashed var(--accent-primary);background:#00d9ff1a;pointer-events:none;z-index:100}.constraint-hint{position:absolute;width:16px;height:16px;border-radius:4px;display:flex;align-items:center;justify-content:center;background:#0c122299;border:1px solid rgba(96,165,250,.6);pointer-events:none;z-index:120}.constraint-hint-line{display:block;background:#cfe6ff;border-radius:1px}.constraint-hint-horizontal .constraint-hint-line{width:10px;height:2px}.constraint-hint-vertical .constraint-hint-line{width:2px;height:10px}.constraint-hint-parallel .constraint-hint-line{width:2px;height:10px;box-shadow:6px 0 #cfe6ff}.sketch-measure-hint{position:absolute;padding:4px 8px;font-size:12px;line-height:1;color:#dbeafe;background:#0c1222b3;border:1px solid rgba(96,165,250,.45);border-radius:6px;pointer-events:none;z-index:120;white-space:nowrap;font-variant-numeric:tabular-nums}.viewport-memory-hud{position:absolute;top:14px;right:14px;z-index:140;min-width:220px;max-width:260px;padding:10px 12px;color:#dbeafe;background:#080f1ce0;border:1px solid rgba(96,165,250,.28);border-radius:12px;box-shadow:0 10px 28px #00000047;backdrop-filter:blur(10px);font-size:12px;line-height:1.35;font-variant-numeric:tabular-nums}.viewport-memory-hud.collapsed{min-width:0;max-width:none}.viewport-memory-hud-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#eff6ff}.viewport-memory-hud.collapsed .viewport-memory-hud-header{margin-bottom:0}.viewport-memory-hud-toggle{padding:4px 8px;border:1px solid rgba(96,165,250,.3);border-radius:999px;background:#2563eb24;color:#bfdbfe;font-size:11px;font-weight:600;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.viewport-memory-hud-toggle:hover{background:#3b82f638;border-color:#93c5fd70;color:#eff6ff}.viewport-memory-hud-grid{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 10px}.viewport-memory-hud-grid span:nth-child(odd){color:#bfdbfecc}.viewport-memory-hud-grid span:nth-child(2n){text-align:right;color:#eff6ff}.viewport-memory-hud-note{margin-top:8px;color:#bfdbfeb3;font-size:11px;line-height:1.4}.viewport-ecad-fit-button{position:absolute;right:28px;bottom:92px;z-index:340;display:inline-flex;align-items:center;gap:8px;height:34px;padding:0 11px 0 9px;color:#e6fffb;background:#08141ceb;border:1px solid rgba(103,232,249,.45);border-radius:7px;box-shadow:0 12px 28px #00000057,0 0 18px #22d3ee2e;cursor:pointer;font:inherit;font-size:11px;font-weight:800;letter-spacing:.02em;pointer-events:auto;user-select:none}.viewport-ecad-fit-button:hover{border-color:#67e8f9db;background:#0c202af5;color:#fff}.viewport-ecad-fit-button-cube{position:relative;width:16px;height:16px;flex:0 0 auto;border:2px solid #67e8f9;border-radius:3px;box-shadow:inset -4px -4px #facc1547;transform:rotateX(58deg) rotate(45deg)}.viewport-ecad-fit-button-cube:before,.viewport-ecad-fit-button-cube:after{content:"";position:absolute;inset:2px;border-top:2px solid rgba(250,204,21,.72);border-left:2px solid rgba(250,204,21,.72);border-radius:2px}.confirm-modal-overlay{position:fixed;inset:0;background:#0009;backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:16px;box-sizing:border-box;z-index:10000;animation:fadeIn .15s ease-out}.confirm-modal{background:linear-gradient(135deg,#1e1e2e,#252535);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:32px;max-height:calc(100vh - 32px);overflow-y:auto;max-width:400px;width:90%;text-align:center;box-shadow:0 20px 60px #00000080;animation:slideUp .2s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.confirm-modal-icon{width:56px;height:56px;margin:0 auto 16px;color:#ff6b6b;background:#ff6b6b26;border-radius:50%;display:flex;align-items:center;justify-content:center}.confirm-modal-icon svg{width:28px;height:28px}.confirm-modal-title{margin:0 0 8px;font-size:20px;font-weight:600;color:#fff}.confirm-modal-message{margin:0 0 24px;font-size:14px;color:#fff9;line-height:1.5}.confirm-modal-actions{display:flex;gap:12px;justify-content:center}.confirm-modal-btn{padding:12px 24px;font-size:14px;font-weight:500;border:none;border-radius:8px;cursor:pointer;transition:all .2s}.confirm-modal-btn.cancel{background:#ffffff1a;color:#fffc}.confirm-modal-btn.cancel:hover{background:#ffffff26;color:#fff}.confirm-modal-btn.confirm{background:linear-gradient(135deg,#ff6b6b,#ee5a5a);color:#fff}.confirm-modal-btn.confirm:hover{background:linear-gradient(135deg,#f55,#dd4a4a);transform:translateY(-1px);box-shadow:0 4px 12px #ff6b6b66}.confirm-modal-btn.primary{background:linear-gradient(135deg,#2563eb,#3b82f6);color:#fff}.confirm-modal-btn.primary:hover{background:linear-gradient(135deg,#1d4ed8,#2563eb);transform:translateY(-1px);box-shadow:0 4px 12px #2563eb66}.workplane-selector-backdrop{position:fixed;inset:0;background:#000000b3;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease-out}.workplane-selector{background:var(--bg-secondary);border-radius:var(--radius-xl);border:1px solid var(--accent-sketch);box-shadow:var(--shadow-xl),0 0 60px var(--accent-sketch-dim);width:380px;max-width:90vw;overflow:hidden;animation:fadeInUp .3s ease-out}.ws-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-lg) var(--spacing-xl);border-bottom:1px solid var(--border-default);background:var(--bg-elevated)}.ws-header h3{margin:0;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.ws-close{width:28px;height:28px;border-radius:var(--radius-md);background:var(--bg-surface);border:1px solid var(--border-default);color:var(--text-muted);cursor:pointer;font-size:14px;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center}.ws-close:hover{background:var(--error-dim);border-color:var(--error);color:var(--error)}.ws-content{padding:var(--spacing-xl);display:flex;flex-direction:column;gap:var(--spacing-xl)}.ws-section{display:flex;flex-direction:column;gap:var(--spacing-sm)}.ws-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.ws-name-input{padding:var(--spacing-md);background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--font-size-md);transition:all var(--transition-fast)}.ws-name-input:focus{outline:none;border-color:var(--accent-sketch);box-shadow:0 0 0 3px var(--accent-sketch-dim)}.ws-name-input::placeholder{color:var(--text-disabled)}.ws-planes{display:flex;flex-direction:column;gap:var(--spacing-sm)}.ws-plane-btn{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-fast)}.ws-plane-btn:hover{background:var(--bg-hover);border-color:var(--border-strong);transform:translate(4px)}.ws-plane-icon{width:44px;height:44px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-weight:var(--font-weight-bold);font-size:var(--font-size-md);color:var(--bg-primary);flex-shrink:0}.ws-plane-info{display:flex;flex-direction:column;align-items:flex-start;gap:2px}.ws-plane-name{font-size:var(--font-size-md);font-weight:var(--font-weight-medium);color:var(--text-primary)}.ws-plane-desc{font-size:var(--font-size-sm);color:var(--text-muted)}.ws-hint{padding:var(--spacing-md);background:var(--warning-dim);border:1px solid rgba(245,158,11,.3);border-radius:var(--radius-md);font-size:var(--font-size-sm);color:var(--warning);text-align:center}.revolve-panel-backdrop{position:fixed;inset:0;background:transparent;display:flex;justify-content:flex-end;align-items:flex-start;padding:80px 20px 20px;z-index:9999;pointer-events:none}.revolve-panel{background:#0f1219f2;border-radius:12px;box-shadow:0 8px 32px #0000004d;min-width:320px;max-width:400px;border:1px solid var(--border);pointer-events:auto}.rp-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border)}.rp-header h3{margin:0;font-size:16px;font-weight:600;color:var(--text)}.rp-close{background:none;border:none;color:var(--text-muted);font-size:18px;cursor:pointer;padding:4px;line-height:1}.rp-close:hover{color:var(--text)}.rp-content{padding:16px 20px}.rp-section{margin-bottom:16px}.rp-section:last-child{margin-bottom:0}.rp-label{display:block;font-size:12px;font-weight:500;color:var(--text-muted);margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}.rp-sketch-info{display:flex;justify-content:space-between;align-items:center}.rp-sketch-name{font-weight:500;color:var(--text)}.rp-status{font-size:12px;padding:4px 8px;border-radius:4px}.rp-status.closed{background:#4caf5026;color:#4caf50}.rp-status.open{background:#f4433626;color:#f44336}.rp-input{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--text);font-size:14px;box-sizing:border-box}.rp-input:focus{outline:none;border-color:var(--accent)}.rp-axis-btns{display:flex;gap:8px}.rp-axis-btn{flex:1;padding:10px 16px;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--text-muted);font-size:13px;cursor:pointer;transition:all .15s ease}.rp-axis-btn:hover{background:var(--surface);color:var(--text)}.rp-axis-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.rp-angle-presets{display:flex;gap:6px;margin-top:8px}.rp-angle-presets button{flex:1;padding:6px;border:1px solid var(--border);border-radius:4px;background:var(--bg);color:var(--text-muted);font-size:11px;cursor:pointer;transition:all .15s ease}.rp-angle-presets button:hover{background:var(--surface);color:var(--text);border-color:var(--accent)}.rp-op-btns{display:flex;gap:8px}.rp-op-btn{flex:1;padding:10px 16px;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--text-muted);font-size:13px;cursor:pointer;transition:all .15s ease}.rp-op-btn:hover{background:var(--surface);color:var(--text)}.rp-op-btn.add.active{background:#4caf5026;border-color:#4caf50;color:#4caf50}.rp-op-btn.cut.active{background:#f4433626;border-color:#f44336;color:#f44336}.rp-select{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--text);font-size:14px;box-sizing:border-box;cursor:pointer}.rp-select:focus{outline:none;border-color:var(--accent)}.rp-error{background:#f443361a;border:1px solid rgba(244,67,54,.3);color:#f44336;padding:10px 12px;border-radius:6px;font-size:13px;margin-bottom:16px}.rp-actions{display:flex;gap:12px;margin-top:20px;padding-top:16px;border-top:1px solid var(--border)}.rp-btn{flex:1;padding:10px 20px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .15s ease}.rp-btn.cancel{background:var(--bg);color:var(--text-muted);border:1px solid var(--border)}.rp-btn.cancel:hover{background:var(--surface);color:var(--text)}.rp-btn.confirm{background:var(--accent);color:#fff}.rp-btn.confirm:hover:not(:disabled){filter:brightness(1.1)}.rp-btn.confirm:disabled{opacity:.5;cursor:not-allowed}.rp-warning{background:#ffc1071a;border:1px solid rgba(255,193,7,.3);color:#ffc107;padding:10px 12px;border-radius:6px;font-size:13px}.rp-hint{font-size:11px;color:var(--text-disabled);margin-top:6px;font-style:italic}.shell-panel-backdrop{position:fixed;inset:0;background:transparent;display:flex;justify-content:flex-end;align-items:flex-start;padding:80px 20px 20px;z-index:9999;pointer-events:none}.shell-panel{background:#0f1219f2;border-radius:12px;box-shadow:0 8px 32px #0000004d;min-width:320px;max-width:400px;border:1px solid var(--border);pointer-events:auto}.sp-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border)}.sp-header h3{margin:0;font-size:16px;font-weight:600;color:var(--text)}.sp-close{background:none;border:none;color:var(--text-muted);font-size:18px;cursor:pointer;padding:4px;line-height:1}.sp-close:hover{color:var(--text)}.sp-content{padding:16px 20px}.sp-section{margin-bottom:16px}.sp-label{display:block;font-size:12px;font-weight:500;color:var(--text-muted);margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}.sp-input,.sp-select{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--text);font-size:14px;box-sizing:border-box}.sp-input:focus,.sp-select:focus{outline:none;border-color:var(--accent)}.sp-select{cursor:pointer}.sp-info{background:#6495ed1a;border:1px solid rgba(100,149,237,.3);border-radius:6px;padding:12px;margin-bottom:16px}.sp-info p{margin:0 0 8px;font-size:13px;color:var(--text-muted)}.sp-info p:last-child{margin-bottom:0}.sp-info .sp-note{font-style:italic;color:#6495edcc}.sp-error{background:#f443361a;border:1px solid rgba(244,67,54,.3);color:#f44336;padding:10px 12px;border-radius:6px;font-size:13px;margin-bottom:16px}.sp-actions{display:flex;gap:12px;margin-top:20px;padding-top:16px;border-top:1px solid var(--border)}.sp-btn{flex:1;padding:10px 20px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .15s ease}.sp-btn.cancel{background:var(--bg);color:var(--text-muted);border:1px solid var(--border)}.sp-btn.cancel:hover{background:var(--surface);color:var(--text)}.sp-btn.confirm{background:var(--accent);color:#fff}.sp-btn.confirm:hover:not(:disabled){filter:brightness(1.1)}.sp-btn.confirm:disabled{opacity:.5;cursor:not-allowed}.sweep-panel-backdrop{position:fixed;inset:0;background:transparent;display:flex;justify-content:flex-end;align-items:flex-start;padding:80px 20px 20px;z-index:9999;pointer-events:none}.sweep-panel{background:#0f1219f2;border-radius:12px;box-shadow:0 8px 32px #0000004d;min-width:340px;max-width:420px;border:1px solid var(--border);pointer-events:auto}.swp-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border)}.swp-header h3{margin:0;font-size:16px;font-weight:600;color:var(--text)}.swp-close{background:none;border:none;color:var(--text-muted);font-size:18px;cursor:pointer;padding:4px;line-height:1}.swp-close:hover{color:var(--text)}.swp-content{padding:16px 20px}.swp-section{margin-bottom:16px}.swp-label{display:block;font-size:12px;font-weight:500;color:var(--text-muted);margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}.swp-select{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--text);font-size:14px;box-sizing:border-box;cursor:pointer}.swp-select:focus{outline:none;border-color:var(--accent)}.swp-warning{display:block;color:#ff9800;font-size:12px;margin-top:4px}.swp-op-btns{display:flex;gap:8px}.swp-op-btn{flex:1;padding:10px 16px;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--text-muted);font-size:13px;cursor:pointer;transition:all .15s ease}.swp-op-btn:hover{background:var(--surface);color:var(--text)}.swp-op-btn.add.active{background:#4caf5026;border-color:#4caf50;color:#4caf50}.swp-op-btn.cut.active{background:#f4433626;border-color:#f44336;color:#f44336}.swp-error{background:#f443361a;border:1px solid rgba(244,67,54,.3);color:#f44336;padding:10px 12px;border-radius:6px;font-size:13px;margin-bottom:16px}.swp-actions{display:flex;gap:12px;margin-top:20px;padding-top:16px;border-top:1px solid var(--border)}.swp-btn{flex:1;padding:10px 20px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .15s ease}.swp-btn.cancel{background:var(--bg);color:var(--text-muted);border:1px solid var(--border)}.swp-btn.cancel:hover{background:var(--surface);color:var(--text)}.swp-btn.confirm{background:var(--accent);color:#fff}.swp-btn.confirm:hover:not(:disabled){filter:brightness(1.1)}.swp-btn.confirm:disabled{opacity:.5;cursor:not-allowed}.loft-panel-backdrop{position:fixed;inset:0;background:transparent;display:flex;justify-content:flex-end;align-items:flex-start;padding:80px 20px 20px;z-index:9999;pointer-events:none}.loft-panel{background:#0f1219f2;border-radius:12px;box-shadow:0 8px 32px #0000004d;min-width:360px;max-width:450px;border:1px solid var(--border);pointer-events:auto}.lp-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border)}.lp-header h3{margin:0;font-size:16px;font-weight:600;color:var(--text)}.lp-close{background:none;border:none;color:var(--text-muted);font-size:18px;cursor:pointer;padding:4px;line-height:1}.lp-close:hover{color:var(--text)}.lp-content{padding:16px 20px}.lp-section{margin-bottom:16px}.lp-label{display:block;font-size:12px;font-weight:500;color:var(--text-muted);margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}.lp-sketch-list{border:1px solid var(--border);border-radius:6px;background:var(--bg);max-height:180px;overflow-y:auto;margin-bottom:8px}.lp-empty{padding:16px;text-align:center;color:var(--text-muted);font-size:13px}.lp-sketch-item{display:flex;align-items:center;padding:8px 12px;border-bottom:1px solid var(--border)}.lp-sketch-item:last-child{border-bottom:none}.lp-sketch-num{width:24px;height:24px;background:var(--accent);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;margin-right:10px}.lp-sketch-name{flex:1;color:var(--text);font-size:14px}.lp-sketch-actions{display:flex;gap:4px}.lp-sketch-actions button{width:24px;height:24px;border:none;background:var(--surface);color:var(--text-muted);border-radius:4px;cursor:pointer;font-size:12px;display:flex;align-items:center;justify-content:center}.lp-sketch-actions button:hover:not(:disabled){background:var(--border);color:var(--text)}.lp-sketch-actions button:disabled{opacity:.3;cursor:not-allowed}.lp-add-select{width:100%;padding:8px 12px;border:1px dashed var(--border);border-radius:6px;background:transparent;color:var(--text-muted);font-size:13px;cursor:pointer}.lp-add-select:hover{border-color:var(--accent);color:var(--accent)}.lp-options{display:flex;flex-direction:column;gap:8px}.lp-checkbox{display:flex;align-items:center;gap:8px;cursor:pointer;color:var(--text);font-size:14px}.lp-checkbox input{width:16px;height:16px;cursor:pointer}.lp-select{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--text);font-size:14px;box-sizing:border-box;cursor:pointer}.lp-select:focus{outline:none;border-color:var(--accent)}.lp-op-btns{display:flex;gap:8px}.lp-op-btn{flex:1;padding:10px 16px;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--text-muted);font-size:13px;cursor:pointer;transition:all .15s ease}.lp-op-btn:hover{background:var(--surface);color:var(--text)}.lp-op-btn.add.active{background:#4caf5026;border-color:#4caf50;color:#4caf50}.lp-op-btn.cut.active{background:#f4433626;border-color:#f44336;color:#f44336}.lp-error{background:#f443361a;border:1px solid rgba(244,67,54,.3);color:#f44336;padding:10px 12px;border-radius:6px;font-size:13px;margin-bottom:16px}.lp-actions{display:flex;gap:12px;margin-top:20px;padding-top:16px;border-top:1px solid var(--border)}.lp-btn{flex:1;padding:10px 20px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .15s ease}.lp-btn.cancel{background:var(--bg);color:var(--text-muted);border:1px solid var(--border)}.lp-btn.cancel:hover{background:var(--surface);color:var(--text)}.lp-btn.confirm{background:var(--accent);color:#fff}.lp-btn.confirm:hover:not(:disabled){filter:brightness(1.1)}.lp-btn.confirm:disabled{opacity:.5;cursor:not-allowed}.draft-panel-backdrop{position:fixed;inset:0;background:transparent;display:flex;justify-content:flex-end;align-items:flex-start;padding:80px 20px 20px;z-index:9999;pointer-events:none}.draft-panel{background:#0f1219f2;border-radius:12px;box-shadow:0 8px 32px #0000004d;min-width:320px;max-width:400px;border:1px solid var(--border);pointer-events:auto}.dp-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border)}.dp-header h3{margin:0;font-size:16px;font-weight:600;color:var(--text)}.dp-close{background:none;border:none;color:var(--text-muted);font-size:18px;cursor:pointer;padding:4px;line-height:1}.dp-close:hover{color:var(--text)}.dp-content{padding:16px 20px}.dp-section{margin-bottom:16px}.dp-label{display:block;font-size:12px;font-weight:500;color:var(--text-muted);margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}.dp-input,.dp-select{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--text);font-size:14px;box-sizing:border-box}.dp-input:focus,.dp-select:focus{outline:none;border-color:var(--accent)}.dp-select{cursor:pointer}.dp-angle-presets{display:flex;gap:6px;margin-top:8px}.dp-angle-presets button{flex:1;padding:6px;border:1px solid var(--border);border-radius:4px;background:var(--bg);color:var(--text-muted);font-size:11px;cursor:pointer;transition:all .15s ease}.dp-angle-presets button:hover{background:var(--surface);color:var(--text);border-color:var(--accent)}.dp-dir-btns{display:flex;gap:8px}.dp-dir-btn{flex:1;padding:10px 16px;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--text-muted);font-size:13px;cursor:pointer;transition:all .15s ease}.dp-dir-btn:hover{background:var(--surface);color:var(--text)}.dp-dir-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.dp-info{background:#6495ed1a;border:1px solid rgba(100,149,237,.3);border-radius:6px;padding:12px;margin-bottom:16px}.dp-info p{margin:0 0 8px;font-size:13px;color:var(--text-muted)}.dp-info p:last-child{margin-bottom:0}.dp-info .dp-note{font-style:italic;color:#6495edcc}.dp-error{background:#f443361a;border:1px solid rgba(244,67,54,.3);color:#f44336;padding:10px 12px;border-radius:6px;font-size:13px;margin-bottom:16px}.dp-actions{display:flex;gap:12px;margin-top:20px;padding-top:16px;border-top:1px solid var(--border)}.dp-btn{flex:1;padding:10px 20px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .15s ease}.dp-btn.cancel{background:var(--bg);color:var(--text-muted);border:1px solid var(--border)}.dp-btn.cancel:hover{background:var(--surface);color:var(--text)}.dp-btn.confirm{background:var(--accent);color:#fff}.dp-btn.confirm:hover:not(:disabled){filter:brightness(1.1)}.dp-btn.confirm:disabled{opacity:.5;cursor:not-allowed}.multi-cut-modal-overlay{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:16px;box-sizing:border-box;background:#0009;backdrop-filter:blur(4px)}.multi-cut-modal{width:min(520px,92vw);max-height:calc(100vh - 32px);overflow-y:auto;padding:24px;border-radius:8px;border:1px solid rgba(255,255,255,.1);background:#1e1e2e;box-shadow:0 20px 60px #00000080}.multi-cut-modal-header{margin-bottom:14px}.multi-cut-modal-title{margin:0 0 6px;color:#fff;font-size:20px;font-weight:600}.multi-cut-modal-subtitle{margin:0;color:#ffffffad;font-size:13px;line-height:1.5}.multi-cut-modal-summary{display:flex;gap:8px;margin-bottom:16px;color:#ffffffb8;font-size:12px;font-weight:600}.multi-cut-modal-summary span{padding:4px 10px;border-radius:8px;border:1px solid rgba(255,255,255,.1);background:#ffffff0d}.multi-cut-modal-list{display:flex;flex-direction:column;gap:8px}.multi-cut-modal-option{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border-radius:8px;border:1px solid rgba(255,255,255,.08);background:#ffffff08;cursor:pointer;transition:border-color .2s ease,background .2s ease}.multi-cut-modal-option:hover{background:#ffffff0f;border-color:#ffffff29}.multi-cut-modal-option.is-selected{background:#2563eb29;border-color:#3b82f68c}.multi-cut-modal-option input{margin-top:2px}.multi-cut-modal-option-copy{display:flex;flex-direction:column;min-width:0}.multi-cut-modal-option-name{color:#fff;font-size:14px;font-weight:600;word-break:break-word}.multi-cut-modal-option-meta{margin-top:2px;color:#ffffff9e;font-size:12px}.multi-cut-modal-checkbox{display:flex;align-items:center;gap:10px;margin-top:16px;color:#ffffffd1;font-size:13px}.multi-cut-progress{margin-top:16px;padding:12px;border-radius:8px;border:1px solid rgba(255,255,255,.08);background:#ffffff0a}.multi-cut-progress-row{display:flex;justify-content:space-between;gap:12px;color:#ffffffc7;font-size:12px}.multi-cut-progress-track{height:6px;margin-top:10px;overflow:hidden;border-radius:6px;background:#ffffff1f}.multi-cut-progress-bar{height:100%;border-radius:inherit;background:#3b82f6;transition:width .2s ease}.multi-cut-progress-current{margin-top:8px;color:#ffffff94;font-size:12px;word-break:break-word}.multi-cut-modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.multi-cut-modal-btn{min-width:96px;border:none;border-radius:8px;padding:11px 16px;font-size:13px;font-weight:600;cursor:pointer;transition:background .2s ease,opacity .2s ease}.multi-cut-modal-btn:disabled{opacity:.45;cursor:not-allowed}.multi-cut-modal-btn.primary{background:#2563eb;color:#fff}.multi-cut-modal-btn.primary:hover:not(:disabled){background:#1d4ed8}.multi-cut-modal-btn.secondary{background:#ffffff1a;color:#ffffffdb}.multi-cut-modal-btn.secondary:hover{background:#ffffff26}.animate-spin{animation:spin 1s linear infinite}.toolbar{display:flex;flex-wrap:nowrap;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-md);background:var(--surface-panel);border-bottom:1px solid var(--border-subtle);min-height:44px;max-height:44px;position:relative;z-index:50;overflow-x:auto;overflow-y:hidden;flex-shrink:0}.toolbar-section{display:flex;align-items:center;gap:2px;padding:2px var(--spacing-xs);background:transparent;border:none}.toolbar-label{font-size:7px;font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.5px;color:var(--text-disabled);padding:0 2px;white-space:nowrap}.toolbar-section>div{display:flex;align-items:center;gap:var(--spacing-xs)}.toolbar-btn{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:4px;padding:4px 8px;min-width:auto;background:transparent;border:1px solid transparent;border-radius:var(--radius-md);color:var(--text-secondary);font-size:9px;font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast);position:relative}.toolbar-btn svg{width:16px;height:16px}.toolbar-btn span{font-size:10px;white-space:nowrap}.toolbar-btn:hover:not(:disabled){background:var(--surface-control-hover);border-color:var(--border-default);color:var(--text-primary)}.toolbar-btn:active:not(:disabled){transform:scale(.96)}.toolbar-btn:disabled{opacity:.35;cursor:not-allowed}.toolbar-btn-primary{background:transparent;border-color:var(--border-subtle);color:var(--text-secondary)}.toolbar-btn-primary:hover:not(:disabled){background:var(--bg-hover);border-color:var(--accent-primary);color:var(--accent-primary)}.toolbar-btn-electronics{background:#14b8a61f;border-color:#2dd4bf52;color:#5eead4}.toolbar-btn-electronics:hover:not(:disabled){background:#14b8a638;border-color:#5eead4;color:#ccfbf1;box-shadow:0 0 8px #2dd4bf3d}.toolbar-divider{width:1px;height:48px;background:linear-gradient(180deg,transparent,var(--border-strong),transparent);margin:0 var(--spacing-xs)}.toolbar-status{margin-left:auto;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--accent-primary);padding:var(--spacing-xs) var(--spacing-md);background:var(--accent-primary-dim);border:1px solid var(--border-glow);border-radius:var(--radius-full)}.toolbar-export-status{font-size:9px;font-weight:var(--font-weight-medium);color:var(--text-muted);background:var(--surface-control);border:1px solid var(--border-default);border-radius:var(--radius-full);padding:2px 8px;white-space:nowrap}.toolbar-export-cta{margin-left:6px;padding:2px 8px;background:#3b82f62e;border:1px solid rgba(59,130,246,.45);border-radius:var(--radius-full);color:#dbeafe;font-size:9px;font-weight:600;cursor:pointer;transition:all .2s ease}.toolbar-export-cta:hover{background:#3b82f64d;border-color:#3b82f6b3}.toolbar-btn-active{background:#10b98126!important;border-color:var(--accent-edge)!important;color:var(--accent-edge)!important}.toolbar-btn-active:hover:not(:disabled){background:#10b98140!important}.toolbar-input{padding:var(--spacing-xs) var(--spacing-sm);background:var(--surface-input);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--font-size-sm);font-family:var(--font-mono);width:50px;text-align:center;transition:all var(--transition-fast)}.toolbar-input:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 2px var(--accent-primary-dim)}.toolbar-btn-sketch{background:var(--accent-sketch-dim);border-color:#8b5cf64d;color:var(--accent-sketch)}.toolbar-btn-sketch:hover:not(:disabled){background:#8b5cf633;border-color:var(--accent-sketch);color:var(--accent-sketch);box-shadow:0 0 8px #8b5cf64d}.toolbar-btn-feature{background:#f59e0b1a;border-color:#f59e0b4d;color:#f59e0b}.toolbar-btn-feature:hover:not(:disabled){background:#f59e0b33;border-color:#f59e0b;color:#fbbf24;box-shadow:0 0 8px #f59e0b4d}.sketch-active-badge{font-size:9px;font-weight:var(--font-weight-medium);color:var(--accent-sketch);background:#a855f726;padding:2px var(--spacing-sm);border-radius:var(--radius-full);border:1px solid rgba(168,85,247,.3)}.toolbar-btn-boolean{background:var(--accent-boolean-dim);border-color:#ec48994d;color:var(--accent-boolean)}.toolbar-btn-boolean:hover:not(:disabled){background:#ec489933;border-color:var(--accent-boolean);color:var(--accent-boolean);box-shadow:0 0 8px #ec48994d}.toolbar-btn-primitive{background:var(--accent-primitive-dim);border-color:#f59e0b4d;color:var(--accent-primitive)}.toolbar-btn-primitive:hover:not(:disabled){background:#f59e0b33;border-color:var(--accent-primitive);color:var(--accent-primitive);box-shadow:0 0 8px #f59e0b4d}.toolbar-btn-loading{pointer-events:none}.toolbar-btn-measure{background:#00d9ff1a;border-color:#00d9ff4d;color:#00d9ff}.toolbar-btn-measure:hover:not(:disabled){background:#00d9ff33;border-color:#00d9ff;color:#00d9ff;box-shadow:0 0 8px #00d9ff4d}.toolbar-btn:disabled,.toolbar-btn-sketch:disabled,.toolbar-btn-feature:disabled,.toolbar-btn-boolean:disabled,.toolbar-btn-primitive:disabled,.toolbar-btn-measure:disabled,.toolbar-btn-electronics:disabled{color:var(--text-disabled);background:transparent;border-color:transparent;box-shadow:none}[data-theme=light] .toolbar-btn:disabled{opacity:.58}.cfd-toolbar{--text-primary: #e6f7ff;--text-secondary: #b8d8ea;--text-muted: #8ea9bb;--text-disabled: #8ea9bb;--border-subtle: rgba(148, 240, 255, .14);--border-default: rgba(148, 240, 255, .24);--border-strong: rgba(148, 240, 255, .28);--surface-control-hover: rgba(0, 173, 239, .12);--bg-hover: rgba(0, 173, 239, .14);--accent-primary: #7ee7ff;--accent-primary-dim: rgba(0, 173, 239, .1);background:linear-gradient(90deg,#009dff14,#009dff05 28%,#151a22),linear-gradient(180deg,#1a1f28,#151a22);color:var(--text-primary);min-height:57px;max-height:57px;padding-top:8px;padding-bottom:8px}.cfd-toolbar-btn{border-color:#009dff1f;min-height:34px;padding:6px 10px}.cfd-toolbar-btn:hover:not(:disabled){border-color:#009dff57;box-shadow:0 0 10px #009dff24}.cfd-toolbar-metrics{gap:8px}.cfd-toolbar-chip-group{display:flex;align-items:center;gap:6px}.cfd-toolbar-chip{display:flex;flex-direction:column;gap:2px;min-width:62px;padding:5px 8px;border-radius:8px;border:1px solid rgba(255,255,255,.08);background:#ffffff0a;color:var(--text-primary)}.cfd-toolbar-chip.ok{border-color:#10b98147;background:#10b9811a}.cfd-toolbar-chip.warn{border-color:#f59e0b47;background:#f59e0b1a}.cfd-toolbar-chip-label{font-size:8px;font-weight:700;letter-spacing:.45px;text-transform:uppercase;color:var(--text-muted)}.cfd-toolbar-chip-value{font-size:10px;font-family:var(--font-mono);color:var(--text-primary);white-space:nowrap}.cfd-toolbar-status{max-width:520px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-top:10px;padding-bottom:10px;background:#009dff1a;border-color:#009dff38;color:#93e7ff}.context-menu{position:fixed;z-index:1000;background:#1e1e23fa;border:1px solid rgba(79,195,247,.3);border-radius:8px;padding:4px 0;min-width:150px;box-shadow:0 4px 20px #00000080;backdrop-filter:blur(10px)}.context-menu-item{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;background:none;border:none;color:#e0e0e0;font-size:13px;text-align:left;cursor:pointer;transition:background .15s ease}.context-menu-item:hover{background:#4fc3f733}.context-menu-item.delete:hover{background:#f4433633;color:#ef5350}.object-list{display:flex;flex-direction:column;width:187px;min-width:155px;background:var(--surface-panel);border-right:1px solid var(--border-subtle);overflow:hidden}.object-list-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);background:var(--surface-panel-muted);border-bottom:1px solid var(--border-subtle)}.object-count{background:var(--accent-primary-dim);color:var(--accent-primary);padding:2px 6px;border-radius:var(--radius-full);font-size:9px;font-weight:var(--font-weight-semibold)}.object-list-items{flex:1;overflow-y:auto;padding:var(--spacing-xs)}.object-list-empty{padding:var(--spacing-xl) var(--spacing-md);text-align:center;color:var(--text-muted);font-size:var(--font-size-sm);line-height:1.6}.hint{font-size:var(--font-size-xs);color:var(--text-disabled);margin-top:var(--spacing-sm)}.object-item{display:flex;align-items:center;gap:var(--spacing-sm);min-width:0;padding:6px var(--spacing-sm);margin-bottom:1px;background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);position:relative;margin-left:8px}.tree-node-group{display:block}.tree-toggle{width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border-default);background:var(--surface-control);color:var(--text-muted);font-size:10px;border-radius:var(--radius-sm);cursor:pointer;padding:0;flex-shrink:0}.tree-toggle:hover{background:var(--surface-control-hover);color:var(--text-primary)}.tree-toggle.spacer{border:none;background:transparent;cursor:default;visibility:hidden}.child-item{margin-left:24px}.object-item:before{content:"";position:absolute;left:-8px;top:50%;width:8px;height:1px;background:#ffffff26}.object-item:after{content:"";position:absolute;left:-8px;top:0;bottom:0;width:1px;background:#ffffff1a}.object-item:first-child:after{top:50%}.object-item:last-child:after{bottom:50%}.object-item:only-child:after{display:none}.object-item:hover{background:var(--bg-hover)}.object-group-item{background:var(--surface-panel-muted);border-color:var(--border-subtle);cursor:default}.object-group-item:hover{background:var(--bg-hover)}.object-group-icon{box-shadow:0 0 12px #7dd3fc1f}.object-group-meta{font-size:9px;color:var(--text-disabled);background:var(--surface-control);padding:1px 5px;border-radius:var(--radius-full);flex-shrink:0;max-width:48px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.object-item.selected{background:var(--accent-primary-dim);border-color:var(--border-glow)}.object-item.selected .object-name{color:var(--accent-primary)}.object-icon{width:20px;height:20px;display:flex;align-items:center;justify-content:center;background:var(--surface-control);border:1px solid var(--border-default);border-radius:var(--radius-sm);flex-shrink:0;color:var(--text-secondary);box-shadow:inset 0 1px 0 var(--border-subtle)}.object-icon svg{width:13px;height:13px;stroke-width:2.25}.object-icon-cad{color:#a9b8c8;background:linear-gradient(180deg,#94a3b824,#47556914);border-color:#94a3b82e}.object-icon-feature{color:#f6c65b;background:linear-gradient(180deg,#f59e0b29,#78350f14);border-color:#f59e0b40}.object-icon-sketch{color:#c4b5fd;background:linear-gradient(180deg,#8b5cf62e,#4c1d951a);border-color:#a78bfa47}.object-icon-import,.object-icon-group{color:#93c5fd;background:linear-gradient(180deg,#3b82f62e,#1e40af14);border-color:#60a5fa47}.object-icon-board{color:#86efac;background:linear-gradient(180deg,#22c55e33,#15803d14);border-color:#4ade804d}.object-icon-component{color:#a5b4fc;background:linear-gradient(180deg,#6366f12e,#312e8114);border-color:#818cf847}.object-icon-connector{color:#67e8f9;background:linear-gradient(180deg,#06b6d42e,#155e7514);border-color:#67e8f94d}.object-icon-copper{color:#facc15;background:linear-gradient(180deg,#eab30833,#713f1214);border-color:#facc1552}.object-icon-mount{color:#fbbf24;background:linear-gradient(180deg,#fbbf2429,#92400e14);border-color:#fbbf2447}.object-icon-thermal{color:#fb7185;background:linear-gradient(180deg,#f43f5e2e,#88133714);border-color:#fb71854d}.object-icon-guide,.object-icon-ink{color:#d8e1ea;background:linear-gradient(180deg,#e2e8f01f,#47556914);border-color:#e2e8f02e}.object-name{flex:1;min-width:0;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.object-rename-input{flex:1;min-width:0;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-primary);padding:2px 6px;border-radius:var(--radius-sm);border:1px solid rgba(255,255,255,.15);background:#00000059}.object-rename-input:focus{outline:none;border-color:#00d9ff80;box-shadow:0 0 0 1px #00d9ff40}.object-delete{opacity:0;width:18px;height:18px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-muted);font-size:12px;cursor:pointer;transition:all var(--transition-fast);flex-shrink:0}.object-item:hover .object-delete{opacity:1}.object-delete:hover{color:var(--error);background:#ef44441a}.object-list-footer{padding:var(--spacing-xs) var(--spacing-md);border-top:1px solid rgba(255,255,255,.06);text-align:center;font-size:9px;color:var(--text-disabled)}.object-list-items::-webkit-scrollbar{width:4px}.object-list-items::-webkit-scrollbar-track{background:transparent}.object-list-items::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:var(--radius-full)}.object-list-items::-webkit-scrollbar-thumb:hover{background:#ffffff40}.object-list.collapsed{width:32px;min-width:32px;max-width:32px;padding-top:var(--spacing-md)}.header-right{display:flex;align-items:center;gap:var(--spacing-sm)}.collapse-toggle{width:18px;height:18px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--text-muted);font-size:10px;cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-fast)}.collapse-toggle:hover{color:var(--accent-primary);background:#ffffff0d}.object-item.hidden-object{opacity:.4}.object-item.hidden-object .object-name{font-style:italic;color:var(--text-disabled)}.object-list-section-header{font-size:9px;font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.5px;color:var(--text-disabled);padding:var(--spacing-sm) var(--spacing-sm);margin-top:var(--spacing-xs);border-bottom:1px solid rgba(255,255,255,.05)}.object-list-section-header:first-child{margin-top:0}.sketch-item{border-left:2px solid rgba(139,92,246,.3);margin-left:0}.sketch-item.child-item{margin-left:24px}.sketch-item:before,.sketch-item:after{display:none}.sketch-item:hover{border-left-color:#8b5cf699;background:#8b5cf614}.sketch-item.active-sketch{background:#8b5cf626;border-left-color:var(--accent-sketch)}.sketch-item.active-sketch .object-name{color:var(--accent-sketch)}.sketch-role{font-size:8px;text-transform:uppercase;letter-spacing:.4px;color:var(--text-disabled);background:#ffffff0f;padding:1px 5px;border-radius:var(--radius-sm);flex-shrink:0}.sketch-entity-count{font-size:9px;color:var(--text-disabled);background:#ffffff0d;padding:1px 5px;border-radius:var(--radius-full)}.editing-badge{font-size:8px;font-weight:var(--font-weight-semibold);text-transform:uppercase;color:var(--accent-sketch);background:#8b5cf633;padding:2px 6px;border-radius:var(--radius-sm);animation:pulse 2s infinite}.assembly-panel{display:flex;flex-direction:column;width:187px;min-width:155px;background:linear-gradient(180deg,#1a1f28,#13171e);border-right:1px solid rgba(255,255,255,.06);overflow:hidden}[data-theme=light] .assembly-panel{--text-primary: #e5edf7;--text-secondary: #cbd5e1;--text-muted: #94a3b8;--text-disabled: #64748b}.assembly-panel-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);background:#ffffff05;border-bottom:1px solid rgba(255,255,255,.06)}.assembly-count{background:#22c55e26;color:#86efac;padding:2px 6px;border-radius:var(--radius-full);font-size:9px;font-weight:var(--font-weight-semibold)}.assembly-panel-items{flex:1;overflow-y:auto;padding:var(--spacing-xs)}.assembly-panel-section-title{margin:var(--spacing-sm) var(--spacing-sm) var(--spacing-xs);font-size:10px;text-transform:uppercase;letter-spacing:.6px;color:var(--text-disabled)}.assembly-connector-visibility{margin:0 8px 8px}.assembly-connector-toggle{display:flex;align-items:center;gap:6px;font-size:10px;color:var(--text-muted);cursor:pointer;user-select:none}.assembly-connector-toggle input{width:12px;height:12px;accent-color:#60a5fa}.assembly-topology-status{margin:0 8px 8px;padding:6px 8px;border-radius:var(--radius-sm);border:1px solid rgba(56,189,248,.35);background:#38bdf814;color:#bae6fd;font-size:10px;line-height:1.35}.assembly-topology-status.warning{border-color:#f8717166;background:#f871711a;color:#fecaca}.assembly-empty{padding:var(--spacing-xl) var(--spacing-md);text-align:center;color:var(--text-muted);font-size:var(--font-size-sm);line-height:1.6}.assembly-empty-constraints{padding-top:var(--spacing-md)}.assembly-hint{font-size:var(--font-size-xs);color:var(--text-disabled);margin-top:var(--spacing-sm)}.assembly-item{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm);padding:6px var(--spacing-sm);margin-bottom:2px;border-radius:var(--radius-sm);background:#ffffff05;border:1px solid transparent;color:var(--text-primary);cursor:grab;user-select:none;transition:all var(--transition-fast)}.assembly-item:hover{border-color:#60a5fa80;background:#60a5fa14}.assembly-item.grounded{border-color:#22c55e59;background:#22c55e14}.assembly-component-group{margin:0 0 6px;padding:4px;border-radius:var(--radius-sm);border:1px solid rgba(96,165,250,.18);background:#60a5fa0a}.assembly-component-title{display:flex;align-items:center;justify-content:space-between;padding:2px 4px 5px;font-size:10px;color:#bfdbfe;text-transform:uppercase;letter-spacing:.4px}.assembly-component-title span:last-child{color:var(--text-disabled)}.assembly-item-name{font-size:var(--font-size-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100px}.ground-toggle{font-size:10px;padding:2px 6px;border-radius:999px;border:1px solid rgba(255,255,255,.1);background:#ffffff0a;color:var(--text-muted);cursor:pointer}.ground-toggle.active{border-color:#22c55e99;background:#22c55e26;color:#bbf7d0}.ground-toggle:hover{color:var(--text-primary);border-color:#ffffff40}.mate-builder{margin:0 4px 10px;padding:8px;border-radius:var(--radius-sm);border:1px solid rgba(255,255,255,.05);background:#0f172a99;display:flex;flex-direction:column;gap:8px}.mate-builder-row{display:flex;flex-direction:column;gap:4px;font-size:10px}.mate-label{color:var(--text-disabled);text-transform:uppercase;letter-spacing:.4px}.mate-select{width:100%;font-size:11px;padding:4px 6px;border-radius:var(--radius-sm);border:1px solid rgba(148,163,184,.35);background:#1e2a3a;color:#e6edf7;color-scheme:dark}.mate-select option{color:#e6edf7;background:#243246}.mate-select option:disabled{color:#93a4ba}.mate-input{width:100%;font-size:11px;padding:4px 6px;border-radius:var(--radius-sm);border:1px solid rgba(255,255,255,.1);background:#ffffff0a;color:var(--text-primary)}.mate-selected{display:flex;align-items:center;gap:6px;font-size:10px;color:var(--text-muted)}.mate-selected span{max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mate-arrow{color:var(--text-disabled)}.mate-builder-actions{display:flex;gap:6px}.mate-apply,.mate-cancel{flex:1;font-size:10px;padding:4px 6px;border-radius:999px;border:1px solid rgba(255,255,255,.1);background:#ffffff0a;color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast)}.mate-apply:disabled,.mate-cancel:disabled{opacity:.5;cursor:not-allowed}.mate-apply:hover:not(:disabled),.mate-cancel:hover:not(:disabled){color:var(--text-primary);border-color:#ffffff4d}.constraint-item{display:flex;flex-direction:column;gap:6px;padding:8px;margin:0 4px 6px;border-radius:var(--radius-sm);background:#ffffff08;border:1px solid rgba(255,255,255,.05);transition:border-color var(--transition-fast),background var(--transition-fast)}.named-connector-item{display:flex;flex-direction:column;gap:6px;padding:8px;margin:0 4px 6px;border-radius:var(--radius-sm);background:#ffffff08;border:1px solid rgba(96,165,250,.25)}.named-connector-title{font-size:10px;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.named-connector-actions{display:flex;gap:6px}.joint-pose-list{display:flex;flex-direction:column;gap:6px;margin:0 4px 8px}.joint-pose-item{display:flex;flex-direction:column;gap:6px;padding:8px;border-radius:var(--radius-sm);border:1px solid rgba(56,189,248,.22);background:#08122094}.joint-pose-item.disabled{opacity:.6}.joint-pose-title,.joint-pose-row,.joint-pose-actions{display:flex;align-items:center;gap:6px}.joint-pose-title{justify-content:space-between;font-size:11px;color:var(--text-primary)}.joint-pose-title span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.joint-pose-title span:last-child{flex:none;color:#7dd3fc;font-size:10px}.joint-pose-refs{display:flex;align-items:center;gap:5px;color:var(--text-disabled);font-size:9px}.joint-pose-refs span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.joint-pose-param{color:#bfdbfe;font-size:10px}.joint-pose-range{width:100%;accent-color:#38bdf8}.joint-pose-row{justify-content:space-between;color:var(--text-disabled);font-size:9px}.joint-pose-input{width:56px;flex:none;font-size:10px;padding:3px 5px;border-radius:var(--radius-sm);border:1px solid rgba(125,211,252,.28);background:#ffffff0a;color:var(--text-primary)}.joint-pose-actions{flex-wrap:wrap}.constraint-item.constraint-ok{border-color:#22c55e66}.constraint-item.constraint-warn{border-color:#eab30866}.constraint-item.constraint-bad{border-color:#f8717166}.constraint-item.disabled{opacity:.6}.constraint-main{display:flex;flex-direction:column;gap:4px}.constraint-title{font-size:11px;font-weight:var(--font-weight-semibold);color:var(--text-primary)}.constraint-type{font-size:10px;font-weight:var(--font-weight-regular);color:var(--text-muted);margin-left:4px;text-transform:uppercase;letter-spacing:.4px}.constraint-refs{display:flex;align-items:center;gap:6px;font-size:10px;color:var(--text-muted)}.constraint-ref{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.constraint-arrow{color:var(--text-disabled)}.constraint-meta{display:flex;gap:8px;font-size:10px;color:var(--text-muted);flex-wrap:wrap}.constraint-metric{padding:2px 6px;border-radius:999px;background:#ffffff0f}.constraint-axis-actions{display:flex;gap:6px;flex-wrap:wrap}.constraint-editor{display:flex;flex-direction:column;gap:6px;padding:8px;border-radius:var(--radius-sm);border:1px solid rgba(96,165,250,.2);background:#0f172a8c}.constraint-editor-row{display:flex;flex-direction:column;gap:4px;font-size:10px}.constraint-actions{display:flex;gap:6px;flex-wrap:wrap}.constraint-actions-compact{justify-content:flex-start}.constraint-toggle,.constraint-delete,.assembly-solve{font-size:10px;padding:4px 8px;border-radius:999px;border:1px solid rgba(255,255,255,.1);background:#ffffff0a;color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast)}.constraint-toggle.active{border-color:#22c55e80;color:#bbf7d0;background:#22c55e26}.constraint-delete{border-color:#f8717166;color:#fecaca}.constraint-toggle:hover,.constraint-delete:hover,.assembly-solve:hover{color:var(--text-primary);border-color:#ffffff4d}.constraint-toggle:disabled{opacity:.5;cursor:not-allowed}.assembly-solve-summary{margin:0 4px 8px;padding:6px 8px;border-radius:var(--radius-sm);border:1px solid rgba(34,197,94,.25);background:#22c55e14;color:#bbf7d0;font-size:10px;line-height:1.35}.assembly-solve-summary.warning{border-color:#eab30859;background:#eab30814;color:#fde68a}.assembly-solve{margin:var(--spacing-sm) 4px var(--spacing-md);width:calc(100% - 8px);text-transform:uppercase;letter-spacing:.5px;font-weight:var(--font-weight-semibold)}.fea-boundary-panel{display:flex;flex-direction:column;width:187px;min-width:155px;background:linear-gradient(180deg,#1a1f28,#13171e);border-right:1px solid rgba(255,255,255,.06);overflow:hidden;transition:width var(--transition-normal),min-width var(--transition-normal)}.fea-boundary-panel.collapsed{width:24px;min-width:24px}.fea-boundary-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);background:#ffffff05;border-bottom:1px solid rgba(255,255,255,.06)}.fea-boundary-header:hover{background:#ffffff0a}.fea-boundary-count{background:#3b82f626;color:#93c5fd;padding:2px 6px;border-radius:var(--radius-full);font-size:9px}.fea-boundary-header-right{display:flex;align-items:center;gap:6px}.fea-boundary-collapse-btn{margin-left:auto;display:flex;align-items:center;justify-content:center;width:18px;height:18px;background:transparent;border:none;color:var(--text-muted);border-radius:var(--radius-sm);cursor:pointer}.fea-boundary-collapse-btn:hover{color:var(--text-primary);background:#ffffff1a}.fea-boundary-rail-toggle{margin:8px auto 0;display:flex;align-items:center;justify-content:center;width:18px;height:18px;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);color:var(--text-muted);border-radius:var(--radius-sm);cursor:pointer}.fea-boundary-rail-toggle:hover{color:var(--text-primary);background:#ffffff26;border-color:#fff3}.fea-boundary-content{flex:1;overflow-y:auto;padding:var(--spacing-xs);display:flex;flex-direction:column;gap:8px}.fea-boundary-section{border:1px solid rgba(255,255,255,.06);border-radius:var(--radius-sm);background:#ffffff05;padding:8px;display:flex;flex-direction:column;gap:8px}.fea-boundary-section-title{font-size:10px;text-transform:uppercase;letter-spacing:.45px;color:var(--text-secondary);font-weight:var(--font-weight-semibold)}.fea-boundary-row{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:10px;color:var(--text-secondary)}.fea-boundary-row span:last-child{color:var(--text-primary);font-family:var(--font-mono);text-align:right}.fea-boundary-field{display:flex;flex-direction:column;gap:4px;font-size:10px;color:var(--text-secondary)}.fea-boundary-field select,.fea-boundary-field input{width:100%;border:1px solid var(--border-default);background:var(--bg-surface);color:var(--text-primary);font-size:11px;border-radius:var(--radius-sm);padding:5px 7px;min-width:0}.fea-boundary-inline{display:flex;align-items:center;gap:6px}.fea-boundary-toggle{display:flex;align-items:center;gap:6px;font-size:10px;color:var(--text-primary)}.fea-boundary-btn{border:1px solid var(--border-default);background:var(--bg-surface);color:var(--text-primary);padding:6px 8px;font-size:10px;border-radius:var(--radius-sm);cursor:pointer}.fea-boundary-btn:hover:not(:disabled){border-color:var(--accent-primary-dim);background:var(--bg-hover)}.fea-boundary-btn:disabled{opacity:.5;cursor:not-allowed}.fea-boundary-btn-primary{border-color:var(--accent-primary-dim);background:var(--accent-primary-dim);color:var(--accent-primary)}.fea-boundary-btn-danger{border-color:#ef444466;color:#fda4af;background:#ef44441f}.fea-boundary-force-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.fea-boundary-force-grid label{display:flex;flex-direction:column;gap:4px;font-size:10px;color:var(--text-secondary)}.fea-boundary-force-grid input{width:100%;border:1px solid var(--border-default);background:var(--bg-surface);color:var(--text-primary);font-size:11px;border-radius:var(--radius-sm);padding:5px 6px}.fea-boundary-note{margin:0;font-size:10px;color:var(--text-muted)}.fea-boundary-list-item{display:flex;align-items:center;justify-content:space-between;gap:6px;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:6px;background:#ffffff05}.fea-boundary-list-main{display:flex;flex-direction:column;gap:2px;min-width:0}.fea-boundary-list-title{font-size:10px;color:var(--text-primary);font-weight:var(--font-weight-semibold)}.fea-boundary-list-meta{font-size:9px;color:var(--text-muted);font-family:var(--font-mono);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.orch-drawer-wrapper{position:relative;display:flex;flex-shrink:0;z-index:50}.orch-toggle{width:32px;background:linear-gradient(180deg,#191432f2,#0f0c23fa);border:none;border-left:1px solid rgba(120,80,255,.12);border-right:1px solid rgba(120,80,255,.08);cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:8px 0;position:relative;overflow:hidden;transition:all .3s ease;flex-shrink:0}.orch-toggle:hover{background:linear-gradient(180deg,#281e50f2,#191237fa);border-left-color:#7850ff4d}.orch-toggle.open{border-left-color:#7850ff66}.orch-toggle-glow{position:absolute;top:50%;left:50%;width:40px;height:40px;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(120,80,255,.15) 0%,transparent 70%);pointer-events:none;opacity:0;transition:opacity .3s}.orch-toggle:hover .orch-toggle-glow{opacity:1}.orch-toggle-icon{font-size:16px;color:#a082ffb3;transition:color .3s,transform .3s;filter:drop-shadow(0 0 4px rgba(120,80,255,.3))}.orch-toggle:hover .orch-toggle-icon{color:#b496ffe6;transform:scale(1.1)}.orch-toggle.open .orch-toggle-icon{color:#a882ff;transform:rotate(30deg)}.orch-toggle.running .orch-toggle-icon{color:#5bf;animation:hex-breathe 2s ease-in-out infinite;filter:drop-shadow(0 0 6px rgba(80,180,255,.4))}.orch-toggle.done .orch-toggle-icon{color:#5d8;filter:drop-shadow(0 0 6px rgba(80,220,130,.3))}@keyframes hex-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}.orch-toggle-progress{width:24px;height:24px}.orch-ring{width:100%;height:100%;transform:rotate(-90deg)}.orch-ring-bg{fill:none;stroke:#7850ff1a;stroke-width:2}.orch-ring-fill{fill:none;stroke:#5bf;stroke-width:2;stroke-linecap:round;transition:stroke-dasharray .5s ease}.orch-toggle-badge{font-size:8px;background:linear-gradient(135deg,#50c878cc,#3cb464e6);color:#fff;border-radius:6px;padding:1px 4px;font-weight:700;min-width:14px;text-align:center;line-height:1.4}.orch-body{width:0;overflow:hidden;background:linear-gradient(180deg,#120f23fa,#0c0a1cfc);border-right:1px solid rgba(120,80,255,.08);display:flex;flex-direction:column;transition:width .3s cubic-bezier(.4,0,.2,1)}.orch-body.open{width:260px}.orch-header{display:flex;align-items:stretch;border-bottom:1px solid rgba(255,255,255,.04);flex-shrink:0;min-height:34px}.orch-header-tabs{display:flex;flex:1}.orch-htab{flex:1;background:none;border:none;color:#ffffff59;font-size:10px;font-weight:600;letter-spacing:.3px;padding:8px 4px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:5px;transition:all .2s;position:relative;text-transform:uppercase}.orch-htab:hover{color:#fff9;background:#7850ff0a}.orch-htab.active{color:#ffffffd9}.orch-htab.active:after{content:"";position:absolute;bottom:0;left:15%;width:70%;height:2px;background:linear-gradient(90deg,transparent,#7850ff,transparent);border-radius:1px}.htab-dot{width:4px;height:4px;border-radius:50%;background:#7850ff4d;transition:background .2s}.orch-htab.active .htab-dot{background:#7850ff;box-shadow:0 0 6px #7850ff80}.htab-live{font-size:7px;font-weight:700;color:#5bf;background:#50b4ff1f;padding:1px 4px;border-radius:3px;animation:live-blink 1.5s ease infinite}@keyframes live-blink{0%,to{opacity:1}50%{opacity:.5}}.htab-count{font-size:8px;color:#7c9;background:#50b47826;padding:1px 4px;border-radius:4px}.orch-x{background:none;border:none;border-left:1px solid rgba(255,255,255,.04);color:#fff3;font-size:14px;width:30px;cursor:pointer;transition:all .2s}.orch-x:hover{color:#fff9;background:#ff32320f}.orch-scroll{flex:1;overflow-y:auto;padding:10px;display:flex;flex-direction:column;gap:10px}.orch-scroll::-webkit-scrollbar{width:3px}.orch-scroll::-webkit-scrollbar-track{background:transparent}.orch-scroll::-webkit-scrollbar-thumb{background:#7850ff33;border-radius:2px}.orch-input-area{display:flex;flex-direction:column;gap:8px}.orch-input-label{font-size:10px;font-weight:600;color:#fff6;text-transform:uppercase;letter-spacing:.5px}.orch-textarea{background:#191632e6;border:1px solid rgba(120,80,255,.15);border-radius:6px;color:#e0e0e0;font-size:11px;padding:8px;resize:none;min-height:44px;font-family:inherit;line-height:1.4;transition:border-color .2s}.orch-textarea:focus{outline:none;border-color:#7850ff66;box-shadow:0 0 12px #7850ff14}.orch-textarea::placeholder{color:#fff3}.orch-launch{background:linear-gradient(135deg,#6c3bea,#4a25a6,#3818a3);color:#fff;border:1px solid rgba(120,80,255,.3);border-radius:6px;padding:8px 12px;font-size:11px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;transition:all .25s;position:relative;overflow:hidden}.orch-launch:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,transparent 40%,rgba(255,255,255,.08) 50%,transparent 60%);transform:translate(-100%);transition:transform .5s}.orch-launch:hover:not(:disabled):before{transform:translate(100%)}.orch-launch:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 16px #7850ff40}.orch-launch:disabled{opacity:.35;cursor:not-allowed}.launch-icon{font-size:13px;filter:drop-shadow(0 0 3px rgba(255,255,255,.3))}.orch-phase{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 8px}.orch-phase.sm{padding:10px 8px}.phase-anim{display:flex;gap:4px}.phase-hex{font-size:16px;color:#7850ff99;animation:hex-float 1.5s ease-in-out infinite;filter:drop-shadow(0 0 4px rgba(120,80,255,.3))}.phase-hex.hex2{animation-delay:.15s}.phase-hex.hex3{animation-delay:.3s}@keyframes hex-float{0%,to{transform:translateY(0) scale(1);opacity:.5}50%{transform:translateY(-3px) scale(1.1);opacity:1}}.phase-text{font-size:11px;color:#ffffff80;font-weight:500}.phase-sub{font-size:10px;color:#fff3;font-style:italic;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center}.orch-progress-bar{position:relative;height:18px;background:#7850ff0f;border-radius:9px;overflow:hidden;border:1px solid rgba(120,80,255,.1)}.orch-progress-fill{position:absolute;inset:0 auto 0 0;background:linear-gradient(90deg,#7850ff40,#50b4ff59);border-radius:9px;transition:width .6s cubic-bezier(.4,0,.2,1)}.orch-progress-label{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;height:100%;font-size:9px;font-weight:600;color:#fff9;letter-spacing:.3px}.orch-agents{display:flex;flex-direction:column;gap:1px}.orch-agent{display:flex;align-items:center;gap:7px;padding:5px 7px;border-radius:5px;font-size:11px;transition:background .2s;border-left:2px solid transparent}.orch-agent.running{background:#50b4ff0a;border-left-color:#50b4ff80}.orch-agent.done{opacity:.55}.orch-agent.error{border-left-color:#ff505080}.agent-dot{font-size:10px;width:14px;text-align:center;flex-shrink:0}.agent-dot.queued{color:#fff3}.agent-dot.running{color:#5bf}.agent-dot.done{color:#5d8}.agent-dot.error{color:#f66}.agent-label{flex:1;color:#ffffffa6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.orch-agent.running .agent-label{color:#ffffffd9}.agent-spinner{width:10px;height:10px;border:1.5px solid rgba(80,180,255,.2);border-top-color:#5bf;border-radius:50%;animation:orch-spin .6s linear infinite;flex-shrink:0}.agent-err-icon{font-size:10px;font-weight:700;color:#f66;cursor:help;flex-shrink:0}@keyframes orch-spin{to{transform:rotate(360deg)}}.orch-result{display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px 8px;border-radius:8px;text-align:center}.orch-result.success{background:linear-gradient(135deg,#50dc820a,#50b4ff0a);border:1px solid rgba(80,220,130,.1)}.orch-result.error{background:#ff50500a;border:1px solid rgba(255,80,80,.1)}.result-icon{font-size:22px}.orch-result.success .result-icon{color:#5d8;filter:drop-shadow(0 0 8px rgba(80,220,130,.3))}.orch-result.error .result-icon{color:#f77}.result-text{font-size:11px;color:#fff9;font-weight:500}.orch-result-actions{display:flex;gap:6px;margin-top:4px}.orch-btn{border-radius:5px;padding:5px 12px;font-size:10px;font-weight:600;cursor:pointer;transition:all .2s;text-align:center}.orch-btn.ghost{background:#7850ff14;color:#b496ffcc;border:1px solid rgba(120,80,255,.15)}.orch-btn.ghost:hover{background:#7850ff26;border-color:#7850ff4d}.orch-btn.accent{background:linear-gradient(135deg,#7850ff40,#50b4ff33);color:#adf;border:1px solid rgba(80,180,255,.2)}.orch-btn.accent:hover{background:linear-gradient(135deg,#7850ff59,#50b4ff4d)}.orch-btn.danger{background:#ff3c3c14;color:#ff7878cc;border:1px solid rgba(255,60,60,.15);width:100%}.orch-btn.danger:hover{background:#ff3c3c26}.orch-btn.return{background:#50b4780f;color:#78dca0cc;border:1px solid rgba(80,180,120,.15)}.orch-parts{display:flex;flex-direction:column;gap:2px}.orch-part{display:flex;align-items:center;justify-content:space-between;padding:6px 7px;border-radius:5px;border:1px solid transparent;transition:all .2s}.orch-part:hover{background:#50b47808;border-color:#50b4781a}.orch-part.active{background:#50b4780f;border-color:#50b4784d}.part-left{display:flex;align-items:center;gap:7px;min-width:0}.part-indicator{width:5px;height:5px;border-radius:50%;background:#50b4784d;flex-shrink:0;transition:all .2s}.part-indicator.active{background:#5d8;box-shadow:0 0 8px #50dc8266}.part-details{display:flex;flex-direction:column;min-width:0}.part-name{font-size:11px;font-weight:500;color:#ffffffb3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.part-obj-count{font-size:9px;color:#ffffff40}.part-edit{background:#50b47814;color:#78dca0bf;border:1px solid rgba(80,180,120,.15);border-radius:4px;padding:2px 10px;font-size:9px;font-weight:600;cursor:pointer;transition:all .2s;flex-shrink:0;text-transform:uppercase;letter-spacing:.3px}.part-edit:hover{background:#50b47826;border-color:#50b4784d}.part-active-tag{font-size:8px;font-weight:700;color:#5d8;text-transform:uppercase;letter-spacing:.5px}.orch-empty{display:flex;flex-direction:column;align-items:center;gap:6px;padding:24px 12px;color:#ffffff40;font-size:11px;text-align:center}.empty-hex{font-size:28px;color:#7850ff26;filter:drop-shadow(0 0 8px rgba(120,80,255,.08))}.empty-hint{font-size:9px;color:#ffffff26}.orch-fea-toggle{display:flex;align-items:center;gap:6px;padding:5px 0 0;cursor:pointer;user-select:none}.orch-fea-toggle input[type=checkbox]{appearance:none;-webkit-appearance:none;width:14px;height:14px;border:1px solid rgba(80,180,255,.25);border-radius:3px;background:#50b4ff0a;cursor:pointer;position:relative;flex-shrink:0;transition:all .2s}.orch-fea-toggle input[type=checkbox]:checked{background:#50b4ff26;border-color:#50b4ff80}.orch-fea-toggle input[type=checkbox]:checked:after{content:"✓";position:absolute;top:-1px;left:1px;font-size:11px;color:#5bf;font-weight:700}.fea-toggle-label{display:flex;align-items:center;gap:4px;font-size:10px;color:#b4d2ff99;font-weight:500;letter-spacing:.2px}.fea-toggle-icon{font-size:11px;color:#50b4ff80}.orch-fea-toggle:hover .fea-toggle-label{color:#b4d2ffd9}.orch-phase.fea-analyzing .phase-text{color:#50b4ffcc}.phase-hex.fea-hex{color:#50b4ff99!important;filter:drop-shadow(0 0 6px rgba(80,180,255,.2))}.orch-fea-card{width:100%;background:linear-gradient(135deg,#50b4ff0a,#5078ff08);border:1px solid rgba(80,180,255,.12);border-radius:8px;padding:10px;margin-top:4px;text-align:left}.fea-card-header{display:flex;align-items:center;gap:5px;margin-bottom:6px}.fea-card-icon{font-size:14px;color:#5bf;filter:drop-shadow(0 0 6px rgba(80,180,255,.3))}.fea-card-title{font-size:10px;font-weight:700;color:#b4d2ffe6;text-transform:uppercase;letter-spacing:.5px}.fea-card-part{font-size:9px;color:#ffffff59;margin-bottom:8px;font-style:italic}.fea-card-stats{display:flex;flex-direction:column;gap:3px;margin-bottom:8px;padding:6px;background:#00000026;border-radius:5px}.fea-stat{display:flex;justify-content:space-between;align-items:center}.fea-stat-label{font-size:9px;color:#ffffff59;font-weight:500}.fea-stat-value{font-size:10px;color:#b4d2ffd9;font-weight:600;font-variant-numeric:tabular-nums}.fea-stat-value.good{color:#5d8}.fea-stat-value.warn{color:#f94}.fea-card-analysis{font-size:10px;line-height:1.5;color:#fff9;margin-bottom:6px;padding:6px 0;border-top:1px solid rgba(80,180,255,.06)}.fea-card-bcs{font-size:8px;color:#fff3;line-height:1.4}.fea-bcs-label{color:#ffffff4d;font-weight:600}.transform-panel{display:flex;flex-direction:column;background:var(--bg-secondary);overflow:hidden}.transform-header{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);background:var(--bg-elevated);border-bottom:1px solid var(--border-default);box-shadow:inset 0 1px #ffffff08;cursor:pointer;user-select:none}.transform-header:hover{background:#ffffff08}.panel-collapse-btn{margin-left:auto;display:flex;align-items:center;justify-content:center;width:20px;height:20px;background:transparent;border:none;color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-fast)}.panel-collapse-btn:hover{color:var(--text-primary);background:#ffffff1a}.transform-object-name{font-weight:var(--font-weight-medium);text-transform:none;color:var(--accent-primary);font-size:var(--font-size-sm);max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:var(--accent-primary-dim);padding:2px var(--spacing-sm);border-radius:var(--radius-sm)}.transform-empty{padding:var(--spacing-xl) var(--spacing-lg);text-align:center;color:var(--text-muted);font-size:var(--font-size-md);line-height:1.6}.transform-section{padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--border-subtle)}.transform-section:last-child{border-bottom:none}.transform-section-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--text-muted);margin-bottom:var(--spacing-sm);text-transform:uppercase;letter-spacing:.3px;display:flex;align-items:center;gap:var(--spacing-sm)}.transform-inputs{display:flex;flex-direction:column;gap:var(--spacing-sm)}.transform-input-group{display:flex;align-items:center;gap:var(--spacing-sm)}.transform-input-label{width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);border-radius:var(--radius-sm);flex-shrink:0}.transform-input-group:nth-child(1) .transform-input-label{color:#ff6b6b;background:#ff6b6b26}.transform-input-group:nth-child(2) .transform-input-label{color:#51cf66;background:#51cf6626}.transform-input-group:nth-child(3) .transform-input-label{color:#4dabf7;background:#4dabf726}.transform-input{flex:1;padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--font-size-md);font-family:var(--font-mono);outline:none;transition:all var(--transition-fast);min-width:0}.transform-input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-primary-dim);background:var(--bg-elevated)}.transform-input:hover:not(:focus){border-color:var(--border-strong)}.transform-input::-webkit-outer-spin-button,.transform-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.transform-input[type=number]{-moz-appearance:textfield}.parametric-input{font-family:var(--font-mono)}.parametric-input.is-variable{border-color:var(--accent-primary);background:var(--accent-primary-dim);color:var(--accent-primary)}.parametric-resolved{font-size:var(--font-size-xs);color:var(--text-muted);font-family:var(--font-mono);white-space:nowrap;margin-left:var(--spacing-xs);padding:2px var(--spacing-xs);background:var(--bg-surface);border-radius:var(--radius-sm)}.param-hint{font-size:var(--font-size-xs);color:var(--text-disabled);font-weight:var(--font-weight-normal);text-transform:none;margin-left:var(--spacing-sm);font-style:italic}.transform-input-group .transform-input.parametric-input{min-width:80px}.parameter-panel{background:var(--bg-secondary);border-top:1px solid var(--border-default);display:flex;flex-direction:column;min-height:150px;max-height:300px;overflow:hidden}.parameter-header{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);background:var(--bg-elevated);border-bottom:1px solid var(--border-default);font-weight:var(--font-weight-semibold);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);box-shadow:inset 0 1px #ffffff08;cursor:pointer;user-select:none}.parameter-header:hover{background:#ffffff08}.parameter-add-btn{width:24px;height:24px;border:none;border-radius:var(--radius-md);background:linear-gradient(135deg,var(--accent-primary) 0%,var(--accent-secondary) 100%);color:var(--bg-primary);font-size:16px;font-weight:var(--font-weight-bold);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast);box-shadow:0 2px 6px var(--accent-primary-dim)}.parameter-add-btn:hover:not(:disabled){transform:scale(1.1);box-shadow:0 4px 12px var(--accent-primary-glow)}.parameter-add-btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.parameter-empty{padding:var(--spacing-lg);color:var(--text-muted);font-size:var(--font-size-sm);text-align:center}.parameter-list{flex:1;overflow-y:auto;padding:var(--spacing-sm)}.parameter-item{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:var(--spacing-sm) var(--spacing-md);margin-bottom:var(--spacing-sm);transition:all var(--transition-fast)}.parameter-item:hover{border-color:var(--accent-primary);box-shadow:0 0 0 1px var(--accent-primary-dim)}.parameter-item.has-error{border-color:var(--error);box-shadow:0 0 0 1px var(--error-dim)}.parameter-item-new{border-color:var(--accent-primary);background:var(--accent-primary-dim);animation:fadeInUp .2s ease-out}.parameter-item-row{display:flex;align-items:center;gap:var(--spacing-xs);flex-wrap:wrap}.parameter-name{font-family:var(--font-mono);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--accent-primary);min-width:60px}.parameter-name-input{font-family:var(--font-mono);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--accent-primary);background:var(--bg-primary);border:1px solid var(--border-default);border-radius:var(--radius-sm);padding:2px var(--spacing-sm);width:80px}.parameter-name-input:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 2px var(--accent-primary-dim)}.parameter-name-input.has-error{border-color:var(--error)}.parameter-equals{color:var(--text-disabled);font-family:var(--font-mono);font-size:var(--font-size-sm)}.parameter-expression{font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--text-primary);cursor:pointer;padding:2px var(--spacing-sm);border-radius:var(--radius-sm);flex:1;min-width:60px;transition:background var(--transition-fast)}.parameter-expression:hover{background:var(--bg-hover)}.parameter-expression-input{font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--text-primary);background:var(--bg-primary);border:1px solid var(--border-default);border-radius:var(--radius-sm);padding:2px var(--spacing-sm);flex:1;min-width:60px}.parameter-expression-input:focus{border-color:var(--accent-primary);outline:none;box-shadow:0 0 0 2px var(--accent-primary-dim)}.parameter-value{font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--text-muted);margin-left:auto;background:var(--bg-elevated);padding:2px var(--spacing-sm);border-radius:var(--radius-sm)}.parameter-error{font-size:var(--font-size-xs);color:var(--error);margin-top:var(--spacing-xs);padding-left:var(--spacing-xs)}.parameter-deps{font-size:var(--font-size-xs);color:var(--text-disabled);margin-top:var(--spacing-xs);padding-left:var(--spacing-xs);font-style:italic}.parameter-item-actions{display:flex;gap:var(--spacing-xs);margin-top:var(--spacing-xs);justify-content:flex-end}.parameter-btn{width:24px;height:24px;border:none;border-radius:var(--radius-sm);background:var(--bg-elevated);color:var(--text-secondary);font-size:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.parameter-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.parameter-btn-confirm{background:var(--success);color:#fff}.parameter-btn-confirm:hover{background:#0ea271;transform:scale(1.1)}.parameter-btn-confirm:disabled{opacity:.5;cursor:not-allowed;transform:none}.parameter-btn-cancel{background:var(--error);color:#fff}.parameter-btn-cancel:hover{background:#dc2626;transform:scale(1.1)}.parameter-btn-danger:hover{background:var(--error);color:#fff}.pattern-panel{display:flex;flex-direction:column;background:var(--bg-secondary);border-top:1px solid var(--border-default);overflow-y:auto}.pattern-header{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);background:var(--bg-elevated);border-bottom:1px solid var(--border-default);box-shadow:inset 0 1px #ffffff08;cursor:pointer;user-select:none}.pattern-header:hover{background:#ffffff08}.pattern-object-name{font-weight:var(--font-weight-medium);text-transform:none;color:var(--accent-primary);font-size:var(--font-size-sm);max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:var(--accent-primary-dim);padding:2px var(--spacing-sm);border-radius:var(--radius-sm)}.pattern-empty{padding:var(--spacing-xl) var(--spacing-lg);text-align:center;color:var(--text-muted);font-size:var(--font-size-md);line-height:1.6}.pattern-content{display:flex;flex-direction:column}.pattern-section{padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--border-subtle)}.pattern-section:last-child{border-bottom:none}.pattern-section-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--text-muted);margin-bottom:var(--spacing-sm);text-transform:uppercase;letter-spacing:.3px;display:block}.pattern-select{width:100%;padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--font-size-md);cursor:pointer;outline:none;transition:all var(--transition-fast)}.pattern-select:hover{border-color:var(--border-strong)}.pattern-select:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-primary-dim)}.pattern-inputs{display:flex;flex-direction:column;gap:var(--spacing-sm)}.pattern-input-group{display:flex;align-items:center;gap:var(--spacing-sm)}.pattern-input-label{width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:var(--text-muted);background:var(--bg-surface);border-radius:var(--radius-sm);flex-shrink:0}.pattern-input{flex:1;padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--font-size-md);font-family:var(--font-mono);outline:none;transition:all var(--transition-fast)}.pattern-input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-primary-dim);background:var(--bg-elevated)}.pattern-input:hover:not(:focus){border-color:var(--border-strong)}.pattern-input::-webkit-outer-spin-button,.pattern-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.pattern-input[type=number]{-moz-appearance:textfield}.pattern-apply-btn{width:100%;padding:var(--spacing-md) var(--spacing-lg);background:linear-gradient(135deg,var(--accent-primary) 0%,var(--accent-secondary) 100%);border:none;border-radius:var(--radius-md);color:var(--bg-primary);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--transition-fast);box-shadow:0 2px 8px var(--accent-primary-dim)}.pattern-apply-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 16px var(--accent-primary-glow)}.pattern-apply-btn:active:not(:disabled){transform:translateY(0)}.pattern-apply-btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.archscript-panel{--archscript-editor-bg: #090d13;--archscript-editor-fg: #e2e8f0;--archscript-editor-border: var(--border-default);--archscript-editor-selection: rgba(59, 130, 246, .28)}[data-theme=light] .archscript-panel{--archscript-editor-bg: #f8fafc;--archscript-editor-fg: #0f172a;--archscript-editor-border: rgba(15, 23, 42, .14);--archscript-editor-selection: rgba(37, 99, 235, .18)}.archscript-panel{background:var(--bg-secondary);border-top:1px solid var(--border-default);display:flex;flex-direction:column;min-height:44px;max-height:520px;overflow:hidden}.archscript-header{display:flex;align-items:center;gap:var(--spacing-sm);min-height:42px;padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-elevated);border-bottom:1px solid var(--border-default);color:var(--text-muted);cursor:pointer;user-select:none}.archscript-header>span:first-of-type{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.5px}.archscript-header:hover{background:var(--bg-hover)}.archscript-status{margin-left:auto;display:inline-flex;align-items:center;gap:var(--spacing-xs);max-width:128px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:var(--font-size-xs);color:var(--text-disabled);text-transform:none;letter-spacing:0}.archscript-status-success{color:var(--success)}.archscript-status-error{color:var(--error)}.archscript-collapse-btn{width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);color:var(--text-muted)}.archscript-collapse-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.archscript-body{display:flex;flex-direction:column;gap:var(--spacing-sm);min-height:0;padding:var(--spacing-sm)}.archscript-actions{display:grid;grid-template-columns:minmax(0,1fr) auto auto 32px;gap:var(--spacing-xs);align-items:center}.archscript-example-select{height:30px;min-width:0;padding:0 var(--spacing-sm);font-size:var(--font-size-sm)}.archscript-btn{height:30px;display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-xs);padding:0 var(--spacing-sm);border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-surface);color:var(--text-secondary);font-size:var(--font-size-sm)}.archscript-btn:hover:not(:disabled){border-color:var(--border-strong);color:var(--text-primary);background:var(--bg-hover)}.archscript-btn-run{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff;font-weight:var(--font-weight-semibold)}.archscript-btn-run:hover:not(:disabled){background:var(--accent-secondary);border-color:var(--accent-secondary)}.archscript-auto-toggle{height:30px;display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-xs);padding:0 var(--spacing-sm);border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-surface);color:var(--text-secondary);font-size:var(--font-size-sm);white-space:nowrap;cursor:pointer}.archscript-auto-toggle:hover{border-color:var(--border-strong);color:var(--text-primary);background:var(--bg-hover)}.archscript-auto-toggle input{width:14px;height:14px;margin:0;accent-color:var(--accent-primary)}.archscript-editor{width:100%;min-height:230px;max-height:320px;resize:vertical;padding:var(--spacing-sm);border:1px solid var(--archscript-editor-border);border-radius:var(--radius-md);background:var(--archscript-editor-bg);color:var(--archscript-editor-fg);caret-color:var(--accent-primary);font-family:var(--font-mono);font-size:11px;line-height:1.5;tab-size:2}.archscript-editor::selection{background:var(--archscript-editor-selection)}.archscript-editor:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 2px var(--accent-primary-dim)}.archscript-footer{display:flex;gap:var(--spacing-sm);color:var(--text-disabled);font-size:var(--font-size-xs);font-family:var(--font-mono)}.archscript-diagnostics{display:flex;flex-direction:column;gap:var(--spacing-xs);max-height:110px;overflow-y:auto}.archscript-diagnostic{display:grid;grid-template-columns:52px minmax(0,1fr);gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);background:var(--bg-surface);border:1px solid var(--border-default);font-size:var(--font-size-xs)}.archscript-diagnostic span{color:var(--text-disabled);font-family:var(--font-mono)}.archscript-diagnostic p{min-width:0;color:var(--text-secondary)}.archscript-diagnostic-error{border-color:#ef444452;background:var(--error-dim)}.archscript-diagnostic-error p{color:#fecaca}.archscript-diagnostic-warning{border-color:#f59e0b47;background:var(--warning-dim)}.archscript-diagnostic-warning p{color:#fde68a}.loading-overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:var(--bg-void);z-index:1000;animation:fadeIn .3s ease-out}.loading-overlay:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 60% 40% at 50% 40%,rgba(0,217,255,.08) 0%,transparent 60%),radial-gradient(ellipse 80% 60% at 30% 70%,rgba(168,85,247,.05) 0%,transparent 50%);animation:pulse 4s ease-in-out infinite}.loading-content{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xl);padding:var(--spacing-2xl);position:relative;z-index:1;animation:fadeInUp .5s ease-out .2s backwards}.loading-spinner{position:relative;width:100px;height:100px}.spinner-ring{position:absolute;inset:0;border:2px solid transparent;border-radius:50%}.spinner-ring:nth-child(1){border-top-color:var(--accent-primary);border-right-color:#00d9ff4d;animation:spinSlow 2s linear infinite;filter:drop-shadow(0 0 8px var(--accent-primary-glow))}.spinner-ring:nth-child(2){inset:12px;border-left-color:var(--accent-sketch);border-bottom-color:#a855f74d;animation:spinFast 1.5s linear infinite reverse;filter:drop-shadow(0 0 6px var(--accent-sketch-dim))}.spinner-ring:nth-child(3){inset:24px;border-top-color:var(--success);border-right-color:#10b9814d;animation:spinSlow 2.5s linear infinite;filter:drop-shadow(0 0 4px var(--success-dim))}.loading-spinner:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:12px;height:12px;background:var(--accent-primary);border-radius:50%;animation:glow 2s ease-in-out infinite;box-shadow:0 0 20px var(--accent-primary-glow)}@keyframes spinSlow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes spinFast{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--text-primary);letter-spacing:-.5px;text-align:center;background:linear-gradient(135deg,var(--text-primary) 0%,var(--accent-primary) 50%,var(--text-primary) 100%);background-size:200% auto;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:shimmer 3s ease-in-out infinite}.loading-subtitle{font-size:var(--font-size-md);color:var(--text-muted);font-family:var(--font-mono);text-align:center;animation:pulse 2s ease-in-out infinite}.loading-error-icon{font-size:56px;filter:drop-shadow(0 0 20px var(--error-dim))}.loading-error{font-size:var(--font-size-md);color:var(--error);text-align:center;max-width:320px;line-height:1.6;background:var(--error-dim);padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius-lg);border:1px solid rgba(239,68,68,.3)}.loading-retry{margin-top:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-xl);background:linear-gradient(135deg,var(--accent-primary) 0%,var(--accent-secondary) 100%);border:none;border-radius:var(--radius-lg);color:var(--bg-primary);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--transition-fast);box-shadow:0 4px 16px var(--accent-primary-dim)}.loading-retry:hover{transform:translateY(-2px);box-shadow:0 8px 24px var(--accent-primary-glow)}.loading-retry:active{transform:translateY(0)}.loading-overlay.fade-out{animation:fadeOut .4s ease-out forwards}@keyframes fadeOut{0%{opacity:1}to{opacity:0;visibility:hidden}}.extrude-panel-backdrop{position:fixed;inset:0;background:transparent;pointer-events:none;display:flex;align-items:flex-start;justify-content:flex-end;padding:80px 20px 20px;z-index:9999;animation:fadeIn .2s ease-out}.extrude-panel{background:#0f1219f2;border-radius:var(--radius-xl);border:1px solid var(--accent-sketch);box-shadow:var(--shadow-xl),0 0 60px var(--accent-sketch-dim);width:340px;max-width:90vw;overflow:hidden;animation:fadeInUp .3s ease-out;pointer-events:auto}.ep-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-lg) var(--spacing-xl);border-bottom:1px solid var(--border-default);background:var(--bg-elevated)}.ep-header h3{margin:0;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.ep-close{width:28px;height:28px;border-radius:var(--radius-md);background:var(--bg-surface);border:1px solid var(--border-default);color:var(--text-muted);cursor:pointer;font-size:14px;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center}.ep-close:hover{background:var(--error-dim);border-color:var(--error);color:var(--error)}.ep-content{padding:var(--spacing-xl);display:flex;flex-direction:column;gap:var(--spacing-lg)}.ep-section{display:flex;flex-direction:column;gap:var(--spacing-sm)}.ep-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.ep-sketch-info{display:flex;align-items:center;justify-content:space-between}.ep-sketch-name{font-weight:var(--font-weight-medium);color:var(--text-primary)}.ep-status{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-full)}.ep-status.closed{background:var(--success-dim);color:var(--success);border:1px solid rgba(16,185,129,.3)}.ep-status.open{background:var(--error-dim);color:var(--error);border:1px solid rgba(239,68,68,.3)}.ep-input{padding:var(--spacing-md);background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--font-size-md);font-family:var(--font-mono);transition:all var(--transition-fast)}.ep-input:focus{outline:none;border-color:var(--accent-sketch);box-shadow:0 0 0 3px var(--accent-sketch-dim)}.ep-direction-btns{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-sm)}.ep-dir-btn{padding:var(--spacing-sm) var(--spacing-xs);background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast)}.ep-dir-btn:hover{background:var(--bg-hover);border-color:var(--border-strong)}.ep-dir-btn.active{background:var(--accent-sketch-dim);border-color:var(--accent-sketch);color:var(--accent-sketch)}.ep-op-btns{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-sm)}.ep-op-btn{padding:var(--spacing-md);border-radius:var(--radius-md);font-size:var(--font-size-md);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast)}.ep-op-btn.merge{background:var(--accent-sketch-dim);border:1px solid rgba(96,165,250,.35);color:var(--accent-sketch)}.ep-op-btn.merge:hover{background:#60a5fa33}.ep-op-btn.merge.active{background:#60a5fa47;border-color:var(--accent-sketch);box-shadow:0 0 12px var(--accent-sketch-dim)}.ep-op-btn.add{background:var(--success-dim);border:1px solid rgba(16,185,129,.3);color:var(--success)}.ep-op-btn.add:hover{background:#10b98140}.ep-op-btn.add.active{background:#10b9814d;border-color:var(--success);box-shadow:0 0 12px var(--success-dim)}.ep-op-btn.cut{background:var(--error-dim);border:1px solid rgba(239,68,68,.3);color:var(--error)}.ep-op-btn.cut:hover{background:#ef444440}.ep-op-btn.cut.active{background:#ef44444d;border-color:var(--error);box-shadow:0 0 12px var(--error-dim)}.ep-select{padding:var(--spacing-md);background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--font-size-md);cursor:pointer;transition:all var(--transition-fast)}.ep-select:focus{outline:none;border-color:var(--accent-sketch);box-shadow:0 0 0 3px var(--accent-sketch-dim)}.ep-error{padding:var(--spacing-md);background:var(--error-dim);border:1px solid rgba(239,68,68,.3);border-radius:var(--radius-md);color:var(--error);font-size:var(--font-size-md)}.ep-actions{display:flex;gap:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--border-default)}.ep-btn{flex:1;padding:var(--spacing-md);border-radius:var(--radius-md);font-size:var(--font-size-md);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast)}.ep-btn.cancel{background:var(--bg-surface);border:1px solid var(--border-default);color:var(--text-secondary)}.ep-btn.cancel:hover{background:var(--bg-hover);border-color:var(--border-strong);color:var(--text-primary)}.ep-btn.confirm{background:linear-gradient(135deg,var(--accent-primary) 0%,var(--accent-secondary) 100%);border:none;color:var(--bg-primary);box-shadow:0 2px 8px var(--accent-primary-dim)}.ep-btn.confirm:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 16px var(--accent-primary-glow)}.ep-btn.confirm:disabled{opacity:.4;cursor:not-allowed;transform:none}.ep-body-list{max-height:150px;overflow-y:auto;background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:var(--spacing-sm)}.ep-body-item{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition-fast)}.ep-body-item:hover{background:var(--bg-hover)}.ep-body-item input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent-sketch);cursor:pointer}.ep-body-name{font-size:var(--font-size-md);color:var(--text-primary)}.ep-no-bodies{padding:var(--spacing-md);text-align:center;color:var(--text-muted);font-size:var(--font-size-sm)}.sketch-toolbar{position:absolute;top:16px;left:16px;width:200px;max-height:calc(100vh - 120px);overflow-y:auto;background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border-radius:var(--radius-xl);border:1px solid var(--accent-sketch);box-shadow:var(--shadow-xl),0 0 30px var(--accent-sketch-dim),inset 0 1px #ffffff0d;padding:var(--spacing-md);z-index:100;display:flex;flex-direction:column;gap:var(--spacing-md);animation:fadeInUp .2s ease-out}.sketch-toolbar-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--border-default)}.sketch-name{font-weight:var(--font-weight-semibold);font-size:var(--font-size-md);color:var(--text-primary)}.workplane-badge{background:var(--accent-sketch-dim);color:var(--accent-sketch);padding:2px var(--spacing-sm);border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);border:1px solid rgba(168,85,247,.3)}.sketch-toolbar-section{display:flex;flex-direction:column;gap:var(--spacing-sm)}.section-label{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-weight:var(--font-weight-medium)}.tool-group{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-xs)}.sketch-tool-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-sm) var(--spacing-xs);background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}.sketch-tool-btn:hover{background:var(--bg-hover);border-color:var(--border-strong);color:var(--text-primary);transform:translateY(-1px)}.sketch-tool-btn.active{background:var(--accent-sketch-dim);border-color:var(--accent-sketch);color:var(--accent-sketch);box-shadow:0 0 12px var(--accent-sketch-dim)}.tool-icon{font-size:18px;line-height:1}.tool-label{font-size:var(--font-size-xs);margin-top:2px;font-weight:var(--font-weight-medium)}.drawing-status{background:var(--success-dim);color:var(--success);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);font-size:var(--font-size-sm);text-align:center;font-weight:var(--font-weight-medium);border:1px solid rgba(16,185,129,.3);animation:pulse 2s ease-in-out infinite}.checkbox-option{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--text-secondary);cursor:pointer;padding:var(--spacing-xs) 0}.checkbox-option:hover{color:var(--text-primary)}.checkbox-option input{accent-color:var(--accent-sketch);width:14px;height:14px}.grid-size-input{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--text-secondary)}.grid-size-input input{width:60px;padding:var(--spacing-xs) var(--spacing-sm);background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--font-size-sm);font-family:var(--font-mono)}.grid-size-input input:focus{outline:none;border-color:var(--accent-sketch);box-shadow:0 0 0 2px var(--accent-sketch-dim)}.coord-input-form{display:flex;flex-direction:column;gap:var(--spacing-sm)}.coord-inputs{display:flex;align-items:center;gap:var(--spacing-xs)}.coord-field{flex:1;padding:var(--spacing-sm);background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--font-size-sm);font-family:var(--font-mono)}.coord-field:focus{outline:none;border-color:var(--accent-sketch);box-shadow:0 0 0 2px var(--accent-sketch-dim)}.coord-separator{color:var(--text-disabled);font-weight:var(--font-weight-bold)}.coord-submit{padding:var(--spacing-sm) var(--spacing-md);background:var(--accent-sketch-dim);border:1px solid rgba(168,85,247,.3);border-radius:var(--radius-sm);color:var(--accent-sketch);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast)}.coord-submit:hover{background:#a855f740;border-color:var(--accent-sketch)}.coord-disabled{font-size:var(--font-size-xs);color:var(--text-disabled);font-style:italic;text-align:center}.action-btn{width:100%;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast)}.view-btn{background:var(--bg-surface);border:1px solid var(--border-default);color:var(--text-primary)}.view-btn:hover{background:var(--bg-hover);border-color:var(--border-strong)}.delete-btn{background:var(--error-dim);border:1px solid rgba(239,68,68,.3);color:var(--error)}.delete-btn:hover:not(:disabled){background:#ef444440;border-color:var(--error)}.delete-btn:disabled{opacity:.4;cursor:not-allowed}.exit-btn{background:var(--success-dim);border:1px solid rgba(16,185,129,.3);color:var(--success)}.exit-btn:hover{background:#10b98140;border-color:var(--success)}.extrude-btn{background:linear-gradient(135deg,var(--accent-sketch-dim) 0%,rgba(168,85,247,.1) 100%);border:1px solid rgba(168,85,247,.4);color:#c084fc}.extrude-btn:hover:not(:disabled){background:linear-gradient(135deg,#a855f74d,#a855f733);border-color:var(--accent-sketch);box-shadow:0 0 16px var(--accent-sketch-dim)}.extrude-btn:disabled{opacity:.4;cursor:not-allowed}.sketch-stats{text-align:center;font-size:var(--font-size-xs);color:var(--text-disabled);padding-top:var(--spacing-sm);border-top:1px solid var(--border-subtle);font-family:var(--font-mono)}.sketch-panel{background:var(--bg-surface);border-radius:var(--radius-lg);border:1px solid var(--border-default);padding:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-md)}.sketch-panel-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--border-default)}.panel-title{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.status-badge{font-size:var(--font-size-xs);font-family:var(--font-mono);padding:2px 8px;border-radius:var(--radius-md)}.status-green{background:var(--success-dim);color:var(--success)}.status-blue{background:var(--accent-primary-dim);color:var(--accent-primary)}.status-red{background:var(--error-dim);color:var(--error)}.sketch-panel-section{display:flex;flex-direction:column;gap:var(--spacing-sm)}.section-header{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted)}.no-selection{font-size:var(--font-size-sm);color:var(--text-muted);font-style:italic}.entity-info{display:flex;flex-direction:column;gap:var(--spacing-xs)}.entity-type{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--accent-sketch)}.entity-prop{display:flex;justify-content:space-between;font-size:var(--font-size-xs)}.prop-label{color:var(--text-muted)}.prop-value{font-family:var(--font-mono);color:var(--text-secondary)}.constraint-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-xs)}.constraint-btn-large{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-sm);background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);min-height:50px}.constraint-btn-large:hover:not(:disabled){background:var(--bg-hover);border-color:var(--accent-primary)}.constraint-btn-large:active:not(:disabled){transform:scale(.96)}.constraint-btn-large:disabled{opacity:.4;cursor:not-allowed}.constraint-btn-large .btn-icon{font-size:var(--font-size-lg);line-height:1;color:var(--text-primary)}.constraint-btn-large .btn-label{font-size:9px;font-weight:var(--font-weight-medium);color:var(--text-secondary);margin-top:2px}.dimension-input-row{display:flex;gap:var(--spacing-xs)}.dimension-input{flex:1;font-family:var(--font-mono);font-size:var(--font-size-md);padding:var(--spacing-sm);background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-primary)}.dimension-input:focus{border-color:var(--accent-primary);outline:none}.dimension-buttons{display:flex;gap:var(--spacing-xs)}.dimension-btn{flex:1;padding:var(--spacing-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);color:var(--text-secondary)}.dimension-btn:hover:not(:disabled){background:var(--accent-primary-dim);border-color:var(--accent-primary);color:var(--accent-primary)}.dimension-btn:disabled{opacity:.4;cursor:not-allowed}.constraint-list{display:flex;flex-direction:column;gap:2px;max-height:120px;overflow-y:auto}.no-constraints{font-size:var(--font-size-xs);color:var(--text-muted);font-style:italic}.constraint-item{font-size:var(--font-size-xs);padding:2px 6px;background:var(--bg-elevated);border-radius:var(--radius-sm);color:var(--text-secondary);text-transform:capitalize}.more-constraints{font-size:var(--font-size-xs);color:var(--text-muted);font-style:italic;padding:2px 6px}.language-selector{display:flex;flex-direction:column;gap:8px}.language-selector.compact{gap:6px}.language-selector-label{font-size:10px;font-weight:600;color:var(--text-secondary);letter-spacing:.04em;text-transform:uppercase}.language-selector-options{display:flex;flex-wrap:wrap;gap:6px}.language-selector-option{min-width:72px;padding:6px 10px;background:var(--bg-tertiary);border:1px solid var(--border-default);border-radius:999px;color:var(--text-secondary);font-size:11px;cursor:pointer;transition:all .15s ease}.language-selector-option:hover{color:var(--text-primary);background:var(--bg-hover);border-color:var(--border-subtle)}.language-selector-option.active{color:var(--accent-primary);background:var(--accent-primary-dim);border-color:var(--accent-primary-dim);box-shadow:0 0 12px #06b6d426}.signin-modal-overlay{position:fixed;inset:0;background:#03060e99;display:flex;align-items:center;justify-content:center;z-index:2000}.signin-modal{width:min(360px,90vw);background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:20px;box-shadow:var(--shadow-lg);text-align:center}.signin-modal-language{margin-bottom:14px;text-align:left}.signin-modal-title{font-size:var(--font-size-md);font-weight:600;color:var(--text-primary);margin-bottom:8px}.signin-modal-message{font-size:var(--font-size-sm);color:var(--text-muted);margin:0 0 12px}.signin-modal-input{width:100%;padding:10px 12px;background:var(--bg-tertiary);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--font-size-sm);margin-bottom:10px}.signin-modal-input:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px #00d9ff26}.signin-modal-error{margin-top:8px;font-size:var(--font-size-xs);color:#fca5a5}.signin-modal-toggle{display:flex;justify-content:center;gap:6px;font-size:var(--font-size-xs);color:var(--text-muted);margin-top:4px}.signin-modal-forgot{display:flex;justify-content:flex-end;margin-top:4px}.signin-modal-link{background:none;border:none;color:#93c5fd;cursor:pointer;font-size:var(--font-size-xs);padding:0}.signin-modal-link:hover{color:#bfdbfe}.signin-modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.signin-modal-btn{padding:6px 12px;background:transparent;border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--font-size-xs);cursor:pointer;transition:all var(--transition-fast)}.signin-modal-btn:hover:not(:disabled){color:var(--text-primary);background:var(--bg-hover);border-color:var(--border-subtle)}.signin-modal-btn.primary{background:#2563eb;border-color:#2563eb66;color:#fff}.signin-modal-btn.primary:hover:not(:disabled){background:#1d4ed8}.signin-modal-btn:disabled{opacity:.6;cursor:not-allowed}.signin-modal-wide{width:min(480px,90vw)}.signin-terms-container{max-height:280px;overflow-y:auto;background:var(--bg-tertiary);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:16px;margin:12px 0;text-align:left}.signin-terms-container::-webkit-scrollbar{width:8px}.signin-terms-container::-webkit-scrollbar-track{background:var(--bg-tertiary);border-radius:4px}.signin-terms-container::-webkit-scrollbar-thumb{background:var(--border-default);border-radius:4px}.signin-terms-container::-webkit-scrollbar-thumb:hover{background:var(--border-subtle)}.signin-terms-content h1{font-size:var(--font-size-md);font-weight:600;color:var(--text-primary);margin:0 0 12px}.signin-terms-content h2{font-size:var(--font-size-sm);font-weight:600;color:var(--text-primary);margin:16px 0 8px}.signin-terms-content p{font-size:var(--font-size-xs);color:var(--text-muted);margin:4px 0;line-height:1.5}.signin-terms-content li{font-size:var(--font-size-xs);color:var(--text-muted);margin:2px 0 2px 16px;line-height:1.5}.signin-terms-content hr{border:none;border-top:1px solid var(--border-default);margin:16px 0}.signin-scroll-hint{font-size:var(--font-size-xs);color:#fbbf24;text-align:center;margin:0;animation:bounce-hint 1s ease-in-out infinite}.signin-terms-note{margin:0 0 10px;font-size:var(--font-size-xs);color:var(--text-muted);text-align:left}@keyframes bounce-hint{0%,to{transform:translateY(0)}50%{transform:translateY(3px)}}.signin-terms-checkbox{display:flex;align-items:center;gap:8px;font-size:var(--font-size-xs);color:var(--text-secondary);margin:12px 0;cursor:pointer;user-select:none}.signin-terms-checkbox.disabled{opacity:.5;cursor:not-allowed}.signin-terms-checkbox input[type=checkbox]{width:16px;height:16px;accent-color:#2563eb;cursor:inherit}.signin-terms-checkbox span{flex:1}.chat-panel-toggle{position:fixed;right:20px;bottom:20px;display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);background:linear-gradient(135deg,#2563eb,#3b82f6);color:#fff;border:none;border-radius:var(--radius-xl);cursor:pointer;font-weight:var(--font-weight-semibold);box-shadow:0 4px 20px #3b82f666,0 0 40px #3b82f626;transition:all var(--transition-normal);z-index:100}.chat-panel-toggle:hover{transform:translateY(-2px);box-shadow:0 6px 30px #3b82f680,0 0 60px #3b82f640}.chat-panel{position:fixed;right:20px;bottom:20px;width:266px;height:500px;background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:var(--radius-lg);display:flex;flex-direction:column;box-shadow:var(--shadow-lg);z-index:100;overflow:hidden}.chat-panel-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg);background:var(--bg-surface);border-bottom:1px solid var(--border-default)}.chat-panel-title{display:flex;align-items:center;gap:var(--spacing-sm);font-weight:var(--font-weight-semibold);color:#3b82f6}.chat-panel-actions{display:flex;gap:var(--spacing-xs)}.chat-panel-settings-wrap{position:relative}.chat-panel-btn{background:transparent;border:none;color:var(--text-muted);padding:var(--spacing-xs);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast)}.chat-panel-btn:hover{color:var(--text-primary);background:var(--bg-surface)}.chat-panel-btn.active{color:#bfdbfe;background:#3b82f629}.chat-panel-settings-popover{position:absolute;top:30px;right:0;width:190px;padding:10px;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-secondary);box-shadow:var(--shadow-lg);z-index:2}.chat-panel-settings-title{margin-bottom:8px;color:var(--text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.04em}.chat-panel-setting-row{display:flex;width:100%;align-items:center;justify-content:space-between;gap:10px;padding:8px 9px;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-surface);color:var(--text-secondary);cursor:pointer;font-size:var(--font-size-xs);text-align:left}.chat-panel-setting-row.active{border-color:#3b82f680;background:#3b82f624;color:#dbeafe}.chat-panel-setting-row strong{color:#93c5fd;font-size:var(--font-size-xs)}.chat-panel-credits{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-md);background:var(--bg-tertiary);border-bottom:1px solid var(--border-default);color:var(--text-muted);font-size:var(--font-size-xs)}.chat-panel-upgrade-btn{padding:4px 10px;background:#2563eb;border:1px solid rgba(37,99,235,.4);border-radius:var(--radius-md);color:#fff;cursor:pointer;font-size:var(--font-size-xs);transition:all var(--transition-fast)}.chat-panel-upgrade-btn:hover:not(:disabled){background:#1d4ed8}.chat-panel-upgrade-btn:disabled{opacity:.5;cursor:not-allowed}.chat-panel-messages{flex:1;overflow-y:auto;padding:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-md)}.chat-panel-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center;color:var(--text-muted);gap:var(--spacing-md)}.chat-panel-empty p{margin:0;font-size:var(--font-size-base)}.chat-panel-examples{display:flex;flex-direction:column;gap:var(--spacing-xs);width:100%;margin-top:var(--spacing-md)}.chat-panel-examples button{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;font-size:var(--font-size-sm);text-align:left;transition:all var(--transition-fast)}.chat-panel-examples button:hover{background:var(--bg-tertiary);color:var(--text-primary);border-color:var(--accent-primary)}.chat-message{max-width:85%;min-width:0;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);font-size:var(--font-size-sm);line-height:1.5}.chat-message-user{align-self:flex-end;background:var(--accent-primary);color:var(--text-inverse);border-bottom-right-radius:var(--radius-xs)}.chat-message-assistant{align-self:flex-start;background:var(--bg-surface);color:var(--text-primary);border:1px solid var(--border-subtle);border-bottom-left-radius:var(--radius-xs)}.chat-message-loading{align-self:flex-start;display:flex;align-items:center;gap:var(--spacing-sm);background:var(--bg-surface);color:var(--text-muted);border:1px solid var(--border-subtle)}.chat-message-content{white-space:pre-wrap;word-wrap:break-word}.chat-archscript-card{display:flex;flex-direction:column;gap:8px;margin-top:var(--spacing-sm);padding:10px;border:1px solid rgba(96,165,250,.32);border-radius:var(--radius-sm);background:#0f172a57}.chat-archscript-card.has-errors{border-color:#f59e0b6b;background:#f59e0b14}.chat-archscript-card-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.chat-archscript-title,.chat-archscript-status{display:inline-flex;align-items:center;gap:5px;min-width:0;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.chat-archscript-title{color:#bfdbfe}.chat-archscript-status{color:var(--text-muted);white-space:nowrap}.chat-archscript-preview{max-height:128px;margin:0;padding:8px;overflow:auto;border:1px solid rgba(148,163,184,.22);border-radius:var(--radius-xs);background:#02061757;color:var(--text-secondary);font-family:var(--font-mono);font-size:11px;line-height:1.45;white-space:pre}.chat-archscript-diagnostic{color:#fbbf24;font-size:var(--font-size-xs);line-height:1.35}.chat-archscript-use{display:inline-flex;align-items:center;justify-content:center;gap:6px;align-self:flex-start;min-height:28px;max-width:100%;padding:0 10px;border:1px solid rgba(96,165,250,.42);border-radius:var(--radius-sm);background:#2563eb2e;color:#dbeafe;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.chat-archscript-use:hover{background:#2563eb47;border-color:#93c5fd94;color:#eff6ff}.chat-message-ops{display:flex;flex-wrap:wrap;gap:var(--spacing-xs);min-width:0;max-width:100%;margin-top:var(--spacing-sm);padding-top:var(--spacing-sm);border-top:1px solid var(--border-subtle)}.chat-op-badge{display:inline-flex;max-width:100%;min-width:0;padding:2px 8px;background:#3b82f626;color:#3b82f6;border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-family:var(--font-mono);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-message-attention-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:var(--spacing-sm)}.chat-receipt-show{display:inline-flex;align-items:center;gap:5px;height:24px;padding:0 8px;border:1px solid rgba(96,165,250,.34);border-radius:var(--radius-sm);background:#2563eb24;color:#bfdbfe;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.chat-receipt-show:hover{background:#2563eb3d;border-color:#93c5fd8c;color:#eff6ff}.chat-receipt-show.issue{border-color:#f59e0b66;background:#f59e0b1f;color:#fde68a}.chat-message-error{display:flex;align-items:center;gap:var(--spacing-xs);margin-top:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-sm);background:#ff6b9d1a;color:var(--accent-secondary);border-radius:var(--radius-sm);font-size:var(--font-size-xs)}.chat-message-error span{white-space:pre-wrap}.chat-panel-input{display:flex;gap:var(--spacing-sm);padding:var(--spacing-md);background:var(--bg-surface);border-top:1px solid var(--border-default)}.chat-panel-input input{flex:1;background:var(--bg-tertiary);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:var(--spacing-sm) var(--spacing-md);color:var(--text-primary);font-size:var(--font-size-sm);transition:border-color var(--transition-fast)}.chat-panel-input input:focus{outline:none;border-color:var(--accent-primary)}.chat-panel-input input::placeholder{color:var(--text-muted)}.chat-send-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:#3b82f6;border:none;border-radius:var(--radius-md);color:#fff;cursor:pointer;transition:all var(--transition-fast)}.chat-send-btn:hover:not(:disabled){background:#2563eb;transform:scale(1.05)}.chat-send-btn:disabled{opacity:.5;cursor:not-allowed}.admin-access-overlay{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:20px;background:#020617b8;backdrop-filter:blur(6px)}.admin-access-modal{width:min(860px,100%);max-height:min(80vh,920px);overflow:hidden;display:flex;flex-direction:column;border-radius:18px;border:1px solid rgba(148,163,184,.2);background:radial-gradient(circle at top left,rgba(56,189,248,.12),transparent 28%),linear-gradient(160deg,#0f172afa,#111827fa);box-shadow:0 28px 80px #02061799;color:#e2e8f0}.admin-access-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:24px 24px 18px;border-bottom:1px solid rgba(148,163,184,.14)}.admin-access-header h3{margin:0 0 6px;font-size:22px;color:#f8fafc}.admin-access-header p{margin:0;font-size:14px;color:#e2e8f0b8}.admin-access-close,.admin-access-refresh,.admin-access-btn{border:1px solid transparent;border-radius:10px;cursor:pointer;transition:transform .15s ease,opacity .15s ease,box-shadow .15s ease}.admin-access-close,.admin-access-refresh{padding:10px 14px;background:#1e293beb;color:#dbeafe;border-color:#94a3b82e}.admin-access-body{overflow:auto;padding:18px 24px 24px}.admin-access-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.admin-access-panel{padding:16px;border-radius:14px;border:1px solid rgba(148,163,184,.16);background:#0f172abd}.admin-access-direct-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1.3fr) minmax(180px,1fr);gap:12px;margin-top:12px}.admin-access-field{display:flex;flex-direction:column;gap:8px}.admin-access-field label{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#bfdbfed1}.admin-access-field input,.admin-access-field select{padding:11px 12px;border-radius:10px;border:1px solid rgba(148,163,184,.16);background:#1e293beb;color:#f8fafc}.admin-access-field input::placeholder{color:#e2e8f061}.admin-access-field input:focus,.admin-access-field select:focus{outline:none;border-color:#38bdf8b3;box-shadow:0 0 0 3px #38bdf829}.admin-access-helper{font-size:12px;line-height:1.5;color:#bfdbfec2}.admin-access-helper.warning{color:#fdba74}.admin-access-count{font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#7dd3fc}.admin-access-section+.admin-access-section{margin-top:22px}.admin-access-section-title{margin-bottom:12px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#bfdbfed1}.admin-access-card{padding:16px;border-radius:14px;border:1px solid rgba(148,163,184,.16);background:#0f172abd}.admin-access-card+.admin-access-card{margin-top:12px}.admin-access-card.muted{opacity:.82}.admin-access-card-top,.admin-access-footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.admin-access-email{font-size:15px;font-weight:700;color:#f8fafc}.admin-access-meta,.admin-access-footer,.admin-access-note{font-size:12px;color:#e2e8f0ad}.admin-access-note,.admin-access-use-case{margin-top:10px}.admin-access-use-case{font-size:13px;line-height:1.5;color:#dbeafe}.admin-access-warning{margin-top:10px;padding:10px 12px;border-radius:12px;font-size:12px;line-height:1.5;color:#fde68a;background:#f59e0b24;border:1px solid rgba(245,158,11,.24)}.admin-access-status{padding:4px 10px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.admin-access-status.pending{color:#fbbf24;background:#f59e0b1f}.admin-access-status.approved{color:#34d399;background:#34d3991f}.admin-access-status.rejected{color:#fda4af;background:#f43f5e1f}.admin-access-actions{display:flex;gap:10px}.admin-access-btn{padding:9px 12px;font-size:12px;font-weight:700}.admin-access-btn.approve{color:#082f49;background:linear-gradient(135deg,#7dd3fc,#38bdf8)}.admin-access-btn.trust{color:#dcfce7;background:#16a34a2e;border-color:#22c55e42}.admin-access-btn.reject{color:#fecaca;background:#7f1d1d57;border-color:#f8717138}.admin-access-empty,.admin-access-error{margin:24px;padding:18px;border-radius:14px;font-size:14px;line-height:1.6}.admin-access-empty{background:#1e293b8f;border:1px solid rgba(148,163,184,.14)}.admin-access-empty.compact{margin:0}.admin-access-error{background:#7f1d1d52;border:1px solid rgba(248,113,113,.22);color:#fecaca}.admin-access-close:hover,.admin-access-refresh:hover,.admin-access-btn:hover:not(:disabled){transform:translateY(-1px)}.admin-access-btn:disabled{opacity:.55;cursor:not-allowed}@media(max-width:720px){.admin-access-header,.admin-access-card-top,.admin-access-footer,.admin-access-toolbar{flex-direction:column;align-items:stretch}.admin-access-direct-grid{grid-template-columns:1fr}.admin-access-actions{width:100%;flex-direction:column}.admin-access-btn,.admin-access-close,.admin-access-refresh{width:100%}}.bug-report-overlay{position:fixed;inset:0;background:#0009;backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:10000;animation:bugReportFadeIn .15s ease-out}@keyframes bugReportFadeIn{0%{opacity:0}to{opacity:1}}.bug-report-modal{background:linear-gradient(135deg,#1e1e2e,#252535);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:32px;max-width:480px;width:90%;box-shadow:0 20px 60px #00000080;animation:bugReportSlideUp .2s ease-out}@keyframes bugReportSlideUp{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.bug-report-icon{width:56px;height:56px;margin:0 auto 16px;color:#ef4444;background:#ef444426;border-radius:50%;display:flex;align-items:center;justify-content:center}.bug-report-icon.success{color:#10b981;background:#10b98126}.bug-report-icon svg{width:28px;height:28px}.bug-report-title{margin:0 0 8px;font-size:20px;font-weight:600;color:#fff;text-align:center}.bug-report-message{margin:0 0 24px;font-size:14px;color:#fff9;line-height:1.5;text-align:center}.bug-report-form{display:flex;flex-direction:column;gap:16px;margin-bottom:24px}.bug-report-field{display:flex;flex-direction:column;gap:6px}.bug-report-field label{font-size:12px;font-weight:500;color:#ffffffb3;text-transform:uppercase;letter-spacing:.5px}.bug-report-field input,.bug-report-field textarea{width:100%;padding:12px 14px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#fff;font-size:14px;font-family:inherit;transition:all .2s;resize:vertical}.bug-report-field input:focus,.bug-report-field textarea:focus{outline:none;border-color:#f59e0b;background:#ffffff14;box-shadow:0 0 0 3px #f59e0b26}.bug-report-field input::placeholder,.bug-report-field textarea::placeholder{color:#ffffff4d}.bug-report-actions{display:flex;gap:12px;justify-content:flex-end}.bug-report-btn{padding:12px 24px;font-size:14px;font-weight:500;border:none;border-radius:8px;cursor:pointer;transition:all .2s}.bug-report-btn.cancel{background:#ffffff1a;color:#fffc}.bug-report-btn.cancel:hover{background:#ffffff26;color:#fff}.bug-report-btn.submit{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff}.bug-report-btn.submit:hover:not(:disabled){background:linear-gradient(135deg,#fbbf24,#f59e0b);transform:translateY(-1px);box-shadow:0 4px 12px #f59e0b66}.bug-report-btn.submit:disabled{opacity:.5;cursor:not-allowed}.bug-report-error{margin-top:12px;padding:10px 14px;background:#ef444426;border:1px solid rgba(239,68,68,.3);border-radius:8px;color:#fca5a5;font-size:13px;text-align:center}.pro-access-overlay{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:20px;background:#030712b8;backdrop-filter:blur(6px)}.pro-access-modal{width:min(560px,100%);padding:28px;border:1px solid rgba(125,211,252,.16);border-radius:18px;background:radial-gradient(circle at top right,rgba(14,165,233,.18),transparent 34%),linear-gradient(160deg,#0f172afa,#111827fa);box-shadow:0 28px 80px #0206178c;color:#e5eef7}.pro-access-icon{width:58px;height:58px;margin:0 auto 16px;display:flex;align-items:center;justify-content:center;border-radius:50%;color:#7dd3fc;background:#0ea5e91f;border:1px solid rgba(125,211,252,.2)}.pro-access-icon.success{color:#34d399;background:#34d3991f;border-color:#34d39938}.pro-access-icon svg{width:28px;height:28px}.pro-access-title{margin:0 0 8px;font-size:22px;font-weight:600;text-align:center;color:#f8fafc}.pro-access-message{margin:0 0 24px;font-size:14px;line-height:1.6;text-align:center;color:#e2e8f0c2}.pro-access-form{display:flex;flex-direction:column;gap:16px}.pro-access-grid{display:grid;grid-template-columns:1fr 180px;gap:12px}.pro-access-field{display:flex;flex-direction:column;gap:6px}.pro-access-field label{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#bfdbfec7}.pro-access-field input,.pro-access-field select,.pro-access-field textarea{width:100%;padding:12px 14px;border:1px solid rgba(148,163,184,.2);border-radius:10px;background:#0f172ac7;color:#f8fafc;font-size:14px;font-family:inherit;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}.pro-access-field input:focus,.pro-access-field select:focus,.pro-access-field textarea:focus{outline:none;border-color:#38bdf8cc;background:#0f172af0;box-shadow:0 0 0 3px #38bdf824}.pro-access-field input::placeholder,.pro-access-field textarea::placeholder{color:#94a3b88c}.pro-access-helper{min-height:18px;font-size:12px;color:#7dd3fcc7}.pro-access-helper.warning{color:#fbbf24}.pro-access-note,.pro-access-error{padding:10px 12px;border-radius:10px;font-size:12px;line-height:1.5}.pro-access-note{color:#e2e8f0d1;background:#1e293ba6;border:1px solid rgba(148,163,184,.18)}.pro-access-error{color:#fecaca;background:#7f1d1d57;border:1px solid rgba(248,113,113,.32)}.pro-access-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}.pro-access-btn{padding:12px 20px;border-radius:10px;font-size:14px;font-weight:600;border:1px solid transparent;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,opacity .15s ease}.pro-access-btn:disabled{opacity:.55;cursor:not-allowed}.pro-access-btn.cancel{color:#dbeafe;background:#1e293be6;border-color:#94a3b82e}.pro-access-btn.submit{color:#082f49;background:linear-gradient(135deg,#7dd3fc,#38bdf8)}.pro-access-btn:not(:disabled):hover{transform:translateY(-1px)}.pro-access-btn.submit:not(:disabled):hover{box-shadow:0 12px 26px #0ea5e940}@media(max-width:640px){.pro-access-modal{padding:22px}.pro-access-grid{grid-template-columns:1fr}.pro-access-actions{flex-direction:column-reverse}.pro-access-btn{width:100%}}.app-header{display:flex;align-items:center;justify-content:space-between;height:29px;padding:0 var(--spacing-md);flex-shrink:0;background:var(--bg-secondary);border-bottom:1px solid var(--border-subtle);position:relative;z-index:1000;transition:transform .3s cubic-bezier(.4,0,.2,1)}.app-header.collapsed{transform:translateY(-100%)}.header-collapse-handle{position:absolute;bottom:-12px;left:50%;transform:translate(-50%);width:60px;height:12px;background:var(--bg-secondary);border:1px solid var(--border-subtle);border-top:none;border-bottom-left-radius:6px;border-bottom-right-radius:6px;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:1001;transition:all .2s ease}.header-collapse-handle:hover{background:var(--bg-elevated);border-color:var(--accent-primary-dim);height:14px;bottom:-14px}.handle-bar{width:24px;height:2px;background:var(--text-muted);border-radius:2px;transition:background .2s ease}.header-collapse-handle:hover .handle-bar{background:var(--accent-primary);box-shadow:0 0 6px var(--accent-primary-glow)}.app-header-left{display:flex;align-items:center;gap:var(--spacing-lg)}.app-logo{display:flex;align-items:center;gap:var(--spacing-sm)}.app-logo-icon{width:18px;height:18px;color:var(--accent-primary);filter:drop-shadow(0 0 4px var(--accent-primary-glow))}.app-logo-icon svg{width:100%;height:100%}.app-logo-text{font-size:var(--font-size-md);font-weight:700;color:var(--text-primary);letter-spacing:-.2px;text-transform:uppercase;font-size:11px;letter-spacing:1px;text-decoration:none}.app-logo-text:hover{text-decoration:none}.app-user-name{max-width:140px;font-size:10px;font-weight:600;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-version-badge{font-size:9px;font-weight:600;color:var(--accent-primary);background:var(--accent-primary-dim);padding:1px 4px;border-radius:2px;border:1px solid var(--accent-primary-dim)}.app-header-tabs{display:flex;align-items:center;gap:2px;position:absolute;left:50%;transform:translate(-50%)}.app-header-tab{position:relative;padding:4px 12px;background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--text-secondary);font-size:11px;font-weight:500;text-transform:uppercase;cursor:pointer;transition:all .2s ease}.app-header-tab-label{display:inline-flex;align-items:center}.app-header-tab:hover:not(:disabled){color:var(--text-primary);background:var(--bg-hover)}.app-header-tab.active{color:var(--accent-primary);background:var(--accent-primary-dim);border-color:var(--accent-primary-dim);box-shadow:0 0 10px #06b6d41a}.app-header-tab.disabled{color:var(--text-disabled);cursor:not-allowed;opacity:.5}[data-theme=light] .app-header-tab.disabled{opacity:.72}.app-header-tab.locked{color:#f8fafc;border-color:#f59e0b2e;background:linear-gradient(180deg,#33415585,#0f172ab3)}.app-header-tab.locked:hover{border-color:#f59e0b6b;background:linear-gradient(180deg,#475569a3,#0f172ad1);box-shadow:0 0 18px #f59e0b1f}.app-header-tab-lock-badge{margin-left:8px;display:inline-flex;align-items:center;gap:4px;padding:1px 5px;border-radius:999px;background:#f59e0b29;color:#fbbf24;border:1px solid rgba(245,158,11,.28);font-size:9px;font-weight:700;letter-spacing:.08em}.coming-soon-dot{position:absolute;top:4px;right:4px;width:4px;height:4px;background:var(--border-default);border-radius:50%}.app-header-right{display:flex;align-items:center;gap:var(--spacing-md)}.header-controls{display:flex;align-items:center;gap:2px}.header-pro-btn{padding:3px 8px;background:var(--accent-primary-dim);color:var(--accent-primary);font-size:10px;font-weight:700;text-transform:uppercase;border-radius:var(--radius-sm);border:2px solid rgba(248,113,113,.35);box-shadow:0 0 0 1px #38bdf840 inset;cursor:pointer;transition:all .2s ease}.header-pro-btn:hover{background:#06b6d433;border-color:#06b6d480}.header-icon-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:all .2s ease}.header-icon-btn:hover{color:var(--text-primary);background:var(--bg-hover);border-color:var(--border-subtle)}.header-icon-btn.active{color:var(--accent-primary);background:var(--accent-primary-dim);border-color:var(--accent-primary-dim)}.header-icon-btn svg{width:14px;height:14px}.view-settings-wrapper{position:relative}.view-settings-popover{position:absolute;top:32px;right:0;min-width:250px;padding:10px;background:var(--surface-popover);border:1px solid var(--border-subtle);border-radius:8px;box-shadow:var(--shadow-popover);z-index:1200}.view-settings-section+.view-settings-section{margin-top:10px;padding-top:10px;border-top:1px solid var(--border-subtle)}.view-settings-title{font-size:10px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;margin-bottom:6px;letter-spacing:.6px}.view-settings-options{display:flex;flex-direction:column;gap:4px}.view-settings-options-row{flex-direction:row}.view-settings-option{width:100%;padding:6px 8px;background:var(--bg-surface);color:var(--text-primary);border:1px solid var(--border-subtle);border-radius:6px;font-size:11px;text-align:left;cursor:pointer;transition:all .15s ease}.theme-settings-option{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-width:0;white-space:nowrap}.theme-settings-option svg{flex:0 0 auto}.view-settings-option:hover{background:var(--bg-hover);border-color:var(--accent-primary-dim)}.view-settings-option.active{background:var(--accent-primary-dim);color:var(--accent-primary);border-color:var(--accent-primary-dim);box-shadow:0 0 10px #06b6d41f}.header-badge{padding:2px 8px;background:var(--bg-surface);color:var(--text-secondary);font-size:10px;font-weight:600;text-transform:uppercase;border-radius:var(--radius-sm);border:1px solid var(--border-subtle)}.header-badge.private{color:var(--text-secondary)}.header-badge.free{color:#cbd5e1;border-color:#94a3b83d}.header-badge.pro{color:#fbbf24;background:#f59e0b1f;border-color:#f59e0b42}.header-badge.verified{color:#7dd3fc;background:#0ea5e91f;border-color:#7dd3fc42}.header-badge.dev{color:#a78bfa;background:#8b5cf61f;border-color:#a78bfa42}.header-signout-btn{padding:2px 8px;background:#ef44441f;color:#fca5a5;font-size:10px;font-weight:600;text-transform:uppercase;border-radius:var(--radius-sm);border:1px solid rgba(239,68,68,.3);cursor:pointer;transition:all .2s ease}.header-signout-btn:hover{color:#fee2e2;background:#ef444433;border-color:#ef444480}.header-icon-btn.bug-report-btn{color:#ef4444}.header-icon-btn.bug-report-btn:hover{color:#f87171;background:#ef44441a;border-color:#ef44444d}.header-icon-btn.clear-all-btn:hover{color:#ef4444;background:#ef44441a;border-color:#ef44444d}.floating-action-bar{position:absolute;bottom:16px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm);z-index:320}.fab-actions{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm);background:var(--surface-floating);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--surface-floating-border);border-radius:var(--radius-xl);box-shadow:var(--surface-floating-shadow)}.fab-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:var(--spacing-md);min-width:64px;background:transparent;border:1px solid transparent;border-radius:var(--radius-lg);color:var(--text-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast)}.fab-btn:hover:not(:disabled){color:var(--text-primary);background:var(--surface-floating-hover);border-color:var(--surface-floating-border)}.fab-btn:active:not(:disabled){transform:scale(.96)}.fab-btn.active{color:var(--accent-sketch);background:var(--accent-sketch-dim);border-color:var(--accent-sketch)}.fab-btn:disabled,.fab-btn-disabled{opacity:.46;cursor:not-allowed}.fab-btn-genie{color:var(--accent-primary);background:var(--accent-primary-dim);border-color:var(--border-glow)}.fab-btn-genie:hover:not(:disabled){color:#fff;background:linear-gradient(135deg,#2563eb,#3b82f6);border-color:var(--accent-primary);box-shadow:0 12px 28px var(--accent-primary-glow)}.fab-divider{width:1px;height:40px;background:linear-gradient(180deg,transparent,var(--border-strong),transparent);margin:0 var(--spacing-xs)}.fab-command-input{width:280px;position:relative}.fab-ai-remaining{display:inline-flex;align-items:center;gap:8px;font-size:10px;color:var(--text-muted);background:var(--surface-floating-muted);border:1px solid var(--surface-floating-border);border-radius:var(--radius-full);padding:4px 10px;margin-top:6px}.fab-signin-btn{padding:2px 8px;background:var(--accent-primary-dim);border:1px solid var(--border-glow);border-radius:var(--radius-full);color:var(--accent-primary);font-size:10px;cursor:pointer;transition:all var(--transition-fast)}.fab-signin-btn:hover{background:var(--surface-control-active);border-color:var(--accent-primary)}.fab-command-input input{width:100%;padding:var(--spacing-sm) 40px var(--spacing-sm) var(--spacing-lg);background:var(--surface-floating-input);backdrop-filter:blur(16px);border:1px solid var(--surface-floating-border);border-radius:var(--radius-full);color:var(--text-primary);font-size:var(--font-size-sm);text-align:center;transition:all var(--transition-fast)}.fab-command-input input::placeholder{color:var(--text-muted)}.fab-command-input input:focus{outline:none;border-color:var(--accent-primary);box-shadow:var(--focus-ring);background:var(--surface-popover)}.fab-command-input.focused input{text-align:left}.fab-command-input.focused input::placeholder{opacity:.5}.fab-command-input.processing{position:relative}.fab-command-input.processing input{padding-left:36px;color:var(--text-muted);border-color:var(--accent-primary);box-shadow:0 0 8px var(--accent-primary-glow);animation:pulseGlow 1.5s ease-in-out infinite}.fab-command-input.listening input{border-color:#ef4444;box-shadow:0 0 8px #ef444466;animation:pulseListening 1.5s ease-in-out infinite}@keyframes pulseListening{0%,to{box-shadow:0 0 8px #ef44444d}50%{box-shadow:0 0 16px #ef444499}}@keyframes pulseGlow{0%,to{box-shadow:0 0 8px #3b82f64d}50%{box-shadow:0 0 16px #3b82f699}}.fab-spinner{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--accent-primary);animation:spin 1s linear infinite}@keyframes spin{0%{transform:translateY(-50%) rotate(0)}to{transform:translateY(-50%) rotate(360deg)}}.stt-btn{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:var(--radius-full);color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast)}.stt-btn:hover:not(:disabled){color:var(--text-primary);background:var(--surface-floating-hover)}.stt-btn.active{color:#ef4444!important;background:#ef44441a!important;animation:micPulse 2s ease-in-out infinite}@keyframes micPulse{0%,to{transform:translateY(-50%) scale(1)}50%{transform:translateY(-50%) scale(1.1)}}.fab-sub-menu{position:absolute;bottom:calc(100% + 12px);left:20px;display:flex;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:var(--surface-floating);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--surface-floating-border);border-radius:var(--radius-xl);box-shadow:var(--surface-floating-shadow);animation:subMenuPop .3s cubic-bezier(.34,1.56,.64,1);transform-origin:bottom left;z-index:100}@keyframes subMenuPop{0%{opacity:0;transform:translateY(10px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.sub-menu-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:var(--spacing-sm) var(--spacing-md);min-width:80px;background:transparent;border:1px solid transparent;border-radius:var(--radius-lg);color:var(--text-secondary);font-size:10px;font-weight:var(--font-weight-medium);white-space:nowrap;cursor:pointer;transition:all var(--transition-fast)}.sub-menu-item:hover:not(:disabled){color:var(--text-primary);background:var(--surface-floating-hover);border-color:var(--surface-floating-border)}.sub-menu-item.active{color:var(--accent-sketch);background:var(--accent-sketch-dim);border-color:var(--accent-sketch)}.sub-menu-item:disabled{opacity:.3;cursor:not-allowed}.fab-command-input.success input{border-color:var(--accent-primary);box-shadow:0 0 12px var(--accent-primary-glow);animation:successPulse .6s ease-out}@keyframes successPulse{0%{box-shadow:0 0 20px #3b82f6cc}to{box-shadow:0 0 #3b82f600}}.fab-error-toast{position:absolute;bottom:100%;left:50%;transform:translate(-50%);margin-bottom:12px;display:flex;align-items:center;gap:12px;padding:12px 16px;background:#ef4444f2;backdrop-filter:blur(8px);border:1px solid rgba(255,100,100,.3);border-radius:var(--radius-lg);color:#fff;font-size:13px;font-weight:500;box-shadow:0 4px 24px #ef444466;animation:toastSlideIn .3s ease-out;cursor:pointer;white-space:nowrap}.fab-error-toast .toast-close{background:transparent;border:none;color:#ffffffb3;font-size:18px;cursor:pointer;padding:0 4px;line-height:1}.fab-error-toast .toast-close:hover{color:#fff}@keyframes toastSlideIn{0%{opacity:0;transform:translate(-50%) translateY(10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.status-bar{display:flex;align-items:center;justify-content:space-between;height:18px;padding:0 var(--spacing-sm);background:var(--surface-panel);border-top:1px solid var(--border-subtle);font-size:10px;color:var(--text-muted);flex-shrink:0}.status-bar-left,.status-bar-center,.status-bar-right{display:flex;align-items:center;gap:var(--spacing-md)}.status-bar-left{flex:1;min-width:0}.status-bar-center{flex:0 0 auto}.status-bar-right{flex:1;justify-content:flex-end}.status-item{color:var(--text-secondary);display:block;max-width:min(46vw,620px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-coords{display:flex;align-items:center;gap:var(--spacing-lg);font-family:var(--font-mono)}.coord{color:var(--text-muted)}.coord-value{color:var(--text-secondary);min-width:60px;display:inline-block}.status-badge{padding:2px var(--spacing-sm);background:var(--surface-control);border-radius:var(--radius-sm);color:var(--text-muted)}.status-units{padding:2px var(--spacing-sm);background:var(--accent-primary-dim);border-radius:var(--radius-sm);color:var(--accent-primary);font-weight:var(--font-weight-semibold)}.electronics-panel{display:flex;flex-direction:column;gap:12px;width:100%;height:100%;color:var(--text-secondary)}.electronics-panel.empty{align-items:center;justify-content:center;text-align:center;gap:10px;min-height:240px}.electronics-empty-mark{width:54px;height:54px;display:flex;align-items:center;justify-content:center;color:#38bdf8;background:#38bdf81a;border:1px solid rgba(56,189,248,.22);border-radius:8px}.electronics-empty-title{color:var(--text-primary);font-size:13px;font-weight:700}.electronics-empty-subtitle{color:var(--text-muted);font-size:11px}.electronics-panel-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:12px;background:linear-gradient(135deg,#14532d5c,#082f4957);border:1px solid rgba(125,211,252,.18);border-radius:8px}.electronics-kicker{color:#7dd3fc;font-size:10px;font-weight:700;letter-spacing:0;text-transform:uppercase}.electronics-title{margin-top:5px;color:var(--text-primary);font-size:14px;font-weight:750;line-height:1.25}.electronics-status-pill{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;padding:5px 7px;color:#cffafe;background:#0ea5e929;border:1px solid rgba(125,211,252,.25);border-radius:6px;font-size:11px;font-weight:650}.electronics-signal-band{display:flex;align-items:center;gap:11px;padding:10px 11px;background:#0f172a61;border:1px solid var(--border-default);border-radius:8px}.electronics-signal-band>div:nth-child(2){min-width:0;flex:1}.electronics-signal-band span{display:block;color:var(--text-muted);font-size:10px;font-weight:650;text-transform:uppercase}.electronics-signal-band strong{display:block;margin-top:2px;color:#bbf7d0;font-size:14px;font-weight:800;text-transform:uppercase}.electronics-signal-bars{display:grid;grid-template-columns:repeat(4,6px);align-items:end;gap:3px;height:30px}.electronics-signal-bars span{display:block;width:6px;border-radius:3px 3px 1px 1px;background:#22c55e}.electronics-signal-bars span:nth-child(1){height:10px;opacity:.48}.electronics-signal-bars span:nth-child(2){height:16px;opacity:.62}.electronics-signal-bars span:nth-child(3){height:22px;opacity:.78}.electronics-signal-bars span:nth-child(4){height:29px}.electronics-score{min-width:58px;padding-left:10px;border-left:1px solid var(--border-default)}.electronics-score.ready strong{color:#bbf7d0}.electronics-score.review strong{color:#fde68a}.electronics-score.blocked strong{color:#fecaca}.electronics-quality-card{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:9px;background:#0ea5e914;border:1px solid rgba(56,189,248,.18);border-radius:8px}.electronics-quality-card.review{background:#eab30814;border-color:#eab3083d}.electronics-quality-card.blocked{background:#ef444414;border-color:#f8717147}.electronics-quality-card span{display:block;color:var(--text-muted);font-size:9px;font-weight:750;text-transform:uppercase}.electronics-quality-card strong{display:block;margin-top:3px;color:var(--text-primary);font-size:14px;font-weight:800}.electronics-stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.electronics-stat{min-height:58px;display:grid;grid-template-columns:18px 1fr;grid-template-rows:1fr 1fr;column-gap:7px;align-items:center;padding:8px;background:var(--bg-surface);border:1px solid var(--border-default);border-radius:7px;cursor:pointer;text-align:left;font:inherit;transition:border-color .12s ease,background .12s ease,transform .12s ease}.electronics-stat svg{grid-row:1 / span 2;color:#67e8f9}.electronics-stat span{color:var(--text-muted);font-size:10px;font-weight:650;text-transform:uppercase}.electronics-stat strong{color:var(--text-primary);font-size:18px;line-height:1}.electronics-stat:hover{background:#0ea5e914;border-color:#38bdf847;transform:translateY(-1px)}.electronics-mode-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(70px,1fr));gap:5px;padding:5px;background:#0f172a6b;border:1px solid var(--border-default);border-radius:8px}.electronics-mode-strip button{min-width:0;min-height:34px;display:grid;grid-template-columns:14px 1fr auto;align-items:center;gap:4px;padding:5px 6px;color:var(--text-muted);background:transparent;border:1px solid transparent;border-radius:6px;cursor:pointer;font:inherit}.electronics-mode-strip svg{color:#67e8f9}.electronics-mode-strip span{overflow:hidden;font-size:10px;font-weight:750;text-overflow:ellipsis;white-space:nowrap}.electronics-mode-strip strong{color:var(--text-secondary);font-size:10px;font-weight:800}.electronics-mode-strip button:hover,.electronics-mode-strip button.active{color:var(--text-primary);background:#38bdf81a;border-color:#7dd3fc38}.electronics-section,.electronics-selection{display:flex;flex-direction:column;gap:7px;padding:10px;background:#ffffff06;border:1px solid var(--border-default);border-radius:8px}.electronics-section.compact{gap:8px}.electronics-section-title{display:flex;align-items:center;gap:6px;color:var(--text-primary);font-size:11px;font-weight:750;text-transform:uppercase}.electronics-section-title svg{color:#38bdf8}.electronics-focus-grid{display:grid;grid-template-columns:1fr;gap:6px}.electronics-focus-grid button{display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px;min-height:31px;padding:7px 8px;color:var(--text-muted);background:#ffffff09;border:1px solid var(--border-default);border-radius:7px;cursor:pointer;font:inherit;text-align:left}.electronics-focus-grid button:hover{color:var(--text-primary);background:#22c55e14;border-color:#4ade8033}.electronics-layer-toggle{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;padding:4px;background:#0f172a61;border:1px solid var(--border-default);border-radius:8px}.electronics-layer-toggle button{min-width:0;min-height:28px;padding:5px 6px;color:var(--text-muted);background:transparent;border:1px solid transparent;border-radius:6px;cursor:pointer;font:inherit;font-size:10px;font-weight:850;text-transform:uppercase}.electronics-layer-toggle button:hover,.electronics-layer-toggle button.active{color:#cffafe;background:#0ea5e91f;border-color:#7dd3fc47}.electronics-net-search{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px}.electronics-net-search input{min-width:0;height:30px;padding:0 8px;color:#e5e7eb;background:#0f172a6b;border:1px solid rgba(148,163,184,.2);border-radius:7px;font:inherit;font-size:10px;font-weight:800;outline:none}.electronics-net-search input:focus{border-color:#22d3ee6b;box-shadow:0 0 0 1px #22d3ee1f}.electronics-net-search input::placeholder{color:#94a3b8b8}.electronics-net-search button{min-width:0;padding:0 8px;color:#a5f3fc;background:#0891b21f;border:1px solid rgba(34,211,238,.2);border-radius:7px;cursor:pointer;font:inherit;font-size:9px;font-weight:850;text-transform:uppercase}.electronics-net-search button:hover{color:#ecfeff;border-color:#22d3ee5c}.electronics-net-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.electronics-net-strip button{min-width:0;min-height:28px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:5px;padding:5px 6px;color:#fde68a;background:#e2b84e14;border:1px solid rgba(226,184,78,.18);border-radius:7px;cursor:pointer;font:inherit}.electronics-net-strip button:hover,.electronics-net-strip button.active{color:#fef9c3;background:#e2b84e24;border-color:#facc155c}.electronics-net-strip button:disabled{cursor:default;opacity:.55}.electronics-net-strip span,.electronics-net-strip strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.electronics-net-strip span{font-size:10px;font-weight:820}.electronics-net-strip strong{color:#bbf7d0;font-size:10px;font-weight:850}.electronics-net-microscope{display:flex;flex-direction:column;gap:6px;padding:8px;background:#facc1512;border:1px solid rgba(250,204,21,.18);border-radius:8px}.electronics-net-microscope-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px}.electronics-net-microscope-head span,.electronics-net-microscope-head strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.electronics-net-microscope-head span{color:#fef3c7;font-size:11px;font-weight:900}.electronics-net-microscope-head strong{color:#a5f3fc;font-size:9px;font-weight:850;text-transform:uppercase}.electronics-net-microscope-chips{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.electronics-net-microscope-chips span{min-width:0;padding:4px 5px;color:#bbf7d0;background:#22c55e14;border:1px solid rgba(74,222,128,.16);border-radius:6px;font-size:10px;font-weight:850;text-align:center;text-transform:uppercase}.electronics-net-endpoints{display:flex;flex-wrap:wrap;gap:4px}.electronics-net-endpoints button{max-width:64px;padding:3px 5px;color:#dbeafe;background:#3b82f61a;border:1px solid rgba(96,165,250,.18);border-radius:5px;cursor:pointer;font-size:9px;font-weight:850;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.electronics-net-endpoints button:hover{color:#fef9c3;background:#facc151f;border-color:#facc1547}.electronics-net-components{display:flex;flex-wrap:wrap;gap:4px}.electronics-net-components button{max-width:56px;padding:3px 6px;color:#fef3c7;background:#facc151a;border:1px solid rgba(250,204,21,.2);border-radius:5px;cursor:pointer;font-size:9px;font-weight:900;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.electronics-net-components button:hover{color:#ecfeff;background:#22d3ee1f;border-color:#67e8f947}.electronics-primary-action{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;min-height:34px;gap:8px;padding:8px 9px;color:#ccfbf1;background:#14b8a61f;border:1px solid rgba(94,234,212,.22);border-radius:7px;cursor:pointer;font:inherit;text-align:left}.electronics-primary-action:hover{background:#14b8a62e;border-color:#5eead45c}.electronics-primary-action:disabled{cursor:default;opacity:.55}.electronics-primary-action span,.electronics-primary-action strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.electronics-primary-action span{font-size:10px;font-weight:800;text-transform:uppercase}.electronics-primary-action strong{color:#99f6e4;font-size:10px;font-weight:850;text-transform:uppercase}.electronics-primary-action.cutout{color:#ffedd5;background:#f59e0b1c;border-color:#fbbf2438}.electronics-primary-action.cutout:hover{background:#f59e0b2b;border-color:#fbbf245c}.electronics-primary-action.cutout strong{color:#fed7aa}.electronics-primary-action.clearance{color:#dbeafe;background:#60a5fa1f;border-color:#93c5fd3d}.electronics-primary-action.clearance:hover{background:#60a5fa2e;border-color:#93c5fd61}.electronics-primary-action.clearance strong{color:#bfdbfe}.electronics-primary-action.enclosure{color:#cffafe;background:#22d3ee1f;border-color:#67e8f940}.electronics-primary-action.enclosure:hover{background:#22d3ee2e;border-color:#67e8f966}.electronics-primary-action.enclosure strong{color:#a5f3fc}.electronics-primary-action.diagram{color:#ede9fe;background:#7c3aed1f;border-color:#a78bfa42}.electronics-primary-action.diagram:hover{background:#7c3aed2e;border-color:#a78bfa6b}.electronics-primary-action.diagram strong{color:#ddd6fe}.electronics-primary-action.harness{color:#f5f3ff;background:#8b5cf61f;border-color:#c4b5fd42}.electronics-primary-action.harness:hover{background:#8b5cf62e;border-color:#c4b5fd6b}.electronics-primary-action.harness strong{color:#ddd6fe}.electronics-primary-action.keepout{color:#ffe4e6;background:#f43f5e1a;border-color:#fb718540}.electronics-primary-action.keepout:hover{background:#f43f5e29;border-color:#fb718566}.electronics-primary-action.keepout strong{color:#fecdd3}.electronics-primary-action.thermal{color:#ffedd5;background:#f973161f;border-color:#fb923c42}.electronics-primary-action.thermal:hover{background:#f973162e;border-color:#fb923c6b}.electronics-primary-action.thermal strong{color:#fed7aa}.electronics-secondary-action{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;min-height:34px;gap:8px;padding:8px 9px;color:var(--text-muted);background:#ffffff09;border:1px solid var(--border-default);border-radius:7px;cursor:pointer;font:inherit;text-align:left}.electronics-secondary-action:hover{color:var(--text-primary);background:#ffffff0f;border-color:#94a3b84d}.electronics-secondary-action span,.electronics-secondary-action strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.electronics-secondary-action span{font-size:10px;font-weight:800;text-transform:uppercase}.electronics-secondary-action strong{color:var(--text-secondary);font-size:10px;font-weight:850;text-transform:uppercase}.electronics-secondary-action.thermal{color:#fde68a;background:#eab30814;border-color:#facc1533}.electronics-secondary-action.thermal.demo{color:#bae6fd;background:#0ea5e914;border-color:#38bdf83d}.electronics-thermal-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.electronics-thermal-summary div{min-width:0;min-height:46px;display:flex;flex-direction:column;justify-content:center;gap:4px;padding:8px;background:linear-gradient(180deg,#f9731614,#0f172a47);border:1px solid rgba(251,146,60,.16);border-radius:7px}.electronics-thermal-summary span,.electronics-thermal-summary strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.electronics-thermal-summary span{color:var(--text-muted);font-size:9px;font-weight:820;text-transform:uppercase}.electronics-thermal-summary strong{color:#fed7aa;font-size:12px;font-weight:850}.electronics-thermal-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.75fr) minmax(0,.72fr);gap:6px}.electronics-cooling-demo-panel{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px;background:linear-gradient(135deg,#082f4961,#7c2d122e);border:1px solid rgba(56,189,248,.2);border-radius:8px}.electronics-cooling-demo-head{min-width:0;display:flex;flex-direction:column;gap:2px}.electronics-cooling-demo-head span,.electronics-cooling-demo-head strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.electronics-cooling-demo-head span{color:#bae6fd;font-size:9px;font-weight:850;text-transform:uppercase}.electronics-cooling-demo-head strong{color:#fef3c7;font-size:12px;font-weight:850}.electronics-cooling-toggle{display:grid;grid-template-columns:repeat(2,minmax(54px,1fr));gap:4px}.electronics-cooling-toggle button{min-width:0;min-height:28px;padding:5px 8px;color:var(--text-muted);background:#ffffff09;border:1px solid rgba(148,163,184,.16);border-radius:7px;cursor:pointer;font:inherit;font-size:10px;font-weight:850;text-transform:uppercase}.electronics-cooling-toggle button:hover{color:var(--text-primary);border-color:#7dd3fc52}.electronics-cooling-toggle button.active{color:#ecfeff;background:#0891b238;border-color:#67e8f96b}.electronics-thermal-power-list{display:flex;flex-direction:column;gap:6px}.electronics-power-row{display:grid;grid-template-columns:minmax(0,1fr) 92px;align-items:center;gap:7px;min-height:42px;padding:6px;background:#ffffff08;border:1px solid var(--border-default);border-radius:7px}.electronics-power-row.active{background:#f973161a;border-color:#fb923c57}.electronics-power-row>button{min-width:0;display:flex;flex-direction:column;gap:2px;padding:2px;color:var(--text-muted);background:transparent;border:0;cursor:pointer;font:inherit;text-align:left}.electronics-power-row>button:hover{color:var(--text-primary)}.electronics-power-row>button:disabled{cursor:default;opacity:.55}.electronics-power-row strong,.electronics-power-row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.electronics-power-row strong{color:var(--text-secondary);font-size:11px;font-weight:850}.electronics-power-row span{color:var(--text-muted);font-size:9px;font-weight:800;text-transform:uppercase}.electronics-power-input{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:5px;min-height:30px;padding:4px 6px;background:#0f172a6b;border:1px solid rgba(251,146,60,.18);border-radius:7px}.electronics-power-input:focus-within{background:#f9731614;border-color:#fb923c6b}.electronics-power-input input{min-width:0;width:100%;color:#ffedd5;background:transparent;border:0;outline:0;font:inherit;font-size:12px;font-weight:850}.electronics-power-input em{color:#fed7aa;font-size:9px;font-style:normal;font-weight:850;text-transform:uppercase}.electronics-fit-control-panel{display:flex;flex-direction:column;gap:8px;padding:9px;background:#0f172a6b;border:1px solid rgba(125,211,252,.16);border-radius:8px}.electronics-fit-control-panel.harness{background:#1e1b4b52;border-color:#c4b5fd2e}.electronics-fit-control-panel.placement{background:#082f4942;border-color:#7dd3fc38}.electronics-fit-control-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px}.electronics-fit-control-header span{display:inline-flex;align-items:center;gap:6px;min-width:0;color:var(--text-primary);font-size:10px;font-weight:800;text-transform:uppercase}.electronics-fit-control-header svg{color:#67e8f9}.electronics-fit-control-header button{min-height:24px;padding:3px 7px;color:#bae6fd;background:#0ea5e914;border:1px solid rgba(125,211,252,.18);border-radius:6px;cursor:pointer;font:inherit;font-size:9px;font-weight:800;text-transform:uppercase}.electronics-fit-control-header button:hover{color:var(--text-primary);background:#0ea5e924;border-color:#7dd3fc52}.electronics-fit-control-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.electronics-fit-control-grid.placement{grid-template-columns:repeat(3,minmax(0,1fr))}.electronics-fit-control{min-width:0;display:flex;flex-direction:column;gap:4px}.electronics-fit-control>span{overflow:hidden;color:var(--text-muted);font-size:9px;font-weight:800;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.electronics-fit-control-input{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:5px;min-height:30px;padding:4px 6px;background:#ffffff09;border:1px solid var(--border-default);border-radius:7px}.electronics-fit-control-input:focus-within{border-color:#67e8f961;background:#22d3ee12}.electronics-fit-control-input input{min-width:0;width:100%;color:var(--text-primary);background:transparent;border:0;outline:0;font:inherit;font-size:12px;font-weight:800}.electronics-fit-control-input em{color:var(--text-muted);font-size:9px;font-style:normal;font-weight:800;text-transform:uppercase}.electronics-fit-summary{display:grid;grid-template-columns:1fr 1fr;gap:6px}.electronics-fit-summary button,.electronics-fit-summary div{min-width:0;min-height:48px;display:flex;flex-direction:column;justify-content:center;gap:4px;padding:8px;color:var(--text-muted);background:#ffffff09;border:1px solid var(--border-default);border-radius:7px;font:inherit;text-align:left}.electronics-fit-summary button{cursor:pointer}.electronics-fit-summary button:hover{color:var(--text-primary);border-color:#67e8f93d;background:#22d3ee14}.electronics-fit-summary button:disabled{cursor:default;opacity:.62}.electronics-fit-summary span,.electronics-fit-summary strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.electronics-fit-summary span{font-size:10px;font-weight:760;text-transform:uppercase}.electronics-fit-summary strong{color:var(--text-secondary);font-size:11px;font-weight:820}.electronics-assumption-panel{display:grid;grid-template-columns:minmax(0,1fr);gap:7px;padding:8px;color:var(--text-muted);background:#0ea5e912;border:1px solid rgba(56,189,248,.2);border-radius:7px}.electronics-assumption-panel>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:8px}.electronics-assumption-panel span,.electronics-assumption-panel strong,.electronics-assumption-actions button{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.electronics-assumption-panel span{font-size:10px;font-weight:760;text-transform:uppercase}.electronics-assumption-panel strong{color:#bae6fd;font-size:11px;font-weight:820}.electronics-assumption-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.electronics-assumption-actions button{min-width:0;min-height:28px;padding:5px 6px;color:#dbeafe;background:#3b82f624;border:1px solid rgba(147,197,253,.22);border-radius:6px;cursor:pointer;font:inherit;font-size:10px;font-weight:800;text-transform:uppercase}.electronics-assumption-actions button:hover{color:#eff6ff;background:#3b82f638;border-color:#93c5fd5c}.electronics-focus-grid span,.electronics-focus-grid strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.electronics-focus-grid span{font-size:10px;font-weight:750;text-transform:uppercase}.electronics-focus-grid strong{color:var(--text-secondary);font-size:10px;font-weight:750}.electronics-readiness-row{display:grid;grid-template-columns:10px 1fr auto;align-items:center;gap:7px;min-height:24px;font-size:11px}.electronics-readiness-row span:nth-child(2){color:var(--text-muted)}.electronics-readiness-row strong{color:var(--text-secondary);font-size:11px;font-weight:750}.electronics-readiness-dot{width:7px;height:7px;border-radius:999px;background:#22c55e}.electronics-readiness-row.active .electronics-readiness-dot{background:#38bdf8}.electronics-readiness-row.pending .electronics-readiness-dot{background:#eab308}.electronics-diagnostic-summary{display:grid;grid-template-columns:1fr 1fr 1fr;gap:5px}.electronics-diagnostic-summary span{padding:5px 4px;color:var(--text-muted);background:#ffffff09;border:1px solid var(--border-default);border-radius:6px;font-size:9px;font-weight:750;text-align:center;text-transform:uppercase}.electronics-diagnostic-summary .good{color:#bbf7d0;border-color:#22c55e38}.electronics-diagnostic-summary .warn{color:#fde68a;border-color:#eab30847}.electronics-diagnostic-summary .bad{color:#fecaca;border-color:#f871714d}.electronics-source-line{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--text-muted);font-size:10px}.electronics-source-line span,.electronics-source-line strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.electronics-source-line strong{color:var(--text-secondary);font-weight:750}.electronics-diagnostic-list{display:flex;flex-direction:column;gap:5px}.electronics-diagnostic{display:grid;grid-template-columns:44px 1fr;align-items:center;gap:6px;min-height:22px;color:var(--text-muted);font-size:10px}.electronics-diagnostic span{text-transform:uppercase;font-size:9px;font-weight:800}.electronics-diagnostic strong{overflow:hidden;color:var(--text-secondary);font-weight:650;text-overflow:ellipsis;white-space:nowrap}.electronics-diagnostic.error span{color:#fca5a5}.electronics-diagnostic.warning span{color:#facc15}.electronics-diagnostic.info span{color:#7dd3fc}.electronics-coverage-list{display:flex;flex-direction:column;gap:4px}.electronics-coverage-row{display:grid;grid-template-columns:1fr auto;align-items:center;min-height:22px;gap:8px;color:var(--text-muted);font-size:10px}.electronics-coverage-row strong{color:var(--text-secondary);font-size:10px;font-weight:750}.electronics-coverage-row.exact strong{color:#bbf7d0}.electronics-coverage-row.inferred strong{color:#bae6fd}.electronics-coverage-row.estimated strong{color:#fde68a}.electronics-coverage-row.missing strong{color:#fca5a5}.electronics-chip-row{display:flex;flex-wrap:wrap;gap:5px}.electronics-chip-row span,.electronics-chip-row button{padding:3px 6px;color:#dbeafe;background:#3b82f61a;border:1px solid rgba(147,197,253,.16);border-radius:6px;cursor:default;font-size:9px;font-weight:750;font-family:inherit;text-transform:uppercase}.electronics-chip-row button{cursor:pointer}.electronics-chip-row button:hover{color:var(--text-primary);border-color:#93c5fd4d}.electronics-chip-row.connector span,.electronics-chip-row.connector button{color:#fef3c7;background:#f59e0b17;border-color:#fbbf242e}.electronics-object-list,.electronics-issue-list{display:flex;flex-direction:column;gap:6px}.electronics-object-list button{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:7px;min-height:42px;padding:7px 8px;color:var(--text-muted);background:#ffffff08;border:1px solid var(--border-default);border-radius:7px;cursor:pointer;font:inherit;text-align:left}.electronics-object-list button:hover,.electronics-object-list button.active{color:var(--text-primary);background:#0ea5e914;border-color:#38bdf847}.electronics-object-list button:disabled,.electronics-issue-list button:disabled{cursor:default;opacity:.55}.electronics-object-list button>span:first-child{min-width:0}.electronics-object-list strong,.electronics-object-list em{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.electronics-object-list strong{color:var(--text-secondary);font-size:11px;font-style:normal;font-weight:800}.electronics-object-list em{margin-top:2px;color:var(--text-muted);font-size:10px;font-style:normal}.electronics-row-chip,.electronics-row-measure{max-width:86px;overflow:hidden;padding:3px 6px;border-radius:6px;font-size:9px;font-weight:800;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.electronics-row-chip{color:#dbeafe;background:#3b82f61a;border:1px solid rgba(147,197,253,.16)}.electronics-row-chip.connector{color:#fef3c7;background:#f59e0b17;border-color:#fbbf242e}.electronics-row-chip.mount{color:#cffafe;background:#06b6d41a;border-color:#67e8f933}.electronics-row-chip.harness{color:#ede9fe;background:#8b5cf61a;border-color:#c4b5fd33}.electronics-row-measure{color:#bbf7d0;background:#22c55e14;border:1px solid rgba(74,222,128,.16)}.electronics-issue-list button{display:grid;grid-template-columns:48px minmax(64px,auto) minmax(0,1fr);align-items:center;gap:7px;min-height:36px;padding:7px 8px;color:var(--text-muted);background:#ffffff08;border:1px solid var(--border-default);border-radius:7px;cursor:pointer;font:inherit;text-align:left}.electronics-issue-list button:hover{background:#eab30814;border-color:#eab3083d}.electronics-issue-list button.error:hover{background:#ef444414;border-color:#f8717147}.electronics-issue-list span{font-size:9px;font-weight:800;text-transform:uppercase}.electronics-issue-list button.error span{color:#fca5a5}.electronics-issue-list button.warning span{color:#fde68a}.electronics-issue-list button.info span{color:#7dd3fc}.electronics-issue-list strong,.electronics-issue-list em{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.electronics-issue-list strong{color:var(--text-secondary);font-size:10px;font-weight:750}.electronics-issue-list em{color:var(--text-muted);font-size:10px;font-style:normal}.electronics-list-footnote,.electronics-empty-inline{color:var(--text-muted);font-size:10px;font-weight:650}.electronics-empty-inline{padding:9px 8px;background:#ffffff08;border:1px solid var(--border-default);border-radius:7px}.electronics-empty-inline.good{color:#bbf7d0;border-color:#4ade802e}.electronics-selected-name{color:var(--text-secondary);font-size:12px;font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.electronics-selected-meta{display:flex;gap:6px;flex-wrap:wrap}.electronics-selected-meta span{padding:3px 6px;color:#bae6fd;background:#0ea5e91a;border:1px solid rgba(56,189,248,.18);border-radius:6px;font-size:10px;font-weight:650}.electronics-source-map{display:flex;flex-direction:column;gap:3px;min-width:0;padding-top:2px;color:var(--text-muted);font-size:10px}.electronics-source-map span,.electronics-source-map strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.electronics-source-map strong{color:var(--text-secondary);font-weight:650}.electronics-microscope{display:flex;flex-direction:column;gap:7px;margin-top:3px;padding-top:8px;border-top:1px solid var(--border-default)}.electronics-microscope-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px}.electronics-microscope-header span,.electronics-microscope-header strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.electronics-microscope-header span{color:var(--text-primary);font-size:10px;font-weight:800;text-transform:uppercase}.electronics-microscope-header strong{padding:2px 5px;color:#bbf7d0;background:#22c55e14;border:1px solid rgba(74,222,128,.16);border-radius:5px;font-size:9px;font-weight:800;text-transform:uppercase}.electronics-microscope-chips{display:flex;flex-wrap:wrap;gap:5px}.electronics-microscope-chips span{padding:3px 6px;color:#bae6fd;background:#0ea5e917;border:1px solid rgba(56,189,248,.16);border-radius:6px;font-size:9px;font-weight:800;text-transform:uppercase}.electronics-microscope-grid{display:flex;flex-direction:column;gap:4px}.electronics-microscope-row{display:grid;grid-template-columns:78px minmax(0,1fr);align-items:center;gap:7px;min-height:22px;padding:3px 0;color:var(--text-muted);font-size:10px}.electronics-microscope-row span,.electronics-microscope-row strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.electronics-microscope-row span{color:var(--text-muted);font-weight:750;text-transform:uppercase}.electronics-microscope-row strong{color:var(--text-secondary);font-weight:700}.electronics-microscope-row.good strong{color:#bbf7d0}.electronics-microscope-row.warn strong{color:#fde68a}.electronics-flow{display:grid;grid-template-columns:18px 1fr 1fr 1fr;align-items:center;gap:6px;padding:9px 10px;color:var(--text-muted);background:#e2b84e14;border:1px solid rgba(226,184,78,.18);border-radius:8px;font-size:10px;font-weight:750;text-transform:uppercase}.electronics-flow svg{color:#e2b84e}.task-pane{display:flex;flex-direction:column;background:var(--surface-popover);border-left:1px solid var(--border-default);box-shadow:inset 1px 0 0 var(--border-subtle);transition:width var(--transition-normal)}.task-pane.collapsed{width:40px;min-width:40px}.task-pane.expanded{width:182px;min-width:182px}.task-pane.expanded.electronics-active{width:260px;min-width:260px}.task-pane-tabs-vertical{display:flex;flex-direction:column;gap:2px;padding:var(--spacing-sm)}.task-pane-tab-vertical{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:var(--spacing-sm);background:transparent;border:1px solid transparent;border-radius:var(--radius-md);color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast);writing-mode:vertical-lr;text-orientation:mixed}.task-pane-tab-vertical:hover{color:var(--text-primary);background:var(--surface-control-hover);border-color:var(--border-subtle)}.task-pane-tab-vertical.active{color:var(--accent-primary);background:var(--accent-primary-dim);border-color:var(--border-glow)}.tab-label-vertical{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);margin-top:var(--spacing-xs)}.task-pane-toggle{margin-top:auto;margin-bottom:var(--spacing-md);align-self:center;width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:var(--surface-control);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast)}.task-pane-toggle:hover{color:var(--text-primary);background:var(--surface-control-hover);border-color:var(--accent-primary)}.task-pane-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-sm) var(--spacing-md);background:var(--surface-popover);border-bottom:1px solid var(--border-default)}.task-pane-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-secondary)}.task-pane-close{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast)}.task-pane-close:hover{color:var(--text-primary);background:var(--bg-surface)}.task-pane-tabs-horizontal{display:flex;gap:2px;padding:var(--spacing-xs);background:var(--surface-panel-muted);border-bottom:1px solid var(--border-default)}.task-pane-tab{flex:1;display:flex;align-items:center;justify-content:center;padding:var(--spacing-sm);background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast)}.task-pane-tab:hover{color:var(--text-primary);background:var(--bg-hover);border-color:var(--border-subtle)}.task-pane-tab.active{color:var(--accent-primary);background:var(--accent-primary-dim);border-color:var(--border-glow)}.task-pane-content{flex:1;display:flex;align-items:center;justify-content:center;padding:var(--spacing-lg);min-width:0;overflow:auto}.task-pane.electronics-active .task-pane-content{align-items:stretch;justify-content:flex-start;padding:10px}.task-pane-placeholder{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--spacing-md);color:var(--text-muted)}.placeholder-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--surface-control);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);color:var(--text-disabled)}.placeholder-icon svg{width:24px;height:24px}.task-pane-placeholder h3{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--text-secondary);margin:0}.task-pane-placeholder p{font-size:var(--font-size-sm);color:var(--text-muted);margin:0}.placeholder-hint{font-size:var(--font-size-xs);color:var(--text-disabled);margin-top:var(--spacing-sm)}.plane-rotation-widget{display:flex;flex-direction:column;gap:8px;padding:10px;background:#1e1e23f2;border-radius:8px;border:1px solid rgba(255,255,255,.1)}.plane-rotation-widget.compact{padding:6px;gap:4px}.prw-header{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:500;color:#ffffffb3;text-transform:uppercase;letter-spacing:.5px}.prw-reset-btn{margin-left:auto;padding:3px;background:transparent;border:1px solid rgba(255,255,255,.2);border-radius:4px;color:#ffffff80;cursor:pointer;transition:all .15s ease}.prw-reset-btn:hover{background:#ffffff1a;color:#fff;border-color:#fff6}.prw-visual{display:flex;justify-content:center;padding:8px 0}.prw-visual svg{filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}.prw-ring{transition:stroke .2s ease}.prw-ring:hover{stroke-opacity:.6}.prw-handle{cursor:grab;transition:all .15s ease;filter:drop-shadow(0 1px 3px rgba(0,0,0,.5))}.prw-handle:hover{r:10;filter:drop-shadow(0 0 8px currentColor)}.prw-handle.active{cursor:grabbing;r:12}.prw-inputs{display:flex;flex-direction:column;gap:4px}.prw-input-row{display:flex;align-items:center;gap:6px}.prw-label{width:16px;height:16px;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;border-radius:3px;color:#fff}.prw-label-x{background:#ff6464}.prw-label-y{background:#64ff64;color:#1a1a1a}.prw-label-z{background:#64c8ff}.prw-input{width:50px;min-width:50px;max-width:50px;padding:4px 6px;background:#0000004d;border:1px solid rgba(255,255,255,.15);border-radius:4px;color:#fff;font-size:12px;font-family:SF Mono,Monaco,monospace;text-align:right;transition:border-color .15s ease}.prw-input:focus{outline:none;border-color:#3b82f6}.prw-input:hover{border-color:#ffffff4d}.prw-input::-webkit-inner-spin-button,.prw-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.prw-input{appearance:textfield;-moz-appearance:textfield}.prw-unit{font-size:11px;color:#fff6;width:12px}.plane-rotation-widget.compact .prw-header{font-size:10px}.plane-rotation-widget.compact .prw-input{padding:3px 5px;font-size:11px}.plane-rotation-widget.compact .prw-label{width:14px;height:14px;font-size:9px}.plane-navigator{position:fixed;top:75px;right:calc(var(--task-pane-width, 182px) + var(--right-panels-width, 260px) + 8px);z-index:9999;display:flex;flex-direction:column;gap:6px;background:#0f1219f2;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.12);border-top-left-radius:var(--radius-md);border-bottom-left-radius:var(--radius-md);border-top-right-radius:0;border-bottom-right-radius:0;border-right:none;padding:10px;box-shadow:-4px 4px 16px #0006,0 0 0 1px #ffffff0d inset;min-width:240px;width:240px;transition:right .2s ease-out}.pn-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:var(--spacing-xs);border-bottom:1px solid rgba(255,255,255,.08)}.pn-title{display:flex;align-items:center;gap:6px;color:var(--text-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.pn-close{display:flex;align-items:center;justify-content:center;width:20px;height:20px;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast)}.pn-close:hover{background:#ffffff1a;color:var(--text-primary)}.pn-current-plane{display:flex;align-items:center;gap:var(--spacing-md)}.pn-base-selector{position:relative}.pn-base-btn{display:flex;align-items:center;justify-content:center;padding:var(--spacing-sm) var(--spacing-md);background:#ffffff14;border:2px solid var(--plane-color, #64c8ff);border-radius:var(--radius-md);color:var(--plane-color, #64c8ff);font-size:var(--font-size-md);font-weight:var(--font-weight-bold);cursor:pointer;transition:all var(--transition-fast);min-width:48px}.pn-base-btn:hover{background:#ffffff26}.pn-base-dropdown{position:absolute;top:100%;left:0;margin-top:4px;display:flex;flex-direction:column;gap:2px;background:var(--bg-elevated);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-md);padding:4px;z-index:10}.pn-base-dropdown button{padding:var(--spacing-sm) var(--spacing-md);border:none;border-radius:var(--radius-sm);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--transition-fast)}.pn-base-dropdown button.xy{background:#64c8ff26;color:#64c8ff}.pn-base-dropdown button.xz{background:#64ff6426;color:#64ff64}.pn-base-dropdown button.yz{background:#ff646426;color:#ff6464}.pn-base-dropdown button:hover{filter:brightness(1.2)}.pn-offset{display:flex;align-items:center;gap:var(--spacing-sm);flex:1}.pn-offset-label{color:var(--text-muted);font-size:var(--font-size-sm)}.pn-offset-input{width:80px;padding:var(--spacing-xs) var(--spacing-sm);background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-mono);font-size:var(--font-size-md);text-align:center}.pn-offset-input:focus{outline:none;border-color:var(--accent-primary)}.pn-nav{display:flex;align-items:center;justify-content:center;gap:8px;padding:4px 0}.pn-nav-btn{display:flex;flex-direction:column;align-items:center;gap:1px;padding:4px 10px;background:#3b82f626;border:1px solid rgba(59,130,246,.3);border-radius:var(--radius-sm);color:#60a5fa;font-size:10px;cursor:pointer;transition:all var(--transition-fast)}.pn-nav-btn:hover{background:#3b82f64d;border-color:#3b82f680}.pn-nav-btn:active{transform:scale(.95)}.pn-offset-display{padding:4px 8px;background:#ffffff0d;border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-mono);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);min-width:80px;max-width:80px;overflow:hidden;text-overflow:ellipsis;text-align:center}.pn-step-section{display:flex;align-items:center;gap:var(--spacing-sm);padding-top:var(--spacing-xs);border-top:1px solid rgba(255,255,255,.08)}.pn-step-label{color:var(--text-muted);font-size:var(--font-size-sm)}.pn-step-presets{display:flex;gap:4px;flex:1}.pn-step-btn{padding:var(--spacing-xs) var(--spacing-sm);background:#ffffff0d;border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-fast);min-width:32px}.pn-step-btn:hover{background:#ffffff1a;color:var(--text-primary)}.pn-step-btn.active{background:#3b82f633;border-color:#3b82f666;color:#60a5fa}.pn-step-custom{width:50px;padding:var(--spacing-xs) var(--spacing-sm);background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-mono);font-size:var(--font-size-sm);text-align:center}.pn-step-custom:focus{outline:none;border-color:var(--accent-primary)}.pn-actions{padding-top:4px}.pn-sketch-btn{width:100%;padding:6px 10px;background:linear-gradient(135deg,#2563eb,#3b82f6);border:none;border-radius:var(--radius-sm);color:#fff;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--transition-fast)}.pn-sketch-btn:hover{filter:brightness(1.1);box-shadow:0 4px 12px #3b82f64d}.pn-sketch-btn:active{transform:scale(.98)}.pn-hint{text-align:center;color:var(--text-muted);font-size:var(--font-size-xs);padding-top:var(--spacing-xs)}.evaluate-panel{position:absolute;top:80px;right:280px;background:#1a1f28f2;backdrop-filter:blur(10px);border:1px solid rgba(0,217,255,.3);border-radius:6px;padding:20px 8px 8px;min-width:160px;max-width:180px;z-index:100;box-shadow:0 4px 16px #0006;cursor:default;user-select:none}.evaluate-panel.dragging{cursor:grabbing;opacity:.9}.evaluate-panel-drag-handle{position:absolute;top:0;left:0;right:0;height:18px;display:flex;align-items:center;justify-content:center;cursor:grab;color:#ffffff4d;border-radius:6px 6px 0 0;transition:all .2s}.evaluate-panel-drag-handle:hover{background:#ffffff0d;color:#00d9ff99}.evaluate-panel-header{display:flex;align-items:center;gap:5px;font-size:10px;font-weight:600;color:#00d9ff;margin-bottom:6px;padding-bottom:4px;border-bottom:1px solid rgba(255,255,255,.1)}.evaluate-panel-header svg{width:12px;height:12px}.evaluate-result{margin-bottom:8px}.evaluate-distance{background:#00d9ff1a;border:1px solid rgba(0,217,255,.3);border-radius:4px;padding:4px 6px;text-align:center}.distance-value{font-size:13px;font-weight:600;color:#00d9ff;font-family:var(--font-mono, "JetBrains Mono", monospace)}.evaluate-hint{color:var(--text-secondary, #a0a0a0);font-size:9px;text-align:center;padding:4px;background:#ffffff08;border-radius:3px}.evaluate-circle-result{background:#ff00ff1a;border:1px solid rgba(255,0,255,.3);border-radius:4px;padding:6px}.circle-type{display:flex;align-items:center;gap:4px;font-size:10px;color:#f0f;margin-bottom:4px}.circle-values{display:flex;flex-direction:column;gap:2px}.circle-value{display:flex;align-items:center;gap:4px;font-size:10px;font-family:var(--font-mono, "JetBrains Mono", monospace)}.circle-value .label{color:#ff00ffb3;min-width:24px}.circle-value .value{color:#f0f;font-weight:600}.evaluate-setting-row.circle-mode label{color:#f0f}.evaluate-settings{display:flex;flex-direction:column;gap:4px;margin-bottom:6px}.evaluate-setting-row{display:flex;justify-content:space-between;align-items:center;gap:6px}.evaluate-setting-row label{font-size:9px;color:var(--text-secondary, #a0a0a0)}.evaluate-select{padding:2px 4px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:3px;color:var(--text-primary, #fff);font-size:9px;cursor:pointer;min-width:45px}.evaluate-select:focus{outline:none;border-color:#00d9ff}.evaluate-checkbox{width:12px;height:12px;cursor:pointer;accent-color:#00d9ff}.evaluate-components{display:flex;gap:4px;margin-bottom:6px;padding:4px;background:#ffffff05;border-radius:3px}.component-item{flex:1;font-size:8px;font-family:var(--font-mono, "JetBrains Mono", monospace);padding:2px 3px;border-radius:2px;text-align:center}.component-item.dx{background:#ff646426;color:#ff6b6b}.component-item.dy{background:#64ff6426;color:#6bff6b}.component-item.dz{background:#6464ff26;color:#6b6bff}.precision-control{display:flex;flex-direction:column;gap:3px}.precision-slider{flex:1;-webkit-appearance:none;appearance:none;height:3px;background:#ffffff1a;border-radius:2px;cursor:pointer}.precision-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:10px;height:10px;background:#00d9ff;border-radius:50%;cursor:pointer;transition:transform .2s}.precision-slider::-webkit-slider-thumb:hover{transform:scale(1.2)}.precision-value{font-size:9px;color:var(--text-secondary, #a0a0a0);text-align:left}.evaluate-points{border-top:1px solid rgba(255,255,255,.1);padding-top:6px}.points-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.points-header span{font-size:8px;color:var(--text-secondary, #a0a0a0)}.clear-btn{display:flex;align-items:center;justify-content:center;width:18px;height:18px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:3px;color:#ef4444;cursor:pointer;transition:all .2s}.clear-btn svg{width:10px;height:10px}.clear-btn:hover{background:#ef444433;border-color:#ef4444}.points-list{display:flex;flex-direction:column;gap:2px}.point-item{font-size:8px;font-family:var(--font-mono, "JetBrains Mono", monospace);color:var(--text-secondary, #a0a0a0);padding:2px 4px;background:#ffffff08;border-radius:2px}.fea-panel{display:flex;flex-direction:column;background:var(--bg-secondary);border-bottom:1px solid var(--border-subtle)}.fea-header{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);background:var(--bg-elevated);border-bottom:1px solid var(--border-default);cursor:pointer;user-select:none}.fea-header:hover{background:#ffffff08}.fea-collapse-btn{margin-left:auto;display:flex;align-items:center;justify-content:center;width:20px;height:20px;background:transparent;border:none;color:var(--text-muted);border-radius:var(--radius-sm);cursor:pointer}.fea-collapse-btn:hover{color:var(--text-primary);background:#ffffff1a}.fea-content{display:flex;flex-direction:column;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg)}.fea-section{display:flex;flex-direction:column;gap:var(--spacing-sm);padding-top:var(--spacing-sm);border-top:1px solid var(--border-subtle)}.fea-section-title{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.45px}.fea-section-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm);border:1px solid var(--border-default);background:var(--bg-surface);color:var(--text-secondary);padding:6px 8px;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.45px;border-radius:var(--radius-sm);cursor:pointer}.fea-section-toggle:hover{border-color:var(--accent-primary-dim);background:var(--bg-hover);color:var(--text-primary)}.fea-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--accent-primary)}.fea-row{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);padding:4px 0}.fea-row.compact{padding:2px 0}.fea-label{font-size:var(--font-size-xs);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.4px}.fea-value{font-size:var(--font-size-sm);color:var(--text-primary);font-family:var(--font-mono)}.fea-note{margin:var(--spacing-sm) 0 0;font-size:var(--font-size-xs);color:var(--text-muted);line-height:1.45}.fea-error-note{color:#fca5a5}.fea-toggle{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-xs);color:var(--text-primary)}.fea-btn{border:1px solid var(--border-default);background:var(--bg-surface);color:var(--text-primary);padding:6px 8px;font-size:var(--font-size-xs);border-radius:var(--radius-sm);cursor:pointer}.fea-btn:hover:not(:disabled){border-color:var(--accent-primary-dim);background:var(--bg-hover)}.fea-btn:disabled{opacity:.5;cursor:not-allowed}.fea-btn-primary{border-color:var(--accent-primary-dim);background:var(--accent-primary-dim);color:var(--accent-primary)}.fea-btn-danger{border-color:#ef444466;color:#fda4af;background:#ef44441f}.fea-select,.fea-input{border:1px solid var(--border-default);background:var(--bg-surface);color:var(--text-primary);font-size:var(--font-size-xs);border-radius:var(--radius-sm);padding:5px 7px;min-width:90px}.fea-loadcase-select{width:100%;min-width:0}.fea-loadcase-row{display:flex;align-items:center;gap:var(--spacing-xs);width:100%}.fea-loadcase-row .fea-input{flex:1 1 auto;min-width:0}.fea-force-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--spacing-sm)}.fea-force-grid label{display:flex;flex-direction:column;gap:4px;font-size:var(--font-size-xs);color:var(--text-secondary)}.fea-list-item{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:6px 8px;background:#ffffff05}.fea-list-main{display:flex;flex-direction:column;gap:2px}.fea-list-title{font-size:var(--font-size-xs);color:var(--text-primary);font-weight:var(--font-weight-semibold)}.fea-list-meta{font-size:10px;color:var(--text-muted);font-family:var(--font-mono)}.fea-inline-buttons{display:flex;align-items:center;gap:var(--spacing-xs)}.fea-inline-inputs{display:flex;align-items:center;gap:var(--spacing-xs);min-width:0}.fea-range{width:120px}.fea-mesh-density-tier{display:inline-block;min-width:72px;text-align:left;white-space:nowrap}.fea-status.unbuilt{color:var(--text-secondary)}.fea-status.building{color:#fbbf24}.fea-status.ready{color:#34d399}.fea-status.failed{color:#f87171}.fea-surface-stats{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:6px 8px;background:#ffffff05}.fea-benchmark-preset{margin-top:8px;padding-top:8px;border-top:1px solid var(--border-subtle)}.fea-benchmark-compare{margin-top:8px;padding:6px 8px;border:1px dashed var(--border-subtle);border-radius:var(--radius-sm);background:#ffffff03}.fea-benchmark-compare-title{margin-bottom:4px;font-size:10px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.4px}.fea-benchmark-warnings{margin-top:6px;display:flex;flex-direction:column;gap:4px}.fea-benchmark-warning{font-size:10px;color:#fca5a5;font-family:var(--font-mono)}.fea-ok{color:#34d399}.fea-warn{color:#fbbf24}.fea-legend{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--spacing-xs);margin-top:4px}.fea-legend-item{display:flex;align-items:center;gap:6px;font-size:var(--font-size-xs);color:var(--text-secondary)}.fea-legend-chip{width:10px;height:10px;border-radius:2px;flex:0 0 10px;border:1px solid rgba(255,255,255,.35)}.fea-legend-chip.fixed{background:#f59e0b}.fea-legend-chip.pressure{background:#22c55e}.fea-legend-chip.force{background:#ef4444}.fea-stress-legend{width:100%;height:10px;border-radius:999px;border:1px solid rgba(255,255,255,.25);background:linear-gradient(90deg,#1d4ed8,#06b6d4 28%,#22c55e,#f59e0b,#dc2626)}.fea-stress-labels{display:flex;align-items:center;justify-content:space-between;font-size:10px;color:var(--text-secondary);font-family:var(--font-mono)}.fea-probe-pill{position:absolute;top:12px;right:10px;height:28px;min-width:84px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid rgba(96,165,250,.4);border-radius:8px;padding:0 10px;background:#0f172af5;color:#93c5fd;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.35px;box-shadow:0 6px 16px #00000059;cursor:pointer;z-index:120}.fea-probe-pill.is-solving{border-color:#38bdf8b3;color:#bae6fd;cursor:progress}.fea-probe-pill:hover:not(:disabled){border-color:#93c5fdbf;background:#112240fa}.fea-probe-pill:disabled{opacity:.55;cursor:not-allowed}.fea-probe-panel{position:absolute;top:12px;right:10px;width:176px;display:flex;flex-direction:column;gap:8px;padding:10px;background:#14171ef5;border:1px solid rgba(96,165,250,.35);border-radius:8px;box-shadow:0 8px 24px #00000073;backdrop-filter:blur(8px);z-index:120}.fea-probe-panel-solving{border-color:#38bdf88c}.fea-probe-loading-overlay{position:absolute;inset:0;border-radius:8px;background:#070c18bd;display:flex;align-items:center;justify-content:center;gap:8px;color:#bae6fd;font-size:11px;font-weight:600;letter-spacing:.3px;text-transform:uppercase;pointer-events:none}.fea-probe-spinner{animation:fea-probe-spin .9s linear infinite}@keyframes fea-probe-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.fea-probe-header{display:flex;align-items:center;justify-content:space-between}.fea-probe-title{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:600;color:#93c5fd;text-transform:uppercase;letter-spacing:.4px}.fea-probe-collapse{border:1px solid rgba(148,163,184,.35);border-radius:6px;width:22px;height:18px;display:inline-flex;align-items:center;justify-content:center;background:#1e293ba6;color:#cbd5e1;cursor:pointer;font-size:12px;line-height:1}.fea-probe-collapse:hover{border-color:#93c5fdb3;color:#dbeafe}.fea-probe-toggle{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-primary)}.fea-probe-note{margin:0;font-size:11px;color:var(--text-secondary);line-height:1.4}.fea-probe-stats{display:flex;flex-direction:column;gap:4px;border:1px solid var(--border-subtle);border-radius:6px;padding:8px;background:#ffffff05}.fea-probe-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.fea-probe-label{font-size:10px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.35px}.fea-probe-value{font-size:11px;color:var(--text-primary);font-family:var(--font-mono);text-align:right}.fea-probe-clear{display:flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--border-default);background:var(--bg-surface);color:var(--text-primary);padding:6px 8px;font-size:11px;border-radius:var(--radius-sm);cursor:pointer}.fea-probe-clear:hover:not(:disabled){background:var(--bg-hover);border-color:var(--accent-primary-dim)}.fea-probe-clear:disabled{opacity:.45;cursor:not-allowed}.cfd-panel{--text-primary: #e6f7ff;--text-secondary: #b8d8ea;--text-muted: #8ea9bb;--border-subtle: rgba(125, 211, 252, .12);display:flex;flex-direction:column;background:linear-gradient(180deg,#0d1821fa,#091017fa);border-bottom:1px solid var(--border-subtle);color:var(--text-primary)}.cfd-header{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.5px;color:#8dcff8;background:linear-gradient(90deg,#00a3ff1f,#00a3ff08);border-bottom:1px solid rgba(0,163,255,.14);cursor:pointer;user-select:none}.cfd-header:hover{background:linear-gradient(90deg,#00a3ff29,#00a3ff0d)}.cfd-collapse-btn{margin-left:auto;display:flex;align-items:center;justify-content:center;width:20px;height:20px;color:inherit;border-radius:var(--radius-sm)}.cfd-collapse-btn:hover{background:#ffffff14}.cfd-content{display:flex;flex-direction:column;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg)}.cfd-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:#6fe3ff}.cfd-section{display:flex;flex-direction:column;gap:var(--spacing-sm);padding-top:var(--spacing-sm);border-top:1px solid rgba(255,255,255,.06)}.cfd-section-title{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.45px}.cfd-cooling-wizard{border-color:#2dd4bf2e}.cfd-wizard-status{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.cfd-wizard-step{min-width:0;display:grid;grid-template-columns:22px minmax(0,1fr);grid-template-rows:auto auto;column-gap:7px;row-gap:1px;align-items:center;padding:7px 8px;border:1px solid rgba(255,255,255,.08);border-radius:8px;background:#ffffff08}.cfd-wizard-step span{grid-row:1 / 3;width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:#94a3b829;color:var(--text-secondary);font-size:10px;font-weight:800;font-family:var(--font-mono)}.cfd-wizard-step strong,.cfd-wizard-step em{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cfd-wizard-step strong{color:#dff9ff;font-size:10px}.cfd-wizard-step em{color:var(--text-muted);font-size:9px;font-style:normal}.cfd-wizard-step.is-done{border-color:#34d39947;background:#10b98113}.cfd-wizard-step.is-done span{background:#34d39938;color:#a7f3d0}.cfd-wizard-step.is-active{border-color:#2dd4bf80;box-shadow:0 0 0 1px #2dd4bf1f,0 0 18px #2dd4bf14}.cfd-wizard-note{display:flex;align-items:center;gap:7px;min-height:30px;padding:7px 9px;border:1px solid rgba(45,212,191,.16);border-radius:8px;background:#14b8a611;color:#ccfbf1;font-size:11px;line-height:1.35}.cfd-wizard-note svg{flex:0 0 auto;color:#5eead4}.cfd-wizard-actions{display:flex;align-items:center;gap:var(--spacing-xs);flex-wrap:wrap}.cfd-row{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);padding:4px 0}.cfd-row.compact{padding:2px 0}.cfd-label{font-size:var(--font-size-xs);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.4px}.cfd-value{font-size:var(--font-size-sm);color:var(--text-primary);font-family:var(--font-mono);text-align:right}.cfd-note{font-size:var(--font-size-xs);color:var(--text-muted);line-height:1.45}.cfd-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--spacing-sm)}.cfd-field{display:flex;flex-direction:column;gap:4px}.cfd-input{border:1px solid rgba(0,163,255,.14);background:#ffffff0a;color:var(--text-primary);font-size:var(--font-size-xs);border-radius:var(--radius-sm);padding:6px 8px}.cfd-toggle{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-xs);color:var(--text-primary)}.cfd-inline-buttons{display:flex;align-items:center;gap:var(--spacing-xs);flex-wrap:wrap}.cfd-btn{display:inline-flex;align-items:center;gap:6px;border:1px solid rgba(0,163,255,.16);background:#ffffff08;color:var(--text-primary);padding:6px 8px;font-size:var(--font-size-xs);border-radius:var(--radius-sm)}.cfd-btn:hover:not(:disabled){border-color:#00a3ff52;background:#00a3ff14}.cfd-btn-primary{background:#00a3ff24;color:#7ee7ff}.cfd-btn:disabled{opacity:.5}.cfd-mini-btn{min-height:26px;padding:4px 8px;border:1px solid rgba(0,163,255,.16);border-radius:var(--radius-sm);background:#ffffff09;color:var(--text-primary);font-size:var(--font-size-xs)}.cfd-mini-btn:hover:not(:disabled){border-color:#00a3ff52;background:#00a3ff14}.cfd-mini-btn:disabled{opacity:.5}.cfd-pose-section{border-color:#7dd3fc24}.cfd-pose-target-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:var(--spacing-xs)}.cfd-pose-target{min-width:0;display:inline-flex;align-items:center;gap:7px;color:#dff9ff;font-size:var(--font-size-xs);font-weight:700}.cfd-pose-target svg{flex:0 0 auto;color:#67e8f9}.cfd-pose-target span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cfd-pose-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.cfd-rigid-debug{display:grid;grid-template-columns:repeat(3,minmax(0,max-content)) minmax(0,1fr);align-items:center;gap:6px;padding:6px 8px;border:1px solid rgba(103,232,249,.16);border-radius:6px;background:#06b6d40f;color:#a7f3d0;font-family:var(--font-mono);font-size:10px}.cfd-rigid-debug em{min-width:0;color:var(--text-secondary);font-style:normal;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cfd-boundary-section{border-color:#38d7ff24}.cfd-preset-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--spacing-xs)}.cfd-preset-btn{min-width:0;height:34px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid rgba(56,215,255,.22);border-radius:8px;background:#00adef14;color:#dff9ff;font-size:11px;font-weight:700}.cfd-preset-btn:hover:not(:disabled){border-color:#38d7ff80;background:#00adef29}.cfd-preset-btn:disabled{opacity:.45}.cfd-bc-map{display:flex;flex-direction:column;gap:8px;padding:10px;border:1px solid rgba(56,215,255,.12);border-radius:10px;background:linear-gradient(90deg,rgba(0,173,239,.08),transparent 48%,rgba(130,92,255,.08)),#ffffff06}.cfd-bc-flow-line{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:7px}.cfd-bc-plane{min-width:36px;height:22px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;font-size:10px;font-weight:800;font-family:var(--font-mono)}.cfd-bc-inlet{color:#02151d;background:#65efff;box-shadow:0 0 14px #65efff61}.cfd-bc-outlet{color:#f5f3ff;background:#818cf8a6;box-shadow:0 0 14px #818cf847}.cfd-bc-arrow{position:relative;height:2px;border-radius:999px;background:linear-gradient(90deg,#65efff2e,#65efffe6,#818cf8e0)}.cfd-bc-arrow:after{content:"";position:absolute;right:-1px;top:50%;width:9px;height:9px;border-top:2px solid rgba(129,140,248,.95);border-right:2px solid rgba(129,140,248,.95);transform:translateY(-50%) rotate(45deg)}.cfd-bc-chip-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.cfd-bc-chip{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 8px;border:1px solid rgba(255,255,255,.08);border-radius:8px;background:#060c1673}.cfd-bc-chip span{color:var(--text-secondary);font-size:10px;text-transform:uppercase;letter-spacing:.35px}.cfd-bc-chip strong{color:#dff9ff;font-size:10px;font-family:var(--font-mono);white-space:nowrap}.cfd-domain-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.cfd-opening-shape-row{display:grid;grid-template-columns:auto repeat(3,minmax(0,1fr));align-items:center;gap:6px}.cfd-shape-btn{height:28px;border:1px solid rgba(56,215,255,.18);border-radius:8px;background:#00adef0f;color:#dff9ff;font-size:10px;font-weight:700;font-family:var(--font-mono)}.cfd-shape-btn:hover{border-color:#38d7ff75;background:#00adef21}.cfd-boundary-status{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.cfd-boundary-status-card{min-width:0;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:7px 8px;border:1px solid rgba(255,255,255,.08);border-radius:8px;background:#ffffff08;color:#d8f7ff;font-size:10px;font-family:var(--font-mono);white-space:nowrap}.cfd-boundary-status-card.is-safe{border-color:#34d3994d;color:#a7f3d0}.cfd-boundary-status-card.is-warm{border-color:#fbbf2452;color:#fde68a}.cfd-boundary-status-card.is-heavy{border-color:#f8717157;color:#fecaca}.cfd-thermal-load-section{border-color:#fbbf2424}.cfd-thermal-meter-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr)) auto;gap:6px;align-items:stretch}.cfd-thermal-meter{min-width:0;display:flex;flex-direction:column;gap:3px;padding:8px 9px;border:1px solid rgba(251,191,36,.18);border-radius:8px;background:#fbbf240e}.cfd-thermal-meter span{color:var(--text-secondary);font-size:9px;font-weight:800;letter-spacing:.35px;text-transform:uppercase}.cfd-thermal-meter strong{color:#fde68a;font-size:12px;font-family:var(--font-mono)}.cfd-thermal-load-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.cfd-thermal-load-row{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) 74px;align-items:center;gap:7px;padding:6px;border:1px solid rgba(255,255,255,.08);border-radius:8px;background:#ffffff06}.cfd-thermal-load-row span{min-width:0;display:flex;flex-direction:column;gap:2px}.cfd-thermal-load-row strong{color:#f8fafc;font-size:11px;font-family:var(--font-mono);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cfd-thermal-load-row em{color:var(--text-muted);font-size:9px;font-style:normal;text-transform:uppercase;letter-spacing:.3px}.cfd-thermal-power-input{width:100%;min-width:0;padding-left:6px;padding-right:6px}.cfd-spin{animation:spin 1s linear infinite}.cfd-stats-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--spacing-sm)}.cfd-stat-card{display:flex;flex-direction:column;gap:4px;padding:8px 10px;border:1px solid rgba(0,163,255,.1);border-radius:var(--radius-sm);background:#ffffff08}.cfd-stat-label{font-size:10px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.45px}.cfd-stat-value{font-size:14px;color:#dff7ff;font-family:var(--font-mono)}.cfd-warning-chip,.cfd-error-chip{padding:6px 8px;border-radius:var(--radius-sm);font-size:10px;line-height:1.45;font-family:var(--font-mono)}.cfd-warning-chip{border:1px solid rgba(251,191,36,.26);background:#fbbf2414;color:#fde68a}.cfd-error-chip{border:1px solid rgba(248,113,113,.26);background:#ef44441a;color:#fecaca}.cfd-viz-shell{padding:10px;border-radius:var(--radius-md);background:radial-gradient(circle at top,rgba(0,163,255,.14),transparent 55%),#ffffff08;border:1px solid rgba(0,163,255,.14)}.cfd-viz-canvas{width:100%;min-height:180px;max-height:260px;display:block;image-rendering:pixelated;border-radius:var(--radius-sm);background:#09111a;border:1px solid rgba(255,255,255,.06)}.cfd-ok{color:#6ee7b7}.cfd-warn{color:#fbbf24}.cfd2d-module-rack{position:absolute;top:52px;left:14px;right:12px;z-index:130;width:auto;min-width:0;max-height:calc(100% - 66px);display:flex;flex-direction:column;pointer-events:none}.cfd2d-module-rack.is-collapsed{right:auto;width:auto;min-width:0}.cfd2d-module-rack>*{pointer-events:auto}.cfd2d-bench-collapsed{align-self:flex-start;height:34px;display:inline-flex;align-items:center;gap:7px;padding:0 11px;color:#dff9ff;background:#081422f0;border:1px solid rgba(56,215,255,.32);border-radius:8px;box-shadow:0 8px 28px #0000006b;font:inherit;font-size:11px;font-weight:850}.cfd2d-bench-collapsed:hover{border-color:#38d7ffb8;background:#091d30fa}.cfd2d-bench-collapsed svg{color:#67e8f9}.cfd2d-bench-shell{position:relative;width:100%;height:clamp(420px,62vh,760px);min-height:420px;display:flex;flex-direction:column;overflow:hidden;color:#dff9ff;background:linear-gradient(135deg,#071220f7,#081d2af0),radial-gradient(circle at 12% 0%,rgba(56,215,255,.12),transparent 36%);border:1px solid rgba(56,215,255,.22);border-radius:8px;box-shadow:0 18px 46px #00000080,0 0 0 1px #7dd3fc14;backdrop-filter:blur(12px);user-select:none}.cfd2d-titlebar{height:45px;display:grid;grid-template-columns:28px minmax(0,1fr) auto 28px;align-items:center;gap:8px;padding:8px 10px;border-bottom:1px solid rgba(56,215,255,.16);background:#030c14c7}.cfd2d-mark{width:28px;height:28px;display:flex;align-items:center;justify-content:center;color:#04131f;background:linear-gradient(135deg,#67e8f9,#a3e635);border-radius:7px}.cfd2d-titlecopy{min-width:0}.cfd2d-titlecopy span,.cfd2d-titlecopy strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cfd2d-titlecopy span{color:#67e8f9;font-size:9px;font-weight:900;text-transform:uppercase}.cfd2d-titlecopy strong{color:#f8fafc;font-size:13px;font-weight:850}.cfd2d-title-facts{display:flex;align-items:center;gap:6px}.cfd2d-title-facts span{padding:3px 7px;color:#dff9ff;background:#0ea5e924;border:1px solid rgba(14,165,233,.22);border-radius:999px;font-size:9px;font-weight:850;white-space:nowrap}.cfd2d-titlebar button,.cfd2d-icon-button{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;color:#bae6fd;background:#94a3b814;border:1px solid rgba(148,163,184,.18);border-radius:7px}.cfd2d-titlebar button:hover,.cfd2d-icon-button:hover:not(:disabled){color:#f8fafc;background:#38d7ff1f;border-color:#38d7ff52}.cfd2d-icon-button:disabled{opacity:.44}.cfd2d-icon-button.primary{color:#04131f;background:#67e8f9;border-color:#67e8f9d9}.cfd2d-toolbar{display:flex;align-items:center;gap:7px;padding:8px 10px;border-bottom:1px solid rgba(148,163,184,.1)}.cfd2d-tool-cluster{display:flex;align-items:center;gap:5px;padding-left:2px}.cfd2d-mode-tabs{flex:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.cfd2d-mode-tabs button,.cfd2d-layer-grid button,.cfd2d-axis-grid button{min-width:0;height:28px;padding:0 8px;color:#b9d9e7;background:#0f172a8c;border:1px solid rgba(148,163,184,.14);border-radius:7px;font:inherit;font-size:10px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cfd2d-mode-tabs button.active,.cfd2d-layer-grid button.active,.cfd2d-axis-grid button.active{color:#04131f;background:#67e8f9;border-color:#67e8f9db}.cfd2d-mode-tabs button:disabled,.cfd2d-layer-grid button:disabled,.cfd2d-axis-grid button:disabled,.cfd2d-burst-grid button:disabled{opacity:.42;cursor:not-allowed}.cfd2d-main{min-height:0;flex:1;display:grid;grid-template-columns:minmax(0,1fr) minmax(248px,30%);gap:10px;padding:10px}.cfd2d-stage,.cfd2d-side{min-width:0;min-height:0;display:flex;flex-direction:column;border:1px solid rgba(148,163,184,.12);border-radius:8px;background:#050c168c;overflow:hidden}.cfd2d-stage-toolbar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:8px;border-bottom:1px solid rgba(148,163,184,.1)}.cfd2d-stage-toolbar label,.cfd2d-field-grid label{display:flex;flex-direction:column;gap:4px;color:#94a3b8;font-size:9px;font-weight:850;text-transform:uppercase}.cfd2d-stage-toolbar select,.cfd2d-field-grid input{min-width:0;height:28px;padding:0 8px;color:#e0f2fe;background:#0f172ac2;border:1px solid rgba(56,215,255,.18);border-radius:7px;font:inherit;font-size:10px}.cfd2d-canvas-shell{min-height:0;flex:1;padding:10px;background:#02060d70}.cfd2d-canvas-shell-live{position:relative;overflow:hidden}.cfd2d-canvas{width:100%;height:100%;min-height:260px;display:block;border-radius:8px;background:#07111f}.cfd2d-live-canvas{width:100%;height:100%;min-height:260px;display:block;border-radius:8px;background:#07111f;border:1px solid rgba(125,211,252,.18)}.cfd2d-live-canvas.is-editing-heat{cursor:grab;touch-action:none}.cfd2d-live-canvas.is-editing-heat:active{cursor:grabbing}.cfd2d-live-canvas:focus-visible{outline:2px solid rgba(254,249,195,.86);outline-offset:2px}.cfd2d-live-legend,.cfd2d-live-badge{position:absolute;z-index:2;color:#dff9ff;background:#030a12b8;border:1px solid rgba(125,211,252,.18);backdrop-filter:blur(8px)}.cfd2d-live-legend{left:18px;top:18px;width:54px;display:grid;grid-template-columns:18px 1fr;grid-template-rows:auto 1fr auto auto auto;gap:5px 7px;align-items:center;padding:7px;border-radius:8px}.cfd2d-live-legend span{grid-column:1 / -1;color:#bae6fd;font-size:9px;font-weight:900;text-transform:uppercase;white-space:nowrap}.cfd2d-live-legend strong{color:#f8fafc;font-size:8px;font-family:var(--font-mono);font-weight:800}.cfd2d-live-legend-bar{grid-row:2 / 5;width:16px;min-height:110px;border-radius:5px;border:1px solid rgba(226,232,240,.22)}.cfd2d-live-legend-bar.map-turbo{background:linear-gradient(to top,#202aa4,#127bdc,#1fc4aa,#88dc49,#efd741,#f57c26,#c02655)}.cfd2d-live-legend-bar.map-blueRed{background:linear-gradient(to top,#2656a6,#50a4dc,#e6f1f5,#f8a552,#b9243d)}.cfd2d-live-legend-bar.map-viridis{background:linear-gradient(to top,#440154,#3b528b,#21918c,#5ec962,#fde725)}.cfd2d-live-legend-bar.map-thermal{background:linear-gradient(to top,#0c1220,#2646a0,#ce407a,#f8ab41,#fff1a8)}.cfd2d-live-badge{right:18px;top:18px;display:flex;align-items:center;gap:7px;padding:6px 8px;border-radius:999px}.cfd2d-live-badge span{color:#67e8f9;font-size:9px;font-weight:950}.cfd2d-live-badge strong{color:#f8fafc;font-size:9px;font-family:var(--font-mono)}.cfd2d-canvas-bg{fill:#07111f}.cfd2d-plot-frame{fill:#0f172aeb;stroke:#7dd3fc57;stroke-width:2}.cfd2d-grid-line{fill:none;stroke:#7dd3fc14;stroke-width:1}.cfd2d-contour-band{fill:url(#cfd2d-field-gradient);opacity:.24}.cfd2d-contour-band.fast{opacity:.34}.cfd2d-contour-band.slow{opacity:.2}.cfd2d-streamline{fill:none;stroke:#67e8f9bd;stroke-width:4;stroke-linecap:round}.cfd2d-streamline.muted{stroke:#a3e6358a}.cfd2d-body-silhouette{fill:#16253a;stroke:#e2e8f0ad;stroke-width:2}.cfd2d-probe-line{stroke:#facc1594;stroke-width:1.5;stroke-dasharray:8 8}.cfd2d-probe-line.horizontal{stroke:#f472b675}.cfd2d-probe-dot{fill:#facc15;stroke:#03101b;stroke-width:2}.cfd2d-axis line{stroke:#e2e8f07a;stroke-width:1.5}.cfd2d-axis text,.cfd2d-legend text,.cfd2d-status-label{fill:#cbd5e1;font-size:15px;font-weight:800}.cfd2d-legend rect{stroke:#e2e8f05c;stroke-width:1}.cfd2d-status-label{fill:#67e8f9;font-size:12px;text-transform:uppercase}.cfd2d-frame-strip{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px;border-top:1px solid rgba(148,163,184,.1);background:#050c168c}.cfd2d-frame-strip label{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;color:#94a3b8;font-size:9px;font-weight:850;text-transform:uppercase}.cfd2d-frame-strip input{width:100%;accent-color:#67e8f9}.cfd2d-frame-strip strong{color:#dff9ff;font-size:10px;font-family:var(--font-mono);white-space:nowrap}.cfd2d-side{gap:10px;padding:10px;overflow-y:auto}.cfd2d-status-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.cfd2d-status-grid div,.cfd2d-probe-table div,.cfd2d-bottom-chip{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 8px;color:#dff9ff;background:#0f172a94;border:1px solid rgba(148,163,184,.12);border-radius:7px}.cfd2d-status-grid span,.cfd2d-probe-table span{color:#94a3b8;font-size:9px;font-weight:850;text-transform:uppercase}.cfd2d-status-grid strong,.cfd2d-probe-table strong{min-width:0;color:#f8fafc;font-size:10px;font-family:var(--font-mono);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cfd2d-section{display:flex;flex-direction:column;gap:8px}.cfd2d-section-head{display:flex;align-items:center;gap:6px;color:#67e8f9;font-size:10px;font-weight:900;text-transform:uppercase}.cfd2d-layer-grid,.cfd2d-axis-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.cfd2d-source-list{display:grid;grid-template-columns:1fr;gap:6px}.cfd2d-source-list button{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) 46px 52px;align-items:center;gap:6px;min-height:30px;padding:5px 7px;color:#b9d9e7;background:#0f172a94;border:1px solid rgba(148,163,184,.14);border-radius:7px;font:inherit}.cfd2d-source-list button.active{color:#fef9c3;background:#78716c38;border-color:#fef9c39e}.cfd2d-source-list span,.cfd2d-source-list strong,.cfd2d-source-list em{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cfd2d-source-list span{font-size:10px;font-weight:900}.cfd2d-source-list strong,.cfd2d-source-list em{font-family:var(--font-mono);font-size:9px;text-align:right}.cfd2d-source-list em{color:#94a3b8;font-style:normal}.cfd2d-validation-case-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.cfd2d-axisym-preset-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.cfd2d-validation-case-grid button,.cfd2d-axisym-preset-grid button{min-width:0;height:28px;padding:0 8px;color:#b9d9e7;background:#0f172a8c;border:1px solid rgba(148,163,184,.14);border-radius:7px;font:inherit;font-size:10px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cfd2d-validation-case-grid button.active,.cfd2d-axisym-preset-grid button.active{color:#04131f;background:#a3e635;border-color:#a3e635db}.cfd2d-validation-card{display:flex;flex-direction:column;gap:8px;padding:8px;color:#dff9ff;background:#040b15a8;border:1px solid rgba(148,163,184,.12);border-radius:8px}.cfd2d-validation-title{min-width:0;display:flex;flex-direction:column;gap:2px}.cfd2d-validation-title span{color:#f8fafc;font-size:10px;font-weight:900}.cfd2d-validation-title strong{color:#94a3b8;font-size:9px;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cfd2d-validation-table{display:flex;flex-direction:column;gap:5px}.cfd2d-validation-row{min-width:0;display:grid;grid-template-columns:minmax(68px,.9fr) minmax(74px,1fr) minmax(74px,1fr) 38px;align-items:center;gap:6px;padding:6px;background:#0f172a94;border:1px solid rgba(148,163,184,.12);border-radius:7px}.cfd2d-validation-row span,.cfd2d-validation-row em,.cfd2d-validation-row b{min-width:0;font-size:8px;font-weight:850}.cfd2d-validation-row span{color:#bae6fd;text-transform:uppercase}.cfd2d-validation-row strong{min-width:0;color:#f8fafc;font-size:9px;font-family:var(--font-mono);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cfd2d-validation-row em{color:#94a3b8;font-style:normal;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cfd2d-validation-row b{justify-self:end;padding:2px 5px;border-radius:999px;color:#04131f;background:#fbbf24}.cfd2d-validation-row.status-pass b{background:#a3e635}.cfd2d-validation-row.status-pending b{color:#dff9ff;background:#94a3b838}.cfd2d-validation-empty{margin:0;color:#94a3b8;font-size:10px;line-height:1.35}.cfd2d-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.cfd2d-slider-grid{display:flex;flex-direction:column;gap:8px}.cfd2d-slider-grid label{min-width:0;display:grid;grid-template-columns:38px minmax(0,1fr) 46px;align-items:center;gap:8px;padding:7px 8px;background:#0f172a94;border:1px solid rgba(148,163,184,.12);border-radius:7px}.cfd2d-slider-grid span{color:#94a3b8;font-size:9px;font-weight:900;text-transform:uppercase}.cfd2d-slider-grid input{min-width:0;width:100%;accent-color:#67e8f9}.cfd2d-slider-grid select{min-width:0;width:100%;height:26px;padding:0 7px;color:#e0f2fe;background:#0f172ac2;border:1px solid rgba(56,215,255,.18);border-radius:7px;font:inherit;font-size:10px}.cfd2d-slider-grid strong{color:#f8fafc;font-size:10px;font-family:var(--font-mono);text-align:right}.cfd2d-burst-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.cfd2d-burst-grid button{min-width:0;height:28px;padding:0 8px;color:#04131f;background:#67e8f9;border:1px solid rgba(103,232,249,.86);border-radius:7px;font:inherit;font-size:10px;font-weight:900}.cfd2d-burst-grid button:hover{background:#a3e635;border-color:#a3e635db}.cfd2d-probe-table{display:flex;flex-direction:column;gap:6px}.cfd2d-bottom{display:flex;align-items:center;gap:8px;padding:8px 10px 10px;border-top:1px solid rgba(148,163,184,.1)}.cfd2d-bottom-chip{justify-content:center;color:#bae6fd;font-size:10px;font-weight:800}.cfd2d-panel-resize-grip{position:absolute;right:5px;bottom:5px;z-index:8;width:22px;height:22px;cursor:nwse-resize;border-radius:5px}.cfd2d-panel-resize-grip:before,.cfd2d-panel-resize-grip:after{content:"";position:absolute;right:5px;bottom:5px;border-right:2px solid rgba(103,232,249,.46);border-bottom:2px solid rgba(103,232,249,.46);border-radius:1px}.cfd2d-panel-resize-grip:before{width:13px;height:13px}.cfd2d-panel-resize-grip:after{width:7px;height:7px}.cfd2d-panel-resize-grip:hover{background:#67e8f91a}.cfd2d-panel-resize-grip:hover:before,.cfd2d-panel-resize-grip:hover:after{border-color:#67e8f9e6}@media(max-width:980px){.cfd2d-module-rack{left:12px;right:12px;top:58px;width:auto;min-width:0}.cfd2d-main{grid-template-columns:minmax(0,1fr)}.cfd2d-toolbar{flex-wrap:wrap}.cfd2d-tool-cluster{margin-left:auto}.cfd2d-side{max-height:260px}}.cfd-viewport-pill{position:absolute;top:14px;left:14px;height:30px;min-width:76px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 12px;border:1px solid rgba(0,173,239,.36);border-radius:999px;background:#0a1422eb;color:#94f0ff;font-size:11px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;box-shadow:0 10px 28px #00000061;backdrop-filter:blur(10px);z-index:125}.cfd-viewport-pill:hover{border-color:#00adefb3;background:#081a2cf5}.cfd-viewport-overlay{--text-primary: #e6f7ff;--text-secondary: #b8d8ea;--text-muted: #8ea9bb;position:absolute;top:14px;left:14px;width:min(340px,calc(100% - 28px));display:flex;flex-direction:column;gap:10px;padding:12px;border:1px solid rgba(0,173,239,.22);border-radius:14px;background:linear-gradient(180deg,#0a121efa,#080d18f2),#070c18f0;color:var(--text-primary);box-shadow:0 16px 48px #0000006b;backdrop-filter:blur(12px);z-index:125}.cfd-viewport-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.cfd-viewport-title{display:inline-flex;align-items:center;gap:7px;color:#94f0ff;font-size:11px;font-weight:700;letter-spacing:.45px;text-transform:uppercase}.cfd-viewport-collapse{width:22px;height:20px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(148,163,184,.28);border-radius:6px;background:#1e293b8c;color:#cbd5e1}.cfd-viewport-collapse:hover{border-color:#93c5fda6;color:#f8fafc}.cfd-viewport-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.cfd-viewport-summary-chip{display:flex;flex-direction:column;gap:3px;padding:8px 9px;border:1px solid rgba(255,255,255,.08);border-radius:10px;background:#ffffff08}.cfd-viewport-summary-label{font-size:9px;font-weight:700;color:var(--text-muted);letter-spacing:.35px;text-transform:uppercase}.cfd-viewport-summary-value{font-size:10px;font-family:var(--font-mono);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cfd-viewport-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.cfd-viewport-bc-strip{display:flex;flex-direction:column;gap:7px;padding:9px;border:1px solid rgba(56,215,255,.14);border-radius:10px;background:#ffffff06}.cfd-viewport-bc-flow{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:7px}.cfd-viewport-bc-inlet,.cfd-viewport-bc-outlet{min-width:30px;height:19px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;font-size:9px;font-weight:800;font-family:var(--font-mono)}.cfd-viewport-bc-inlet{color:#031923;background:#65efff}.cfd-viewport-bc-outlet{color:#f8fafc;background:#818cf8a6}.cfd-viewport-bc-arrow{position:relative;height:2px;border-radius:999px;background:linear-gradient(90deg,#65efff33,#65efffe6,#818cf8e0)}.cfd-viewport-bc-arrow:after{content:"";position:absolute;right:0;top:50%;width:8px;height:8px;border-top:2px solid rgba(129,140,248,.95);border-right:2px solid rgba(129,140,248,.95);transform:translateY(-50%) rotate(45deg)}.cfd-viewport-bc-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.cfd-viewport-bc-facts span{min-width:0;padding:5px 6px;border:1px solid rgba(255,255,255,.08);border-radius:7px;background:#060c166b;color:#dff9ff;font-size:9px;font-family:var(--font-mono);text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cfd-viewport-viz-controls{display:flex;flex-direction:column;gap:8px;padding:10px;border:1px solid rgba(255,255,255,.08);border-radius:10px;background:#ffffff06}.cfd-viewport-btn{min-height:32px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 10px;border:1px solid rgba(0,173,239,.18);border-radius:9px;background:#00adef14;color:#dff9ff;font-size:11px;font-weight:600}.cfd-viewport-btn:hover:not(:disabled){border-color:#00adef66;background:#00adef24}.cfd-viewport-btn:disabled{opacity:.45}.cfd-viewport-range{width:100%;accent-color:#38d7ff}.cfd-viewport-select{min-width:112px;height:28px;padding:0 9px;border:1px solid rgba(0,173,239,.22);border-radius:8px;background:#081424e6;color:var(--text-primary);font-size:11px;font-family:var(--font-mono)}.cfd-viewport-select:disabled{opacity:.45}.cfd-viewport-toggle{display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:pointer}.cfd-viewport-toggle-input{position:absolute;opacity:0;pointer-events:none}.cfd-viewport-toggle-track{position:relative;flex:0 0 auto;width:38px;height:22px;border:1px solid rgba(0,173,239,.24);border-radius:999px;background:#0f172acc;transition:background-color .12s ease,border-color .12s ease}.cfd-viewport-toggle-thumb{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#8aa7c7;box-shadow:0 2px 8px #00000052;transition:transform .12s ease,background-color .12s ease}.cfd-viewport-toggle-input:checked+.cfd-viewport-toggle-track{border-color:#38d7ff8f;background:#00adef38}.cfd-viewport-toggle-input:checked+.cfd-viewport-toggle-track .cfd-viewport-toggle-thumb{transform:translate(16px);background:#66efff}.cfd-viewport-toggle:hover .cfd-viewport-toggle-track{border-color:#38d7ff6b}.cfd-viewport-control-note{margin:0;font-size:10px;line-height:1.45;color:var(--text-secondary)}.cfd-viewport-canvas-shell{border:1px solid rgba(0,173,239,.18);border-radius:12px;padding:10px;background:radial-gradient(circle at top,rgba(0,173,239,.1),transparent 60%),#050912f2}.cfd-viewport-canvas{display:block;width:100%;max-height:164px;border-radius:8px;image-rendering:pixelated;background:linear-gradient(180deg,#0f172afa,#080d18fa)}.cfd-viewport-stats{display:flex;flex-direction:column;gap:6px;padding:10px;border:1px solid rgba(255,255,255,.08);border-radius:10px;background:#ffffff06}.cfd-viewport-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.cfd-viewport-label{flex:0 0 auto;font-size:10px;font-weight:700;color:var(--text-muted);letter-spacing:.35px;text-transform:uppercase}.cfd-viewport-value{min-width:0;font-size:11px;color:var(--text-primary);font-family:var(--font-mono);text-align:right}.cfd-viewport-note,.cfd-viewport-footnote{margin:0;font-size:11px;line-height:1.45}.cfd-viewport-note{color:var(--text-secondary)}.cfd-viewport-footnote{color:#76dfff}.cfd-viewport-legend{--text-primary: #e6f7ff;--text-secondary: #b8d8ea;--text-muted: #8ea9bb;position:absolute;right:18px;bottom:146px;width:min(240px,calc(100% - 36px));display:flex;flex-direction:column;gap:8px;padding:12px 12px 10px;border:1px solid rgba(0,173,239,.2);border-radius:12px;background:linear-gradient(180deg,#0a121ef0,#080d18e6),#070c18e6;color:var(--text-primary);box-shadow:0 16px 42px #00000057;backdrop-filter:blur(12px);z-index:124;pointer-events:none}.cfd-viewport-legend-header,.cfd-viewport-legend-scale,.cfd-viewport-legend-mid{display:flex;align-items:center;justify-content:space-between;gap:10px}.cfd-viewport-legend-title,.cfd-viewport-legend-units{font-size:10px;font-weight:700;letter-spacing:.35px;text-transform:uppercase}.cfd-viewport-legend-title{color:#dff9ff}.cfd-viewport-legend-units{color:#7ee7ff}.cfd-viewport-legend-bar{height:12px;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:linear-gradient(90deg,#30123b,#325ab4,#22a7f0 28%,#26bc80 44%,#a4dd4c 62%,#ffc12e 78%,#f46622 90%,#b40426);box-shadow:inset 0 1px #ffffff2e}.cfd-viewport-legend-scale,.cfd-viewport-legend-mid{font-size:11px;color:var(--text-secondary);font-family:var(--font-mono)}@media(max-width:960px){.cfd-viewport-overlay{width:min(320px,calc(100% - 24px));top:12px;left:12px}.cfd-viewport-legend{right:12px;bottom:134px;width:min(220px,calc(100% - 24px))}}.thermal-panel{--text-primary: #fff4e6;--text-secondary: #f4cfaa;--text-muted: #c99670;--border-subtle: rgba(255, 160, 102, .12);width:100%;background:linear-gradient(180deg,#1f120cfa,#160c08fa);border-bottom:1px solid var(--border-subtle);color:var(--text-primary)}.thermal-panel-header{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg,#1f120cfa,#160c08f0);color:#ffd6ae;font-size:13px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;cursor:pointer}.thermal-panel-collapse{width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(255,214,174,.2);border-radius:6px;background:#ffffff0a;color:#ffd6ae}.thermal-panel-content{display:flex;flex-direction:column;gap:14px;padding:18px 16px 20px}.thermal-panel-title{font-size:11px;font-weight:700;letter-spacing:.45px;text-transform:uppercase;color:#ffb86c}.thermal-section{display:flex;flex-direction:column;gap:10px;padding:12px;border:1px solid rgba(255,255,255,.08);border-radius:12px;background:#ffffff06}.thermal-section-title{font-size:10px;font-weight:700;color:var(--text-muted);letter-spacing:.35px;text-transform:uppercase}.thermal-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.thermal-row.compact{min-height:18px}.thermal-label{font-size:10px;font-weight:700;letter-spacing:.35px;text-transform:uppercase;color:var(--text-muted)}.thermal-value{min-width:0;text-align:right;font-size:11px;color:var(--text-primary);font-family:var(--font-mono);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.thermal-field{display:flex;flex-direction:column;gap:6px}.thermal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.thermal-input{width:100%;min-height:32px;padding:0 10px;border:1px solid rgba(255,160,102,.18);border-radius:9px;background:#150d09eb;color:var(--text-primary);font-size:12px}.thermal-input:focus{border-color:#ffa0667a;box-shadow:0 0 0 3px #ffa06624}.thermal-inline-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.thermal-btn{min-height:34px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 10px;border:1px solid rgba(255,160,102,.18);border-radius:9px;background:#ffa06614;color:#ffe0bf;font-size:11px;font-weight:600}.thermal-btn:hover:not(:disabled){border-color:#ffa06666;background:#ffa06624}.thermal-btn:disabled{opacity:.45}.thermal-btn-primary{grid-column:1 / -1;background:linear-gradient(180deg,#ff843d29,#ff6e2b1f)}.thermal-note{margin:0;font-size:11px;line-height:1.45;color:var(--text-secondary)}.thermal-stats{display:flex;flex-direction:column;gap:6px}.thermal-status{text-transform:uppercase;letter-spacing:.35px}.thermal-status-completed{color:#8dffcb}.thermal-status-failed{color:#ff9f9f}.thermal-status-stub,.thermal-status-idle{color:#fcd34d}.thermal-error{padding:10px 11px;border:1px solid rgba(239,68,68,.22);border-radius:10px;background:#ef444414;color:#fecaca;font-size:11px;line-height:1.45}.thermal-warning-list{display:flex;flex-direction:column;gap:6px}.thermal-warning-chip{padding:8px 10px;border:1px solid rgba(245,158,11,.22);border-radius:9px;background:#f59e0b14;color:#fde68a;font-size:10px;line-height:1.4}.thermal-validation-chip{color:#ffe9d2}.thermal-validation-chip strong{color:#fff4e6}.thermal-validation-chip-passed{border-color:#4ade8047;background:#4ade8014;color:#c7f9d7}.thermal-validation-chip-failed{border-color:#f8717147;background:#f8717114;color:#fecaca}.thermal-capability{display:flex;gap:8px;padding:10px 12px;border:1px solid rgba(255,160,102,.14);border-radius:12px;background:#ffa0660f;color:#ffd6ae;font-size:11px;line-height:1.5}.thermal-sidebar{display:flex;flex-direction:column;width:187px;min-width:155px;background:linear-gradient(180deg,#1a1f28,#13171e);border-right:1px solid rgba(255,255,255,.06);overflow:hidden}.thermal-sidebar-objects{flex:1 1 auto;min-height:220px;overflow:hidden}.thermal-sidebar .object-list,.thermal-sidebar .object-list.collapsed{width:100%;min-width:0;max-width:none;border-right:none}.thermal-sidebar .object-list{height:100%}.thermal-contacts-panel{display:flex;flex-direction:column;min-height:250px;max-height:46%;border-top:1px solid rgba(255,255,255,.08);background:radial-gradient(circle at top left,rgba(255,145,77,.12),transparent 45%),linear-gradient(180deg,#371c0ef2,#1a100bfa)}.thermal-contacts-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.5px;color:#ffcfaa;border-bottom:1px solid rgba(255,180,120,.12)}.thermal-contacts-count{background:#ffa25924;color:#ffb671;padding:2px 6px;border-radius:var(--radius-full);font-size:9px}.thermal-contacts-content{display:flex;flex-direction:column;gap:var(--spacing-sm);padding:var(--spacing-sm);overflow-y:auto}.thermal-contacts-content::-webkit-scrollbar{width:4px}.thermal-contacts-content::-webkit-scrollbar-track{background:transparent}.thermal-contacts-content::-webkit-scrollbar-thumb{background:#ffb47833;border-radius:var(--radius-full)}.thermal-contacts-section{display:flex;flex-direction:column;gap:var(--spacing-xs)}.thermal-contacts-section-title{font-size:10px;font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.4px;color:#ffdbbcb8}.thermal-target-chip-list{display:flex;flex-direction:column;gap:6px}.thermal-target-chip{display:flex;flex-direction:column;gap:2px;padding:8px 9px;border-radius:var(--radius-sm);background:#ffad6612;border:1px solid rgba(255,173,102,.14)}.thermal-target-chip-name{font-size:11px;font-weight:var(--font-weight-medium);color:#ffe2c7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.thermal-target-chip-key{font-size:9px;color:#ffd5b280;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.thermal-contacts-toolbar{display:grid;grid-template-columns:1fr 1fr;gap:8px}.thermal-contacts-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 10px;border-radius:var(--radius-sm);border:1px solid rgba(255,178,115,.18);background:#ffb27312;color:#ffd7b5;font-size:10px;font-weight:var(--font-weight-semibold);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast)}.thermal-contacts-btn:hover:not(:disabled){background:#ffb2731f;border-color:#ffb27347}.thermal-contacts-btn:disabled{opacity:.4;cursor:not-allowed}.thermal-contacts-btn-primary{background:linear-gradient(180deg,#ffa15c33,#ff773d24);border-color:#ffa15c5c}.thermal-contacts-empty{padding:10px;border-radius:var(--radius-sm);background:#ffffff08;border:1px dashed rgba(255,186,132,.15);color:#ffe0c6b8;font-size:11px;line-height:1.45}.thermal-contact-list{display:flex;flex-direction:column;gap:8px}.thermal-contact-card{display:flex;flex-direction:column;gap:8px;padding:10px;border-radius:var(--radius-md);background:#0000002e;border:1px solid rgba(255,186,132,.14);box-shadow:inset 0 1px #ffffff08}.thermal-contact-card-header{display:flex;align-items:center;justify-content:space-between}.thermal-contact-card-title{font-size:10px;font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.45px;color:#ffdfc1d1}.thermal-contact-remove{width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:var(--radius-sm);background:#ff785c14;color:#ffc1b0eb;cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.thermal-contact-remove:hover{background:#ff785c29;color:#ffd4c8}.thermal-contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px}.thermal-contact-field{display:flex;flex-direction:column;gap:5px}.thermal-contact-label{font-size:9px;font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.35px;color:#ffdac099}.thermal-contact-input{width:100%;min-width:0;padding:7px 8px;border-radius:var(--radius-sm);border:1px solid rgba(255,183,122,.18);background:#ffffff0a;color:#ffe6d0;font-size:11px}.thermal-contact-input:focus{outline:none;border-color:#ffac686b;box-shadow:0 0 0 1px #ffac682e}.thermal-contact-meta{font-size:10px;color:#ffd9bd94}.thermal-viewport-pill{position:absolute;top:14px;left:14px;height:30px;min-width:92px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 12px;border:1px solid rgba(255,160,102,.34);border-radius:999px;background:#180d08f0;color:#ffd0a8;font-size:11px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;box-shadow:0 10px 28px #00000061;backdrop-filter:blur(10px);z-index:124}.thermal-viewport-overlay{--thermal-viewport-text-primary: #fff1df;--thermal-viewport-text-secondary: #f5c7a2;--thermal-viewport-text-muted: #d6a584;position:absolute;top:14px;left:14px;width:min(320px,calc(100% - 28px));display:flex;flex-direction:column;gap:10px;padding:12px;border:1px solid rgba(255,160,102,.22);border-radius:14px;background:linear-gradient(180deg,#1d100afa,#120a07f2),#140a06f0;color:var(--thermal-viewport-text-primary);box-shadow:0 16px 48px #0000006b;backdrop-filter:blur(12px);z-index:124}.thermal-viewport-header,.thermal-viewport-row,.thermal-viewport-legend-header,.thermal-viewport-legend-scale,.thermal-viewport-legend-mid{display:flex;align-items:center;justify-content:space-between;gap:10px}.thermal-viewport-title{display:inline-flex;align-items:center;gap:7px;color:#ffd0a8;font-size:11px;font-weight:700;letter-spacing:.45px;text-transform:uppercase}.thermal-viewport-collapse{width:22px;height:20px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(255,208,168,.22);border-radius:6px;background:#ffffff0d;color:#f8d8bc}.thermal-viewport-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.thermal-viewport-summary-chip,.thermal-viewport-stats,.thermal-viewport-history,.thermal-viewport-validation,.thermal-viewport-parts{padding:10px;border:1px solid rgba(255,255,255,.08);border-radius:10px;background:#ffffff08}.thermal-viewport-summary-chip{display:flex;flex-direction:column;gap:3px}.thermal-viewport-summary-label,.thermal-viewport-label,.thermal-viewport-legend-title,.thermal-viewport-legend-units{font-size:10px;font-weight:700;letter-spacing:.35px;text-transform:uppercase}.thermal-viewport-summary-label,.thermal-viewport-label{color:var(--thermal-viewport-text-muted)}.thermal-viewport-summary-value,.thermal-viewport-value,.thermal-viewport-legend-scale,.thermal-viewport-legend-mid{font-size:11px;color:var(--thermal-viewport-text-primary);font-family:var(--font-mono)}.thermal-viewport-summary-value,.thermal-viewport-value{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:right}.thermal-viewport-status-completed{color:#8dffcb}.thermal-viewport-status-failed{color:#ffadad}.thermal-viewport-status-idle,.thermal-viewport-status-stub{color:#fcd34d}.thermal-viewport-stats{display:flex;flex-direction:column;gap:7px}.thermal-viewport-history,.thermal-viewport-validation,.thermal-viewport-parts,.thermal-viewport-part-list{display:flex;flex-direction:column;gap:8px}.thermal-viewport-part-card{padding:8px 9px;border:1px solid rgba(255,255,255,.06);border-radius:8px;background:#ffffff06}.thermal-viewport-history-header,.thermal-viewport-history-scale{display:flex;align-items:center;justify-content:space-between;gap:10px}.thermal-viewport-history-chart{width:100%;height:64px;border-radius:8px;background:linear-gradient(180deg,#ffb87f1a,#ffb87f05),#ffffff05;overflow:hidden}.thermal-viewport-note,.thermal-viewport-footnote,.thermal-viewport-error{margin:0;font-size:11px;line-height:1.45}.thermal-viewport-note{color:var(--thermal-viewport-text-secondary)}.thermal-viewport-footnote{color:#ffd0a8}.thermal-viewport-error{padding:10px 11px;border:1px solid rgba(239,68,68,.22);border-radius:10px;background:#ef444414;color:#fecaca}.thermal-viewport-legend{--thermal-viewport-text-primary: #fff1df;--thermal-viewport-text-secondary: #f5c7a2;--thermal-viewport-text-muted: #d6a584;position:absolute;right:18px;bottom:146px;width:min(232px,calc(100% - 36px));display:flex;flex-direction:column;gap:8px;padding:12px 12px 10px;border:1px solid rgba(255,160,102,.2);border-radius:12px;background:linear-gradient(180deg,#1d100af0,#120a07e6),#140a06e6;color:var(--thermal-viewport-text-primary);box-shadow:0 16px 42px #00000057;backdrop-filter:blur(12px);z-index:123;pointer-events:none}.thermal-viewport-legend-title{color:#ffe7d0}.thermal-viewport-legend-units{color:#ffb87f}.thermal-viewport-legend-bar{height:12px;border-radius:999px;border:1px solid rgba(255,255,255,.14);box-shadow:inset 0 1px #ffffff2e}@media(max-width:960px){.thermal-viewport-overlay{width:min(304px,calc(100% - 24px));top:12px;left:12px}.thermal-viewport-legend{right:12px;width:min(220px,calc(100% - 24px))}}.ecad-module-rack{position:absolute;top:12px;left:12px;z-index:35;width:clamp(620px,60vw,1040px);min-width:360px;max-width:calc(100vw - 24px);max-height:calc(100% - 24px);display:flex;flex-direction:column;gap:8px;overflow:visible;padding-right:2px;pointer-events:none}.ecad-module-rack>*{pointer-events:auto}.ecad-architecture-shell{position:relative;width:100%;max-width:calc(100vw - 24px);height:clamp(360px,45vh,660px);min-height:260px;display:flex;flex-direction:column;overflow:hidden;color:#13212b;background:linear-gradient(180deg,#fcfbf7,#f4f0e8);border:1px solid rgba(15,23,42,.28);border-radius:8px;box-shadow:0 18px 44px #0000006b,0 0 0 1px #ffffff8c;user-select:none}.ecad-module-panel-resize-grip{position:absolute;right:5px;bottom:5px;z-index:8;width:22px;height:22px;cursor:nwse-resize;border-radius:5px;pointer-events:auto}.ecad-module-panel-resize-grip:before,.ecad-module-panel-resize-grip:after{content:"";position:absolute;right:5px;bottom:5px;border-right:2px solid rgba(103,232,249,.46);border-bottom:2px solid rgba(103,232,249,.46);border-radius:1px}.ecad-module-panel-resize-grip:before{width:13px;height:13px}.ecad-module-panel-resize-grip:after{width:7px;height:7px}.ecad-module-panel-resize-grip:hover{background:#67e8f91a}.ecad-module-panel-resize-grip:hover:before,.ecad-module-panel-resize-grip:hover:after{border-color:#67e8f9e6}.ecad-architecture-collapsed{position:relative;display:inline-flex;align-items:center;align-self:flex-start;gap:7px;height:34px;padding:0 11px;color:#e6fffb;background:#08141af0;border:1px solid rgba(89,232,211,.28);border-radius:8px;cursor:pointer;box-shadow:0 8px 28px #0000006b;font:inherit;font-size:11px;font-weight:800}.ecad-architecture-collapsed svg{color:#67e8f9}.ecad-architecture-titlebar{height:44px;display:flex;align-items:center;gap:8px;padding:8px 10px;color:#f8fafc;background:linear-gradient(90deg,#111827,#202733);border-bottom:1px solid rgba(15,23,42,.24)}.ecad-architecture-mark{width:28px;height:28px;display:flex;align-items:center;justify-content:center;color:#0f172a;background:linear-gradient(135deg,#67e8f9,#facc15);border-radius:7px}.ecad-architecture-titlecopy{flex:1 1 auto;min-width:0}.ecad-architecture-titlecopy span,.ecad-architecture-titlecopy strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ecad-architecture-titlecopy span{color:#93c5fd;font-size:9px;font-weight:900;text-transform:uppercase}.ecad-architecture-titlecopy strong{color:#f8fafc;font-size:13px;font-weight:850}.ecad-architecture-facts{display:flex;flex:0 0 auto;gap:6px;min-width:0;justify-content:flex-end}.ecad-architecture-source-toggle{display:inline-flex;flex:0 0 auto;align-items:center;gap:3px;padding:3px;background:#0f172a47;border:1px solid rgba(226,232,240,.14);border-radius:7px}.ecad-architecture-source-toggle+.ecad-architecture-facts{margin-left:0}.ecad-architecture-source-toggle button{min-width:42px;height:22px;padding:0 8px;color:#cbd5e1;background:transparent;border:0;border-radius:5px;font:inherit;font-size:9px;font-weight:900;cursor:pointer}.ecad-architecture-source-toggle button.active{color:#06202a;background:#bae6fd}.ecad-architecture-facts span{min-width:0;padding:3px 7px;color:#0f172a;background:#e0f2fe;border:1px solid rgba(14,165,233,.25);border-radius:999px;font-size:9px;font-weight:900;white-space:nowrap}@media(max-width:760px){.ecad-architecture-facts{display:none}}.ecad-architecture-titlebar button{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;color:#e0f2fe;background:#ffffff14;border:1px solid rgba(255,255,255,.16);border-radius:7px;cursor:pointer}.ecad-architecture-titlebar .ecad-architecture-source-toggle button{width:auto;min-width:42px;height:22px;padding:0 8px;color:#cbd5e1;background:transparent;border:0;border-radius:5px}.ecad-architecture-titlebar .ecad-architecture-source-toggle button.active{color:#06202a;background:#bae6fd}.ecad-architecture-paper{min-height:0;flex:1;padding:10px;background:linear-gradient(180deg,#ffffffb3,#efe8db9e),#f8f5ed}.ecad-architecture-svg{width:100%;height:100%;display:block;touch-action:none;cursor:grab}.ecad-architecture-svg.panning{cursor:grabbing}.ecad-architecture-page{fill:#fffdfa;stroke:#111827;stroke-width:1.1}.ecad-architecture-frame{fill:none;stroke:#111827b8;stroke-width:1}.ecad-architecture-gridline{fill:none;stroke:#64748b29;stroke-width:.8}.ecad-architecture-major-gridline{fill:none;stroke:#64748b40;stroke-width:1}.ecad-architecture-ruler,.ecad-architecture-brand{fill:#475569;font-family:var(--font-mono);font-size:9px;font-weight:800;text-anchor:middle}.ecad-architecture-brand{fill:#334155;font-size:12px;letter-spacing:0}.ecad-architecture-wires path{fill:none;stroke:#1e1b4b;stroke-linecap:square;stroke-linejoin:miter;stroke-width:1.5}.ecad-architecture-wires .ecad-architecture-node-spoke{stroke:#4338ca;stroke-linecap:round;stroke-width:1.35}.ecad-architecture-group rect{fill:#f8fafc6b;stroke:#1e293b33;stroke-width:1}.ecad-architecture-group path{fill:none;stroke:#1e293b24;stroke-width:1}.ecad-architecture-group.tone-source rect{fill:#dbeafe5c;stroke:#2563eb38}.ecad-architecture-group.tone-gain rect{fill:#fef3c757;stroke:#d977063d}.ecad-architecture-group.tone-filter rect{fill:#dcfce757;stroke:#16a34a38}.ecad-architecture-group.tone-output rect{fill:#e0f2fe57;stroke:#0ea5e93d}.ecad-architecture-group text{font-family:var(--font-mono);font-size:8px;font-weight:950;letter-spacing:0;pointer-events:none}.ecad-architecture-group-label{fill:#0f172a;text-anchor:start}.ecad-architecture-group-detail{fill:#64748b;text-anchor:end}.ecad-architecture-rail line,.ecad-architecture-rail path{fill:none;stroke:#334155;stroke-linecap:square;stroke-linejoin:miter;stroke-width:1.25}.ecad-architecture-rail.ground line{stroke:#7c2d12}.ecad-architecture-rail.supply line,.ecad-architecture-rail.supply path{stroke:#1d4ed8}.ecad-architecture-rail text{fill:#1d4ed8;font-family:var(--font-mono);font-size:7px;font-weight:950;pointer-events:none;text-anchor:middle}.ecad-architecture-part line,.ecad-architecture-part path,.ecad-architecture-part polyline,.ecad-architecture-part polygon,.ecad-architecture-part circle{fill:none;stroke:#111827;stroke-linecap:square;stroke-linejoin:miter;stroke-width:1.45}.ecad-architecture-part polygon,.ecad-architecture-part rect{fill:#fff6b8}.ecad-architecture-part .analog polygon{fill:#d1d5db}.ecad-architecture-part .logic rect{fill:#fff4a3;stroke:#8a5b00}.ecad-architecture-part .ecad-arch-logic-block,.ecad-architecture-part .ecad-arch-logic-gate-body{fill:#fff4a3;stroke:#8a5b00;stroke-linejoin:round}.ecad-architecture-part .ecad-arch-logic-bubble{fill:#fffdfa;stroke:#8a5b00}.ecad-architecture-part .ecad-arch-logic-xor-mark,.ecad-architecture-part .ecad-arch-clock-mark{fill:none;stroke:#8a5b00;stroke-linecap:round;stroke-linejoin:round}.ecad-architecture-part .ecad-arch-probe-tip{fill:#e0f2fe;stroke:#0369a1;stroke-linejoin:round}.ecad-architecture-part .ecad-arch-probe-meter{fill:#eff6ff;stroke:#0369a1}.ecad-architecture-part .ecad-arch-probe-v{fill:#075985!important;font-size:7.5px!important;font-weight:950!important}.ecad-architecture-part .ecad-arch-led-ray{fill:none;stroke:#ca8a04;stroke-linecap:round;stroke-linejoin:round}.ecad-architecture-part text,.ecad-architecture-net text{fill:#1f2937;font-family:var(--font-mono);font-size:8px;font-weight:850;pointer-events:none;text-anchor:middle}.ecad-arch-symbol-title{font-size:9px!important}.ecad-arch-pin-label{fill:#7c2d12!important;font-size:6.6px!important;font-weight:950!important}.ecad-arch-opamp-label{fill:#334155!important;font-size:6.4px!important;font-weight:950!important}.ecad-architecture-terminal{fill:#7f1d1d!important;stroke:#fff!important;stroke-width:1.2!important}.ecad-architecture-terminal.disconnected{fill:#fff!important;stroke:#dc2626!important;stroke-width:1.8!important}.ecad-architecture-net circle{fill:#fffdfa;stroke:#1e1b4b;stroke-width:1.45}.ecad-architecture-net.ground circle{fill:#fff7ed;stroke:#8a5b00}.ecad-board-arch-stage{fill:#f8fafc7a;stroke:#1e293b2e;stroke-width:1}.ecad-board-arch-net{cursor:pointer}.ecad-board-arch-net .ecad-board-arch-bus,.ecad-board-arch-net path{fill:none;stroke:#334155;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5}.ecad-board-arch-net circle{fill:#fffdfa;stroke:#334155;stroke-width:1}.ecad-board-arch-net rect{fill:#f8fafc;stroke:#33415552;stroke-width:.8}.ecad-board-arch-net text{fill:#1f2937;font-family:var(--font-mono);font-size:7px;font-weight:950;pointer-events:none;text-anchor:end}.ecad-board-arch-net.tone-ground .ecad-board-arch-bus,.ecad-board-arch-net.tone-ground path,.ecad-board-arch-net.tone-ground circle{stroke:#7c2d12}.ecad-board-arch-net.tone-ground rect{fill:#fff7ed;stroke:#7c2d1266}.ecad-board-arch-net.tone-ground text{fill:#7c2d12}.ecad-board-arch-net.tone-power .ecad-board-arch-bus,.ecad-board-arch-net.tone-power path,.ecad-board-arch-net.tone-power circle{stroke:#2563eb}.ecad-board-arch-net.tone-power rect{fill:#eff6ff;stroke:#2563eb59}.ecad-board-arch-net.tone-power text{fill:#1d4ed8}.ecad-board-arch-net.tone-signal .ecad-board-arch-bus,.ecad-board-arch-net.tone-signal path,.ecad-board-arch-net.tone-signal circle{stroke:#475569}.ecad-board-arch-net.active .ecad-board-arch-bus,.ecad-board-arch-net.active path,.ecad-board-arch-net.active circle{stroke:#d97706;stroke-width:2.4}.ecad-board-arch-net.active rect{fill:#fef3c7;stroke:#d97706}.ecad-board-arch-node rect{fill:#fff;stroke:#475569;stroke-width:1.1}.ecad-board-arch-node.tone-connector rect{fill:#ecfeff;stroke:#0891b2;stroke-width:1.4}.ecad-board-arch-node.tone-ic rect{fill:#f1f5f9;stroke:#0f172a;stroke-width:1.4}.ecad-board-arch-node.tone-power rect{fill:#eff6ff;stroke:#2563eb;stroke-width:1.3}.ecad-board-arch-node.tone-passive rect{fill:#fffbeb;stroke:#a16207}.ecad-board-arch-node.tone-other rect{fill:#f8fafc;stroke:#64748b}.ecad-board-arch-connector-mouth{fill:none;stroke:#0891b2;stroke-width:1.2;stroke-linejoin:round}.ecad-board-arch-refdes,.ecad-board-arch-detail,.ecad-board-arch-hidden{font-family:var(--font-mono);pointer-events:none;text-anchor:middle}.ecad-board-arch-refdes{fill:#0f172a;font-size:8px;font-weight:950}.ecad-board-arch-detail{fill:#475569;font-size:6.8px;font-weight:850}.ecad-board-arch-hidden{fill:#64748b;font-size:8px;font-weight:950;text-anchor:end}.ecad-architecture-label-bg{fill:#fffdfa!important;stroke:#cbd5e1!important;stroke-width:.8!important}.ecad-architecture-label{fill:#111827!important;font-size:9px!important;font-weight:900!important}.ecad-architecture-value-label{fill:#475569!important;font-size:7px!important;font-weight:850!important}.ecad-bench-shell{position:relative;width:100%;max-width:calc(100vw - 24px);height:clamp(340px,48vh,640px);min-width:360px;min-height:340px;display:flex;flex-direction:column;overflow:hidden;color:#d9f7ee;background:linear-gradient(135deg,#091f27f0,#0c272ce6),radial-gradient(circle at 12% 0%,rgba(94,234,212,.14),transparent 38%);border:1px solid rgba(89,232,211,.22);border-radius:8px;box-shadow:0 18px 46px #0000007a,0 0 0 1px #facc1514;backdrop-filter:blur(12px);user-select:none}.ecad-bench-collapsed{position:relative;display:inline-flex;align-items:center;align-self:flex-start;gap:7px;height:34px;padding:0 11px;color:#d9f7ee;background:#08141af0;border:1px solid rgba(89,232,211,.28);border-radius:8px;cursor:pointer;box-shadow:0 8px 28px #0000006b;font:inherit;font-size:11px;font-weight:800}.ecad-bench-collapsed svg{color:#5eead4}.ecad-bench-titlebar{height:45px;display:grid;grid-template-columns:28px minmax(0,1fr) 28px;align-items:center;gap:8px;padding:8px 10px;border-bottom:1px solid rgba(89,232,211,.16);background:#030c12c7}.ecad-bench-mark{width:28px;height:28px;display:flex;align-items:center;justify-content:center;color:#07120f;background:linear-gradient(135deg,#5eead4,#facc15);border-radius:7px}.ecad-bench-titlecopy{min-width:0}.ecad-bench-titlecopy span{display:block;color:#67e8f9;font-size:9px;font-weight:850;text-transform:uppercase}.ecad-bench-titlecopy strong{display:block;overflow:hidden;color:#f8fafc;font-size:13px;font-weight:850;text-overflow:ellipsis;white-space:nowrap}.ecad-bench-titlebar button,.ecad-bench-icon-button{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;color:#bae6fd;background:#94a3b814;border:1px solid rgba(148,163,184,.18);border-radius:7px;cursor:pointer}.ecad-bench-titlebar button:hover,.ecad-bench-icon-button:hover{color:#f8fafc;background:#5eead41f;border-color:#5eead452}.ecad-bench-icon-button:disabled{color:#64748b;background:#64748b14;border-color:#64748b1f;cursor:not-allowed}.ecad-bench-toolbar{display:flex;align-items:center;gap:7px;padding:8px 10px;border-bottom:1px solid rgba(148,163,184,.1)}.ecad-bench-starters{display:grid;grid-template-columns:repeat(auto-fit,minmax(58px,1fr));gap:5px;flex:1}.ecad-bench-starters button,.ecad-bench-module,.ecad-bench-section-head button,.ecad-bench-wide-button{min-height:28px;padding:5px 8px;color:#a7f3d0;background:#0f766e1f;border:1px solid rgba(45,212,191,.18);border-radius:7px;cursor:pointer;font:inherit;font-size:10px;font-weight:800}.ecad-bench-starters button.active,.ecad-bench-starters button:hover,.ecad-bench-module:hover,.ecad-bench-wide-button:hover{color:#0f172a;background:linear-gradient(135deg,#5eead4,#facc15);border-color:#facc1561}.ecad-bench-icon-button.primary{color:#0f172a;background:#facc15;border-color:#facc157a}.ecad-bench-icon-button.active{color:#06151b;background:#67e8f9;border-color:#67e8f99e;box-shadow:0 0 14px #67e8f947}.ecad-bench-wire-tool,.ecad-bench-ground-toggle{width:auto;min-width:58px;gap:5px;padding:0 8px}.ecad-bench-wire-tool span,.ecad-bench-ground-toggle span{font-size:10px;font-weight:900}.ecad-bench-main{min-height:0;display:grid;grid-template-columns:minmax(230px,1fr) minmax(188px,235px);gap:8px;padding:8px 10px;flex:1}.ecad-bench-canvas-wrap{min-width:0;min-height:0;overflow:hidden;border:1px solid rgba(89,232,211,.16);border-radius:8px;background:#09222a}.ecad-bench-canvas{width:100%;height:100%;display:block;touch-action:none;cursor:grab}.ecad-bench-canvas.panning{cursor:grabbing}.ecad-bench-canvas.wiring{cursor:crosshair}.ecad-bench-canvas-bg{fill:#09222a}.ecad-bench-grid-line{fill:none;stroke:#7dd3fc1a;stroke-width:1}.ecad-bench-wire-visible,.ecad-bench-terminal-line{fill:none;stroke:#facc15ad;stroke-linejoin:round;stroke-linecap:round;stroke-width:3}.ecad-bench-wire-hit{fill:none;stroke:transparent;stroke-linecap:round;stroke-linejoin:round;stroke-width:16;cursor:pointer;pointer-events:stroke}.ecad-bench-wire.selected .ecad-bench-wire-visible{stroke:#67e8f9;stroke-width:5;filter:drop-shadow(0 0 7px rgba(103,232,249,.7))}.ecad-bench-wire-hop{fill:none;stroke:#facc15;stroke-linecap:round;stroke-width:3;filter:drop-shadow(0 0 4px rgba(250,204,21,.5));pointer-events:none}.ecad-bench-wire.selected .ecad-bench-wire-hop{stroke:#67e8f9;stroke-width:4}.ecad-bench-part-hit{cursor:grab}.ecad-bench-part-hit:active{cursor:grabbing}.ecad-bench-part circle,.ecad-bench-part line,.ecad-bench-part path,.ecad-bench-part polygon,.ecad-bench-part polyline,.ecad-bench-part rect{fill:#061218f2;stroke:#e5e7eb;stroke-linecap:round;stroke-linejoin:round;stroke-width:5}.ecad-bench-part text{fill:#f8fafc;font-size:15px;font-weight:900;pointer-events:none;text-anchor:middle}.ecad-bench-part.kind-voltage_source circle{stroke:#38bdf8}.ecad-bench-part.kind-current_source circle,.ecad-bench-part.kind-current_source line,.ecad-bench-part.kind-current_source polyline{stroke:#22d3ee}.ecad-bench-part.kind-pwm_source circle,.ecad-bench-part.kind-pwm_source polyline{fill:#22d3ee1c;stroke:#67e8f9}.ecad-bench-part.kind-probe circle,.ecad-bench-part.kind-probe line,.ecad-bench-part.kind-probe polygon{fill:#facc151a;stroke:#facc15}.ecad-bench-part.kind-probe .ecad-bench-probe-tip{fill:#facc152e}.ecad-bench-part.kind-probe .ecad-bench-probe-v{fill:#fef3c7;font-size:13px;font-weight:950}.ecad-bench-part.kind-resistor polyline{stroke:#facc15}.ecad-bench-part .ecad-bench-symbol-mask{fill:#061218fa!important;stroke:#0f766e47!important;stroke-width:2!important;filter:none!important}.ecad-bench-part.kind-capacitor line{stroke:#a78bfa}.ecad-bench-part.kind-inductor path{fill:none;stroke:#fb923c}.ecad-bench-part.kind-led polygon,.ecad-bench-part.kind-led line,.ecad-bench-part.kind-led polyline{fill:#facc1529;stroke:#fde047}.ecad-bench-part.kind-led .ecad-bench-led-glow{fill:#facc15;stroke:transparent;stroke-width:0;pointer-events:none;filter:blur(1px) drop-shadow(0 0 16px rgba(250,204,21,.8))}.ecad-bench-part.kind-led .ecad-bench-led-body{transition:fill-opacity 90ms linear,stroke 90ms linear,filter 90ms linear}.ecad-bench-part.kind-led.led-lit .ecad-bench-led-body{stroke:#fef08a;filter:drop-shadow(0 0 9px rgba(250,204,21,.85))}.ecad-bench-part.kind-led .ecad-bench-led-ray{fill:none;stroke:#fef08a;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;transition:opacity 90ms linear,filter 90ms linear}.ecad-bench-part.kind-led.led-lit .ecad-bench-led-ray{filter:drop-shadow(0 0 6px rgba(254,240,138,.85))}.ecad-bench-part.kind-diode polygon,.ecad-bench-part.kind-diode line{fill:#60a5fa24;stroke:#93c5fd}.ecad-bench-part.kind-op_amp polygon{fill:#0ea5e924;stroke:#67e8f9}.ecad-bench-part.kind-logic_and path,.ecad-bench-part.kind-logic_nand path,.ecad-bench-part.kind-logic_or path,.ecad-bench-part.kind-logic_nor path,.ecad-bench-part.kind-logic_xor path,.ecad-bench-part.kind-logic_nand circle,.ecad-bench-part.kind-logic_nor circle{fill:#22d3ee21;stroke:#22d3ee}.ecad-bench-part.kind-d_flip_flop rect,.ecad-bench-part.kind-jk_flip_flop rect,.ecad-bench-part.kind-register rect{fill:#312e8157;stroke:#a78bfa}.ecad-bench-part.kind-register rect{fill:#082f4961;stroke:#38bdf8}.ecad-bench-logic-xor-mark{fill:none!important;stroke:#22d3ee!important;stroke-width:3!important}.ecad-bench-glyph-title{fill:#e0f2fe!important;font-size:12px!important;letter-spacing:0}.ecad-bench-glyph-pin-label{fill:#ccfbf1!important;font-size:7px!important;font-weight:850!important;letter-spacing:0}.ecad-bench-part.kind-switch line,.ecad-bench-part.kind-switch circle{stroke:#fb7185}.ecad-bench-part.kind-push_button line,.ecad-bench-part.kind-push_button circle,.ecad-bench-part.kind-push_button rect{fill:#fb71851f;stroke:#fb7185}.ecad-bench-part.kind-ic_ne555 rect,.ecad-bench-part.kind-ic_sn74hc74 rect,.ecad-bench-part.kind-ic_sn74hc86 rect{fill:#0f172af0;stroke:#38bdf8}.ecad-bench-part.kind-ic_sn74hc74 rect{stroke:#a78bfa}.ecad-bench-part.kind-ic_sn74hc86 rect{stroke:#22d3ee}.ecad-bench-ic-notch{fill:none!important;stroke:#e2e8f0c7!important;stroke-width:2!important}.ecad-bench-part.selected circle,.ecad-bench-part.selected line,.ecad-bench-part.selected path,.ecad-bench-part.selected polygon,.ecad-bench-part.selected polyline,.ecad-bench-part.selected rect{filter:drop-shadow(0 0 8px rgba(94,234,212,.72));stroke-width:6}.ecad-bench-part-label-bg{fill:#040f16e0;stroke:#94a3b82e}.ecad-bench-part-label-bg.selected{fill:#14532de0;stroke:#5eead48c}.ecad-bench-part-label,.ecad-bench-part-value,.ecad-bench-node text{fill:#e2e8f0;font-family:var(--font-mono);pointer-events:none;text-anchor:middle}.ecad-bench-part-label{font-size:12px;font-weight:900}.ecad-bench-part-value{fill:#a7f3d0;font-size:9px;font-weight:750}.ecad-bench-node{cursor:grab}.ecad-bench-node circle{fill:#052e2b;stroke:#5eead4;stroke-width:4}.ecad-bench-node-label-bg{fill:#020a10e0;stroke:#5eead438}.ecad-bench-node.ground circle{fill:#29170a;stroke:#facc15}.ecad-bench-node.selected circle{filter:drop-shadow(0 0 8px rgba(250,204,21,.8))}.ecad-bench-node.wire-start circle{stroke:#67e8f9;filter:drop-shadow(0 0 10px rgba(103,232,249,.78))}.ecad-bench-node text{fill:#ccfbf1;font-size:11px;font-weight:900}.ecad-bench-probe-ring{fill:none!important;stroke:#38bdf8b8!important;stroke-width:3!important}.ecad-bench-terminal-dot{fill:#facc15;stroke:#020a10e6;stroke-width:1.5;pointer-events:none}.ecad-bench-terminal-dot.disconnected{fill:#020912;stroke:#fb7185;stroke-width:2.2;filter:drop-shadow(0 0 5px rgba(251,113,133,.38))}.ecad-bench-terminal-dot.wire-start{fill:#67e8f9;stroke:#e0f2fe;stroke-width:2.4;filter:drop-shadow(0 0 7px rgba(103,232,249,.72))}.ecad-bench-terminal-hit{cursor:pointer}.ecad-bench-terminal-click-target{fill:transparent;stroke:none}.ecad-bench-wire-port{fill:#fde68a;stroke:#020a10e6;stroke-width:1.4;pointer-events:none}.ecad-bench-terminal-label{fill:#bae6fd;font-family:var(--font-mono);font-size:8px;font-weight:900;pointer-events:none;text-anchor:middle}.ecad-bench-side{min-width:0;min-height:0;display:flex;flex-direction:column;gap:8px;overflow:auto}.ecad-bench-shell.scope-wide .ecad-bench-side{overflow:visible}.ecad-bench-status,.ecad-bench-scope,.ecad-bench-editor{background:#020a109e;border:1px solid rgba(148,163,184,.13);border-radius:8px}.ecad-bench-status{display:grid;grid-template-columns:12px 1fr;gap:8px;align-items:center;min-height:48px;padding:9px}.ecad-bench-status-dot{width:9px;height:9px;border-radius:999px;background:#facc15;box-shadow:0 0 10px #facc158c}.ecad-bench-status-dot.ready{background:#5eead4;box-shadow:0 0 10px #5eead48c}.ecad-bench-status-dot.failed{background:#fb7185;box-shadow:0 0 10px #fb71858c}.ecad-bench-status strong,.ecad-bench-status span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ecad-bench-status strong{color:#f8fafc;font-size:12px;font-weight:850}.ecad-bench-status span{color:#94a3b8;font-size:10px;font-weight:650}.ecad-bench-scope{padding:8px}.ecad-bench-scope.wide{position:absolute;inset:92px 10px 58px;z-index:8;display:flex;flex-direction:column;padding:10px;background:#020a10f0;border-color:#5eead440;box-shadow:inset 0 0 0 1px #5eead40d,0 18px 48px #0000006b;backdrop-filter:blur(8px)}.ecad-bench-scope-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:5px;color:#94a3b8;font-size:10px;font-weight:800;text-transform:uppercase}.ecad-bench-scope-head-actions{display:inline-flex;align-items:center;gap:7px}.ecad-bench-scope-head-actions button{min-height:22px;display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:2px 7px;color:#022c22;background:#5eead4;border:1px solid rgba(94,234,212,.7);border-radius:6px;font-size:9px;font-weight:950;text-transform:uppercase}.ecad-bench-scope-head-actions .ecad-bench-scope-zoom{width:24px;min-width:24px;padding:2px;color:#bae6fd;background:#0f172ab8;border-color:#94a3b838}.ecad-bench-scope-head-actions .ecad-bench-scope-zoom[aria-pressed=true]{color:#022c22;background:#fde047;border-color:#facc15c7}.ecad-bench-scope-head-actions button:disabled{color:#64748b;background:#64748b1f;border-color:#64748b2e;cursor:not-allowed}.ecad-bench-scope-head strong{color:#facc15}.ecad-bench-plot{width:100%;height:104px;display:block}.ecad-bench-scope.wide .ecad-bench-plot{flex:1;min-height:118px;height:auto}.ecad-bench-plot-frame{fill:#020912;stroke:#5eead424}.ecad-bench-plot-gridline{fill:none;stroke:#94a3b826;stroke-width:1}.ecad-bench-plot-lane-separator{fill:none;stroke:#94a3b81f;stroke-width:1}.ecad-bench-plot-lane-label{font-family:var(--font-mono);font-size:7.5px;font-weight:950;text-anchor:start;dominant-baseline:middle;paint-order:stroke;stroke:#020912f5;stroke-width:2.8px}.ecad-bench-plot.laned .ecad-bench-plot-line{stroke-width:2.4}.ecad-bench-plot-line{fill:none;stroke:#5eead4;stroke-linecap:round;stroke-linejoin:round;stroke-width:3;filter:drop-shadow(0 0 5px rgba(94,234,212,.45))}.ecad-bench-plot-cursor{stroke:#f8fafcc2;stroke-width:1.4;stroke-dasharray:4 4;filter:drop-shadow(0 0 4px rgba(248,250,252,.42))}.ecad-bench-plot-dot{stroke:#020912;stroke-width:1.2;filter:drop-shadow(0 0 5px currentColor)}.ecad-bench-scope-legend{display:flex;flex-wrap:wrap;gap:5px 8px;padding-top:6px;color:#cbd5e1;font-family:var(--font-mono);font-size:9px;font-weight:800}.ecad-bench-scope.wide .ecad-bench-scope-legend{gap:7px 11px;font-size:10px}.ecad-bench-scope.wide .ecad-bench-scope-legend i{width:9px;height:9px}.ecad-bench-scope-legend span{display:inline-flex;align-items:center;gap:4px}.ecad-bench-scope-legend i{width:8px;height:8px;border-radius:999px;box-shadow:0 0 7px currentColor}.ecad-bench-scope-picker{padding:8px;background:#020a109e;border:1px solid rgba(148,163,184,.13);border-radius:8px}.ecad-bench-scope-picker-head{display:flex;justify-content:space-between;color:#94a3b8;font-size:10px;font-weight:850;text-transform:uppercase}.ecad-bench-scope-picker-head small{color:#facc15;font-size:10px}.ecad-bench-scope-node-list{display:flex;flex-wrap:wrap;gap:5px;padding-top:7px}.ecad-bench-scope-node-list button,.ecad-bench-initial-state-row button{min-height:24px;padding:3px 7px;color:#cbd5e1;background:#0f172ab8;border:1px solid rgba(148,163,184,.18);border-radius:6px;font-size:10px;font-weight:800}.ecad-bench-scope-node-list button.active,.ecad-bench-initial-state-row button.active{color:#022c22;background:#5eead4;border-color:#5eead4b8}.ecad-bench-editor{display:flex;flex-direction:column;gap:7px;padding:8px}.ecad-bench-section-head{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#f8fafc;font-size:11px;font-weight:850}.ecad-bench-section-head button{min-height:24px;padding:3px 7px;color:#fecaca;background:#7f1d1d2e;border-color:#f8717133}.ecad-bench-wire-summary{display:grid;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:6px;min-height:30px;padding:6px 7px;color:#ccfbf1;background:#0e74901f;border:1px solid rgba(103,232,249,.18);border-radius:7px;font-family:var(--font-mono);font-size:10px;font-weight:850}.ecad-bench-wire-summary span{color:#facc15}.ecad-bench-wire-summary small{overflow:hidden;color:#7dd3fc;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.ecad-bench-node-selects{display:grid;grid-template-columns:1fr 1fr;gap:6px}.ecad-bench-node-selects.opamp{grid-template-columns:1fr 1fr}.ecad-bench-node-selects.logic{grid-template-columns:1fr 1fr 1fr}.ecad-bench-node-selects.flipflop,.ecad-bench-node-selects.register{grid-template-columns:1fr 1fr}.ecad-bench-node-selects.ic-pins{grid-template-columns:1fr 1fr;max-height:184px;overflow:auto;padding-right:2px}.ecad-bench-initial-state-row{display:grid;grid-template-columns:1fr 1fr;gap:6px}.ecad-bench-field,.ecad-bench-node-selects label,.ecad-bench-run-controls label{display:flex;flex-direction:column;gap:4px;color:#7dd3fc;font-size:9px;font-weight:850;text-transform:uppercase}.ecad-bench-field>div{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:5px}.ecad-bench-field small{color:#94a3b8;font-size:9px;font-weight:800;text-transform:none}.ecad-bench-field input,.ecad-bench-field select,.ecad-bench-node-selects select,.ecad-bench-run-controls select{width:100%;min-width:0;height:28px;color:#f8fafc;background:#0f172ad1;border:1px solid rgba(148,163,184,.18);border-radius:6px;padding:0 7px;font:inherit;font-size:11px;font-weight:700;user-select:text}.ecad-bench-live-readout{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-height:31px;padding:7px 8px;color:#bae6fd;background:#0e749029;border:1px solid rgba(125,211,252,.18);border-radius:7px;font-size:9px;font-weight:850;text-transform:uppercase}.ecad-bench-live-readout strong{color:#fef08a;font-size:12px;font-weight:950;text-transform:none}.ecad-bench-wide-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;width:100%}.ecad-bench-bottom{display:grid;grid-template-columns:minmax(0,1fr) 232px;gap:8px;padding:0 10px 10px;border-top:1px solid rgba(148,163,184,.1)}.ecad-bench-module-shelf{display:flex;align-items:center;gap:5px;overflow-x:auto;padding-top:8px}.ecad-bench-module{flex:0 0 auto;min-width:36px;min-height:28px;display:inline-flex;align-items:center;justify-content:center;gap:4px}.ecad-bench-module.locked{color:#64748b;background:#64748b14;border-color:#64748b1f;cursor:not-allowed}.ecad-bench-module.add-node{color:#dbeafe;background:#2563eb2e;border-color:#60a5fa3d}.ecad-bench-run-controls{display:grid;grid-template-columns:1fr 74px 74px;gap:6px;padding-top:8px}.ecad-bench-run-controls .ecad-bench-field{min-width:0}@media(max-width:920px){.ecad-bench-shell{width:calc(100% - 24px);height:min(72vh,calc(100% - 24px))}.ecad-bench-main{grid-template-columns:1fr}.ecad-bench-side{display:grid;grid-template-columns:minmax(0,1fr) minmax(170px,220px)}.ecad-bench-editor{grid-row:span 2}}@media(max-width:680px){.ecad-bench-shell{min-width:310px}.ecad-bench-side,.ecad-bench-bottom{grid-template-columns:1fr}.ecad-bench-run-controls{grid-template-columns:1fr 1fr 1fr}}.auth-callback{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at top,rgba(59,130,246,.15),transparent 60%),linear-gradient(180deg,#111827,#0b0f14);color:#fff}.auth-callback-card{padding:32px 40px;border-radius:16px;border:1px solid rgba(255,255,255,.08);background:#111827d9;box-shadow:0 20px 60px #00000073;text-align:center;min-width:280px}.auth-callback-title{font-size:20px;font-weight:600;margin-bottom:10px}.auth-callback-status{font-size:13px;color:#ffffffb3}.password-reset{min-height:100vh;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at top,rgba(29,78,216,.18),transparent 55%),#0b1220;color:var(--text-primary)}.password-reset-card{width:min(360px,90vw);background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:24px;text-align:center;box-shadow:var(--shadow-lg)}.password-reset-language{margin-bottom:16px;text-align:left}.password-reset-title{font-size:var(--font-size-md);font-weight:600;margin-bottom:8px}.password-reset-message{font-size:var(--font-size-sm);color:var(--text-muted);margin-bottom:16px}.password-reset-form{display:flex;flex-direction:column;gap:10px}.password-reset-input{width:100%;padding:10px 12px;background:var(--bg-tertiary);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--font-size-sm)}.password-reset-input:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px #00d9ff26}.password-reset-error{font-size:var(--font-size-xs);color:#fca5a5}.password-reset-btn{margin-top:6px;padding:8px 12px;background:#2563eb;border:1px solid rgba(37,99,235,.4);border-radius:var(--radius-md);color:#fff;font-size:var(--font-size-sm);cursor:pointer;transition:all .2s ease}.password-reset-btn:hover{background:#1d4ed8}.attention-layer{position:fixed;inset:0;z-index:1800;pointer-events:none}.attention-label{position:fixed;transform:translate(-50%,-100%);max-width:min(260px,calc(100vw - 24px));padding:6px 9px;color:#fff7ed;background:#0f172af0;border:1px solid rgba(251,191,36,.72);border-radius:6px;box-shadow:0 10px 30px #00000059,0 0 24px #fbbf2433;font-size:11px;font-weight:650;line-height:1.25;text-align:center;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical}.webcad-attention-target{outline:2px solid rgba(251,191,36,.95)!important;outline-offset:3px;box-shadow:0 0 0 1px #fbbf2442,0 0 22px #fbbf2470!important;animation:webcad-attention-pulse 1.15s ease-in-out infinite}@keyframes webcad-attention-pulse{0%,to{outline-color:#fbbf24f2;box-shadow:0 0 0 1px #fbbf243d,0 0 18px #fbbf245c}50%{outline-color:#22d3eef2;box-shadow:0 0 0 1px #22d3ee3d,0 0 28px #22d3ee6b}}:root{color-scheme:dark;--bg-void: #09090b;--bg-primary: #0c0e12;--bg-secondary: #14161b;--bg-elevated: #1a1d23;--bg-surface: #22252c;--bg-tertiary: #181b22;--bg-hover: rgba(255, 255, 255, .05);--bg-active: rgba(59, 130, 246, .08);--border-subtle: rgba(255, 255, 255, .05);--border-default: rgba(255, 255, 255, .08);--border-strong: rgba(255, 255, 255, .12);--border-glow: rgba(59, 130, 246, .25);--text-primary: #e2e8f0;--text-secondary: #94a3b8;--text-muted: #64748b;--text-disabled: #475569;--text-inverse: #020617;--accent-primary: #3b82f6;--accent-primary-dim: rgba(59, 130, 246, .15);--accent-primary-glow: rgba(59, 130, 246, .3);--accent-secondary: #60a5fa;--accent-primitive: #f59e0b;--accent-primitive-dim: rgba(245, 158, 11, .1);--accent-boolean: #ec4899;--accent-boolean-dim: rgba(236, 72, 153, .1);--accent-sketch: #8b5cf6;--accent-sketch-dim: rgba(139, 92, 246, .1);--accent-edge: #10b981;--accent-edge-dim: rgba(16, 185, 129, .1);--success: #10b981;--success-dim: rgba(16, 185, 129, .1);--warning: #f59e0b;--warning-dim: rgba(245, 158, 11, .1);--error: #ef4444;--error-dim: rgba(239, 68, 68, .1);--surface-panel: linear-gradient(180deg, #1a1f28 0%, #13171e 100%);--surface-panel-muted: rgba(255, 255, 255, .02);--surface-popover: var(--bg-elevated);--surface-input: rgba(255, 255, 255, .05);--surface-control: rgba(255, 255, 255, .04);--surface-control-hover: rgba(255, 255, 255, .08);--surface-control-active: rgba(59, 130, 246, .12);--surface-floating: rgba(23, 28, 36, .95);--surface-floating-muted: rgba(23, 28, 36, .85);--surface-floating-input: rgba(23, 28, 36, .9);--surface-floating-border: rgba(255, 255, 255, .1);--surface-floating-hover: rgba(255, 255, 255, .08);--surface-floating-shadow: 0 8px 32px rgba(0, 0, 0, .4), 0 0 0 1px rgba(255, 255, 255, .05) inset;--overlay-scrim: rgba(0, 0, 0, .7);--focus-ring: 0 0 0 3px var(--accent-primary-dim);--viewport-bg: #1a1a2e;--viewport-grid-major: #444444;--viewport-grid-minor: #222222;--viewport-object-default: #90a4ae;--viewport-object-selected: #4fc3f7;--viewport-object-selected-emissive: #1565c0;--viewport-edge: #94a3b8;--viewport-edge-muted: #64748b;--viewport-light-hemi-sky: #f4f8ff;--viewport-light-hemi-ground: #253044;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", "SF Mono", Consolas, monospace;--font-size-xs: 10px;--font-size-sm: 11px;--font-size-md: 13px;--font-size-lg: 15px;--font-size-xl: 18px;--font-size-2xl: 24px;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 12px;--spacing-lg: 16px;--spacing-xl: 24px;--spacing-2xl: 32px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 12px;--radius-2xl: 16px;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .5);--shadow-xl: 0 16px 48px rgba(0, 0, 0, .6);--shadow-glow: 0 0 20px var(--accent-primary-glow);--shadow-inner: inset 0 1px 2px rgba(0, 0, 0, .3);--shadow-panel: 0 8px 24px rgba(0, 0, 0, .35);--shadow-popover: 0 8px 24px rgba(0, 0, 0, .35);--transition-fast: .1s ease-out;--transition-normal: .15s ease-out;--transition-slow: .3s ease-out;--transition-spring: .4s cubic-bezier(.34, 1.56, .64, 1);--glass-bg: rgba(15, 15, 26, .8);--glass-border: rgba(255, 255, 255, .08);--glass-blur: blur(12px)}[data-theme=light]{color-scheme:light;--bg-void: #e9eef5;--bg-primary: #f5f7fb;--bg-secondary: #ffffff;--bg-elevated: #ffffff;--bg-surface: #eef2f7;--bg-tertiary: #f8fafc;--bg-hover: rgba(15, 23, 42, .055);--bg-active: rgba(37, 99, 235, .09);--border-subtle: rgba(15, 23, 42, .06);--border-default: rgba(15, 23, 42, .1);--border-strong: rgba(15, 23, 42, .16);--border-glow: rgba(37, 99, 235, .22);--text-primary: #0f172a;--text-secondary: #475569;--text-muted: #64748b;--text-disabled: #94a3b8;--text-inverse: #ffffff;--accent-primary: #2563eb;--accent-primary-dim: rgba(37, 99, 235, .11);--accent-primary-glow: rgba(37, 99, 235, .18);--accent-secondary: #0ea5e9;--accent-primitive: #b45309;--accent-primitive-dim: rgba(180, 83, 9, .1);--accent-boolean: #be185d;--accent-boolean-dim: rgba(190, 24, 93, .09);--accent-sketch: #7c3aed;--accent-sketch-dim: rgba(124, 58, 237, .09);--accent-edge: #047857;--accent-edge-dim: rgba(4, 120, 87, .1);--success: #047857;--success-dim: rgba(4, 120, 87, .1);--warning: #b45309;--warning-dim: rgba(180, 83, 9, .1);--error: #dc2626;--error-dim: rgba(220, 38, 38, .09);--surface-panel: linear-gradient(180deg, #ffffff 0%, #f6f8fb 100%);--surface-panel-muted: rgba(15, 23, 42, .025);--surface-popover: #ffffff;--surface-input: rgba(15, 23, 42, .035);--surface-control: rgba(15, 23, 42, .035);--surface-control-hover: rgba(15, 23, 42, .07);--surface-control-active: rgba(37, 99, 235, .11);--surface-floating: rgba(255, 255, 255, .92);--surface-floating-muted: rgba(248, 250, 252, .92);--surface-floating-input: rgba(255, 255, 255, .96);--surface-floating-border: rgba(15, 23, 42, .12);--surface-floating-hover: rgba(15, 23, 42, .06);--surface-floating-shadow: 0 16px 36px rgba(15, 23, 42, .14), 0 1px 0 rgba(255, 255, 255, .9) inset;--overlay-scrim: rgba(15, 23, 42, .32);--focus-ring: 0 0 0 3px rgba(37, 99, 235, .16);--viewport-bg: #edf3f9;--viewport-grid-major: #b7c4d3;--viewport-grid-minor: #d8e1ec;--viewport-object-default: #8b98a7;--viewport-object-selected: #2563eb;--viewport-object-selected-emissive: #93c5fd;--viewport-edge: #243244;--viewport-edge-muted: #64748b;--viewport-light-hemi-sky: #ffffff;--viewport-light-hemi-ground: #cbd5e1;--shadow-sm: 0 1px 2px rgba(15, 23, 42, .08);--shadow-md: 0 6px 16px rgba(15, 23, 42, .1);--shadow-lg: 0 12px 28px rgba(15, 23, 42, .12);--shadow-xl: 0 20px 48px rgba(15, 23, 42, .16);--shadow-glow: 0 0 0 3px var(--accent-primary-glow);--shadow-inner: inset 0 1px 2px rgba(15, 23, 42, .08);--shadow-panel: 0 8px 24px rgba(15, 23, 42, .08);--shadow-popover: 0 18px 45px rgba(15, 23, 42, .14);--glass-bg: rgba(255, 255, 255, .82);--glass-border: rgba(15, 23, 42, .08)}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;width:100%;overflow:hidden}body{font-family:var(--font-sans);font-size:var(--font-size-md);font-weight:var(--font-weight-normal);background:var(--bg-void);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5}.app{display:flex;flex-direction:column;height:100%;width:100%;background:var(--bg-primary);color:var(--text-primary)}.app-top-section{display:flex;flex-direction:column;flex-shrink:0;position:relative;transition:max-height .3s ease,opacity .2s ease;max-height:200px;overflow:visible}.app-top-section.collapsed{max-height:16px;overflow:hidden}.app-top-section.collapsed .app-header,.app-top-section.collapsed .toolbar{opacity:0;pointer-events:none;visibility:hidden}.top-section-toggle{position:absolute;bottom:0;left:50%;transform:translate(-50%);width:60px;height:6px;background:transparent;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:100;transition:all .15s ease;border-radius:0 0 3px 3px}.app-top-section:not(.collapsed) .top-section-toggle{opacity:.2}.app-top-section:not(.collapsed) .top-section-toggle:hover{opacity:1;height:12px;background:var(--overlay-scrim)}.top-section-toggle:hover{background:var(--bg-elevated)}.toggle-label{display:none}.toggle-bar{width:24px;height:2px;background:var(--text-muted);border-radius:1px}.top-section-toggle:hover .toggle-bar{background:var(--accent-primary)}.app-main{display:flex;flex:1;overflow:hidden;min-height:0;min-width:0}.viewport-container{flex:1;position:relative;overflow:hidden;min-height:0;min-width:0;background:var(--viewport-bg);border:1px solid var(--border-subtle);border-radius:2px;margin:2px}.app-main.ecad-mode,.app-main.ecad-mode .viewport-container{overflow:hidden;min-height:0}.app-main.ecad-mode .viewport-container{z-index:6}.app-main.ecad-mode .app-right-panels{z-index:2}.app-right-panels{display:flex;flex-direction:column;width:260px;min-width:220px;max-width:300px;background:var(--surface-panel);border-left:1px solid var(--border-subtle);box-shadow:inset 1px 0 0 var(--border-subtle);overflow-y:auto;overflow-x:hidden;position:relative;transition:width .2s ease,min-width .2s ease,max-width .2s ease}.app-right-panels.fea-mode{width:299px;min-width:253px;max-width:345px}.app-right-panels.cfd-mode{width:360px;min-width:320px;max-width:420px}.app-right-panels.thermal-mode{width:340px;min-width:300px;max-width:390px}.app-right-panels.ecad-mode{width:332px;min-width:292px;max-width:380px}.app-right-panels.collapsed{width:32px;min-width:32px;max-width:32px;overflow:hidden}.right-panel-toggle{position:absolute;top:8px;left:8px;width:20px;height:20px;display:flex;align-items:center;justify-content:center;background:var(--surface-control-hover);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;z-index:10;transition:all var(--transition-fast)}.right-panel-toggle:hover{background:var(--surface-control-active);color:var(--text-primary);border-color:var(--border-strong)}.app-right-panels.collapsed .right-panel-toggle{left:6px}.app-right-panels>*{border-left:none;flex-shrink:0}::selection{background:var(--accent-primary);color:var(--bg-primary)}:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--radius-full);transition:background var(--transition-fast)}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}::-webkit-scrollbar-corner{background:transparent}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit;font-size:inherit;transition:all var(--transition-fast)}button:disabled{cursor:not-allowed;opacity:.4}input{font-family:inherit;color:inherit;background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-md);transition:all var(--transition-fast)}input:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-primary-dim)}input:hover:not(:focus):not(:disabled){border-color:var(--border-strong)}input[type=number]{font-family:var(--font-mono)}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}select{font-family:inherit;color:var(--text-primary);background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-md);cursor:pointer;transition:all var(--transition-fast)}select:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-primary-dim)}select:hover:not(:focus):not(:disabled){border-color:var(--border-strong)}.glass{background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border)}.glow-accent{box-shadow:var(--shadow-glow)}.label{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted)}.mono{font-family:var(--font-mono)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes glow{0%,to{box-shadow:0 0 5px var(--accent-primary-glow)}50%{box-shadow:0 0 20px var(--accent-primary-glow),0 0 40px var(--accent-primary-dim)}}
