.tree-editor-modal{z-index:calc(var(--z-modal) + 10);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn var(--transition-base);background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.tree-editor-modal.fullscreen .tree-editor{border-radius:0;width:100vw;max-width:100vw;height:100vh;max-height:100vh}.tree-editor{background:var(--surface-base);border-radius:var(--radius-xl);width:95vw;max-width:1600px;height:90vh;box-shadow:var(--shadow-2xl);animation:slideUp var(--transition-base);flex-direction:column;display:flex}.tree-editor-header{padding:var(--space-6);background:var(--bg-muted);border-bottom:2px solid var(--border-default);border-radius:var(--radius-xl)var(--radius-xl)0 0;justify-content:space-between;align-items:center;display:flex}.header-left{align-items:center;gap:var(--space-6);flex:1;display:flex}.editor-title{align-items:center;gap:var(--space-2);font-size:var(--font-size-subsection);font-weight:var(--font-semibold);color:var(--text-primary);margin:0;line-height:1.2;display:flex}.layer-selector select{min-width:200px;font-weight:var(--font-medium)}.search-input{width:250px;padding:var(--space-2)var(--space-4);background:var(--surface-base);border:1px solid var(--border-subtle);border-radius:var(--radius-md);font-size:var(--font-size-label)}.header-actions{align-items:center;gap:var(--space-4);display:flex}.copy-indicator{align-items:center;gap:var(--space-1);padding:var(--space-2)var(--space-4);background:var(--primary-100);color:var(--primary-700);border-radius:var(--radius-md);font-size:var(--font-size-label);font-weight:var(--font-medium);animation:2s infinite pulse;display:flex}.tree-editor-body{padding:var(--space-6);flex:1;position:relative;overflow:auto}.tree-container{min-width:fit-content}.empty-tree-container{min-height:400px;padding:var(--space-12);flex-direction:column;justify-content:center;align-items:center;display:flex}.empty-tree-message{text-align:center;max-width:500px}.empty-tree-message h3{color:var(--text-primary);margin-bottom:var(--space-2)}.empty-tree-message p{color:var(--text-secondary);font-size:var(--font-size-body);line-height:1.5}.hierarchy-preview{padding:var(--space-4);background:var(--surface-raised);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);margin:var(--space-6)0}.hierarchy-chain{margin-top:var(--space-1);font-weight:var(--font-medium);color:var(--text-primary);font-size:var(--font-size-body);letter-spacing:.02em;display:block}.tree-editor-node{transition:all var(--transition-fast)}.node-row{align-items:center;gap:var(--space-2);padding:var(--space-1)var(--space-2);border-radius:var(--radius-md);transition:all var(--transition-fast);margin-bottom:var(--space-1);display:flex;position:relative}.node-row:hover{background:var(--surface-interactive)}.node-row.selected{background:var(--primary-50);box-shadow:0 0 0 2px var(--primary-200)}.node-row.copy-source{background:var(--warning-50);box-shadow:0 0 0 2px var(--warning-300)}.expand-btn,.expand-spacer{flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;display:flex}.expand-btn{cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-fast);color:var(--text-muted);background:0 0;border:none}.expand-btn:hover{background:var(--surface-interactive);color:var(--text-primary)}.node-chip{align-items:center;gap:var(--space-2);padding:var(--space-1)var(--space-4);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);border:2px solid;flex:1;min-height:32px;display:flex}.node-chip:hover{transform:translate(2px)}.node-type{font-size:var(--font-size-caption);font-weight:var(--font-semibold);text-transform:uppercase;letter-spacing:.05em}.node-name{font-weight:var(--font-medium);color:var(--text-primary)}.node-name-input{background:var(--surface-base);border:1px solid var(--border-default);border-radius:var(--radius-sm);font-size:inherit;font-weight:var(--font-medium);color:var(--text-primary);flex:1;padding:2px 4px}.node-count{font-size:var(--font-size-label);color:var(--text-muted);font-weight:var(--font-medium)}.node-actions{align-items:center;gap:var(--space-1);opacity:0;transition:opacity var(--transition-fast);display:flex}.node-row:hover .node-actions,.node-row.selected .node-actions,.node-row.copy-source .node-actions{opacity:1}.inline-input-group{align-items:center;gap:var(--space-1);font-size:var(--font-size-label);color:var(--text-secondary);display:flex}.inline-input-group label{font-weight:var(--font-medium)}.inline-number-input{background:var(--surface-base);border:1px solid var(--border-default);border-radius:var(--radius-sm);width:60px;font-size:var(--font-size-label);text-align:center;padding:2px 4px}.node-notes-edit{margin-left:56px;margin-top:var(--space-2);margin-bottom:var(--space-4)}.notes-textarea{width:calc(100% - var(--space-6));padding:var(--space-2);background:var(--surface-raised);border:1px solid var(--border-subtle);border-radius:var(--radius-md);font-size:var(--font-size-label);resize:vertical;transition:all var(--transition-fast);line-height:1.5}.notes-textarea:focus{border-color:var(--primary-500);outline:none;box-shadow:0 0 0 3px #22c55e1a}.node-children{animation:expandDown var(--transition-fast)}.selection-toolbar{padding:var(--space-4);background:var(--bg-muted);border-top:2px solid var(--border-default);border-radius:var(--radius-lg);margin-top:var(--space-6);justify-content:space-between;align-items:center;display:flex;position:sticky;bottom:0;left:0;right:0}.tree-editor-footer{padding:var(--space-4)var(--space-6);background:var(--bg-muted);border-top:2px solid var(--border-subtle);border-radius:0 0 var(--radius-xl)var(--radius-xl);justify-content:space-between;align-items:center;display:flex}.legend{gap:var(--space-6);flex-wrap:wrap;display:flex}.legend-item{align-items:center;gap:var(--space-1);font-size:var(--font-size-caption);color:var(--text-secondary);text-transform:capitalize;display:flex}.legend-color{border-radius:var(--radius-sm);width:16px;height:16px;box-shadow:var(--shadow-xs)}.help-text{font-size:var(--font-size-label);color:var(--text-muted);font-style:italic;line-height:1.5}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes expandDown{0%{opacity:0;max-height:0}to{opacity:1;max-height:100vh}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}@media (max-width:768px){.tree-editor{border-radius:0;width:100vw;max-width:100vw;height:100vh;max-height:100vh}.tree-editor-header{gap:var(--space-4);flex-direction:column;align-items:stretch}.header-left{flex-direction:column;align-items:stretch}.search-input{width:100%}.legend{display:none}.tree-editor-footer{justify-content:center}}
.visual-tree-diagram-modal{z-index:calc(var(--z-modal) + 20);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#000000b3;justify-content:center;align-items:center;animation:.3s fadeIn;display:flex;position:fixed;inset:0}.visual-tree-diagram{background:var(--surface-base);flex-direction:column;width:100vw;height:100vh;margin:0;padding:0;display:flex;position:relative}.diagram-header{padding:var(--space-4)var(--space-6);background:var(--bg-muted);border-bottom:2px solid var(--border-default);box-shadow:var(--shadow-sm);z-index:10;justify-content:space-between;align-items:center;display:flex}.header-left{align-items:center;gap:var(--space-6);display:flex}.diagram-title{font-size:var(--font-size-subsection);font-weight:var(--font-semibold);color:var(--text-primary);align-items:center;gap:var(--space-2);margin:0;line-height:1.2;display:flex}.layer-select{padding:var(--space-1)var(--space-4);background:var(--surface-base);border:1px solid var(--border-default);border-radius:var(--radius-md);font-size:var(--font-size-label);font-weight:var(--font-medium);color:var(--text-primary);cursor:pointer;min-width:200px;transition:all var(--transition-fast)}.layer-select:hover{border-color:var(--primary-500)}.layer-select:focus{border-color:var(--primary-500);outline:none;box-shadow:0 0 0 3px #22c55e1a}.header-right{align-items:center;gap:var(--space-4);display:flex}.zoom-controls{align-items:center;gap:var(--space-2);padding:var(--space-1)var(--space-2);background:var(--surface-raised);border:1px solid var(--border-subtle);border-radius:var(--radius-md);display:flex}.zoom-controls button{background:var(--surface-base);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);cursor:pointer;width:32px;height:32px;transition:all var(--transition-fast);color:var(--text-secondary);justify-content:center;align-items:center;display:flex}.zoom-controls button:hover{background:var(--surface-interactive);border-color:var(--border-default);color:var(--text-primary);transform:scale(1.05)}.zoom-level{text-align:center;min-width:50px;font-size:var(--font-size-label);font-weight:var(--font-medium);color:var(--text-secondary)}.diagram-body{background:linear-gradient(135deg,var(--bg-subtle)0%,var(--bg-base)100%);will-change:transform;backface-visibility:hidden;-webkit-font-smoothing:antialiased;contain:layout style paint;flex:1;position:relative;overflow:hidden;transform:translateZ(0)}.diagram-body svg{will-change:transform;width:100%;height:100%;transform:translateZ(0)}.node-group{pointer-events:all;will-change:transform,opacity}.node-rect{pointer-events:all;transition:stroke-width .15s,filter .15s}.node-type-text{pointer-events:none;-webkit-user-select:none;user-select:none}.connections-layer{pointer-events:none;opacity:1}.connection-shadows,.connection-lines{will-change:transform}.node-type-badge{top:var(--space-2);left:var(--space-2);padding:var(--space-1)var(--space-2);border-radius:var(--radius-sm);font-size:var(--font-size-caption);font-weight:var(--font-semibold);color:#fff;letter-spacing:.5px;opacity:.9;position:absolute}.node-icon{margin-bottom:var(--space-2);opacity:.8;justify-content:center;align-items:center;display:flex}.node-name{font-size:14px;font-weight:var(--font-semibold);color:var(--text-primary);text-align:center;word-wrap:break-word;max-width:100%;margin-bottom:8px;padding:0 8px;line-height:1.2}.node-subtext{margin-top:calc(-1*var(--space-1));color:var(--text-muted);text-align:center;font-size:12px}.node-meta{align-items:center;gap:var(--space-2);color:var(--text-muted);bottom:var(--space-2);font-size:11px;display:flex;position:absolute;left:50%;transform:translate(-50%)}.child-count{background:var(--bg-muted);padding:var(--space-1)var(--space-2);font-weight:var(--font-medium);border-radius:10px}.notes-icon{opacity:.6}.node-edit-input{width:100%;padding:var(--space-2);border:2px solid var(--primary-500);border-radius:var(--radius-md);font-size:var(--font-size-body);font-weight:var(--font-medium);text-align:center;background:var(--surface-base);outline:none}.node-actions-bar{top:var(--space-2);right:var(--space-2);gap:var(--space-1);opacity:0;transition:opacity .2s;display:flex;position:absolute}.tree-node-card.selected .node-actions-bar,.tree-node-card:hover .node-actions-bar{opacity:1}.node-action-btn{border-radius:var(--radius-md);cursor:pointer;width:24px;height:24px;color:var(--text-inverse);border:none;justify-content:center;align-items:center;transition:all .2s;display:flex}.node-action-btn:hover{transform:scale(1.1)}.node-action-btn.edit{background:var(--blue-500)}.node-action-btn.edit:hover{background:var(--blue-600)}.node-action-btn.add{background:var(--primary-500)}.node-action-btn.add:hover{background:var(--primary-600)}.node-action-btn.delete{background:var(--red-500)}.node-action-btn.delete:hover{background:var(--danger-600)}.diagram-instructions{bottom:var(--space-4);padding:var(--space-2)var(--space-6);background:var(--surface-base);border:1px solid var(--border-default);border-radius:var(--radius-full);box-shadow:var(--shadow-md);align-items:center;gap:var(--space-2);font-size:var(--font-size-label);color:var(--text-secondary);z-index:5;display:flex;position:absolute;left:50%;transform:translate(-50%)}.edit-panel{width:320px;padding:var(--space-6);background:var(--surface-base);border:2px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-2xl);z-index:20;animation:.3s slideUp;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.edit-panel h3{margin:0 0 var(--space-4)0;font-size:var(--font-size-subsection);font-weight:var(--font-semibold);color:var(--text-primary);line-height:1.2}.edit-field{margin-bottom:var(--space-4)}.edit-field label{margin-bottom:var(--space-1);font-size:var(--font-size-label);font-weight:var(--font-medium);color:var(--text-secondary);display:block}.edit-field input,.edit-field textarea{width:100%;padding:var(--space-2);background:var(--surface-raised);border:1px solid var(--border-subtle);border-radius:var(--radius-md);font-size:var(--font-size-label);color:var(--text-primary);transition:all var(--transition-fast);line-height:1.5}.edit-field input:focus,.edit-field textarea:focus{border-color:var(--primary-500);outline:none;box-shadow:0 0 0 3px #22c55e1a}.edit-field textarea{resize:vertical;font-family:inherit;line-height:1.5}.edit-actions{gap:var(--space-2);margin-top:var(--space-6);justify-content:flex-end;display:flex}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translate(-50%,-40%)}to{opacity:1;transform:translate(-50%,-50%)}}.performance-mode{image-rendering:optimizeSpeed;shape-rendering:optimizeSpeed;text-rendering:optimizeSpeed}.node-group{transition:none}.node-group:hover .node-rect{filter:drop-shadow(0 4px 12px #00000026)}.diagram-body.panning *,.diagram-body.zooming *{transition:none!important}.color-legend{top:var(--space-6);right:var(--space-6);padding:var(--space-4);background:var(--surface-base);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);z-index:5;position:absolute}.legend-title{font-size:var(--font-size-caption);font-weight:var(--font-semibold);color:var(--text-secondary);margin-bottom:var(--space-2);text-transform:uppercase;letter-spacing:.05em}.legend-item{align-items:center;gap:var(--space-1);margin-bottom:var(--space-1);font-size:var(--font-size-caption);color:var(--text-secondary);display:flex}.legend-color{border-radius:var(--radius-sm);border:1px solid var(--border-subtle);width:12px;height:12px}.minimap{bottom:var(--space-6);right:var(--space-6);background:var(--surface-base);border:1px solid var(--border-default);border-radius:var(--radius-md);width:200px;height:150px;box-shadow:var(--shadow-lg);z-index:5;position:absolute;overflow:hidden}.minimap-viewport{border:2px solid var(--primary-500);pointer-events:none;background:#22c55e33;position:absolute}@media (max-width:768px){.diagram-header{gap:var(--space-md);padding:var(--space-sm);flex-direction:column}.header-left,.header-right{justify-content:space-between;width:100%}.layer-select{width:100%;min-width:auto}.diagram-instructions{padding:var(--space-xs)var(--space-sm);font-size:.75rem}.edit-panel{width:90%;max-width:320px}}@media print{.diagram-header,.diagram-instructions,.edit-panel{display:none}.diagram-body{background:#fff}}
.focused-tree-view{background:linear-gradient(180deg,var(--bg-subtle)0%,var(--bg-base)100%);will-change:transform;backface-visibility:hidden;flex-direction:column;width:100%;height:100%;display:flex;position:relative;overflow:hidden;transform:translateZ(0)}.breadcrumb-path{padding:var(--space-4)var(--space-8);background:var(--surface-base);border-bottom:1px solid var(--border-subtle);align-items:center;gap:var(--space-1);font-size:var(--font-size-label);box-shadow:var(--shadow-xs);z-index:10;width:100%;display:flex}.breadcrumb-item{color:var(--text-secondary);padding:var(--space-1)var(--space-2);border-radius:var(--radius-sm);cursor:pointer;transition:background-color var(--duration-fast)var(--ease-in-out-smooth),color var(--duration-fast)var(--ease-in-out-smooth),transform var(--duration-instant)var(--ease-in-out-smooth);font-weight:var(--font-medium);will-change:background-color,color;background:0 0;border:none}.breadcrumb-item:hover{color:var(--primary-600);background:var(--primary-50)}.breadcrumb-item:active{transform:scale(.96)}.breadcrumb-separator{color:var(--text-muted);opacity:.5}.breadcrumb-current{color:var(--text-primary);font-weight:var(--font-semibold);padding:var(--space-1)var(--space-2);background:var(--primary-50);border-radius:var(--radius-sm)}.breadcrumb-close{border:1px solid var(--border-subtle);background:var(--surface-base);width:28px;height:28px;color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;transition:background-color var(--duration-fast)var(--ease-in-out-smooth),border-color var(--duration-fast)var(--ease-in-out-smooth),color var(--duration-fast)var(--ease-in-out-smooth),transform var(--duration-instant)var(--ease-in-out-smooth);justify-content:center;align-items:center;margin-left:auto;display:inline-flex}.breadcrumb-close:hover{background:var(--surface-interactive);border-color:var(--border-default);color:var(--text-primary)}.breadcrumb-close:active{transform:scale(.95)}.tree-container{padding:var(--space-6)var(--space-8);gap:var(--space-4);contain:layout style paint;will-change:scroll-position;flex-direction:column;flex:1;display:flex;overflow:hidden auto}.tree-level{width:100%;min-height:120px;animation:levelFadeIn var(--duration-slow)var(--ease-out-expo);align-items:stretch;display:flex;position:relative}.level-label{left:var(--space-4);writing-mode:vertical-rl;text-orientation:mixed;font-size:var(--font-size-caption);font-weight:var(--font-semibold);color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;padding:var(--space-2);background:var(--bg-muted);border-radius:var(--radius-sm);opacity:.7;position:absolute;top:50%;transform:translateY(-50%)}.level-content{justify-content:space-between;align-items:center;gap:var(--space-4);width:100%;min-height:100px;padding:0 var(--space-4);flex:1;margin-left:60px;display:flex;position:relative}.nav-arrow{background:var(--surface-base);border:2px solid var(--border-default);cursor:pointer;width:32px;height:32px;transition:background var(--duration-fast)var(--ease-in-out-smooth),border-color var(--duration-fast)var(--ease-in-out-smooth),color var(--duration-fast)var(--ease-in-out-smooth),transform var(--duration-instant)var(--ease-in-out-smooth);color:var(--text-secondary);z-index:5;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.nav-arrow:hover{background:var(--primary-50);border-color:var(--primary-500);color:var(--primary-600)}.nav-arrow:active{transform:scale(.92)}.nav-arrow:focus-visible{outline:2px solid var(--primary-500);outline-offset:2px}.page-arrow{align-items:center;gap:var(--space-1);padding:var(--space-2)var(--space-6);background:var(--surface-raised);border:2px solid var(--primary-500);border-radius:var(--radius-md);cursor:pointer;transition:background var(--duration-fast)var(--ease-in-out-smooth),border-color var(--duration-fast)var(--ease-in-out-smooth),color var(--duration-fast)var(--ease-in-out-smooth),transform var(--duration-instant)var(--ease-in-out-smooth);color:var(--primary-600);z-index:5;margin:0 var(--space-2);flex-shrink:0;font-weight:600;display:flex}.page-arrow:hover{background:var(--primary-50);border-color:var(--primary-600);color:var(--primary-700)}.page-arrow:active{transform:scale(.96)}.page-arrow:focus-visible{outline:2px solid var(--primary-500);outline-offset:2px}.page-arrow .page-indicator{font-size:var(--font-size-caption);color:var(--text-secondary);white-space:nowrap}.page-arrow.left{flex-direction:row-reverse}.page-arrow.right{flex-direction:row}.nodes-container{min-width:900px;max-width:1100px;padding:var(--space-2)var(--space-6);align-items:center;gap:var(--space-2);flex-direction:column;flex:auto;margin:0 auto;display:flex;position:relative;overflow:hidden}.nodes-track{justify-content:center;align-items:center;gap:var(--space-4);padding:0 var(--space-4);width:100%;display:flex}.node-spacer{background:var(--border-subtle);opacity:.5;width:2px;height:40px}.page-info{font-size:var(--font-size-caption);color:var(--text-muted);text-align:center;padding:var(--space-1)var(--space-2);background:var(--bg-muted);border-radius:var(--radius-sm);font-weight:var(--font-medium);margin-top:var(--space-1)}.node-card{width:160px;height:75px;padding:var(--space-2);border-radius:var(--radius-lg);cursor:pointer;transition:transform var(--duration-fast)var(--ease-in-out-smooth),box-shadow var(--duration-fast)var(--ease-in-out-smooth);box-shadow:var(--shadow-sm);background:var(--surface-base);will-change:transform,box-shadow;border:2px solid;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;display:flex;position:relative}.node-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.node-card:active{transform:translateY(-1px)scale(.98)}.node-card.focused{box-shadow:0 0 0 3px #22c55e33,var(--shadow-md);animation:focusPulse var(--duration-slower)var(--ease-spring);transform:scale(1.05)}.node-card.editing{box-shadow:0 0 0 3px #3b82f64d}.node-type-label{font-size:9px;font-weight:var(--font-bold);color:#fff;letter-spacing:.5px;text-transform:uppercase;opacity:.85;border-radius:3px;padding:1px 6px;position:absolute;top:4px;left:4px}.node-icon{opacity:.8;margin-bottom:4px}.node-title{font-size:13px;font-weight:var(--font-semibold);color:var(--text-primary);text-align:center;text-overflow:ellipsis;white-space:nowrap;max-width:90%;line-height:1.2;overflow:hidden}.node-subtext{color:var(--text-muted);margin-top:2px;font-size:11px;line-height:1.1}.node-badge{background:var(--bg-muted);font-size:10px;font-weight:var(--font-semibold);color:var(--text-secondary);border-radius:10px;padding:1px 6px;position:absolute;bottom:4px;right:4px}.node-note-indicator{opacity:.7;font-size:12px;position:absolute;top:4px;right:4px}.node-edit-field{border:1px solid var(--primary-500);border-radius:var(--radius-sm);width:90%;font-size:13px;font-weight:var(--font-medium);text-align:center;background:var(--surface-base);outline:none;padding:4px 8px}.node-actions-removed{opacity:0;gap:2px;transition:opacity .2s;display:flex;position:absolute;top:4px;right:4px}.action-btn{cursor:pointer;width:20px;height:20px;color:var(--text-inverse);border:none;border-radius:4px;justify-content:center;align-items:center;transition:all .2s;display:flex}.action-btn:hover{transform:scale(1.1)}.action-btn.edit{background:var(--blue-500)}.action-btn.add{background:var(--primary-500)}.action-btn.delete{background:var(--red-500)}.connection-lines{pointer-events:none;z-index:1;opacity:.6;width:100%;height:100%;position:absolute;top:0;left:0}@keyframes levelFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes focusPulse{0%,to{transform:scale(1.05)}50%{transform:scale(1.08)}}.view-mode-toggle{background:var(--surface-base);border:1px solid var(--border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);display:flex;overflow:hidden}.view-mode-btn{padding:var(--space-2)var(--space-4);color:var(--text-secondary);font-size:var(--font-size-label);font-weight:var(--font-medium);cursor:pointer;transition:background var(--duration-fast)var(--ease-in-out-smooth),color var(--duration-fast)var(--ease-in-out-smooth),transform var(--duration-instant)var(--ease-in-out-smooth);align-items:center;gap:var(--space-1);background:0 0;border:none;display:flex}.view-mode-btn:hover{background:var(--surface-interactive);color:var(--text-primary)}.view-mode-btn:active{transform:scale(.96)}.view-mode-btn.active{background:var(--primary-500);color:#fff}.view-mode-btn:focus-visible{outline:2px solid var(--primary-500);outline-offset:2px}@media (max-width:768px){.breadcrumb-path{row-gap:var(--space-2);flex-wrap:wrap}.node-card{width:140px;height:70px}.node-title{font-size:12px}.level-label{display:none}.level-content{padding:0 var(--space-2);flex-wrap:wrap;justify-content:center;margin-left:0}.nodes-container{width:100%;min-width:0;padding:var(--space-2);-webkit-overflow-scrolling:touch;overflow:auto hidden}.nodes-track{width:max-content;margin:0 auto}}.focused-tree-view .empty-state{padding:var(--space-8);text-align:center;color:var(--text-muted);flex-direction:column;flex:1;justify-content:center;align-items:center;display:flex}.focused-tree-view .empty-state p{font-size:var(--font-size-body);margin:var(--space-4)0;line-height:1.5}
.dialog-overlay{padding:var(--space-lg);-webkit-backdrop-filter:blur(8px);z-index:var(--z-modal);animation:fadeIn var(--transition-fast);background:#0f172a73;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.dialog-backdrop{cursor:pointer;background:0 0;border:none;padding:0;position:absolute;inset:0}.dialog-backdrop:focus{outline:2px solid var(--primary-500);outline-offset:4px}.dialog-content{background:var(--surface-base);border-radius:var(--radius-xl);box-shadow:var(--shadow-2xl);width:min(92vw,520px);max-height:min(90vh,720px);animation:slideUp var(--transition-base);will-change:transform,opacity;flex-direction:column;display:flex;position:relative;overflow:hidden}.dialog-header{padding:var(--space-xl);border-bottom:1px solid var(--border-subtle);background:linear-gradient(#f8fafceb,#f8fafc99);justify-content:space-between;align-items:center;display:flex}.dialog-header h3{color:var(--text-primary);margin:0;font-size:1.25rem;font-weight:600;line-height:1.2}.dialog-header-leading{align-items:center;gap:var(--space-md);display:flex}.dialog-title{color:var(--text-primary);margin:0;font-size:1.375rem;font-weight:600}.dialog-subtitle{color:var(--text-secondary);margin-top:4px;font-size:.95rem}.dialog-close{padding:var(--space-sm);cursor:pointer;color:var(--text-muted);border-radius:var(--radius-md);transition:background-color var(--transition-fast),color var(--transition-fast),transform var(--transition-fast);background:0 0;border:none}.dialog-close:hover{color:var(--text-primary);background:#e2e8f099;transform:translateY(-1px)}.dialog-close:active{transform:scale(.95)}.dialog-body{padding:var(--space-lg);gap:var(--space-lg);background:var(--surface-base);flex-direction:column;flex:1;display:flex;overflow-y:auto}.dialog-form{flex-direction:column;flex:1;display:flex}.dialog-subtitle code,.toggle-row code{background:var(--bg-muted);border-radius:var(--radius-sm);padding:0 4px;font-family:inherit;font-size:.85rem}.dialog-field{gap:var(--space-1);flex-direction:column;display:flex}.dialog-inline{align-items:center;gap:var(--space-2);display:flex}.dialog-inline input{flex:1}.dialog-field label{color:var(--text-secondary);font-size:.875rem;font-weight:500}.dialog-field input,.dialog-field textarea{border:1px solid var(--border-default);border-radius:var(--radius-md);transition:border-color var(--duration-fast)var(--ease-in-out-smooth),box-shadow var(--duration-fast)var(--ease-in-out-smooth);background:var(--surface-base);color:var(--text-primary);padding:.5rem .75rem;font-size:.875rem;line-height:1.5}.dialog-field input:hover,.dialog-field textarea:hover{border-color:var(--border-strong)}.dialog-field input:focus,.dialog-field textarea:focus{border-color:var(--primary-500);background:var(--bg-base);outline:none;box-shadow:0 0 0 3px #22c55e1a}.dialog-field input[type=number]{width:120px}.dialog-field textarea{resize:vertical;min-height:100px;font-family:inherit}.field-hint{color:var(--text-muted);margin-top:2px;font-size:.875rem;line-height:1.5}.toggle-row{gap:var(--space-xs);padding:var(--space-md);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--surface-raised);flex-direction:column;display:flex}.field-error{color:var(--danger-600);margin-top:2px;font-size:.875rem;line-height:1.5}.dialog-empty-state{padding:var(--space-lg);border:1px dashed var(--border-subtle);border-radius:var(--radius-lg);background:var(--bg-muted);color:var(--text-secondary);text-align:center}.dialog-empty-state p{margin:0}.dialog-footer{padding:var(--space-lg);justify-content:space-between;align-items:center;gap:var(--space-sm);border-top:1px solid var(--border-subtle);background:linear-gradient(#f8fafceb,#f8fafc99);display:flex}.dialog-actions{gap:var(--space-2);margin-left:auto;display:flex}.dialog-btn{padding:var(--space-2)var(--space-6);border-radius:var(--radius-md);font-size:var(--font-size-label);font-weight:var(--font-medium);cursor:pointer;transition:background var(--duration-fast)var(--ease-in-out-smooth),color var(--duration-fast)var(--ease-in-out-smooth),transform var(--duration-fast)var(--ease-in-out-smooth),box-shadow var(--duration-fast)var(--ease-in-out-smooth),border-color var(--duration-fast)var(--ease-in-out-smooth);align-items:center;gap:var(--space-1);border:none;display:flex}.dialog-btn:active{transform:scale(.98)}.dialog-btn.cancel{background:var(--bg-muted);color:var(--text-secondary)}.dialog-btn.cancel:hover{background:var(--border-subtle);color:var(--text-primary)}.dialog-btn.save{background:var(--primary-500);color:var(--text-inverse)}.dialog-btn.save:hover{background:var(--primary-600);box-shadow:var(--shadow-md),var(--shadow-glow);transform:translateY(-2px)}.dialog-btn.save:focus-visible{outline:2px solid var(--primary-300);outline-offset:2px}.dialog-btn.delete{background:var(--bg-muted);color:var(--danger-600);border:1px solid var(--border-subtle)}.dialog-btn.delete:hover{background:rgba(var(--danger-rgb),.05);border-color:var(--danger-500)}.dialog-btn.delete.confirm{background:var(--danger-500);color:var(--text-inverse);border-color:var(--danger-500);animation:pulse var(--duration-slow)var(--ease-spring)}.dialog-btn.delete.confirm:hover{background:var(--danger-600);transform:translateY(-1px)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}
.configuration-builder-modal{z-index:var(--z-modal);padding:var(--space-8);justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow:auto}.configuration-builder{width:92vw;max-width:1280px;height:88vh;max-height:calc(100vh - 2*var(--space-8));flex-direction:column;display:flex;overflow:hidden}.configuration-builder.modal{width:92vw;max-width:1280px;height:88vh;max-height:calc(100vh - 2*var(--space-8))}.configuration-builder .modal-header{padding:var(--space-6);background:var(--surface-base);border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;display:flex}.header-title{gap:var(--space-4);align-items:center;display:flex}.header-title h2{font-size:var(--font-size-section);font-weight:var(--font-semibold);margin:0;line-height:1.2}.header-title p{font-size:var(--font-size-body);color:var(--text-muted);margin:0;line-height:1.5}.header-title .icon{width:28px;height:28px;color:var(--primary-600)}.config-body{gap:var(--space-4);min-height:0;padding:var(--space-4);background:var(--bg-muted);flex:1;grid-template-columns:1fr;display:grid;overflow:hidden}@media (min-width:768px){.config-body{gap:var(--space-5);padding:var(--space-5);grid-template-columns:200px 1fr}}@media (min-width:1024px){.config-body{gap:var(--space-6);padding:var(--space-6);grid-template-columns:250px 1fr 340px}}.level-nav{gap:var(--space-2);padding-right:var(--space-2);flex-direction:column;display:flex;overflow-y:auto}.level-nav-item{align-items:center;gap:var(--space-4);padding:var(--space-4);border-radius:var(--radius-lg);background:var(--surface-base);box-shadow:var(--shadow-xs);cursor:pointer;transition:all var(--transition-fast);border:1px solid #0000;display:flex}.level-nav-item .level-icon{border-radius:var(--radius-md);color:#fff;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.level-nav-item .level-icon .icon{width:22px;height:22px}.level-nav-item .level-text{color:var(--text-primary);flex-direction:column;align-items:flex-start;gap:2px;font-weight:600;display:flex}.level-nav-item .level-text small{font-size:var(--font-size-caption);color:var(--text-muted);font-weight:var(--font-medium)}.level-nav-item .chevron{width:16px;height:16px;color:var(--text-muted);margin-left:auto}.level-nav-item:hover{border-color:var(--primary-200);box-shadow:var(--shadow-sm);transform:translate(2px)}.level-nav-item.active{border-color:var(--primary-400);box-shadow:var(--shadow-md)}.level-editor{flex-direction:column;min-height:0;display:flex;overflow:hidden}.level-panel{height:100%;padding:var(--space-4);background:var(--surface-base);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);flex-direction:column;display:flex;overflow:hidden auto}@media (min-width:768px){.level-panel{padding:var(--space-6)}}@media (min-width:1024px){.level-panel{padding:var(--space-8)}}.level-panel.empty{color:var(--text-muted);justify-content:center;align-items:center}.panel-header{margin-bottom:var(--space-6);justify-content:space-between;align-items:center;display:flex}.panel-back{align-items:center;gap:var(--space-2);padding:var(--space-2)var(--space-4);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-base);cursor:pointer;color:var(--text-secondary);transition:all var(--transition-fast);display:inline-flex}.panel-back:disabled{opacity:.4;pointer-events:none}.panel-back .icon{width:16px;height:16px}.panel-title{align-items:center;gap:var(--space-4);display:flex}.panel-title h3{font-size:var(--font-size-subsection);font-weight:var(--font-semibold);color:var(--text-primary);margin:0;line-height:1.2}.panel-title .chip{padding:0 var(--space-2);border-radius:var(--radius-full);height:28px;font-size:var(--font-size-caption);font-weight:var(--font-semibold);color:#fff;justify-content:center;align-items:center;display:inline-flex}.panel-section{padding:var(--space-6)0;border-bottom:1px solid var(--border-subtle)}.panel-section:last-of-type{border-bottom:none}.field{gap:var(--space-1);flex-direction:column;display:flex}.field label{font-size:var(--font-size-label);font-weight:var(--font-semibold);color:var(--text-secondary)}.field input[type=number],.field input[type=text]{padding:var(--space-2)var(--space-4);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-base);font-size:var(--font-size-body);transition:border-color var(--transition-fast)}.field input:focus{border-color:var(--primary-500);box-shadow:0 0 0 3px rgba(var(--primary-rgb),.1);outline:none}.panel-section .field+.field{margin-top:var(--space-4)}.section-header{margin-bottom:var(--space-4);justify-content:space-between;align-items:center;display:flex}.section-header h4{font-size:var(--font-size-body);font-weight:var(--font-semibold);color:var(--text-primary);margin:0;line-height:1.2}.empty-note{color:var(--text-muted);font-size:var(--font-size-body);padding:var(--space-4)var(--space-6);background:var(--bg-muted);border-radius:var(--radius-md);line-height:1.5}.parent-grid{gap:var(--space-2);max-height:320px;padding-right:var(--space-2);flex-direction:column;display:flex;overflow-y:auto}.parent-row{gap:var(--space-3);padding:var(--space-2)var(--space-4);border-radius:var(--radius-md);background:var(--surface-interactive);transition:border-color var(--transition-fast);border:1px solid #0000;grid-template-columns:56px minmax(0,1fr) 140px;align-items:start;display:grid}.parent-row:hover{border-color:var(--primary-200)}.parent-label{flex-direction:column;gap:4px;display:flex}.parent-label .primary{font-weight:var(--font-semibold);color:var(--text-primary)}.parent-label .secondary{font-size:var(--font-size-caption);color:var(--text-muted)}.parent-label input{font-weight:var(--font-semibold);color:var(--text-primary)}.index-col{justify-content:center;align-items:flex-start}.code-column{align-items:flex-start;gap:6px}.code-pill-row{align-items:center;min-height:18px;display:flex}.leaf-capacity-groups{gap:var(--space-4);max-height:320px;padding-right:var(--space-2);flex-direction:column;display:flex;overflow-y:auto}.leaf-group{gap:var(--space-4);padding:var(--space-4);background:var(--surface-base);border-radius:var(--radius-md);border:1px solid var(--border-subtle);box-shadow:var(--shadow-xs);flex-direction:column;display:flex}.leaf-group-header{justify-content:space-between;align-items:baseline;gap:var(--space-md);display:flex}.leaf-group-meta{flex-direction:column;gap:4px;display:flex}.leaf-group-name{font-weight:var(--font-semibold);color:var(--text-primary)}.leaf-group-subtitle{font-size:var(--font-size-caption);color:var(--text-muted)}.leaf-group-type{border-radius:var(--radius-full);background:var(--surface-interactive);color:var(--text-muted);font-size:var(--font-size-caption);font-weight:var(--font-semibold);text-transform:uppercase;letter-spacing:.06em;padding:4px 10px}.leaf-group-list{gap:var(--space-2);flex-direction:column;display:flex}.leaf-row{gap:var(--space-4);grid-template-columns:minmax(0,1fr) 120px;align-items:center;display:grid}.leaf-name{align-items:center;gap:var(--space-sm);display:flex}.leaf-index{font-size:var(--font-size-caption);font-weight:var(--font-semibold);color:var(--text-muted);background:var(--surface-interactive);border-radius:var(--radius-full);padding:2px 8px}.leaf-name input{width:100%;font-weight:var(--font-semibold);color:var(--text-primary)}.leaf-capacity-field input{width:100%}.parent-label input::placeholder{color:var(--text-muted)}.parent-row input{width:100%;padding:var(--space-2);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-base)}.range-form{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr)) auto;align-items:end;display:grid}.preview-panel{background:var(--surface-base);border-radius:var(--radius-xl);padding:var(--space-4);box-shadow:var(--shadow-sm);gap:var(--space-3);flex-direction:column;height:100%;min-height:0;display:flex;overflow:hidden auto}@media (min-width:768px){.preview-panel{padding:var(--space-5);gap:var(--space-4)}}@media (min-width:1024px){.preview-panel{padding:var(--space-6)}}.preview-empty{align-items:flex-start;gap:var(--space-1);color:var(--text-muted);font-size:var(--font-size-body);flex-direction:column;line-height:1.5;display:flex}.preview-tree{gap:var(--space-4);padding-right:var(--space-2);flex-direction:column;display:flex}.preview-node{gap:var(--space-2);flex-direction:column;display:flex}.preview-node.highlight .preview-card{border-color:var(--primary-500);box-shadow:var(--shadow-md)}.preview-card{border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:var(--space-4);background:var(--surface-base);box-shadow:var(--shadow-xs)}.preview-card-header{align-items:center;gap:var(--space-4);display:flex}.preview-card-header .avatar{border-radius:var(--radius-md);color:#fff;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.preview-card-header .avatar .icon{width:18px;height:18px}.preview-card .name{color:var(--text-primary);font-weight:600}.preview-card .meta{color:var(--text-muted);font-size:.8rem}.preview-children{margin-top:var(--space-md);padding-left:var(--space-lg);gap:var(--space-md);border-left:2px dashed var(--border-subtle);flex-direction:column;display:flex}.preview-more{color:var(--text-muted);font-size:.8rem}.modal-footer{justify-content:flex-end;gap:var(--space-md);padding:var(--space-md)var(--space-lg);border-top:1px solid var(--border-subtle);background:var(--surface-base);display:flex}@media (max-width:1200px){.config-body{grid-template:"nav main"1fr"nav preview"/220px 1fr}.preview-panel{margin-top:var(--space-lg)}}@media (max-width:960px){.configuration-builder{height:95vh}.config-body{grid-template-rows:auto auto auto;grid-template-columns:1fr}.preview-panel{order:3}}
.project-selector{min-width:240px;position:relative}.project-selector-button{width:100%;padding:var(--space-2)var(--space-3);background:var(--surface-base);border:1px solid var(--border-subtle);border-radius:var(--radius-md);cursor:pointer;justify-content:space-between;align-items:center;font-family:inherit;transition:all .2s;display:flex}.project-selector-button:hover{background:var(--bg-subtle);border-color:var(--border-default)}.project-selector-button:focus{border-color:var(--primary-500);outline:none;box-shadow:0 0 0 2px #22c55e1a}.project-selector-info{flex-direction:column;align-items:flex-start;gap:2px;display:flex}.project-selector-label{font-size:11px;font-weight:var(--font-medium);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.project-selector-name{font-size:14px;font-weight:var(--font-medium);color:var(--text-primary)}.project-selector-chevron{width:16px;height:16px;color:var(--text-secondary);transition:transform .2s}.project-selector-chevron.open{transform:rotate(180deg)}.project-selector-dropdown{background:var(--surface-base);border:1px solid var(--border-subtle);border-radius:var(--radius-md);min-width:280px;box-shadow:var(--shadow-lg);z-index:1000;flex-direction:column;max-height:340px;display:flex;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow:hidden}.project-selector-search{padding:var(--space-3);border-bottom:1px solid var(--border-subtle);background:var(--bg-subtle);align-items:center;display:flex}.search-icon{width:16px;height:16px;color:var(--text-muted);margin-right:var(--space-2)}.project-search-input{font-size:var(--font-size-body);color:var(--text-primary);background:0 0;border:none;outline:none;flex:1}.project-search-input::placeholder{color:var(--text-muted)}.project-create-button{align-items:center;gap:var(--space-2);width:100%;padding:var(--space-3);border:none;border-bottom:1px solid var(--border-subtle);color:var(--primary-600);font-size:var(--font-size-body);font-weight:var(--font-medium);cursor:pointer;text-align:left;background:0 0;transition:background .2s;display:flex}.project-create-button:hover{background:var(--primary-50)}.project-create-button .icon{width:16px;height:16px}.project-list{flex:auto;min-height:0;overflow-y:auto}.project-list-empty{text-align:center;color:var(--text-muted);font-size:var(--font-size-body);padding:24px;line-height:1.5}.project-item{padding:var(--space-2)var(--space-3);border-bottom:1px solid var(--border-subtle);text-align:left;cursor:pointer;width:100%;font:inherit;background:0 0;border:none;transition:background .2s;display:block}.project-item:last-child{border-bottom:none}.project-item:hover{background:var(--bg-subtle)}.project-item.selected{background:var(--primary-50)}.project-item:focus-visible{outline:2px solid var(--primary-500);outline-offset:2px}.project-item-header{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.project-item-name{font-size:var(--font-size-body);font-weight:var(--font-medium);color:var(--text-primary)}.project-item.selected .project-item-name{color:var(--primary-600)}.project-item-badge{padding:var(--space-1)var(--space-2);background:var(--primary-100);color:var(--primary-700);font-size:11px;font-weight:var(--font-semibold);border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.3px}.project-item-description{margin-top:var(--space-1);font-size:var(--font-size-caption);color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;line-height:1.5;overflow:hidden}.project-selector-footer{border-top:1px solid var(--border-subtle);padding:var(--space-2);background:var(--bg-subtle)}.project-selector-logout{align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2)var(--space-3);border-radius:var(--radius-md);color:var(--danger-600);font-size:var(--font-size-body);font-weight:var(--font-medium);cursor:pointer;text-align:left;background:0 0;border:none;transition:background .2s,color .2s;display:flex}.project-selector-logout:hover{background:rgba(var(--danger-rgb),.08);color:var(--danger-600)}.project-selector-logout:focus-visible{outline:2px solid rgba(var(--danger-rgb),.7);outline-offset:2px}.project-selector-logout .icon{width:16px;height:16px}.modal-shell{z-index:var(--z-modal);padding:var(--space-lg);-webkit-backdrop-filter:blur(8px);background:#0f172a73;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-backdrop{cursor:pointer;background:0 0;border:none;margin:0;padding:0;position:absolute;inset:0}.modal-backdrop:focus{outline:2px solid var(--primary-500);outline-offset:4px}.modal-content{z-index:var(--z-modal);background:var(--surface-base);border-radius:var(--radius-xl);box-shadow:var(--shadow-2xl);cursor:default;width:min(92vw,520px);max-height:min(90vh,720px);animation:dialog-slide-up var(--transition-base);flex-direction:column;display:flex;position:relative;overflow:hidden}.modal-header{padding:var(--space-xl);border-bottom:1px solid var(--border-subtle);background:linear-gradient(#f8fafceb,#f8fafc99);justify-content:space-between;align-items:center;display:flex}.modal-header h2{color:var(--text-primary);margin:0;font-size:1.375rem;font-weight:600;line-height:1.2}.modal-close{border-radius:var(--radius-md);cursor:pointer;width:32px;height:32px;transition:background var(--transition-fast),color var(--transition-fast),transform var(--transition-fast);color:var(--text-muted);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.modal-close:hover{color:var(--text-primary);background:#e2e8f099;transform:translateY(-1px)}.modal-close .icon{width:18px;height:18px}.modal-body{padding:var(--space-lg);background:var(--surface-base);flex:1;overflow-y:auto}.form-group{gap:var(--space-xs);margin-bottom:var(--space-lg);flex-direction:column;display:flex}.form-group label{color:var(--text-secondary);font-size:.875rem;font-weight:500}.form-group input,.form-group textarea{background:var(--surface-base);border:1px solid var(--border-default);border-radius:var(--radius-md);width:100%;color:var(--text-primary);transition:border-color var(--duration-fast)var(--ease-in-out-smooth),box-shadow var(--duration-fast)var(--ease-in-out-smooth),background var(--duration-fast)var(--ease-in-out-smooth);padding:.5rem .75rem;font-size:.875rem;line-height:1.5}.form-group input:hover,.form-group textarea:hover{border-color:var(--border-strong)}.form-group input:focus,.form-group textarea:focus{border-color:var(--primary-500);background:var(--bg-base);outline:none;box-shadow:0 0 0 3px #22c55e1a}.form-group textarea{resize:vertical;font-family:inherit}.template-fieldset{border:none;margin:0;padding:0}.template-fieldset legend{font-size:var(--font-size-body);font-weight:var(--font-medium);color:var(--text-primary);margin-bottom:var(--space-2)}.template-options{gap:var(--space-2);flex-direction:column;display:flex}.template-option{padding:var(--space-3);background:var(--bg-subtle);border:1px solid var(--border-subtle);border-radius:var(--radius-md);cursor:pointer;align-items:flex-start;transition:all .2s;display:flex}.template-option:hover{background:var(--bg-muted);border-color:var(--border-default)}.template-option.selected{background:var(--primary-50);border-color:var(--primary-500)}.template-option input[type=radio]{margin-right:var(--space-3);margin-top:2px}.template-option div{flex:1}.template-option strong{font-size:var(--font-size-body);font-weight:var(--font-semibold);color:var(--text-primary);margin-bottom:2px;display:block}.template-option span{font-size:var(--font-size-caption);color:var(--text-secondary);line-height:1.5;display:block}.modal-footer{justify-content:flex-end;align-items:center;gap:var(--space-3);padding:var(--space-lg);border-top:1px solid var(--border-subtle);background:linear-gradient(#f8fafceb,#f8fafc99);display:flex}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.project-selector-bar{align-items:center;gap:var(--space-4);padding:var(--space-3)var(--space-4);background:var(--surface-base);border-bottom:1px solid var(--border-subtle);display:flex}.project-selector-bar>span{font-weight:var(--font-semibold);color:var(--text-primary);font-size:var(--font-size-body)}.project-selector-actions{align-items:center;gap:var(--space-3);margin-left:auto;display:inline-flex}
:root{--space-xx:.125rem;--font-size-xs:.75rem;--font-size-sm:.95rem;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--primary-rgb:34,197,94;--danger-500:#ef4444;--danger-600:#dc2626;--danger-rgb:239,68,68}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{color:var(--text-primary);background:var(--bg-base);transition:background-color var(--transition-base),color var(--transition-base);min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.6}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-semibold);color:var(--text-primary);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.2}h1{font-size:var(--font-size-headline)}h2{font-size:var(--font-size-section)}h3{font-size:var(--font-size-subsection)}h4{font-size:var(--font-size-body);font-weight:var(--font-weight-semibold)}h5{font-size:var(--font-size-body);font-weight:var(--font-weight-medium)}h6{font-size:var(--font-size-label);font-weight:var(--font-weight-semibold)}p,body{text-rendering:optimizeLegibility;line-height:1.5}.app-shell{background:var(--bg-subtle);flex-direction:column;min-height:100vh;display:flex}.app-header{background:var(--surface-base);border-bottom:1px solid var(--border-subtle);box-shadow:var(--shadow-sm);z-index:var(--z-sticky);-webkit-backdrop-filter:blur(8px);position:sticky;top:0}.app-header-content{max-width:1400px;padding:var(--space-3)var(--space-4);align-items:center;gap:var(--space-4);margin:0 auto;display:flex}@media (min-width:768px){.app-header-content{padding:var(--space-4)var(--space-6);gap:var(--space-6)}}.app-logo{align-items:center;gap:var(--space-2);display:flex}.app-logo-icon{background:linear-gradient(135deg,var(--primary-500)0%,var(--primary-600)100%);border-radius:var(--radius-lg);color:#fff;width:40px;height:40px;font-weight:var(--font-weight-bold);font-size:var(--font-size-subsection);box-shadow:var(--shadow-md);justify-content:center;align-items:center;display:flex}.app-title{font-size:var(--font-size-subsection);font-weight:var(--font-weight-bold);background:linear-gradient(135deg,var(--primary-600)0%,var(--primary-700)100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.app-main{width:100%;max-width:1400px;padding:var(--space-4);flex:1;margin:0 auto}@media (min-width:768px){.app-main{padding:var(--space-6)}}@media (min-width:1024px){.app-main{padding:var(--space-8)var(--space-6)}}.page{gap:var(--space-6);flex-direction:column;display:flex}.toolbar{background:var(--surface-base);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);padding:var(--space-4);box-shadow:var(--shadow-sm);gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.toolbar-project-meta{gap:var(--space-1);min-width:220px;margin-right:var(--space-2);flex-direction:column;display:flex}.project-meta-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.project-meta-row{gap:var(--space-1);flex-wrap:wrap;display:flex}.project-meta-pill{padding:var(--space-xx)var(--space-2);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);background:var(--bg-muted);color:var(--text-secondary);border-radius:999px;align-items:center;display:inline-flex}.project-meta-pill.on{background:rgba(var(--primary-rgb),.15);color:var(--primary-600)}.project-meta-pill.off{background:rgba(var(--danger-rgb),.15);color:var(--danger-600)}[data-theme=dark] .project-meta-pill,.theme-dark .project-meta-pill{background:var(--surface-interactive);color:var(--text-secondary)}[data-theme=dark] .project-meta-pill.on,.theme-dark .project-meta-pill.on{background:rgba(var(--primary-rgb),.3);color:var(--primary-200)}[data-theme=dark] .project-meta-pill.off,.theme-dark .project-meta-pill.off{background:rgba(var(--danger-rgb),.3);color:var(--danger-500)}.toolbar-section{gap:var(--space-2);padding:0 var(--space-2);border-right:1px solid var(--border-subtle);align-items:center;display:flex}.toolbar-section:last-child{border-right:none}.toolbar .spacer{flex:1}.btn{justify-content:center;align-items:center;gap:var(--space-1);padding:var(--space-2)var(--space-4);border-radius:var(--radius-md);cursor:pointer;transition:transform var(--duration-fast)var(--ease-in-out-smooth),box-shadow var(--duration-fast)var(--ease-in-out-smooth),background var(--duration-fast)var(--ease-in-out-smooth),border-color var(--duration-fast)var(--ease-in-out-smooth);white-space:nowrap;will-change:transform;border:1px solid #0000;font-size:.875rem;font-weight:500;display:inline-flex;position:relative;overflow:hidden}.btn:active{transition-duration:var(--duration-instant);transform:scale(.98)}.btn-default{background:var(--surface-raised);border-color:var(--border-default);color:var(--text-primary)}.btn-default:hover{background:var(--surface-interactive);border-color:var(--border-strong);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.btn-default:focus-visible{outline:2px solid var(--primary-500);outline-offset:2px}.btn-primary{background:linear-gradient(135deg,var(--primary-500)0%,var(--primary-600)100%);color:#fff;box-shadow:var(--shadow-sm)}.btn-primary:hover{background:linear-gradient(135deg,var(--primary-600)0%,var(--primary-700)100%);box-shadow:var(--shadow-md),var(--shadow-glow);transform:translateY(-2px)}.btn-primary:focus-visible{outline:2px solid var(--primary-300);outline-offset:2px;box-shadow:var(--shadow-md),var(--shadow-glow),0 0 0 3px #22c55e33}.btn-secondary{background:var(--surface-raised);border-color:var(--border-default);color:var(--text-primary)}.btn-secondary:hover{background:var(--surface-interactive);border-color:var(--border-strong);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.btn-secondary:focus-visible{outline:2px solid var(--primary-500);outline-offset:2px}.btn-success{background:linear-gradient(135deg,var(--primary-500)0%,var(--primary-600)100%);color:#fff;box-shadow:var(--shadow-sm)}.btn-danger{color:#fff;box-shadow:var(--shadow-sm);background:linear-gradient(135deg,#ef4444 0%,#dc2626 100%)}.btn-danger:hover{box-shadow:var(--shadow-md),0 0 20px #ef444433;background:linear-gradient(135deg,#dc2626 0%,#b91c1c 100%);transform:translateY(-2px)}.btn-danger:focus-visible{outline-offset:2px;outline:2px solid #fca5a5}.btn-ghost{color:var(--text-secondary);background:0 0;border:1px solid #0000}.btn-ghost:hover{background:var(--surface-interactive);color:var(--text-primary);border-color:var(--border-subtle)}.btn-ghost:focus-visible{outline:2px solid var(--primary-500);outline-offset:2px}.btn-icon{padding:var(--space-2);width:44px;height:44px}@media (min-width:768px){.btn-icon{width:36px;height:36px}}.btn-sm{padding:.375rem .75rem;font-size:.75rem}.btn-lg{padding:var(--space-3)var(--space-6);font-size:var(--font-size-body)}.btn:disabled{opacity:.6;cursor:not-allowed;transition:opacity var(--duration-normal)var(--ease-in-out-smooth);box-shadow:none!important;transform:none!important}.btn:disabled:hover{box-shadow:none}.card{background:var(--surface-base);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);transition:transform var(--duration-normal)var(--ease-out-expo),box-shadow var(--duration-normal)var(--ease-out-expo),border-color var(--duration-fast)var(--ease-in-out-smooth);will-change:transform,box-shadow;overflow:hidden}.card:hover{box-shadow:var(--shadow-md);border-color:var(--border-default);transform:translateY(-2px)}.card-header{background:linear-gradient(to right,var(--surface-base),var(--surface-raised));padding:var(--space-md)var(--space-lg);border-bottom:1px solid var(--border-subtle);align-items:center;gap:var(--space-md);display:flex}.card-title{color:var(--text-primary);align-items:center;gap:var(--space-sm);font-size:1.125rem;font-weight:600;display:flex}.card-body{padding:var(--space-lg)}.card-footer{background:var(--bg-muted);padding:var(--space-md)var(--space-lg);border-top:1px solid var(--border-subtle)}.layers{gap:var(--space-4);display:grid}@media (min-width:768px){.layers{gap:var(--space-5)}}@media (min-width:1024px){.layers{gap:var(--space-6)}}.layer-card{background:var(--surface-base);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);transition:transform var(--duration-fast)var(--ease-in-out-smooth),box-shadow var(--duration-fast)var(--ease-in-out-smooth),opacity var(--duration-normal)var(--ease-in-out-smooth);will-change:transform;overflow:hidden}.layer-card:hover:not(.disabled){box-shadow:var(--shadow-md);transform:translateY(-1px)}.layer-card.disabled{opacity:.6;cursor:not-allowed}.layer-header{background:linear-gradient(135deg,var(--surface-base)0%,var(--surface-raised)100%);padding:var(--space-4)var(--space-6);border-bottom:1px solid var(--border-subtle);align-items:center;gap:var(--space-4);display:flex}.layer-icon{border-radius:var(--radius-md);width:40px;height:40px;font-size:var(--font-size-subsection);justify-content:center;align-items:center;display:flex}.layer-greenhouse{background:linear-gradient(135deg,var(--primary-500)0%,var(--primary-600)100%)}.layer-repro1{background:linear-gradient(135deg,var(--blue-500)0%,var(--blue-600)100%)}.layer-repro2{background:linear-gradient(135deg,var(--purple-500)0%,var(--purple-500)100%)}.layer-production{background:linear-gradient(135deg,var(--amber-500)0%,var(--amber-500)100%)}.input{width:100%;color:var(--text-primary);background:var(--surface-base);border:1px solid var(--border-default);border-radius:var(--radius-md);transition:border-color var(--duration-fast)var(--ease-in-out-smooth),box-shadow var(--duration-fast)var(--ease-in-out-smooth),background var(--duration-fast)var(--ease-in-out-smooth);padding:.5rem .75rem;font-size:.875rem}.input:hover{border-color:var(--border-strong)}.input:focus{border-color:var(--primary-500);background:var(--bg-base);outline:none;box-shadow:0 0 0 3px #22c55e1a}.input-group{gap:var(--space-1);flex-direction:column;display:flex}.label{color:var(--text-secondary);font-size:.875rem;font-weight:500}.select{--select-chevron:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");appearance:none;width:100%;color:var(--text-primary);background-color:var(--surface-base);background-image:linear-gradient(to bottom,transparent,#00000004),var(--select-chevron);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);cursor:pointer;transition:border-color var(--duration-fast)var(--ease-in-out-smooth),box-shadow var(--duration-fast)var(--ease-in-out-smooth),background-color var(--duration-fast)var(--ease-in-out-smooth);background-position:right .75rem center;background-repeat:no-repeat;background-size:auto,1rem;padding:.625rem 2.75rem .625rem .875rem;font-size:.875rem;font-weight:500}.select:hover{border-color:var(--primary-400);background-color:var(--surface-raised)}.select:focus{border-color:var(--primary-500);box-shadow:0 0 0 3px #22c55e1f,var(--shadow-sm);background-image:linear-gradient(to bottom,transparent,#22c55e05),var(--select-chevron);outline:none}.checkbox-group,.radio-group{align-items:center;gap:var(--space-2);display:flex}.switch{align-items:center;gap:var(--space-2);cursor:pointer;display:inline-flex}.switch-input{background:var(--border-strong);border-radius:var(--radius-full);width:44px;height:24px;transition:background var(--transition-fast);cursor:pointer;position:relative}.switch-input:after{content:"";width:20px;height:20px;transition:transform var(--transition-fast);box-shadow:var(--shadow-sm);background:#fff;border-radius:50%;position:absolute;top:2px;left:2px}.switch input:checked+.switch-input{background:var(--primary-500)}.switch input:checked+.switch-input:after{transform:translate(20px)}.switch input{opacity:0;width:0;height:0;position:absolute}.tree{gap:var(--space-md);flex-direction:column;display:flex}.tree-node{background:var(--surface-raised);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-md);transition:all var(--transition-fast)}.tree-node:hover{border-color:var(--border-default);box-shadow:var(--shadow-sm)}.tree-node-header{align-items:center;gap:var(--space-sm);display:flex}.tree-node-content{align-items:center;gap:var(--space-sm);flex:1;display:flex}.tree-node-icon{border-radius:var(--radius-md);width:34px;height:34px;box-shadow:var(--shadow-xs);color:#fff;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.tree-node-actions .btn{color:var(--text-secondary);justify-content:center;align-items:center;width:36px;height:36px;padding:0;display:inline-flex}.tree-node-actions .btn.btn-danger{color:#fff}.tree-node-actions .btn svg{stroke:currentColor;fill:none;width:18px;height:18px;display:block}.tree-action-badge{border-radius:var(--radius-md);width:100%;height:100%;box-shadow:var(--shadow-xs);color:#fff;background:var(--bg-muted);justify-content:center;align-items:center;display:inline-flex}.tree-action-badge.edit{background:var(--blue-500,#3b82f6)}.tree-action-badge.delete{background:var(--red-500,#ef4444)}.tree-action-icon{stroke:currentColor;fill:none;width:18px;height:18px}.tree-node-name{color:var(--text-primary);font-weight:500}.tree-node-children{margin-top:var(--space-md);margin-left:var(--space-lg);padding-left:var(--space-md);border-left:2px solid var(--border-subtle);gap:var(--space-sm);flex-direction:column;display:flex}.tree-node-actions{gap:var(--space-xs);opacity:0;transition:opacity var(--transition-fast);display:flex}.tree-node:hover .tree-node-actions{opacity:1}.badge{align-items:center;gap:var(--space-xs);border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.025em;padding:.25rem .625rem;font-size:.75rem;font-weight:500;display:inline-flex}.badge-default{background:var(--bg-muted);color:var(--text-secondary)}.badge-primary{background:var(--primary-100);color:var(--primary-700)}.badge-success{color:#065f46;background:#d1fae5}.badge-warning{color:#92400e;background:#fed7aa}.badge-danger{color:#991b1b;background:#fee2e2}.modal-backdrop{-webkit-backdrop-filter:blur(8px);z-index:var(--z-overlay);animation:dialog-fade-in var(--transition-fast);background:#0f172a73;position:fixed;inset:0}.modal{background:var(--surface-base);border-radius:var(--radius-xl);box-shadow:var(--shadow-2xl);width:min(92vw,520px);max-height:min(90vh,720px);z-index:var(--z-modal);animation:slideUp var(--transition-base);flex-direction:column;display:flex;position:fixed;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%)}.modal-header{padding:var(--space-xl);border-bottom:1px solid var(--border-subtle);background:linear-gradient(#f8fafceb,#f8fafc99);justify-content:space-between;align-items:center;display:flex}.modal-title{color:var(--text-primary);font-size:1.375rem;font-weight:600}.modal-body{padding:var(--space-lg);background:var(--surface-base);flex:1;overflow-y:auto}.modal-footer{padding:var(--space-lg);border-top:1px solid var(--border-subtle);gap:var(--space-sm);background:linear-gradient(#f8fafceb,#f8fafc99);justify-content:flex-end;display:flex}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translate(-50%,-40%)}to{opacity:1;transform:translate(-50%,-50%)}}@keyframes dialog-fade-in{0%{opacity:0}to{opacity:1}}@keyframes dialog-slide-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.animate-pulse{animation:2s cubic-bezier(.4,0,.6,1) infinite pulse}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.grow{flex:1}.shrink-0{flex-shrink:0}.text-xs{font-size:.75rem}.text-sm{font-size:.875rem}.text-base{font-size:1rem}.text-lg{font-size:1.125rem}.text-xl{font-size:1.25rem}.font-normal{font-weight:400}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.opacity-50{opacity:.5}.opacity-75{opacity:.75}.grid{gap:var(--space-3);display:grid}@media (min-width:768px){.grid{gap:var(--space-4)}}@media (min-width:1024px){.grid{gap:var(--space-md)}}.grid-cols-1{grid-template-columns:repeat(1,1fr)}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}@media (min-width:640px){.sm\:grid-cols-2{grid-template-columns:repeat(2,1fr)}.sm\:grid-cols-3{grid-template-columns:repeat(3,1fr)}}@media (min-width:768px){.md\:grid-cols-2{grid-template-columns:repeat(2,1fr)}.md\:grid-cols-3{grid-template-columns:repeat(3,1fr)}.md\:grid-cols-4{grid-template-columns:repeat(4,1fr)}}@media (min-width:1024px){.lg\:grid-cols-3{grid-template-columns:repeat(3,1fr)}.lg\:grid-cols-4{grid-template-columns:repeat(4,1fr)}}.skeleton{background:linear-gradient(90deg,var(--bg-muted)25%,var(--surface-interactive)50%,var(--bg-muted)75%);background-size:200% 100%;animation:1.5s infinite loading}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-muted)}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.empty-state{padding:var(--space-2xl)var(--space-lg);text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.empty-state-icon{margin-bottom:var(--space-lg);opacity:.5}.empty-state-title{color:var(--text-primary);margin:0 0 var(--space-sm)0;font-size:1.25rem;font-weight:600}.empty-state-description{color:var(--text-muted);margin:0 0 var(--space-lg)0;max-width:400px}.empty-state-actions{gap:var(--space-sm);flex-wrap:wrap;justify-content:center;display:flex}.layer-stats{gap:var(--space-xs);flex-wrap:wrap;align-items:center;display:flex}.layer-toolbar{gap:var(--space-sm);padding-bottom:var(--space-md);border-bottom:1px solid var(--border-subtle);margin-bottom:var(--space-md);display:flex}.lucide{vertical-align:middle;display:inline-block}.settings-panel{background:var(--surface-base);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);padding:var(--space-lg);margin-top:var(--space-md);box-shadow:var(--shadow-sm)}.settings-title{align-items:center;gap:var(--space-sm);margin:0 0 var(--space-md)0;color:var(--text-primary);font-size:1rem;font-weight:600;display:flex}.settings-content{gap:var(--space-md);flex-direction:column;display:flex}.settings-group{gap:var(--space-sm);flex-direction:column;display:flex}@media print{.no-print{display:none!important}}
:root{--primary-50:#f0fdf4;--primary-100:#dcfce7;--primary-200:#bbf7d0;--primary-300:#86efac;--primary-400:#4ade80;--primary-500:#22c55e;--primary-600:#16a34a;--primary-700:#15803d;--primary-800:#166534;--primary-900:#14532d;--gray-50:#f9fafb;--gray-100:#f3f4f6;--gray-200:#e5e7eb;--gray-300:#d1d5db;--gray-400:#9ca3af;--gray-500:#6b7280;--gray-600:#4b5563;--gray-700:#374151;--gray-800:#1f2937;--gray-900:#111827;--blue-500:#3b82f6;--blue-600:#2563eb;--blue-700:#1d4ed8;--amber-500:#f59e0b;--red-500:#ef4444;--purple-500:#a855f7;--warning-50:#fef3c7;--warning-300:#fbbf24;--bg-base:#fff;--bg-subtle:#f8fafc;--bg-muted:#f1f5f9;--bg-accent:linear-gradient(135deg,#667eea 0%,#764ba2 100%);--surface-base:#fff;--surface-raised:#fff;--surface-overlay:#fffffff2;--surface-interactive:#f8fafc;--border-subtle:#e2e8f0;--border-default:#cbd5e1;--border-strong:#94a3b8;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#64748b;--text-disabled:#94a3b8;--text-inverse:#fff;--shadow-xs:0 1px 2px 0 #0000000d;--shadow-sm:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--shadow-xl:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;--shadow-2xl:0 25px 50px -12px #00000040;--shadow-glow:0 0 20px #22c55e33;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-xs:var(--space-1);--space-sm:var(--space-2);--space-md:var(--space-4);--space-lg:var(--space-6);--space-xl:var(--space-8);--space-2xl:var(--space-12);--container-padding:clamp(1rem,2vw,1.5rem);--radius-sm:.375rem;--radius-md:.5rem;--radius-lg:.75rem;--radius-xl:1rem;--radius-2xl:1.5rem;--radius-full:9999px;--ease-in-out-smooth:cubic-bezier(.4,0,.2,1);--ease-out-back:cubic-bezier(.34,1.56,.64,1);--ease-in-expo:cubic-bezier(.95,.05,.795,.035);--ease-out-expo:cubic-bezier(.19,1,.22,1);--ease-spring:cubic-bezier(.175,.885,.32,1.275);--duration-instant:.1s;--duration-fast:.15s;--duration-normal:.25s;--duration-slow:.35s;--duration-slower:.5s;--stagger-1:50ms;--stagger-2:.1s;--stagger-3:.15s;--transition-fast:var(--duration-fast)var(--ease-in-out-smooth);--transition-base:var(--duration-normal)var(--ease-in-out-smooth);--transition-slow:var(--duration-slow)var(--ease-in-out-smooth);--z-base:0;--z-raised:10;--z-dropdown:980;--z-sticky:990;--z-overlay:1000;--z-popover:1010;--z-tooltip:1020;--z-command-bar:1180;--z-header:1190;--z-modal:1280;--traceability-cutting:#f59e0b;--traceability-rooting:#3b82f6;--traceability-hardening:#8b5cf6;--traceability-ready:#10b981;--traceability-distributed:#64748b;--traceability-planted:#22c55e;--touch-target-height:3.5rem;--touch-target-height-lg:4.25rem;--font-size-display:clamp(2rem,1.5rem + 1.5vw,2.75rem);--font-size-headline:clamp(1.5rem,1.25rem + 1vw,2.25rem);--font-size-section:clamp(1.125rem,1rem + .6vw,1.5rem);--font-size-subsection:clamp(1rem,.95rem + .3vw,1.25rem);--font-size-body:clamp(.9375rem,.9rem + .2vw,1rem);--font-size-label:clamp(.875rem,.85rem + .15vw,.9375rem);--font-size-caption:clamp(.75rem,.7rem + .15vw,.875rem);--font-normal:400;--font-medium:500;--font-semibold:600;--font-bold:700;--stage-acclimatization:#0284c7;--stage-greenhouse:#15803d;--stage-repro1:#7c3aed;--stage-repro2:#4c1d95;--stage-production:#ea580c;--stage-acclimatization-soft:#0284c71f;--stage-greenhouse-soft:#15803d1f;--stage-repro1-soft:#7c3aed1f;--stage-repro2-soft:#4c1d951f;--stage-production-soft:#ea580c1f;--shadow-soft:0 8px 20px -10px #0f172a59}[data-theme=dark]{--bg-base:#0a0f1c;--bg-subtle:#0f1623;--bg-muted:#141b2a;--surface-base:#1a2332;--surface-raised:#1f2937;--surface-overlay:#111827f2;--surface-interactive:#263244;--border-subtle:#1e293b;--border-default:#334155;--border-strong:#475569;--text-primary:#f1f5f9;--text-secondary:#cbd5e1;--text-muted:#94a3b8;--text-disabled:#475569;--shadow-xs:0 1px 2px 0 #0003;--shadow-sm:0 1px 3px 0 #0000004d,0 1px 2px -1px #0000004d;--shadow-md:0 4px 6px -1px #0000004d,0 2px 4px -2px #0000004d;--shadow-lg:0 10px 15px -3px #0000004d,0 4px 6px -4px #0000004d;--shadow-xl:0 20px 25px -5px #0000004d,0 8px 10px -6px #0000004d;--shadow-glow:0 0 30px #22c55e4d}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{color:var(--text-primary);background:var(--bg-base);transition:background-color var(--transition-base),color var(--transition-base);min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.6}h1,h2,h3,h4,h5,h6{color:var(--text-primary);font-weight:600;line-height:1.3}h1{font-size:var(--font-size-headline)}h2{font-size:var(--font-size-section)}h3{font-size:var(--font-size-subsection)}h4{font-size:var(--font-size-body);font-weight:var(--font-semibold)}h5{font-size:var(--font-size-body);font-weight:var(--font-medium)}h6{font-size:var(--font-size-label);font-weight:var(--font-semibold)}p{line-height:1.5}.app-shell{background:var(--bg-subtle);flex-direction:column;min-height:100vh;display:flex}.app-header{background:var(--surface-base);border-bottom:1px solid var(--border-subtle);box-shadow:var(--shadow-sm);z-index:var(--z-header);position:sticky;top:0}.app-header__inner{flex-wrap:nowrap;align-items:center;gap:0;width:100%;margin:0;padding:.65rem clamp(1rem,2vw,1.5rem);display:flex}.app-header__identity{flex:none;align-items:center;gap:clamp(.85rem,1.6vw,1.2rem);display:inline-flex}.app-header__logo{border-radius:var(--radius-xl);background:var(--primary-100);width:3rem;height:3rem;color:var(--primary-700);box-shadow:var(--shadow-xs);transition:background-color var(--transition-fast),transform var(--transition-fast);justify-content:center;align-items:center;display:inline-flex}.app-header__logo:hover,.app-header__logo:focus-visible{background:var(--primary-200);transform:translateY(-1px)}.app-header__logo svg{width:1.35rem;height:1.35rem}.app-header__selector{flex:0 0 clamp(200px,20vw,260px)}.app-header__nav{flex:auto;justify-content:flex-start;align-items:center;width:100%;min-width:0;display:flex}.header-project-selector{flex-direction:column;gap:.35rem;width:100%;display:flex}.header-project-selector__field{border-radius:var(--radius-xl);border:1px solid var(--border-subtle);background:var(--surface-base);width:100%;box-shadow:var(--shadow-xs);min-height:2.6rem;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast);align-items:center;gap:.4rem;padding:.45rem .75rem;display:flex}.header-project-selector__field:focus-within{border-color:var(--primary-500);box-shadow:0 0 0 3px #22c55e2e}.header-project-selector__field--disabled{background:var(--surface-interactive);box-shadow:none;color:var(--text-muted);border-style:dashed}.header-project-selector__prefix{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);white-space:nowrap;align-items:center;gap:.45rem;font-size:.7rem;font-weight:600;display:inline-flex}.header-project-selector__prefix svg{width:1.05rem;height:1.05rem}.header-project-selector__select{min-width:6.5rem;color:var(--text-primary);appearance:none;background:0 0;border:none;flex:auto;padding:0;font-size:.95rem;font-weight:600}.header-project-selector__select:focus{outline:none}.header-project-selector__chevron{color:var(--text-muted);pointer-events:none}.header-project-selector__status{color:var(--text-muted);white-space:nowrap;font-size:.85rem}.header-project-selector__meta{flex-wrap:wrap;gap:.4rem;margin-top:.35rem;display:flex}.header-project-selector__pill{color:var(--text-secondary);background:#94a3b82e;border-radius:999px;align-items:center;padding:2px 8px;font-size:.7rem;font-weight:600;display:inline-flex}.header-project-selector__pill.pill-on{color:#15803d;background:#22c55e33}.header-project-selector__pill.pill-off{color:#b91c1c;background:#f8717133}@media (max-width:960px){.app-header__inner{flex-direction:column;align-items:stretch;gap:.75rem}.app-header__identity{justify-content:flex-start;gap:.75rem}.app-header__selector{flex:auto}.app-header__nav{width:100%}}.app-logo{align-items:center;gap:var(--space-sm);display:flex}.app-logo-icon{background:linear-gradient(135deg,var(--primary-500)0%,var(--primary-600)100%);border-radius:var(--radius-lg);color:#fff;width:40px;height:40px;font-weight:var(--font-bold);font-size:var(--font-size-subsection);box-shadow:var(--shadow-md);justify-content:center;align-items:center;display:flex}.app-title{font-size:var(--font-size-subsection);font-weight:var(--font-bold);background:linear-gradient(135deg,var(--primary-600)0%,var(--primary-700)100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.app-main{max-width:1400px;padding:var(--space-xl)var(--space-lg);flex:1;margin:0 auto}.page{gap:var(--space-lg);flex-direction:column;display:flex}.btn{justify-content:center;align-items:center;gap:var(--space-xs);border-radius:var(--radius-md);cursor:pointer;transition:transform var(--duration-fast)var(--ease-in-out-smooth),box-shadow var(--duration-fast)var(--ease-in-out-smooth),background var(--duration-fast)var(--ease-in-out-smooth),border-color var(--duration-fast)var(--ease-in-out-smooth);white-space:nowrap;will-change:transform;border:1px solid #0000;padding:.5rem 1rem;font-size:.875rem;font-weight:500;display:inline-flex;position:relative;overflow:hidden}.btn:active{transition-duration:var(--duration-instant);transform:scale(.98)}.btn-primary{background:linear-gradient(135deg,var(--primary-500)0%,var(--primary-600)100%);color:#fff;box-shadow:var(--shadow-sm)}.btn-primary:hover{background:linear-gradient(135deg,var(--primary-600)0%,var(--primary-700)100%);box-shadow:var(--shadow-md),var(--shadow-glow);transform:translateY(-2px)}.btn-secondary{background:var(--surface-raised);border-color:var(--border-default);color:var(--text-primary)}.btn-secondary:hover{background:var(--surface-interactive);border-color:var(--border-strong);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.btn-danger{color:#fff;box-shadow:var(--shadow-sm);background:linear-gradient(135deg,#ef4444 0%,#dc2626 100%)}.btn-danger:hover{box-shadow:var(--shadow-md),0 0 20px #ef444433;background:linear-gradient(135deg,#dc2626 0%,#b91c1c 100%);transform:translateY(-2px)}
