@layer base,components,utilities;@layer base{:root{color-scheme:dark;--h: 220;--s: 12%;--app-background: #1e1e24;--bg-primary: hsl(var(--h), var(--s), 10%);--bg-secondary: hsl(var(--h), var(--s), 15%);--bg-tertiary: hsl(var(--h), var(--s), 20%);--bg-hover: hsla(0, 0%, 100%, .05);--text-primary: hsl(200, 40%, 85%);--text-secondary: hsl(200, 15%, 65%);--text-dim: hsla(200, 15%, 65%, .5);--accent-h: 199;--accent: hsl(var(--accent-h), 92%, 64%);--accent-muted: hsla(var(--accent-h), 92%, 64%, .2);--accent-glow: 0 0 15px hsla(var(--accent-h), 92%, 64%, .3);--danger: hsl(0, 85%, 65%);--success: hsl(145, 45%, 65%);--info: hsl(210, 85%, 75%);--warning: hsl(45, 100%, 60%);--gold: hsl(50, 100%, 50%);--border-light: hsla(0, 0%, 100%, .15);--border-dim: hsla(0, 0%, 100%, .05);--glass-bg: hsla(var(--h), var(--s), 12%, .7);--glass-border: hsla(0, 0%, 100%, .1);--submenu-bg: hsla(var(--h), var(--s), 13%, .96);--submenu-control-bg: hsla(var(--h), var(--s), 21%, .92);--submenu-control-hover-bg: hsla(var(--h), var(--s), 25%, .98);--space-xs: 4px;--space-sm: 8px;--space-md: 12px;--space-lg: 16px;--space-xl: 24px;--font: "Inter", "Outfit", system-ui, -apple-system, sans-serif;--text-xs: .75rem;--text-sm: .85rem;--text-base: .95rem;--text-lg: 1.1rem;--text-xl: 1.5rem;--br-sm: 6px;--br-md: 10px;--br-lg: 16px;--br-pill: 9999px;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .2);--shadow-md: 0 8px 24px rgba(0, 0, 0, .4);--shadow-lg: 0 16px 48px rgba(0, 0, 0, .6);--outline-width: 300px;--header-height: 48px;--toolbar-height: 48px;--tab-bar-height: 36px;--footer-height: 40px;--z-base: 1;--z-nav: 1000;--z-header: 9000;--z-fab: 10005;--z-modal: 10000;--z-tooltip: 3000;--icon-sm: 16px;--icon-md: 20px;--trans-fast: .1s ease;--trans-base: .2s cubic-bezier(.4, 0, .2, 1);--trans-slow: .4s cubic-bezier(.4, 0, .2, 1)}.glass{background:var(--glass-bg);backdrop-filter:blur(12px) saturate(160%);border:1px solid var(--glass-border);box-shadow:var(--shadow-md)}.glass-dark{background:#0006;backdrop-filter:blur(20px);border:1px solid hsla(0,0%,100%,.05)}.submenu-surface{background:var(--submenu-bg);backdrop-filter:blur(16px) saturate(140%);-webkit-backdrop-filter:blur(16px) saturate(140%)}.submenu-surface .icon-btn{background:var(--submenu-control-bg)}.submenu-surface .icon-btn:hover:not(:disabled){background:var(--submenu-control-hover-bg)}:where(*){box-sizing:border-box;scrollbar-width:thin;scrollbar-color:hsla(0,0%,100%,.08) transparent}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:var(--br-pill);transition:background var(--trans-base)}::-webkit-scrollbar-thumb:hover{background:#fff3}body{margin:0;overflow:hidden;min-height:100%;min-height:100dvh;font-family:var(--font);background:var(--app-background);color:var(--text-primary);-webkit-font-smoothing:antialiased;line-height:1.5;--sidebar-w: var(--outline-width)}html{min-height:100%;background:var(--app-background)}body.collapsed,body.outline-disabled{--sidebar-w: 0px}body.outline-resizing{--sidebar-w: var(--outline-width)}body.outline-disabled.outline-resizing{--sidebar-w: 0px}::selection{background:var(--accent-muted);color:var(--accent)}}body.no-animations *{animation-duration:0s!important;transition-duration:0s!important}canvas{touch-action:none}#app-root{min-height:100%;background:var(--app-background);touch-action:pan-x pan-y}.mobile-label-bar{bottom:var(--keyboard-h, 0px)!important;transform:translateY(calc(100% + env(safe-area-inset-bottom,0px)));opacity:0;pointer-events:none;transition:transform var(--trans-base),opacity var(--trans-base);will-change:transform,opacity}.mobile-label-bar.mobile-label-bar-open{transform:translateY(0);opacity:1;pointer-events:none}:root.mobile-keyboard-layout-frozen .mobile-label-bar{bottom:0!important;transition:none!important;animation:none!important}.mobile-label-bar .label-bar-input{pointer-events:auto}.quick-edit-label-row{display:flex;align-items:center;gap:var(--space-sm);min-width:0}.quick-edit-label-row .label-bar-input{flex:1;min-width:0}.quick-edit-label-row .description-lock-button{pointer-events:auto}@media(max-width:768px)and (pointer:coarse){.quick-edit-label-row{display:contents}}@media(max-width:768px)and (pointer:coarse){input,textarea,[contenteditable=true],.ql-editor,.editable-text{font-size:16px!important}.mobile-label-bar .editable-text:empty:before{content:"Click here to add node label...";color:var(--text-dim);pointer-events:none;display:block}.mobile-label-bar .label-bar-input{max-height:6em;overflow-wrap:anywhere;line-height:1.5}.mobile-label-bar .label-bar-input:not(:focus){display:-webkit-box;overflow:hidden;text-overflow:ellipsis;-webkit-box-orient:vertical;-webkit-line-clamp:4;line-clamp:4}.mobile-label-bar .label-bar-input:focus{display:block;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.mobile-label-bar-empty-description{padding-block-end:calc(8px - min(8px,var(--keyboard-h, 0px)))!important}}@media(prefers-reduced-motion:reduce){.mobile-label-bar,.pane-tab-scroll{transition-duration:0s!important}.mobile-label-bar.mobile-label-bar-open{animation:none!important}}@layer components{:is(.layout-node,.pane-node){display:flex;flex:1;overflow:hidden;position:relative;height:100%}.layout-node{flex-direction:row}#outline-panel{position:fixed;inset-block-start:0;inset-block-end:0;inset-inline-start:0;width:var(--sidebar-w);background:var(--bg-secondary);border-inline-end:1px solid var(--border);z-index:3000;display:flex;flex-direction:column;overflow:hidden;transition:all .22s cubic-bezier(.2,.7,.3,1);padding-inline-start:env(safe-area-inset-left,0);padding-block-start:env(safe-area-inset-top,0)}body.collapsed #outline-panel{transform:translate(-100%)}body.email-verify-banner-visible #outline-panel,body.demo-banner-visible #outline-panel{inset-block-start:var(--email-verify-banner-h, var(--demo-banner-h, 0px))}.email-verify-banner,.demo-banner{padding-block-start:env(safe-area-inset-top,0);padding-inline-start:env(safe-area-inset-left,0);padding-inline-end:env(safe-area-inset-right,0)}body.outline-resizing #outline-panel{transform:none;transition:none}.outline-virtual-spacer{position:absolute;inset-block-start:0;inset-inline-start:0;inline-size:100%;pointer-events:none}.outline-virtual-container{position:absolute;inset-block-start:0;inset-inline-start:0;inline-size:100%;will-change:transform}#network{position:absolute;inset:0;background:var(--app-background);margin-inline-start:var(--sidebar-w, 0px);inset-inline-end:var(--right-panel-w, 0px);transition:inset-inline-end .28s cubic-bezier(.22,1,.36,1),inset-block-start .22s cubic-bezier(.2,.7,.3,1)}body.gn-booting :is(#network,#outline-panel,#outline-resize-handle){transition:none!important}body.gn-booting .pane-content{opacity:0}body.email-verify-banner-visible #network,body.demo-banner-visible #network{inset-block-start:var(--email-verify-banner-h, var(--demo-banner-h, 0px))}.pane-tree-host{flex:1;height:100%;width:100%;overflow:hidden}.layout-node.split-node{display:flex;height:100%;width:100%;overflow:hidden}.split-node.horizontal{flex-direction:row}.split-node.vertical{flex-direction:column}.split-separator{flex:0 0 4px;background:var(--border-dim);transition:background var(--trans-fast);z-index:5;position:relative;touch-action:none}.split-separator.horizontal{cursor:col-resize}.split-separator.vertical{cursor:row-resize}.split-separator:before{content:"";position:absolute}.split-separator.horizontal:before{inset:0 -14px}.split-separator.vertical:before{inset:-14px 0}.split-separator:hover{background:var(--accent)}@media(hover:none){.split-separator:active{background:var(--accent)}}.pane-node{display:flex;flex-direction:column;min-width:80px;min-height:80px;position:relative;overflow:hidden;background:var(--app-background);border:1px solid transparent}.pane-node.active-pane{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent-muted)}.pane-header{display:flex;align-items:stretch;flex-shrink:0;height:40px;background:var(--bg-secondary);border-bottom:1px solid var(--border-light);overflow:hidden}body.embedded-playground .pane-header{height:32px}.pane-tab-strip{display:flex;flex:1;min-width:0;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.pane-tab-strip::-webkit-scrollbar{display:none}.pane-tab{display:inline-flex;align-items:center;gap:6px;padding:0 10px;max-width:180px;min-width:60px;flex-shrink:0;border-right:1px solid var(--border-dim);color:var(--text-secondary);cursor:pointer;user-select:none;font-size:12px;transition:background var(--trans-fast),color var(--trans-fast)}.pane-tab:hover{background:var(--bg-hover)}@media(hover:none){.pane-tab:active{background:var(--bg-hover)}}.pane-tab.active{background:var(--bg-primary);color:var(--text-primary);border-bottom:2px solid var(--accent)}.pane-tab{position:relative}.pane-tab.drop-before{box-shadow:-3px 0 0 var(--accent)}.pane-tab.drop-after{box-shadow:3px 0 0 var(--accent)}.pane-tab-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.graph-title{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.graph-title:focus{overflow-x:auto;text-overflow:clip;scrollbar-width:none}.graph-title:focus::-webkit-scrollbar{display:none}.pane-tab-close{background:none;border:none;color:var(--text-dim);cursor:pointer;font-size:14px;line-height:1;padding:2px 4px;border-radius:var(--br-sm);opacity:.6;transition:opacity var(--trans-fast),background var(--trans-fast)}.pane-tab-close:hover{opacity:1}@media(hover:none){.pane-tab-close:active{opacity:1}}.pane-tab-add{flex-shrink:0;background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:16px;padding:0 10px;line-height:1;transition:color var(--trans-fast)}.pane-tab-add:hover{color:var(--accent)}@media(hover:none){.pane-tab-add:active{color:var(--accent)}}.pane-content{flex:1;position:relative;overflow:hidden;background:var(--app-background);padding-bottom:var(--label-bar-h, 0px);box-sizing:border-box}.drop-overlay{position:absolute;pointer-events:none;background:var(--accent-muted);border:2px dashed var(--accent);border-radius:0;z-index:10000;opacity:0;transition:opacity var(--trans-fast),inset var(--trans-fast);inset:0}.drop-overlay.visible{opacity:.7;border-radius:0}.drop-overlay.visible.left{inset:0 50% 0 0}.drop-overlay.visible.right{inset:0 0 0 50%}.drop-overlay.visible.top{inset:0 0 50%}.drop-overlay.visible.bottom{inset:50% 0 0}.drop-overlay.visible.center{inset:8px}.focus-breadcrumb{position:absolute;inset-block-start:48px;inset-inline-start:8px;z-index:100;display:flex;align-items:center;gap:2px;padding:4px 6px;border-radius:var(--br-md);font-size:var(--text-xs);color:var(--text-secondary);max-width:calc(100% - 16px);overflow:hidden}.focus-breadcrumb .crumb{display:inline-flex;align-items:center;gap:2px;padding:2px 6px;border:none;background:transparent;color:inherit;font:inherit;cursor:pointer;border-radius:var(--br-sm);white-space:nowrap;max-width:180px;overflow:hidden;text-overflow:ellipsis;transition:background var(--trans-fast),color var(--trans-fast)}.focus-breadcrumb .crumb:hover:not(:disabled){background:var(--bg-hover);color:var(--accent)}@media(hover:none){.focus-breadcrumb .crumb:active:not(:disabled){background:var(--bg-hover);color:var(--accent)}}.focus-breadcrumb .crumb-current{color:var(--accent);cursor:default}.focus-breadcrumb .crumb-current:disabled{opacity:1}.focus-breadcrumb .crumb-sep{opacity:.4;margin:0 2px}.focus-breadcrumb .crumb-group{display:inline-flex;align-items:center}.focus-breadcrumb>.crumb-group{min-width:0}.focus-breadcrumb>.crumb-group:not(.crumb-ellipsis-group) .crumb{min-width:0}.focus-breadcrumb>.crumb-ellipsis-group{flex-shrink:0}.breadcrumb-fixed-controls{display:inline-flex;align-items:stretch;flex-shrink:0}.breadcrumb-width-measurer{position:absolute;inset:0 auto auto 0;display:inline-flex;visibility:hidden;pointer-events:none;white-space:nowrap}.breadcrumb-measure-crumb{display:inline-flex;align-items:center;margin-inline-start:2px}.breadcrumb-measure-crumb:before{content:"›";margin:0 2px}.breadcrumb-measure-crumb:after{content:attr(data-label);display:inline-block;max-width:180px;padding:2px 6px;overflow:hidden;text-overflow:ellipsis}@media(max-width:768px)and (pointer:coarse){.focus-breadcrumb{transform:scale(1.2);transform-origin:top left;height:24px}.email-verify-banner{flex-wrap:nowrap;padding:6px 10px}.email-verify-banner__msg{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:start}.email-verify-banner__msg-tail,.email-verify-banner__wrong-email{display:none}}.no-transition{transition:none!important}#outline-resize-handle,.tooltip-resize-handle{position:fixed;inset-block:0;width:8px;cursor:col-resize;z-index:3001}#outline-resize-handle{inset-inline-start:var(--sidebar-w, 0px);inset-block-start:env(safe-area-inset-top,0px);transition:inset-inline-start .22s cubic-bezier(.2,.7,.3,1)}body.email-verify-banner-visible #outline-resize-handle,body.demo-banner-visible #outline-resize-handle,body.email-verify-banner-visible .tooltip-resize-handle,body.demo-banner-visible .tooltip-resize-handle,body.email-verify-banner-visible #detail-resize-preview,body.demo-banner-visible #detail-resize-preview{inset-block-start:var(--email-verify-banner-h, var(--demo-banner-h, 0px))}.tooltip-resize-handle.dock-right{inset-inline-end:var(--right-panel-w, 0px);transition:inset-inline-end .22s cubic-bezier(.2,.7,.3,1)}#detail-resize-preview{position:fixed;display:none;inset-block:0;z-index:var(--z-tooltip);background:var(--bg-secondary);pointer-events:none;overflow:hidden}#detail-resize-preview.dock-right{inset-inline:auto 0;width:var(--right-panel-w, 0px);border-inline-start:1px solid var(--border)}#detail-resize-preview.dock-left{inset-inline-start:var(--sidebar-w, 0);inset-inline-end:auto;width:var(--left-panel-w, 0px);border-inline-end:1px solid var(--border)}body.detail-resizing #detail-resize-preview,body.detail-open #detail-resize-preview{display:block}body.outline-resizing #outline-resize-handle,body.detail-resizing .tooltip-resize-handle{transition:none}#outline-resize-handle:after,.tooltip-resize-handle:after{content:"";position:absolute;inset-block-start:50%;inset-inline-start:50%;transform:translate(-50%,-50%);width:2px;height:36px;background:var(--border-light);border-radius:2px;transition:background var(--trans-fast),height var(--trans-fast),box-shadow var(--trans-fast)}#outline-resize-handle:hover:after,#outline-resize-handle.resizing:after,.tooltip-resize-handle:hover:after,.tooltip-resize-handle.resizing:after{background:var(--accent);height:56px;box-shadow:0 0 6px var(--accent)}@media(hover:none){#outline-resize-handle:active:after,.tooltip-resize-handle:active:after{background:var(--accent);height:56px;box-shadow:0 0 6px var(--accent)}}body.collapsed #outline-resize-handle:after,body:not(.detail-open) .tooltip-resize-handle:after{background:var(--accent);height:48px;box-shadow:0 0 8px var(--accent);opacity:.9}#outline-resize-handle:focus-visible,.tooltip-resize-handle:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}@media(max-width:768px)and (pointer:coarse){#outline-panel{width:100vw;height:100vh;height:100dvh;touch-action:pan-y;box-shadow:4px 0 24px #00000080;z-index:3000;transition:none!important}body.email-verify-banner-visible #outline-panel,body.demo-banner-visible #outline-panel{height:calc(100dvh - var(--email-verify-banner-h, var(--demo-banner-h, 0px)))!important}#outline-panel-content{touch-action:pan-y}body.outline-open #network,#network{margin-inline-start:0!important}}}@media(max-width:768px)and (pointer:coarse){:root{--outline-width: 100vw}}@layer components{:is(.btn,.primary-btn,.secondary-btn,.danger-btn,.icon-btn,.list-item,.search-result-item,.menu-item,.cloud-graph-item){display:inline-flex;align-items:center;border:none;cursor:pointer;transition:all var(--trans-base);border-radius:var(--br-sm);font-family:inherit}:is(.btn,.primary-btn,.secondary-btn,.danger-btn){padding:var(--space-sm) var(--space-lg);gap:var(--space-sm);font-size:var(--text-sm);font-weight:600;background:var(--bg-tertiary);color:var(--text-primary)}.primary-btn{background:var(--accent);color:#000}.auth-turnstile-container{display:flex;flex-direction:column;align-items:center;width:100%;min-height:85px;margin:2px 0 4px}.auth-turnstile-host{display:flex;justify-content:center;width:min(300px,100%);min-height:65px}.auth-turnstile-status{width:100%;min-height:16px;margin-top:4px;color:var(--text-dim);font-size:11px;line-height:16px;text-align:center}.secondary-btn{background:var(--bg-secondary);border:1px solid var(--border-light)}.danger-btn{background:var(--danger);color:var(--white)}.settings-row-button{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:10px 12px;border:1px solid var(--glass-border);border-radius:var(--br-sm);background:transparent;color:var(--text-primary);font-family:inherit;font-size:13px;text-align:left;cursor:pointer;transition:background-color var(--trans-base),border-color var(--trans-base),box-shadow var(--trans-base),filter var(--trans-base),opacity var(--trans-base),transform 90ms ease}.settings-row-button:disabled,.settings-row-button[aria-disabled=true]{cursor:not-allowed;filter:saturate(.7);opacity:.55}.settings-experimental-options{display:flex;flex-direction:column;gap:8px;margin-left:6px;padding-left:10px;border-left:1px solid var(--glass-border)}.settings-action-row:hover:not(:disabled){background:var(--bg-hover);border-color:var(--accent);filter:brightness(1.08);transform:translateY(-1px)}:is(.settings-action-row,.billing-portal-button):active:not(:disabled){filter:brightness(.92);transform:translateY(1px) scale(.985);box-shadow:inset 0 2px 5px #00000038;transition-duration:50ms}:is(.settings-action-row,.billing-portal-button):focus-visible{outline:2px solid var(--accent);outline-offset:3px}:is(.settings-action-row,.billing-portal-button):disabled,:is(.settings-action-row,.billing-portal-button)[aria-disabled=true]{cursor:not-allowed;filter:saturate(.7);opacity:.62;transform:none}:is(.settings-action-row,.billing-portal-button)[aria-busy=true]{cursor:progress}.settings-action-row-danger{border-color:var(--danger);color:var(--danger)}.settings-action-row-danger:hover:not(:disabled){border-color:var(--danger);background:#ff50501a}.settings-row-copy{display:flex;min-width:0;flex-direction:column;align-items:flex-start;gap:2px}.settings-row-subtext{color:var(--text-dim);font-size:11px;font-weight:400;line-height:1.35;overflow-wrap:break-word}[data-tooltip]{position:relative}[data-tooltip]:before{content:attr(data-tooltip);position:absolute;opacity:0;pointer-events:none;transition:all var(--trans-base) .1s;z-index:var(--z-tooltip);background:var(--bg-tertiary);color:var(--text-primary);padding:6px 10px;border-radius:var(--br-sm);font-size:var(--text-xs);white-space:nowrap;border:1px solid var(--border-light);box-shadow:var(--shadow-sm)}[data-tooltip]:hover:before{opacity:1}@media(hover:none){[data-tooltip]:active:before{opacity:1}}.icon-btn{width:28px;height:28px;padding:0;justify-content:center;background:transparent;color:var(--text-secondary);position:relative}.icon-btn svg{width:var(--icon-md);height:var(--icon-md);stroke:currentColor;fill:none;stroke-width:2}.icon-btn.danger-icon-btn{color:var(--danger)}.icon-btn.danger-icon-btn:hover{color:var(--danger-hover, #e55);background:#ff50501a}@media(hover:none){.icon-btn.danger-icon-btn:active{color:var(--danger-hover, #e55);background:#ff50501a}}:is(.list-item,.search-result-item,.menu-item,.cloud-graph-item){width:100%;padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--border-dim);color:var(--text-primary);font-size:var(--text-sm);border-radius:0;gap:var(--space-sm)}.search-result-snippet em,.search-result-name em{font-style:normal;color:var(--accent);font-weight:600}:is(.list-item,.search-result-item,.menu-item,.cloud-graph-item,.btn,.secondary-btn,.icon-btn):hover{filter:brightness(1.2);transform:translateY(-1px);background:var(--bg-hover);color:var(--accent)}:is(.primary-btn):hover{filter:brightness(1.15);transform:translateY(-1px)}.color-isolate-button{display:grid;grid-template-columns:28px minmax(96px,1fr) auto;align-items:center;gap:8px;width:100%;min-height:42px;padding:6px 8px;border:1px solid var(--glass-border);border-radius:8px;background:color-mix(in srgb,var(--bg-secondary) 82%,transparent);color:var(--text-secondary);font:inherit;text-align:left;cursor:pointer;transition:border-color var(--trans-base),background-color var(--trans-base),box-shadow var(--trans-base),color var(--trans-base),transform 90ms ease}.color-isolate-button:hover:not(:disabled){border-color:color-mix(in srgb,var(--accent) 58%,var(--glass-border));background:color-mix(in srgb,var(--accent) 9%,var(--bg-secondary));color:var(--text-primary);transform:translateY(-1px)}.color-isolate-button:active:not(:disabled){transform:translateY(0) scale(.985)}.color-isolate-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.color-isolate-button:disabled{cursor:not-allowed;opacity:.45}.color-isolate-button--active{border-color:color-mix(in srgb,var(--accent) 72%,var(--glass-border));background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 18%,var(--bg-secondary)),color-mix(in srgb,var(--accent) 7%,var(--bg-secondary)));color:var(--text-primary);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 15%,transparent),0 4px 14px color-mix(in srgb,var(--accent) 16%,transparent)}.color-isolate-button__icon{display:grid;width:28px;height:28px;place-items:center;border-radius:7px;background:color-mix(in srgb,var(--text-primary) 8%,transparent);color:var(--text-dim)}.color-isolate-button__icon svg{width:18px;height:18px}.color-isolate-button--active .color-isolate-button__icon{background:var(--accent);color:var(--bg-primary);box-shadow:0 0 10px color-mix(in srgb,var(--accent) 38%,transparent)}.color-isolate-button__copy{display:flex;min-width:0;flex-direction:column;gap:1px;line-height:1.15}.color-isolate-button__copy strong{font-size:11px;font-weight:650}.color-isolate-button__copy small{color:var(--text-dim);font-size:9px}.color-isolate-button__state{min-width:30px;padding:3px 5px;border-radius:999px;background:color-mix(in srgb,var(--text-primary) 7%,transparent);color:var(--text-dim);font-size:8px;font-weight:750;letter-spacing:.08em;text-align:center}.color-isolate-button--active .color-isolate-button__state{background:color-mix(in srgb,var(--accent) 22%,transparent);color:var(--accent)}.color-isolate-hierarchy{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;width:100%}.color-filter-menu{box-sizing:border-box;min-width:196px}.color-isolate-option{display:inline-flex;box-sizing:border-box;align-items:center;justify-content:center;gap:4px;min-width:0;min-height:30px;padding:5px 6px;overflow:hidden;border:1px solid var(--glass-border);border-radius:6px;background:var(--submenu-control-bg);color:var(--text-secondary);font:inherit;font-size:10px;font-weight:600;line-height:1;white-space:nowrap;cursor:pointer;transition:border-color var(--trans-fast),background-color var(--trans-fast),color var(--trans-fast),transform 90ms ease}.color-isolate-option:hover:not(:disabled){border-color:color-mix(in srgb,var(--accent) 60%,var(--glass-border));background:color-mix(in srgb,var(--accent) 10%,var(--bg-secondary));color:var(--accent);transform:translateY(-1px)}.color-isolate-option--active{border-color:color-mix(in srgb,var(--accent) 68%,var(--glass-border));background:color-mix(in srgb,var(--accent) 16%,var(--bg-secondary));color:var(--accent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 10%,transparent)}.color-isolate-option:active:not(:disabled){transform:translateY(0) scale(.98)}.color-isolate-option__icon{display:inline-grid;width:15px;height:15px;flex:0 0 15px;place-items:center;border-radius:999px;background:color-mix(in srgb,currentColor 10%,transparent);font-size:10px;line-height:1}.color-isolate-option__label{min-width:0;letter-spacing:-.015em}.color-isolate-option:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.color-isolate-option:disabled{cursor:default;opacity:.4}:is(.danger-btn):hover{filter:brightness(1.15);transform:translateY(-1px)}@media(hover:none){:is(.list-item,.search-result-item,.menu-item,.cloud-graph-item,.btn,.secondary-btn,.icon-btn):active{filter:brightness(1.2);transform:translateY(-1px);background:var(--bg-hover);color:var(--accent)}:is(.primary-btn,.danger-btn):active{filter:brightness(1.15);transform:translateY(-1px)}}.empty-canvas-hint{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);z-index:30;pointer-events:none;color:var(--text-dim);font-family:inherit;font-size:1.12rem;font-weight:700;text-align:center;line-height:1.4;max-width:min(360px,calc(100% - 48px));padding:8px 12px}:is(.list-item,.search-result-item,.menu-item,.cloud-graph-item) svg{width:var(--icon-sm);height:var(--icon-sm);opacity:.7;flex-shrink:0}.shell-floating-controls{position:fixed;inset-inline-start:calc(12px + env(safe-area-inset-left,0px));inset-block-end:calc(12px + env(safe-area-inset-bottom,0px));z-index:var(--z-fab);transition:inset-block-end var(--trans-base);display:flex;align-items:center;gap:4px;padding:5px;border-radius:var(--br-md);pointer-events:auto}.shell-floating-controls .icon-btn,.graph-list-control-floating .graph-list-button{width:36px;height:36px}body.preview-bar-visible .shell-floating-controls{inset-block-end:calc(var(--preview-bar-offset, 118px) + env(safe-area-inset-bottom,0px))}body.preview-bar-visible .canvas-floating-actions{bottom:calc(var(--preview-bar-offset, 118px) + 60px + env(safe-area-inset-bottom,0px))!important}.canvas-floating-actions{right:var(--right-panel-w, 0px)}.graph-list-control{position:relative;display:inline-flex;flex-shrink:0}.graph-list-button{border:0;background:transparent}.graph-list-control-footer .graph-list-button{width:26px;height:26px}.graph-sync-dot{position:absolute;inset-inline-end:2px;inset-block-end:2px;width:8px;height:8px;border:1px solid var(--bg-secondary);border-radius:50%;pointer-events:none;transition:background var(--trans-fast),box-shadow var(--trans-fast)}.graph-list-control-footer .graph-sync-dot{inset-inline-end:0;inset-block-end:0;width:7px;height:7px}.graph-sync-tooltip{position:fixed;z-index:calc(var(--z-fab) + 1);width:max-content;max-width:min(300px,calc(100vw - 16px));padding:10px 12px;border:1px solid var(--border-light);border-radius:var(--br-md);background:var(--bg-secondary);box-shadow:var(--shadow-md);color:var(--text-primary);font-size:12px;line-height:1.4}.graph-sync-tooltip-title{max-width:260px;overflow:hidden;color:var(--text-primary);font-size:13px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.graph-sync-tooltip-state{display:flex;align-items:center;gap:6px;margin-block-start:4px;font-weight:700}.graph-sync-tooltip-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.graph-sync-tooltip-detail{margin-block-start:2px;color:var(--text-dim)}.graph-sync-tooltip-action{margin-block-start:7px;padding:4px 8px;border:1px solid var(--border-light);border-radius:var(--br-sm);background:var(--bg-tertiary);color:var(--text-primary);font:inherit;font-weight:600;cursor:pointer}.graph-sync-tooltip-action:hover,.graph-sync-tooltip-action:focus-visible{border-color:var(--accent);outline:none;color:var(--accent)}.cloud-graph-item.current-graph{border:1px solid var(--accent);border-inline-start:4px solid var(--accent);border-radius:var(--br-sm);background:var(--accent-muted);box-shadow:inset 0 0 0 1px #ffffff0a;cursor:default}.graph-list-row-main{flex:1;min-width:0}.graph-list-row-title{overflow:hidden;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.graph-list-row-actions{display:flex;align-items:center;gap:4px;flex-shrink:0}.graph-list-action.secondary-btn{min-height:28px;margin:0;padding:4px 8px;gap:5px;border-color:var(--border-light);background:var(--bg-secondary);font-size:11px;line-height:1;white-space:nowrap}.graph-list-action-icon{display:inline-flex;width:13px;height:13px;flex-shrink:0}.graph-list-action-icon svg{width:13px;height:13px;opacity:.85}.graph-list-action.graph-list-action-danger{color:var(--danger)}.graph-list-action.graph-list-action-danger:hover:not(:disabled){border-color:color-mix(in srgb,var(--danger) 55%,var(--border-light));background:color-mix(in srgb,var(--danger) 10%,var(--bg-secondary));color:var(--danger-hover, #e55)}.graph-list-rename-input{width:min(100%,320px);height:30px;padding:4px 8px;border:1px solid var(--accent);border-radius:var(--br-sm);outline:none;background:var(--bg-primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 16%,transparent);color:var(--text-primary);font:inherit;font-weight:600}.graph-history-unavailable{padding:18px;border:1px solid var(--border-dim);border-radius:var(--br-sm);background:var(--bg-tertiary);color:var(--text-secondary);font-size:12px;line-height:1.5;text-align:center}.current-graph-badge{display:inline-flex;align-items:center;min-height:28px;flex-shrink:0;gap:5px;padding:4px 8px;border:1px solid var(--border-light);border-radius:var(--br-sm);background:var(--accent-muted);color:var(--accent);font-size:11px;font-weight:600;line-height:1;white-space:nowrap}@media(max-width:600px){.cloud-graph-item{flex-wrap:wrap;align-items:flex-start}.graph-list-row-main{flex-basis:100%}.graph-list-row-actions{width:100%;justify-content:flex-end}.graph-list-action.secondary-btn,.current-graph-badge{width:32px;min-height:32px;padding:0;justify-content:center}.graph-list-action-label{display:none}}@media(max-width:768px)and (pointer:coarse){.shell-floating-controls{inset-inline-start:calc(10px + env(safe-area-inset-left,0px));inset-block-end:calc(10px + env(safe-area-inset-bottom,0px))}body.mobile-keyboard-visible :is(.shell-floating-controls,.canvas-floating-actions){display:none!important}.graph-sync-tooltip{max-width:calc(100vw - 20px)}}.link-creation-bar{position:fixed;inset-inline-start:50%;bottom:20vh;transform:translate(-50%);z-index:var(--z-fab);background:var(--bg-secondary);border:1px solid var(--accent);border-radius:12px;padding:10px 16px;padding-inline-end:env(safe-area-inset-right,0);padding-inline-start:env(safe-area-inset-left,0);display:flex;align-items:center;gap:8px;font-size:14px;font-weight:500;box-shadow:var(--shadow-lg);color:var(--text-primary);white-space:nowrap;pointer-events:auto}.link-creation-bar .icon-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:2px 6px;border-radius:4px}.link-creation-bar .icon-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.perf-overlay{position:fixed;inset-block-start:10px;inset-inline-end:10px;background:#000000b3;color:#0fc;padding:10px;border-radius:4px;font-family:var(--font);font-size:12px;pointer-events:none;z-index:99999;backdrop-filter:blur(4px);border:1px solid rgba(0,255,204,.2)}.perf-row{margin-block-end:4px}.perf-overlay span{font-weight:700;color:#fff}.sync-chip:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:999px}.gn-delete-confirm-layer{position:fixed;inset:0;z-index:var(--z-fab)}.gn-delete-confirm{position:fixed;inset-inline-start:50%;bottom:18vh;transform:translate(-50%);width:min(360px,calc(100vw - 32px));padding:var(--space-lg);border-radius:var(--br-md);border:1px solid var(--danger);color:var(--text-primary);pointer-events:auto;display:flex;flex-direction:column;gap:var(--space-sm)}.gn-delete-confirm-title{margin:0;font-size:var(--text-base);font-weight:700;line-height:1.35}.gn-delete-confirm-list{margin:var(--space-xs) 0 0;padding:0;list-style:none;font-size:var(--text-xs);color:var(--text-secondary);max-height:8em;overflow-y:auto}.gn-delete-confirm-list-title{margin:0;font-size:var(--text-xs);font-weight:600;color:var(--text-dim)}.gn-delete-confirm-list li{position:relative;display:flex;align-items:center;gap:var(--space-xs);min-width:0;min-height:1.5em;padding-inline-start:var(--delete-topic-indent, 0px)}.gn-delete-confirm-list li:before{content:"";position:absolute;inset-inline-start:calc(var(--delete-topic-indent, 0px) + 3px);top:0;bottom:50%;width:7px;border-inline-start:1px solid var(--glass-border);border-block-end:1px solid var(--glass-border);border-end-start-radius:3px}.gn-delete-confirm-topic-marker{width:7px;height:7px;margin-inline-start:8px;border-radius:50%;background:var(--accent);flex:0 0 auto}.gn-delete-confirm-topic-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gn-delete-confirm-more{margin:var(--space-xs) 0 0;font-size:var(--text-xs);color:var(--text-dim)}.gn-delete-confirm-actions{display:flex;justify-content:flex-end;gap:var(--space-sm);margin-block-start:var(--space-xs)}.gn-delete-confirm .btn-danger{background:var(--danger);color:#000}.gn-delete-confirm .btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.gn-delete-confirm-hint{margin:0;font-size:var(--text-xs);color:var(--text-dim);text-align:end}.crumb-ellipsis-group{position:relative}.drag-delete-target--desktop{bottom:calc(var(--label-bar-h, 0px) + 16px);inset-inline-start:var(--sidebar-w, 0px);inset-inline-end:var(--right-panel-w, 0px);margin-inline:auto}.drag-delete-target--mobile{top:64px;left:50%}.breadcrumb-ellipsis-popover{position:absolute;top:calc(100% + 6px);left:0;display:flex;flex-direction:column;gap:2px;padding:6px;border-radius:8px;z-index:20;min-width:160px;max-height:220px;overflow:auto}.focus-breadcrumb{overflow:visible}.breadcrumb-ellipsis-popover .crumb{justify-content:flex-start;width:100%;max-width:none;background:var(--submenu-control-bg)}}@layer components{#node-tooltip{position:fixed;inset-block-end:0;inset-inline:var(--sidebar-w) 0;height:var(--footer-height);background:var(--bg-secondary);border-block-start:1px solid var(--border-light);z-index:var(--z-tooltip);display:none;flex-direction:column;overflow:hidden}#node-tooltip.visible{display:flex!important;height:var(--bottom-panel-h, 220px);background:var(--bg-secondary)}@keyframes gn-panel-enter-bottom{0%{transform:translateY(100%);opacity:0}to{transform:none;opacity:1}}@keyframes gn-panel-exit-bottom{0%{transform:none;opacity:1}to{transform:translateY(100%);opacity:0}}@keyframes gn-panel-enter-right{0%{transform:translate(100%)}to{transform:none}}@keyframes gn-panel-exit-right{0%{transform:none}to{transform:translate(100%)}}@keyframes gn-panel-enter-left{0%{clip-path:inset(0 100% 0 0);opacity:0}to{clip-path:inset(0);opacity:1}}@keyframes gn-panel-exit-left{0%{clip-path:inset(0);opacity:1}to{clip-path:inset(0 100% 0 0);opacity:0}}#node-tooltip.visible:not(.dock-right):not(.dock-left){animation:gn-panel-enter-bottom .28s cubic-bezier(.22,1,.36,1)}#node-tooltip.visible.dock-right{animation:gn-panel-enter-right .28s cubic-bezier(.22,1,.36,1)}#node-tooltip.visible.dock-left{animation:gn-panel-enter-left .28s cubic-bezier(.22,1,.36,1)}#node-tooltip.closing{display:flex!important;height:var(--bottom-panel-h, 220px);background:var(--bg-secondary)}#node-tooltip.closing.dock-right{--right-panel-w: var(--right-panel-close-w, 0px);inset-block:0;inset-inline:auto 0;width:var(--right-panel-w, 380px);height:100dvh!important}#node-tooltip.closing.dock-left{inset-block:0;inset-inline-start:var(--sidebar-w, 0);inset-inline-end:auto;width:var(--left-panel-w, 380px);height:100dvh!important}#node-tooltip.closing:not(.dock-right):not(.dock-left){animation:gn-panel-exit-bottom .28s cubic-bezier(.22,1,.36,1) forwards}#node-tooltip.closing.dock-right{animation:gn-panel-exit-right .28s cubic-bezier(.22,1,.36,1) forwards}#node-tooltip.closing.dock-left{animation:gn-panel-exit-left .28s cubic-bezier(.22,1,.36,1) forwards}body.no-animations #node-tooltip.visible,body.no-animations #node-tooltip.closing{animation:none}#node-tooltip.dock-right.visible{inset-block:0;inset-inline:auto 0;width:var(--right-panel-w, 380px);height:100dvh!important;border-block-start:none;border-inline-start:1px solid var(--border)}#node-tooltip.dock-left.visible{inset-block:0;inset-inline-start:var(--sidebar-w, 0);inset-inline-end:auto;width:var(--left-panel-w, 380px);height:100dvh!important;border-block-start:none;border-inline-end:1px solid var(--border)}body.email-verify-banner-visible #node-tooltip.dock-right.visible,body.email-verify-banner-visible #node-tooltip.dock-left.visible,body.email-verify-banner-visible #node-tooltip.closing.dock-right,body.email-verify-banner-visible #node-tooltip.closing.dock-left,body.demo-banner-visible #node-tooltip.dock-right.visible,body.demo-banner-visible #node-tooltip.dock-left.visible,body.demo-banner-visible #node-tooltip.closing.dock-right,body.demo-banner-visible #node-tooltip.closing.dock-left{inset-block-start:var(--email-verify-banner-h, var(--demo-banner-h, 0px))!important;height:calc(100dvh - var(--email-verify-banner-h, var(--demo-banner-h, 0px)))!important}#tooltip-content{display:flex;flex-direction:column;flex:1;min-height:0;padding-block:var(--space-sm);padding-inline:var(--space-md);overflow:auto;position:relative}.tooltip-title{flex-shrink:0;font-size:var(--text-lg);color:var(--text-primary);border-radius:var(--br-sm);min-width:0;white-space:nowrap;overflow:hidden;transition:color var(--trans-fast)}#node-tooltip.selected .tooltip-title{color:var(--accent)}.tooltip-editable{cursor:text;background:transparent;border:none;outline:none}.tooltip-editable:focus{outline:none}.editable-text:is(.outline-label,.tooltip-editable):focus{white-space:pre!important}.mobile-label-bar .editable-text.label-bar-input:focus{white-space:break-spaces!important}.detail-header{display:flex;align-items:center;gap:8px;padding:0 12px;height:40px;flex-shrink:0;background:var(--bg-tertiary);border-bottom:1px solid var(--glass-border);box-sizing:border-box}.description-lock-button{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;flex:0 0 28px;padding:5px;border:1px solid transparent;border-radius:var(--br-sm);color:var(--text-dim);background:transparent;cursor:pointer;transition:color var(--trans-fast),background var(--trans-fast),border-color var(--trans-fast)}.description-lock-button:hover:not(:disabled),.description-lock-button:focus-visible:not(:disabled){color:var(--accent);background:var(--bg-secondary);border-color:var(--glass-border);outline:none}.description-lock-button:disabled{opacity:.35;cursor:not-allowed}.description-lock-button .description-lock-icon,.description-locked-state svg{width:100%;height:100%;display:block}.description-lock-button .description-lock-icon{line-height:0}#node-tooltip.selected .detail-header .tooltip-title{color:var(--accent)}#quill-editor-container{flex:1;min-height:0;border:none!important;overflow:auto;padding-block-end:36px}#quill-editor-container>.ql-host{height:100%;border:none!important;font-family:inherit;font-size:inherit}.ql-editor{padding-block:8px!important;padding-inline:0!important;color:var(--text-primary);min-height:100%;box-sizing:border-box}.ql-editor img{max-width:100%;max-height:200px;width:auto;height:auto;border-radius:4px;margin:4px 0;cursor:zoom-in}.ql-editor a{color:var(--accent);text-decoration:underline;text-underline-offset:2px;cursor:pointer}.ql-editor .graphy-youtube-preview{position:relative;width:100%;max-width:560px;margin:8px 0}.ql-editor iframe.ql-video{display:block;width:100%;max-width:560px;aspect-ratio:16 / 9;height:auto;margin:8px 0;border:1px solid var(--glass-border);border-radius:8px;background:#000}.ql-editor .graphy-youtube-preview iframe.ql-video{margin:0}.graphy-youtube-close{position:absolute;top:4px;right:4px;z-index:1;display:grid;place-items:center;width:22px;height:22px;padding:0;border:1px solid rgba(255,255,255,.28);border-radius:999px;background:#0a0a0e94;color:#fff;font-size:16px;line-height:1;cursor:pointer;opacity:.72;backdrop-filter:blur(6px)}.graphy-youtube-close:hover,.graphy-youtube-close:focus-visible{background:#1e1e24e6;opacity:1;outline:1px solid rgba(255,255,255,.75);outline-offset:1px}.graphy-image-lightbox{position:fixed;inset:0;z-index:100001;background:#000000d9;display:flex;align-items:center;justify-content:center;cursor:zoom-out}.graphy-image-lightbox img{max-width:92vw;max-height:92vh;border-radius:6px;box-shadow:0 8px 40px #0009}.ql-snow .ql-stroke{stroke:var(--text-secondary)!important;fill:none}.ql-snow .ql-fill{fill:var(--text-secondary)!important;stroke:none}.ql-snow .ql-picker{color:var(--text-secondary)!important}.ql-editor.ql-blank:before{left:0!important;color:#ffffff8c!important;font-style:normal!important}.detail-section-separator{height:1px;background:var(--glass-border);margin:4px 0 8px;flex-shrink:0}.ai-description-withdraw{align-self:flex-start;padding:0;border:0;background:transparent;color:var(--accent);font:inherit;font-size:10px;cursor:pointer;text-decoration:underline}.ai-description-withdraw:disabled{cursor:not-allowed;opacity:.5}.ai-description-field textarea,.ai-textarea{width:100%;min-height:48px;max-height:180px;resize:vertical;box-sizing:border-box;border:1px solid var(--glass-border);border-radius:var(--br-sm);padding:6px 8px;background:var(--bg-primary);color:var(--text-primary);font:inherit;font-size:12px;font-weight:400;line-height:1.45;transition:border-color var(--trans-fast),box-shadow var(--trans-fast)}.ai-description-field textarea:focus,.ai-textarea:focus{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 20%,transparent);outline:none}.ai-draft-textarea{min-height:80px}.ai-field-wrap{display:flex;flex-direction:column;gap:4px}.ai-description-actions{display:flex;flex-wrap:wrap;gap:6px}.node-ai-actions{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:6px;margin:6px 0;padding:6px 0 8px;border-top:1px solid color-mix(in srgb,var(--glass-border) 60%,transparent);border-bottom:1px solid color-mix(in srgb,var(--glass-border) 60%,transparent)}.node-ai-actions>.ai-description-panel,.node-ai-actions>.ai-breakdown-panel{display:contents}.ai-description-toggle,.ai-breakdown-toggle{display:inline-flex;align-items:center;justify-content:center;gap:6px;width:auto;height:26px;min-height:26px;padding:0 10px;border:1px solid var(--glass-border);border-radius:13px;background:color-mix(in srgb,var(--bg-secondary) 75%,transparent);color:var(--text-secondary);font:inherit;font-size:11px;font-weight:500;line-height:1;cursor:pointer;white-space:nowrap;user-select:none;transition:border-color var(--trans-fast),color var(--trans-fast),background-color var(--trans-fast),box-shadow var(--trans-fast),transform .1s ease}.ai-description-toggle:hover:not(:disabled),.ai-breakdown-toggle:hover:not(:disabled){border-color:color-mix(in srgb,var(--accent) 60%,var(--glass-border));color:var(--text-primary);background:color-mix(in srgb,var(--accent) 12%,var(--bg-secondary))}.ai-description-toggle:active:not(:disabled),.ai-breakdown-toggle:active:not(:disabled){transform:scale(.97)}.ai-description-toggle.is-active,.ai-breakdown-toggle.is-active{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb,var(--accent) 16%,var(--bg-secondary));box-shadow:0 0 8px color-mix(in srgb,var(--accent) 25%,transparent)}.ai-description-toggle:disabled,.ai-breakdown-toggle:disabled{cursor:not-allowed;opacity:.45}.ai-icon-wrap{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;flex-shrink:0}.ai-icon-wrap svg{width:14px;height:14px;display:block}.ai-toggle-chevron{display:inline-flex;align-items:center;justify-content:center;width:12px;height:12px;flex-shrink:0;opacity:.65;transition:transform var(--trans-fast)}.ai-toggle-chevron svg{width:12px;height:12px;display:block}.is-active .ai-toggle-chevron{transform:rotate(180deg);opacity:1}.ai-description-actions button,.ai-breakdown-actions button,.ai-breakdown-submit-btn{height:26px;min-height:26px;padding:0 10px;border-radius:var(--br-sm);font:inherit;font-size:11px;font-weight:600;line-height:1;display:inline-flex;align-items:center;justify-content:center;gap:5px;cursor:pointer;transition:background-color var(--trans-fast),color var(--trans-fast),border-color var(--trans-fast),opacity var(--trans-fast)}.ai-description-actions .primary-btn,.ai-breakdown-actions .primary-btn,.ai-breakdown-submit-btn,.ai-consent-btn{background:var(--accent);color:#000!important;border:1px solid var(--accent)}.ai-description-actions .primary-btn:hover:not(:disabled),.ai-breakdown-actions .primary-btn:hover:not(:disabled),.ai-breakdown-submit-btn:hover:not(:disabled),.ai-consent-btn:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 85%,#fff);color:#000!important}.ai-description-actions .secondary-btn,.ai-breakdown-actions .secondary-btn{background:color-mix(in srgb,var(--bg-secondary) 80%,transparent);color:var(--text-primary)!important;border:1px solid var(--glass-border)}.ai-description-actions .secondary-btn:hover:not(:disabled),.ai-breakdown-actions .secondary-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent)!important;background:color-mix(in srgb,var(--bg-secondary) 95%,transparent)}.ai-description-actions button:disabled,.ai-breakdown-actions button:disabled,.ai-breakdown-submit-btn:disabled,.ai-consent-btn:disabled{cursor:not-allowed;opacity:.45;background:var(--bg-secondary);color:var(--text-dim)!important;border:1px solid var(--glass-border)}.ai-description-actions button.is-ai-busy:disabled,.ai-breakdown-actions button.is-ai-busy:disabled,.ai-breakdown-submit-btn.is-ai-busy:disabled,.is-ai-busy:disabled{cursor:progress;opacity:1;background:color-mix(in srgb,var(--accent) 82%,var(--bg-secondary));color:#000!important;border-color:color-mix(in srgb,var(--accent) 78%,var(--glass-border));box-shadow:inset 0 2px 5px #00000047,0 0 0 1px color-mix(in srgb,var(--accent) 12%,transparent);transform:translateY(1px)}.ai-description-workspace,.ai-breakdown-workspace{width:100%;order:10;display:flex;flex-direction:column;gap:8px;margin-top:4px;padding:10px 12px;border:1px solid var(--glass-border);border-radius:var(--br-md);background:color-mix(in srgb,var(--bg-secondary) 88%,transparent);box-shadow:0 4px 16px #00000040;animation:ai-workspace-enter .15s ease-out}@keyframes ai-workspace-enter{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.ai-panel-topbar{display:flex;align-items:center;justify-content:space-between;gap:6px;padding-bottom:2px}.ai-panel-tag{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;line-height:1;color:var(--text-dim)}.ai-panel-badge{font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;line-height:1;padding:2px 6px;border-radius:4px;background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 30%,transparent)}.ai-panel-close-btn{width:20px;height:20px;padding:0;display:inline-flex;align-items:center;justify-content:center;border:0;background:transparent;color:var(--text-dim);border-radius:4px;cursor:pointer;transition:color var(--trans-fast),background-color var(--trans-fast)}.ai-panel-close-btn:hover{color:var(--text-primary);background:color-mix(in srgb,var(--text-primary) 10%,transparent)}.ai-panel-close-btn svg{width:12px;height:12px;display:block}.ai-breakdown-heading,.ai-breakdown-actions{display:flex;align-items:center;justify-content:space-between;gap:6px}.ai-breakdown-heading{color:var(--text-secondary);font:inherit;font-size:11px;font-weight:600;line-height:1.3}.ai-breakdown-disclosure,.ai-breakdown-message,.ai-breakdown-estimate,.ai-breakdown-warning{margin:0;color:var(--text-dim);font:inherit;font-size:11px;line-height:1.4}.ai-breakdown-warning{color:var(--text-secondary)}.ai-breakdown-consent,.ai-breakdown-controls,.ai-breakdown-preview,.ai-breakdown-links{display:flex;flex-direction:column;gap:6px}.ai-breakdown-consent,.ai-description-consent{padding:8px 10px;border:1px solid color-mix(in srgb,var(--accent) 30%,var(--glass-border));border-radius:var(--br-sm);background:color-mix(in srgb,var(--accent) 5%,transparent);color:var(--text-secondary);font:inherit;font-size:11px;line-height:1.4}.ai-breakdown-consent p,.ai-description-consent p{margin:0 0 6px}.ai-consent-btn{align-self:flex-start;height:24px;min-height:24px;padding:0 10px;border-radius:var(--br-sm);font:inherit;font-size:11px;font-weight:500;line-height:1;display:inline-flex;align-items:center;justify-content:center}.ai-breakdown-params-row{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap}.ai-param-group{display:inline-flex;flex-direction:column;gap:3px}.ai-param-label{color:var(--text-secondary);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;line-height:1}.ai-dual-stepper{display:inline-flex;align-items:center;gap:3px}.ai-stepper{height:22px;display:inline-flex;align-items:center;gap:2px;border:1px solid var(--glass-border);border-radius:6px;background:var(--bg-primary);padding:0 2px;user-select:none;box-sizing:border-box}.ai-stepper-sublabel{font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;line-height:1;color:var(--text-dim);padding:0 2px}.ai-stepper-separator{color:var(--text-dim);font-size:10px;line-height:1;padding:0 1px}.ai-stepper-btn{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border:0;background:transparent;color:var(--text-secondary);font:inherit;font-size:12px;font-weight:600;line-height:1;cursor:pointer;border-radius:3px;transition:background-color var(--trans-fast),color var(--trans-fast),transform .08s ease}.ai-stepper-btn:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--accent)}.ai-stepper-btn:active:not(:disabled){transform:scale(.9)}.ai-stepper-btn:disabled{cursor:not-allowed;opacity:.25}.ai-stepper-value{min-width:14px;text-align:center;font:inherit;font-size:11px;font-weight:600;line-height:1;color:var(--text-primary)}.ai-breakdown-controls textarea,.ai-breakdown-nodes input:not([type=checkbox]),.ai-breakdown-nodes textarea{width:100%;box-sizing:border-box;border:1px solid var(--glass-border);border-radius:var(--br-sm);padding:5px 7px;background:var(--bg-primary);color:var(--text-primary);font:inherit;font-size:11.5px;line-height:1.4}.ai-breakdown-controls textarea{min-height:44px;resize:vertical}.ai-breakdown-nodes textarea{resize:vertical}.ai-breakdown-checkbox{display:inline-flex;align-items:center;gap:5px;height:22px;font:inherit;font-size:11px;font-weight:500;line-height:1;color:var(--text-secondary);cursor:pointer;user-select:none}.ai-breakdown-checkbox input[type=checkbox]{margin:0;cursor:pointer}.ai-breakdown-nodes{display:flex;flex-direction:column;gap:6px;margin:0;padding:0;list-style:none}.ai-breakdown-nodes li{display:flex;flex-direction:column;gap:3px}.ai-breakdown-item{display:flex;align-items:flex-start;gap:6px;color:var(--text-secondary);font:inherit;font-size:11px;line-height:1.35}.ai-breakdown-item input[type=checkbox]{margin-top:1px}.ai-loading-indicator{display:flex;flex-direction:column;gap:6px;padding:8px 10px;border-radius:var(--br-sm);background:color-mix(in srgb,var(--accent) 7%,var(--bg-primary));border:1px solid color-mix(in srgb,var(--accent) 28%,var(--glass-border));position:relative;overflow:hidden;animation:ai-pulse-glow 2.4s ease-in-out infinite alternate}.ai-loading-indicator:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--accent),transparent);background-size:200% 100%;animation:ai-scan-line 1.8s linear infinite}.ai-loading-header{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:500;color:var(--text-primary)}.ai-loading-sparkle{display:inline-flex;align-items:center;justify-content:center;color:var(--accent);font-size:13px;animation:ai-sparkle-spin 2s ease-in-out infinite;flex-shrink:0}.ai-loading-text{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;animation:ai-fade-in .3s ease-out}.ai-loading-dots{display:inline-flex;align-items:center;gap:2.5px;flex-shrink:0}.ai-loading-dots .ai-dot{width:3.5px;height:3.5px;border-radius:50%;background-color:var(--accent);animation:ai-dot-bounce 1.2s ease-in-out infinite}.ai-loading-dots .ai-dot:nth-child(1){animation-delay:0s}.ai-loading-dots .ai-dot:nth-child(2){animation-delay:.2s}.ai-loading-dots .ai-dot:nth-child(3){animation-delay:.4s}.ai-loading-shimmer-box{display:flex;flex-direction:column;gap:5px;padding-top:2px}.ai-loading-shimmer-line{height:5px;border-radius:3px;background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 12%,var(--bg-secondary)),color-mix(in srgb,var(--accent) 32%,var(--bg-secondary)),color-mix(in srgb,var(--accent) 12%,var(--bg-secondary)));background-size:200% 100%;animation:ai-shimmer 1.5s ease-in-out infinite}.ai-btn-spinner{display:inline-block;width:10px;height:10px;border:2px solid color-mix(in srgb,currentColor 30%,transparent);border-top-color:currentColor;border-radius:50%;animation:ai-spinner-rotate .7s linear infinite;vertical-align:middle;margin-inline-end:5px}@keyframes ai-pulse-glow{0%{box-shadow:0 0 color-mix(in srgb,var(--accent) 0%,transparent)}to{box-shadow:0 0 8px 1px color-mix(in srgb,var(--accent) 18%,transparent)}}@keyframes ai-scan-line{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes ai-sparkle-spin{0%,to{transform:scale(1) rotate(0);opacity:.8}50%{transform:scale(1.2) rotate(90deg);opacity:1;filter:drop-shadow(0 0 3px var(--accent))}}@keyframes ai-fade-in{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}@keyframes ai-dot-bounce{0%,80%,to{transform:scale(.6);opacity:.4}40%{transform:scale(1.15);opacity:1}}@keyframes ai-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@keyframes ai-spinner-rotate{to{transform:rotate(360deg)}}.description-locked-state{display:flex;flex:1;min-height:150px;align-items:center;justify-content:center;flex-direction:column;gap:8px;padding:24px;color:var(--text-secondary);text-align:center}.description-locked-state>span{width:34px;height:34px;color:var(--accent);opacity:.9}.description-locked-state strong{color:var(--text-primary);font-size:14px}.description-locked-state p{max-width:260px;margin:0 0 6px;font-size:12px;line-height:1.45}#quill-toolbar-container{display:flex;align-items:center;gap:2px;background:none;border:none;padding:0;overflow-x:auto}#tooltip-footer{display:flex;align-items:center;gap:6px;padding:0 8px;border-block-start:1px solid var(--glass-border);background:var(--bg-tertiary);height:40px;flex-shrink:0;box-sizing:border-box;z-index:5;overflow:hidden}.tooltip-footer-separator{width:1px;height:20px;background:var(--glass-border);flex-shrink:0}#tooltip-footer #quill-toolbar-container{flex:1;min-width:0;display:flex;align-items:end;gap:2px;overflow-x:auto;overflow-y:hidden;white-space:nowrap;flex-wrap:nowrap!important;scrollbar-width:thin;margin-top:auto}#tooltip-footer #quill-toolbar-container::-webkit-scrollbar{height:1px}#tooltip-footer #quill-toolbar-container::-webkit-scrollbar-track{background:transparent}#tooltip-footer #quill-toolbar-container::-webkit-scrollbar-thumb{background:var(--border-dim);border-radius:2px}#tooltip-footer #quill-toolbar-container .ql-formats{display:inline-flex;align-items:center;margin-inline-end:4px;background:none;border:none;padding:0}#tooltip-footer #quill-toolbar-container .ql-picker{display:inline-flex;align-items:center}#tooltip-footer #quill-toolbar-container,#tooltip-footer #quill-toolbar-container .ql-toolbar{border:none!important;background:none!important;padding:0!important}#tooltip-footer #quill-toolbar-container button,#tooltip-footer #quill-toolbar-container .ql-picker,#tooltip-footer #quill-toolbar-container .ql-picker-label{border:none!important;background:none!important;outline:none!important;box-shadow:none!important;color:var(--text-secondary);height:22px;flex-shrink:0}#tooltip-footer #quill-toolbar-container .ql-picker-label{border:none!important;padding-inline:4px}#tooltip-footer #quill-toolbar-container .ql-picker-options{border:none!important;background:var(--bg-primary)!important}#tooltip-footer #quill-toolbar-container .ql-picker-item{color:var(--text-secondary)!important}#tooltip-footer #quill-toolbar-container .ql-picker-item:hover,#tooltip-footer #quill-toolbar-container .ql-picker-item.ql-selected{color:var(--accent)!important}#tooltip-footer #quill-toolbar-container svg .ql-stroke,#tooltip-footer #quill-toolbar-container svg .ql-stroke-miter{stroke:var(--text-secondary)}#tooltip-footer #quill-toolbar-container svg .ql-fill{fill:var(--text-secondary)}#tooltip-footer #quill-toolbar-container button:hover,#tooltip-footer #quill-toolbar-container .ql-picker-label:hover{color:var(--text-primary);background:var(--bg-secondary)!important;border-radius:4px}#tooltip-footer #quill-toolbar-container button:hover svg .ql-stroke,#tooltip-footer #quill-toolbar-container .ql-picker-label:hover svg .ql-stroke{stroke:var(--text-primary)!important}#tooltip-footer #quill-toolbar-container button:hover svg .ql-fill,#tooltip-footer #quill-toolbar-container .ql-picker-label:hover svg .ql-fill{fill:var(--text-primary)!important}#tooltip-footer #quill-toolbar-container button.ql-active,#tooltip-footer #quill-toolbar-container .ql-picker-label.ql-active{color:var(--accent)!important}#tooltip-footer #quill-toolbar-container button.ql-active svg .ql-stroke,#tooltip-footer #quill-toolbar-container .ql-picker-label.ql-active svg .ql-stroke{stroke:var(--accent)!important}#tooltip-footer #quill-toolbar-container button.ql-active svg .ql-fill,#tooltip-footer #quill-toolbar-container .ql-picker-label.ql-active svg .ql-fill{fill:var(--accent)!important}.outline-item{display:flex;align-items:center;padding:0;padding-inline-start:calc(var(--outline-level, 0) * 12px + 5px);color:var(--text-primary);cursor:pointer;border-inline-start:3px solid transparent;line-height:18px}.outline-item.focused{border-inline-start-color:var(--accent)}.outline-item.is-alternate:not(.selected){background:color-mix(in srgb,var(--bg-secondary) 62%,var(--bg-primary));box-shadow:inset 0 -1px 0 var(--border-dim)}.outline-item:hover:not(.selected){background:var(--bg-hover)}.outline-focus-btn{display:flex;align-items:center;justify-content:center;width:18px;height:18px;flex-shrink:0;margin-inline-start:4px;border-radius:var(--br-sm);color:var(--text-secondary);opacity:0;cursor:pointer;background:none;border:none;padding:0;transition:opacity var(--trans-fast),transform var(--trans-fast),color var(--trans-fast)}.outline-item:hover .outline-focus-btn{opacity:.5}@media(hover:none){.outline-item .outline-focus-btn{opacity:.35}}.outline-item.focused .outline-focus-btn{opacity:.7;color:var(--accent)}.outline-focus-btn:hover{opacity:1!important;color:var(--accent);transform:scale(1.1)}@media(hover:none){.outline-focus-btn:active{opacity:1!important;color:var(--accent);transform:scale(1.1)}}.outline-item.selected{border-inline-start-color:var(--accent);background:var(--bg-tertiary)}.outline-group-lock-control{display:inline-flex;align-items:center;flex:0 0 auto;margin-inline-start:2px}.outline-group-lock-control .description-lock-button{width:22px;height:22px;flex-basis:22px;padding:3px;border-radius:4px}.outline-toggle{width:16px;height:auto;line-height:inherit;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);flex-shrink:0}.outline-label-container{flex:1;min-width:0;padding-inline-start:2px}.outline-label{display:block;white-space:pre-wrap;word-break:break-word;font-size:var(--text-sm);outline:none;line-height:inherit}.outline-label.editable{background:var(--bg-primary);box-shadow:0 0 0 1px var(--accent);border-radius:var(--br-sm)}.input-control{width:100%;background:var(--bg-primary);border:1px solid var(--border-light);color:var(--text-primary);padding:var(--space-sm) var(--space-md);border-radius:var(--br-sm);font-family:inherit;font-size:var(--text-sm)}.input-control:focus{outline:none;border-color:var(--accent)}@media(max-width:768px)and (pointer:coarse){#node-tooltip.is-mobile.visible{animation:gn-panel-enter-right .28s cubic-bezier(.22,1,.36,1)!important}#node-tooltip.is-mobile.closing{animation:none!important;opacity:0;transition:opacity .18s ease}#node-tooltip.is-mobile.visible,#node-tooltip.is-mobile.closing{width:100vw!important;touch-action:pan-y;border-block-start:1px solid var(--glass-border);border-inline-start:1px solid var(--glass-border);padding-block-end:env(safe-area-inset-bottom,0);box-shadow:-8px 0 32px #0003}#node-tooltip.is-mobile #tooltip-content{touch-action:pan-y}#node-tooltip.is-mobile .dock-buttons{display:none}.mobile-sheet-handle{width:100%;height:16px;cursor:ns-resize;touch-action:none;display:flex;align-items:center;justify-content:center;flex-shrink:0}.mobile-sheet-handle:after{content:"";width:36px;height:4px;border-radius:2px;background:#ffffff4d}#quill-toolbar-container,.ql-toolbar{overflow-x:auto;overflow-y:hidden;white-space:nowrap;flex-wrap:nowrap!important}#quill-toolbar-container::-webkit-scrollbar,.ql-toolbar::-webkit-scrollbar{display:none}}.skeleton{background:var(--bg-tertiary);position:relative;overflow:hidden}.skeleton--pulse:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.08),transparent);transform:translate(-100%);animation:gn-skeleton-shimmer 1.6s infinite}@keyframes gn-skeleton-shimmer{to{transform:translate(100%)}}.skeleton-graph-brand{display:flex;align-items:center;gap:12px;margin-bottom:24px}.skeleton-graph-logo{width:40px;height:40px;border-radius:10px;background:var(--bg-tertiary);box-shadow:0 0 20px #4fc3f71f}.skeleton-graph-canvas{position:relative;width:min(320px,80vw);aspect-ratio:4 / 3;border-radius:var(--br-lg);background:var(--bg-secondary);border:1px solid var(--border-dim);overflow:hidden;margin-bottom:20px}.skeleton-graph-node{position:absolute;width:14px;height:14px;border-radius:50%;background:var(--bg-tertiary);box-shadow:0 0 12px #4fc3f726}.skeleton-graph-link{position:absolute;height:2px;border-radius:1px;background:var(--bg-tertiary);transform-origin:left center;opacity:.6}.skeleton-graph-caption{opacity:.8}.node-color-picker-wrap{position:relative;display:inline-flex;align-items:center;flex-shrink:0;z-index:50}.node-color-trigger-btn{width:20px;height:20px;border-radius:4px;padding:0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:1.5px dashed color-mix(in srgb,var(--text-dim) 40%,transparent);transition:border-color var(--trans-fast),transform var(--trans-fast),box-shadow var(--trans-fast),opacity var(--trans-fast);outline:none;flex-shrink:0;box-sizing:border-box}.node-color-trigger-btn:hover:not(:disabled),.node-color-trigger-btn:focus-visible:not(:disabled),.node-color-picker-wrap:hover .node-color-trigger-btn,.node-color-picker-wrap:focus-within .node-color-trigger-btn{border-color:var(--accent);transform:scale(1.08)}.node-color-trigger-btn.has-color{border:1.5px solid rgba(255,255,255,.4)}.node-color-trigger-btn:disabled{opacity:.4;cursor:not-allowed}.node-color-picker-popover{position:absolute;top:calc(100% + 8px);left:0;z-index:9999;display:flex;flex-direction:column;gap:6px;padding:8px;background:var(--submenu-bg);border:1px solid var(--glass-border);border-radius:var(--br-md);box-shadow:0 10px 28px #0000008c;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);min-width:170px;opacity:0;visibility:hidden;transform:translateY(-4px);transition:opacity var(--trans-fast),transform var(--trans-fast),visibility var(--trans-fast);pointer-events:none}.node-color-picker-popover:before{content:"";position:absolute;top:-8px;left:0;right:0;height:8px;background:transparent}.node-color-picker-popover:after{content:"";position:absolute;bottom:100%;left:8px;border-width:5px;border-style:solid;border-color:transparent transparent var(--submenu-bg) transparent}.node-color-picker-wrap:hover .node-color-picker-popover,.node-color-picker-wrap:focus-within .node-color-picker-popover,.node-color-picker-popover.is-open{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}.node-color-swatches-grid{display:flex;align-items:center;gap:6px}.node-color-swatch-btn{width:22px;height:22px;border-radius:4px;padding:0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform var(--trans-fast),border-color var(--trans-fast),box-shadow var(--trans-fast),opacity var(--trans-fast);outline:none;box-sizing:border-box}.node-color-swatch-btn:hover:not(:disabled){transform:scale(1.15);z-index:2}.node-color-swatch-btn:disabled{opacity:.35;cursor:not-allowed}.node-color-swatch-btn.is-clear{background:transparent;border:1.5px dashed var(--glass-border);color:var(--text-dim);position:relative}.node-color-swatch-btn.is-clear svg{width:12px;height:12px;display:block;opacity:.7}.node-color-swatch-btn.is-clear:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.node-color-swatch-btn.is-clear.is-active{border:2px solid var(--accent);box-shadow:0 0 6px 1px color-mix(in srgb,var(--accent) 50%,transparent)}.node-color-popover-divider{height:1px;background:var(--glass-border);margin:2px 0}.node-color-subtree-btn{width:100%;padding:5px 8px;border:1px solid var(--glass-border);border-radius:var(--br-sm);background:transparent;color:var(--text-secondary);font-size:11px;line-height:1.2;cursor:pointer;text-align:center;transition:border-color var(--trans-fast),color var(--trans-fast),background var(--trans-fast)}.node-color-subtree-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent)}.node-color-subtree-btn:disabled{opacity:.35;cursor:not-allowed}.node-color-popover-shortcuts{display:flex;flex-direction:column;gap:3px;font-size:10px;color:var(--text-dim);padding:0 2px}.node-color-popover-shortcut-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.node-color-popover-shortcut-row kbd{display:inline-flex;align-items:center;justify-content:center;padding:1px 4px;font-family:inherit;font-size:9.5px;font-weight:600;line-height:1.1;color:var(--text-primary);background:color-mix(in srgb,var(--text-primary) 10%,var(--bg-primary));border:1px solid color-mix(in srgb,var(--text-primary) 20%,transparent);border-radius:3px}.link-direction-row{display:flex;align-items:center;gap:6px}.link-direction-btn{min-width:28px;height:22px;padding:0 4px;border-radius:4px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:13px;line-height:1;color:var(--text-secondary);background:transparent;border:1px solid transparent;transition:transform var(--trans-fast),border-color var(--trans-fast),color var(--trans-fast);outline:none}.link-direction-btn:hover{transform:scale(1.08);color:var(--text-primary);border-color:var(--glass-border)}.link-direction-btn.is-active{color:var(--text-primary);border-color:var(--accent);box-shadow:0 0 6px 1px color-mix(in srgb,var(--accent) 40%,transparent)}}.ai-breakdown-budget-cue{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:center;font-size:11px;opacity:.75;margin-bottom:6px}.ai-breakdown-budget-cue .ai-breakdown-boundary{color:var(--warning-color, #e6a23c);opacity:1}@layer components{.saved-view-name-input{border:1px solid var(--glass-border);border-radius:5px;background:var(--bg-primary);color:var(--text-primary);caret-color:var(--accent);outline:none}.saved-view-name-input::placeholder{color:var(--text-dim);opacity:.75}.saved-view-name-input:focus{border-color:color-mix(in srgb,var(--accent) 60%,var(--glass-border));box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 18%,transparent)}}@layer components{:is(.overlay,.modal-overlay){position:fixed;inset:0;z-index:var(--z-modal);background:var(--overlay-bg);backdrop-filter:blur(4px);display:none;align-items:center;justify-content:center}:is(.overlay,.modal-overlay):is(.visible,.active){display:flex!important}.modal-content{background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:var(--br-lg);box-shadow:var(--shadow-lg);padding:var(--space-xl);position:relative;animation:pop var(--trans-base) var(--ease-elastic);max-width:95vw;max-height:85vh;min-width:320px;width:min(800px,95vw);overflow-y:auto;overscroll-behavior:contain}@media(max-width:480px){.modal-content{min-width:auto;max-width:98vw;max-height:90vh;padding:var(--space-md);margin-block-start:5vh}.modal-overlay{align-items:center!important;padding-top:0!important}}.toast{position:fixed;bottom:var(--space-lg, 16px);right:var(--space-lg, 16px);z-index:12000;display:flex;flex-direction:column;gap:var(--space-sm, 8px);padding:var(--space-md, 12px) var(--space-lg, 16px);border-radius:var(--br-md, 8px);background:var(--bg-primary, #1e1e2e);border:1px solid var(--border-light, #3a3a4a);color:var(--text-primary, #ddd);font-size:var(--text-sm, 13px);box-shadow:0 4px 12px #0000004d;max-width:360px;animation:toast-in .2s ease-out}.toast.error{border-color:var(--danger, #e74c3c)}.toast.success{border-color:var(--success, #2ecc71)}.toast.warn{border-color:var(--warning, #f39c12)}.toast.info{border-color:var(--accent, #6c5ce7)}.toast-message{line-height:1.4}.toast-progress-track{width:100%;height:6px;overflow:hidden;border-radius:999px;background:color-mix(in srgb,var(--text-primary, #ddd) 14%,transparent)}.toast-progress-fill{height:100%;border-radius:inherit;background:var(--accent, #6c5ce7);transition:width .18s ease-out}.toast-actions{display:flex;gap:6px;flex-wrap:wrap}.toast-action-btn{background:var(--bg-tertiary);border:1px solid var(--glass-border);border-radius:6px;padding:6px 12px;font-size:12px;cursor:pointer;color:var(--text-primary);white-space:nowrap;flex:1 1 auto;min-width:0}.toast-action-btn:hover{background:var(--accent);color:#fff}.toast-close{position:absolute;top:4px;right:4px;cursor:pointer;font-size:16px;line-height:1;opacity:.6;color:inherit;background:none;border:none;padding:4px 6px}.toast-close:hover{opacity:1}@media(hover:none){.toast-close:active{opacity:1}}.toast-fade-out{opacity:0;transition:opacity .3s ease}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.premium-badge{background:var(--gold);color:#000;padding:1px 4px;border-radius:3px;font-weight:800;font-size:9px}.free-badge{background:var(--bg-tertiary);color:var(--text-dim);padding:1px 4px;border-radius:3px;font-weight:600;font-size:9px;border:1px solid var(--border-dim)}.search-results{margin-block-start:var(--space-lg);max-height:400px;overflow-y:auto}}@layer components{.ask-graph-chat{position:fixed;right:calc(var(--right-panel-w, 0px) + 72px);bottom:16px;z-index:9500;display:flex;width:min(420px,calc(100vw - var(--right-panel-w, 0px) - 96px));height:min(620px,calc(100dvh - 32px));min-height:min(320px,calc(100dvh - 32px));max-height:calc(100dvh - 32px);flex-direction:column;overflow:hidden;border:1px solid var(--glass-border);border-radius:var(--br-lg);background:color-mix(in srgb,var(--bg-primary) 94%,transparent);box-shadow:0 18px 60px #0000006b;color:var(--text-primary);overscroll-behavior:contain;pointer-events:auto;transition:right var(--trans-slow),bottom var(--trans-base)}body.preview-bar-visible .ask-graph-chat{bottom:calc(var(--preview-bar-offset, 118px) + env(safe-area-inset-bottom,0px));max-height:calc(100dvh - var(--preview-bar-offset, 118px) - 16px)}.ask-graph-resize-handle{position:relative;flex:0 0 10px;border:0;outline:none;cursor:ns-resize;touch-action:none}.ask-graph-resize-handle:after{position:absolute;top:4px;left:50%;width:36px;height:2px;border-radius:999px;background:var(--glass-border);content:"";transform:translate(-50%)}.ask-graph-resize-handle:hover:after,.ask-graph-resize-handle:focus-visible:after{background:var(--accent)}.ask-graph-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 14px;border-bottom:1px solid var(--glass-border)}.ask-graph-title-line{display:flex;align-items:center;gap:8px}.ask-graph-sparkle{color:var(--accent);font-size:17px}.ask-graph-title-label{color:var(--text-primary);font-size:14px;font-weight:600;cursor:default}.ask-graph-scope-select{min-height:28px;border:1px solid var(--glass-border);border-radius:var(--br-sm);padding:2px 24px 2px 8px;background:var(--bg-secondary);color:var(--text-primary);font:inherit;font-size:12px;font-weight:500;cursor:pointer}.ask-graph-title-line h2,.ask-graph-empty p,.ask-graph-consent p,.ask-graph-status,.ask-graph-error{margin:0}.ask-graph-header-actions{display:flex;align-items:center;gap:6px}.ask-graph-new-chat{min-height:28px;padding:4px 8px;font-size:10px}.ask-graph-conversation{display:flex;flex:1;min-height:0;flex-direction:column;gap:10px;overflow-y:auto;padding:12px 14px}.ask-graph-empty,.ask-graph-status{align-self:center;margin:auto;color:var(--text-dim);font-size:12px;line-height:1.5;text-align:center}.ask-graph-consent{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:12px;border:1px solid color-mix(in srgb,var(--accent) 35%,var(--glass-border));border-radius:var(--br-sm);background:color-mix(in srgb,var(--accent) 7%,transparent);color:var(--text-secondary);font-size:11px;line-height:1.5}.ask-graph-consent a{color:var(--accent)}.ask-graph-message{max-width:88%;padding:10px 12px;border:1px solid var(--glass-border);border-radius:var(--br-md);background:var(--bg-secondary)}.ask-graph-message.is-user{align-self:flex-end;background:color-mix(in srgb,var(--accent) 11%,var(--bg-secondary))}.ask-graph-message.is-assistant{align-self:flex-start}.ask-graph-message-role{display:block;margin-bottom:4px;color:var(--text-dim);font-size:9px;font-weight:700;text-transform:uppercase}.ask-graph-message-content{font-size:12px;line-height:1.55;overflow-wrap:anywhere}.ask-graph-message-content p{margin:0 0 6px;white-space:normal}.ask-graph-message-content p:last-child{margin-bottom:0}.ask-graph-message-content ul,.ask-graph-message-content ol{margin:4px 0 6px 18px;padding:0}.ask-graph-message-content ul:last-child,.ask-graph-message-content ol:last-child{margin-bottom:0}.ask-graph-message-content li{margin:2px 0}.ask-graph-message-content strong{font-weight:700;color:var(--text-primary)}.ask-graph-message-content em{font-style:italic}.ask-graph-message-content code{font-family:var(--font-mono, monospace);font-size:11px;background:color-mix(in srgb,var(--bg-primary) 70%,transparent);padding:1px 4px;border-radius:var(--br-sm);border:1px solid var(--glass-border)}.ask-graph-message-content pre{margin:6px 0;padding:8px 10px;border-radius:var(--br-sm);background:var(--bg-primary);border:1px solid var(--glass-border);overflow-x:auto}.ask-graph-message-content pre code{padding:0;border:0;background:transparent}.ask-graph-message-content h4{margin:6px 0 3px;font-size:13px;font-weight:700;color:var(--text-primary)}.ask-graph-insufficient{display:flex;align-items:center;gap:7px;margin-top:7px;color:var(--warning, #d9a441);font-size:10px}.ask-graph-insufficient button{border:0;padding:0;background:transparent;color:var(--accent);font:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.ask-graph-references{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}.ask-graph-references button{min-height:26px;border:1px solid color-mix(in srgb,var(--accent) 35%,var(--glass-border));border-radius:999px;padding:3px 8px;background:transparent;color:var(--accent);font:inherit;font-size:10px;cursor:pointer}.ask-graph-error{padding:0 20px 8px;color:var(--danger, #e57373);font-size:11px}.ask-graph-composer{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px;padding:10px 14px 12px;border-top:1px solid var(--glass-border)}.ask-graph-composer textarea{width:100%;min-height:48px;max-height:110px;resize:vertical;box-sizing:border-box;border:1px solid var(--glass-border);border-radius:var(--br-sm);padding:9px;background:var(--bg-primary);color:var(--text-primary);font:inherit;font-size:12px;line-height:1.45}.ask-graph-composer textarea:focus{border-color:var(--accent);outline:none}.ask-graph-composer-actions{display:flex;justify-content:flex-end;gap:7px}@media(max-width:560px){.ask-graph-chat{right:10px;bottom:10px;width:calc(100vw - 20px);height:min(640px,76dvh);max-height:calc(100dvh - 20px)}.ask-graph-header,.ask-graph-scope,.ask-graph-conversation,.ask-graph-composer{padding-inline:12px}.ask-graph-scope{flex-wrap:wrap}.ask-graph-message{max-width:94%}}}@layer components{h1,h2,h3,h4{letter-spacing:-.02em;font-weight:700}.toolbar-container,.outline-panel,.node-tooltip{background-image:linear-gradient(to bottom,hsla(0,0%,100%,.03),transparent)}.icon-btn{position:relative;overflow:hidden;transition:transform .2s cubic-bezier(.175,.885,.32,1.275),box-shadow .2s ease,background .2s ease}.icon-btn:hover{transform:scale(1.1);box-shadow:0 0 15px hsla(var(--accent-h),100%,50%,.2)}.icon-btn:active{transform:scale(.95)}@media(hover:none){.icon-btn:active{transform:scale(1.1);box-shadow:0 0 15px hsla(var(--accent-h),100%,50%,.2)}}.icon-btn.active{background:var(--accent-muted)!important;color:var(--accent)!important;box-shadow:inset 0 0 10px hsla(var(--accent-h),100%,50%,.1)}.outline-item.selected{position:relative;z-index:1}.outline-item.selected:before{content:"";position:absolute;inset:0;background:var(--accent-muted);border-left:3px solid var(--accent);animation:pulse-border 2s infinite;pointer-events:none}@keyframes pulse-border{0%{opacity:.5;box-shadow:inset 5px 0 10px hsla(var(--accent-h),100%,50%,.1)}50%{opacity:1;box-shadow:inset 5px 0 20px hsla(var(--accent-h),100%,50%,.2)}to{opacity:.5;box-shadow:inset 5px 0 10px hsla(var(--accent-h),100%,50%,.1)}}}@layer utilities{.flex{display:flex}.flex-between{display:flex;align-items:center;justify-content:space-between}.flex-1{flex:1;min-width:0}.full-width{width:100%}.d-none,.hidden{display:none!important}.m-t-lg{margin-block-start:var(--space-lg)}}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-ext-400-normal-BQZuk6qB.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-400-normal-DQukG94-.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-400-normal-obahsSVq.woff2) format("woff2"),url(/assets/inter-cyrillic-400-normal-HOLc17fK.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-ext-400-normal-DGGRlc-M.woff2) format("woff2"),url(/assets/inter-greek-ext-400-normal-KugGGMne.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-400-normal-B4URO6DV.woff2) format("woff2"),url(/assets/inter-greek-400-normal-q2sYcFCs.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-vietnamese-400-normal-DMkecbls.woff2) format("woff2"),url(/assets/inter-vietnamese-400-normal-Bbgyi5SW.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-ext-400-normal-C1nco2VV.woff2) format("woff2"),url(/assets/inter-latin-ext-400-normal-77YHD8bZ.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-C38fXH4l.woff2) format("woff2"),url(/assets/inter-latin-400-normal-CyCys3Eg.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-cyrillic-ext-600-normal-Dfes3d0z.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-600-normal-Bcila6Z-.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-cyrillic-600-normal-CWCymEST.woff2) format("woff2"),url(/assets/inter-cyrillic-600-normal-4D_pXhcN.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-greek-ext-600-normal-DRtmH8MT.woff2) format("woff2"),url(/assets/inter-greek-ext-600-normal-B8X0CLgF.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-greek-600-normal-plRanbMR.woff2) format("woff2"),url(/assets/inter-greek-600-normal-BZpKdvQh.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-vietnamese-600-normal-Cc8MFFhd.woff2) format("woff2"),url(/assets/inter-vietnamese-600-normal-BuLX-rYi.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-ext-600-normal-D2bJ5OIk.woff2) format("woff2"),url(/assets/inter-latin-ext-600-normal-CIVaiw4L.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-600-normal-LgqL8muc.woff2) format("woff2"),url(/assets/inter-latin-600-normal-CiBQ2DWP.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-cyrillic-ext-700-normal-BjwYoWNd.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-700-normal-LO58E6JB.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-cyrillic-700-normal-CjBOestx.woff2) format("woff2"),url(/assets/inter-cyrillic-700-normal-DrXBdSj3.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-greek-ext-700-normal-qfdV9bQt.woff2) format("woff2"),url(/assets/inter-greek-ext-700-normal-BoQ6DsYi.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-greek-700-normal-C3JjAnD8.woff2) format("woff2"),url(/assets/inter-greek-700-normal-BUv2fZ6O.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-vietnamese-700-normal-DlLaEgI2.woff2) format("woff2"),url(/assets/inter-vietnamese-700-normal-BZaoP0fm.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-ext-700-normal-Ca8adRJv.woff2) format("woff2"),url(/assets/inter-latin-ext-700-normal-TidjK2hL.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-700-normal-Yt3aPRUw.woff2) format("woff2"),url(/assets/inter-latin-700-normal-BLAVimhd.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
