@import"https://fonts.googleapis.com/css2?family=Sora:wght@400;500;600;700&display=swap";@import"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700&display=swap";@import"https://fonts.googleapis.com/icon?family=Material+Icons";html,body,#root{height:100%;width:100%;margin:0;padding:0}:root{--ui-primary: #2c5aa0;--ui-primary-hover: #1e3f6f;--ui-secondary: #6c757d;--ui-success: #28a745;--ui-warning: #ffc107;--ui-danger: #dc3545;--ui-info: #17a2b8;--ui-light: #f8f9fa;--ui-dark: #343a40;--grove-primary: #2c5aa0;--grove-primary-hover: #1e3f6f;--grove-secondary: #6c757d;--grove-success: #28a745;--grove-warning: #ffc107;--grove-danger: #dc3545;--grove-info: #17a2b8;--grove-light: #f8f9fa;--grove-dark: #343a40;--grove-selection: #ff6b35;--grove-selection-glow: rgba(255, 107, 53, .4);--grove-selection-strong: rgba(255, 107, 53, .6);--grove-highlight-color: #ff6b6b;--grove-highlight-glow: rgba(255, 107, 107, .4);--grove-critical-glow: rgba(255, 107, 107, .6);--grove-edge-color: #0077be;--grove-edge-color-hover: #005a8b;--grove-edge-color-active: #004466;--grove-edge-thickness: 4px;--grove-edge-thickness-hover: 5px;--grove-arrowhead-size: 12px;--grove-arrowhead-color: var(--grove-edge-color);--grove-edge-glow-color: rgba(0, 119, 190, .4);--grove-edge-glow-blur: 3px}.grove-app{display:flex;flex-direction:column;height:100vh;width:100vw;min-height:0;min-width:0}.grove-main{flex:1;min-height:0;min-width:0;position:relative}.grove-main.panel-resizing .viewport-controls,.grove-main.panel-resizing .viewport-selection-pill,.grove-main.panel-resizing .viewport-bottom-bar,.grove-main.panel-resizing .viewport-report-pill,.grove-main.panel-resizing .viewport-expansion-pill{transition:none}.site-navigation{display:flex;justify-content:space-between;align-items:center;padding:0 24px;height:64px;background-color:var(--ui-bg-primary);border-bottom:1px solid var(--ui-border);box-shadow:0 2px 4px #0000001a;position:relative}.nav-left{display:flex;align-items:center;gap:32px}.grove-logo{display:flex;align-items:center;gap:0;cursor:pointer;background:none;border:none;padding:4px 8px;border-radius:6px;transition:background-color .2s ease}.grove-logo:hover{background-color:var(--grove-bg-muted)}.grove-logo-tree{position:relative;width:28px;height:36px;flex-shrink:0}.grove-logo-tree svg{width:100%;height:100%;color:var(--grove-primary);transition:color .3s ease,transform .3s ease;position:absolute;bottom:-2px;left:0;transform-origin:50% 100%}.grove-logo:hover .grove-logo-tree svg{transform:scale(1.04)}.grove-logo-text{font-family:Libre Baskerville,Georgia,serif;font-size:22px;font-weight:400;letter-spacing:.01em;line-height:1;padding-left:2px;color:var(--grove-text-primary);transition:color .3s ease}.nav-links{display:flex;align-items:center;gap:24px}.nav-link{text-decoration:none;color:var(--grove-text-secondary, #9ca3af);font-weight:var(--font-medium, 500);font-size:var(--text-base, 14px);padding:6px 12px;border-radius:var(--radius-sm, 4px);transition:color var(--transition-base, .15s ease),background-color var(--transition-base, .15s ease)}.nav-link:hover{color:var(--grove-text-primary, #f3f4f6);background-color:#ffffff14}.theme-light .nav-link{color:var(--grove-text-secondary, #6b7280)}.theme-light .nav-link:hover{color:var(--grove-text-primary, #1f2937);background-color:#0000000f}.nav-link.active{color:var(--grove-primary, #2c5aa0);background-color:color-mix(in srgb,var(--grove-primary, #2c5aa0) 12%,transparent)}.nav-separator{width:1px;height:20px;background:var(--grove-border-light, #444);margin:0 4px}.workspace-indicator{display:flex;align-items:center;gap:6px;padding:6px 12px;border:none;border-radius:var(--radius-sm, 4px);background:transparent;color:var(--grove-text-secondary, #9ca3af);font-size:var(--text-base, 14px);font-weight:var(--font-medium, 500);cursor:pointer;transition:color var(--transition-base, .15s ease),background-color var(--transition-base, .15s ease);max-width:200px}.workspace-indicator:hover{color:var(--grove-text-primary, #f3f4f6);background-color:#ffffff14}.theme-light .workspace-indicator{color:var(--grove-text-secondary, #6b7280)}.theme-light .workspace-indicator:hover{color:var(--grove-text-primary, #1f2937);background-color:#0000000f}.workspace-indicator .material-icons.workspace-indicator-icon{font-size:18px!important;flex-shrink:0}.workspace-indicator-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workspace-breadcrumb{display:flex;align-items:center;gap:6px;padding:6px 12px;border:none;border-radius:var(--radius-sm, 4px);background:transparent;color:var(--grove-text-secondary, #9ca3af);font-size:var(--text-base, 14px);font-weight:var(--font-medium, 500);cursor:pointer;transition:color var(--transition-base, .15s ease),background-color var(--transition-base, .15s ease);max-width:320px}.workspace-breadcrumb:hover{color:var(--grove-text-primary, #f3f4f6);background-color:#ffffff14}.theme-light .workspace-breadcrumb{color:var(--grove-text-secondary, #6b7280)}.theme-light .workspace-breadcrumb:hover{color:var(--grove-text-primary, #1f2937);background-color:#0000000f}.breadcrumb-prefix{opacity:.7;white-space:nowrap}.breadcrumb-separator{opacity:.4;font-weight:300}.breadcrumb-current{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-center{position:absolute;left:50%;transform:translate(-50%);height:100%;display:flex;align-items:flex-end}.nav-right{display:flex;align-items:center;gap:16px}.theme-selector{display:flex;align-items:center;gap:8px}.theme-selector label{font-size:14px;font-weight:500;color:#666}.theme-select{padding:6px 12px;border:1px solid #e0e0e0;border-radius:6px;background:#fff;font-size:14px;color:#333;cursor:pointer;transition:all .2s ease}.theme-select:hover{border-color:#999}.theme-select:focus{outline:none;border-color:#2c5aa0;box-shadow:0 0 0 2px #2c5aa01a}.user-profile-button{background:none;border:none;cursor:pointer;padding:4px;border-radius:50%;transition:background-color .2s ease}.user-profile-button:hover{background-color:#f5f5f5}.user-avatar{position:relative;width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:14px;box-shadow:0 2px 4px #0000001a}.user-avatar-status{position:absolute;bottom:0;right:0;width:12px;height:12px;border-radius:50%;border:2px solid var(--grove-bg-primary, white);transition:background-color .3s ease}.user-avatar-status.connected{background-color:var(--grove-success, #22c55e)}.user-avatar-status.disconnected{background-color:var(--grove-danger, #ef4444)}.dropdown{position:absolute;top:100%;margin-top:var(--space-sm, 8px);background:var(--grove-bg-primary, white);border-radius:var(--radius-lg, 8px);box-shadow:var(--shadow-lg, 0 8px 24px rgba(0, 0, 0, .15));border:1px solid var(--grove-border-light, #e5e7eb);z-index:var(--z-popover, 1000);overflow:hidden;animation:fadeInScale var(--transition-base, .15s) ease-out}.dropdown-left{left:0}.dropdown-right{right:0}.dropdown-menu{min-width:200px}.user-dropdown{position:absolute;top:100%;right:0;margin-top:var(--space-sm, 8px);background:var(--grove-bg-primary, white);border-radius:var(--radius-lg, 8px);box-shadow:var(--shadow-lg, 0 8px 24px rgba(0, 0, 0, .15));border:1px solid var(--grove-border-light, #e5e7eb);min-width:240px;z-index:var(--z-popover, 1000);overflow:hidden;animation:fadeInScale var(--transition-base, .15s) ease-out}.user-info{display:flex;align-items:center;padding:var(--space-md, 16px);gap:var(--space-md, 12px);background-color:var(--grove-bg-secondary, #f8f9fa)}.user-avatar-large{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:var(--font-semibold, 600);font-size:var(--text-xl, 18px)}.user-name{font-weight:var(--font-semibold, 600);color:var(--grove-text-primary, #1a1a1a);margin-bottom:2px}.user-email{font-size:var(--text-sm, 12px);color:var(--grove-text-secondary, #6b7280)}.dropdown-divider{height:1px;background-color:var(--grove-border-light, #e5e7eb);margin:var(--space-xs, 4px) 0}.dropdown-item{display:block;padding:var(--space-md, 12px) var(--space-md, 16px);text-decoration:none;color:var(--grove-text-primary, #1a1a1a);font-size:var(--text-base, 14px);transition:all var(--transition-base, .15s ease);cursor:pointer;border:none;background:none;width:100%;text-align:left}.dropdown-item:hover:not(:disabled){background-color:var(--grove-bg-secondary, #f3f4f6)}.dropdown-item:active:not(:disabled){background-color:var(--grove-bg-muted, #e5e7eb)}.dropdown-item:disabled{opacity:.5;cursor:not-allowed}.dropdown-section{padding:var(--space-sm, 8px) var(--space-md, 16px)}.dropdown-section-label{font-size:11px;font-weight:600;color:var(--grove-text-muted, #6b7280);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--space-sm, 8px)}.dropdown-section-content{display:flex;align-items:center;gap:var(--space-sm, 8px)}.dropdown-select{flex:1;padding:6px 10px;border-radius:6px;border:1px solid var(--grove-border-light, #e5e7eb);background:var(--grove-bg-secondary, #f9fafb);color:var(--grove-text-primary, #1f2937);font-size:13px;cursor:pointer;transition:border-color .15s ease}.dropdown-select:hover{border-color:var(--grove-border-medium, #d1d5db)}.dropdown-select:focus{outline:none;border-color:var(--grove-primary, #667eea)}.dropdown-toggle-group{display:flex;border-radius:6px;border:1px solid var(--grove-border-light, #e5e7eb);overflow:hidden}.dropdown-toggle-btn{padding:6px 10px;border:none;background:var(--grove-bg-secondary, #f9fafb);color:var(--grove-text-primary, #1f2937);font-size:13px;cursor:pointer;transition:background .15s ease,color .15s ease}.dropdown-toggle-btn:not(:last-child){border-right:1px solid var(--grove-border-light, #e5e7eb)}.dropdown-toggle-btn:hover:not(.active){background:var(--grove-bg-muted, #f3f4f6)}.dropdown-toggle-btn.active{background:var(--grove-primary, #667eea);color:#fff}.file-menu-button{background:none;border:none;margin:0;cursor:pointer}.file-menu-item{display:flex;align-items:center;gap:12px}.file-menu-item .material-icons{font-size:18px;color:var(--grove-text-muted, #666);transition:color var(--transition-base, .2s ease)}.file-menu-item:hover .material-icons{color:var(--grove-text-primary, #333)}.grove-dropdown{min-width:260px;padding:8px 0}.grove-dropdown-item{font-size:16px;font-weight:500;padding:16px 24px;transition:all .2s ease;position:relative;overflow:hidden}.grove-dropdown-item:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--grove-primary);transform:translate(-100%);transition:transform .2s ease}.grove-dropdown-item:hover{background:linear-gradient(to right,color-mix(in srgb,var(--grove-primary) 8%,transparent),color-mix(in srgb,var(--grove-primary) 4%,transparent));color:var(--grove-primary);padding-left:32px}.grove-dropdown-item:hover:before{transform:translate(0)}.viewport{flex:1;background-color:var(--grove-viewport-bg, #ffffff);position:relative;overflow:hidden;cursor:default}.viewport-container{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;overflow:hidden;z-index:1}.viewport-bottom-bar{position:absolute;bottom:var(--space-lg, 20px);left:calc(var(--left-panel-width, 0px) + (100% - var(--left-panel-width, 0px) - var(--right-panel-width, 0px)) / 2);transform:translate(-50%);display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:12px;z-index:var(--z-dropdown, 100);pointer-events:none;transition:left .3s cubic-bezier(.4,0,.2,1)}.viewport-bottom-bar>*{pointer-events:auto}.viewport-controls{position:relative;display:flex;flex-direction:row;align-items:center;gap:var(--space-xs, 4px);background:color-mix(in srgb,var(--grove-bg-primary, #ffffff) 92%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--grove-border-light, #e5e7eb);border-radius:999px;padding:var(--space-xs, 4px) var(--space-sm, 8px);box-shadow:0 2px 8px #00000014,0 1px 2px #0000000a;box-sizing:border-box}.viewport-control-btn{width:32px;height:32px;border:none;background:transparent;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s ease,transform .15s ease}.viewport-control-btn .material-icons{font-size:18px;color:var(--grove-text-secondary, #6b7280);transition:color .15s ease}.viewport-control-btn:hover{background:var(--grove-bg-tertiary, rgba(0, 0, 0, .06))}.viewport-control-btn:hover .material-icons{color:var(--grove-text-primary, #1a1a1a)}.viewport-control-btn:active{transform:scale(.92)}.viewport-control-separator{width:1px;height:20px;background:var(--grove-border-light, #e5e7eb);margin:0 var(--space-xs, 4px)}.viewport-zoom-display{font-size:var(--text-xs, 11px);font-weight:var(--font-semibold, 600);color:var(--grove-text-secondary, #6b7280);text-align:center;padding:6px 10px;background:transparent;border:none;border-radius:999px;min-width:44px;cursor:pointer;transition:background .15s ease,color .15s ease}.viewport-zoom-display:hover{background:var(--grove-bg-tertiary, rgba(0, 0, 0, .06));color:var(--grove-text-primary, #1a1a1a)}.theme-dark .viewport-controls{background:color-mix(in srgb,var(--grove-bg-primary, #1a1a1a) 85%,transparent);border-color:var(--grove-border-medium, #3a3a3a);box-shadow:0 2px 12px #0000004d,0 1px 4px #0003}.theme-dark .viewport-control-btn:hover,.theme-dark .viewport-zoom-display:hover{background:#ffffff14}.viewport-report-pill{display:flex;align-items:center;gap:6px;background:color-mix(in srgb,var(--grove-bg-primary, #ffffff) 92%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--grove-border-light, #e5e7eb);border-radius:999px;box-shadow:0 2px 8px #00000014,0 1px 2px #0000000a;color:var(--grove-text-secondary, #6b7280);font-size:13px;font-weight:500;cursor:pointer;white-space:nowrap;overflow:hidden;transition:max-width .3s cubic-bezier(.4,0,.2,1),padding .3s cubic-bezier(.4,0,.2,1),opacity .25s cubic-bezier(.4,0,.2,1),border-width .3s cubic-bezier(.4,0,.2,1),margin .3s cubic-bezier(.4,0,.2,1),background .15s ease,color .15s ease}.viewport-report-pill.visible{max-width:200px;padding:8px 14px;opacity:1}.viewport-report-pill.hidden{max-width:0;padding:0;opacity:0;border-width:0;pointer-events:none;margin:0 -6px}.viewport-report-pill:hover{color:var(--grove-text-primary, #1a1a1a);background:color-mix(in srgb,var(--grove-bg-primary, #ffffff) 98%,transparent)}.viewport-pill-icon{font-size:18px!important}.theme-dark .viewport-report-pill{background:color-mix(in srgb,var(--grove-bg-primary, #1a1a1a) 85%,transparent);border-color:var(--grove-border-medium, #3a3a3a);box-shadow:0 2px 12px #0000004d,0 1px 4px #0003}.theme-dark .viewport-report-pill:hover{background:#ffffff14}@keyframes report-pulse-glow{0%,to{box-shadow:0 0 8px 3px #3b82f661,0 0 15px 5px #3b82f630}50%{box-shadow:0 0 12px 5px #3b82f6a1,0 0 25px 10px #3b82f64f}}.viewport-report-pill--unread{background:color-mix(in srgb,var(--grove-primary, #2c5aa0) 12%,var(--grove-bg-primary, #ffffff));border-color:color-mix(in srgb,var(--grove-primary, #2c5aa0) 40%,transparent);color:var(--grove-primary, #2c5aa0);animation:report-pulse-glow 2s ease-in-out infinite}.viewport-report-pill--unread:hover{background:color-mix(in srgb,var(--grove-primary, #2c5aa0) 18%,var(--grove-bg-primary, #ffffff));animation:none;box-shadow:0 0 12px 5px #3b82f6a1,0 0 25px 10px #3b82f64f}.theme-dark .viewport-report-pill--unread{background:color-mix(in srgb,var(--grove-primary, #2c5aa0) 20%,var(--grove-bg-primary, #1a1a1a));border-color:#60a5fa80;color:#93c5fde6}@keyframes report-pulse-glow-dark{0%,to{box-shadow:0 0 8px 3px #60a5fa61,0 0 15px 5px #60a5fa30}50%{box-shadow:0 0 12px 5px #60a5faa1,0 0 25px 10px #60a5fa4f}}.theme-dark .viewport-report-pill--unread{animation:report-pulse-glow-dark 2s ease-in-out infinite}.theme-dark .viewport-report-pill--unread:hover{background:color-mix(in srgb,var(--grove-primary, #2c5aa0) 28%,var(--grove-bg-primary, #1a1a1a));animation:none;box-shadow:0 0 12px 5px #60a5faa1,0 0 25px 10px #60a5fa4f}.viewport-expansion-pill{display:flex;flex-direction:row;align-items:center;gap:4px;background:color-mix(in srgb,var(--grove-bg-primary, #ffffff) 92%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--grove-border-light, #e5e7eb);border-radius:16px;box-shadow:0 2px 8px #00000014,0 1px 2px #0000000a;box-sizing:border-box;overflow:hidden;transition:max-width .3s cubic-bezier(.4,0,.2,1),padding .3s cubic-bezier(.4,0,.2,1),opacity .25s cubic-bezier(.4,0,.2,1),border-width .3s cubic-bezier(.4,0,.2,1),margin .3s cubic-bezier(.4,0,.2,1)}.viewport-expansion-pill.visible{max-width:360px;padding:6px 12px;opacity:1}.viewport-expansion-pill.hidden{max-width:0;padding:0;opacity:0;border-width:0;pointer-events:none;margin:0 -6px}.viewport-expansion-depth{display:flex;flex-direction:column;align-items:center;gap:2px}.viewport-expansion-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--grove-text-secondary, #6b7280);white-space:nowrap}.viewport-expansion-separator{height:28px;width:1px;margin:0 2px}.viewport-autozoom-toggle{display:flex;flex-direction:column;align-items:center;gap:2px;background:none;border:none;padding:4px 6px;border-radius:var(--radius-md, 6px);cursor:pointer;transition:background .15s ease}.viewport-autozoom-toggle:hover{background:var(--grove-bg-tertiary, rgba(0, 0, 0, .06))}.viewport-autozoom-toggle:active{transform:scale(.95)}.viewport-autozoom-icon{font-size:18px!important;color:var(--grove-text-secondary, #6b7280);transition:color .15s ease}.viewport-autozoom-toggle:hover .viewport-autozoom-icon{color:var(--grove-text-primary, #1a1a1a)}.viewport-autozoom-label{font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--grove-text-secondary, #6b7280);white-space:nowrap;transition:color .15s ease}.viewport-autozoom-toggle.active{background:color-mix(in srgb,var(--grove-accent-primary, #2c5aa0) 15%,transparent)}.viewport-autozoom-toggle.active .viewport-autozoom-icon,.viewport-autozoom-toggle.active .viewport-autozoom-label{color:var(--grove-accent-primary, #2c5aa0)}.viewport-expansion-slider-row{display:flex;align-items:center;gap:4px;position:relative}.viewport-expansion-btn{display:flex;align-items:center;justify-content:center;background:none;border:none;padding:2px;border-radius:50%;cursor:pointer;transition:background .15s ease}.viewport-expansion-btn:hover{background:var(--grove-bg-tertiary, rgba(0, 0, 0, .06))}.viewport-expansion-btn:active{transform:scale(.92)}.viewport-expansion-icon{font-size:16px!important;color:var(--grove-text-secondary, #6b7280);transition:color .15s ease}.viewport-expansion-btn:hover .viewport-expansion-icon{color:var(--grove-text-primary, #1a1a1a)}.viewport-expansion-slider-wrap{position:relative;width:80px;height:16px;display:flex;align-items:center}.viewport-expansion-ticks{position:absolute;top:0;bottom:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:0 1px;pointer-events:none;z-index:0}.viewport-expansion-tick{width:1.5px;height:10px;border-radius:1px;background:var(--grove-border-medium, #d1d5db)}.theme-dark .viewport-expansion-tick{background:var(--grove-border-medium, #4b5563)}.viewport-expansion-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:80px;height:4px;border-radius:2px;background:var(--grove-border-light, #e5e7eb);outline:none;cursor:pointer;position:relative;z-index:1}.viewport-expansion-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:var(--grove-primary, #3b82f6);border:2px solid white;box-shadow:0 1px 3px #0003;cursor:pointer}.viewport-expansion-slider::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--grove-primary, #3b82f6);border:2px solid white;box-shadow:0 1px 3px #0003;cursor:pointer}.theme-dark .viewport-expansion-pill{background:color-mix(in srgb,var(--grove-bg-primary, #1a1a1a) 85%,transparent);border-color:var(--grove-border-medium, #3a3a3a);box-shadow:0 2px 12px #0000004d,0 1px 4px #0003}.theme-dark .viewport-expansion-slider{background:var(--grove-border-medium, #3a3a3a)}.theme-dark .viewport-expansion-slider::-webkit-slider-thumb{border-color:var(--grove-bg-primary, #1a1a1a)}.theme-dark .viewport-expansion-slider::-moz-range-thumb{border-color:var(--grove-bg-primary, #1a1a1a)}.theme-dark .viewport-expansion-btn:hover,.theme-dark .viewport-autozoom-toggle:hover{background:#ffffff14}.theme-dark .viewport-autozoom-toggle.active{background:color-mix(in srgb,var(--grove-accent-primary, #60a5fa) 20%,transparent)}.theme-dark .viewport-autozoom-toggle.active .viewport-autozoom-icon,.theme-dark .viewport-autozoom-toggle.active .viewport-autozoom-label{color:var(--grove-accent-primary, #60a5fa)}.help-widget{position:absolute;z-index:9999;pointer-events:auto}.help-widget.bottom-left{bottom:20px;left:20px}.help-widget.above-plus{bottom:94px;right:30px}.help-widget.menubar{position:relative;z-index:10;margin-right:12px}.help-widget-toggle{width:36px;height:36px;border-radius:50%;background:var(--ui-bg-primary);border:1px solid var(--ui-border);color:var(--ui-text-secondary);font-size:16px;font-weight:700;cursor:pointer;box-shadow:0 2px 4px #0000001a;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.help-widget-toggle:hover{background:var(--ui-bg-secondary);transform:scale(1.05);box-shadow:0 3px 6px #00000026}.help-widget-toggle:active{transform:scale(.95)}.theme-dark .help-widget-toggle{background:var(--grove-bg-primary);border-color:var(--grove-border-light);color:var(--grove-text-secondary)}.theme-dark .help-widget-toggle:hover{background:var(--grove-bg-secondary)}.viewport-controls-overlay{pointer-events:auto}.viewport-selection-pill{display:flex;flex-direction:row;align-items:center;gap:var(--space-xs, 4px);background:color-mix(in srgb,var(--grove-bg-primary, #ffffff) 92%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--grove-border-light, #e5e7eb);border-radius:999px;box-shadow:0 2px 8px #00000014,0 1px 2px #0000000a;overflow:hidden;transition:max-width .3s cubic-bezier(.4,0,.2,1),padding .3s cubic-bezier(.4,0,.2,1),opacity .25s cubic-bezier(.4,0,.2,1),border-width .3s cubic-bezier(.4,0,.2,1),margin .3s cubic-bezier(.4,0,.2,1)}.viewport-selection-pill.visible{max-width:250px;padding:var(--space-xs, 4px) var(--space-xs, 4px) var(--space-xs, 4px) var(--space-sm, 12px);opacity:1}.viewport-selection-pill.hidden{max-width:0;padding:0;opacity:0;border-width:0;pointer-events:none;margin:0 -6px}.selection-pill-count{font-size:var(--text-xs, 11px);font-weight:var(--font-semibold, 600);color:var(--grove-text-secondary, #6b7280);white-space:nowrap;padding:0 var(--space-xs, 4px);-webkit-user-select:none;user-select:none}.selection-pill-btn--danger:hover .material-icons{color:var(--grove-status-blocked, #ef4444)}.selection-pill-btn--danger:hover{background:color-mix(in srgb,var(--grove-status-blocked, #ef4444) 10%,transparent)}.theme-dark .viewport-selection-pill{background:color-mix(in srgb,var(--grove-bg-primary, #1a1a1a) 85%,transparent);border-color:var(--grove-border-medium, #3a3a3a);box-shadow:0 2px 12px #0000004d,0 1px 4px #0003}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000;animation:fadeIn .2s ease-out}.theme-dark .modal-overlay{background-color:#000000b3}.modal{background:var(--grove-bg-primary, white);border-radius:var(--radius-xl, 16px);box-shadow:var(--shadow-xl, 0 8px 32px rgba(0, 0, 0, .2));border:1px solid var(--grove-border-light, transparent);padding:var(--space-lg, 24px);max-width:400px;width:90%;animation:slideIn .25s cubic-bezier(.4,0,.2,1)}.theme-dark .modal{box-shadow:0 12px 40px #00000080}.modal h3{margin:0 0 var(--space-md, 16px) 0;color:var(--grove-text-primary, #333);font-size:var(--text-lg, 16px);font-weight:var(--font-semibold, 600)}.modal-content{margin-bottom:var(--space-lg, 24px)}.modal-content p{margin:0 0 var(--space-sm, 12px) 0;color:var(--grove-text-secondary, #666);font-size:var(--text-base, 14px);line-height:1.5}.modal-actions{display:flex;gap:var(--space-sm, 12px);justify-content:flex-end}.modal-cancel,.modal-confirm{padding:var(--space-sm, 10px) var(--space-md, 20px);border-radius:var(--radius-md, 8px);font-size:var(--text-base, 14px);font-weight:var(--font-medium, 500);cursor:pointer;transition:all var(--transition-base, .2s ease);border:none}.modal-cancel{background:var(--grove-bg-secondary, #f8f9fa);color:var(--grove-text-secondary, #666);border:1px solid var(--grove-border-light, #e0e0e0)}.modal-cancel:hover{background:var(--grove-bg-tertiary, #e9ecef);border-color:var(--grove-border, #ccc)}.modal-confirm{background:var(--grove-primary, #5e81ac);color:#fff}.modal-confirm:hover{background:var(--grove-primary-hover, #81a1c1)}.modal-confirm-danger{background:var(--grove-status-blocked, #dc2626)}.modal-confirm-danger:hover{background:color-mix(in srgb,var(--grove-status-blocked, #dc2626) 85%,black)}.delete-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000;animation:fadeIn .2s ease-out}.theme-dark .delete-modal-overlay{background-color:#000000b3}.delete-modal{background:var(--grove-bg-primary, white);border-radius:var(--radius-xl, 16px);box-shadow:var(--shadow-xl, 0 8px 32px rgba(0, 0, 0, .2));border:1px solid var(--grove-border-light, transparent);padding:var(--space-lg, 24px);max-width:400px;width:90%;animation:slideIn .25s cubic-bezier(.4,0,.2,1)}.theme-dark .delete-modal{box-shadow:0 12px 40px #00000080}.delete-modal h3{margin:0 0 var(--space-md, 16px) 0;color:var(--grove-status-blocked, #dc2626);font-size:var(--text-lg, 16px);font-weight:var(--font-semibold, 600)}.delete-modal-content{margin-bottom:var(--space-lg, 24px)}.delete-modal-content p{margin:0 0 var(--space-sm, 12px) 0;color:var(--grove-text-secondary, #666);font-size:var(--text-base, 14px);line-height:1.5}.delete-node-list{list-style:none;padding:0;margin:0;background:var(--grove-bg-secondary, #f8f9fa);border-radius:var(--radius-md, 8px);padding:var(--space-sm, 12px);max-height:120px;overflow-y:auto}.delete-node-item{padding:4px 0;font-size:var(--text-base, 14px);color:var(--grove-text-primary, #333);border-bottom:1px solid var(--grove-border-light, #e0e0e0)}.delete-node-item:last-child{border-bottom:none}.delete-modal-actions{display:flex;gap:var(--space-sm, 12px);justify-content:flex-end}.delete-modal-cancel,.delete-modal-confirm{padding:var(--space-sm, 10px) var(--space-md, 20px);border-radius:var(--radius-md, 8px);font-size:var(--text-base, 14px);font-weight:var(--font-medium, 500);cursor:pointer;transition:all var(--transition-base, .2s ease);border:none}.delete-modal-cancel{background:var(--grove-bg-secondary, #f8f9fa);color:var(--grove-text-secondary, #666);border:1px solid var(--grove-border-light, #e0e0e0)}.delete-modal-cancel:hover{background:var(--grove-bg-tertiary, #e9ecef);border-color:var(--grove-border, #ccc)}.delete-modal-confirm{background:var(--grove-status-blocked, #dc2626);color:#fff}.delete-modal-confirm:hover{background:color-mix(in srgb,var(--grove-status-blocked, #dc2626) 85%,black)}.delete-modal-confirm:active{transform:translateY(1px)}.delete-warning{display:flex;align-items:flex-start;gap:var(--space-sm, 8px);padding:var(--space-sm, 12px);margin-bottom:var(--space-md, 16px);background:color-mix(in srgb,var(--grove-status-at-risk, #f59e0b) 15%,transparent);border:1px solid color-mix(in srgb,var(--grove-status-at-risk, #f59e0b) 40%,transparent);border-radius:var(--radius-md, 8px);font-size:var(--text-sm, 13px);color:var(--grove-text-primary, #333)}.delete-warning .warning-icon{flex-shrink:0;font-size:var(--text-base, 14px)}.theme-dark .delete-warning{background:color-mix(in srgb,var(--grove-status-at-risk, #f59e0b) 20%,transparent);border-color:color-mix(in srgb,var(--grove-status-at-risk, #f59e0b) 50%,transparent)}.descendant-count{color:var(--grove-text-tertiary, #999);font-size:var(--text-sm, 12px)}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.graph-renderer{width:100%;height:100%;position:absolute;top:0;left:0;z-index:1;pointer-events:none}.graph-renderer svg{width:100%;height:100%;background-color:transparent}.selection-badge{position:absolute;top:-8px;left:-8px;width:20px;height:20px;background:var(--grove-selection);border-radius:50%;border:2px solid white;box-shadow:0 2px 4px #0003;z-index:100;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:#fff;cursor:pointer;transition:all .2s ease;-webkit-user-select:none;user-select:none;pointer-events:auto}.selection-badge:hover{background:var(--grove-selection);transform:scale(1.1);filter:brightness(.9)}.selection-badge-large{width:24px;height:24px;font-size:13px;position:relative;top:auto;left:auto}.selection-badge-x{font-size:16px;line-height:1;font-weight:400;display:flex;align-items:center;justify-content:center;margin-top:-1px}.selection-badge-large .selection-badge-x{font-size:18px}.node{transition:all .2s ease}.node:hover{transform:scale(1.02)}.node.selected .node-background{stroke:#1976d2;stroke-width:3;fill:#e3f2fd}.node-background{transition:all .2s ease}.node-label,.node-duration{pointer-events:none;-webkit-user-select:none;user-select:none}.grove-edge-container{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:auto;z-index:1}.grove-edge-container.selected{z-index:10}.grove-edge-container.selected .grove-edge{filter:drop-shadow(0 0 8px rgba(25,118,210,.6))}.edge,.virtual-edge{transition:all .2s ease}.edge.selected .edge-line{stroke:#1976d2;stroke-width:3}.edge.selected .edge-arrow{fill:#1976d2}.virtual-edge.selected .edge-line{stroke:#1976d2;stroke-width:3}.virtual-edge.selected .edge-arrow{fill:#1976d2}.edge-line,.edge-arrow{transition:all .2s ease}.error-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.error-message{background-color:#fff;padding:24px;border-radius:8px;box-shadow:0 4px 12px #00000026;max-width:400px;text-align:center}.error-message h3{margin:0 0 12px;color:#d32f2f}.error-message p{margin:0 0 16px;color:#666}.error-message button{background-color:#1976d2;color:#fff;border:none;padding:8px 16px;border-radius:4px;cursor:pointer;font-size:14px}.error-message button:hover{background-color:#1565c0}.right-panel{background-color:var(--ui-bg-secondary, #f8f9fa);display:flex;flex-direction:column;height:100%}.chat-interface{display:flex;flex-direction:column;height:100%;padding:0}.markdown-content{font-size:var(--text-base, 14px);line-height:1.4;color:inherit}.markdown-content p{margin:0 0 .25em}.markdown-content p:last-child{margin-bottom:0}.markdown-content ul,.markdown-content ol{margin:.25em 0;padding-left:1.5em}.markdown-content li{margin:.1em 0}.markdown-content h1,.markdown-content h2,.markdown-content h3,.markdown-content h4{margin:.3em 0 .15em;font-weight:600}.markdown-content h1{font-size:1.2em}.markdown-content h2{font-size:1.1em}.markdown-content h3{font-size:1em}.markdown-content code{background:var(--grove-bg-secondary, #f3f4f6);padding:2px var(--space-xs, 4px);border-radius:var(--radius-sm, 3px);font-family:Monaco,Menlo,monospace;font-size:.9em}.markdown-content pre{background:var(--grove-bg-secondary, #f3f4f6);padding:var(--space-sm, 6px);border-radius:var(--radius-sm, 4px);overflow-x:auto;margin:.25em 0}.markdown-content pre code{background:none;padding:0}.markdown-content strong{font-weight:var(--font-semibold, 600)}.markdown-content em{font-style:italic}.markdown-content blockquote{border-left:3px solid var(--grove-border-light, #e5e7eb);padding-left:1em;margin:.25em 0;color:var(--grove-text-secondary, #6b7280)}.chat-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-md, 16px) var(--space-lg, 20px);border-bottom:1px solid var(--grove-border-light, #e5e7eb);background:var(--grove-bg-primary, white)}.chat-header h3{margin:0;font-size:var(--text-xl, 18px);font-weight:var(--font-semibold, 600);color:var(--grove-text-primary, #1a1a1a);display:flex;align-items:center;gap:var(--space-sm, 8px)}.chat-header-buttons{display:flex;gap:var(--space-sm, 8px)}.chat-header-button{width:32px;height:32px;border:none;background:transparent;color:var(--grove-text-secondary, #6b7280);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md, 6px);transition:all var(--transition-base, .15s ease)}.chat-header-button:hover{background:var(--grove-bg-secondary, #f3f4f6);color:var(--grove-text-primary, #1a1a1a)}.chat-header-button:active{transform:scale(.95)}.chat-header-button .material-icons{font-size:20px;transition:transform var(--transition-spring, .2s cubic-bezier(.34, 1.56, .64, 1))}.chat-header-button:hover .material-icons{transform:scale(1.1)}.loading-dots{display:inline-block}.loading-dots span{display:inline-block;animation:loading-dot 1.4s infinite ease-in-out both;font-size:20px;color:#6b7280}.loading-dots span:nth-child(1){animation-delay:-.32s}.loading-dots span:nth-child(2){animation-delay:-.16s}.chat-status{display:flex;align-items:center;gap:var(--space-sm, 6px);font-size:var(--text-sm, 13px);color:var(--grove-text-secondary, #6b7280)}.status-dot{width:8px;height:8px;background:var(--grove-success, #4ade80);border-radius:50%}.chat-input-form{display:flex;gap:var(--space-sm, 8px);padding:var(--space-md, 16px);background:var(--grove-bg-primary, white);border-top:1px solid var(--grove-border-light, #e5e7eb);align-items:flex-end}.chat-input{flex:1;padding:var(--space-sm, 10px) var(--space-md, 14px);border:1px solid var(--grove-border-light, #e5e7eb);border-radius:var(--radius-full, 24px);font-size:var(--text-base, 14px);outline:none;transition:all var(--transition-base, .15s ease);resize:none;min-height:40px;max-height:200px;overflow-y:hidden;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.4}.chat-input:hover{border-color:var(--grove-border-medium, #d1d5db)}.chat-input:focus{border-color:var(--grove-primary);box-shadow:var(--shadow-glow-primary, 0 0 0 3px rgba(29, 78, 216, .15))}.chat-send-button{width:40px;height:40px;border-radius:50%;border:none;background:var(--grove-primary);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-base, .15s ease)}.chat-send-button:hover:not(:disabled){background:var(--grove-primary-hover);transform:scale(1.05);box-shadow:var(--shadow-md, 0 4px 12px rgba(0, 0, 0, .15))}.chat-send-button:active:not(:disabled){transform:scale(.98)}.chat-send-button:disabled{background:var(--grove-border-medium, #d1d5db);cursor:not-allowed}.chat-send-button .material-icons{font-size:20px;transition:transform var(--transition-spring, .2s cubic-bezier(.34, 1.56, .64, 1))}.chat-send-button:hover:not(:disabled) .material-icons{transform:translate(1px)}.chat-stop-button{background:var(--grove-danger, #ef4444)}.chat-stop-button:hover{background:#dc2626;transform:scale(1.05)}.chat-message.system{align-items:flex-start;margin:1px 0}.system-message{display:flex;align-items:center;gap:8px;color:#6b7280;font-size:14px;padding:1px 0}.system-icon{font-size:16px;min-width:20px}.system-text{opacity:.8}.chat-message.context-reset{align-items:stretch;margin:12px 0}.context-reset-bar{width:100%;background:#fff5f5;border:1px solid #fed7d7;border-radius:8px;padding:12px 16px;display:flex;align-items:center;gap:10px}.context-reset-icon{color:#f56565;font-size:18px;min-width:20px}.context-reset-text{color:#c53030;font-size:13px;line-height:1.4;flex:1}.chat-message.type-thinking .system-text{color:#9333ea}.chat-message.type-tool_call .system-text{color:#0ea5e9}.chat-message.type-tool_result .system-text{color:#10b981}.chat-message.type-analysis .system-text{color:#f59e0b}.tool-name-prefix{color:#6b7280;font-weight:500}.tool-status-success{color:#10b981;font-weight:700;margin-left:4px}.tool-status-error{color:#ef4444;font-weight:700;margin-left:4px}.tool-error-text{color:#ef4444;font-size:13px;margin-top:4px;margin-left:28px;opacity:.9}.node-details-card,.task-details-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:20px;margin:8px 8px 16px;transition:all .2s ease;border:1px solid #e0e0e0;position:relative}.node-details-card:hover,.task-details-card:hover{box-shadow:0 4px 12px #00000026}.node-card-badge,.task-card-badge{position:absolute;top:-8px;left:-8px}.node-details-level-badge{position:absolute;top:-8px;right:12px;padding:2px 8px;border-radius:12px;font-size:.7rem;font-weight:600;color:#fff;letter-spacing:.5px;white-space:nowrap;opacity:.9}.node-details-content,.task-details-content{display:flex;flex-direction:column;gap:16px}.node-field,.task-field{display:flex;flex-direction:column;gap:6px}.node-field label,.task-field label{font-size:10px;font-weight:600;color:#666;text-transform:uppercase;letter-spacing:.5px}.node-field-row,.task-field-row{display:flex;gap:12px}.node-field-half,.task-field-half{flex:1}.node-dependencies,.task-dependencies{margin-top:20px;padding-top:20px;border-top:1px solid #e0e0e0}.node-dependencies .node-field,.task-dependencies .task-field{gap:4px}.dependency-pills{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px;margin-bottom:12px;padding:4px}.dependency-pill{background:linear-gradient(to bottom,#eef2f7,#d4dae6);border:none;padding:4px 18px;font-size:13px;color:#374151;cursor:pointer;transition:all .2s ease;white-space:nowrap;text-overflow:ellipsis;max-width:200px;position:relative}.dependency-pill.required-by{clip-path:polygon(0 0,calc(100% - 10px) 0,100% 50%,calc(100% - 10px) 100%,0 100%,10px 50%);padding-left:20px;padding-right:20px}.dependency-pill.depends-on{clip-path:polygon(10px 0,100% 0,calc(100% - 10px) 50%,100% 100%,10px 100%,0 50%);padding-left:20px;padding-right:20px}.dependency-pill:hover{background:linear-gradient(to bottom,#e0e8f2,#bcc6dc);color:#1f2937;transform:translateY(-1px)}.dependency-pill:active{background:linear-gradient(to bottom,#c6cedc,#a6b0c4);transform:translateY(0)}.node-input,.task-input,.node-select,.task-select{padding:8px 12px;border:1px solid #ddd;border-radius:6px;font-size:14px;color:#333;background:#fff;transition:all .15s ease;width:100%;box-sizing:border-box}.node-input:focus,.task-input:focus,.node-select:focus,.task-select:focus{outline:none;border-color:var(--grove-primary);box-shadow:0 0 0 2px #2c5aa01a}.node-title-input,.task-title-input{font-size:18px;font-weight:600;padding:12px 16px;border:1px solid #e0e0e0;border-radius:8px;background:#fff;color:#333;margin-bottom:8px;transition:all .15s ease}.node-title-input:focus,.task-title-input:focus{border-color:var(--grove-primary);box-shadow:0 0 0 2px #2c5aa01a;background:#2c5aa005}.node-title-field label,.task-title-field label{display:none}.task-title-input::placeholder{color:#999;font-weight:500}@keyframes saveSuccess{0%{border-color:#28a745;box-shadow:0 0 0 2px #28a7454d}to{border-color:#ddd;box-shadow:none}}.task-input.save-success,.task-select.save-success{animation:saveSuccess .42s ease-out}.task-title-input.save-success{animation:saveSuccess .42s ease-out;border-bottom-color:#28a745}.task-input.error{border-color:#dc3545}.task-input.error:focus{box-shadow:0 0 0 2px #dc35451a}.field-error{font-size:11px;color:#dc3545;margin-top:2px}.search-filter-section{position:sticky;top:calc(var(--space-md, 16px) * -1);background:var(--grove-bg-secondary, #f8f9fa);padding:var(--space-md, 16px);margin:calc(var(--space-md, 16px) * -1) calc(var(--space-md, 16px) * -1) var(--space-lg, 20px) calc(var(--space-md, 16px) * -1);border-bottom:1px solid var(--grove-border-light, #e5e7eb);z-index:10}.search-bar{display:flex;gap:var(--space-sm, 8px);margin-bottom:var(--space-sm, 12px)}.search-input{flex:1;padding:var(--space-sm, 8px) var(--space-md, 12px);border:1px solid var(--grove-border-light, #e5e7eb);border-radius:var(--radius-md, 8px);font-size:var(--text-base, 14px);background:var(--grove-bg-primary, white);color:var(--grove-text-primary, #1a1a1a);transition:all var(--transition-base, .15s ease)}.search-input:hover{border-color:var(--grove-border-medium, #d1d5db)}.search-input:focus{outline:none;border-color:var(--grove-primary, #667eea);box-shadow:var(--shadow-glow-primary, 0 0 0 3px rgba(29, 78, 216, .15))}.search-input::placeholder{color:var(--grove-text-muted, #9ca3af)}.filter-buttons{display:flex;gap:var(--space-sm, 8px)}.filter-button{padding:var(--space-xs, 6px) var(--space-sm, 12px);border:1px solid var(--grove-border-light, #e5e7eb);border-radius:var(--radius-md, 8px);background:var(--grove-bg-primary, white);font-size:var(--text-sm, 13px);font-weight:var(--font-medium, 500);color:var(--grove-text-secondary, #6b7280);cursor:pointer;transition:all var(--transition-base, .15s ease)}.filter-button:hover{background:var(--grove-bg-secondary, #f3f4f6);border-color:var(--grove-border-medium, #d1d5db);color:var(--grove-text-primary, #1a1a1a)}.filter-button:active{transform:scale(.98)}.filter-button.active{background:var(--grove-primary, #667eea);border-color:var(--grove-primary, #667eea);color:#fff}.empty-state{text-align:center;padding:var(--space-xl, 40px) var(--space-lg, 20px);color:var(--grove-text-muted, #9ca3af)}.empty-state-message{font-size:var(--text-lg, 16px);margin-bottom:var(--space-lg, 20px)}.graph-stats{display:flex;flex-direction:column;gap:6px;text-align:left}.graph-stat-item{display:flex;align-items:center;gap:8px}.graph-stat-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.graph-stat-dot.domain{background:var(--grove-level-domain-bright, #ef4444)}.graph-stat-dot.initiative{background:var(--grove-level-initiative-bright, #f59e0b)}.graph-stat-dot.project{background:var(--grove-level-project-bright, #14b8a6)}.graph-stat-dot.task{background:var(--grove-level-task-bright, #3b82f6)}.graph-stat-dot.dependency{background:var(--grove-text-muted, #888)}.graph-stat-label{flex:1;font-size:13px;color:var(--grove-text-secondary, #aaa)}.graph-stat-value{font-size:14px;font-weight:600;color:var(--grove-text-primary, #fff)}.task-list{overflow-y:auto;max-height:calc(100vh - 240px);padding-right:4px;padding-bottom:16px}.settings-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal, 2000);animation:fadeIn var(--transition-slow, .2s) ease-out}.settings-layout{display:flex;align-items:center;justify-content:center;gap:var(--space-xl, 32px);width:90%;max-width:700px;height:80%;max-height:600px;transition:max-width .3s ease-in-out,gap .3s ease-in-out}.settings-overlay.with-preview .settings-layout{max-width:1100px;gap:clamp(24px,5vw,64px)}.settings-dialog{background:var(--grove-bg-primary, white);border-radius:var(--radius-lg, 12px);box-shadow:var(--shadow-xl, 0 12px 32px rgba(0, 0, 0, .2));width:100%;max-width:700px;height:100%;display:flex;flex-direction:column;animation:fadeInScale var(--animation-page-load, .25s) cubic-bezier(.4,0,.2,1);flex-shrink:0;transition:transform .3s ease-in-out,margin .3s ease-in-out}.settings-preview-panel{position:relative;display:flex;align-items:center;justify-content:flex-start;height:100%;flex-shrink:0;width:0;opacity:0;overflow:visible;pointer-events:none;clip-path:inset(0 100% 0 0);transition:opacity .3s ease-in-out,width .3s ease-in-out,clip-path .3s ease-in-out}.preview-content-wrapper{position:absolute;top:50%;left:0;transform:translateY(-50%);min-width:320px;padding:0 10px}.settings-overlay.with-preview .settings-preview-panel{width:540px;opacity:1;pointer-events:auto;clip-path:inset(0 -100% 0 0)}.settings-header{display:flex;align-items:center;border-bottom:1px solid var(--grove-border-light, #e5e7eb)}.settings-header h2{margin:0;font-size:var(--text-2xl, 24px);font-weight:var(--font-semibold, 600);color:var(--grove-text-primary, #1a1a1a)}.settings-header-left{width:200px;padding:var(--space-lg, 24px);flex-shrink:0}.settings-header-divider{width:1px;height:32px;background:var(--grove-border-light, #e5e7eb);flex-shrink:0}.settings-header-right{flex:1;display:flex;align-items:center;justify-content:space-between;padding:var(--space-md, 16px) var(--space-lg, 24px) var(--space-md, 16px) 0}.settings-header h2.settings-header-title{color:var(--grove-primary, #667eea);padding-left:var(--space-lg, 24px)}.settings-close{background:none;border:none;color:var(--grove-text-secondary, #6b7280);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm, 4px);transition:all var(--transition-base, .15s ease)}.settings-close .material-icons{font-size:24px;transition:transform var(--transition-spring, .2s cubic-bezier(.34, 1.56, .64, 1))}.settings-close:hover{background:var(--grove-bg-secondary, #f3f4f6);color:var(--grove-text-primary, #1a1a1a)}.settings-close:hover .material-icons{transform:scale(1.1)}.settings-close:active{transform:scale(.95)}.settings-body{display:flex;flex:1;overflow:hidden}.settings-sidebar{width:200px;background:var(--grove-bg-secondary, #f8f9fa);border-right:1px solid var(--grove-border-light, #e5e7eb);padding:var(--space-md, 16px) 0;border-bottom-left-radius:var(--radius-lg, 12px)}.settings-category{display:flex;align-items:center;gap:var(--space-md, 12px);width:100%;padding:var(--space-md, 12px) var(--space-lg, 24px);background:none;border:none;cursor:pointer;transition:all var(--transition-base, .15s ease);text-align:left;font-size:var(--text-base, 14px);color:var(--grove-text-secondary, #6b7280)}.settings-category:hover{background:var(--grove-bg-muted, #e9ecef);color:var(--grove-text-primary, #1a1a1a)}.settings-category.active{background:var(--grove-bg-primary, white);color:var(--grove-text-primary, #1a1a1a);font-weight:var(--font-medium, 500);border-right:3px solid var(--grove-primary)}.category-icon{font-size:18px;transition:transform var(--transition-spring, .2s cubic-bezier(.34, 1.56, .64, 1))}.settings-category:hover .category-icon{transform:scale(1.1)}.category-label{flex:1}.settings-panel{flex:1;overflow-y:auto;padding:var(--space-lg, 24px)}.settings-content-placeholder{display:flex;align-items:center;justify-content:center;height:100%;color:var(--grove-text-muted, #9ca3af);font-style:italic}.account-profile{display:flex;align-items:center;gap:var(--space-lg, 16px);padding:var(--space-lg, 16px);background:var(--grove-bg-secondary, #f3f4f6);border-radius:var(--radius-md, 8px)}.account-avatar{width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,var(--grove-primary, #4a9a87) 0%,var(--grove-primary-dark, #3d8271) 100%);display:flex;align-items:center;justify-content:center;flex-shrink:0}.account-initials{font-size:24px;font-weight:600;color:#fff;text-transform:uppercase}.account-details{display:flex;flex-direction:column;gap:2px}.account-name{font-size:var(--text-lg, 18px);font-weight:var(--font-semibold, 600);color:var(--grove-text-primary, #1a1a1a)}.account-email{font-size:var(--text-sm, 13px);color:var(--grove-text-secondary, #6b7280)}.account-role{font-size:var(--text-xs, 11px);color:var(--grove-text-muted, #9ca3af);text-transform:capitalize}.account-tenant{font-size:var(--text-xs, 11px);color:var(--grove-text-secondary, #6b7280);margin-top:2px}.account-actions{display:flex;flex-direction:column;gap:var(--space-sm, 8px)}.account-action-button{display:flex;align-items:center;gap:var(--space-sm, 8px);padding:var(--space-sm, 8px) var(--space-md, 12px);border:1px solid var(--grove-border-light, #e5e7eb);border-radius:var(--radius-sm, 4px);background:var(--grove-bg-primary, white);color:var(--grove-text-primary, #1a1a1a);font-size:var(--text-sm, 13px);cursor:pointer;transition:all var(--transition-base, .15s ease)}.account-action-button:hover{background:var(--grove-bg-secondary, #f3f4f6);border-color:var(--grove-border, #d1d5db)}.account-action-button .material-icons{font-size:18px;color:var(--grove-text-secondary, #6b7280)}.settings-content h3{margin:0 0 var(--space-lg, 24px) 0;font-size:var(--text-xl, 20px);font-weight:var(--font-semibold, 600);color:var(--grove-text-primary, #1a1a1a)}.setting-group{margin-bottom:var(--space-xl, 32px);position:relative}.setting-group:before{content:"";position:absolute;left:-14px;top:7px;width:6px;height:6px;border-radius:50%;background-color:var(--grove-primary)}.setting-label{display:block;font-size:var(--text-base, 14px);font-weight:var(--font-medium, 500);color:var(--grove-text-primary, #1a1a1a);margin-bottom:var(--space-xs, 4px)}.setting-description{font-size:var(--text-sm, 13px);color:var(--grove-text-secondary, #6b7280);margin-bottom:var(--space-md, 12px)}.setting-control{width:100%;max-width:300px;padding:var(--space-sm, 8px) var(--space-md, 12px);border:1px solid var(--grove-border-light, #e5e7eb);border-radius:var(--radius-sm, 4px);font-size:var(--text-base, 14px);background:var(--grove-bg-primary, white);transition:all var(--transition-base, .15s ease)}.setting-control:hover{border-color:var(--grove-border-medium, #d1d5db)}.setting-control:focus{outline:none;border-color:var(--grove-primary);box-shadow:var(--shadow-glow-primary, 0 0 0 3px rgba(29, 78, 216, .15))}.setting-toggle{position:relative;display:inline-block;width:48px;height:24px}.setting-toggle input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--grove-border-medium, #d1d5db);transition:background-color var(--transition-smooth, .3s cubic-bezier(.4, 0, .2, 1));border-radius:var(--radius-full, 24px)}.toggle-slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;transition:transform var(--transition-smooth, .3s cubic-bezier(.4, 0, .2, 1));border-radius:50%;box-shadow:var(--shadow-sm, 0 2px 4px rgba(0, 0, 0, .1))}.setting-toggle input:checked+.toggle-slider{background-color:var(--grove-primary)}.setting-toggle input:checked+.toggle-slider:before{transform:translate(24px)}.setting-toggle:hover .toggle-slider{background-color:var(--grove-border-dark, #9ca3af)}.setting-toggle:hover input:checked+.toggle-slider{background-color:var(--grove-primary-hover)}.mode-toggle-group{display:flex;gap:var(--space-xs, 4px);background:var(--grove-bg-secondary, #f3f4f6);padding:var(--space-xs, 4px);border-radius:var(--radius-md, 8px);width:fit-content}.mode-toggle-btn{display:flex;align-items:center;gap:var(--space-xs, 4px);padding:var(--space-sm, 8px) var(--space-md, 12px);border:none;background:transparent;border-radius:var(--radius-sm, 6px);font-size:var(--text-sm, 13px);font-weight:var(--font-medium, 500);color:var(--grove-text-secondary, #6b7280);cursor:pointer;transition:all var(--transition-base, .15s ease)}.mode-toggle-btn .material-icons{font-size:18px}.mode-toggle-btn:hover{color:var(--grove-text-primary, #1f2937);background:var(--grove-bg-muted, #e5e7eb)}.mode-toggle-btn.active{background:var(--grove-bg-primary, white);color:var(--grove-primary, #3b82f6);box-shadow:var(--shadow-sm, 0 1px 3px rgba(0, 0, 0, .1))}.mode-toggle-vertical{flex-direction:column}.mode-toggle-vertical .mode-toggle-btn{justify-content:flex-start;width:100%}.setting-group-row{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-xl, 32px)}.setting-group-left{flex:1}.setting-group-left .setting-description{margin-bottom:0}.setting-group-right{flex-shrink:0}.flow-toggle-group{display:flex;gap:var(--space-xs, 4px);background:var(--grove-bg-secondary, #f3f4f6);padding:var(--space-xs, 4px);border-radius:var(--radius-md, 8px)}.flow-toggle-btn{display:flex;align-items:center;gap:var(--space-xs, 4px);padding:var(--space-sm, 8px) var(--space-md, 12px);border:none;background:transparent;border-radius:var(--radius-sm, 6px);font-size:var(--text-sm, 13px);font-weight:var(--font-medium, 500);color:var(--grove-text-secondary, #6b7280);cursor:pointer;transition:all var(--transition-base, .15s ease)}.flow-toggle-btn:hover{color:var(--grove-text-primary, #1f2937);background:var(--grove-bg-muted, #e5e7eb)}.flow-toggle-btn.active{background:var(--grove-bg-primary, white);color:var(--grove-primary, #3b82f6);box-shadow:var(--shadow-sm, 0 1px 3px rgba(0, 0, 0, .1))}.size-toggle-group{display:flex;gap:var(--space-xs, 4px);background:var(--grove-bg-secondary, #f3f4f6);padding:var(--space-xs, 4px);border-radius:var(--radius-md, 8px)}.size-toggle-btn{padding:var(--space-sm, 8px) var(--space-md, 12px);border:none;background:transparent;border-radius:var(--radius-sm, 6px);font-size:var(--text-sm, 13px);font-weight:var(--font-medium, 500);color:var(--grove-text-secondary, #6b7280);cursor:pointer;transition:all var(--transition-base, .15s ease)}.size-toggle-btn:hover{color:var(--grove-text-primary, #1f2937);background:var(--grove-bg-muted, #e5e7eb)}.size-toggle-btn.active{background:var(--grove-bg-primary, white);color:var(--grove-primary, #3b82f6);box-shadow:var(--shadow-sm, 0 1px 3px rgba(0, 0, 0, .1))}.sliding-toggle-group{display:flex;position:relative;background:var(--grove-bg-secondary, #f3f4f6);padding:3px;border-radius:9px;gap:2px}.sliding-toggle-group.vertical{flex-direction:column}.sliding-toggle-group.horizontal{flex-direction:row}.sliding-toggle-indicator{position:absolute;top:0;left:0;background:var(--grove-bg-primary, white);border-radius:var(--radius-sm, 6px);box-shadow:var(--shadow-sm, 0 1px 3px rgba(0, 0, 0, .1));transition:transform .25s cubic-bezier(.4,0,.2,1),width .25s cubic-bezier(.4,0,.2,1),height .25s cubic-bezier(.4,0,.2,1),opacity .15s ease;z-index:0;pointer-events:none}.sliding-toggle-btn{display:flex;align-items:center;justify-content:center;gap:var(--space-xs, 4px);padding:var(--space-sm, 8px) var(--space-md, 12px);border:none;background:transparent;border-radius:var(--radius-sm, 6px);font-size:var(--text-sm, 13px);font-weight:var(--font-medium, 500);color:var(--grove-text-secondary, #6b7280);cursor:pointer;transition:color .15s ease;position:relative;z-index:1;white-space:nowrap}.sliding-toggle-btn .material-icons{font-size:18px}.sliding-toggle-btn:hover{color:var(--grove-text-primary, #1f2937)}.sliding-toggle-btn.active{color:var(--grove-primary, #3b82f6)}.sliding-toggle-group.compact .sliding-toggle-btn{padding:var(--space-xs, 4px) var(--space-sm, 8px);font-size:var(--text-xs, 12px)}.sliding-toggle-group.compact .sliding-toggle-btn .material-icons{font-size:16px}.sliding-toggle-group.vertical .sliding-toggle-btn{justify-content:flex-start;width:100%}.sliding-toggle-group.tabs{background:transparent;padding:0;gap:0;border-radius:0}.sliding-toggle-group.tabs .sliding-toggle-indicator{top:auto;bottom:0;left:0;height:3px;border-radius:0;box-shadow:none;background-color:var(--grove-primary, #3b82f6)}.sliding-toggle-group.tabs .sliding-toggle-btn{padding:8px 24px 12px;border-radius:0;color:var(--grove-text-secondary, #6b7280)}.sliding-toggle-group.tabs .sliding-toggle-btn:hover{background:#0000000d;color:var(--grove-text-primary, #1f2937)}.sliding-toggle-group.tabs .sliding-toggle-btn.active{color:var(--grove-text-primary, #1f2937);font-weight:600}.theme-dark .sliding-toggle-group.tabs .sliding-toggle-btn:hover{background:#ffffff1a}.setting-preview-nodes{display:flex;align-items:center;gap:0;transition:opacity .15s ease-in-out}.setting-preview-nodes.flow-ns{flex-direction:column}.setting-preview-nodes.flow-we{flex-direction:row}.setting-preview-nodes .grove-node{position:relative;cursor:pointer;margin-top:8px;z-index:1;flex-shrink:0;user-select:none!important;-webkit-user-select:none!important;transition:transform .15s ease,box-shadow .15s ease,width .3s ease-in-out,height .3s ease-in-out!important}.setting-preview-nodes .grove-node:hover{transform:scale(1.02) translateZ(0)!important;box-shadow:0 4px 12px var(--grove-node-shadow-hover, var(--grove-shadow-medium, rgba(0,0,0,.12)))!important}.setting-preview-nodes,.setting-preview-nodes *{user-select:none!important;-webkit-user-select:none!important}.setting-preview-edge{flex-shrink:0;z-index:0;transition:width .3s ease-in-out,height .3s ease-in-out,margin .3s ease-in-out}.setting-preview-nodes .grove-node .node-content{transition:padding .3s ease-in-out}.setting-preview-nodes .grove-node .node-name{transition:font-size .3s ease-in-out}.setting-preview-nodes .grove-node .badge-row{transition:left .3s ease-in-out}.setting-preview-nodes .grove-node .type-badge,.setting-preview-nodes .grove-node .badge-ticket{transition:font-size .3s ease-in-out,padding .3s ease-in-out}.setting-preview-nodes .grove-node .status-ring,.setting-preview-nodes .grove-node .status-dot{transition:width .3s ease-in-out,height .3s ease-in-out}.setting-preview-nodes .grove-node .node-duration{transition:opacity .3s ease-in-out}.palette-picker{display:flex;flex-direction:column;gap:var(--space-sm, 8px)}.palette-option{display:flex;align-items:center;gap:var(--space-md, 12px);padding:var(--space-sm, 8px) var(--space-md, 12px);border:2px solid var(--grove-border-light, #e5e7eb);background:var(--grove-bg-primary, white);border-radius:var(--radius-md, 8px);cursor:pointer;transition:all var(--transition-base, .15s ease);text-align:left}.palette-option:hover{border-color:var(--grove-border-medium, #d1d5db);background:var(--grove-bg-secondary, #f9fafb)}.palette-option.active{border-color:var(--grove-primary, #3b82f6);background:color-mix(in srgb,var(--grove-primary) 5%,var(--grove-bg-primary))}.palette-preview{width:32px;height:32px;border-radius:var(--radius-sm, 6px);flex-shrink:0}.palette-info{display:flex;flex-direction:row;align-items:baseline;justify-content:space-between;flex:1}.palette-name{font-size:var(--text-base, 14px);font-weight:var(--font-medium, 500);color:var(--grove-text-primary, #1f2937)}.palette-desc{font-size:var(--text-sm, 12px);color:var(--grove-text-muted, #9ca3af)}.code-theme-picker{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-sm, 8px);margin-top:var(--space-sm, 8px)}.code-theme-option{display:flex;align-items:center;padding:var(--space-sm, 8px) var(--space-md, 12px);border:2px solid rgba(255,255,255,.15);border-radius:var(--radius-md, 8px);cursor:pointer;transition:all var(--transition-base, .15s ease);text-align:left}.code-theme-option:hover{border-color:#fff6}.code-theme-option.active{border-color:var(--grove-primary, #3b82f6)}.code-theme-name{font-size:var(--text-sm, 12px);font-weight:var(--font-medium, 500);color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.5)}.code-theme-option.light{border-color:#0000001f}.code-theme-option.light .code-theme-name{color:#1f2937;text-shadow:none}.code-theme-option.light:hover{border-color:#00000040}.code-theme-option.light.active{border-color:var(--grove-primary, #3b82f6)}.code-theme-picker.disabled{pointer-events:none}.code-theme-picker.disabled .code-theme-option{opacity:.4;filter:grayscale(.6)}.code-theme-picker.disabled .code-theme-option.active{opacity:.7;filter:grayscale(.3)}.code-theme-section-label{font-size:var(--text-xs, 11px);font-weight:var(--font-semibold, 600);color:var(--grove-text-muted, #6b7280);text-transform:uppercase;letter-spacing:.5px;margin-top:var(--space-md, 12px);margin-bottom:var(--space-xs, 4px)}.code-theme-section-label:first-of-type{margin-top:var(--space-sm, 8px)}.checkbox-toggle{position:relative;display:inline-block;width:44px;height:24px}.checkbox-toggle input{opacity:0;width:0;height:0}.checkbox-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--grove-border-medium, #d1d5db);border-radius:24px;transition:background-color .2s ease}.checkbox-slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;border-radius:50%;transition:transform .2s ease;box-shadow:0 1px 3px #0003}.checkbox-toggle input:checked+.checkbox-slider{background-color:var(--grove-primary, #3b82f6)}.checkbox-toggle input:checked+.checkbox-slider:before{transform:translate(20px)}.checkbox-toggle input:focus+.checkbox-slider{box-shadow:0 0 0 2px #3b82f64d}.settings-markdown-preview{display:flex;align-items:flex-start;justify-content:center;padding:var(--space-md, 12px)}.markdown-preview-card{background:var(--grove-bg-primary, white);border-radius:12px;box-shadow:0 2px 8px #0000001a;border:1px solid var(--grove-border-light, #e0e0e0);width:510px;overflow:hidden}.markdown-preview-content{padding:var(--space-md, 12px) var(--space-lg, 16px);line-height:1.6;color:var(--grove-text-primary, #1a1a1a)}.markdown-preview-content .markdown-renderer{font-size:var(--text-base, 14px);color:var(--grove-text-primary, #1a1a1a)}.save-load-controls{display:flex;align-items:center;gap:var(--space-sm, .5rem);margin-left:var(--space-xl, 2rem);margin-right:var(--space-xl, 2rem)}.nav-button{background:transparent;border:1px solid transparent;color:var(--grove-text-secondary);padding:var(--space-xs, .25rem) var(--space-sm, .75rem);border-radius:var(--radius-sm, 4px);font-size:var(--text-sm, .875rem);cursor:pointer;transition:all var(--transition-base, .15s ease)}.nav-button:hover:not(:disabled){background:var(--grove-bg-secondary, #f3f4f6);color:var(--grove-text-primary, #1a1a1a);border-color:var(--grove-border-light, #e5e7eb)}.nav-button:active:not(:disabled){transform:scale(.98)}.nav-button:disabled{opacity:.5;cursor:not-allowed}.button-divider{width:1px;height:20px;background:var(--grove-border)}.persistence-error{color:var(--grove-danger);margin-left:.5rem;cursor:help}.save-status-indicator{display:flex;align-items:center;gap:.5rem;font-size:.75rem;color:var(--ui-text-secondary);margin-right:1rem;padding:.25rem .75rem;background:var(--ui-bg-secondary);border-radius:4px}.save-status-indicator.loading{color:var(--ui-primary)}.save-status-indicator.error{color:var(--ui-danger);background:#ef44441a}.status-icon{font-size:.875rem}.status-text{white-space:nowrap}.viewport[data-zoom-level=far] .grove-node.selected{box-shadow:0 0 0 5px var(--grove-selection),0 8px 25px #0000001f,0 3px 8px #00000014,0 0 35px var(--grove-selection-strong)!important}.viewport[data-zoom-level=very-far] .grove-node.selected{box-shadow:0 0 0 8px var(--grove-selection),0 8px 25px #0000001f,0 3px 8px #00000014,0 0 45px var(--grove-selection-strong)!important}.error-boundary{padding:20px;background:var(--ui-bg-primary);border-radius:8px;border:2px solid var(--ui-danger);margin:20px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.error-boundary h2{color:var(--ui-danger);margin-top:0}.error-boundary p{color:var(--ui-text-primary);margin:10px 0}.error-boundary details{margin:15px 0}.error-boundary summary{cursor:pointer;color:var(--ui-text-secondary);font-weight:500;padding:5px;-webkit-user-select:none;user-select:none}.error-boundary summary:hover{color:var(--ui-text-primary)}.error-boundary pre{background:var(--ui-bg-secondary);border:1px solid var(--ui-border);border-radius:4px;padding:10px;overflow-x:auto;font-size:12px;line-height:1.4;margin:10px 0;color:var(--ui-text-primary)}.error-boundary-buttons{display:flex;gap:10px;margin-top:15px}.error-boundary-buttons button{padding:8px 16px;border-radius:4px;border:1px solid var(--ui-border);background:var(--ui-bg-primary);color:var(--ui-text-primary);cursor:pointer;font-size:14px;font-weight:500;transition:all .2s ease}.error-boundary-buttons button:hover{background:var(--ui-bg-secondary);border-color:var(--ui-primary)}.error-boundary-buttons button:active{transform:translateY(1px)}.backup-manager-modal{width:90%;max-width:950px;height:70vh;max-height:600px;background:var(--grove-bg-primary, #1e1e1e);border-radius:12px;display:flex;flex-direction:column;animation:slideIn .3s ease-out;box-shadow:0 20px 60px #00000080}.backup-manager-header{padding:16px 24px;border-bottom:1px solid var(--grove-border-light, #333);display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.backup-manager-header h2{margin:0;font-size:20px;font-weight:600;color:var(--grove-text-primary, #ffffff)}.backup-create-button{padding:8px 16px;background:var(--grove-accent-primary, #3b82f6);border:none;border-radius:6px;color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:all .15s ease}.backup-create-button:hover:not(:disabled){background:var(--grove-accent-primary-hover, #2563eb)}.backup-create-button:disabled{opacity:.5;cursor:not-allowed}.backup-error{padding:10px 24px;background:#ef444426;color:#ef4444;font-size:13px;border-bottom:1px solid rgba(239,68,68,.3)}.backup-manager-body{flex:1;display:grid;grid-template-columns:1fr 260px;gap:1px;background:var(--grove-border-light, #333);overflow:hidden}.backup-list-panel{background:var(--grove-bg-primary, #1e1e1e);display:flex;flex-direction:column;overflow:hidden}.backup-list-header{display:grid;grid-template-columns:90px 70px 60px 28px 28px 28px 28px 28px 120px;gap:8px;padding:10px 12px;background:var(--grove-bg-secondary, #252525);border-bottom:1px solid var(--grove-border-light, #333);flex-shrink:0}.backup-header-cell{font-size:11px;font-weight:500;color:var(--grove-text-muted, #888);-webkit-user-select:none;user-select:none}.backup-header-size,.backup-header-stats,.backup-header-actions{text-align:center}.backup-list{flex:1;overflow-y:auto;padding:8px;outline:none}.backup-loading,.backup-empty{padding:40px 20px;text-align:center;color:var(--grove-text-muted, #888);font-size:14px}.backup-empty-hint{margin-top:8px;font-size:12px;color:var(--grove-text-muted, #666)}.backup-list-item{display:grid;grid-template-columns:90px 70px 60px 28px 28px 28px 28px 28px 120px;gap:8px;align-items:center;padding:8px 12px;border-radius:6px;cursor:pointer;transition:all .15s ease;margin-bottom:4px}.backup-list-item:hover{background:var(--grove-bg-tertiary, #333)}.backup-list-item.selected{background:var(--grove-bg-tertiary, #333);box-shadow:inset 3px 0 0 var(--grove-accent-primary, #3b82f6)}.backup-item-time{font-size:12px;color:var(--grove-text-primary, #fff)}.backup-item-type{font-size:12px}.backup-trigger-badge{display:inline-block;padding:2px 6px;border-radius:4px;font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.backup-trigger-badge.trigger-manual{background:#22c55e26;color:#22c55e}.backup-trigger-badge.trigger-periodic{background:#3b82f626;color:#3b82f6}.backup-trigger-badge.trigger-system{background:#9ca3af26;color:#9ca3af}.backup-trigger-badge.trigger-restore{background:#f59e0b26;color:#f59e0b}.backup-item-size{font-size:11px;color:var(--grove-text-secondary, #aaa);text-align:center}.backup-item-stat{font-size:11px;color:var(--grove-text-muted, #888);text-align:center}.backup-item-actions{display:flex;justify-content:center;gap:4px;opacity:0;transition:opacity .15s ease}.backup-list-item:hover .backup-item-actions{opacity:1}.backup-action-button{padding:4px 8px;background:transparent;border:1px solid var(--grove-border-light, #444);border-radius:4px;cursor:pointer;font-size:11px;color:var(--grove-text-secondary, #aaa);transition:all .15s ease}.backup-action-button:hover:not(:disabled){background:var(--grove-bg-hover, #444);color:var(--grove-text-primary, #fff)}.backup-action-button:disabled{opacity:.3;cursor:not-allowed}.backup-action-restore:hover:not(:disabled){border-color:var(--grove-accent-primary, #3b82f6);color:var(--grove-accent-primary, #3b82f6)}.backup-action-delete:hover:not(:disabled){border-color:#ef4444;color:#ef4444}.backup-preview-panel{background:var(--grove-bg-secondary, #252525);padding:16px;display:flex;flex-direction:column;gap:16px;overflow-y:auto}.backup-preview-panel h4{margin:0 0 8px;font-size:13px;font-weight:600;color:var(--grove-text-secondary, #aaa);text-transform:uppercase;letter-spacing:.5px}.backup-preview-info{display:flex;flex-direction:column;gap:8px}.backup-preview-row{display:flex;justify-content:space-between;align-items:center}.backup-preview-label{font-size:12px;color:var(--grove-text-muted, #888)}.backup-preview-value{font-size:12px;color:var(--grove-text-primary, #fff)}.backup-stats-grid{display:flex;flex-direction:column;gap:6px}.backup-stat-item{display:flex;align-items:center;gap:8px}.backup-stat-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.backup-stat-dot.domain{background:var(--grove-level-domain-bright, #ef4444)}.backup-stat-dot.initiative{background:var(--grove-level-initiative-bright, #f59e0b)}.backup-stat-dot.project{background:var(--grove-level-project-bright, #14b8a6)}.backup-stat-dot.task{background:var(--grove-level-task-bright, #3b82f6)}.backup-stat-dot.edge{background:var(--grove-text-muted, #888)}.backup-stat-label{flex:1;font-size:12px;color:var(--grove-text-secondary, #aaa)}.backup-stat-value{font-size:13px;font-weight:600;color:var(--grove-text-primary, #fff)}.backup-preview-actions{margin-top:auto;padding-top:16px}.backup-restore-button{width:100%;padding:10px 16px;background:var(--grove-accent-primary, #3b82f6);border:none;border-radius:6px;color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:all .15s ease}.backup-restore-button:hover:not(:disabled){background:var(--grove-accent-primary-hover, #2563eb)}.backup-restore-button:disabled{opacity:.5;cursor:not-allowed}.backup-no-selection{flex:1;display:flex;align-items:center;justify-content:center}.backup-no-selection p{color:var(--grove-text-muted, #666);font-size:14px}.backup-manager-footer{padding:16px 24px;border-top:1px solid var(--grove-border-light, #333);display:flex;justify-content:flex-end;gap:12px;flex-shrink:0}@media(max-width:768px){.backup-manager-modal{width:95%;height:90vh;max-height:none}.backup-manager-body{grid-template-columns:1fr;grid-template-rows:1fr auto}.backup-preview-panel{max-height:200px}.backup-list-header,.backup-list-item{grid-template-columns:80px 60px 50px auto}.backup-header-stats,.backup-item-stat{display:none}}.markdown-renderer{font-size:inherit;line-height:1.5;color:inherit}.markdown-renderer p{margin:0 0 .75em}.markdown-renderer p:last-child{margin-bottom:0}.markdown-heading{font-weight:600;margin:1em 0 .5em;line-height:1.3}.markdown-heading:first-child{margin-top:0}.markdown-h1{font-size:1.4em}.markdown-h2{font-size:1.25em}.markdown-h3{font-size:1.1em}.markdown-h4{font-size:1em}.markdown-renderer ul,.markdown-renderer ol{margin:.5em 0;padding-left:1.5em}.markdown-renderer ul{list-style-type:disc}.markdown-renderer ol{list-style-type:decimal}.markdown-renderer li{margin:.25em 0}.markdown-renderer li>ul,.markdown-renderer li>ol{margin:.25em 0}.markdown-inline-code{background:var(--color-surface-tertiary, rgba(0, 0, 0, .06));padding:.15em .4em;border-radius:4px;font-family:SF Mono,Menlo,Monaco,Consolas,monospace;font-size:.9em;word-break:break-word}.markdown-code-block{position:relative;margin:.75em 0;border-radius:8px;overflow:hidden;background:var(--color-surface-tertiary, #1e1e1e)}.markdown-code-language{position:absolute;top:0;right:0;z-index:1;padding:.25em .75em;font-size:.75em;font-weight:500;color:var(--color-text-tertiary, rgba(255, 255, 255, .5));text-transform:uppercase;letter-spacing:.05em;background:#0000004d;border-bottom-left-radius:6px}.markdown-code-block pre{margin:0;padding:1em;overflow-x:auto}.markdown-code-block code{display:block;font-family:SF Mono,Menlo,Monaco,Consolas,monospace;font-size:.875em;line-height:1.5;white-space:pre;-moz-tab-size:2;tab-size:2}.markdown-code-block code.markdown-inline-code{background:transparent;padding:0;border-radius:0;word-break:normal}.markdown-link{color:var(--color-primary, #3b82f6);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .15s ease}.markdown-link:hover{border-bottom-color:var(--color-primary, #3b82f6)}.markdown-blockquote{margin:.75em 0;padding:.5em 1em;border-left:3px solid var(--color-border, rgba(0, 0, 0, .15));background:var(--color-surface-secondary, rgba(0, 0, 0, .03));border-radius:0 6px 6px 0;font-style:italic;color:var(--color-text-secondary, inherit)}.markdown-blockquote p{margin:0}.markdown-hr{border:none;height:1px;background:var(--color-border, rgba(0, 0, 0, .1));margin:1em 0}.markdown-table-wrapper{overflow-x:auto;margin:.75em 0}.markdown-table{border-collapse:collapse;width:100%;font-size:.9em}.markdown-table th,.markdown-table td{padding:.5em .75em;border:1px solid var(--color-border, rgba(0, 0, 0, .1));text-align:left}.markdown-table th{background:var(--color-surface-secondary, rgba(0, 0, 0, .03));font-weight:600}.markdown-table tr:nth-child(2n){background:var(--color-surface-secondary, rgba(0, 0, 0, .02))}.markdown-renderer strong{font-weight:600}.markdown-renderer em{font-style:italic}.markdown-renderer del{text-decoration:line-through;opacity:.7}@media(prefers-color-scheme:dark){.markdown-inline-code{background:#ffffff1a}.markdown-code-block{background:#1a1a1a}.markdown-blockquote{background:#ffffff08;border-left-color:#fff3}.markdown-table th{background:#ffffff0d}.markdown-table tr:nth-child(2n){background:#ffffff05}.markdown-table th,.markdown-table td{border-color:#ffffff1a}}.command-palette{position:relative;display:flex;align-items:center;justify-content:center}.nav-center:has(.command-palette--open){z-index:10000}.command-palette--open{z-index:10000}.command-palette__box{position:relative;display:flex;align-items:center;width:180px;padding:4px 10px;background:var(--grove-bg-secondary);border:1px solid var(--grove-border-light);border-radius:var(--radius-md, 8px);color:var(--grove-text-muted);font-size:var(--text-sm, 13px);cursor:pointer;overflow:hidden;transition:width .2s cubic-bezier(.4,0,.2,1),padding .2s cubic-bezier(.4,0,.2,1),background .2s cubic-bezier(.4,0,.2,1),border-radius .2s cubic-bezier(.4,0,.2,1),box-shadow .2s cubic-bezier(.4,0,.2,1)}.command-palette__box:hover:not(.command-palette__box--expanded){background:var(--grove-bg-tertiary);border-color:var(--grove-border-medium);color:var(--grove-text-secondary)}.command-palette__box:focus-visible:not(.command-palette__box--expanded){outline:2px solid var(--grove-accent-primary);outline-offset:2px}.command-palette__box--expanded{position:absolute;top:-4px;left:50%;transform:translate(-50%);width:480px;max-width:90vw;padding:0;background:var(--grove-bg-primary);border-radius:var(--radius-lg, 12px);box-shadow:var(--shadow-xl, 0 12px 32px rgba(0, 0, 0, .15));cursor:default;z-index:10000}.theme-dark .command-palette__box--expanded{box-shadow:0 12px 32px #0006}.command-palette__box--closing{width:180px;padding:4px 10px;background:var(--grove-bg-secondary);border-radius:var(--radius-md, 8px);box-shadow:none}.command-palette__trigger-content{display:flex;align-items:center;gap:var(--space-sm, 8px);width:100%}.command-palette__box--expanded .command-palette__trigger-content{display:none}.command-palette__icon{font-size:16px;opacity:.7}.command-palette__placeholder{flex:1;text-align:left;color:inherit}.command-palette__shortcut{padding:2px 6px;background:var(--grove-bg-primary);border:1px solid var(--grove-border-light);border-radius:var(--radius-sm, 4px);font-size:var(--text-xs, 11px);font-family:inherit;color:var(--grove-text-muted)}.command-palette__expanded-content{display:none;width:100%;opacity:0;transition:opacity .15s cubic-bezier(.4,0,.2,1)}.command-palette__box--expanded .command-palette__expanded-content{display:block;opacity:1}.command-palette__box--closing .command-palette__expanded-content{opacity:0}.command-palette__input-wrapper{display:flex;align-items:center;gap:var(--space-sm, 8px);width:100%;padding:var(--space-md, 12px) var(--space-md, 16px);border-bottom:1px solid var(--grove-border-light);box-sizing:border-box}.command-palette__input-icon{font-size:18px;color:var(--grove-text-muted)}.command-palette__input{flex:1;padding:0;background:transparent;border:none;font-size:var(--text-base, 14px);color:var(--grove-text-primary);outline:none}.command-palette__input:focus{outline:none}.command-palette__input::placeholder{color:var(--grove-text-muted)}.command-palette__input-shortcut{padding:2px 6px;background:var(--grove-bg-secondary);border:1px solid var(--grove-border-light);border-radius:var(--radius-sm, 4px);font-size:var(--text-xs, 10px);font-family:inherit;color:var(--grove-text-muted);text-transform:lowercase}.command-palette__results{max-height:320px;overflow-y:auto;overflow-x:hidden}.command-palette__hint{padding:var(--space-lg, 24px) var(--space-md, 16px);text-align:center}.command-palette__hint-text{font-size:var(--text-sm, 13px);color:var(--grove-text-muted)}.command-palette__empty{display:flex;flex-direction:column;align-items:center;gap:var(--space-sm, 8px);padding:var(--space-xl, 32px) var(--space-md, 16px)}.command-palette__empty-icon{font-size:32px;color:var(--grove-text-muted);opacity:.5}.command-palette__empty-text{font-size:var(--text-sm, 13px);color:var(--grove-text-muted)}.command-palette__section{padding:var(--space-xs, 4px) 0}.command-palette__section:first-child{padding-top:var(--space-sm, 8px)}.command-palette__section-header{padding:var(--space-xs, 4px) var(--space-md, 16px) var(--space-sm, 8px);font-size:var(--text-xs, 11px);font-weight:var(--font-semibold, 600);color:var(--grove-text-muted);text-transform:uppercase;letter-spacing:var(--tracking-wider, .05em)}.command-palette__group{padding:0}.command-palette__group-header{padding:var(--space-sm, 8px) var(--space-md, 16px);font-size:var(--text-xs, 11px);font-weight:var(--font-semibold, 600);color:var(--grove-text-muted);text-transform:uppercase;letter-spacing:var(--tracking-wider, .05em)}.command-palette__item{display:flex;align-items:center;gap:var(--space-sm, 10px);width:100%;padding:var(--space-sm, 8px) var(--space-md, 16px);background:none;border:none;text-align:left;cursor:pointer;transition:background var(--transition-fast, .1s ease);box-sizing:border-box}.command-palette__item:hover,.command-palette__item--selected{background:var(--grove-bg-secondary)}.command-palette__item-badge{font-size:7px;font-weight:700;padding:2px 6px;border-radius:2px;color:#fff;letter-spacing:.5px;text-transform:uppercase;white-space:nowrap;flex-shrink:0}.command-palette__item-badge--domain{background:var(--grove-level-domain)}.command-palette__item-badge--initiative{background:var(--grove-level-initiative)}.command-palette__item-badge--project{background:var(--grove-level-project)}.command-palette__item-badge--task{background:var(--grove-level-task)}.command-palette__item-content{flex:1;min-width:0;display:flex;align-items:center;justify-content:space-between;gap:var(--space-md, 12px)}.command-palette__item-title{font-size:var(--text-sm, 13px);color:var(--grove-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.command-palette__item-path{font-size:var(--text-xs, 11px);color:var(--grove-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-shrink:1;text-align:right}.command-palette__item-description{font-size:var(--text-xs, 11px);color:var(--grove-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.command-palette__item-shortcut{display:flex;align-items:center;gap:4px;flex-shrink:0}.command-palette__key{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;background:var(--grove-bg-tertiary);border:1px solid var(--grove-border-medium);border-radius:var(--radius-sm, 4px);font-family:inherit;font-size:var(--text-xs, 11px);font-weight:500;color:var(--grove-text-secondary);box-shadow:0 1px 0 var(--grove-border-medium)}.command-palette__key--modifier{background:var(--grove-bg-secondary);font-weight:400}.command-palette__match{background:color-mix(in srgb,var(--grove-accent-primary) 25%,transparent);border-radius:2px}.command-palette__filters{display:flex;align-items:center;gap:var(--space-sm, 8px);padding:var(--space-sm, 8px) var(--space-md, 16px);border-bottom:1px solid var(--grove-border-light);overflow-x:hidden;flex-wrap:nowrap}.command-palette__filter-chips{display:flex;align-items:center;gap:6px;flex-shrink:0}.command-palette__filter-chip{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;background:var(--grove-bg-secondary);border:1px solid var(--grove-border-light);border-radius:100px;font-size:var(--text-xs, 11px);font-weight:500;color:var(--grove-text-secondary);cursor:pointer;white-space:nowrap;transition:background .1s ease,border-color .1s ease,color .1s ease}.command-palette__filter-chip:hover{background:var(--grove-bg-tertiary);border-color:var(--grove-border-medium);color:var(--grove-text-primary)}.command-palette__filter-chip-icon{font-size:13px}.command-palette__filter-divider{width:1px;height:20px;background:var(--grove-border-light);flex-shrink:0}.command-palette__active-filters{display:flex;align-items:center;gap:6px;flex-shrink:0}.command-palette__active-chip{display:inline-flex;align-items:center;gap:4px;padding:3px 6px 3px 10px;background:color-mix(in srgb,var(--grove-accent-primary) 15%,transparent);border:1px solid color-mix(in srgb,var(--grove-accent-primary) 30%,transparent);border-radius:100px;font-size:var(--text-xs, 11px);font-weight:500;color:var(--grove-accent-primary);white-space:nowrap}.command-palette__active-chip-label{line-height:1}.command-palette__active-chip-remove{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;padding:0;background:none;border:none;border-radius:50%;font-size:13px;line-height:1;color:var(--grove-accent-primary);cursor:pointer;opacity:.7;transition:opacity .1s ease,background .1s ease}.command-palette__active-chip-remove:hover{opacity:1;background:color-mix(in srgb,var(--grove-accent-primary) 20%,transparent)}.command-palette__autocomplete{padding:var(--space-xs, 4px) 0}.command-palette__autocomplete-header{padding:var(--space-sm, 8px) var(--space-md, 16px);font-size:var(--text-xs, 11px);font-weight:var(--font-semibold, 600);color:var(--grove-text-muted);text-transform:uppercase;letter-spacing:var(--tracking-wider, .05em)}.command-palette__autocomplete-item{display:flex;align-items:center;gap:var(--space-sm, 8px);width:100%;padding:var(--space-sm, 8px) var(--space-md, 16px);background:none;border:none;text-align:left;cursor:pointer;transition:background .1s ease;box-sizing:border-box}.command-palette__autocomplete-item:hover,.command-palette__autocomplete-item--selected{background:var(--grove-bg-secondary)}.command-palette__autocomplete-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.command-palette__autocomplete-label{flex:1;font-size:var(--text-sm, 13px);color:var(--grove-text-primary)}.command-palette__autocomplete-count{font-size:var(--text-xs, 11px);color:var(--grove-text-muted);flex-shrink:0}.command-palette__footer{display:flex;align-items:center;gap:var(--space-md, 16px);padding:var(--space-sm, 8px) var(--space-md, 16px);border-top:1px solid var(--grove-border-light)}.command-palette__footer-hint{display:inline-flex;align-items:center;gap:4px;font-size:var(--text-xs, 11px);color:var(--grove-text-muted)}.command-palette__footer kbd{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 4px;background:var(--grove-bg-secondary);border:1px solid var(--grove-border-light);border-radius:var(--radius-sm, 3px);font-family:inherit;font-size:10px;font-weight:500;color:var(--grove-text-muted)}.workspace-manager-modal{width:90%;max-width:900px;height:70vh;max-height:600px;background:var(--grove-bg-primary, #1e1e1e);border-radius:12px;display:flex;flex-direction:column;animation:slideIn .3s ease-out;box-shadow:0 20px 60px #00000080}.workspace-manager-header{padding:16px 24px;border-bottom:1px solid var(--grove-border-light, #333);display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.workspace-manager-header h2{margin:0;font-size:20px;font-weight:600;color:var(--grove-text-primary, #ffffff)}.workspace-new-button{padding:8px 16px;background:var(--grove-accent-primary, #3b82f6);border:none;border-radius:6px;color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:all .15s ease}.workspace-new-button:hover:not(:disabled){background:var(--grove-accent-primary-hover, #2563eb)}.workspace-new-button:disabled{opacity:.5;cursor:not-allowed}.workspace-error{padding:10px 24px;background:#ef444426;color:#ef4444;font-size:13px;border-bottom:1px solid rgba(239,68,68,.3)}.workspace-new-input-container{max-height:0;overflow:hidden;padding:0 24px;background:var(--grove-bg-secondary, #252525);display:flex;gap:8px;border-bottom:1px solid transparent;transition:max-height .25s ease-out,padding .25s ease-out,border-color .25s ease-out}.workspace-new-input-container.open{max-height:60px;padding:12px 24px;border-bottom-color:var(--grove-border-light, #333)}.workspace-new-input{flex:1;padding:8px 12px;background:var(--grove-bg-primary, #1e1e1e);border:1px solid var(--grove-border-light, #444);border-radius:6px;color:var(--grove-text-primary, #fff);font-size:14px}.workspace-new-input:focus{outline:none;border-color:var(--grove-accent-primary, #3b82f6)}.workspace-new-confirm,.workspace-new-cancel{padding:8px 16px;border:none;border-radius:6px;font-size:14px;cursor:pointer;transition:all .15s ease}.workspace-new-confirm{background:var(--grove-accent-primary, #3b82f6);color:#fff}.workspace-new-confirm:hover{background:var(--grove-accent-primary-hover, #2563eb)}.workspace-new-cancel{background:var(--grove-bg-tertiary, #333);color:var(--grove-text-secondary, #aaa)}.workspace-new-cancel:hover{background:var(--grove-bg-hover, #444)}.workspace-manager-body{flex:1;display:grid;grid-template-columns:1fr 280px;gap:1px;background:var(--grove-border-light, #333);overflow:hidden}.workspace-list-panel{background:var(--grove-bg-primary, #1e1e1e);display:flex;flex-direction:column;overflow:hidden}.workspace-list-header{display:grid;grid-template-columns:1fr 50px 90px 90px 88px;gap:12px;padding:10px 12px;background:var(--grove-bg-secondary, #252525);border-bottom:1px solid var(--grove-border-light, #333);flex-shrink:0}.workspace-header-cell{font-size:12px;font-weight:500;color:var(--grove-text-muted, #888);cursor:pointer;-webkit-user-select:none;user-select:none;transition:color .15s ease}.workspace-header-cell:hover{color:var(--grove-text-primary, #fff)}.workspace-header-cell.active{color:var(--grove-accent-primary, #3b82f6)}.workspace-header-size,.workspace-header-created,.workspace-header-modified{text-align:right}.workspace-header-actions{text-align:center;cursor:default}.workspace-header-actions:hover{color:var(--grove-text-muted, #888)}.workspace-list{flex:1;overflow-y:auto;padding:8px;outline:none}.workspace-loading,.workspace-empty{padding:40px 20px;text-align:center;color:var(--grove-text-muted, #888);font-size:14px}.workspace-list-item{display:grid;grid-template-columns:1fr 50px 90px 90px 88px;gap:12px;align-items:center;padding:10px 12px;border-radius:6px;cursor:pointer;transition:all .15s ease;margin-bottom:4px}.workspace-list-item:hover{background:var(--grove-bg-tertiary, #333)}.workspace-list-item.selected{background:var(--grove-bg-tertiary, #333);box-shadow:inset 3px 0 0 var(--grove-accent-primary, #3b82f6)}.workspace-item-name-cell{min-width:0;display:flex;align-items:center;gap:8px}.workspace-item-name{font-size:14px;color:var(--grove-text-primary, #fff);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.workspace-current-badge{font-size:10px;color:var(--grove-accent-primary, #3b82f6);background:#3b82f626;padding:2px 6px;border-radius:4px;text-transform:uppercase;letter-spacing:.5px;flex-shrink:0}.workspace-item-size{font-size:12px;color:var(--grove-text-secondary, #aaa);text-align:right}.workspace-item-date{font-size:12px;color:var(--grove-text-muted, #888);text-align:right}.workspace-item-actions{display:flex;justify-content:center;gap:4px;opacity:0;transition:opacity .15s ease}.workspace-list-item:hover .workspace-item-actions{opacity:1}.workspace-action-button{width:28px;height:28px;padding:0;background:transparent;border:none;border-radius:4px;cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.workspace-action-button:hover:not(:disabled){background:var(--grove-bg-hover, #444)}.workspace-action-button:disabled{opacity:.3;cursor:not-allowed}.workspace-action-delete:hover:not(:disabled){background:#ef444433}.workspace-rename-input{flex:1;padding:4px 8px;background:var(--grove-bg-primary, #1e1e1e);border:1px solid var(--grove-accent-primary, #3b82f6);border-radius:4px;color:var(--grove-text-primary, #fff);font-size:14px}.workspace-rename-input:focus{outline:none}.workspace-preview-panel{background:var(--grove-bg-secondary, #252525);padding:16px;display:flex;flex-direction:column;gap:16px;overflow-y:auto}.workspace-preview-image{aspect-ratio:16 / 9;background:var(--grove-bg-primary, #1e1e1e);border-radius:8px;border:1px solid var(--grove-border-light, #333);display:flex;align-items:center;justify-content:center}.workspace-preview-placeholder{text-align:center;color:var(--grove-text-muted, #666)}.workspace-preview-placeholder span{display:block;font-size:14px;margin-bottom:4px}.workspace-preview-placeholder small{font-size:11px;opacity:.7}.workspace-stats h4{margin:0 0 12px;font-size:13px;font-weight:600;color:var(--grove-text-secondary, #aaa);text-transform:uppercase;letter-spacing:.5px}.workspace-stats-grid{display:flex;flex-direction:column;gap:8px}.workspace-stat-item{display:flex;align-items:center;gap:8px}.workspace-stat-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.workspace-stat-dot.domain{background:var(--grove-level-domain-bright, #ef4444)}.workspace-stat-dot.initiative{background:var(--grove-level-initiative-bright, #f59e0b)}.workspace-stat-dot.project{background:var(--grove-level-project-bright, #14b8a6)}.workspace-stat-dot.task{background:var(--grove-level-task-bright, #3b82f6)}.workspace-stat-dot.dependency{background:var(--grove-text-muted, #888)}.workspace-stat-label{flex:1;font-size:13px;color:var(--grove-text-secondary, #aaa)}.workspace-stat-value{font-size:14px;font-weight:600;color:var(--grove-text-primary, #fff)}.workspace-no-selection{flex:1;display:flex;align-items:center;justify-content:center}.workspace-no-selection p{color:var(--grove-text-muted, #666);font-size:14px}.workspace-manager-footer{padding:16px 24px;border-top:1px solid var(--grove-border-light, #333);display:flex;justify-content:flex-end;gap:12px;flex-shrink:0}@media(max-width:640px){.workspace-manager-modal{width:95%;height:90vh;max-height:none}.workspace-manager-body{grid-template-columns:1fr;grid-template-rows:1fr auto}.workspace-preview-panel{max-height:200px}}.import-modal{background:var(--grove-bg-primary, white);border-radius:var(--radius-lg, 12px);box-shadow:var(--shadow-xl, 0 12px 32px rgba(0, 0, 0, .2));width:90%;max-width:640px;max-height:85vh;display:flex;flex-direction:column;animation:fadeInScale var(--animation-page-load, .25s) cubic-bezier(.4,0,.2,1);overflow:hidden}.import-modal-header{display:flex;align-items:center;justify-content:space-between;padding:22px 32px 18px;border-bottom:1px solid var(--grove-border-light, #e5e7eb)}.import-modal-header h2{margin:0;font-size:22px;font-weight:var(--font-semibold, 600);color:var(--grove-text-primary, #1a1a1a)}.import-modal-close{background:none;border:none;color:var(--grove-text-secondary, #6b7280);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm, 4px);transition:all var(--transition-base, .15s ease)}.import-modal-close:hover{background:var(--grove-bg-secondary, #f3f4f6);color:var(--grove-text-primary, #1a1a1a)}.import-step-indicator{display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 32px}.import-step-dot{width:8px;height:8px;border-radius:50%;background:var(--grove-border-light, #d1d5db);transition:all .2s ease}.import-step-dot.active{background:var(--grove-accent-primary, #3b82f6);width:24px;border-radius:4px}.import-step-dot.completed{background:var(--grove-accent-primary, #3b82f6)}.import-modal-body{flex:1;overflow-y:auto;padding:24px 32px}.import-nav-buttons{display:flex;justify-content:flex-end;gap:10px;padding:18px 32px;border-top:1px solid var(--grove-border-light, #e5e7eb)}.import-nav-buttons button{padding:10px 24px;border-radius:8px;font-size:15px;font-weight:500;cursor:pointer;transition:all .15s ease}.import-btn-secondary{background:var(--grove-bg-secondary, #f3f4f6);border:1px solid var(--grove-border-light, #d1d5db);color:var(--grove-text-primary, #374151)}.import-btn-secondary:hover{background:var(--grove-bg-muted, #e5e7eb)}.import-btn-primary{background:var(--grove-accent-primary, #3b82f6);border:1px solid transparent;color:#fff}.import-btn-primary:hover{background:var(--grove-accent-primary-hover, #2563eb)}.import-btn-primary:disabled{opacity:.5;cursor:not-allowed}.import-upload-content{display:flex;flex-direction:column;gap:18px}.import-hero-text{text-align:center;padding:8px 0 4px}.import-hero-big{font-size:22px;font-weight:var(--font-semibold, 600);color:var(--grove-text-primary, #1a1a1a);line-height:1.4;margin:0 0 10px}.import-accent-text{color:var(--grove-accent-primary, #3b82f6)}.import-hero-small{font-size:15px;color:var(--grove-text-secondary, #6b7280);line-height:1.6;max-width:440px;margin:0 auto}.import-tree-emoji{font-size:.9em}.import-other-sources{font-size:13px;color:var(--grove-text-muted, #9ca3af);text-align:center;margin:0;line-height:1.5}.import-feedback-link{color:var(--grove-accent-primary, #3b82f6);font-weight:var(--font-medium, 500);cursor:default}.import-drop-zone{border:2px dashed var(--grove-border-light, #d1d5db);border-radius:10px;padding:36px 24px;text-align:center;cursor:pointer;transition:all .2s ease}.import-drop-zone:hover,.import-drop-zone.drag-over{border-color:var(--grove-accent-primary, #3b82f6);background:#3b82f60a}.import-drop-zone .material-icons{font-size:40px;color:var(--grove-accent-primary, #3b82f6);margin-bottom:10px;display:block;opacity:.7}.import-drop-zone:hover .material-icons{opacity:1}.import-drop-zone-text{font-size:16px;color:var(--grove-text-primary, #1a1a1a);margin:0 0 6px}.import-drop-zone-text strong{color:var(--grove-accent-primary, #3b82f6)}.import-drop-zone-hint{font-size:13px;color:var(--grove-text-muted, #9ca3af);margin:0}.import-drop-zone-hint a{color:var(--grove-accent-primary, #3b82f6);text-decoration:none}.import-drop-zone-hint a:hover{text-decoration:underline}.import-file-selected{display:flex;align-items:center;gap:10px;padding:14px 18px;background:var(--grove-bg-secondary, #f8f9fa);border-radius:10px}.import-file-selected .material-icons{color:var(--grove-accent-primary, #3b82f6);font-size:22px}.import-file-name{flex:1;font-size:15px;font-weight:500;color:var(--grove-text-primary, #1a1a1a)}.import-file-remove{background:none;border:none;cursor:pointer;color:var(--grove-text-secondary, #9ca3af);padding:2px;display:flex}.import-file-remove:hover{color:var(--grove-text-primary, #374151)}.import-workspace-name-field{width:100%;padding:12px 16px;border:1px solid var(--grove-border-light, #d1d5db);border-radius:8px;font-size:16px;color:var(--grove-text-primary, #1a1a1a);background:var(--grove-bg-primary, white);margin-bottom:22px;font-weight:var(--font-medium, 500)}.import-workspace-name-field.import-workspace-name-hero{font-size:22px;font-weight:var(--font-semibold, 600);color:var(--grove-accent-primary, #3b82f6);text-align:center;padding:16px 18px;border-radius:10px}.import-workspace-name-field:focus{outline:none;border-color:var(--grove-accent-primary, #3b82f6);box-shadow:0 0 0 3px #3b82f61f}.import-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:20px}.import-summary-stat{text-align:center;padding:18px 8px 14px;background:var(--grove-bg-secondary, #f8f9fa);border-radius:10px}.import-summary-stat .stat-value{font-size:34px;font-weight:700;display:block;line-height:1.1;margin-bottom:6px;font-variant-numeric:tabular-nums}.import-summary-stat .stat-value.stat-value-project{color:var(--grove-level-project-bright, #14b8a6)}.import-summary-stat .stat-value.stat-value-task{color:var(--grove-level-task-bright, #3b82f6)}.import-summary-stat .stat-value.stat-value-dep{color:var(--grove-level-initiative-bright, #f59e0b)}.import-summary-stat .stat-label{font-size:13px;color:var(--grove-text-secondary, #6b7280);font-weight:var(--font-medium, 500);text-transform:uppercase;letter-spacing:.04em}.import-duration-callout{background:var(--grove-bg-secondary, #f8f9fa);border-radius:10px;padding:16px 18px;margin-bottom:18px;border-left:3px solid var(--grove-level-initiative-bright, #f59e0b)}.import-duration-callout-header{display:flex;align-items:center;gap:8px;margin-bottom:6px;font-size:15px;color:var(--grove-text-primary, #1a1a1a)}.import-duration-callout-header .material-icons{font-size:20px;color:var(--grove-level-initiative-bright, #f59e0b)}.import-duration-callout p{margin:0;font-size:14px;color:var(--grove-text-secondary, #6b7280);line-height:1.55}.import-warnings{margin-bottom:18px}.import-warning{display:flex;align-items:flex-start;gap:8px;padding:10px 14px;background:#fef3c7;border-radius:8px;margin-bottom:6px;font-size:13px;color:#92400e}.import-warning .material-icons{font-size:18px;color:#d97706;flex-shrink:0}.import-epic-preview{margin:0;padding:0;list-style:none}.import-epic-preview li{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--grove-border-light, #f0f0f0);font-size:15px;color:var(--grove-text-primary, #1a1a1a)}.import-epic-preview li:last-child{border-bottom:none}.import-epic-preview .material-icons{font-size:20px;color:var(--grove-level-project-bright, #14b8a6)}.import-epic-name{flex:1;font-weight:var(--font-medium, 500)}.import-epic-preview .child-count{margin-left:auto;font-size:13px;color:var(--grove-text-muted, #9ca3af)}.import-section-label{font-size:13px;font-weight:600;color:var(--grove-text-secondary, #6b7280);text-transform:uppercase;letter-spacing:.05em;margin:0 0 10px}.import-progress{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:56px 0;gap:14px}.import-progress .material-icons.spinning{font-size:40px;color:var(--grove-accent-primary, #3b82f6);animation:spin 1s linear infinite}.import-building-text{font-size:22px;font-weight:var(--font-semibold, 600);color:var(--grove-text-primary, #1a1a1a);margin:0}.import-progress-text{font-size:15px;color:var(--grove-text-secondary, #6b7280);margin:0}.import-success{display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px;padding:28px 0}.import-success-icon{width:56px;height:56px;border-radius:50%;background:#dcfce7;display:flex;align-items:center;justify-content:center}.import-success-icon .material-icons{font-size:32px;color:#16a34a}.import-success h3{margin:0;font-size:26px;font-weight:700;color:var(--grove-text-primary, #1a1a1a)}.import-success p{margin:0;font-size:15px;color:var(--grove-text-secondary, #6b7280);line-height:1.6;max-width:420px}.import-cta{margin-top:10px;padding:14px 28px!important;font-size:16px!important;font-weight:600!important;background:var(--grove-accent-primary, #3b82f6);border:1px solid transparent;border-radius:10px;color:#fff;cursor:pointer;transition:all .15s ease;display:inline-flex;align-items:center;gap:8px}.import-cta:hover{background:var(--grove-accent-primary-hover, #2563eb);transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}.import-cta .material-icons{font-size:22px}.import-analysis-progress{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 0}.import-analysis-checklist{display:flex;flex-direction:column;gap:18px;width:100%;max-width:400px}.import-checklist-item{display:flex;align-items:center;gap:12px;font-size:16px;color:var(--grove-text-muted, #9ca3af);transition:all .25s ease}.import-checklist-item.active{color:var(--grove-text-primary, #1a1a1a)}.import-checklist-item.completed{color:var(--grove-text-secondary, #6b7280)}.import-checklist-icon{display:flex;align-items:center;flex-shrink:0;width:26px;height:26px}.import-checklist-icon .material-icons{font-size:24px}.import-checklist-item.completed .import-checklist-icon .material-icons{color:var(--grove-status-completed, #10b981)}.import-checklist-item.active .import-checklist-icon .material-icons{color:var(--grove-accent-primary, #3b82f6);animation:spin 1s linear infinite}.import-checklist-label{font-weight:var(--font-medium, 500);line-height:1.3}.import-checklist-item.active .import-checklist-label{font-weight:var(--font-semibold, 600)}.import-counter-inline{font-weight:700;font-variant-numeric:tabular-nums;color:var(--grove-accent-primary, #3b82f6)}.import-counter-total-inline{font-weight:700;font-variant-numeric:tabular-nums;color:var(--grove-accent-primary, #3b82f6);opacity:.45}.import-button{display:flex;align-items:center;gap:6px;padding:6px 14px;background:linear-gradient(135deg,#3b82f6,#8b5cf6);color:#fff;border:none;border-radius:6px;font-size:var(--text-sm, 13px);font-weight:500;cursor:pointer;transition:all .15s ease}.import-button:hover{background:linear-gradient(135deg,#2563eb,#7c3aed)}.import-button .material-icons{font-size:18px}.theme-dark .import-modal{background:var(--grove-bg-primary);box-shadow:0 12px 32px #00000080}.theme-dark .import-modal-header{border-bottom-color:var(--grove-border-light)}.theme-dark .import-modal-header h2{color:var(--grove-text-primary)}.theme-dark .import-workspace-name-field{background:var(--grove-bg-secondary);border-color:var(--grove-border-light);color:var(--grove-text-primary)}.theme-dark .import-workspace-name-field.import-workspace-name-hero{color:var(--grove-accent-primary)}.theme-dark .import-drop-zone{border-color:var(--grove-border-light)}.theme-dark .import-drop-zone:hover,.theme-dark .import-drop-zone.drag-over{border-color:var(--grove-accent-primary);background:#3b82f614}.theme-dark .import-file-selected,.theme-dark .import-summary-stat,.theme-dark .import-duration-callout{background:var(--grove-bg-secondary)}.theme-dark .import-duration-callout-header,.theme-dark .import-checklist-item.active{color:var(--grove-text-primary)}.theme-dark .import-checklist-item.completed{color:var(--grove-text-secondary)}.theme-dark .import-warning{background:#fef3c71a;color:#fbbf24}.theme-dark .import-warning .material-icons{color:#fbbf24}.theme-dark .import-success-icon{background:#16a34a26}.theme-dark .import-btn-secondary{background:var(--grove-bg-secondary);border-color:var(--grove-border-light);color:var(--grove-text-primary)}.theme-dark .import-btn-secondary:hover{background:var(--grove-bg-muted)}.theme-dark .import-nav-buttons{border-top-color:var(--grove-border-light)}body.import-analysis-active .resizable-panel.right{visibility:hidden;pointer-events:none}.agent-chat-panel{display:flex;flex-direction:column;width:100%;height:100%;background:var(--grove-bg-primary);position:relative;transition:background-color .2s;box-sizing:border-box}.agent-chat-panel.drag-over{background:color-mix(in srgb,var(--grove-status-completed) 10%,var(--grove-bg-primary))}.agent-chat-panel .chat-header{display:flex;justify-content:flex-end;align-items:center;padding:6px 12px;border-bottom:1px solid var(--grove-border-light);background:var(--grove-bg-primary)}.agent-chat-panel .chat-header-buttons{display:flex;gap:8px}.agent-chat-panel .chat-header-button{width:32px;height:32px;border:none;background:transparent;color:var(--grove-text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s}.agent-chat-panel .chat-header-button:hover{background:var(--grove-bg-secondary);color:var(--grove-text-primary)}.agent-chat-panel .chat-error{display:flex;align-items:center;gap:8px;padding:8px 16px;background:color-mix(in srgb,var(--grove-status-blocked) 10%,var(--grove-bg-primary));border:1px solid color-mix(in srgb,var(--grove-status-blocked) 30%,var(--grove-border-light));color:var(--grove-status-blocked);font-size:13px}.agent-chat-panel .chat-error .material-icons{font-size:18px;color:var(--grove-status-blocked)}.agent-chat-panel .chat-messages{flex:1;overflow-y:auto;overflow-x:hidden;padding:16px;display:flex;flex-direction:column;gap:12px;background:color-mix(in srgb,var(--grove-accent-primary) 3%,var(--grove-bg-primary));box-sizing:border-box}.agent-chat-panel .chat-message{display:flex;flex-direction:column;gap:2px;width:100%;max-width:100%}.agent-chat-panel .chat-message.user{align-items:flex-end}.agent-chat-panel .chat-message.assistant{align-items:flex-start}.agent-chat-panel .message-bubble{position:relative;max-width:85%;padding:16px;border-radius:16px;font-size:14px;line-height:1.4;word-wrap:break-word;box-shadow:0 2px 6px var(--grove-shadow-light)}.agent-chat-panel .chat-message.user .message-bubble{background:var(--grove-accent-primary);color:#fff;border-bottom-right-radius:4px}.agent-chat-panel .chat-message.assistant .message-bubble{background:var(--grove-bg-secondary);color:var(--grove-text-primary);border:1px solid var(--grove-border-light);border-bottom-left-radius:4px;max-width:100%}.agent-chat-panel .message-copy-button{position:absolute;top:6px;right:6px;width:26px;height:26px;border:none;background:color-mix(in srgb,var(--grove-bg-primary) 80%,transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:var(--grove-text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:6px;opacity:0;transition:opacity .15s ease,background .15s ease;z-index:1}.agent-chat-panel .message-bubble:hover .message-copy-button,.agent-chat-panel .message-copy-button.copied{opacity:1}.agent-chat-panel .message-copy-button:hover{background:var(--grove-bg-tertiary);color:var(--grove-text-primary)}.agent-chat-panel .message-copy-button .material-icons{font-size:14px}.agent-chat-panel .message-copy-button.copied{color:var(--grove-status-completed)}.agent-chat-panel .chat-message.user .message-copy-button{background:#fff3;color:#ffffffb3}.agent-chat-panel .chat-message.user .message-copy-button:hover{background:#ffffff4d;color:#fff}.agent-chat-panel .chat-message.user .message-copy-button.copied{color:#fff}.agent-chat-panel .typing-indicator{display:flex;align-items:center;gap:5px;padding:14px 20px;min-height:0}.agent-chat-panel .typing-dot{width:7px;height:7px;border-radius:50%;background:var(--grove-text-muted);animation:typingBounce 1.4s ease-in-out infinite}.agent-chat-panel .typing-dot:nth-child(2){animation-delay:.2s}.agent-chat-panel .typing-dot:nth-child(3){animation-delay:.4s}@keyframes typingBounce{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-4px);opacity:1}}.agent-chat-panel .message-content{font-size:14px;line-height:1.6}.agent-chat-panel .message-content p{margin:0 0 8px}.agent-chat-panel .message-content p:last-child{margin-bottom:0}.agent-chat-panel .message-content ul,.agent-chat-panel .message-content ol{margin:8px 0;padding-left:24px}.agent-chat-panel .message-content ul{list-style-type:disc}.agent-chat-panel .message-content ol{list-style-type:decimal}.agent-chat-panel .message-content li{margin:4px 0}.agent-chat-panel .message-content strong{font-weight:600}.agent-chat-panel .message-content em{font-style:italic}.agent-chat-panel .message-content code{background:var(--grove-bg-tertiary);padding:2px 6px;border-radius:4px;font-family:SF Mono,Monaco,Consolas,monospace;font-size:.9em}.agent-chat-panel .message-content pre{background:var(--grove-bg-tertiary);padding:12px;border-radius:8px;overflow-x:auto;margin:8px 0}.agent-chat-panel .message-content pre code{background:none;padding:0}.agent-chat-panel .chat-input-area{position:relative;background:var(--grove-bg-primary);overflow:visible;flex-shrink:0;border-top:1px solid var(--grove-border-light)}.agent-chat-panel>.drag-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:color-mix(in srgb,var(--grove-accent-primary) 15%,transparent);border:3px dashed var(--grove-accent-primary);border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--grove-accent-primary);font-size:16px;font-weight:500;z-index:100;pointer-events:none}.agent-chat-panel>.drag-overlay .material-icons{font-size:48px}.agent-chat-panel .attached-files{display:flex;flex-wrap:wrap;gap:6px;padding:8px 16px;border:none}.agent-chat-panel .file-chip{display:flex;align-items:center;gap:6px;padding:6px 8px 6px 10px;background:var(--grove-bg-secondary);border:1px solid var(--grove-border-light);border-radius:16px;font-size:13px;color:var(--grove-text-primary)}.agent-chat-panel .file-chip-icon{font-size:16px;color:var(--grove-text-muted)}.agent-chat-panel .file-chip-name{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.agent-chat-panel .file-chip-size{font-size:11px;color:var(--grove-text-muted);font-family:SF Mono,Monaco,Consolas,monospace}.agent-chat-panel .file-chip-remove{display:flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;border:none;background:transparent;color:var(--grove-text-muted);cursor:pointer;border-radius:50%;transition:all .15s}.agent-chat-panel .file-chip-remove:hover{background:var(--grove-bg-tertiary);color:var(--grove-text-primary)}.agent-chat-panel .file-chip-remove .material-icons{font-size:14px}.agent-chat-panel .chat-tool-status{padding:4px 8px;display:flex;flex-direction:column;gap:1px;border-left:2px solid var(--grove-border-medium);margin-left:4px}.agent-chat-panel .tool-status-row{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--grove-text-secondary);padding:1px 0}.agent-chat-panel .tool-status-row.completed{color:var(--grove-status-completed)}.agent-chat-panel .tool-status-row.error{color:var(--grove-status-blocked)}.agent-chat-panel .tool-status-icon{display:flex;align-items:center;justify-content:center;width:14px;height:14px}.agent-chat-panel .tool-status-icon .material-icons{font-size:12px}.agent-chat-panel .tool-status-icon.running{color:var(--grove-status-in-progress)}.agent-chat-panel .tool-status-icon.running .material-icons{animation:spin 1s linear infinite}.agent-chat-panel .tool-status-icon.completed{color:var(--grove-status-completed)}.agent-chat-panel .tool-status-icon.error{color:var(--grove-status-blocked)}.agent-chat-panel .tool-status-text{flex:1}.agent-chat-panel .chat-input-form{display:flex;gap:8px;padding:8px 16px;background:var(--grove-bg-primary);align-items:flex-end;position:relative}.agent-chat-panel .attached-files+.chat-input-form{padding-top:6px;border-top:none}.agent-chat-panel .spinning{animation:spin 1s linear infinite}.agent-chat-panel .chat-input-wrapper{flex:1;background:transparent;border:none;border-radius:0;box-shadow:none}.agent-chat-panel .chat-input-wrapper:focus-within{border-color:transparent;box-shadow:none}.agent-chat-panel .chat-send-button{width:40px;height:40px;border-radius:50%;border:none;background:var(--grove-accent-primary);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.agent-chat-panel .chat-send-button:hover:not(:disabled){background:var(--grove-accent-hover);transform:scale(1.05)}.agent-chat-panel .chat-send-button:disabled{background:var(--grove-border-medium);cursor:not-allowed}.agent-chat-panel .chat-send-button .material-icons{font-size:20px}.agent-chat-panel .chat-stop-button{background:var(--grove-status-blocked)}.agent-chat-panel .chat-stop-button:hover{background:color-mix(in srgb,var(--grove-status-blocked) 80%,black);transform:scale(1.05)}.agent-chat-panel .chat-input-hint{font-size:11px;color:var(--grove-text-muted);display:flex;align-items:center;justify-content:center;gap:12px;padding:2px 16px 6px;opacity:1}.agent-chat-panel .chat-input-hint kbd{font-family:inherit;font-size:10px;font-weight:500}.agent-chat-panel .context-usage-indicator{display:inline-flex;align-items:center;gap:4px;cursor:default}.agent-chat-panel .context-usage-ring{flex-shrink:0}.agent-chat-panel .context-usage-ring circle:last-child{transition:stroke-dashoffset .4s ease,stroke .3s ease}.agent-chat-panel .context-usage-label{font-size:10px;font-family:SF Mono,Monaco,Consolas,monospace;white-space:nowrap}.agent-chat-panel .loading-dots{display:inline-block}.agent-chat-panel .loading-dots span{display:inline-block;animation:loading-dot 1.4s infinite ease-in-out both;font-size:20px;color:var(--grove-text-muted)}.agent-chat-panel .loading-dots span:nth-child(1){animation-delay:-.32s}.agent-chat-panel .loading-dots span:nth-child(2){animation-delay:-.16s}@keyframes loading-dot{0%,80%,to{opacity:.3}40%{opacity:1}}.agent-chat-panel .chat-messages::-webkit-scrollbar{width:6px}.agent-chat-panel .chat-messages::-webkit-scrollbar-track{background:var(--grove-bg-secondary);border-radius:3px}.agent-chat-panel .chat-messages::-webkit-scrollbar-thumb{background:var(--grove-border-medium);border-radius:3px}.agent-chat-panel .chat-messages::-webkit-scrollbar-thumb:hover{background:var(--grove-text-muted)}.chat-welcome{display:flex;flex-direction:column;gap:20px;padding:16px 4px;width:100%;margin:auto 0}.chat-welcome-greeting{font-size:17px;font-weight:600;color:var(--grove-text-primary);text-align:center;padding:8px 0;animation:fadeIn .3s ease}.chat-welcome-categories{display:flex;flex-direction:column;gap:16px}.chat-welcome-category{display:flex;flex-direction:column;gap:6px;animation:fadeInUp .3s ease both}.chat-welcome-category-header{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--grove-text-muted);padding:0 4px}.chat-welcome-category-header .material-icons{font-size:14px}.chat-welcome-prompts{display:flex;flex-direction:column;gap:4px}.chat-welcome-prompt{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;background:var(--grove-bg-secondary);border:1px solid var(--grove-border-light);border-radius:10px;cursor:pointer;transition:all .15s ease;text-align:left;font-size:13px;color:var(--grove-text-primary);width:100%;font-family:inherit}.chat-welcome-prompt:hover{background:color-mix(in srgb,var(--grove-accent-primary) 8%,var(--grove-bg-secondary));border-color:color-mix(in srgb,var(--grove-accent-primary) 30%,var(--grove-border-light));transform:translate(2px)}.chat-welcome-prompt:active{transform:translate(1px) scale(.99)}.chat-welcome-prompt-text{flex:1}.chat-welcome-prompt-arrow{font-size:14px;color:var(--grove-text-muted);opacity:0;transition:opacity .15s,transform .15s}.chat-welcome-prompt:hover .chat-welcome-prompt-arrow{opacity:1;transform:translate(2px)}.chat-welcome-tip{font-size:12px;color:var(--grove-text-muted);text-align:center;padding:4px 0;animation:fadeIn .4s ease .2s both}.chat-welcome-tip strong{color:var(--grove-accent-primary);font-weight:600}.ce-input{width:100%;padding:10px 14px;border:1px solid var(--grove-border-light);cursor:text;border-radius:24px;font-size:14px;outline:none;transition:border-color .2s;min-height:40px;max-height:80px;overflow-y:auto;overflow-x:hidden;font-family:inherit;line-height:1.4;color:var(--grove-text-primary);white-space:pre-wrap;word-wrap:break-word;-webkit-user-modify:read-write-plaintext-only;scrollbar-width:none;-ms-overflow-style:none}.ce-input::-webkit-scrollbar{display:none}.ce-input:focus{border-color:var(--grove-accent-primary)}.ce-input:empty:before{content:attr(data-placeholder);color:var(--grove-text-muted);pointer-events:none}.ce-input br:only-child{display:none}.ce-mention-chip{display:inline-flex;align-items:center;padding:2px 8px;margin:0 2px;line-height:1.4em;height:1.4em;border-radius:12px;font-size:.9em;font-weight:500;white-space:nowrap;vertical-align:middle;-webkit-user-select:none;user-select:none;cursor:default;background:#1d4ed81a;color:var(--grove-level-task, #1d4ed8);border:1px solid rgba(29,78,216,.3)}.ce-mention-chip.level-domain{background:#7f1d1d1f;color:var(--grove-level-domain, #7f1d1d);border-color:#7f1d1d59}.ce-mention-chip.level-initiative{background:#b453091f;color:var(--grove-level-initiative, #b45309);border-color:#b4530959}.ce-mention-chip.level-project{background:#0f766e1f;color:var(--grove-level-project, #0f766e);border-color:#0f766e59}.ce-mention-chip.level-task{background:#1d4ed81a;color:var(--grove-level-task, #1d4ed8);border-color:#1d4ed84d}.ce-mention-chip.ce-mention-chip--this{background:#8b5cf626;color:#8b5cf6;border:1px solid rgba(139,92,246,.35)}.ce-chip-icon{font-size:.7em;margin-right:4px;opacity:.8}.ce-chip-text{max-width:150px;overflow:hidden;text-overflow:ellipsis}.mention-popup{position:absolute;bottom:100%;left:16px;right:16px;margin-bottom:8px;background:color-mix(in srgb,var(--grove-bg-primary) 95%,transparent);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--grove-border-medium);border-radius:var(--radius-lg, 12px);box-shadow:0 4px 6px -1px #0000001a,0 12px 24px -4px #00000026,0 0 0 1px #0000000d;z-index:1000;overflow:hidden}.theme-dark .mention-popup{background:color-mix(in srgb,var(--grove-bg-primary) 90%,transparent);border-color:var(--grove-border-light);box-shadow:0 4px 6px -1px #0000004d,0 12px 24px -4px #0006,0 0 0 1px #ffffff0d}.mention-popup__list{max-height:240px;overflow-y:auto;padding:var(--space-xs, 4px) 0}.mention-popup__item{display:flex;align-items:center;gap:var(--space-sm, 10px);width:100%;padding:var(--space-sm, 8px) var(--space-md, 16px);background:none;border:none;text-align:left;cursor:pointer;transition:background var(--transition-fast, .1s ease);box-sizing:border-box}.mention-popup__item:hover,.mention-popup__item--selected{background:var(--grove-bg-secondary)}.mention-popup__item-badge{font-size:7px;font-weight:700;padding:2px 6px;border-radius:2px;color:#fff;letter-spacing:.5px;text-transform:uppercase;white-space:nowrap;flex-shrink:0}.mention-popup__item-badge--domain{background:var(--grove-level-domain)}.mention-popup__item-badge--initiative{background:var(--grove-level-initiative)}.mention-popup__item-badge--project{background:var(--grove-level-project)}.mention-popup__item-badge--task{background:var(--grove-level-task)}.mention-popup__item-badge--selection{background:var(--grove-accent-primary)}.mention-popup__item-content{flex:1;min-width:0;display:flex;align-items:center;justify-content:space-between;gap:var(--space-md, 12px)}.mention-popup__item-title{font-size:var(--text-sm, 13px);color:var(--grove-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mention-popup__item-path{font-size:var(--text-xs, 11px);color:var(--grove-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-shrink:1;text-align:right}.mention-popup__hint{display:flex;align-items:center;justify-content:center;gap:var(--space-xs, 4px);padding:var(--space-xs, 6px) var(--space-md, 16px);background:var(--grove-bg-secondary);border-top:1px solid var(--grove-border-light);font-size:var(--text-xs, 11px);color:var(--grove-text-muted)}.mention-popup__hint kbd{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;background:var(--grove-bg-tertiary);border:1px solid var(--grove-border-medium);border-radius:var(--radius-sm, 4px);font-family:inherit;font-size:var(--text-xs, 10px);font-weight:500;color:var(--grove-text-secondary);box-shadow:0 1px 0 var(--grove-border-medium)}.mention-popup__list::-webkit-scrollbar{width:6px}.mention-popup__list::-webkit-scrollbar-track{background:var(--grove-bg-secondary);border-radius:3px}.mention-popup__list::-webkit-scrollbar-thumb{background:var(--grove-border-medium);border-radius:3px}.mention-popup__list::-webkit-scrollbar-thumb:hover{background:var(--grove-text-muted)}.toast-container{position:absolute;bottom:20px;left:20px;z-index:10000;display:flex;flex-direction:column-reverse;gap:10px;pointer-events:none}.toast{display:flex;align-items:center;justify-content:space-between;min-width:300px;max-width:500px;padding:12px 16px;background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:8px;box-shadow:0 4px 12px #00000026;animation:slideIn .3s ease-out;pointer-events:auto}@keyframes slideIn{0%{transform:translate(-100%);opacity:0}to{transform:translate(0);opacity:1}}.toast-content{display:flex;align-items:center;gap:12px;flex:1}.toast-icon{font-size:18px;line-height:1}.toast-message{color:var(--text-primary);font-size:14px;line-height:1.4;flex:1}.toast-close{background:none;border:none;color:var(--text-secondary);font-size:24px;line-height:1;padding:0;width:24px;height:24px;cursor:pointer;opacity:.6;transition:opacity .2s}.toast-close:hover{opacity:1}.toast-info{border-left:4px solid var(--info-color, #3498db)}.toast-success{border-left:4px solid var(--success-color, #2ecc71)}.toast-warning{border-left:4px solid var(--warning-color, #f39c12);background:var(--warning-bg, rgba(243, 156, 18, .1))}.toast-error{border-left:4px solid var(--error-color, #e74c3c);background:var(--error-bg, rgba(231, 76, 60, .1))}.flex-graph-content .grove-node-wrapper{transition:left .2s ease-out,top .2s ease-out;user-select:none;-webkit-user-select:none;transform:translateZ(0);backface-visibility:hidden}.flex-graph-content .grove-node-wrapper.dragging{transition:none}.flex-container-background{transition:width .2s ease-out,height .2s ease-out,left .2s ease-out,top .2s ease-out;animation:container-expand .2s ease-out}@keyframes container-expand{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.flex-graph-content .grove-node-wrapper[data-expandable=true]{cursor:pointer}.flex-container-background{transform-origin:center}.flex-edges-overlay path{transition:stroke .15s ease,stroke-width .15s ease}.flex-edge:hover .flex-edge-path:not(.selected){stroke:var(--grove-edge-color-hover, #3b82f6);stroke-width:2.5}.flex-viewport{background-color:var(--grove-bg, #3a3a3a)}.flex-graph-content{will-change:transform}.flex-container-header{-webkit-user-select:none;user-select:none}.flex-mode-indicator{position:absolute;bottom:60px;left:10px;padding:4px 8px;background-color:var(--grove-primary, #3b82f6);color:#fff;font-size:11px;font-weight:600;border-radius:4px;opacity:.8;pointer-events:none}.flex-graph-content .grove-node{user-select:none;-webkit-user-select:none}.flex-container-node{user-select:none;-webkit-user-select:none;transform:translateZ(0);backface-visibility:hidden}.flex-container-node.variant-node{box-shadow:0 0 0 2px #22c55e80,0 0 12px #22c55e4d!important}.flex-container-node.variant-node.variant-added{animation:variant-pulse 2s ease-in-out infinite}@keyframes variant-pulse{0%,to{box-shadow:0 0 0 2px #22c55e80,0 0 12px #22c55e4d}50%{box-shadow:0 0 0 3px #22c55eb3,0 0 20px #22c55e80}}.flex-expand-indicator{position:absolute;bottom:4px;right:4px;width:16px;height:16px;display:flex;align-items:center;justify-content:center;background-color:var(--grove-surface);border:1px solid var(--grove-border);border-radius:3px;cursor:pointer;transition:background-color .15s ease}.flex-expand-indicator:hover{background-color:var(--grove-surface-hover)}.flex-expand-indicator svg{width:12px;height:12px;color:var(--grove-text-secondary)}.resizable-panel{position:absolute;top:0;bottom:0;overflow:visible!important;z-index:var(--z-dropdown, 100);background:var(--grove-bg-primary)}.resizable-panel:not(.is-resizing){transition:width var(--transition-smooth)}.resizable-panel.left{left:0;border-right:1px solid var(--grove-border-light)}.resizable-panel.right{right:0;border-left:1px solid var(--grove-border-light)}.resizable-panel.collapsed.left{border-right:none}.resizable-panel.collapsed.right{border-left:none}.resizable-panel.collapsed{width:0px!important;min-width:0px!important;overflow:visible!important}.resizable-panel .panel-content{width:100%;height:100%;overflow:auto;position:relative;opacity:1;transition:opacity var(--transition-base)}.resizable-panel.collapsed .panel-content{opacity:0;pointer-events:none}.resize-handle{position:absolute;top:0;bottom:0;width:8px;cursor:col-resize;z-index:10;background:transparent;transition:all var(--transition-base)}.resize-handle:after{content:"";position:absolute;top:0;bottom:0;width:1px;background:transparent;transition:all var(--transition-base)}.resizable-panel.left .resize-handle{right:-4px}.resizable-panel.left .resize-handle:after{left:4px}.resizable-panel.right .resize-handle{left:-4px}.resizable-panel.right .resize-handle:after{right:4px}.resize-handle:hover:after,.resize-handle.resizing:after{width:3px;background:var(--grove-primary);border-radius:var(--radius-full);box-shadow:0 0 8px #1d4ed866}.resizable-panel.left .resize-handle:hover:after,.resizable-panel.left .resize-handle.resizing:after{left:3px}.resizable-panel.right .resize-handle:hover:after,.resizable-panel.right .resize-handle.resizing:after{right:3px}.collapse-button{position:absolute;top:50%;transform:translateY(-50%);width:20px;height:40px;background:var(--grove-bg-primary);border:1px solid var(--grove-border-light);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-base);padding:0;z-index:150;box-shadow:var(--shadow-sm);opacity:0}.resizable-panel:hover .collapse-button,.resizable-panel.collapsed .collapse-button{opacity:1}.resizable-panel.left .collapse-button{left:100%;margin-left:-1px;border-left:none;border-radius:0 var(--radius-md) var(--radius-md) 0}.resizable-panel.right .collapse-button{right:100%;margin-right:-1px;border-right:none;border-radius:var(--radius-md) 0 0 var(--radius-md)}.collapse-button:hover{background:var(--grove-bg-secondary);box-shadow:var(--shadow-md)}.collapse-button:active{transform:translateY(-50%) scale(.95)}.collapse-button .material-icons{font-size:16px;color:var(--grove-text-secondary);-webkit-user-select:none;user-select:none;transition:transform var(--transition-smooth),color var(--transition-base)}.collapse-button:hover .material-icons{color:var(--grove-text-primary)}.resizable-panel.collapsed .collapse-button .material-icons{transform:rotate(180deg)}.resizable-panel.collapsed.left .collapse-button{left:0;margin-left:0;border-left:1px solid var(--grove-border-light);border-radius:0 var(--radius-md) var(--radius-md) 0}.resizable-panel.collapsed.right .collapse-button{right:0;margin-right:0;border-right:1px solid var(--grove-border-light);border-radius:var(--radius-md) 0 0 var(--radius-md)}[data-theme=dark] .collapse-button{background:var(--grove-bg-dark);border-color:var(--grove-border-dark)}[data-theme=dark] .collapse-button:hover{background:#ffffff14}[data-theme=dark] .resize-handle:hover:after,[data-theme=dark] .resize-handle.resizing:after{box-shadow:0 0 12px #6366f180}.tutorial-overlay{background:transparent!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;pointer-events:none!important}.tutorial-layout{display:flex;align-items:center;justify-content:center;width:90%;max-width:700px;height:80%;max-height:600px;pointer-events:none}.tutorial-dialog{background:var(--grove-bg-primary, white);border-radius:var(--radius-lg, 12px);box-shadow:var(--shadow-xl, 0 12px 32px rgba(0, 0, 0, .2));width:100%;max-width:700px;height:100%;display:flex;flex-direction:column;animation:fadeInScale var(--animation-page-load, .25s) cubic-bezier(.4,0,.2,1);pointer-events:auto}.tutorial-header{display:flex;align-items:center;border-bottom:1px solid var(--grove-border-light, #e5e7eb)}.tutorial-header h2{margin:0;font-size:var(--text-2xl, 24px);font-weight:var(--font-semibold, 600);color:var(--grove-text-primary, #1a1a1a)}.tutorial-header-left{width:200px;padding:var(--space-lg, 24px);flex-shrink:0}.tutorial-header-divider{width:1px;height:32px;background:var(--grove-border-light, #e5e7eb);flex-shrink:0}.tutorial-header-right{flex:1;display:flex;align-items:center;justify-content:space-between;padding:var(--space-md, 16px) var(--space-lg, 24px) var(--space-md, 16px) 0}h2.tutorial-header-title{color:var(--grove-primary, #667eea);padding-left:var(--space-lg, 24px)}.tutorial-close{background:none;border:none;color:var(--grove-text-secondary, #6b7280);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm, 4px);transition:all var(--transition-base, .15s ease)}.tutorial-close .material-icons{font-size:24px;transition:transform var( --transition-spring, .2s cubic-bezier(.34, 1.56, .64, 1) )}.tutorial-close:hover{background:var(--grove-bg-secondary, #f3f4f6);color:var(--grove-text-primary, #1a1a1a)}.tutorial-close:hover .material-icons{transform:scale(1.1)}.tutorial-close:active{transform:scale(.95)}.tutorial-body{display:flex;flex:1;overflow:hidden}.tutorial-sidebar{width:200px;background:var(--grove-bg-secondary, #f8f9fa);border-right:1px solid var(--grove-border-light, #e5e7eb);padding:var(--space-md, 16px) 0;border-bottom-left-radius:var(--radius-lg, 12px)}.tutorial-category{display:flex;align-items:center;gap:var(--space-md, 12px);width:100%;padding:var(--space-md, 12px) var(--space-lg, 24px);background:none;border:none;cursor:pointer;transition:all var(--transition-base, .15s ease);text-align:left;font-size:var(--text-base, 14px);color:var(--grove-text-secondary, #6b7280)}.tutorial-category:hover{background:var(--grove-bg-muted, #e9ecef);color:var(--grove-text-primary, #1a1a1a)}.tutorial-category.active{background:var(--grove-bg-primary, white);color:var(--grove-text-primary, #1a1a1a);font-weight:var(--font-medium, 500);border-right:3px solid var(--grove-primary)}.tutorial-category .category-icon{font-size:24px}.tutorial-category:hover .category-icon{transform:scale(1.1)}.tutorial-panel{flex:1;overflow-y:auto;padding:var(--space-lg, 24px);position:relative}.tutorial-page{position:relative}.tutorial-page p{margin:0 0 var(--space-md, 12px) 0;font-size:var(--text-base, 14px);line-height:1.6;color:var(--grove-text-primary, #1a1a1a)}.tutorial-page ul{margin:0 0 var(--space-md, 12px) 0;padding-left:var(--space-lg, 24px)}.tutorial-page li{font-size:var(--text-base, 14px);line-height:1.6;color:var(--grove-text-primary, #1a1a1a);margin-bottom:var(--space-xs, 4px)}.tutorial-page h3{margin:var(--space-lg, 24px) 0 var(--space-sm, 8px) 0;font-size:var(--text-lg, 18px);font-weight:var(--font-semibold, 600);color:var(--grove-text-primary, #1a1a1a)}.tutorial-page h4{margin:var(--space-md, 16px) 0 var(--space-xs, 4px) 0;font-size:var(--text-base, 14px);font-weight:var(--font-semibold, 600);color:var(--grove-text-secondary, #6b7280)}.tutorial-page code{background:var(--grove-bg-secondary, #f3f4f6);padding:2px 6px;border-radius:var(--radius-sm, 4px);font-size:var(--text-sm, 13px);font-family:monospace;color:var(--grove-primary, #667eea)}.tutorial-welcome-greeting{font-size:var(--text-2xl, 24px)!important;font-weight:var(--font-semibold, 600);text-align:center}.tutorial-tree-container{display:flex;justify-content:center;margin-bottom:var(--space-lg, 24px)}.tutorial-tree-svg{width:200px;height:250px;color:var(--grove-primary, #667eea)}.tutorial-tree-path{stroke-dasharray:23.103;stroke-dashoffset:-23.103;animation:tutorialDrawPath 2.5s ease-out .3s forwards}@keyframes tutorialDrawPath{to{stroke-dashoffset:0}}.tutorial-arrow{position:fixed;width:160px;height:80px;z-index:calc(var(--z-modal, 2000) + 1);pointer-events:none;opacity:0;animation:tutorialArrowEnter .3s ease-out .35s forwards,tutorialArrowFloat 3s ease-in-out .65s infinite}@keyframes tutorialArrowEnter{0%{opacity:0}to{opacity:1}}@keyframes tutorialArrowFloat{0%,to{translate:0 0}50%{translate:0 -6px}}.tutorial-arrow-feedback{left:8px;top:50%;transform:rotate(180deg)}.tutorial-arrow-viewport{transform:rotate(90deg)}.tutorial-shortcuts-list{margin:0 0 var(--space-md, 12px) 0}.tutorial-shortcut-item{display:flex;justify-content:space-between;align-items:center;padding:4px 0;font-size:var(--text-sm, 13px)}.tutorial-shortcut-item dt{font-weight:500;color:var(--grove-text-primary, #1a1a1a);background:var(--grove-bg-secondary, #f3f4f6);padding:2px 8px;border-radius:4px;font-family:monospace;font-size:var(--text-xs, 12px)}.tutorial-shortcut-item dd{color:var(--grove-text-secondary, #6b7280);text-align:right;flex:1;margin:0 0 0 12px}.theme-dark .tutorial-dialog{background:var(--grove-bg-primary);box-shadow:0 12px 32px #00000080}.theme-dark .tutorial-header{border-bottom-color:var(--grove-border-light)}.theme-dark .tutorial-header h2{color:var(--grove-text-primary)}.theme-dark .tutorial-header-divider{background:var(--grove-border-light)}.theme-dark .tutorial-close{color:var(--grove-text-secondary)}.theme-dark .tutorial-close:hover{background:var(--grove-bg-secondary);color:var(--grove-text-primary)}.theme-dark .tutorial-sidebar{background:var(--grove-bg-secondary);border-right-color:var(--grove-border-light)}.theme-dark .tutorial-category{color:var(--grove-text-secondary)}.theme-dark .tutorial-category:hover{background:var(--grove-bg-muted);color:var(--grove-text-primary)}.theme-dark .tutorial-category.active{background:var(--grove-bg-primary);color:var(--grove-text-primary)}.theme-dark .tutorial-page p,.theme-dark .tutorial-page li,.theme-dark .tutorial-page h3{color:var(--grove-text-primary)}.theme-dark .tutorial-page h4{color:var(--grove-text-secondary)}.theme-dark .tutorial-page code{background:var(--grove-bg-tertiary, #2a2a2a);color:var(--grove-primary)}.theme-dark .tutorial-shortcut-item dt{color:var(--grove-text-primary);background:var(--grove-bg-tertiary, #2a2a2a)}.theme-dark .tutorial-shortcut-item dd{color:var(--grove-text-secondary)}.change-password-dialog{background:var(--grove-bg-primary, white);border-radius:var(--radius-lg, 12px);box-shadow:var(--shadow-xl, 0 12px 32px rgba(0, 0, 0, .2));width:90%;max-width:420px;animation:fadeInScale var(--animation-page-load, .25s) cubic-bezier(.4,0,.2,1);overflow:hidden}.change-password-header{padding:24px 28px 16px;border-bottom:1px solid var(--grove-border-light, #e5e7eb)}.change-password-header h2{margin:0;font-size:20px;font-weight:600;color:var(--grove-text-primary, #1a1a1a)}.change-password-header p{margin:6px 0 0;font-size:13px;color:var(--grove-text-secondary, #757575);line-height:1.5}.change-password-form{padding:20px 28px 28px;display:flex;flex-direction:column;gap:16px}.change-password-field{display:flex;flex-direction:column;gap:6px}.change-password-field label{font-size:13px;font-weight:500;color:var(--grove-text-secondary, #757575)}.change-password-field input{padding:10px 12px;border:1px solid var(--grove-border-light, #d1d5db);border-radius:var(--radius-md, 8px);font-size:14px;font-family:inherit;color:var(--grove-text-primary, #1a1a1a);background:var(--grove-bg-secondary, #f9fafb);outline:none;transition:border-color .15s}.change-password-field input:focus{border-color:var(--grove-primary, #4a9a87);box-shadow:0 0 0 2px #4a9a8726}.change-password-error{font-size:13px;color:#dc2626;margin:0;padding:8px 12px;background:#dc26260f;border-radius:var(--radius-md, 8px)}.change-password-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:4px}.change-password-actions button{padding:10px 20px;border-radius:var(--radius-md, 8px);font-size:14px;font-weight:500;font-family:inherit;cursor:pointer;transition:background .15s,opacity .15s}.change-password-skip{background:transparent;border:1px solid var(--grove-border-light, #d1d5db);color:var(--grove-text-secondary, #757575)}.change-password-skip:hover{background:var(--grove-bg-secondary, #f3f4f6)}.change-password-submit{background:var(--grove-primary, #4a9a87);border:none;color:#fff}.change-password-submit:hover{opacity:.9}.change-password-submit:disabled{opacity:.5;cursor:not-allowed}.theme-dark .change-password-dialog{background:var(--grove-bg-primary, #1a1a2e);box-shadow:0 12px 32px #00000080}.theme-dark .change-password-header{border-bottom-color:var(--grove-border-light, #2a2a3e)}.theme-dark .change-password-field input{background:var(--grove-bg-secondary, #16162a);border-color:var(--grove-border-light, #2a2a3e);color:var(--grove-text-primary, #e0e0e0)}.theme-dark .change-password-field input:focus{border-color:var(--grove-primary, #4a9a87)}.theme-dark .change-password-skip{border-color:var(--grove-border-light, #2a2a3e);color:var(--grove-text-secondary, #a0a0a0)}.theme-dark .change-password-skip:hover{background:var(--grove-bg-secondary, #16162a)}.loading-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000059;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:1000;opacity:1;transition:none}.loading-overlay--fading{opacity:0;transition:opacity .4s ease-out;pointer-events:none}.loading-tree-svg{width:90px;height:90px;color:var(--grove-primary, #5e81ac);filter:drop-shadow(0 0 8px rgba(94,129,172,.3))}@media(prefers-reduced-motion:reduce){.loading-overlay--fading{transition:none}.loading-tree-svg path{stroke-dasharray:none!important;stroke-dashoffset:0!important}}.feedback-chip{position:fixed;left:0;top:50%;transform:translateY(-50%);writing-mode:vertical-lr;display:flex;align-items:center;gap:8px;padding:16px 8px;border-radius:0 10px 10px 0;background:linear-gradient(180deg,var(--grove-primary, #667eea),var(--grove-primary-dark, #5a67d8));border:none;color:#fff;font-size:12px;font-weight:600;letter-spacing:.02em;cursor:pointer;box-shadow:4px 0 12px #0000004d;transition:box-shadow .2s,opacity .2s;white-space:nowrap;z-index:99999}.feedback-chip:hover{box-shadow:6px 0 16px #0006;opacity:.9}.feedback-chip:active{opacity:.8}.feedback-chip svg{flex-shrink:0}.feedback-spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:feedback-spin .8s linear infinite}.feedback-spinner.small{width:14px;height:14px;border-width:2px;border-color:#667eea4d;border-top-color:var(--grove-primary, #667eea)}@keyframes feedback-spin{to{transform:rotate(360deg)}}.feedback-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:100000;animation:feedback-fade-in .15s ease-out}@keyframes feedback-fade-in{0%{opacity:0}to{opacity:1}}.feedback-modal{background:var(--grove-bg-primary, white);border-radius:var(--radius-xl, 16px);width:90%;max-width:640px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 25px 50px -12px #00000040;animation:feedback-slide-up .25s ease-out}.feedback-modal-content{flex:1;overflow-y:auto}@keyframes feedback-slide-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.feedback-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md, 16px) var(--space-lg, 20px);border-bottom:1px solid var(--grove-border-light, #e5e7eb)}.feedback-header h2{margin:0;font-size:var(--text-lg, 18px);font-weight:var(--font-semibold, 600);color:var(--grove-text-primary, #1a1a1a)}.feedback-close{width:36px;height:36px;background:transparent;border:none;border-radius:var(--radius-md, 8px);cursor:pointer;color:var(--grove-text-secondary, #6b7280);display:flex;align-items:center;justify-content:center;transition:all var(--transition-base, .15s)}.feedback-close:hover{color:var(--grove-text-primary, #1a1a1a);background:var(--grove-bg-secondary, #f3f4f6)}.feedback-screenshot{padding:var(--space-md, 16px) var(--space-lg, 20px);border-bottom:1px solid var(--grove-border-light, #e5e7eb)}.feedback-take-screenshot{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:10px 16px;background:var(--grove-bg-secondary, #f8f9fa);border:1px dashed var(--grove-border-medium, #d1d5db);border-radius:var(--radius-md, 8px);color:var(--grove-text-secondary, #6b7280);font-size:var(--text-sm, 14px);font-weight:var(--font-medium, 500);cursor:pointer;transition:all var(--transition-base, .15s)}.feedback-take-screenshot:hover:not(:disabled){background:var(--grove-bg-tertiary, #f3f4f6);border-color:var(--grove-primary, #667eea);color:var(--grove-primary, #667eea)}.feedback-take-screenshot:disabled{opacity:.7;cursor:wait}.feedback-screenshot-captured{display:flex;flex-direction:column;gap:4px}.feedback-screenshot-captured .screenshot-size{color:var(--grove-text-muted, #9ca3af);font-size:var(--text-xs, 12px)}.feedback-screenshot-preview{position:relative;border-radius:var(--radius-md, 8px);overflow:hidden;border:1px solid var(--grove-border-light, #e5e7eb)}.feedback-screenshot-preview img{width:100%;max-height:160px;object-fit:contain;display:block}.feedback-screenshot-delete{position:absolute;top:6px;right:6px;width:24px;height:24px;background:#0009;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity var(--transition-base, .15s)}.feedback-screenshot-preview:hover .feedback-screenshot-delete{opacity:1}.feedback-screenshot-delete:hover{background:#ef4444e6}.feedback-attachments{padding:var(--space-md, 16px) var(--space-lg, 20px);border-bottom:1px solid var(--grove-border-light, #e5e7eb)}.feedback-attachment-previews{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.feedback-attachment-thumb{position:relative;width:72px;height:72px;border-radius:var(--radius-md, 8px);overflow:hidden;border:1px solid var(--grove-border-light, #e5e7eb);flex-shrink:0}.feedback-attachment-thumb img{width:100%;height:100%;object-fit:cover;display:block}.feedback-attachment-delete{position:absolute;top:4px;right:4px;width:20px;height:20px;background:#0009;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity var(--transition-base, .15s)}.feedback-attachment-thumb:hover .feedback-attachment-delete{opacity:1}.feedback-attachment-delete:hover{background:#ef4444e6}.feedback-dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:16px;border:1px dashed var(--grove-border-medium, #d1d5db);border-radius:var(--radius-md, 8px);background:var(--grove-bg-secondary, #f8f9fa);color:var(--grove-text-secondary, #6b7280);font-size:var(--text-sm, 13px);cursor:pointer;transition:all var(--transition-base, .15s)}.feedback-dropzone:hover{border-color:var(--grove-primary, #667eea);color:var(--grove-primary, #667eea);background:var(--grove-bg-tertiary, #f3f4f6)}.feedback-dropzone.drag-over{border-color:var(--grove-primary, #667eea);background:#667eea14;color:var(--grove-primary, #667eea)}.feedback-dropzone-hint{font-size:var(--text-xs, 11px);color:var(--grove-text-muted, #9ca3af)}.feedback-category{padding:var(--space-md, 16px) var(--space-lg, 20px)}.feedback-label{display:block;font-size:var(--text-xs, 12px);font-weight:var(--font-semibold, 600);color:var(--grove-text-muted, #6b7280);margin-bottom:10px;text-transform:uppercase;letter-spacing:var(--tracking-wider, .05em)}.feedback-category-options{display:flex;gap:8px}.feedback-category-option{flex:1;display:flex;flex-direction:row;align-items:center;justify-content:center;gap:6px;padding:10px 12px;background:var(--grove-bg-secondary, #f8f9fa);border:1px solid var(--grove-border-light, #e5e7eb);border-radius:var(--radius-md, 8px);cursor:pointer;transition:all var(--transition-base, .15s);color:var(--grove-text-secondary, #6b7280);font-size:var(--text-sm, 13px)}.feedback-category-option:hover{border-color:var(--grove-border-medium, #d1d5db);background:var(--grove-bg-tertiary, #f3f4f6)}.feedback-category-option.selected{background:#667eea1a;border-color:var(--grove-primary, #667eea);color:var(--grove-primary, #667eea)}.feedback-category-option input{display:none}.category-icon{width:16px;height:16px;display:flex;align-items:center;justify-content:center}.feedback-message{padding:var(--space-md, 16px) var(--space-lg, 20px)}.feedback-textarea{width:100%;padding:var(--space-md, 14px);background:var(--grove-bg-primary, white);border:1px solid var(--grove-border-light, #e5e7eb);border-radius:var(--radius-md, 8px);color:var(--grove-text-primary, #1a1a1a);font-family:inherit;font-size:var(--text-base, 14px);line-height:1.6;resize:vertical;min-height:180px;transition:border-color var(--transition-base, .15s),box-shadow var(--transition-base, .15s);box-sizing:border-box}.feedback-textarea::placeholder{color:var(--grove-text-muted, #9ca3af)}.feedback-textarea:hover{border-color:var(--grove-border-medium, #d1d5db)}.feedback-textarea:focus{outline:none;border-color:var(--grove-primary, #667eea);box-shadow:var(--shadow-glow-primary, 0 0 0 3px rgba(102, 126, 234, .15))}.feedback-char-count{text-align:right;font-size:var(--text-xs, 12px);color:var(--grove-text-muted, #9ca3af);margin-top:4px}.feedback-error{margin:0 var(--space-lg, 20px) var(--space-md, 16px);padding:10px 12px;background:#ef44441a;border:1px solid var(--grove-danger, #ef4444);border-radius:var(--radius-md, 6px);color:var(--grove-danger, #ef4444);font-size:var(--text-sm, 13px)}.feedback-actions{display:flex;gap:12px;padding:var(--space-md, 16px) var(--space-lg, 20px);border-top:1px solid var(--grove-border-light, #e5e7eb);flex-shrink:0}.feedback-cancel,.feedback-submit{flex:1;padding:10px 16px;border-radius:var(--radius-md, 8px);font-size:var(--text-sm, 14px);font-weight:var(--font-medium, 500);cursor:pointer;transition:all var(--transition-base, .15s)}.feedback-cancel{background:var(--grove-bg-secondary, #f8f9fa);border:1px solid var(--grove-border-light, #e5e7eb);color:var(--grove-text-secondary, #6b7280)}.feedback-cancel:hover:not(:disabled){background:var(--grove-bg-tertiary, #f3f4f6);border-color:var(--grove-border-medium, #d1d5db)}.feedback-submit{background:linear-gradient(135deg,var(--grove-primary, #667eea),var(--grove-primary-dark, #5a67d8));border:none;color:#fff;display:flex;align-items:center;justify-content:center;gap:8px}.feedback-submit:hover:not(:disabled){filter:brightness(1.05);box-shadow:var(--shadow-glow-primary, 0 0 0 3px rgba(102, 126, 234, .15))}.feedback-submit:active:not(:disabled){transform:scale(.98)}.feedback-submit:disabled,.feedback-cancel:disabled{opacity:.5;cursor:not-allowed}.feedback-success{display:flex;flex-direction:column;align-items:center;gap:16px;padding:40px 20px;color:var(--grove-text-primary, #1a1a1a)}.feedback-success p{margin:0;font-size:var(--text-base, 16px)}[data-theme=dark] .feedback-modal{background:var(--grove-bg-dark, #1f2937)}[data-theme=dark] .feedback-header{border-bottom-color:var(--grove-border-dark, #374151)}[data-theme=dark] .feedback-header h2{color:var(--grove-text-primary, #f3f4f6)}[data-theme=dark] .feedback-close{color:var(--grove-text-muted, #9ca3af)}[data-theme=dark] .feedback-close:hover{background:#ffffff1a;color:var(--grove-text-primary, #f3f4f6)}[data-theme=dark] .feedback-screenshot{border-bottom-color:var(--grove-border-dark, #374151)}[data-theme=dark] .feedback-take-screenshot{background:#ffffff0d;border-color:var(--grove-border-dark, #374151);color:var(--grove-text-secondary, #d1d5db)}[data-theme=dark] .feedback-take-screenshot:hover:not(:disabled){background:#ffffff14;border-color:var(--grove-primary, #667eea);color:var(--grove-primary-light, #818cf8)}[data-theme=dark] .feedback-screenshot-preview{border-color:var(--grove-border-dark, #374151)}[data-theme=dark] .feedback-attachments{border-bottom-color:var(--grove-border-dark, #374151)}[data-theme=dark] .feedback-attachment-thumb{border-color:var(--grove-border-dark, #374151)}[data-theme=dark] .feedback-dropzone{background:#ffffff0d;border-color:var(--grove-border-dark, #374151);color:var(--grove-text-secondary, #d1d5db)}[data-theme=dark] .feedback-dropzone:hover{background:#ffffff14;border-color:var(--grove-primary, #667eea);color:var(--grove-primary-light, #818cf8)}[data-theme=dark] .feedback-dropzone.drag-over{background:#667eea26;border-color:var(--grove-primary, #667eea);color:var(--grove-primary-light, #818cf8)}[data-theme=dark] .feedback-category-option{background:#ffffff0d;border-color:var(--grove-border-dark, #374151);color:var(--grove-text-secondary, #d1d5db)}[data-theme=dark] .feedback-category-option:hover{background:#ffffff14;border-color:var(--grove-border-medium, #4b5563)}[data-theme=dark] .feedback-category-option.selected{background:#667eea33;border-color:var(--grove-primary, #667eea);color:var(--grove-primary-light, #818cf8)}[data-theme=dark] .feedback-textarea{background:#ffffff0d;border-color:var(--grove-border-dark, #374151);color:var(--grove-text-primary, #f3f4f6)}[data-theme=dark] .feedback-textarea:hover{border-color:var(--grove-border-medium, #4b5563)}[data-theme=dark] .feedback-actions{border-top-color:var(--grove-border-dark, #374151)}[data-theme=dark] .feedback-cancel{background:#ffffff0d;border-color:var(--grove-border-dark, #374151);color:var(--grove-text-secondary, #d1d5db)}[data-theme=dark] .feedback-cancel:hover:not(:disabled){background:#ffffff1a}[data-theme=dark] .feedback-success{color:var(--grove-text-primary, #f3f4f6)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{min-height:100vh;line-height:1.5}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit;color:inherit}button{cursor:pointer;background:none;border:none}a{color:inherit;text-decoration:none}ul,ol{list-style:none}.no-select{user-select:none;-webkit-user-select:none}.has-tooltip{position:relative;display:inline-flex}.instant-tooltip{position:fixed;background:var(--grove-bg-tertiary, #374151);color:var(--grove-text-primary, #f9fafb);font-size:var(--text-xs, 11px);font-weight:var(--font-medium, 500);white-space:nowrap;padding:4px 8px;border-radius:var(--radius-sm, 4px);pointer-events:none;box-shadow:0 2px 8px #00000026;z-index:10100;display:flex;align-items:center;gap:6px}.instant-tooltip--above{transform:translate(-50%) translateY(calc(-100% - 8px));animation:tooltipInAbove .1s ease forwards}@keyframes tooltipInAbove{0%{opacity:0;transform:translate(-50%) translateY(calc(-100% - 4px))}to{opacity:1;transform:translate(-50%) translateY(calc(-100% - 8px))}}.instant-tooltip--below{transform:translate(-50%) translateY(8px);animation:tooltipInBelow .1s ease forwards}@keyframes tooltipInBelow{0%{opacity:0;transform:translate(-50%) translateY(4px)}to{opacity:1;transform:translate(-50%) translateY(8px)}}.instant-tooltip kbd{font-family:inherit;font-size:9px;font-weight:var(--font-semibold, 600);padding:1px 4px;border-radius:3px;background:#ffffff1f;border:1px solid rgba(255,255,255,.15);color:var(--grove-text-muted, #9ca3af);line-height:1.3}.theme-dark .instant-tooltip{background:var(--grove-bg-secondary, #111827);border:1px solid var(--grove-border-light, #374151);box-shadow:0 4px 12px #0006}.theme-dark .instant-tooltip kbd{background:#ffffff14;border-color:#ffffff1a}html{font-family:Sora,Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:16px}body{font-size:var(--text-base, .85rem);font-weight:var(--font-normal, 400);color:var(--text-primary, #1f2937);background:var(--bg-primary, #ffffff)}h1,h2,h3,h4,h5,h6{font-weight:var(--font-semibold, 600);line-height:1.3;letter-spacing:var(--tracking-tight, -.02em)}h1{font-size:var(--text-2xl, 1.35rem)}h2{font-size:var(--text-xl, 1.15rem)}h3{font-size:var(--text-lg, 1rem)}h4{font-size:var(--text-md, .9rem)}p+p{margin-top:.75em}code,pre,kbd{font-family:SF Mono,SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace}.material-icons{font-size:inherit;vertical-align:middle}.material-icons.sm{font-size:16px}.material-icons.md{font-size:20px}.material-icons.lg{font-size:24px}.theme-light{--grove-bg-primary: #ffffff;--grove-bg-secondary: #f8f9fa;--grove-bg-tertiary: #e9ecef;--grove-bg-viewport: #e5e7eb;--grove-bg-elevated: #ffffff;--grove-text-primary: #1f2937;--grove-text-secondary: #4b5563;--grove-text-muted: #9ca3af;--grove-border-light: #d1d5db;--grove-border-medium: #b8bfc7;--grove-shadow-light: rgba(0, 0, 0, .08);--grove-shadow-medium: rgba(0, 0, 0, .12);--grove-shadow-dark: rgba(0, 0, 0, .18);--grove-accent-primary: #5e81ac;--grove-accent-hover: #81a1c1;--grove-accent-selection: #88c0d0;--grove-accent-glow: rgba(136, 192, 208, .25);--grove-status-pending: #f59e0b;--grove-status-in-progress: #3b82f6;--grove-status-blocked: #ef4444;--grove-status-completed: #10b981;--grove-risk-low: #10b981;--grove-risk-medium: #f59e0b;--grove-risk-high: #ef4444;--grove-level-domain: #7f1d1d;--grove-level-domain-bright: #dc2626;--grove-level-initiative: #b45309;--grove-level-initiative-bright: #f59e0b;--grove-level-project: #0f766e;--grove-level-project-bright: #14b8a6;--grove-level-task: #1d4ed8;--grove-level-task-bright: #3b82f6;--grove-node-bg: var(--grove-bg-elevated);--grove-node-border: var(--grove-border-medium);--grove-node-shadow: var(--grove-shadow-light);--grove-node-shadow-hover: var(--grove-shadow-medium);--grove-grid-color: #d1d5db;--grove-container-bg-base: #faf7f2;--grove-edge-delete-bg: #ef4444;--grove-edge-delete-hover: #f87171;--grove-edge-delete-active: #dc2626;--grove-edge-delete-border: white;--grove-edge-delete-glow: rgba(239, 68, 68, .4);--ui-bg-primary: var(--grove-bg-primary);--ui-bg-secondary: var(--grove-bg-secondary);--ui-bg-tertiary: var(--grove-bg-tertiary);--ui-text-primary: var(--grove-text-primary);--ui-text-secondary: var(--grove-text-secondary);--ui-text-muted: var(--grove-text-muted);--ui-border: var(--grove-border-light);--ui-border-light: var(--grove-border-light);--ui-border-medium: var(--grove-border-medium);--grove-viewport-bg: var(--grove-bg-viewport);--grove-primary: var(--grove-accent-primary);--grove-bg-muted: var(--grove-bg-tertiary);--grove-border-dark: var(--grove-border-medium);--grove-card-shadow: 0 2px 8px var(--grove-shadow-light);--grove-info: var(--grove-status-in-progress);--grove-info-bg: rgba(59, 130, 246, .1);--grove-success: var(--grove-status-completed);--grove-warning: var(--grove-status-pending);--grove-danger: var(--grove-status-blocked);--bg-secondary: var(--grove-bg-secondary);--bg-tertiary: var(--grove-bg-tertiary);--text-primary: var(--grove-text-primary);--text-secondary: var(--grove-text-secondary);--border-primary: var(--grove-border-light);--info-color: var(--grove-status-in-progress);--success-color: var(--grove-status-completed);--warning-color: var(--grove-status-pending);--warning-bg: color-mix(in srgb, var(--grove-status-pending) 10%, var(--grove-bg-primary));--error-color: var(--grove-status-blocked);--error-bg: color-mix(in srgb, var(--grove-status-blocked) 10%, var(--grove-bg-primary))}.theme-dark{--grove-bg-primary: #1f2937;--grove-bg-secondary: #111827;--grove-bg-tertiary: #374151;--grove-bg-viewport: #0f1419;--grove-bg-elevated: #283548;--grove-text-primary: #f9fafb;--grove-text-secondary: #e5e7eb;--grove-text-muted: #9ca3af;--grove-border-light: #374151;--grove-border-medium: #4b5563;--grove-shadow-light: rgba(0, 0, 0, .2);--grove-shadow-medium: rgba(0, 0, 0, .3);--grove-shadow-dark: rgba(0, 0, 0, .4);--grove-accent-primary: #88c0d0;--grove-accent-hover: #8fbcbb;--grove-accent-selection: #81a1c1;--grove-accent-glow: rgba(136, 192, 208, .2);--grove-status-pending: #fbbf24;--grove-status-in-progress: #60a5fa;--grove-status-blocked: #f87171;--grove-status-completed: #34d399;--grove-risk-low: #34d399;--grove-risk-medium: #fbbf24;--grove-risk-high: #f87171;--grove-level-domain: #7f1d1d;--grove-level-domain-bright: #ef4444;--grove-level-initiative: #b45309;--grove-level-initiative-bright: #f59e0b;--grove-level-project: #0f766e;--grove-level-project-bright: #14b8a6;--grove-level-task: #1d4ed8;--grove-level-task-bright: #3b82f6;--grove-node-bg: var(--grove-bg-elevated);--grove-node-border: var(--grove-border-medium);--grove-node-shadow: var(--grove-shadow-light);--grove-node-shadow-hover: var(--grove-shadow-medium);--grove-grid-color: #1f2937;--grove-container-bg-base: #f5f0e8;--grove-edge-delete-bg: #ef4444;--grove-edge-delete-hover: #f87171;--grove-edge-delete-active: #dc2626;--grove-edge-delete-border: #1f2937;--grove-edge-delete-glow: rgba(239, 68, 68, .5);--ui-bg-primary: var(--grove-bg-primary);--ui-bg-secondary: var(--grove-bg-secondary);--ui-bg-tertiary: var(--grove-bg-tertiary);--ui-text-primary: var(--grove-text-primary);--ui-text-secondary: var(--grove-text-secondary);--ui-text-muted: var(--grove-text-muted);--ui-border: var(--grove-border-light);--ui-border-light: var(--grove-border-light);--ui-border-medium: var(--grove-border-medium);--grove-viewport-bg: var(--grove-bg-viewport);--grove-primary: var(--grove-accent-primary);--grove-bg-muted: var(--grove-bg-tertiary);--grove-border-dark: var(--grove-border-medium);--grove-card-shadow: 0 2px 8px var(--grove-shadow-medium);--grove-info: var(--grove-status-in-progress);--grove-info-bg: rgba(96, 165, 250, .15);--grove-success: var(--grove-status-completed);--grove-warning: var(--grove-status-pending);--grove-danger: var(--grove-status-blocked);--bg-secondary: var(--grove-bg-secondary);--bg-tertiary: var(--grove-bg-tertiary);--text-primary: var(--grove-text-primary);--text-secondary: var(--grove-text-secondary);--border-primary: var(--grove-border-light);--info-color: var(--grove-status-in-progress);--success-color: var(--grove-status-completed);--warning-color: var(--grove-status-pending);--warning-bg: color-mix(in srgb, var(--grove-status-pending) 15%, var(--grove-bg-primary));--error-color: var(--grove-status-blocked);--error-bg: color-mix(in srgb, var(--grove-status-blocked) 15%, var(--grove-bg-primary))}.theme-light.palette-nord{--grove-accent-primary: #5e81ac;--grove-accent-hover: #81a1c1;--grove-accent-selection: #88c0d0;--grove-accent-glow: rgba(136, 192, 208, .25);--grove-edge-color: #5e81ac;--grove-edge-hover: #81a1c1;--grove-edge-glow: rgba(136, 192, 208, .4);--grove-highlight-color: #bf616a;--grove-highlight-glow: rgba(191, 97, 106, .4);--grove-bg-primary: #eceff4;--grove-bg-secondary: #e5e9f0;--grove-bg-tertiary: #d8dee9;--grove-bg-viewport: #d8dee9;--grove-border-light: #d8dee9;--grove-border-medium: #c9d1e0}.theme-dark.palette-nord{--grove-accent-primary: #88c0d0;--grove-accent-hover: #8fbcbb;--grove-accent-selection: #81a1c1;--grove-accent-glow: rgba(136, 192, 208, .2);--grove-edge-color: #88c0d0;--grove-edge-hover: #8fbcbb;--grove-edge-glow: rgba(136, 192, 208, .4);--grove-highlight-color: #bf616a;--grove-highlight-glow: rgba(191, 97, 106, .4);--grove-bg-primary: #2e3440;--grove-bg-secondary: #3b4252;--grove-bg-tertiary: #434c5e;--grove-bg-viewport: #272c36;--grove-border-light: #434c5e;--grove-border-medium: #4c566a;--grove-text-primary: #eceff4;--grove-text-secondary: #d8dee9;--grove-text-muted: #7b88a1}.theme-light.palette-winter{--grove-accent-primary: #64748b;--grove-accent-hover: #475569;--grove-accent-selection: #94a3b8;--grove-accent-glow: rgba(148, 163, 184, .25);--grove-edge-color: #64748b;--grove-edge-hover: #475569;--grove-edge-glow: rgba(100, 116, 139, .4);--grove-highlight-color: #ef4444;--grove-highlight-glow: rgba(239, 68, 68, .4);--grove-bg-primary: #f8fafc;--grove-bg-secondary: #f1f5f9;--grove-bg-tertiary: #e2e8f0;--grove-bg-viewport: #cbd5e1;--grove-border-light: #e2e8f0;--grove-border-medium: #cbd5e1}.theme-dark.palette-winter{--grove-accent-primary: #94a3b8;--grove-accent-hover: #cbd5e1;--grove-accent-selection: #cbd5e1;--grove-accent-glow: rgba(203, 213, 225, .15);--grove-edge-color: #94a3b8;--grove-edge-hover: #cbd5e1;--grove-edge-glow: rgba(148, 163, 184, .4);--grove-highlight-color: #f87171;--grove-highlight-glow: rgba(248, 113, 113, .4);--grove-bg-primary: #0f172a;--grove-bg-secondary: #1e293b;--grove-bg-tertiary: #334155;--grove-bg-viewport: #0c1322;--grove-border-light: #334155;--grove-border-medium: #475569;--grove-text-primary: #f8fafc;--grove-text-secondary: #cbd5e1;--grove-text-muted: #64748b}.theme-light.palette-amber{--grove-accent-primary: #b45309;--grove-accent-hover: #92400e;--grove-accent-selection: #d97706;--grove-accent-glow: rgba(217, 119, 6, .25);--grove-edge-color: #b45309;--grove-edge-hover: #d97706;--grove-edge-glow: rgba(217, 119, 6, .4);--grove-highlight-color: #dc2626;--grove-highlight-glow: rgba(220, 38, 38, .4);--grove-bg-primary: #fefdfb;--grove-bg-secondary: #faf8f5;--grove-bg-tertiary: #f5f0e8;--grove-bg-viewport: #ebe5db;--grove-border-light: #e7e5e4;--grove-border-medium: #d6d3d1;--grove-text-primary: #1c1917;--grove-text-secondary: #57534e;--grove-text-muted: #a8a29e}.theme-dark.palette-amber{--grove-accent-primary: #d79921;--grove-accent-hover: #fabd2f;--grove-accent-selection: #fe8019;--grove-accent-glow: rgba(215, 153, 33, .2);--grove-edge-color: #d79921;--grove-edge-hover: #fabd2f;--grove-edge-glow: rgba(215, 153, 33, .4);--grove-highlight-color: #fb4934;--grove-highlight-glow: rgba(251, 73, 52, .4);--grove-bg-primary: #282828;--grove-bg-secondary: #3c3836;--grove-bg-tertiary: #504945;--grove-bg-viewport: #1d2021;--grove-border-light: #504945;--grove-border-medium: #665c54;--grove-text-primary: #ebdbb2;--grove-text-secondary: #d5c4a1;--grove-text-muted: #928374}.theme-light.palette-catppuccin{--grove-accent-primary: #8839ef;--grove-accent-hover: #7c3aed;--grove-accent-selection: #dd7878;--grove-accent-glow: rgba(136, 57, 239, .15);--grove-edge-color: #8839ef;--grove-edge-hover: #7287fd;--grove-edge-glow: rgba(136, 57, 239, .4);--grove-highlight-color: #d20f39;--grove-highlight-glow: rgba(210, 15, 57, .4);--grove-bg-primary: #eff1f5;--grove-bg-secondary: #e6e9ef;--grove-bg-tertiary: #dce0e8;--grove-bg-viewport: #e2e5ed;--grove-border-light: #ccd0da;--grove-border-medium: #bcc0cc;--grove-text-primary: #4c4f69;--grove-text-secondary: #6c6f85;--grove-text-muted: #9ca0b0}.theme-dark.palette-catppuccin{--grove-accent-primary: #cba6f7;--grove-accent-hover: #f5c2e7;--grove-accent-selection: #b4befe;--grove-accent-glow: rgba(203, 166, 247, .15);--grove-edge-color: #cba6f7;--grove-edge-hover: #89b4fa;--grove-edge-glow: rgba(203, 166, 247, .4);--grove-highlight-color: #f38ba8;--grove-highlight-glow: rgba(243, 139, 168, .4);--grove-bg-primary: #1e1e2e;--grove-bg-secondary: #313244;--grove-bg-tertiary: #45475a;--grove-bg-viewport: #181825;--grove-border-light: #45475a;--grove-border-medium: #585b70;--grove-text-primary: #cdd6f4;--grove-text-secondary: #bac2de;--grove-text-muted: #6c7086}.theme-light.palette-neutral{--grove-accent-primary: #78716c;--grove-accent-hover: #57534e;--grove-accent-selection: #a8a29e;--grove-accent-glow: rgba(168, 162, 158, .25);--grove-edge-color: #78716c;--grove-edge-hover: #57534e;--grove-edge-glow: rgba(120, 113, 108, .4);--grove-highlight-color: #dc2626;--grove-highlight-glow: rgba(220, 38, 38, .4);--grove-bg-primary: #fafaf9;--grove-bg-secondary: #f5f5f4;--grove-bg-tertiary: #e7e5e4;--grove-bg-viewport: #d6d3d1;--grove-border-light: #e7e5e4;--grove-border-medium: #d6d3d1;--grove-text-primary: #1c1917;--grove-text-secondary: #57534e;--grove-text-muted: #a8a29e}.theme-dark.palette-neutral{--grove-accent-primary: #a8a29e;--grove-accent-hover: #d6d3d1;--grove-accent-selection: #d6d3d1;--grove-accent-glow: rgba(214, 211, 209, .15);--grove-edge-color: #a8a29e;--grove-edge-hover: #d6d3d1;--grove-edge-glow: rgba(168, 162, 158, .4);--grove-highlight-color: #f87171;--grove-highlight-glow: rgba(248, 113, 113, .4);--grove-bg-primary: #1c1917;--grove-bg-secondary: #292524;--grove-bg-tertiary: #3d3836;--grove-bg-viewport: #171412;--grove-border-light: #44403c;--grove-border-medium: #57534e;--grove-text-primary: #fafaf9;--grove-text-secondary: #d6d3d1;--grove-text-muted: #78716c}.grove-app{display:flex;flex-direction:column;height:100vh;width:100vw;overflow:hidden;background:var(--grove-bg-primary);color:var(--grove-text-primary)}.grove-main{display:flex;flex:1;overflow:hidden}.site-navigation{display:flex;align-items:center;justify-content:space-between;height:56px;padding:0 var(--space-md, 16px);background:var(--grove-bg-primary);border-bottom:1px solid var(--grove-border-light);flex-shrink:0}.nav-left{display:flex;align-items:center;gap:var(--space-lg, 24px)}.nav-center{display:flex;align-items:center;gap:var(--space-sm, 8px)}.nav-right{display:flex;align-items:center;gap:var(--space-md, 12px)}.nav-links{display:flex;gap:var(--space-sm, 8px)}.grove-menu{position:relative}.grove-menu-trigger{display:flex;align-items:center;gap:var(--space-sm, 8px);padding:var(--space-sm, 8px) var(--space-md, 12px);font-size:var(--text-lg, 1rem);font-weight:var(--font-bold, 700);color:var(--grove-accent-primary);border-radius:var(--radius-md, 8px);cursor:pointer;transition:all var(--transition-base, .15s ease)}.grove-menu-trigger:hover{background:var(--grove-bg-secondary)}.grove-menu-trigger .material-icons{font-size:18px;transition:transform var(--transition-base)}.grove-menu-trigger.open .material-icons{transform:rotate(180deg)}.dropdown{position:absolute;top:100%;left:0;margin-top:var(--space-xs, 4px);min-width:200px;background:var(--grove-bg-primary);border:1px solid var(--grove-border-light);border-radius:var(--radius-md, 8px);box-shadow:var(--shadow-lg, 0 8px 24px rgba(0, 0, 0, .12));z-index:var(--z-popover, 1000);padding:var(--space-xs, 4px);animation:fadeInScale .15s ease}.theme-dark .dropdown{box-shadow:0 8px 24px #0006}.dropdown-right{left:auto;right:0}.dropdown-menu-wide{min-width:240px}.dropdown-item{display:flex;align-items:center;gap:var(--space-sm, 8px);padding:var(--space-sm, 10px) var(--space-md, 12px);font-size:var(--text-base, 13px);color:var(--grove-text-primary);border-radius:var(--radius-sm, 4px);cursor:pointer;transition:all var(--transition-base)}.dropdown-item:hover{background:var(--grove-bg-secondary);color:var(--grove-text-primary)}.dropdown-item .material-icons{font-size:18px;color:var(--grove-text-secondary)}.dropdown-item:hover .material-icons{color:var(--grove-text-primary)}.dropdown-divider{height:1px;margin:var(--space-xs, 4px) 0;background:var(--grove-border-light)}.file-menu{position:relative}.file-menu-trigger{padding:var(--space-sm, 6px) var(--space-md, 12px);font-size:var(--text-base, 14px);color:var(--grove-text-secondary);border-radius:var(--radius-md, 6px);cursor:pointer;transition:all var(--transition-base)}.file-menu-trigger:hover{background:var(--grove-bg-secondary);color:var(--grove-text-primary)}.level-selector-tabs{display:flex;gap:var(--space-xs, 4px);background:var(--grove-bg-secondary);padding:var(--space-xs, 4px);border-radius:var(--radius-md, 8px)}.level-tab{padding:var(--space-sm, 6px) var(--space-md, 14px);font-size:var(--text-sm, 13px);font-weight:var(--font-medium, 500);color:var(--grove-text-secondary);border-radius:var(--radius-sm, 6px);cursor:pointer;transition:all var(--transition-base);white-space:nowrap}.level-tab:hover{color:var(--grove-text-primary);background:var(--grove-bg-tertiary)}.level-tab.active{background:var(--grove-bg-primary);color:var(--grove-text-primary);box-shadow:var(--shadow-sm, 0 2px 4px rgba(0, 0, 0, .08))}.theme-dark .level-tab.active{background:var(--grove-bg-tertiary)}.level-tab[data-level=domain]{--level-color: var(--grove-level-domain)}.level-tab[data-level=initiative]{--level-color: var(--grove-level-initiative)}.level-tab[data-level=project]{--level-color: var(--grove-level-project)}.level-tab[data-level=task]{--level-color: var(--grove-level-task)}.level-tab.active[data-level]{border-bottom:2px solid var(--level-color)}.expansion-control{display:flex;align-items:center;gap:var(--space-sm, 8px)}.expansion-control__label{font-size:var(--text-sm, 12px);color:var(--grove-text-muted);font-weight:var(--font-medium, 500)}.expansion-control__buttons{display:flex;background:var(--grove-bg-secondary);border-radius:var(--radius-md, 8px);padding:var(--space-xs, 4px);border:1px solid var(--grove-border-light)}.expansion-control__btn{padding:var(--space-sm, 6px) var(--space-md, 12px);font-size:var(--text-sm, 12px);font-weight:var(--font-medium, 500);color:var(--grove-text-secondary);border-radius:var(--radius-sm, 4px);transition:all var(--transition-base)}.expansion-control__btn:hover{color:var(--grove-text-primary);background:var(--grove-bg-tertiary)}.expansion-control__btn.active{background:var(--grove-accent-primary);color:#fff}.flow-direction-toggle{display:flex;align-items:center;gap:var(--space-sm, 8px);padding:var(--space-sm, 6px) var(--space-md, 12px);background:var(--grove-bg-secondary);border:1px solid var(--grove-border-light);border-radius:var(--radius-md, 8px);font-size:var(--text-sm, 12px);color:var(--grove-text-secondary);cursor:pointer;transition:all var(--transition-base)}.flow-direction-toggle:hover{background:var(--grove-bg-tertiary);color:var(--grove-text-primary)}.flow-direction-toggle .material-icons{font-size:16px}.menubar-icon,.help-trigger{width:32px;height:32px;display:flex;align-items:center;justify-content:center;color:var(--grove-text-secondary);border-radius:var(--radius-md, 6px);cursor:pointer;transition:all var(--transition-base)}.menubar-icon:hover,.help-trigger:hover{background:var(--grove-bg-secondary);color:var(--grove-text-primary)}.help-trigger .material-icons{font-size:20px}.user-menu{position:relative}.user-profile-button{padding:0;border:none;background:none;cursor:pointer}.user-avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,var(--grove-level-domain),var(--grove-level-initiative));display:flex;align-items:center;justify-content:center;color:#fff;font-size:var(--text-sm, 12px);font-weight:var(--font-semibold, 600);transition:transform var(--transition-base)}.user-profile-button:hover .user-avatar{transform:scale(1.05)}.user-avatar-large{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,var(--grove-level-domain),var(--grove-level-initiative));display:flex;align-items:center;justify-content:center}.user-initials,.user-initials-large{color:#fff;font-weight:var(--font-semibold, 600)}.user-initials{font-size:var(--text-sm, 12px)}.user-initials-large{font-size:var(--text-lg, 16px)}.user-info{display:flex;align-items:center;gap:var(--space-md, 12px);padding:var(--space-md, 16px)}.user-details{flex:1}.user-name{font-size:var(--text-base, 14px);font-weight:var(--font-semibold, 600);color:var(--grove-text-primary)}.user-email{font-size:var(--text-sm, 12px);color:var(--grove-text-muted)}.save-status,.server-status{display:flex;align-items:center;gap:var(--space-xs, 4px);padding:var(--space-xs, 4px) var(--space-sm, 8px);font-size:var(--text-xs, 11px);font-weight:var(--font-medium, 500);border-radius:var(--radius-full, 9999px);background:var(--grove-bg-secondary);color:var(--grove-text-secondary)}.save-status .material-icons,.server-status .material-icons{font-size:14px}.save-status--saving{color:var(--grove-status-in-progress)}.save-status--saved{color:var(--grove-status-completed)}.save-status--error{color:var(--grove-status-blocked)}.server-status--connected{color:var(--grove-status-completed)}.server-status--disconnected{color:var(--grove-status-blocked)}.viewport{flex:1;position:relative;background:var(--grove-bg-viewport);overflow:hidden}.viewport-grid{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(var(--grove-grid-color) 1px,transparent 1px),linear-gradient(90deg,var(--grove-grid-color) 1px,transparent 1px);background-size:40px 40px;opacity:.5;pointer-events:none}.viewport-content{position:absolute;top:0;right:0;bottom:0;left:0;overflow:visible}.viewport-controls{position:relative;display:flex;flex-direction:row;align-items:center;gap:var(--space-xs, 4px);background:color-mix(in srgb,var(--grove-bg-primary, #ffffff) 92%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--grove-border-light, #e5e7eb);border-radius:999px;padding:var(--space-xs, 4px) var(--space-sm, 8px);box-shadow:0 2px 8px #00000014,0 1px 2px #0000000a}.theme-dark .viewport-controls{box-shadow:0 4px 12px #0000004d}.viewport-control-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md, 6px);color:var(--grove-text-secondary);cursor:pointer;transition:all var(--transition-base)}.viewport-control-btn:hover{background:var(--grove-bg-secondary);color:var(--grove-text-primary)}.viewport-control-btn:active{transform:scale(.95)}.viewport-control-btn .material-icons{font-size:20px}.viewport-control-btn:disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.viewport-control-btn:disabled:hover{background:transparent;color:var(--grove-text-secondary);transform:none}.viewport-control-separator{width:1px;height:16px;background:var(--grove-border-light, #e5e7eb);margin:0 var(--space-xs, 4px)}.viewport-zoom-display{min-width:48px;height:28px;padding:0 var(--space-sm, 8px);font-size:var(--text-xs, 11px);font-weight:500;color:var(--grove-text-secondary, #6b7280);background:transparent;border:none;border-radius:var(--radius-md, 6px);cursor:pointer;transition:all .15s ease}.viewport-zoom-display:hover{background:var(--grove-bg-secondary, #f3f4f6);color:var(--grove-text-primary, #1f2937)}.selection-rectangle{position:absolute;border:2px dashed var(--grove-accent-selection);background:var(--grove-accent-glow);border-radius:var(--radius-md, 8px);pointer-events:none;z-index:var(--z-overlay, 300)}.right-panel{width:100%;height:100%;background:var(--grove-bg-primary);display:flex;flex-direction:column}.right-panel.collapsed{width:0;min-width:0;overflow:hidden;border-left:none}.right-panel__tabs{display:flex;border-bottom:1px solid var(--grove-border-light)}.right-panel__tab{flex:1;padding:var(--space-md, 12px) var(--space-md, 16px);font-size:var(--text-base, 13px);font-weight:var(--font-medium, 500);color:var(--grove-text-secondary);text-align:center;cursor:pointer;transition:all var(--transition-base);border-bottom:2px solid transparent}.right-panel__tab:hover{color:var(--grove-text-primary);background:var(--grove-bg-secondary)}.right-panel__tab.active{color:var(--grove-accent-primary);border-bottom-color:var(--grove-accent-primary)}.right-panel__content{flex:1;overflow-y:auto}.panel-collapse-btn{position:absolute;display:flex;align-items:center;justify-content:center;width:20px;height:40px;background:var(--grove-bg-secondary);border:1px solid var(--grove-border-light);border-radius:var(--radius-sm, 4px);color:var(--grove-text-muted);cursor:pointer;z-index:var(--z-sticky, 200);transition:all var(--transition-base)}.panel-collapse-btn:hover{background:var(--grove-bg-tertiary);color:var(--grove-text-primary)}.panel-collapse-btn .material-icons{font-size:16px}.edge-svg{position:absolute;pointer-events:none;overflow:visible}.edge-path{fill:none;stroke:var(--grove-border-medium);stroke-width:2;transition:stroke var(--transition-base)}.edge-path:hover{stroke:var(--grove-accent-primary);stroke-width:3}.edge-path.critical{stroke:var(--grove-status-blocked);stroke-width:3;stroke-dasharray:8 4;animation:critical-flow 1s linear infinite}.edge-path.selected{stroke:var(--grove-accent-selection);stroke-width:3}.edge-arrowhead{fill:var(--grove-border-medium)}.edge-path:hover+.edge-arrowhead,.edge-path.selected+.edge-arrowhead{fill:var(--grove-accent-primary)}.edge-delete-btn{position:absolute;width:20px;height:20px;border-radius:50%;background:var(--grove-status-blocked);border:2px solid var(--grove-bg-primary);color:#fff;font-size:12px;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transform:scale(.8);transition:all var(--transition-base);z-index:var(--z-popover, 500)}.edge-path:hover~.edge-delete-btn,.edge-delete-btn:hover{opacity:1;transform:scale(1)}.edge-delete-btn:hover{background:var(--grove-edge-delete-bg-hover, #f87171);box-shadow:0 0 8px var(--grove-edge-delete-glow)}.edge-delete-btn:active{background:var(--grove-edge-delete-bg-active, #dc2626);transform:scale(.95)}.edge-creation-overlay{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:var(--z-overlay, 300)}.edge-preview-line{stroke:var(--grove-accent-primary);stroke-width:2;stroke-dasharray:6 4;fill:none}.edge-preview-endpoint{fill:var(--grove-accent-primary);r:6}.flex-container-background{position:absolute;border-radius:var(--radius-lg, 12px);border:2px solid var(--grove-level-project);background:var(--grove-container-bg-base, #faf7f2);pointer-events:auto;transition:width .2s ease-out,height .2s ease-out,left .2s ease-out,top .2s ease-out}.flex-container-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-sm, 8px) var(--space-md, 12px);border-top-left-radius:10px;border-top-right-radius:10px}.flex-container-header__info{display:flex;align-items:center;gap:var(--space-sm, 8px)}.flex-container-header__level{font-size:var(--text-xs, 10px);font-weight:var(--font-semibold, 600);text-transform:uppercase;padding:2px 6px;border-radius:var(--radius-sm, 4px)}.flex-container-header__name{font-size:var(--text-base, 14px);font-weight:var(--font-semibold, 600);color:var(--grove-text-primary)}.flex-container-collapse-btn{width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm, 4px);background:transparent;cursor:pointer;transition:background var(--transition-base)}.flex-container-collapse-btn:hover{background:#0000001a}.flex-container-count{position:absolute;bottom:var(--space-sm, 8px);right:var(--space-md, 12px);font-size:var(--text-xs, 11px);color:var(--grove-text-secondary)}.flex-container-background[data-level=domain]{border-color:var(--grove-level-domain);background:color-mix(in srgb,var(--grove-level-domain) 8%,var(--grove-container-bg-base, #faf7f2))}.flex-container-background[data-level=domain] .flex-container-header{border-bottom:1px solid var(--grove-level-domain);background:color-mix(in srgb,var(--grove-level-domain) 18%,var(--grove-container-bg-base, #faf7f2))}.flex-container-background[data-level=initiative]{border-color:var(--grove-level-initiative);background:color-mix(in srgb,var(--grove-level-initiative) 8%,var(--grove-container-bg-base, #faf7f2))}.flex-container-background[data-level=initiative] .flex-container-header{border-bottom:1px solid var(--grove-level-initiative);background:color-mix(in srgb,var(--grove-level-initiative) 18%,var(--grove-container-bg-base, #faf7f2))}.flex-container-background[data-level=project]{border-color:var(--grove-level-project);background:color-mix(in srgb,var(--grove-level-project) 8%,var(--grove-container-bg-base, #faf7f2))}.flex-container-background[data-level=project] .flex-container-header{border-bottom:1px solid var(--grove-level-project);background:color-mix(in srgb,var(--grove-level-project) 18%,var(--grove-container-bg-base, #faf7f2))}.grid-slot-placeholder{position:absolute;border:2px dashed var(--grove-border-light);border-radius:var(--radius-md, 8px);background:color-mix(in srgb,var(--grove-bg-primary) 50%,transparent);opacity:.5;transition:all var(--transition-base)}.grid-slot-placeholder:hover{border-color:var(--grove-accent-primary);background:var(--grove-accent-glow);opacity:1}.background-grid{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.background-grid__pattern{width:100%;height:100%;background-image:linear-gradient(var(--grove-grid-color) 1px,transparent 1px),linear-gradient(90deg,var(--grove-grid-color) 1px,transparent 1px);background-size:40px 40px;opacity:.5}.background-grid__pattern.dense{background-size:20px 20px}.background-grid__pattern.sparse{background-size:80px 80px}.node-lineage{display:flex;flex-wrap:wrap;gap:var(--space-xs, 4px);margin-bottom:var(--space-sm, 8px)}.node-pill{display:inline-flex;align-items:center;gap:var(--space-xs, 4px);padding:2px 8px;border-radius:var(--radius-sm, 4px);font-size:var(--text-xs, 12px);font-weight:var(--font-medium, 500);cursor:pointer;transition:all var(--transition-base)}.node-pill.domain{color:var(--grove-level-domain);background:color-mix(in srgb,var(--grove-level-domain) 15%,var(--grove-bg-primary))}.node-pill.initiative{color:var(--grove-level-initiative);background:color-mix(in srgb,var(--grove-level-initiative) 15%,var(--grove-bg-primary))}.node-pill.project{color:var(--grove-level-project);background:color-mix(in srgb,var(--grove-level-project) 15%,var(--grove-bg-primary))}.node-pill.task{color:var(--grove-level-task);background:color-mix(in srgb,var(--grove-level-task) 15%,var(--grove-bg-primary))}.theme-dark .node-pill.domain{color:#fca5a5;background:color-mix(in srgb,#ef4444 20%,var(--grove-bg-primary))}.theme-dark .node-pill.initiative{color:#fcd34d;background:color-mix(in srgb,#f59e0b 20%,var(--grove-bg-primary))}.theme-dark .node-pill.project{color:#5eead4;background:color-mix(in srgb,#14b8a6 20%,var(--grove-bg-primary))}.theme-dark .node-pill.task{color:#93c5fd;background:color-mix(in srgb,#3b82f6 20%,var(--grove-bg-primary))}.node-pill:hover{filter:brightness(.95);transform:scale(1.03)}.selection-badge{position:absolute;top:-8px;left:-8px;width:20px;height:20px;border-radius:50%;background:var(--grove-accent-selection);color:#fff;font-size:var(--text-xs, 10px);font-weight:var(--font-bold, 700);display:flex;align-items:center;justify-content:center;box-shadow:0 2px 4px #0003;z-index:20}.grove-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm, 8px);padding:var(--space-sm, 8px) var(--space-md, 16px);font-size:var(--text-base, 13px);font-weight:var(--font-medium, 500);border-radius:var(--radius-md, 8px);border:1px solid transparent;cursor:pointer;transition:all var(--transition-base);white-space:nowrap}.grove-btn:disabled{opacity:.5;cursor:not-allowed}.grove-btn .material-icons{font-size:18px}.grove-btn--primary{background:var(--grove-accent-primary);color:#fff;border-color:var(--grove-accent-primary)}.grove-btn--primary:hover:not(:disabled){background:var(--grove-accent-hover);border-color:var(--grove-accent-hover);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.grove-btn--primary:active:not(:disabled){transform:translateY(0)}.grove-btn--secondary{background:var(--grove-bg-secondary);color:var(--grove-text-primary);border-color:var(--grove-border-light)}.grove-btn--secondary:hover:not(:disabled){background:var(--grove-bg-tertiary);border-color:var(--grove-border-medium)}.grove-btn--ghost{background:transparent;color:var(--grove-text-secondary);border-color:transparent}.grove-btn--ghost:hover:not(:disabled){background:var(--grove-bg-secondary);color:var(--grove-text-primary)}.grove-btn--danger{background:var(--grove-status-blocked);color:#fff;border-color:var(--grove-status-blocked)}.grove-btn--danger:hover:not(:disabled){background:#dc2626;border-color:#dc2626}.grove-btn--icon{width:32px;height:32px;padding:0;border-radius:var(--radius-md, 6px)}.grove-btn--icon.sm{width:24px;height:24px}.grove-btn--icon.lg{width:40px;height:40px}.grove-btn--sm{padding:var(--space-xs, 4px) var(--space-sm, 8px);font-size:var(--text-sm, 12px)}.grove-btn--lg{padding:var(--space-sm, 10px) var(--space-lg, 24px);font-size:var(--text-md, 14px)}.grove-input{width:100%;padding:var(--space-sm, 10px) var(--space-md, 14px);font-size:var(--text-base, 13px);color:var(--grove-text-primary);background:var(--grove-bg-primary);border:1px solid var(--grove-border-light);border-radius:var(--radius-md, 8px);transition:all var(--transition-base)}.grove-input::placeholder{color:var(--grove-text-muted)}.grove-input:hover{border-color:var(--grove-border-medium)}.grove-input:focus{outline:none;border-color:var(--grove-accent-selection);box-shadow:0 0 0 3px var(--grove-accent-glow)}.grove-input:disabled{background:var(--grove-bg-tertiary);color:var(--grove-text-muted);cursor:not-allowed}.grove-input-group{position:relative}.grove-input-group .grove-input{padding-left:40px}.grove-input-group__icon{position:absolute;left:var(--space-md, 12px);top:50%;transform:translateY(-50%);color:var(--grove-text-muted);pointer-events:none}.grove-input-group__icon .material-icons{font-size:18px}.grove-textarea{resize:vertical;min-height:80px;line-height:1.5}.grove-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236c757d' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px;cursor:pointer}.grove-checkbox{display:inline-flex;align-items:center;gap:var(--space-sm, 8px);cursor:pointer}.grove-checkbox input[type=checkbox]{width:18px;height:18px;accent-color:var(--grove-accent-primary);cursor:pointer}.grove-checkbox__label{font-size:var(--text-base, 13px);color:var(--grove-text-primary)}.grove-form-group{margin-bottom:var(--space-md, 16px)}.grove-form-group:last-child{margin-bottom:0}.grove-label{display:block;margin-bottom:var(--space-xs, 4px);font-size:var(--text-sm, 12px);font-weight:var(--font-medium, 500);color:var(--grove-text-secondary)}.grove-label--required:after{content:" *";color:var(--grove-status-blocked)}.grove-form-help{margin-top:var(--space-xs, 4px);font-size:var(--text-xs, 11px);color:var(--grove-text-muted)}.grove-form-error{margin-top:var(--space-xs, 4px);font-size:var(--text-xs, 11px);color:var(--grove-status-blocked)}.node-details-card{background:var(--grove-bg-primary);border-radius:var(--radius-lg, 12px);border:1px solid var(--grove-border-light);margin:var(--space-sm, 8px) var(--space-sm, 8px) var(--space-md, 16px) var(--space-sm, 8px);position:relative;overflow:visible;box-shadow:0 2px 8px #00000014,0 4px 16px #0000000a}.theme-dark .node-details-card{background:var(--grove-bg-secondary);box-shadow:0 2px 8px #0000004d,0 4px 16px #0003}.node-details-card:hover{box-shadow:0 4px 12px #0000001f,0 8px 24px #00000014}.theme-dark .node-details-card:hover{box-shadow:0 4px 12px #0006,0 8px 24px #0000004d}.node-details-card__header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md, 16px);background:var(--grove-bg-secondary);border-bottom:1px solid var(--grove-border-light)}.theme-dark .node-details-card__header{background:var(--grove-bg-tertiary)}.node-details-card__title{font-size:var(--text-lg, 16px);font-weight:var(--font-semibold, 600);color:var(--grove-text-primary)}.node-details-card__close{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm, 4px);color:var(--grove-text-muted);cursor:pointer;transition:all var(--transition-base)}.node-details-card__close:hover{background:var(--grove-bg-tertiary);color:var(--grove-text-primary)}.node-details-card__body{padding:var(--space-md, 16px)}.node-details-tier{margin-bottom:var(--space-lg, 24px)}.node-details-tier:last-child{margin-bottom:0}.node-details-tier__header{display:flex;align-items:center;gap:var(--space-sm, 8px);margin-bottom:var(--space-md, 12px);cursor:pointer}.node-details-tier__icon{color:var(--grove-text-muted);font-size:18px;transition:transform var(--transition-base)}.node-details-tier__icon.collapsed{transform:rotate(-90deg)}.node-details-tier__title{font-size:var(--text-sm, 12px);font-weight:var(--font-semibold, 600);color:var(--grove-text-secondary);text-transform:uppercase;letter-spacing:var(--tracking-wide, .03em)}.node-details-tier__content{padding-left:var(--space-lg, 26px)}.node-details-tier__content.collapsed{display:none}.node-details-field{display:flex;flex-direction:column;gap:var(--space-xs, 4px);margin-bottom:var(--space-md, 12px)}.node-details-field:last-child{margin-bottom:0}.node-details-field__label{font-size:var(--text-sm, 12px);font-weight:var(--font-medium, 500);color:var(--grove-text-muted)}.node-details-field__value{font-size:var(--text-base, 13px);color:var(--grove-text-primary)}.node-details-field--editable .node-details-field__value{padding:var(--space-xs, 4px) var(--space-sm, 8px);border-radius:var(--radius-sm, 4px);cursor:pointer;transition:background var(--transition-base)}.node-details-field--editable .node-details-field__value:hover{background:var(--grove-bg-secondary)}.viewport-controls-container{position:absolute;top:var(--space-md, 16px);right:var(--space-md, 16px);display:flex;flex-direction:column;gap:var(--space-sm, 8px);z-index:var(--z-sticky, 200)}.viewport-controls-group{background:var(--grove-bg-primary);border:1px solid var(--grove-border-light);border-radius:var(--radius-lg, 10px);padding:var(--space-sm, 8px);display:flex;flex-direction:column;gap:var(--space-xs, 4px);box-shadow:var(--shadow-md)}.theme-dark .viewport-controls-group{box-shadow:0 4px 12px #0000004d}.viewport-controls-group .grove-btn--icon{color:var(--grove-text-secondary)}.viewport-controls-group .grove-btn--icon:hover{background:var(--grove-bg-secondary);color:var(--grove-text-primary)}.viewport-controls__divider{height:1px;background:var(--grove-border-light);margin:var(--space-xs, 2px) 0}.viewport-controls__zoom-display{text-align:center;font-size:var(--text-xs, 11px);color:var(--grove-text-muted);padding:var(--space-xs, 4px)}.grove-slider{width:100%;height:4px;border-radius:var(--radius-full);background:var(--grove-border-light);-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}.grove-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:var(--grove-accent-primary);border:2px solid var(--grove-bg-primary);box-shadow:var(--shadow-sm);cursor:pointer;transition:transform var(--transition-base)}.grove-slider::-webkit-slider-thumb:hover{transform:scale(1.1)}.grove-slider::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--grove-accent-primary);border:2px solid var(--grove-bg-primary);box-shadow:var(--shadow-sm);cursor:pointer}.grove-toggle{display:inline-flex;align-items:center;gap:var(--space-sm, 8px);cursor:pointer}.grove-toggle__track{width:40px;height:22px;border-radius:var(--radius-full);background:var(--grove-border-medium);position:relative;transition:background var(--transition-base)}.grove-toggle input:checked+.grove-toggle__track{background:var(--grove-accent-primary)}.grove-toggle__thumb{position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:var(--shadow-sm);transition:transform var(--transition-base)}.grove-toggle input:checked+.grove-toggle__track .grove-toggle__thumb{transform:translate(18px)}.grove-toggle input{position:absolute;opacity:0;width:0;height:0}.grove-toggle__label{font-size:var(--text-base, 13px);color:var(--grove-text-primary)}.grove-tabs{display:flex;border-bottom:1px solid var(--grove-border-light)}.grove-tab{padding:var(--space-sm, 10px) var(--space-md, 16px);font-size:var(--text-base, 13px);font-weight:var(--font-medium, 500);color:var(--grove-text-secondary);cursor:pointer;border-bottom:2px solid transparent;transition:all var(--transition-base)}.grove-tab:hover{color:var(--grove-text-primary);background:var(--grove-bg-secondary)}.grove-tab.active{color:var(--grove-accent-primary);border-bottom-color:var(--grove-accent-primary)}.grove-tab-panel{padding:var(--space-md, 16px)}.grove-tab-panel[hidden]{display:none}.grove-badge{display:inline-flex;align-items:center;gap:var(--space-xs, 4px);padding:var(--space-xs, 4px) var(--space-sm, 8px);font-size:var(--text-xs, 11px);font-weight:var(--font-semibold, 600);border-radius:var(--radius-full, 9999px);white-space:nowrap}.grove-badge--primary{background:var(--grove-accent-primary);color:#fff}.grove-badge--secondary{background:var(--grove-bg-tertiary);color:var(--grove-text-secondary)}.grove-badge--success{background:var(--grove-status-completed);color:#fff}.grove-badge--warning{background:var(--grove-status-pending);color:#fff}.grove-badge--danger{background:var(--grove-status-blocked);color:#fff}.grove-badge--info{background:var(--grove-status-in-progress);color:#fff}.grove-chip{display:inline-flex;align-items:center;gap:var(--space-xs, 4px);padding:var(--space-xs, 4px) var(--space-sm, 10px);font-size:var(--text-sm, 12px);font-weight:var(--font-medium, 500);color:var(--grove-text-primary);background:var(--grove-bg-secondary);border:1px solid var(--grove-border-light);border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition-base)}.grove-chip:hover{background:var(--grove-bg-tertiary);border-color:var(--grove-border-medium)}.grove-chip.selected{background:var(--grove-accent-glow);border-color:var(--grove-accent-selection);color:var(--grove-accent-primary)}.grove-chip__remove{width:16px;height:16px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-left:var(--space-xs, 2px);color:var(--grove-text-muted);transition:all var(--transition-base)}.grove-chip__remove:hover{background:var(--grove-status-blocked);color:#fff}.grove-chip__remove .material-icons{font-size:14px}.grove-color-picker{display:flex;gap:var(--space-sm, 8px);flex-wrap:wrap}.grove-color-swatch{width:28px;height:28px;border-radius:var(--radius-md, 6px);border:2px solid transparent;cursor:pointer;transition:all var(--transition-base)}.grove-color-swatch:hover{transform:scale(1.1)}.grove-color-swatch.selected{border-color:var(--grove-text-primary);box-shadow:0 0 0 2px var(--grove-bg-primary),0 0 0 4px var(--grove-accent-primary)}.build-version{position:fixed;bottom:6px;left:8px;font-size:10px;color:var(--text-muted, rgba(255, 255, 255, .25));z-index:999999;pointer-events:none;-webkit-user-select:none;user-select:none;font-family:var(--font-mono, monospace);letter-spacing:.3px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:var(--z-modal, 400);padding:var(--space-lg, 24px);animation:fadeIn .15s ease}.theme-dark .modal-overlay{background:#000000b3}.modal{width:100%;max-width:480px;max-height:calc(100vh - 48px);background:var(--grove-bg-primary);border-radius:var(--radius-xl, 16px);border:1px solid var(--grove-border-light);box-shadow:var(--shadow-xl);overflow:hidden;display:flex;flex-direction:column;animation:fadeInScale .2s ease}.theme-dark .modal{background:var(--grove-bg-secondary);box-shadow:0 12px 32px #00000080}.modal--wide{max-width:640px}.modal--narrow{max-width:360px}.modal__header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md, 16px) var(--space-lg, 20px);border-bottom:1px solid var(--grove-border-light)}.modal__title{font-size:var(--text-lg, 16px);font-weight:var(--font-semibold, 600);color:var(--grove-text-primary)}.modal__close{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md, 6px);color:var(--grove-text-muted);cursor:pointer;transition:all var(--transition-base)}.modal__close:hover{background:var(--grove-bg-tertiary);color:var(--grove-text-primary)}.modal__body{flex:1;padding:var(--space-lg, 20px);overflow-y:auto}.modal__footer{display:flex;justify-content:flex-end;gap:var(--space-sm, 8px);padding:var(--space-md, 16px) var(--space-lg, 20px);border-top:1px solid var(--grove-border-light);background:var(--grove-bg-secondary)}.theme-dark .modal__footer{background:var(--grove-bg-tertiary)}.modal--danger .modal__header{background:color-mix(in srgb,var(--grove-status-blocked) 10%,var(--grove-bg-primary));border-bottom-color:color-mix(in srgb,var(--grove-status-blocked) 20%,var(--grove-border-light))}.modal--danger .modal__title{color:var(--grove-status-blocked)}.toast-container{position:fixed;bottom:var(--space-lg, 24px);right:var(--space-lg, 24px);display:flex;flex-direction:column;gap:var(--space-sm, 8px);z-index:var(--z-tooltip, 600);pointer-events:none}.toast-container--top{bottom:auto;top:var(--space-lg, 24px)}.toast-container--left{right:auto;left:var(--space-lg, 24px)}.toast-container--center{right:50%;transform:translate(50%)}.toast{display:flex;align-items:flex-start;gap:var(--space-sm, 12px);min-width:280px;max-width:400px;padding:var(--space-md, 14px) var(--space-md, 16px);background:var(--grove-bg-primary);border-radius:var(--radius-md, 8px);border:1px solid var(--grove-border-light);box-shadow:var(--shadow-lg);pointer-events:auto;animation:slideInRight .25s ease}.theme-dark .toast{background:var(--grove-bg-secondary);box-shadow:0 8px 24px #0006}.toast--exiting{animation:slideOutRight .2s ease forwards}.toast__icon{flex-shrink:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center}.toast__icon .material-icons{font-size:20px}.toast__content{flex:1;min-width:0}.toast__title{font-size:var(--text-base, 13px);font-weight:var(--font-semibold, 600);color:var(--grove-text-primary);margin-bottom:var(--space-xs, 2px)}.toast__message{font-size:var(--text-sm, 12px);color:var(--grove-text-secondary);line-height:1.4}.toast__close{flex-shrink:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm, 4px);color:var(--grove-text-muted);cursor:pointer;transition:all var(--transition-base)}.toast__close:hover{background:var(--grove-bg-tertiary);color:var(--grove-text-primary)}.toast--success{border-left:4px solid var(--grove-status-completed)}.toast--success .toast__icon{color:var(--grove-status-completed)}.toast--warning{border-left:4px solid var(--grove-status-pending)}.toast--warning .toast__icon{color:var(--grove-status-pending)}.toast--error{border-left:4px solid var(--grove-status-blocked)}.toast--error .toast__icon{color:var(--grove-status-blocked)}.toast--info{border-left:4px solid var(--grove-status-in-progress)}.toast--info .toast__icon{color:var(--grove-status-in-progress)}@keyframes slideInRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes slideOutRight{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(100%)}}.save-status-indicator{display:flex;align-items:center;gap:var(--space-xs, 4px);padding:var(--space-xs, 4px) var(--space-sm, 8px);font-size:var(--text-xs, 11px);font-weight:var(--font-medium, 500);border-radius:var(--radius-full);background:var(--grove-bg-secondary);color:var(--grove-text-secondary);transition:all var(--transition-base)}.save-status-indicator .material-icons{font-size:14px}.save-status-indicator--saving{color:var(--grove-status-in-progress)}.save-status-indicator--saving .material-icons{animation:spin 1s linear infinite}.save-status-indicator--saved{color:var(--grove-status-completed)}.save-status-indicator--error{color:var(--grove-status-blocked);background:color-mix(in srgb,var(--grove-status-blocked) 10%,var(--grove-bg-secondary))}.server-status-indicator{display:flex;align-items:center;gap:var(--space-xs, 6px);padding:var(--space-xs, 4px) var(--space-sm, 10px);font-size:var(--text-xs, 11px);font-weight:var(--font-medium, 500);border-radius:var(--radius-full);background:var(--grove-bg-secondary)}.server-status-indicator__dot{width:8px;height:8px;border-radius:50%;background:var(--grove-text-muted)}.server-status-indicator--connected{color:var(--grove-status-completed)}.server-status-indicator--connected .server-status-indicator__dot{background:var(--grove-status-completed);box-shadow:0 0 6px var(--grove-status-completed)}.server-status-indicator--disconnected{color:var(--grove-status-blocked)}.server-status-indicator--disconnected .server-status-indicator__dot{background:var(--grove-status-blocked);animation:pulse 1.5s ease-in-out infinite}.server-status-indicator--connecting{color:var(--grove-status-pending)}.server-status-indicator--connecting .server-status-indicator__dot{background:var(--grove-status-pending);animation:pulse 1s ease-in-out infinite}.help-widget{position:relative}.help-widget__trigger{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md, 6px);color:var(--grove-text-secondary);cursor:pointer;transition:all var(--transition-base)}.help-widget__trigger:hover{background:var(--grove-bg-secondary);color:var(--grove-text-primary)}.help-widget__trigger .material-icons{font-size:20px}.help-widget__panel{position:absolute;top:100%;right:0;margin-top:var(--space-sm, 8px);width:320px;background:var(--grove-bg-primary);border:1px solid var(--grove-border-light);border-radius:var(--radius-lg, 12px);box-shadow:var(--shadow-lg);z-index:var(--z-popover, 500);overflow:hidden;animation:fadeInScale .15s ease}.theme-dark .help-widget__panel{box-shadow:0 8px 24px #0006}.help-widget__header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md, 12px) var(--space-md, 16px);border-bottom:1px solid var(--grove-border-light)}.help-widget__title{font-size:var(--text-base, 14px);font-weight:var(--font-semibold, 600);color:var(--grove-text-primary)}.help-widget__content{padding:var(--space-md, 16px);max-height:400px;overflow-y:auto}.help-widget__section{margin-bottom:var(--space-md, 16px)}.help-widget__section:last-child{margin-bottom:0}.help-widget__section-title{font-size:var(--text-xs, 11px);font-weight:var(--font-semibold, 600);color:var(--grove-text-muted);text-transform:uppercase;letter-spacing:var(--tracking-wide);margin-bottom:var(--space-sm, 8px)}.help-widget__shortcut{display:flex;justify-content:space-between;align-items:center;padding:var(--space-xs, 6px) 0}.help-widget__shortcut-label{font-size:var(--text-sm, 12px);color:var(--grove-text-secondary)}.help-widget__shortcut-keys{display:flex;gap:var(--space-xs, 4px)}.help-widget__key{padding:var(--space-xs, 2px) var(--space-sm, 6px);background:var(--grove-bg-tertiary);border:1px solid var(--grove-border-medium);border-radius:var(--radius-sm, 4px);font-size:var(--text-xs, 11px);font-weight:var(--font-medium, 500);color:var(--grove-text-secondary);font-family:inherit}.theme-dark .help-widget__key{background:var(--grove-bg-primary)}.error-boundary{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-2xl, 48px);text-align:center}.error-boundary__icon{width:64px;height:64px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:color-mix(in srgb,var(--grove-status-blocked) 10%,var(--grove-bg-primary));color:var(--grove-status-blocked);margin-bottom:var(--space-lg, 24px)}.error-boundary__icon .material-icons{font-size:32px}.error-boundary__title{font-size:var(--text-xl, 18px);font-weight:var(--font-semibold, 600);color:var(--grove-text-primary);margin-bottom:var(--space-sm, 8px)}.error-boundary__message{font-size:var(--text-base, 14px);color:var(--grove-text-secondary);max-width:400px;margin-bottom:var(--space-lg, 24px)}.error-boundary__actions{display:flex;gap:var(--space-sm, 8px)}.loading-spinner{width:20px;height:20px;border:2px solid var(--grove-border-light);border-top-color:var(--grove-accent-primary);border-radius:50%;animation:spin .8s linear infinite}.loading-spinner--sm{width:16px;height:16px;border-width:2px}.loading-spinner--lg{width:32px;height:32px;border-width:3px}.loading-skeleton{background:linear-gradient(90deg,var(--grove-bg-secondary) 25%,var(--grove-bg-tertiary) 50%,var(--grove-bg-secondary) 75%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite;border-radius:var(--radius-sm, 4px)}.progress-bar{width:100%;height:8px;background:var(--grove-bg-tertiary);border-radius:var(--radius-full);overflow:hidden}.progress-bar__fill{height:100%;background:var(--grove-accent-primary);border-radius:var(--radius-full);transition:width .3s ease}.progress-bar--success .progress-bar__fill{background:var(--grove-status-completed)}.progress-bar--warning .progress-bar__fill{background:var(--grove-status-pending)}.progress-bar--error .progress-bar__fill{background:var(--grove-status-blocked)}.tooltip{position:absolute;padding:var(--space-xs, 6px) var(--space-sm, 10px);background:var(--grove-bg-secondary);color:var(--grove-text-primary);font-size:var(--text-sm, 12px);border-radius:var(--radius-sm, 4px);border:1px solid var(--grove-border-light);box-shadow:var(--shadow-md);z-index:var(--z-tooltip, 600);pointer-events:none;white-space:nowrap;animation:fadeIn .1s ease}.theme-dark .tooltip{background:var(--grove-bg-tertiary)}.tooltip:before{content:"";position:absolute;width:8px;height:8px;background:inherit;border:inherit;border-right:none;border-bottom:none;transform:rotate(45deg)}.tooltip--top:before{bottom:-5px;left:50%;margin-left:-4px;transform:rotate(-135deg)}.tooltip--bottom:before{top:-5px;left:50%;margin-left:-4px;transform:rotate(45deg)}.settings-modal .modal{max-width:600px}.settings-nav{display:flex;flex-direction:column;gap:var(--space-xs, 4px);min-width:160px;padding:var(--space-md, 16px);border-right:1px solid var(--grove-border-light);background:var(--grove-bg-secondary)}.settings-nav__item{display:flex;align-items:center;gap:var(--space-sm, 8px);padding:var(--space-sm, 8px) var(--space-md, 12px);font-size:var(--text-base, 13px);color:var(--grove-text-secondary);border-radius:var(--radius-md, 6px);cursor:pointer;transition:all var(--transition-base)}.settings-nav__item:hover{background:var(--grove-bg-tertiary);color:var(--grove-text-primary)}.settings-nav__item.active{background:var(--grove-accent-glow);color:var(--grove-accent-primary)}.settings-nav__item .material-icons{font-size:18px}.settings-content{flex:1;padding:var(--space-lg, 24px);overflow-y:auto}.settings-section{margin-bottom:var(--space-xl, 32px)}.settings-section:last-child{margin-bottom:0}.settings-section__title{font-size:var(--text-md, 14px);font-weight:var(--font-semibold, 600);color:var(--grove-text-primary);margin-bottom:var(--space-md, 16px);padding-bottom:var(--space-sm, 8px);border-bottom:1px solid var(--grove-border-light)}.settings-row{display:flex;justify-content:space-between;align-items:center;padding:var(--space-sm, 12px) 0}.settings-row+.settings-row{border-top:1px solid var(--grove-border-light)}.settings-row__label{font-size:var(--text-base, 13px);color:var(--grove-text-primary)}.settings-row__description{font-size:var(--text-sm, 12px);color:var(--grove-text-muted);margin-top:var(--space-xs, 2px)}.risk-analysis-modal .modal{max-width:800px}.risk-analysis-modal .modal__body{padding:0}.agent-chat-panel{display:flex;flex-direction:column;height:100%;background:var(--grove-bg-primary)}.agent-chat-panel__header{display:flex;align-items:center;gap:var(--space-sm, 8px);padding:var(--space-md, 16px) var(--space-lg, 20px);border-bottom:1px solid var(--grove-border-light)}.agent-chat-panel__header-title{display:flex;align-items:center;gap:var(--space-sm, 8px);font-size:var(--text-lg, 16px);font-weight:var(--font-semibold, 600);color:var(--grove-text-primary)}.agent-chat-panel__header-actions{margin-left:auto;display:flex;gap:var(--space-xs, 4px)}.chat-messages{flex:1;padding:var(--space-md, 16px);overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-md, 12px);background:color-mix(in srgb,var(--grove-accent-primary) 3%,var(--grove-bg-primary))}.theme-dark .chat-messages{background:color-mix(in srgb,var(--grove-accent-primary) 5%,var(--grove-bg-secondary))}.chat-message{max-width:85%;padding:var(--space-md, 12px) var(--space-md, 14px);border-radius:var(--radius-lg, 12px);font-size:var(--text-base, 13px);line-height:1.5;animation:fadeInUp .2s ease}.chat-message--user{align-self:flex-end;background:var(--grove-accent-primary);color:#fff;border-bottom-right-radius:var(--radius-sm, 4px)}.chat-message--user a{color:#fff;text-decoration:underline}.chat-message--assistant{align-self:flex-start;background:var(--grove-bg-secondary);color:var(--grove-text-primary);border:1px solid var(--grove-border-light);border-bottom-left-radius:var(--radius-sm, 4px)}.theme-dark .chat-message--assistant{background:var(--grove-bg-tertiary)}.chat-message--system{align-self:center;background:var(--grove-bg-tertiary);color:var(--grove-text-secondary);font-size:var(--text-sm, 12px);padding:var(--space-sm, 8px) var(--space-md, 12px);border-radius:var(--radius-full)}.chat-message__header{display:flex;align-items:center;gap:var(--space-sm, 8px);margin-bottom:var(--space-xs, 4px)}.chat-message__avatar{width:24px;height:24px;border-radius:50%;background:var(--grove-accent-primary);display:flex;align-items:center;justify-content:center;color:#fff;font-size:var(--text-xs, 10px);font-weight:var(--font-bold, 700)}.chat-message__sender{font-size:var(--text-sm, 12px);font-weight:var(--font-semibold, 600);color:var(--grove-text-secondary)}.chat-message__timestamp{font-size:var(--text-xs, 10px);color:var(--grove-text-muted);margin-left:auto}.chat-message__content{word-wrap:break-word;white-space:pre-wrap}.chat-message__content p{margin:0}.chat-message__content p+p{margin-top:var(--space-sm, 8px)}.chat-message__content code{padding:var(--space-xs, 2px) var(--space-xs, 4px);background:#0000001a;border-radius:var(--radius-sm, 4px);font-size:.9em}.chat-message--user .chat-message__content code{background:#fff3}.chat-message__content pre{margin:var(--space-sm, 8px) 0;padding:var(--space-sm, 10px);background:var(--grove-bg-primary);border-radius:var(--radius-md, 6px);overflow-x:auto;font-size:var(--text-sm, 12px)}.chat-message--user .chat-message__content pre{background:#0003}.chat-input-area{border-top:1px solid var(--grove-border-light);background:var(--grove-bg-primary)}.chat-input-container{display:flex;gap:var(--space-sm, 8px);align-items:flex-end}.chat-input-wrapper{flex:1;display:flex;flex-direction:column;background:var(--grove-bg-secondary);border:1px solid var(--grove-border-light);border-radius:var(--radius-lg, 12px);transition:all var(--transition-base)}.chat-input-wrapper:focus-within{border-color:var(--grove-accent-selection);box-shadow:0 0 0 3px var(--grove-accent-glow)}.chat-input{flex:1;padding:var(--space-sm, 10px) var(--space-md, 14px);font-size:var(--text-base, 13px);color:var(--grove-text-primary);background:transparent;border:none;border-radius:var(--radius-lg, 12px);resize:none;min-height:40px;max-height:120px;line-height:1.4}.chat-input::placeholder{color:var(--grove-text-muted)}.chat-input:focus{outline:none}.chat-send-btn{width:40px;height:40px;border-radius:50%;background:var(--grove-accent-primary);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-base);flex-shrink:0}.chat-send-btn:hover{background:var(--grove-accent-hover);transform:scale(1.05)}.chat-send-btn:active{transform:scale(.95)}.chat-send-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.chat-send-btn .material-icons{font-size:20px}.chat-attachments{display:flex;flex-wrap:wrap;gap:var(--space-sm, 8px);padding:var(--space-sm, 8px) var(--space-md, 12px);border-top:1px solid var(--grove-border-light)}.chat-attachment-chip{display:inline-flex;align-items:center;gap:var(--space-xs, 4px);padding:var(--space-xs, 4px) var(--space-sm, 8px);background:var(--grove-bg-tertiary);border-radius:var(--radius-md, 6px);font-size:var(--text-sm, 12px);color:var(--grove-text-primary)}.chat-attachment-chip__icon{color:var(--grove-text-muted)}.chat-attachment-chip__icon .material-icons{font-size:14px}.chat-attachment-chip__name{max-width:120px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-attachment-chip__remove{width:16px;height:16px;display:flex;align-items:center;justify-content:center;border-radius:50%;color:var(--grove-text-muted);cursor:pointer;transition:all var(--transition-base)}.chat-attachment-chip__remove:hover{background:var(--grove-status-blocked);color:#fff}.chat-attachment-chip__remove .material-icons{font-size:12px}.chat-attach-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md, 6px);color:var(--grove-text-muted);cursor:pointer;transition:all var(--transition-base)}.chat-attach-btn:hover{background:var(--grove-bg-tertiary);color:var(--grove-text-primary)}.chat-attach-btn .material-icons{font-size:20px}.chat-typing-indicator{display:flex;align-items:center;gap:var(--space-sm, 8px);padding:var(--space-sm, 8px) var(--space-md, 12px);font-size:var(--text-sm, 12px);color:var(--grove-text-muted)}.chat-typing-dots{display:flex;gap:var(--space-xs, 4px)}.chat-typing-dots span{width:6px;height:6px;border-radius:50%;background:var(--grove-text-muted);animation:typingDot 1.4s ease-in-out infinite}.chat-typing-dots span:nth-child(2){animation-delay:.2s}.chat-typing-dots span:nth-child(3){animation-delay:.4s}.chat-empty-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-xl, 32px);text-align:center}.chat-empty-state__icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--grove-bg-secondary);color:var(--grove-text-muted);margin-bottom:var(--space-md, 16px)}.chat-empty-state__icon .material-icons{font-size:24px}.chat-empty-state__title{font-size:var(--text-md, 14px);font-weight:var(--font-semibold, 600);color:var(--grove-text-primary);margin-bottom:var(--space-xs, 4px)}.chat-empty-state__message{font-size:var(--text-sm, 12px);color:var(--grove-text-muted);max-width:240px}.chat-suggestions{display:flex;flex-wrap:wrap;gap:var(--space-sm, 8px);padding:var(--space-md, 16px)}.chat-suggestion{padding:var(--space-sm, 8px) var(--space-md, 12px);background:var(--grove-bg-secondary);border:1px solid var(--grove-border-light);border-radius:var(--radius-md, 8px);font-size:var(--text-sm, 12px);color:var(--grove-text-secondary);cursor:pointer;transition:all var(--transition-base)}.chat-suggestion:hover{background:var(--grove-bg-tertiary);border-color:var(--grove-border-medium);color:var(--grove-text-primary)}.chat-message--streaming:after{content:"";display:inline-block;width:8px;height:16px;background:var(--grove-accent-primary);margin-left:var(--space-xs, 2px);animation:blink 1s ease-in-out infinite}.risk-analysis-panel{display:flex;flex-direction:column;height:100%;background:var(--grove-bg-primary);overflow:hidden}.risk-analysis-panel__header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md, 16px) var(--space-lg, 20px);border-bottom:1px solid var(--grove-border-light)}.risk-analysis-panel__title{display:flex;align-items:center;gap:var(--space-sm, 8px);font-size:var(--text-lg, 16px);font-weight:var(--font-semibold, 600);color:var(--grove-text-primary)}.risk-analysis-panel__title:before{content:"";width:3px;height:16px;background:var(--grove-accent-primary);border-radius:2px}.risk-analysis-panel__content{flex:1;overflow-y:auto;padding:var(--space-md, 16px)}.stat-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:var(--space-md, 16px);margin-bottom:var(--space-lg, 24px)}.stat-card{padding:var(--space-md, 16px);background:var(--grove-bg-secondary);border:1px solid var(--grove-border-light);border-radius:var(--radius-md, 8px);transition:all var(--transition-base)}.stat-card:hover{border-color:var(--grove-border-medium);box-shadow:var(--shadow-sm)}.stat-card__label{font-size:var(--text-xs, 11px);font-weight:var(--font-medium, 500);color:var(--grove-text-muted);text-transform:uppercase;letter-spacing:var(--tracking-wide);margin-bottom:var(--space-xs, 4px)}.stat-card__value{font-size:var(--text-xl, 18px);font-weight:var(--font-bold, 700);color:var(--grove-text-primary)}.stat-card__change{display:inline-flex;align-items:center;gap:var(--space-xs, 2px);font-size:var(--text-xs, 11px);font-weight:var(--font-medium, 500);margin-top:var(--space-xs, 4px)}.stat-card__change--positive{color:var(--grove-status-completed)}.stat-card__change--negative{color:var(--grove-status-blocked)}.stat-card__change .material-icons{font-size:14px}.stat-card--success{border-left:4px solid var(--grove-status-completed)}.stat-card--warning{border-left:4px solid var(--grove-status-pending)}.stat-card--danger{border-left:4px solid var(--grove-status-blocked)}.stat-card--info{border-left:4px solid var(--grove-status-in-progress)}.critical-path-viz{background:var(--grove-bg-secondary);border:1px solid var(--grove-border-light);border-radius:var(--radius-lg, 12px);padding:var(--space-md, 16px);margin-bottom:var(--space-lg, 24px)}.critical-path-viz__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-md, 16px)}.critical-path-viz__title{font-size:var(--text-base, 14px);font-weight:var(--font-semibold, 600);color:var(--grove-text-primary)}.critical-path-viz__legend{display:flex;gap:var(--space-md, 16px)}.critical-path-viz__legend-item{display:flex;align-items:center;gap:var(--space-xs, 4px);font-size:var(--text-xs, 11px);color:var(--grove-text-secondary)}.critical-path-viz__legend-dot{width:8px;height:8px;border-radius:50%}.critical-path-viz__legend-dot--critical{background:var(--grove-status-blocked)}.critical-path-viz__legend-dot--normal{background:var(--grove-border-medium)}.critical-path-viz__timeline{position:relative;min-height:120px}.critical-path-node{position:absolute;padding:var(--space-sm, 8px) var(--space-md, 12px);background:var(--grove-bg-primary);border:2px solid var(--grove-border-light);border-radius:var(--radius-md, 8px);font-size:var(--text-sm, 12px);white-space:nowrap;cursor:pointer;transition:all var(--transition-base)}.critical-path-node:hover{border-color:var(--grove-accent-primary);box-shadow:var(--shadow-sm);z-index:10}.critical-path-node--critical{border-color:var(--grove-status-blocked);background:color-mix(in srgb,var(--grove-status-blocked) 5%,var(--grove-bg-primary))}.critical-path-node--critical:hover{border-color:var(--grove-status-blocked);box-shadow:0 0 8px #ef44444d}.critical-path-node__name{font-weight:var(--font-medium, 500);color:var(--grove-text-primary)}.critical-path-node__duration{color:var(--grove-text-muted);margin-left:var(--space-xs, 4px)}.insights-panel{background:var(--grove-bg-secondary);border:1px solid var(--grove-border-light);border-radius:var(--radius-lg, 12px);margin-bottom:var(--space-lg, 24px);overflow:hidden}.insights-panel__header{display:flex;align-items:center;gap:var(--space-sm, 8px);padding:var(--space-md, 12px) var(--space-md, 16px);border-bottom:1px solid var(--grove-border-light);cursor:pointer;transition:background var(--transition-base)}.insights-panel__header:hover{background:var(--grove-bg-tertiary)}.insights-panel__icon{color:var(--grove-accent-primary)}.insights-panel__icon .material-icons{font-size:20px}.insights-panel__title{flex:1;font-size:var(--text-base, 14px);font-weight:var(--font-semibold, 600);color:var(--grove-text-primary)}.insights-panel__expand{color:var(--grove-text-muted);transition:transform var(--transition-base)}.insights-panel__expand.expanded{transform:rotate(180deg)}.insights-panel__content{padding:var(--space-md, 16px)}.insight-item{display:flex;gap:var(--space-md, 12px);padding:var(--space-md, 12px);background:var(--grove-bg-primary);border-radius:var(--radius-md, 8px);margin-bottom:var(--space-sm, 8px);border:1px solid var(--grove-border-light)}.insight-item:last-child{margin-bottom:0}.insight-item__icon{flex-shrink:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md, 6px)}.insight-item__icon .material-icons{font-size:18px}.insight-item--warning .insight-item__icon{background:color-mix(in srgb,var(--grove-status-pending) 15%,var(--grove-bg-primary));color:var(--grove-status-pending)}.insight-item--danger .insight-item__icon{background:color-mix(in srgb,var(--grove-status-blocked) 15%,var(--grove-bg-primary));color:var(--grove-status-blocked)}.insight-item--info .insight-item__icon{background:color-mix(in srgb,var(--grove-status-in-progress) 15%,var(--grove-bg-primary));color:var(--grove-status-in-progress)}.insight-item--success .insight-item__icon{background:color-mix(in srgb,var(--grove-status-completed) 15%,var(--grove-bg-primary));color:var(--grove-status-completed)}.insight-item__content{flex:1;min-width:0}.insight-item__title{font-size:var(--text-base, 13px);font-weight:var(--font-medium, 500);color:var(--grove-text-primary);margin-bottom:var(--space-xs, 2px)}.insight-item__description{font-size:var(--text-sm, 12px);color:var(--grove-text-secondary);line-height:1.4}.statistical-analysis{background:var(--grove-bg-secondary);border:1px solid var(--grove-border-light);border-radius:var(--radius-lg, 12px);padding:var(--space-md, 16px);margin-bottom:var(--space-lg, 24px)}.statistical-analysis__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-md, 16px)}.statistical-analysis__title{font-size:var(--text-base, 14px);font-weight:var(--font-semibold, 600);color:var(--grove-text-primary)}.statistical-analysis__metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:var(--space-md, 16px)}.stat-metric{text-align:center}.stat-metric__value{font-size:var(--text-lg, 16px);font-weight:var(--font-bold, 700);color:var(--grove-text-primary)}.stat-metric__label{font-size:var(--text-xs, 11px);color:var(--grove-text-muted);margin-top:var(--space-xs, 2px)}.delay-statistics{background:var(--grove-bg-secondary);border:1px solid var(--grove-border-light);border-radius:var(--radius-lg, 12px);overflow:hidden}.delay-statistics__header{padding:var(--space-md, 12px) var(--space-md, 16px);border-bottom:1px solid var(--grove-border-light)}.delay-statistics__title{font-size:var(--text-base, 14px);font-weight:var(--font-semibold, 600);color:var(--grove-text-primary)}.delay-statistics__table{width:100%;font-size:var(--text-sm, 12px)}.delay-statistics__table th,.delay-statistics__table td{padding:var(--space-sm, 10px) var(--space-md, 16px);text-align:left}.delay-statistics__table th{background:var(--grove-bg-tertiary);font-weight:var(--font-semibold, 600);color:var(--grove-text-secondary);text-transform:uppercase;letter-spacing:var(--tracking-wide);font-size:var(--text-xs, 11px)}.delay-statistics__table tr:not(:last-child) td{border-bottom:1px solid var(--grove-border-light)}.delay-statistics__table td{color:var(--grove-text-primary)}.delay-statistics__node{display:flex;align-items:center;gap:var(--space-sm, 8px)}.delay-statistics__node-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.delay-statistics__node-dot--domain{background:var(--grove-level-domain)}.delay-statistics__node-dot--initiative{background:var(--grove-level-initiative)}.delay-statistics__node-dot--project{background:var(--grove-level-project)}.delay-statistics__node-dot--task{background:var(--grove-level-task)}.theme-dark .delay-statistics__node-dot--domain{background:var(--grove-level-domain-bright, #ef4444)}.theme-dark .delay-statistics__node-dot--initiative{background:var(--grove-level-initiative-bright, #f59e0b)}.theme-dark .delay-statistics__node-dot--project{background:var(--grove-level-project-bright, #14b8a6)}.theme-dark .delay-statistics__node-dot--task{background:var(--grove-level-task-bright, #3b82f6)}.metric-tooltip{position:absolute;padding:var(--space-sm, 10px) var(--space-md, 14px);background:var(--grove-bg-primary);border:1px solid var(--grove-border-light);border-radius:var(--radius-md, 8px);box-shadow:var(--shadow-lg);z-index:var(--z-tooltip, 600);min-width:160px;animation:fadeIn .1s ease}.theme-dark .metric-tooltip{background:var(--grove-bg-secondary);box-shadow:0 8px 24px #0006}.metric-tooltip__title{font-size:var(--text-sm, 12px);font-weight:var(--font-semibold, 600);color:var(--grove-text-primary);margin-bottom:var(--space-xs, 4px)}.metric-tooltip__value{font-size:var(--text-lg, 16px);font-weight:var(--font-bold, 700);color:var(--grove-accent-primary)}.metric-tooltip__description{font-size:var(--text-xs, 11px);color:var(--grove-text-muted);margin-top:var(--space-xs, 4px)}.histogram{display:flex;align-items:flex-end;gap:var(--space-xs, 4px);height:100px;padding-top:var(--space-md, 16px)}.histogram__bar{flex:1;background:var(--grove-accent-primary);border-radius:var(--radius-sm, 4px) var(--radius-sm, 4px) 0 0;min-height:4px;transition:all var(--transition-base);cursor:pointer}.histogram__bar:hover{background:var(--grove-accent-hover)}.histogram__bar--highlighted{background:var(--grove-status-blocked)}.risk-indicator{display:inline-flex;align-items:center;gap:var(--space-xs, 4px);padding:var(--space-xs, 4px) var(--space-sm, 8px);border-radius:var(--radius-full);font-size:var(--text-xs, 11px);font-weight:var(--font-semibold, 600)}.risk-indicator--low{background:color-mix(in srgb,var(--grove-risk-low) 15%,var(--grove-bg-primary));color:var(--grove-risk-low)}.risk-indicator--medium{background:color-mix(in srgb,var(--grove-risk-medium) 15%,var(--grove-bg-primary));color:var(--grove-risk-medium)}.risk-indicator--high{background:color-mix(in srgb,var(--grove-risk-high) 15%,var(--grove-bg-primary));color:var(--grove-risk-high)}.variant-controls{display:flex;align-items:center;gap:var(--space-md, 16px);padding:var(--space-md, 16px);background:var(--grove-bg-secondary);border-radius:var(--radius-md, 8px);border:1px solid var(--grove-border-light);margin-bottom:var(--space-md, 16px)}.variant-controls__label{font-size:var(--text-base, 13px);font-weight:var(--font-medium, 500);color:var(--grove-text-primary)}.variant-controls__slider{flex:1}.variant-controls__value{font-size:var(--text-sm, 12px);color:var(--grove-text-secondary);min-width:60px;text-align:right}.simulation-results{background:var(--grove-bg-secondary);border:1px solid var(--grove-border-light);border-radius:var(--radius-lg, 12px);padding:var(--space-md, 16px)}.simulation-results__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-md, 16px)}.simulation-results__title{font-size:var(--text-base, 14px);font-weight:var(--font-semibold, 600);color:var(--grove-text-primary)}.simulation-results__badge{padding:var(--space-xs, 4px) var(--space-sm, 10px);background:var(--grove-accent-primary);color:#fff;border-radius:var(--radius-full);font-size:var(--text-xs, 11px);font-weight:var(--font-semibold, 600)}.simulation-results__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-md, 16px)}.simulation-result-item{padding:var(--space-md, 12px);background:var(--grove-bg-primary);border-radius:var(--radius-md, 8px);border:1px solid var(--grove-border-light)}.simulation-result-item__label{font-size:var(--text-xs, 11px);color:var(--grove-text-muted);margin-bottom:var(--space-xs, 4px)}.simulation-result-item__value{font-size:var(--text-md, 14px);font-weight:var(--font-semibold, 600);color:var(--grove-text-primary)}.simulation-result-item__delta{font-size:var(--text-xs, 11px);margin-top:var(--space-xs, 2px)}.simulation-result-item__delta--positive{color:var(--grove-status-completed)}.simulation-result-item__delta--negative{color:var(--grove-status-blocked)}.grove-select-trigger{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm, 8px);width:100%;padding:var(--space-sm, 8px) var(--space-md, 16px);border:1px solid var(--grove-border-light, #e5e7eb);border-radius:var(--radius-md, 8px);font-size:var(--text-base, 13px);color:var(--grove-text-primary, #1a1a1a);background:var(--grove-bg-primary, white);cursor:pointer;transition:all var(--transition-base, .15s ease);text-align:left;box-sizing:border-box;font-family:inherit;line-height:inherit}.grove-select-trigger:hover{border-color:var(--grove-border-medium, #d1d5db)}.grove-select-trigger:focus{outline:none;border-color:var(--grove-primary, #667eea);box-shadow:var(--shadow-glow-primary, 0 0 0 3px rgba(29, 78, 216, .15))}.grove-select-trigger--open{border-color:var(--grove-primary, #667eea);box-shadow:var(--shadow-glow-primary, 0 0 0 3px rgba(29, 78, 216, .15))}.grove-select-trigger--disabled{background:var(--grove-bg-secondary, #f3f4f6);color:var(--grove-text-secondary, #6b7280);cursor:not-allowed;border-style:dashed}.grove-select-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.grove-select-chevron{font-size:18px;color:var(--grove-text-secondary, #6b7280);transition:transform var(--transition-fast, .1s ease);flex-shrink:0}.grove-select-trigger--open .grove-select-chevron{transform:rotate(180deg)}.grove-select-dropdown{background:var(--grove-bg-primary, white);border:1px solid var(--grove-border-light, #e5e7eb);border-radius:var(--radius-md, 8px);box-shadow:var(--shadow-lg, 0 8px 24px rgba(0, 0, 0, .12));z-index:10001;padding:var(--space-xs, 4px);animation:fadeInScale 50ms ease;max-height:240px;overflow-y:auto;box-sizing:border-box}.grove-select-dropdown--above{transform-origin:bottom center}.grove-select-option{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm, 8px);padding:var(--space-sm, 8px) var(--space-md, 12px);font-size:var(--text-base, 13px);color:var(--grove-text-primary, #1a1a1a);border-radius:var(--radius-sm, 4px);cursor:pointer;transition:background var(--transition-fast, .1s ease)}.grove-select-option--highlighted{background:var(--grove-bg-secondary, #f3f4f6)}.grove-select-option--selected{color:var(--grove-primary, #667eea);font-weight:500}.grove-select-option-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.grove-select-check{font-size:16px;color:var(--grove-primary, #667eea);flex-shrink:0}.grove-select-trigger.save-success{animation:saveSuccess .4s ease-out}[data-theme=dark] .grove-select-trigger{background:#ffffff0d;border-color:var(--grove-border-dark, #374151);color:var(--grove-text-primary, #f3f4f6)}[data-theme=dark] .grove-select-trigger:hover{border-color:var(--grove-border-medium, #4b5563)}[data-theme=dark] .grove-select-trigger--disabled{background:#ffffff08}[data-theme=dark] .grove-select-dropdown{background:var(--grove-bg-dark, #1f2937);border-color:var(--grove-border-dark, #374151);box-shadow:0 8px 24px #0006}[data-theme=dark] .grove-select-option--highlighted{background:#ffffff14}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideOutLeft{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(-12px)}}@keyframes slideOutRight{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(12px)}}@keyframes pulseScale{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes breathe{0%,to{opacity:.4}50%{opacity:1}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes bounce{0%,to{transform:translateY(0);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:translateY(-25%);animation-timing-function:cubic-bezier(0,0,.2,1)}}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}@keyframes typingDot{0%,60%,to{transform:translateY(0);opacity:.5}30%{transform:translateY(-4px);opacity:1}}@keyframes critical-flow{to{stroke-dashoffset:-12}}@keyframes variant-pulse-glow{0%,to{box-shadow:0 0 5px color-mix(in srgb,var(--accent-primary) 30%,transparent),0 4px 12px #0000001a}50%{box-shadow:0 0 20px color-mix(in srgb,var(--accent-primary) 60%,transparent),0 4px 12px #0000001a}}.stagger-1{animation-delay:calc(var(--animation-stagger, 30ms) * 1)}.stagger-2{animation-delay:calc(var(--animation-stagger, 30ms) * 2)}.stagger-3{animation-delay:calc(var(--animation-stagger, 30ms) * 3)}.stagger-4{animation-delay:calc(var(--animation-stagger, 30ms) * 4)}.stagger-5{animation-delay:calc(var(--animation-stagger, 30ms) * 5)}.stagger-6{animation-delay:calc(var(--animation-stagger, 30ms) * 6)}.stagger-7{animation-delay:calc(var(--animation-stagger, 30ms) * 7)}.stagger-8{animation-delay:calc(var(--animation-stagger, 30ms) * 8)}.animate-fade-in{animation:fadeIn var(--animation-page-load, .4s) ease forwards}.animate-fade-in-up{animation:fadeInUp var(--animation-page-load, .4s) ease forwards}.animate-fade-in-scale{animation:fadeInScale var(--transition-slow, .25s) ease forwards}.animate-slide-in-left{animation:slideInLeft var(--transition-slow, .25s) ease forwards}.animate-slide-in-right{animation:slideInRight var(--transition-slow, .25s) ease forwards}.animate-pulse{animation:pulse 2s ease-in-out infinite}.animate-spin{animation:spin 1s linear infinite}.animate-bounce{animation:bounce 1s infinite}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}:root{--transition-fast: .1s ease;--transition-base: .15s ease;--transition-slow: .25s ease;--transition-spring: .2s cubic-bezier(.34, 1.56, .64, 1);--transition-smooth: .3s cubic-bezier(.4, 0, .2, 1);--animation-page-load: .4s;--animation-stagger: 30ms;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 48px;--text-xs: .65rem;--text-sm: .75rem;--text-base: .85rem;--text-md: .9rem;--text-lg: 1rem;--text-xl: 1.15rem;--text-2xl: 1.35rem;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--tracking-tight: -.02em;--tracking-normal: 0;--tracking-wide: .02em;--tracking-wider: .05em;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .05);--shadow-sm: 0 2px 4px rgba(0, 0, 0, .08);--shadow-md: 0 4px 12px rgba(0, 0, 0, .1);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .12);--shadow-xl: 0 12px 32px rgba(0, 0, 0, .15);--shadow-glow-primary: 0 0 0 3px rgba(29, 78, 216, .15);--shadow-glow-accent: 0 0 12px rgba(29, 78, 216, .2);--z-base: 0;--z-dropdown: 100;--z-sticky: 200;--z-overlay: 300;--z-modal: 400;--z-popover: 500;--z-tooltip: 600;--hover-lift: translateY(-2px);--hover-scale: scale(1.02);--hover-scale-sm: scale(1.05);--active-scale: scale(.98);--icon-hover-scale: scale(1.1)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--grove-border-medium, #dee2e6);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--grove-text-muted, #7f8c8d)}*{scrollbar-width:thin;scrollbar-color:var(--grove-border-medium, #dee2e6) transparent}::selection{background:#1d4ed833;color:inherit}:focus-visible{outline:2px solid var(--grove-primary, #667eea);outline-offset:2px}:focus:not(:focus-visible){outline:none}@keyframes fadeInUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}@keyframes glow-pulse{0%,to{box-shadow:0 0 4px currentColor}50%{box-shadow:0 0 12px currentColor}}.stagger-1{animation-delay:calc(var(--animation-stagger) * 1)}.stagger-2{animation-delay:calc(var(--animation-stagger) * 2)}.stagger-3{animation-delay:calc(var(--animation-stagger) * 3)}.stagger-4{animation-delay:calc(var(--animation-stagger) * 4)}.stagger-5{animation-delay:calc(var(--animation-stagger) * 5)}.stagger-6{animation-delay:calc(var(--animation-stagger) * 6)}.section-header-accent{display:flex;align-items:center;gap:var(--space-sm);font-size:var(--text-xs);font-weight:var(--font-semibold);text-transform:uppercase;letter-spacing:var(--tracking-wider);color:var(--grove-text-secondary)}.section-header-accent:before{content:"";width:3px;height:14px;background:var(--grove-primary);border-radius:2px;flex-shrink:0}.interactive{transition:all var(--transition-base);cursor:pointer}.interactive:hover{transform:var(--hover-lift)}.interactive:active{transform:var(--active-scale)}:root{--grove-edge-color: #0077be;--grove-edge-color-hover: #005a8b;--grove-edge-color-active: #004466;--grove-edge-thickness: 4px;--grove-edge-thickness-hover: 5px;--grove-arrowhead-size: 12px;--grove-arrowhead-color: var(--grove-edge-color);--grove-edge-glow-color: rgba(0, 119, 190, .4);--grove-edge-glow-blur: 3px;--grove-edge-delete-bg: #ff4444;--grove-edge-delete-bg-hover: #ff6666;--grove-edge-delete-bg-active: #cc3333;--grove-edge-delete-border: white;--grove-edge-delete-glow: rgba(255, 68, 68, .6)}.grove-edge{stroke:var(--grove-edge-color);stroke-width:var(--grove-edge-thickness);transition:all .3s ease}.grove-edge:hover{stroke:var(--grove-edge-color-hover);stroke-width:var(--grove-edge-thickness-hover)}.grove-edge.strong-dependency{stroke-width:calc(var(--grove-edge-thickness) * 1.5);stroke-dasharray:none}.grove-edge.weak-dependency{stroke-width:calc(var(--grove-edge-thickness) * .7);stroke-dasharray:5,5}.grove-edge.blocked{stroke:var(--grove-status-blocked);stroke-dasharray:10,5}.grove-edge.critical-path{stroke:var(--grove-highlight-color);stroke-width:calc(var(--grove-edge-thickness) * 1.2);filter:drop-shadow(0 0 8px var(--grove-highlight-glow))}.edge-delete-button{position:absolute;width:16px;height:16px;border-radius:50%;background-color:var(--grove-edge-delete-bg);border:1px solid var(--grove-edge-delete-border);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:10px;color:#fff;font-weight:700;pointer-events:auto;z-index:10;opacity:0;transition:all .2s ease-in-out;transform:scale(1)}.edge-delete-button:hover{transform:scale(1.5);box-shadow:0 0 10px var(--grove-edge-delete-glow);background-color:var(--grove-edge-delete-bg-hover)}.edge-delete-button:active{transform:scale(.9);background-color:var(--grove-edge-delete-bg-active);box-shadow:0 0 5px var(--grove-edge-delete-glow)}.edge-glow{filter:url(#glow)}:root{--grove-level-domain: #7f1d1d;--grove-level-domain-bright: #dc2626;--grove-level-initiative: #b45309;--grove-level-initiative-bright: #f59e0b;--grove-level-project: #0f766e;--grove-level-project-bright: #14b8a6;--grove-level-task: #1d4ed8;--grove-level-task-bright: #3b82f6}.grove-node{background:var(--grove-node-bg, var(--grove-bg-primary, #ffffff));border:1px solid var(--grove-node-border, var(--grove-border-medium, #b8bfc7));border-radius:var(--radius-lg, 10px);box-shadow:0 2px 8px var(--grove-node-shadow, var(--grove-shadow-light, rgba(0,0,0,.08)));color:var(--grove-text-primary, #1f2937);cursor:pointer;position:relative;display:flex;flex-direction:column;overflow:visible;margin-top:4px;transition:transform .15s ease,box-shadow .15s ease,width .3s ease,height .3s ease;transform:translateZ(0);backface-visibility:hidden}.grove-node:hover,.grove-node-wrapper:hover .grove-node{transform:scale(1.02) translateZ(0);box-shadow:0 4px 12px var(--grove-node-shadow-hover, var(--grove-shadow-medium, rgba(0,0,0,.12)))}.grove-node.expanded:hover,.grove-node-wrapper:hover .grove-node.expanded{transform:translate(-2px,-2px) translateZ(0)}.grove-node.size-full{width:260px;height:70px}.grove-node.size-compact{width:190px;height:52px}.grove-node.size-mini{width:120px;height:35px}.flex-container-node .grove-node{width:100%;height:100%}.grove-node .badge-row{position:absolute;top:-2px;left:12px;display:flex;align-items:stretch;gap:0;z-index:5}.grove-node.size-compact .badge-row{left:10px}.grove-node.size-mini .badge-row{left:8px}.grove-node .type-badge{font-size:8px;font-weight:700;padding:2px 8px;border-radius:2px 2px 4px 4px;color:#fff;letter-spacing:.5px;text-transform:uppercase;display:flex;align-items:center;transition:border-radius .15s}.grove-node .type-badge:has(+.badge-ticket){border-radius:2px 0 0 4px}.grove-node:not(.level-task):hover .type-badge:not(:has(+.badge-ticket)){border-radius:2px 0 0 4px}.grove-node.size-compact .type-badge{font-size:7px;padding:2px 6px}.grove-node.size-mini .type-badge{font-size:6px;padding:1px 5px}.grove-node.level-domain .type-badge{background:var(--grove-level-domain)}.grove-node.level-initiative .type-badge{background:var(--grove-level-initiative)}.grove-node.level-project .type-badge{background:var(--grove-level-project)}.grove-node.level-task .type-badge{background:var(--grove-level-task)}.grove-node .badge-ticket{font-size:8px;font-weight:600;padding:2px 8px;border-radius:0 2px 4px 0;letter-spacing:.5px;display:flex;align-items:center;background:var(--grove-bg-primary, #ffffff);border:1px solid var(--grove-border-light, #e5e7eb);border-left:none;transition:border-radius .15s}.grove-node.size-compact .badge-ticket{font-size:7px;padding:2px 6px}.grove-node.size-mini .badge-ticket{font-size:6px;padding:1px 5px}.grove-node.level-domain .badge-ticket{border-color:var(--grove-level-domain);color:var(--grove-level-domain)}.grove-node.level-initiative .badge-ticket{border-color:var(--grove-level-initiative);color:var(--grove-level-initiative)}.grove-node.level-project .badge-ticket{border-color:var(--grove-level-project);color:var(--grove-level-project)}.grove-node.level-task .badge-ticket{border-color:var(--grove-level-task);color:var(--grove-level-task)}.theme-dark .grove-node .badge-ticket{color:var(--grove-text-primary, #f3f4f6);background:var(--grove-bg-tertiary, #374151)}.grove-node:not(.level-task):hover .badge-ticket{border-radius:0;border-right:none}.grove-node .expand-btn{padding:2px 6px;border-radius:0 2px 4px 0;border:none;cursor:pointer;display:flex;align-items:center;opacity:0;transition:opacity .15s,background .15s}.grove-node:hover .expand-btn{opacity:1}.grove-node .container-header{display:contents}.grove-node.expanded .container-header.expanded-header{display:block;border-radius:12px 12px 0 0;transition:background-color .15s ease}.grove-node.expanded .container-header.expanded-header:hover{background:#0000000a}.grove-node.expanded .container-header.expanded-header:hover .expand-btn{opacity:1}.theme-dark .grove-node.expanded .container-header.expanded-header:hover{background:#ffffff0f}.grove-node.level-domain .expand-btn{background:var(--grove-level-domain)}.grove-node.level-initiative .expand-btn{background:var(--grove-level-initiative)}.grove-node.level-project .expand-btn{background:var(--grove-level-project)}.grove-node .expand-btn .material-icons{color:#fff;font-size:10px}.grove-node.size-compact .expand-btn{padding:2px 4px}.grove-node.size-compact .expand-btn .material-icons{font-size:9px}.grove-node.size-mini .expand-btn{padding:1px 3px}.grove-node.size-mini .expand-btn .material-icons{font-size:8px}.grove-node.level-task .expand-btn{display:none}.grove-node .status-ring{position:absolute;top:-2px;right:-2px;width:20px;height:20px;border-radius:50%;background:var(--grove-bg-primary, #ffffff);display:flex;align-items:center;justify-content:center;z-index:5}.grove-node.size-compact .status-ring{width:16px;height:16px}.grove-node.size-mini .status-ring{width:14px;height:14px;top:-1px;right:-1px}.grove-node .status-dot{width:8px;height:8px;border-radius:50%}.grove-node.size-compact .status-dot{width:6px;height:6px}.grove-node.size-mini .status-dot{width:5px;height:5px}.grove-node .status-dot.pending{background:var(--grove-status-pending, #f59e0b);box-shadow:0 0 8px var(--grove-status-pending, #f59e0b)}.grove-node .status-dot.in-progress{background:var(--grove-status-in-progress, #3b82f6);box-shadow:0 0 8px var(--grove-status-in-progress, #3b82f6)}.grove-node .status-dot.completed{background:var(--grove-status-completed, #10b981);box-shadow:0 0 8px var(--grove-status-completed, #10b981)}.grove-node .status-dot.blocked{background:var(--grove-status-blocked, #ef4444);box-shadow:0 0 8px var(--grove-status-blocked, #ef4444)}.grove-node .status-icon-wrapper{width:14px;height:14px;position:relative;display:flex;align-items:center;justify-content:center}.grove-node.size-compact .status-icon-wrapper{width:12px;height:12px}.grove-node.size-mini .status-icon-wrapper{width:10px;height:10px}.grove-node .status-glow-circle{position:absolute;width:11px;height:11px;border-radius:50%;background:var(--grove-bg-primary, #ffffff);top:50%;left:50%;transform:translate(-50%,-50%)}.grove-node.size-compact .status-glow-circle{width:9px;height:9px}.grove-node.size-mini .status-glow-circle{width:7px;height:7px}.grove-node .status-glow-circle.pending{box-shadow:0 0 6px 2px var(--grove-status-pending, #f59e0b)}.grove-node .status-glow-circle.in-progress{box-shadow:0 0 6px 2px var(--grove-status-in-progress, #3b82f6)}.grove-node .status-glow-circle.completed{box-shadow:0 0 6px 2px var(--grove-status-completed, #10b981)}.grove-node .status-glow-circle.blocked{box-shadow:0 0 6px 2px var(--grove-status-blocked, #ef4444)}.grove-node .status-icon{font-size:14px;line-height:1;position:relative;z-index:1}.grove-node.size-compact .status-icon{font-size:12px}.grove-node.size-mini .status-icon{font-size:10px}.grove-node .status-icon.pending{color:var(--grove-status-pending, #f59e0b)}.grove-node .status-icon.in-progress{color:var(--grove-status-in-progress, #3b82f6)}.grove-node .status-icon.completed{color:var(--grove-status-completed, #10b981)}.grove-node .status-icon.blocked{color:var(--grove-status-blocked, #ef4444)}.grove-node .node-content{flex:1;display:flex;align-items:center;padding:14px 12px 22px}.grove-node.size-compact .node-content{padding:12px 10px 6px}.grove-node.size-mini .node-content{padding:10px 8px 4px}.grove-node .node-name{font-size:14px;font-weight:600;color:var(--grove-text-primary, #1f2937);line-height:1.3;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical}.grove-node.size-compact .node-name{font-size:13px}.grove-node.size-mini .node-name{font-size:11px;-webkit-line-clamp:1;line-clamp:1;white-space:nowrap;text-overflow:ellipsis;display:block}.grove-node .inline-node-name-input{font-size:inherit;font-weight:600;font-family:inherit;color:var(--grove-text-primary, #1f2937);line-height:1.3;width:100%;padding:0;margin:0;border:none;border-bottom:2px solid var(--grove-accent, #6366f1);background:transparent;outline:none;box-sizing:border-box}.grove-node .node-duration{position:absolute;bottom:8px;left:12px;font-size:11px;color:var(--grove-text-muted, #9ca3af)}.grove-node.size-compact .node-duration,.grove-node.size-mini .node-duration{display:none}.grove-node.expanded.size-full{width:340px;height:200px}.grove-node.expanded.size-compact{width:260px;height:160px}.grove-node.expanded.size-mini{width:180px;height:120px}.grove-node.expanded{background:color-mix(in srgb,var(--level-color) 5%,var(--grove-bg-primary, #ffffff))}.grove-node.expanded.level-domain{--level-color: var(--grove-level-domain)}.grove-node.expanded.level-initiative{--level-color: var(--grove-level-initiative)}.grove-node.expanded.level-project{--level-color: var(--grove-level-project)}.theme-dark .grove-node.expanded.level-domain{--level-color: var(--grove-level-domain-bright)}.theme-dark .grove-node.expanded.level-initiative{--level-color: var(--grove-level-initiative-bright)}.theme-dark .grove-node.expanded.level-project{--level-color: var(--grove-level-project-bright)}.grove-node.expanded .container-header.expanded-header,.grove-node.expanded .status-ring,.grove-node.expanded .status-glow-circle{background:color-mix(in srgb,var(--level-color) 15%,var(--grove-bg-primary, #ffffff))}.grove-node.expanded .node-content{flex:0;padding-bottom:8px;border-bottom:1px solid var(--grove-border-light, #e5e7eb)}.grove-node.expanded .node-duration{display:none}.grove-node .container-children{flex:1;display:flex;flex-direction:column;gap:8px;overflow:hidden;opacity:0;max-height:0;padding:0 12px;transition:opacity .2s ease,max-height .3s ease,padding .3s ease}.grove-node.expanded .container-children{opacity:1;max-height:200px;padding:12px}.grove-node-wrapper{position:absolute;pointer-events:auto;z-index:1;width:fit-content;height:fit-content}.grove-node-wrapper.selected{z-index:10}.grove-node-wrapper.dragging{z-index:100}.grove-node-wrapper.dragging,.grove-node-wrapper.dragging .grove-node,.grove-node-wrapper.dragging *{transition:none!important;animation:none!important}.grove-node-wrapper.snapping{transition:transform .2s ease-out;will-change:transform}.grove-node.selected{border-color:var(--grove-selection, #ff6b35);box-shadow:0 0 0 3px var(--grove-selection-glow, rgba(255, 107, 53, .3)),0 4px 16px var(--grove-shadow-medium, rgba(0, 0, 0, .15)),0 0 20px var(--grove-selection-glow, rgba(255, 107, 53, .4))!important;transform:scale(1.02) translateZ(0);z-index:10}.grove-node.selected:hover{transform:scale(1.04) translateZ(0);box-shadow:0 0 0 3px var(--grove-selection-glow, rgba(255, 107, 53, .35)),0 6px 20px var(--grove-shadow-medium, rgba(0, 0, 0, .18)),0 0 25px var(--grove-selection-glow, rgba(255, 107, 53, .5))!important}.grove-node.expanded.selected{transform:translateZ(0);border-color:var(--grove-selection, #ff6b35);border-width:2px;box-shadow:0 0 0 4px var(--grove-selection-glow, rgba(255, 107, 53, .35)),0 4px 20px var(--grove-shadow-medium, rgba(0, 0, 0, .15)),0 0 30px var(--grove-selection-glow, rgba(255, 107, 53, .45))!important}.grove-node.expanded.selected:hover{transform:translate(-2px,-2px) translateZ(0);box-shadow:0 0 0 5px var(--grove-selection-glow, rgba(255, 107, 53, .4)),0 6px 24px var(--grove-shadow-medium, rgba(0, 0, 0, .18)),0 0 40px var(--grove-selection-glow, rgba(255, 107, 53, .55))!important}.grove-node.selected.dragging{box-shadow:0 0 0 3px var(--grove-selection-glow, rgba(255, 107, 53, .3)),0 4px 8px var(--grove-selection-glow, rgba(255, 107, 53, .3))!important;transform:scale(1.02)}.grove-node.preview{border:2px dashed var(--grove-selection, #ff6b35);box-shadow:0 0 0 2px var(--grove-selection-glow, rgba(255, 107, 53, .2)),0 2px 4px var(--grove-selection-glow, rgba(255, 107, 53, .2)),0 4px 12px var(--grove-shadow-light, rgba(0, 0, 0, .1))!important;transform:scale(1.01) translateZ(0);z-index:5;opacity:.85}.grove-node.edge-source{box-shadow:0 0 0 2px var(--grove-primary, #667eea),0 0 8px #2c5aa04d}.grove-node.edge-target{border:3px dashed var(--grove-status-completed, #10b981)!important;box-shadow:0 0 0 1px var(--grove-status-completed, #10b981),0 0 12px #28a74566}.grove-node.highlighted{box-shadow:0 0 20px var(--grove-highlight-glow, rgba(255, 107, 107, .4)),0 4px 12px var(--grove-shadow-light, rgba(0, 0, 0, .1));border-color:var(--grove-highlight-color, #ef4444)}.grove-node.critical{box-shadow:0 0 25px var(--grove-critical-glow, rgba(255, 107, 107, .6)),0 4px 12px var(--grove-shadow-light, rgba(0, 0, 0, .1));border-color:var(--grove-highlight-color, #ef4444);border-width:2px}.grove-node.start-end-node{background:transparent;border:none;box-shadow:none;padding:0;width:120px;height:120px;display:flex;align-items:center;justify-content:center}.grove-node.start-end-node svg{width:100%;height:100%;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}.grove-node-wrapper:hover .grove-node.start-end-node svg polygon{stroke-width:3;filter:drop-shadow(0 4px 8px rgba(0,0,0,.15))}.grove-node-wrapper.selected .grove-node.start-end-node svg polygon{stroke:var(--grove-selection, #ff6b35);stroke-width:3}.grove-node .orphaned-warning{position:absolute;top:-2px;right:-2px;width:20px;height:20px;background:var(--grove-status-pending, #f59e0b);border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 4px #0003;cursor:help;z-index:15}.grove-node .orphaned-warning .material-icons{font-size:14px;color:#fff;font-weight:700}.grove-node.variant-node{position:relative}.grove-node.variant-added{border:2px dashed var(--grove-primary, #667eea)!important;background:color-mix(in srgb,var(--grove-primary, #667eea) 5%,var(--grove-bg-primary, white));animation:variant-pulse-glow 2s ease-in-out infinite}.grove-node.variant-added:before{content:"NEW";position:absolute;top:-8px;left:8px;background:var(--grove-primary, #667eea);color:#fff;font-size:.65rem;font-weight:700;padding:2px 6px;border-radius:3px;letter-spacing:.5px;z-index:10}.grove-node.variant-updated{border:2px solid var(--grove-status-pending, #f39c12)!important;background:color-mix(in srgb,var(--grove-status-pending, #f39c12) 5%,var(--grove-bg-primary, white))}.grove-node.variant-updated:before{content:"MODIFIED";position:absolute;top:-8px;left:8px;background:var(--grove-status-pending, #f39c12);color:#fff;font-size:.65rem;font-weight:700;padding:2px 6px;border-radius:3px;letter-spacing:.5px;z-index:10}.grove-node.variant-unchanged{opacity:.85}@keyframes variant-pulse-glow{0%,to{box-shadow:0 0 5px color-mix(in srgb,var(--grove-primary, #667eea) 30%,transparent),0 4px 12px var(--grove-shadow-light, rgba(0,0,0,.1))}50%{box-shadow:0 0 20px color-mix(in srgb,var(--grove-primary, #667eea) 60%,transparent),0 4px 12px var(--grove-shadow-light, rgba(0,0,0,.1))}}.grove-node.variant-added:hover,.grove-node.variant-updated:hover{transform:scale(1.02);box-shadow:0 8px 20px var(--grove-shadow-medium, rgba(0,0,0,.15))}.node-pill{display:flex;align-items:center;background:var(--pill-color);border:none;padding:4px 12px;font-size:13px;color:#fff;cursor:pointer;transition:all .2s ease;max-width:200px;position:relative;font-weight:500;letter-spacing:.3px}.node-pill-text{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.node-pill.pill-left{clip-path:polygon(10px 0,100% 0,calc(100% - 10px) 50%,100% 100%,10px 100%,0 50%);padding-left:16px;padding-right:16px}.node-pill.pill-right{clip-path:polygon(0 0,calc(100% - 10px) 0,100% 50%,calc(100% - 10px) 100%,0 100%,10px 50%);padding-left:16px;padding-right:16px}.node-pill:hover{filter:brightness(1.15);transform:scale(1.03)}.node-pill:active{filter:brightness(.95);transform:scale(1)}.node-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .15s ease-out;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.node-modal-overlay.no-animate{animation:none}.node-modal-stack-wrapper{position:absolute;display:flex;align-items:center;justify-content:center;transition:transform .375s ease-out,filter .375s ease-out;cursor:default}.node-modal-stack-wrapper.back{cursor:pointer}.node-modal-stack-wrapper.teleporting{transition:none}.node-modal-stack-wrapper.teleporting.exiting .node-modal{animation:teleportFadeOut .15s ease-in forwards}.node-modal-stack-wrapper.teleporting.entering .node-modal{animation:teleportFadeIn .15s ease-out}@keyframes teleportFadeIn{0%{opacity:0;transform:translateY(100px)}to{opacity:1;transform:translateY(0)}}@keyframes teleportFadeOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(100px)}}.node-modal-layout{display:flex;align-items:center;justify-content:flex-end;width:100%;height:100%;padding-right:calc((100vw - min(92vw,1100px))/2);box-sizing:border-box;pointer-events:none}.node-modal-layout>*{pointer-events:auto}.node-modal-control-panel-container{flex:1;display:flex;align-items:center;justify-content:center;min-width:140px}.node-modal-stack-container{position:relative;width:92vw;max-width:1100px;height:70vh;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform .25s ease-out}.node-modal-control-panel{display:flex;flex-direction:column;align-items:stretch;width:120px;flex-shrink:0;animation:fadeIn .15s ease-out}.control-panel-body{background:var(--grove-bg-primary, white);border-radius:var(--radius-lg, 12px);box-shadow:0 10px 40px -10px #0000004d,0 0 0 1px #00000014;padding:var(--space-md);display:flex;flex-direction:column;gap:var(--space-md)}.control-panel-header{font-size:var(--text-base, 16px);font-weight:var(--font-semibold);color:var(--grove-text-primary, #1a1a1a);text-align:center;padding-bottom:var(--space-sm);border-bottom:1px solid var(--grove-border-light, #e5e7eb)}.control-panel-section{display:flex;flex-direction:column;align-items:center;gap:var(--space-xs)}.control-panel-label{font-size:var(--text-sm, 14px);font-weight:var(--font-medium);color:var(--grove-text-secondary, #6b7280)}.control-panel-toggle{width:100%}.control-panel-toggle .sliding-toggle-btn{font-size:var(--text-sm, 14px)!important;padding:6px 12px!important}.control-panel-nav-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:12px 16px;border:none;border-radius:var(--radius-md);background:transparent;color:var(--grove-text-secondary, #6b7280);cursor:pointer;transition:all .15s ease}.control-panel-nav-btn:hover{background:var(--grove-bg-secondary, #f3f4f6);color:var(--grove-text-primary, #1a1a1a)}.control-panel-nav-btn .shortcut{display:flex;align-items:center;gap:2px;color:var(--grove-text-muted, #9ca3af);line-height:1}.control-panel-nav-btn .shortcut .material-icons{font-size:22px}.control-panel-nav-btn .shortcut .modifier-text{font-size:12px;font-weight:600;text-transform:uppercase}.control-panel-nav-btn .nav-label{font-size:var(--text-lg, 18px);font-weight:var(--font-semibold)}[data-theme=dark] .control-panel-body{background:var(--grove-bg-dark, #1f2937);box-shadow:0 10px 40px -10px #00000080,0 0 0 1px #ffffff1a}[data-theme=dark] .control-panel-header{color:var(--grove-text-primary, #f3f4f6);border-bottom-color:var(--grove-border-dark, #374151)}[data-theme=dark] .control-panel-nav-btn{color:var(--grove-text-secondary, #9ca3af)}[data-theme=dark] .control-panel-nav-btn:hover{background:#ffffff1a;color:var(--grove-text-primary, #f3f4f6)}.node-modal-stack-wrapper .node-modal{box-shadow:0 25px 60px -10px #00000080,0 10px 20px -5px #0003,0 0 0 1px #0000001a}.node-modal-stack-wrapper.front .node-modal{box-shadow:0 35px 70px -15px #0000008c,0 15px 30px -8px #00000040,0 0 0 1px #0000001f}.node-modal{background:var(--grove-bg-primary, white);border-radius:var(--radius-xl, 16px);box-shadow:0 25px 50px -12px #00000040;width:92vw;max-width:1100px;height:70vh;display:flex;flex-direction:column;animation:modalSlideUp .25s ease-out;overflow:visible;position:relative}.node-modal.no-initial-animation{animation:none}.node-modal.slide-in-left,.node-modal.slide-in-right,.node-modal.slide-out-left,.node-modal.slide-out-right,.node-modal.slide-in-up,.node-modal.slide-in-down,.node-modal.slide-out-up,.node-modal.slide-out-down{position:absolute;top:50%;left:50%;margin-top:-35vh;margin-left:max(-46vw,-550px)}.node-modal.slide-in-left{animation:modalSlideInLeft .3s ease-out}.node-modal.slide-in-right{animation:modalSlideInRight .3s ease-out}.node-modal.slide-out-left{animation:modalSlideOutLeft .3s ease-out forwards}.node-modal.slide-out-right{animation:modalSlideOutRight .3s ease-out forwards}.node-modal.slide-in-up{animation:modalSlideInUp .3s ease-out}.node-modal.slide-in-down{animation:modalSlideInDown .3s ease-out}.node-modal.slide-out-up{animation:modalSlideOutUp .3s ease-out forwards}.node-modal.slide-out-down{animation:modalSlideOutDown .3s ease-out forwards}@keyframes modalSlideUp{0%{opacity:0}to{opacity:1}}@keyframes modalSlideInLeft{0%{transform:translate(calc(-50vw - 50%));opacity:0}to{transform:translate(0);opacity:1}}@keyframes modalSlideInRight{0%{transform:translate(calc(50vw + 50%));opacity:0}to{transform:translate(0);opacity:1}}@keyframes modalSlideOutLeft{0%{transform:translate(0);opacity:1}to{transform:translate(calc(-50vw - 50%));opacity:0}}@keyframes modalSlideOutRight{0%{transform:translate(0);opacity:1}to{transform:translate(calc(50vw + 50%));opacity:0}}@keyframes modalSlideInUp{0%{transform:translateY(calc(-50vh - 50%));opacity:0}to{transform:translateY(0);opacity:1}}@keyframes modalSlideInDown{0%{transform:translateY(calc(50vh + 50%));opacity:0}to{transform:translateY(0);opacity:1}}@keyframes modalSlideOutUp{0%{transform:translateY(0);opacity:1}to{transform:translateY(calc(-50vh - 50%));opacity:0}}@keyframes modalSlideOutDown{0%{transform:translateY(0);opacity:1}to{transform:translateY(calc(50vh + 50%));opacity:0}}.node-modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-sm) var(--space-lg);border-bottom:1px solid var(--grove-border-light, #e5e7eb);flex-shrink:0;gap:var(--space-md)}.node-modal-header-right{display:flex;align-items:center;gap:var(--space-sm)}.node-modal-header-title{flex:1;font-size:var(--text-lg, 1.125rem);font-weight:600;color:var(--grove-text-primary, #1a1a1a);text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.node-modal-header-spacer{width:36px}.node-modal-header-title-input{flex:0 1 auto;width:min(50%,400px);font-size:var(--text-lg, 1.125rem);font-weight:600;color:var(--grove-text-primary, #1a1a1a);text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border:1px solid transparent;border-radius:var(--radius-md);background:var(--grove-bg-secondary, #f5f6f8);padding:4px 12px;outline:none;transition:all var(--transition-base);min-width:120px;margin:0 auto}.node-modal-header-title-input:hover:not(:disabled){border-color:var(--grove-border-light, #e5e7eb)}.node-modal-header-title-input:focus:not(:disabled){border-color:var(--grove-primary, #667eea);box-shadow:var(--shadow-glow-primary);background:var(--grove-bg-primary, white)}.node-modal-header-title-input:disabled{background:var(--grove-bg-secondary, #f3f4f6);color:var(--grove-text-secondary, #6b7280);cursor:not-allowed;border-style:dashed}[data-theme=dark] .node-modal-header-title-input{color:var(--grove-text-primary, #f3f4f6);background:#ffffff0f}[data-theme=dark] .node-modal-header-title-input:hover:not(:disabled){border-color:var(--grove-border-dark, #374151)}[data-theme=dark] .node-modal-header-title-input:focus:not(:disabled){border-color:var(--grove-primary, #667eea);background:#ffffff1a}[data-theme=dark] .node-modal-header-title-input:disabled{background:#ffffff08;color:var(--grove-text-muted, #6b7280)}.node-modal-level-badge{position:absolute;top:-8px;left:24px;padding:8px 20px;border-radius:6px;font-size:12px;font-weight:var(--font-bold);color:#fff;text-transform:uppercase;letter-spacing:.5px;box-shadow:0 2px 8px #00000026;z-index:1}.node-modal-multi-edit-toggle{display:flex;align-items:center;border:1px solid var(--grove-border-medium, #d1d5db);border-radius:var(--radius-md);overflow:hidden;flex-shrink:0}.node-modal-multi-edit-toggle .toggle-option{padding:6px 12px;border:none;background:var(--grove-bg-secondary, #f8f9fa);color:var(--grove-text-secondary, #6b7280);font-size:12px;font-weight:500;cursor:pointer;transition:all .15s ease}.node-modal-multi-edit-toggle .toggle-option:first-child{border-right:1px solid var(--grove-border-medium, #d1d5db)}.node-modal-multi-edit-toggle .toggle-option:hover:not(.active){background:var(--grove-bg-tertiary, #f0f0f0)}.node-modal-multi-edit-toggle .toggle-option.active{background:var(--grove-primary, #667eea);color:#fff}.node-modal-close{width:36px;height:36px;border:none;background:transparent;border-radius:var(--radius-md);font-size:24px;line-height:1;color:var(--grove-text-secondary, #6b7280);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-base);padding-bottom:7px}.node-modal-close:hover{background:var(--grove-bg-secondary, #f3f4f6);color:var(--grove-text-primary, #1a1a1a)}.node-modal-content{position:relative;display:flex;flex:1;overflow:hidden;min-height:0;border-radius:0 0 var(--radius-xl, 16px) var(--radius-xl, 16px)}.node-modal-content.content-hidden{background:var(--grove-bg-secondary, #f8f9fa)}.node-modal-content.content-hidden>*{visibility:hidden}[data-theme=dark] .node-modal-content.content-hidden{background:#0003}.node-modal-main{flex:1;padding:var(--space-lg);display:flex;flex-direction:column;gap:var(--space-lg);overflow-y:auto;min-width:0}.node-modal-sidebar{width:380px;padding:var(--space-lg);border-left:1px solid var(--grove-border-light, #e5e7eb);background:var(--grove-bg-secondary, #f8f9fa);overflow-y:auto;flex-shrink:0;display:flex;flex-direction:column;gap:var(--space-md)}.node-modal-field{display:flex;flex-direction:column;gap:var(--space-xs)}.node-modal-field label{font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--grove-text-muted, #6b7280);text-transform:uppercase;letter-spacing:var(--tracking-wider)}.node-modal-field-group{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-sm)}.node-modal-input,.node-modal-select{padding:var(--space-sm) var(--space-md);border:1px solid var(--grove-border-light, #e5e7eb);border-radius:var(--radius-md);font-size:var(--text-base);color:var(--grove-text-primary, #1a1a1a);background:var(--grove-bg-primary, white);transition:all var(--transition-base);width:100%;box-sizing:border-box}.node-modal-input:hover,.node-modal-select:hover{border-color:var(--grove-border-medium, #d1d5db)}.node-modal-input:focus,.node-modal-select:focus{outline:none;border-color:var(--grove-primary, #667eea);box-shadow:var(--shadow-glow-primary)}.node-modal-input:disabled{background:var(--grove-bg-secondary, #f3f4f6);color:var(--grove-text-secondary, #6b7280);cursor:not-allowed;border-style:dashed}.node-modal-select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236b7280' d='M3 4.5L6 7.5L9 4.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:28px}.node-modal-description-field{flex:1;display:flex;flex-direction:column;min-height:300px}.node-modal-description-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-xs)}.node-modal-description-controls{display:flex;align-items:center;gap:var(--space-sm)}.node-modal-description-toggle{display:flex;gap:2px;background:var(--grove-bg-secondary, #f3f4f6);padding:2px;border-radius:var(--radius-md)}.node-modal-description-toggle .toggle-btn{padding:4px 12px;border:none;background:transparent;font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--grove-text-secondary, #6b7280);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-base)}.node-modal-description-toggle .toggle-btn:hover{color:var(--grove-text-primary, #1a1a1a)}.node-modal-description-toggle .toggle-btn.active{background:var(--grove-bg-primary, white);color:var(--grove-text-primary, #1a1a1a);box-shadow:var(--shadow-sm)}.node-modal-description-input{flex:1;font-family:var(--font-mono, monospace);font-size:var(--text-sm);line-height:1.6;resize:none;min-height:200px}.ce-input.node-modal-description-input{border-radius:var(--radius-md);max-height:none;overflow-y:auto;scrollbar-width:thin;-ms-overflow-style:auto}.ce-input.node-modal-description-input::-webkit-scrollbar{display:block;width:6px}.ce-input.node-modal-description-input::-webkit-scrollbar-thumb{background:var(--grove-border-medium);border-radius:3px}.node-modal-description-preview{flex:1;padding:var(--space-md) var(--space-lg);background:var(--grove-bg-primary, white);border:1px solid var(--grove-border-light, #e5e7eb);border-radius:var(--radius-md);overflow-y:auto;min-height:200px;line-height:1.6;color:var(--grove-text-primary, #1a1a1a)}.node-modal-description-preview .markdown-renderer{font-size:var(--text-base);color:var(--grove-text-primary, #1a1a1a)}.node-modal-placeholder{color:var(--grove-text-muted, #9ca3af);font-style:italic}.node-modal-pills{display:flex;flex-direction:column;gap:var(--space-xs);margin-top:var(--space-xs)}.node-modal-pills .node-pill{max-width:100%;width:fit-content}.node-modal-relations{flex:1;display:flex;flex-direction:column;gap:var(--space-md)}.node-modal-readonly{padding:var(--space-lg);display:flex;flex-direction:column;gap:var(--space-lg);width:100%}.node-modal-readonly-value{font-size:var(--text-base);color:var(--grove-text-primary, #1a1a1a);padding:var(--space-sm) 0}.node-modal-info-text{font-size:var(--text-sm);color:var(--grove-text-muted, #9ca3af);font-style:italic;line-height:1.5;margin-top:var(--space-md)}.node-modal-input.error{border-color:var(--grove-danger, #ef4444)}.node-modal-input.error:focus{box-shadow:0 0 0 3px #ef444426}.node-modal-field .field-error{font-size:var(--text-xs);color:var(--grove-danger, #ef4444);margin-top:var(--space-xs)}.node-modal-input.save-success,.node-modal-select.save-success,.node-modal-header-title-input.save-success{animation:saveSuccess .4s ease-out}[data-theme=dark] .node-modal{background:var(--grove-bg-dark, #1f2937)}[data-theme=dark] .node-modal-header{border-bottom-color:var(--grove-border-dark, #374151)}[data-theme=dark] .node-modal-close{color:var(--grove-text-muted, #9ca3af)}[data-theme=dark] .node-modal-close:hover{background:#ffffff1a;color:var(--grove-text-primary, #f3f4f6)}[data-theme=dark] .node-modal-sidebar{background:#0003;border-left-color:var(--grove-border-dark, #374151)}[data-theme=dark] .node-modal-input,[data-theme=dark] .node-modal-select{background:#ffffff0d;border-color:var(--grove-border-dark, #374151);color:var(--grove-text-primary, #f3f4f6)}[data-theme=dark] .node-modal-input:hover,[data-theme=dark] .node-modal-select:hover{border-color:var(--grove-border-medium, #4b5563)}[data-theme=dark] .node-modal-description-toggle{background:#0000004d}[data-theme=dark] .node-modal-description-toggle .toggle-btn.active{background:#ffffff1a;color:var(--grove-text-primary, #f3f4f6)}[data-theme=dark] .node-modal-description-preview{background:#ffffff08;border-color:var(--grove-border-dark, #374151)}.node-modal-editor-wrapper{position:relative;flex:1;display:flex;flex-direction:column}.node-modal-description-tools{display:flex;align-items:center;gap:2px}.desc-undo-redo-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--grove-text-secondary, #6b7280);cursor:pointer;transition:all var(--transition-base)}.desc-undo-redo-btn .material-icons{font-size:18px}.desc-undo-redo-btn:hover:not(:disabled){background:var(--grove-bg-secondary, #f3f4f6);color:var(--grove-text-primary, #1a1a1a)}.desc-undo-redo-btn:disabled{opacity:.3;cursor:default}.ai-assist-btn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;border:1px solid var(--grove-border-light, #e5e7eb);border-radius:var(--radius-md);background:var(--grove-bg-primary, white);color:var(--grove-text-secondary, #6b7280);cursor:pointer;transition:all var(--transition-base)}.ai-assist-btn .material-icons{font-size:18px}.ai-assist-btn:hover:not(:disabled){border-color:var(--grove-primary, #667eea);color:var(--grove-primary, #667eea);background:#667eea0f}.ai-assist-btn:disabled{opacity:.45;cursor:not-allowed}.ai-assist-btn--cancel{border-color:var(--grove-danger, #ef4444);color:var(--grove-danger, #ef4444)}.ai-assist-btn--cancel:hover:not(:disabled){background:#ef44440f;border-color:var(--grove-danger, #ef4444);color:var(--grove-danger, #ef4444)}.ai-assist-spinner{display:inline-block;width:14px;height:14px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:ai-spin .6s linear infinite;flex-shrink:0}@keyframes ai-spin{to{transform:rotate(360deg)}}.ai-selection-toolbar{display:flex;align-items:center;gap:2px;padding:3px;background:var(--grove-bg-primary, white);border:1px solid var(--grove-border-light, #e5e7eb);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:var(--z-popover, 500);animation:ai-toolbar-in .12s ease-out}@keyframes ai-toolbar-in{0%{opacity:0;transform:translate(-50%,-100%) translateY(4px)}to{opacity:1;transform:translate(-50%,-100%) translateY(0)}}.ai-selection-toolbar-btn{display:flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--grove-text-secondary, #6b7280);cursor:pointer;transition:all var(--transition-fast)}.ai-selection-toolbar-btn .material-icons{font-size:18px}.ai-selection-toolbar-btn:hover:not(:disabled){background:#667eea1a;color:var(--grove-primary, #667eea)}.ai-selection-toolbar-btn:disabled{opacity:.4;cursor:not-allowed}.ai-selection-toolbar-sep{width:1px;height:18px;background:var(--grove-border-light, #e5e7eb);margin:0 2px;flex-shrink:0}.ai-confirm-prompt{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#ffffffd9;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);border-radius:var(--radius-md);z-index:2;animation:ai-fade-in .12s ease-out}@keyframes ai-fade-in{0%{opacity:0}to{opacity:1}}.ai-confirm-prompt-card{display:flex;flex-direction:column;gap:var(--space-sm);padding:var(--space-lg);background:var(--grove-bg-primary, white);border:1px solid var(--grove-border-light, #e5e7eb);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);max-width:340px;text-align:center}.ai-confirm-prompt-warning{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--grove-text-primary, #1a1a1a);margin:0}.ai-confirm-prompt-info{font-size:var(--text-sm);color:var(--grove-text-secondary, #6b7280);line-height:1.5;margin:0}.ai-confirm-prompt-actions{display:flex;justify-content:center;gap:var(--space-sm);margin-top:var(--space-xs)}.ai-confirm-btn{padding:6px 18px;border:none;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;transition:all var(--transition-fast)}.ai-confirm-btn--confirm{background:var(--grove-primary, #667eea);color:#fff}.ai-confirm-btn--confirm:hover{filter:brightness(1.1)}.ai-confirm-btn--cancel{background:transparent;color:var(--grove-text-secondary, #6b7280);border:1px solid var(--grove-border-light, #e5e7eb)}.ai-confirm-btn--cancel:hover{background:var(--grove-bg-secondary, #f3f4f6)}.ai-sidebar-popup{position:absolute;right:0;top:var(--space-lg);width:360px;max-height:60%;display:flex;flex-direction:column;background:var(--grove-bg-primary, white);border:1px solid var(--grove-border-light, #e5e7eb);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);z-index:5;animation:ai-popup-in .2s ease-out}@keyframes ai-popup-in{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:translate(0)}}.ai-sidebar-popup-pointer{position:absolute;left:-10px;top:24px;width:0;height:0;border-top:10px solid transparent;border-bottom:10px solid transparent;border-right:10px solid var(--grove-border-light, #e5e7eb);z-index:1}.ai-sidebar-popup-pointer:after{content:"";position:absolute;left:2px;top:-9px;width:0;height:0;border-top:9px solid transparent;border-bottom:9px solid transparent;border-right:9px solid var(--grove-bg-primary, white)}.ai-sidebar-popup-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--grove-border-light, #e5e7eb);border-radius:var(--radius-lg) var(--radius-lg) 0 0;background:var(--grove-bg-primary, white);gap:var(--space-sm);flex-shrink:0}.ai-sidebar-popup-icon{font-size:16px;color:var(--grove-text-secondary, #6b7280)}.ai-sidebar-popup-label{display:flex;align-items:center;gap:8px;font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--grove-text-primary, #1a1a1a);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ai-sidebar-popup-close{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--grove-text-secondary, #6b7280);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0}.ai-sidebar-popup-close .material-icons{font-size:18px}.ai-sidebar-popup-close:hover{background:var(--grove-bg-secondary, #f3f4f6);color:var(--grove-text-primary, #1a1a1a)}.ai-sidebar-popup-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.ai-sidebar-popup-btn{padding:4px 14px;border:none;border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;transition:all var(--transition-fast)}.ai-sidebar-popup-btn--accept{background:var(--grove-primary, #667eea);color:#fff}.ai-sidebar-popup-btn--accept:hover{filter:brightness(1.1)}.ai-sidebar-popup-btn--discard{background:transparent;color:var(--grove-text-secondary, #6b7280);border:1px solid var(--grove-border-light, #e5e7eb)}.ai-sidebar-popup-btn--discard:hover{background:var(--grove-bg-secondary, #f3f4f6);color:var(--grove-text-primary, #1a1a1a)}.ai-sidebar-popup-body{flex:1;padding:var(--space-md);overflow-y:auto;line-height:1.6;border-radius:0 0 var(--radius-lg) var(--radius-lg);background:var(--grove-bg-primary, white)}.ai-sidebar-popup-body .markdown-renderer{font-size:var(--text-sm);color:var(--grove-text-primary, #1a1a1a)}.ai-sidebar-popup-loading{display:flex;align-items:center;gap:8px;color:var(--grove-text-muted, #9ca3af);font-size:var(--text-sm);font-style:italic;padding:var(--space-md) 0}[data-theme=dark] .desc-undo-redo-btn:hover:not(:disabled){background:#ffffff1a;color:var(--grove-text-primary, #f3f4f6)}[data-theme=dark] .ai-assist-btn{background:#ffffff0d;border-color:var(--grove-border-dark, #374151);color:var(--grove-text-secondary, #9ca3af)}[data-theme=dark] .ai-assist-btn:hover:not(:disabled){background:#667eea1f;border-color:var(--grove-primary, #667eea);color:var(--grove-primary, #667eea)}[data-theme=dark] .ai-selection-toolbar{background:var(--grove-bg-dark, #1f2937);border-color:var(--grove-border-dark, #374151);box-shadow:0 8px 24px #0006}[data-theme=dark] .ai-selection-toolbar-sep{background:var(--grove-border-dark, #374151)}[data-theme=dark] .ai-selection-toolbar-btn{color:var(--grove-text-secondary, #9ca3af)}[data-theme=dark] .ai-selection-toolbar-btn:hover:not(:disabled){background:#667eea33;color:var(--grove-primary, #667eea)}[data-theme=dark] .ai-confirm-prompt{background:#000000b3}[data-theme=dark] .ai-confirm-prompt-card{background:var(--grove-bg-dark, #1f2937);border-color:var(--grove-border-dark, #374151)}[data-theme=dark] .ai-confirm-prompt-warning{color:var(--grove-text-primary, #f3f4f6)}[data-theme=dark] .ai-confirm-btn--cancel{border-color:var(--grove-border-dark, #374151);color:var(--grove-text-secondary, #9ca3af)}[data-theme=dark] .ai-confirm-btn--cancel:hover{background:#ffffff14}[data-theme=dark] .ai-sidebar-popup{background:var(--grove-bg-dark, #1f2937);border-color:var(--grove-border-dark, #374151);box-shadow:0 12px 32px #00000080}[data-theme=dark] .ai-sidebar-popup-pointer{border-right-color:var(--grove-border-dark, #374151)}[data-theme=dark] .ai-sidebar-popup-pointer:after{border-right-color:var(--grove-bg-dark, #1f2937)}[data-theme=dark] .ai-sidebar-popup-header{border-bottom-color:var(--grove-border-dark, #374151)}[data-theme=dark] .ai-sidebar-popup-label{color:var(--grove-text-primary, #f3f4f6)}[data-theme=dark] .ai-sidebar-popup-close:hover{background:#ffffff1a;color:var(--grove-text-primary, #f3f4f6)}[data-theme=dark] .ai-sidebar-popup-btn--discard{border-color:var(--grove-border-dark, #374151);color:var(--grove-text-secondary, #9ca3af)}[data-theme=dark] .ai-sidebar-popup-btn--discard:hover{background:#ffffff14;color:var(--grove-text-primary, #f3f4f6)}[data-theme=dark] .ai-sidebar-popup-body .markdown-renderer{color:var(--grove-text-primary, #f3f4f6)}@media(max-width:768px){.node-modal{width:95vw;max-height:92vh}.node-modal-content{flex-direction:column;overflow-y:auto}.node-modal-main{flex:none;overflow-y:visible}.node-modal-sidebar{width:100%;border-left:none;border-top:1px solid var(--grove-border-light, #e5e7eb);overflow-y:visible;flex-shrink:0}.node-modal-description-field{min-height:200px}.node-modal-field-group{grid-template-columns:1fr}}.inline-node-link{display:inline;box-decoration-break:clone;-webkit-box-decoration-break:clone;padding:2px 8px;margin:0 3px;vertical-align:text-top;background:#1d4ed81a;color:var(--grove-level-task, #1d4ed8);border:1px solid rgba(29,78,216,.3);border-radius:12px;font-size:.9em;font-weight:500;font-family:inherit;cursor:pointer;transition:all .15s ease;text-decoration:none;-webkit-user-select:none;user-select:none}.inline-node-link:hover{filter:brightness(1.1);transform:translateY(-.5px);box-shadow:0 2px 6px #00000026}.inline-node-link:focus{outline:2px solid currentColor;outline-offset:2px}.inline-node-link:active{transform:translateY(0);filter:brightness(.95)}.inline-node-link-icon{font-size:.7em;margin-right:4px;opacity:.8;position:relative;top:-1px}.inline-node-link-text{position:relative;top:-1px}.inline-node-link.level-domain{background:#7f1d1d1f;color:var(--grove-level-domain, #7f1d1d);border-color:#7f1d1d59}.inline-node-link.level-domain:hover{background:#7f1d1d33;border-color:#7f1d1d80}.inline-node-link.level-initiative{background:#b453091f;color:var(--grove-level-initiative, #b45309);border-color:#b4530959}.inline-node-link.level-initiative:hover{background:#b4530933;border-color:#b4530980}.inline-node-link.level-project{background:#0f766e1f;color:var(--grove-level-project, #0f766e);border-color:#0f766e59}.inline-node-link.level-project:hover{background:#0f766e33;border-color:#0f766e80}.inline-node-link.level-task{background:#1d4ed81a;color:var(--grove-level-task, #1d4ed8);border-color:#1d4ed84d}.inline-node-link.level-task:hover{background:#1d4ed82e;border-color:#1d4ed873}@media(prefers-color-scheme:dark){.inline-node-link.level-domain{background:#ef444426;color:var(--grove-level-domain-bright, #ef4444);border-color:#ef444459}.inline-node-link.level-domain:hover{background:#ef444440;border-color:#ef444480}.inline-node-link.level-initiative{background:#f59e0b26;color:var(--grove-level-initiative-bright, #f59e0b);border-color:#f59e0b59}.inline-node-link.level-initiative:hover{background:#f59e0b40;border-color:#f59e0b80}.inline-node-link.level-project{background:#14b8a626;color:var(--grove-level-project-bright, #14b8a6);border-color:#14b8a659}.inline-node-link.level-project:hover{background:#14b8a640;border-color:#14b8a680}.inline-node-link,.inline-node-link.level-task{background:#3b82f626;color:var(--grove-level-task-bright, #3b82f6);border-color:#3b82f659}.inline-node-link:hover,.inline-node-link.level-task:hover{background:#3b82f640;border-color:#3b82f680}}.markdown-renderer .inline-node-link{margin:0 2px}.node-lineage{display:flex;align-items:center;gap:0;flex-wrap:wrap;padding:8px 0}.node-lineage .node-pill{font-size:12px;padding:4px 16px;max-width:150px;margin-right:-8px;position:relative}.node-lineage .node-pill:hover{z-index:1}.node-modal-relations .node-lineage{flex-direction:column;align-items:flex-start;gap:var(--space-xs);padding:0;margin-top:var(--space-xs)}.node-modal-relations .node-lineage .node-pill{max-width:100%;margin-right:0}.panel-tabs{display:flex;border-bottom:1px solid var(--border-color);background:var(--panel-bg)}.tab-button{flex:1;padding:var(--space-md, 12px) var(--space-md, 16px);background:transparent;border:none;border-bottom:2px solid transparent;color:var(--text-secondary);font-size:var(--text-base, 14px);font-weight:var(--font-medium, 500);cursor:pointer;transition:all var(--transition-base, .15s ease)}.tab-button:hover{background:var(--hover-bg);color:var(--text-primary)}.tab-button:active{transform:scale(.98)}.tab-button.active{color:var(--primary-color);border-bottom-color:var(--primary-color);background:var(--active-bg)}.risk-analysis-panel{display:flex;flex-direction:column;height:100%;overflow-y:auto;background:var(--panel-bg)}.panel-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-md, 16px);border-bottom:1px solid var(--border-color)}.panel-header h3{margin:0;font-size:var(--text-xl, 18px);font-weight:var(--font-semibold, 600);color:var(--text-primary);display:flex;align-items:center;gap:var(--space-sm, 8px)}.panel-header h3:before{content:"";width:3px;height:18px;background:var(--grove-primary, var(--primary-color));border-radius:2px;flex-shrink:0}.refresh-button{width:32px;height:32px;border-radius:50%;border:1px solid var(--border-color);background:var(--button-bg);color:var(--text-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:18px;transition:all var(--transition-base, .15s ease)}.refresh-button:hover:not(:disabled){background:var(--hover-bg);transform:rotate(180deg)}.refresh-button:active:not(:disabled){transform:scale(.95)}.refresh-button:disabled{opacity:.5;cursor:not-allowed;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.panel-section{padding:var(--space-md, 16px);border-bottom:1px solid var(--border-color)}.section-label{display:flex;align-items:center;gap:var(--space-sm, 8px);margin-bottom:var(--space-sm, 8px);font-size:var(--text-xs, 12px);font-weight:var(--font-semibold, 600);text-transform:uppercase;color:var(--text-secondary);letter-spacing:var(--tracking-wider, .05em)}.section-label:before{content:"";width:3px;height:12px;background:var(--grove-primary, var(--primary-color));border-radius:2px;flex-shrink:0}.project-select{width:100%;padding:8px 12px;border:1px solid var(--border-color);border-radius:6px;background:var(--input-bg);color:var(--text-primary);font-size:14px;cursor:pointer}.project-select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px var(--primary-color-alpha)}.toggle-list{display:flex;flex-direction:column;gap:8px}.toggle-item{display:flex;align-items:center}.toggle-item.disabled{opacity:.5}.toggle-label{display:flex;align-items:center;cursor:pointer;padding:4px;border-radius:4px;transition:background .2s ease}.toggle-label:hover:not(.disabled .toggle-label){background:var(--hover-bg)}.toggle-label input[type=checkbox]{margin-right:8px;cursor:pointer}.color-indicator{margin-right:8px;flex-shrink:0}.path-label{font-size:14px;color:var(--text-primary)}.stats-grid{display:grid;gap:12px}.stat-item{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:var(--stat-bg);border-radius:6px;border:1px solid var(--border-color)}.stat-label{font-size:13px;color:var(--text-secondary)}.stat-value{font-size:16px;font-weight:600;color:var(--text-primary)}.stability-meter{position:relative;height:24px;background:var(--meter-bg);border-radius:12px;overflow:hidden;border:1px solid var(--border-color)}.stability-bar{position:absolute;top:0;left:0;height:100%;background:linear-gradient(90deg,var(--danger-color) 0%,var(--warning-color) 50%,var(--success-color) 100%);transition:width .5s ease}.stability-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:12px;font-weight:600;color:var(--text-primary);text-shadow:0 1px 2px rgba(0,0,0,.2)}.stability-description{margin-top:8px;font-size:12px;color:var(--text-secondary);line-height:1.4}.info-text{font-size:13px;color:var(--text-secondary)}.info-text p{margin:4px 0}.analyzing-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#ffffffe6;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:100}.dark-theme .analyzing-overlay{background:#000000e6}.analyzing-spinner{font-size:32px;animation:spin 1s linear infinite;color:var(--primary-color);margin-bottom:16px}.analyzing-overlay p{font-size:14px;color:var(--text-secondary);font-weight:500}.view-report-button{width:100%;padding:10px 16px;background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:6px;color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:4px}.view-report-button:hover:not(:disabled){background:linear-gradient(135deg,#2563eb,#1d4ed8);transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}.view-report-button:active:not(:disabled){transform:translateY(0)}.view-report-button:disabled{background:#333;color:#666;cursor:not-allowed}:root{--panel-bg: #ffffff;--border-color: #e0e0e0;--text-primary: #212121;--text-secondary: #757575;--primary-color: #3B82F6;--primary-color-alpha: rgba(59, 130, 246, .1);--hover-bg: #f5f5f5;--active-bg: #fafafa;--button-bg: #ffffff;--input-bg: #ffffff;--stat-bg: #f9f9f9;--meter-bg: #e0e0e0;--success-color: #10B981;--warning-color: #F59E0B;--danger-color: #EF4444}.dark-theme{--panel-bg: #1a1a1a;--border-color: #333333;--text-primary: #e0e0e0;--text-secondary: #9e9e9e;--primary-color: #60A5FA;--primary-color-alpha: rgba(96, 165, 250, .1);--hover-bg: #2a2a2a;--active-bg: #252525;--button-bg: #2a2a2a;--input-bg: #252525;--stat-bg: #252525;--meter-bg: #333333}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.risk-analysis-modal{width:90%;max-width:1200px;height:80vh;max-height:800px;background:var(--grove-bg-primary, #1e1e1e);border-radius:12px;display:flex;flex-direction:column;animation:slideIn .3s ease-out;color:var(--grove-text-primary, #f9fafb)}@keyframes slideIn{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{padding:20px 24px;border-bottom:1px solid var(--grove-border-light, #333);display:flex;justify-content:space-between;align-items:flex-start}.modal-header h2{margin:0;font-size:24px;color:var(--grove-text-primary, #ffffff)}.report-header-titles{flex:1;min-width:0}.report-headline{margin:8px 0 0;font-size:15px;font-weight:500;color:var(--grove-text-secondary, #d1d5db);line-height:1.4}.modal-close{background:none;border:none;color:var(--grove-text-muted, #999);font-size:32px;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;transition:color .2s}.modal-close:hover{color:var(--grove-text-primary, #ffffff)}.modal-tabs{display:flex;padding:0 24px;background:var(--grove-bg-secondary, #252525);border-bottom:1px solid var(--grove-border-light, #333)}.modal-tabs .tab{padding:12px 24px;background:none;border:none;color:var(--grove-text-muted, #999);cursor:pointer;font-size:14px;border-bottom:2px solid transparent;transition:all .2s}.modal-tabs .tab:hover{color:var(--grove-text-primary, #ffffff)}.modal-tabs .tab.active{color:var(--grove-text-primary, #ffffff);border-bottom-color:var(--grove-status-in-progress, #3b82f6)}.modal-content{flex:1;overflow-y:auto;padding:24px}.project-selector{margin-bottom:24px;display:flex;align-items:center;gap:12px}.project-selector label{color:var(--grove-text-muted, #999);font-size:14px}.project-selector select{padding:8px 12px;background:var(--grove-bg-muted, #2a2a2a);border:1px solid var(--grove-border-medium, #444);border-radius:6px;color:var(--grove-text-primary, #ffffff);font-size:14px;min-width:200px}.report-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.report-section{background:var(--grove-bg-secondary, #2a2a2a);border-radius:8px;padding:20px}.report-section.full-width{grid-column:1 / -1}.report-section h3{margin:0 0 16px;font-size:16px;color:var(--grove-text-primary, #ffffff)}.duration-comparison{margin-bottom:20px}.duration-bar{display:flex;align-items:center;margin-bottom:12px;height:32px}.bar-label{width:50px;color:var(--grove-text-muted, #999);font-size:12px}.bar-fill{height:24px;background:linear-gradient(90deg,#3b82f6,#2563eb);border-radius:4px;margin:0 12px;position:relative}.tcp-bar{background:linear-gradient(90deg,#f97316,#ea580c)}.bar-value{color:var(--grove-text-primary, #ffffff);font-size:14px;font-weight:500}.path-frequency-table{overflow-x:auto}.path-frequency-table table{width:100%;border-collapse:collapse}.path-frequency-table th{text-align:left;padding:8px;color:var(--grove-text-muted, #999);font-size:12px;font-weight:400;border-bottom:1px solid var(--grove-border-medium, #444)}.path-frequency-table td{padding:8px;color:var(--grove-text-primary, #ffffff);font-size:14px}.frequency-bar{display:flex;align-items:center;position:relative;height:20px;background:var(--grove-bg-primary, #1a1a1a);border-radius:4px;overflow:hidden}.frequency-fill{height:100%;background:linear-gradient(90deg,#10b981,#059669);transition:width .3s}.frequency-bar span{position:absolute;left:8px;font-size:12px;font-weight:500}.risk-ranking{display:flex;flex-direction:column;gap:12px}.risk-item{display:flex;justify-content:space-between;align-items:center}.risk-name{color:var(--grove-text-primary, #ffffff);font-size:14px;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-right:12px}.risk-metrics{display:flex;align-items:center;gap:12px;flex-shrink:0}.risk-score{width:100px;height:8px;background:var(--grove-bg-primary, #1a1a1a);border-radius:4px;overflow:hidden}.risk-bar{height:100%;transition:width .3s}.risk-impact{font-size:12px;color:var(--grove-text-muted, #999);min-width:50px;text-align:right}.metrics-table{width:100%;border-collapse:collapse;font-size:14px}.metrics-table th{text-align:left;color:var(--grove-text-muted, #999);font-weight:500;font-size:12px;text-transform:uppercase;letter-spacing:.04em;padding:6px 12px 6px 0;border-bottom:1px solid var(--grove-border-light, #333)}.metrics-table td{padding:10px 12px 10px 0;border-bottom:1px solid var(--grove-border-light, rgba(255, 255, 255, .06));color:var(--grove-text-primary, #ffffff)}.metrics-table tbody tr:last-child td{border-bottom:none}.metrics-table .metrics-value{font-weight:600;white-space:nowrap}.metrics-table .metrics-description{color:var(--grove-text-muted, #666);font-size:12px}.report-footer{padding:16px 24px;border-top:1px solid var(--grove-border-light, #333);background:var(--grove-bg-secondary, #252525);border-radius:0 0 12px 12px}.report-footer-content{display:flex;justify-content:space-between;align-items:center}.report-footer-branding{display:flex;align-items:center;gap:8px}.report-footer-logo{width:18px;height:18px;color:var(--grove-text-secondary, #d1d5db)}.report-footer-grove{font-size:13px;font-weight:500;color:var(--grove-text-secondary, #d1d5db)}.report-footer-meta{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--grove-text-muted, #999)}.report-footer-meta .separator{color:var(--grove-border-medium, #444)}.report-summary-section{max-height:300px;display:flex;flex-direction:column}.report-summary-scroll{overflow-y:auto;flex:1;min-height:0}.exec-histogram{padding:4px 0 0}.exec-histogram-chart{display:grid;grid-template-columns:auto 1fr;gap:6px}.exec-histogram-y-axis{display:flex;flex-direction:column;justify-content:space-between;align-items:flex-end;font-size:10px;color:var(--grove-text-muted, #999);padding-bottom:1px}.exec-histogram-plot{position:relative}.exec-histogram-bars{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;align-items:end;gap:1px;border-bottom:1px solid var(--grove-border-medium, #444);border-left:1px solid var(--grove-border-medium, #444)}.exec-histogram-bar{position:relative;border-radius:1px 1px 0 0;transition:opacity .15s ease;cursor:pointer;background-color:var(--grove-status-in-progress, #3b82f6)}.exec-histogram-bar:hover{opacity:.8}.exec-histogram-bar:hover:after{content:attr(data-pct);position:absolute;bottom:100%;left:50%;transform:translate(-50%);font-size:11px;color:var(--grove-text-primary, #f9fafb);white-space:nowrap;pointer-events:none;padding-bottom:2px}.exec-histogram-bar:hover:before{content:attr(data-bin);position:absolute;top:100%;left:50%;transform:translate(-50%);font-size:10px;color:var(--grove-text-primary, #f9fafb);white-space:nowrap;pointer-events:none;padding-top:4px;z-index:1}.exec-histogram-bar.p90{background-color:var(--grove-status-pending, #f59e0b)}.exec-histogram-bar.p95{background-color:var(--grove-risk-high, #ef4444)}.exec-histogram-ref-line{position:absolute;top:0;bottom:0;width:0;border-left:2.5px dashed #c084fc;pointer-events:none;z-index:2}.exec-histogram-ref-line.expected{border-left-color:#34d399}.exec-histogram-ref-label{position:absolute;top:100%;left:0;transform:translate(-50%);font-size:11px;font-weight:600;color:#c084fc;white-space:nowrap;padding-top:16px}.exec-histogram-ref-line.expected .exec-histogram-ref-label{color:#34d399}.exec-histogram-x-axis{display:flex;justify-content:space-between;padding-top:4px;padding-left:16px;font-size:11px;color:var(--grove-text-muted, #999)}.exec-histogram-legend{display:flex;align-items:center;gap:6px;padding-top:12px;flex-wrap:wrap}.exec-histogram-swatch{display:inline-block;width:10px;height:10px;border-radius:2px;flex-shrink:0}.exec-histogram-swatch.blue{background-color:var(--grove-status-in-progress, #3b82f6)}.exec-histogram-swatch.yellow{background-color:var(--grove-status-pending, #f59e0b)}.exec-histogram-swatch.red{background-color:var(--grove-risk-high, #ef4444)}.exec-histogram-swatch-line{display:inline-block;width:14px;height:0;border-top:2.5px dashed #c084fc;flex-shrink:0}.exec-histogram-swatch-line.expected{border-top-color:#34d399}.exec-histogram-label{font-size:11px;color:var(--grove-text-muted, #999);margin-right:12px}.no-data{text-align:center;color:var(--grove-text-muted, #666);padding:40px;font-style:italic}.no-data-message{display:flex;align-items:center;justify-content:center;height:400px;text-align:center;color:var(--grove-text-secondary, #888);font-size:16px;padding:40px}.report-header-actions{display:flex;align-items:center;gap:4px}.recommendations-list{display:flex;flex-direction:column;gap:10px}.recommendation-item{display:flex;gap:10px;align-items:flex-start;font-size:15px;line-height:1.5}.recommendation-number{color:var(--grove-status-in-progress, #3b82f6);font-weight:600;flex-shrink:0}.report-section .message-content{color:var(--grove-text-secondary, #e5e7eb)}.report-section .message-content h1,.report-section .message-content h2,.report-section .message-content h3,.report-section .message-content h4,.report-section .message-content strong{color:var(--grove-text-primary, #f9fafb)}.report-section .message-content a{color:var(--grove-status-in-progress, #3b82f6)}.critical-path-changed,.critical-path-unchanged{display:flex;flex-direction:column;gap:16px}.critical-path-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.critical-path-label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#c084fc;min-width:72px}.critical-path-label.expected{color:#34d399}.critical-path-duration{font-size:16px;font-weight:600;color:var(--grove-text-primary, #ffffff);min-width:60px}.critical-path-delta{font-size:12px;font-weight:400;color:var(--grove-text-muted, #999);margin-left:4px}.critical-path-nodes{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.critical-path-nodes:before{content:"";display:inline-block;width:1px;height:16px;background:var(--grove-border-medium, #444);margin-right:4px}.critical-path-note{margin:0;font-size:13px;color:var(--grove-text-muted, #999)}@media(max-width:768px){.risk-analysis-modal{width:95%;height:90vh}.report-grid{grid-template-columns:1fr}}.exec-report{max-width:960px;height:85vh;max-height:900px;box-shadow:0 24px 80px #00000080}.exec-header{padding:20px 28px 16px;border-bottom:1px solid var(--grove-border-light, #333);display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.exec-header-left{flex:1;min-width:0}.exec-title{margin:0;font-family:Libre Baskerville,Georgia,serif;font-size:20px;font-weight:400;color:var(--grove-text-primary, #f9fafb);letter-spacing:-.01em;user-select:text;-webkit-user-select:text;cursor:text}.exec-header-actions{display:flex;align-items:center;gap:2px;margin-left:16px}.exec-action-btn{background:none;border:none;color:var(--grove-text-muted, #9ca3af);cursor:pointer;padding:6px;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.exec-action-btn:hover{color:var(--grove-text-primary, #f9fafb);background:var(--grove-bg-muted, #374151)}.exec-action-btn.close:hover{color:var(--grove-risk-high, #ef4444)}.exec-body{flex:1;overflow-y:auto;padding:28px;display:flex;flex-direction:column;gap:24px}.exec-hero{padding:4px 0 8px}.exec-hero-headline{margin:0;font-family:Libre Baskerville,Georgia,serif;font-size:15px;font-weight:400;line-height:1.6;color:var(--grove-text-secondary, #e5e7eb);letter-spacing:-.005em;user-select:text;-webkit-user-select:text;cursor:text}.exec-hero-stats{display:flex;gap:24px;margin-top:20px}.exec-hero-stat{display:flex;flex-direction:column;gap:4px;padding:12px 20px;border:1px solid var(--grove-border-light, #374151);border-radius:8px;background:var(--grove-bg-secondary, #1f2937);min-width:100px}.exec-hero-stat-value{font-family:Plus Jakarta Sans,-apple-system,sans-serif;font-size:28px;font-weight:700;line-height:1;letter-spacing:-.02em}.exec-hero-stat-value.accent{color:var(--grove-status-pending, #fbbf24)}.exec-hero-stat-value.warning{color:var(--grove-risk-medium, #f59e0b)}.exec-hero-stat-value.danger{color:var(--grove-risk-high, #ef4444)}.exec-hero-stat-label{font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:var(--grove-text-muted, #9ca3af)}.exec-section{background:var(--grove-bg-secondary, #1f2937);border:1px solid var(--grove-border-light, #374151);border-radius:10px;padding:20px 24px}.exec-section-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:16px;padding-bottom:10px;border-bottom:1px solid var(--grove-border-light, rgba(255, 255, 255, .06))}.exec-section-header h3{margin:0;font-family:Plus Jakarta Sans,-apple-system,sans-serif;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--grove-text-muted, #9ca3af)}.exec-section-meta{font-size:11px;color:var(--grove-text-muted, #6b7280)}.exec-section .message-content{color:var(--grove-text-secondary, #e5e7eb);font-size:14px;line-height:1.65}.exec-section .message-content h1,.exec-section .message-content h2,.exec-section .message-content h3,.exec-section .message-content h4,.exec-section .message-content strong{color:var(--grove-text-primary, #f9fafb)}.exec-section .message-content a{color:var(--grove-status-in-progress, #60a5fa)}.exec-recommendations{display:flex;flex-direction:column;gap:0}.exec-rec-item{display:flex;gap:14px;align-items:flex-start;padding:10px 0;border-bottom:1px solid var(--grove-border-light, rgba(255, 255, 255, .04))}.exec-rec-item:last-child{border-bottom:none;padding-bottom:0}.exec-rec-item:first-child{padding-top:0}.exec-rec-number{font-family:Plus Jakarta Sans,-apple-system,sans-serif;font-size:13px;font-weight:700;color:var(--grove-status-in-progress, #60a5fa);min-width:20px;line-height:1.65;padding-top:1px}.exec-rec-text{flex:1;min-width:0}.exec-rec-text .message-content{font-size:14px;line-height:1.65}.exec-rec-text .message-content p{margin:0}.exec-analysis-scroll{max-height:240px;overflow-y:auto;user-select:text;-webkit-user-select:text;cursor:text}.exec-two-col{display:grid;grid-template-columns:1fr 1fr;gap:20px}.exec-two-col>:only-child{grid-column:1 / -1}.exec-report .exec-histogram{padding:0 12px}.exec-hist-top-labels{position:relative}.exec-hist-top-label{position:absolute;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:1px;white-space:nowrap;border-radius:5px;padding:3px 8px;background:var(--grove-bg-secondary, #1f2937);z-index:4;transition:background .1s ease;cursor:default}.exec-hist-label-name{font-family:Plus Jakarta Sans,-apple-system,sans-serif;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em}.exec-hist-label-diff{font-family:Plus Jakarta Sans,-apple-system,sans-serif;font-size:14px;font-weight:700}.exec-hist-top-label.baseline{color:#c084fc;border:1px solid #c084fc;background:color-mix(in srgb,#c084fc 12%,var(--grove-bg-secondary, #1f2937))}.exec-hist-top-label.expected{color:#34d399;border:1px solid #34d399;background:color-mix(in srgb,#34d399 12%,var(--grove-bg-secondary, #1f2937))}.exec-hist-top-label.p90{color:var(--grove-risk-medium, #fbbf24);border:1px solid var(--grove-risk-medium, #fbbf24);background:color-mix(in srgb,var(--grove-risk-medium, #fbbf24) 12%,var(--grove-bg-secondary, #1f2937))}.exec-hist-top-label.p95{color:var(--grove-risk-high, #ef4444);border:1px solid var(--grove-risk-high, #ef4444);background:color-mix(in srgb,var(--grove-risk-high, #ef4444) 12%,var(--grove-bg-secondary, #1f2937))}.exec-hist-line-ext{height:15px}.exec-hist-chart{position:relative}.exec-hist-bars{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;align-items:end;height:100%;gap:1px;border-bottom:1px solid var(--grove-border-light, rgba(255, 255, 255, .1))}.exec-hist-bar{position:relative;border-radius:2px 2px 0 0;transition:opacity .15s ease;cursor:pointer;background-color:var(--grove-status-in-progress, #3b82f6);opacity:.65}.exec-hist-bar:hover{opacity:1}.exec-hist-bar:hover:after{content:attr(data-pct);position:absolute;bottom:100%;left:50%;transform:translate(-50%);font-size:10px;font-weight:600;color:var(--grove-text-primary, #f9fafb);white-space:nowrap;pointer-events:none;padding-bottom:3px}.exec-hist-bar:hover:before{content:attr(data-bin);position:absolute;top:100%;left:50%;transform:translate(-50%);font-size:9px;color:var(--grove-text-muted, #9ca3af);white-space:nowrap;pointer-events:none;padding-top:4px;z-index:1}.exec-hist-bar.p90{background-color:var(--grove-status-pending, #f59e0b);opacity:.75}.exec-hist-bar.p95{background-color:var(--grove-risk-high, #ef4444);opacity:.8}.exec-hist-ref{position:absolute;width:0;pointer-events:none;z-index:2}.exec-hist-ref.baseline{border-left:2px dashed #c084fc}.exec-hist-ref.expected{border-left:2px dashed #34d399}.exec-hist-ref.p90{border-left:2px dashed var(--grove-risk-medium, #fbbf24)}.exec-hist-ref.p95{border-left:2px dashed var(--grove-risk-high, #ef4444)}.exec-hist-xaxis{display:flex;justify-content:space-between;padding-top:4px;font-size:10px;color:var(--grove-text-muted, #6b7280)}.exec-hist-bottom-values{position:relative;margin-top:4px}.exec-hist-bottom-value{position:absolute;transform:translate(-50%);font-family:Plus Jakarta Sans,-apple-system,sans-serif;font-size:13px;font-weight:700;white-space:nowrap;background:var(--grove-bg-secondary, #1f2937);padding:2px 6px;border-radius:4px;z-index:3;transition:background .1s ease;cursor:default}.exec-hist-bottom-value.baseline{color:#c084fc;border:1px solid #c084fc;background:color-mix(in srgb,#c084fc 12%,var(--grove-bg-secondary, #1f2937))}.exec-hist-bottom-value.expected{color:#34d399;border:1px solid #34d399;background:color-mix(in srgb,#34d399 12%,var(--grove-bg-secondary, #1f2937))}.exec-hist-bottom-value.p90{color:var(--grove-risk-medium, #fbbf24);border:1px solid var(--grove-risk-medium, #fbbf24);background:color-mix(in srgb,var(--grove-risk-medium, #fbbf24) 12%,var(--grove-bg-secondary, #1f2937))}.exec-hist-bottom-value.p95{color:var(--grove-risk-high, #ef4444);border:1px solid var(--grove-risk-high, #ef4444);background:color-mix(in srgb,var(--grove-risk-high, #ef4444) 12%,var(--grove-bg-secondary, #1f2937))}.exec-hist-top-label:hover{z-index:10}.exec-hist-top-label.baseline:hover,.exec-histogram:has(.exec-hist-bottom-value.baseline:hover) .exec-hist-top-label.baseline{background:color-mix(in srgb,#c084fc 25%,var(--grove-bg-secondary, #1f2937));z-index:10}.exec-hist-bottom-value.baseline:hover,.exec-histogram:has(.exec-hist-top-label.baseline:hover) .exec-hist-bottom-value.baseline{background:color-mix(in srgb,#c084fc 25%,var(--grove-bg-secondary, #1f2937))}.exec-hist-top-label.expected:hover,.exec-histogram:has(.exec-hist-bottom-value.expected:hover) .exec-hist-top-label.expected{background:color-mix(in srgb,#34d399 25%,var(--grove-bg-secondary, #1f2937));z-index:10}.exec-hist-bottom-value.expected:hover,.exec-histogram:has(.exec-hist-top-label.expected:hover) .exec-hist-bottom-value.expected{background:color-mix(in srgb,#34d399 25%,var(--grove-bg-secondary, #1f2937))}.exec-hist-top-label.p90:hover,.exec-histogram:has(.exec-hist-bottom-value.p90:hover) .exec-hist-top-label.p90{background:color-mix(in srgb,var(--grove-risk-medium, #fbbf24) 25%,var(--grove-bg-secondary, #1f2937));z-index:10}.exec-hist-bottom-value.p90:hover,.exec-histogram:has(.exec-hist-top-label.p90:hover) .exec-hist-bottom-value.p90{background:color-mix(in srgb,var(--grove-risk-medium, #fbbf24) 25%,var(--grove-bg-secondary, #1f2937))}.exec-hist-top-label.p95:hover,.exec-histogram:has(.exec-hist-bottom-value.p95:hover) .exec-hist-top-label.p95{background:color-mix(in srgb,var(--grove-risk-high, #ef4444) 25%,var(--grove-bg-secondary, #1f2937));z-index:10}.exec-hist-bottom-value.p95:hover,.exec-histogram:has(.exec-hist-top-label.p95:hover) .exec-hist-bottom-value.p95{background:color-mix(in srgb,var(--grove-risk-high, #ef4444) 25%,var(--grove-bg-secondary, #1f2937))}.exec-hist-timeline{position:relative;height:24px;margin-top:8px;border-top:1px solid var(--grove-border-light, rgba(255, 255, 255, .08))}.exec-hist-tick{position:absolute;top:0;display:flex;flex-direction:column;align-items:center;transform:translate(-50%)}.exec-hist-tick-mark{width:1px;height:5px;background:var(--grove-text-muted, rgba(255, 255, 255, .15))}.exec-hist-tick-label{font-family:Plus Jakarta Sans,-apple-system,sans-serif;font-size:9px;font-weight:500;color:var(--grove-text-muted, #6b7280);white-space:nowrap;margin-top:2px}.exec-no-variance{margin:0;font-size:13px;color:var(--grove-text-muted, #9ca3af);line-height:1.5}.exec-metrics-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px}.exec-metric-card{display:flex;flex-direction:column;gap:4px;padding:14px 16px;border:1px solid var(--grove-border-light, rgba(255, 255, 255, .06));border-radius:8px;background:var(--grove-bg-primary, #111827)}.exec-metric-value{font-family:Plus Jakarta Sans,-apple-system,sans-serif;font-size:20px;font-weight:700;color:var(--grove-status-pending, #fbbf24);letter-spacing:-.02em;line-height:1.1}.exec-metric-value.baseline{color:#c084fc}.exec-metric-value.expected{color:#34d399}.exec-metric-value.p90{color:var(--grove-risk-medium, #fbbf24)}.exec-metric-value.p95{color:var(--grove-risk-high, #ef4444)}.exec-metric-label{font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.06em;color:var(--grove-text-muted, #9ca3af)}.exec-metric-desc{font-size:11px;color:var(--grove-text-muted, #6b7280);line-height:1.35;margin-top:2px}.exec-risks{display:flex;flex-direction:column;gap:0;max-height:200px;overflow-y:auto}.exec-risk-row{display:flex;align-items:center;gap:12px;padding:9px 0;border-bottom:1px solid var(--grove-border-light, rgba(255, 255, 255, .04))}.exec-risk-row:last-child{border-bottom:none;padding-bottom:0}.exec-risk-row:first-child{padding-top:0}.exec-risk-rank{font-size:12px;font-weight:600;color:var(--grove-text-muted, #6b7280);min-width:20px;text-align:center}.exec-risk-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.exec-risk-bar-track{width:80px;height:6px;background:var(--grove-bg-primary, rgba(255, 255, 255, .04));border-radius:3px;overflow:hidden;flex-shrink:0}.exec-risk-bar-fill{height:100%;border-radius:3px;transition:width .4s ease}.exec-risk-bar-fill.high{background:var(--grove-risk-high, #ef4444)}.exec-risk-bar-fill.medium{background:var(--grove-risk-medium, #f59e0b)}.exec-risk-bar-fill.low{background:var(--grove-risk-low, #10b981)}.exec-risk-impact{font-family:Plus Jakarta Sans,-apple-system,sans-serif;font-size:14px;font-weight:700;color:var(--grove-text-primary, #f9fafb);min-width:48px;text-align:right}.exec-cp-note{margin:0 0 12px;font-size:13px;color:var(--grove-text-muted, #9ca3af)}.exec-cp-delta{font-size:12px;font-weight:600}.exec-cp-delta.negative{color:var(--grove-risk-high, #ef4444)}.exec-cp-delta.positive{color:var(--grove-risk-low, #10b981)}.exec-cp-scenario{margin-bottom:16px}.exec-cp-scenario.baseline-scenario{margin-bottom:12px}.exec-cp-scenario-head{display:flex;align-items:baseline;gap:10px;margin-bottom:8px}.exec-cp-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.1em}.exec-cp-label.expected{color:#34d399}.exec-cp-label.baseline{color:#c084fc}.exec-cp-duration{font-size:14px;font-weight:600;color:var(--grove-text-primary, #f9fafb)}.exec-cp-flow{display:flex;align-items:center;gap:6px;flex-wrap:wrap;line-height:2}.exec-cp-flow.dimmed{opacity:.55}.exec-cp-arrow{color:var(--grove-text-muted, #6b7280);font-size:12px;flex-shrink:0}.exec-cp-node-wrap{position:relative;display:inline-flex;align-items:center}.exec-cp-node-wrap.new{background:#34d3991a;border-radius:4px;padding:0 2px}.exec-cp-node-wrap.removed{background:#f871711a;border-radius:4px;padding:0 2px}.exec-cp-badge.removed{color:var(--grove-risk-high, #f87171);background:#f8717126}.exec-cp-badge{font-size:8px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#34d399;background:#34d39926;padding:1px 4px;border-radius:3px;margin-left:4px;flex-shrink:0;line-height:1.3}.exec-cp-diff-summary{font-size:12px;color:var(--grove-text-muted, #9ca3af);padding-top:8px;border-top:1px solid var(--grove-border-light, rgba(255, 255, 255, .06))}.exec-cp-diff-added{color:#34d399;font-weight:600}.exec-cp-diff-removed{color:var(--grove-risk-high, #f87171);font-weight:600}.exec-cp-diff-sep{margin:0 6px;color:var(--grove-border-medium, #4b5563)}.exec-cp-diff-context{color:var(--grove-text-muted, #6b7280)}.exec-footer{padding:14px 28px;border-top:1px solid var(--grove-border-light, #374151);display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.exec-footer-left{display:flex;align-items:center;gap:8px;color:var(--grove-text-muted, #6b7280);font-size:12px;font-weight:500}.exec-footer-logo{width:16px;height:16px}.exec-footer-right{display:flex;align-items:center;gap:0;font-size:11px;color:var(--grove-text-muted, #6b7280)}.exec-footer-dot{margin:0 8px;color:var(--grove-border-medium, #4b5563)}@media print{body>*:not([class*=modal]){display:none!important}.modal-overlay{position:static!important;background:none!important;display:block!important}.exec-report{width:100%!important;max-width:none!important;height:auto!important;max-height:none!important;border-radius:0!important;box-shadow:none!important;background:#fff!important;color:#1f2937!important}.exec-body{overflow:visible!important;padding:20px 0!important}.exec-header-actions{display:none!important}.exec-header{border-bottom-color:#e5e7eb!important}.exec-title{color:#111827!important}.exec-hero-headline{color:#374151!important}.exec-hero-stat{border-color:#e5e7eb!important;background:#f9fafb!important}.exec-hero-stat-value.accent{color:#d97706!important}.exec-hero-stat-value.warning{color:#b45309!important}.exec-hero-stat-value.danger{color:#dc2626!important}.exec-hero-stat-label{color:#6b7280!important}.exec-section{background:#f9fafb!important;border-color:#e5e7eb!important;break-inside:avoid}.exec-section-header{border-bottom-color:#e5e7eb!important}.exec-section-header h3{color:#6b7280!important}.exec-section .message-content{color:#374151!important}.exec-section .message-content strong{color:#111827!important}.exec-analysis-scroll{max-height:none!important;overflow:visible!important}.exec-hist-bar{opacity:1!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.exec-metric-card{background:#fff!important;border-color:#e5e7eb!important}.exec-metric-value{color:#d97706!important}.exec-metric-value.baseline{color:#7c3aed!important}.exec-metric-value.expected{color:#059669!important}.exec-metric-value.p95{color:#dc2626!important}.exec-metric-label,.exec-metric-desc{color:#6b7280!important}.exec-risk-impact{color:#111827!important}.exec-risk-bar-fill{-webkit-print-color-adjust:exact;print-color-adjust:exact}.exec-cp-flow.dimmed{opacity:.4!important}.exec-footer{border-top-color:#e5e7eb!important}.exec-footer-left,.exec-footer-right{color:#9ca3af!important}.exec-two-col{grid-template-columns:1fr 1fr}}@media(max-width:768px){.exec-report{width:95%;height:90vh}.exec-body{padding:20px}.exec-two-col{grid-template-columns:1fr}.exec-hero-stats{flex-direction:column;gap:12px}.exec-hero-stat{flex-direction:row;align-items:baseline;gap:10px}.exec-hero-stat-value{font-size:22px}.exec-risk-bar-track{display:none}}.theme-light .exec-report{box-shadow:0 24px 80px #0000002e}.theme-light .exec-hero-stat{background:var(--grove-bg-muted, #f3f4f6)}.theme-light .exec-hist-bar{opacity:.75}.theme-light .exec-hist-bar:hover{opacity:1}.theme-light .exec-metric-card{background:var(--grove-bg-muted, #f3f4f6)}.theme-light .exec-cp-node-wrap.new{background:#10b9811a}.theme-light .exec-cp-badge{color:#059669;background:#10b9811f}.theme-light .exec-cp-node-wrap.removed{background:#ef444414}.theme-light .exec-cp-badge.removed{color:#dc2626;background:#ef44441a}:root{--grove-level-domain: #7f1d1d;--grove-level-initiative: #b45309;--grove-level-project: #0f766e;--grove-level-task: #1d4ed8;--grove-level-domain-bright: #ef4444;--grove-level-initiative-bright: #f59e0b;--grove-level-project-bright: #14b8a6;--grove-level-task-bright: #3b82f6}.theme-dark{--grove-level-domain-text: #fca5a5;--grove-level-initiative-text: #fcd34d;--grove-level-project-text: #5eead4;--grove-level-task-text: #93c5fd;--grove-level-domain-bg: color-mix( in srgb, var(--grove-level-domain) 25%, transparent );--grove-level-initiative-bg: color-mix( in srgb, var(--grove-level-initiative) 25%, transparent );--grove-level-project-bg: color-mix( in srgb, var(--grove-level-project) 25%, transparent );--grove-level-task-bg: color-mix( in srgb, var(--grove-level-task) 25%, transparent )}.theme-light{--grove-level-domain-text: var(--grove-level-domain);--grove-level-initiative-text: var(--grove-level-initiative);--grove-level-project-text: var(--grove-level-project);--grove-level-task-text: var(--grove-level-task);--grove-level-domain-bg: color-mix( in srgb, var(--grove-level-domain) 15%, transparent );--grove-level-initiative-bg: color-mix( in srgb, var(--grove-level-initiative) 15%, transparent );--grove-level-project-bg: color-mix( in srgb, var(--grove-level-project) 15%, transparent );--grove-level-task-bg: color-mix( in srgb, var(--grove-level-task) 15%, transparent )}.theme-light{--grove-text-primary: #1f2937;--grove-text-secondary: #4b5563;--grove-text-muted: #9ca3af;--grove-text-light: #ffffff;--grove-bg-primary: #ffffff;--grove-bg-secondary: #f9fafb;--grove-bg-muted: #f3f4f6;--grove-viewport-bg: #e5e7eb;--grove-bg-elevated: #ffffff;--ui-bg-primary: #ffffff;--ui-bg-secondary: #f8f9fa;--ui-bg-tertiary: #e9ecef;--ui-text-primary: #1f2937;--ui-text-secondary: #6c757d;--ui-text-muted: #7f8c8d;--ui-border: #dee2e6;--ui-danger: #dc3545;--grove-border-light: #d1d5db;--grove-border-medium: #b8bfc7;--grove-border-dark: #9ca3af;--grove-shadow-light: rgba(0, 0, 0, .08);--grove-shadow-medium: rgba(0, 0, 0, .12);--grove-shadow-dark: rgba(0, 0, 0, .18);--grove-grid-color: #d1d5db;--grove-status-pending: #f59e0b;--grove-status-in-progress: #3b82f6;--grove-status-blocked: #ef4444;--grove-status-completed: #10b981;--grove-risk-low: #10b981;--grove-risk-medium: #f59e0b;--grove-risk-high: #ef4444;--grove-node-bg: var(--grove-bg-elevated);--grove-node-border: var(--grove-border-medium);--grove-node-shadow: var(--grove-shadow-light);--grove-node-shadow-hover: var(--grove-shadow-medium);--grove-container-bg-base: #faf7f2;--grove-edge-delete-bg: #ef4444;--grove-edge-delete-bg-hover: #f87171;--grove-edge-delete-bg-active: #dc2626;--grove-edge-delete-border: white;--grove-edge-delete-glow: rgba(239, 68, 68, .4)}.theme-dark{--grove-text-primary: #f9fafb;--grove-text-secondary: #e5e7eb;--grove-text-muted: #9ca3af;--grove-text-light: #ffffff;--grove-bg-primary: #111827;--grove-bg-secondary: #1f2937;--grove-bg-muted: #374151;--grove-viewport-bg: #0f1419;--grove-bg-elevated: #283548;--ui-bg-primary: #1f2937;--ui-bg-secondary: #111827;--ui-bg-tertiary: #374151;--ui-text-primary: #f9fafb;--ui-text-secondary: #d1d5db;--ui-text-muted: #9ca3af;--ui-border: #374151;--ui-danger: #f87171;--grove-border-light: #374151;--grove-border-medium: #4b5563;--grove-border-dark: #6b7280;--grove-shadow-light: rgba(0, 0, 0, .2);--grove-shadow-medium: rgba(0, 0, 0, .3);--grove-shadow-dark: rgba(0, 0, 0, .4);--grove-grid-color: #1f2937;--grove-status-pending: #fbbf24;--grove-status-in-progress: #60a5fa;--grove-status-blocked: #f87171;--grove-status-completed: #34d399;--grove-risk-low: #34d399;--grove-risk-medium: #fbbf24;--grove-risk-high: #f87171;--grove-node-bg: var(--grove-bg-elevated);--grove-node-border: var(--grove-border-medium);--grove-node-shadow: var(--grove-shadow-light);--grove-node-shadow-hover: var(--grove-shadow-medium);--grove-container-bg-base: #f5f0e8;--grove-edge-delete-bg: #ef4444;--grove-edge-delete-bg-hover: #f87171;--grove-edge-delete-bg-active: #dc2626;--grove-edge-delete-border: #1f2937;--grove-edge-delete-glow: rgba(239, 68, 68, .5)}.theme-light.palette-nord{--grove-primary: #5e81ac;--grove-primary-hover: #81a1c1;--grove-secondary: #4c566a;--grove-selection: #88c0d0;--grove-selection-glow: rgba(136, 192, 208, .25);--grove-selection-strong: rgba(136, 192, 208, .4);--grove-edge-color: #5e81ac;--grove-edge-color-hover: #81a1c1;--grove-edge-color-active: #88c0d0;--grove-edge-glow-color: rgba(136, 192, 208, .4);--grove-highlight-color: #bf616a;--grove-highlight-glow: rgba(191, 97, 106, .4);--grove-critical-glow: rgba(191, 97, 106, .6);--grove-bg-primary: #eceff4;--grove-bg-secondary: #e5e9f0;--grove-bg-muted: #d8dee9;--grove-viewport-bg: #d8dee9;--grove-border-light: #d8dee9;--grove-border-medium: #c9d1e0}.theme-dark.palette-nord{--grove-primary: #88c0d0;--grove-primary-hover: #8fbcbb;--grove-secondary: #81a1c1;--grove-selection: #81a1c1;--grove-selection-glow: rgba(136, 192, 208, .2);--grove-selection-strong: rgba(136, 192, 208, .35);--grove-edge-color: #88c0d0;--grove-edge-color-hover: #8fbcbb;--grove-edge-color-active: #a3be8c;--grove-edge-glow-color: rgba(136, 192, 208, .4);--grove-highlight-color: #bf616a;--grove-highlight-glow: rgba(191, 97, 106, .4);--grove-critical-glow: rgba(191, 97, 106, .6);--grove-bg-primary: #2e3440;--grove-bg-secondary: #3b4252;--grove-bg-muted: #434c5e;--grove-viewport-bg: #272c36;--grove-border-light: #434c5e;--grove-border-medium: #4c566a;--grove-text-primary: #eceff4;--grove-text-secondary: #d8dee9;--grove-text-muted: #7b88a1}.theme-light.palette-winter{--grove-primary: #64748b;--grove-primary-hover: #475569;--grove-secondary: #94a3b8;--grove-selection: #94a3b8;--grove-selection-glow: rgba(148, 163, 184, .25);--grove-selection-strong: rgba(148, 163, 184, .4);--grove-edge-color: #64748b;--grove-edge-color-hover: #475569;--grove-edge-color-active: #334155;--grove-edge-glow-color: rgba(100, 116, 139, .4);--grove-highlight-color: #ef4444;--grove-highlight-glow: rgba(239, 68, 68, .4);--grove-critical-glow: rgba(239, 68, 68, .6);--grove-bg-primary: #f8fafc;--grove-bg-secondary: #f1f5f9;--grove-bg-muted: #e2e8f0;--grove-viewport-bg: #cbd5e1;--grove-border-light: #e2e8f0;--grove-border-medium: #cbd5e1}.theme-dark.palette-winter{--grove-primary: #94a3b8;--grove-primary-hover: #cbd5e1;--grove-secondary: #64748b;--grove-selection: #cbd5e1;--grove-selection-glow: rgba(203, 213, 225, .15);--grove-selection-strong: rgba(203, 213, 225, .3);--grove-edge-color: #94a3b8;--grove-edge-color-hover: #cbd5e1;--grove-edge-color-active: #e2e8f0;--grove-edge-glow-color: rgba(148, 163, 184, .4);--grove-highlight-color: #f87171;--grove-highlight-glow: rgba(248, 113, 113, .4);--grove-critical-glow: rgba(248, 113, 113, .6);--grove-bg-primary: #0f172a;--grove-bg-secondary: #1e293b;--grove-bg-muted: #334155;--grove-viewport-bg: #0c1322;--grove-border-light: #334155;--grove-border-medium: #475569;--grove-text-primary: #f8fafc;--grove-text-secondary: #cbd5e1;--grove-text-muted: #64748b}.theme-light.palette-amber{--grove-primary: #b45309;--grove-primary-hover: #92400e;--grove-secondary: #d97706;--grove-selection: #d97706;--grove-selection-glow: rgba(217, 119, 6, .25);--grove-selection-strong: rgba(217, 119, 6, .4);--grove-edge-color: #b45309;--grove-edge-color-hover: #d97706;--grove-edge-color-active: #f59e0b;--grove-edge-glow-color: rgba(217, 119, 6, .4);--grove-highlight-color: #dc2626;--grove-highlight-glow: rgba(220, 38, 38, .4);--grove-critical-glow: rgba(220, 38, 38, .6);--grove-bg-primary: #fefdfb;--grove-bg-secondary: #faf8f5;--grove-bg-muted: #f5f0e8;--grove-viewport-bg: #ebe5db;--grove-border-light: #e7e5e4;--grove-border-medium: #d6d3d1;--grove-text-primary: #1c1917;--grove-text-secondary: #57534e;--grove-text-muted: #a8a29e}.theme-dark.palette-amber{--grove-primary: #d79921;--grove-primary-hover: #fabd2f;--grove-secondary: #fe8019;--grove-selection: #fe8019;--grove-selection-glow: rgba(215, 153, 33, .2);--grove-selection-strong: rgba(215, 153, 33, .35);--grove-edge-color: #d79921;--grove-edge-color-hover: #fabd2f;--grove-edge-color-active: #fe8019;--grove-edge-glow-color: rgba(215, 153, 33, .4);--grove-highlight-color: #fb4934;--grove-highlight-glow: rgba(251, 73, 52, .4);--grove-critical-glow: rgba(251, 73, 52, .6);--grove-bg-primary: #282828;--grove-bg-secondary: #3c3836;--grove-bg-muted: #504945;--grove-viewport-bg: #1d2021;--grove-border-light: #504945;--grove-border-medium: #665c54;--grove-text-primary: #ebdbb2;--grove-text-secondary: #d5c4a1;--grove-text-muted: #928374}.theme-light.palette-catppuccin{--grove-primary: #8839ef;--grove-primary-hover: #7c3aed;--grove-secondary: #ea76cb;--grove-selection: #dd7878;--grove-selection-glow: rgba(136, 57, 239, .15);--grove-selection-strong: rgba(136, 57, 239, .3);--grove-edge-color: #8839ef;--grove-edge-color-hover: #7287fd;--grove-edge-color-active: #04a5e5;--grove-edge-glow-color: rgba(136, 57, 239, .4);--grove-highlight-color: #d20f39;--grove-highlight-glow: rgba(210, 15, 57, .4);--grove-critical-glow: rgba(210, 15, 57, .6);--grove-bg-primary: #eff1f5;--grove-bg-secondary: #e6e9ef;--grove-bg-muted: #dce0e8;--grove-viewport-bg: #e2e5ed;--grove-border-light: #ccd0da;--grove-border-medium: #bcc0cc;--grove-text-primary: #4c4f69;--grove-text-secondary: #6c6f85;--grove-text-muted: #9ca0b0}.theme-dark.palette-catppuccin{--grove-primary: #cba6f7;--grove-primary-hover: #f5c2e7;--grove-secondary: #f38ba8;--grove-selection: #b4befe;--grove-selection-glow: rgba(203, 166, 247, .15);--grove-selection-strong: rgba(203, 166, 247, .3);--grove-edge-color: #cba6f7;--grove-edge-color-hover: #89b4fa;--grove-edge-color-active: #74c7ec;--grove-edge-glow-color: rgba(203, 166, 247, .4);--grove-highlight-color: #f38ba8;--grove-highlight-glow: rgba(243, 139, 168, .4);--grove-critical-glow: rgba(243, 139, 168, .6);--grove-bg-primary: #1e1e2e;--grove-bg-secondary: #313244;--grove-bg-muted: #45475a;--grove-viewport-bg: #181825;--grove-border-light: #45475a;--grove-border-medium: #585b70;--grove-text-primary: #cdd6f4;--grove-text-secondary: #bac2de;--grove-text-muted: #6c7086}.theme-light.palette-neutral{--grove-primary: #78716c;--grove-primary-hover: #57534e;--grove-secondary: #a8a29e;--grove-selection: #a8a29e;--grove-selection-glow: rgba(168, 162, 158, .25);--grove-selection-strong: rgba(168, 162, 158, .4);--grove-edge-color: #78716c;--grove-edge-color-hover: #57534e;--grove-edge-color-active: #44403c;--grove-edge-glow-color: rgba(120, 113, 108, .4);--grove-highlight-color: #dc2626;--grove-highlight-glow: rgba(220, 38, 38, .4);--grove-critical-glow: rgba(220, 38, 38, .6);--grove-bg-primary: #fafaf9;--grove-bg-secondary: #f5f5f4;--grove-bg-muted: #e7e5e4;--grove-viewport-bg: #d6d3d1;--grove-border-light: #e7e5e4;--grove-border-medium: #d6d3d1;--grove-text-primary: #1c1917;--grove-text-secondary: #57534e;--grove-text-muted: #a8a29e}.theme-dark.palette-neutral{--grove-primary: #a8a29e;--grove-primary-hover: #d6d3d1;--grove-secondary: #78716c;--grove-selection: #d6d3d1;--grove-selection-glow: rgba(214, 211, 209, .15);--grove-selection-strong: rgba(214, 211, 209, .3);--grove-edge-color: #a8a29e;--grove-edge-color-hover: #d6d3d1;--grove-edge-color-active: #e7e5e4;--grove-edge-glow-color: rgba(168, 162, 158, .4);--grove-highlight-color: #f87171;--grove-highlight-glow: rgba(248, 113, 113, .4);--grove-critical-glow: rgba(248, 113, 113, .6);--grove-bg-primary: #1c1917;--grove-bg-secondary: #292524;--grove-bg-muted: #3d3836;--grove-viewport-bg: #171412;--grove-border-light: #44403c;--grove-border-medium: #57534e;--grove-text-primary: #fafaf9;--grove-text-secondary: #d6d3d1;--grove-text-muted: #78716c}.preview-mode-banner{position:absolute;top:16px;left:50%;transform:translate(-50%);z-index:1000;pointer-events:none}.preview-banner-content{display:flex;flex-direction:column;align-items:center;gap:8px;background:#1e1e1ef2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:10px 16px;box-shadow:0 4px 12px #0000004d;pointer-events:auto;animation:slide-down .3s ease-out}.preview-banner-text{color:#ffffffe6;font-weight:500;font-size:13px;flex-shrink:0}.preview-banner-buttons{display:flex;gap:8px}.preview-banner-reject,.preview-banner-accept{border:none;border-radius:6px;padding:6px 14px;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s ease;flex-shrink:0}.preview-banner-reject{background:#ef4444e6;color:#fff}.preview-banner-reject:hover{background:#dc2626}.preview-banner-accept{background:#22c55ee6;color:#fff}.preview-banner-accept:hover{background:#16a34a}.preview-banner-reject:active,.preview-banner-accept:active{transform:scale(.97)}@keyframes slide-down{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}
