@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";@import"https://www.nerdfonts.com/assets/css/webfont.css";.button{padding:8px 16px;border-radius:var(--radius-md);font-size:.8125rem;font-weight:500;border:none;cursor:pointer;transition:background-color .2s,opacity .2s,transform .15s;margin:4px 0;display:inline-flex;align-items:center;justify-content:center;gap:8px}:root[data-theme] .button{border-radius:var(--radius-full);padding-left:20px;padding-right:20px}:root[data-theme] .button:hover:not(:disabled){transform:translateY(-1px)}.button-cta{background-color:var(--color-brand-gold);color:#242d75;font-weight:600}.button-cta:hover:not(:disabled){background-color:color-mix(in srgb,var(--color-brand-gold) 88%,white)}.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:var(--color-hover-overlay)}.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)}.data-table-container{width:100%;overflow-x:auto}.data-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:var(--font-size-md, .75rem)}.data-table thead th{padding:var(--spacing-xs, 4px) var(--spacing-sm, 8px);text-align:left;font-weight:var(--font-weight-semibold, 600);color:var(--color-text-secondary, #858585);border-bottom:2px solid var(--color-border, #3e3e42);white-space:nowrap}.data-table-sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:color var(--transition-fast, .1s ease)}.data-table-sortable:hover{color:var(--color-text-primary, #d4d4d4)}.data-table-sort-arrow{margin-left:var(--spacing-xs, 4px);font-size:.5rem;color:var(--color-text-primary, #d4d4d4)}.data-table tbody td{padding:var(--spacing-xs, 4px) var(--spacing-sm, 8px);border-bottom:var(--border-width, 1px) solid var(--color-border, #3e3e42);color:var(--color-text-primary, #d4d4d4);vertical-align:middle;overflow:hidden;text-overflow:ellipsis}.data-table-row{position:relative;transition:background-color var(--transition-fast, .1s ease)}.data-table-row:hover{background-color:var(--color-bg-hover, #3c3c3c)}.data-table-actions-cell{position:relative;width:60px;padding:0 var(--spacing-xs, 4px)}.data-table-row-actions{display:flex;align-items:center;gap:var(--spacing-xs, 4px);opacity:0;transition:opacity var(--transition-fast, .1s ease);justify-content:center}.data-table-row:hover .data-table-row-actions{opacity:1}.data-table-empty{text-align:center;padding:var(--spacing-xl, 24px);color:var(--color-text-secondary, #858585)}.data-table-input{background:transparent;border:1px solid transparent;color:var(--color-text-primary, #d4d4d4);font-size:inherit;font-family:inherit;padding:var(--spacing-xs, 4px) var(--spacing-sm, 8px);width:100%;border-radius:var(--radius-sm, 3px);transition:border-color var(--transition-fast, .1s ease),background-color var(--transition-fast, .1s ease)}.data-table-input:hover{border-color:var(--color-border, #3e3e42)}.data-table-input:focus{outline:none;border-color:var(--color-border-focus, #6038d7);background-color:var(--color-bg-secondary, #2d2d30)}.data-table-select{background:transparent;border:1px solid transparent;color:var(--color-text-primary, #d4d4d4);font-size:inherit;font-family:inherit;padding:var(--spacing-xs, 4px) var(--spacing-sm, 8px);border-radius:var(--radius-sm, 3px);cursor:pointer;transition:border-color var(--transition-fast, .1s ease),background-color var(--transition-fast, .1s ease)}.data-table-select:hover{border-color:var(--color-border, #3e3e42)}.data-table-select:focus{outline:none;border-color:var(--color-border-focus, #6038d7);background-color:var(--color-bg-secondary, #2d2d30)}.data-table-select option{background-color:var(--color-bg-secondary, #2d2d30);color:var(--color-text-primary, #d4d4d4)}.data-table-trigger{background:none;border:1px solid transparent;color:var(--color-text-primary, #d4d4d4);cursor:pointer;font-size:inherit;font-family:inherit;padding:var(--spacing-xs, 4px) var(--spacing-sm, 8px);border-radius:var(--radius-sm, 3px);display:inline-flex;align-items:center;gap:var(--spacing-xs, 4px);transition:border-color var(--transition-fast, .1s ease),background-color var(--transition-fast, .1s ease)}.data-table-trigger:hover{border-color:var(--color-border, #3e3e42);background-color:var(--color-bg-hover, #3c3c3c)}.data-table-trigger-caret{font-size:.625rem;color:var(--color-text-secondary, #858585);transition:transform var(--transition-fast, .1s ease)}.data-table-trigger-caret.open{transform:rotate(90deg)}.data-table-popover{width:100%;border-collapse:collapse;font-size:var(--font-size-sm, .6875rem)}.data-table-popover tbody th{padding:var(--spacing-xs, 4px) var(--spacing-sm, 8px);text-align:left;font-weight:var(--font-weight-medium, 500);color:var(--color-text-secondary, #858585);border-bottom:var(--border-width, 1px) solid var(--color-border, #3e3e42)}.data-table-popover tbody td{padding:var(--spacing-xs, 4px) var(--spacing-sm, 8px);border-bottom:var(--border-width, 1px) solid var(--color-border, #3e3e42);color:var(--color-text-primary, #d4d4d4);vertical-align:middle}.data-table-popover tr:last-child td{border-bottom:none}.data-table-popover-title{font-size:var(--font-size-sm, .6875rem);font-weight:var(--font-weight-semibold, 600);color:var(--color-text-secondary, #858585);margin-bottom:var(--spacing-sm, 8px)}.dialog-overlay{position:fixed;inset:0;background-color:#0009;display:flex;align-items:center;justify-content:center;z-index:1000}.dialog-container{display:flex;flex-direction:column;width:var(--dialog-width, 360px);max-width:calc(100vw - 32px);max-height:var(--dialog-max-height, 80vh);overflow:hidden;background-color:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:8px;padding:20px;box-shadow:0 4px 20px #0006}.dialog-small{--dialog-width: 280px}.dialog-medium{--dialog-width: 360px}.dialog-large{--dialog-width: 480px}.dialog-header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;flex-shrink:0}.dialog-title{margin:0 0 16px;font-size:1rem;font-weight:600;color:var(--color-text-accent)}.dialog-close-button{flex-shrink:0}.dialog-content{flex:1;min-height:0;overflow-y:auto;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;flex-shrink:0}.dialog-buttons button{min-width:80px}.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-content-portal{position:fixed;bottom:auto;left:auto;transform:none}.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)}.icon-button{font-family:NerdFontsSymbols Nerd Font,sans-serif;background:none;border:none;cursor:pointer;color:var(--color-text-secondary, #858585);display:inline-flex;align-items:center;justify-content:center;padding:var(--spacing-xs, 4px);border-radius:var(--radius-sm, 3px);transition:color var(--transition-fast, .1s ease),background-color var(--transition-fast, .1s ease);line-height:1}.icon-button:hover:not(:disabled){color:var(--color-text-primary, #d4d4d4);background-color:var(--color-bg-hover, #3c3c3c)}.icon-button:disabled{opacity:.4;cursor:not-allowed}.icon-button-danger{color:var(--color-error, #f44336)}.icon-button-danger:hover:not(:disabled){color:var(--color-error-light, #ff6659);background-color:#f443361a}.icon-button-success{color:var(--color-success, #4caf50)}.icon-button-success:hover:not(:disabled){color:var(--color-success-light, #80e27e);background-color:#4caf501a}.icon-button-sm{font-size:.75rem;padding:2px}.icon-button-md{font-size:1rem;padding:var(--spacing-xs, 4px)}.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:fixed;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:1100;padding:var(--spacing-xs, 4px) 0;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-right:var(--spacing-sm, 8px);color:var(--color-text-primary, #d4d4d4);transition:background-color var(--transition-fast, .1s ease)}.grouped-select-item-select{display:flex;align-items:center;flex:1;min-width:0;padding:var(--spacing-xs, 4px) var(--spacing-md, 12px);font-size:var(--font-size-md, .75rem);color:inherit;background:none;border:none;text-align:left;cursor:pointer}.grouped-select-item-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.grouped-select-item-meta{flex-shrink:0;margin-left:var(--spacing-sm, 8px);font-size:.625rem;color:var(--color-text-secondary, #858585)}.grouped-select-item.flagged .grouped-select-item-meta{color:var(--color-warning)}.grouped-select-edit{flex-shrink:0;margin-left:6px;padding:0 3px;font-size:.75rem;color:var(--color-text-secondary, #858585);background:none;border:none;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);background:none;border:none;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 [role=option]{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 [role=option]:hover{background-color:var(--color-bg-hover)}.item-list [role=option].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}.popover{position:fixed;z-index:var(--z-popover, 600);background-color:var(--color-bg-secondary, #2d2d30);border:var(--border-width, 1px) solid var(--color-border, #3e3e42);border-radius:var(--radius-md, 4px);box-shadow:var(--shadow-lg, 0 4px 16px rgba(0, 0, 0, .4));padding:var(--spacing-md, 12px);min-width:200px;max-width:500px}.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-trigger:disabled{opacity:.4;cursor:not-allowed}.tabs-trigger:disabled:hover{color:var(--color-text-secondary, #858585);background-color:transparent}.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}.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;font-family:inherit;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:not(:disabled){border-color:#777}.viewer-toggle:disabled{opacity:.5;cursor:not-allowed}.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{position:relative;z-index:1;flex:1;overflow-y:auto;padding:16px}.control-sidebar-watermark{position:absolute;bottom:22px;left:50%;width:168px;height:auto;transform:translate(-50%);opacity:.22;pointer-events:none;-webkit-user-select:none;user-select:none;z-index:0}.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)}.subscription-banner{display:flex;align-items:center;gap:12px;padding:10px 16px;border-bottom:1px solid var(--color-border);font-size:var(--font-size-md);line-height:var(--line-height-normal);position:relative;z-index:var(--z-sticky)}.subscription-banner.tone-info{background:color-mix(in srgb,var(--color-primary) 12%,transparent);border-bottom-color:color-mix(in srgb,var(--color-primary) 35%,transparent);color:var(--color-text-primary)}.subscription-banner.tone-warning{background:color-mix(in srgb,var(--color-brand-gold) 15%,transparent);border-bottom-color:color-mix(in srgb,var(--color-brand-gold) 45%,transparent);color:var(--color-text-primary)}.subscription-banner.tone-error{background:color-mix(in srgb,var(--color-brand-red) 18%,transparent);border-bottom-color:color-mix(in srgb,var(--color-brand-red) 50%,transparent);color:var(--color-text-primary)}.subscription-banner-icon{flex-shrink:0;width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:var(--font-weight-bold);font-size:var(--font-size-sm);color:var(--color-brand-navy)}.subscription-banner.tone-info .subscription-banner-icon{background:var(--color-primary);color:#fff}.subscription-banner.tone-warning .subscription-banner-icon{background:var(--color-brand-gold)}.subscription-banner.tone-error .subscription-banner-icon{background:var(--color-brand-red);color:#fff}.subscription-banner-message{flex:1;min-width:0}.subscription-banner-cta{flex-shrink:0;padding:6px 12px;border-radius:var(--radius-md);border:1px solid currentColor;background:transparent;color:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.subscription-banner-cta:hover{background:var(--color-hover-overlay)}.subscription-banner-cta:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:2px}.auth-oauth-divider{display:flex;align-items:center;gap:8px;margin:12px 0 8px;color:var(--color-text-secondary);font-size:var(--font-size-sm, .6875rem);text-transform:uppercase;letter-spacing:.05em}.auth-oauth-divider:before,.auth-oauth-divider:after{content:"";flex:1;height:1px;background-color:var(--color-border)}.auth-oauth-button{display:inline-flex;align-items:center;justify-content:center;gap:8px}.auth-oauth-button svg{width:16px;height:16px;flex-shrink:0}.auth-oauth-note{margin:0 0 8px;font-size:.75rem;color:var(--color-text-secondary);line-height:1.4}.resend-confirmation-note{margin-top:8px;font-size:.75rem;color:var(--color-text-secondary);line-height:1.4}.auth-key-checkbox{display:flex;align-items:center;gap:8px;margin:4px 0 12px;font-size:.75rem;color:var(--color-text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none}.auth-key-checkbox input{width:14px;height:14px;margin:0;cursor:pointer;accent-color:var(--color-primary)}.user-menu{position:relative;height:100%;display:flex;align-items:center}.user-menu-trigger{height:32px;padding:0 18px;background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-full);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:var(--color-border-light);background-color:var(--color-hover-overlay)}.user-menu-login{background-color:var(--color-brand-gold);border-color:var(--color-brand-gold);color:var(--color-brand-navy);font-weight:600}.user-menu-login:hover{color:var(--color-brand-navy);background-color:color-mix(in srgb,var(--color-brand-gold) 88%,white);border-color:color-mix(in srgb,var(--color-brand-gold) 88%,white)}.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;box-sizing:border-box;width:100%;padding:8px 12px;background:transparent;border:none;color:var(--color-text-primary);font-size:.8125rem;text-align:left;text-decoration:none;cursor:pointer;transition:background-color .15s}.user-menu-item:hover{background-color:var(--color-hover-overlay)}.user-menu-item--danger{color:var(--color-error)}.user-menu-item--danger:hover{background-color:color-mix(in srgb,var(--color-error) 10%,transparent)}.header{--color-modality: var(--color-primary);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;gap:12px;flex-shrink:0}.header-title-button{display:flex;align-items:center;gap:9px;padding:0;background:transparent;border:none;cursor:pointer}.header-logo{display:block;flex-shrink:0;width:26px;height:26px}.header-title{font-family:var(--font-family-display);font-size:1.125rem;font-weight:600;letter-spacing:.01em;color:var(--color-text-accent);margin:0}.header-title-button:hover .header-title{color:var(--color-primary-light)}.header[data-modality=extrusion]{--color-modality: var(--color-primary)}.header[data-modality=dlp]{--color-modality: var(--color-brand-gold)}:root[data-theme=dark] .header[data-modality=extrusion]{--color-modality: var(--color-primary-light)}@media(prefers-color-scheme:dark){:root[data-theme=system] .header[data-modality=extrusion]{--color-modality: var(--color-primary-light)}}.modality-badge{display:inline-flex;align-items:center;gap:5px;height:22px;padding-inline:8px;border:1px solid color-mix(in srgb,var(--color-modality) 40%,transparent);border-radius:var(--radius-full, 9999px);background-color:color-mix(in srgb,var(--color-modality) 18%,transparent);color:var(--color-text-primary);font-family:var(--font-family-mono);font-size:.625rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;flex-shrink:0;cursor:pointer;transition:background-color .15s,border-color .15s}.modality-badge:hover{background-color:color-mix(in srgb,var(--color-modality) 28%,transparent);border-color:color-mix(in srgb,var(--color-modality) 60%,transparent)}.modality-badge:focus-visible{outline:2px solid var(--color-modality);outline-offset:2px}.modality-badge-glyph{display:block;flex-shrink:0;color:var(--color-modality)}.header-nav{display:flex;align-items:center;height:100%;gap:4px;flex:1}.nav-divider{width:1px;height:20px;margin:0 8px;background-color:var(--color-border);flex-shrink:0}.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:color-mix(in srgb,var(--color-modality) 12%,transparent)}.nav-tab.active{color:var(--color-text-accent);border-bottom-color:var(--color-modality)}.nav-tab:disabled{opacity:.4;cursor:not-allowed}.nav-tab:disabled:hover{color:var(--color-text-secondary);background-color:transparent}.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:var(--color-border-light);background-color:var(--color-hover-overlay)}.header-cure-reset .button{background:transparent;border:none;padding:4px 10px;border-radius:4px;color:var(--color-text-secondary);font-size:.8125rem;font-weight:500;cursor:pointer}.header-cure-reset .button:hover{color:var(--color-text-primary);background:#ffffff0d}.header-cure-reset .button-danger{color:var(--color-error);background:transparent}.header-cure-reset .button-danger:hover{background:#e5534b1a}.infill-progress-overlay{position:fixed;bottom:24px;left:50%;transform:translate(-50%);z-index:2000;pointer-events:none}.infill-progress-card{pointer-events:auto;min-width:320px;max-width:420px;padding:14px 16px;border-radius:10px;background:var(--panel-bg, #1c1f26);border:1px solid var(--panel-border, #33384a);box-shadow:0 8px 24px #0006;color:var(--text-primary, #e8eaf0)}.infill-progress-header{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:10px}.infill-progress-label{font-size:13px;font-weight:600}.infill-progress-count{font-size:12px;font-variant-numeric:tabular-nums;opacity:.75}.infill-progress-track{height:6px;border-radius:999px;background:var(--track-bg, #2a2e3a);overflow:hidden}.infill-progress-fill{height:100%;border-radius:999px;background:var(--accent, #6c5ce7);transition:width .15s ease-out}.infill-progress-actions{display:flex;justify-content:flex-end;margin-top:12px}.well-breadcrumb{display:flex;align-items:center;gap:8px;padding:4px 16px;background-color:var(--color-bg-tertiary);border-bottom:1px solid var(--color-border);font-size:.8125rem;color:var(--color-text-secondary);height:28px;flex-shrink:0}.well-breadcrumb-back{display:inline-flex;align-items:center;gap:6px;background:transparent;border:none;padding:2px 8px;border-radius:3px;color:var(--color-text-secondary);font-size:.8125rem;font-weight:500;cursor:pointer;transition:color .15s,background-color .15s}.well-breadcrumb-back:hover{color:var(--color-text-primary);background-color:var(--color-hover-overlay)}.well-breadcrumb-arrow{font-size:1rem;line-height:1}.well-breadcrumb-sep{color:var(--color-text-disabled)}.well-breadcrumb-current{color:var(--color-text-primary);font-weight:500}.path-drawing-controls{display:flex;flex-direction:column;gap:12px}.pd-tools{display:grid;grid-template-columns:1fr 1fr;gap:4px}.pd-tool{height:30px;padding:0 8px;font-size:.75rem;border:1px solid var(--color-border);border-radius:4px;background:transparent;color:var(--color-text-secondary);cursor:pointer}.pd-tool:hover{background:var(--color-hover-overlay)}.pd-tool.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.pd-hint{font-size:.6875rem;color:var(--color-text-secondary);line-height:1.4;margin:0}.pd-count{padding-top:8px;border-top:1px solid var(--color-border);color:var(--color-text-primary)}.pd-field{display:flex;flex-direction:column;gap:4px}.pd-field label{font-size:.6875rem;color:var(--color-text-secondary)}.pd-field input[type=number],.pd-field select{height:28px;padding:0 6px;font-size:.75rem;background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:4px;color:var(--color-text-primary)}.pd-field-inline label{display:flex;align-items:center;gap:6px;font-size:.75rem;color:var(--color-text-primary)}.pd-actions{display:flex;flex-direction:column;gap:6px;margin-top:4px}.path-drawing-canvas-area{position:relative;width:100%;height:100%;overflow:hidden}.path-drawing-canvas{display:block;cursor:crosshair}.path-drawing-readout{position:absolute;left:12px;bottom:12px;padding:4px 10px;font-size:.6875rem;font-variant-numeric:tabular-nums;color:var(--color-text-secondary);background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:4px;pointer-events:none}.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:var(--color-bg-overlay);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);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:var(--color-bg-hover)}.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:color-mix(in srgb,var(--color-compatible) 20%,transparent);color:var(--color-compatible)}.shape-compat-tab-count.no-compatible{background-color:color-mix(in srgb,var(--color-error) 18%,transparent);color:var(--color-error)}.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:var(--color-bg-overlay);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);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:color-mix(in srgb,var(--color-compatible) 20%,transparent);color:var(--color-compatible)}.shape-panel-count.no-compatible{background-color:color-mix(in srgb,var(--color-error) 18%,transparent);color:var(--color-error)}.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 var(--color-border, #3e3e42)}.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:var(--color-hover-overlay);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:var(--color-bg-hover)}.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:color-mix(in srgb,var(--color-compatible) 20%,transparent);color:var(--color-compatible)}.shape-compat-type-count.no-compatible{background-color:color-mix(in srgb,var(--color-error) 18%,transparent);color:var(--color-error)}.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,.shape-compat-item.incompatible{color:var(--color-text-primary)}.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:var(--color-compatible)}.shape-compat-item.incompatible .shape-compat-icon{color:var(--color-error)}.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,.shape-compat-item.incompatible .shape-compat-dimensions{color:var(--color-text-secondary)}.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-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-3d-toggle{position:absolute;top:12px;right:12px;z-index:20;padding:4px 12px;border:1px solid var(--color-border);border-radius:4px;background:var(--color-bg-overlay);color:var(--color-text-primary);font-size:.75rem;cursor:pointer}.shape-3d-toggle:hover{background:color-mix(in srgb,var(--color-primary) 30%,transparent);border-color:var(--color-primary);color:var(--color-text-accent)}.shape-3d-overlay{position:absolute;inset:0;z-index:15;background:var(--color-bg-primary)}.shape-drawing-controls{display:flex;flex-direction:column;gap:16px;height:100%}.shape-subtabs .tabs-list{justify-content:flex-start;gap:0;margin-bottom:12px}.shape-subtabs .tabs-trigger{height:32px;padding:0 14px;font-size:.75rem}.shape-subtabs .tabs-content{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:color-mix(in srgb,var(--color-primary) 10%,transparent)}.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:color-mix(in srgb,var(--color-primary) 20%,transparent);color:var(--color-primary, #6038d7)}.shape-status.open{background-color:color-mix(in srgb,var(--color-brand-gold) 20%,transparent);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-draw-buttons{display:flex;gap:8px}.shape-toggle{display:flex;align-items:center;gap:var(--spacing-sm, 8px);font-size:var(--font-size-sm, .6875rem);color:var(--text-secondary, #888);cursor:pointer}.shape-toggle input{cursor:pointer}.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(--color-bg-tertiary);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:color-mix(in srgb,var(--color-primary) 10%,transparent)}.shape-boundary-item-row{display:flex;gap:4px}.shape-boundary-remove{padding:6px 10px;background:color-mix(in srgb,var(--color-brand-red) 20%,transparent);border:none;border-radius:4px;color:var(--color-brand-red);font-size:.875rem;font-weight:700;cursor:pointer}.shape-boundary-remove:hover{background:color-mix(in srgb,var(--color-brand-red) 30%,transparent)}.shape-hint{margin:8px 0 0;font-size:.6875rem;color:var(--color-text-secondary);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:color-mix(in srgb,var(--color-brand-red) 15%,transparent);border:1px solid color-mix(in srgb,var(--color-brand-red) 50%,transparent);border-radius:var(--radius-md, 4px);padding:var(--spacing-sm, 8px) var(--spacing-lg, 16px);color:var(--color-brand-red);font-size:var(--font-size-md, .75rem);text-align:center;max-width:600px}.shape-cutouts-content{display:flex;flex-direction:column;gap:12px;padding-top:4px}.cutout-add-flow{display:flex;flex-direction:column;gap:var(--spacing-sm, 8px)}.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:var(--color-text-secondary)}.recommendation-dialog-content{display:flex;flex-direction:column;gap:12px}.recommendation-text{font-size:.8125rem;color:var(--color-text-primary);margin:0;line-height:1.5}.recommendation-info{display:flex;justify-content:space-between;align-items:center;font-size:.8125rem;padding:6px 10px;background:color-mix(in srgb,var(--color-primary) 8%,transparent);border-radius:4px}.info-label{color:var(--color-text-secondary)}.info-value{color:var(--color-text-accent);font-weight:500}.mismatch-warning{display:flex;gap:8px;align-items:flex-start;background:color-mix(in srgb,var(--color-warning) 8%,transparent);border:1px solid color-mix(in srgb,var(--color-warning) 30%,transparent);border-radius:6px;padding:10px 12px}.mismatch-warning .warning-icon{color:var(--color-warning);font-size:.875rem;flex-shrink:0;line-height:1.4}.mismatch-warning .warning-text{font-size:.8125rem;color:var(--color-warning);margin:0;line-height:1.4}.container-selector{display:flex;flex-direction:column;gap:6px}.selector-label{font-size:.8125rem;color:var(--color-text-secondary)}.container-select{background:var(--color-bg-secondary);color:var(--color-text-primary);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:var(--color-text-secondary);margin:0}.mapping-description strong{color:var(--color-primary)}.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:var(--color-success)}.unmatched-count{color:var(--color-warning)}.mapping-layout{display:flex;gap:16px;min-height:200px}.mapping-source-list{width:220px;flex-shrink:0;display:flex;flex-direction:column;background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:6px;overflow:hidden}.source-list-header,.target-grid-header{font-size:.6875rem;color:var(--color-text-secondary);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:var(--color-text-secondary)}.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 var(--color-border);cursor:pointer;transition:background .1s}.source-row:last-child{border-bottom:none}.source-row:hover{background:color-mix(in srgb,var(--color-primary) 6%,transparent)}.source-row.active{background:color-mix(in srgb,var(--color-primary) 12%,transparent);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:var(--color-text-primary)}.source-row.unmapped .source-id{color:var(--color-text-secondary)}.source-target-badge{font-family:var(--font-family-mono);font-size:.6875rem;color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 15%,transparent);padding:1px 6px;border-radius:3px}.source-unassigned{color:var(--color-text-secondary);font-size:.75rem}.source-dropdown{margin-left:auto;background:var(--color-bg-secondary);color:var(--color-text-secondary);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:var(--color-bg-tertiary);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}.wpg-grid{width:100%;border-collapse:separate;border-spacing:2px;table-layout:fixed}.wpg-grid th,.wpg-grid td{padding:0;text-align:center;vertical-align:middle}.wpg-corner,.wpg-grid tbody th{width:14px}.wpg-caption{caption-side:bottom;margin-top:6px;font-size:.5625rem;color:var(--color-text-secondary);text-align:left}.wpg-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.wpg-header{padding:0;min-width:14px;min-height:12px;background:transparent;border:none;border-radius:2px;color:var(--color-text-secondary);font-size:.5625rem;line-height:1;cursor:pointer}.wpg-header:hover{color:var(--color-text-primary);background:var(--color-border)}.wpg-header[aria-pressed=true]{color:var(--color-text-primary);background:var(--color-border);font-weight:600}.wpg-cell{display:block;width:100%;aspect-ratio:1;min-width:0;padding:0;border-radius:50%;border:1px solid var(--color-border);background:color-mix(in srgb,var(--wpg-status) 28%,transparent);cursor:pointer}.wpg-cell-empty{border:none;background:none;cursor:default}.wpg-cell:hover{border-color:var(--color-text-secondary)}.wpg-cell.selected{border-color:var(--color-primary, #6038d7);background:color-mix(in srgb,var(--wpg-status) 55%,transparent)}.wpg-cell.active{border-color:var(--color-text-primary);box-shadow:0 0 0 2px var(--color-primary, #6038d7)}.wpg-cell:focus-visible,.wpg-header:focus-visible,.wpg-chip:focus-visible{outline:2px solid var(--color-primary, #6038d7);outline-offset:1px}.wpg-ungridded{display:flex;flex-wrap:wrap;gap:3px;margin-top:6px}.wpg-chip{height:18px;padding:0 6px;border-radius:9px;border:1px solid var(--color-border);background:color-mix(in srgb,var(--wpg-status) 28%,transparent);color:var(--color-text-primary);font-size:.5625rem;cursor:pointer}.wpg-chip.selected{border-color:var(--color-primary, #6038d7);background:color-mix(in srgb,var(--wpg-status) 55%,transparent)}.wpg-chip.active{box-shadow:0 0 0 2px var(--color-primary, #6038d7)}.wsp{padding:8px 12px;border-bottom:1px solid var(--color-border);background:var(--color-bg-tertiary)}.wsp-header{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.wsp-collapse{display:flex;align-items:center;gap:4px;padding:0;background:none;border:none;color:var(--color-text-primary);cursor:pointer}.wsp-chevron{font-size:.625rem;line-height:1;transition:transform .12s ease}.wsp-chevron.collapsed{transform:rotate(-90deg)}.wsp-title{font-size:.75rem;font-weight:600}.wsp-summary{font-size:.625rem;color:var(--color-text-secondary);text-align:right}.wsp-editing{color:var(--color-primary, #6038d7);font-weight:600}.wsp-actions{display:flex;flex-wrap:wrap;gap:4px;margin:8px 0}.wsp-btn{height:22px;padding:0 8px;background:var(--color-border);border:none;border-radius:3px;color:var(--color-text-primary);font-size:.625rem;cursor:pointer;white-space:nowrap}.wsp-btn:hover:not(:disabled){background:#4e4e52}.wsp-btn:disabled{opacity:.4;cursor:not-allowed}.wsp-btn[aria-pressed=true]{background:var(--color-primary, #6038d7);color:var(--color-text-accent)}.wsp-legend{display:flex;flex-wrap:wrap;gap:4px 10px;margin-top:8px}.wsp-legend-item{display:flex;align-items:center;gap:4px;font-size:.5625rem;color:var(--color-text-secondary)}.wsp-legend-swatch{width:8px;height:8px;border-radius:50%;border:1px solid var(--color-border)}.wsp-legend-anchor{background:transparent;border-color:var(--color-text-primary);box-shadow:0 0 0 1.5px var(--color-primary, #6038d7)}.wsp-hint{margin:6px 0 0;font-size:.625rem;color:var(--color-text-secondary)}button{background-color:transparent;border:none;cursor:pointer;color:var(--color-text-primary, #d4d4d4)}.admin-tab{padding:var(--spacing-xl, 16px);max-width:1600px;margin:0 auto}.admin-tab h1{font-size:var(--font-size-2xl, 1.25rem);font-weight:var(--font-weight-semibold, 600);color:var(--color-text-primary, #d4d4d4);margin-bottom:var(--spacing-xl, 24px)}.admin-warning{background-color:var(--color-bg-secondary, #2d2d30);border:var(--border-width, 1px) solid var(--color-border, #3e3e42);border-radius:var(--radius-md, 4px);padding:var(--spacing-xl, 24px);text-align:center;color:var(--color-text-secondary, #858585)}.admin-section{background-color:var(--color-bg-secondary, #2d2d30);border:var(--border-width, 1px) solid var(--color-border, #3e3e42);border-radius:var(--radius-md, 4px);margin-bottom:var(--spacing-xl, 24px);overflow:hidden}.admin-section-header{display:flex;align-items:center;gap:var(--spacing-sm, 8px);padding:var(--spacing-md, 12px) var(--spacing-lg, 16px);background-color:var(--color-bg-tertiary, #252526);border-bottom:var(--border-width, 1px) solid var(--color-border, #3e3e42)}.admin-section-header h2{font-size:var(--font-size-lg, .875rem);font-weight:var(--font-weight-semibold, 600);color:var(--color-text-primary, #d4d4d4);margin:0;flex:1}.admin-section-actions{display:flex;align-items:center;gap:var(--spacing-sm, 8px)}.loading-spinner{padding:var(--spacing-xl, 24px);text-align:center;color:var(--color-text-secondary, #858585);font-size:var(--font-size-md, .75rem)}.admin-section .data-table-container{padding:var(--spacing-md, 12px)}.text-muted{color:var(--color-text-secondary, #858585);font-style:italic}.admin-id-cell{cursor:pointer;-webkit-user-select:all;user-select:all}.admin-id-cell:hover{text-decoration:underline}.admin-scroll-table{max-height:420px;overflow-y:auto}.admin-sentinel{height:1px}.admin-loading-bar{height:2px;background:transparent;transition:background .15s ease}.admin-loading-bar--active{background:var(--color-border-focus, #6038d7);animation:admin-loading-pulse 1.2s ease-in-out infinite}@keyframes admin-loading-pulse{0%,to{opacity:.3}50%{opacity:1}}.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:var(--color-text-accent);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 color-mix(in srgb,var(--color-warning) 80%,transparent);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}.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;color:var(--color-text-secondary)}.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:var(--color-bg-active)}.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:var(--color-bg-active)}.unit-input-unit-selector:focus{outline:none;border-color:var(--color-primary)}.unit-input-unit-selector:disabled{opacity:.5;cursor:not-allowed}.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-legend{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.extruder-legend-row{display:flex;align-items:center;gap:8px;font-size:.75rem}.extruder-legend-swatch{flex-shrink:0;width:12px;height:12px;border-radius:3px;border:1px solid var(--color-border-light)}.extruder-legend-id{font-weight:600;color:var(--color-text-accent);min-width:24px}.extruder-legend-name{color:var(--color-text-secondary);flex:1;min-width:0}.extruder-legend-type{color:var(--color-text-secondary);font-style:italic}.extruder-legend-row--button{width:100%;background:none;border:none;padding:2px 4px;margin:0;border-radius:3px;cursor:pointer;text-align:left;font:inherit;transition:opacity .12s ease,background .12s ease}.extruder-legend-row--button:hover{background:var(--color-hover-overlay)}.extruder-legend-row--hidden{opacity:.4}.feature-toggle{display:flex;align-items:center;gap:6px;width:100%;padding:6px 10px;border-radius:4px;font-size:.6875rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:all .15s ease;-webkit-user-select:none;user-select:none}.feature-toggle:not(.active){justify-content:center;background:var(--color-bg-tertiary);color:var(--color-text-secondary);border:1px dashed color-mix(in srgb,var(--color-primary) 40%,transparent)}.feature-toggle:not(.active):hover{background:color-mix(in srgb,var(--color-primary) 12%,transparent);color:var(--color-primary);border-color:var(--color-primary)}.feature-toggle-plus{font-size:.875rem;line-height:1}.feature-toggle.active{background:color-mix(in srgb,var(--color-primary) 20%,transparent);border:1px solid transparent;border-left:3px solid var(--color-primary);color:var(--color-primary);cursor:default}.feature-toggle-dot{width:8px;height:8px;border-radius:50%;background:var(--color-primary);flex:0 0 auto}.feature-toggle-label{flex:1 1 auto;overflow:hidden;text-overflow:ellipsis}.feature-toggle-remove{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;background:none;border:none;border-radius:3px;color:var(--color-primary);font-size:.75rem;cursor:pointer;transition:all .15s ease}.feature-toggle-remove:hover{background:color-mix(in srgb,var(--color-error) 25%,transparent);color:var(--color-error)}.feature-toggle:disabled,.feature-toggle-remove:disabled{opacity:.4;cursor:not-allowed}.invalid-extruder-banner{display:flex;align-items:flex-start;gap:12px;padding:12px 16px;background:linear-gradient(135deg,color-mix(in srgb,var(--color-brand-gold) 15%,transparent),color-mix(in srgb,var(--color-brand-red) 10%,transparent));border:1px solid color-mix(in srgb,var(--color-brand-gold) 40%,transparent);border-radius:8px;margin-bottom:12px;position:relative}.banner-icon{flex-shrink:0;width:24px;height:24px;background:var(--color-brand-gold);color:var(--color-brand-navy);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-family:var(--font-family-display);font-weight:600;letter-spacing:.01em;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:var(--color-hover-overlay);border:1px solid var(--color-border-light);border-radius:4px;color:var(--color-text-accent);font-size:.75rem;cursor:pointer;min-width:140px}.banner-select:hover{background:var(--color-bg-hover)}.banner-select:focus{outline:none;border-color:var(--color-brand-gold)}.banner-select option{background:var(--color-brand-navy);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:var(--color-brand-navy)}.banner-button.primary:hover{background:var(--color-brand-gold)}.banner-button.secondary{background:var(--color-hover-overlay);color:var(--color-text-secondary);border:1px solid var(--color-border-light)}.banner-button.secondary:hover{background:var(--color-bg-hover);color:var(--color-text-accent)}.banner-close{position:absolute;top:8px;right:8px;width:20px;height:20px;background:transparent;border:none;color:var(--color-text-secondary);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:var(--color-hover-overlay);color:var(--color-text-accent)}.path-context-menu{position:fixed;z-index:1000;background:var(--color-elevated);border:1px solid var(--color-border);border-radius:6px;box-shadow:0 4px 12px #0006;min-width:200px;padding:8px}.path-context-menu--docked{position:static;inset:auto;z-index:auto;width:100%;min-width:0;max-height:none;border:none;border-radius:0;box-shadow:none;background:transparent;padding:12px}.path-context-menu-back{background:none;border:none;color:var(--color-text-secondary);font-size:.8125rem;font-weight:600;cursor:pointer;padding:2px 4px;border-radius:4px;transition:color .15s,background .15s}.path-context-menu-back:hover{color:var(--color-text-primary);background:var(--color-hover-overlay)}.path-context-menu-title{font-size:.75rem;font-weight:600;color:var(--color-text-secondary)}.path-context-menu-header{display:flex;align-items:center;justify-content:space-between;font-size:.75rem;font-weight:600;color:var(--color-text-secondary);padding:4px 8px 8px;border-bottom:1px solid var(--color-border);margin-bottom:8px}.path-context-menu-close{background:none;border:none;color:var(--color-text-secondary);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:var(--color-text-primary);background:var(--color-hover-overlay)}.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:var(--color-border);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:var(--color-bg-tertiary);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:var(--color-bg-hover);color:var(--color-text-secondary)}.toggle-btn.active{background:color-mix(in srgb,var(--color-primary) 25%,transparent);color:var(--color-primary)}.toggle-btn.active:hover{background:color-mix(in srgb,var(--color-primary) 40%,transparent);color:var(--color-primary)}.toggle-btn.disabled{opacity:.4;cursor:not-allowed}.toggle-indicator.droplet{background-color:var(--color-info)}.toggle-indicator.extrusion-width{background-color:color-mix(in srgb,var(--color-infill) 70%,transparent);border:1px solid var(--color-infill);height:6px}.toggle-indicator.perimeter-extrusion-width{background-color:color-mix(in srgb,var(--color-perimeter) 70%,transparent);border:1px solid var(--color-perimeter);height:6px}.toggle-indicator.overlap,.toggle-indicator.overlap-matrix{background-color:color-mix(in srgb,var(--color-primary) 70%,transparent);border:1px solid var(--color-primary)}.toggle-indicator.overlap-cortex{background-color:color-mix(in srgb,var(--color-success) 60%,transparent);border:1px solid var(--color-success)}.toggle-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}.toggle-indicator.success{background-color:var(--color-success)}.toggle-indicator.warning{background-color:var(--color-warning)}.toggle-indicator.error{background-color:var(--color-error)}.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:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:4px;color:var(--color-text-primary);font-size:.8125rem;font-family:inherit}.filename-input input:focus{outline:none;border-color:var(--color-primary)}.filename-input input::placeholder{color:var(--color-text-secondary)}.speed-preview{display:flex;gap:16px;padding:8px 10px;background:color-mix(in srgb,var(--color-primary) 10%,transparent);border-radius:4px;font-size:.6875rem;color:var(--color-primary)}.capture-settings{display:flex;flex-direction:column;gap:10px}.capture-hint{font-size:.6875rem;color:var(--color-text-secondary);font-style:italic;text-align:center;padding:8px}.export-place-warning{font-size:.6875rem;color:var(--color-warning);background:color-mix(in srgb,var(--color-warning) 12%,transparent);border:1px solid color-mix(in srgb,var(--color-warning) 40%,transparent);border-radius:4px;padding:6px 8px;margin-top:6px}.gcode-profiles-page{color:var(--color-text-primary)}.gcode-profiles-page-header{display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin-bottom:24px}.gcode-profiles-page-title{font-size:1.5rem;font-weight:600;margin:0}.gcode-profiles-page-content{background-color:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:8px;padding:16px 20px}.gcode-profiles-page-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.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}.cce-dialog{--dialog-width: min(90vw, 900px);--dialog-max-height: 90vh}.cce-content{display:flex;flex-direction:column;gap:12px;min-width:0}.cce-mode-selector{display:flex;gap:2px;background:var(--color-bg-primary);border-radius:6px;padding:2px;align-self:flex-start}.cce-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}.cce-mode-btn.active{background:var(--color-border);color:var(--color-text-accent)}.cce-body{display:flex;flex-wrap:wrap;gap:16px;min-height:350px}.cce-settings{flex:0 0 220px;max-width:100%;display:flex;flex-direction:column;gap:8px}.cce-field{display:flex;flex-direction:column;gap:3px}.cce-field label{font-size:.6875rem;color:var(--color-text-secondary)}.cce-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}.cce-field input:focus,.cce-field select:focus{outline:none;border-color:var(--color-primary, #6038d7)}.cce-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}.cce-field-row{display:flex;gap:8px}.cce-field-row .cce-field{flex:1}.cce-hint{font-size:.6875rem;color:var(--color-text-secondary);font-style:italic}.cce-position-list{display:flex;flex-direction:column;gap:2px;max-height:150px;overflow-y:auto}.cce-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}.cce-position-coords{color:var(--color-text-secondary);font-family:var(--font-family-mono);font-size:.625rem;flex:1}.cce-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}.cce-position-remove:hover{color:var(--color-error);background:color-mix(in srgb,var(--color-error) 13%,transparent)}.cce-position-item.selected{background:var(--color-border);outline:1px solid var(--color-primary)}.cce-align-toolbar{display:flex;align-items:center;gap:4px;padding:6px 8px;background:color-mix(in srgb,var(--color-primary) 10%,transparent);border:1px solid color-mix(in srgb,var(--color-primary) 30%,transparent);border-radius:4px;margin-top:4px}.cce-align-label{font-size:.625rem;color:var(--color-text-secondary);margin-right:4px}.cce-align-btn{padding:2px 6px;font-size:.625rem;background:var(--color-hover-overlay);color:var(--color-text-primary);border:1px solid var(--color-border-light);border-radius:3px;cursor:pointer}.cce-align-btn:hover{background:var(--color-bg-hover)}.cce-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}.cce-position-edit-title{font-size:.6875rem;color:var(--color-primary);font-weight:500}.cce-shape-toggle{display:flex;gap:2px;background:var(--color-bg-primary);border-radius:4px;padding:2px}.cce-preview{flex:1 1 320px;min-width:0;display:flex;flex-direction:column;gap:4px}.cce-preview-svg{flex:1;border:1px solid var(--color-border);border-radius:4px;cursor:crosshair;min-height:300px}.cce-preview-info{font-size:.6875rem;color:var(--color-text-secondary);text-align:center}.cce-warning{font-size:.6875rem;color:var(--color-warning);text-align:center}.cce-error{font-size:.6875rem;color:var(--color-error);text-align:center;padding:6px 8px;background:color-mix(in srgb,var(--color-error) 9%,transparent);border-radius:4px}.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-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-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}.layer-loupe{position:absolute;right:calc(100% + 4px);top:50%;transform:translateY(-50%);z-index:var(--z-dropdown, 10);display:flex;flex-direction:column;gap:var(--spacing-xs, 4px);padding:var(--spacing-xs, 4px);background-color:var(--color-bg-overlay, rgba(30, 30, 34, .97));border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md, 4px);box-shadow:var(--shadow-md, 0 2px 8px rgba(0, 0, 0, .4))}.layer-loupe-header{display:flex;align-items:center;gap:var(--spacing-xs, 4px);padding:0 var(--spacing-xs, 4px);white-space:nowrap}.layer-loupe-swatch{width:10px;height:10px;border-radius:var(--radius-sm, 2px);flex-shrink:0}.layer-loupe-num{font-size:var(--font-size-xs, .625rem);font-weight:var(--font-weight-semibold, 600);color:var(--color-text-primary);font-variant-numeric:tabular-nums}.layer-loupe-label{font-size:var(--font-size-xs, .625rem);color:var(--color-text-secondary);max-width:132px;overflow:hidden;text-overflow:ellipsis}.layer-loupe-bands{display:flex;flex-direction:column}.layer-loupe-band{width:132px;height:18px;display:flex;align-items:center;gap:var(--spacing-xs, 4px);padding:0 var(--spacing-sm, 8px);border:none;border-top:1px solid rgba(0,0,0,.25);color:#fff;font-size:var(--font-size-xs, .625rem);font-variant-numeric:tabular-nums;text-align:left;text-shadow:0 1px 1px rgba(0,0,0,.6);cursor:pointer}.layer-loupe-band:first-child{border-top:none}.layer-loupe-band:hover{filter:brightness(1.15)}.layer-loupe-band.current{box-shadow:inset 3px 0 #fff,inset 4px 0 #0000008c}.layer-loupe-band.center{outline:2px solid var(--color-primary-light);outline-offset:-2px;font-weight:var(--font-weight-semibold, 600)}.layer-stack-strip-wrap{position:relative;display:flex}.layer-stack-strip{position:relative;display:flex;flex-direction:column-reverse;width:14px;height:200px;gap:1px;margin-right:var(--spacing-xs, 4px)}.layer-stack-row{flex-basis:0;min-height:2px;padding:0;background:var(--color-border-light, #555);border:1px solid var(--color-border, #3e3e42);border-radius:var(--radius-sm, 2px);cursor:pointer;transition:filter .12s ease,border-color .12s ease}.layer-stack-row:hover{filter:brightness(1.4)}.layer-stack-row.current{position:relative;z-index:1;box-shadow:0 0 0 1.5px #fff,0 0 0 3px #0009}.layer-stack-hover-marker{position:absolute;left:-3px;right:1px;height:2px;background:var(--color-text-primary);box-shadow:0 0 3px var(--color-bg-overlay, rgba(0, 0, 0, .5));pointer-events:none}.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:var(--spacing-sm, 8px);left:var(--spacing-sm, 8px);z-index:10;display:flex;flex-direction:row;align-items:center;gap:var(--spacing-md, 12px);flex-wrap:wrap}.viewer-cluster{display:flex;flex-direction:row;align-items:center;gap:var(--spacing-xs, 4px)}.viewer-segment{display:flex;padding:2px;gap:2px;margin:0;min-width:0;background:var(--color-bg-overlay);border:1px solid var(--color-border-light);border-radius:var(--radius-md, 6px)}.viewer-sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.viewer-segment-btn{padding:2px 10px;background:transparent;border:none;border-radius:var(--radius-sm, 4px);color:var(--color-text-secondary);font-size:var(--font-size-xs, .6875rem);line-height:1.6;cursor:pointer;transition:background .15s ease,color .15s ease;white-space:nowrap}.viewer-segment-btn:hover:not(.active){color:var(--color-text-primary);background:var(--color-border)}.viewer-segment-btn.active{background:var(--color-primary);color:var(--color-text-accent)}.viewer-toggle{display:flex;align-items:center;gap:var(--spacing-xs, 4px);padding:3px 10px;background:var(--color-bg-overlay);border:1px solid var(--color-border-light);border-radius:var(--radius-md, 6px);color:var(--color-text-secondary);font-size:var(--font-size-xs, .6875rem);line-height:1.4;cursor:pointer;transition:all .15s ease;white-space:nowrap}.viewer-toggle:hover:not(:disabled){color:var(--color-text-primary);border-color:var(--color-primary-light)}.viewer-toggle.active{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-text-accent)}.viewer-action{padding:3px 10px;background:transparent;border:1px solid var(--color-border-light);border-radius:var(--radius-md, 6px);color:var(--color-text-secondary);font-size:var(--font-size-xs, .6875rem);line-height:1.4;cursor:pointer;transition:all .15s ease;white-space:nowrap}.viewer-action:hover:not(:disabled){color:var(--color-primary-light);border-color:var(--color-primary-light)}.viewer-toggle:disabled,.viewer-action:disabled,.viewer-segment-btn:disabled{opacity:.4;cursor:not-allowed}.viewer-toggle:focus-visible,.viewer-action:focus-visible,.viewer-segment-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}.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:var(--color-bg-overlay);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid var(--color-border);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:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px}.position-selector-active{font-size:.6875rem;color:var(--color-text-secondary)}.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:var(--color-border);stroke-width:.5;transition:stroke .15s}.position-well-outline:hover{stroke:var(--color-border-light)}.position-well-outline.active{stroke:var(--color-text-primary);stroke-width:1.5;filter:drop-shadow(0 0 3px color-mix(in srgb,var(--color-text-primary) 40%,transparent))}.position-well-outline.selected{stroke:var(--color-primary);stroke-width:1}.position-model-outline{pointer-events:none;fill:none;stroke:var(--color-border);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:var(--color-text-secondary)}.position-row-label:hover text,.position-col-label:hover text{fill:var(--color-text-primary)}.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)}.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}.export-tab-link{margin-top:8px;padding:0;border:none;background:none;color:var(--color-accent, #4a90d9);font-size:.75rem;cursor:pointer}.export-tab-link:hover{text-decoration:underline}.print-order-popout{display:flex;flex-direction:column;gap:12px;min-width:280px;max-width:320px}.print-order-popout-hint{font-size:.7rem;color:var(--color-text-secondary)}.file-upload{display:flex;flex-direction:column;gap:6px;position:relative;transition:border-color .15s}.file-upload.dragging{border:2px dashed var(--color-primary);border-radius:8px;padding:8px}.file-upload-buttons{display:grid;grid-template-columns:1fr 1fr;gap:6px}.file-upload-buttons>*{min-width:0}.file-upload-hint{font-size:.6875rem;color:var(--color-text-secondary);text-align:center}.drop-overlay{position:absolute;inset:0;background:color-mix(in srgb,var(--color-primary) 15%,transparent);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:var(--color-primary)}.drop-hint{font-size:.75rem;color:var(--color-text-secondary)}.file-peek{display:flex;align-items:center;gap:8px;padding:6px 10px;background:color-mix(in srgb,var(--color-primary) 8%,transparent);border:1px solid color-mix(in srgb,var(--color-primary) 25%,transparent);border-radius:4px;font-size:.75rem}.file-peek-name{color:var(--color-text-primary);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:color-mix(in srgb,var(--color-success) 15%,transparent);color:var(--color-success);padding:1px 6px;border-radius:3px;font-size:.625rem;flex-shrink:0}.geometry-tab{display:flex;flex-direction:column;gap:24px}.geometry-subtabs>.tabs-list{justify-content:stretch;gap:4px;margin:8px 0 4px}.geometry-subtabs>.tabs-list .tabs-trigger{flex:1;height:30px;padding:0 12px;font-size:.75rem}.geometry-subtabs>.tabs-list .tabs-trigger:disabled{opacity:.4;cursor:not-allowed}.geometry-subtabs>.tabs-content{display:flex;flex-direction:column;gap:12px;padding-top:8px}.add-method-picker>.tabs-list{justify-content:stretch;gap:4px;margin:4px 0 8px}.add-method-picker>.tabs-list .tabs-trigger{flex:1;height:28px;padding:0 10px;font-size:.75rem}.add-method-picker>.tabs-content{display:flex;flex-direction:column;gap:6px}.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:8px;display:flex;flex-direction:column;gap:6px;padding:8px;background:color-mix(in srgb,var(--color-primary) 5%,transparent);border:1px solid color-mix(in srgb,var(--color-primary) 20%,transparent);border-radius:4px}.shape-generator-section .settings-divider,.geometry-group .settings-divider{padding-bottom:2px;margin-bottom:0}.geometry-group{display:flex;flex-direction:column;gap:6px;margin-top:8px;padding:8px;background:color-mix(in srgb,var(--color-primary) 5%,transparent);border:1px solid color-mix(in srgb,var(--color-primary) 20%,transparent);border-radius:4px}.shape-parameters,.button-group{display:flex;flex-direction:column;gap:6px}.error-message{margin-top:8px;padding:8px 12px;background:color-mix(in srgb,var(--color-error) 10%,transparent);border:1px solid color-mix(in srgb,var(--color-error) 30%,transparent);border-radius:4px;color:var(--color-error);font-size:.8125rem}.drawn-shape-info{padding:8px 12px;background:color-mix(in srgb,var(--color-success) 10%,transparent);border:1px solid color-mix(in srgb,var(--color-success) 30%,transparent);border-radius:4px;color:var(--color-success);font-size:.75rem;text-align:center}.model-transform-section{display:flex;flex-direction:column;gap:6px}.model-transform-target{margin:0 0 4px;font-size:.625rem;color:var(--color-text-secondary)}.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:6px;align-items:end}.input-row-pair>*{min-width:0}.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:var(--color-bg-hover);color:var(--color-text-primary)}.scale-mode-btn.active{background:color-mix(in srgb,var(--color-primary) 20%,transparent);color:var(--color-primary)}.rotation-axis-row{display:flex;align-items:flex-end;gap:6px}.rotation-axis-row>:first-child{flex:1;min-width:0}.rotation-axis-buttons{display:flex;gap:4px}.rotation-snap-btn{background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:3px;color:var(--color-text-secondary);font-size:.6875rem;padding:4px 6px;cursor:pointer;white-space:nowrap}.rotation-snap-btn:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.rotation-flip-row{display:flex;align-items:center;gap:6px}.rotation-flip-label{font-size:.6875rem;color:var(--color-text-secondary)}.rotation-flip-row .scale-mode-btn{border:1px solid var(--color-border);border-radius:4px;flex:1}.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:var(--color-text-primary);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:var(--color-text-primary);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-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:color-mix(in srgb,var(--color-primary) 20%,transparent);color:var(--color-primary)}.toolhead-type-badge.camera{background:color-mix(in srgb,var(--color-success) 20%,transparent);color:var(--color-success)}.toolhead-type-badge.sensor{background:color-mix(in srgb,var(--color-warning) 20%,transparent);color:var(--color-warning)}.toolhead-type-badge.none{background:#80808033;color:var(--color-text-secondary)}.layer-pattern-settings{display:flex;flex-direction:column;gap:var(--spacing-sm, 6px)}.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:2px;border-bottom:1px solid var(--color-primary, #6038d7);margin-bottom:0}.groups-list{display:flex;flex-direction:column;gap:var(--spacing-xs, 6px)}.group-row{display:flex;flex-direction:column;gap:var(--spacing-xs, 4px);padding:6px;background:var(--color-bg-tertiary);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:color-mix(in srgb,var(--color-primary) 20%,transparent);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:color-mix(in srgb,var(--color-brand-red) 20%,transparent);color:var(--color-brand-red)}.group-remove-btn:disabled{opacity:.3;cursor:not-allowed}.group-settings-row{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:var(--spacing-xs, 6px)}.group-settings-row>*{min-width:0}.layer-height-status{display:flex;align-items:center;gap:var(--spacing-xs, 6px);margin-top:0;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:color-mix(in srgb,var(--color-info) 10%,transparent)}.layer-height-status .status-text.manual{color:var(--color-warning, #eac653);background:color-mix(in srgb,var(--color-warning) 10%,transparent)}.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:color-mix(in srgb,var(--color-info) 10%,transparent);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:color-mix(in srgb,var(--color-primary) 10%,transparent);border-color:var(--color-primary, #6038d7);color:var(--color-primary, #6038d7)}.layer-preview{margin-top:var(--spacing-sm, 8px);padding:var(--spacing-sm, 8px);background:var(--color-bg-tertiary);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)}.lhp-field{display:flex;flex-direction:column;gap:3px;min-width:0}.lhp-field-label{font-size:var(--font-size-xs, .625rem);color:var(--color-text-secondary, #888);text-transform:uppercase;letter-spacing:.4px}.lhp-toggle{display:flex;gap:2px;background:var(--color-bg-tertiary);border-radius:var(--radius-md, 4px);padding:2px}.lhp-toggle-btn{flex:1;min-width:0;padding:3px 5px;background:transparent;border:1px solid transparent;border-radius:var(--radius-sm, 3px);color:var(--color-text-secondary, #888);font-size:var(--font-size-sm, .6875rem);cursor:pointer;transition:all .15s ease}.lhp-toggle-btn:hover:not(:disabled):not(.active){color:var(--color-text-primary, #ccc);background:color-mix(in srgb,var(--color-primary) 10%,transparent)}.lhp-toggle-btn.active{background:var(--color-primary, #6038d7);color:var(--color-text-accent)}.lhp-toggle-btn:disabled{opacity:.35;cursor:not-allowed}.lhp-hint{font-size:var(--font-size-xs, .625rem);color:var(--color-text-secondary, #888);line-height:1.4}.uniform-config{display:flex;flex-direction:column;gap:var(--spacing-xs, 6px)}.lhp-pair-row{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:var(--spacing-xs, 6px)}.lhp-pair-row>*{min-width:0}.uniform-config .model-height-info{font-size:var(--font-size-xs, .625rem);color:var(--color-text-secondary, #888);padding:0}.lhp-inline-action{padding:0;background:none;border:none;color:var(--color-warning, #eac653);font-size:inherit;font-weight:var(--font-weight-semibold, 600);text-decoration:underline;cursor:pointer}.lhp-inline-action:hover{filter:brightness(1.2)}.reslice-reminder{font-size:var(--font-size-xs, .625rem);color:var(--color-warning, #eac653);background:color-mix(in srgb,var(--color-warning) 10%,transparent);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)}.lhp-tiling{display:flex;flex-direction:column;gap:1px;padding:var(--spacing-xs, 4px) var(--spacing-sm, 8px);background:color-mix(in srgb,var(--color-primary) 6%,transparent);border-left:2px solid color-mix(in srgb,var(--color-primary) 55%,transparent);border-radius:var(--radius-sm, 3px)}.lhp-tiling-line{font-size:var(--font-size-xs, .625rem);color:var(--color-text-secondary, #888);line-height:1.5}.lhp-tiling-line.strong{color:var(--color-text-primary, #ccc);font-weight:500}.lhp-remainder{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm, 8px);line-height:1.4}.lhp-remainder-actions{display:flex;flex-shrink:0;gap:4px}.lhp-remainder .reload-material-btn{flex-shrink:0;white-space:nowrap}.slice-warnings{margin:var(--spacing-xs, 6px) 0 0;padding:var(--spacing-xs, 4px) var(--spacing-sm, 8px) var(--spacing-xs, 4px) var(--spacing-md, 20px);list-style:disc;font-size:var(--font-size-xs, .625rem);line-height:1.5;color:var(--color-warning, #eac653);background:color-mix(in srgb,var(--color-warning) 10%,transparent);border-left:2px solid var(--color-warning, #eac653);border-radius:var(--radius-sm, 3px)}.slice-warnings li+li{margin-top:2px}.channel-draw-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.channel-draw-popup{width:360px;max-width:92vw;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:6px;box-shadow:0 8px 32px #00000080;display:flex;flex-direction:column;gap:8px;padding:12px;color:var(--color-text-primary)}.channel-draw-header{display:flex;align-items:center;justify-content:space-between;font-size:.8125rem;font-weight:600}.channel-draw-close,.channel-draw-del{background:none;border:none;color:var(--color-text-secondary);cursor:pointer;font-size:.75rem}.channel-draw-close:hover,.channel-draw-del:hover{color:var(--color-error)}.channel-draw-tools{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}.channel-draw-tool{padding:5px 6px;background:var(--color-bg-tertiary);border:1px solid transparent;border-radius:4px;color:var(--color-text-secondary);font-size:.6875rem;font-weight:600;cursor:pointer}.channel-draw-tool.active{background:color-mix(in srgb,var(--color-primary) 25%,transparent);border-color:var(--color-primary);color:var(--color-primary)}.channel-draw-hint{font-size:.625rem;color:var(--color-text-secondary);font-style:italic}.channel-draw-svg{width:100%;aspect-ratio:1 / 1;background:#00000040;border:1px solid var(--color-border);border-radius:4px;cursor:crosshair;touch-action:none}.channel-draw-cortex{fill:color-mix(in srgb,var(--color-primary) 6%,transparent);stroke:var(--color-primary);stroke-width:1.5}.channel-draw-channel{fill:none;stroke:#ff7b54;stroke-width:2.5;stroke-linecap:round}.channel-draw-preview{fill:none;stroke:#ffb38a;stroke-width:2;stroke-dasharray:4 3}.channel-draw-node{fill:#ffb38a}.channel-draw-list{display:flex;flex-direction:column;gap:2px;max-height:110px;overflow-y:auto;font-size:.6875rem}.channel-draw-empty{color:var(--color-text-secondary);font-style:italic}.channel-draw-list-row{display:flex;align-items:center;justify-content:space-between;padding:2px 4px;border-radius:3px}.channel-draw-list-row:hover{background:var(--color-hover-overlay)}.channel-draw-footer{display:flex;justify-content:space-between;gap:8px}.channel-draw-clear,.channel-draw-done{padding:6px 12px;border-radius:4px;font-size:.6875rem;font-weight:600;cursor:pointer;border:1px solid var(--color-border)}.channel-draw-clear{background:none;color:var(--color-text-secondary)}.channel-draw-clear:disabled{opacity:.4;cursor:not-allowed}.channel-draw-done{background:color-mix(in srgb,var(--color-primary) 25%,transparent);border-color:var(--color-primary);color:var(--color-primary)}.droplet-popup-overlay{position:fixed;inset:0;background:var(--color-bg-overlay);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:var(--color-elevated);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:var(--color-text-secondary);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:var(--color-primary-hover)}.layer-pattern-overlay{position:fixed;inset:0;background:var(--color-bg-overlay);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:var(--color-elevated);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:var(--color-text-secondary);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:var(--color-text-secondary);font-size:13px}.layer-pattern-enable-btn{margin-top:12px;background:var(--color-primary);color:var(--color-text-accent);border:none;border-radius:4px;padding:8px 20px;cursor:pointer;font-size:13px}.layer-pattern-enable-btn:hover{background:var(--color-primary-hover)}.layer-pattern-groups{display:flex;flex-direction:column;gap:4px}.layer-pattern-group{border-left:3px solid var(--color-primary);padding:8px 12px;background:var(--color-elevated);border-radius:0 4px 4px 0;cursor:pointer}.layer-pattern-group:hover{background:var(--color-bg-hover)}.layer-pattern-group.active{background:var(--color-bg-selected)}.layer-pattern-section{display:flex;flex-direction:column;gap:4px;margin-top:8px}.layer-pattern-rotate-row{display:flex;align-items:flex-end;gap:8px}.layer-pattern-rotate-row>:first-child{flex:1}.layer-pattern-unit{display:flex;flex-direction:column;gap:2px}.layer-pattern-unit-slot{display:flex;align-items:center;gap:4px;padding:2px 6px;border-left:3px solid}.layer-pattern-unit-slot .layer-pattern-custom-select{flex:1}.layer-pattern-unit-slot.current{background:var(--color-bg-selected);outline:1px solid var(--color-primary);outline-offset:-1px}.layer-pattern-slot-btn{background:none;border:none;color:var(--color-text-secondary);cursor:pointer;font-size:12px;padding:0 2px;line-height:1}.layer-pattern-slot-btn:hover:not(:disabled){color:var(--color-text-primary)}.layer-pattern-slot-btn:disabled{color:var(--color-border-light);cursor:default}.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:var(--color-bg-primary);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:var(--color-text-secondary);font-size:11px;flex:1;text-align:right}.layer-pattern-group-dup{background:none;border:none;color:var(--color-text-secondary);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:var(--color-bg-tertiary);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:color-mix(in srgb,var(--color-primary) 15%,transparent);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:var(--color-text-disabled);width:24px}.layer-pattern-preview-name{font-weight:500}.layer-pattern-preview-row.override,.layer-pattern-custom-row.override{background:color-mix(in srgb,var(--color-brand-red) 10%,transparent);border-left-style:dashed}.layer-pattern-override-badge{color:var(--color-brand-red);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:var(--color-bg-primary);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:var(--color-brand-red);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:var(--color-text-disabled);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:var(--color-text-secondary);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:var(--color-border-light)}.layer-pattern-sequence{margin-top:16px;padding-top:12px;border-top:1px solid var(--color-border)}.layer-pattern-sequence-label{color:var(--color-text-secondary);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:var(--color-text-secondary);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:var(--color-hover-overlay)}.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 var(--color-brand-red);color:var(--color-brand-red);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:var(--color-primary);color:var(--color-text-accent);border:none;border-radius:4px;padding:6px 16px;cursor:pointer;font-size:12px}.layer-pattern-apply-btn:hover{background:var(--color-primary-hover)}.pattern-popup-panel{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:360px;max-width:92vw;max-height:85vh;background:var(--color-elevated);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}.pattern-popup-body{flex:1;overflow-y:auto;padding:12px 16px;display:flex;flex-direction:column;gap:var(--spacing-sm, 8px)}.layer-pattern-inline{display:flex;flex-direction:column;gap:8px}.layer-pattern-inline-label{color:var(--color-text-secondary, #999);font-size:11px;font-weight:600}.layer-pattern-inline-subhead{color:var(--color-text-secondary, #999);font-size:11px;margin-top:2px}.layer-pattern-inline-hint{color:var(--color-text-secondary, #888);font-size:11px;font-style:italic}.layer-pattern-inline .layer-pattern-mode-toggle{margin-bottom:0}.layer-pattern-inline .layer-pattern-mode-btn{padding:6px 8px;font-size:12px}.layer-pattern-legend{display:flex;flex-direction:column;gap:2px}.layer-pattern-legend-item{display:flex;justify-content:space-between;align-items:center;gap:8px;border-left:3px solid;padding:2px 8px;font-size:11px;font-weight:600}.layer-pattern-legend-summary{color:var(--color-text-secondary, #999);font-weight:400}.layer-pattern-active-indicator{border-left:3px solid;padding:4px 8px;background:var(--color-elevated);border-radius:0 4px 4px 0;font-size:11px;color:var(--color-text-secondary)}.layer-pattern-inline .layer-pattern-submode-toggle{margin-top:4px}.layer-pattern-inline .layer-pattern-submode-toggle .layer-pattern-mode-btn{padding:4px 6px;font-size:11px}.layer-pattern-assignment-counts{display:flex;flex-wrap:wrap;gap:4px 10px;font-size:11px;color:var(--color-text-secondary, #999)}.layer-pattern-assignment-count{display:inline-flex;align-items:center;gap:5px}.layer-pattern-assignment-swatch{width:8px;height:8px;border-radius:2px;flex-shrink:0}.layer-stack-popout-overlay{position:fixed;inset:0;background:var(--color-bg-overlay);z-index:600}.layer-stack-popout{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:720px;max-width:90vw;height:70vh;background:var(--color-elevated);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}.layer-stack-popout-side{width:280px;min-width:280px;display:flex;flex-direction:column;gap:10px;padding:14px;overflow:hidden;border-right:1px solid var(--color-border)}.layer-stack-popout-title{color:var(--color-text-primary);font-size:13px;font-weight:600}.layer-stack-popout-caption{color:var(--color-text-secondary);font-size:11px;line-height:1.5}.layer-stack-popout-legend{display:flex;flex-direction:column;gap:4px;overflow-y:auto;flex:1;min-height:0}.layer-stack-popout-type{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:6px 8px;border:1px solid var(--color-border);border-left-width:3px;border-left-style:solid;border-radius:0 4px 4px 0;background:var(--color-bg-canvas);color:var(--color-text-primary);font-size:11px;text-align:left}button.layer-stack-popout-type{cursor:pointer}button.layer-stack-popout-type:hover{border-color:var(--color-primary)}button.layer-stack-popout-type.active{background:color-mix(in srgb,var(--color-primary) 22%,transparent);border-color:var(--color-primary)}.layer-stack-popout-type-name{font-weight:600}.layer-stack-popout-type-count{color:var(--color-text-secondary)}.layer-stack-popout-footer{display:flex;gap:8px}.layer-stack-popout-btn{flex:1;padding:6px 10px;border:1px solid var(--color-border);border-radius:4px;background:none;color:var(--color-text-primary);font-size:12px;cursor:pointer}.layer-stack-popout-btn:hover:not(:disabled){border-color:var(--color-primary)}.layer-stack-popout-btn.primary{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.layer-stack-popout-btn:disabled{opacity:.5;cursor:default}.layer-stack-popout-stack{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px;padding:12px;overflow-y:auto;background:var(--color-bg-canvas);border-radius:0 8px 8px 0}.layer-stack-popout-bar{display:flex;align-items:center;flex-basis:0;min-height:6px;padding:0 8px;border:none;border-radius:2px;font-size:10px;text-align:left;cursor:pointer;overflow:hidden}.layer-stack-popout-bar.current{outline:2px solid var(--color-text-primary);outline-offset:-2px}.layer-stack-popout-bar.unit-start{box-shadow:inset 0 2px #ffffff8c}.layer-stack-popout-bar-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:600}.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)}.matrix-settings-group{display:flex;flex-direction:column;gap:var(--spacing-sm, 8px);padding-top:var(--spacing-sm, 8px);border-top:1px solid var(--color-border)}.matrix-settings-heading{margin:0 0 var(--spacing-xs, 4px) 0;font-size:.8125rem;font-weight:600;color:var(--color-text-primary)}.droplet-grid-settings{display:flex;flex-direction:column;gap:var(--spacing-sm, 8px);padding:var(--spacing-sm, 8px);background:color-mix(in srgb,var(--color-info) 10%,transparent);border-radius:var(--radius-md, 4px);border-left:3px solid var(--color-info)}.droplet-count-badge{display:inline-flex;align-items:center;justify-content:center;padding:var(--spacing-xs, 4px) var(--spacing-sm, 8px);background:color-mix(in srgb,var(--color-info) 20%,transparent);border-radius:var(--radius-sm, 3px);font-size:var(--font-size-sm, .6875rem);font-weight:var(--font-weight-semibold, 600);color:var(--color-info)}.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:color-mix(in srgb,var(--color-primary) 10%,transparent);border-radius:var(--radius-md, 4px);border-left:3px solid var(--color-primary)}.settings-divider{display:flex;align-items:center;justify-content:space-between;padding-bottom:var(--spacing-xs, 4px);border-bottom:1px solid color-mix(in srgb,var(--color-primary) 30%,transparent);font-size:var(--font-size-sm, .6875rem);font-weight:var(--font-weight-semibold, 600);color:var(--color-eyebrow)}.linear-settings{display:flex;flex-direction:column;gap:var(--spacing-sm, 8px);margin-top:var(--spacing-xs, 4px);padding:var(--spacing-sm, 8px);background:color-mix(in srgb,var(--color-primary) 10%,transparent);border-radius:var(--radius-md, 4px);border-left:3px solid var(--color-primary)}.linear-settings .settings-divider{border-bottom-color:color-mix(in srgb,var(--color-primary) 30%,transparent);color:var(--color-eyebrow)}.linear-info{font-size:var(--font-size-xs, .625rem);color:var(--color-text-secondary);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:color-mix(in srgb,var(--color-brand-gold) 10%,transparent);border-radius:var(--radius-md, 4px);border-left:3px solid var(--color-brand-gold)}.dual-lines-settings .settings-divider{border-bottom-color:color-mix(in srgb,var(--color-brand-gold) 30%,transparent);color:var(--color-brand-gold)}.channel-layer-settings{display:flex;flex-direction:column;gap:var(--spacing-xs, 6px)}.channel-section{display:flex;flex-direction:column;gap:4px}.channel-heading{font-size:.8125rem;font-weight:600;color:var(--color-text-primary)}.channel-draw-btn{width:100%;padding:5px 8px;background:color-mix(in srgb,var(--color-primary) 15%,transparent);border:1px solid var(--color-primary);border-radius:4px;color:var(--color-primary);font-size:.6875rem;font-weight:600;cursor:pointer}.channel-draw-btn:hover{background:color-mix(in srgb,var(--color-primary) 28%,transparent)}.channel-quantity{font-size:.625rem;color:var(--color-text-secondary)}.channel-row{display:grid;grid-template-columns:1fr 1fr;gap:6px;align-items:end}.channel-layer-settings .number-input-field,.channel-layer-settings .unit-input-field{min-width:0}.channel-layer-settings .number-input-button,.channel-layer-settings .unit-input-button{width:24px;padding:0}.channel-row .toggle-btn{width:100%;justify-content:center}.settings-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-sm, 8px)}.path-gen-subtabs .settings-row{grid-template-columns:1fr}.path-gen-subtabs .tabs-trigger{flex:1;height:auto;min-height:40px;padding:6px 4px;white-space:normal;line-height:1.15;text-align:center;font-size:.8125rem}.path-gen-subtabs .tabs-content{flex-direction:column;justify-content:flex-start}.cortex-ring-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-sm, 8px)}.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:var(--color-text-secondary);margin:0}.import-summary{background:color-mix(in srgb,var(--color-primary) 8%,transparent);border:1px solid color-mix(in srgb,var(--color-primary) 25%,transparent);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:var(--color-text-secondary)}.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:color-mix(in srgb,var(--color-warning) 8%,transparent);border:1px solid color-mix(in srgb,var(--color-warning) 30%,transparent);border-radius:6px;padding:10px 12px}.import-warning .warning-icon{color:var(--color-warning);font-size:.875rem;flex-shrink:0;line-height:1.4}.import-warning .warning-text{font-size:.75rem;color:var(--color-warning);margin:0;line-height:1.4}.classification-summary{background:var(--color-bg-secondary);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:var(--color-text-secondary);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:color-mix(in srgb,var(--color-brand-red) 10%,transparent);border:1px solid color-mix(in srgb,var(--color-brand-red) 30%,transparent)}.stat-item.matrix{background:color-mix(in srgb,var(--color-brand-gold) 10%,transparent);border:1px solid color-mix(in srgb,var(--color-brand-gold) 30%,transparent)}.stat-item.droplet{background:color-mix(in srgb,var(--color-primary) 10%,transparent);border:1px solid color-mix(in srgb,var(--color-primary) 30%,transparent)}.stat-icon{font-size:.875rem;width:20px;text-align:center}.stat-item.cortex .stat-icon{color:var(--color-brand-red)}.stat-item.matrix .stat-icon{color:var(--color-brand-gold)}.stat-item.droplet .stat-icon{color:var(--color-primary)}.stat-count{font-weight:600;color:var(--color-text-accent);min-width:32px}.stat-label{color:var(--color-text-secondary)}.classification-hint{font-size:.6875rem;color:var(--color-text-secondary);margin:0;font-style:italic}.import-warnings-banner{background:color-mix(in srgb,var(--color-warning) 8%,transparent);border:1px solid color-mix(in srgb,var(--color-warning) 30%,transparent);border-radius:6px;padding:8px 12px}.warnings-header{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:.8125rem;color:var(--color-warning);-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:var(--color-warning);line-height:1.6}.multi-position-summary{background:var(--color-bg-secondary);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:color-mix(in srgb,var(--color-success) 10%,transparent);border:1px solid color-mix(in srgb,var(--color-success) 30%,transparent)}.position-stats .stat-item.skipped{background:color-mix(in srgb,var(--color-error) 10%,transparent);border:1px solid color-mix(in srgb,var(--color-error) 30%,transparent)}.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:color-mix(in srgb,var(--color-success) 15%,transparent);color:var(--color-success)}.position-tag.skipped{background:color-mix(in srgb,var(--color-error) 15%,transparent);color:var(--color-error)}.position-tag.more{background:var(--color-bg-tertiary);color:var(--color-text-secondary)}.position-layers{font-size:.625rem;opacity:.7}.skipped-label{font-size:.75rem;color:var(--color-text-secondary);margin-right:4px}.position-overflow-warning{display:flex;align-items:center;gap:6px;font-size:.75rem;color:var(--color-warning)}.metadata-recovery{background:var(--color-bg-secondary);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:color-mix(in srgb,var(--color-success) 12%,transparent);color:var(--color-success);text-transform:capitalize}.layer-preview{background:var(--color-bg-secondary);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:var(--color-text-secondary)}.review-actions{display:flex;flex-direction:column;gap:8px;margin-top:8px}.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:var(--color-bg-overlay);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:var(--color-bg-tertiary);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 var(--color-border)}.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:var(--color-text-disabled);font-size:.625rem}.metrics-summary-total{padding-top:4px;border-top:1px solid var(--color-border)}.metrics-summary-total .metrics-summary-value{color:var(--color-text-accent);font-weight:600}.metrics-time{color:var(--color-primary)}.metrics-travel{color:var(--color-warning)}.metrics-volume{color:var(--color-primary)}.metrics-distance{color:var(--color-text-secondary)}.metrics-table-header{display:flex;align-items:center;gap:6px;padding:0 0 2px;font-size:.5625rem;color:var(--color-text-disabled)}.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:var(--color-warning)}.metrics-travel-speed{color:var(--color-text-disabled);font-size:.625rem}.metrics-savings{font-size:.6875rem;color:var(--color-success);padding:4px 0}.metrics-savings-detail{color:var(--color-success);font-size:.625rem;margin-left:6px}.metrics-selection{background:color-mix(in srgb,var(--color-primary) 5%,transparent);border-radius:4px;padding:8px;margin:0 -4px}.metrics-selection .metrics-section-label{color:var(--color-primary);border-bottom-color:color-mix(in srgb,var(--color-primary) 20%,transparent)}.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:var(--color-border);border-radius:2px}.metrics-panel-content::-webkit-scrollbar-thumb:hover{background:var(--color-border-light)}.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:var(--color-bg-overlay);z-index:600}.reorder-panel{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:720px;max-width:90vw;height:70vh;background:var(--color-elevated);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:var(--color-bg-canvas);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:var(--color-bg-tertiary)}.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:var(--color-bg-tertiary);padding:1px 6px;border-radius:3px}.reorder-panel-modified{font-size:.5625rem;color:var(--color-warning);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:var(--color-bg-tertiary)}.reorder-heatmap-toggle{display:flex;align-items:center;gap:6px;font-size:.625rem;color:var(--color-text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none}.reorder-heatmap-toggle input[type=checkbox]{accent-color:var(--color-primary);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:var(--color-text-disabled);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:var(--color-bg-tertiary);border-left:3px solid transparent;font-size:.6875rem;color:var(--color-text-secondary);cursor:grab;transition:background .15s,box-shadow .15s;-webkit-user-select:none;user-select:none}.reorder-item:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.reorder-item.dragging{background:color-mix(in srgb,var(--color-primary) 15%,transparent);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:var(--color-primary)}.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:var(--color-text-disabled);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:var(--color-brand-red)}.reorder-item.matrix .reorder-type{color:var(--color-brand-gold)}.reorder-item.droplet .reorder-type{color:var(--color-primary)}.reorder-info{color:var(--color-text-secondary);flex-shrink:0}.reorder-extruder{font-size:.625rem;flex-shrink:0}.reorder-points{color:var(--color-text-disabled);font-size:.625rem;margin-left:auto}.reorder-group-indicator{color:var(--color-text-disabled);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:var(--color-bg-secondary)}.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:color-mix(in srgb,var(--color-success) 25%,transparent);color:var(--color-success)}.reorder-btn-apply:hover:not(:disabled){background:color-mix(in srgb,var(--color-success) 40%,transparent);color:var(--color-success)}.reorder-btn-apply:disabled{opacity:.4;cursor:not-allowed}.reorder-btn-cancel{background:var(--color-bg-tertiary);color:var(--color-text-secondary)}.reorder-btn-cancel:hover{background:var(--color-bg-hover);color:var(--color-text-accent)}.reorder-btn-reset{background:color-mix(in srgb,var(--color-warning) 15%,transparent);color:var(--color-warning);flex:0 0 auto}.reorder-btn-reset:hover{background:color-mix(in srgb,var(--color-warning) 30%,transparent);color:var(--color-warning)}.reorder-btn-apply-all{background:color-mix(in srgb,var(--color-primary) 25%,transparent);color:var(--color-primary)}.reorder-btn-apply-all:hover{background:color-mix(in srgb,var(--color-primary) 40%,transparent);color:var(--color-primary)}.reorder-panel-list::-webkit-scrollbar{width:4px}.reorder-panel-list::-webkit-scrollbar-track{background:transparent}.reorder-panel-list::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:2px}.reorder-panel-list::-webkit-scrollbar-thumb:hover{background:var(--color-border-light)}.reorder-optimize-section{padding:6px 12px;border-bottom:1px solid var(--color-border);background:var(--color-bg-tertiary);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:var(--color-bg-tertiary);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:color-mix(in srgb,var(--color-primary) 25%,transparent);color:var(--color-primary);border:none;border-radius:3px;font-size:.625rem;cursor:pointer;white-space:nowrap}.reorder-btn-optimize:hover{background:color-mix(in srgb,var(--color-primary) 40%,transparent);color:var(--color-primary)}.reorder-btn-optimize-all{padding:3px 6px;background:color-mix(in srgb,var(--color-primary) 25%,transparent);color:var(--color-primary);border:none;border-radius:3px;font-size:.5625rem;cursor:pointer;white-space:nowrap}.reorder-btn-optimize-all:hover{background:color-mix(in srgb,var(--color-primary) 40%,transparent);color:var(--color-primary)}.reorder-btn-revert{padding:3px 6px;background:color-mix(in srgb,var(--color-warning) 15%,transparent);color:var(--color-warning);border:none;border-radius:3px;font-size:.5625rem;cursor:pointer;white-space:nowrap}.reorder-btn-revert:hover{background:color-mix(in srgb,var(--color-warning) 30%,transparent);color:var(--color-warning)}.reorder-optimize-savings{font-size:.5625rem;color:var(--color-success);padding:2px 0}.reorder-optimize-longer{color:var(--color-error)}.reorder-reversed-count{color:var(--color-warning)}.reorder-direction{font-size:.75rem;color:var(--color-text-disabled);flex-shrink:0;width:14px;text-align:center}.reorder-direction.reversed{color:var(--color-warning)}.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:color-mix(in srgb,var(--color-primary) 25%,transparent);box-shadow:0 0 6px color-mix(in srgb,var(--color-primary) 20%,transparent);color:var(--color-text-secondary)}.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:var(--color-bg-secondary);border-radius:4px}.optimization-bar-btn{padding:5px 12px;background:color-mix(in srgb,var(--color-primary) 20%,transparent);color:var(--color-primary);border:1px solid color-mix(in srgb,var(--color-primary) 30%,transparent);border-radius:4px;font-size:.6875rem;font-weight:500;cursor:pointer;transition:all .15s;white-space:nowrap}.optimization-bar-btn:hover:not(:disabled){background:color-mix(in srgb,var(--color-primary) 35%,transparent);color:var(--color-primary);border-color:color-mix(in srgb,var(--color-primary) 50%,transparent)}.optimization-bar-btn:disabled{opacity:.4;cursor:not-allowed}.optimization-bar-btn-metrics{background:var(--color-bg-tertiary);color:var(--color-text-secondary);border-color:var(--color-border)}.optimization-bar-btn-metrics:hover:not(:disabled){background:var(--color-bg-hover);color:var(--color-text-secondary);border-color:var(--color-border-light)}.optimization-bar-info{font-size:.625rem;color:var(--color-text-secondary)}.optimization-bar-print{font-size:.625rem;color:var(--color-primary)}.optimization-bar-travel{font-size:.625rem;color:var(--color-warning)}.optimization-bar-volume{font-size:.625rem;color:var(--color-primary)}.optimization-bar-custom{font-size:.5625rem;color:var(--color-warning);background:color-mix(in srgb,var(--color-warning) 12%,transparent);padding:1px 6px;border-radius:3px;margin-left:auto}.params-section{display:flex;flex-direction:column;gap:8px;padding:8px;background:var(--color-bg-secondary);border-radius:4px}.params-section.no-selection{opacity:.7}.no-selection-hint{text-align:center;padding:8px;background:color-mix(in srgb,var(--color-warning) 15%,transparent);border:1px solid color-mix(in srgb,var(--color-warning) 30%,transparent);border-radius:4px;color:var(--color-warning);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:var(--color-bg-tertiary);color:var(--color-text-secondary);font-size:.625rem;cursor:pointer;transition:all .15s}.sync-btn:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.sync-btn.apply-btn{background:color-mix(in srgb,var(--color-success) 30%,transparent);color:var(--color-success)}.sync-btn.apply-btn:hover:not(:disabled){background:color-mix(in srgb,var(--color-success) 50%,transparent);color:var(--color-success)}.sync-btn.apply-btn:disabled{opacity:.4;cursor:not-allowed}.sync-btn.apply-btn.has-pending{background:color-mix(in srgb,var(--color-warning) 40%,transparent);color:var(--color-warning);animation:pending-pulse 1.5s ease-in-out infinite}.sync-btn.apply-btn.has-pending:hover:not(:disabled){background:color-mix(in srgb,var(--color-warning) 60%,transparent);color:var(--color-warning)}@keyframes pending-pulse{0%,to{opacity:1}50%{opacity:.7}}.paths-tab{display:flex;flex-direction:column;gap:24px}.paths-subtabs>.tabs-list{justify-content:stretch;gap:4px;margin:8px 0 4px}.paths-subtabs>.tabs-list .tabs-trigger{flex:1;height:30px;padding:0 12px;font-size:.75rem}.paths-subtabs>.tabs-list .tabs-trigger:disabled{opacity:.4;cursor:not-allowed}.paths-subtabs>.tabs-content{display:flex;flex-direction:column;gap:24px;padding-top:8px}.path-method-picker>.tabs-list{justify-content:stretch;gap:4px;margin:4px 0 8px}.path-method-picker>.tabs-list .tabs-trigger{flex:1;height:28px;padding:0 10px;font-size:.75rem}.path-method-picker>.tabs-content{display:flex;flex-direction:column;gap:6px}.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}.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)}.infill-hint{margin-top:8px;font-size:.75rem;color:var(--color-text-secondary);line-height:1.4}.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}.surface-tab{display:flex;flex-direction:column;gap:24px}.surface-section{display:flex;flex-direction:column;gap:12px}.surface-section-header{font-size:.6875rem;font-weight:400;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;padding:6px 0;border-bottom:1px solid var(--color-border);margin:0}.surface-bed-caption{font-size:.6875rem;color:var(--color-text-secondary);margin-top:-6px}.surface-fit-warning{background:color-mix(in srgb,var(--color-warning) 15%,transparent);border:1px solid color-mix(in srgb,var(--color-warning) 40%,transparent);color:var(--color-warning);padding:6px 10px;border-radius:4px;font-size:.6875rem}.loaded-files-section{margin-top:12px}.loaded-files-header{font-size:.6875rem;color:var(--color-text-secondary);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:color-mix(in srgb,var(--color-primary) 6%,transparent)}.loaded-file-item.highlighted{background:color-mix(in srgb,var(--color-primary) 12%,transparent);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:var(--color-text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.loaded-file-wells{font-size:.625rem;color:var(--color-text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.loaded-file-item.highlighted .loaded-file-name{color:var(--color-primary)}.loaded-file-item.highlighted .loaded-file-wells{color:#9080c0}.loaded-file-count{font-size:.6875rem;color:var(--color-text-secondary);flex-shrink:0;background:var(--color-hover-overlay);border-radius:8px;padding:1px 6px;min-width:18px;text-align:center}.slot-assignment-list{display:flex;flex-direction:column;gap:6px}.slot-assignment-row{display:flex;align-items:center;gap:8px;padding:6px 8px;background:var(--color-hover-overlay);border-radius:4px}.slot-assignment-label{font-size:.75rem;font-weight:600;color:var(--color-text-primary);min-width:28px;flex-shrink:0}.slot-assignment-field{display:flex;align-items:center;gap:6px;flex:1;min-width:0}.slot-assignment-field .select-input{flex:1;min-width:0}.slot-assignment-field .select-input label{display:none}.slot-assignment-field .select-input select{padding:4px 6px;font-size:.6875rem}.slot-assignment-meta{font-size:.625rem;color:var(--color-text-secondary);flex-shrink:0;white-space:nowrap}.printer-details{font-size:.8125rem;color:var(--color-text-primary)}.printer-details h2{display:flex;align-items:center;font-size:1rem;font-weight:600;margin:0 0 8px}.printer-details h3{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-secondary);margin:14px 0 6px;padding-top:10px;border-top:1px solid var(--color-border)}.printer-details dl{display:grid;grid-template-columns:max-content 1fr;column-gap:12px;row-gap:4px;margin:0}.printer-details dt{color:var(--color-text-secondary);font-weight:500}.printer-details dd{margin:0;color:var(--color-text-primary);overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.printer-details--compact .printer-details-more{margin-top:10px}.printer-details--compact .printer-details-more h3:first-child{margin-top:0;padding-top:0;border-top:none}.printer-details--compact .button{margin-top:10px}.system-tab{display:flex;flex-direction:column;gap:24px}.system-subtabs>.tabs-list{justify-content:stretch;gap:4px;margin:8px 0 4px}.system-subtabs>.tabs-list .tabs-trigger{flex:1;height:30px;padding:0 12px;font-size:.75rem}.system-subtabs>.tabs-list .tabs-trigger:disabled{opacity:.4;cursor:not-allowed}.system-subtabs>.tabs-content{display:flex;flex-direction:column;gap:12px;padding-top:8px}.toolhead-config-list{display:flex;flex-direction:column;gap:6px}.toolhead-config-row{display:flex;align-items:center;gap:8px;padding:6px 8px;background:var(--color-hover-overlay);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}.biofab-empty-hint{margin:8px 0 0;color:var(--color-text-secondary);font-size:.8125rem;line-height:1.4}.segment-action-dock{position:absolute;inset:0;z-index:150;background:var(--color-bg-tertiary);overflow-y:auto}.segment-action-dock:empty{display:none}.biofabricators-page{color:var(--color-text-primary)}.biofabricators-toolheads-panel-wrapper{min-height:600px;height:calc(100vh - 200px)}.biofabricators-loading{display:flex;align-items:center;justify-content:center;height:100%;color:var(--color-text-secondary)}.biofabricators-subfilter{display:flex;gap:4px;margin-bottom:12px}.biofabricators-page .list-detail-layout{grid-template-columns:360px 1fr}.biofabricators-modality-filter{display:flex;flex-wrap:wrap;gap:4px;padding:8px;border-bottom:1px solid var(--color-border)}.biofabricators-modality-filter .biofabricators-tab{padding:6px 8px;white-space:nowrap}.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:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-top:4px}.biofabricators-tab-hint{margin:8px 0 16px;font-size:.8125rem;color:var(--color-text-secondary);max-width:70ch}.biofabricators-subsection-hint{margin:0;font-size:.75rem;color:var(--color-text-secondary)}.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:var(--color-hover-overlay);border:1px solid var(--color-border);border-radius:6px}.biofabricators-printer-card.active{border-color:color-mix(in srgb,var(--color-primary) 50%,transparent);background:color-mix(in srgb,var(--color-primary) 8%,transparent)}.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:var(--color-bg-hover)}.biofabricators-action-btn.danger{color:var(--color-error);border-color:color-mix(in srgb,var(--color-error) 30%,transparent)}.biofabricators-action-btn.danger:hover{background:color-mix(in srgb,var(--color-error) 10%,transparent)}.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:var(--color-text-secondary);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-compat-list{display:flex;flex-direction:column;gap:4px;max-height:180px;overflow-y:auto}.biofabricators-template-list{display:flex;flex-direction:column;gap:8px}.biofabricators-template-label{font-size:.75rem;color:var(--color-text-secondary);font-weight:500}.biofabricators-info-message{padding:8px 12px;background:color-mix(in srgb,var(--color-primary) 10%,transparent);border:1px solid color-mix(in srgb,var(--color-primary) 30%,transparent);border-radius:4px;color:var(--color-primary);font-size:.8125rem}.biofabricators-error-message{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 12px;background:color-mix(in srgb,var(--color-error) 10%,transparent);border:1px solid color-mix(in srgb,var(--color-error) 30%,transparent);border-radius:4px;color:var(--color-error);font-size:.8125rem}.biofabricators-validation-error{color:var(--color-error);font-size:.75rem;margin-top:-8px}.biofabricators-validation-hint{color:var(--color-warning);font-size:.75rem;text-align:center}.biofabricators-empty{font-size:.8125rem;color:var(--color-text-secondary);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:color-mix(in srgb,var(--color-primary) 80%,transparent)}.dlp-sandbox-page{color:var(--color-text-primary);display:flex;flex-direction:column;height:100%;min-height:0}.dlp-sandbox-preview-frame{position:relative;display:flex;justify-content:center;align-items:center;background:var(--color-bg-canvas);border-radius:6px;overflow:hidden;max-height:calc(100vh - 140px);min-height:520px}.dlp-sandbox-preview-frame--pan-ready{cursor:grab}.dlp-sandbox-preview-frame--pan-ready:active{cursor:grabbing}.dlp-sandbox-preview-image{max-width:100%;max-height:calc(100vh - 140px);image-rendering:pixelated;display:block}.dlp-sandbox-preview-image-wrap{position:relative;display:inline-block;line-height:0;outline:1px dashed var(--color-text-secondary);outline-offset:0}.dlp-sandbox-preview-canvas-wrap{position:absolute;inset:0;width:100%;height:100%}.dlp-sandbox-preview-image-wrap--no-bed{outline:none}.dlp-sandbox-preview-overlay{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.dlp-sandbox-preview-overlay--interactive{pointer-events:auto;cursor:default;touch-action:none}.dlp-sandbox-viewer-legend-overlay{position:absolute;top:32px;right:8px;z-index:10;display:inline-flex;align-items:center;gap:10px;padding:3px 8px;background:#000000b3;border:1px solid var(--color-border-light);border-radius:3px;font-size:.625rem;color:var(--color-text-secondary);pointer-events:none}.dlp-sandbox-preview-legend-item{display:inline-flex;align-items:center;gap:4px}.dlp-sandbox-preview-legend-swatch{width:12px;height:3px;border-radius:1px;flex-shrink:0}.dlp-sandbox-preview-placeholder{color:var(--color-text-secondary);padding:40px;font-size:.9rem}.dlp-sandbox-preview-spinner{position:absolute;top:8px;right:12px;background:#0000008c;color:var(--color-text-accent);font-size:.75rem;padding:2px 8px;border-radius:4px;pointer-events:none}.dlp-sandbox-preview-zoom-reset{position:absolute;bottom:8px;left:8px;background:#0000008c;color:var(--color-text-accent);font-size:.75rem;padding:4px 10px;border-radius:4px;border:1px solid var(--color-border);cursor:pointer;font-family:inherit}.dlp-sandbox-preview-zoom-reset:hover{background:#000000bf}.dlp-sandbox-preview-axis-x,.dlp-sandbox-preview-axis-y,.dlp-sandbox-preview-axis-z{position:absolute;color:#ffffffb3;font-size:11px;font-family:var(--font-mono, ui-monospace, monospace);letter-spacing:.5px;pointer-events:none;-webkit-user-select:none;user-select:none;text-shadow:0 0 4px rgba(0,0,0,.6)}.dlp-sandbox-preview-axis-x{bottom:6px;right:10px}.dlp-sandbox-preview-axis-y{top:6px;left:10px}.dlp-sandbox-preview-axis-z{top:6px;right:10px;background:#00000073;padding:2px 8px;border-radius:4px;font-variant-numeric:tabular-nums}.dlp-sandbox-preview-controls{display:flex;flex-direction:column;gap:6px}.dlp-sandbox-preview-meta{font-size:.8rem;color:var(--color-text-secondary)}.dlp-sandbox-preview-error{color:var(--color-error);margin-left:6px}.dlp-sandbox-layout{display:grid;grid-template-columns:minmax(320px,380px) 1fr;gap:24px;flex:1 1 auto;min-height:0}@media(max-width:900px){.dlp-sandbox-layout{grid-template-columns:1fr}}.dlp-sandbox-sidebar{display:flex;flex-direction:column;gap:8px;min-width:0;min-height:0;overflow-y:auto}.dlp-sandbox-tabs{width:100%}.dlp-sandbox-tabs>.tabs-list{position:sticky;top:0;z-index:2;background:var(--color-bg-primary)}.dlp-model-method-picker>.tabs-list{justify-content:stretch;gap:4px;margin:4px 0 8px}.dlp-model-method-picker>.tabs-list .tabs-trigger{flex:1;height:28px;padding:0 10px;font-size:.75rem}.dlp-model-method-picker>.tabs-content{display:flex;flex-direction:column;gap:6px}.dlp-sandbox-tab-panel{display:flex;flex-direction:column;gap:20px;margin-top:8px}.dlp-sandbox-error{color:var(--color-error)}.dlp-sandbox-flat-group,.dlp-sandbox-specs{margin-top:8px;padding-top:6px;border-top:1px solid var(--color-border);font-size:12px}.dlp-sandbox-flat-group>dl{display:grid;grid-template-columns:max-content 1fr;gap:2px 12px;margin:6px 0 0}.dlp-sandbox-flat-group>dl>dt{color:var(--color-text-secondary)}.dlp-sandbox-flat-group>dl>dd{margin:0;font-variant-numeric:tabular-nums}.dlp-sandbox-flat-field{display:flex;flex-direction:column;gap:6px;padding-top:8px;border-top:1px solid var(--color-border);margin-top:8px}.dlp-sandbox-flat-field-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.dlp-sandbox-flat-field-label{font-weight:500;font-size:13px}.dlp-sandbox-flat-field-thumb{max-width:100%;max-height:120px;object-fit:contain;border:1px solid var(--color-border);background:repeating-conic-gradient(var(--color-bg-tertiary) 0% 25%,var(--color-bg-secondary) 0% 50%) 50% / 8px 8px}.dlp-sandbox-app-printer{display:flex;flex-direction:column;gap:2px}.dlp-sandbox-app-printer-name{font-weight:600;font-size:.95rem;color:var(--color-text-primary)}.dlp-sandbox-specs-list{display:grid;grid-template-columns:max-content 1fr;gap:4px 12px;margin:8px 0 0;font-size:.875rem}.dlp-sandbox-specs-list>dt{color:var(--color-text-secondary);font-weight:500}.dlp-sandbox-specs-list>dd{margin:0;color:var(--color-text-primary);font-variant-numeric:tabular-nums}.dlp-channel-templates-popover{margin-top:8px;padding:10px 12px;border:1px solid var(--color-border);border-radius:6px;background-color:var(--color-bg-secondary);display:flex;flex-direction:column;gap:10px}.dlp-channel-templates-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.dlp-channel-templates-tile{display:flex;flex-direction:column;gap:2px;padding:8px 10px;border:1px solid var(--color-border);border-radius:4px;background-color:var(--color-bg-primary);color:var(--color-text-primary);cursor:pointer;font-size:.85rem;text-align:left}.dlp-channel-templates-tile:hover{border-color:var(--color-primary)}.dlp-channel-templates-tile--selected{border-color:var(--color-primary);background-color:var(--color-bg-tertiary, var(--color-bg-primary))}.dlp-channel-templates-tile-label{font-weight:600}.dlp-channel-templates-tile-hint{font-size:.75rem;color:var(--color-text-secondary);line-height:1.3}.dlp-channel-templates-section-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary);margin-top:4px}.dlp-channel-templates-tile--preset{display:grid;grid-template-columns:1fr auto;padding:0;overflow:hidden}.dlp-channel-templates-tile-main{all:unset;cursor:pointer;padding:8px 10px;display:flex;flex-direction:column;gap:2px;min-width:0}.dlp-channel-templates-tile-main:hover{background-color:var(--color-bg-tertiary, var(--color-bg-primary))}.dlp-channel-templates-tile-delete{background:transparent;border:none;color:var(--color-text-secondary);cursor:pointer;font-size:1.1rem;line-height:1;padding:0 8px;align-self:stretch}.dlp-channel-templates-tile-delete:hover{color:var(--color-error);background-color:var(--color-bg-tertiary, var(--color-bg-primary))}.dlp-sandbox-checkbox-label{display:inline-flex;align-items:center;gap:6px;font-size:.875rem;color:var(--color-text-primary);cursor:pointer}.dlp-sandbox-section-body{display:flex;flex-direction:column;gap:12px;padding:8px 4px 4px}.dlp-sandbox-preview-pane{display:flex;flex-direction:column;gap:12px;padding:8px 0;min-width:0;min-height:0;overflow-y:auto}.dlp-sandbox-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:8px;align-items:end}.dlp-sandbox-row>*{min-width:0}.dlp-sandbox-section-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.dlp-sandbox-section-actions>*{flex:0 0 auto}.dlp-sandbox-hint{margin:0;font-size:.85rem;color:var(--color-text-secondary);line-height:1.4}.dlp-sandbox-subheader{margin:0;padding-bottom:8px;border-bottom:1px solid var(--color-border);font-size:.875rem;font-weight:600;color:var(--color-text-accent)}.dlp-sandbox-region-card{display:flex;flex-direction:column;gap:8px;padding:10px 0 4px 10px;border-left:3px solid transparent}.dlp-sandbox-region-card+.dlp-sandbox-region-card{border-top:1px solid var(--color-border);padding-top:12px}.dlp-sandbox-region-card--selected{border-left-color:var(--color-brand-gold);background:color-mix(in srgb,var(--color-brand-gold) 8%,transparent)}.dlp-sandbox-region-whole{display:flex;flex-direction:column;gap:2px;width:100%;padding:8px 10px;margin-bottom:4px;text-align:left;background:none;border:1px solid var(--color-border);border-left:3px solid transparent;border-radius:4px;cursor:pointer}.dlp-sandbox-region-whole.selected{border-left-color:var(--color-brand-gold);background:color-mix(in srgb,var(--color-brand-gold) 8%,transparent)}.dlp-sandbox-region-whole-title{font-size:.9rem;font-weight:600;color:var(--color-text-accent)}.dlp-sandbox-region-whole-hint{font-size:.75rem;color:var(--color-text-muted)}.dlp-sandbox-region-warning{margin:0;font-size:.75rem;color:var(--color-warning)}.dlp-sandbox-advanced{border-top:1px solid var(--color-border);padding-top:8px}.dlp-sandbox-advanced-summary{cursor:pointer;font-size:.875rem;font-weight:600;color:var(--color-text-accent);list-style:revert;-webkit-user-select:none;user-select:none}.dlp-sandbox-region-header{display:flex;justify-content:space-between;align-items:center;font-size:.9rem}.dlp-sandbox-region-header--clickable{background:transparent;border:none;padding:0;width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer}.dlp-sandbox-region-header--clickable:focus-visible{outline:2px solid var(--color-brand-gold);outline-offset:2px;border-radius:4px}.dlp-sandbox-region-remove{background:transparent;color:var(--color-text-secondary);border:none;font-size:1.2rem;line-height:1;cursor:pointer;padding:0 6px}.dlp-sandbox-region-remove:hover{color:var(--color-error)}.dlp-sandbox-region-duplicate{background:transparent;color:var(--color-text-secondary);border:none;font-size:1rem;line-height:1;cursor:pointer;padding:0 6px}.dlp-sandbox-region-duplicate:hover{color:var(--color-text-primary)}.dlp-sandbox-region-polygon{display:flex;flex-direction:column;gap:6px}.dlp-layer-type-card{display:flex;flex-direction:column;gap:8px;padding:8px 12px;border-left:3px solid var(--color-primary);border-radius:0 4px 4px 0;background:#ffffff05}.dlp-layer-type-header{display:flex;align-items:center;gap:8px}.dlp-layer-type-chip{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:4px;font-size:.7rem;font-weight:700;color:var(--color-text-accent);flex-shrink:0}.dlp-layer-type-summary{flex:1;font-size:.8125rem;color:var(--color-text-secondary);text-transform:capitalize}.dlp-sandbox-checkboxes{display:flex;gap:16px;flex-wrap:wrap}.dlp-sandbox-walls-list{display:flex;flex-direction:column;gap:8px}.dlp-sandbox-preset-actions{display:flex;gap:8px;margin-top:6px}.dlp-sandbox-actions{display:flex;flex-direction:column;gap:8px;margin-top:12px;padding:4px}.dlp-sandbox-eta{font-size:.875rem;color:var(--color-text-secondary)}.dlp-sandbox-status{padding:8px 12px;border-radius:6px;font-size:.875rem}.dlp-sandbox-status-success{background:var(--color-bg-secondary);border:1px solid var(--color-border);color:var(--color-text-primary)}.dlp-sandbox-status-error{background:color-mix(in srgb,var(--color-error) 10%,transparent);border:1px solid color-mix(in srgb,var(--color-error) 40%,transparent);color:var(--color-error)}.dlp-channel-side-view{display:flex;flex-direction:column;gap:4px;margin-top:8px}.dlp-channel-side-view-label{font-size:.8rem;color:var(--color-text-secondary)}.dlp-channel-side-view-svg{width:100%;height:120px;background:#000;border-radius:4px;border:1px solid var(--color-border);touch-action:none}.dlp-custom-paths-canvas-wrap{display:flex;justify-content:center}.dlp-custom-paths-canvas{width:100%;max-width:640px;background:#111;border:1px solid var(--color-border);cursor:crosshair}.dlp-imgfit-outer{display:flex;justify-content:center;margin-bottom:.5rem}.dlp-imgfit-wrap{position:relative;display:inline-block;max-width:100%;line-height:0;overflow:hidden;touch-action:none;background:#111}.dlp-imgfit-img{display:block;max-width:100%;max-height:52vh;-webkit-user-select:none;user-select:none}.dlp-imgfit-crop{position:absolute;box-sizing:border-box;border:2px solid var(--color-brand-gold);box-shadow:0 0 0 100vmax #00000073;cursor:move}.dlp-imgfit-handle{position:absolute;right:0;bottom:0;width:14px;height:14px;background:var(--color-brand-gold);border:1px solid var(--color-border);border-radius:2px;cursor:nwse-resize}.dlp-imgfit-reset{align-self:flex-end;background:transparent;border:1px solid var(--color-border);color:var(--color-text-secondary);border-radius:4px;padding:6px 10px;cursor:pointer}.dlp-infill-type-toggle{display:flex;gap:.25rem;align-items:flex-end}.dlp-image-editor{display:flex;gap:1rem;align-items:flex-start}.dlp-image-editor-tools{display:flex;flex-direction:column;gap:.4rem;flex:0 0 auto}.dlp-image-editor-canvas-wrap{flex:1 1 auto;display:flex;justify-content:center}.dlp-image-editor-canvas-box{position:relative;width:min(460px,48vh);aspect-ratio:1 / 1;overflow:hidden}.dlp-image-editor-canvas{display:block;width:100%;height:100%;background:#000;border:1px solid var(--color-border);image-rendering:pixelated;cursor:crosshair;touch-action:none}.dlp-image-editor-grid-overlay{position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(to right,rgba(255,255,255,.28) 1px,transparent 1px),linear-gradient(to bottom,rgba(255,255,255,.28) 1px,transparent 1px)}.dlp-image-editor-cursor-preview{position:absolute;pointer-events:none;border:1px solid rgba(255,255,255,.9);background:#ffffff2e;box-shadow:0 0 0 1px #0009}.dlp-image-editor-cursor-preview.is-eraser{border-color:#ff5a5af2;background:#ff5a5a2e}.dialog-container.dlp-image-editor-dialog{width:min(860px,94vw);max-width:94vw;min-width:0;max-height:92vh}.dlp-image-editor-dialog .dialog-buttons{position:sticky;bottom:0;background-color:var(--color-bg-secondary);border-top:1px solid var(--color-border);padding-top:.6rem;margin-top:.25rem}.dlp-image-editor-swatches{display:flex;gap:.25rem;align-items:flex-end;padding-bottom:.35rem}.dlp-image-editor-swatch{width:22px;height:22px;border:1px solid var(--color-border);border-radius:3px;cursor:pointer;padding:0}.dlp-layer-strip-wrap{position:relative;display:flex;margin-right:var(--spacing-xs, 4px)}.dlp-layer-strip{position:relative;width:12px;height:200px;display:flex;flex-direction:column-reverse;border-radius:var(--radius-sm, 3px);overflow:hidden;cursor:pointer;border:var(--border-width) solid var(--color-border)}.dlp-layer-strip:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}.dlp-layer-strip-seg{width:100%;min-height:1px}.dlp-layer-strip-marker{position:absolute;left:-2px;right:-2px;height:2px;background:var(--color-primary-light);box-shadow:0 0 3px #000000b3;pointer-events:none}.dlp-layer-strip-hover-marker{position:absolute;left:-3px;right:-3px;height:2px;background:#ffffffeb;box-shadow:0 0 3px #000c;pointer-events:none}.slider-track-container.has-layer-strip .layer-labels{left:42px}.layer-type{font-size:var(--font-size-xs, .625rem);color:var(--color-text-secondary);text-align:center;max-width:96px}.channel-network-drawer-overlay{position:fixed;inset:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:1000;padding:24px}.channel-network-drawer-container{width:min(1200px,calc(100vw - 48px));height:min(820px,calc(100vh - 48px));background-color:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;overflow:hidden}.channel-network-drawer-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;padding:14px 18px;border-bottom:1px solid var(--color-border);flex:0 0 auto}.channel-network-drawer-toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;flex:1 1 auto;justify-content:flex-start}.channel-network-drawer-toolbar>*{flex:0 0 auto;min-width:110px}.channel-network-drawer-title{flex:0 0 auto;white-space:nowrap}.channel-network-drawer-undo-redo{display:flex;flex-wrap:wrap;gap:6px;flex:0 0 auto}.channel-network-drawer-import-error{color:var(--color-error);font-weight:500}.channel-network-drawer-toolbar-hint{font-size:.78rem;color:var(--color-text-secondary);flex:1 0 100%;padding:0}.channel-network-drawer-z-readout{font-size:.85rem;font-weight:400;color:var(--color-text-secondary);margin-left:4px}.channel-network-drawer-title{margin:0;font-size:1rem;font-weight:600;color:var(--color-text-accent)}.channel-network-drawer-instructions{font-size:.85rem;color:var(--color-text-secondary);line-height:1.4;padding:10px 18px;border-bottom:1px solid var(--color-border);flex:0 0 auto}.channel-network-drawer-instructions strong{color:var(--color-text-primary);font-weight:600}.channel-network-drawer-instructions kbd{background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:3px;padding:1px 5px;font-family:inherit;font-size:.78rem}.channel-network-drawer-canvas-wrap{flex:1 1 auto;min-height:0;display:flex;align-items:center;justify-content:center;padding:16px;background:var(--color-bg-tertiary);position:relative}.channel-network-drawer-readout{position:absolute;top:22px;right:22px;pointer-events:none;background:color-mix(in srgb,var(--color-bg-secondary) 85%,transparent);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:4px 8px;font-size:.75rem;color:var(--color-text-primary);font-variant-numeric:tabular-nums;line-height:1.4;z-index:1}.channel-network-drawer-readout-delta{color:var(--color-text-secondary)}.channel-network-drawer-canvas{display:block;max-width:100%;max-height:100%;background:var(--color-bg-canvas);border-radius:var(--radius-sm);cursor:crosshair;user-select:none;-webkit-user-select:none}.channel-network-drawer-canvas--mode-select{cursor:default}.channel-network-drawer-canvas--mode-draw{cursor:crosshair}.channel-network-drawer-canvas--branching.channel-network-drawer-canvas--mode-draw{cursor:copy}.channel-network-drawer-canvas--pan-ready,.channel-network-drawer-canvas--pan-ready.channel-network-drawer-canvas--mode-select,.channel-network-drawer-canvas--pan-ready.channel-network-drawer-canvas--mode-draw,.channel-network-drawer-canvas--pan-ready.channel-network-drawer-canvas--branching{cursor:grab}.channel-network-drawer-canvas--pan-ready:active{cursor:grabbing}.channel-network-drawer-modes{display:flex;gap:2px;flex:0 0 auto;background-color:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:6px;padding:2px}.channel-network-drawer-mode-button{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border:none;background:transparent;color:var(--color-text-secondary);font-size:.78rem;border-radius:4px;cursor:pointer}.channel-network-drawer-mode-button:hover{background-color:var(--color-bg-secondary);color:var(--color-text-primary)}.channel-network-drawer-mode-button--active,.channel-network-drawer-mode-button--active:hover{background-color:var(--color-primary);color:var(--color-text-on-primary)}.channel-network-drawer-mode-symbol{font-size:.95rem;line-height:1}.channel-network-drawer-mode-label{font-weight:500}.channel-network-drawer-mode-button kbd{font-size:.65rem;padding:0 3px;background:color-mix(in srgb,currentColor 20%,transparent);border-radius:3px}.channel-network-drawer-snap-toggle{display:inline-flex;align-items:center;gap:4px;font-size:.78rem;color:var(--color-text-primary);cursor:pointer;flex:0 0 auto;min-width:0!important}.channel-network-drawer-toolbar-item{display:inline-flex;align-items:stretch;flex:0 0 auto}.channel-network-drawer-bed{fill:none;stroke:var(--color-grid-axis);stroke-width:1;stroke-dasharray:4 4;vector-effect:non-scaling-stroke}.channel-network-drawer-outer{fill:color-mix(in srgb,var(--color-primary) 8%,transparent);stroke:color-mix(in srgb,var(--color-primary) 55%,transparent);stroke-width:1;vector-effect:non-scaling-stroke}.channel-network-drawer-edge-fill-group{opacity:.55}.channel-network-drawer-edge{stroke:var(--color-primary);stroke-linecap:round}.channel-network-drawer-edge-axis{stroke:var(--color-primary);stroke-width:1;stroke-dasharray:2 2;vector-effect:non-scaling-stroke;pointer-events:none}.channel-network-drawer-bend-handle{fill:color-mix(in srgb,var(--color-primary) 35%,transparent);stroke:var(--color-primary);stroke-width:1;vector-effect:non-scaling-stroke;cursor:grab}.channel-network-drawer-bend-handle:hover{fill:color-mix(in srgb,var(--color-primary) 75%,transparent)}.channel-network-drawer-bend-handle--active{fill:var(--color-primary)}.channel-network-drawer-preview{stroke:color-mix(in srgb,var(--color-primary) 70%,transparent);stroke-width:1;stroke-dasharray:1 2;vector-effect:non-scaling-stroke;pointer-events:none}.channel-network-drawer-node{fill:var(--color-primary);fill-opacity:var(--mark-fill-alpha);stroke:var(--color-primary);stroke-width:1.5;vector-effect:non-scaling-stroke;cursor:pointer}.channel-network-drawer-node--from{fill:var(--mark-active);fill-opacity:.85;stroke:var(--mark-active)}.channel-network-drawer-node--hovered{fill:var(--mark-hover);fill-opacity:.6;stroke:var(--mark-hover)}.channel-network-drawer-node--selected{stroke:var(--mark-active);stroke-width:3;stroke-dasharray:1 1}.channel-network-drawer-node--inlet{stroke:var(--mark-inlet);stroke-width:2.5;vector-effect:non-scaling-stroke}.channel-network-drawer-node--outlet{stroke:var(--mark-outlet);stroke-width:2.5;vector-effect:non-scaling-stroke}.channel-network-drawer-profile-badge{fill:color-mix(in srgb,var(--color-bg-canvas) 70%,transparent);stroke-width:1.5;vector-effect:non-scaling-stroke;pointer-events:none}.channel-network-drawer-profile-badge--stenosis{stroke:var(--mark-warn)}.channel-network-drawer-profile-badge--aneurysm{stroke:var(--mark-alt)}.channel-network-drawer-profile-badge-label{fill:var(--color-text-primary);font-size:1.2px;font-weight:700;pointer-events:none;font-variant-numeric:tabular-nums}.channel-network-drawer-marquee{fill:color-mix(in srgb,var(--mark-active) 6%,transparent);stroke:color-mix(in srgb,var(--mark-active) 70%,transparent);stroke-width:1;stroke-dasharray:2 2;vector-effect:non-scaling-stroke}.channel-network-drawer-node-label{fill:var(--color-text-secondary);font-size:.7mm;pointer-events:none;-webkit-user-select:none;user-select:none}.channel-network-drawer-footer{display:flex;align-items:center;gap:12px;padding:12px 18px;border-top:1px solid var(--color-border);flex:0 0 auto}.channel-network-drawer-footer-counts{color:var(--color-text-secondary);font-size:.85rem;flex:1 1 auto}.channel-network-drawer-footer-buttons{display:flex;gap:8px;flex:0 0 auto}.channel-network-drawer-grid{stroke:var(--color-grid-major);stroke-width:1;vector-effect:non-scaling-stroke;pointer-events:none}.channel-network-drawer-mirror-axis{stroke:var(--mark-active);stroke-width:1;stroke-dasharray:4 4;opacity:.55;vector-effect:non-scaling-stroke;pointer-events:none}.channel-network-drawer-menu,.channel-network-drawer-branch-dialog,.channel-network-drawer-size-dialog,.channel-network-drawer-cheatsheet{position:fixed;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);display:flex;flex-direction:column}.channel-network-drawer-branch-dialog,.channel-network-drawer-size-dialog,.channel-network-drawer-cheatsheet{left:50%;top:50%;transform:translate(-50%,-50%)}.channel-network-drawer-menu{z-index:1100;padding:4px;min-width:200px}.channel-network-drawer-menu-label{padding:4px 10px;font-size:.75rem;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--color-border);margin-bottom:4px}.channel-network-drawer-menu button{background:transparent;border:none;color:var(--color-text-primary);font:inherit;font-size:.875rem;text-align:left;padding:8px 10px;cursor:pointer;border-radius:3px}.channel-network-drawer-menu button:hover{background:var(--color-bg-hover)}.channel-network-drawer-menu button.channel-network-drawer-menu-danger{color:var(--color-error)}.channel-network-drawer-menu button.channel-network-drawer-menu-danger:hover{background:color-mix(in srgb,var(--color-error) 12%,transparent)}.channel-network-drawer-branch-dialog{z-index:1101;border-radius:var(--radius-lg);padding:16px 20px;min-width:380px;gap:12px}.channel-network-drawer-branch-dialog h4{margin:0;font-size:.95rem;color:var(--color-text-accent);font-weight:600}.channel-network-drawer-size-dialog{z-index:1101;padding:12px 14px;min-width:200px;max-width:240px;gap:8px}.channel-network-drawer-size-dialog h4{margin:0;font-size:.85rem;color:var(--color-text-accent);font-weight:600}.channel-network-drawer-size-dialog-hint{font-size:.72rem;color:var(--color-text-secondary);line-height:1.3}.channel-network-drawer-size-dialog-buttons{display:flex;gap:6px;justify-content:flex-end}.channel-network-drawer-cheat-link{background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:3px;padding:1px 8px;font:inherit;font-size:.78rem;color:var(--color-text-accent);cursor:pointer;margin-left:4px}.channel-network-drawer-cheat-link:hover{background:var(--color-bg-hover)}.channel-network-drawer-cheatsheet{z-index:1102;border-radius:var(--radius-lg);padding:18px 22px;width:min(820px,calc(100vw - 64px));max-height:calc(100vh - 96px);overflow-y:auto;gap:16px}.channel-network-drawer-cheatsheet-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.channel-network-drawer-cheatsheet-header h3{margin:0;font-size:1rem;color:var(--color-text-accent);font-weight:600}.channel-network-drawer-cheatsheet-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 28px}@media(max-width:640px){.channel-network-drawer-cheatsheet-grid{grid-template-columns:1fr}}.channel-network-drawer-cheatsheet-grid section h4{margin:0 0 6px;font-size:.78rem;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px;font-weight:600;border-bottom:1px solid var(--color-border);padding-bottom:4px}.channel-network-drawer-cheatsheet-grid dl{margin:0;display:grid;grid-template-columns:minmax(0,auto) minmax(0,1fr);gap:4px 12px;font-size:.85rem}.channel-network-drawer-cheatsheet-grid dt{color:var(--color-text-primary);white-space:nowrap}.channel-network-drawer-cheatsheet-grid dd{margin:0;color:var(--color-text-secondary);line-height:1.4}.channel-network-drawer-cheatsheet kbd{background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:3px;padding:1px 5px;font-family:inherit;font-size:.78rem;white-space:nowrap}.channel-network-drawer-cheatsheet-footer{border-top:1px solid var(--color-border);padding-top:12px}.channel-network-drawer-cheatsheet-hint{font-size:.78rem;color:var(--color-text-secondary)}.gcode-preview{display:flex;flex-direction:column;width:100%;height:100%;padding:12px;box-sizing:border-box;gap:8px}.gcode-preview-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.gcode-preview-title{font-size:.875rem;font-weight:600;color:var(--color-text-primary)}.gcode-preview-meta{font-weight:400;color:var(--color-text-secondary)}.gcode-preview-actions{display:flex;gap:8px}.gcode-preview-text{flex:1;width:100%;resize:none;border:1px solid var(--color-border);border-radius:6px;background:var(--color-bg-secondary);color:var(--color-text-primary);font-family:var(--font-mono, ui-monospace, SFMono-Regular, Menlo, monospace);font-size:.75rem;line-height:1.4;padding:12px;box-sizing:border-box;white-space:pre;overflow:auto}.gcode-preview-status,.gcode-preview-error{flex:1;display:flex;align-items:center;justify-content:center;border:1px solid var(--color-border);border-radius:6px;background:var(--color-bg-secondary);font-size:.8125rem}.gcode-preview-error{color:var(--color-error)}.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}.user-profile-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.user-profile-section-header .user-profile-section-title{margin:0}.user-profile-sync-button{opacity:0;transition:opacity .15s}.user-profile-section:hover .user-profile-sync-button{opacity:1}.user-profile-session-list{display:flex;flex-direction:column;gap:8px}.user-profile-session{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border:1px solid var(--color-border);border-radius:6px;background-color:var(--color-bg-primary)}.user-profile-session--current{border-color:var(--color-primary)}.user-profile-session-info{display:flex;flex-direction:column;gap:2px}.user-profile-session-id{font-size:.8125rem;font-family:var(--font-family-mono);color:var(--color-text-primary);display:flex;align-items:center;gap:8px}.user-profile-session-badge{display:inline-block;padding:1px 8px;border-radius:10px;font-size:.6875rem;font-weight:600;font-family:var(--font-family);background-color:var(--color-primary);color:var(--color-text-accent, #fff)}.user-profile-session-time{font-size:.75rem;color:var(--color-text-secondary)}.user-profile-cta-row{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}.user-profile-error{background-color:color-mix(in srgb,var(--color-error) 8%,transparent);border:1px solid color-mix(in srgb,var(--color-error) 40%,transparent);border-radius:6px;color:var(--color-error);font-size:.8125rem;padding:10px 12px;margin-top:12px}.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-section-desc{font-size:.8125rem;color:var(--color-text-secondary);margin:0 0 12px}.settings-page-subsection-title{font-size:.8125rem;font-weight:600;color:var(--color-text-primary);margin:16px 0 4px}.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}.settings-page-reset{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid var(--color-border)}.settings-page-reset-prompt{font-size:.8125rem;color:var(--color-text-secondary);margin-right:auto}.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}.make-taller-popup{position:absolute;top:12px;left:50%;transform:translate(-50%);z-index:15;display:flex;flex-direction:column;align-items:stretch;gap:6px;max-width:320px;padding:10px 28px 10px 12px;background:var(--color-bg-overlay);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid var(--color-warning, #eac653);border-radius:6px;box-shadow:0 4px 16px #0006}.make-taller-text{font-size:.75rem;line-height:1.4;color:var(--color-warning, #eac653)}.make-taller-actions{display:flex;gap:6px}.make-taller-actions>*{flex:1}.make-taller-close{position:absolute;top:4px;right:6px;width:18px;height:18px;padding:0;background:transparent;border:none;color:var(--color-text-secondary, #aaa);font-size:1rem;line-height:1;cursor:pointer;border-radius:3px}.make-taller-close:hover{color:var(--color-text-primary, #fff);background:var(--color-hover-overlay)}.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,color-mix(in srgb,var(--color-success) 18%,transparent),color-mix(in srgb,var(--color-success) 8%,transparent));border:1px solid color-mix(in srgb,var(--color-success) 40%,transparent);color:var(--color-success);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:color-mix(in srgb,var(--color-success) 25%,transparent);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:var(--color-bg-overlay);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);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:var(--color-bg-hover)}.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:color-mix(in srgb,var(--color-compatible) 20%,transparent);color:var(--color-compatible)}.collapse-tab-count.no-compatible{background-color:color-mix(in srgb,var(--color-error) 18%,transparent);color:var(--color-error)}.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:var(--color-bg-overlay);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);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:color-mix(in srgb,var(--color-compatible) 20%,transparent);color:var(--color-compatible)}.panel-count.no-compatible{background-color:color-mix(in srgb,var(--color-error) 18%,transparent);color:var(--color-error)}.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:var(--color-hover-overlay);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:var(--color-bg-hover)}.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:color-mix(in srgb,var(--color-compatible) 20%,transparent);color:var(--color-compatible)}.compat-type-count.no-compatible{background-color:color-mix(in srgb,var(--color-error) 18%,transparent);color:var(--color-error)}.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:var(--color-bg-hover)}.compat-item.selected{background-color:color-mix(in srgb,var(--color-primary) 30%,transparent);border-left:2px solid var(--color-primary);padding-left:8px}.compat-item.compatible,.compat-item.incompatible{color:var(--color-text-primary)}.compat-icon{font-size:.625rem;width:14px;text-align:center;margin-top:2px}.compat-item.compatible .compat-icon{color:var(--color-compatible)}.compat-item.incompatible .compat-icon{color:var(--color-error)}.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,.compat-item.incompatible .compat-dimensions{color:var(--color-text-secondary)}.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:color-mix(in srgb,var(--color-primary) 15%,transparent);border:1px solid color-mix(in srgb,var(--color-primary) 30%,transparent);border-radius:4px}.panel-visualization-toggle:hover{background-color:color-mix(in srgb,var(--color-primary) 25%,transparent)}.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 var(--color-border);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 var(--color-border);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:var(--color-border-focus)}.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}.viewer-legend-overlay{position:absolute;top:8px;right:8px;z-index:10;width:190px;padding:6px 8px;background:var(--color-bg-overlay);border:1px solid var(--color-border-light);border-radius:3px}.viewer-legend-overlay-title{display:block;margin-bottom:4px;font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-secondary)}.mesh-viewer-info{position:absolute;bottom:60px;left:50%;transform:translate(-50%);background-color:var(--color-bg-overlay);color:var(--color-text-primary);border:1px solid var(--color-border-light);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:color-mix(in srgb,var(--color-warning) 15%,transparent);border:1px solid color-mix(in srgb,var(--color-warning) 40%,transparent);color:var(--color-warning);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:var(--color-text-secondary);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{position:relative;flex:1;display:flex;align-items:center;justify-content:center}.preview-placeholder-mark{position:absolute;top:50%;left:50%;width:min(38%,220px);height:auto;transform:translate(-50%,-62%);opacity:.1;pointer-events:none;-webkit-user-select:none;user-select:none}.preview-placeholder-text{position:relative;z-index:1;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:var(--color-bg-overlay);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:var(--color-bg-hover);width:28px}.admin-view{width:100%;height:100%;overflow-y:auto;padding:24px;margin:0 auto}.biofabricators-view,.gcode-profiles-view{max-width:800px;width:100%;height:100%;overflow-y:auto;padding:24px;margin:0 auto}.profile-view,.settings-view,.support-view,.stub-view,.dlp-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:var(--color-bg-overlay);color:var(--color-text-primary);font-size:.75rem;cursor:pointer}.viewer-view-toggle:hover{background:color-mix(in srgb,var(--color-primary) 30%,transparent);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: #17161f;--color-bg-secondary: #211f2b;--color-bg-tertiary: #1b1a24;--color-bg-canvas: #1c1a24;--color-bg-hover: #2e2b3a;--color-bg-active: #3a3550;--color-bg-selected: #2d2a52;--color-bg-overlay: rgba(23, 22, 31, .95);--color-border: #34313f;--color-border-light: #4a4658;--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-text-on-primary: #ffffff;--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-eyebrow: #b388ff;--color-elevated: var(--color-bg-secondary);--color-hover-overlay: rgba( 255, 255, 255, .05 );--color-line: var(--color-border);--text-primary: var(--color-text-primary);--text-secondary: var(--color-text-secondary);--border-color: var(--color-border);--bg-hover: var(--color-bg-hover);--bg-secondary: var(--color-bg-secondary);--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-compatible: var( --color-brand-gold );--color-perimeter: #b94d62;--color-infill: #eac653;--color-path-start: #eac653;--color-path-end: #b94d62;--color-build-surface: #6038d7;--color-container: #00c8ff;--color-grid-minor: #24222e;--color-grid-major: #322f3e;--color-grid-axis: #555;--mark-active: var( --color-brand-gold );--mark-hover: #ffffff;--mark-inlet: #4a9eff;--mark-outlet: #b94d62;--mark-warn: #f4c430;--mark-alt: #d18cff;--mark-fill-alpha: .45;--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: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 12px;--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}:root[data-theme=dark]{--color-bg-primary: #201e2a;--color-bg-secondary: #2a2836;--color-bg-tertiary: #252330;--color-bg-hover: #383547;--color-bg-active: #443f5e;--color-bg-selected: #35316a;--color-bg-overlay: rgba(32, 30, 42, .95);--color-border: #423f52;--color-border-light: #5b5770;--color-text-primary: #e4e2ea;--color-text-secondary: #9d9ab0;--color-text-accent: #ffffff;--color-text-disabled: #6b6880;--color-grid-minor: #2c2a38;--color-grid-major: #3a3750;--color-elevated: #2f2c3d;--color-hover-overlay: rgba(255, 255, 255, .06);--color-line: #423f52}:root[data-theme=light]{--color-bg-primary: #faf8f9;--color-bg-secondary: #ffffff;--color-bg-tertiary: #f1eef8;--color-bg-canvas: #edeaf7;--color-bg-hover: #eeeaf7;--color-bg-active: #e1dcf0;--color-bg-selected: #e5defa;--color-bg-overlay: rgba(250, 248, 249, .96);--color-border: rgba(36, 45, 117, .2);--color-border-light: rgba(36, 45, 117, .3);--color-border-focus: #6038d7;--color-text-primary: #1e1a4a;--color-text-secondary: #3d3958;--color-text-accent: #140f33;--color-text-disabled: #6f6c86;--color-eyebrow: #4c2cb0;--color-grid-minor: #ece8f4;--color-grid-major: #ddd7ec;--color-grid-axis: #b7b3d0;--color-elevated: #ffffff;--color-hover-overlay: rgba(36, 45, 117, .06);--color-line: rgba(36, 45, 117, .14);--color-success: #2e7d32;--color-warning: #a15600;--color-error: #c62828;--color-info: #1565c0;--color-brand-gold: #8a6a12;--mark-hover: #242d75;--mark-inlet: #0068b3;--mark-outlet: #9b2d43;--mark-warn: #9a8500;--mark-alt: #5b3bb0;--shadow-sm: 0 1px 2px rgba(36, 45, 117, .08);--shadow-md: 0 2px 8px rgba(36, 45, 117, .1);--shadow-lg: 0 8px 24px rgba(36, 45, 117, .14)}@media(prefers-color-scheme:dark){:root[data-theme=system]{--color-bg-primary: #201e2a;--color-bg-secondary: #2a2836;--color-bg-tertiary: #252330;--color-bg-hover: #383547;--color-bg-active: #443f5e;--color-bg-selected: #35316a;--color-bg-overlay: rgba(32, 30, 42, .95);--color-border: #423f52;--color-border-light: #5b5770;--color-text-primary: #e4e2ea;--color-text-secondary: #9d9ab0;--color-text-accent: #ffffff;--color-text-disabled: #6b6880;--color-grid-minor: #2c2a38;--color-grid-major: #3a3750;--color-elevated: #2f2c3d;--color-hover-overlay: rgba(255, 255, 255, .06);--color-line: #423f52}}@media(prefers-color-scheme:light){:root[data-theme=system]{--color-bg-primary: #faf8f9;--color-bg-secondary: #ffffff;--color-bg-tertiary: #f1eef8;--color-bg-canvas: #edeaf7;--color-bg-hover: #eeeaf7;--color-bg-active: #e1dcf0;--color-bg-selected: #e5defa;--color-bg-overlay: rgba(250, 248, 249, .96);--color-border: rgba(36, 45, 117, .2);--color-border-light: rgba(36, 45, 117, .3);--color-border-focus: #6038d7;--color-text-primary: #1e1a4a;--color-text-secondary: #3d3958;--color-text-accent: #140f33;--color-text-disabled: #6f6c86;--color-eyebrow: #4c2cb0;--color-grid-minor: #ece8f4;--color-grid-major: #ddd7ec;--color-grid-axis: #b7b3d0;--color-elevated: #ffffff;--color-hover-overlay: rgba(36, 45, 117, .06);--color-line: rgba(36, 45, 117, .14);--color-success: #2e7d32;--color-warning: #a15600;--color-error: #c62828;--color-info: #1565c0;--color-brand-gold: #8a6a12;--mark-hover: #242d75;--mark-inlet: #0068b3;--mark-outlet: #9b2d43;--mark-warn: #9a8500;--mark-alt: #5b3bb0;--shadow-sm: 0 1px 2px rgba(36, 45, 117, .08);--shadow-md: 0 2px 8px rgba(36, 45, 117, .1);--shadow-lg: 0 8px 24px rgba(36, 45, 117, .14)}}.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)}:root[data-theme] h1,:root[data-theme] h2,:root[data-theme] .settings-page-title{font-family:var(--font-family-display);letter-spacing:-.01em}:root[data-theme] .settings-page-section-title,:root[data-theme] .printer-details h3{color:var(--color-eyebrow);text-transform:uppercase;letter-spacing:.12em;font-family:var(--font-family-mono);font-weight:500}:root[data-theme] .settings-page-section{background-color:var(--color-elevated);border:1px solid var(--color-line);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm)}*{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}
