@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:var(--color-text-accent)}.button-primary:hover:not(:disabled){background-color:var(--color-primary-hover)}.button-secondary{background-color:var(--color-border);color:var(--color-text-primary)}.button-secondary:hover:not(:disabled){background-color:var(--color-bg-active)}.button-danger{background-color:var(--color-brand-red);color:var(--color-text-accent)}.button-danger:hover:not(:disabled){background-color:color-mix(in srgb,var(--color-brand-red) 85%,white)}.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:var(--color-text-accent);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 var(--color-brand-gold);height:6px}.checkbox-indicator.perimeter-extrusion-width{background-color:#b94d62b3;border:1px solid var(--color-brand-red);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 var(--color-success);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}.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;border:none;font:inherit;color:inherit;text-align:left;width:100%}.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)}.dialog-overlay{position:fixed;inset:0;background-color:#0009;display:flex;align-items:center;justify-content:center;z-index:1000}.dialog-container{background-color:var(--color-bg-secondary);border:1px solid var(--color-border);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:var(--color-text-accent)}.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:var(--color-text-primary);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:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:4px;color:var(--color-text-accent);font-size:.8125rem;box-sizing:border-box}.dialog-content .param-group input:focus,.dialog-content .param-group select:focus{outline:none;border-color:var(--color-primary)}.dialog-content .param-group small{display:block;font-size:.6875rem;color:var(--color-text-secondary);margin-top:4px}.dialog-buttons{display:flex;gap:8px;justify-content:flex-end}.dialog-buttons button{min-width:80px}.error-boundary-fallback{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;height:100%;min-height:200px;background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:4px;color:var(--color-text-primary);text-align:center}.error-boundary-icon{width:48px;height:48px;line-height:48px;font-size:1.5rem;font-weight:700;background:var(--color-brand-red);color:#fff;border-radius:50%;margin-bottom:1rem}.error-boundary-title{font-size:1.1rem;font-weight:500;margin-bottom:.5rem;color:var(--color-text-primary)}.error-boundary-message{font-size:.85rem;color:var(--color-text-secondary);margin-bottom:1rem;max-width:300px;word-break:break-word}.error-boundary-retry{padding:.5rem 1rem;font-size:.85rem;background:var(--color-primary);color:#fff;border:none;border-radius:4px;cursor:pointer;transition:background .2s}.error-boundary-retry:hover{background:var(--color-primary-hover)}.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,.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;background:none;border:none;font:inherit;color:inherit;padding:0}.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)}.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}.grouped-select{display:flex;flex-direction:column;gap:var(--spacing-xs, 4px);position:relative}.grouped-select-label{font-size:var(--font-size-sm, .6875rem);color:var(--color-text-secondary, #858585)}.grouped-select-trigger{display:flex;align-items:center;justify-content:space-between;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);cursor:pointer;text-align:left;width:100%}.grouped-select-trigger:focus{border-color:var(--color-border-focus, #007acc);outline:none}.grouped-select-trigger:disabled{opacity:.5;cursor:not-allowed}.grouped-select-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.grouped-select-arrow{margin-left:var(--spacing-xs, 4px);font-size:10px;opacity:.6}.grouped-select-dropdown{position:absolute;top:100%;left:0;right:0;margin-top:2px;background-color:var(--color-bg-secondary, #2d2d30);border:1px solid var(--color-border, #3e3e42);border-radius:var(--radius-sm, 3px);box-shadow:0 4px 12px #0006;z-index:var(--z-dropdown, 100);padding:var(--spacing-xs, 4px) 0;max-height:300px;overflow-y:auto}.grouped-select-group{padding:0}.grouped-select-group-header{padding:var(--spacing-sm, 8px) var(--spacing-sm, 8px) var(--spacing-xs, 4px);font-size:.625rem;font-weight:600;color:var(--color-text-secondary, #858585);text-transform:uppercase;letter-spacing:.05em;cursor:default;-webkit-user-select:none;user-select:none}.grouped-select-item{display:flex;align-items:center;width:100%;padding:var(--spacing-xs, 4px) var(--spacing-md, 12px);font-size:var(--font-size-md, .75rem);color:var(--color-text-primary, #d4d4d4);background:none;border:none;text-align:left;cursor:pointer;transition:background-color var(--transition-fast, .1s ease)}.grouped-select-item-label{flex:1}.grouped-select-edit{flex-shrink:0;margin-left:6px;padding:0 3px;font-size:.75rem;color:var(--color-text-secondary, #858585);cursor:pointer;border-radius:2px;line-height:1}.grouped-select-edit:hover{color:var(--color-primary-light);background:color-mix(in srgb,var(--color-primary-light) 15%,transparent)}.grouped-select-delete{flex-shrink:0;margin-left:8px;padding:0 4px;font-size:.875rem;color:var(--color-text-secondary, #858585);cursor:pointer;border-radius:2px;line-height:1}.grouped-select-delete:hover{color:var(--color-error);background:color-mix(in srgb,var(--color-error) 15%,transparent)}.grouped-select-item:hover{background-color:var(--color-bg-hover, #3c3c3c)}.grouped-select-item.selected{background-color:var(--color-bg-hover, #3c3c3c);color:var(--color-text-link, #6038d7)}.grouped-select-divider{height:1px;margin:var(--spacing-xs, 4px) 0;background-color:var(--color-border, #3e3e42)}.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)}.log-panel{position:fixed;bottom:16px;right:16px;max-width:400px;background-color:var(--color-error);color:var(--color-text-accent);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:var(--color-text-accent);font-size:1.5rem;line-height:1;padding:0;cursor:pointer;opacity:.8;transition:opacity .2s}.log-panel-close:hover{opacity:1}.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)}.number-input{display:flex;flex-direction:column;gap:6px}.number-input-label{font-size:.875rem;color:var(--color-text-primary);font-weight:500}.number-input-controls{display:flex;gap:4px}.number-input-button{width:32px;height:32px;background-color:var(--color-border);border:1px solid var(--color-border);color:var(--color-text-primary);font-size:1rem;border-radius:4px;cursor:pointer;transition:background-color .2s}.number-input-button:hover:not(:disabled){background-color:var(--color-bg-active)}.number-input-button:disabled{opacity:.5;cursor:not-allowed}.number-input-field{flex:1;height:32px;background-color:var(--color-bg-secondary);border:1px solid var(--color-border);color:var(--color-text-primary);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}.param-group{margin-bottom:12px}.param-group:last-child{margin-bottom:0}.param-group label{display:block;font-size:.75rem;color:var(--color-text-primary);margin-bottom:6px}.param-group input[type=number],.param-group input[type=text],.param-group select{width:100%;padding:8px 10px;background-color:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:4px;color:var(--color-text-accent);font-size:.8125rem;box-sizing:border-box}.param-group input:focus,.param-group select:focus{outline:none;border-color:var(--color-primary)}.param-group small{display:block;font-size:.6875rem;color:var(--color-text-secondary);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}.searchable-select{position:relative;display:flex;flex-direction:column;gap:var(--spacing-xs, 4px)}.searchable-select.inline{flex-direction:row;align-items:center;gap:var(--spacing-sm, 8px)}.searchable-select-label{font-size:var(--font-size-sm, .6875rem);color:var(--color-text-secondary, #858585)}.searchable-select.inline .searchable-select-label{white-space:nowrap}.searchable-select-control{position:relative;display:flex;align-items:center;height:var(--input-height-md, 28px);background-color:var(--color-bg-tertiary, #252526);border:var(--border-width, 1px) solid var(--color-border, #3e3e42);border-radius:var(--radius-sm, 3px);flex:1}.searchable-select-control.open,.searchable-select-control:focus-within{border-color:var(--color-border-focus, #6038d7)}.searchable-select-control.disabled{opacity:.5}.searchable-select-input{flex:1;height:100%;padding:0 var(--spacing-sm, 8px);font-size:var(--font-size-md, .75rem);color:var(--color-text-primary, #d4d4d4);background:transparent;border:none;outline:none;cursor:pointer;min-width:0}.searchable-select-input:disabled{cursor:not-allowed}.searchable-select-input::placeholder{color:var(--color-text-secondary, #858585)}.searchable-select-clear{flex:none;width:18px;height:18px;padding:0;margin-right:var(--spacing-xs, 4px);font-size:14px;line-height:1;color:var(--color-text-secondary, #858585);background:transparent;border:none;border-radius:var(--radius-sm, 3px);cursor:pointer}.searchable-select-clear:hover{color:var(--color-text-primary, #d4d4d4);background-color:var(--color-bg-secondary, #2d2d30)}.searchable-select-caret{flex:none;padding:0 var(--spacing-sm, 8px) 0 var(--spacing-xs, 4px);font-size:10px;color:var(--color-text-secondary, #858585);pointer-events:none}.searchable-select-list{position:absolute;top:calc(100% + 2px);left:0;right:0;z-index:1000;max-height:240px;margin:0;padding:4px 0;overflow-y:auto;list-style:none;background-color:var(--color-bg-secondary, #2d2d30);border:var(--border-width, 1px) solid var(--color-border, #3e3e42);border-radius:var(--radius-sm, 3px);box-shadow:0 4px 12px #0006}.searchable-select-empty{padding:var(--spacing-sm, 8px);font-size:var(--font-size-md, .75rem);color:var(--color-text-secondary, #858585);text-align:center}.searchable-select-row{display:flex;align-items:center;gap:var(--spacing-sm, 8px);padding:var(--spacing-xs, 4px) var(--spacing-sm, 8px);font-size:var(--font-size-md, .75rem);color:var(--color-text-primary, #d4d4d4);cursor:pointer}.searchable-select-row.highlighted{background-color:var(--color-bg-tertiary, #252526)}.searchable-select-row.selected{color:var(--color-primary, #6038d7)}.searchable-select-row.disabled{opacity:.5;cursor:not-allowed}.searchable-select-row.none{font-style:italic;color:var(--color-text-secondary, #858585)}.searchable-select-row-label{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.searchable-select-row-secondary{flex:none;font-size:var(--font-size-sm, .6875rem);color:var(--color-text-secondary, #858585)}.searchable-select-row-badge{flex:none;padding:1px 6px;font-size:var(--font-size-sm, .6875rem);color:var(--color-text-secondary, #858585);background-color:var(--color-bg-tertiary, #252526);border:var(--border-width, 1px) solid var(--color-border, #3e3e42);border-radius:10px}.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;border:none;font:inherit;color:inherit;text-align:left;width:100%}.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)}.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)}.text-input{display:flex;flex-direction:column;gap:6px}.text-input-label{font-size:.8125rem;color:var(--color-text-primary);font-weight:500;margin-top:4px}.text-input-wrapper{position:relative;display:flex;align-items:center}.text-input-field{height:32px;background-color:var(--color-bg-secondary);border:1px solid var(--color-border);color:var(--color-text-primary);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:var(--color-text-disabled)}.text-input-field:disabled{opacity:.5;cursor:not-allowed}.password-toggle-button{font-family:NerdFontsSymbols Nerd Font,sans-serif;position:absolute;right:10px;background:none;border:none;cursor:pointer;font-size:.875rem;color:var(--color-text-primary);padding:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center}.password-toggle-button:hover{color:var(--color-text-accent)}.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:color-mix(in srgb,var(--color-success) 30%,var(--color-bg-primary));border-left:4px solid var(--color-success)}.toast-error{background-color:color-mix(in srgb,var(--color-error) 30%,var(--color-bg-primary));border-left:4px solid var(--color-error)}.toast-warning{background-color:color-mix(in srgb,var(--color-warning) 30%,var(--color-bg-primary));border-left:4px solid var(--color-warning)}.toast-info{background-color:color-mix(in srgb,var(--color-info) 30%,var(--color-bg-primary));border-left:4px solid var(--color-info)}.toast-content{display:flex;align-items:center;justify-content:space-between;gap:16px}.toast-message{color:var(--color-text-accent);font-size:.875rem;line-height:1.4;flex:1}.toast-close{background:none;border:none;color:var(--color-text-accent);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}.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)}.control-sidebar{position:relative;flex-shrink:0;min-width:300px;max-width:800px;height:100%;display:flex;flex-direction:column;background-color:var(--color-bg-tertiary);border-right:1px solid var(--color-border);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:200;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(--color-border);transition:background .15s}.control-sidebar-resize-handle:hover:after,.control-sidebar-resize-handle.resizing:after{background:var(--color-primary)}.scale-bar{display:flex;flex-direction:column;align-items:center;gap:2px}.scale-bar-line{height:3px;background:var(--color-text-accent);border-left:1px solid var(--color-text-accent);border-right:1px solid var(--color-text-accent);min-width:20px;max-width:150px;box-shadow:0 0 2px #00000080}.scale-bar-label{font-size:.5625rem;color:var(--color-text-secondary);white-space:nowrap}.canvas-2d-viewer{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--color-bg-primary);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:var(--color-text-primary);z-index:10;pointer-events:auto;white-space:nowrap}.canvas-2d-viewer-reset{background:var(--color-bg-hover);border:1px solid var(--color-border-light);color:var(--color-text-primary);padding:2px 8px;border-radius:3px;font-size:.625rem;cursor:pointer;transition:all .15s ease}.canvas-2d-viewer-reset:hover{background:var(--color-bg-active);border-color:var(--color-border-light)}.canvas-2d-viewer-bg-toggle{background:var(--color-bg-hover);border:1px solid var(--color-border-light);color:var(--color-text-primary);padding:2px 8px;border-radius:3px;font-size:.625rem;cursor:pointer;transition:all .15s ease}.canvas-2d-viewer-bg-toggle:hover{background:var(--color-bg-active);border-color:var(--color-border-light)}.canvas-2d-viewer-bg-toggle.light{background:var(--color-text-primary);border-color:var(--color-text-secondary);color:var(--color-bg-hover)}.canvas-2d-viewer-bg-toggle.light:hover{background:var(--color-text-primary);border-color:var(--color-text-secondary)}.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:var(--color-text-secondary);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:var(--color-brand-red)}.canvas-2d-viewer-legend .legend-color.infill{background:var(--color-brand-gold)}.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 var(--color-brand-gold)}.canvas-2d-viewer-legend .legend-color.perimeter-extrusion-width{background:#b94d6266;border:1px solid var(--color-brand-red)}.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)}.header{background-color:var(--color-bg-secondary);padding:0 24px;border-bottom:1px solid var(--color-border);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:var(--color-text-accent);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:var(--color-text-secondary);font-size:.8125rem;font-weight:500;cursor:pointer;transition:color .15s,border-color .15s,background-color .15s;white-space:nowrap}.nav-tab:hover{color:var(--color-text-primary);background-color:#ffffff0d}.nav-tab.active{color:var(--color-text-accent);border-bottom-color:var(--color-primary, #6038d7)}.header-actions{display:flex;align-items:center;height:100%}.logout-button{height:32px;padding:0 16px;background:transparent;border:1px solid var(--color-border);border-radius:4px;color:var(--color-text-secondary);font-size:.8125rem;font-weight:500;cursor:pointer;transition:color .15s,border-color .15s,background-color .15s}.logout-button:hover{color:var(--color-text-primary);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 var(--color-border);border-radius:4px;color:var(--color-text-secondary);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:var(--color-text-primary);border-color:#4e4e52;background-color:#ffffff0d}.user-menu-dropdown{position:absolute;top:100%;right:0;margin-top:4px;min-width:200px;background-color:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:6px;box-shadow:0 4px 12px #0006;z-index:1000;padding:4px 0}.user-menu-header{padding:8px 12px;color:var(--color-text-primary);font-size:.75rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-menu-divider{height:1px;background-color:var(--color-border);margin:4px 0}.user-menu-item{display:block;width:100%;padding:8px 12px;background:transparent;border:none;color:var(--color-text-primary);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}.empty-state{padding:24px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px}.empty-state p{margin:0;color:var(--color-warning);font-size:.8125rem}.empty-state .hint{color:var(--color-text-secondary);font-size:.6875rem}.extruder-select{display:flex;flex-direction:column;gap:4px}.extruder-select-label{font-size:.75rem;color:var(--color-text-primary);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:var(--color-text-secondary);font-style:italic}.extruder-select.compact .extruder-select-btn{padding:4px 6px;font-size:.625rem}.extruder-select.compact .extruder-select-label{font-size:.625rem}.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:var(--color-brand-gold);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:var(--color-brand-gold);margin-bottom:4px;font-size:.8125rem}.banner-message{color:var(--color-text-secondary);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:var(--color-text-accent);font-size:.75rem;cursor:pointer;min-width:140px}.banner-select:hover{background:#ffffff26}.banner-select:focus{outline:none;border-color:var(--color-brand-gold)}.banner-select option{background:#1a1a2e;color:var(--color-text-accent)}.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:var(--color-brand-gold);color:#1a1a2e}.banner-button.primary:hover{background:#f5d668}.banner-button.secondary{background:#ffffff1a;color:var(--color-text-secondary);border:1px solid rgba(255,255,255,.2)}.banner-button.secondary:hover{background:#ffffff26;color:var(--color-text-accent)}.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:var(--color-text-accent)}.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}.toggle-btn{display:inline-flex;align-items:center;gap:6px;padding:3px 8px;background:#3c3c4080;color:var(--color-text-secondary);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:var(--color-text-secondary)}.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)}.unit-input{display:flex;flex-direction:column;gap:6px}.unit-input-label{font-size:.875rem;color:var(--color-text-primary);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:var(--color-border);border:1px solid var(--color-border);color:var(--color-text-primary);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:var(--color-bg-secondary);border:1px solid var(--color-border);color:var(--color-text-primary);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:var(--color-border);border:1px solid var(--color-border);color:var(--color-text-primary);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}.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:var(--color-text-secondary);text-transform:uppercase;font-weight:500}.filename-input input{padding:8px 10px;background:#1e1e22cc;border:1px solid var(--color-border);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-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(--color-primary, #6038d7);border-bottom-color:var(--color-primary, #6038d7)}.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:var(--font-family-mono);font-size:.75rem;color:var(--color-primary, #6038d7);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:var(--font-family-mono);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(--color-primary, #6038d7)}.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:var(--font-family-mono);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(--color-primary, #6038d7)}.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-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(--color-primary, #6038d7)}.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:var(--font-family-mono);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(--color-primary, #6038d7)}.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-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}.surface-export-status{font-size:.75rem;color:var(--color-text-secondary);margin-top:4px}.file-upload{display:flex;flex-direction:column;gap:8px;position:relative;transition:border-color .15s}.file-upload.dragging{border:2px dashed var(--color-primary);border-radius:8px;padding:8px}.file-upload-hint{font-size:.75rem;color:var(--color-text-secondary);text-align:center}.file-upload-drop-hint{font-size:.6875rem;color:#606060;text-align:center;font-style:italic}.file-upload-divider{font-size:.75rem;color:var(--color-text-secondary);text-align:center;margin:4px 0}.drop-overlay{position:absolute;inset:0;background:#6038d726;border:2px dashed var(--color-primary);border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;z-index:10;pointer-events:none}.drop-message{font-size:.875rem;font-weight:600;color:#a080e0}.drop-hint{font-size:.75rem;color:gray}.file-peek{display:flex;align-items:center;gap:8px;padding:6px 10px;background:#6038d714;border:1px solid rgba(96,56,215,.25);border-radius:4px;font-size:.75rem}.file-peek-name{color:silver;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-family-mono);font-size:.6875rem}.file-peek-size{color:var(--color-text-secondary);flex-shrink:0}.file-peek-badge{background:#4dc86426;color:#6cc06c;padding:1px 6px;border-radius:3px;font-size:.625rem;flex-shrink:0}.recommendation-dialog-content{display:flex;flex-direction:column;gap:12px}.recommendation-text{font-size:.8125rem;color:silver;margin:0;line-height:1.5}.recommendation-info{display:flex;justify-content:space-between;align-items:center;font-size:.8125rem;padding:6px 10px;background:#6038d714;border-radius:4px}.info-label{color:#a0a0a0}.info-value{color:var(--color-text-accent);font-weight:500}.mismatch-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}.mismatch-warning .warning-icon{color:#fa0;font-size:.875rem;flex-shrink:0;line-height:1.4}.mismatch-warning .warning-text{font-size:.8125rem;color:#c0a050;margin:0;line-height:1.4}.container-selector{display:flex;flex-direction:column;gap:6px}.selector-label{font-size:.8125rem;color:#a0a0a0}.container-select{background:var(--color-bg-secondary);color:silver;border:1px solid var(--color-border);border-radius:4px;padding:6px 10px;font-size:.8125rem;width:100%}.container-select:focus{outline:none;border-color:var(--color-primary)}.recommendation-actions{display:flex;flex-direction:column;gap:8px;margin-top:4px}.dialog-container:has(.gcode-position-mapping){width:700px;min-width:600px;max-width:90vw}.gcode-position-mapping{display:flex;flex-direction:column;gap:12px}.mapping-description{font-size:.8125rem;color:#a0a0a0;margin:0}.mapping-description strong{color:#c0b0ff}.mapping-actions-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.mapping-action-buttons{display:flex;gap:6px}.mapping-summary{display:flex;gap:12px;font-size:.75rem}.matched-count{color:#6cc06c}.unmatched-count{color:#fa0}.mapping-layout{display:flex;gap:16px;min-height:200px}.mapping-source-list{width:220px;flex-shrink:0;display:flex;flex-direction:column;background:#28282d99;border:1px solid var(--color-border);border-radius:6px;overflow:hidden}.source-list-header,.target-grid-header{font-size:.6875rem;color:gray;text-transform:uppercase;letter-spacing:.05em;padding:6px 10px;border-bottom:1px solid var(--color-border)}.target-grid-header{display:flex;justify-content:space-between;align-items:center}.target-grid-legend{display:flex;gap:10px;text-transform:none;letter-spacing:normal;font-size:.625rem}.legend-item{display:flex;align-items:center;gap:4px;color:#707070}.legend-dot{width:6px;height:6px;border-radius:50%;display:inline-block}.source-rows{flex:1;overflow-y:auto;max-height:350px}.source-row{display:flex;align-items:center;gap:6px;padding:5px 10px;border-bottom:1px solid rgba(62,62,66,.5);cursor:pointer;transition:background .1s}.source-row:last-child{border-bottom:none}.source-row:hover{background:#6038d70f}.source-row.active{background:#6038d71f;border-left:3px solid var(--color-primary);padding-left:7px}.source-id{font-family:var(--font-family-mono);font-size:.75rem;flex-shrink:0;width:40px}.source-row.mapped .source-id{color:silver}.source-row.unmapped .source-id{color:gray}.source-target-badge{font-family:var(--font-family-mono);font-size:.6875rem;color:#9080c0;background:#6038d726;padding:1px 6px;border-radius:3px}.source-unassigned{color:#505050;font-size:.75rem}.source-dropdown{margin-left:auto;background:var(--color-bg-secondary);color:#a0a0a0;border:1px solid var(--color-border);border-radius:3px;padding:2px 4px;font-size:.6875rem;font-family:var(--font-family-mono);width:80px;flex-shrink:0}.source-dropdown:focus{outline:none;border-color:var(--color-primary)}.mapping-target-grid{flex:1;min-width:350px;display:flex;flex-direction:column;background:#28282d99;border:1px solid var(--color-border);border-radius:6px;overflow:hidden}.target-grid-svg{padding:8px;width:100%;height:auto}.mapping-actions-bottom{display:flex;flex-direction:column;gap:8px;margin-top:4px}.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:var(--color-text-accent);margin:0;padding-bottom:8px;border-bottom:1px solid var(--color-border)}.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:var(--color-text-accent);font-weight:500}.summary-value.filename{font-family:var(--font-family-mono);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 var(--color-border);border-radius:6px;padding:12px;display:flex;flex-direction:column;gap:10px}.subsection-title{font-size:.8125rem;font-weight:600;color:var(--color-text-accent);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:var(--color-text-accent);min-width:32px}.stat-label{color:silver}.classification-hint{font-size:.6875rem;color:gray;margin:0;font-style:italic}.import-warnings-banner{background:#ffaa0014;border:1px solid rgba(255,170,0,.3);border-radius:6px;padding:8px 12px}.warnings-header{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:.8125rem;color:#fa0;-webkit-user-select:none;user-select:none}.warnings-toggle{margin-left:auto;font-size:.75rem}.warnings-list{margin:8px 0 0;padding-left:24px;font-size:.75rem;color:#c0a050;line-height:1.6}.multi-position-summary{background:#28282d99;border:1px solid var(--color-border);border-radius:6px;padding:12px;display:flex;flex-direction:column;gap:10px}.position-stats{display:flex;gap:12px}.position-stats .stat-item{flex:1;flex-direction:column;align-items:center;text-align:center}.position-stats .stat-item.matched{background:#4dc8641a;border:1px solid rgba(77,200,100,.3)}.position-stats .stat-item.skipped{background:#ff64641a;border:1px solid rgba(255,100,100,.3)}.position-list,.position-skipped-list{display:flex;flex-wrap:wrap;gap:4px;align-items:center}.position-tag{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:3px;font-size:.6875rem;font-family:var(--font-family-mono)}.position-tag.matched{background:#4dc86426;color:#6cc06c}.position-tag.skipped{background:#ff646426;color:#ff8080}.position-tag.more{background:#a0a0a026;color:#a0a0a0}.position-layers{font-size:.625rem;opacity:.7}.skipped-label{font-size:.75rem;color:#a0a0a0;margin-right:4px}.position-overflow-warning{display:flex;align-items:center;gap:6px;font-size:.75rem;color:#fa0}.metadata-recovery{background:#28282d99;border:1px solid var(--color-border);border-radius:6px;padding:12px;display:flex;flex-direction:column;gap:8px}.metadata-tags{display:flex;flex-wrap:wrap;gap:4px}.metadata-tag.recovered{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:3px;font-size:.6875rem;background:#4dc8641f;color:#6cc06c;text-transform:capitalize}.layer-preview{background:#28282d99;border:1px solid var(--color-border);border-radius:6px;padding:12px}.layer-preview-header{display:flex;justify-content:space-between;align-items:center;cursor:pointer;-webkit-user-select:none;user-select:none}.layer-preview-controls{margin-top:10px;display:flex;flex-direction:column;gap:6px}.layer-slider{width:100%;accent-color:var(--color-primary)}.layer-preview-info{display:flex;justify-content:space-between;font-size:.75rem;color:#a0a0a0}.review-actions{display:flex;flex-direction:column;gap:8px;margin-top:8px}.cse-dialog{width:90vw;max-width:900px;max-height:90vh}.cse-content{display:flex;flex-direction:column;gap:12px;min-width:600px}.cse-mode-selector{display:flex;gap:2px;background:var(--color-bg-primary);border-radius:6px;padding:2px;align-self:flex-start}.cse-mode-btn{height:28px;padding:0 14px;background:transparent;border:none;border-radius:4px;color:var(--color-text-secondary);font-size:.75rem;font-weight:500;cursor:pointer}.cse-mode-btn.active{background:var(--color-border);color:var(--color-text-accent)}.cse-body{display:flex;gap:16px;min-height:350px}.cse-settings{flex:0 0 220px;display:flex;flex-direction:column;gap:8px}.cse-field{display:flex;flex-direction:column;gap:3px}.cse-field label{font-size:.6875rem;color:var(--color-text-secondary)}.cse-field input{height:26px;padding:0 8px;background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:3px;color:var(--color-text-primary);font-size:.75rem}.cse-field input:focus,.cse-field select:focus{outline:none;border-color:var(--color-primary, #6038d7)}.cse-select{height:26px;padding:0 8px;background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:3px;color:var(--color-text-primary);font-size:.75rem;cursor:pointer}.cse-field-row{display:flex;gap:8px}.cse-field-row .cse-field{flex:1}.cse-hint{font-size:.6875rem;color:var(--color-text-secondary);font-style:italic}.cse-position-list{display:flex;flex-direction:column;gap:2px;max-height:150px;overflow-y:auto}.cse-position-item{display:flex;align-items:center;gap:6px;font-size:.6875rem;color:var(--color-text-primary);padding:2px 4px;background:var(--color-bg-primary);border-radius:2px}.cse-position-coords{color:var(--color-text-secondary);font-family:var(--font-family-mono);font-size:.625rem;flex:1}.cse-position-remove{width:16px;height:16px;background:transparent;border:none;color:var(--color-text-secondary);font-size:.625rem;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:2px}.cse-position-remove:hover{color:#ef4444;background:#ef444422}.cse-position-item.selected{background:var(--color-border);outline:1px solid var(--color-primary)}.cse-align-toolbar{display:flex;align-items:center;gap:4px;padding:6px 8px;background:#3b82f61a;border:1px solid rgba(59,130,246,.3);border-radius:4px;margin-top:4px}.cse-align-label{font-size:.625rem;color:var(--color-text-secondary);margin-right:4px}.cse-align-btn{padding:2px 6px;font-size:.625rem;background:#ffffff14;color:var(--color-text-primary);border:1px solid rgba(255,255,255,.1);border-radius:3px;cursor:pointer}.cse-align-btn:hover{background:#ffffff26}.cse-position-edit{display:flex;flex-direction:column;gap:6px;padding:8px;background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:4px}.cse-position-edit-title{font-size:.6875rem;color:var(--color-primary);font-weight:500}.cse-shape-toggle{display:flex;gap:2px;background:var(--color-bg-primary);border-radius:4px;padding:2px}.cse-preview{flex:1;display:flex;flex-direction:column;gap:4px}.cse-preview-svg{flex:1;border:1px solid var(--color-border);border-radius:4px;cursor:crosshair;min-height:300px}.cse-preview-info{font-size:.6875rem;color:var(--color-text-secondary);text-align:center}.cse-warning{font-size:.6875rem;color:#f59e0b;text-align:center}.cse-error{font-size:.6875rem;color:#ef4444;text-align:center;padding:6px 8px;background:#ef444418;border-radius:4px}.group-manager{padding:var(--spacing-sm) var(--spacing-md);border-bottom:var(--border-width) solid var(--color-border)}.group-manager-header{margin-bottom:var(--spacing-xs)}.group-manager-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);text-transform:uppercase;letter-spacing:.5px}.group-create-row{display:flex;gap:var(--spacing-xs);margin-bottom:var(--spacing-xs)}.group-name-input{flex:1;height:var(--input-height-md);padding:0 var(--spacing-sm);background: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-md)}.group-name-input:focus{outline:none;border-color:var(--color-border-focus)}.group-create-btn{width:var(--input-height-md);height:var(--input-height-md);background:var(--color-bg-hover);border:none;border-radius:var(--radius-sm);color:var(--color-text-primary);font-size:var(--font-size-lg);cursor:pointer;display:flex;align-items:center;justify-content:center}.group-create-btn:hover:not(:disabled){background:var(--color-bg-active)}.group-create-btn:disabled{opacity:.4;cursor:not-allowed}.group-empty{font-size:var(--font-size-sm);color:var(--color-text-secondary);padding:var(--spacing-xs) 0}.group-list{display:flex;flex-direction:column;gap:3px}.group-item{background:var(--color-bg-primary);border-radius:var(--radius-sm);padding:var(--spacing-xs) 6px}.group-display-row{display:flex;align-items:center;gap:6px}.group-edit-row{display:flex;align-items:center;gap:var(--spacing-xs)}.group-swatch{width:10px;height:10px;border-radius:2px;flex-shrink:0}.group-name{flex:1;font-size:var(--font-size-md);color:var(--color-text-primary);background:none;border:none;padding:0;font-family:inherit;text-align:left}.group-name.clickable{cursor:pointer}.group-name.clickable:hover{color:var(--color-text-accent);text-decoration:underline}.group-count{font-size:var(--font-size-xs);color:var(--color-text-secondary);min-width:16px;text-align:center}.group-color-picker{width:22px;height:22px;padding:0;border:none;background:transparent;cursor:pointer}.group-action-btn{height:22px;padding:0 6px;background:transparent;border:var(--border-width) solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-secondary);font-size:var(--font-size-xs);cursor:pointer;white-space:nowrap}.group-action-btn:hover{color:var(--color-text-primary);border-color:var(--color-border-light)}.group-action-btn.assign{color:var(--color-primary);border-color:var(--color-primary)}.group-action-btn.danger:hover{color:var(--color-error);border-color:var(--color-error)}.group-confirm-delete-row{display:flex;align-items:center;gap:6px}.group-confirm-text{flex:1;font-size:var(--font-size-sm);color:var(--color-error)}.position-assignment-panel{padding:8px 12px;border-bottom:1px solid var(--color-border);background:var(--color-bg-tertiary)}.pap-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.pap-title{font-size:.75rem;font-weight:600;color:var(--color-text-primary)}.pap-coords{font-size:.625rem;color:var(--color-text-secondary);font-family:var(--font-family-mono)}.pap-status{display:flex;gap:4px;margin-bottom:8px}.pap-status-badge{font-size:.625rem;padding:2px 6px;border-radius:3px;background:var(--color-bg-primary);color:var(--color-text-secondary);border:1px solid var(--color-border)}.pap-status-badge.active{color:#22c55e;border-color:#22c55e44;background:#22c55e11}.pap-row{display:flex;align-items:center;gap:6px;margin-bottom:4px}.pap-label{font-size:.6875rem;color:var(--color-text-secondary);min-width:60px;flex-shrink:0}.pap-select{flex:1;height:24px;padding:0 6px;background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:3px;color:var(--color-text-primary);font-size:.6875rem}.pap-select:focus{outline:none;border-color:var(--color-primary, #6038d7)}.pap-group-swatch{width:10px;height:10px;border-radius:2px;flex-shrink:0}.pap-btn{height:24px;padding:0 8px;background:var(--color-border);border:none;border-radius:3px;color:var(--color-text-primary);font-size:.6875rem;cursor:pointer;white-space:nowrap}.pap-btn:hover:not(:disabled){background:#4e4e52}.pap-btn:disabled{opacity:.4;cursor:not-allowed}.pap-actions{margin-top:8px}.pap-btn.apply-all{width:100%;background:transparent;border:1px solid var(--color-border);color:var(--color-text-secondary)}.pap-btn.apply-all:hover{color:var(--color-primary, #6038d7);border-color:var(--color-primary, #6038d7);background:transparent}.pap-section{margin-bottom:8px;padding-top:6px;border-top:1px solid var(--color-border)}.pap-section-title{font-size:.6875rem;font-weight:600;color:var(--color-text-primary);margin-bottom:6px}.pap-mesh-name{font-size:.6875rem;color:var(--color-text-secondary);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pap-file-input{flex:1;font-size:.625rem;color:var(--color-text-primary)}.pap-file-input::file-selector-button{height:22px;padding:0 8px;background:var(--color-border);border:none;border-radius:3px;color:var(--color-text-primary);font-size:.625rem;cursor:pointer;margin-right:6px}.pap-file-input::file-selector-button:hover{background:#4e4e52}.pap-btn-danger{color:var(--color-brand-red)}.pap-btn-danger:hover:not(:disabled){background:#b94d6222}.pap-btn-primary{background:var(--color-primary);color:var(--color-text-accent)}.pap-btn-primary:hover:not(:disabled){background:#7048e7}.pap-label-sm{min-width:40px}.pap-input-sm{width:48px;height:22px;padding:0 4px;background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:3px;color:var(--color-text-primary);font-size:.6875rem;text-align:center}.pap-input-sm:focus{outline:none;border-color:var(--color-primary, #6038d7)}.pap-unit{font-size:.625rem;color:var(--color-text-secondary)}.pap-hint{font-size:.625rem;color:var(--color-text-secondary);margin-top:2px}.pap-hint-success{color:#22c55e}.position-details-overlay{position:absolute;top:52px;right:12px;z-index:10;pointer-events:none;display:flex;align-items:center;gap:6px;background:#1e1e2ed9;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.1);border-radius:6px;padding:5px 10px}.pdo-title{font-size:.75rem;font-weight:600;color:var(--color-text-primary)}.pdo-coords{font-size:.625rem;color:var(--color-text-secondary);font-family:var(--font-family-mono)}.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}.path-viewer-toggles{display:flex;gap:4px}.viewer-controls{position:absolute;top:8px;left:8px;z-index:10;display:flex;flex-direction:row;gap:4px}.viewer-toggle{background:#000000b3;border:1px solid var(--color-border-light);color:var(--color-text-secondary);padding:2px 8px;border-radius:3px;font-size:.625rem;cursor:pointer;transition:all .15s ease;display:flex;align-items:center;gap:4px}.viewer-toggle.active{background:#3c3c50e6;border-color:#88f;color:var(--color-text-primary)}.viewer-toggle: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}.position-path-popup-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000}.position-path-popup{background:var(--bg-surface, #1a1a2e);border:1px solid var(--border-color, #555);border-radius:8px;width:80vw;height:75vh;max-width:1200px;max-height:900px;display:flex;flex-direction:column;overflow:hidden}.position-path-popup .popup-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--border-color, #444);flex-shrink:0}.position-path-popup .popup-title{font-size:16px;font-weight:600;color:var(--text-primary, #eee)}.position-path-popup .popup-close-btn{font-size:13px;padding:4px 14px;border-radius:4px;border:1px solid var(--border-color, #555);background:transparent;color:var(--text-secondary, #aaa);cursor:pointer}.position-path-popup .popup-close-btn:hover{background:var(--bg-hover, #333)}.position-path-popup .popup-content{flex:1;position:relative;overflow:hidden}.position-path-popup .popup-loading,.position-path-popup .popup-empty{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-secondary, #aaa);font-size:14px}.position-selector{position:absolute;bottom:32px;right:12px;background:#1e1e2ed9;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:8px 10px;z-index:10;pointer-events:auto}.position-selector-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.position-selector-label{font-size:.6875rem;font-weight:600;color:#ffffffb3;text-transform:uppercase;letter-spacing:.5px}.position-selector-active{font-size:.6875rem;color:#ffffff73}.position-selector-map{display:block;width:100%;height:auto}.position-dot{cursor:pointer;transition:opacity .15s}.position-dot:hover{opacity:.8}.position-well-outline{cursor:pointer;fill:transparent;stroke:#fff3;stroke-width:.5;transition:stroke .15s}.position-well-outline:hover{stroke:#fff6}.position-well-outline.active{stroke:#fff;stroke-width:1.5;filter:drop-shadow(0 0 3px rgba(255,255,255,.4))}.position-well-outline.selected{stroke:var(--color-primary);stroke-width:1}.position-model-outline{pointer-events:none;fill:none;stroke:#ffffff26;stroke-width:.5;stroke-dasharray:2 1.5}.position-model-outline.oversized{stroke:var(--color-brand-red);stroke-width:.8;stroke-dasharray:2 1}.position-row-label,.position-col-label{cursor:pointer;-webkit-user-select:none;user-select:none}.position-row-label text,.position-col-label text{font-size:9px;font-weight:700;fill:#ffffff80}.position-row-label:hover text,.position-col-label:hover text{fill:#ffffffe6}.position-selector-legend{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}.legend-item{display:flex;align-items:center;gap:4px}.legend-swatch{width:8px;height:8px;border-radius:2px;flex-shrink:0}.legend-label{font-size:.625rem;color:#fff9}.position-context-menu{position:absolute;background:var(--color-bg-tertiary, #252530);border:1px solid rgba(255,255,255,.15);border-radius:var(--radius-lg, 6px);padding:var(--spacing-xs, 4px) 0;min-width:140px;z-index:var(--z-popover, 20);box-shadow:var(--shadow-lg)}.context-menu-item{display:flex;align-items:center;gap:6px;width:100%;padding:5px var(--spacing-md, 12px);background:transparent;border:none;color:var(--color-text-primary, #d4d4d4);font-size:var(--font-size-sm, .6875rem);cursor:pointer;text-align:left;white-space:nowrap}.context-menu-item:hover{background:var(--color-bg-hover, rgba(255, 255, 255, .08))}.context-menu-item.danger{color:var(--color-error, #ef4444);border-top:1px solid rgba(255,255,255,.08);margin-top:2px;padding-top:7px}.context-menu-swatch{width:8px;height:8px;border-radius:2px;flex-shrink:0}.print-order-map{margin-top:8px}.print-order-map svg{background:#1a1a2e;border-radius:6px;width:100%}.print-order-map .order-number{fill:var(--color-text-accent);font-size:10px;font-weight:600;pointer-events:none;-webkit-user-select:none;user-select:none}.print-order-map .position-label{fill:#aac;font-size:8px;pointer-events:none;-webkit-user-select:none;user-select:none}.print-order-map .well-circle{cursor:default;stroke:#557;stroke-width:1;transition:opacity .15s}.print-order-map .well-circle.clickable{cursor:pointer}.print-order-map .well-circle.clickable:hover{opacity:.8}.print-order-map-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.print-order-map-header .map-title{font-size:12px;color:var(--text-secondary, #aaa)}.print-order-map-header button{font-size:11px;padding:2px 8px;border-radius:4px;border:1px solid var(--border-color, #555);background:transparent;color:var(--text-secondary, #aaa);cursor:pointer}.print-order-map-header button:hover{background:var(--bg-hover, #333)}.print-order-map.full-size{width:100%;height:100%;display:flex;align-items:center;justify-content:center;position:relative;margin-top:0}.print-order-map.full-size svg{max-width:100%;max-height:100%}.print-order-map-clear-btn{position:absolute;top:12px;right:12px;font-size:12px;padding:4px 12px;border-radius:4px;border:1px solid var(--border-color, #555);background:var(--bg-surface, #222);color:var(--text-secondary, #aaa);cursor:pointer}.print-order-map-clear-btn:hover{background:var(--bg-hover, #333)}.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);font:inherit;color:inherit;text-align:left}.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);border:none;font:inherit;color:inherit;text-align:left;width:100%}.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:var(--color-bg-primary);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:var(--color-bg-tertiary);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:var(--color-brand-gold)}.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:var(--color-brand-red);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:var(--color-border);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}.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:var(--color-brand-red)}.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)}.model-tab{display:flex;flex-direction:column;gap:24px}.model-subtabs .tabs-list{justify-content:flex-start;gap:0;margin-bottom:12px}.model-subtabs .tabs-trigger{height:32px;padding:0 14px;font-size:.75rem}.model-subtabs .tabs-content{display:flex;flex-direction:column;gap:0}.section{display:flex;flex-direction:column;gap:12px}.section-title{font-size:.875rem;font-weight:600;color:var(--color-text-accent);margin:0;padding-bottom:8px;border-bottom:1px solid var(--color-border)}.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:var(--color-success);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 var(--color-border);border-radius:3px;color:var(--color-text-secondary);font-size:.6875rem;padding:2px 8px;cursor:pointer}.model-transform-reset:hover{color:var(--color-text-primary);border-color:var(--color-border-light)}.scale-mode-toggle{display:flex;gap:0;border:1px solid var(--color-border);border-radius:4px;overflow:hidden}.scale-mode-btn{flex:1;background:var(--color-bg-primary);border:none;border-right:1px solid var(--color-border);color:var(--color-text-secondary);font-size:.6875rem;padding:4px 0;cursor:pointer}.scale-mode-btn:last-child{border-right:none}.scale-mode-btn:hover{background:#2a2a2a;color:var(--color-text-primary)}.scale-mode-btn.active{background:#6038d733;color:#b388ff}.model-dimensions-info{font-size:.6875rem;color:var(--color-text-secondary);text-align:center;font-style:italic}.surface-well-header{font-size:.8125rem;font-weight:600;color:#e0e0e0;padding:4px 0 8px;text-align:center;border-bottom:1px solid var(--color-border);margin-bottom:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.section-block{margin-bottom:4px}.section-block-header{font-size:.8125rem;font-weight:600;color:#e0e0e0;padding:8px 12px;background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border)}.section-block>*:not(.section-block-header){padding:0 12px}.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:var(--color-text-primary);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:var(--color-text-primary);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}.loaded-files-section{margin-top:12px}.loaded-files-header{font-size:.6875rem;color:gray;text-transform:uppercase;letter-spacing:.05em;padding:6px 0;border-bottom:1px solid var(--color-border);margin-bottom:4px}.loaded-files-list{display:flex;flex-direction:column;gap:2px}.loaded-file-item{display:flex;justify-content:space-between;align-items:center;padding:5px 8px;border:none;border-left:3px solid transparent;border-radius:4px;background:none;color:inherit;font:inherit;text-align:left;width:100%;cursor:pointer;transition:background .1s}.loaded-file-item:hover{background:#6038d70f}.loaded-file-item.highlighted{background:#6038d71f;border-left-color:var(--color-primary)}.loaded-file-info{display:flex;flex-direction:column;gap:1px;overflow:hidden;min-width:0}.loaded-file-name{font-size:.75rem;color:silver;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.loaded-file-wells{font-size:.625rem;color:#707070;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.loaded-file-item.highlighted .loaded-file-name{color:#e0d8ff}.loaded-file-item.highlighted .loaded-file-wells{color:#9080c0}.loaded-file-count{font-size:.6875rem;color:#707070;flex-shrink:0;background:#ffffff0d;border-radius:8px;padding:1px 6px;min-width:18px;text-align:center}.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 var(--color-border);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 var(--color-border)}.metrics-panel-title-row{display:flex;align-items:center;gap:8px;flex:1}.metrics-panel-title{font-size:.75rem;font-weight:600;color:var(--color-text-primary)}.metrics-panel-layer{font-size:.625rem;color:var(--color-text-secondary);background:#32323680;padding:1px 6px;border-radius:3px}.metrics-panel-close{background:none;border:none;color:var(--color-text-secondary);font-size:1rem;cursor:pointer;padding:0 4px;line-height:1;transition:color .2s ease}.metrics-panel-close:hover{color:var(--color-text-primary)}.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:var(--color-text-secondary);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:var(--color-text-secondary);font-size:.625rem}.metrics-summary-value{font-weight:500;color:var(--color-text-primary)}.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:var(--color-text-accent);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:var(--color-text-primary);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:var(--color-text-primary)}.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}.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 var(--color-border);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 var(--color-border)}.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 var(--color-border);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:var(--color-text-primary)}.reorder-panel-layer{font-size:.625rem;color:var(--color-text-secondary);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:var(--color-text-secondary);font-size:1rem;cursor:pointer;padding:0 2px;line-height:1}.reorder-panel-close:hover{color:var(--color-text-accent)}.reorder-panel-toolbar{display:flex;align-items:center;padding:6px 12px;border-bottom:1px solid var(--color-border);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:var(--color-text-primary)}.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:var(--color-text-primary)}.reorder-item.dragging{background:#6464ff26;box-shadow:0 2px 8px #0000004d;cursor:grabbing;z-index:10}.reorder-item.cortex{border-left-color:var(--color-brand-red)}.reorder-item.matrix{border-left-color:var(--color-brand-gold)}.reorder-item.droplet{border-left-color:#29b6f6}.reorder-drag-handle{color:var(--color-border-light);font-size:.875rem;flex-shrink:0;line-height:1}.reorder-item:hover .reorder-drag-handle{color:var(--color-text-secondary)}.reorder-index{width:18px;text-align:right;color:#666;font-size:.625rem;font-family:var(--font-family-mono);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:var(--color-brand-gold)}.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 var(--color-border);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:var(--color-text-accent)}.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 var(--color-border);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 var(--color-border);border-radius:3px;color:var(--color-text-primary);font-size:.625rem;cursor:pointer}.reorder-strategy-select:hover{border-color:var(--color-border-light)}.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}.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:var(--color-brand-gold)}.mini-btn.droplet:hover{background:#29b6f64d;color:#29b6f6}.order-separator{color:var(--color-border-light);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 var(--color-brand-red)}.segment-item.infill{border-left:2px solid var(--color-brand-gold)}.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:var(--color-brand-gold)}.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 var(--color-border);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}.sync-btn.apply-btn{background:#44c8444d;color:#6c6}.sync-btn.apply-btn:hover:not(:disabled){background:#44c84480;color:#8d8}.sync-btn.apply-btn:disabled{opacity:.4;cursor:not-allowed}.sync-btn.apply-btn.has-pending{background:#ffc84466;color:#fd6;animation:pending-pulse 1.5s ease-in-out infinite}.sync-btn.apply-btn.has-pending:hover:not(:disabled){background:#ffc84499;color:#fe8}@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}.layer-pattern-overlay{position:fixed;inset:0;background:#0000004d;z-index:600}.layer-pattern-panel{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:780px;max-width:90vw;max-height:80vh;background:#2a2a2d;border:1px solid var(--color-border);border-radius:8px;box-shadow:0 4px 20px #0006;display:flex;flex-direction:column;overflow:hidden;z-index:601}.layer-pattern-header{padding:12px 16px;border-bottom:1px solid var(--color-border)}.layer-pattern-title-row{display:flex;justify-content:space-between;align-items:center}.layer-pattern-title{font-size:14px;font-weight:600;color:var(--color-text-primary)}.layer-pattern-close{background:none;border:none;color:#999;font-size:18px;cursor:pointer;padding:0 4px}.layer-pattern-close:hover{color:var(--color-text-accent)}.layer-pattern-content{flex:1;overflow-y:auto;padding:12px 16px}.layer-pattern-empty{text-align:center;padding:24px 0;color:#999;font-size:13px}.layer-pattern-enable-btn{margin-top:12px;background:#6478ff;color:var(--color-text-accent);border:none;border-radius:4px;padding:8px 20px;cursor:pointer;font-size:13px}.layer-pattern-enable-btn:hover{background:#5568ee}.layer-pattern-groups{display:flex;flex-direction:column;gap:4px}.layer-pattern-group{border-left:3px solid #6478ff;padding:8px 12px;background:#2a2a2d;border-radius:0 4px 4px 0;cursor:pointer}.layer-pattern-group:hover{background:#333336}.layer-pattern-group.active{background:#3e4a6e}.layer-pattern-group-header{display:flex;justify-content:space-between;align-items:center;gap:8px}.layer-pattern-group-name{color:var(--color-text-primary);font-size:12px;font-weight:700}.layer-pattern-group-name-input{background:#1e1e20;border:1px solid var(--color-border);border-radius:3px;color:var(--color-text-primary);font-size:12px;font-weight:700;padding:2px 4px;width:80px}.layer-pattern-group-name-input:focus{border-color:var(--color-primary);outline:none}.layer-pattern-group-summary{color:#999;font-size:11px;flex:1;text-align:right}.layer-pattern-group-dup{background:none;border:none;color:#999;cursor:pointer;font-size:14px;padding:0 2px}.layer-pattern-group-dup:hover{color:var(--color-text-primary)}.layer-pattern-mode-toggle{display:flex;gap:0;margin-bottom:10px;border-radius:6px;overflow:hidden;border:1px solid var(--color-border-light)}.layer-pattern-mode-btn{flex:1;padding:7px 16px;background:#333336;color:var(--color-text-secondary);border:none;cursor:pointer;font-size:13px;font-weight:600;letter-spacing:.3px;transition:background .15s,color .15s}.layer-pattern-mode-btn:hover:not(.active){background:var(--color-border);color:var(--color-text-primary)}.layer-pattern-mode-btn.active{background:var(--color-primary);color:var(--color-text-accent)}.layer-pattern-group-repeat{display:inline-flex;align-items:center;gap:2px;background:#6038d726;border-radius:3px;padding:0 2px}.layer-pattern-repeat-btn{background:none;border:none;color:var(--color-primary);cursor:pointer;font-size:12px;font-weight:700;padding:0 3px;line-height:1}.layer-pattern-repeat-btn:hover:not(:disabled){color:var(--color-text-accent)}.layer-pattern-repeat-btn:disabled{color:var(--color-border-light);cursor:default}.layer-pattern-repeat-value{color:var(--color-primary);font-size:10px;font-weight:700;min-width:12px;text-align:center}.layer-pattern-preview-grid{max-height:150px;overflow-y:auto;display:flex;flex-direction:column;gap:1px}.layer-pattern-preview-row{display:flex;align-items:center;gap:8px;padding:2px 8px;border-left:3px solid;font-size:11px}.layer-pattern-preview-num{color:#666;width:24px}.layer-pattern-preview-name{font-weight:500}.layer-pattern-preview-row.override,.layer-pattern-custom-row.override{background:#d46b7d1a;border-left-style:dashed}.layer-pattern-override-badge{color:#d46b7d;font-size:10px;font-weight:700;margin-left:2px}.layer-pattern-custom{margin-top:8px;border-top:1px solid var(--color-border);padding-top:8px}.layer-pattern-custom-list{max-height:200px;overflow-y:auto;display:flex;flex-direction:column;gap:2px}.layer-pattern-custom-row{display:flex;align-items:center;gap:8px;padding:3px 8px;border-left:3px solid}.layer-pattern-custom-select{flex:1;background:#1e1e20;color:var(--color-text-primary);border:1px solid var(--color-border);border-radius:3px;padding:2px 4px;font-size:11px}.layer-pattern-group-remove{background:none;border:none;color:#d46b7d;cursor:pointer;font-size:14px;padding:0 2px}.layer-pattern-body{display:flex;gap:0;min-height:200px}.layer-pattern-col-left{width:130px;min-width:130px;display:flex;flex-direction:column;overflow-y:auto;border-right:1px solid var(--color-border);padding-right:8px}.layer-pattern-col-mid{flex:1;display:flex;flex-direction:column;padding:0 8px;overflow-y:auto}.layer-pattern-right{width:280px;min-width:280px;padding-left:12px;border-left:1px solid var(--color-border);display:flex;flex-direction:column;overflow-y:auto}.layer-pattern-right-empty{display:flex;align-items:center;justify-content:center;height:100%;color:#666;font-size:12px;font-style:italic}.layer-pattern-editor{display:flex;flex-direction:column;gap:4px}.layer-pattern-editor-header{border-left:3px solid;padding-left:8px;margin-bottom:8px}.layer-pattern-editor-row{display:flex;gap:8px}.layer-pattern-editor-row>*{flex:1;min-width:0}.layer-pattern-right-hint{color:#999;font-size:12px;line-height:1.5;font-style:italic}.layer-pattern-add-btn{background:var(--color-border);color:var(--color-text-primary);border:none;border-radius:4px;padding:6px 12px;cursor:pointer;font-size:12px;margin-top:4px}.layer-pattern-add-btn:hover{background:#4e4e52}.layer-pattern-sequence{margin-top:16px;padding-top:12px;border-top:1px solid var(--color-border)}.layer-pattern-sequence-label{color:#999;font-size:11px;margin-bottom:6px}.layer-pattern-sequence-chips{display:flex;gap:3px;flex-wrap:wrap}.layer-pattern-chip{color:var(--color-text-accent);padding:2px 8px;border-radius:3px;font-size:10px;font-weight:700;display:inline-flex;align-items:center;gap:4px}.layer-pattern-chip-remove{background:none;border:none;color:#fff9;cursor:pointer;font-size:10px;padding:0;line-height:1}.layer-pattern-chip-remove:hover{color:var(--color-text-accent)}.layer-pattern-sequence-actions{display:flex;gap:4px;margin-top:6px}.layer-pattern-seq-add{background:none;border:1px solid;border-radius:3px;padding:2px 6px;cursor:pointer;font-size:10px;font-weight:700}.layer-pattern-seq-add:hover{background:#ffffff1a}.layer-pattern-footer{display:flex;gap:8px;padding:12px 16px;border-top:1px solid var(--color-border)}.layer-pattern-clear-btn{background:none;border:1px solid #d46b7d;color:#d46b7d;border-radius:4px;padding:6px 12px;cursor:pointer;font-size:12px}.layer-pattern-cancel-btn{background:var(--color-border);color:var(--color-text-primary);border:none;border-radius:4px;padding:6px 16px;cursor:pointer;font-size:12px}.layer-pattern-apply-btn{background:#6478ff;color:var(--color-text-accent);border:none;border-radius:4px;padding:6px 16px;cursor:pointer;font-size:12px}.layer-pattern-apply-group-btn{background:none;border:1px solid var(--color-primary);color:var(--color-primary);border-radius:4px;padding:6px 12px;cursor:pointer;font-size:12px}.layer-pattern-apply-group-btn:hover{background:#6038d726}.layer-pattern-apply-btn:hover{background:#5568ee}.droplet-popup-overlay{position:fixed;inset:0;background:#0000004d;z-index:600}.droplet-popup-panel{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:320px;max-width:90vw;max-height:80vh;background:#2a2a2d;border:1px solid var(--color-border);border-radius:8px;box-shadow:0 4px 20px #0006;display:flex;flex-direction:column;overflow:hidden;z-index:601}.droplet-popup-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--color-border)}.droplet-popup-title{font-size:14px;font-weight:600;color:var(--color-text-primary)}.droplet-popup-close{background:none;border:none;color:#999;font-size:18px;cursor:pointer;padding:0 4px}.droplet-popup-close:hover{color:var(--color-text-accent)}.droplet-popup-content{flex:1;overflow-y:auto;padding:12px 16px;display:flex;flex-direction:column;gap:4px}.droplet-popup-divider{height:1px;background:var(--color-border);margin:8px 0}.droplet-popup-footer{display:flex;justify-content:flex-end;padding:12px 16px;border-top:1px solid var(--color-border)}.droplet-popup-done-btn{background:var(--color-primary);color:var(--color-text-accent);border:none;border-radius:4px;padding:6px 20px;cursor:pointer;font-size:12px}.droplet-popup-done-btn:hover{background:#5030c0}.pattern-selector{display:flex;flex-direction:column;gap:6px}.pattern-selector-label{font-size:.8125rem;color:var(--color-text-primary);font-weight:500}.pattern-selector-select{height:32px;background-color:var(--color-bg-secondary);border:1px solid var(--color-border);color:var(--color-text-primary);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:var(--color-bg-secondary);color:var(--color-text-primary)}.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 var(--color-brand-gold)}.dual-lines-settings .settings-divider{border-bottom-color:#eac6534d;color:var(--color-brand-gold)}.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:var(--color-bg-secondary);border-radius:4px;font-size:.8125rem;color:var(--color-text-primary);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 var(--color-border)}.regenerate-confirm-dialog{display:flex;flex-direction:column;gap:16px}.regenerate-confirm-dialog .warning-message{margin:0;color:var(--color-text-primary);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}.biofabricators-page{color:var(--color-text-primary)}.biofabricators-toolheads-panel-wrapper{min-height:600px;height:calc(100vh - 200px)}.biofabricators-toolhead-form{display:flex;flex-direction:column;gap:12px}.biofabricators-page-title{font-size:1.5rem;font-weight:600;margin:0 0 24px}.biofabricators-page-section{background-color:var(--color-bg-secondary);border:1px solid var(--color-border);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:var(--color-text-secondary);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 var(--color-border);border-radius:6px}.biofabricators-printer-card.active{border-color:#6038d780;background:#6038d714}.biofabricators-printer-card-name{font-size:.875rem;font-weight:500;color:var(--color-text-primary)}.biofabricators-printer-card-details{font-size:.75rem;color:var(--color-text-secondary);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 var(--color-border);border-radius:4px;color:var(--color-text-primary);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-2{display:grid;grid-template-columns:1fr 1fr;gap:8px}.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-toolhead-slot-list{display:flex;flex-direction:column;gap:6px}.biofabricators-toolhead-slot-row{display:flex;align-items:center;gap:8px}.biofabricators-toolhead-slot-headers{margin-bottom:-2px;pointer-events:none}.biofabricators-toolhead-slot-picker{flex:0 1 280px;min-width:0}.biofabricators-toolhead-slot-offsets{display:flex;flex:none;gap:4px}.biofabricators-toolhead-offset-header{width:56px;font-size:var(--font-size-sm, .6875rem);color:var(--color-text-secondary, #858585);text-align:center}.biofabricators-toolhead-offset-input{width:56px;height:28px;padding:0 6px;font-size:.75rem;color:var(--color-text-primary, #d4d4d4);background-color:var(--color-bg-tertiary, #252526);border:1px solid var(--color-border, #3e3e42);border-radius:3px;outline:none;-moz-appearance:textfield;appearance:textfield}.biofabricators-toolhead-offset-input::-webkit-outer-spin-button,.biofabricators-toolhead-offset-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.biofabricators-toolhead-offset-input:focus{border-color:var(--color-border-focus, #007acc)}.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}.biofabricators-tab-bar{display:flex;gap:0;margin-bottom:16px;border-bottom:1px solid var(--color-border)}.biofabricators-tab{background:transparent;border:none;border-bottom:2px solid transparent;color:var(--color-text-secondary);font-size:.8125rem;font-weight:500;padding:8px 16px;cursor:pointer;transition:color .15s,border-color .15s}.biofabricators-tab:hover{color:var(--color-text-primary)}.biofabricators-tab.active{color:var(--color-text-primary);border-bottom-color:#6038d7cc}.biofabricators-builtin-badge{display:inline-block;margin-left:8px;font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;padding:1px 6px;border-radius:3px;background:#6038d726;color:#a08cffcc;vertical-align:middle}.user-profile{color:var(--color-text-primary)}.user-profile-title{font-size:1.5rem;font-weight:600;margin:0 0 24px}.user-profile-empty{color:var(--color-text-secondary);font-size:.875rem}.user-profile-section{background-color:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:8px;padding:16px 20px;margin-bottom:16px}.user-profile-section-title{font-size:.875rem;font-weight:600;color:var(--color-text-secondary);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 var(--color-border)}.user-profile-label{font-size:.8125rem;color:var(--color-text-secondary);flex-shrink:0;margin-right:16px}.user-profile-value{font-size:.8125rem;color:var(--color-text-primary);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:var(--color-text-accent);letter-spacing:.3px}.user-profile-field .select-input{min-width:180px}.settings-page{color:var(--color-text-primary)}.settings-page-title{font-size:1.5rem;font-weight:600;margin:0 0 24px}.settings-page-section{background-color:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:8px;padding:16px 20px;margin-bottom:16px}.settings-page-section-title{font-size:.875rem;font-weight:600;color:var(--color-text-secondary);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 var(--color-border)}.settings-page-label{font-size:.8125rem;color:var(--color-text-secondary);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:var(--color-text-primary)}.support-page-title{font-size:1.5rem;font-weight:600;margin:0 0 24px}.support-page-section{background-color:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:8px;padding:16px 20px;margin-bottom:16px}.support-page-section-title{font-size:.875rem;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px;margin:0 0 12px}.support-page-text{font-size:.8125rem;color:var(--color-text-primary);margin:0 0 12px;line-height:1.5}.support-page-list{font-size:.8125rem;color:var(--color-text-primary);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:var(--color-text-secondary);flex-shrink:0;margin-right:16px}.support-page-email{font-size:.8125rem;color:#4fc3f7;text-decoration:none}.support-page-email:hover{text-decoration:underline}.position-switcher-overlay{position:absolute;top:8px;right:12px;z-index:12;pointer-events:auto;display:flex;flex-direction:column;gap:4px;background:#1e1e2ed9;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.1);border-radius:6px;padding:4px 6px;font-size:.75rem;color:var(--color-text-primary)}.pso-nav{display:flex;align-items:center;gap:4px}.pso-arrow{background:none;border:none;color:var(--color-text-secondary);font-size:.75rem;cursor:pointer;padding:2px 4px;border-radius:3px;line-height:1}.pso-arrow:hover:not(:disabled){color:var(--color-text-primary);background:#ffffff14}.pso-arrow:disabled{opacity:.3;cursor:not-allowed}.pso-label{cursor:pointer;padding:2px 6px;border-radius:3px;font-size:.6875rem;font-weight:500;white-space:nowrap;-webkit-user-select:none;user-select:none}.pso-coords{font-size:.5625rem;color:var(--color-text-secondary);font-family:var(--font-family-mono);margin-left:4px}.pso-label:hover{background:#ffffff14}.pso-status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:4px;vertical-align:middle}.pso-status-dot.empty{background:var(--color-border-light)}.pso-status-dot.mesh{background:#569cd6}.pso-status-dot.sliced{background:#dcdcaa}.pso-status-dot.infill{background:#4ec9b0}.pso-dropdown-wrapper{position:relative}.pso-dropdown{position:absolute;top:calc(100% + 4px);right:0;min-width:140px;max-height:240px;overflow-y:auto;background:#1e1e2ef2;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.12);border-radius:6px;padding:4px;z-index:20}.pso-dropdown-item{display:flex;align-items:center;gap:6px;padding:4px 8px;border-radius:3px;cursor:pointer;font-size:.6875rem;color:var(--color-text-primary);white-space:nowrap}.pso-dropdown-item:hover{background:#ffffff14}.pso-dropdown-item.active{background:#6038d74d}.pso-views{display:flex;gap:2px;border-top:1px solid rgba(255,255,255,.08);padding-top:4px}.pso-view-btn{flex:1;background:none;border:1px solid transparent;color:var(--color-text-secondary);font-size:.625rem;padding:2px 6px;border-radius:3px;cursor:pointer;white-space:nowrap}.pso-view-btn:hover:not(:disabled){color:var(--color-text-primary);background:#ffffff0f}.pso-view-btn.active{color:var(--color-text-primary);background:#6038d74d;border-color:#6038d780}.pso-view-btn:disabled{opacity:.3;cursor:not-allowed}.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}.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 var(--color-border);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;color:inherit;font:inherit}.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:var(--color-text-secondary);white-space:nowrap}.collapse-tab-arrow{font-size:.625rem;color:var(--color-text-secondary);transition:transform .2s ease}.compatibility-overlay.expanded .collapse-tab-arrow{transform:rotate(180deg)}.compatibility-panel{background-color:#1e1e1ef2;border:1px solid var(--color-border);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 var(--color-border)}.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:var(--color-text-primary);font-weight:500}.panel-close-btn{background:none;border:none;color:var(--color-text-secondary);font-size:1rem;cursor:pointer;padding:0 4px;line-height:1;transition:color .2s ease}.panel-close-btn:hover{color:var(--color-text-primary)}.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 var(--color-border);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;width:100%;border:none;color:inherit;font:inherit;text-align:left}.compat-type-header:hover{background-color:#ffffff0f}.compat-type-arrow{font-size:.5rem;color:var(--color-text-secondary);width:10px}.compat-type-name{flex:1;font-size:.6875rem;font-weight:600;color:var(--color-text-primary)}.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 var(--color-border);padding:4px 0}.compat-item{display:flex;align-items:flex-start;gap:6px;padding:5px 10px;border:none;background:none;color:inherit;font:inherit;font-size:.6875rem;text-align:left;width:100%;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:var(--color-text-secondary);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:var(--color-text-primary);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:var(--color-text-secondary);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:var(--color-text-secondary)}.panel-tolerance-input input[type=number]{width:50px;padding:3px 5px;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:3px;color:var(--color-text-accent);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:var(--color-border);border-radius:2px}.compatibility-panel-content::-webkit-scrollbar-thumb:hover{background:var(--color-border-light)}.mesh-viewer{width:100%;height:100%;position:relative}.mesh-viewer-info{position:absolute;bottom:60px;left:50%;transform:translate(-50%);background-color:#000000d9;color:var(--color-text-primary);padding:4px 8px;border-radius:4px;font-size:.6875rem;pointer-events:none}.surface-compat-warning{position:absolute;top:52px;left:12px;z-index:10;background:#eab30826;border:1px solid rgba(234,179,8,.4);color:#eab308;padding:4px 10px;border-radius:4px;font-size:.6875rem;pointer-events:none}.well-hint-text{position:absolute;bottom:40px;left:50%;transform:translate(-50%);color:#d4d4d499;font-size:.75rem;pointer-events:none;white-space:nowrap}.preview-panel{position:relative;flex:1;min-width:0;height:100%;display:flex;flex-direction:row;background-color:var(--color-bg-primary)}.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:var(--color-bg-tertiary);border-top:1px solid var(--color-border)}.preview-placeholder{flex:1;display:flex;align-items:center;justify-content:center}.preview-placeholder-text{font-size:1.125rem;color:var(--color-text-secondary)}.path-management-panel{width:320px;background-color:var(--color-bg-tertiary);padding:16px;overflow-y:auto;display:flex;flex-direction:column;gap:20px;border-left:1px solid var(--color-border)}.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:var(--color-text-accent);text-transform:uppercase;letter-spacing:.5px;padding-bottom:8px;border-bottom:1px solid var(--color-border)}.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:var(--color-bg-primary)}.path-management-panel::-webkit-scrollbar-thumb{background:var(--color-bg-hover);border-radius:5px}.path-management-panel::-webkit-scrollbar-thumb:hover{background:var(--color-bg-active)}.panel-collapse-toggle{position:absolute;right:0;top:50%;transform:translateY(-50%);width:24px;height:60px;background-color:#3c3c3ce6;border:1px solid var(--color-border-light);border-right:none;border-radius:4px 0 0 4px;color:var(--color-text-primary);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}.admin-view{width:100%;height:100%;overflow-y:auto;padding:24px;margin:0 auto}.biofabricators-view{max-width:800px;width:100%;height:100%;overflow-y:auto;padding:24px;margin:0 auto}.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}.viewer-view-toggle{position:absolute;top:8px;right:8px;z-index:10;padding:4px 12px;border:1px solid var(--color-border);border-radius:4px;background:#1e1e1ed9;color:var(--color-text-primary);font-size:.75rem;cursor:pointer}.viewer-view-toggle:hover{background:#6038d74d;border-color:var(--color-primary);color:var(--color-text-accent)}.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:var(--color-bg-primary);color:var(--color-text-primary)}.app-error-fallback{width:100%;height:100vh;display:flex;align-items:center;justify-content:center;background-color:var(--color-bg-primary);color:var(--color-text-primary)}.app-error-content{text-align:center;padding:2rem;max-width:400px}.app-error-content h1{color:var(--color-brand-red);font-size:1.5rem;margin-bottom:1rem}.app-error-content p{color:var(--color-text-secondary);margin-bottom:1.5rem;line-height:1.5}.app-error-content button{padding:.75rem 1.5rem;font-size:1rem;background:var(--color-primary);color:#fff;border:none;border-radius:4px;cursor:pointer;transition:background .2s}.app-error-content button:hover{background:var(--color-primary-hover)}a:link{color:#fff}:root{--color-bg-primary: #1e1e1e;--color-bg-secondary: #2d2d30;--color-bg-tertiary: #252526;--color-bg-canvas: #1c1a24;--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}
