@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";.section-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--spacing-sm)}.section-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-sm) var(--spacing-md);background-color:var(--color-bg-tertiary);border-bottom:var(--border-width) solid var(--color-border);cursor:pointer;-webkit-user-select:none;user-select:none}.section-header:hover{background-color:var(--color-bg-hover)}.section-header-title{font-size:var(--font-size-md);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.section-header-icon{color:var(--color-text-secondary);transition:transform var(--transition-fast)}.section-header-icon.expanded{transform:rotate(90deg)}.section-content{padding:var(--spacing-md)}.info-box{background-color:var(--color-bg-overlay);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-sm) var(--spacing-md)}.info-box-dark{background-color:var(--color-bg-tertiary);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-sm) var(--spacing-md)}.list-item{display:flex;align-items:center;padding:var(--spacing-sm) var(--spacing-md);cursor:pointer;transition:background-color var(--transition-fast);border-bottom:var(--border-width) solid var(--color-border)}.list-item:hover{background-color:var(--color-bg-hover)}.list-item.selected{background-color:var(--color-bg-selected)}.list-item:last-child{border-bottom:none}.btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-md);font-weight:var(--font-weight-medium);color:var(--color-text-primary);background-color:var(--color-bg-hover);border:var(--border-width) solid var(--color-border-light);border-radius:var(--radius-md);cursor:pointer;transition:background-color var(--transition-normal);-webkit-user-select:none;user-select:none}.btn:hover:not(:disabled){background-color:var(--color-bg-active)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-primary{background-color:var(--color-primary);border-color:var(--color-primary);color:var(--color-text-accent)}.btn-primary:hover:not(:disabled){background-color:var(--color-primary-hover)}.btn-sm{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-sm)}.btn-lg{padding:var(--spacing-md) var(--spacing-lg);font-size:var(--font-size-lg)}.form-group{display:flex;flex-direction:column;gap:var(--spacing-xs);margin-bottom:var(--spacing-md)}.form-label{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.form-input{height:var(--input-height-md);padding:0 var(--spacing-sm);font-size:var(--font-size-md);color:var(--color-text-primary);background-color:var(--color-bg-tertiary);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-sm);outline:none;transition:border-color var(--transition-fast)}.form-input:focus{border-color:var(--color-border-focus)}.form-input:disabled{opacity:.5;cursor:not-allowed}.checkbox-label{display:flex;align-items:center;gap:var(--spacing-sm);color:var(--color-text-primary);font-size:var(--font-size-md);cursor:pointer;-webkit-user-select:none;user-select:none}.checkbox-label input[type=checkbox]{width:var(--checkbox-size);height:var(--checkbox-size);cursor:pointer;accent-color:var(--color-primary)}.form-select{height:var(--input-height-md);padding:0 var(--spacing-sm);font-size:var(--font-size-md);color:var(--color-text-primary);background-color:var(--color-bg-tertiary);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-sm);outline:none;cursor:pointer}.form-select:focus{border-color:var(--color-border-focus)}.scrollbar-dark{scrollbar-width:thin;scrollbar-color:var(--color-border) var(--color-bg-primary)}.scrollbar-dark::-webkit-scrollbar{width:8px;height:8px}.scrollbar-dark::-webkit-scrollbar-track{background:var(--color-bg-primary)}.scrollbar-dark::-webkit-scrollbar-thumb{background-color:var(--color-border);border-radius:var(--radius-full);border:2px solid var(--color-bg-primary)}.scrollbar-dark::-webkit-scrollbar-thumb:hover{background-color:var(--color-border-light)}.flex-row{display:flex;flex-direction:row}.flex-col{display:flex;flex-direction:column}.flex-row-gap{display:flex;flex-direction:row;gap:var(--spacing-sm)}.flex-col-gap{display:flex;flex-direction:column;gap:var(--spacing-sm)}.flex-center{display:flex;align-items:center;justify-content:center}.flex-between{display:flex;align-items:center;justify-content:space-between}.flex-1{flex:1}.flex-grow{flex-grow:1}.flex-shrink-0{flex-shrink:0}.flex-responsive{display:flex;flex-direction:column;align-items:stretch;gap:var(--spacing-lg)}@media(min-width:768px){.flex-responsive{flex-direction:row}}.gap-xs{gap:var(--spacing-xs)}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-lg)}.gap-xl{gap:var(--spacing-xl)}.p-xs{padding:var(--spacing-xs)}.p-sm{padding:var(--spacing-sm)}.p-md{padding:var(--spacing-md)}.p-lg{padding:var(--spacing-lg)}.p-xl{padding:var(--spacing-xl)}.m-xs{margin:var(--spacing-xs)}.m-sm{margin:var(--spacing-sm)}.m-md{margin:var(--spacing-md)}.m-lg{margin:var(--spacing-lg)}.m-xl{margin:var(--spacing-xl)}.text-primary{color:var(--color-text-primary)}.text-secondary{color:var(--color-text-secondary)}.text-accent{color:var(--color-text-accent)}.text-error{color:var(--color-error)}.text-success{color:var(--color-success)}.text-warning{color:var(--color-warning)}.text-xs{font-size:var(--font-size-xs)}.text-sm{font-size:var(--font-size-sm)}.text-md{font-size:var(--font-size-md)}.text-lg{font-size:var(--font-size-lg)}.text-xl{font-size:var(--font-size-xl)}.font-medium{font-weight:var(--font-weight-medium)}.font-semibold{font-weight:var(--font-weight-semibold)}.font-bold{font-weight:var(--font-weight-bold)}.text-mono{font-family:var(--font-family-mono)}.toggle-indicator{width:12px;height:3px;border-radius:1px;flex-shrink:0}.toggle-indicator.perimeter{background-color:var(--color-perimeter)}.toggle-indicator.infill{background-color:var(--color-infill)}.legend{display:flex;flex-direction:column;gap:var(--spacing-sm)}.legend-item{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-xs);color:var(--color-text-secondary)}.legend-color{width:10px;height:10px;border-radius:var(--radius-full);flex-shrink:0}.legend-color.perimeter{background-color:var(--color-perimeter)}.legend-color.infill{background-color:var(--color-infill)}.legend-color.start{background-color:var(--color-path-start)}.legend-color.end{background-color:var(--color-path-end)}.canvas-overlay-panel{position:absolute;background-color:var(--color-bg-overlay);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg);border:var(--border-width) solid var(--color-border);box-shadow:var(--shadow-md);z-index:var(--z-dropdown)}.canvas-controls{position:absolute;top:var(--spacing-md);right:var(--spacing-md)}.canvas-info-bar{position:absolute;bottom:var(--spacing-md);left:50%;transform:translate(-50%)}.canvas-legend{position:absolute;bottom:120px;right:var(--spacing-md)}*{margin:0;padding:0;box-sizing:border-box}body{margin:0;font-family:var(--font-family);background-color:var(--color-bg-primary);color:var(--color-text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.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)}}.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)}.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)}.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)}.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}.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)}.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}: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)}}.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)}.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)}.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)}.capitula-header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);flex-wrap:wrap;padding:var(--spacing-md) var(--spacing-xl);border-bottom:1px solid var(--color-border);background-color:var(--color-bg-secondary)}.capitula-header__brand{display:flex;align-items:center;gap:var(--spacing-sm);padding:0;border:none;background:none;color:inherit;cursor:pointer;font:inherit}.capitula-header__brand:focus-visible{outline:2px solid var(--color-primary);outline-offset:4px;border-radius:var(--radius-sm)}.capitula-header__mark{width:28px;height:28px}.capitula-header__wordmark{font-size:1.125rem;font-weight:var(--font-weight-semibold);letter-spacing:.02em}.capitula-header__actions{display:flex;align-items:center;gap:var(--spacing-md)}.capitula-header__user{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.module-tile{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:var(--spacing-sm);padding:var(--spacing-xl) var(--spacing-lg);text-align:center;border:1px solid var(--color-border);border-radius:var(--radius-lg);background-color:var(--color-bg-secondary);color:inherit;text-decoration:none;transition:border-color var(--transition-fast),background-color var(--transition-fast),transform var(--transition-fast)}a.module-tile:hover{border-color:var(--color-border-focus);background-color:var(--color-bg-hover);transform:translateY(-2px)}a.module-tile:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.module-tile--inert{opacity:.55;cursor:default}.module-tile__mark{width:72px;height:72px}.module-tile__name{font-size:1.125rem;font-weight:var(--font-weight-semibold)}@media(prefers-reduced-motion:reduce){.module-tile,a.module-tile:hover{transition:none;transform:none}}.module-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--spacing-lg);list-style:none;margin:0;padding:0}.module-grid>li{display:flex}.module-grid>li>*{flex:1}.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-field{display:flex;align-items:center;justify-content:space-between;padding:8px 0}.settings-page-field+.settings-page-field{border-top:1px solid var(--color-border)}.settings-page-label{font-size:.8125rem;color:var(--color-text-secondary);flex-shrink:0;margin-right:16px}.settings-page-field .select-input{min-width:180px}.settings-page-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.support-page{color:var(--color-text-primary)}.support-page-title{font-size:1.5rem;font-weight:600;margin:0 0 24px}.support-page-section{background-color:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:8px;padding:16px 20px;margin-bottom:16px}.support-page-section-title{font-size:.875rem;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px;margin:0 0 12px}.support-page-text{font-size:.8125rem;color:var(--color-text-primary);margin:0 0 12px;line-height:1.5}.support-page-list{font-size:.8125rem;color:var(--color-text-primary);margin:0;padding-left:20px;line-height:1.8}.support-page-field{display:flex;align-items:center;justify-content:space-between;padding:8px 0}.support-page-label{font-size:.8125rem;color:var(--color-text-secondary);flex-shrink:0;margin-right:16px}.support-page-email{font-size:.8125rem;color:#4fc3f7;text-decoration:none}.support-page-email:hover{text-decoration:underline}.capitula-landing{display:flex;flex-direction:column;min-height:100vh;background-color:var(--color-bg-primary)}.capitula-landing__main{width:100%;max-width:1200px;margin:0 auto;padding:var(--spacing-2xl) var(--spacing-xl);display:flex;flex-direction:column;gap:var(--spacing-2xl)}.capitula-landing__title{font-size:2rem;font-weight:var(--font-weight-semibold);line-height:1.2}.app-checking-auth,.app-error-fallback{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-md);min-height:100vh;text-align:center;color:var(--color-text-secondary)}
