@import"https://www.nerdfonts.com/assets/css/webfont.css";@import"https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;500;600;700&family=Noto+Sans:wght@300;400;500;600;700&family=Poppins:wght@300;400;500;600;700&display=swap";.button{padding:8px 16px;border-radius:4px;font-size:.8125rem;font-weight:500;border:none;cursor:pointer;transition:background-color .2s,opacity .2s;margin:4px 0;display:inline-flex;align-items:center;justify-content:center;gap:8px}.button:disabled{opacity:.5;cursor:not-allowed}.button-primary{background-color:var(--color-primary);color:#fff}.button-primary:hover:not(:disabled){background-color:var(--color-primary-hover)}.button-secondary{background-color:#3e3e42;color:#d4d4d4}.button-secondary:hover:not(:disabled){background-color:#4e4e52}.button-danger{background-color:#b94d62;color:#fff}.button-danger:hover:not(:disabled){background-color:#d05a72}.button-outline{background-color:transparent;color:var(--color-text-primary, #d4d4d4);border:1px solid var(--color-border, #3e3e42)}.button-outline:hover:not(:disabled){background-color:#ffffff0d}.button-full-width{width:100%}.button-sm{padding:4px 10px;font-size:.75rem}.button-lg{padding:10px 20px;font-size:.9375rem}.button-xl{padding:12px 24px;font-size:1rem}.button-loading{position:relative}.button-spinner{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:button-spin .6s linear infinite}@keyframes button-spin{to{transform:rotate(360deg)}}.checkbox-input{display:flex;align-items:center;gap:var(--spacing-sm, 8px);color:var(--color-text-primary, #d4d4d4);font-size:var(--font-size-md, .75rem);cursor:pointer;-webkit-user-select:none;user-select:none}.checkbox-input.disabled{opacity:.5;cursor:not-allowed}.checkbox-input input[type=checkbox]{width:var(--checkbox-size, 14px);height:var(--checkbox-size, 14px);cursor:pointer;accent-color:var(--color-primary, #007acc);flex-shrink:0}.checkbox-input.disabled input[type=checkbox]{cursor:not-allowed}.checkbox-indicator{width:12px;height:3px;border-radius:1px;flex-shrink:0}.checkbox-indicator.perimeter{background-color:var(--color-perimeter, #b94d62)}.checkbox-indicator.infill{background-color:var(--color-infill, #eac653)}.checkbox-indicator.extrusion-width{background-color:#eac653b3;border:1px solid #eac653;height:6px}.checkbox-indicator.perimeter-extrusion-width{background-color:#b94d62b3;border:1px solid #b94d62;height:6px}.checkbox-indicator.overlap,.checkbox-indicator.overlap-matrix{background-color:#9370dbb3;border:1px solid rgb(147,112,219)}.checkbox-indicator.overlap-cortex{background-color:#00968899;border:1px solid rgb(0,150,136)}.checkbox-indicator.direction-arrow{width:0;height:0;border-left:6px solid #00ffaa;border-top:4px solid transparent;border-bottom:4px solid transparent;border-radius:0;background-color:transparent}.checkbox-indicator.success{background-color:var(--color-success, #4caf50)}.checkbox-indicator.warning{background-color:var(--color-warning, #ff9800)}.checkbox-indicator.error{background-color:var(--color-error, #f44336)}.checkbox-label-text{flex:1}.select-input{display:flex;flex-direction:column;gap:var(--spacing-xs, 4px)}.select-input.inline{flex-direction:row;align-items:center;gap:var(--spacing-sm, 8px)}.select-label{font-size:var(--font-size-sm, .6875rem);color:var(--color-text-secondary, #858585)}.select-input.inline .select-label{white-space:nowrap}.select-field{height:var(--input-height-md, 28px);padding:0 var(--spacing-sm, 8px);font-size:var(--font-size-md, .75rem);color:var(--color-text-primary, #d4d4d4);background-color:var(--color-bg-tertiary, #252526);border:var(--border-width, 1px) solid var(--color-border, #3e3e42);border-radius:var(--radius-sm, 3px);outline:none;cursor:pointer;flex:1}.select-field:focus{border-color:var(--color-border-focus, #007acc)}.select-field:disabled{opacity:.5;cursor:not-allowed}.select-field option{background-color:var(--color-bg-secondary, #2d2d30);color:var(--color-text-primary, #d4d4d4)}.select-field option:disabled{color:var(--color-text-secondary, #858585)}.settings-section{border-bottom:var(--border-width, 1px) solid var(--color-border, #3e3e42)}.settings-section:last-child{border-bottom:none}.settings-section-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-sm, 8px) var(--spacing-md, 12px);background-color:var(--color-bg-tertiary, #252526);-webkit-user-select:none;user-select:none}.settings-section-header.clickable{cursor:pointer}.settings-section-header.clickable:hover{background-color:var(--color-bg-hover, #3c3c3c)}.settings-section-title-wrapper{display:flex;align-items:center;gap:var(--spacing-sm, 8px)}.settings-section-icon{color:var(--color-text-secondary, #858585);font-size:var(--font-size-lg, .875rem)}.settings-section-title{font-size:var(--font-size-md, .75rem);font-weight:var(--font-weight-medium, 500);color:var(--color-text-primary, #d4d4d4)}.settings-section-badge{font-size:var(--font-size-xs, .625rem);color:var(--color-text-secondary, #858585);background-color:var(--color-bg-hover, #3c3c3c);padding:2px 6px;border-radius:var(--radius-sm, 3px)}.settings-section-chevron{color:var(--color-text-secondary, #858585);font-size:var(--font-size-xs, .625rem);transition:transform var(--transition-fast, .1s ease)}.settings-section-chevron.expanded{transform:rotate(90deg)}.settings-section-content{padding:var(--spacing-md, 12px);display:flex;flex-direction:column;gap:var(--spacing-sm, 8px)}.collapsible{border:var(--border-width, 1px) solid var(--color-border, #3e3e42);border-radius:var(--radius-md, 4px);overflow:hidden}.collapsible-header{display:flex;align-items:center;gap:var(--spacing-sm, 8px);padding:var(--spacing-sm, 8px) var(--spacing-md, 12px);background-color:var(--color-bg-tertiary, #252526);cursor:pointer;-webkit-user-select:none;user-select:none}.collapsible-header:hover{background-color:var(--color-bg-hover, #3c3c3c)}.collapsible-chevron{color:var(--color-text-secondary, #858585);font-size:var(--font-size-xs, .625rem);transition:transform var(--transition-fast, .1s ease);flex-shrink:0}.collapsible.expanded .collapsible-chevron{transform:rotate(90deg)}.collapsible-header-content{flex:1;font-size:var(--font-size-md, .75rem);color:var(--color-text-primary, #d4d4d4)}.collapsible-body{background-color:var(--color-bg-secondary, #2d2d30)}.collapsible-body.animated{transition:max-height var(--transition-normal, .2s ease)}.collapsible-content{padding:var(--spacing-md, 12px)}.number-input{display:flex;flex-direction:column;gap:6px}.number-input-label{font-size:.875rem;color:#d4d4d4;font-weight:500}.number-input-controls{display:flex;gap:4px}.number-input-button{width:32px;height:32px;background-color:#3e3e42;border:1px solid #3e3e42;color:#d4d4d4;font-size:1rem;border-radius:4px;cursor:pointer;transition:background-color .2s}.number-input-button:hover:not(:disabled){background-color:#4e4e52}.number-input-button:disabled{opacity:.5;cursor:not-allowed}.number-input-field{flex:1;height:32px;background-color:#2d2d30;border:1px solid #3e3e42;color:#d4d4d4;font-size:.8125rem;padding:0 8px;border-radius:4px;text-align:center}.number-input-field:focus{outline:none;border-color:var(--color-primary)}.number-input-field::-webkit-inner-spin-button,.number-input-field::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.number-input-field[type=number]{-moz-appearance:textfield}.text-input{display:flex;flex-direction:column;gap:6px}.text-input-label{font-size:.8125rem;color:#d4d4d4;font-weight:500;margin-top:4px}.text-input-wrapper{position:relative;display:flex;align-items:center}.text-input-field{height:32px;background-color:#2d2d30;border:1px solid #3e3e42;color:#d4d4d4;font-size:.8125rem;padding:0 10px;border-radius:4px;width:100%;margin-bottom:8px}.text-input-field:focus{outline:none;border-color:var(--color-primary)}.text-input-field::placeholder{color:#6e6e6e}.text-input-field:disabled{opacity:.5;cursor:not-allowed}.password-toggle-button{font-family:NerdFontsSymbols Nerd Font;position:absolute;right:10px;background:none;border:none;cursor:pointer;font-size:.875rem;color:#d4d4d4;padding:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center}.password-toggle-button:hover{color:#fff}.toast{position:fixed;bottom:24px;right:24px;min-width:300px;max-width:500px;padding:16px;border-radius:4px;box-shadow:0 4px 12px #0006;z-index:10000;animation:slideIn .3s ease-out}@keyframes slideIn{0%{transform:translate(400px);opacity:0}to{transform:translate(0);opacity:1}}.toast-success{background-color:#2d5a2d;border-left:4px solid #4caf50}.toast-error{background-color:#5a2d2d;border-left:4px solid #f44336}.toast-warning{background-color:#5a4d2d;border-left:4px solid #ff9800}.toast-info{background-color:#2d3d5a;border-left:4px solid #2196f3}.toast-content{display:flex;align-items:center;justify-content:space-between;gap:16px}.toast-message{color:#fff;font-size:.875rem;line-height:1.4;flex:1}.toast-close{background:none;border:none;color:#fff;font-size:1.5rem;line-height:1;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;opacity:.7;transition:opacity .2s}.toast-close:hover{opacity:1}.log-panel{position:fixed;bottom:16px;right:16px;max-width:400px;background-color:#f44336;color:#fff;border-radius:4px;box-shadow:0 4px 6px #0000004d;z-index:1000}.log-panel-content{display:flex;align-items:flex-start;padding:12px 16px;gap:12px}.log-panel-message{flex:1;font-size:.875rem;line-height:1.4}.log-panel-close{background:none;border:none;color:#fff;font-size:1.5rem;line-height:1;padding:0;cursor:pointer;opacity:.8;transition:opacity .2s}.log-panel-close:hover{opacity:1}.error-boundary-fallback{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;height:100%;min-height:200px;background:#1e1e1e;border:1px solid #3e3e42;border-radius:4px;color:#ccc;text-align:center}.error-boundary-icon{width:48px;height:48px;line-height:48px;font-size:1.5rem;font-weight:700;background:#b94d62;color:#fff;border-radius:50%;margin-bottom:1rem}.error-boundary-title{font-size:1.1rem;font-weight:500;margin-bottom:.5rem;color:#e0e0e0}.error-boundary-message{font-size:.85rem;color:#888;margin-bottom:1rem;max-width:300px;word-break:break-word}.error-boundary-retry{padding:.5rem 1rem;font-size:.85rem;background:#0e639c;color:#fff;border:none;border-radius:4px;cursor:pointer;transition:background .2s}.error-boundary-retry:hover{background:#17b}.dialog-overlay{position:fixed;inset:0;background-color:#0009;display:flex;align-items:center;justify-content:center;z-index:1000}.dialog-container{background-color:#2a2a2d;border:1px solid #3e3e42;border-radius:8px;padding:20px;box-shadow:0 4px 20px #0006;max-height:80vh;overflow-y:auto}.dialog-small{width:280px;min-width:280px}.dialog-medium{width:360px;min-width:320px}.dialog-large{width:480px;min-width:400px}.dialog-title{margin:0 0 16px;font-size:1rem;font-weight:600;color:#fff}.dialog-content{margin-bottom:20px}.dialog-content .param-group{margin-bottom:12px}.dialog-content .param-group:last-child{margin-bottom:0}.dialog-content .param-group label{display:block;font-size:.75rem;color:#ccc;margin-bottom:6px}.dialog-content .param-group input[type=number],.dialog-content .param-group input[type=text],.dialog-content .param-group select{width:100%;padding:8px 10px;background-color:#1e1e1e;border:1px solid #3e3e42;border-radius:4px;color:#fff;font-size:.8125rem;box-sizing:border-box}.dialog-content .param-group input:focus,.dialog-content .param-group select:focus{outline:none;border-color:#6038d7}.dialog-content .param-group small{display:block;font-size:.6875rem;color:#858585;margin-top:4px}.dialog-buttons{display:flex;gap:8px;justify-content:flex-end}.dialog-buttons button{min-width:80px}.param-group{margin-bottom:12px}.param-group:last-child{margin-bottom:0}.param-group label{display:block;font-size:.75rem;color:#ccc;margin-bottom:6px}.param-group input[type=number],.param-group input[type=text],.param-group select{width:100%;padding:8px 10px;background-color:#1e1e1e;border:1px solid #3e3e42;border-radius:4px;color:#fff;font-size:.8125rem;box-sizing:border-box}.param-group input:focus,.param-group select:focus{outline:none;border-color:#6038d7}.param-group small{display:block;font-size:.6875rem;color:#858585;margin-top:4px}.param-group.horizontal{display:flex;align-items:center;gap:12px}.param-group.horizontal label{margin-bottom:0;min-width:100px;flex-shrink:0}.param-group.horizontal input,.param-group.horizontal select{flex:1}.param-group.horizontal small{flex-basis:100%;margin-top:4px}.molecule-viewer{display:flex;align-items:center;justify-content:center;background-color:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-md);min-height:150px}.molecule-placeholder{color:var(--color-text-secondary);font-size:var(--font-size-md)}.list-detail-layout{display:grid;grid-template-columns:280px 1fr;gap:var(--spacing-lg);height:100%}.list-panel{display:flex;flex-direction:column;background-color:var(--color-bg-secondary);border-radius:var(--radius-lg);border:1px solid var(--color-border);overflow:hidden}.list-header{display:flex;gap:var(--spacing-sm);padding:var(--spacing-md);border-bottom:1px solid var(--color-border);background-color:var(--color-bg-tertiary)}.list-search-input{flex:1;height:28px;padding:0 var(--spacing-sm);background-color:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-primary);font-size:var(--font-size-md);outline:none}.list-search-input:focus{border-color:var(--color-border-focus)}.list-search-input::placeholder{color:var(--color-text-secondary)}.list-add-button{display:inline-flex;align-items:center;justify-content:center;height:28px;width:28px;padding:0;background-color:var(--color-primary);border:none;border-radius:var(--radius-md);color:var(--color-text-accent);font-size:var(--font-size-lg);cursor:pointer;transition:background-color var(--transition-fast)}.list-add-button:hover{background-color:var(--color-primary-hover)}.item-list{list-style:none;margin:0;padding:0;overflow-y:auto;flex:1}.item-list li{display:flex;flex-direction:column;gap:2px;padding:var(--spacing-sm) var(--spacing-md);cursor:pointer;border-bottom:1px solid var(--color-border);transition:background-color var(--transition-fast)}.item-list li:hover{background-color:var(--color-bg-hover)}.item-list li.selected{background-color:var(--color-bg-selected);border-left:3px solid var(--color-primary)}.item-name{font-weight:500;font-size:var(--font-size-md);color:var(--color-text-primary)}.item-meta{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.item-badge{display:inline-block;padding:2px 6px;background-color:var(--color-bg-tertiary);border-radius:var(--radius-sm);font-size:var(--font-size-xs);text-transform:uppercase;color:var(--color-text-secondary)}.item-badge.default{background-color:var(--color-primary);color:var(--color-text-accent)}.detail-panel{background-color:var(--color-bg-secondary);border-radius:var(--radius-lg);border:1px solid var(--color-border);padding:var(--spacing-xl);overflow-y:auto}.detail-panel h2{margin:0 0 var(--spacing-xl);font-size:var(--font-size-xl);font-weight:600;color:var(--color-text-primary)}.detail-panel h3{margin:var(--spacing-xl) 0 var(--spacing-md);font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px}.detail-panel dl{display:grid;grid-template-columns:140px 1fr;gap:var(--spacing-sm) var(--spacing-md);margin:0}.detail-panel dt{color:var(--color-text-secondary);font-size:var(--font-size-md)}.detail-panel dd{margin:0;font-family:var(--font-family-mono);font-size:var(--font-size-md);color:var(--color-text-primary)}.detail-actions{display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-xl);padding-top:var(--spacing-lg);border-top:1px solid var(--color-border)}.list-empty-state{display:flex;align-items:center;justify-content:center;height:100%;color:var(--color-text-secondary);font-size:var(--font-size-md)}.tabs{display:flex;flex-direction:column;width:100%}.tabs-list{display:flex;align-items:center;justify-content:center;gap:4px;border-bottom:1px solid var(--color-border, #3e3e42)}.tabs-trigger{height:40px;padding:0 16px;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--color-text-secondary, #858585);font-size:.875rem;font-weight:500;cursor:pointer;transition:color .15s,border-color .15s,background-color .15s;white-space:nowrap}.tabs-trigger:hover{color:var(--color-text-primary, #d4d4d4);background-color:#ffffff0d}.tabs-trigger.active{color:var(--color-text-accent, #ffffff);border-bottom-color:var(--color-primary, #6038d7)}.tabs-content{display:flex;justify-content:center;padding-top:var(--spacing-md, 12px)}.tooltip-wrapper{position:relative;display:inline-flex}.tooltip-content{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);z-index:var(--z-tooltip, 700);background-color:var(--color-bg-secondary, #2d2d30);color:var(--color-text-primary, #d4d4d4);border:1px solid var(--color-border, #3e3e42);border-radius:var(--radius-md, 6px);padding:var(--spacing-xs, 4px) var(--spacing-sm, 8px);font-size:var(--font-size-sm, .75rem);white-space:nowrap;pointer-events:none;box-shadow:var(--shadow-md, 0 4px 12px rgba(0, 0, 0, .3))}.tooltip-arrow{position:absolute;top:100%;left:50%;transform:translate(-50%);width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid var(--color-border, #3e3e42)}.fieldset{position:relative;display:flex;flex-direction:column;gap:var(--spacing-sm, 8px);padding:var(--spacing-lg, 16px);padding-top:0;border:1px solid var(--color-border, #3e3e42);border-radius:var(--radius-md, 6px);margin:0}.fieldset-legend{font-size:var(--font-size-md, .875rem);font-weight:500;color:var(--color-text-primary, #d4d4d4);padding:0 var(--spacing-xs, 4px)}.fieldset-content{display:flex;flex-direction:column;gap:var(--spacing-sm, 8px)}.form-field{display:flex;flex-direction:column;gap:var(--spacing-xs, 4px)}.form-field-label{font-size:var(--font-size-sm, .75rem);font-weight:500;color:var(--color-text-primary, #d4d4d4)}.form-field-error{font-size:var(--font-size-xs, .625rem);color:var(--color-error, #f44336)}.form-field-invalid .form-field-label{color:var(--color-error, #f44336)}.form-field-readonly{opacity:.7;pointer-events:none}.file-upload{display:flex;flex-direction:column;gap:var(--spacing-sm, 8px)}.file-upload-hidden{display:none}.file-upload-trigger{display:inline-flex;cursor:pointer}.file-upload-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--spacing-xs, 4px)}.file-upload-list-item{font-size:var(--font-size-sm, .75rem);color:var(--color-text-secondary, #858585);padding:var(--spacing-xs, 4px) var(--spacing-sm, 8px);background-color:var(--color-bg-tertiary, #252526);border-radius:var(--radius-sm, 3px)}.scale-bar{display:flex;flex-direction:column;align-items:center;gap:2px}.scale-bar-line{height:3px;background:#fff;border-left:1px solid #fff;border-right:1px solid #fff;min-width:20px;max-width:150px;box-shadow:0 0 2px #00000080}.scale-bar-label{font-size:.5625rem;color:#aaa;white-space:nowrap}.canvas-2d-viewer{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:#1e1e1e;border-radius:4px;overflow:hidden}.canvas-2d-viewer-controls{position:absolute;bottom:90px;left:50%;transform:translate(-50%);z-index:10;display:flex;flex-direction:row;gap:4px;pointer-events:auto;white-space:nowrap}.canvas-2d-viewer-canvas{width:100%;height:100%;display:block}.canvas-2d-viewer-info{position:absolute;bottom:60px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:12px;padding:4px 8px;background:#000000d9;border-radius:4px;font-size:.6875rem;color:#ccc;z-index:10;pointer-events:auto;white-space:nowrap}.canvas-2d-viewer-reset{background:#333;border:1px solid #555;color:#ccc;padding:2px 8px;border-radius:3px;font-size:.625rem;cursor:pointer;transition:all .15s ease}.canvas-2d-viewer-reset:hover{background:#444;border-color:#666}.canvas-2d-viewer-bg-toggle{background:#333;border:1px solid #555;color:#ccc;padding:2px 8px;border-radius:3px;font-size:.625rem;cursor:pointer;transition:all .15s ease}.canvas-2d-viewer-bg-toggle:hover{background:#444;border-color:#666}.canvas-2d-viewer-bg-toggle.light{background:#ddd;border-color:#aaa;color:#333}.canvas-2d-viewer-bg-toggle.light:hover{background:#ccc;border-color:#999}.canvas-2d-viewer-legend{position:absolute;top:50%;right:8px;transform:translateY(-50%);display:flex;flex-direction:column;gap:6px;padding:8px 10px;background:#000000b3;border-radius:4px;font-size:.625rem;color:#aaa;z-index:10;max-height:calc(100% - 80px);overflow-y:auto}.canvas-2d-viewer-legend .legend-item{display:flex;align-items:center;gap:4px}.canvas-2d-viewer-legend .legend-color{width:12px;height:12px;border-radius:2px}.canvas-2d-viewer-legend .legend-color.perimeter{background:#b94d62}.canvas-2d-viewer-legend .legend-color.infill{background:#eac653}.canvas-2d-viewer-legend .legend-color.build-surface{background:#0f6}.canvas-2d-viewer-legend .legend-color.container{background:#0af}.canvas-2d-viewer-legend .legend-color.extrusion-width{background:#eac65366;border:1px solid #eac653}.canvas-2d-viewer-legend .legend-color.perimeter-extrusion-width{background:#b94d6266;border:1px solid #b94d62}.canvas-2d-viewer-legend .legend-color.overlap{background:#f44}.canvas-2d-viewer-legend .legend-color.start{background:#0f0;border-radius:50%}.canvas-2d-viewer-legend .legend-color.end{background:red;border-radius:50%}.canvas-2d-viewer-legend .legend-color.perimeter-arrow{background:#ff0}.canvas-2d-viewer-legend .legend-color.infill-arrow{background:#0fa}.canvas-2d-viewer-legend .legend-color.droplet{background:#b388ff;border-radius:50%}.canvas-2d-viewer-legend .legend-color.gridfill{background:#29b6f6;transform:rotate(45deg)}.control-sidebar{position:relative;flex-shrink:0;min-width:300px;max-width:800px;height:100%;display:flex;flex-direction:column;background-color:var(--bg-secondary, #252526);border-right:1px solid var(--border-color, #3e3e42);z-index:100}.control-sidebar-content{flex:1;overflow-y:auto;padding:16px}.control-sidebar-resize-handle{position:absolute;top:0;right:0;width:8px;height:100%;cursor:col-resize;z-index:10000;background:transparent;pointer-events:auto;touch-action:none}.control-sidebar-resize-handle:after{content:"";position:absolute;top:0;right:0;width:2px;height:100%;background:var(--border-color, #3e3e42);transition:background .15s}.control-sidebar-resize-handle:hover:after,.control-sidebar-resize-handle.resizing:after{background:var(--color-primary, #4a9eff)}.header{background-color:#2d2d30;padding:0 24px;border-bottom:1px solid #3e3e42;display:flex;align-items:center;gap:24px;height:48px}.header-brand{display:flex;align-items:center;flex-shrink:0}.header-title{font-size:1.125rem;font-weight:600;color:#fff;margin:0}.header-nav{display:flex;align-items:center;height:100%;gap:4px;flex:1}.nav-tab{height:100%;padding:0 16px;background:transparent;border:none;border-bottom:2px solid transparent;color:#858585;font-size:.8125rem;font-weight:500;cursor:pointer;transition:color .15s,border-color .15s,background-color .15s;white-space:nowrap}.nav-tab:hover{color:#d4d4d4;background-color:#ffffff0d}.nav-tab.active{color:#fff;border-bottom-color:var(--color-primary, #4a9eff)}.header-actions{display:flex;align-items:center;height:100%}.logout-button{height:32px;padding:0 16px;background:transparent;border:1px solid #3e3e42;border-radius:4px;color:#858585;font-size:.8125rem;font-weight:500;cursor:pointer;transition:color .15s,border-color .15s,background-color .15s}.logout-button:hover{color:#d4d4d4;border-color:#4e4e52;background-color:#ffffff0d}.user-menu{position:relative;height:100%;display:flex;align-items:center}.user-menu-trigger{height:32px;padding:0 16px;background:transparent;border:1px solid #3e3e42;border-radius:4px;color:#858585;font-size:.8125rem;font-weight:500;cursor:pointer;transition:color .15s,border-color .15s,background-color .15s;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-menu-trigger:hover{color:#d4d4d4;border-color:#4e4e52;background-color:#ffffff0d}.user-menu-dropdown{position:absolute;top:100%;right:0;margin-top:4px;min-width:200px;background-color:#2d2d30;border:1px solid #3e3e42;border-radius:6px;box-shadow:0 4px 12px #0006;z-index:1000;padding:4px 0}.user-menu-header{padding:8px 12px;color:#d4d4d4;font-size:.75rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-menu-divider{height:1px;background-color:#3e3e42;margin:4px 0}.user-menu-item{display:block;width:100%;padding:8px 12px;background:transparent;border:none;color:#ccc;font-size:.8125rem;text-align:left;cursor:pointer;transition:background-color .15s}.user-menu-item:hover{background-color:#ffffff14}.user-menu-item--danger{color:#f48771}.user-menu-item--danger:hover{background-color:#f487711a}.path-context-menu{position:fixed;z-index:1000;background:#2a2a32;border:1px solid #3e3e46;border-radius:6px;box-shadow:0 4px 12px #0006;min-width:200px;padding:8px}.path-context-menu-header{display:flex;align-items:center;justify-content:space-between;font-size:.75rem;font-weight:600;color:#a0a0a8;padding:4px 8px 8px;border-bottom:1px solid #3e3e46;margin-bottom:8px}.path-context-menu-close{background:none;border:none;color:#808088;font-size:1.125rem;line-height:1;cursor:pointer;padding:0 4px;border-radius:4px;transition:color .15s,background .15s}.path-context-menu-close:hover{color:#fff;background:#ffffff1a}.path-context-menu-content{padding:4px}.path-context-menu-content .number-input{margin-bottom:0}.path-context-menu-content .number-input label{font-size:.6875rem}.path-context-menu-divider{height:1px;background:#3e3e46;margin:10px 0}.path-context-menu-content .button{font-size:.75rem;padding:6px 10px}.path-context-menu-content .button+.button{margin-top:6px}.unit-input{display:flex;flex-direction:column;gap:6px}.unit-input-label{font-size:.875rem;color:#d4d4d4;font-weight:500}.unit-input-label-unit{font-weight:400;opacity:.7}.unit-input-controls{display:flex;gap:4px;align-items:center}.unit-input-button{width:32px;height:32px;background-color:#3e3e42;border:1px solid #3e3e42;color:#d4d4d4;font-size:1rem;border-radius:4px;cursor:pointer;transition:background-color .2s;flex-shrink:0}.unit-input-button:hover:not(:disabled){background-color:#4e4e52}.unit-input-button:disabled{opacity:.5;cursor:not-allowed}.unit-input-field{flex:1;min-width:60px;height:32px;background-color:#2d2d30;border:1px solid #3e3e42;color:#d4d4d4;font-size:.8125rem;padding:0 8px;border-radius:4px;text-align:center}.unit-input-field:focus{outline:none;border-color:var(--color-primary)}.unit-input-field:disabled{opacity:.5;cursor:not-allowed}.unit-input-field::-webkit-inner-spin-button,.unit-input-field::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.unit-input-field[type=number]{-moz-appearance:textfield}.unit-input-unit-selector{height:32px;min-width:60px;background-color:#3e3e42;border:1px solid #3e3e42;color:#d4d4d4;font-size:.75rem;padding:0 8px;border-radius:4px;cursor:pointer;flex-shrink:0}.unit-input-unit-selector:hover:not(:disabled){background-color:#4e4e52}.unit-input-unit-selector:focus{outline:none;border-color:var(--color-primary)}.unit-input-unit-selector:disabled{opacity:.5;cursor:not-allowed}.invalid-extruder-banner{display:flex;align-items:flex-start;gap:12px;padding:12px 16px;background:linear-gradient(135deg,#eac65326,#b94d621a);border:1px solid rgba(234,198,83,.4);border-radius:8px;margin-bottom:12px;position:relative}.banner-icon{flex-shrink:0;width:24px;height:24px;background:#eac653;color:#1a1a2e;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.875rem}.banner-content{flex:1;min-width:0}.banner-title{font-weight:600;color:#eac653;margin-bottom:4px;font-size:.8125rem}.banner-message{color:#aaa;font-size:.75rem;line-height:1.4;margin-bottom:10px}.banner-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.banner-select{padding:6px 10px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:4px;color:#fff;font-size:.75rem;cursor:pointer;min-width:140px}.banner-select:hover{background:#ffffff26}.banner-select:focus{outline:none;border-color:#eac653}.banner-select option{background:#1a1a2e;color:#fff}.banner-button{padding:6px 12px;border-radius:4px;font-size:.75rem;font-weight:500;cursor:pointer;transition:all .15s ease;border:none}.banner-button.primary{background:#eac653;color:#1a1a2e}.banner-button.primary:hover{background:#f5d668}.banner-button.secondary{background:#ffffff1a;color:#aaa;border:1px solid rgba(255,255,255,.2)}.banner-button.secondary:hover{background:#ffffff26;color:#fff}.banner-close{position:absolute;top:8px;right:8px;width:20px;height:20px;background:transparent;border:none;color:#666;font-size:1rem;cursor:pointer;padding:0;line-height:1;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .15s ease}.banner-close:hover{background:#ffffff1a;color:#fff}.extruder-select{display:flex;flex-direction:column;gap:4px}.extruder-select-label{font-size:.75rem;color:#d4d4d4;font-weight:500}.extruder-select-btns{display:flex;gap:4px}.extruder-select-btn{flex:1;padding:6px 8px;border:2px solid transparent;border-radius:4px;font-size:.6875rem;font-weight:600;cursor:pointer;transition:all .15s ease}.extruder-select-btn:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.extruder-select-btn.active{opacity:1;border-color:#fff;box-shadow:0 0 6px #fff3}.extruder-select-btn:disabled{opacity:.5;cursor:not-allowed}.extruder-select-btn.pending{box-shadow:0 0 0 3px #ffc844cc;animation:extruder-pending-pulse 1.5s ease-in-out infinite}@keyframes extruder-pending-pulse{0%,to{opacity:1}50%{opacity:.7}}.extruder-select .no-extruders-hint{font-size:.6875rem;color:#888;font-style:italic}.extruder-select.compact .extruder-select-btn{padding:4px 6px;font-size:.625rem}.extruder-select.compact .extruder-select-label{font-size:.625rem}.toggle-btn{display:inline-flex;align-items:center;gap:6px;padding:3px 8px;background:#3c3c4080;color:#888;border:none;border-radius:3px;font-size:.625rem;cursor:pointer;white-space:nowrap;transition:all .15s ease;-webkit-user-select:none;user-select:none;align-self:flex-start}.toggle-btn:hover{background:#50505499;color:#aaa}.toggle-btn.active{background:#6478ff40;color:#8896ff}.toggle-btn.active:hover{background:#6478ff66;color:#a8b4ff}.toggle-btn.disabled{opacity:.4;cursor:not-allowed}.toggle-indicator.perimeter{background-color:var(--color-perimeter, #b94d62)}.toggle-indicator.infill{background-color:var(--color-infill, #eac653)}.toggle-indicator.droplet{background-color:var(--color-info, #29b6f6)}.toggle-indicator.extrusion-width{background-color:#eac653b3;border:1px solid #eac653;height:6px}.toggle-indicator.perimeter-extrusion-width{background-color:#b94d62b3;border:1px solid #b94d62;height:6px}.toggle-indicator.overlap,.toggle-indicator.overlap-matrix{background-color:#9370dbb3;border:1px solid rgb(147,112,219)}.toggle-indicator.overlap-cortex{background-color:#00968899;border:1px solid rgb(0,150,136)}.toggle-indicator.direction-arrow{width:0;height:0;border-left:6px solid #00ffaa;border-top:4px solid transparent;border-bottom:4px solid transparent;border-radius:0;background-color:transparent}.toggle-indicator.success{background-color:var(--color-success, #4caf50)}.toggle-indicator.warning{background-color:var(--color-warning, #ff9800)}.toggle-indicator.error{background-color:var(--color-error, #f44336)}.empty-state{padding:24px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px}.empty-state p{margin:0;color:#ff9800;font-size:.8125rem}.empty-state .hint{color:#888;font-size:.6875rem}.file-upload{display:flex;flex-direction:column;gap:8px}.file-upload-hint{font-size:.75rem;color:#858585;text-align:center}.file-upload-divider{font-size:.75rem;color:#858585;text-align:center;margin:4px 0}.layer-pattern-settings{display:flex;flex-direction:column;gap:var(--spacing-md, 12px)}.layer-pattern-settings .subsection-header{font-size:var(--font-size-sm, .6875rem);font-weight:var(--font-weight-semibold, 600);color:var(--color-primary, #6038d7);text-transform:uppercase;letter-spacing:.5px;padding-bottom:var(--spacing-xs, 4px);border-bottom:2px solid var(--color-primary, #6038d7);margin-bottom:var(--spacing-xs, 4px)}.groups-list{display:flex;flex-direction:column;gap:var(--spacing-sm, 8px)}.group-row{display:flex;flex-direction:column;gap:var(--spacing-xs, 4px);padding:var(--spacing-sm, 8px);background:#1e1e2280;border-radius:var(--radius-md, 4px);border:1px solid var(--color-border, #3e3e42)}.group-header{display:flex;align-items:center;justify-content:space-between}.group-label{font-size:var(--font-size-sm, .6875rem);font-weight:var(--font-weight-semibold, 600);color:var(--color-text-secondary, #888)}.group-name-input{flex:1;padding:var(--spacing-xs, 4px) var(--spacing-sm, 8px);background:var(--color-bg-tertiary, #252526);border:1px solid var(--color-border, #3e3e42);border-radius:var(--radius-sm, 3px);color:var(--color-text-primary, #ccc);font-size:var(--font-size-sm, .6875rem)}.group-name-input:focus{outline:none;border-color:var(--color-primary, #6038d7)}.group-actions{display:flex;align-items:center;gap:var(--spacing-xs, 4px);margin-left:auto}.group-move-btn{width:20px;height:20px;padding:0;background:transparent;border:1px solid var(--color-border, #3e3e42);color:var(--color-text-secondary, #888);font-size:.75rem;cursor:pointer;border-radius:var(--radius-sm, 3px);transition:all .15s ease;display:flex;align-items:center;justify-content:center}.group-move-btn:hover:not(:disabled){background:#6038d733;border-color:var(--color-primary, #6038d7);color:var(--color-primary, #6038d7)}.group-move-btn:disabled{opacity:.3;cursor:not-allowed}.group-remove-btn{width:20px;height:20px;padding:0;background:transparent;border:none;color:var(--color-text-secondary, #888);font-size:1rem;cursor:pointer;border-radius:var(--radius-sm, 3px);transition:all .15s ease}.group-remove-btn:hover:not(:disabled){background:#b94d6233;color:#b94d62}.group-remove-btn:disabled{opacity:.3;cursor:not-allowed}.group-fields{display:flex;flex-direction:column;gap:var(--spacing-xs, 4px)}.group-settings-row{display:flex;align-items:flex-end;gap:var(--spacing-sm, 8px)}.group-settings-row>*{flex:1}.layer-height-status{display:flex;align-items:center;gap:var(--spacing-sm, 8px);margin-top:var(--spacing-xs, 4px);font-size:var(--font-size-xs, .625rem)}.layer-height-status .status-text{padding:var(--spacing-xs, 4px) var(--spacing-sm, 8px);border-radius:var(--radius-sm, 3px)}.layer-height-status .status-text.auto{color:var(--color-info, #29b6f6);background:#29b6f61a}.layer-height-status .status-text.manual{color:var(--color-warning, #eac653);background:#eac6531a}.reload-material-btn{padding:var(--spacing-xs, 4px) var(--spacing-sm, 8px);background:transparent;border:1px solid var(--color-border, #3e3e42);border-radius:var(--radius-sm, 3px);color:var(--color-text-secondary, #888);font-size:var(--font-size-xs, .625rem);cursor:pointer;transition:all .15s ease}.reload-material-btn:hover{background:#29b6f61a;border-color:var(--color-info, #29b6f6);color:var(--color-info, #29b6f6)}.add-group-btn{padding:var(--spacing-xs, 4px) var(--spacing-sm, 8px);background:transparent;border:1px dashed var(--color-border, #3e3e42);border-radius:var(--radius-md, 4px);color:var(--color-text-secondary, #888);font-size:var(--font-size-sm, .6875rem);cursor:pointer;transition:all .15s ease}.add-group-btn:hover{background:#6038d71a;border-color:var(--color-primary, #6038d7);color:var(--color-primary, #6038d7)}.layers-by-printhead{margin-top:var(--spacing-sm, 8px);padding:var(--spacing-sm, 8px);background:#1e1e2280;border-radius:var(--radius-md, 4px);border:1px solid var(--color-border, #3e3e42)}.layers-by-printhead .summary-label{font-size:var(--font-size-xs, .625rem);color:var(--color-text-secondary, #888);margin-bottom:var(--spacing-xs, 4px)}.layers-by-printhead .summary-items{display:flex;flex-direction:column;gap:var(--spacing-xs, 4px)}.layers-by-printhead .summary-item{display:flex;align-items:center;gap:var(--spacing-sm, 6px)}.layers-by-printhead .summary-color{width:12px;height:12px;border-radius:var(--radius-full, 50%);flex-shrink:0}.layers-by-printhead .summary-text{font-size:var(--font-size-sm, .6875rem);color:var(--color-text-primary, #ccc)}.layer-preview{margin-top:var(--spacing-sm, 8px);padding:var(--spacing-sm, 8px);background:#1e1e2280;border-radius:var(--radius-md, 4px);border:1px solid var(--color-border, #3e3e42)}.preview-label{font-size:var(--font-size-xs, .625rem);color:var(--color-text-secondary, #888);margin-bottom:var(--spacing-xs, 4px)}.preview-layers{display:flex;align-items:center;gap:2px;flex-wrap:wrap}.preview-layer{width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm, 3px);font-size:var(--font-size-xs, .625rem);font-weight:var(--font-weight-semibold, 600);color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.5);cursor:default}.preview-ellipsis{color:var(--color-text-secondary, #888);font-size:var(--font-size-sm, .6875rem);margin-left:var(--spacing-xs, 4px)}.uniform-config{display:flex;flex-direction:column;gap:var(--spacing-sm, 8px)}.uniform-config .model-height-info{font-size:var(--font-size-xs, .625rem);color:var(--color-text-secondary, #888);padding:var(--spacing-xs, 4px) 0}.reslice-reminder{font-size:var(--font-size-xs, .625rem);color:var(--color-warning, #eac653);background:#eac6531a;padding:var(--spacing-xs, 4px) var(--spacing-sm, 8px);border-radius:var(--radius-sm, 3px);border-left:2px solid var(--color-warning, #eac653);margin-top:var(--spacing-xs, 4px)}.alternating-config{display:flex;flex-direction:column;gap:var(--spacing-sm, 8px);padding:var(--spacing-sm, 8px);background:#6038d70d;border-radius:var(--radius-md, 4px);border-left:3px solid var(--color-primary, #6038d7)}.gcode-import-review{display:flex;flex-direction:column;gap:16px}.review-header{display:flex;flex-direction:column;gap:8px}.review-header .section-title{font-size:.875rem;font-weight:600;color:#fff;margin:0;padding-bottom:8px;border-bottom:1px solid #3e3e42}.review-description{font-size:.8125rem;color:#a0a0a0;margin:0}.import-summary{background:#6038d714;border:1px solid rgba(96,56,215,.25);border-radius:6px;padding:12px;display:flex;flex-direction:column;gap:8px}.summary-row{display:flex;justify-content:space-between;align-items:center;font-size:.8125rem}.summary-label{color:#a0a0a0}.summary-value{color:#fff;font-weight:500}.summary-value.filename{font-family:SF Mono,Fira Code,monospace;font-size:.75rem;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.import-warning{display:flex;gap:8px;align-items:flex-start;background:#ffaa0014;border:1px solid rgba(255,170,0,.3);border-radius:6px;padding:10px 12px}.import-warning .warning-icon{color:#fa0;font-size:.875rem;flex-shrink:0;line-height:1.4}.import-warning .warning-text{font-size:.75rem;color:#c0a050;margin:0;line-height:1.4}.classification-summary{background:#28282d99;border:1px solid #3e3e42;border-radius:6px;padding:12px;display:flex;flex-direction:column;gap:10px}.subsection-title{font-size:.8125rem;font-weight:600;color:#fff;margin:0}.classification-description{font-size:.75rem;color:#a0a0a0;margin:0}.classification-stats{display:flex;flex-direction:column;gap:8px}.stat-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:4px;font-size:.8125rem}.stat-item.cortex{background:#4da6ff1a;border:1px solid rgba(77,166,255,.3)}.stat-item.matrix{background:#ffa64d1a;border:1px solid rgba(255,166,77,.3)}.stat-item.droplet{background:#a64dff1a;border:1px solid rgba(166,77,255,.3)}.stat-icon{font-size:.875rem;width:20px;text-align:center}.stat-item.cortex .stat-icon{color:#4da6ff}.stat-item.matrix .stat-icon{color:#ffa64d}.stat-item.droplet .stat-icon{color:#a64dff}.stat-count{font-weight:600;color:#fff;min-width:32px}.stat-label{color:silver}.classification-hint{font-size:.6875rem;color:gray;margin:0;font-style:italic}.review-actions{display:flex;flex-direction:column;gap:8px;margin-top:8px}.shape-compat-overlay{position:absolute;top:50%;left:0;transform:translateY(-50%);z-index:10;display:flex;align-items:center}.shape-compat-tab{display:flex;align-items:center;justify-content:center;width:24px;min-height:80px;background-color:#1e1e1ef2;border:var(--border-width, 1px) solid var(--color-border, #3e3e42);border-left:none;border-radius:0 var(--radius-lg, 6px) var(--radius-lg, 6px) 0;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color var(--transition-normal, .2s ease);writing-mode:vertical-rl;text-orientation:mixed;padding:var(--spacing-sm, 8px) var(--spacing-xs, 4px)}.shape-compat-tab:hover{background-color:#323232f2}.shape-compat-tab-content{display:flex;align-items:center;gap:6px;transform:rotate(180deg)}.shape-compat-tab-count{font-size:var(--font-size-md, .75rem);font-weight:var(--font-weight-semibold, 600);padding:2px 6px;border-radius:var(--radius-xl, 8px)}.shape-compat-tab-count.has-compatible{background-color:#00c85333;color:#00c853}.shape-compat-tab-count.no-compatible{background-color:#ff4d4d33;color:#ff4d4d}.shape-compat-tab-label{font-size:var(--font-size-xs, .625rem);color:var(--color-text-secondary, #858585);white-space:nowrap}.shape-compat-tab-arrow{font-size:var(--font-size-xs, .625rem);color:var(--color-text-secondary, #858585);transition:transform var(--transition-normal, .2s ease)}.shape-compat-overlay.expanded .shape-compat-tab-arrow{transform:rotate(180deg)}.shape-compat-panel{background-color:#1e1e1ef2;border:var(--border-width, 1px) solid var(--color-border, #3e3e42);border-left:none;border-radius:0 var(--radius-lg, 6px) var(--radius-lg, 6px) 0;min-width:220px;max-width:280px;max-height:400px;overflow:hidden;transform:translate(-100%);opacity:0;transition:transform .25s ease,opacity .25s ease;pointer-events:none;position:absolute;left:0}.shape-compat-overlay.expanded .shape-compat-panel{transform:translate(0);opacity:1;pointer-events:auto}.shape-compat-panel-header{display:flex;align-items:center;justify-content:space-between;padding:10px var(--spacing-md, 12px);border-bottom:var(--border-width, 1px) solid var(--color-border, #3e3e42)}.shape-compat-panel-title{display:flex;align-items:center;gap:var(--spacing-sm, 8px)}.shape-panel-count{font-size:var(--font-size-lg, .875rem);font-weight:var(--font-weight-semibold, 600);padding:2px var(--spacing-sm, 8px);border-radius:10px}.shape-panel-count.has-compatible{background-color:#00c85333;color:#00c853}.shape-panel-count.no-compatible{background-color:#ff4d4d33;color:#ff4d4d}.shape-panel-label{font-size:var(--font-size-md, .75rem);color:var(--color-text-primary, #d4d4d4);font-weight:var(--font-weight-medium, 500)}.shape-panel-close{background:none;border:none;color:var(--color-text-secondary, #858585);font-size:1rem;cursor:pointer;padding:0 var(--spacing-xs, 4px);line-height:1;transition:color var(--transition-normal, .2s ease)}.shape-panel-close:hover{color:var(--color-text-primary, #d4d4d4)}.shape-compat-panel-content{padding:10px var(--spacing-md, 12px);max-height:340px;overflow-y:auto}.shape-compat-shape-info{font-size:var(--font-size-sm, .6875rem);color:var(--color-text-secondary, #858585);padding-bottom:var(--spacing-sm, 8px);margin-bottom:var(--spacing-sm, 8px);border-bottom:var(--border-width, 1px) solid rgba(255,255,255,.1)}.shape-compat-groups{display:flex;flex-direction:column;gap:var(--spacing-sm, 8px)}.shape-compat-type-group{border:var(--border-width, 1px) solid var(--color-border, #3e3e42);border-radius:var(--radius-md, 4px);overflow:hidden}.shape-compat-type-header{display:flex;align-items:center;gap:var(--spacing-sm, 8px);padding:var(--spacing-sm, 8px) 10px;background-color:#ffffff08;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color var(--transition-fast, .15s ease)}.shape-compat-type-header:hover{background-color:#ffffff0f}.shape-compat-type-arrow{font-size:.5rem;color:var(--color-text-secondary, #858585);width:10px}.shape-compat-type-name{flex:1;font-size:var(--font-size-sm, .6875rem);font-weight:var(--font-weight-semibold, 600);color:var(--color-text-primary, #d4d4d4)}.shape-compat-type-count{font-size:var(--font-size-xs, .625rem);font-weight:var(--font-weight-semibold, 600);padding:1px 6px;border-radius:var(--radius-xl, 8px)}.shape-compat-type-count.has-compatible{background-color:#00c85333;color:#00c853}.shape-compat-type-count.no-compatible{background-color:#ff4d4d33;color:#ff4d4d}.shape-compat-type-items{border-top:var(--border-width, 1px) solid var(--color-border, #3e3e42);padding:var(--spacing-xs, 4px) 0}.shape-compat-item{display:flex;align-items:flex-start;gap:6px;padding:5px 10px;font-size:var(--font-size-sm, .6875rem);transition:background-color var(--transition-fast, .15s ease)}.shape-compat-item.compatible{color:#b8e6c9}.shape-compat-item.incompatible{color:#e6b8b8}.shape-compat-icon{font-size:var(--font-size-xs, .625rem);width:14px;text-align:center;margin-top:2px}.shape-compat-item.compatible .shape-compat-icon{color:#00c853}.shape-compat-item.incompatible .shape-compat-icon{color:#ff6b6b}.shape-compat-item-details{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1}.shape-compat-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:var(--font-weight-medium, 500)}.shape-compat-dimensions{font-size:.5625rem;color:var(--color-text-secondary, #858585);white-space:nowrap}.shape-compat-item.compatible .shape-compat-dimensions{color:#7ab892}.shape-compat-item.incompatible .shape-compat-dimensions{color:#b89292}.shape-compat-panel-content::-webkit-scrollbar{width:4px}.shape-compat-panel-content::-webkit-scrollbar-track{background:transparent}.shape-compat-panel-content::-webkit-scrollbar-thumb{background:var(--color-border, #3e3e42);border-radius:2px}.shape-compat-panel-content::-webkit-scrollbar-thumb:hover{background:var(--color-border-light, #4e4e52)}.shape-drawing-panel{display:flex;flex-direction:row;width:100%;height:100%;background-color:#1e1e1e;position:relative}.shape-drawing-canvas-area{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;min-width:0;gap:12px;position:relative}.shape-canvas-tips{display:flex;flex-wrap:wrap;gap:16px;justify-content:center;color:var(--text-secondary, #888);font-size:.75rem}.shape-canvas-tips span{white-space:nowrap}.shape-canvas-tips strong{color:var(--text-primary, #e0e0e0)}.shape-drawing-canvas{border:1px solid var(--border-color, #333);border-radius:4px;cursor:crosshair;-webkit-user-select:none;user-select:none;box-shadow:0 4px 20px #0000004d}.shape-drawing-canvas:active{cursor:grabbing}.shape-drawing-controls{width:320px;background-color:#252526;border-left:1px solid var(--color-border, #3e3e42);padding:16px;overflow-y:auto;display:flex;flex-direction:column;gap:16px}.mode-selector{display:flex;gap:var(--spacing-xs, 4px)}.mode-selector-btn{flex:1;padding:var(--spacing-xs, 4px) var(--spacing-sm, 8px);background:var(--color-bg-secondary, #2d2d30);border:var(--border-width, 1px) solid var(--color-border, #3e3e42);border-radius:var(--radius-sm, 3px);color:var(--color-text-secondary, #858585);font-size:var(--font-size-sm, .6875rem);cursor:pointer;transition:all var(--transition-fast, .15s ease)}.mode-selector-btn:hover{background:var(--color-bg-hover, #3c3c3c);color:var(--color-text-primary, #d4d4d4)}.mode-selector-btn.active{background:var(--color-primary, #6038d7);border-color:var(--color-primary, #6038d7);color:var(--color-text-accent, #ffffff)}.svg-drop-zone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-sm, 8px);padding:var(--spacing-xl, 24px) var(--spacing-lg, 16px);border:2px dashed var(--color-border, #3e3e42);border-radius:var(--radius-md, 4px);background:var(--color-bg-secondary, #2d2d30);cursor:pointer;transition:all var(--transition-fast, .15s ease)}.svg-drop-zone:hover{border-color:var(--color-primary, #6038d7);background:var(--color-bg-hover, #3c3c3c)}.svg-drop-zone.drag-over{border-color:var(--color-primary, #6038d7);background:#6038d71a}.svg-drop-icon{font-size:var(--font-size-lg, .875rem);font-weight:var(--font-weight-bold, 700);color:var(--color-text-secondary, #858585)}.svg-drop-text{font-size:var(--font-size-sm, .6875rem);color:var(--color-text-secondary, #858585)}.shape-preset-section,.shape-svg-section{display:flex;flex-direction:column;gap:var(--spacing-sm, 8px)}.shape-section{display:flex;flex-direction:column;gap:var(--spacing-sm, 8px);padding-bottom:var(--spacing-xs, 4px)}.shape-section-header{display:flex;justify-content:space-between;align-items:center}.shape-section-title{font-size:var(--font-size-md, .75rem);font-weight:600;color:var(--text-secondary, #888);text-transform:uppercase;letter-spacing:.5px}.shape-status{font-size:var(--font-size-sm, .6875rem);font-weight:500;padding:2px 8px;border-radius:var(--radius-xl, 8px);color:var(--text-secondary, #888)}.shape-status.closed{background-color:#6038d733;color:var(--color-primary, #6038d7)}.shape-status.open{background-color:#eac65333;color:#eac653}.shape-section-info{display:flex;justify-content:space-between;align-items:center;font-size:var(--font-size-sm, .6875rem);color:var(--text-secondary, #888)}.shape-editing-badge{font-size:var(--font-size-xs, .625rem);color:var(--color-primary, #6038d7);font-weight:600}.shape-edit-btn{background:none;border:1px solid var(--color-border, #3e3e42);border-radius:var(--radius-sm, 3px);color:var(--color-text-secondary, #858585);font-size:var(--font-size-xs, .625rem);padding:2px 8px;cursor:pointer;transition:all var(--transition-fast, .15s ease)}.shape-edit-btn:hover{background:var(--color-bg-hover, #3c3c3c);color:var(--color-text-primary, #d4d4d4)}.shape-insert-options{display:flex;gap:var(--spacing-xs, 4px)}.shape-draw-buttons{display:flex;gap:8px}.shape-draw-buttons button{flex:1}.shape-boundary-controls{background:var(--bg-secondary, #1a1a2e);border-radius:4px;padding:12px}.shape-boundary-controls h4{margin:0 0 8px;font-size:.75rem;color:var(--text-secondary, #888)}.shape-boundary-list{display:flex;flex-direction:column;gap:4px;margin-bottom:8px}.shape-boundary-item{display:flex;align-items:center;justify-content:space-between;padding:6px 10px;background:var(--bg-tertiary, #252540);border:1px solid transparent;border-radius:4px;color:var(--text-primary, #eee);font-size:.75rem;cursor:pointer;flex:1;text-align:left}.shape-boundary-item:hover{background:var(--bg-hover, #2a2a4e)}.shape-boundary-item.active{border-color:var(--color-primary, #6038d7);background:#6038d71a}.shape-boundary-item-row{display:flex;gap:4px}.shape-boundary-remove{padding:6px 10px;background:#b94d6233;border:none;border-radius:4px;color:#b94d62;font-size:.875rem;font-weight:700;cursor:pointer}.shape-boundary-remove:hover{background:#b94d624d}.shape-hint{margin:8px 0 0;font-size:.6875rem;color:var(--text-tertiary, #666);font-style:italic}.shape-action-buttons{display:flex;flex-direction:column;gap:8px;margin-top:auto;padding-top:16px;border-top:1px solid var(--color-border, #3e3e42)}.shape-context-menu{background:var(--bg-secondary, #2a2a3e);border:1px solid var(--border-color, #444);border-radius:4px;box-shadow:0 4px 12px #0006;z-index:1000;overflow:hidden}.shape-context-menu-item{display:block;width:100%;padding:8px 16px;background:none;border:none;color:var(--text-primary, #e0e0e0);font-size:.8125rem;text-align:left;cursor:pointer}.shape-context-menu-item:hover{background:var(--bg-hover, #3a3a4e)}.shape-canvas-warning{background:#b94d6226;border:1px solid rgba(185,77,98,.5);border-radius:var(--radius-md, 4px);padding:var(--spacing-sm, 8px) var(--spacing-lg, 16px);color:#d46b7d;font-size:var(--font-size-md, .75rem);text-align:center;max-width:600px}.shape-cutouts-collapsible{border-top:1px solid var(--border-color, #3e3e42);padding-top:4px}.shape-cutouts-header{display:flex;justify-content:space-between;align-items:center;width:100%;padding:var(--spacing-sm, 8px) 0;background:none;border:none;color:var(--text-secondary, #888);font-size:var(--font-size-md, .75rem);font-weight:600;text-transform:uppercase;letter-spacing:.5px;cursor:pointer;transition:color var(--transition-fast, .15s ease)}.shape-cutouts-header:hover{color:var(--text-primary, #e0e0e0)}.shape-cutouts-content{display:flex;flex-direction:column;gap:12px;padding-top:4px}.cutout-method-selector{display:flex;gap:var(--spacing-xs, 4px)}.cutout-template-section{display:flex;flex-direction:column;gap:var(--spacing-sm, 8px)}.cutout-template-section h4{margin:0 0 8px;font-size:.75rem;color:var(--text-secondary, #888);text-transform:uppercase;letter-spacing:.5px}.cutout-size-control{display:flex;flex-direction:column;gap:4px;margin:8px 0}.cutout-size-label{font-size:.75rem;color:var(--text-primary, #e0e0e0);font-weight:500}.cutout-size-slider{width:100%;height:4px;-webkit-appearance:none;appearance:none;background:#3e3e42;border-radius:2px;outline:none;cursor:pointer;margin:4px 0}.cutout-size-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:var(--color-primary, #6038d7);cursor:pointer}.cutout-size-slider::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--color-primary, #6038d7);cursor:pointer;border:none}.cutout-size-range{display:flex;justify-content:space-between;font-size:.625rem;color:#666}.model-tab{display:flex;flex-direction:column;gap:24px}.section{display:flex;flex-direction:column;gap:12px}.section-title{font-size:.875rem;font-weight:600;color:#fff;margin:0;padding-bottom:8px;border-bottom:1px solid #3e3e42}.shape-generator-section{margin-top:12px;display:flex;flex-direction:column;gap:12px;padding:12px;background:#6038d70d;border:1px solid rgba(96,56,215,.2);border-radius:4px}.shape-parameters{display:flex;flex-direction:column;gap:12px}.button-group{display:flex;flex-direction:column;gap:8px}.error-message{margin-top:8px;padding:8px 12px;background:#ff4d4d1a;border:1px solid rgba(255,77,77,.3);border-radius:4px;color:#ff4d4d;font-size:.8125rem}.drawn-shape-info{padding:8px 12px;background:#4caf501a;border:1px solid rgba(76,175,80,.3);border-radius:4px;color:#4caf50;font-size:.75rem;text-align:center}.model-transform-section{display:flex;flex-direction:column;gap:8px}.model-transform-tabs .tabs-list{justify-content:flex-start;gap:0}.model-transform-tabs .tabs-trigger{height:32px;padding:0 12px;font-size:.75rem}.model-transform-tabs .tabs-content{padding-top:8px}.model-transform-tabs .model-transform-section{width:100%}.model-transform-tab-header{display:flex;justify-content:flex-end}.input-row-pair{display:grid;grid-template-columns:1fr 1fr;gap:8px}.model-transform-reset{background:none;border:1px solid #3e3e42;border-radius:3px;color:#888;font-size:.6875rem;padding:2px 8px;cursor:pointer}.model-transform-reset:hover{color:#ccc;border-color:#555}.scale-mode-toggle{display:flex;gap:0;border:1px solid #3e3e42;border-radius:4px;overflow:hidden}.scale-mode-btn{flex:1;background:#1e1e1e;border:none;border-right:1px solid #3e3e42;color:#888;font-size:.6875rem;padding:4px 0;cursor:pointer}.scale-mode-btn:last-child{border-right:none}.scale-mode-btn:hover{background:#2a2a2a;color:#ccc}.scale-mode-btn.active{background:#6038d733;color:#b388ff}.model-dimensions-info{font-size:.6875rem;color:#888;text-align:center;font-style:italic}.toolhead-config-list{display:flex;flex-direction:column;gap:6px}.toolhead-config-row{display:flex;align-items:center;gap:8px;padding:6px 8px;background:#ffffff08;border-radius:4px}.toolhead-config-label{font-size:.75rem;font-weight:600;color:#d4d4d4;min-width:28px;flex-shrink:0}.toolhead-config-fields{display:flex;align-items:center;gap:6px;flex:1;min-width:0}.toolhead-config-fields .select-input{flex:1;min-width:0}.toolhead-config-fields .select-input label{display:none}.toolhead-config-fields .select-input select{padding:4px 6px;font-size:.6875rem}.toolhead-type-badge{font-size:.625rem;padding:2px 6px;border-radius:3px;text-transform:uppercase;font-weight:500;flex-shrink:0}.toolhead-type-badge.extruder{background:#6038d733;color:#a090ff}.toolhead-type-badge.camera{background:#38d76033;color:#90ffa0}.toolhead-type-badge.sensor{background:#d79c3833;color:#ffd090}.toolhead-type-badge.none{background:#80808033;color:gray}.reslice-warning-dialog{display:flex;flex-direction:column;gap:16px}.reslice-warning-dialog .warning-message{margin:0;color:#d4d4d4;font-size:.875rem}.reslice-warning-dialog .reset-list{margin:0;padding-left:20px;color:#a0a0a0;font-size:.8125rem}.reslice-warning-dialog .reset-list li{margin-bottom:4px}.pattern-selector{display:flex;flex-direction:column;gap:6px}.pattern-selector-label{font-size:.8125rem;color:#d4d4d4;font-weight:500}.pattern-selector-select{height:32px;background-color:#2d2d30;border:1px solid #3e3e42;color:#d4d4d4;font-size:.8125rem;padding:0 8px;border-radius:4px;cursor:pointer}.pattern-selector-select:focus{outline:none;border-color:var(--color-primary)}.pattern-selector-select option{background-color:#2d2d30;color:#d4d4d4}.infill-settings{display:flex;flex-direction:column;gap:var(--spacing-sm, 8px)}.droplet-grid-settings{display:flex;flex-direction:column;gap:var(--spacing-sm, 8px);padding:var(--spacing-sm, 8px);background:#29b6f61a;border-radius:var(--radius-md, 4px);border-left:3px solid var(--color-info, #29b6f6)}.droplet-count-badge{display:inline-flex;align-items:center;justify-content:center;padding:var(--spacing-xs, 4px) var(--spacing-sm, 8px);background:#29b6f633;border-radius:var(--radius-sm, 3px);font-size:var(--font-size-sm, .6875rem);font-weight:var(--font-weight-semibold, 600);color:var(--color-info, #29b6f6)}.grid-droplet-settings{display:flex;flex-direction:column;gap:var(--spacing-sm, 8px);margin-top:var(--spacing-xs, 4px);padding:var(--spacing-sm, 8px);background:#8044ff1a;border-radius:var(--radius-md, 4px);border-left:3px solid #b388ff}.settings-divider{display:flex;align-items:center;justify-content:space-between;padding-bottom:var(--spacing-xs, 4px);border-bottom:1px solid rgba(128,68,255,.3);font-size:var(--font-size-sm, .6875rem);font-weight:var(--font-weight-semibold, 600);color:#b388ff}.linear-settings{display:flex;flex-direction:column;gap:var(--spacing-sm, 8px);margin-top:var(--spacing-xs, 4px);padding:var(--spacing-sm, 8px);background:#6038d71a;border-radius:var(--radius-md, 4px);border-left:3px solid var(--color-primary, #6038d7)}.linear-settings .settings-divider{border-bottom-color:#6038d74d;color:#9c7ce8}.linear-info{font-size:var(--font-size-xs, .625rem);color:var(--color-text-secondary, #888);font-style:italic;padding:var(--spacing-xs, 4px) 0}.dual-lines-settings{display:flex;flex-direction:column;gap:var(--spacing-sm, 8px);padding:var(--spacing-sm, 8px);background:#eac6531a;border-radius:var(--radius-md, 4px);border-left:3px solid #eac653}.dual-lines-settings .settings-divider{border-bottom-color:#eac6534d;color:#eac653}.channel-layer-settings{display:flex;flex-direction:column;gap:var(--spacing-sm, 8px);padding:var(--spacing-sm, 8px);background:#007acc1a;border-radius:var(--radius-md, 4px);border-left:3px solid var(--color-primary, #007acc)}.settings-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-sm, 8px)}.infill-tab{display:flex;flex-direction:column;gap:24px}.infill-info{padding:12px;background-color:#2d2d30;border-radius:4px;font-size:.8125rem;color:#d4d4d4;margin-bottom:8px}.infill-error{padding:12px;background-color:#4a1f1f;border:1px solid #ff6b6b;border-radius:4px;font-size:.8125rem;color:#ff6b6b;margin-bottom:8px}.regenerate-section{padding-bottom:16px;border-bottom:1px solid #3e3e42}.regenerate-confirm-dialog{display:flex;flex-direction:column;gap:16px}.regenerate-confirm-dialog .warning-message{margin:0;color:#d4d4d4;font-size:.875rem}.regenerate-confirm-dialog .reset-list{margin:0;padding-left:20px;color:#a0a0a0;font-size:.8125rem}.regenerate-confirm-dialog .reset-list li{margin-bottom:4px}.regenerate-confirm-dialog .dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.visualization-toggles{display:flex;flex-direction:column;gap:8px}.visualization-toggles .checkbox-input{font-size:.8125rem}.vertical-layer-slider{position:absolute;right:var(--spacing-md, 12px);top:50%;transform:translateY(-50%);display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm, 8px);background-color:var(--color-bg-overlay, rgba(30, 30, 34, .95));padding:var(--spacing-md, 12px) var(--spacing-sm, 8px);border-radius:var(--radius-lg, 6px);border:var(--border-width, 1px) solid var(--color-border, #3e3e42);box-shadow:var(--shadow-md, 0 2px 8px rgba(0, 0, 0, .3));z-index:var(--z-dropdown, 10)}.layer-btn{width:32px;height:32px;background-color:var(--color-bg-hover, #3c3c3c);border:var(--border-width, 1px) solid var(--color-border-light, #555);border-radius:var(--radius-md, 4px);color:var(--color-text-primary, #d4d4d4);font-size:var(--font-size-md, .75rem);cursor:pointer;transition:background-color var(--transition-normal, .2s);display:flex;align-items:center;justify-content:center}.layer-btn:hover:not(:disabled){background-color:var(--color-bg-active, #4c4c4c)}.layer-btn:disabled{opacity:.4;cursor:not-allowed}.slider-track-container{position:relative;display:flex;align-items:center;height:200px}.vertical-slider{writing-mode:vertical-lr;direction:rtl;width:20px;height:200px;background:transparent;cursor:pointer}.vertical-slider::-webkit-slider-runnable-track{width:6px;height:100%;background:var(--color-bg-tertiary, #3e3e42);border-radius:var(--radius-sm, 3px)}.vertical-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;background:var(--color-primary, #007acc);border-radius:var(--radius-full, 50%);cursor:pointer;margin-left:-5px;box-shadow:0 1px 3px #0000004d;transition:transform var(--transition-fast, .1s)}.vertical-slider::-webkit-slider-thumb:hover{transform:scale(1.2)}.vertical-slider::-moz-range-track{width:6px;height:100%;background:var(--color-bg-tertiary, #3e3e42);border-radius:var(--radius-sm, 3px)}.vertical-slider::-moz-range-thumb{width:16px;height:16px;background:var(--color-primary, #007acc);border-radius:var(--radius-full, 50%);border:none;cursor:pointer;box-shadow:0 1px 3px #0000004d}.layer-labels{position:absolute;left:26px;top:0;bottom:0;display:flex;flex-direction:column;justify-content:space-between;pointer-events:none}.layer-label{font-size:var(--font-size-xs, .625rem);color:var(--color-text-muted, #666);white-space:nowrap}.layer-label.top{transform:translateY(-2px)}.layer-label.bottom{transform:translateY(2px)}.layer-info{display:flex;flex-direction:column;align-items:center;gap:2px;padding-top:var(--spacing-xs, 4px);border-top:var(--border-width, 1px) solid var(--color-border, #3e3e42);margin-top:var(--spacing-xs, 4px);min-width:50px}.layer-current{font-size:var(--font-size-lg, .875rem);font-weight:var(--font-weight-semibold, 600);color:var(--color-primary-light, #00aaff);font-variant-numeric:tabular-nums}.layer-height{font-size:var(--font-size-xs, .625rem);color:var(--color-text-muted, #888);font-variant-numeric:tabular-nums}.mini-path-viewer{width:100%;height:100%;display:flex}.mini-path-viewer .vertical-layer-slider,.mini-path-viewer .canvas-2d-viewer-info,.mini-path-viewer .canvas-2d-viewer-controls{display:none}.reorder-panel-overlay{position:fixed;inset:0;background:#0000004d;z-index:600}.reorder-panel{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:720px;max-width:90vw;height:70vh;background:#2a2a2d;border:1px solid #3e3e42;border-radius:8px;box-shadow:0 4px 20px #0006;display:flex;flex-direction:row;overflow:hidden;z-index:601}.reorder-panel-left{width:280px;min-width:280px;display:flex;flex-direction:column;overflow:hidden;border-right:1px solid #3e3e42}.reorder-panel-viewer{flex:1;min-width:0;position:relative;background:#12121a;border-radius:0 8px 8px 0}.reorder-panel-header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid #3e3e42;background:#3c3c3c4d}.reorder-panel-title-row{display:flex;align-items:center;gap:8px;flex:1}.reorder-panel-title{font-size:.75rem;font-weight:600;color:#ccc}.reorder-panel-layer{font-size:.625rem;color:#888;background:#32323680;padding:1px 6px;border-radius:3px}.reorder-panel-modified{font-size:.5625rem;color:#c94;margin-left:4px;font-weight:400}.reorder-panel-close{background:none;border:none;color:#888;font-size:1rem;cursor:pointer;padding:0 2px;line-height:1}.reorder-panel-close:hover{color:#fff}.reorder-panel-toolbar{display:flex;align-items:center;padding:6px 12px;border-bottom:1px solid #3e3e42;background:#28282c4d}.reorder-heatmap-toggle{display:flex;align-items:center;gap:6px;font-size:.625rem;color:#999;cursor:pointer;-webkit-user-select:none;user-select:none}.reorder-heatmap-toggle input[type=checkbox]{accent-color:#6478ff;width:12px;height:12px;cursor:pointer}.reorder-heatmap-toggle:hover{color:#ccc}.reorder-panel-list{flex:1;overflow-y:auto;padding:8px;min-height:60px}.reorder-panel-empty{color:#666;font-size:.6875rem;text-align:center;padding:20px 0}.reorder-item{display:flex;align-items:center;gap:8px;padding:6px 10px;margin-bottom:4px;border-radius:4px;background:#32323680;border-left:3px solid transparent;font-size:.6875rem;color:#aaa;cursor:grab;transition:background .15s,box-shadow .15s;-webkit-user-select:none;user-select:none}.reorder-item:hover{background:#46464a99;color:#ccc}.reorder-item.dragging{background:#6464ff26;box-shadow:0 2px 8px #0000004d;cursor:grabbing;z-index:10}.reorder-item.cortex{border-left-color:#b94d62}.reorder-item.matrix{border-left-color:#eac653}.reorder-item.droplet{border-left-color:#29b6f6}.reorder-drag-handle{color:#555;font-size:.875rem;flex-shrink:0;line-height:1}.reorder-item:hover .reorder-drag-handle{color:#888}.reorder-index{width:18px;text-align:right;color:#666;font-size:.625rem;font-family:monospace;flex-shrink:0}.reorder-heatmap-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.reorder-type{font-weight:600;width:12px;flex-shrink:0}.reorder-item.cortex .reorder-type{color:#d46b7d}.reorder-item.matrix .reorder-type{color:#eac653}.reorder-item.droplet .reorder-type{color:#29b6f6}.reorder-info{color:#999;flex-shrink:0}.reorder-extruder{font-size:.625rem;flex-shrink:0}.reorder-points{color:#666;font-size:.625rem;margin-left:auto}.reorder-group-indicator{color:#666;font-size:.625rem;flex-shrink:0}.reorder-item.in-group{margin-left:8px;border-left-width:2px}.reorder-panel-footer{display:flex;gap:8px;padding:10px 12px;border-top:1px solid #3e3e42;background:#1e1e2280}.reorder-panel-footer button{flex:1;padding:5px 10px;border:none;border-radius:4px;font-size:.6875rem;cursor:pointer;transition:all .15s}.reorder-btn-apply{background:#4caf5040;color:#81c784}.reorder-btn-apply:hover:not(:disabled){background:#4caf5066;color:#a5d6a7}.reorder-btn-apply:disabled{opacity:.4;cursor:not-allowed}.reorder-btn-cancel{background:#3c3c3c80;color:#aaa}.reorder-btn-cancel:hover{background:#50505099;color:#fff}.reorder-btn-reset{background:#ffaa4426;color:#c94;flex:0 0 auto}.reorder-btn-reset:hover{background:#ffaa444d;color:#fb6}.reorder-btn-apply-all{background:#6038d740;color:#a88de0}.reorder-btn-apply-all:hover{background:#6038d766;color:#c4a8f0}.reorder-panel-list::-webkit-scrollbar{width:4px}.reorder-panel-list::-webkit-scrollbar-track{background:transparent}.reorder-panel-list::-webkit-scrollbar-thumb{background:#6464644d;border-radius:2px}.reorder-panel-list::-webkit-scrollbar-thumb:hover{background:#64646480}.reorder-optimize-section{padding:6px 12px;border-bottom:1px solid #3e3e42;background:#28282c4d;display:flex;flex-direction:column;gap:4px}.reorder-optimize-row{display:flex;align-items:center;gap:4px}.reorder-strategy-select{flex:1;padding:3px 4px;background:#1e1e22cc;border:1px solid #3e3e42;border-radius:3px;color:#ccc;font-size:.625rem;cursor:pointer}.reorder-strategy-select:hover{border-color:#555}.reorder-btn-optimize{padding:3px 8px;background:#6478ff40;color:#8896ff;border:none;border-radius:3px;font-size:.625rem;cursor:pointer;white-space:nowrap}.reorder-btn-optimize:hover{background:#6478ff66;color:#a8b4ff}.reorder-btn-optimize-all{padding:3px 6px;background:#6038d740;color:#a88de0;border:none;border-radius:3px;font-size:.5625rem;cursor:pointer;white-space:nowrap}.reorder-btn-optimize-all:hover{background:#6038d766;color:#c4a8f0}.reorder-btn-revert{padding:3px 6px;background:#ffaa4426;color:#c94;border:none;border-radius:3px;font-size:.5625rem;cursor:pointer;white-space:nowrap}.reorder-btn-revert:hover{background:#ffaa444d;color:#fb6}.reorder-optimize-savings{font-size:.5625rem;color:#81c784;padding:2px 0}.reorder-optimize-longer{color:#e57373}.reorder-reversed-count{color:#c94}.reorder-direction{font-size:.75rem;color:#666;flex-shrink:0;width:14px;text-align:center}.reorder-direction.reversed{color:#c94}.reorder-lock{font-size:.5625rem;cursor:pointer;flex-shrink:0;opacity:.4;transition:opacity .15s}.reorder-lock:hover,.reorder-lock.locked{opacity:.8}.reorder-item.active{background:#6478ff40;box-shadow:0 0 6px #6478ff33;color:#ddd}.metrics-panel-container{position:absolute;top:50%;left:0;transform:translateY(-50%);z-index:10;display:flex;align-items:center;pointer-events:none}.metrics-panel{background-color:#1e1e1ef2;border:1px solid #3e3e42;border-left:none;border-radius:0 6px 6px 0;min-width:320px;max-width:400px;max-height:80vh;display:flex;flex-direction:column;overflow:hidden;transform:translate(-100%);opacity:0;transition:transform .25s ease,opacity .25s ease;pointer-events:none}.metrics-panel-container.expanded .metrics-panel{transform:translate(0);opacity:1;pointer-events:auto}.metrics-panel-header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid #3e3e42}.metrics-panel-title-row{display:flex;align-items:center;gap:8px;flex:1}.metrics-panel-title{font-size:.75rem;font-weight:600;color:#ccc}.metrics-panel-layer{font-size:.625rem;color:#888;background:#32323680;padding:1px 6px;border-radius:3px}.metrics-panel-close{background:none;border:none;color:#858585;font-size:1rem;cursor:pointer;padding:0 4px;line-height:1;transition:color .2s ease}.metrics-panel-close:hover{color:#d4d4d4}.metrics-panel-content{flex:1;overflow-y:auto;padding:8px 12px;display:flex;flex-direction:column;gap:12px}.metrics-section{display:flex;flex-direction:column;gap:4px}.metrics-section-label{font-size:.625rem;font-weight:600;color:#888;text-transform:uppercase;letter-spacing:.5px;padding-bottom:2px;border-bottom:1px solid rgba(62,62,66,.5)}.metrics-summary{display:flex;flex-direction:column;gap:4px}.metrics-summary-item{display:flex;align-items:center;gap:8px;font-size:.6875rem}.metrics-summary-label{width:48px;color:#888;font-size:.625rem}.metrics-summary-value{font-weight:500;color:#ccc}.metrics-summary-detail{color:#666;font-size:.625rem}.metrics-summary-total{padding-top:4px;border-top:1px solid rgba(62,62,66,.3)}.metrics-summary-total .metrics-summary-value{color:#fff;font-weight:600}.metrics-time{color:#0af}.metrics-travel{color:#c94}.metrics-volume{color:#29b6f6}.metrics-distance{color:#aaa}.metrics-table-header{display:flex;align-items:center;gap:6px;padding:0 0 2px;font-size:.5625rem;color:#666}.metrics-header-spacer{width:8px;flex-shrink:0}.metrics-header-label{flex:1;min-width:0}.metrics-header-value{width:64px;text-align:right;flex-shrink:0}.metrics-row{display:flex;align-items:center;gap:6px;padding:3px 0;font-size:.6875rem}.metrics-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.metrics-label{flex:1;min-width:0;color:#ccc;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.metrics-value{width:64px;text-align:right;flex-shrink:0;font-size:.625rem}.metrics-travel-row{display:flex;align-items:center;gap:10px;font-size:.6875rem}.metrics-travel-dist{color:#ccc}.metrics-travel-time{color:#c94}.metrics-travel-speed{color:#666;font-size:.625rem}.metrics-savings{font-size:.6875rem;color:#81c784;padding:4px 0}.metrics-savings-detail{color:#6a9e6c;font-size:.625rem;margin-left:6px}.metrics-selection{background:#6464ff0d;border-radius:4px;padding:8px;margin:0 -4px}.metrics-selection .metrics-section-label{color:#8896ff;border-bottom-color:#6464ff33}.metrics-selection-row{display:flex;align-items:center;gap:12px;font-size:.6875rem;padding:2px 0}.metrics-panel-content::-webkit-scrollbar{width:4px}.metrics-panel-content::-webkit-scrollbar-track{background:transparent}.metrics-panel-content::-webkit-scrollbar-thumb{background:#6464644d;border-radius:2px}.metrics-panel-content::-webkit-scrollbar-thumb:hover{background:#64646480}.path-refinement-tab.compact{display:flex;flex-direction:column;gap:8px;font-size:.75rem}.optimization-bar{display:flex;align-items:center;flex-wrap:wrap;gap:6px 8px;padding:6px 8px;background:#1e1e2266;border-radius:4px}.optimization-bar-btn{padding:5px 12px;background:#6478ff33;color:#8896ff;border:1px solid rgba(100,120,255,.3);border-radius:4px;font-size:.6875rem;font-weight:500;cursor:pointer;transition:all .15s;white-space:nowrap}.optimization-bar-btn:hover:not(:disabled){background:#6478ff59;color:#a8b4ff;border-color:#6478ff80}.optimization-bar-btn:disabled{opacity:.4;cursor:not-allowed}.optimization-bar-btn-metrics{background:#3c3c4080;color:#aaa;border-color:#50505480}.optimization-bar-btn-metrics:hover:not(:disabled){background:#50505499;color:#ccc;border-color:#64646899}.optimization-bar-info{font-size:.625rem;color:#888}.optimization-bar-print{font-size:.625rem;color:#0af}.optimization-bar-travel{font-size:.625rem;color:#c94}.optimization-bar-volume{font-size:.625rem;color:#29b6f6}.optimization-bar-custom{font-size:.5625rem;color:#c94;background:#ffaa441f;padding:1px 6px;border-radius:3px;margin-left:auto}.segment-section{display:flex;flex-direction:column;gap:6px}.select-buttons{display:flex;gap:4px}.mini-btn{flex:1;padding:4px 6px;border:none;border-radius:3px;background:#3c3c3c80;color:#aaa;font-size:.625rem;cursor:pointer;transition:all .15s}.mini-btn:hover{background:#50505099;color:#fff}.mini-btn.perimeter:hover{background:#b94d624d;color:#d46b7d}.mini-btn.infill:hover{background:#eac6534d;color:#eac653}.mini-btn.droplet:hover{background:#29b6f64d;color:#29b6f6}.order-separator{color:#555;font-size:.625rem;margin:0 1px;-webkit-user-select:none;user-select:none;flex:0 0 auto;display:flex;align-items:center}.mini-btn.order-btn{flex:0 0 24px;padding:4px 0;font-size:.5625rem;text-align:center}.mini-btn.order-btn:disabled{opacity:.3;cursor:not-allowed}.mini-btn.order-btn:hover:not(:disabled){background:#64b4ff4d;color:#8cc8ff}.mini-btn.order-reset-btn{flex:0 0 auto;padding:4px 6px;font-size:.625rem;background:#ffaa4426;color:#c94}.mini-btn.order-reset-btn:hover{background:#ffaa444d;color:#fb6}.mini-btn.reorder-btn{flex:0 0 24px;padding:4px 0;font-size:.6875rem;text-align:center}.mini-btn.reorder-btn:disabled{opacity:.3;cursor:not-allowed}.mini-btn.reorder-btn:hover:not(:disabled){background:#64b4ff4d;color:#8cc8ff}.segment-list{display:flex;flex-wrap:wrap;gap:4px;max-height:150px;overflow-y:auto;padding:4px;background:#1414184d;border-radius:4px}.segment-item{display:flex;align-items:center;gap:4px;padding:3px 6px;border-radius:3px;background:#32323680;border:1px solid transparent;cursor:pointer;font-size:.625rem;color:#888;transition:all .15s}.segment-item:hover{background:#46464a99;color:#ccc}.segment-item.perimeter{border-left:2px solid #b94d62}.segment-item.infill{border-left:2px solid #eac653}.segment-item.droplet{border-left-width:2px;border-left-style:solid}.segment-item.selected{background:#6464ff33;border-color:#6464ff80;color:#fff}.segment-item.selected.perimeter{background:#b94d6240;border-color:#b94d6299}.segment-item.selected.infill{background:#eac65340;border-color:#eac65399}.segment-item.selected.droplet{background:#ffffff26}.seg-type{font-weight:600;width:10px}.segment-item.perimeter .seg-type{color:#d46b7d}.segment-item.infill .seg-type{color:#eac653}.segment-item.droplet .seg-type{color:#29b6f6}.seg-info{color:#aaa}.seg-extruder{font-size:.5625rem;font-weight:600}.seg-points{color:#666;font-size:.5625rem}.params-section{display:flex;flex-direction:column;gap:8px;padding:8px;background:#1e1e224d;border-radius:4px}.params-section.no-selection{opacity:.7}.no-selection-hint{text-align:center;padding:8px;background:#ffc10726;border:1px solid rgba(255,193,7,.3);border-radius:4px;color:#ffc107;font-size:.6875rem;margin-bottom:4px}.apply-section{display:flex;justify-content:center;padding-bottom:8px;border-bottom:1px solid #3e3e42;margin-bottom:4px}.apply-section .apply-btn{flex:1;padding:8px 16px;font-size:.75rem;font-weight:600}.sync-btn{flex:1;padding:5px 8px;border:none;border-radius:3px;background:#3c3c3c80;color:#aaa;font-size:.625rem;cursor:pointer;transition:all .15s}.sync-btn:hover{background:#50505099;color:#fff}.segment-list::-webkit-scrollbar{width:6px}.segment-list::-webkit-scrollbar-track{background:#1e1e224d;border-radius:3px}.segment-list::-webkit-scrollbar-thumb{background:#64646480;border-radius:3px}.segment-list::-webkit-scrollbar-thumb:hover{background:#78787899}.apply-btn{background:#44c8444d!important;color:#6c6!important}.apply-btn:hover:not(:disabled){background:#44c84480!important;color:#8d8!important}.apply-btn:disabled{opacity:.4;cursor:not-allowed}.apply-btn.has-pending{background:#ffc84466!important;color:#fd6!important;animation:pending-pulse 1.5s ease-in-out infinite}.apply-btn.has-pending:hover:not(:disabled){background:#ffc84499!important;color:#fe8!important}@keyframes pending-pulse{0%,to{opacity:1}50%{opacity:.7}}.segment-group{display:flex;flex-direction:column;width:100%;margin-top:4px;border-radius:4px;background:#28283266;border:1px solid rgba(100,100,120,.2);overflow:hidden}.segment-group.selected{border-color:#6464ff80;background:#3c3c5066}.segment-group.partial{border-color:#6464ff4d}.segment-group-header{display:flex;align-items:center;gap:6px;padding:4px 8px;background:#3c3c4680;cursor:pointer;font-size:.625rem;color:#999;transition:all .15s}.segment-group-header:hover{background:#50505a99;color:#ccc}.segment-group.selected .segment-group-header{background:#64649666;color:#aaf}.group-icon{font-size:.5625rem;color:#777}.group-label{font-weight:500}.group-check{margin-left:auto;color:#6f6;font-size:.6875rem}.segment-group-items{display:flex;flex-wrap:wrap;gap:3px;padding:4px 6px 6px 16px}.segment-item.in-group{font-size:.5625rem;padding:2px 5px}.segment-item.in-group .seg-type{width:8px;font-size:.5625rem}.segment-item.in-group .seg-info{font-size:.5625rem}.segment-item.in-group .seg-extruder,.segment-item.in-group .seg-points{font-size:.5rem}.export-settings{display:flex;flex-direction:column;gap:var(--spacing-md, 12px)}.filename-input{display:flex;flex-direction:column;gap:4px}.filename-input label{font-size:.6875rem;color:#888;text-transform:uppercase;font-weight:500}.filename-input input{padding:8px 10px;background:#1e1e22cc;border:1px solid #3e3e42;border-radius:4px;color:#e0e0e0;font-size:.8125rem;font-family:inherit}.filename-input input:focus{outline:none;border-color:var(--color-primary)}.filename-input input::placeholder{color:#666}.speed-preview{display:flex;gap:16px;padding:8px 10px;background:#6038d71a;border-radius:4px;font-size:.6875rem;color:#9c7ce8}.capture-settings{display:flex;flex-direction:column;gap:10px}.capture-hint{font-size:.6875rem;color:#666;font-style:italic;text-align:center;padding:8px}.profile-manager{display:flex;flex-direction:column;gap:1rem;padding:1rem;background:var(--bg-secondary, #1e1e1e);border-radius:8px}.profile-manager-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:.5rem;border-bottom:1px solid var(--border-color, #333)}.profile-manager-header h3{margin:0;font-size:1.1rem;font-weight:600;color:var(--text-primary, #fff)}.profile-manager-actions{display:flex;gap:.5rem}.profile-section{margin-bottom:1rem}.profile-section-title{margin:0 0 .5rem;font-size:.9rem;font-weight:500;color:var(--text-secondary, #999)}.profile-section-title .empty-hint{font-weight:400;font-style:italic;color:var(--text-muted, #666)}.profile-list{display:flex;flex-direction:column;gap:.25rem}.profile-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:var(--bg-tertiary, #252525);border:1px solid transparent;border-radius:6px;cursor:pointer;transition:all .15s ease}.profile-item:hover{background:var(--bg-hover, #2a2a2a);border-color:var(--border-hover, #444)}.profile-item.selected{background:var(--bg-selected, #1a3a5c);border-color:var(--primary-color, #4a9eff)}.profile-item.built-in{background:var(--bg-builtin, #252530)}.profile-item.built-in:hover{background:var(--bg-builtin-hover, #2a2a35)}.profile-info{display:flex;flex-direction:column;gap:.25rem;flex:1;min-width:0}.profile-name{font-weight:500;color:var(--text-primary, #fff);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-badge{display:inline-block;padding:.125rem .5rem;margin-left:.5rem;font-size:.7rem;font-weight:500;text-transform:uppercase;color:var(--badge-text, #aaa);background:var(--badge-bg, #333);border-radius:3px}.profile-description{font-size:.8rem;color:var(--text-secondary, #999);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-actions{display:flex;gap:.25rem;align-items:center;flex-shrink:0}.selected-indicator{padding:.25rem .5rem;font-size:.75rem;color:var(--success-color, #4caf50);background:var(--success-bg, rgba(76, 175, 80, .1));border-radius:4px;margin-right:.5rem}.profile-action-btn{padding:.25rem .5rem;font-size:.75rem;font-weight:500;color:var(--text-secondary, #999);background:transparent;border:1px solid var(--border-color, #333);border-radius:4px;cursor:pointer;transition:all .15s ease}.profile-action-btn:hover{color:var(--text-primary, #fff);background:var(--bg-hover, #333);border-color:var(--border-hover, #555)}.profile-action-btn.danger{color:var(--danger-color, #ef5350)}.profile-action-btn.danger:hover{background:var(--danger-bg, rgba(239, 83, 80, .1));border-color:var(--danger-color, #ef5350)}.trash-section{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-color, #333)}.trash-toggle{display:flex;align-items:center;gap:.5rem;padding:.5rem;width:100%;font-size:.85rem;font-weight:500;color:var(--text-secondary, #999);background:transparent;border:none;border-radius:4px;cursor:pointer;text-align:left;transition:all .15s ease}.trash-toggle:hover{color:var(--text-primary, #fff);background:var(--bg-hover, #2a2a2a)}.trash-list{margin-top:.5rem;padding-left:1rem}.trash-item{opacity:.7}.trash-item .profile-name{text-decoration:line-through}.profile-deleted-date{font-size:.75rem;color:var(--text-muted, #666)}.empty-message{padding:1rem;text-align:center;color:var(--text-muted, #666);font-size:.85rem;font-style:italic}.profile-loading{padding:2rem;text-align:center;color:var(--text-secondary, #999)}.profile-error{padding:.75rem;margin-bottom:1rem;color:var(--danger-color, #ef5350);background:var(--danger-bg, rgba(239, 83, 80, .1));border:1px solid var(--danger-color, #ef5350);border-radius:6px;font-size:.85rem}.import-dialog-content{display:flex;flex-direction:column;gap:.75rem}.import-dialog-content p{margin:0;color:var(--text-secondary, #999);font-size:.9rem}.import-json-input{width:100%;min-height:200px;padding:.75rem;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.8rem;color:var(--text-primary, #fff);background:var(--bg-tertiary, #1a1a1a);border:1px solid var(--border-color, #333);border-radius:4px;resize:vertical}.import-json-input:focus{outline:none;border-color:var(--primary-color, #4a9eff)}.import-json-input::placeholder{color:var(--text-muted, #555)}.import-error{padding:.5rem;color:var(--danger-color, #ef5350);background:var(--danger-bg, rgba(239, 83, 80, .1));border-radius:4px;font-size:.8rem}.profile-editor{display:flex;flex-direction:column;height:100%;background:var(--bg-secondary, #1e1e1e);border-radius:8px;overflow:hidden}.profile-editor-header{display:flex;justify-content:space-between;align-items:center;padding:1rem;border-bottom:1px solid var(--border-color, #333)}.profile-editor-header h3{margin:0;font-size:1.1rem;font-weight:600;color:var(--text-primary, #fff)}.dirty-indicator{color:var(--warning-color, #ffb74d);margin-left:.5rem}.profile-editor-actions{display:flex;gap:.5rem}.profile-editor-tabs{display:flex;gap:0;padding:0 1rem;border-bottom:1px solid var(--border-color, #333);overflow-x:auto}.profile-editor-tab{padding:.75rem 1rem;font-size:.85rem;font-weight:500;color:var(--text-secondary, #999);background:transparent;border:none;border-bottom:2px solid transparent;cursor:pointer;white-space:nowrap;transition:all .15s ease}.profile-editor-tab:hover{color:var(--text-primary, #fff)}.profile-editor-tab.active{color:var(--primary-color, #4a9eff);border-bottom-color:var(--primary-color, #4a9eff)}.profile-editor-content{flex:1;padding:1rem;overflow-y:auto}.profile-editor-section{display:flex;flex-direction:column;gap:1rem}.profile-field{display:flex;flex-direction:column;gap:.25rem}.profile-field-label{font-size:.85rem;font-weight:500;color:var(--text-secondary, #999)}.mode-checkboxes{display:flex;gap:1rem;padding:.5rem 0}.profile-readonly-notice{padding:.75rem;margin-top:1rem;color:var(--info-color, #64b5f6);background:var(--info-bg, rgba(100, 181, 246, .1));border:1px solid var(--info-color, #64b5f6);border-radius:6px;font-size:.85rem}.commands-help{padding:.75rem;margin-bottom:1rem;background:var(--bg-tertiary, #252525);border-radius:6px}.commands-help p{margin:0 0 .5rem;font-size:.85rem;color:var(--text-secondary, #999)}.variables-list{display:flex;flex-wrap:wrap;gap:.5rem}.variable-chip{padding:.25rem .5rem;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.75rem;color:var(--primary-color, #4a9eff);background:var(--primary-bg, rgba(74, 158, 255, .1));border-radius:4px;cursor:help}.command-field{display:flex;flex-direction:column;gap:.25rem;margin-bottom:.75rem}.command-label{font-size:.8rem;font-weight:500;color:var(--text-secondary, #999)}.command-label .required{color:var(--danger-color, #ef5350);margin-left:.25rem}.command-input{padding:.5rem;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.85rem;color:var(--text-primary, #fff);background:var(--bg-tertiary, #1a1a1a);border:1px solid var(--border-color, #333);border-radius:4px}.command-input:focus{outline:none;border-color:var(--primary-color, #4a9eff)}.command-input::placeholder{color:var(--text-muted, #555)}.extruder-selector{display:flex;align-items:center;gap:1rem;padding:.75rem;margin-bottom:1rem;background:var(--bg-tertiary, #252525);border-radius:6px}.extruder-selector label{font-size:.85rem;font-weight:500;color:var(--text-secondary, #999)}.extruder-config{padding:1rem;background:var(--bg-tertiary, #252525);border-radius:6px}.extruder-config h4{margin:0 0 1rem;font-size:.9rem;font-weight:600;color:var(--text-primary, #fff)}.extruder-commands-help{margin:0 0 1rem;font-size:.8rem;color:var(--text-muted, #666);font-style:italic}.gcode-textarea{width:100%;padding:.75rem;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.85rem;line-height:1.4;color:var(--text-primary, #fff);background:var(--bg-tertiary, #1a1a1a);border:1px solid var(--border-color, #333);border-radius:4px;resize:vertical}.gcode-textarea:focus{outline:none;border-color:var(--primary-color, #4a9eff)}.gcode-textarea::placeholder{color:var(--text-muted, #555)}.backup-list{display:flex;flex-direction:column;gap:.5rem;max-height:300px;overflow-y:auto}.backup-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:var(--bg-tertiary, #252525);border-radius:6px}.backup-info{display:flex;flex-direction:column;gap:.25rem}.backup-date{font-size:.85rem;color:var(--text-primary, #fff)}.backup-reason{font-size:.75rem;color:var(--text-secondary, #999);text-transform:capitalize}.no-backups{text-align:center;color:var(--text-muted, #666);font-style:italic;padding:2rem}.profile-selector{display:flex;flex-direction:column;gap:.5rem}.profile-selector.loading{display:flex;flex-direction:row;align-items:center;gap:.5rem}.profile-selector-label{font-size:.85rem;font-weight:500;color:var(--text-secondary, #999)}.profile-selector-loading{font-size:.85rem;color:var(--text-muted, #666);font-style:italic}.profile-selector-row{display:flex;align-items:flex-end;gap:.5rem}.profile-selector-dropdown{flex:1;min-width:0}.profile-selector-buttons{display:flex;gap:.25rem;flex-shrink:0}.profile-selector-description{font-size:.8rem;color:var(--text-muted, #666);font-style:italic;padding-left:.25rem}.export-tab{display:flex;flex-direction:column;gap:24px}.export-buttons{display:flex;flex-direction:column;gap:8px}.load-session-button{padding:var(--spacing-sm) var(--spacing-lg);background-color:var(--color-bg-hover);border:var(--border-width) solid var(--color-border-light);border-radius:var(--radius-md);color:var(--color-text-primary);text-align:center;cursor:pointer;transition:background-color var(--transition-normal)}.load-session-button:hover{background-color:var(--color-bg-active)}.buffer-settings{margin-bottom:var(--spacing-md)}.buffer-settings-header{color:var(--color-primary);font-size:var(--font-size-md)}.buffer-settings-content{padding:var(--spacing-md);background:#6038d70d;border:var(--border-width) solid rgba(96,56,215,.2);border-radius:var(--radius-md)}.buffer-settings .param-group{margin-bottom:var(--spacing-sm)}.buffer-settings .param-group:last-child{margin-bottom:0}.buffer-settings .param-group label{font-size:var(--font-size-sm);color:var(--color-text-accent);display:block;margin-bottom:var(--spacing-xs)}.buffer-settings .param-group select,.buffer-settings .param-group input[type=number]{width:100%;padding:6px var(--spacing-sm);background:var(--color-bg-secondary);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-accent);font-size:var(--font-size-md);box-sizing:border-box}.buffer-settings .param-group small{font-size:var(--font-size-xs);color:var(--color-text-secondary);margin-top:var(--spacing-xs)}.container-result-card{padding:var(--spacing-sm);border-radius:var(--radius-md);border:var(--border-width) solid}.container-result-card.fits{background:#00c8530d;border-color:#00c8534d}.container-result-card.not-fits{background:#ff4d4d0d;border-color:#ff4d4d4d}.result-card-header{display:flex;justify-content:space-between;align-items:center}.result-card-name{display:flex;align-items:center;gap:6px;font-size:var(--font-size-md);font-weight:var(--font-weight-medium);color:var(--color-text-accent)}.result-card-toggle{background:none;border:none;color:var(--color-text-secondary);cursor:pointer;padding:2px 6px;font-size:var(--font-size-xs)}.status-icon{width:16px;height:16px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold)}.status-icon.fits{background:#00c85333;color:#00c853}.status-icon.not-fits{background:#ff4d4d33;color:#ff4d4d}.result-card-description{margin-top:var(--spacing-xs);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.result-card-issues{margin-top:var(--spacing-sm);padding-top:var(--spacing-sm);border-top:var(--border-width) solid rgba(255,77,77,.2)}.result-card-issues-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:#ff4d4d;margin-bottom:var(--spacing-xs)}.result-card-issues-list{margin:0;padding-left:20px;font-size:var(--font-size-sm);color:#ff8080}.result-card-issues-list li{margin-bottom:2px}.result-card-clearance{margin-top:var(--spacing-xs);font-size:var(--font-size-sm);color:#00c853}.result-card-actions{margin-top:var(--spacing-sm);display:flex;flex-direction:column;gap:var(--spacing-xs)}.result-card-actions-row{display:flex;gap:var(--spacing-xs)}.result-card-btn{padding:6px var(--spacing-md);border:var(--border-width) solid;border-radius:var(--radius-sm);color:var(--color-text-accent);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-normal)}.result-card-btn.primary{flex:1;background:var(--color-primary);border-color:var(--color-primary)}.result-card-btn.primary:hover{background:var(--color-primary-light);border-color:var(--color-primary-light)}.result-card-btn.toggle-boundary{background:var(--color-bg-secondary);border-color:var(--color-border)}.result-card-btn.toggle-boundary:hover{background:var(--color-border);border-color:var(--color-primary)}.result-card-btn.toggle-boundary.active{background:#00c853;border-color:#00c853}.result-card-btn.toggle-boundary.active:hover{background:#00d560;border-color:#00d560}.result-card-btn.resize-paths{width:100%;background:#9c27b0;border-color:#9c27b0}.result-card-btn.resize-paths:hover{background:#ba68c8;border-color:#ba68c8}.result-card-btn.duplicate-wells{width:100%;background:#ff6b35;border-color:#ff6b35;margin-top:var(--spacing-xs)}.result-card-btn.duplicate-wells:hover{background:#ff8c5a;border-color:#ff8c5a}.container-type-filter{display:flex;gap:var(--spacing-xs);flex-wrap:wrap;margin-bottom:var(--spacing-md)}.filter-button{padding:var(--spacing-xs) var(--spacing-sm);background:var(--color-bg-secondary);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-secondary);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-fast)}.filter-button.active{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-text-accent)}.compatibility-summary{margin-bottom:var(--spacing-sm);font-size:var(--font-size-md);color:var(--color-text-secondary)}.compatibility-results{display:flex;flex-direction:column;gap:var(--spacing-sm);max-height:300px;overflow-y:auto}.pattern-parameters-panel{background-color:var(--color-bg-secondary);border-radius:var(--radius-md);padding:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.pattern-parameters-panel h4{margin:0 0 var(--spacing-lg) 0;font-size:var(--font-size-lg);color:var(--color-text-accent);font-weight:var(--font-weight-semibold)}.pattern-type-selector{margin-bottom:var(--spacing-lg)}.pattern-type-selector label{display:block;font-size:var(--font-size-md);color:var(--color-text-primary);font-weight:var(--font-weight-medium);margin-bottom:var(--spacing-xs)}.pattern-select{width:100%;padding:6px var(--spacing-sm);background-color:var(--color-bg-primary);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-primary);font-size:var(--font-size-lg);font-family:inherit;cursor:pointer}.pattern-select:focus{outline:none;border-color:var(--color-primary)}.pattern-params-content{display:flex;flex-direction:column;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.params-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-sm)}.param-group{display:flex;flex-direction:column;gap:var(--spacing-xs)}.param-group.full-width{grid-column:1 / -1}.param-group label{font-size:var(--font-size-md);color:var(--color-text-primary);font-weight:var(--font-weight-medium)}.param-group input[type=number],.param-group select{padding:6px var(--spacing-sm);background-color:var(--color-bg-primary);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-primary);font-size:var(--font-size-lg);font-family:inherit}.param-group input[type=number]:focus,.param-group select:focus{outline:none;border-color:var(--color-primary)}.param-group select{cursor:pointer}.pattern-hint{font-size:var(--font-size-sm);color:var(--color-text-secondary);font-style:italic;text-align:center;padding:var(--spacing-sm);background-color:var(--color-bg-primary);border-radius:var(--radius-sm)}.checkbox-label{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-md);color:var(--color-text-primary);cursor:pointer;-webkit-user-select:none;user-select:none}.checkbox-label input[type=checkbox]{cursor:pointer;width:16px;height:16px}.checkbox-label span{font-weight:var(--font-weight-medium)}.template-panel{display:flex;flex-direction:column;gap:var(--spacing-lg)}.template-controls{display:flex;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap}.template-controls label{font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.template-select{flex:1;min-width:150px;padding:6px var(--spacing-sm);background-color:var(--color-bg-primary);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:var(--font-size-lg);cursor:pointer}.template-select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary)}.custom-dimensions{padding:var(--spacing-md);background-color:var(--color-bg-secondary);border-radius:var(--radius-md);border:var(--border-width) solid var(--color-border)}.custom-dimensions h4{margin:0 0 var(--spacing-md) 0;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-accent)}.dimension-inputs{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.input-group{display:flex;align-items:center;gap:var(--spacing-sm)}.input-group label{font-size:var(--font-size-lg);color:var(--color-text-primary);min-width:70px}.input-group input[type=number]{flex:1;padding:6px var(--spacing-sm);background-color:var(--color-bg-primary);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:var(--font-size-lg)}.input-group input[type=number]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary)}.template-info{padding:var(--spacing-md);background-color:var(--color-bg-secondary);border-radius:var(--radius-md);border:var(--border-width) solid var(--color-border)}.template-info p{margin:var(--spacing-xs) 0;font-size:var(--font-size-lg);color:var(--color-text-primary)}.template-info strong{color:var(--color-text-accent)}.path-drawing-tab{display:flex;height:100%;width:100%}.path-drawing-controls{width:100%;background-color:var(--color-bg-tertiary);padding:var(--spacing-lg);overflow-y:auto;display:flex;flex-direction:column;gap:var(--spacing-xl)}.section{display:flex;flex-direction:column;gap:var(--spacing-md)}.section-header{display:flex;justify-content:space-between;align-items:center;cursor:pointer;-webkit-user-select:none;user-select:none;padding:var(--spacing-xs) 0;margin-bottom:0;transition:background-color var(--transition-normal);border-radius:var(--radius-md)}.section-header:hover{background-color:#ffffff0d}.section-title{margin:0;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-accent);text-transform:uppercase;letter-spacing:.5px;padding-bottom:var(--spacing-sm);border-bottom:var(--border-width) solid var(--color-border)}.section-header .section-title{padding-bottom:0;border-bottom:none}.tool-buttons{display:flex;flex-direction:column;gap:var(--spacing-sm)}.tool-buttons-compact{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}.compact-section{gap:var(--spacing-sm)}.path-list-section{flex:1;display:flex;flex-direction:column;min-height:300px;max-height:500px}.path-list-section h3{margin-bottom:var(--spacing-md)}.path-drawing-controls::-webkit-scrollbar{width:10px}.path-drawing-controls::-webkit-scrollbar-track{background:var(--color-bg-primary)}.path-drawing-controls::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-md)}.path-drawing-controls::-webkit-scrollbar-thumb:hover{background:var(--color-border-light)}.compatibility-overlay{position:absolute;top:50%;left:0;transform:translateY(-50%);z-index:10;display:flex;align-items:center}.compatibility-collapse-tab{display:flex;align-items:center;justify-content:center;width:24px;min-height:80px;background-color:#1e1e1ef2;border:1px solid #3e3e42;border-left:none;border-radius:0 6px 6px 0;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .2s ease;writing-mode:vertical-rl;text-orientation:mixed;padding:8px 4px}.compatibility-collapse-tab:hover{background-color:#323232f2}.collapse-tab-content{display:flex;align-items:center;gap:6px;transform:rotate(180deg)}.collapse-tab-count{font-size:.75rem;font-weight:600;padding:2px 6px;border-radius:8px}.collapse-tab-count.has-compatible{background-color:#00c85333;color:#00c853}.collapse-tab-count.no-compatible{background-color:#ff4d4d33;color:#ff4d4d}.collapse-tab-label{font-size:.625rem;color:#858585;white-space:nowrap}.collapse-tab-arrow{font-size:.625rem;color:#858585;transition:transform .2s ease}.compatibility-overlay.expanded .collapse-tab-arrow{transform:rotate(180deg)}.compatibility-panel{background-color:#1e1e1ef2;border:1px solid #3e3e42;border-left:none;border-radius:0 6px 6px 0;min-width:220px;max-width:280px;max-height:400px;overflow:hidden;transform:translate(-100%);opacity:0;transition:transform .25s ease,opacity .25s ease;pointer-events:none;position:absolute;left:0}.compatibility-overlay.expanded .compatibility-panel{transform:translate(0);opacity:1;pointer-events:auto}.compatibility-panel-header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid #3e3e42}.compatibility-panel-title{display:flex;align-items:center;gap:8px}.panel-count{font-size:.875rem;font-weight:600;padding:2px 8px;border-radius:10px}.panel-count.has-compatible{background-color:#00c85333;color:#00c853}.panel-count.no-compatible{background-color:#ff4d4d33;color:#ff4d4d}.panel-label{font-size:.75rem;color:#d4d4d4;font-weight:500}.panel-close-btn{background:none;border:none;color:#858585;font-size:1rem;cursor:pointer;padding:0 4px;line-height:1;transition:color .2s ease}.panel-close-btn:hover{color:#d4d4d4}.compatibility-panel-content{padding:10px 12px;max-height:320px;overflow-y:auto}.compat-groups{display:flex;flex-direction:column;gap:8px}.compat-type-group{border:1px solid #3e3e42;border-radius:4px;overflow:hidden}.compat-type-header{display:flex;align-items:center;gap:8px;padding:8px 10px;background-color:#ffffff08;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .15s ease}.compat-type-header:hover{background-color:#ffffff0f}.compat-type-arrow{font-size:.5rem;color:#858585;width:10px}.compat-type-name{flex:1;font-size:.6875rem;font-weight:600;color:#d4d4d4}.compat-type-count{font-size:.625rem;font-weight:600;padding:1px 6px;border-radius:8px}.compat-type-count.has-compatible{background-color:#00c85333;color:#00c853}.compat-type-count.no-compatible{background-color:#ff4d4d33;color:#ff4d4d}.compat-type-items{border-top:1px solid #3e3e42;padding:4px 0}.compat-item{display:flex;align-items:flex-start;gap:6px;padding:5px 10px;font-size:.6875rem;transition:background-color .15s ease}.compat-item.clickable{cursor:pointer}.compat-item.clickable:hover{background-color:#ffffff14}.compat-item.selected{background-color:#6038d74d;border-left:2px solid var(--color-primary);padding-left:8px}.compat-item.compatible{color:#b8e6c9}.compat-item.incompatible{color:#e6b8b8}.compat-icon{font-size:.625rem;width:14px;text-align:center;margin-top:2px}.compat-item.compatible .compat-icon{color:#00c853}.compat-item.incompatible .compat-icon{color:#ff6b6b}.compat-item-details{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1}.compat-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500}.compat-dimensions{font-size:.5625rem;color:#858585;white-space:nowrap}.compat-item.compatible .compat-dimensions{color:#7ab892}.compat-item.incompatible .compat-dimensions{color:#b89292}.panel-visualization-toggle{display:flex;align-items:center;gap:8px;font-size:.6875rem;color:#d4d4d4;cursor:pointer;padding:6px 8px;margin:0 -4px 8px;background-color:#6038d726;border:1px solid rgba(96,56,215,.3);border-radius:4px}.panel-visualization-toggle:hover{background-color:#6038d740}.panel-visualization-toggle input[type=checkbox]{cursor:pointer;width:14px;height:14px}.panel-visualization-toggle span{white-space:nowrap}.panel-ignore-height-toggle{display:flex;align-items:center;gap:8px;font-size:.6875rem;color:#aaa;cursor:pointer;padding:6px 0 10px;border-bottom:1px solid rgba(255,255,255,.1);margin-bottom:10px}.panel-ignore-height-toggle input[type=checkbox]{cursor:pointer;width:14px;height:14px}.panel-ignore-height-toggle span{white-space:nowrap}.panel-tolerance-input{padding:6px 0 10px;border-bottom:1px solid rgba(255,255,255,.1);margin-bottom:10px}.panel-tolerance-input label{display:flex;align-items:center;gap:8px;font-size:.6875rem;color:#aaa}.panel-tolerance-input input[type=number]{width:50px;padding:3px 5px;background:#2a2a2d;border:1px solid #3e3e42;border-radius:3px;color:#fff;font-size:.6875rem}.panel-tolerance-input input[type=number]:focus{outline:none;border-color:#007acc}.compatibility-panel-content::-webkit-scrollbar{width:4px}.compatibility-panel-content::-webkit-scrollbar-track{background:transparent}.compatibility-panel-content::-webkit-scrollbar-thumb{background:#3e3e42;border-radius:2px}.compatibility-panel-content::-webkit-scrollbar-thumb:hover{background:#4e4e52}.mesh-viewer{width:100%;height:100%;position:relative}.mesh-viewer-controls{position:absolute;top:16px;right:16px;z-index:10;background-color:#2d2d30e6;padding:8px 12px;border-radius:4px;display:flex;flex-direction:column;gap:6px}.mesh-viewer-toggle{display:flex;align-items:center;gap:8px;color:#d4d4d4;font-size:.8125rem;cursor:pointer}.mesh-viewer-toggle input[type=checkbox]{cursor:pointer}.mesh-viewer-info{position:absolute;bottom:16px;left:50%;transform:translate(-50%);background-color:#2d2d30e6;color:#d4d4d4;padding:8px 16px;border-radius:4px;font-size:.75rem;pointer-events:none}.mesh-viewer-center-toggle{background-color:#6038d733;padding:4px 8px;margin:4px -8px;border-radius:4px;border-left:3px solid var(--color-primary)}.layer-viewer-container{position:relative;width:100%;height:100%}.layer-viewer{width:100%;height:100%;display:flex;align-items:center;justify-content:center;position:relative}.layer-viewer-legend{position:absolute;bottom:var(--spacing-md, 12px);right:80px;background-color:var(--color-bg-overlay, rgba(30, 30, 34, .95));padding:var(--spacing-sm, 8px) var(--spacing-md, 12px);border-radius:var(--radius-md, 4px);border:var(--border-width, 1px) solid var(--color-border, #3e3e42);display:flex;flex-direction:column;gap:var(--spacing-sm, 6px);z-index:var(--z-dropdown, 10)}.layer-viewer-legend .legend-item{display:flex;align-items:center;gap:var(--spacing-sm, 6px);font-size:var(--font-size-xs, .625rem);color:var(--color-text-secondary, #888)}.layer-viewer-legend .legend-color{width:10px;height:10px;border-radius:var(--radius-full, 50%)}.layer-viewer-legend .legend-title{font-size:var(--font-size-xs, .625rem);font-weight:var(--font-weight-semibold, 600);color:var(--color-text-primary, #ccc);margin-bottom:var(--spacing-xs, 4px)}.layer-viewer-legend .legend-label{white-space:nowrap}.layer-viewer-reslice-banner{position:absolute;top:var(--spacing-md, 12px);left:50%;transform:translate(-50%);background:linear-gradient(135deg,#4ecdc42e,#4ecdc414);border:1px solid rgba(78,205,196,.4);color:#4ecdc4;padding:var(--spacing-xs, 4px) var(--spacing-md, 12px);border-radius:var(--radius-md, 4px);font-size:var(--font-size-sm, .6875rem);display:flex;align-items:center;gap:var(--spacing-sm, 8px);z-index:var(--z-dropdown, 10);white-space:nowrap;pointer-events:none}.reslice-banner-icon{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;background-color:#4ecdc440;font-size:.625rem;font-weight:700;flex-shrink:0}.path-viewer-toggles{display:flex;gap:4px}.viewer-toggle-btn{background:#000000b3;border:1px solid #555;color:#888;padding:2px 8px;border-radius:3px;font-size:.625rem;cursor:pointer;transition:all .15s ease}.viewer-toggle-btn.active{background:#3c3c50e6;border-color:#88f;color:#ccc}.viewer-toggle-btn:hover{border-color:#777}.path-viewer{width:100%;height:100%;position:relative;display:flex;flex-direction:column;background-color:var(--color-bg-canvas, #12121a)}.path-info-layer-label{color:var(--color-text-secondary, #888);font-weight:var(--font-weight-semibold, 600)}.path-info-time{color:var(--color-primary-light, #00aaff);font-weight:var(--font-weight-semibold, 600)}.path-info-extruder{font-weight:var(--font-weight-semibold, 600)}.path-info-waste{color:#f84;font-weight:var(--font-weight-medium, 500)}.path-info-warning{color:var(--color-warning-light, #ffaa44);font-style:italic}.path-drawing-canvas-container{width:100%;height:100%;position:relative;display:flex;flex-direction:column}.path-drawing-canvas{flex:1;background-color:var(--color-bg-primary)}.canvas-controls-top-right{position:absolute;top:var(--spacing-sm);right:var(--spacing-sm);display:flex;gap:var(--spacing-xs);z-index:10;pointer-events:auto}.canvas-control-button-small{width:28px;height:28px;padding:0;background-color:var(--color-bg-hover);border:var(--border-width) solid var(--color-border-light);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:var(--font-size-xl);cursor:pointer;transition:background-color var(--transition-normal);display:flex;align-items:center;justify-content:center}.canvas-control-button-small:hover:not(:disabled){background-color:var(--color-bg-active)}.canvas-control-button-small:disabled{opacity:.3;cursor:not-allowed}.canvas-info-minimal{position:absolute;bottom:0;left:0;right:0;background-color:var(--color-bg-overlay);color:var(--color-text-primary);padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-xs);border-top:var(--border-width) solid var(--color-border);pointer-events:none;display:flex;align-items:center;justify-content:center;gap:var(--spacing-lg)}.canvas-info-text{opacity:.8;font-family:var(--font-family)}.path-list{display:flex;flex-direction:column;height:100%;background-color:var(--color-bg-tertiary);border-radius:var(--radius-md);overflow:hidden}.path-list-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md) var(--spacing-lg);background-color:var(--color-bg-secondary);border-bottom:var(--border-width) solid var(--color-border)}.path-list-header h4{margin:0;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.path-list-header-actions{display:flex;align-items:center;gap:var(--spacing-md)}.selection-count{font-size:var(--font-size-md);color:var(--color-text-secondary)}.toggle-details-btn{padding:var(--spacing-xs) var(--spacing-sm);background:transparent;border:var(--border-width) solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--font-size-lg);color:var(--color-text-secondary);transition:all var(--transition-fast)}.toggle-details-btn:hover{background-color:var(--color-border);border-color:var(--color-primary);color:var(--color-text-primary)}.create-group-btn{padding:var(--spacing-xs) var(--spacing-sm);background:transparent;border:var(--border-width) solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--font-size-lg);color:var(--color-text-secondary);transition:all var(--transition-fast)}.create-group-btn:hover{background-color:var(--color-border);border-color:var(--color-primary);color:var(--color-text-primary)}.path-list-items{flex:1;overflow-y:auto;padding:var(--spacing-sm)}.path-list-empty{padding:var(--spacing-2xl) var(--spacing-lg);text-align:center;color:var(--color-text-secondary);font-size:var(--font-size-lg)}.path-list-item{display:flex;align-items:center;justify-content:space-between;padding:10px var(--spacing-md);margin-bottom:var(--spacing-xs);background-color:var(--color-bg-primary);border:var(--border-width) solid transparent;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.path-list-item:hover{background-color:#2a2d2e;border-color:var(--color-border)}.path-list-item.selected{background-color:#37373d;border-color:var(--color-primary)}.path-item-content{display:flex;align-items:center;gap:10px;flex:1;min-width:0}.path-color-indicator{width:12px;height:12px;border-radius:2px;flex-shrink:0;border:var(--border-width) solid rgba(255,255,255,.1)}.path-item-info{flex:1;min-width:0}.path-name{font-size:var(--font-size-lg);color:var(--color-text-primary);font-weight:var(--font-weight-medium);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.path-details{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-top:2px;text-transform:capitalize}.path-name-input{width:100%;padding:var(--spacing-xs) 6px;background-color:var(--color-bg-hover);border:var(--border-width) solid var(--color-primary);border-radius:2px;color:var(--color-text-primary);font-size:var(--font-size-lg);outline:none}.path-item-actions{display:flex;gap:var(--spacing-xs);opacity:0;transition:opacity var(--transition-fast)}.path-list-item:hover .path-item-actions,.path-list-item.selected .path-item-actions{opacity:1}.path-action-btn{padding:var(--spacing-xs) var(--spacing-sm);background:transparent;border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:var(--font-size-lg);transition:background-color var(--transition-fast)}.path-action-btn:hover{background-color:var(--color-border)}.path-action-btn.delete:hover{background-color:var(--color-error-light)}.path-list-item.droplet-item{cursor:default}.path-list-item.droplet-item:hover{background-color:#2a2d2e;border-color:var(--color-border)}.droplet-indicator{width:8px;height:8px;border-radius:50%}.path-list-items::-webkit-scrollbar{width:8px}.path-list-items::-webkit-scrollbar-track{background:var(--color-bg-primary)}.path-list-items::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-md)}.path-list-items::-webkit-scrollbar-thumb:hover{background:var(--color-border-light)}.path-group{margin-bottom:var(--spacing-sm)}.group-header{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background-color:#2a2d2e;border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.group-header:hover{background-color:#323437;border-color:var(--color-primary)}.group-toggle-icon{font-size:var(--font-size-xs);color:var(--color-text-secondary);flex-shrink:0}.group-name{flex:1;font-size:var(--font-size-lg);color:var(--color-text-primary);font-weight:var(--font-weight-medium)}.group-name-input{flex:1;padding:var(--spacing-xs) 6px;background-color:var(--color-bg-hover);border:var(--border-width) solid var(--color-primary);border-radius:2px;color:var(--color-text-primary);font-size:var(--font-size-lg);outline:none}.group-actions{display:flex;gap:var(--spacing-xs);opacity:0;transition:opacity var(--transition-fast)}.group-header:hover .group-actions{opacity:1}.group-action-btn{padding:var(--spacing-xs) var(--spacing-sm);background:transparent;border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:var(--font-size-lg);transition:background-color var(--transition-fast)}.group-action-btn:hover{background-color:var(--color-border)}.group-action-btn.delete:hover{background-color:var(--color-error-light)}.group-paths{margin-top:var(--spacing-xs);margin-left:var(--spacing-xl);padding-left:var(--spacing-md);border-left:2px solid var(--color-border)}.grouped-path{margin-bottom:2px}.modal-dialog{background-color:var(--color-bg-secondary);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-xl);min-width:400px;box-shadow:var(--shadow-lg)}.modal-dialog h3{margin:0 0 var(--spacing-lg) 0;font-size:var(--font-size-xl);color:var(--color-text-accent)}.modal-dialog .param-group{margin-bottom:var(--spacing-xl)}.modal-dialog .param-group label{display:block;font-size:var(--font-size-md);color:var(--color-text-primary);margin-bottom:var(--spacing-sm)}.modal-dialog .param-group input{width:100%;padding:var(--spacing-sm) var(--spacing-md);background-color:var(--color-bg-hover);border:var(--border-width) solid var(--color-border-light);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:var(--font-size-lg);outline:none}.modal-dialog .param-group input:focus{border-color:var(--color-primary)}.modal-btn{padding:var(--spacing-sm) var(--spacing-lg);border:none;border-radius:var(--radius-md);font-size:var(--font-size-lg);cursor:pointer;transition:background-color var(--transition-normal)}.modal-btn.primary{background-color:var(--color-primary);color:var(--color-text-accent)}.modal-btn.primary:hover{background-color:var(--color-primary-hover)}.modal-btn.secondary{background-color:var(--color-bg-hover);color:var(--color-text-primary);border:var(--border-width) solid var(--color-border-light)}.modal-btn.secondary:hover{background-color:var(--color-bg-active)}.path-properties-panel{background-color:var(--color-bg-secondary);border-radius:var(--radius-md);padding:var(--spacing-lg);margin-top:var(--spacing-lg)}.panel-header{margin-bottom:var(--spacing-lg);border-bottom:var(--border-width) solid var(--color-border);padding-bottom:var(--spacing-md)}.panel-header h3{margin:0;font-size:var(--font-size-lg);color:var(--color-text-accent);font-weight:var(--font-weight-semibold)}.panel-content{display:flex;flex-direction:column;gap:var(--spacing-md)}.property-group{display:flex;flex-direction:column;gap:var(--spacing-xs)}.property-group label{font-size:var(--font-size-md);color:var(--color-text-primary);font-weight:var(--font-weight-medium)}.property-group input[type=text],.property-group input[type=number]{padding:6px var(--spacing-sm);background-color:var(--color-bg-primary);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-primary);font-size:var(--font-size-lg);font-family:inherit}.property-group input[type=text]:focus,.property-group input[type=number]:focus{outline:none;border-color:var(--color-primary)}.property-group input[type=color]{width:100%;height:32px;padding:2px;background-color:var(--color-bg-primary);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer}.property-group input[type=color]::-webkit-color-swatch-wrapper{padding:2px}.property-group input[type=color]::-webkit-color-swatch{border:none;border-radius:2px}.extruder-group .extruder-btns{display:flex;gap:var(--spacing-xs)}.extruder-group .ext-btn{flex:1;padding:6px var(--spacing-sm);border:2px solid transparent;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--transition-fast)}.extruder-group .ext-btn:hover{opacity:.9;transform:translateY(-1px)}.extruder-group .ext-btn.active{opacity:1;border-color:var(--color-text-accent);box-shadow:0 0 6px #fff3}.extruder-group .no-extruders-hint{font-size:var(--font-size-sm);color:var(--color-text-secondary);font-style:italic}.panel-actions{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-top:var(--spacing-sm);padding-top:var(--spacing-md);border-top:var(--border-width) solid var(--color-border)}.smoothing-controls-panel{background-color:var(--color-bg-secondary);border-radius:var(--radius-md);padding:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.smoothing-header{display:flex;justify-content:space-between;align-items:center;cursor:pointer;-webkit-user-select:none;user-select:none;padding:var(--spacing-xs) 0;margin-bottom:0;transition:background-color var(--transition-normal);border-radius:var(--radius-md)}.smoothing-header:hover{background-color:#ffffff0d}.smoothing-controls-panel h4{margin:0;font-size:var(--font-size-lg);color:var(--color-text-accent);font-weight:var(--font-weight-semibold)}.toggle-icon{font-size:var(--font-size-md);color:var(--color-text-secondary);transition:transform var(--transition-normal)}.smoothing-content{margin-top:var(--spacing-lg)}.smoothing-slider-group{margin-bottom:var(--spacing-lg)}.smoothing-slider-group label{display:flex;flex-direction:column;gap:var(--spacing-sm);font-size:var(--font-size-md);color:var(--color-text-primary);font-weight:var(--font-weight-medium)}.slider-hint{font-size:var(--font-size-sm);color:var(--color-text-secondary);font-weight:var(--font-weight-normal)}.smoothness-slider{width:100%;height:6px;border-radius:var(--radius-sm);background:var(--color-border);outline:none;-webkit-appearance:none;appearance:none}.smoothness-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:var(--color-primary);cursor:pointer;transition:background var(--transition-normal)}.smoothness-slider::-webkit-slider-thumb:hover{background:var(--color-primary-hover)}.smoothness-slider::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--color-primary);cursor:pointer;border:none;transition:background var(--transition-normal)}.smoothness-slider::-moz-range-thumb:hover{background:var(--color-primary-hover)}.smoothing-checkboxes{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg)}.smoothing-checkboxes .checkbox-label{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-md);color:var(--color-text-primary);cursor:pointer;-webkit-user-select:none;user-select:none}.smoothing-checkboxes .checkbox-label input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:var(--color-primary)}.smoothing-checkboxes .checkbox-label:hover{color:var(--color-text-accent)}.path-manipulation-panel{background-color:var(--color-bg-tertiary);padding:var(--spacing-lg);border-radius:var(--radius-md);display:flex;flex-direction:column;gap:var(--spacing-md)}.path-manipulation-panel .section-title{margin:0;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-accent);text-transform:uppercase;letter-spacing:.5px;padding-bottom:var(--spacing-sm);border-bottom:var(--border-width) solid var(--color-border)}.manipulation-buttons{display:flex;flex-direction:column;gap:var(--spacing-sm)}.modal-overlay{position:fixed;inset:0;background-color:#000000b3;display:flex;align-items:center;justify-content:center;z-index:var(--z-modal)}.modal-dialog{background-color:var(--color-bg-secondary);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-xl);padding:var(--spacing-xl);min-width:400px;max-width:500px;box-shadow:var(--shadow-md)}.modal-dialog h3{margin:0 0 var(--spacing-xl) 0;font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-accent)}.param-group{margin-bottom:var(--spacing-xl)}.param-group label{display:block;margin-bottom:var(--spacing-sm);font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.param-group input[type=number]{width:100%;padding:var(--spacing-sm) var(--spacing-md);background-color:var(--color-bg-primary);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:var(--font-size-lg);font-family:inherit}.param-group input[type=number]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary)}.modal-buttons{display:flex;gap:var(--spacing-md);justify-content:flex-end}.user-profile{color:#d4d4d4}.user-profile-title{font-size:1.5rem;font-weight:600;margin:0 0 24px}.user-profile-empty{color:#858585;font-size:.875rem}.user-profile-section{background-color:#2d2d30;border:1px solid #3e3e42;border-radius:8px;padding:16px 20px;margin-bottom:16px}.user-profile-section-title{font-size:.875rem;font-weight:600;color:#858585;text-transform:uppercase;letter-spacing:.5px;margin:0 0 12px}.user-profile-field{display:flex;align-items:center;justify-content:space-between;padding:8px 0}.user-profile-field+.user-profile-field{border-top:1px solid #3e3e42}.user-profile-label{font-size:.8125rem;color:#858585;flex-shrink:0;margin-right:16px}.user-profile-value{font-size:.8125rem;color:#d4d4d4;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-profile-badge{display:inline-block;padding:3px 10px;border-radius:12px;font-size:.75rem;font-weight:600;color:#fff;letter-spacing:.3px}.user-profile-field .select-input{min-width:180px}.settings-page{color:#d4d4d4}.settings-page-title{font-size:1.5rem;font-weight:600;margin:0 0 24px}.settings-page-section{background-color:#2d2d30;border:1px solid #3e3e42;border-radius:8px;padding:16px 20px;margin-bottom:16px}.settings-page-section-title{font-size:.875rem;font-weight:600;color:#858585;text-transform:uppercase;letter-spacing:.5px;margin:0 0 12px}.settings-page-field{display:flex;align-items:center;justify-content:space-between;padding:8px 0}.settings-page-field+.settings-page-field{border-top:1px solid #3e3e42}.settings-page-label{font-size:.8125rem;color:#858585;flex-shrink:0;margin-right:16px}.settings-page-field .select-input{min-width:180px}.settings-page-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.support-page{color:#d4d4d4}.support-page-title{font-size:1.5rem;font-weight:600;margin:0 0 24px}.support-page-section{background-color:#2d2d30;border:1px solid #3e3e42;border-radius:8px;padding:16px 20px;margin-bottom:16px}.support-page-section-title{font-size:.875rem;font-weight:600;color:#858585;text-transform:uppercase;letter-spacing:.5px;margin:0 0 12px}.support-page-text{font-size:.8125rem;color:#ccc;margin:0 0 12px;line-height:1.5}.support-page-list{font-size:.8125rem;color:#ccc;margin:0;padding-left:20px;line-height:1.8}.support-page-field{display:flex;align-items:center;justify-content:space-between;padding:8px 0}.support-page-label{font-size:.8125rem;color:#858585;flex-shrink:0;margin-right:16px}.support-page-email{font-size:.8125rem;color:#4fc3f7;text-decoration:none}.support-page-email:hover{text-decoration:underline}.biofabricators-page{color:#d4d4d4}.biofabricators-page-title{font-size:1.5rem;font-weight:600;margin:0 0 24px}.biofabricators-page-section{background-color:#2d2d30;border:1px solid #3e3e42;border-radius:8px;padding:16px 20px;margin-bottom:16px;display:flex;flex-direction:column;gap:12px}.biofabricators-page-section-title{font-size:.875rem;font-weight:600;color:#858585;text-transform:uppercase;letter-spacing:.5px;margin:0}.biofabricators-subsection-title{font-size:.75rem;font-weight:600;color:#a0a0a0;text-transform:uppercase;letter-spacing:.5px;margin-top:4px}.biofabricators-page-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.biofabricators-printer-list{display:flex;flex-direction:column;gap:8px}.biofabricators-printer-card{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:#ffffff08;border:1px solid #3e3e42;border-radius:6px}.biofabricators-printer-card.active{border-color:#6038d780;background:#6038d714}.biofabricators-printer-card-name{font-size:.875rem;font-weight:500;color:#d4d4d4}.biofabricators-printer-card-details{font-size:.75rem;color:#858585;margin-top:2px}.biofabricators-printer-card-actions{display:flex;gap:8px;align-items:center;flex-shrink:0}.biofabricators-action-btn{background:transparent;border:1px solid #3e3e42;border-radius:4px;color:#d4d4d4;font-size:.75rem;padding:4px 10px;cursor:pointer}.biofabricators-action-btn:hover{background:#ffffff0d}.biofabricators-action-btn.danger{color:#ff6b6b;border-color:#ff4d4d4d}.biofabricators-action-btn.danger:hover{background:#ff4d4d1a}.biofabricators-delete-confirm-inline{display:flex;gap:4px}.biofabricators-input-row-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}.biofabricators-printhead-temp-list{display:flex;flex-direction:column;gap:8px}.biofabricators-printhead-temp-row{display:flex;align-items:center;gap:8px}.biofabricators-printhead-label{font-size:.75rem;font-weight:500;color:#a0a0a0;min-width:30px}.biofabricators-extruder-types{display:flex;flex-direction:column;gap:6px}.biofabricators-extruder-types-label{font-size:.75rem;font-weight:500;color:#a0a0a0}.biofabricators-checkbox-group{display:flex;gap:16px}.biofabricators-template-list{display:flex;flex-direction:column;gap:8px}.biofabricators-template-label{font-size:.75rem;color:#a0a0a0;font-weight:500}.biofabricators-info-message{padding:8px 12px;background:#6038d71a;border:1px solid rgba(96,56,215,.3);border-radius:4px;color:#a0a0ff;font-size:.8125rem}.biofabricators-error-message{padding:8px 12px;background:#ff4d4d1a;border:1px solid rgba(255,77,77,.3);border-radius:4px;color:#ff4d4d;font-size:.8125rem}.biofabricators-validation-error{color:#ff6b6b;font-size:.75rem;margin-top:-8px}.biofabricators-validation-hint{color:#fa0;font-size:.75rem;text-align:center}.biofabricators-empty{font-size:.8125rem;color:#6e6e6e;font-style:italic}.preview-panel{position:relative;flex:1;min-width:0;height:100%;display:flex;flex-direction:row;background-color:#1e1e1e}.viewer-container{flex:1;display:flex;flex-direction:column;width:100%;height:100%;position:relative}.preview-content{flex:1;width:100%;min-width:400px}.layer-navigation-container{padding:16px;background-color:#252526;border-top:1px solid #3e3e42}.preview-placeholder{flex:1;display:flex;align-items:center;justify-content:center}.preview-placeholder-text{font-size:1.125rem;color:#858585}.path-management-panel{width:320px;background-color:#252526;padding:16px;overflow-y:auto;display:flex;flex-direction:column;gap:20px;border-left:1px solid #3e3e42}.path-management-panel .section{display:flex;flex-direction:column;gap:12px}.path-management-panel .section-title{margin:0;font-size:.8125rem;font-weight:600;color:#fff;text-transform:uppercase;letter-spacing:.5px;padding-bottom:8px;border-bottom:1px solid #3e3e42}.path-management-panel .path-list-section{flex:1;display:flex;flex-direction:column;min-height:200px}.path-management-panel::-webkit-scrollbar{width:10px}.path-management-panel::-webkit-scrollbar-track{background:#1e1e1e}.path-management-panel::-webkit-scrollbar-thumb{background:#424242;border-radius:5px}.path-management-panel::-webkit-scrollbar-thumb:hover{background:#4e4e4e}.panel-collapse-toggle{position:absolute;right:0;top:50%;transform:translateY(-50%);width:24px;height:60px;background-color:#3c3c3ce6;border:1px solid #555;border-right:none;border-radius:4px 0 0 4px;color:#d4d4d4;font-size:.875rem;cursor:pointer;transition:all .2s;z-index:100;display:flex;align-items:center;justify-content:center;padding:0}.panel-collapse-toggle:hover{background-color:#4c4c4cf2;width:28px}.view-toggle{position:absolute;top:12px;left:12px;z-index:100;display:flex;gap:0;background-color:#252526f2;border-radius:6px;border:1px solid #3e3e42;overflow:hidden}.view-toggle-btn{padding:8px 16px;background-color:transparent;border:none;color:#858585;font-size:.8125rem;font-weight:500;cursor:pointer;transition:all .2s}.view-toggle-btn:hover{background-color:#ffffff0d;color:#d4d4d4}.view-toggle-btn.active{background-color:#0e639c;color:#fff}.view-toggle-btn:first-child{border-right:1px solid #3e3e42}.admin-view{width:100%;height:100%;overflow-y:auto;padding:24px;margin:0 auto}.biofabricators-view{max-width:800px}.biofabricators-view,.profile-view,.settings-view,.support-view,.stub-view{width:100%;height:100%;overflow-y:auto;padding:24px;margin:0 auto}.profile-view,.settings-view,.support-view{max-width:600px}.main-layout{flex:1;display:flex;flex-direction:row;overflow:hidden;position:relative}.app{width:100%;height:100%;display:flex;flex-direction:column;background-color:#1e1e1e;color:#d4d4d4}.app-error-fallback{width:100%;height:100vh;display:flex;align-items:center;justify-content:center;background-color:#1e1e1e;color:#d4d4d4}.app-error-content{text-align:center;padding:2rem;max-width:400px}.app-error-content h1{color:#b94d62;font-size:1.5rem;margin-bottom:1rem}.app-error-content p{color:#888;margin-bottom:1.5rem;line-height:1.5}.app-error-content button{padding:.75rem 1.5rem;font-size:1rem;background:#0e639c;color:#fff;border:none;border-radius:4px;cursor:pointer;transition:background .2s}.app-error-content button:hover{background:#17b}a:link{color:#fff}:root{--color-bg-primary: #1e1e1e;--color-bg-secondary: #2d2d30;--color-bg-tertiary: #252526;--color-bg-canvas: #1a1a1e;--color-bg-hover: #3c3c3c;--color-bg-active: #4c4c4c;--color-bg-selected: #094771;--color-bg-overlay: rgba(30, 30, 34, .95);--color-border: #3e3e42;--color-border-light: #555;--color-border-focus: #6038d7;--color-text-primary: #d4d4d4;--color-text-secondary: #858585;--color-text-accent: #ffffff;--color-text-disabled: #5a5a5a;--color-primary: #6038d7;--color-primary-hover: #4c2cb0;--color-primary-light: #7c5ce0;--color-brand-gold: #eac653;--color-brand-red: #b94d62;--color-brand-dark: #202123;--color-brand-light: #faf8f9;--color-brand-navy: #242d75;--color-error: #f44336;--color-error-light: #ff6659;--color-success: #4caf50;--color-success-light: #80e27e;--color-warning: #ff9800;--color-warning-light: #ffaa44;--color-info: #2196f3;--color-perimeter: #b94d62;--color-infill: #eac653;--color-path-start: #eac653;--color-path-end: #b94d62;--color-build-surface: #6038d7;--color-container: #00c8ff;--color-grid-minor: #2a2a2e;--color-grid-major: #3a3a3e;--color-grid-axis: #555;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 12px;--spacing-lg: 16px;--spacing-xl: 24px;--spacing-2xl: 32px;--font-family: "Poppins", "Noto Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-family-display: "Montserrat", "Poppins", sans-serif;--font-family-mono: "SF Mono", "Monaco", "Inconsolata", "Roboto Mono", monospace;--font-size-xs: .625rem;--font-size-sm: .6875rem;--font-size-md: .75rem;--font-size-lg: .875rem;--font-size-xl: 1rem;--font-size-2xl: 1.25rem;--font-weight-light: 300;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.2;--line-height-normal: 1.5;--radius-sm: 3px;--radius-md: 4px;--radius-lg: 6px;--radius-xl: 8px;--radius-full: 9999px;--border-width: 1px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .2);--shadow-md: 0 2px 8px rgba(0, 0, 0, .3);--shadow-lg: 0 4px 16px rgba(0, 0, 0, .4);--transition-fast: .1s ease;--transition-normal: .2s ease;--transition-slow: .3s ease;--z-base: 0;--z-dropdown: 100;--z-sticky: 200;--z-fixed: 300;--z-modal-backdrop: 400;--z-modal: 500;--z-popover: 600;--z-tooltip: 700;--panel-width-sm: 200px;--panel-width-md: 280px;--panel-width-lg: 350px;--input-height-sm: 24px;--input-height-md: 28px;--input-height-lg: 32px;--checkbox-size: 14px;--toggle-width: 36px;--toggle-height: 18px}.section-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--spacing-sm)}.section-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-sm) var(--spacing-md);background-color:var(--color-bg-tertiary);border-bottom:var(--border-width) solid var(--color-border);cursor:pointer;-webkit-user-select:none;user-select:none}.section-header:hover{background-color:var(--color-bg-hover)}.section-header-title{font-size:var(--font-size-md);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.section-header-icon{color:var(--color-text-secondary);transition:transform var(--transition-fast)}.section-header-icon.expanded{transform:rotate(90deg)}.section-content{padding:var(--spacing-md)}.info-box{background-color:var(--color-bg-overlay);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-sm) var(--spacing-md)}.info-box-dark{background-color:var(--color-bg-tertiary);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-sm) var(--spacing-md)}.list-item{display:flex;align-items:center;padding:var(--spacing-sm) var(--spacing-md);cursor:pointer;transition:background-color var(--transition-fast);border-bottom:var(--border-width) solid var(--color-border)}.list-item:hover{background-color:var(--color-bg-hover)}.list-item.selected{background-color:var(--color-bg-selected)}.list-item:last-child{border-bottom:none}.btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-md);font-weight:var(--font-weight-medium);color:var(--color-text-primary);background-color:var(--color-bg-hover);border:var(--border-width) solid var(--color-border-light);border-radius:var(--radius-md);cursor:pointer;transition:background-color var(--transition-normal);-webkit-user-select:none;user-select:none}.btn:hover:not(:disabled){background-color:var(--color-bg-active)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-primary{background-color:var(--color-primary);border-color:var(--color-primary);color:var(--color-text-accent)}.btn-primary:hover:not(:disabled){background-color:var(--color-primary-hover)}.btn-sm{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-sm)}.btn-lg{padding:var(--spacing-md) var(--spacing-lg);font-size:var(--font-size-lg)}.form-group{display:flex;flex-direction:column;gap:var(--spacing-xs);margin-bottom:var(--spacing-md)}.form-label{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.form-input{height:var(--input-height-md);padding:0 var(--spacing-sm);font-size:var(--font-size-md);color:var(--color-text-primary);background-color:var(--color-bg-tertiary);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-sm);outline:none;transition:border-color var(--transition-fast)}.form-input:focus{border-color:var(--color-border-focus)}.form-input:disabled{opacity:.5;cursor:not-allowed}.checkbox-label{display:flex;align-items:center;gap:var(--spacing-sm);color:var(--color-text-primary);font-size:var(--font-size-md);cursor:pointer;-webkit-user-select:none;user-select:none}.checkbox-label input[type=checkbox]{width:var(--checkbox-size);height:var(--checkbox-size);cursor:pointer;accent-color:var(--color-primary)}.form-select{height:var(--input-height-md);padding:0 var(--spacing-sm);font-size:var(--font-size-md);color:var(--color-text-primary);background-color:var(--color-bg-tertiary);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-sm);outline:none;cursor:pointer}.form-select:focus{border-color:var(--color-border-focus)}.scrollbar-dark{scrollbar-width:thin;scrollbar-color:var(--color-border) var(--color-bg-primary)}.scrollbar-dark::-webkit-scrollbar{width:8px;height:8px}.scrollbar-dark::-webkit-scrollbar-track{background:var(--color-bg-primary)}.scrollbar-dark::-webkit-scrollbar-thumb{background-color:var(--color-border);border-radius:var(--radius-full);border:2px solid var(--color-bg-primary)}.scrollbar-dark::-webkit-scrollbar-thumb:hover{background-color:var(--color-border-light)}.flex-row{display:flex;flex-direction:row}.flex-col{display:flex;flex-direction:column}.flex-row-gap{display:flex;flex-direction:row;gap:var(--spacing-sm)}.flex-col-gap{display:flex;flex-direction:column;gap:var(--spacing-sm)}.flex-center{display:flex;align-items:center;justify-content:center}.flex-between{display:flex;align-items:center;justify-content:space-between}.flex-1{flex:1}.flex-grow{flex-grow:1}.flex-shrink-0{flex-shrink:0}.flex-responsive{display:flex;flex-direction:column;align-items:stretch;gap:var(--spacing-lg)}@media(min-width:768px){.flex-responsive{flex-direction:row}}.gap-xs{gap:var(--spacing-xs)}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-lg)}.gap-xl{gap:var(--spacing-xl)}.p-xs{padding:var(--spacing-xs)}.p-sm{padding:var(--spacing-sm)}.p-md{padding:var(--spacing-md)}.p-lg{padding:var(--spacing-lg)}.p-xl{padding:var(--spacing-xl)}.m-xs{margin:var(--spacing-xs)}.m-sm{margin:var(--spacing-sm)}.m-md{margin:var(--spacing-md)}.m-lg{margin:var(--spacing-lg)}.m-xl{margin:var(--spacing-xl)}.text-primary{color:var(--color-text-primary)}.text-secondary{color:var(--color-text-secondary)}.text-accent{color:var(--color-text-accent)}.text-error{color:var(--color-error)}.text-success{color:var(--color-success)}.text-warning{color:var(--color-warning)}.text-xs{font-size:var(--font-size-xs)}.text-sm{font-size:var(--font-size-sm)}.text-md{font-size:var(--font-size-md)}.text-lg{font-size:var(--font-size-lg)}.text-xl{font-size:var(--font-size-xl)}.font-medium{font-weight:var(--font-weight-medium)}.font-semibold{font-weight:var(--font-weight-semibold)}.font-bold{font-weight:var(--font-weight-bold)}.text-mono{font-family:var(--font-family-mono)}.toggle-indicator{width:12px;height:3px;border-radius:1px;flex-shrink:0}.toggle-indicator.perimeter{background-color:var(--color-perimeter)}.toggle-indicator.infill{background-color:var(--color-infill)}.legend{display:flex;flex-direction:column;gap:var(--spacing-sm)}.legend-item{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-xs);color:var(--color-text-secondary)}.legend-color{width:10px;height:10px;border-radius:var(--radius-full);flex-shrink:0}.legend-color.perimeter{background-color:var(--color-perimeter)}.legend-color.infill{background-color:var(--color-infill)}.legend-color.start{background-color:var(--color-path-start)}.legend-color.end{background-color:var(--color-path-end)}.canvas-overlay-panel{position:absolute;background-color:var(--color-bg-overlay);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg);border:var(--border-width) solid var(--color-border);box-shadow:var(--shadow-md);z-index:var(--z-dropdown)}.canvas-controls{position:absolute;top:var(--spacing-md);right:var(--spacing-md)}.canvas-info-bar{position:absolute;bottom:var(--spacing-md);left:50%;transform:translate(-50%)}.canvas-legend{position:absolute;bottom:120px;right:var(--spacing-md)}*{margin:0;padding:0;box-sizing:border-box}body{margin:0;font-family:var(--font-family);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--color-bg-primary);color:var(--color-text-primary)}code{font-family:var(--font-family-mono)}#root{width:100vw;height:100vh;overflow:hidden}button{cursor:pointer;font-family:inherit}input,select{font-family:inherit}
