@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500;600&family=Manrope:wght@400;500;600;700;800&display=swap";:root{--bg-app:#0c0f12;--bg-panel:#141920;--bg-panel-light:#1c232d;--bg-input:#0e1217;--color-primary:#007acc;--color-primary-hover:#0098ff;--color-primary-glow:#007acc40;--color-node:#00e5ff;--color-node-glow:#00e5ff59;--color-element:#38bdf8;--color-element-selected:#f43f5e;--color-support:#ffb300;--color-support-glow:#ffb3004d;--color-load:#ff3b30;--color-text-main:#f8fafc;--color-text-muted:#94a3b8;--color-border:#263141;--color-border-active:#00e5ff;--font-sans:"Inter", system-ui, -apple-system, sans-serif;--font-heading:"Manrope", system-ui, sans-serif;--font-mono:"JetBrains Mono", monospace;font-family:var(--font-sans);color:var(--color-text-main);background-color:var(--bg-app);box-sizing:border-box;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,:before,:after{box-sizing:inherit}body{background-color:var(--bg-app);color:var(--color-text-main);width:100vw;height:100vh;margin:0;padding:0;overflow:hidden}#root{flex-direction:column;width:100vw;height:100vh;display:flex}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg-panel)}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}.app-container{background-color:var(--bg-app);flex-direction:column;width:100vw;height:100vh;display:flex;overflow:hidden}.app-header{background-color:var(--bg-panel);border-bottom:1px solid var(--color-border);z-index:10;flex-shrink:0;justify-content:space-between;align-items:center;height:64px;padding:0 24px;display:flex}.header-brand{align-items:center;gap:12px;display:flex}.header-logo{font-size:20px;font-weight:800;font-family:var(--font-heading);letter-spacing:-.5px;background:linear-gradient(135deg, var(--color-node) 0%, var(--color-primary) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text}.header-tag{text-transform:uppercase;letter-spacing:1px;color:var(--color-text-muted);border:1px solid var(--color-border);border-radius:4px;padding:2px 6px;font-size:10px;font-weight:700}.header-actions{align-items:center;gap:12px;display:flex}.app-ribbon{background-color:var(--bg-panel-light);border-bottom:1px solid var(--color-border);z-index:9;flex-shrink:0;justify-content:space-between;align-items:center;height:56px;padding:0 24px;display:flex}.ribbon-tools{gap:8px;display:flex}.ribbon-btn{background:var(--bg-input);border:1px solid var(--color-border);color:var(--color-text-muted);cursor:pointer;border-radius:6px;align-items:center;gap:8px;padding:8px 16px;font-size:13px;font-weight:500;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex}.ribbon-btn:hover{border-color:var(--color-primary);color:var(--color-text-main);background-color:#007acc1a}.ribbon-btn.active{border-color:var(--color-node);color:var(--color-text-main);box-shadow:0 0 12px var(--color-node-glow);background-color:#00e5ff26}.ribbon-btn svg{stroke:currentColor;stroke-width:2px;fill:none;width:16px;height:16px}.ribbon-settings{align-items:center;gap:16px;font-size:13px;display:flex}.settings-group{align-items:center;gap:8px;display:flex}.settings-label{color:var(--color-text-muted);font-weight:500}.settings-select{background-color:var(--bg-input);border:1px solid var(--color-border);color:var(--color-text-main);font-size:13px;font-family:var(--font-mono);cursor:pointer;border-radius:4px;outline:none;padding:4px 8px;transition:border-color .2s}.settings-select:focus{border-color:var(--color-node)}.btn{font-family:var(--font-sans);cursor:pointer;border-radius:6px;outline:none;align-items:center;gap:8px;padding:8px 16px;font-size:13px;font-weight:600;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex}.btn-primary{background:linear-gradient(135deg, var(--color-primary) 0%, #005999 100%);color:#fff;border:none;box-shadow:0 4px 12px #007acc4d}.btn-primary:hover{background:linear-gradient(135deg, var(--color-primary-hover) 0%, var(--color-primary) 100%);transform:translateY(-1px);box-shadow:0 4px 16px #007acc80}.btn-secondary{border:1px solid var(--color-border);color:var(--color-text-main);background-color:#0000}.btn-secondary:hover{border-color:var(--color-text-muted);background-color:#ffffff0d}.btn-danger{color:var(--color-load);background-color:#0000;border:1px solid #ff3b3066}.btn-danger:hover{border-color:var(--color-load);background-color:#ff3b3026}.app-workspace{flex:1;width:100%;display:flex;overflow:hidden}.workspace-canvas{border-right:1px solid var(--color-border);background-color:#0b0d10;flex-direction:column;flex:1;min-width:0;height:100%;display:flex;position:relative}.workspace-sidebar{background-color:var(--bg-panel);flex-direction:column;flex-shrink:0;width:30%;min-width:320px;max-width:420px;height:100%;display:flex;overflow:hidden}.canvas-wrapper{cursor:crosshair;flex:1;width:100%;height:100%;position:relative;overflow:hidden}.canvas-svg{-webkit-user-select:none;user-select:none;width:100%;height:100%}.canvas-grid-line{stroke:#94a3b80a;stroke-width:1px}.canvas-grid-line-major{stroke:#94a3b817;stroke-width:1px}.canvas-grid-axis{stroke:#94a3b833;stroke-width:1.5px}.canvas-statusbar{background-color:var(--bg-input);border-top:1px solid var(--color-border);height:32px;font-family:var(--font-mono);color:var(--color-text-muted);justify-content:space-between;align-items:center;padding:0 16px;font-size:11px;display:flex}.statusbar-coords{gap:16px;display:flex}.statusbar-mode{color:var(--color-node);text-transform:uppercase;font-weight:600}.sidebar-section{border-bottom:1px solid var(--color-border);flex-direction:column;flex:1.8 1 0;min-height:180px;display:flex;overflow:hidden}.sidebar-section:last-child{border-bottom:none}.sidebar-header{background-color:var(--bg-panel-light);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.sidebar-title{font-family:var(--font-heading);color:var(--color-text-main);align-items:center;gap:8px;margin:0;font-size:14px;font-weight:700;display:flex}.sidebar-subtitle{color:var(--color-text-muted);font-size:11px;font-family:var(--font-mono)}.sidebar-content{flex:1;padding:8px;overflow-y:auto}.data-table{border-collapse:collapse;text-align:left;width:100%;font-size:12px}.data-table th{background-color:var(--bg-input);color:var(--color-text-muted);font-weight:600;font-family:var(--font-sans);border-bottom:1px solid var(--color-border);text-transform:uppercase;letter-spacing:.5px;padding:8px 12px;font-size:11px}.data-table td{font-family:var(--font-mono);color:var(--color-text-main);vertical-align:middle;border-bottom:1px solid #26314180;padding:8px 12px}.data-table tr:hover{background-color:#ffffff05}.data-table tr.selected{background-color:#00e5ff14}.data-table tr.selected td{color:var(--color-node);border-bottom-color:var(--color-node)}.table-input{background-color:var(--bg-input);border:1px solid var(--color-border);width:100%;color:var(--color-text-main);font-family:var(--font-mono);border-radius:4px;outline:none;padding:4px 6px;font-size:12px;transition:border-color .2s}.table-input:focus{border-color:var(--color-node)}.table-action-btn{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px;transition:all .2s;display:inline-flex}.table-action-btn:hover{color:var(--color-load);background-color:#ff3b301a}.table-action-btn svg{fill:none;stroke:currentColor;stroke-width:2px;width:14px;height:14px}.badge{text-transform:uppercase;border-radius:4px;align-items:center;padding:2px 6px;font-size:10px;font-weight:600;display:inline-flex}.badge-support{color:var(--color-support);background-color:#ffb30026;border:1px solid #ffb3004d}.badge-load{color:var(--color-load);background-color:#ff3b3026;border:1px solid #ff3b304d}.empty-state{text-align:center;color:var(--color-text-muted);flex-direction:column;justify-content:center;align-items:center;padding:32px 16px;display:flex}.empty-state svg{width:32px;height:32px;stroke:var(--color-border);stroke-width:1.5px;margin-bottom:12px}.empty-state p{margin:0;font-size:12px}.action-overlay{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--color-border);z-index:8;background-color:#141920d9;border-radius:8px;width:280px;padding:16px;animation:.2s cubic-bezier(.4,0,.2,1) fadeIn;position:absolute;top:16px;left:16px;box-shadow:0 8px 32px #00000080}.action-title{font-family:var(--font-heading);color:var(--color-text-main);align-items:center;gap:8px;margin:0 0 12px;font-size:13px;font-weight:700;display:flex}.action-form{flex-direction:column;gap:12px;display:flex}.form-group{flex-direction:column;gap:4px;display:flex}.form-label{color:var(--color-text-muted);font-size:11px;font-weight:500}.form-row{gap:8px;display:flex}.form-input{background-color:var(--bg-input);border:1px solid var(--color-border);color:var(--color-text-main);font-size:12px;font-family:var(--font-mono);border-radius:4px;outline:none;width:100%;padding:6px 10px}.form-input:focus{border-color:var(--color-node)}.form-select{background-color:var(--bg-input);border:1px solid var(--color-border);color:var(--color-text-main);cursor:pointer;border-radius:4px;outline:none;width:100%;padding:6px 10px;font-size:12px}.form-select:focus{border-color:var(--color-node)}.form-actions{justify-content:flex-end;gap:8px;margin-top:8px;display:flex}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.canvas-node-active{stroke:var(--color-node);stroke-width:2px;fill:var(--bg-app);filter:drop-shadow(0 0 4px var(--color-node-glow))}.floating-load-dialog{-webkit-backdrop-filter:blur(12px)saturate(180%);z-index:100;pointer-events:auto;background:#141920e0;border:1px solid #00e5ff59;border-radius:8px;flex-direction:column;gap:10px;width:210px;padding:12px;animation:.15s ease-out fadeIn;display:flex;position:absolute;box-shadow:0 8px 32px #0009,0 0 16px #00e5ff33}.floating-load-header{border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;padding-bottom:6px;display:flex}.floating-load-title{font-family:var(--font-heading);color:var(--color-node);align-items:center;gap:6px;font-size:12px;font-weight:700;display:flex}.floating-load-close{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;padding:0;font-size:14px;line-height:1}.floating-load-close:hover{color:var(--color-text-main)}.floating-load-row{gap:8px;display:flex}.floating-load-group{flex-direction:column;flex:1;gap:4px;display:flex}.floating-load-label{color:var(--color-text-muted);font-size:10px;font-weight:500}.floating-load-input{background-color:var(--bg-input);border:1px solid var(--color-border);color:var(--color-text-main);font-size:11px;font-family:var(--font-mono);border-radius:4px;outline:none;width:100%;padding:6px;transition:border-color .2s}.floating-load-input:focus{border-color:var(--color-node);box-shadow:0 0 4px #00e5ff33}.floating-load-actions{justify-content:flex-end;gap:6px;margin-top:4px;display:flex}.floating-load-btn{font-family:var(--font-sans);cursor:pointer;border:none;border-radius:4px;padding:5px 10px;font-size:11px;font-weight:600;transition:all .2s}.floating-load-btn-primary{background:var(--color-node);color:#0c0f12}.floating-load-btn-primary:hover{background:#00b8cc;transform:translateY(-.5px)}.floating-load-btn-secondary{border:1px solid var(--color-border);color:var(--color-text-main);background:0 0}.floating-load-btn-secondary:hover{border-color:var(--color-text-muted);background-color:#ffffff0d}.sidebar-tabs-panel{border-top:1px solid var(--color-border);background-color:var(--bg-panel-light);flex-direction:column;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;overflow:hidden}.sidebar-tabs-panel.collapsed{flex:none;height:42px}.sidebar-tabs-panel.expanded{flex:1 1 0;min-height:160px}.sidebar-tabs-panel.library-panel.expanded{flex:4.5 1 0;min-height:500px}.sidebar-divider{cursor:row-resize;z-index:10;-webkit-user-select:none;user-select:none;background-color:#0000;height:6px;transition:all .2s cubic-bezier(.4,0,.2,1);position:relative}.sidebar-divider:before{content:"";background-color:var(--color-border);height:1px;transition:all .2s;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}.sidebar-divider:hover,.sidebar-divider:active{background-color:#00e5ff1a}.sidebar-divider:hover:before,.sidebar-divider:active:before{background:linear-gradient(90deg, transparent 5%, var(--color-node) 50%, transparent 95%);height:2px;box-shadow:0 0 8px var(--color-node-glow), 0 0 16px var(--color-node-glow)}.tabs-header-bar{background-color:var(--bg-panel);cursor:pointer;-webkit-user-select:none;user-select:none;border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:10px 16px;transition:background-color .2s;display:flex}.tabs-header-bar:hover{background-color:#ffffff08}.tabs-header-title{font-family:var(--font-heading);color:var(--color-text-main);align-items:center;gap:8px;font-size:13px;font-weight:700;display:flex}.chevron-icon{width:14px;height:14px;color:var(--color-text-muted);transition:transform .3s cubic-bezier(.4,0,.2,1);transform:rotate(180deg)}.chevron-icon.rotated{transform:rotate(0)}.tabs-header-badge{font-size:10px;font-family:var(--font-mono);color:var(--color-text-muted);border:1px solid var(--color-border);background-color:var(--bg-input);border-radius:4px;padding:2px 6px;font-weight:600}.tabs-nav{background-color:var(--bg-panel-light);border-bottom:1px solid var(--color-border);flex-shrink:0;display:flex}.tab-nav-btn{color:var(--color-text-muted);font-family:var(--font-sans);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;outline:none;flex:1;justify-content:center;align-items:center;gap:6px;padding:10px 2px;font-size:12px;font-weight:600;transition:all .2s;display:flex}.tab-nav-btn:hover{color:var(--color-text-main);background-color:#ffffff05}.tab-nav-btn.active{color:var(--color-node);border-bottom-color:var(--color-node);background-color:#00e5ff0a}.tab-badge{font-size:9px;font-family:var(--font-mono);color:var(--color-text-muted);background-color:#ffffff14;border-radius:10px;padding:1px 5px;font-weight:700;transition:all .2s}.tab-nav-btn.active .tab-badge{color:var(--color-node);background-color:#00e5ff26}.tabs-content{background-color:var(--bg-panel);flex-direction:column;flex:1;display:flex;overflow-y:auto}.tabs-content .data-table{width:100%}.canvas-zoom-toolbar{-webkit-backdrop-filter:blur(12px)saturate(180%);z-index:50;background:#141920b8;border:1px solid #ffffff14;border-radius:8px;flex-direction:column;gap:6px;padding:6px;animation:.2s cubic-bezier(.4,0,.2,1) fadeIn;display:flex;position:absolute;top:16px;right:16px;box-shadow:0 8px 32px #0006,0 0 16px #00e5ff0a}.zoom-btn{width:34px;height:34px;color:var(--color-text-muted);cursor:pointer;background:#ffffff08;border:1px solid #ffffff0d;border-radius:6px;outline:none;justify-content:center;align-items:center;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex}.zoom-btn:hover{color:var(--color-node);background:#00e5ff26;border-color:#00e5ff66;transform:scale(1.06);box-shadow:0 0 12px #00e5ff33}.zoom-btn:active{transform:scale(.94)}.zoom-btn svg{stroke:currentColor;stroke-width:2px;width:16px;height:16px;transition:stroke .2s}.zoom-divider{background-color:#ffffff14;height:1px;margin:2px 4px}.statusbar-zoom-badge{color:var(--color-node);letter-spacing:.5px;font-size:10px;font-weight:700;font-family:var(--font-mono);background-color:#00e5ff14;border:1px solid #00e5ff26;border-radius:3px;justify-content:center;align-items:center;padding:1px 6px;display:inline-flex}.member-property-badge{-webkit-backdrop-filter:blur(4px);color:#22d3ee;white-space:nowrap;text-overflow:ellipsis;text-align:center;box-sizing:border-box;letter-spacing:-.2px;background:#0f172ad9;border:1px solid #00e5ff73;border-radius:4px;justify-content:center;align-items:center;width:100%;height:100%;font-family:JetBrains Mono,monospace;font-size:9px;font-weight:700;display:flex;overflow:hidden;box-shadow:0 4px 12px #00000080,0 0 4px #00e5ff26}.zoom-btn.active{color:var(--color-node);background:#00e5ff26;border-color:#00e5ff66;box-shadow:0 0 12px #00e5ff33}:root{--color-danger:#ff3b30;--color-danger-glow:#ff3b3040}.badge-shape{text-transform:uppercase;letter-spacing:.5px;font-size:10px;font-weight:600;font-family:var(--font-mono);color:var(--color-node);background:#00e5ff14;border:1px solid #00e5ff33;border-radius:12px;padding:2px 8px;transition:all .2s;display:inline-block}.badge-shape[data-shape=circle]{color:var(--color-element);background:#38bdf814;border:1px solid #38bdf833}.glass-form-card{-webkit-backdrop-filter:blur(16px);background:#14192080;border:1px solid #ffffff0f;border-radius:8px;margin-top:8px;padding:12px;transition:border-color .2s,box-shadow .2s;box-shadow:0 4px 20px #0000004d}.glass-form-card:hover{border-color:#00e5ff26;box-shadow:0 4px 24px #00e5ff0d}.svg-thumbnail-container{background:#090b0d;border:1px solid #ffffff0f;border-radius:6px;flex-direction:column;justify-content:center;align-items:center;margin-top:6px;padding:8px;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 2px 8px #00000080}.btn-action{background:linear-gradient(135deg, var(--color-primary) 0%, #00e5ffcc 100%);color:#fff;cursor:pointer;border:none;border-radius:4px;outline:none;justify-content:center;align-items:center;font-weight:600;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex;box-shadow:0 2px 6px #007acc4d}.btn-action:hover{filter:brightness(1.1);transform:translateY(-1px);box-shadow:0 4px 12px #00e5ff66}.btn-action:active{transform:translateY(0)}.btn-danger-outline{border:1px solid var(--color-danger);color:var(--color-danger);cursor:pointer;background:0 0;border-radius:4px;outline:none;justify-content:center;align-items:center;font-weight:600;transition:all .2s;display:inline-flex}.btn-danger-outline:hover{box-shadow:0 0 8px var(--color-danger-glow);background:#ff3b301a}.btn-danger-outline:active{transform:scale(.98)}.workspace-sidebar.resizing{-webkit-user-select:none!important;user-select:none!important}.workspace-sidebar.resizing .sidebar-tabs-panel{transition:none!important}.ribbon-results-panel{border-left:1px solid var(--color-border);align-items:center;gap:12px;margin-left:8px;padding-left:16px;display:flex}.results-panel-label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:12px;font-weight:600}.results-segmented-control{background:#0e1217d9;border:1px solid #00e5ff40;border-radius:8px;padding:3px;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;box-shadow:0 4px 12px #0000004d}.results-segment-btn{color:var(--color-text-muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;outline:none;padding:6px 14px;font-size:12px;font-weight:600;transition:all .2s cubic-bezier(.4,0,.2,1)}.results-segment-btn:hover:not(.active){color:var(--color-text-main);background-color:#ffffff0a}.results-segment-btn.active{background:var(--bg-panel);box-shadow:0 2px 6px #0006}.results-segment-btn.segment-btn-design.active{color:var(--color-node);background:#00e5ff0f;border-color:#00e5ff59;box-shadow:0 0 10px #00e5ff26}.results-segment-btn.segment-btn-deflection.active{color:#ff007f;background:#ff007f0f;border-color:#ff007f59;box-shadow:0 0 10px #ff007f33}.results-segment-btn.segment-btn-bmd.active{color:#eb5e28;background:#eb5e280f;border-color:#eb5e2859;box-shadow:0 0 10px #eb5e2833}.results-segment-btn.segment-btn-sfd.active{color:#a200ff;background:#a200ff0f;border-color:#a200ff59;box-shadow:0 0 10px #a200ff33}.results-segment-btn.segment-btn-afd.active{color:#0096ff;background:#0096ff0f;border-color:#0096ff59;box-shadow:0 0 10px #0096ff33}.results-segment-btn.segment-btn-utilization.active{color:#10b981;background:#10b9810f;border-color:#10b98159;box-shadow:0 0 10px #10b98133}.ribbon-results-panel.results-active .results-segmented-control{border-color:var(--color-node);box-shadow:0 0 16px var(--color-node-glow), inset 0 0 4px var(--color-node-glow);animation:2s ease-in-out infinite results-glow-pulse}.ribbon-results-panel.results-active .results-panel-label{color:var(--color-node);text-shadow:0 0 8px var(--color-node-glow);font-weight:700;transition:all .3s}.results-pulse-dot{background-color:var(--color-node);vertical-align:middle;width:6px;height:6px;box-shadow:0 0 8px var(--color-node-glow);border-radius:50%;margin-right:8px;animation:1.5s ease-in-out infinite dot-pulse-animation;display:inline-block}@keyframes dot-pulse-animation{0%{opacity:.6;box-shadow:0 0 4px var(--color-node-glow);transform:scale(.85)}50%{opacity:1;box-shadow:0 0 12px var(--color-node);transform:scale(1.3)}to{opacity:.6;box-shadow:0 0 4px var(--color-node-glow);transform:scale(.85)}}@keyframes results-glow-pulse{0%{border-color:#00e5ff66;box-shadow:0 0 8px #00e5ff33,inset 0 0 3px #00e5ff0d}50%{border-color:#00e5ffd9;box-shadow:0 0 16px #00e5ff8c,inset 0 0 6px #00e5ff26}to{border-color:#00e5ff66;box-shadow:0 0 8px #00e5ff33,inset 0 0 3px #00e5ff0d}}.results-scale-control{align-items:center;gap:8px;margin-left:8px;display:flex}.results-scale-label{color:var(--color-text-muted);font-size:12px}.results-scale-slider{-webkit-appearance:none;background:var(--color-border);border-radius:2px;outline:none;width:100px;height:4px}.results-scale-slider::-webkit-slider-thumb{-webkit-appearance:none;background:var(--color-node);cursor:pointer;width:12px;height:12px;box-shadow:0 0 8px var(--color-node-glow);border-radius:50%;transition:transform .1s}.results-scale-slider::-webkit-slider-thumb:hover{transform:scale(1.2)}.results-scale-value{font-size:11px;font-family:var(--font-mono);color:var(--color-text-main);width:48px}.header-preset-control select{color:#22d3ee!important;border:1px solid var(--color-border)!important;background-color:#0c0f12!important;transition:all .2s ease-in-out!important}.header-preset-control select:hover{border-color:#22d3ee!important;box-shadow:0 0 8px #22d3ee40!important}.header-preset-control select option{color:#22d3ee!important;background-color:#0c0f12!important;font-weight:500!important}.header-preset-control select option:disabled{color:#5f748d!important;font-style:italic!important}.canvas-scale-container{flex-direction:column;align-items:center;gap:4px;padding:4px 0 2px;display:flex}.scale-vertical-label{font-size:10px;font-family:var(--font-mono);color:var(--color-node);text-align:center;-webkit-user-select:none;user-select:none;font-weight:700}.scale-vertical-title{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px;-webkit-user-select:none;user-select:none;font-size:8px;font-weight:600}.canvas-scale-slider{-webkit-appearance:slider-vertical;writing-mode:vertical-lr;background:var(--color-border);cursor:pointer;border-radius:4px;outline:none;width:12px;height:70px;margin:6px 0}.canvas-scale-slider::-webkit-slider-runnable-track{background:#ffffff1a;border-radius:2px;width:4px}.canvas-scale-slider::-webkit-slider-thumb{-webkit-appearance:none;background:var(--color-node);cursor:pointer;width:12px;height:12px;box-shadow:0 0 8px var(--color-node-glow);border-radius:50%;margin-left:-4px;transition:transform .1s}.canvas-scale-slider::-webkit-slider-thumb:hover{transform:scale(1.2)}.custom-checkbox-span{border:1.5px solid var(--color-border);background-color:var(--bg-input);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:4px;justify-content:center;align-items:center;width:16px;height:16px;transition:all .15s cubic-bezier(.4,0,.2,1);display:inline-flex}.custom-checkbox-span:hover:not(.disabled){border-color:var(--color-node);background-color:#00e5ff0a;transform:scale(1.05)}.custom-checkbox-span.checked{border-color:var(--color-node);box-shadow:0 0 8px var(--color-node-glow);background-color:#00e5ff1f}.custom-checkbox-span.disabled{opacity:.25;cursor:not-allowed;border-color:var(--color-border);background-color:#ffffff05}.results-container{background-color:var(--bg-panel);flex-direction:column;width:100%;height:100%;display:flex;overflow:hidden}.sidebar-mode-header{background-color:var(--bg-panel-light);border-bottom:1px solid var(--color-border);flex-shrink:0;justify-content:center;padding:12px 16px;display:flex}.sidebar-mode-segmented{background:var(--bg-input);border:1px solid var(--color-border);border-radius:8px;width:100%;padding:3px;display:flex;position:relative;box-shadow:inset 0 2px 4px #0003}.sidebar-mode-btn{font-family:var(--font-sans);color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;flex:1;justify-content:center;align-items:center;gap:6px;padding:7px 12px;font-size:12px;font-weight:700;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex}.sidebar-mode-btn:hover:not(.active){color:var(--color-text-main);background-color:#ffffff08}.sidebar-mode-btn.active{color:#0c0f12;background-color:var(--color-node);box-shadow:0 2px 8px var(--color-node-glow);font-weight:800}.results-unsolved-state{text-align:center;color:var(--color-text-muted);flex-direction:column;flex:1;justify-content:center;align-items:center;padding:32px 24px;display:flex}.unsolved-icon-wrapper{width:64px;height:64px;color:var(--color-support);background-color:#ffb30014;border:1.5px solid #ffb30059;border-radius:50%;justify-content:center;align-items:center;margin-bottom:20px;animation:2s ease-in-out infinite pulseWarning;display:flex;box-shadow:0 0 16px #ffb30026}.unsolved-icon-wrapper svg{width:32px;height:32px}@keyframes pulseWarning{0%{transform:scale(1);box-shadow:0 0 16px #ffb30026}50%{transform:scale(1.05);box-shadow:0 0 24px #ffb3004d}to{transform:scale(1);box-shadow:0 0 16px #ffb30026}}.results-unsolved-state h3{font-family:var(--font-heading);color:var(--color-text-main);margin:0 0 8px;font-size:16px;font-weight:700}.results-unsolved-state p{max-width:280px;margin:0 0 24px;font-size:12px;line-height:1.5}.btn-solve-huge{width:100%;max-width:240px;box-shadow:0 4px 16px var(--color-node-glow);justify-content:center;padding:10px 18px;font-size:13px}.results-panel-content{flex-direction:column;flex:1;gap:14px;padding:16px;display:flex;overflow:hidden}.results-panel-content.scrollable-y-only{overflow-y:auto}.results-section-header{flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.badge-results{text-transform:uppercase;letter-spacing:.5px;border-radius:4px;padding:4px 10px;font-size:11px;font-weight:800}.badge-results.badge-node{color:var(--color-node);background-color:#00e5ff14;border:1px solid #00e5ff40}.badge-results.badge-element{color:#a855f7;background-color:#a855f714;border:1px solid #a855f740}.badge-results.badge-structure{color:#22d3ee;background-color:#22d3ee14;border:1px solid #22d3ee40}.btn-secondary-mini{border:1px solid var(--color-border);color:var(--color-text-muted);cursor:pointer;background:0 0;border-radius:4px;padding:4px 10px;font-size:11px;transition:all .2s}.btn-secondary-mini:hover{border-color:var(--color-text-muted);color:var(--color-text-main);background-color:#ffffff08}.results-member-span-details{background-color:var(--bg-panel-light);border:1.5px solid var(--color-border);border-radius:6px;flex-direction:column;gap:6px;padding:10px 12px;font-size:12px;display:flex}.results-member-span-details .detail-row{justify-content:space-between;align-items:center;display:flex}.results-member-span-details .detail-row .label{color:var(--color-text-muted)}.results-member-span-details .detail-row .value{font-family:var(--font-sans)}.results-card{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1.5px solid var(--color-border);background-color:#14192066;border-radius:8px;flex-direction:column;gap:8px;padding:12px;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex}.results-card-title{font-family:var(--font-heading);color:var(--color-text-main);text-transform:uppercase;letter-spacing:.5px;align-items:center;gap:8px;font-size:12px;font-weight:700;display:flex}.results-card-title .card-icon{stroke-width:2px;width:14px;height:14px}.glass-glow-blue{background-color:#00e5ff03;border-color:#00e5ff40}.glass-glow-blue:hover{border-color:#00e5ff80;box-shadow:0 0 16px #00e5ff14}.glass-glow-blue .card-icon{color:var(--color-node)}.glass-glow-emerald{background-color:#10b98103;border-color:#10b98140}.glass-glow-emerald:hover{border-color:#10b98180;box-shadow:0 0 16px #10b98114}.glass-glow-emerald .card-icon{color:#10b981}.glass-glow-purple{background-color:#a855f703;border-color:#a855f740}.glass-glow-purple:hover{border-color:#a855f780;box-shadow:0 0 16px #a855f714}.glass-glow-yellow{background-color:#eab30803;border-color:#eab30840}.glass-glow-yellow:hover{border-color:#eab30880;box-shadow:0 0 16px #eab30814}.glass-glow-sky{background-color:#38bdf803;border-color:#38bdf840}.glass-glow-sky:hover{border-color:#38bdf880;box-shadow:0 0 16px #38bdf814}.glass-glow-disabled{opacity:.55;border-color:var(--color-border);background-color:#ffffff03}.card-placeholder-text{color:var(--color-text-muted);padding:6px 0;font-size:11px;font-style:italic;line-height:1.4}.results-grid-2{gap:16px;display:flex}.results-grid-2>div{flex:1}.results-grid-3{gap:12px;display:flex}.results-grid-3>div{flex:1}.results-metric-group{flex-direction:column;gap:2px;display:flex}.results-metric-label{color:var(--color-text-muted);font-size:10px;font-weight:500}.results-metric-value{font-family:var(--font-mono);color:var(--color-text-main);letter-spacing:-.5px;font-size:18px;font-weight:700}.results-metric-value.font-14{font-size:14px}.results-metric-value .unit{color:var(--color-text-muted);font-size:9px;font-weight:600;font-family:var(--font-sans)}.results-metric-loc{color:var(--color-text-muted);margin-top:1px;font-size:9px}.highlight-rxn{color:#10b981}.results-envelopes-title{font-family:var(--font-sans);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:1px;border-bottom:1.5px solid var(--color-border);margin-top:6px;margin-bottom:2px;padding-bottom:4px;font-size:10px;font-weight:800}.envelope-row-container{flex-direction:column;gap:4px;display:flex}.envelope-row{align-items:center;gap:8px;font-size:11px;display:flex}.envelope-divider{background-color:#ffffff0a;height:1px}.row-force-label{letter-spacing:.5px;width:50px;font-size:9px;font-weight:800}.envelope-row.positive .row-force-label{color:#10b981}.envelope-row.negative .row-force-label{color:#ef4444}.row-force-val{font-family:var(--font-mono);width:70px;font-size:13px;font-weight:700}.envelope-row.positive .row-force-val{color:#10b981}.envelope-row.negative .row-force-val{color:#ef4444}.row-force-loc{color:var(--color-text-muted);flex-wrap:wrap;flex:1;align-items:center;gap:4px;font-size:9px;display:flex}.global-coord-badge{font-family:var(--font-mono);background-color:#ffffff08;border:1px solid #ffffff0d;border-radius:3px;padding:1px 4px}.text-cyan{color:var(--color-node)}.text-purple{color:#a855f7}.text-yellow{color:#eab308}.text-sky{color:#38bdf8}.text-emerald{color:#10b981}.text-red{color:#ef4444}.text-orange{color:#eb5e28}.text-blue{color:#0096ff}.results-grid-4{gap:10px;display:flex}.results-grid-4>div{flex:1}.glass-glow-orange{background-color:#eb5e2803;border-color:#eb5e2840}.glass-glow-orange:hover{border-color:#eb5e2880;box-shadow:0 0 16px #eb5e2814}.glass-glow-red{background-color:#ef444403;border-color:#ef444440}.glass-glow-red:hover{border-color:#ef444480;box-shadow:0 0 16px #ef444414}.results-cards-grid{flex-direction:column;gap:10px;display:flex}.results-table-container{border:1.5px solid var(--color-border);background-color:var(--bg-panel-light);border-radius:6px;overflow-x:auto}.results-table{border-collapse:collapse;width:100%;font-size:11px}.results-table th{background-color:var(--bg-input);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--color-border);padding:6px 10px;font-size:9px;font-weight:700}.results-table td{font-family:var(--font-mono);color:var(--color-text-main);vertical-align:middle;border-bottom:1px solid #ffffff08;padding:6px 10px}.results-table tbody tr.hoverable-row:hover{background-color:#ffffff08!important}.results-table tr.row-peak-max{background-color:#10b98114}.results-table tr.row-peak-max td{border-bottom-color:#10b98126}.results-table tr.row-peak-min{background-color:#ef444414}.results-table tr.row-peak-min td{border-bottom-color:#ef444426}.cell-indicator{vertical-align:middle;-webkit-user-select:none;user-select:none;margin-left:4px;font-size:8px}.deflection-buttons-bar{-webkit-backdrop-filter:blur(12px);z-index:100;pointer-events:auto;background:#0f172abf;border:1px solid #ffffff14;border-radius:30px;gap:8px;padding:6px;display:flex;position:absolute;top:16px;left:50%;transform:translate(-50%);box-shadow:0 10px 30px #0006,inset 0 1px #ffffff0d}.deflection-btn{color:var(--color-text-muted);cursor:pointer;letter-spacing:.3px;background:0 0;border:none;border-radius:20px;outline:none;padding:6px 14px;font-size:11px;font-weight:600;transition:all .25s cubic-bezier(.4,0,.2,1)}.deflection-btn:hover{color:var(--color-text-main);background:#ffffff0a}.deflection-btn.active{color:#0c0f12;background:var(--color-node);font-weight:700;box-shadow:0 0 15px #00e5ff59}.deflection-legend-card{-webkit-backdrop-filter:blur(12px);z-index:99;pointer-events:auto;width:130px;font-family:var(--font-sans);background:#0f172ad9;border:1px solid #ffffff14;border-radius:10px;padding:12px;position:absolute;top:16px;right:76px;box-shadow:0 10px 30px #00000080}.legend-title{color:var(--color-text-main);letter-spacing:.5px;text-transform:uppercase;margin-bottom:2px;font-size:11px;font-weight:800}.legend-unit{color:var(--color-node);font-size:9px;font-family:var(--font-mono);margin-bottom:10px;font-weight:700}.legend-body{gap:10px;height:120px;display:flex}.legend-color-bar{background:linear-gradient(red 0%,#ff0 25%,#0f0 50%,#0ff 75%,#00f 100%);border:1px solid #ffffff14;border-radius:3px;width:14px;height:100%}.legend-labels{font-family:var(--font-mono);color:var(--color-text-muted);flex-direction:column;flex:1;justify-content:space-between;font-size:10px;font-weight:700;line-height:1;display:flex}.legend-labels div{white-space:nowrap}.hoverable-metric{transition:transform .2s cubic-bezier(.4,0,.2,1),filter .2s}.hoverable-metric:hover{filter:brightness(1.18);transform:translateY(-2.5px)}@keyframes pulseGlow{0%{opacity:.25}50%{opacity:.65}to{opacity:.25}}.pulsating-glow-line{animation:1.8s ease-in-out infinite pulseGlow}.workspace-left-sidebar{background-color:var(--bg-panel);border-right:1px solid var(--color-border);flex-direction:column;flex-shrink:0;width:250px;min-width:250px;max-width:250px;height:100%;display:flex;overflow:hidden}.left-sidebar-header{background-color:var(--bg-panel-light);border-bottom:1px solid var(--color-border);flex-shrink:0;align-items:center;gap:8px;padding:14px 16px;display:flex}.project-icon{font-size:15px;line-height:1}.project-title{font-family:var(--font-heading);letter-spacing:.5px;color:var(--color-node);text-transform:uppercase;white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:800;overflow:hidden}.left-sidebar-content{flex-direction:column;flex:1;padding:10px 0;display:flex;overflow-y:auto}.tree-folder{flex-direction:column;margin-bottom:4px;display:flex}.tree-folder-header{cursor:pointer;-webkit-user-select:none;user-select:none;font-family:var(--font-sans);color:var(--color-text-main);text-transform:uppercase;letter-spacing:.5px;border-left:2px solid #0000;justify-content:space-between;align-items:center;padding:8px 16px;font-size:11px;font-weight:700;transition:all .2s;display:flex}.tree-folder-header:hover{background-color:#ffffff08;border-left-color:#00e5ff4d}.tree-folder-title-box{align-items:center;gap:6px;display:flex}.tree-chevron{width:12px;height:12px;color:var(--color-text-muted);transition:transform .2s}.tree-chevron.expanded{transform:rotate(90deg)}.tree-folder-content{flex-direction:column;padding:2px 0 6px;display:flex}.tree-item{cursor:pointer;font-family:var(--font-mono);color:var(--color-text-muted);-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;padding:5px 16px 5px 28px;font-size:11px;transition:all .15s;display:flex}.tree-item:hover{color:var(--color-text-main);background-color:#ffffff0a}.tree-item.selected{color:var(--color-node);border-right:2px solid var(--color-node);background-color:#00e5ff14}.tree-item-label{white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.tree-badge{font-size:8.5px;font-family:var(--font-mono);color:var(--color-text-muted);background-color:#ffffff14;border-radius:10px;padding:1px 5px;font-weight:700}.tree-action-box{align-items:center;gap:6px;margin-left:6px;display:flex}.tree-add-btn{cursor:pointer;color:var(--color-node);background:#00e5ff14;border:1px solid #00e5ff33;border-radius:3px;justify-content:center;align-items:center;padding:2px 6px;font-size:12px;font-weight:700;line-height:1;transition:all .2s;display:inline-flex}.tree-add-btn:hover{background-color:var(--color-node);color:#0c0f12;box-shadow:0 0 8px var(--color-node-glow)}.tree-delete-btn{cursor:pointer;color:#ff3b3080;opacity:0;background:0 0;border:none;border-radius:3px;justify-content:center;align-items:center;padding:2px;transition:all .15s;display:flex}.tree-delete-btn:hover{color:var(--color-danger);background-color:#ff3b301f}.tree-item:hover .tree-delete-btn{opacity:1}.global-params-section{border-top:1px solid var(--color-border);background-color:var(--bg-panel-light);flex-direction:column;flex-shrink:0;gap:12px;padding:16px;display:flex}.global-params-title{font-family:var(--font-heading);text-transform:uppercase;letter-spacing:1px;color:var(--color-text-muted);border-bottom:1px solid #ffffff0f;margin-bottom:2px;padding-bottom:6px;font-size:10px;font-weight:800}.global-params-row{flex-direction:column;gap:6px;display:flex}.global-params-label{color:var(--color-text-muted);justify-content:space-between;align-items:center;font-size:11px;font-weight:600;display:flex}.global-params-value{color:var(--color-node);font-family:var(--font-mono);font-size:11px}.global-params-select{background-color:var(--bg-input);border:1px solid var(--color-border);color:var(--color-text-main);font-size:12px;font-family:var(--font-sans);cursor:pointer;border-radius:4px;outline:none;width:100%;padding:6px;transition:border-color .2s}.global-params-select:focus{border-color:var(--color-node)}.global-params-input{background-color:var(--bg-input);border:1px solid var(--color-border);color:var(--color-node);font-size:12px;font-family:var(--font-mono);border-radius:4px;outline:none;width:100%;padding:6px;font-weight:700;transition:border-color .2s}.global-params-input:focus{border-color:var(--color-node);box-shadow:0 0 6px #00e5ff33}.assigned-member-badge{font-family:var(--font-mono);color:var(--color-element);cursor:pointer;-webkit-user-select:none;user-select:none;background:#38bdf814;border:1px solid #38bdf840;border-radius:4px;justify-content:center;align-items:center;padding:1.5px 6.5px;font-size:10.5px;font-weight:700;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex}.assigned-member-badge:hover{color:#38bdf8;background:#38bdf838;border-color:#38bdf8a6;transform:translateY(-1px);box-shadow:0 0 8px #38bdf84d}.assigned-member-badge:active{transform:translateY(0)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-spin{animation:1s linear infinite spin}
