.curation-mode-selector{padding:12px;border-bottom:1px solid #e0e0e0;border-bottom:1px solid var(--border-color, #e0e0e0);background:#fafafa;background:var(--background-subtle, #fafafa)}.curation-mode-selector.compact{padding:8px}.mode-selector-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.mode-selector-label{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600;color:#666;color:var(--text-secondary, #666);text-transform:uppercase;letter-spacing:.5px;cursor:default}.label-text{-webkit-user-select:none;-moz-user-select:none;user-select:none}.node-count-badge{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:18px;padding:0 6px;background:#06c;background:var(--primary-color, #0066cc);color:#fff;font-size:11px;font-weight:600;border-radius:9px;line-height:1}.mode-buttons{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:6px;gap:6px}.curation-mode-selector.compact .mode-buttons{grid-template-columns:repeat(4,1fr);gap:4px}.mode-button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:8px 12px;background:#fff;border:2px solid #e0e0e0;border:2px solid var(--border-color, #e0e0e0);border-radius:8px;cursor:pointer;transition:all .2s ease;font-size:13px;font-weight:500;color:#333;color:var(--text-primary, #333);min-height:60px}.curation-mode-selector.compact .mode-button{min-height:40px;padding:6px 8px;font-size:12px}.mode-button:hover{background:#f5f5f5;background:var(--background-hover, #f5f5f5);border-color:#4d94ff;border-color:var(--primary-color-light, #4d94ff);transform:translateY(-1px)}.mode-button.active{background:#06c;background:var(--primary-color, #0066cc);border-color:#06c;border-color:var(--primary-color, #0066cc);color:#fff;box-shadow:0 2px 8px #0066cc4d}.mode-button.active:hover{background:#0052a3;background:var(--primary-color-dark, #0052a3);border-color:#0052a3;border-color:var(--primary-color-dark, #0052a3);transform:translateY(-1px)}.mode-icon{font-size:18px;line-height:1}.curation-mode-selector.compact .mode-icon{font-size:16px}.mode-label{font-size:11px;font-weight:600;text-align:center;line-height:1.2;white-space:nowrap}.mode-description{margin-top:8px;padding-top:8px;border-top:1px solid #f0f0f0;border-top:1px solid var(--border-color-light, #f0f0f0)}.mode-description-text{display:block;font-size:11px;color:#999;color:var(--text-tertiary, #999);text-align:center;line-height:1.4}@media(max-width:768px){.mode-buttons{grid-template-columns:repeat(2,1fr)}.mode-button{min-height:50px}}@media(prefers-color-scheme:dark){.curation-mode-selector{background:#1a1a1a;background:var(--background-subtle-dark, #1a1a1a);border-bottom-color:#333;border-bottom-color:var(--border-color-dark, #333)}.mode-selector-label{color:#aaa;color:var(--text-secondary-dark, #aaa)}.mode-button{background:#2a2a2a;background:var(--background-dark, #2a2a2a);border-color:#444;border-color:var(--border-color-dark, #444);color:#e0e0e0;color:var(--text-primary-dark, #e0e0e0)}.mode-button:hover{background:#333;background:var(--background-hover-dark, #333);border-color:#4d94ff;border-color:var(--primary-color-light, #4d94ff)}.mode-button.active{background:#06c;background:var(--primary-color, #0066cc);border-color:#06c;border-color:var(--primary-color, #0066cc);color:#fff}.mode-description-text{color:#666;color:var(--text-tertiary-dark, #666)}}.enhanced-node-palette{display:flex;flex-direction:column;height:100%;background:var(--color-surface-primary);border-right:1px solid var(--color-border);font-family:var(--font-ui)}.enhanced-node-palette.compact{--node-card-size: 60px;--node-spacing: var(--spacing-1)}.panel-header{padding:var(--spacing-4);border-bottom:1px solid var(--color-border)}.panel-title-group{display:flex;flex-direction:column;gap:var(--spacing-1)}.panel-title{font-size:1rem;font-weight:600;color:var(--color-text-primary);margin:0}.panel-subtitle{font-size:.75rem;color:var(--color-text-secondary);font-weight:400}.palette-status{margin:0 var(--spacing-4);margin-bottom:var(--spacing-3);padding:var(--spacing-2) var(--spacing-3);border-radius:var(--radius-md);font-size:.75rem;display:flex;align-items:center;gap:var(--spacing-2)}.palette-status--info{background:var(--color-primary-50);color:var(--color-primary-700);border:1px solid var(--color-primary-200)}.palette-status--warning{background:#fff7ed;background:var(--color-warning-50, #fff7ed);color:#b45309;color:var(--color-warning-700, #b45309);border:1px solid #fed7aa;border:1px solid var(--color-warning-200, #fed7aa)}.node-search-bar{display:flex;flex-direction:column;gap:var(--spacing-3);padding:var(--spacing-4);border-bottom:1px solid var(--color-border)}.node-search-bar.disabled{opacity:.6;pointer-events:none}.search-input-container{position:relative;display:flex;align-items:center;gap:var(--spacing-2);background:var(--color-surface-secondary);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-2) var(--spacing-3);transition:var(--transition-button)}.search-input-container:focus-within{border-color:var(--color-primary-500);box-shadow:0 0 0 3px var(--color-primary-100)}.search-icon{color:var(--color-text-secondary);font-size:.875rem}.search-spinner{width:12px;height:12px;border:2px solid var(--color-border);border-top:2px solid var(--color-primary-500);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.search-input{flex:1;border:none;background:transparent;font-size:.875rem;color:var(--color-text-primary);outline:none;padding:0}.search-input::-moz-placeholder{color:var(--color-text-tertiary)}.search-input::placeholder{color:var(--color-text-tertiary)}.search-clear{background:none;border:none;color:var(--color-text-secondary);cursor:pointer;font-size:1.25rem;padding:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:var(--transition-button)}.search-clear:hover{background:var(--color-surface-tertiary);color:var(--color-text-primary)}.search-controls{display:flex;gap:var(--spacing-2);flex-wrap:wrap}.dropdown-container{position:relative}.control-button{background:var(--color-surface-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-1-5) var(--spacing-3);font-size:.75rem;color:var(--color-text-secondary);cursor:pointer;display:flex;align-items:center;gap:var(--spacing-1);transition:var(--transition-button)}.control-button:hover{background:var(--color-surface-tertiary);border-color:var(--color-border-strong);color:var(--color-text-primary)}.control-button.active{background:var(--color-primary-100);border-color:var(--color-primary-300);color:var(--color-primary-700)}.control-button:disabled,.clear-filters-btn:disabled,.search-clear:disabled,.clear-all-btn:disabled{cursor:not-allowed;opacity:.6}.filter-count{background:var(--color-primary-500);color:#fff;font-size:.625rem;padding:.125rem .375rem;border-radius:var(--radius-full);font-weight:600}.dropdown-arrow{font-size:.75rem;transition:transform .2s ease}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;background:var(--color-surface-primary);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-dropdown);min-width:240px;max-height:400px;overflow-y:auto;margin-top:var(--spacing-1)}.filter-dropdown{width:280px}.dropdown-section{padding:var(--spacing-3);border-bottom:1px solid var(--color-border)}.dropdown-section:last-child{border-bottom:none}.dropdown-section h4{font-size:.75rem;font-weight:600;color:var(--color-text-primary);margin:0 0 var(--spacing-2) 0;text-transform:uppercase;letter-spacing:.05em}.filter-options{display:flex;flex-direction:column;gap:var(--spacing-1)}.filter-option{display:flex;align-items:center;gap:var(--spacing-2);font-size:.8125rem;color:var(--color-text-secondary);cursor:pointer;padding:var(--spacing-1);border-radius:var(--radius-sm);transition:var(--transition-button)}.filter-option:hover{background:var(--color-surface-secondary);color:var(--color-text-primary)}.filter-option input[type=checkbox]{margin:0}.capitalize{text-transform:capitalize}.more-filters{font-size:.75rem;color:var(--color-text-tertiary);padding:var(--spacing-1);text-align:center}.dropdown-actions{padding:var(--spacing-2);display:flex;justify-content:flex-end}.clear-filters-btn{background:var(--color-surface-secondary);border:1px solid var(--color-border);color:var(--color-text-secondary);font-size:.75rem;padding:var(--spacing-1) var(--spacing-3);border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition-button)}.clear-filters-btn:hover{background:var(--color-error-100);border-color:var(--color-error-300);color:var(--color-error-700)}.sort-dropdown,.view-dropdown{width:160px}.dropdown-option{display:flex;align-items:center;width:100%;padding:var(--spacing-2) var(--spacing-3);border:none;background:transparent;font-size:.8125rem;color:var(--color-text-secondary);cursor:pointer;transition:var(--transition-button);text-align:left}.dropdown-option:hover{background:var(--color-surface-secondary);color:var(--color-text-primary)}.dropdown-option.selected{background:var(--color-primary-100);color:var(--color-primary-700)}.view-option{display:flex;flex-direction:column;gap:.25rem}.view-option small{font-size:.6875rem;color:var(--color-text-tertiary)}.search-status{display:flex;justify-content:space-between;align-items:center}.result-count{font-size:.75rem;color:var(--color-text-tertiary)}.panel-content{flex:1;overflow:hidden;display:flex;flex-direction:column}.content-layout{flex:1;display:flex;overflow:hidden}.category-sidebar{width:180px;border-right:1px solid var(--color-border);overflow-y:auto;background:var(--color-surface-secondary)}.category-tree-sidebar{height:100%;display:flex;flex-direction:column}.category-tree-header{padding:var(--spacing-3);border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;align-items:flex-start}.header-title h4{font-size:.75rem;font-weight:600;color:var(--color-text-primary);margin:0;text-transform:uppercase;letter-spacing:.05em}.category-count{font-size:.625rem;color:var(--color-text-tertiary)}.header-actions{display:flex;gap:var(--spacing-1)}.action-btn{background:none;border:1px solid var(--color-border);color:var(--color-text-secondary);width:20px;height:20px;border-radius:var(--radius-sm);cursor:pointer;font-size:.75rem;display:flex;align-items:center;justify-content:center;transition:var(--transition-button)}.action-btn:hover{background:var(--color-surface-tertiary);color:var(--color-text-primary)}.category-tree-content{flex:1;overflow-y:auto}.categories-list{padding:var(--spacing-2)}.category-node{margin-bottom:var(--spacing-1)}.category-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-1-5) var(--spacing-2);border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition-button);font-size:.8125rem}.category-header:hover{background:var(--color-surface-tertiary)}.category-header.selected{background:var(--color-primary-100);color:var(--color-primary-700)}.category-main{display:flex;align-items:center;gap:var(--spacing-2);flex:1;min-width:0}.expand-toggle{background:none;border:none;color:var(--color-text-secondary);cursor:pointer;padding:0;width:16px;height:16px;display:flex;align-items:center;justify-content:center;transition:var(--transition-button)}.expand-toggle .chevron{font-size:.625rem;transition:transform .2s ease}.expand-toggle.expanded .chevron{transform:rotate(90deg)}.category-icon{font-size:.875rem}.category-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.node-count{font-size:.6875rem;color:var(--color-text-tertiary);background:var(--color-surface-tertiary);padding:.125rem .375rem;border-radius:var(--radius-full);font-weight:500}.subcategories{margin-left:var(--spacing-4);border-left:1px solid var(--color-border);padding-left:var(--spacing-2);margin-top:var(--spacing-1)}.category-node.level-1 .category-header{padding-left:var(--spacing-4);font-size:.75rem}.selected-category-info{margin:var(--spacing-3);padding:var(--spacing-3);background:var(--color-surface-primary);border:1px solid var(--color-border);border-radius:var(--radius-md)}.info-header{display:flex;align-items:center;gap:var(--spacing-2);margin-bottom:var(--spacing-2)}.info-header .category-name{font-weight:600;color:var(--color-text-primary)}.info-stats{display:flex;flex-direction:column;gap:var(--spacing-1);margin-bottom:var(--spacing-2)}.stat{display:flex;justify-content:space-between;font-size:.75rem}.stat-label{color:var(--color-text-secondary)}.stat-value{color:var(--color-text-primary);font-weight:500}.clear-selection-btn{background:var(--color-surface-secondary);border:1px solid var(--color-border);color:var(--color-text-secondary);font-size:.75rem;padding:var(--spacing-1) var(--spacing-2);border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition-button);width:100%}.clear-selection-btn:hover{background:var(--color-error-100);border-color:var(--color-error-300);color:var(--color-error-700)}.show-more-container{padding:var(--spacing-2);text-align:center}.show-more-btn{background:none;border:1px solid var(--color-border);color:var(--color-text-secondary);font-size:.75rem;padding:var(--spacing-1) var(--spacing-3);border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition-button)}.show-more-btn:hover{background:var(--color-surface-tertiary);color:var(--color-text-primary)}.nodes-display{flex:1;display:flex;flex-direction:column;overflow:hidden}.nodes-header{padding:var(--spacing-3) var(--spacing-4);border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;align-items:center}.results-info{font-size:.8125rem;color:var(--color-text-secondary)}.filtered-results{color:var(--color-text-primary)}.category-filter{color:var(--color-primary-600);font-weight:500}.clear-all-btn{background:var(--color-surface-secondary);border:1px solid var(--color-border);color:var(--color-text-secondary);font-size:.75rem;padding:var(--spacing-1) var(--spacing-2);border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition-button)}.clear-all-btn:hover{background:var(--color-error-100);border-color:var(--color-error-300);color:var(--color-error-700)}.nodes-container{flex:1;overflow-y:auto;padding:var(--spacing-3)}.node-registry-placeholder{border:1px dashed var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-6);text-align:center;background:var(--color-surface-secondary);color:var(--color-text-secondary);display:flex;flex-direction:column;gap:var(--spacing-2);align-items:center;justify-content:center}.node-registry-placeholder.warning{border-color:#fbbf24;border-color:var(--color-warning-300, #fbbf24);background:#fff7ed;background:var(--color-warning-50, #fff7ed);color:#b45309;color:var(--color-warning-700, #b45309)}.node-registry-placeholder .placeholder-icon{font-size:2rem}.node-registry-placeholder h4{margin:0;font-size:1rem;color:inherit}.node-registry-placeholder p{margin:0;max-width:440px}.node-registry-placeholder code{background:#00000014;padding:.125rem .375rem;border-radius:var(--radius-sm);font-size:.75rem}.node-registry-placeholder .placeholder-errors{text-align:left;width:100%;max-width:480px;margin-top:var(--spacing-2)}.node-registry-placeholder .placeholder-errors summary{cursor:pointer;font-size:.75rem;color:inherit}.node-registry-placeholder .placeholder-errors ul{margin:var(--spacing-2) 0 0;padding-left:var(--spacing-4);font-size:.75rem}.node-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));grid-gap:var(--spacing-3);gap:var(--spacing-3)}.node-grid.compact{grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:var(--spacing-2)}.node-list{display:flex;flex-direction:column;gap:var(--spacing-1)}.node-compact-grid{display:flex;flex-wrap:wrap;gap:var(--spacing-1)}.node-card{position:relative;background:var(--color-surface-primary);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-3);cursor:-webkit-grab;cursor:grab;transition:var(--transition-button);min-height:100px;display:flex;flex-direction:column;overflow:hidden}.node-card.compact{padding:var(--spacing-2);min-height:60px}.node-card:hover{background:var(--color-surface-secondary);border-color:var(--color-border-strong);transform:translateY(-1px);box-shadow:var(--shadow-button-hover)}.node-card.selected{background:var(--color-primary-50);border-color:var(--color-primary-300)}.node-card.dragging{opacity:.5;transform:scale(.95);cursor:-webkit-grabbing;cursor:grabbing}.node-card.pressed{transform:scale(.98)}.node-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-2)}.node-icon-container{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--color-surface-secondary);border-radius:var(--radius-md)}.node-card.compact .node-icon-container{width:24px;height:24px}.node-card-icon{transition:var(--transition-button)}.node-card-icon.dragging{opacity:.7}.favorite-button{background:none;border:none;color:var(--color-text-tertiary);cursor:pointer;padding:var(--spacing-1);border-radius:var(--radius-sm);transition:var(--transition-button)}.favorite-button:hover{background:var(--color-surface-tertiary);color:var(--color-text-secondary)}.favorite-button.active{color:var(--color-accent-500)}.star-icon{font-size:.875rem}.star-icon.filled{color:var(--color-accent-500)}.node-card-content{flex:1;display:flex;flex-direction:column;gap:var(--spacing-1)}.node-title{font-size:.8125rem;font-weight:500;color:var(--color-text-primary);line-height:1.3;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.node-title.compact{font-size:.75rem;-webkit-line-clamp:1}.node-category{font-size:.6875rem;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.025em;font-weight:500}.node-description{font-size:.75rem;color:var(--color-text-tertiary);line-height:1.3;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.node-tags{display:flex;flex-wrap:wrap;gap:var(--spacing-1);margin-top:var(--spacing-1)}.node-tag{background:var(--color-surface-tertiary);color:var(--color-text-secondary);font-size:.625rem;padding:.125rem .375rem;border-radius:var(--radius-full);white-space:nowrap;font-weight:500}.node-tag-more{background:var(--color-surface-tertiary);color:var(--color-text-tertiary);font-size:.625rem;padding:.125rem .375rem;border-radius:var(--radius-full);font-weight:500}.node-card-overlay{position:absolute;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s ease;border-radius:var(--radius-md)}.node-card:hover .node-card-overlay{opacity:1}.drag-indicator{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-1);color:#fff;text-align:center}.drag-icon{font-size:1.25rem;letter-spacing:-.1em}.drag-text{font-size:.75rem;font-weight:500}.node-list-item{display:flex;align-items:center;gap:var(--spacing-3);padding:var(--spacing-2);background:var(--color-surface-primary);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:-webkit-grab;cursor:grab;transition:var(--transition-button)}.node-list-item:hover{background:var(--color-surface-secondary);border-color:var(--color-border-strong)}.node-list-item.selected{background:var(--color-primary-50);border-color:var(--color-primary-300)}.node-list-item.dragging{opacity:.5;cursor:-webkit-grabbing;cursor:grabbing}.node-list-icon{flex-shrink:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:var(--color-surface-secondary);border-radius:var(--radius-sm)}.node-list-content{flex:1;display:flex;flex-direction:column;gap:var(--spacing-1);min-width:0}.node-list-main{display:flex;align-items:center;gap:var(--spacing-2)}.node-list-title{font-size:.8125rem;font-weight:500;color:var(--color-text-primary)}.node-list-category{font-size:.6875rem;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.025em;font-weight:500}.node-list-description{font-size:.75rem;color:var(--color-text-tertiary);line-height:1.3}.node-list-tags{display:flex;flex-wrap:wrap;gap:var(--spacing-1)}.node-list-tag{background:var(--color-surface-tertiary);color:var(--color-text-secondary);font-size:.625rem;padding:.125rem .375rem;border-radius:var(--radius-full);white-space:nowrap;font-weight:500}.node-list-tag-more{background:var(--color-surface-tertiary);color:var(--color-text-tertiary);font-size:.625rem;padding:.125rem .375rem;border-radius:var(--radius-full);font-weight:500}.node-list-actions{display:flex;align-items:center;gap:var(--spacing-2);flex-shrink:0}.favorite-button-small{background:none;border:none;color:var(--color-text-tertiary);cursor:pointer;padding:var(--spacing-1);border-radius:var(--radius-sm);transition:var(--transition-button)}.favorite-button-small:hover{background:var(--color-surface-tertiary);color:var(--color-text-secondary)}.favorite-button-small.active{color:var(--color-accent-500)}.star-icon-small{font-size:.75rem}.star-icon-small.filled{color:var(--color-accent-500)}.drag-handle{color:var(--color-text-tertiary);font-size:.75rem;cursor:-webkit-grab;cursor:grab;padding:var(--spacing-1);border-radius:var(--radius-sm);transition:var(--transition-button);letter-spacing:-.1em}.drag-handle:hover{background:var(--color-surface-tertiary);color:var(--color-text-secondary)}.node-compact-item{display:flex;align-items:center;gap:var(--spacing-1);padding:var(--spacing-1) var(--spacing-2);background:var(--color-surface-primary);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:-webkit-grab;cursor:grab;transition:var(--transition-button);font-size:.75rem;white-space:nowrap;max-width:-moz-fit-content;max-width:-webkit-fit-content;max-width:fit-content}.node-compact-item:hover{background:var(--color-surface-secondary);border-color:var(--color-border-strong)}.node-compact-item.selected{background:var(--color-primary-50);border-color:var(--color-primary-300)}.node-compact-item.favorite{border-color:var(--color-accent-300)}.node-compact-item.dragging{opacity:.5;cursor:-webkit-grabbing;cursor:grabbing}.compact-label{color:var(--color-text-primary);font-weight:500}.compact-star{font-size:.625rem;color:var(--color-accent-500)}.no-nodes-found{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-8);text-align:center}.no-nodes-icon{font-size:3rem;margin-bottom:var(--spacing-4);opacity:.5}.no-nodes-text h4{font-size:1rem;color:var(--color-text-primary);margin:0 0 var(--spacing-2) 0}.no-nodes-text p{font-size:.875rem;color:var(--color-text-secondary);margin:0 0 var(--spacing-4) 0}.clear-search-btn{background:var(--color-primary-500);color:#fff;border:none;padding:var(--spacing-2) var(--spacing-4);border-radius:var(--radius-md);font-size:.875rem;cursor:pointer;transition:var(--transition-button)}.clear-search-btn:hover{background:var(--color-primary-600)}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-8);text-align:center}.loading-spinner{width:32px;height:32px;border:3px solid var(--color-border);border-top:3px solid var(--color-primary-500);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:var(--spacing-4)}.panel-footer{padding:var(--spacing-3) var(--spacing-4);border-top:1px solid var(--color-border);background:var(--color-surface-secondary)}.statistics{display:flex;gap:var(--spacing-6)}.stat-item{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-1)}.stat-value{font-size:1rem;font-weight:600;color:var(--color-text-primary)}.stat-label{font-size:.6875rem;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.025em;font-weight:500}.search-highlight{background:var(--color-accent-200);color:var(--color-accent-800);padding:.125em 0;border-radius:.125em;font-weight:500}@media(max-width:768px){.enhanced-node-palette{--node-spacing: var(--spacing-1)}.category-sidebar{width:140px}.node-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:var(--spacing-2)}.search-controls{flex-direction:column;gap:var(--spacing-2)}.control-button{justify-content:center}.dropdown-menu{left:0;right:0;width:auto}}@media(max-width:480px){.content-layout{flex-direction:column}.category-sidebar{width:auto;height:200px;border-right:none;border-bottom:1px solid var(--color-border)}.node-grid{grid-template-columns:repeat(auto-fill,minmax(80px,1fr))}.statistics{gap:var(--spacing-4)}}@media(prefers-contrast:high){.node-card{border-width:2px}.node-card:hover{border-width:3px}.search-highlight{background:var(--color-accent-400);color:var(--color-accent-900);font-weight:600}}@media(prefers-reduced-motion:reduce){.node-card,.node-list-item,.node-compact-item,.category-header,.control-button,.search-input-container,.expand-toggle .chevron{transition:none}.loading-spinner,.search-spinner{animation:none;border-top-color:var(--color-primary-500)}}.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-2);font-family:var(--font-family-ui);font-weight:var(--font-weight-medium);line-height:var(--line-height-tight);text-decoration:none;white-space:nowrap;letter-spacing:var(--letter-spacing-wide);border:1px solid transparent;border-radius:var(--radius-md);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:var(--transition-button);overflow:hidden;min-width:-moz-fit-content;min-width:-webkit-fit-content;min-width:fit-content;isolation:isolate;-webkit-backface-visibility:hidden;backface-visibility:hidden;will-change:background-color,border-color,box-shadow,transform}.btn:before{content:"";position:absolute;inset:0;background:var(--gradient-button);opacity:0;transition:var(--transition-hover);pointer-events:none;z-index:1}.btn:after{content:"";position:absolute;top:50%;left:50%;width:0;height:0;background:#ffffff4d;border-radius:50%;transform:translate(-50%,-50%);transition:width var(--duration-fast) var(--ease-out),height var(--duration-fast) var(--ease-out);pointer-events:none;z-index:1}.btn:hover:before{opacity:1}.btn:active:after{width:120%;height:120%;transition:width var(--duration-instant) var(--ease-out),height var(--duration-instant) var(--ease-out)}.btn:focus-visible{outline:none;box-shadow:var(--shadow-focus);z-index:10}.btn:focus{outline:none;box-shadow:var(--shadow-interactive-focus)}.btn:active{transform:translateY(1px);transition:transform var(--duration-instant) var(--ease-out)}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none!important;pointer-events:none}.btn:disabled:before,.btn:disabled:after{opacity:0!important}.btn:disabled:not(.btn-loading){background-color:var(--color-interactive-primary-disabled)!important;border-color:var(--color-border-interactive-disabled)!important;color:var(--color-text-quaternary)!important}.btn-primary{background:var(--gradient-primary);color:var(--color-text-inverse);border-color:var(--color-interactive-primary);box-shadow:var(--shadow-interactive-default)}.btn-primary:hover{background:var(--color-interactive-primary-hover);border-color:var(--color-interactive-primary-hover);box-shadow:var(--shadow-interactive-hover);transform:translateY(-1px)}.btn-primary:active{background:var(--color-interactive-primary-active);border-color:var(--color-interactive-primary-active);box-shadow:var(--shadow-interactive-active);transform:translateY(1px)}.btn-primary:disabled{background:var(--color-interactive-primary-disabled)!important;border-color:var(--color-interactive-primary-disabled)!important;color:var(--color-text-quaternary)!important}.btn-secondary{background:var(--color-surface-primary);color:var(--color-text-primary);border-color:var(--color-border-interactive-default);box-shadow:var(--shadow-interactive-default)}.btn-secondary:hover{background:var(--color-bg-interactive-hover);border-color:var(--color-border-interactive-hover);box-shadow:var(--shadow-interactive-hover);transform:translateY(-1px)}.btn-secondary:active{background:var(--color-bg-interactive-active);border-color:var(--color-border-interactive-active);box-shadow:var(--shadow-interactive-active);transform:translateY(1px)}.btn-secondary:disabled{background:var(--color-interactive-secondary-disabled)!important;border-color:var(--color-border-interactive-disabled)!important;color:var(--color-text-quaternary)!important}.btn-tertiary{background:var(--color-surface-secondary);color:var(--color-text-primary);border-color:var(--color-border)}.btn-tertiary:hover{background:var(--color-surface-tertiary);border-color:var(--color-border-strong)}.btn-ghost{background:transparent;color:var(--color-text-secondary);border-color:transparent}.btn-ghost:hover{background:var(--color-surface-tertiary);color:var(--color-text-primary);border-color:transparent}.btn-ghost:active{background:var(--color-surface-quaternary)}.btn-danger{background:var(--color-interactive-danger);color:var(--color-text-inverse);border-color:var(--color-interactive-danger);box-shadow:var(--shadow-interactive-default)}.btn-danger:hover{background:var(--color-interactive-danger-hover);border-color:var(--color-interactive-danger-hover);box-shadow:var(--shadow-interactive-hover);transform:translateY(-1px)}.btn-danger:active{background:var(--color-interactive-danger-active);border-color:var(--color-interactive-danger-active);box-shadow:var(--shadow-interactive-active);transform:translateY(1px)}.btn-danger:disabled{background:var(--color-interactive-danger-disabled)!important;border-color:var(--color-interactive-danger-disabled)!important;color:var(--color-text-quaternary)!important}.btn-sm{padding:var(--spacing-button-sm);font-size:var(--font-size-xs);height:var(--height-button-sm);min-width:var(--height-button-sm);letter-spacing:var(--letter-spacing-wider)}.btn-md{padding:var(--spacing-button-md);font-size:var(--font-size-sm);height:var(--height-button-md);min-width:var(--height-button-md);letter-spacing:var(--letter-spacing-wide)}.btn-lg{padding:var(--spacing-button-lg);font-size:var(--font-size-base);height:var(--height-button-lg);min-width:var(--height-button-lg);letter-spacing:var(--letter-spacing-wide)}.btn-icon{aspect-ratio:1;padding:0}.btn-icon.btn-sm{width:var(--button-height-sm);height:var(--button-height-sm)}.btn-icon.btn-md{width:var(--button-height-md);height:var(--button-height-md)}.btn-icon.btn-lg{width:var(--button-height-lg);height:var(--button-height-lg)}.btn-icon-left{margin-right:calc(var(--spacing-1) * -1)}.btn-icon-right{margin-left:calc(var(--spacing-1) * -1)}.btn-full-width{width:100%}.btn-loading{color:transparent!important;pointer-events:none;position:relative}.btn-loading-spinner{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:currentColor;animation:spin 1s linear infinite;z-index:2}.btn-primary.btn-loading .btn-loading-spinner{color:var(--color-text-inverse)}.btn-secondary.btn-loading .btn-loading-spinner,.btn-tertiary.btn-loading .btn-loading-spinner{color:var(--color-text-primary)}.btn-ghost.btn-loading .btn-loading-spinner{color:var(--color-text-secondary)}.btn-danger.btn-loading .btn-loading-spinner{color:var(--color-text-inverse)}.btn-loading:disabled{opacity:1!important}.btn-loading:before{opacity:.1}.btn-content{display:flex;align-items:center;justify-content:center;position:relative;z-index:2}.btn-primary.active,.btn-secondary.active{background:var(--color-engineering-100);color:var(--color-engineering-700);border-color:var(--color-engineering-300)}.btn-ghost.active{background:var(--color-engineering-100);color:var(--color-engineering-700)}@media(max-width:768px){.btn-sm{padding:var(--spacing-1) var(--spacing-2);font-size:var(--font-size-xs)}.btn-md{padding:var(--spacing-2) var(--spacing-3);font-size:var(--font-size-xs)}.btn-lg{padding:var(--spacing-2) var(--spacing-4);font-size:var(--font-size-sm)}}@media(prefers-contrast:high){.btn{border-width:2px}.btn-primary{border-color:var(--color-engineering-800)}.btn-secondary,.btn-tertiary{border-color:var(--color-text-primary)}.btn-danger{border-color:var(--color-error-800)}}@media(prefers-reduced-motion:reduce){.btn{transition:none}.btn:hover{transform:none}.btn-loading-spinner{animation:none}}.inspector{position:absolute;right:0;top:0;width:320px;height:100%;background:var(--color-surface-primary);border-left:1px solid var(--color-border);padding:var(--spacing-4);overflow-y:auto;box-shadow:var(--shadow-panel);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:var(--transition-panel)}.inspector h2{margin:0 0 var(--spacing-4) 0;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);letter-spacing:var(--letter-spacing-tight)}.inspector h3{margin:var(--spacing-4) 0 var(--spacing-2) 0;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide)}.inspector .empty-state{color:var(--color-text-tertiary);font-size:var(--font-size-sm);text-align:center;margin-top:var(--spacing-8);padding:var(--spacing-6);background:var(--color-surface-secondary);border-radius:var(--radius-lg);border:1px solid var(--color-border);box-shadow:var(--shadow-xs)}.inspector .params{display:flex;flex-direction:column;gap:var(--spacing-3)}.inspector .param{display:flex;flex-direction:column;gap:var(--spacing-2);padding:var(--spacing-3);background:var(--color-surface-secondary);border-radius:var(--radius-md);border:1px solid var(--color-border);transition:var(--transition-hover);position:relative;overflow:hidden}.inspector .param:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--gradient-primary);opacity:0;transition:var(--transition-hover)}.inspector .param:hover{background:var(--color-surface-tertiary);border-color:var(--color-border-strong);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.inspector .param:hover:before{opacity:1}.inspector .param label{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);text-transform:capitalize;letter-spacing:var(--letter-spacing-tight)}.inspector .param input{padding:var(--spacing-2) var(--spacing-3);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-sm);background:var(--color-surface-primary);color:var(--color-text-primary);transition:var(--transition-input);box-shadow:var(--shadow-input)}.inspector .param input:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-input-hover)}.inspector .param input:focus{outline:none;border-color:var(--color-primary-500);box-shadow:var(--shadow-focus),var(--shadow-input)}.inspector .outputs{display:flex;flex-direction:column;gap:var(--spacing-3)}.inspector .output{padding:var(--spacing-3);background:var(--color-surface-secondary);border-radius:var(--radius-md);border:1px solid var(--color-border);font-size:var(--font-size-xs);color:var(--color-text-secondary);transition:var(--transition-hover);box-shadow:var(--shadow-xs)}.inspector .output:hover{background:var(--color-surface-tertiary);border-color:var(--color-border-strong);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.inspector .output-name{font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-1);color:var(--color-text-primary);letter-spacing:var(--letter-spacing-tight)}.inspector .output-value{color:var(--color-success-600);font-family:var(--font-family-mono);font-size:var(--font-size-xs);background:var(--color-success-50);padding:var(--spacing-1) var(--spacing-2);border-radius:var(--radius-sm);border:1px solid var(--color-success-200)}.inspector .state{padding:var(--spacing-3);border-radius:var(--radius-md);font-size:var(--font-size-xs);margin-top:var(--spacing-3);font-weight:var(--font-weight-medium);letter-spacing:var(--letter-spacing-tight);transition:var(--transition-hover);box-shadow:var(--shadow-xs)}.inspector .state.error{background:var(--color-error-50);color:var(--color-error-700);border:1px solid var(--color-error-200)}.inspector .state.computing{background:var(--color-primary-50);color:var(--color-primary-700);border:1px solid var(--color-primary-200);animation:pulse var(--duration-slow) var(--ease-in-out) infinite}.inspector .state.dirty{background:var(--color-warning-50);color:var(--color-warning-700);border:1px solid var(--color-warning-200)}.inspector-header{border-bottom:1px solid var(--color-border);padding-bottom:var(--spacing-4);margin-bottom:var(--spacing-4);background:var(--gradient-surface);padding:var(--spacing-4);margin:calc(-1 * var(--spacing-4)) calc(-1 * var(--spacing-4)) var(--spacing-4);border-radius:var(--radius-lg) var(--radius-lg) 0 0;box-shadow:var(--shadow-xs)}.inspector-header h3{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 var(--spacing-2) 0;letter-spacing:var(--letter-spacing-tight)}.inspector-type{font-size:var(--font-size-xs);color:var(--color-text-secondary);font-family:var(--font-family-mono);margin-bottom:var(--spacing-1);background:var(--color-surface-secondary);padding:var(--spacing-1) var(--spacing-2);border-radius:var(--radius-sm);border:1px solid var(--color-border);display:inline-block}.inspector-id{font-size:var(--font-size-xs);color:var(--color-text-tertiary);font-family:var(--font-family-mono);background:var(--color-neutral-100);padding:var(--spacing-1) var(--spacing-2);border-radius:var(--radius-sm);border:1px solid var(--color-border);display:inline-block}.inspector-status{display:flex;align-items:center;gap:var(--spacing-2);margin-top:var(--spacing-3);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);padding:var(--spacing-2) var(--spacing-3);background:var(--color-surface-secondary);border-radius:var(--radius-md);border:1px solid var(--color-border);box-shadow:var(--shadow-xs)}.inspector-section{margin-bottom:var(--spacing-5);background:var(--color-surface-secondary);border-radius:var(--radius-lg);border:1px solid var(--color-border);overflow:hidden;box-shadow:var(--shadow-sm);transition:var(--transition-hover)}.inspector-section:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-md)}.inspector-section:last-child{margin-bottom:0}.inspector-section-header{display:flex;align-items:center;justify-content:space-between;cursor:pointer;padding:var(--spacing-3) var(--spacing-4);-webkit-user-select:none;-moz-user-select:none;user-select:none;background:var(--gradient-surface);border-bottom:1px solid var(--color-border);transition:var(--transition-hover)}.inspector-section-header:hover{background:var(--color-surface-tertiary)}.inspector-section-header:hover h4{color:var(--color-text-primary)}.inspector-section-header h4{margin:0;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);letter-spacing:var(--letter-spacing-tight);transition:var(--transition-fast)}.expand-icon{font-size:var(--font-size-xs);color:var(--color-text-secondary);transition:var(--transition-transform);padding:var(--spacing-1);border-radius:var(--radius-sm);background:var(--color-surface-primary);border:1px solid var(--color-border);box-shadow:var(--shadow-xs)}.expand-icon.expanded{transform:rotate(180deg);background:var(--color-primary-50);border-color:var(--color-primary-200);color:var(--color-primary-600)}.inspector-section-content{margin:0;padding:var(--spacing-4);background:var(--color-surface-primary)}.inspector-preview-container{display:flex;justify-content:center;margin:var(--spacing-2) 0}.inspector-field{margin-bottom:var(--spacing-4);padding:var(--spacing-3);background:var(--color-surface-secondary);border-radius:var(--radius-md);border:1px solid var(--color-border);transition:var(--transition-hover);position:relative;overflow:hidden}.inspector-field:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--gradient-primary);opacity:0;transition:var(--transition-hover)}.inspector-field:hover{background:var(--color-surface-tertiary);border-color:var(--color-border-strong);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.inspector-field:hover:before{opacity:1}.param-label{display:block;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);text-transform:capitalize;margin-bottom:var(--spacing-2);letter-spacing:var(--letter-spacing-tight)}.param-control-group{display:flex;flex-direction:column;gap:var(--spacing-1)}.param-range-group,.param-input-group{display:flex;align-items:center;gap:var(--spacing-2)}.param-range{flex:1;height:6px;background:var(--color-border);border-radius:3px;outline:none;-webkit-appearance:none}.param-range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;background:var(--gradient-primary);border-radius:50%;cursor:pointer;border:2px solid var(--color-surface-primary);box-shadow:var(--shadow-button);-webkit-transition:var(--transition-fast);transition:var(--transition-fast)}.param-range::-webkit-slider-thumb:hover{transform:scale(1.1);box-shadow:var(--shadow-button-hover)}.param-range::-moz-range-thumb{width:18px;height:18px;background:var(--gradient-primary);border-radius:50%;cursor:pointer;border:2px solid var(--color-surface-primary);box-shadow:var(--shadow-button);-moz-transition:var(--transition-fast);transition:var(--transition-fast)}.param-number,.param-input{width:80px;padding:var(--spacing-2) var(--spacing-3);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-sm);background:var(--color-surface-primary);color:var(--color-text-primary);transition:var(--transition-input);box-shadow:var(--shadow-input)}.param-input{width:100%}.param-input.readonly{background:var(--color-surface-tertiary);color:var(--color-text-secondary);border-color:var(--color-border-weak)}.param-number:hover,.param-input:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-input-hover)}.param-number:focus,.param-input:focus{outline:none;border-color:var(--color-primary-500);box-shadow:var(--shadow-focus),var(--shadow-input)}.param-select{width:100%;padding:var(--spacing-2) var(--spacing-3);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-sm);background:var(--color-surface-primary);color:var(--color-text-primary);cursor:pointer;transition:var(--transition-input);box-shadow:var(--shadow-input)}.param-select:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-input-hover)}.param-select:focus{outline:none;border-color:var(--color-primary-500);box-shadow:var(--shadow-focus),var(--shadow-input)}.param-checkbox{display:flex;align-items:center;gap:var(--spacing-2);cursor:pointer;font-size:var(--font-size-sm);padding:var(--spacing-2);border-radius:var(--radius-md);transition:var(--transition-hover)}.param-checkbox:hover{background:var(--color-surface-tertiary)}.param-checkbox input{width:16px;height:16px;margin:0;border-radius:var(--radius-sm);border:1px solid var(--color-border);transition:var(--transition-fast)}.param-checkbox input:checked{background:var(--gradient-primary);border-color:var(--color-primary-500)}.param-checkbox-label{color:var(--color-text-primary);font-weight:var(--font-weight-medium);letter-spacing:var(--letter-spacing-tight)}.param-unit{font-size:11px;color:var(--color-text-secondary);font-weight:var(--font-weight-medium);min-width:24px}.param-error{font-size:var(--font-size-xs);color:var(--color-error-600);margin-top:var(--spacing-1);padding:var(--spacing-1) var(--spacing-2);background:var(--color-error-50);border-radius:var(--radius-sm);border:1px solid var(--color-error-200);font-weight:var(--font-weight-medium);letter-spacing:var(--letter-spacing-tight)}.inspector-value{display:flex;align-items:center;gap:var(--spacing-2);font-size:var(--font-size-xs);color:var(--color-text-secondary);padding:var(--spacing-2) var(--spacing-3);background:var(--color-surface-secondary);border-radius:var(--radius-md);border:1px solid var(--color-border);box-shadow:var(--shadow-xs)}.inspector-empty{color:var(--color-text-tertiary);font-size:var(--font-size-sm);text-align:center;margin-top:var(--spacing-8);padding:var(--spacing-6);background:var(--color-surface-secondary);border-radius:var(--radius-lg);border:1px solid var(--color-border);box-shadow:var(--shadow-panel);position:relative;overflow:hidden}.inspector-empty:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--gradient-neutral);opacity:.5}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.01)}}.performance-metrics{display:flex;flex-direction:column;gap:var(--spacing-3)}.metric-item{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-2) var(--spacing-3);background:var(--color-surface-secondary);border-radius:var(--radius-md);border:1px solid var(--color-border);transition:var(--transition-hover)}.metric-item:hover{background:var(--color-surface-tertiary);border-color:var(--color-border-strong)}.metric-item label{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.metric-value{display:flex;align-items:center;gap:var(--spacing-2);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.metric-detail{font-size:var(--font-size-xs);font-weight:var(--font-weight-normal);color:var(--color-text-tertiary);margin-left:var(--spacing-1)}.trend{font-size:var(--font-size-xs);padding:var(--spacing-1) var(--spacing-2);border-radius:var(--radius-sm);font-weight:var(--font-weight-medium)}.trend.increasing{background:var(--color-warning-100);color:var(--color-warning-700);border:1px solid var(--color-warning-200)}.trend.decreasing{background:var(--color-success-100);color:var(--color-success-700);border:1px solid var(--color-success-200)}.reliability-indicator{font-size:var(--font-size-lg);margin-left:var(--spacing-1)}.reliability-indicator.excellent{color:var(--color-success-500)}.reliability-indicator.good{color:var(--color-warning-500)}.reliability-indicator.warning{color:var(--color-error-500)}.diagnostic-item{margin-bottom:var(--spacing-3);padding:var(--spacing-3);border-radius:var(--radius-md);border-left:4px solid var(--color-border);background:var(--color-surface-secondary);transition:var(--transition-hover)}.diagnostic-item:hover{background:var(--color-surface-tertiary);box-shadow:var(--shadow-sm)}.diagnostic-item.severity-low{border-left-color:var(--color-primary-400);background:var(--color-primary-50)}.diagnostic-item.severity-medium{border-left-color:var(--color-warning-400);background:var(--color-warning-50)}.diagnostic-item.severity-high{border-left-color:var(--color-error-400);background:var(--color-error-50)}.diagnostic-item.severity-critical{border-left-color:var(--color-error-600);background:var(--color-error-100)}.diagnostic-header{display:flex;align-items:center;gap:var(--spacing-2);margin-bottom:var(--spacing-2)}.diagnostic-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);flex:1}.diagnostic-time{font-size:var(--font-size-xs);color:var(--color-text-tertiary);font-family:var(--font-family-mono)}.diagnostic-message{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--spacing-3);line-height:var(--line-height-relaxed)}.diagnostic-suggestions{background:var(--color-surface-primary);border-radius:var(--radius-md);padding:var(--spacing-3);border:1px solid var(--color-border)}.suggestion-header{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);margin-bottom:var(--spacing-2);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide)}.suggestion-item{margin-bottom:var(--spacing-2);padding:var(--spacing-2);background:var(--color-surface-secondary);border-radius:var(--radius-sm);border:1px solid var(--color-border)}.suggestion-item:last-child{margin-bottom:0}.suggestion-title{display:flex;align-items:center;gap:var(--spacing-2);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:var(--spacing-1)}.suggestion-description{font-size:var(--font-size-xs);color:var(--color-text-secondary);line-height:var(--line-height-relaxed);margin-bottom:var(--spacing-1)}.suggestion-time{font-size:var(--font-size-xs);color:var(--color-text-tertiary);font-style:italic}.diagnostic-more{text-align:center;padding:var(--spacing-3);color:var(--color-text-tertiary);font-size:var(--font-size-xs);font-style:italic;background:var(--color-surface-secondary);border-radius:var(--radius-md);border:1px dashed var(--color-border)}.configuration-actions{display:flex;flex-direction:column;gap:var(--spacing-3);margin-bottom:var(--spacing-5)}.configuration-actions .btn{justify-content:flex-start}.configuration-info{display:flex;flex-direction:column;gap:var(--spacing-2)}.config-item{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-2) var(--spacing-3);background:var(--color-surface-secondary);border-radius:var(--radius-md);border:1px solid var(--color-border)}.config-item label{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.config-value{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.config-dialog-overlay{position:fixed;inset:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:2000;padding:var(--spacing-4)}.config-dialog{background:var(--color-surface-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-modal);border:1px solid var(--color-border);max-width:400px;width:100%;max-height:80vh;overflow:hidden;animation:modalFadeIn .2s ease-out}.config-dialog-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-4);border-bottom:1px solid var(--color-border);background:var(--gradient-surface)}.config-dialog-header h3{margin:0;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.config-dialog-content{padding:var(--spacing-4);line-height:var(--line-height-relaxed)}.config-dialog-content p{margin:0 0 var(--spacing-3) 0;color:var(--color-text-secondary);font-size:var(--font-size-sm)}.config-dialog-content p:last-child{margin-bottom:0}.config-dialog-actions{padding:var(--spacing-4);border-top:1px solid var(--color-border);display:flex;justify-content:flex-end}@keyframes modalFadeIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.inspector-section{margin-bottom:var(--spacing-5);background:var(--color-surface-primary);border-radius:var(--radius-lg);border:1px solid var(--color-border);overflow:hidden;box-shadow:var(--shadow-panel);transition:var(--transition-panel);position:relative;isolation:isolate}.inspector-section:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-interactive-hover);transform:translateY(-1px)}.inspector-section-header{background:var(--gradient-surface);border-bottom:1px solid var(--color-border);transition:var(--transition-colors);position:relative;z-index:1}.inspector-section-header:after{content:"";position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent 0%,var(--color-border-strong) 50%,transparent 100%);opacity:0;transition:var(--transition-hover)}.inspector-section:hover .inspector-section-header:after{opacity:1}.expand-icon{background:var(--color-surface-primary);border:1px solid var(--color-border);box-shadow:var(--shadow-xs);transition:var(--transition-button)}.expand-icon:hover{background:var(--color-surface-tertiary);border-color:var(--color-border-strong);transform:scale(1.05)}.expand-icon.expanded{background:var(--color-primary-50);border-color:var(--color-primary-200);color:var(--color-primary-600);box-shadow:var(--shadow-sm)}.command-palette-backdrop{position:fixed;inset:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;animation:fadeIn .15s ease-out}.command-palette{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:600px;max-width:90vw;max-height:70vh;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-elevated);z-index:1001;display:flex;flex-direction:column;animation:slideIn .2s ease-out}.command-palette-header{padding:var(--spacing-4);border-bottom:1px solid var(--color-border)}.command-palette-input{width:100%;padding:var(--spacing-3);background:var(--color-surface-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-md);color:var(--color-text-primary);outline:none;transition:var(--transition-colors)}.command-palette-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-alpha)}.command-palette-hint{display:block;margin-top:var(--spacing-2);font-size:var(--font-size-xs);color:var(--color-text-tertiary);font-family:var(--font-family-mono)}.command-palette-results{flex:1;overflow-y:auto;padding:var(--spacing-2)}.command-palette-empty{padding:var(--spacing-6);text-align:center;color:var(--color-text-secondary);font-size:var(--font-size-sm)}.command-palette-item{display:flex;align-items:flex-start;padding:var(--spacing-3);margin-bottom:var(--spacing-1);border-radius:var(--radius-md);cursor:pointer;transition:var(--transition-colors)}.command-palette-item:hover,.command-palette-item.selected{background:var(--color-surface-secondary)}.command-palette-item.selected{box-shadow:inset 0 0 0 1px var(--color-primary-alpha)}.command-palette-item-icon{width:24px;height:24px;margin-right:var(--spacing-3);display:flex;align-items:center;justify-content:center;font-size:var(--font-size-lg);color:var(--color-primary)}.command-palette-item-content{flex:1;min-width:0}.command-palette-item-title{display:flex;align-items:center;gap:var(--spacing-2);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.command-palette-item-category{margin-left:auto;padding:var(--spacing-1) var(--spacing-2);background:var(--color-surface-tertiary);border-radius:var(--radius-sm);font-size:var(--font-size-xs);color:var(--color-text-secondary);font-weight:var(--font-weight-normal)}.command-palette-item-description{margin-top:var(--spacing-1);font-size:var(--font-size-xs);color:var(--color-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@keyframes slideIn{0%{opacity:0;transform:translate(-50%,-48%)}to{opacity:1;transform:translate(-50%,-50%)}}@media(prefers-color-scheme:dark){.command-palette{background:var(--color-surface-dark);border-color:var(--color-border-dark)}.command-palette-input{background:var(--color-surface-dark-secondary);border-color:var(--color-border-dark)}.command-palette-item:hover,.command-palette-item.selected{background:var(--color-surface-dark-secondary)}}@media(max-width:640px){.command-palette{width:calc(100vw - var(--spacing-4));max-height:80vh}}.welcome-screen-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;z-index:1000;overflow:auto}.welcome-screen-content{max-width:800px;margin:2rem;text-align:center;color:#fff}.welcome-header{margin-bottom:3rem}.logo-animation{font-size:4rem;margin-bottom:1rem}.welcome-title{font-size:3rem;font-weight:700;margin-bottom:1rem;background:linear-gradient(45deg,#fff,#e6f3ff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.welcome-subtitle{font-size:1.2rem;opacity:.9;line-height:1.6;margin-bottom:0}.skill-question{font-size:1.5rem;margin-bottom:2rem;opacity:.95;font-weight:500}.skill-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:1.5rem;gap:1.5rem;margin-bottom:2rem}.skill-card{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:1rem;padding:2rem;color:#2d3748;cursor:pointer;position:relative;border:2px solid transparent;transition:all .3s ease}.skill-card:hover{border-color:#ffffff4d;box-shadow:0 10px 25px #0003}.skill-card.recommended{border-color:#10b981;box-shadow:0 0 0 1px #10b981,0 4px 15px #10b9814d}.skill-icon{font-size:2.5rem;margin-bottom:1rem}.skill-title{font-size:1.3rem;font-weight:600;margin-bottom:.5rem;color:#1a202c}.skill-description{font-size:1rem;opacity:.8;line-height:1.5;margin-bottom:0}.recommended-badge{position:absolute;top:-8px;right:-8px;background:#065f46;color:#fff;font-size:.8rem;font-weight:600;padding:.25rem .75rem;border-radius:1rem;transform:rotate(12deg)}.welcome-footer{margin-top:2rem;opacity:.8}.welcome-promise{font-size:1rem;margin:0}.playground-manager{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;padding:2rem}.playground-content{max-width:1200px;width:100%;text-align:center;color:#fff}.playground-header{margin-bottom:3rem}.playground-title{font-size:2.5rem;font-weight:700;margin-bottom:1rem;background:linear-gradient(45deg,#fff,#e6f3ff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.playground-subtitle{font-size:1.2rem;opacity:.9;line-height:1.6}.playground-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));grid-gap:2rem;gap:2rem;margin-bottom:3rem}.playground-card{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:1rem;padding:2rem;color:#2d3748;cursor:pointer;position:relative;border:2px solid transparent;transition:all .3s ease}.playground-card:hover{border-color:#ffffff4d;box-shadow:0 10px 25px #0003}.playground-card.active{border-color:#10b981;box-shadow:0 0 0 1px #10b981,0 4px 15px #10b9814d}.playground-card.completed{border-color:#6366f1;box-shadow:0 0 0 1px #6366f1,0 4px 15px #6366f14d}.playground-encouragement{font-size:1rem;opacity:.8;margin:0}.first-shape-playground{width:100%;height:100vh;background:linear-gradient(135deg,#f8fafc,#e2e8f0);position:relative}.playground-layout{display:flex;height:100%}.instructions-panel{width:400px;background:#fff;border-right:1px solid #e2e8f0;padding:2rem;overflow-y:auto}.hint-card{position:fixed;z-index:1000;background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:.75rem;padding:1rem;box-shadow:0 10px 25px #00000026;border:2px solid transparent;max-width:320px;min-width:280px}.hint-card.hint-low{border-color:#6b72804d}.hint-card.hint-medium{border-color:#3b82f64d}.hint-card.hint-high{border-color:#ef44444d;box-shadow:0 0 0 1px #ef444433,0 10px 25px #00000026}.progress-tracker{background:#fff;border-radius:1rem;border:1px solid #e5e7eb;overflow:hidden}.progress-tracker.progress-sidebar{width:100%;max-width:320px}.milestone{display:flex;align-items:center;gap:1rem;padding:1rem;border-radius:.75rem;border:2px solid #e5e7eb;background:#fff;transition:all .3s ease;position:relative}.milestone.active{border-color:#6366f1;background:linear-gradient(135deg,#6366f10d,#8b5cf60d);box-shadow:0 4px 12px #6366f126}.milestone.completed{border-color:#10b981;background:linear-gradient(135deg,#10b9810d,#0596690d);box-shadow:0 2px 8px #10b98126}.tour-overlay,.main-app-container{position:relative;width:100%;height:100%}.progress-tracker-container{position:fixed;top:50%;right:1rem;transform:translateY(-50%);z-index:100;max-height:80vh;overflow-y:auto}@media(max-width:768px){.welcome-title{font-size:2rem}.skill-cards{grid-template-columns:1fr}.skill-card{padding:1.5rem}.playground-layout{flex-direction:column}.instructions-panel{width:100%;height:50vh}.progress-tracker-container{position:fixed;top:auto;bottom:1rem;right:1rem;left:1rem;transform:none;max-height:200px}}@media(max-width:1200px){.progress-tracker-container{position:fixed;top:auto;bottom:1rem;right:1rem;left:1rem;transform:none;max-height:200px}}.building-blocks-playground{width:100%;height:100vh;background:linear-gradient(135deg,#f8fafc,#e2e8f0);display:flex;align-items:center;justify-content:center}.building-blocks-playground .playground-content{background:#fff;border-radius:1rem;padding:3rem;box-shadow:0 10px 25px #0000001a;text-align:center;max-width:600px}.building-blocks-playground h2{font-size:2rem;color:#2d3748;margin-bottom:1rem}.building-blocks-playground p{font-size:1.2rem;color:#4a5568;margin:0}.sketch-to-solid-playground{width:100%;height:100vh;background:linear-gradient(135deg,#f8fafc,#e2e8f0);display:flex;align-items:center;justify-content:center}.sketch-to-solid-playground .playground-content{background:#fff;border-radius:1rem;padding:3rem;box-shadow:0 10px 25px #0000001a;text-align:center;max-width:600px}.sketch-to-solid-playground h2{font-size:2rem;color:#2d3748;margin-bottom:1rem}.sketch-to-solid-playground p{font-size:1.2rem;color:#4a5568;margin:0}.hint-system{pointer-events:none}.hint-system *{pointer-events:auto}.hint-toggle-global{position:fixed;bottom:1rem;right:1rem;z-index:999}.global-hint-button{background:#ffffffe6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid rgba(99,102,241,.3);width:3rem;height:3rem;border-radius:50%;font-size:1.2rem;cursor:pointer;box-shadow:0 4px 12px #6366f126;transition:all .3s ease}.global-hint-button:hover{background:#6366f11a;border-color:#6366f180}.hint-header{display:flex;align-items:center;gap:.5rem}.hint-icon{font-size:1.2rem;flex-shrink:0}.hint-title{font-size:.9rem;font-weight:600;color:#2d3748;margin:0;flex:1}.hint-actions{display:flex;gap:.25rem}.hint-expand-button,.hint-dismiss-button{background:none;border:none;width:1.5rem;height:1.5rem;border-radius:.25rem;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1rem;font-weight:700;color:#6b7280;transition:all .2s ease}.hint-expand-button:hover,.hint-dismiss-button:hover{background:#f3f4f6;color:#374151}.hint-content{margin-top:.75rem;overflow:hidden}.hint-content p{color:#4a5568;font-size:.85rem;line-height:1.4;margin:0 0 .75rem}.hint-footer{display:flex;justify-content:flex-end}.hint-settings-button{background:#f3f4f6;border:none;padding:.25rem .5rem;border-radius:.375rem;font-size:.75rem;color:#6b7280;cursor:pointer;transition:all .2s ease}.hint-settings-button:hover{background:#e5e7eb;color:#374151}.instructions-header h2{font-size:1.8rem;font-weight:700;color:#1a202c;margin-bottom:.5rem}.instructions-header p{color:#4a5568;font-size:1.1rem;margin-bottom:2rem}.objectives-list{margin-bottom:2rem}.objective{background:#f7fafc;border:2px solid #e2e8f0;border-radius:.75rem;padding:1.5rem;margin-bottom:1rem;transition:all .3s ease}.objective.current{border-color:#6366f1;background:linear-gradient(135deg,#6366f10d,#8b5cf60d);box-shadow:0 4px 12px #6366f126}.objective.completed{border-color:#10b981;background:linear-gradient(135deg,#10b9810d,#0596690d)}.objective-header{display:flex;align-items:center;margin-bottom:.5rem}.objective-status{font-size:1.2rem;margin-right:.75rem}.objective-title{font-size:1.1rem;font-weight:600;color:#2d3748;margin:0}.objective-description{color:#4a5568;font-size:.95rem;line-height:1.5;margin:0}.complete-objective-button{background:#6366f1;color:#fff;border:none;padding:.5rem 1rem;border-radius:.5rem;font-size:.9rem;font-weight:600;cursor:pointer;margin-top:.75rem;transition:background .2s ease}.complete-objective-button:hover{background:#5856eb}.help-section{background:#3b82f60d;border:1px solid rgba(59,130,246,.2);border-radius:.75rem;padding:1.5rem;margin-bottom:2rem}.help-section h4{color:#1e40af;font-size:1.1rem;margin-bottom:1rem}.help-tips p{color:#1e3a8a;font-size:.9rem;margin-bottom:.75rem;line-height:1.4}.help-tips strong{color:#1e40af}.progress-indicator{border-top:1px solid #e2e8f0;padding-top:1.5rem}.progress-bar{background:#e2e8f0;border-radius:.5rem;height:.5rem;overflow:hidden;margin-bottom:.5rem}.progress-fill{background:linear-gradient(90deg,#6366f1,#8b5cf6);height:100%;border-radius:.5rem}.progress-text{color:#4a5568;font-size:.9rem;text-align:center;margin:0}.workspace-placeholder{flex:1;padding:2rem;display:flex;align-items:center;justify-content:center}.workspace-content{background:#fff;border-radius:1rem;padding:2rem;box-shadow:0 10px 25px #0000001a;max-width:800px;width:100%}.workspace-content h3{color:#2d3748;font-size:1.5rem;margin-bottom:1rem;text-align:center}.workspace-content p{color:#4a5568;text-align:center;margin-bottom:2rem}.simulation-area{display:grid;grid-template-columns:1fr 1fr;grid-gap:2rem;gap:2rem}.node-panel-demo,.viewport-demo{background:#f8fafc;border:2px solid #e2e8f0;border-radius:.75rem;padding:1.5rem;text-align:center}.node-panel-demo h4,.viewport-demo h4{color:#2d3748;font-size:1.1rem;margin-bottom:1rem}.demo-nodes{display:flex;flex-direction:column;gap:.5rem}.demo-node{background:#fff;border:1px solid #e2e8f0;border-radius:.5rem;padding:.75rem;font-size:.9rem;cursor:pointer;transition:all .2s ease}.demo-node:hover{background:#f1f5f9}.demo-viewport{background:#1a202c;border-radius:.5rem;height:150px;display:flex;align-items:center;justify-content:center;font-size:3rem}.demo-box{filter:drop-shadow(0 4px 8px rgba(0,0,0,.3))}.celebration-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:1000}.celebration-message{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;padding:1rem 2rem;border-radius:1rem;font-size:1.2rem;font-weight:600;box-shadow:0 10px 25px #6366f14d;text-align:center;white-space:nowrap}.playground-container{width:100%;height:100vh;display:flex;flex-direction:column}.playground-header-bar{display:flex;align-items:center;padding:1rem 2rem;background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(0,0,0,.1)}.exit-playground-button{background:#6b7280;color:#fff;border:none;padding:.5rem 1rem;border-radius:.5rem;font-size:.9rem;cursor:pointer;margin-right:1rem}.playground-active-title{font-size:1.5rem;font-weight:600;color:#1a202c;margin:0}.playground-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.playground-card .playground-title{font-size:1.3rem;font-weight:600;color:#1a202c;background:none;-webkit-text-fill-color:initial;margin:0}.completed-badge{background:#10b981;color:#fff;font-size:.8rem;font-weight:600;padding:.25rem .75rem;border-radius:1rem}.playground-description{font-size:1rem;opacity:.8;line-height:1.5;margin-bottom:1.5rem}.playground-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.difficulty-badge{font-size:.9rem;font-weight:600;padding:.25rem .5rem;border-radius:.5rem;background:#6366f11a;color:#6366f1}.time-estimate{font-size:.9rem;color:#6b7280}.playground-action{text-align:center}.start-button{background:#6366f1;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:.5rem;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.start-button:hover{background:#5856eb}@media(max-width:1024px){.playground-layout{flex-direction:column}.instructions-panel{width:100%;height:50vh}.simulation-area{grid-template-columns:1fr}}.bottom-sheet-backdrop{position:fixed;inset:0;background:#00000080;z-index:999;animation:fadeIn .3s ease;-webkit-tap-highlight-color:transparent}.bottom-sheet{position:fixed;bottom:0;left:0;right:0;background:#fff;background:var(--bg-primary, #ffffff);border-radius:16px 16px 0 0;box-shadow:0 -4px 24px #00000026;z-index:1000;transform:translateY(100%);transition:transform .3s cubic-bezier(.4,0,.2,1),height .3s ease;overflow:hidden;display:flex;flex-direction:column}.bottom-sheet.dragging{transition:none}.bottom-sheet-handle{display:flex;align-items:center;justify-content:center;height:32px;cursor:-webkit-grab;cursor:grab;flex-shrink:0;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;-moz-user-select:none;user-select:none}.bottom-sheet-handle:active{cursor:-webkit-grabbing;cursor:grabbing}.handle-bar{width:36px;height:4px;background:#d0d0d0;background:var(--border-color, #d0d0d0);border-radius:2px;transition:background .2s}.bottom-sheet-handle:hover .handle-bar,.bottom-sheet-handle:active .handle-bar{background:#888;background:var(--text-secondary, #888888)}.bottom-sheet-content{flex:1;overflow-y:auto;overflow-x:hidden;padding:16px;-webkit-overflow-scrolling:touch}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes slideDown{0%{transform:translateY(0)}to{transform:translateY(100%)}}.bottom-sheet[data-state=entering]{animation:slideUp .3s cubic-bezier(.4,0,.2,1)}.bottom-sheet[data-state=leaving]{animation:slideDown .3s cubic-bezier(.4,0,.2,1)}.bottom-sheet:before{content:"";position:absolute;top:12px;left:50%;transform:translate(-50%);width:36px;height:4px;background:#d0d0d0;background:var(--border-color, #d0d0d0);border-radius:2px;opacity:0;transition:opacity .2s;pointer-events:none}.bottom-sheet.dragging:before{opacity:1}.dark .bottom-sheet{background:#1a1a1a}.dark .handle-bar{background:#404040}.dark .bottom-sheet-handle:hover .handle-bar,.dark .bottom-sheet-handle:active .handle-bar{background:#606060}@supports (padding: env(safe-area-inset-bottom)){.bottom-sheet{padding-bottom:env(safe-area-inset-bottom)}}@media(prefers-reduced-motion:reduce){.bottom-sheet-backdrop,.bottom-sheet{animation:none;transition:none}}@media(min-width:768px){.bottom-sheet{max-width:600px;left:50%;transform:translate(-50%) translateY(100%);border-radius:16px 16px 0 0}.bottom-sheet[data-state=entering]{transform:translate(-50%) translateY(0)}}.floating-action-button{position:fixed;z-index:900;pointer-events:none}.floating-action-button>*{pointer-events:auto}.floating-action-button.bottom-right{bottom:80px;right:16px}.floating-action-button.bottom-left{bottom:80px;left:16px}.floating-action-button.top-right{top:64px;right:16px}.floating-action-button.top-left{top:64px;left:16px}.fab-main{width:56px;height:56px;border-radius:28px;background:#06f;background:var(--accent, #0066ff);color:#fff;border:none;box-shadow:0 4px 12px #00000026;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s cubic-bezier(.4,0,.2,1);-webkit-tap-highlight-color:transparent}.fab-main:active{transform:scale(.95)}.fab-main.active{background:#ff3b30;transform:rotate(45deg)}.fab-icon{font-size:24px;line-height:1;transition:transform .3s ease}.fab-actions{position:absolute;bottom:72px;right:0;display:flex;flex-direction:column-reverse;gap:12px;align-items:flex-end}.bottom-left .fab-actions{right:auto;left:0;align-items:flex-start}.top-right .fab-actions,.top-left .fab-actions{bottom:auto;top:72px;flex-direction:column}.fab-action-item{display:flex;align-items:center;gap:12px;opacity:0;transform:scale(.8) translateY(20px);animation:fabActionEnter .3s cubic-bezier(.4,0,.2,1) forwards}@keyframes fabActionEnter{to{opacity:1;transform:scale(1) translateY(0)}}.fab-action-label{background:#000c;color:#fff;padding:6px 12px;border-radius:4px;font-size:12px;font-weight:500;white-space:nowrap;order:-1}.bottom-left .fab-action-label{order:1}.fab-action-button{width:44px;height:44px;border-radius:22px;background:#fff;background:var(--bg-secondary, #ffffff);border:1px solid #e0e0e0;border:1px solid var(--border-color, #e0e0e0);color:#1a1a1a;color:var(--text-primary, #1a1a1a);cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #0000001a;transition:all .2s ease;font-size:18px}.fab-action-button:hover{transform:scale(1.1);box-shadow:0 4px 12px #00000026}.fab-action-button:active{transform:scale(.95)}.fab-backdrop{position:fixed;inset:0;background:#0000004d;z-index:899;animation:fadeIn .3s ease;-webkit-tap-highlight-color:transparent}.dark .fab-main{background:#4da3ff}.dark .fab-main.active{background:#ff5454}.dark .fab-action-button{background:#2a2a2a;border-color:#404040;color:#fff}@keyframes rotate45{0%{transform:rotate(0)}to{transform:rotate(45deg)}}@supports (padding: env(safe-area-inset-bottom)){.floating-action-button.bottom-right,.floating-action-button.bottom-left{bottom:calc(80px + env(safe-area-inset-bottom))}}@media(orientation:landscape)and (max-height:500px){.floating-action-button.bottom-right,.floating-action-button.bottom-left{bottom:60px}.fab-main{width:48px;height:48px;border-radius:24px}}@media(prefers-reduced-motion:reduce){.fab-main,.fab-action-item,.fab-backdrop{animation:none;transition:none}}.mobile-split-view{position:relative;width:100%;height:100%;display:flex;overflow:hidden}.mobile-split-view.single{flex-direction:column}.mobile-split-view.split-horizontal{flex-direction:row}.mobile-split-view.split-vertical,.mobile-split-view.overlay{flex-direction:column}.split-panel{position:relative;overflow:auto;background:#fff;background:var(--bg-primary, #ffffff);transition:flex .3s ease}.split-panel.primary{flex:1;min-width:0;min-height:0}.split-panel.secondary{background:#f9fafb;background:var(--bg-secondary, #f9fafb)}.mobile-split-view.single .split-panel.secondary{display:none}.mobile-split-view.split-horizontal .split-panel{height:100%}.mobile-split-view.split-horizontal .split-panel.primary,.mobile-split-view.split-horizontal .split-panel.secondary{flex:0 0 50%}.mobile-split-view.split-vertical .split-panel{width:100%}.mobile-split-view.split-vertical .split-panel.primary,.mobile-split-view.split-vertical .split-panel.secondary{flex:0 0 50%}.mobile-split-view.overlay .split-panel.primary{flex:1}.mobile-split-view.overlay .split-panel.secondary{position:absolute;top:0;right:0;width:85%;height:100%;box-shadow:-2px 0 8px #00000026;transform:translate(100%);transition:transform .3s ease;z-index:100}.mobile-split-view.overlay.overlay-active .split-panel.secondary{transform:translate(0)}.split-divider{position:relative;background:#e5e7eb;background:var(--border-color, #e5e7eb);flex-shrink:0;z-index:10;cursor:-webkit-grab;cursor:grab;-moz-user-select:none;user-select:none;-webkit-user-select:none;transition:background-color .2s ease}.split-divider:active,.split-divider.dragging{cursor:-webkit-grabbing;cursor:grabbing;background:#3b82f6;background:var(--primary-color, #3b82f6)}.split-divider:hover{background:#d1d5db;background:var(--border-hover, #d1d5db)}.mobile-split-view.split-horizontal .split-divider{width:8px;height:100%;cursor:col-resize}.mobile-split-view.split-horizontal .split-divider:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:2px;height:32px;background:#9ca3af;background:var(--divider-handle, #9ca3af);border-radius:1px}.mobile-split-view.split-vertical .split-divider{width:100%;height:8px;cursor:row-resize}.mobile-split-view.split-vertical .split-divider:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:32px;height:2px;background:#9ca3af;background:var(--divider-handle, #9ca3af);border-radius:1px}@media(pointer:coarse){.mobile-split-view.split-horizontal .split-divider{width:12px}.mobile-split-view.split-vertical .split-divider{height:12px}}.split-divider *{pointer-events:none}.split-panel-label{position:absolute;top:8px;left:8px;font-size:12px;font-weight:500;color:#6b7280;color:var(--text-secondary, #6b7280);background:#ffffffe6;background:var(--bg-label, rgba(255, 255, 255, .9));padding:2px 8px;border-radius:4px;z-index:5;pointer-events:none;opacity:0;transition:opacity .2s ease}.mobile-split-view:not(.single) .split-panel-label{opacity:1}@media(max-width:360px){.mobile-split-view.overlay .split-panel.secondary{width:90%}}@media(min-width:768px)and (max-width:1024px){.mobile-split-view.split-horizontal .split-panel.primary,.mobile-split-view.split-horizontal .split-panel.secondary{flex:0 0 50%}.mobile-split-view.overlay .split-panel.secondary{width:60%}}@media(prefers-color-scheme:dark){.split-panel{background:#1f2937;background:var(--bg-primary-dark, #1f2937)}.split-panel.secondary{background:#111827;background:var(--bg-secondary-dark, #111827)}.split-divider{background:#374151;background:var(--border-color-dark, #374151)}.split-divider:hover{background:#4b5563;background:var(--border-hover-dark, #4b5563)}.split-panel-label{background:#1f2937e6;background:var(--bg-label-dark, rgba(31, 41, 55, .9));color:#9ca3af;color:var(--text-secondary-dark, #9ca3af)}}@keyframes slideIn{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes slideOut{0%{transform:translate(0)}to{transform:translate(100%)}}.mobile-split-view.overlay .split-panel.secondary.animating-in{animation:slideIn .3s ease forwards}.mobile-split-view.overlay .split-panel.secondary.animating-out{animation:slideOut .3s ease forwards}.split-panel{will-change:flex;-webkit-overflow-scrolling:touch}.split-divider.dragging~.split-panel{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.split-divider:focus-visible{outline:2px solid #3b82f6;outline:2px solid var(--focus-color, #3b82f6);outline-offset:-2px}.split-divider[aria-label]:after{content:attr(aria-label);position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.persistent-toolbar{display:flex;align-items:center;justify-content:space-between;height:56px;padding:0 8px;background:#fff;background:var(--bg-secondary, #ffffff);border-top:1px solid #e0e0e0;border-top:1px solid var(--border-color, #e0e0e0);box-shadow:0 -2px 10px #0000000d;position:relative;z-index:100}.toolbar-primary{display:flex;align-items:center;gap:4px;flex:1;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.toolbar-primary::-webkit-scrollbar{display:none}.toolbar-button{min-width:48px;height:48px;border:none;background:transparent;color:#666;color:var(--text-secondary, #666666);border-radius:12px;display:flex;align-items:center;justify-content:center;position:relative;cursor:pointer;transition:all .2s ease;flex-shrink:0}.toolbar-button:active{transform:scale(.95);background:#0000000d}.toolbar-button.active{background:#06f;background:var(--accent, #0066ff);color:#fff}.toolbar-button:disabled{opacity:.4;cursor:not-allowed}.toolbar-icon{font-size:20px;line-height:1}.toolbar-badge{position:absolute;top:8px;right:8px;min-width:16px;height:16px;padding:0 4px;background:#f36;background:var(--error, #ff3366);color:#fff;border-radius:8px;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center}.toolbar-secondary{position:relative}.toolbar-menu-button{width:48px;height:48px;border:none;background:transparent;color:var(--text-secondary);border-radius:12px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.toolbar-menu-button.expanded{background:#f5f5f5;background:var(--bg-tertiary, #f5f5f5)}.toolbar-dropdown{position:absolute;bottom:calc(100% + 8px);right:0;min-width:200px;background:#fff;background:var(--bg-secondary, #ffffff);border:1px solid #e0e0e0;border:1px solid var(--border-color, #e0e0e0);border-radius:12px;box-shadow:0 4px 20px #00000026;overflow:hidden;animation:slideUp .2s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.toolbar-dropdown-item{width:100%;padding:12px 16px;border:none;background:transparent;color:var(--text-primary);display:flex;align-items:center;gap:12px;cursor:pointer;transition:background .2s;font-size:14px;text-align:left}.toolbar-dropdown-item:hover{background:#f5f5f5;background:var(--bg-tertiary, #f5f5f5)}.toolbar-dropdown-item:disabled{opacity:.4;cursor:not-allowed}.toolbar-label{flex:1}@media(orientation:landscape)and (max-height:500px){.persistent-toolbar{height:48px}.toolbar-button,.toolbar-menu-button{width:44px;height:44px}}.persistent-toolbar.dark{background:#1a1a1a;border-top-color:#333}.persistent-toolbar.dark .toolbar-button:active{background:#ffffff1a}.persistent-toolbar.dark .toolbar-dropdown{background:#2a2a2a;border-color:#404040}.mobile-layout{display:flex;flex-direction:column;height:100vh;height:-webkit-fill-available;width:100%;overflow:hidden;background:#fff;background:var(--bg-primary, #ffffff)}.mobile-status-bar{display:flex;align-items:center;justify-content:space-between;height:48px;padding:0 16px;background:#f5f5f5;background:var(--bg-secondary, #f5f5f5);border-bottom:1px solid #e0e0e0;border-bottom:1px solid var(--border-color, #e0e0e0);flex-shrink:0}.app-title{font-weight:600;font-size:16px;color:var(--text-primary)}.status-actions{display:flex;gap:8px}.icon-button{width:32px;height:32px;border:none;background:transparent;color:var(--text-secondary);border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s}.icon-button:active{background:#0000001a}.mobile-content{flex:1;overflow-y:auto;overflow-x:hidden;position:relative;-webkit-overflow-scrolling:touch}.panel-container{min-height:100%;padding:16px}.mobile-content[data-pulling=true]:before{content:"↓ Pull to refresh";position:absolute;top:-40px;left:50%;transform:translate(-50%);font-size:12px;color:var(--text-secondary);transition:top .2s}.mobile-content[data-refreshing=true]:before{content:"⟳ Refreshing...";top:10px}.mobile-layout[data-orientation=landscape]{grid-template-rows:40px 1fr 40px}.mobile-layout[data-orientation=landscape] .mobile-status-bar{height:40px}.mobile-layout[data-orientation=landscape] .mobile-tab-bar{height:48px}@supports (padding: env(safe-area-inset-top)){.mobile-status-bar{padding-top:env(safe-area-inset-top);height:calc(48px + env(safe-area-inset-top))}.mobile-tab-bar{padding-bottom:env(safe-area-inset-bottom);height:calc(64px + env(safe-area-inset-bottom))}}.mobile-layout.dark{background:#000}.mobile-layout.dark .mobile-status-bar{background:#1a1a1a;border-bottom-color:#333}@keyframes slideInUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideOutDown{0%{transform:translateY(0);opacity:1}to{transform:translateY(100%);opacity:0}}.panel-enter{animation:slideInUp .3s ease-out}.panel-exit{animation:slideOutDown .3s ease-in}.tablet-layout{display:flex;flex-direction:column;height:100vh;width:100%;overflow:hidden;background:#fff;background:var(--bg-primary, #ffffff)}.tablet-header{display:flex;align-items:center;justify-content:space-between;height:56px;padding:0 16px;background:#f5f5f5;background:var(--bg-secondary, #f5f5f5);border-bottom:1px solid #e0e0e0;border-bottom:1px solid var(--border-color, #e0e0e0);flex-shrink:0}.header-section{display:flex;align-items:center;gap:16px}.app-title{font-weight:600;font-size:18px;color:var(--text-primary)}.header-tabs{display:flex;gap:8px;flex:1;justify-content:center}.header-tab{padding:8px 16px;background:transparent;border:none;border-radius:8px;color:var(--text-secondary);font-size:14px;cursor:pointer;transition:all .2s}.header-tab.active{background:#06f;background:var(--accent, #0066ff);color:#fff}.header-tab:hover:not(.active){background:#0000000d}.header-actions{display:flex;gap:8px}.tablet-split-view{flex:1;display:grid;overflow:hidden;position:relative}.split-panel{overflow:hidden;display:flex;flex-direction:column}.panel-content{flex:1;overflow:auto;padding:16px}.panel-header{padding:12px 16px;background:var(--bg-secondary);border-bottom:1px solid var(--border-color)}.panel-header h3{margin:0;font-size:16px;font-weight:600}.split-handle{position:absolute;top:0;bottom:0;width:8px;cursor:col-resize;background:transparent;display:flex;align-items:center;justify-content:center;z-index:10;left:calc(60% - 4px);left:calc(var(--split-position, 60%) - 4px)}.split-handle:hover,.split-handle.dragging{background:#0066ff1a}.handle-grip{width:2px;height:40px;background:var(--border-color);border-radius:1px}.split-handle:hover .handle-grip,.split-handle.dragging .handle-grip{background:var(--accent);width:3px}.tablet-layout[data-orientation=landscape] .tablet-header{height:48px}.tablet-layout[data-orientation=landscape] .tablet-split-view{grid-template-columns:1fr 1fr}.tablet-layout[data-orientation=portrait] .tablet-split-view{grid-template-rows:1fr 1fr;grid-template-columns:1fr}.tablet-layout[data-orientation=portrait] .split-handle{width:100%;height:8px;cursor:row-resize;top:calc(50% - 4px);left:0;right:0}.tablet-layout[data-orientation=portrait] .handle-grip{width:40px;height:2px}.dark .tablet-layout{background:#1a1a1a}.dark .tablet-header,.dark .panel-header{background:#2a2a2a;border-bottom-color:#404040}.desktop-layout{display:flex;flex-direction:column;height:100%;width:100%;min-height:100vh;min-height:-webkit-fill-available;background:#f8f9fa;background:var(--bg-primary, #f8f9fa);overflow:hidden;position:absolute;inset:0}.desktop-menubar{display:flex;align-items:center;justify-content:space-between;height:40px;padding:0 16px;background:#fff;background:var(--bg-secondary, #ffffff);border-bottom:1px solid #e0e0e0;border-bottom:1px solid var(--border-color, #e0e0e0);flex-shrink:0;width:100%}.menubar-section{display:flex;align-items:center;gap:16px}.app-logo{font-weight:700;font-size:16px;color:#06f;color:var(--accent, #0066ff)}.layout-selector{padding:4px 8px;border:1px solid var(--border-color);border-radius:4px;background:#fff;font-size:14px}.menubar-button{padding:4px 12px;background:transparent;border:1px solid transparent;border-radius:4px;font-size:14px;cursor:pointer;transition:all .2s}.menubar-button:hover{background:var(--bg-secondary);border-color:var(--border-color)}.desktop-content{flex:1 1 auto;display:grid;grid-gap:8px;gap:8px;padding:8px;overflow:hidden;width:100%;height:100%;min-height:0;position:relative}.layout-single .desktop-content{grid-template-columns:1fr;grid-template-rows:1fr}.layout-dual .desktop-content{grid-template-columns:1fr 1fr;grid-template-rows:1fr}.layout-triple .desktop-content{grid-template-columns:minmax(250px,20%) 1fr minmax(300px,25%);grid-template-rows:1fr}.layout-quad .desktop-content{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}.desktop-panel{background:#fff;background:var(--bg-secondary, #ffffff);border:1px solid #e0e0e0;border:1px solid var(--border-color, #e0e0e0);border-radius:8px;overflow:hidden;display:flex;flex-direction:column;transition:all .3s ease;width:100%;height:100%;min-width:0;min-height:0;position:relative}.desktop-panel.collapsed{max-height:42px}.desktop-panel.active{border-color:#06f;border-color:var(--accent, #0066ff);box-shadow:0 0 0 2px #0066ff1a}.panel-header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:#f5f5f5;background:var(--bg-tertiary, #f5f5f5);border-bottom:1px solid var(--border-color);cursor:move;flex-shrink:0}.panel-title{display:flex;align-items:center;gap:8px;margin:0;font-size:14px;font-weight:600;color:var(--text-primary)}.panel-icon{font-size:16px}.panel-controls{display:flex;align-items:center;gap:8px}.panel-control{width:24px;height:24px;border:none;background:transparent;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background .2s}.panel-control:hover{background:#0000000d}.panel-badge{padding:2px 6px;background:var(--accent);color:#fff;font-size:11px;font-weight:600;border-radius:10px}.panel-body{flex:1;overflow:auto;padding:16px;width:100%;height:calc(100% - 42px);min-height:0;position:relative}.panel-body>*{width:100%;height:100%}.desktop-statusbar{display:flex;align-items:center;justify-content:space-between;height:24px;padding:0 16px;background:var(--bg-secondary);border-top:1px solid var(--border-color);font-size:12px;color:var(--text-secondary);flex-shrink:0;width:100%}.statusbar-section{display:flex;align-items:center;gap:16px}.status-item{display:flex;align-items:center;gap:4px}.dark .desktop-layout{background:#0a0a0a}.dark .desktop-menubar{background:#1a1a1a;border-bottom-color:#333}.dark .desktop-panel{background:#1a1a1a;border-color:#333}.dark .panel-header{background:#252525;border-bottom-color:#333}.dark .desktop-statusbar{background:#1a1a1a;border-top-color:#333}.desktop-layout[data-fullscreen=true] .desktop-menubar,.desktop-layout[data-fullscreen=true] .desktop-statusbar{display:none}.desktop-layout[data-fullscreen=true] .desktop-content{padding:0;gap:0;height:100%;width:100%}.desktop-layout[data-fullscreen=true] .desktop-panel{border-radius:0}.desktop-panel .react-flow,.desktop-panel .react-flow__renderer,.desktop-panel .react-flow__viewport,.desktop-panel .viewport{width:100%!important;height:100%!important}.adaptive-layout-engine{position:relative;width:100%;height:100vh;height:-webkit-fill-available;display:flex;flex-direction:column;overflow:hidden;background:#fff;background:var(--bg-primary, #ffffff);transition:all .3s ease}.adaptive-loading{display:flex;align-items:center;justify-content:center;width:100%;height:100vh;height:-webkit-fill-available;font-size:14px;color:#6b7280;color:var(--text-secondary, #6b7280);background:#fff;background:var(--bg-primary, #ffffff)}.adaptive-metadata{position:absolute;top:8px;right:8px;display:flex;gap:16px;padding:4px 12px;background:#000c;color:#0f0;font-family:monospace;font-size:10px;border-radius:4px;z-index:9999;pointer-events:none;opacity:.3;transition:opacity .2s ease}.adaptive-layout-engine:hover .adaptive-metadata{opacity:1}.adaptive-toolbar{display:flex;align-items:center;background:#f9fafb;background:var(--toolbar-bg, #f9fafb);border:1px solid #e5e7eb;border:1px solid var(--border-color, #e5e7eb);height:56px;height:var(--adaptive-toolbar-height, 56px);padding:0 16px;padding:0 var(--adaptive-spacing-panel, 16px);transition:all .3s ease}.toolbar-top{order:-1;border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--border-color, #e5e7eb)}.toolbar-bottom{order:999;border-top:1px solid #e5e7eb;border-top:1px solid var(--border-color, #e5e7eb);border-bottom:none}.toolbar-left{position:absolute;left:0;top:0;bottom:0;width:56px;width:var(--adaptive-toolbar-height, 56px);flex-direction:column;border-right:1px solid #e5e7eb;border-right:1px solid var(--border-color, #e5e7eb)}.toolbar-right{position:absolute;right:0;top:0;bottom:0;width:56px;width:var(--adaptive-toolbar-height, 56px);flex-direction:column;border-left:1px solid #e5e7eb;border-left:1px solid var(--border-color, #e5e7eb)}.toolbar-floating{position:fixed;top:16px;top:var(--adaptive-spacing-panel, 16px);left:50%;transform:translate(-50%);width:auto;border-radius:8px;box-shadow:0 4px 16px #0000001a;z-index:100}.adaptive-content{flex:1;position:relative;overflow:hidden;display:grid;grid-gap:8px;grid-gap:var(--adaptive-spacing-base, 8px);gap:8px;gap:var(--adaptive-spacing-base, 8px);padding:8px;padding:var(--adaptive-spacing-base, 8px);width:100%;height:100%;min-width:0;min-height:0}.arrangement-horizontal{grid-auto-flow:column}.arrangement-vertical{grid-auto-flow:row}.arrangement-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.arrangement-floating{display:block;position:relative}.arrangement-floating>*{position:absolute}.adaptive-navigation{display:flex;transition:all .3s ease}.nav-tabs{flex-direction:row;justify-content:space-around;padding:8px;background:#f9fafb;background:var(--nav-bg, #f9fafb);border-top:1px solid #e5e7eb;border-top:1px solid var(--border-color, #e5e7eb);height:48px;height:var(--adaptive-touch-target, 48px)}.nav-drawer{position:fixed;left:-280px;top:0;bottom:0;width:280px;background:#fff;background:var(--nav-bg, #ffffff);box-shadow:2px 0 8px #0000001a;transition:transform .3s ease;z-index:200}.nav-drawer.open{transform:translate(280px)}.nav-sidebar{position:absolute;left:0;top:56px;top:var(--adaptive-toolbar-height, 56px);bottom:0;width:240px;background:#f9fafb;background:var(--sidebar-bg, #f9fafb);border-right:1px solid #e5e7eb;border-right:1px solid var(--border-color, #e5e7eb)}.nav-ribbon{display:flex;height:120px;background:#f9fafb;background:var(--ribbon-bg, #f9fafb);border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--border-color, #e5e7eb);padding:8px;padding:var(--adaptive-spacing-base, 8px)}.adaptive-layout-engine.mobile{--adaptive-min-touch-target: 44px}.adaptive-layout-engine.tablet{--adaptive-min-touch-target: 40px}.adaptive-layout-engine.desktop{--adaptive-min-touch-target: 32px}.adaptive-layout-engine.ultra-wide{max-width:3840px;margin:0 auto}.adaptive-layout-engine.single .adaptive-content{grid-template-columns:1fr}.adaptive-layout-engine.dual .adaptive-content{grid-template-columns:1fr 1fr}.adaptive-layout-engine.triple .adaptive-content{grid-template-columns:minmax(200px,20%) 1fr minmax(250px,25%)}.adaptive-layout-engine.quad .adaptive-content{grid-template-columns:repeat(4,1fr)}[data-interaction-mode=compact]{--spacing-multiplier: .75}[data-interaction-mode=comfortable]{--spacing-multiplier: 1}[data-interaction-mode=spacious]{--spacing-multiplier: 1.5}.performance-monitor{position:fixed;bottom:8px;left:8px;display:flex;gap:12px;padding:4px 8px;background:#000c;color:#0f0;font-family:monospace;font-size:10px;border-radius:4px;z-index:9999;pointer-events:none}@container (max-width: 480px){.adaptive-content{grid-template-columns:1fr!important}}@container (min-width: 481px) and (max-width: 768px){.adaptive-content.arrangement-grid{grid-template-columns:repeat(2,1fr)}}@container (min-width: 769px) and (max-width: 1024px){.adaptive-content.arrangement-grid{grid-template-columns:repeat(3,1fr)}}@media(pointer:coarse){.adaptive-toolbar{height:max(var(--adaptive-toolbar-height),48px)}.adaptive-navigation{min-height:48px}button,a,.clickable{min-width:48px;min-width:var(--adaptive-touch-target, 48px);min-height:48px;min-height:var(--adaptive-touch-target, 48px)}}@media(orientation:landscape)and (max-height:500px){.adaptive-toolbar{height:40px}.adaptive-metadata{display:none}.adaptive-content{padding:4px}}@media(-webkit-min-device-pixel-ratio:2),(min-resolution:2dppx){.adaptive-layout-engine{font-weight:300}.adaptive-toolbar,.adaptive-navigation{border-width:.5px}}@media print{.adaptive-toolbar,.adaptive-navigation,.adaptive-metadata,.performance-monitor{display:none!important}.adaptive-content{padding:0;grid-template-columns:1fr!important}}@media(prefers-color-scheme:dark){.adaptive-layout-engine{background:#1f2937;background:var(--bg-primary-dark, #1f2937);color:#f9fafb;color:var(--text-primary-dark, #f9fafb)}.adaptive-toolbar{background:#111827;background:var(--toolbar-bg-dark, #111827);border-color:#374151;border-color:var(--border-color-dark, #374151)}.adaptive-navigation{background:#111827;background:var(--nav-bg-dark, #111827);border-color:#374151;border-color:var(--border-color-dark, #374151)}.adaptive-metadata,.performance-monitor{background:#111827e6}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.adaptive-layout-engine{animation:fadeIn .3s ease}.adaptive-layout-engine *{transition:background-color .2s ease,border-color .2s ease,opacity .2s ease}.responsive-layout-manager{width:100%;height:100vh;height:-webkit-fill-available;overflow:hidden;position:fixed;inset:0;background:#fff;background:var(--bg-primary, #ffffff);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif}.breakpoint-indicator{position:fixed;bottom:10px;right:10px;padding:4px 8px;background:#000c;color:#fff;font-size:11px;border-radius:4px;z-index:9999;pointer-events:none}.responsive-layout-manager.mobile{touch-action:manipulation;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.responsive-layout-manager.tablet{display:flex}.responsive-layout-manager.desktop{display:flex;flex-direction:column;width:100%;height:100%}.responsive-layout-manager[data-fullscreen=true]{position:fixed;inset:0;width:100%;height:100vh;height:-webkit-fill-available;z-index:1000}.responsive-layout-manager[data-touch=true]{position:fixed;overflow:hidden}.responsive-layout-manager[data-touch=true] *{-webkit-overflow-scrolling:touch}.responsive-layout-manager.dark{--bg-primary: #1a1a1a;--bg-secondary: #2a2a2a;--text-primary: #ffffff;--text-secondary: #a0a0a0;--border-color: #404040;--accent: #0066ff;background:#1a1a1a;background:var(--bg-primary);color:#fff;color:var(--text-primary)}.responsive-layout-manager.light{--bg-primary: #ffffff;--bg-secondary: #f5f5f5;--text-primary: #1a1a1a;--text-secondary: #666666;--border-color: #e0e0e0;--accent: #0066ff}@media(min-width:768px)and (max-width:1023px){.hide-tablet{display:none!important}}@media(min-width:1024px){.hide-desktop{display:none!important}}@media(hover:none)and (pointer:coarse){button,.touchable{min-width:44px;min-height:44px}input,select,textarea{min-height:44px;font-size:16px}}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media(prefers-contrast:high){.responsive-layout-manager{--border-color: currentColor}button,.interactive{outline:2px solid currentColor;outline-offset:2px}}@media(orientation:landscape)and (max-width:767px){.responsive-layout-manager.mobile{grid-template-rows:auto 1fr 48px}}.panel-container{transition:transform .3s ease,opacity .3s ease}.panel-container.sliding-in{transform:translate(0);opacity:1}.panel-container.sliding-out{transform:translate(-100%);opacity:0}.responsive-layout-manager.loading:before{content:"";position:absolute;inset:0;background:#ffffffe6;z-index:9998;display:flex;align-items:center;justify-content:center}.responsive-layout-manager.loading:after{content:"⟳";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:32px;animation:spin 1s linear infinite;z-index:9999}@keyframes spin{0%{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}@supports not (display: grid){.desktop-content{display:flex;flex-wrap:wrap}.layout-quad .desktop-content,.layout-triple .desktop-content{flex-direction:row}.desktop-panel{flex:1;min-width:250px}}@supports not (color: var(--bg-primary)){.responsive-layout-manager{background:#fff;color:#1a1a1a}.desktop-panel{background:#fff;border:1px solid #e0e0e0;color:#1a1a1a}.mobile-layout{background:#fff;color:#1a1a1a}}@supports not (display: flex){.responsive-layout-manager,.desktop-layout,.mobile-layout{display:block}}@supports not ((position: -webkit-sticky) or (position: sticky)){.mobile-status-bar{position:fixed;top:0;left:0;right:0;z-index:100}.mobile-content{margin-top:48px}}@supports not (transform: translateX(0)){.panel-container.sliding-in{left:0}.panel-container.sliding-out{left:-100%}}@supports not ((-o-object-fit: cover) or (object-fit: cover)){.viewport canvas,.viewport img{width:100%;height:100%}}@supports not ((-webkit-backdrop-filter: blur(8px)) or (backdrop-filter: blur(8px))){.viewport-toolbar,.mobile-status-bar{background:#fffffff2}.dark .viewport-toolbar,.dark .mobile-status-bar{background:#1a1a1af2}}@supports not selector(:focus-visible){button:focus,input:focus,select:focus{outline:2px solid #0066ff;outline-offset:2px}}.panel{position:relative;display:flex;flex-direction:column;background:var(--color-surface-primary);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-panel);overflow:hidden;transition:var(--transition-panel);isolation:isolate;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);will-change:box-shadow,transform}.panel:hover{box-shadow:var(--shadow-interactive-hover);transform:translateY(-1px)}.panel:focus-within{box-shadow:var(--shadow-focus),var(--shadow-panel);border-color:var(--color-border-interactive-focus)}.panel-container{display:flex;flex-direction:column;height:100%;min-height:0}.panel-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-4) var(--spacing-4) var(--spacing-3);background:var(--gradient-surface);border-bottom:1px solid var(--color-border);min-height:var(--height-header);flex-shrink:0;position:relative;z-index:1;transition:var(--transition-colors)}.panel-header:after{content:"";position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent 0%,var(--color-border-strong) 50%,transparent 100%);opacity:0;transition:var(--transition-hover)}.panel:hover .panel-header:after{opacity:1}.panel-header-content{display:flex;align-items:center;gap:var(--spacing-2);flex:1;min-width:0}.panel-collapse-btn{flex-shrink:0;color:var(--color-text-tertiary);transition:var(--transition-button)}.panel-collapse-btn:hover{color:var(--color-text-secondary);background:var(--color-surface-tertiary)}.panel-title-group{flex:1;min-width:0}.panel-title{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0;line-height:var(--line-height-tight);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;letter-spacing:var(--letter-spacing-wide);transition:var(--transition-colors)}.panel-subtitle{font-size:var(--font-size-xs);color:var(--color-text-tertiary);margin:var(--spacing-1) 0 0 0;line-height:var(--line-height-tight);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;letter-spacing:var(--letter-spacing-normal);transition:var(--transition-colors)}.panel:hover .panel-title{color:var(--color-text-primary)}.panel:hover .panel-subtitle{color:var(--color-text-secondary)}.panel-header-actions{display:flex;align-items:center;gap:var(--spacing-1);flex-shrink:0}.panel-content{flex:1;padding:var(--spacing-4);overflow-y:auto;overflow-x:hidden;transition:var(--transition-panel);min-height:0;position:relative;background:var(--color-surface-primary)}.panel-content::-webkit-scrollbar{width:6px}.panel-content::-webkit-scrollbar-track{background:var(--color-surface-secondary);border-radius:var(--radius-sm)}.panel-content::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:var(--radius-sm);-webkit-transition:var(--transition-colors);transition:var(--transition-colors)}.panel-content::-webkit-scrollbar-thumb:hover{background:var(--color-text-tertiary)}.panel-content-collapsed{height:0;padding-top:0;padding-bottom:0;overflow:hidden;transition:height var(--duration-smooth) var(--ease-smooth),padding var(--duration-smooth) var(--ease-smooth)}.panel-primary{border-color:var(--color-engineering-200);box-shadow:var(--shadow-interactive-default),0 0 0 1px var(--color-engineering-100)}.panel-primary:hover{border-color:var(--color-engineering-300);box-shadow:var(--shadow-interactive-hover),0 0 0 1px var(--color-engineering-200);transform:translateY(-2px)}.panel-primary .panel-header{background:linear-gradient(135deg,var(--color-engineering-50) 0%,var(--color-engineering-100) 100%);border-bottom-color:var(--color-engineering-200);position:relative}.panel-primary .panel-header:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--gradient-primary);border-radius:var(--radius-lg) var(--radius-lg) 0 0}.panel-primary .panel-title{color:var(--color-engineering-700);font-weight:var(--font-weight-bold)}.panel-secondary{background:var(--color-surface-secondary);border-color:var(--color-border)}.panel-floating{position:absolute;z-index:var(--z-index-popover);box-shadow:var(--shadow-dropdown);border-radius:var(--radius-xl);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:var(--glass-backdrop);border:1px solid var(--glass-border);animation:fadeInScale var(--duration-normal) var(--ease-back)}@keyframes fadeInScale{0%{opacity:0;transform:scale(.95) translateY(-8px)}to{opacity:1;transform:scale(1) translateY(0)}}.panel-floating:hover{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);transform:translateY(-2px)}.panel-compact .panel-header{padding:var(--spacing-2) var(--spacing-3);min-height:2.5rem}.panel-compact .panel-content{padding:var(--spacing-3)}.panel-compact .panel-title{font-size:var(--font-size-sm)}.panel-compact .panel-subtitle{font-size:var(--font-size-xs)}.panel-resize-handle{position:absolute;right:-3px;top:0;bottom:0;width:6px;background:transparent;cursor:col-resize;transition:var(--transition-button);z-index:10;border-radius:0 var(--radius-md) var(--radius-md) 0;display:flex;align-items:center;justify-content:center}.panel-resize-handle:before{content:"";width:2px;height:16px;background:var(--color-border);border-radius:var(--radius-full);opacity:0;transition:var(--transition-hover)}.panel-resize-handle:hover,.panel-resize-handle:active,.panel-resizing .panel-resize-handle{background:var(--color-engineering-100)}.panel-resize-handle:hover:before,.panel-resize-handle:active:before,.panel-resizing .panel-resize-handle:before{opacity:1;background:var(--color-engineering-500)}.panel-resize-handle:active:before,.panel-resizing .panel-resize-handle:before{background:var(--color-engineering-600);height:20px;box-shadow:var(--shadow-sm)}.panel-collapsed{min-width:0!important;width:auto!important}.panel-resizing{-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none}.panel-resizing .panel-resize-handle{pointer-events:all}.panel-section{border-bottom:1px solid var(--color-border);padding-bottom:var(--spacing-4);margin-bottom:var(--spacing-4)}.panel-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.panel-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-3);gap:var(--spacing-2)}.panel-section-header-content{display:flex;align-items:center;gap:var(--spacing-2);flex:1;min-width:0}.panel-section-collapse-btn{flex-shrink:0;color:var(--color-text-tertiary)}.panel-section-collapse-btn:hover{color:var(--color-text-secondary);background:var(--color-surface-tertiary)}.panel-section-title-group{flex:1;min-width:0}.panel-section-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0;line-height:var(--line-height-tight);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide)}.panel-section-subtitle{font-size:var(--font-size-xs);color:var(--color-text-tertiary);margin:var(--spacing-1) 0 0 0;line-height:var(--line-height-tight)}.panel-section-actions{display:flex;align-items:center;gap:var(--spacing-1);flex-shrink:0}.panel-section-content{transition:var(--transition-panel)}.panel-section-content-collapsed{height:0;overflow:hidden}.panel-section-collapsed{margin-bottom:var(--spacing-2);padding-bottom:var(--spacing-2)}@media(prefers-color-scheme:dark){.panel-floating{background:#000000f2;border-color:var(--color-border)}}@media(max-width:768px){.panel-header{padding:var(--spacing-3);min-height:3rem}.panel-content{padding:var(--spacing-3)}.panel-title{font-size:var(--font-size-sm)}.panel-subtitle{font-size:var(--font-size-xs)}.panel-compact .panel-header{padding:var(--spacing-2);min-height:2.25rem}.panel-compact .panel-content{padding:var(--spacing-2)}}@media(prefers-contrast:high){.panel{border-width:2px}.panel-primary{border-color:var(--color-engineering-600)}.panel-header,.panel-section{border-bottom-width:2px}}@media(prefers-reduced-motion:reduce){.panel,.panel-content,.panel-section-content,.panel-collapse-btn,.panel-section-collapse-btn,.panel-resize-handle{transition:none}}.panel:focus-within{box-shadow:var(--shadow-focus),var(--shadow-panel)}.panel-loading{position:relative;pointer-events:none}.panel-loading:after{content:"";position:absolute;inset:0;background:#fffc;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;border-radius:inherit;animation:pulse 1.8s ease-in-out infinite}.panel-loading:before{content:"";position:absolute;top:50%;left:50%;width:24px;height:24px;margin:-12px 0 0 -12px;border:2px solid var(--color-engineering-200);border-top-color:var(--color-engineering-500);border-radius:50%;z-index:1001;animation:spin 1s linear infinite}@keyframes pulse{0%,to{opacity:.7}50%{opacity:.9}}@keyframes spin{to{transform:rotate(360deg)}}.panel-collapse-btn:focus-visible,.panel-section-collapse-btn:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset);border-radius:var(--radius-sm);box-shadow:var(--shadow-interactive-focus)}.panel[tabindex]:focus{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}@media(pointer:coarse){.panel-collapse-btn,.panel-section-collapse-btn{min-width:44px;min-height:44px}.panel-resize-handle{width:12px;right:-6px}}.panel-content,.panel-section-content{overflow:hidden;transition:height var(--duration-smooth) var(--ease-smooth),padding-top var(--duration-smooth) var(--ease-smooth),padding-bottom var(--duration-smooth) var(--ease-smooth),opacity var(--duration-fast) var(--ease-out)}.panel-content-collapsed,.panel-section-content-collapsed{opacity:0}.panel-section:nth-child(1){animation-delay:0ms}.panel-section:nth-child(2){animation-delay:50ms}.panel-section:nth-child(3){animation-delay:.1s}.panel-section:nth-child(4){animation-delay:.15s}.panel-section:nth-child(5){animation-delay:.2s}.enhanced-viewport{position:relative;width:100%;height:100%;background:var(--color-neutral-900);overflow:hidden;border-radius:var(--radius-lg);box-shadow:var(--shadow-viewport-enhanced);transition:var(--transition-panel);isolation:isolate;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px)}.enhanced-viewport:hover{box-shadow:var(--shadow-interactive-hover)}.viewport-canvas{width:100%;height:100%;display:block;background:linear-gradient(135deg,#1a1a2e,#16213e,#0f1419);transition:var(--transition-colors);cursor:default}.viewport-canvas:focus{outline:2px solid var(--color-engineering-500);outline-offset:-2px}.viewport-toolbar{position:absolute;top:var(--spacing-4);left:var(--spacing-4);background:#fffffffa;border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--spacing-3);display:flex;align-items:center;gap:var(--spacing-2);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:var(--shadow-viewport-tool-enhanced);z-index:10;max-width:calc(100% - var(--spacing-8));flex-wrap:wrap;transition:var(--transition-panel);isolation:isolate}.viewport-toolbar:hover{background:#fff;box-shadow:var(--shadow-interactive-hover);transform:translateY(-1px)}.viewport-toolbar-group{display:flex;align-items:center;gap:var(--spacing-1);padding:0 var(--spacing-1)}.viewport-toolbar-group:not(:last-child):after{content:"";width:1px;height:24px;background:linear-gradient(to bottom,transparent 0%,var(--color-border) 20%,var(--color-border) 80%,transparent 100%);margin:0 var(--spacing-3);opacity:.6;transition:var(--transition-colors)}.viewport-toolbar:hover .viewport-toolbar-group:not(:last-child):after{opacity:1;background:linear-gradient(to bottom,transparent 0%,var(--color-border-strong) 20%,var(--color-border-strong) 80%,transparent 100%)}.viewport-tool-btn{position:relative;transition:var(--transition-button)}.viewport-tool-btn.active:after{content:"";position:absolute;bottom:-8px;left:50%;transform:translate(-50%);width:6px;height:6px;background:var(--color-engineering-500);border-radius:50%;box-shadow:0 0 8px var(--color-engineering-400);animation:toolActivePulse 2s ease-in-out infinite}@keyframes toolActivePulse{0%,to{opacity:1;transform:translate(-50%) scale(1)}50%{opacity:.7;transform:translate(-50%) scale(1.2)}}.navigation-cube{position:absolute;top:var(--spacing-3);right:var(--spacing-3);width:120px;height:120px;z-index:20;perspective:800px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.cube-container{position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform var(--duration-smooth) var(--ease-smooth)}.cube-face{position:absolute;width:36px;height:36px;background:#fffffff2;border:1px solid var(--color-border);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);color:var(--color-text-secondary);cursor:pointer;transition:all var(--duration-fast) var(--ease-precise);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:var(--shadow-sm)}.cube-face:hover{background:var(--color-engineering-100);border-color:var(--color-engineering-300);color:var(--color-engineering-700);transform:scale(1.1);box-shadow:var(--shadow-md)}.cube-face.active{background:var(--color-engineering-500);color:#fff;border-color:var(--color-engineering-600)}.cube-face-iso{transform:translate3d(42px,42px,18px)}.cube-face-front{transform:translate3d(42px,42px,36px)}.cube-face-back{transform:translate3d(42px,42px,0) rotateY(180deg)}.cube-face-right{transform:translate3d(60px,42px,18px) rotateY(90deg)}.cube-face-left{transform:translate3d(24px,42px,18px) rotateY(-90deg)}.cube-face-top{transform:translate3d(42px,24px,18px) rotateX(90deg)}.cube-face-bottom{transform:translate3d(42px,60px,18px) rotateX(-90deg)}.cube-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:24px;height:24px;background:var(--color-engineering-500);border:2px solid white;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;color:#fff;cursor:pointer;transition:var(--transition-button);box-shadow:var(--shadow-button);z-index:1}.cube-center:hover{background:var(--color-engineering-600);transform:translate(-50%,-50%) scale(1.1)}.coordinate-display{position:absolute;bottom:var(--spacing-4);right:var(--spacing-4);background:#fffffffa;border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--spacing-4);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:var(--shadow-viewport-tool-enhanced);z-index:10;min-width:140px;transition:var(--transition-panel)}.coordinate-display:hover{background:#fff;box-shadow:var(--shadow-interactive-hover);transform:translateY(-1px)}.coordinate-item{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-3);margin-bottom:var(--spacing-1)}.coordinate-item:last-child{margin-bottom:0}.coord-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);min-width:12px;text-align:center}.coord-value{font-family:var(--font-family-mono);font-size:var(--font-size-technical);font-weight:var(--font-weight-medium);color:var(--color-text-primary);background:var(--color-surface-secondary);padding:var(--spacing-1) var(--spacing-2);border-radius:var(--radius-sm);min-width:60px;text-align:right;border:1px solid var(--color-border)}.scale-indicator{position:absolute;bottom:var(--spacing-4);left:var(--spacing-4);background:#fffffffa;border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--spacing-3) var(--spacing-4);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:var(--shadow-viewport-tool-enhanced);z-index:10;transition:var(--transition-panel)}.scale-indicator:hover{background:#fff;box-shadow:var(--shadow-interactive-hover);transform:translateY(-1px)}.scale-bar{display:flex;align-items:center;gap:var(--spacing-2);margin-bottom:var(--spacing-1)}.scale-line{width:50px;height:2px;background:var(--color-text-primary);position:relative}.scale-line:before,.scale-line:after{content:"";position:absolute;width:2px;height:8px;background:var(--color-text-primary);top:-3px}.scale-line:before{left:0}.scale-line:after{right:0}.scale-label{font-family:var(--font-family-mono);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.grid-info{font-size:var(--font-size-xs);color:var(--color-text-tertiary);text-align:center}.grid-size{font-family:var(--font-family-mono)}.performance-monitor{position:absolute;top:140px;left:var(--spacing-4);background:#000000e6;border:1px solid rgba(255,255,255,.15);border-radius:var(--radius-xl);padding:var(--spacing-3);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#fff;font-family:var(--font-family-mono);font-size:var(--font-size-xs);z-index:5;min-width:140px;transition:var(--transition-panel);box-shadow:var(--shadow-performance-monitor)}.performance-monitor:hover{background:#000000f2;border-color:#ffffff40;transform:translateY(-1px);box-shadow:var(--shadow-interactive-hover-dark)}.perf-item{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-1)}.perf-label{color:#ffffffb3}.perf-value{color:var(--color-warning-400);font-weight:var(--font-weight-semibold)}.perf-value.good{color:var(--color-success-400)}.perf-value.bad{color:var(--color-error-400)}.measurement-panel{position:absolute;top:80px;left:var(--spacing-3);width:320px;max-height:calc(100vh - 200px);z-index:30}.measurement-tools{margin-bottom:var(--spacing-4)}.tool-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:var(--spacing-2);gap:var(--spacing-2)}.measurement-tool-btn{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-1);padding:var(--spacing-3);background:var(--color-surface-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:var(--transition-button);text-align:center}.measurement-tool-btn:hover{background:var(--color-surface-tertiary);border-color:var(--color-border-strong);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.measurement-tool-btn.active{background:var(--color-engineering-100);border-color:var(--color-engineering-300);color:var(--color-engineering-700)}.tool-icon{color:var(--color-text-secondary)}.measurement-tool-btn.active .tool-icon{color:var(--color-engineering-600)}.tool-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.measurements-list{max-height:300px;overflow-y:auto}.measurements-header{padding:var(--spacing-2) 0 var(--spacing-2) 0;border-bottom:1px solid var(--color-border);margin-bottom:var(--spacing-2)}.measurements-header h4{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);margin:0}.measurement-item{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-2) 0;border-bottom:1px solid var(--color-border);transition:background var(--duration-fast) var(--ease-precise)}.measurement-item:hover{background:var(--color-surface-secondary);margin:0 calc(-1 * var(--spacing-3));padding-left:var(--spacing-3);padding-right:var(--spacing-3);border-radius:var(--radius-sm)}.measurement-item:last-child{border-bottom:none}.measurement-info{flex:1}.measurement-type{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);text-transform:capitalize;margin-bottom:var(--spacing-1)}.measurement-value{font-family:var(--font-family-mono);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.measurement-unit{font-family:var(--font-family-mono);font-size:var(--font-size-xs);color:var(--color-text-tertiary);margin-left:var(--spacing-1)}.measurement-actions{display:flex;align-items:center;gap:var(--spacing-1)}.measurement-action-btn{opacity:0;transition:opacity var(--duration-fast) var(--ease-precise)}.measurement-item:hover .measurement-action-btn{opacity:1}.measurement-action-btn.delete:hover{background:var(--color-error-100);color:var(--color-error-600)}.measurements-empty{padding:var(--spacing-6);text-align:center;color:var(--color-text-tertiary)}.measurements-empty-icon{font-size:2rem;margin-bottom:var(--spacing-3);opacity:.5}.measurements-empty-text{font-size:var(--font-size-sm);margin-bottom:var(--spacing-1)}.measurements-empty-hint{font-size:var(--font-size-xs);color:var(--color-text-quaternary)}@media(max-width:768px){.viewport-toolbar{width:calc(100% - var(--spacing-6));max-width:none}.viewport-toolbar-group{gap:var(--spacing-1);padding:0}.viewport-toolbar-group:not(:last-child):after{margin:0 var(--spacing-1)}.navigation-cube{width:80px;height:80px}.cube-face{width:24px;height:24px;font-size:8px}.cube-face-iso{transform:translate3d(28px,28px,12px)}.cube-face-front{transform:translate3d(28px,28px,24px)}.cube-face-back{transform:translate3d(28px,28px,0) rotateY(180deg)}.cube-face-right{transform:translate3d(40px,28px,12px) rotateY(90deg)}.cube-face-left{transform:translate3d(16px,28px,12px) rotateY(-90deg)}.cube-face-top{transform:translate3d(28px,16px,12px) rotateX(90deg)}.cube-face-bottom{transform:translate3d(28px,40px,12px) rotateX(-90deg)}.cube-center{width:16px;height:16px;font-size:8px}.coordinate-display{bottom:var(--spacing-2);right:var(--spacing-2);padding:var(--spacing-2)}.scale-indicator{bottom:var(--spacing-2);left:var(--spacing-2);padding:var(--spacing-2)}.measurement-panel{width:calc(100vw - var(--spacing-6));left:var(--spacing-3);right:var(--spacing-3)}.tool-grid{grid-template-columns:repeat(3,1fr)}.measurement-tool-btn{padding:var(--spacing-2)}}@media(prefers-color-scheme:dark){.viewport-toolbar,.coordinate-display,.scale-indicator{background:#000000e6;border-color:var(--color-border)}.cube-face{background:#000000e6;border-color:var(--color-border);color:var(--color-text-primary)}.cube-face:hover{background:var(--color-engineering-900);color:var(--color-engineering-100)}}@media(prefers-contrast:high){.viewport-toolbar,.coordinate-display,.scale-indicator,.cube-face,.measurement-tool-btn{border-width:2px}.measurement-item{border-bottom-width:2px}}@media(prefers-reduced-motion:reduce){.cube-container,.cube-face,.cube-center,.viewport-tool-btn,.measurement-tool-btn,.measurement-action-btn{transition:none}.cube-face:hover,.cube-center:hover{transform:none}}.viewport-tool-btn:focus-visible,.cube-face:focus-visible,.cube-center:focus-visible,.measurement-tool-btn:focus-visible{outline:2px solid var(--color-engineering-500);outline-offset:2px}.viewport-instance{position:relative;display:flex;flex-direction:column;width:100%;height:100%;background:var(--color-surface-primary);border:2px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;transition:var(--transition-panel);isolation:isolate}.viewport-instance:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-viewport-instance-hover)}.viewport-instance.active{border-color:var(--color-engineering-400);box-shadow:var(--shadow-viewport-instance-active);z-index:1}.viewport-instance.active:before{content:"";position:absolute;inset:-2px;background:linear-gradient(45deg,var(--color-engineering-400),var(--color-engineering-500));border-radius:var(--radius-md);z-index:-1;opacity:.1}.viewport-instance.locked{opacity:.7;cursor:not-allowed}.viewport-instance.locked .viewport-content{pointer-events:none}.viewport-instance.hidden{display:none}.viewport-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-2) var(--spacing-3);background:var(--color-surface-secondary);border-bottom:1px solid var(--color-border);min-height:44px;z-index:10;transition:var(--transition-colors)}.viewport-instance.active .viewport-header{background:var(--color-engineering-50);border-bottom-color:var(--color-engineering-200)}.viewport-info{display:flex;align-items:center;gap:var(--spacing-2);flex:1;min-width:0}.viewport-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.viewport-instance.active .viewport-name{color:var(--color-engineering-700)}.viewport-view-type{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);background:var(--color-surface-tertiary);padding:var(--spacing-1) var(--spacing-2);border-radius:var(--radius-sm);border:1px solid var(--color-border)}.viewport-instance.active .viewport-view-type{color:var(--color-engineering-600);background:var(--color-engineering-100);border-color:var(--color-engineering-300)}.viewport-controls{display:flex;align-items:center;gap:var(--spacing-1);opacity:0;transition:opacity var(--duration-fast) var(--ease-precise)}.viewport-instance:hover .viewport-controls,.viewport-instance.active .viewport-controls{opacity:1}.viewport-control-btn{transition:var(--transition-button)}.viewport-control-btn.locked{color:var(--color-warning-600);background:var(--color-warning-100)}.viewport-view-menu{position:relative}.view-type-dropdown{position:absolute;top:100%;right:0;margin-top:var(--spacing-1);background:var(--color-surface-primary);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-dropdown);z-index:50;min-width:140px;overflow:hidden;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.view-type-option{display:flex;align-items:center;gap:var(--spacing-2);width:100%;padding:var(--spacing-2) var(--spacing-3);background:none;border:none;cursor:pointer;transition:var(--transition-colors);font-size:var(--font-size-sm);color:var(--color-text-primary);text-transform:capitalize}.view-type-option:hover{background:var(--color-surface-secondary)}.view-type-option.active{background:var(--color-engineering-100);color:var(--color-engineering-700)}.view-type-option.active .btn{background:var(--color-engineering-200);color:var(--color-engineering-800)}.viewport-active-indicator{position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--color-engineering-400),var(--color-engineering-600));z-index:20;animation:activeIndicatorPulse 2s ease-in-out infinite}@keyframes activeIndicatorPulse{0%,to{opacity:1}50%{opacity:.6}}.viewport-content{flex:1;position:relative;overflow:hidden;background:var(--color-neutral-900)}.viewport-3d{width:100%;height:100%;border-radius:0;box-shadow:none}.viewport-instance .viewport-3d .viewport-toolbar{top:var(--spacing-2);left:var(--spacing-2);padding:var(--spacing-2);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:var(--radius-lg)}.viewport-instance .viewport-3d .viewport-toolbar-group{gap:var(--spacing-1);padding:0}.viewport-instance .viewport-3d .navigation-cube{top:var(--spacing-2);right:var(--spacing-2);width:80px;height:80px}.viewport-instance .viewport-3d .cube-face{width:24px;height:24px;font-size:8px}.viewport-instance .viewport-3d .coordinate-display{bottom:var(--spacing-2);right:var(--spacing-2);padding:var(--spacing-2);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.viewport-instance .viewport-3d .scale-indicator{bottom:var(--spacing-2);left:var(--spacing-2);padding:var(--spacing-2);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.viewport-instance .viewport-3d .performance-monitor{top:100px;left:var(--spacing-2);padding:var(--spacing-2);font-size:10px}.viewport-instance .viewport-3d .measurement-panel{display:none}.viewport-status{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-2) var(--spacing-3);background:var(--color-surface-secondary);border-top:1px solid var(--color-border);font-size:var(--font-size-xs);color:var(--color-text-tertiary);min-height:32px}.viewport-instance.active .viewport-status{background:var(--color-engineering-50);border-top-color:var(--color-engineering-200);color:var(--color-engineering-600)}.viewport-camera-info{display:flex;align-items:center;gap:var(--spacing-3)}.camera-mode,.camera-zoom{font-family:var(--font-family-mono);font-weight:var(--font-weight-medium)}.viewport-quality{display:flex;align-items:center}.quality-indicator{font-family:var(--font-family-mono);font-weight:var(--font-weight-bold);padding:var(--spacing-1) var(--spacing-2);border-radius:var(--radius-sm);border:1px solid;font-size:10px;letter-spacing:var(--letter-spacing-wide)}.quality-indicator.quality-low{color:var(--color-warning-700);background:var(--color-warning-100);border-color:var(--color-warning-300)}.quality-indicator.quality-medium{color:var(--color-info-700);background:var(--color-info-100);border-color:var(--color-info-300)}.quality-indicator.quality-high{color:var(--color-success-700);background:var(--color-success-100);border-color:var(--color-success-300)}@media(max-width:768px){.viewport-header{padding:var(--spacing-1) var(--spacing-2);min-height:36px}.viewport-name{font-size:var(--font-size-xs)}.viewport-view-type{display:none}.viewport-status{padding:var(--spacing-1) var(--spacing-2);min-height:28px;font-size:10px}.viewport-camera-info{gap:var(--spacing-2)}.camera-zoom{display:none}.view-type-dropdown{min-width:120px}.view-type-option{padding:var(--spacing-2);font-size:var(--font-size-xs)}}.viewport-instance:not(.active) .viewport-3d .performance-monitor{display:none}.viewport-instance:not(.active) .viewport-3d .coordinate-display{opacity:.5}@media(prefers-contrast:high){.viewport-instance,.viewport-instance.active{border-width:3px}.viewport-header,.viewport-status,.quality-indicator{border-width:2px}}@media(prefers-reduced-motion:reduce){.viewport-instance,.viewport-controls,.viewport-control-btn,.view-type-option,.viewport-active-indicator{transition:none}.viewport-active-indicator{animation:none}.viewport-instance:hover{transform:none}}.viewport-instance:focus-within{outline:2px solid var(--color-engineering-500);outline-offset:2px}.viewport-control-btn:focus-visible,.view-type-option:focus-visible{outline:2px solid var(--color-engineering-500);outline-offset:2px}.viewport-sync-controls{--sync-primary: #0ea5e9;--sync-secondary: #64748b;--sync-success: #10b981;--sync-warning: #f59e0b;--sync-danger: #ef4444;--sync-bg: #1e293b;--sync-bg-light: #334155;--sync-border: #475569;--sync-text: #f8fafc;--sync-text-muted: #94a3b8;--sync-radius: 8px;--sync-shadow: 0 4px 6px -1px rgba(0, 0, 0, .1)}.sync-status{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--sync-bg-light);border:1px solid var(--sync-border);border-radius:var(--sync-radius);margin-bottom:16px}.status-indicator{display:flex;align-items:center;gap:8px;font-weight:500;color:var(--sync-text)}.status-dot{width:8px;height:8px;border-radius:50%;background:var(--sync-secondary)}.status-dot.active{background:var(--sync-success);box-shadow:0 0 8px #10b98166}.sync-stats{display:flex;gap:16px}.stat-item{display:flex;gap:4px;font-size:13px}.stat-label{color:var(--sync-text-muted)}.stat-value{color:var(--sync-text);font-weight:500}.sync-mode-selector{background:var(--sync-bg);border:1px solid var(--sync-border);border-radius:var(--sync-radius);padding:16px;margin-bottom:16px}.sync-mode-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.sync-mode-header h3{margin:0;font-size:16px;font-weight:600;color:var(--sync-text)}.sync-mode-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));grid-gap:8px;gap:8px;margin-bottom:12px}.sync-mode-card{display:flex;flex-direction:column;align-items:center;padding:12px 8px;background:var(--sync-bg-light);border:1px solid var(--sync-border);border-radius:var(--sync-radius);cursor:pointer;transition:all .2s ease;position:relative;min-height:80px}.sync-mode-card:hover{background:#0ea5e91a;border-color:var(--sync-primary)}.sync-mode-card.active{background:#0ea5e933;border-color:var(--sync-primary);box-shadow:0 0 0 2px #0ea5e933}.sync-mode-card.disabled{opacity:.5;cursor:not-allowed;background:var(--sync-bg-light)}.sync-mode-card.disabled:hover{background:var(--sync-bg-light);border-color:var(--sync-border)}.sync-mode-icon{margin-bottom:8px}.sync-mode-info{text-align:center;flex:1}.sync-mode-title{font-weight:500;font-size:12px;color:var(--sync-text);margin-bottom:2px}.sync-mode-short{font-size:10px;color:var(--sync-text-muted);line-height:1.2}.sync-mode-indicator{position:absolute;top:4px;right:4px;color:var(--sync-primary)}.sync-mode-description{display:flex;align-items:flex-start;gap:8px;padding:12px;background:#0ea5e91a;border:1px solid rgba(14,165,233,.2);border-radius:var(--sync-radius);font-size:13px;color:var(--sync-text)}.description-icon{color:var(--sync-primary);flex-shrink:0;margin-top:1px}.viewport-participation{background:var(--sync-bg);border:1px solid var(--sync-border);border-radius:var(--sync-radius);padding:16px;margin-bottom:16px}.participation-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.participation-header h3{margin:0;font-size:16px;font-weight:600;color:var(--sync-text)}.viewport-list{display:flex;flex-direction:column;gap:8px}.viewport-item{display:flex;align-items:center;justify-content:space-between;padding:12px;background:var(--sync-bg-light);border:1px solid var(--sync-border);border-radius:var(--sync-radius);transition:all .2s ease}.viewport-item.active{border-color:var(--sync-primary);background:#0ea5e91a}.viewport-info{display:flex;align-items:center;gap:12px;flex:1}.viewport-indicator{position:relative}.viewport-type-icon{width:32px;height:32px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px;color:var(--sync-text);background:var(--sync-secondary)}.viewport-type-icon.perspective{background:var(--sync-primary)}.viewport-type-icon.front,.viewport-type-icon.back,.viewport-type-icon.left,.viewport-type-icon.right,.viewport-type-icon.top,.viewport-type-icon.bottom{background:var(--sync-warning)}.viewport-type-icon.iso{background:var(--sync-success)}.viewport-details{flex:1}.viewport-name{font-weight:500;color:var(--sync-text);font-size:14px}.viewport-type{font-size:12px;color:var(--sync-text-muted);text-transform:capitalize}.viewport-controls{display:flex;align-items:center;gap:8px}.sync-toggle{position:relative;display:inline-block;width:44px;height:24px}.sync-toggle input{opacity:0;width:0;height:0}.sync-toggle-slider{position:absolute;cursor:pointer;inset:0;background-color:var(--sync-secondary);transition:.3s;border-radius:24px}.sync-toggle-slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:var(--sync-text);transition:.3s;border-radius:50%}.sync-toggle input:checked+.sync-toggle-slider{background-color:var(--sync-primary)}.sync-toggle input:checked+.sync-toggle-slider:before{transform:translate(20px)}.advanced-controls{margin-top:16px;padding-top:16px;border-top:1px solid var(--sync-border)}.control-section{margin-bottom:20px}.control-section:last-child{margin-bottom:0}.control-section h4{margin:0 0 8px;font-size:14px;font-weight:500;color:var(--sync-text)}.direction-buttons{display:flex;gap:8px}.direction-button{display:flex;align-items:center;gap:6px;padding:8px 12px;background:var(--sync-bg-light);border:1px solid var(--sync-border);border-radius:var(--sync-radius);color:var(--sync-text);font-size:12px;cursor:pointer;transition:all .2s ease}.direction-button:hover{background:#0ea5e91a;border-color:var(--sync-primary)}.direction-button.active{background:var(--sync-primary);border-color:var(--sync-primary)}.speed-control{position:relative}.speed-slider{width:100%;height:6px;border-radius:3px;background:var(--sync-bg-light);outline:none;-webkit-appearance:none;cursor:pointer}.speed-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:var(--sync-primary);cursor:pointer;border:2px solid var(--sync-text)}.speed-slider::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--sync-primary);cursor:pointer;border:2px solid var(--sync-text)}.speed-labels{display:flex;justify-content:space-between;margin-top:4px;font-size:11px;color:var(--sync-text-muted)}.preservation-toggle{display:flex;align-items:center;gap:8px;cursor:pointer;color:var(--sync-text);font-size:13px}.preservation-toggle input{width:16px;height:16px;accent-color:var(--sync-primary)}.viewport-settings-panel{position:absolute;top:0;right:-320px;width:300px;z-index:1000;animation:slideIn .3s ease}@keyframes slideIn{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.settings-content{padding:16px}.setting-group{margin-bottom:20px}.setting-group:last-child{margin-bottom:0}.setting-group h4{margin:0 0 12px;font-size:14px;font-weight:500;color:var(--sync-text)}.participation-options{display:flex;flex-direction:column;gap:8px}.participation-options label{display:flex;align-items:center;gap:8px;cursor:pointer;color:var(--sync-text);font-size:13px}.participation-options input{width:16px;height:16px;accent-color:var(--sync-primary)}.priority-control input[type=range]{width:100%;margin-bottom:8px}.priority-labels{display:flex;justify-content:space-between;font-size:11px;color:var(--sync-text-muted);margin-bottom:4px}.priority-description{font-size:12px;color:var(--sync-text-muted);font-style:italic}.constraint-info{background:var(--sync-bg-light);border:1px solid var(--sync-border);border-radius:var(--sync-radius);padding:12px}.constraint-item{display:flex;justify-content:space-between;margin-bottom:6px;font-size:13px}.constraint-item:last-child{margin-bottom:0}.constraint-label{color:var(--sync-text-muted)}.constraint-value{color:var(--sync-text);font-weight:500}.constraint-note{margin-top:8px;padding-top:8px;border-top:1px solid var(--sync-border);font-size:12px;color:var(--sync-text-muted);font-style:italic}@media(max-width:768px){.sync-mode-grid{grid-template-columns:repeat(2,1fr)}.viewport-settings-panel{position:fixed;inset:0;width:auto;background:var(--sync-bg);animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}}@media(prefers-contrast:high){.viewport-sync-controls{--sync-border: #ffffff;--sync-text: #ffffff;--sync-bg: #000000;--sync-bg-light: #333333}}@media(prefers-reduced-motion:reduce){.sync-mode-card,.viewport-item,.direction-button,.sync-toggle-slider,.sync-toggle-slider:before{transition:none}.viewport-settings-panel{animation:none}}.viewport-layout-manager{position:relative;display:flex;flex-direction:column;width:100%;height:100%;background:var(--color-surface-primary);overflow:hidden;isolation:isolate}.viewport-layout-controls{display:flex;align-items:center;gap:var(--spacing-3);padding:var(--spacing-3) var(--spacing-4);background:var(--color-surface-secondary);border-bottom:1px solid var(--color-border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:20;min-height:56px;transition:var(--transition-colors)}.layout-selector{position:relative;display:flex;align-items:center}.layout-toggle-btn{position:relative;transition:var(--transition-button)}.layout-toggle-btn:after{content:"";position:absolute;top:-2px;right:-2px;width:6px;height:6px;background:var(--color-engineering-500);border:2px solid var(--color-surface-secondary);border-radius:50%;opacity:0;transition:var(--transition-colors)}.layout-toggle-btn.active:after{opacity:1}.layout-menu{position:absolute;top:100%;left:0;margin-top:var(--spacing-2);background:var(--color-surface-primary);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-dropdown-enhanced);z-index:50;min-width:180px;overflow:hidden;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);animation:layoutMenuAppear .2s var(--ease-out)}@keyframes layoutMenuAppear{0%{opacity:0;transform:translateY(-8px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.layout-option{display:flex;align-items:center;gap:var(--spacing-3);width:100%;padding:var(--spacing-3) var(--spacing-4);background:none;border:none;cursor:pointer;transition:var(--transition-colors);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary);text-transform:capitalize;text-align:left}.layout-option:hover{background:var(--color-surface-secondary)}.layout-option.active{background:var(--color-engineering-100);color:var(--color-engineering-700)}.layout-option.active .btn{background:var(--color-engineering-200);color:var(--color-engineering-800)}.camera-sync-btn{position:relative;transition:var(--transition-button)}.camera-sync-btn.btn-primary{background:var(--color-engineering-500);color:#fff;box-shadow:var(--shadow-button-active)}.camera-sync-btn.btn-primary:before{content:"";position:absolute;inset:-3px;background:linear-gradient(45deg,var(--color-engineering-400),var(--color-engineering-600));border-radius:var(--radius-md);z-index:-1;opacity:.2;animation:cameraSyncPulse 2s ease-in-out infinite}@keyframes cameraSyncPulse{0%,to{opacity:.2;transform:scale(1)}50%{opacity:.4;transform:scale(1.05)}}.sync-settings-btn{position:relative;transition:var(--transition-button)}.sync-settings-btn.btn-primary{background:var(--color-engineering-600);color:#fff;box-shadow:var(--shadow-button-active)}.sync-controls-panel{position:absolute;top:100%;right:var(--spacing-4);width:380px;z-index:100;margin-top:var(--spacing-2);background:var(--color-surface-primary);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-dropdown-enhanced);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);overflow:hidden;animation:syncPanelAppear .3s var(--ease-out);max-height:80vh;overflow-y:auto}@keyframes syncPanelAppear{0%{opacity:0;transform:translateY(-16px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.viewport-layout-manager.sync-controls-open .sync-controls-panel{display:block}.viewport-layout-manager.sync-controls-open{position:relative}.viewport-layout-manager.sync-controls-open .viewport-layout-content{margin-right:400px;transition:margin-right .3s var(--ease-out)}.viewport-sync-controls-instance{padding:var(--spacing-4);max-height:100%;overflow-y:auto}.active-viewport-info{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-3);background:var(--color-engineering-100);border:1px solid var(--color-engineering-300);border-radius:var(--radius-lg);margin-left:auto}.active-viewport-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-engineering-700)}.active-viewport-view{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-engineering-600);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);background:var(--color-engineering-200);padding:var(--spacing-1) var(--spacing-2);border-radius:var(--radius-sm)}.viewport-layout-content{flex:1;position:relative;overflow:hidden;background:var(--color-neutral-100);padding:var(--spacing-2);gap:var(--spacing-2)}.viewport-layout-single{width:100%;height:100%;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-viewport-container)}.viewport-layout-horizontal,.viewport-layout-vertical,.viewport-layout-quad{width:100%;height:100%;gap:var(--spacing-2)}.viewport-layout-content [data-panel-group]{gap:var(--spacing-2)}.viewport-layout-content [data-panel]{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-viewport-container)}.viewport-resize-handle{background:var(--color-border);position:relative;transition:var(--transition-colors);z-index:10}.viewport-resize-handle:hover{background:var(--color-engineering-400)}.viewport-resize-handle:before{content:"";position:absolute;background:var(--color-surface-primary);border-radius:var(--radius-full);opacity:0;transition:var(--transition-colors)}.viewport-resize-handle:hover:before{opacity:1;background:var(--color-engineering-100)}.viewport-resize-handle:not(.horizontal){width:var(--spacing-2);cursor:col-resize}.viewport-resize-handle:not(.horizontal):before{top:50%;left:50%;transform:translate(-50%,-50%);width:4px;height:24px}.viewport-resize-handle.horizontal{height:var(--spacing-2);cursor:row-resize}.viewport-resize-handle.horizontal:before{top:50%;left:50%;transform:translate(-50%,-50%);width:24px;height:4px}.viewport-layout-manager.cameras-synced .viewport-layout-controls{background:linear-gradient(135deg,var(--color-engineering-50) 0%,var(--color-surface-secondary) 100%);border-bottom-color:var(--color-engineering-200)}.viewport-layout-manager.cameras-synced .active-viewport-info{background:var(--color-engineering-200);border-color:var(--color-engineering-400)}.layout-single .viewport-layout-content{padding:0}.layout-quad .viewport-layout-content [data-panel-group]{gap:var(--spacing-1)}.layout-quad .viewport-layout-content [data-panel]{box-shadow:var(--shadow-sm)}.viewport-layout-manager:not(.layout-single) .viewport-instance:not(.active){transform:translateZ(0)}@media(max-width:1024px){.viewport-layout-controls{padding:var(--spacing-2) var(--spacing-3);min-height:48px}.viewport-layout-content{padding:var(--spacing-1);gap:var(--spacing-1)}.viewport-layout-content [data-panel-group]{gap:var(--spacing-1)}.active-viewport-info{display:none}.layout-menu{min-width:160px}.layout-option{padding:var(--spacing-2) var(--spacing-3);font-size:var(--font-size-xs)}}@media(max-width:768px){.viewport-layout-controls{flex-wrap:wrap;gap:var(--spacing-2);padding:var(--spacing-2);min-height:auto}.viewport-layout-content{padding:var(--spacing-1)}.viewport-layout-manager:not(.layout-single) .viewport-layout-content{display:none}.viewport-layout-manager:not(.layout-single):after{content:"Switch to single viewport for mobile viewing";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--color-surface-primary);padding:var(--spacing-4);border-radius:var(--radius-lg);border:1px solid var(--color-border);box-shadow:var(--shadow-lg);color:var(--color-text-secondary);font-size:var(--font-size-sm);text-align:center;z-index:100}}@media(prefers-color-scheme:dark){.viewport-layout-controls{background:var(--color-surface-primary);border-bottom-color:var(--color-border)}.layout-menu{background:var(--color-surface-secondary);border-color:var(--color-border)}.viewport-layout-content{background:var(--color-neutral-800)}.viewport-resize-handle{background:var(--color-border)}.viewport-resize-handle:hover{background:var(--color-engineering-400)}}@media(prefers-contrast:high){.viewport-layout-controls{border-bottom-width:2px}.layout-menu,.active-viewport-info{border-width:2px}.viewport-resize-handle{width:var(--spacing-3)}.viewport-resize-handle.horizontal{height:var(--spacing-3)}}@media(prefers-reduced-motion:reduce){.layout-menu{animation:none}.camera-sync-btn:before{animation:none}.viewport-resize-handle,.layout-option,.layout-toggle-btn{transition:none}}.viewport-layout-controls:focus-within{outline:2px solid var(--color-engineering-500);outline-offset:2px}.layout-toggle-btn:focus-visible,.camera-sync-btn:focus-visible,.layout-option:focus-visible{outline:2px solid var(--color-engineering-500);outline-offset:2px}.viewport-layout-manager[data-loading=true] .viewport-layout-content{opacity:.6;pointer-events:none}.viewport-layout-manager[data-loading=true]:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.1) 50%,transparent 100%);animation:loadingShimmer 2s ease-in-out infinite;z-index:100}@keyframes loadingShimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.viewport{width:100%;height:100%;position:relative;background:var(--color-neutral-900);overflow:hidden;min-width:0;min-height:0}.viewport canvas{width:100%!important;height:100%!important;display:block}.viewport-toolbar{position:absolute;top:var(--spacing-2);left:var(--spacing-2);background:var(--color-surface-primary);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-1);display:flex;align-items:center;gap:var(--spacing-1);z-index:10;box-shadow:var(--shadow-panel);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.toolbar-group{display:flex;align-items:center;gap:var(--spacing-1)}.toolbar-btn.compact{width:28px;height:28px;padding:var(--spacing-1);background:var(--color-surface-secondary);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--transition-fast);position:relative;overflow:hidden}.toolbar-btn.compact:before{content:"";position:absolute;inset:0;background:var(--gradient-button);opacity:0;transition:var(--transition-hover)}.toolbar-btn.compact:hover{background:var(--color-surface-tertiary);border-color:var(--color-border-strong);color:var(--color-text-primary);transform:translateY(-1px);box-shadow:var(--shadow-button)}.toolbar-btn.compact:hover:before{opacity:1}.toolbar-btn.compact.active{background:var(--color-primary-100);border-color:var(--color-primary-300);color:var(--color-primary-700)}.toolbar-separator{width:1px;height:20px;background:var(--color-border);margin:0 var(--spacing-1)}.toolbar-spacer{flex:1}.viewport-status{display:flex;align-items:center;gap:var(--spacing-3);margin-left:var(--spacing-2)}.status-indicator{display:flex;align-items:center;gap:var(--spacing-1)}.status-label{font-size:var(--font-size-xs);color:var(--color-text-tertiary);font-weight:var(--font-weight-medium)}.status-value{font-size:var(--font-size-xs);color:var(--color-text-primary);font-weight:var(--font-weight-semibold);font-family:var(--font-family-mono);background:var(--color-surface-tertiary);padding:1px var(--spacing-1);border-radius:var(--radius-sm);min-width:32px;text-align:center}.coordinate-display{position:absolute;bottom:var(--spacing-2);right:var(--spacing-2);background:var(--color-surface-primary);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-2);display:flex;gap:var(--spacing-3);z-index:10;box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.coordinate-item{display:flex;align-items:center;gap:var(--spacing-1)}.coord-label{font-size:var(--font-size-xs);color:var(--color-text-secondary);font-weight:var(--font-weight-medium);min-width:12px}.coord-value{font-size:var(--font-size-xs);color:var(--color-text-primary);font-weight:var(--font-weight-semibold);font-family:var(--font-family-mono);background:var(--color-surface-secondary);padding:1px var(--spacing-1);border-radius:var(--radius-sm);min-width:40px;text-align:right}.navigation-cube{position:absolute;top:var(--spacing-2);right:var(--spacing-2);width:80px;height:80px;z-index:10;perspective:400px}.cube-face{position:absolute;width:24px;height:24px;background:var(--color-surface-primary);border:1px solid var(--color-border);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);color:var(--color-text-secondary);cursor:pointer;transition:var(--transition-fast);box-shadow:var(--shadow-xs)}.cube-face:hover{background:var(--color-primary-100);border-color:var(--color-primary-300);color:var(--color-primary-700);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.cube-face.front{top:28px;left:28px}.cube-face.back{top:28px;left:4px}.cube-face.top{top:4px;left:28px}.cube-face.bottom{top:52px;left:28px}.cube-face.left{top:28px;left:52px}.cube-face.right{top:28px;left:0}.cube-center{position:absolute;top:32px;left:32px;width:16px;height:16px;background:var(--color-primary-500);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:8px;font-weight:var(--font-weight-bold);color:var(--color-text-inverse);cursor:pointer;transition:var(--transition-fast);box-shadow:var(--shadow-button)}.cube-center:hover{background:var(--color-primary-600);transform:scale(1.1)}.scale-indicator{position:absolute;bottom:var(--spacing-2);left:var(--spacing-2);background:var(--color-surface-primary);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-2);z-index:10;box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.scale-bar{display:flex;align-items:center;gap:var(--spacing-1);margin-bottom:var(--spacing-1)}.scale-tick{width:1px;height:8px;background:var(--color-text-secondary)}.scale-label{font-size:var(--font-size-xs);color:var(--color-text-primary);font-weight:var(--font-weight-medium);font-family:var(--font-family-mono);margin:0 var(--spacing-2)}.grid-info{text-align:center}.grid-size{font-size:var(--font-size-xs);color:var(--color-text-tertiary);font-weight:var(--font-weight-medium)}.measurement-panel.compact{position:absolute;top:60px;left:var(--spacing-2);width:240px;background:var(--color-surface-primary);border:1px solid var(--color-border);border-radius:var(--radius-md);z-index:20;box-shadow:var(--shadow-panel);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:slideInDown var(--duration-fast) var(--ease-out)}.panel-header.compact{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-2) var(--spacing-3);border-bottom:1px solid var(--color-border);background:var(--gradient-surface)}.panel-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0}.close-btn{width:20px;height:20px;border:none;background:var(--color-surface-tertiary);border-radius:50%;color:var(--color-text-secondary);cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);display:flex;align-items:center;justify-content:center;transition:var(--transition-fast)}.close-btn:hover{background:var(--color-error-500);color:var(--color-text-inverse)}.measurement-tools{padding:var(--spacing-2);display:flex;flex-direction:column;gap:var(--spacing-1)}.tool-btn{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-3);background:var(--color-surface-secondary);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition-fast);font-size:var(--font-size-xs);color:var(--color-text-primary)}.tool-btn:hover{background:var(--color-primary-50);border-color:var(--color-primary-200);color:var(--color-primary-700)}.measurements-list{border-top:1px solid var(--color-border);padding:var(--spacing-2)}.list-header{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);margin-bottom:var(--spacing-2);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide)}.measurement-item{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-1) var(--spacing-2);background:var(--color-surface-secondary);border-radius:var(--radius-sm);margin-bottom:var(--spacing-1);font-size:var(--font-size-xs)}.measurement-type{color:var(--color-text-secondary);font-weight:var(--font-weight-medium);text-transform:capitalize}.measurement-value{color:var(--color-text-primary);font-weight:var(--font-weight-semibold);font-family:var(--font-family-mono)}.delete-btn{width:16px;height:16px;border:none;background:var(--color-surface-tertiary);border-radius:50%;color:var(--color-text-tertiary);cursor:pointer;font-size:10px;display:flex;align-items:center;justify-content:center;transition:var(--transition-fast)}.delete-btn:hover{background:var(--color-error-500);color:var(--color-text-inverse)}.more-measurements{text-align:center;font-size:var(--font-size-xs);color:var(--color-text-tertiary);padding:var(--spacing-1);background:var(--color-surface-tertiary);border-radius:var(--radius-sm)}.selection-info{position:absolute;bottom:60px;left:var(--spacing-2);background:var(--color-surface-primary);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-2);z-index:10;box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);min-width:120px}.info-item{display:flex;align-items:center;gap:var(--spacing-2)}.info-label{font-size:var(--font-size-xs);color:var(--color-text-secondary);font-weight:var(--font-weight-medium)}.info-value{font-size:var(--font-size-xs);color:var(--color-text-primary);font-weight:var(--font-weight-semibold);background:var(--color-surface-secondary);padding:1px var(--spacing-1);border-radius:var(--radius-sm);min-width:40px;text-align:center}.performance-monitor{position:absolute;top:100px;left:var(--spacing-2);background:#000c;border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-2);z-index:5;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.perf-item{display:flex;align-items:center;gap:var(--spacing-1);margin-bottom:var(--spacing-1)}.perf-item:last-child{margin-bottom:0}.perf-label{font-size:var(--font-size-xs);color:var(--color-text-tertiary);font-weight:var(--font-weight-medium);min-width:40px}.perf-value{font-size:var(--font-size-xs);color:var(--color-warning-400);font-weight:var(--font-weight-semibold);font-family:var(--font-family-mono)}@keyframes slideInDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.viewport-toolbar{flex-wrap:wrap;max-width:calc(100vw - var(--spacing-4))}.navigation-cube{width:60px;height:60px}.cube-face{width:18px;height:18px;font-size:8px}.cube-center{width:12px;height:12px;font-size:6px}.measurement-panel.compact{width:200px}.coordinate-display{flex-direction:column;gap:var(--spacing-1)}}@media(prefers-reduced-motion:reduce){.toolbar-btn.compact,.cube-face,.tool-btn,.measurement-panel.compact{transition:none;animation:none}.toolbar-btn.compact:hover,.cube-face:hover{transform:none}}@media(prefers-contrast:high){.toolbar-btn.compact{border:2px solid var(--color-text-primary)}.cube-face{border:2px solid var(--color-text-primary);background:var(--color-surface-primary)}.coordinate-display,.scale-indicator,.selection-info{border:2px solid var(--color-text-primary)}}.inspector-section{margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--border)}.inspector-section:last-child{border-bottom:none}.node-id{font-size:12px;color:var(--text-secondary);font-family:monospace}.parameter{display:flex;align-items:center;margin-bottom:8px;gap:8px}.parameter label{flex:0 0 100px;font-size:13px;color:var(--text-secondary)}.parameter input,.parameter select{flex:1}.unit{flex:0 0 30px;font-size:12px;color:var(--text-secondary)}.compute-time,.compute-status{font-size:13px;margin:4px 0}.compute-status{color:var(--success)}.inspector-empty{padding:20px;text-align:center;color:var(--text-secondary);font-size:14px}.console{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-md);padding:8px;max-height:200px;overflow-y:auto;font-family:monospace;font-size:12px}.console-entry{margin:4px 0;padding:4px}.console-entry.info{color:var(--text-primary)}.console-entry.success{color:var(--success)}.console-entry.warning{color:var(--warning)}.console-entry.error{color:var(--error)}.logo{font-weight:600;font-size:18px;color:var(--accent);padding:8px 12px;background:var(--bg-secondary);border-radius:var(--radius-md)}.status{font-size:12px;color:var(--text-secondary);padding:4px 8px;background:var(--bg-secondary);border-radius:var(--radius-md);font-family:monospace}.react-flow{background:var(--bg-primary)}.react-flow__node{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border)}.react-flow__node.selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.react-flow__edge-path{stroke:var(--accent)}.react-flow__handle{background:var(--accent);border:2px solid var(--bg-primary)}.geometry-preview{border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-secondary);position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}.geometry-preview.computing{background:var(--bg-tertiary);animation:pulse 1.5s ease-in-out infinite}.geometry-preview.error{background:#ef44441a;border-color:var(--error)}.geometry-preview.success canvas{border-radius:var(--radius-md)}.preview-overlay{position:absolute;top:4px;right:4px;background:#00000080;border-radius:var(--radius-sm);padding:2px;display:flex;align-items:center;justify-content:center}.preview-overlay .status-icon{color:#fff}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes dash{to{stroke-dashoffset:-10}}.custom-node{transition:all var(--transition-fast)}.custom-node:hover{transform:translateY(-1px)}.custom-node.selected{z-index:1000}.custom-node.error .node-container{animation:shake .5s ease-in-out}.custom-node.executing .node-container{position:relative}.custom-node.executing .node-container:after{content:"";position:absolute;inset:-2px;border:2px solid var(--color-primary-500);border-radius:inherit;animation:pulse-border 1.5s ease-in-out infinite}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-2px)}75%{transform:translate(2px)}}@keyframes pulse-border{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.05)}}.react-flow__node{font-family:var(--font-family-ui)}.react-flow__edge{transition:all var(--transition-fast)}.react-flow__edge:hover{stroke-width:3!important}.react-flow__edge.selected{stroke-width:4!important;stroke:var(--color-primary-600)!important}.react-flow__handle{transition:all var(--transition-fast);border:2px solid var(--color-surface-primary)!important}.react-flow__handle:hover{transform:scale(1.3)!important;box-shadow:0 0 0 4px var(--color-primary-200)!important}.react-flow__handle.connecting{background:var(--color-primary-500)!important;transform:scale(1.5)!important;box-shadow:0 0 0 6px var(--color-primary-200)!important}.react-flow__background{background-color:var(--color-bg-secondary)}.react-flow__background .react-flow__background-pattern{fill:var(--color-border);opacity:.3}.react-flow__selection{background:var(--color-primary-100);border:2px solid var(--color-primary-500)}.react-flow__controls{background:var(--color-surface-primary);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.react-flow__controls-button{background:var(--color-surface-primary);border:none;color:var(--color-text-primary);transition:all var(--transition-fast)}.react-flow__controls-button:hover{background:var(--color-surface-tertiary);transform:scale(1.05)}.react-flow__minimap{background:var(--color-surface-primary);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg)}.react-flow__minimap-mask{fill:var(--color-primary-200);stroke:var(--color-primary-500);stroke-width:2}.react-flow__minimap-node{fill:var(--color-surface-secondary);stroke:var(--color-border)}:root{--color-engineering-50: #f0f7ff;--color-engineering-100: #e0efff;--color-engineering-200: #bae0ff;--color-engineering-300: #7cc8ff;--color-engineering-400: #36abff;--color-engineering-500: #0891ff;--color-engineering-600: #0070f3;--color-engineering-700: #0060df;--color-engineering-800: #004fb8;--color-engineering-900: #003d91;--color-primary-50: var(--color-engineering-50);--color-primary-100: var(--color-engineering-100);--color-primary-200: var(--color-engineering-200);--color-primary-300: var(--color-engineering-300);--color-primary-400: var(--color-engineering-400);--color-primary-500: var(--color-engineering-500);--color-primary-600: var(--color-engineering-600);--color-primary-700: var(--color-engineering-700);--color-primary-800: var(--color-engineering-800);--color-primary-900: var(--color-engineering-900);--color-technical-50: #f7f8fa;--color-technical-100: #eef0f3;--color-technical-200: #d8dce2;--color-technical-300: #b3bac5;--color-technical-400: #8892a3;--color-technical-500: #64748b;--color-technical-600: #4a5568;--color-technical-700: #374151;--color-technical-800: #1f2937;--color-technical-900: #111827;--color-neutral-50: var(--color-technical-50);--color-neutral-100: var(--color-technical-100);--color-neutral-200: var(--color-technical-200);--color-neutral-300: var(--color-technical-300);--color-neutral-400: var(--color-technical-400);--color-neutral-500: var(--color-technical-500);--color-neutral-600: var(--color-technical-600);--color-neutral-700: var(--color-technical-700);--color-neutral-800: var(--color-technical-800);--color-neutral-900: var(--color-technical-900);--color-precision-50: #fff7ed;--color-precision-100: #ffedd5;--color-precision-200: #fed7aa;--color-precision-300: #fdba74;--color-precision-400: #fb923c;--color-precision-500: #f97316;--color-precision-600: #ea580c;--color-precision-700: #c2410c;--color-precision-800: #9a3412;--color-precision-900: #7c2d12;--color-success: #10b981;--color-success-50: #ecfdf5;--color-success-100: #d1fae5;--color-success-200: #a7f3d0;--color-success-300: #6ee7b7;--color-success-400: #34d399;--color-success-500: #10b981;--color-success-600: #059669;--color-success-700: #047857;--color-success-800: #065f46;--color-success-900: #064e3b;--color-warning: #f59e0b;--color-warning-50: #fffbeb;--color-warning-100: #fef3c7;--color-warning-200: #fde68a;--color-warning-300: #fcd34d;--color-warning-400: #fbbf24;--color-warning-500: #f59e0b;--color-warning-600: #d97706;--color-warning-700: #b45309;--color-warning-800: #92400e;--color-warning-900: #78350f;--color-error: #ef4444;--color-error-50: #fef2f2;--color-error-100: #fee2e2;--color-error-200: #fecaca;--color-error-300: #fca5a5;--color-error-400: #f87171;--color-error-500: #ef4444;--color-error-600: #dc2626;--color-error-700: #b91c1c;--color-error-800: #991b1b;--color-error-900: #7f1d1d;--color-info: var(--color-engineering-500);--color-info-50: var(--color-engineering-50);--color-info-100: var(--color-engineering-100);--color-info-200: var(--color-engineering-200);--color-info-300: var(--color-engineering-300);--color-info-400: var(--color-engineering-400);--color-info-500: var(--color-engineering-500);--color-info-600: var(--color-engineering-600);--color-info-700: var(--color-engineering-700);--color-info-800: var(--color-engineering-800);--color-info-900: var(--color-engineering-900);--color-geometry-valid: #10b981;--color-geometry-invalid: #ef4444;--color-geometry-pending: #f59e0b;--color-geometry-preview: #8b5cf6;--color-geometry-selected: #3b82f6;--color-geometry-highlighted: #06b6d4;--color-geometry-wireframe: #6b7280;--color-geometry-construction: #f97316;--color-geometry-datum: #8b5cf6;--color-constraint-satisfied: #10b981;--color-constraint-over: #ef4444;--color-constraint-under: #f59e0b;--color-constraint-reference: #6b7280;--color-constraint-driving: #3b82f6;--color-constraint-driven: #8b5cf6;--color-tool-active: #3b82f6;--color-tool-inactive: #9ca3af;--color-tool-disabled: #d1d5db;--color-tool-hover: #1d4ed8;--color-tool-pressed: #1e40af;--color-tool-dangerous: #dc2626;--color-node-default: var(--color-surface-primary);--color-node-selected: var(--color-engineering-500);--color-node-executing: var(--color-warning-500);--color-node-error: var(--color-error-500);--color-node-success: var(--color-success-500);--color-node-warning: var(--color-warning-400);--color-node-disabled: var(--color-neutral-300);--color-node-background: rgba(255, 255, 255, .98);--color-connection-shape: var(--color-engineering-500);--color-connection-number: var(--color-success-500);--color-connection-vector: #8b5cf6;--color-connection-boolean: var(--color-warning-500);--color-connection-string: #06b6d4;--color-connection-point: #f97316;--color-connection-curve: #ec4899;--color-connection-surface: #84cc16;--color-connection-solid: #6366f1;--color-status-success: var(--color-success-500);--color-status-success-bg: var(--color-success-50);--color-status-success-border: var(--color-success-200);--color-status-warning: var(--color-warning-500);--color-status-warning-bg: var(--color-warning-50);--color-status-warning-border: var(--color-warning-200);--color-status-error: var(--color-error-500);--color-status-error-bg: var(--color-error-50);--color-status-error-border: var(--color-error-200);--color-status-info: var(--color-info-500);--color-status-info-bg: var(--color-info-50);--color-status-info-border: var(--color-info-200);--color-status-processing: #8b5cf6;--color-status-processing-bg: #f3f4f6;--color-status-processing-border: #e5e7eb;--color-surface-primary: #ffffff;--color-surface-secondary: #f8fafc;--color-surface-tertiary: #f1f5f9;--color-surface-quaternary: #e2e8f0;--color-surface-dark-primary: #111827;--color-surface-dark-secondary: #1f2937;--color-surface-dark-tertiary: #374151;--color-bg-primary: var(--color-surface-primary);--color-bg-secondary: var(--color-surface-secondary);--color-bg-tertiary: var(--color-surface-tertiary);--color-bg-elevated: var(--color-surface-primary);--color-text-primary: var(--color-neutral-900);--color-text-secondary: var(--color-neutral-600);--color-text-tertiary: var(--color-neutral-500);--color-text-quaternary: var(--color-neutral-400);--color-text-inverse: var(--color-surface-primary);--color-text-accent: var(--color-primary-600);--color-border: var(--color-neutral-200);--color-border-light: var(--color-neutral-100);--color-border-strong: var(--color-neutral-300);--color-border-accent: var(--color-primary-600);--color-border-focus: var(--color-primary-500);--color-border-dark: var(--color-neutral-700);--color-border-dark-light: var(--color-neutral-600);--color-border-dark-strong: var(--color-neutral-800);--font-family-mono: "JetBrains Mono", "SF Mono", "Monaco", "Inconsolata", "Roboto Mono", monospace;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--spacing-0: 0;--spacing-px: 1px;--spacing-0-5: .125rem;--spacing-1: .25rem;--spacing-1-5: .375rem;--spacing-2: .5rem;--spacing-2-5: .625rem;--spacing-3: .75rem;--spacing-3-5: .875rem;--spacing-4: 1rem;--spacing-5: 1.25rem;--spacing-6: 1.5rem;--spacing-7: 1.75rem;--spacing-8: 2rem;--spacing-9: 2.25rem;--spacing-10: 2.5rem;--spacing-11: 2.75rem;--spacing-12: 3rem;--spacing-14: 3.5rem;--spacing-16: 4rem;--spacing-18: 4.5rem;--spacing-20: 5rem;--spacing-24: 6rem;--spacing-28: 7rem;--spacing-32: 8rem;--spacing-hairline: var(--spacing-px);--spacing-tight: var(--spacing-1);--spacing-compact: var(--spacing-2);--spacing-comfortable: var(--spacing-4);--spacing-spacious: var(--spacing-6);--spacing-section: var(--spacing-8);--spacing-layout: var(--spacing-12);--spacing-button-sm: var(--spacing-2) var(--spacing-3);--spacing-button-md: var(--spacing-2-5) var(--spacing-4);--spacing-button-lg: var(--spacing-3) var(--spacing-6);--spacing-input-sm: var(--spacing-1-5) var(--spacing-3);--spacing-input-md: var(--spacing-2) var(--spacing-3);--spacing-input-lg: var(--spacing-3) var(--spacing-4);--spacing-container-sm: var(--spacing-4);--spacing-container-md: var(--spacing-6);--spacing-container-lg: var(--spacing-8);--spacing-container-xl: var(--spacing-12);--spacing-card-sm: var(--spacing-3);--spacing-card-md: var(--spacing-4);--spacing-card-lg: var(--spacing-6);--spacing-card-xl: var(--spacing-8);--spacing-node-internal: var(--spacing-3);--spacing-node-gap: var(--spacing-4);--spacing-connection-gap: var(--spacing-2);--grid-gap-xs: var(--spacing-1);--grid-gap-sm: var(--spacing-2);--grid-gap-md: var(--spacing-4);--grid-gap-lg: var(--spacing-6);--grid-gap-xl: var(--spacing-8);--width-sidebar-sm: 240px;--width-sidebar-md: 280px;--width-sidebar-lg: 320px;--width-sidebar-xl: 360px;--width-inspector-sm: 280px;--width-inspector-md: 320px;--width-inspector-lg: 360px;--width-inspector-xl: 400px;--width-toolbar-compact: 40px;--width-toolbar-standard: 48px;--width-toolbar-extended: 56px;--width-panel-sm: 240px;--width-panel-md: 320px;--width-panel-lg: 400px;--width-panel-xl: 480px;--height-header: 56px;--height-toolbar: 48px;--height-status-bar: 32px;--height-tab-bar: 40px;--height-button-xs: 24px;--height-button-sm: 32px;--height-button-md: 40px;--height-button-lg: 48px;--height-button-xl: 56px;--height-input-xs: 28px;--height-input-sm: 32px;--height-input-md: 40px;--height-input-lg: 48px;--height-input-xl: 56px;--radius-none: 0;--radius-sm: .125rem;--radius-md: .375rem;--radius-lg: .5rem;--radius-xl: .75rem;--radius-2xl: 1rem;--radius-full: 9999px;--shadow-surface-flat: none;--shadow-surface-raised: 0 1px 2px rgba(0, 0, 0, .05);--shadow-surface-elevated: 0 2px 4px rgba(0, 0, 0, .08), 0 1px 2px rgba(0, 0, 0, .04);--shadow-xs: 0 1px 2px rgba(0, 0, 0, .05);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .1), 0 1px 2px rgba(0, 0, 0, .06);--shadow-md: 0 4px 6px rgba(0, 0, 0, .07), 0 2px 4px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .1), 0 4px 6px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px rgba(0, 0, 0, .1), 0 10px 10px rgba(0, 0, 0, .04);--shadow-2xl: 0 25px 50px rgba(0, 0, 0, .15);--shadow-inner: inset 0 2px 4px rgba(0, 0, 0, .06);--shadow-focus: 0 0 0 3px rgba(8, 145, 255, .12);--shadow-focus-ring: 0 0 0 2px var(--color-engineering-500);--shadow-focus-error: 0 0 0 3px rgba(239, 68, 68, .12);--shadow-focus-success: 0 0 0 3px rgba(16, 185, 129, .12);--shadow-panel: 0 4px 12px rgba(0, 0, 0, .08), 0 2px 4px rgba(0, 0, 0, .03);--shadow-toolbar: 0 2px 8px rgba(0, 0, 0, .06), 0 1px 3px rgba(0, 0, 0, .04);--shadow-dropdown: 0 8px 24px rgba(0, 0, 0, .12), 0 4px 8px rgba(0, 0, 0, .08);--shadow-modal: 0 20px 40px rgba(0, 0, 0, .15), 0 8px 16px rgba(0, 0, 0, .1);--shadow-button: 0 1px 3px rgba(0, 0, 0, .1), 0 1px 2px rgba(0, 0, 0, .06);--shadow-button-hover: 0 3px 8px rgba(0, 0, 0, .12), 0 2px 4px rgba(0, 0, 0, .08);--shadow-button-active: inset 0 1px 2px rgba(0, 0, 0, .1);--shadow-input: 0 1px 2px rgba(0, 0, 0, .04);--shadow-input-hover: 0 1px 3px rgba(0, 0, 0, .08);--shadow-node: 0 2px 6px rgba(0, 0, 0, .08), 0 1px 3px rgba(0, 0, 0, .04);--shadow-node-selected: 0 4px 12px rgba(8, 145, 255, .15), 0 2px 6px rgba(8, 145, 255, .1);--shadow-node-error: 0 4px 12px rgba(239, 68, 68, .15), 0 2px 6px rgba(239, 68, 68, .1);--shadow-viewport: inset 0 1px 3px rgba(0, 0, 0, .12);--shadow-viewport-enhanced: inset 0 2px 6px rgba(0, 0, 0, .15), 0 4px 12px rgba(0, 0, 0, .08);--shadow-viewport-tool: 0 3px 8px rgba(0, 0, 0, .1), 0 1px 4px rgba(0, 0, 0, .06);--shadow-viewport-tool-enhanced: 0 4px 12px rgba(0, 0, 0, .12), 0 2px 6px rgba(0, 0, 0, .08);--shadow-performance-monitor: 0 3px 10px rgba(0, 0, 0, .2), 0 1px 4px rgba(0, 0, 0, .15);--shadow-toolbar-enhanced: 0 4px 16px rgba(0, 0, 0, .08), 0 2px 8px rgba(0, 0, 0, .04);--shadow-panel-elevated: 0 6px 20px rgba(0, 0, 0, .1), 0 3px 8px rgba(0, 0, 0, .06);--shadow-button-enhanced: 0 2px 4px rgba(0, 0, 0, .08), 0 1px 2px rgba(0, 0, 0, .04);--shadow-interactive-hover-dark: 0 4px 12px rgba(255, 255, 255, .1), 0 2px 6px rgba(255, 255, 255, .05);--color-interactive-primary: var(--color-engineering-600);--color-interactive-primary-hover: var(--color-engineering-700);--color-interactive-primary-active: var(--color-engineering-800);--color-interactive-primary-disabled: var(--color-neutral-300);--color-interactive-secondary: var(--color-neutral-600);--color-interactive-secondary-hover: var(--color-neutral-700);--color-interactive-secondary-active: var(--color-neutral-800);--color-interactive-secondary-disabled: var(--color-neutral-200);--color-interactive-danger: var(--color-error-600);--color-interactive-danger-hover: var(--color-error-700);--color-interactive-danger-active: var(--color-error-800);--color-interactive-danger-disabled: var(--color-error-200);--color-interactive-success: var(--color-success-600);--color-interactive-success-hover: var(--color-success-700);--color-interactive-success-active: var(--color-success-800);--color-interactive-success-disabled: var(--color-success-200);--color-bg-interactive-default: transparent;--color-bg-interactive-hover: rgba(0, 0, 0, .04);--color-bg-interactive-active: rgba(0, 0, 0, .08);--color-bg-interactive-disabled: rgba(0, 0, 0, .02);--color-bg-interactive-selected: rgba(8, 145, 255, .08);--color-border-interactive-default: var(--color-border);--color-border-interactive-hover: var(--color-border-strong);--color-border-interactive-active: var(--color-engineering-600);--color-border-interactive-focus: var(--color-engineering-500);--color-border-interactive-disabled: var(--color-neutral-200);--color-border-interactive-error: var(--color-error-500);--focus-ring-width: 2px;--focus-ring-color: var(--color-engineering-500);--focus-ring-error: var(--color-error-500);--focus-ring-success: var(--color-success-500);--shadow-interactive-default: var(--shadow-sm);--shadow-interactive-hover: var(--shadow-md);--shadow-interactive-active: var(--shadow-xs);--shadow-interactive-focus: 0 0 0 3px rgba(8, 145, 255, .12);--shadow-interactive-disabled: none;--ease-linear: linear;--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--ease-precise: cubic-bezier(.4, 0, .2, 1);--ease-smooth: cubic-bezier(.25, .46, .45, .94);--ease-snap: cubic-bezier(.34, 1.56, .64, 1);--ease-technical: cubic-bezier(.4, 0, .6, 1);--ease-elastic: cubic-bezier(.68, -.55, .265, 1.55);--ease-back: cubic-bezier(.175, .885, .32, 1.275);--ease-professional: cubic-bezier(.2, 0, .38, .9);--duration-instant: 75ms;--duration-fast: 125ms;--duration-normal: 175ms;--duration-smooth: .25s;--duration-slow: .35s;--duration-page: .45s;--transition-all: all var(--duration-fast) var(--ease-precise);--transition-colors: color var(--duration-fast) var(--ease-precise), background-color var(--duration-fast) var(--ease-precise), border-color var(--duration-fast) var(--ease-precise);--transition-panel: all var(--duration-smooth) var(--ease-smooth);--transition-button: var(--transition-colors), box-shadow var(--duration-fast) var(--ease-precise);--transition-hover: background-color var(--duration-instant) var(--ease-out);--transition-focus: box-shadow var(--duration-instant) var(--ease-out);--transition-transform: transform var(--duration-normal) var(--ease-smooth);--transition-input: var(--transition-colors), box-shadow var(--duration-fast) var(--ease-out);--transition-node: var(--transition-all), transform var(--duration-fast) var(--ease-precise);--transition-modal: opacity var(--duration-normal) var(--ease-out), transform var(--duration-normal) var(--ease-back);--transition-dropdown: opacity var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-back);--transition-micro: all var(--duration-instant) var(--ease-precise);--transition-tooltip: opacity var(--duration-fast) var(--ease-out);--transition-badge: all var(--duration-instant) var(--ease-out);--gradient-panel: linear-gradient(180deg, rgba(255, 255, 255, .8) 0%, rgba(255, 255, 255, .4) 100%);--gradient-button: linear-gradient(180deg, rgba(255, 255, 255, .1) 0%, rgba(255, 255, 255, .05) 100%);--gradient-primary: linear-gradient(135deg, var(--color-primary-500) 0%, var(--color-primary-600) 100%);--gradient-surface: linear-gradient(135deg, var(--color-surface-primary) 0%, var(--color-surface-secondary) 100%);--gradient-surface-elevated: linear-gradient(135deg, var(--color-surface-secondary) 0%, var(--color-surface-tertiary) 100%);--gradient-surface-dark: linear-gradient(135deg, var(--color-surface-dark-primary) 0%, var(--color-surface-dark-secondary) 100%);--gradient-glass: linear-gradient(135deg, rgba(255, 255, 255, .1) 0%, rgba(255, 255, 255, .05) 100%);--gradient-neutral: linear-gradient(135deg, var(--color-neutral-100) 0%, var(--color-neutral-200) 100%);--font-family-ui: "Inter", "SF Pro Display", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", sans-serif;--font-family-mono: "JetBrains Mono", "SF Mono", "Monaco", "Fira Code", "Roboto Mono", "Consolas", monospace;--font-family-technical: "Inter", "Segoe UI", system-ui, sans-serif;--font-family-display: "Inter", "SF Pro Display", system-ui, sans-serif;--font-size-display-xl: 3.75rem;--font-size-display-lg: 3rem;--font-size-display-md: 2.25rem;--font-size-display-sm: 1.875rem;--font-size-heading-1: 2rem;--font-size-heading-2: 1.5rem;--font-size-heading-3: 1.25rem;--font-size-heading-4: 1.125rem;--font-size-heading-5: 1rem;--font-size-heading-6: .875rem;--font-size-technical-lg: .9375rem;--font-size-technical: .8125rem;--font-size-technical-sm: .75rem;--font-size-code: .75rem;--font-size-micro: .6875rem;--font-size-nano: .625rem;--font-weight-light: 300;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--font-weight-extrabold: 800;--letter-spacing-tight: -.025em;--letter-spacing-normal: 0;--letter-spacing-wide: .025em;--letter-spacing-wider: .05em;--letter-spacing-widest: .1em;--letter-spacing-technical: .01em;--letter-spacing-mono: 0;--line-height-none: 1;--line-height-tight: 1.2;--line-height-snug: 1.3;--line-height-compact: 1.375;--line-height-base: 1.5;--line-height-relaxed: 1.625;--line-height-loose: 1.75;--text-shadow-crisp: 0 .5px 1px rgba(0, 0, 0, .1);--text-shadow-sm: 0 1px 2px rgba(0, 0, 0, .1);--text-shadow-md: 0 2px 4px rgba(0, 0, 0, .1);--text-shadow-lg: 0 4px 8px rgba(0, 0, 0, .12);--text-contrast-overlay: 0 1px 2px rgba(255, 255, 255, .9);--text-contrast-inverse: 0 1px 2px rgba(0, 0, 0, .8);--glass-backdrop: rgba(255, 255, 255, .1);--glass-border: rgba(255, 255, 255, .2);--glass-blur: blur(10px);--z-index-dropdown: 1000;--z-index-sticky: 1020;--z-index-fixed: 1030;--z-index-modal-backdrop: 1040;--z-index-modal: 1050;--z-index-popover: 1060;--z-index-tooltip: 1070;--transition-fast: .15s ease-in-out;--transition-normal: .2s ease-in-out;--transition-slow: .3s ease-in-out;--focus-ring: 0 0 0 3px rgb(59 130 246 / .15);--focus-ring-offset: 2px;--button-height-sm: 2rem;--button-height-md: 2.5rem;--button-height-lg: 3rem;--button-padding-x-sm: var(--spacing-3);--button-padding-x-md: var(--spacing-4);--button-padding-x-lg: var(--spacing-6);--input-height-sm: var(--button-height-sm);--input-height-md: var(--button-height-md);--input-height-lg: var(--button-height-lg);--input-padding-x: var(--spacing-3);--panel-header-height: 3rem;--panel-padding: var(--spacing-4);--panel-border-width: 1px;--node-min-width: 12rem;--node-min-height: 4rem;--node-padding: var(--spacing-3);--node-border-width: 1px;--node-border-radius: var(--radius-lg);--toolbar-height: 3.5rem;--toolbar-padding: var(--spacing-2);--toolbar-gap: var(--spacing-2);--width-sidebar: 280px;--width-inspector: 320px;--width-toolbar: 48px}@media(prefers-color-scheme:dark){:root{--color-bg-primary: var(--color-neutral-900);--color-bg-secondary: var(--color-neutral-800);--color-bg-tertiary: var(--color-neutral-700);--color-bg-elevated: var(--color-neutral-800);--color-text-primary: var(--color-neutral-50);--color-text-secondary: var(--color-neutral-300);--color-text-tertiary: var(--color-neutral-400);--color-text-quaternary: var(--color-neutral-500);--color-border: var(--color-neutral-700);--color-border-light: var(--color-neutral-800);--color-border-strong: var(--color-neutral-600);--color-surface-primary: var(--color-neutral-900);--color-surface-secondary: var(--color-neutral-800);--color-surface-tertiary: var(--color-neutral-700);--color-surface-quaternary: var(--color-neutral-600)}}*{box-sizing:border-box}body{font-family:Inter,SF Pro Display,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-family:var(--font-family-ui);font-size:1rem;font-size:var(--font-size-base);line-height:1.5;line-height:var(--line-height-normal);color:#111827;color:var(--color-text-primary);background-color:#fff;background-color:var(--color-bg-primary);margin:0;padding:0}.text-nano{font-size:.625rem;font-size:var(--font-size-nano)}.text-micro{font-size:.6875rem;font-size:var(--font-size-micro)}.text-xs{font-size:.75rem;font-size:var(--font-size-xs)}.text-sm{font-size:.875rem;font-size:var(--font-size-sm)}.text-base{font-size:1rem;font-size:var(--font-size-base)}.text-lg{font-size:1.125rem;font-size:var(--font-size-lg)}.text-xl{font-size:1.25rem;font-size:var(--font-size-xl)}.text-2xl{font-size:1.5rem;font-size:var(--font-size-2xl)}.text-3xl{font-size:1.875rem;font-size:var(--font-size-3xl)}.text-4xl{font-size:2.25rem;font-size:var(--font-size-4xl)}.text-technical{font-size:.8125rem;font-size:var(--font-size-technical)}.text-technical-sm{font-size:.75rem;font-size:var(--font-size-technical-sm)}.text-technical-lg{font-size:.9375rem;font-size:var(--font-size-technical-lg)}.text-code{font-size:.75rem;font-size:var(--font-size-code)}.text-display-sm{font-size:1.875rem;font-size:var(--font-size-display-sm)}.text-display-md{font-size:2.25rem;font-size:var(--font-size-display-md)}.text-display-lg{font-size:3rem;font-size:var(--font-size-display-lg)}.text-display-xl{font-size:3.75rem;font-size:var(--font-size-display-xl)}.text-h1{font-size:2rem;font-size:var(--font-size-heading-1)}.text-h2{font-size:1.5rem;font-size:var(--font-size-heading-2)}.text-h3{font-size:1.25rem;font-size:var(--font-size-heading-3)}.text-h4{font-size:1.125rem;font-size:var(--font-size-heading-4)}.text-h5{font-size:1rem;font-size:var(--font-size-heading-5)}.text-h6{font-size:.875rem;font-size:var(--font-size-heading-6)}.font-light{font-weight:300;font-weight:var(--font-weight-light)}.font-normal{font-weight:400;font-weight:var(--font-weight-normal)}.font-medium{font-weight:500;font-weight:var(--font-weight-medium)}.font-semibold{font-weight:600;font-weight:var(--font-weight-semibold)}.font-bold{font-weight:700;font-weight:var(--font-weight-bold)}.font-extrabold{font-weight:800;font-weight:var(--font-weight-extrabold)}.font-ui{font-family:Inter,SF Pro Display,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-family:var(--font-family-ui)}.font-mono{font-family:JetBrains Mono,SF Mono,Monaco,Fira Code,Roboto Mono,Consolas,monospace;font-family:var(--font-family-mono)}.font-technical{font-family:Inter,Segoe UI,system-ui,sans-serif;font-family:var(--font-family-technical)}.font-display{font-family:Inter,SF Pro Display,system-ui,sans-serif;font-family:var(--font-family-display)}.leading-none{line-height:1;line-height:var(--line-height-none)}.leading-tight{line-height:1.2;line-height:var(--line-height-tight)}.leading-snug{line-height:1.3;line-height:var(--line-height-snug)}.leading-compact{line-height:1.375;line-height:var(--line-height-compact)}.leading-normal{line-height:1.5;line-height:var(--line-height-base)}.leading-relaxed{line-height:1.625;line-height:var(--line-height-relaxed)}.leading-loose{line-height:1.75;line-height:var(--line-height-loose)}.tracking-tight{letter-spacing:-.025em;letter-spacing:var(--letter-spacing-tight)}.tracking-normal{letter-spacing:0;letter-spacing:var(--letter-spacing-normal)}.tracking-wide{letter-spacing:.025em;letter-spacing:var(--letter-spacing-wide)}.tracking-wider{letter-spacing:.05em;letter-spacing:var(--letter-spacing-wider)}.tracking-widest{letter-spacing:.1em;letter-spacing:var(--letter-spacing-widest)}.tracking-technical{letter-spacing:.01em;letter-spacing:var(--letter-spacing-technical)}.text-quaternary{color:#8892a3;color:var(--color-text-quaternary)}.text-accent{color:#0070f3;color:var(--color-text-accent)}.text-inverse{color:#fff;color:var(--color-text-inverse)}.text-success{color:#10b981;color:var(--color-success)}.text-warning{color:#f59e0b;color:var(--color-warning)}.text-error{color:#ef4444;color:var(--color-error)}.text-info{color:#0891ff;color:var(--color-info)}.text-geometry-valid{color:#10b981;color:var(--color-geometry-valid)}.text-geometry-invalid{color:#ef4444;color:var(--color-geometry-invalid)}.text-geometry-pending{color:#f59e0b;color:var(--color-geometry-pending)}.text-tool-active{color:#3b82f6;color:var(--color-tool-active)}.text-tool-inactive{color:#9ca3af;color:var(--color-tool-inactive)}.text-constraint-satisfied{color:#10b981;color:var(--color-constraint-satisfied)}.text-constraint-over{color:#ef4444;color:var(--color-constraint-over)}.text-constraint-under{color:#f59e0b;color:var(--color-constraint-under)}.bg-primary{background-color:#fff;background-color:var(--color-bg-primary)}.bg-secondary{background-color:#f8fafc;background-color:var(--color-bg-secondary)}.bg-tertiary{background-color:#f1f5f9;background-color:var(--color-bg-tertiary)}.bg-elevated{background-color:#fff;background-color:var(--color-bg-elevated)}.bg-surface-primary{background-color:#fff;background-color:var(--color-surface-primary)}.bg-surface-secondary{background-color:#f8fafc;background-color:var(--color-surface-secondary)}.bg-surface-tertiary{background-color:#f1f5f9;background-color:var(--color-surface-tertiary)}.bg-surface-quaternary{background-color:#e2e8f0;background-color:var(--color-surface-quaternary)}.bg-success{background-color:#ecfdf5;background-color:var(--color-status-success-bg)}.bg-warning{background-color:#fffbeb;background-color:var(--color-status-warning-bg)}.bg-error{background-color:#fef2f2;background-color:var(--color-status-error-bg)}.bg-info{background-color:#f0f7ff;background-color:var(--color-status-info-bg)}.border-default{border-color:#d8dce2;border-color:var(--color-border)}.border-light{border-color:#eef0f3;border-color:var(--color-border-light)}.border-strong{border-color:#b3bac5;border-color:var(--color-border-strong)}.border-accent{border-color:#0070f3;border-color:var(--color-border-accent)}.border-focus{border-color:#0891ff;border-color:var(--color-border-focus)}.border-interactive{border-color:#d8dce2;border-color:var(--color-border-interactive-default)}.border-interactive-hover{border-color:#b3bac5;border-color:var(--color-border-interactive-hover)}.border-interactive-focus{border-color:#0891ff;border-color:var(--color-border-interactive-focus)}.border-interactive-error{border-color:#ef4444;border-color:var(--color-border-interactive-error)}.p-0{padding:0;padding:var(--spacing-0)}.p-px{padding:1px;padding:var(--spacing-px)}.p-0-5{padding:.125rem;padding:var(--spacing-0-5)}.p-1{padding:.25rem;padding:var(--spacing-1)}.p-1-5{padding:.375rem;padding:var(--spacing-1-5)}.p-2{padding:.5rem;padding:var(--spacing-2)}.p-2-5{padding:.625rem;padding:var(--spacing-2-5)}.p-3{padding:.75rem;padding:var(--spacing-3)}.p-3-5{padding:.875rem;padding:var(--spacing-3-5)}.p-4{padding:1rem;padding:var(--spacing-4)}.p-5{padding:1.25rem;padding:var(--spacing-5)}.p-6{padding:1.5rem;padding:var(--spacing-6)}.p-7{padding:1.75rem;padding:var(--spacing-7)}.p-8{padding:2rem;padding:var(--spacing-8)}.p-10{padding:2.5rem;padding:var(--spacing-10)}.p-12{padding:3rem;padding:var(--spacing-12)}.p-16{padding:4rem;padding:var(--spacing-16)}.p-20{padding:5rem;padding:var(--spacing-20)}.px-0{padding-left:0;padding-left:var(--spacing-0);padding-right:0;padding-right:var(--spacing-0)}.px-1{padding-left:.25rem;padding-left:var(--spacing-1);padding-right:.25rem;padding-right:var(--spacing-1)}.px-2{padding-left:.5rem;padding-left:var(--spacing-2);padding-right:.5rem;padding-right:var(--spacing-2)}.px-3{padding-left:.75rem;padding-left:var(--spacing-3);padding-right:.75rem;padding-right:var(--spacing-3)}.px-4{padding-left:1rem;padding-left:var(--spacing-4);padding-right:1rem;padding-right:var(--spacing-4)}.px-6{padding-left:1.5rem;padding-left:var(--spacing-6);padding-right:1.5rem;padding-right:var(--spacing-6)}.px-8{padding-left:2rem;padding-left:var(--spacing-8);padding-right:2rem;padding-right:var(--spacing-8)}.py-0{padding-top:0;padding-top:var(--spacing-0);padding-bottom:0;padding-bottom:var(--spacing-0)}.py-1{padding-top:.25rem;padding-top:var(--spacing-1);padding-bottom:.25rem;padding-bottom:var(--spacing-1)}.py-2{padding-top:.5rem;padding-top:var(--spacing-2);padding-bottom:.5rem;padding-bottom:var(--spacing-2)}.py-3{padding-top:.75rem;padding-top:var(--spacing-3);padding-bottom:.75rem;padding-bottom:var(--spacing-3)}.py-4{padding-top:1rem;padding-top:var(--spacing-4);padding-bottom:1rem;padding-bottom:var(--spacing-4)}.py-6{padding-top:1.5rem;padding-top:var(--spacing-6);padding-bottom:1.5rem;padding-bottom:var(--spacing-6)}.py-8{padding-top:2rem;padding-top:var(--spacing-8);padding-bottom:2rem;padding-bottom:var(--spacing-8)}.m-0{margin:0;margin:var(--spacing-0)}.m-1{margin:.25rem;margin:var(--spacing-1)}.m-2{margin:.5rem;margin:var(--spacing-2)}.m-3{margin:.75rem;margin:var(--spacing-3)}.m-4{margin:1rem;margin:var(--spacing-4)}.m-5{margin:1.25rem;margin:var(--spacing-5)}.m-6{margin:1.5rem;margin:var(--spacing-6)}.m-8{margin:2rem;margin:var(--spacing-8)}.m-10{margin:2.5rem;margin:var(--spacing-10)}.m-12{margin:3rem;margin:var(--spacing-12)}.m-auto{margin:auto}.gap-0{gap:0;gap:var(--spacing-0)}.gap-1{gap:.25rem;gap:var(--spacing-1)}.gap-2{gap:.5rem;gap:var(--spacing-2)}.gap-3{gap:.75rem;gap:var(--spacing-3)}.gap-4{gap:1rem;gap:var(--spacing-4)}.gap-5{gap:1.25rem;gap:var(--spacing-5)}.gap-6{gap:1.5rem;gap:var(--spacing-6)}.gap-8{gap:2rem;gap:var(--spacing-8)}.shadow-none{box-shadow:none}.shadow-xs{box-shadow:0 1px 2px #0000000d;box-shadow:var(--shadow-xs)}.shadow-sm{box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f;box-shadow:var(--shadow-sm)}.shadow-md{box-shadow:0 4px 6px #00000012,0 2px 4px #0000000f;box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:0 10px 15px #0000001a,0 4px 6px #0000000d;box-shadow:var(--shadow-lg)}.shadow-xl{box-shadow:0 20px 25px #0000001a,0 10px 10px #0000000a;box-shadow:var(--shadow-xl)}.shadow-2xl{box-shadow:0 25px 50px #00000026;box-shadow:var(--shadow-2xl)}.shadow-inner{box-shadow:inset 0 2px 4px #0000000f;box-shadow:var(--shadow-inner)}.shadow-interactive{box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f;box-shadow:var(--shadow-interactive-default)}.shadow-interactive-hover{box-shadow:0 4px 6px #00000012,0 2px 4px #0000000f;box-shadow:var(--shadow-interactive-hover)}.shadow-interactive-focus{box-shadow:0 0 0 3px #0891ff1f;box-shadow:var(--shadow-interactive-focus)}.shadow-panel{box-shadow:0 4px 12px #00000014,0 2px 4px #00000008;box-shadow:var(--shadow-panel)}.shadow-toolbar{box-shadow:0 2px 8px #0000000f,0 1px 3px #0000000a;box-shadow:var(--shadow-toolbar)}.shadow-dropdown{box-shadow:0 8px 24px #0000001f,0 4px 8px #00000014;box-shadow:var(--shadow-dropdown)}.shadow-modal{box-shadow:0 20px 40px #00000026,0 8px 16px #0000001a;box-shadow:var(--shadow-modal)}.shadow-node{box-shadow:0 2px 6px #00000014,0 1px 3px #0000000a;box-shadow:var(--shadow-node)}.shadow-node-selected{box-shadow:0 4px 12px #0891ff26,0 2px 6px #0891ff1a;box-shadow:var(--shadow-node-selected)}.rounded-none{border-radius:0;border-radius:var(--radius-none)}.rounded-sm{border-radius:.125rem;border-radius:var(--radius-sm)}.rounded-md{border-radius:.375rem;border-radius:var(--radius-md)}.rounded-lg{border-radius:.5rem;border-radius:var(--radius-lg)}.rounded-xl{border-radius:.75rem;border-radius:var(--radius-xl)}.rounded-2xl{border-radius:1rem;border-radius:var(--radius-2xl)}.rounded-full{border-radius:9999px;border-radius:var(--radius-full)}.transition-none{transition:none}.transition-all{transition:all 125ms cubic-bezier(.4,0,.2,1);transition:var(--transition-all)}.transition-colors{transition:color 125ms cubic-bezier(.4,0,.2,1),background-color 125ms cubic-bezier(.4,0,.2,1),border-color 125ms cubic-bezier(.4,0,.2,1);transition:var(--transition-colors)}.transition-button{transition:color 125ms cubic-bezier(.4,0,.2,1),background-color 125ms cubic-bezier(.4,0,.2,1),border-color 125ms cubic-bezier(.4,0,.2,1),box-shadow 125ms cubic-bezier(.4,0,.2,1);transition:var(--transition-button)}.transition-hover{transition:background-color 75ms cubic-bezier(0,0,.2,1);transition:var(--transition-hover)}.transition-focus{transition:box-shadow 75ms cubic-bezier(0,0,.2,1);transition:var(--transition-focus)}.transition-transform{transition:transform 175ms cubic-bezier(.25,.46,.45,.94);transition:var(--transition-transform)}.transition-micro{transition:all 75ms cubic-bezier(.4,0,.2,1);transition:var(--transition-micro)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.focus-visible-ring:focus-visible{outline:2px solid #0891ff;outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:2px;outline-offset:var(--focus-ring-offset)}.focus-ring:focus{box-shadow:0 0 0 3px #0891ff1f;box-shadow:var(--shadow-interactive-focus);outline:none}@media(prefers-contrast:high){.text-primary{color:#000}.text-secondary{color:#333}.bg-primary{background-color:#fff}.border-default{border-color:#000}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}:root{--bg-primary: var(--color-bg-primary);--bg-secondary: var(--color-bg-secondary);--bg-tertiary: var(--color-bg-tertiary);--bg-quaternary: var(--color-surface-quaternary);--text-primary: var(--color-text-primary);--text-secondary: var(--color-text-secondary);--text-tertiary: var(--color-text-tertiary);--accent: var(--color-primary-600);--accent-hover: var(--color-primary-700);--border: var(--color-border);--border-light: var(--color-border-light);--border-lighter: var(--color-border-strong);--success: var(--color-success);--warning: var(--color-warning);--error: var(--color-error);--danger: var(--color-error);--danger-hover: var(--color-error-dark);--panel-bg: var(--color-surface-primary);--panel-border: var(--color-border);--panel-text: var(--color-text-primary);--panel-text-secondary: var(--color-text-secondary);--panel-text-tertiary: var(--color-text-tertiary)}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{width:100%;height:100%;overflow:hidden}body{font-family:Inter,SF Pro Display,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-family:var(--font-family-ui);font-size:1rem;font-size:var(--font-size-base);line-height:1.5;line-height:var(--line-height-base);font-weight:400;font-weight:var(--font-weight-normal);letter-spacing:0;letter-spacing:var(--letter-spacing-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;background:#fff;background:var(--bg-primary);color:#111827;color:var(--text-primary)}.text-display-xl{font-size:3.75rem;font-size:var(--font-size-display-xl);line-height:1.2;line-height:var(--line-height-tight);font-weight:700;font-weight:var(--font-weight-bold);letter-spacing:-.025em;letter-spacing:var(--letter-spacing-tight);color:#111827;color:var(--color-text-primary)}.text-display-lg{font-size:3rem;font-size:var(--font-size-display-lg);line-height:1.2;line-height:var(--line-height-tight);font-weight:700;font-weight:var(--font-weight-bold);letter-spacing:-.025em;letter-spacing:var(--letter-spacing-tight);color:#111827;color:var(--color-text-primary)}.text-display-md{font-size:2.25rem;font-size:var(--font-size-display-md);line-height:1.2;line-height:var(--line-height-tight);font-weight:600;font-weight:var(--font-weight-semibold);letter-spacing:-.025em;letter-spacing:var(--letter-spacing-tight);color:#111827;color:var(--color-text-primary)}h1,.text-h1{font-size:1.25rem;font-size:var(--font-size-xl);line-height:1.2;line-height:var(--line-height-tight);font-weight:700;font-weight:var(--font-weight-bold);letter-spacing:-.025em;letter-spacing:var(--letter-spacing-tight);color:#111827;color:var(--color-text-primary);margin-bottom:1rem;margin-bottom:var(--spacing-4)}h2,.text-h2{font-size:1.125rem;font-size:var(--font-size-lg);line-height:1.3;line-height:var(--line-height-snug);font-weight:600;font-weight:var(--font-weight-semibold);letter-spacing:-.025em;letter-spacing:var(--letter-spacing-tight);color:#111827;color:var(--color-text-primary);margin-bottom:.75rem;margin-bottom:var(--spacing-3)}h3,.text-h3{font-size:var(--font-size-md);line-height:1.3;line-height:var(--line-height-snug);font-weight:600;font-weight:var(--font-weight-semibold);letter-spacing:-.025em;letter-spacing:var(--letter-spacing-tight);color:#111827;color:var(--color-text-primary);margin-bottom:.75rem;margin-bottom:var(--spacing-3)}h4,.text-h4{font-size:.875rem;font-size:var(--font-size-sm);line-height:1.3;line-height:var(--line-height-snug);font-weight:600;font-weight:var(--font-weight-semibold);letter-spacing:.025em;letter-spacing:var(--letter-spacing-wide);color:#4a5568;color:var(--color-text-secondary);text-transform:uppercase;margin-bottom:.5rem;margin-bottom:var(--spacing-2)}h5,.text-h5{font-size:.75rem;font-size:var(--font-size-xs);line-height:1.3;line-height:var(--line-height-snug);font-weight:600;font-weight:var(--font-weight-semibold);letter-spacing:.025em;letter-spacing:var(--letter-spacing-wide);color:#4a5568;color:var(--color-text-secondary);text-transform:uppercase;margin-bottom:.5rem;margin-bottom:var(--spacing-2)}h6,.text-h6{font-size:.75rem;font-size:var(--font-size-xs);line-height:1.3;line-height:var(--line-height-snug);font-weight:500;font-weight:var(--font-weight-medium);letter-spacing:0;letter-spacing:var(--letter-spacing-normal);color:#64748b;color:var(--color-text-tertiary);margin-bottom:.25rem;margin-bottom:var(--spacing-1)}p,.text-body-lg{font-size:1rem;font-size:var(--font-size-base);line-height:1.625;line-height:var(--line-height-relaxed);font-weight:400;font-weight:var(--font-weight-normal);letter-spacing:0;letter-spacing:var(--letter-spacing-normal);color:#111827;color:var(--color-text-primary);margin-bottom:.75rem;margin-bottom:var(--spacing-3)}.text-body-md{font-size:.875rem;font-size:var(--font-size-sm);line-height:1.5;line-height:var(--line-height-base);font-weight:400;font-weight:var(--font-weight-normal);letter-spacing:0;letter-spacing:var(--letter-spacing-normal);color:#111827;color:var(--color-text-primary)}.text-body-sm{font-size:.75rem;font-size:var(--font-size-xs);line-height:1.5;line-height:var(--line-height-base);font-weight:400;font-weight:var(--font-weight-normal);letter-spacing:0;letter-spacing:var(--letter-spacing-normal);color:#4a5568;color:var(--color-text-secondary)}.text-label-lg{font-size:.875rem;font-size:var(--font-size-sm);line-height:1.3;line-height:var(--line-height-snug);font-weight:500;font-weight:var(--font-weight-medium);letter-spacing:-.025em;letter-spacing:var(--letter-spacing-tight);color:#111827;color:var(--color-text-primary)}.text-label-md,label{font-size:.75rem;font-size:var(--font-size-xs);line-height:1.3;line-height:var(--line-height-snug);font-weight:500;font-weight:var(--font-weight-medium);letter-spacing:-.025em;letter-spacing:var(--letter-spacing-tight);color:#4a5568;color:var(--color-text-secondary)}.text-label-sm{font-size:.75rem;font-size:var(--font-size-xs);line-height:1.2;line-height:var(--line-height-tight);font-weight:500;font-weight:var(--font-weight-medium);letter-spacing:.025em;letter-spacing:var(--letter-spacing-wide);color:#64748b;color:var(--color-text-tertiary);text-transform:uppercase}.text-caption{font-size:.75rem;font-size:var(--font-size-xs);line-height:1.2;line-height:var(--line-height-tight);font-weight:400;font-weight:var(--font-weight-normal);letter-spacing:0;letter-spacing:var(--letter-spacing-normal);color:#64748b;color:var(--color-text-tertiary)}.text-caption-bold{font-size:.75rem;font-size:var(--font-size-xs);line-height:1.2;line-height:var(--line-height-tight);font-weight:600;font-weight:var(--font-weight-semibold);letter-spacing:-.025em;letter-spacing:var(--letter-spacing-tight);color:#4a5568;color:var(--color-text-secondary)}.text-code,code,pre{font-family:JetBrains Mono,SF Mono,Monaco,Fira Code,Roboto Mono,Consolas,monospace;font-family:var(--font-family-mono);font-size:.75rem;font-size:var(--font-size-xs);line-height:1.5;line-height:var(--line-height-base);font-weight:400;font-weight:var(--font-weight-normal);letter-spacing:0;letter-spacing:var(--letter-spacing-mono);color:#111827;color:var(--color-text-primary);background:#f8fafc;background:var(--color-surface-secondary);padding:.25rem .5rem;padding:var(--spacing-1) var(--spacing-2);border-radius:.125rem;border-radius:var(--radius-sm);border:1px solid #d8dce2;border:1px solid var(--color-border)}pre{display:block;padding:.75rem;padding:var(--spacing-3);margin:.75rem 0;margin:var(--spacing-3) 0;overflow-x:auto}code{display:inline;padding:.25rem .5rem;padding:var(--spacing-1) var(--spacing-2)}.text-mono{font-family:JetBrains Mono,SF Mono,Monaco,Fira Code,Roboto Mono,Consolas,monospace;font-family:var(--font-family-mono);letter-spacing:0;letter-spacing:var(--letter-spacing-mono)}.text-semibold{font-weight:600;font-weight:var(--font-weight-semibold)}.text-bold{font-weight:700;font-weight:var(--font-weight-bold)}.text-uppercase{text-transform:uppercase;letter-spacing:.025em;letter-spacing:var(--letter-spacing-wide)}.text-primary{color:#111827;color:var(--color-text-primary)}.text-secondary{color:#4a5568;color:var(--color-text-secondary)}.text-tertiary{color:#64748b;color:var(--color-text-tertiary)}.text-success{color:#059669;color:var(--color-success-600)}.text-warning{color:#d97706;color:var(--color-warning-600)}.text-error{color:#dc2626;color:var(--color-error-600)}.text-accent{color:#0070f3;color:var(--color-primary-600)}button{font-family:Inter,SF Pro Display,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-family:var(--font-family-ui);font-size:.875rem;font-size:var(--font-size-sm);font-weight:500;font-weight:var(--font-weight-medium);line-height:1.2;line-height:var(--line-height-tight);letter-spacing:-.025em;letter-spacing:var(--letter-spacing-tight);background:#f8fafc;background:var(--color-surface-secondary);color:#111827;color:var(--color-text-primary);border:1px solid #d8dce2;border:1px solid var(--color-border);padding:.5rem 1rem;padding:var(--spacing-2) var(--spacing-4);cursor:pointer;border-radius:.375rem;border-radius:var(--radius-md);transition:color 125ms cubic-bezier(.4,0,.2,1),background-color 125ms cubic-bezier(.4,0,.2,1),border-color 125ms cubic-bezier(.4,0,.2,1),box-shadow 125ms cubic-bezier(.4,0,.2,1);transition:var(--transition-button);box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f;box-shadow:var(--shadow-button);position:relative;overflow:hidden}button:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#ffffff1a,#ffffff0d);background:var(--gradient-button);opacity:0;transition:background-color 75ms cubic-bezier(0,0,.2,1);transition:var(--transition-hover)}button:hover{background:#f1f5f9;background:var(--color-surface-tertiary);border-color:#b3bac5;border-color:var(--color-border-strong);box-shadow:0 3px 8px #0000001f,0 2px 4px #00000014;box-shadow:var(--shadow-button-hover);transform:translateY(-1px)}button:hover:before{opacity:1}button:focus{outline:none;box-shadow:0 0 0 3px #0891ff1f,0 1px 3px #0000001a,0 1px 2px #0000000f;box-shadow:var(--shadow-focus),var(--shadow-button)}button:active{transform:translateY(0);box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f;box-shadow:var(--shadow-sm)}button.primary{background:linear-gradient(135deg,#0891ff,#0070f3);background:var(--gradient-primary);border-color:#0070f3;border-color:var(--color-primary-600);color:#fff;color:var(--color-text-inverse);font-weight:600;font-weight:var(--font-weight-semibold)}button.primary:hover{background:#0060df;background:var(--color-primary-700);border-color:#0060df;border-color:var(--color-primary-700)}button.secondary{background:#f8fafc;background:var(--color-surface-secondary);border-color:#d8dce2;border-color:var(--color-border);color:#111827;color:var(--color-text-primary)}button.outline{background:transparent;border-color:#b3bac5;border-color:var(--color-border-strong);color:#111827;color:var(--color-text-primary)}button.ghost{background:transparent;border-color:transparent;color:#4a5568;color:var(--color-text-secondary)}button.ghost:hover{background:#f1f5f9;background:var(--color-surface-tertiary);color:#111827;color:var(--color-text-primary)}input,select,textarea{font-family:Inter,SF Pro Display,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-family:var(--font-family-ui);font-size:.875rem;font-size:var(--font-size-sm);font-weight:400;font-weight:var(--font-weight-normal);line-height:1.5;line-height:var(--line-height-base);letter-spacing:0;letter-spacing:var(--letter-spacing-normal);background:#fff;background:var(--color-surface-primary);color:#111827;color:var(--color-text-primary);border:1px solid #d8dce2;border:1px solid var(--color-border);padding:.5rem .75rem;padding:var(--spacing-2) var(--spacing-3);border-radius:.375rem;border-radius:var(--radius-md);height:32px;height:var(--height-input-sm);transition:color 125ms cubic-bezier(.4,0,.2,1),background-color 125ms cubic-bezier(.4,0,.2,1),border-color 125ms cubic-bezier(.4,0,.2,1),box-shadow 125ms cubic-bezier(0,0,.2,1);transition:var(--transition-input);box-shadow:0 1px 2px #0000000a;box-shadow:var(--shadow-input)}textarea{height:auto;min-height:48px;min-height:var(--height-input-lg);resize:vertical;line-height:1.625;line-height:var(--line-height-relaxed)}input:hover,select:hover,textarea:hover{border-color:#b3bac5;border-color:var(--color-border-strong);box-shadow:0 1px 3px #00000014;box-shadow:var(--shadow-input-hover)}input:focus,select:focus,textarea:focus{outline:none;border-color:#0891ff;border-color:var(--color-primary-500);box-shadow:0 0 0 3px #0891ff1f,0 1px 2px #0000000a;box-shadow:var(--shadow-focus),var(--shadow-input)}input:disabled,select:disabled,textarea:disabled{background:#f1f5f9;background:var(--color-surface-tertiary);color:#64748b;color:var(--color-text-tertiary);border-color:var(--color-border-weak);cursor:not-allowed}a{color:#0070f3;color:var(--color-primary-600);text-decoration:none;font-weight:500;font-weight:var(--font-weight-medium);letter-spacing:-.025em;letter-spacing:var(--letter-spacing-tight);transition:.15s ease-in-out;transition:var(--transition-fast);position:relative}a:hover{color:#0060df;color:var(--color-primary-700);text-decoration:underline}a:focus{outline:2px solid #0891ff;outline:2px solid var(--color-primary-500);outline-offset:2px;border-radius:.125rem;border-radius:var(--radius-sm)}ul,ol{margin:.75rem 0;margin:var(--spacing-3) 0;padding-left:1.25rem;padding-left:var(--spacing-5)}li{font-size:.875rem;font-size:var(--font-size-sm);line-height:1.625;line-height:var(--line-height-relaxed);color:#111827;color:var(--color-text-primary);margin-bottom:.25rem;margin-bottom:var(--spacing-1)}table{width:100%;border-collapse:collapse;font-size:.875rem;font-size:var(--font-size-sm);line-height:1.5;line-height:var(--line-height-base)}th{font-weight:600;font-weight:var(--font-weight-semibold);letter-spacing:.025em;letter-spacing:var(--letter-spacing-wide);text-transform:uppercase;color:#4a5568;color:var(--color-text-secondary);padding:.75rem;padding:var(--spacing-3);border-bottom:2px solid #d8dce2;border-bottom:2px solid var(--color-border);text-align:left}td{padding:.5rem .75rem;padding:var(--spacing-2) var(--spacing-3);border-bottom:1px solid #d8dce2;border-bottom:1px solid var(--color-border);color:#111827;color:var(--color-text-primary)}.reading-optimized{max-width:65ch;line-height:1.625;line-height:var(--line-height-relaxed)}*:focus-visible{outline:2px solid #0891ff;outline:2px solid var(--color-primary-500);outline-offset:2px;border-radius:.125rem;border-radius:var(--radius-sm)}@media print{body{font-size:12pt;line-height:1.5;color:#000;background:#fff}h1,h2,h3,h4,h5,h6{page-break-after:avoid;color:#000}p,li{orphans:3;widows:3}}
