*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--vscode-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif);font-size:var(--vscode-font-size, var(--fl-font-size-sm));line-height:var(--fl-line-height-normal)}.flex{display:flex}.grid{display:grid}.block{display:block}.hidden{display:none}.flex-col{flex-direction:column}.flex-1{flex:1 1 0%}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.w-full{width:100%}.h-full{height:100%}.w-screen{width:100vw}.h-screen{height:100vh}.w-2{width:.5rem}.h-2{height:.5rem}.w-3{width:.75rem}.h-3{height:.75rem}.w-4{width:1rem}.h-4{height:1rem}.w-5{width:1.25rem}.h-5{height:1.25rem}.w-72{width:18rem}.w-80{width:20rem}.min-w-\[140px\]{min-width:140px}.max-w-\[220px\]{max-width:220px}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.overflow-x-auto{overflow-x:auto}.p-2{padding:.5rem}.p-4{padding:1rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.mb-0\.5{margin-bottom:.125rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.ml-2{margin-left:.5rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-4{margin-top:1rem}.text-xs{font-size:.75rem;line-height:1rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-\[9px\]{font-size:9px}.text-\[10px\]{font-size:10px}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.font-mono{font-family:var(--vscode-editor-font-family, "Consolas", "Courier New", monospace)}.italic{font-style:italic}.uppercase{text-transform:uppercase}.tracking-wide{letter-spacing:.025em}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.text-center{text-align:center}.rounded{border-radius:.25rem}.rounded-sm{border-radius:.125rem}.rounded-lg{border-radius:.5rem}.rounded-full{border-radius:9999px}.relative{position:relative}.absolute{position:absolute}.-top-2{top:-.5rem}.-right-2{right:-.5rem}.cursor-pointer{cursor:pointer}.pointer-events-none{pointer-events:none}.outline-none{outline:none}.hover\:opacity-80:hover{opacity:.8}.space-y-1>*+*{margin-top:.25rem}.space-y-1\.5>*+*{margin-top:.375rem}.space-y-3>*+*{margin-top:.75rem}.space-y-4>*+*{margin-top:1rem}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.gap-1\.5{gap:.375rem}.min-w-\[180px\]{min-width:180px}.max-w-\[260px\]{max-width:260px}.flowlens-canvas-controls{--xy-controls-button-background-color: var(--fl-color-surface-raised, var(--vscode-editorWidget-background));--xy-controls-button-background-color-hover: var(--fl-color-surface, var(--vscode-list-hoverBackground));--xy-controls-button-color: var(--fl-color-text-primary, var(--vscode-foreground));--xy-controls-button-color-hover: var(--fl-color-text-primary, var(--vscode-foreground));--xy-controls-button-border-color: var(--fl-color-surface, var(--vscode-panel-border))}.flowlens-risk-bar{border-left:var(--fl-space-xs) solid;padding:var(--fl-space-sm) var(--fl-space-md);margin-bottom:var(--fl-space-sm);background:var(--vscode-sideBar-background);font-size:var(--fl-font-size-xs);color:var(--vscode-foreground)}.flowlens-risk-bar strong{display:block;margin-bottom:var(--fl-space-xs)}.flowlens-risk-reasons{margin:0;padding-left:var(--fl-space-lg);list-style:disc;color:var(--vscode-descriptionForeground)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:0s!important;animation-delay:0s!important;transition-duration:0s!important;transition-delay:0s!important}}@keyframes fl-badge-pulse-error{0%,to{transform:scale(1);box-shadow:0 0 color-mix(in srgb,var(--fl-color-danger) 60%,transparent)}50%{transform:scale(1.15);box-shadow:0 0 0 7px color-mix(in srgb,var(--fl-color-danger) 0%,transparent)}}@keyframes fl-badge-pulse-warning{0%,to{transform:scale(1);box-shadow:0 0 color-mix(in srgb,var(--fl-color-warning) 55%,transparent)}50%{transform:scale(1.1);box-shadow:0 0 0 6px color-mix(in srgb,var(--fl-color-warning) 0%,transparent)}}@keyframes fl-fade-in-up{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes fl-logo-in{0%{opacity:0;transform:scale(.85) rotate(-8deg)}to{opacity:1;transform:scale(1) rotate(0)}}.fl-audit-badge{transform-origin:center}.fl-audit-badge--error{animation:fl-badge-pulse-error 1.9s ease-in-out infinite}.fl-audit-badge--warning{animation:fl-badge-pulse-warning 2.4s ease-in-out infinite}.fl-fade-in-up{animation:fl-fade-in-up .34s cubic-bezier(.22,1,.36,1) both}.fl-stagger>*{animation:fl-fade-in-up .34s cubic-bezier(.22,1,.36,1) both}.fl-stagger>*:nth-child(1){animation-delay:.02s}.fl-stagger>*:nth-child(2){animation-delay:.06s}.fl-stagger>*:nth-child(3){animation-delay:.1s}.fl-stagger>*:nth-child(4){animation-delay:.14s}.fl-stagger>*:nth-child(5){animation-delay:.18s}.fl-stagger>*:nth-child(6){animation-delay:.22s}.fl-stagger>*:nth-child(7){animation-delay:.26s}.fl-stagger>*:nth-child(8){animation-delay:.3s}.fl-stagger>*:nth-child(n+9){animation-delay:.34s}.fl-node-hover:hover{filter:brightness(1.05) drop-shadow(0 6px 14px rgba(0,0,0,.28))}.fl-lift{transition:transform .16s ease,box-shadow .16s ease,filter .16s ease}.fl-lift:hover{transform:translateY(-2px);filter:brightness(1.06)}.fl-lift:active{transform:translateY(0)}.fl-logo-animated{animation:fl-logo-in .5s cubic-bezier(.22,1,.36,1) both}.fl-logo-hover{transition:transform .2s ease,filter .2s ease}.fl-logo-hover:hover{transform:scale(1.08);filter:drop-shadow(0 0 4px color-mix(in srgb,var(--fl-color-accent) 50%,transparent))}@media(prefers-reduced-motion:reduce){.fl-audit-badge--error,.fl-audit-badge--warning,.fl-fade-in-up,.fl-stagger>*,.fl-logo-animated{animation:none}.fl-lift:hover,.fl-logo-hover:hover{transform:none}}.fl-reduce-motion .fl-audit-badge--error,.fl-reduce-motion .fl-audit-badge--warning,.fl-reduce-motion .fl-fade-in-up,.fl-reduce-motion .fl-stagger>*,.fl-reduce-motion .fl-logo-animated{animation:none}.fl-reduce-motion .fl-lift:hover,.fl-reduce-motion .fl-logo-hover:hover{transform:none}/*!
 * FlowLens — VS Code theme fallback & bridge stylesheet
 * =====================================================
 *
 * This file serves two related roles in the FlowLens UI package:
 *
 *   1. Web-app fallback for `--vscode-*` variables
 *      When `@flowlens/ui` is rendered in the web app (no VS Code host),
 *      the original `styles.css` still references `var(--vscode-*, …)` for
 *      things like tab chrome and borders. The `:root` / `[data-theme=dark]`
 *      blocks below define sensible light/dark defaults for those variables
 *      so web builds do not fall through to their inline fallbacks.
 *
 *   2. VS Code theme bridge under `.fl-theme-vscode`
 *      When the extension host renders the webview it adds
 *      `class="fl-theme-vscode"` to the webview root (typically the `<body>`
 *      or `<html>`). Inside that scope, FlowLens design tokens (`--fl-*`)
 *      are redirected to the host's live `--vscode-*` variables so the
 *      webview inherits the user's chosen VS Code colour theme while keeping
 *      every component wired to the canonical `--fl-*` token names.
 *
 * Scope and invariants (R25.3):
 *   - Only flat colour roles, focus ring, and font families are bridged.
 *   - Block-type colours stay driven by the FlowLens token scale so node
 *     palettes remain consistent across themes (visual invariant per R25.1).
 *   - Font sizes stay on the FlowLens scale so the 12 px minimum (R25.5)
 *     and contrast invariants (R25.6) are preserved; VS Code's
 *     `--vscode-font-size` varies by theme and would break those.
 *
 * Extension host integration (task 35.x):
 *   The extension package owns the webview HTML template. When task 35.x
 *   lands, apply `class="fl-theme-vscode"` to the webview root element so
 *   this bridge activates. Do not modify `packages/extension/**` from this
 *   task — leave host wiring to the dedicated extension work.
 *
 * Exemption: this file is allow-listed by `eslint-plugin-flowlens-tokens`
 * (R25.10) because it is the one place where mapping raw `var(--vscode-*)`
 * references into `--fl-*` tokens is intended.
 */:root{--vscode-editor-background: #ffffff;--vscode-foreground: #1f2328;--vscode-focusBorder: #0969da;--vscode-panel-border: #d0d7de;--vscode-sideBar-background: #f6f8fa;--vscode-tab-activeBackground: #ffffff;--vscode-tab-activeForeground: #1f2328;--vscode-tab-inactiveBackground: #f6f8fa;--vscode-tab-inactiveForeground: #57606a;--vscode-button-background: #0969da;--vscode-button-foreground: #ffffff;--vscode-button-hoverBackground: #0757b8;--vscode-button-secondaryBackground: #eaeef2;--vscode-button-secondaryForeground: #24292f;--vscode-input-background: #ffffff;--vscode-input-foreground: #1f2328;--vscode-input-border: #d0d7de;--vscode-list-hoverBackground: #eef4ff;--vscode-list-activeSelectionBackground: #dbeafe;--vscode-list-activeSelectionForeground: #0f172a;--vscode-editorWidget-background: #ffffff;--vscode-editorWidget-border: #d0d7de;--vscode-errorForeground: #cf222e;--vscode-editorWarning-foreground: #9a6700;--vscode-warningForeground: #9a6700;--vscode-descriptionForeground: #57606a;--vscode-testing-iconPassed: #1a7f37;--vscode-gitDecoration-addedResourceForeground: #1a7f37;--vscode-textCodeBlock-background: #eaeef2}:root[data-theme=dark]{--vscode-editor-background: #1f2328;--vscode-foreground: #e6edf3;--vscode-focusBorder: #2f81f7;--vscode-panel-border: #30363d;--vscode-sideBar-background: #161b22;--vscode-tab-activeBackground: #1f2328;--vscode-tab-activeForeground: #f0f6fc;--vscode-tab-inactiveBackground: #161b22;--vscode-tab-inactiveForeground: #8b949e;--vscode-button-background: #238636;--vscode-button-foreground: #ffffff;--vscode-button-hoverBackground: #2ea043;--vscode-button-secondaryBackground: #30363d;--vscode-button-secondaryForeground: #c9d1d9;--vscode-input-background: #0d1117;--vscode-input-foreground: #e6edf3;--vscode-input-border: #30363d;--vscode-list-hoverBackground: #21262d;--vscode-list-activeSelectionBackground: #1f6feb;--vscode-list-activeSelectionForeground: #ffffff;--vscode-editorWidget-background: #161b22;--vscode-editorWidget-border: #30363d;--vscode-errorForeground: #ff7b72;--vscode-editorWarning-foreground: #d29922;--vscode-warningForeground: #d29922;--vscode-descriptionForeground: #8b949e;--vscode-testing-iconPassed: #3fb950;--vscode-gitDecoration-addedResourceForeground: #3fb950;--vscode-textCodeBlock-background: #2a2a2a}.fl-theme-vscode{--fl-color-background: var(--vscode-editor-background);--fl-color-surface: var(--vscode-sideBar-background);--fl-color-surface-raised: var(--vscode-editorWidget-background);--fl-color-text-primary: var(--vscode-editor-foreground, var(--vscode-foreground));--fl-color-text-secondary: var(--vscode-descriptionForeground);--fl-color-accent: var(--vscode-focusBorder, var(--vscode-button-background));--fl-color-danger: var(--vscode-errorForeground);--fl-color-warning: var(--vscode-editorWarning-foreground, var(--vscode-warningForeground));--fl-color-success: var( --vscode-testing-iconPassed, var(--vscode-gitDecoration-addedResourceForeground) );--fl-color-focus-ring: var(--vscode-focusBorder);--fl-font-family-sans: var(--vscode-font-family);--fl-font-family-mono: var(--vscode-editor-font-family)}:root{--fl-color-background: #FFFFFF;--fl-color-surface: #F8FAFC;--fl-color-surface-raised: #FFFFFF;--fl-color-text-primary: #0F172A;--fl-color-text-secondary: #334155;--fl-color-accent: #1E40AF;--fl-color-danger: #991B1B;--fl-color-warning: #92400E;--fl-color-success: #065F46;--fl-color-focus-ring: #1D4ED8;--fl-color-block-contact-configuration: #BE185D;--fl-color-block-flow-control: #C2410C;--fl-color-block-integration: #0F766E;--fl-color-block-interaction: #1D4ED8;--fl-color-block-lambda-invocation: #6D28D9;--fl-color-block-logic: #B45309;--fl-color-block-other: #374151;--fl-color-block-queue-transfer: #047857;--fl-color-block-set-attribute: #4338CA;--fl-color-block-sub-flow: #0369A1;--fl-color-block-termination: #B91C1C;--fl-space-2xl: 32px;--fl-space-lg: 16px;--fl-space-md: 12px;--fl-space-sm: 8px;--fl-space-xl: 24px;--fl-space-xs: 4px;--fl-font-family-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--fl-font-family-mono: ui-monospace, "SF Mono", Menlo, Monaco, Consolas, "Liberation Mono", monospace;--fl-font-size-2xl: 24px;--fl-font-size-lg: 16px;--fl-font-size-md: 14px;--fl-font-size-sm: 13px;--fl-font-size-xl: 20px;--fl-font-size-xs: 12px;--fl-line-height-normal: 1.5;--fl-line-height-relaxed: 1.75;--fl-line-height-tight: 1.2;--fl-radius-lg: 8px;--fl-radius-md: 4px;--fl-radius-none: 0;--fl-radius-pill: 9999px;--fl-radius-sm: 2px;--fl-elevation-flat: none;--fl-elevation-overlay: 0 8px 16px rgba(15, 23, 42, .14), 0 2px 4px rgba(15, 23, 42, .08);--fl-elevation-raised: 0 1px 2px rgba(15, 23, 42, .08), 0 1px 3px rgba(15, 23, 42, .06)}:root[data-fl-theme=dark]{--fl-color-background: #0B1220;--fl-color-surface: #131A2A;--fl-color-surface-raised: #1C2537;--fl-color-text-primary: #F8FAFC;--fl-color-text-secondary: #CBD5E1;--fl-color-accent: #93C5FD;--fl-color-danger: #FCA5A5;--fl-color-warning: #FCD34D;--fl-color-success: #6EE7B7;--fl-color-focus-ring: #93C5FD;--fl-color-block-contact-configuration: #F9A8D4;--fl-color-block-flow-control: #FDBA74;--fl-color-block-integration: #5EEAD4;--fl-color-block-interaction: #93C5FD;--fl-color-block-lambda-invocation: #C4B5FD;--fl-color-block-logic: #FCD34D;--fl-color-block-other: #CBD5E1;--fl-color-block-queue-transfer: #6EE7B7;--fl-color-block-set-attribute: #A5B4FC;--fl-color-block-sub-flow: #7DD3FC;--fl-color-block-termination: #FCA5A5;--fl-space-2xl: 32px;--fl-space-lg: 16px;--fl-space-md: 12px;--fl-space-sm: 8px;--fl-space-xl: 24px;--fl-space-xs: 4px;--fl-font-family-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--fl-font-family-mono: ui-monospace, "SF Mono", Menlo, Monaco, Consolas, "Liberation Mono", monospace;--fl-font-size-2xl: 24px;--fl-font-size-lg: 16px;--fl-font-size-md: 14px;--fl-font-size-sm: 13px;--fl-font-size-xl: 20px;--fl-font-size-xs: 12px;--fl-line-height-normal: 1.5;--fl-line-height-relaxed: 1.75;--fl-line-height-tight: 1.2;--fl-radius-lg: 8px;--fl-radius-md: 4px;--fl-radius-none: 0;--fl-radius-pill: 9999px;--fl-radius-sm: 2px;--fl-elevation-flat: none;--fl-elevation-overlay: 0 10px 20px rgba(0, 0, 0, .55), 0 4px 8px rgba(0, 0, 0, .35);--fl-elevation-raised: 0 1px 2px rgba(0, 0, 0, .35), 0 1px 3px rgba(0, 0, 0, .25)}:root[data-fl-theme=high-contrast]{--fl-color-background: #000000;--fl-color-surface: #000000;--fl-color-surface-raised: #000000;--fl-color-text-primary: #FFFFFF;--fl-color-text-secondary: #FFFFFF;--fl-color-accent: #FFFF00;--fl-color-danger: #FF6B6B;--fl-color-warning: #FFD400;--fl-color-success: #00FF7F;--fl-color-focus-ring: #FFFF00;--fl-color-block-contact-configuration: #F9A8D4;--fl-color-block-flow-control: #FDBA74;--fl-color-block-integration: #5EEAD4;--fl-color-block-interaction: #7DD3FC;--fl-color-block-lambda-invocation: #D8B4FE;--fl-color-block-logic: #FFD400;--fl-color-block-other: #FFFFFF;--fl-color-block-queue-transfer: #00FF7F;--fl-color-block-set-attribute: #A5B4FC;--fl-color-block-sub-flow: #7DD3FC;--fl-color-block-termination: #FF6B6B;--fl-space-2xl: 32px;--fl-space-lg: 16px;--fl-space-md: 12px;--fl-space-sm: 8px;--fl-space-xl: 24px;--fl-space-xs: 4px;--fl-font-family-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--fl-font-family-mono: ui-monospace, "SF Mono", Menlo, Monaco, Consolas, "Liberation Mono", monospace;--fl-font-size-2xl: 24px;--fl-font-size-lg: 16px;--fl-font-size-md: 14px;--fl-font-size-sm: 13px;--fl-font-size-xl: 20px;--fl-font-size-xs: 12px;--fl-line-height-normal: 1.5;--fl-line-height-relaxed: 1.75;--fl-line-height-tight: 1.2;--fl-radius-lg: 8px;--fl-radius-md: 4px;--fl-radius-none: 0;--fl-radius-pill: 9999px;--fl-radius-sm: 2px;--fl-elevation-flat: none;--fl-elevation-overlay: 0 0 0 2px #FFFFFF;--fl-elevation-raised: 0 0 0 1px #FFFFFF}@media(prefers-color-scheme:dark){:root:not([data-fl-theme]){--fl-color-background: #0B1220;--fl-color-surface: #131A2A;--fl-color-surface-raised: #1C2537;--fl-color-text-primary: #F8FAFC;--fl-color-text-secondary: #CBD5E1;--fl-color-accent: #93C5FD;--fl-color-danger: #FCA5A5;--fl-color-warning: #FCD34D;--fl-color-success: #6EE7B7;--fl-color-focus-ring: #93C5FD;--fl-color-block-contact-configuration: #F9A8D4;--fl-color-block-flow-control: #FDBA74;--fl-color-block-integration: #5EEAD4;--fl-color-block-interaction: #93C5FD;--fl-color-block-lambda-invocation: #C4B5FD;--fl-color-block-logic: #FCD34D;--fl-color-block-other: #CBD5E1;--fl-color-block-queue-transfer: #6EE7B7;--fl-color-block-set-attribute: #A5B4FC;--fl-color-block-sub-flow: #7DD3FC;--fl-color-block-termination: #FCA5A5;--fl-space-2xl: 32px;--fl-space-lg: 16px;--fl-space-md: 12px;--fl-space-sm: 8px;--fl-space-xl: 24px;--fl-space-xs: 4px;--fl-font-family-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--fl-font-family-mono: ui-monospace, "SF Mono", Menlo, Monaco, Consolas, "Liberation Mono", monospace;--fl-font-size-2xl: 24px;--fl-font-size-lg: 16px;--fl-font-size-md: 14px;--fl-font-size-sm: 13px;--fl-font-size-xl: 20px;--fl-font-size-xs: 12px;--fl-line-height-normal: 1.5;--fl-line-height-relaxed: 1.75;--fl-line-height-tight: 1.2;--fl-radius-lg: 8px;--fl-radius-md: 4px;--fl-radius-none: 0;--fl-radius-pill: 9999px;--fl-radius-sm: 2px;--fl-elevation-flat: none;--fl-elevation-overlay: 0 10px 20px rgba(0, 0, 0, .55), 0 4px 8px rgba(0, 0, 0, .35);--fl-elevation-raised: 0 1px 2px rgba(0, 0, 0, .35), 0 1px 3px rgba(0, 0, 0, .25)}}html,body,#root{width:100%;height:100%;overflow:hidden}body{background:var(--vscode-editor-background);color:var(--vscode-foreground)}button,select,input,textarea{font:inherit}.flowlens-web-shell{display:grid;grid-template-rows:auto 1fr;width:100vw;height:100vh;background:var(--vscode-editor-background);color:var(--vscode-foreground)}.flowlens-web-status-strip{display:flex;align-items:center;gap:12px;min-height:40px;padding:0 12px;border-bottom:1px solid var(--vscode-panel-border);background:var(--vscode-sideBar-background);font-size:12px}.flowlens-web-status-strip>span{white-space:nowrap}.flowlens-web-status-strip select,.flowlens-web-status-strip button,.flowlens-web-toolbar button{min-height:28px;border:1px solid var(--vscode-panel-border);border-radius:4px;background:var(--vscode-button-secondaryBackground);color:var(--vscode-button-secondaryForeground);padding:0 9px;font-size:12px;cursor:pointer}.flowlens-web-status-strip button:disabled,.flowlens-web-toolbar button:disabled{opacity:.5;cursor:default}.flowlens-web-status-strip select{margin-left:auto}.flowlens-web-toolbar{display:flex;gap:6px;margin-left:4px}.flowlens-web-main{display:grid;grid-template-columns:240px 1fr;min-height:0}.flowlens-web-sidebar{min-width:0;overflow-y:auto;border-right:1px solid var(--vscode-panel-border);background:var(--vscode-sideBar-background);padding:10px}.flowlens-web-sidebar h2{margin:0 0 8px;font-size:12px;font-weight:600}.flowlens-web-sidebar ul{display:grid;gap:6px;list-style:none}.flowlens-web-flow-row{position:relative;display:flex;align-items:center;gap:6px;border:1px solid var(--vscode-panel-border);border-radius:4px;background:var(--vscode-editor-background);padding:8px;cursor:pointer;transition:background .15s}.flowlens-web-flow-row:hover{background:var(--vscode-list-hoverBackground)}.flowlens-web-flow-info{display:grid;gap:var(--fl-radius-sm);min-width:0;flex:1}.flowlens-web-flow-info span{font-size:12px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.flowlens-web-flow-actions{display:none;gap:4px;align-items:center}.flowlens-web-flow-row:hover .flowlens-web-flow-actions{display:flex}.flowlens-web-flow-actions button{border:1px solid var(--vscode-panel-border);border-radius:4px;padding:2px 8px;font-size:11px;cursor:pointer;white-space:nowrap}.flowlens-web-flow-actions .flowlens-web-flow-open-btn{background:var(--vscode-button-secondaryBackground);color:var(--vscode-button-secondaryForeground)}.flowlens-web-flow-actions .flowlens-web-flow-delete-btn{background:color-mix(in srgb,var(--vscode-editorError-foreground) 14%,var(--vscode-editor-background));color:var(--vscode-editorError-foreground)}.flowlens-web-sidebar small{color:var(--vscode-descriptionForeground);font-size:11px}.flowlens-drop-zone{display:grid;place-items:center;min-height:84px;margin-bottom:10px;border:1px dashed var(--vscode-focusBorder);border-radius:6px;color:var(--vscode-descriptionForeground);font-size:12px;text-align:center}.flowlens-recent-import-actions{display:flex;margin-bottom:10px}.flowlens-recent-import-actions>div{width:100%}.flowlens-recent-import-actions>div>button{width:100%;justify-content:center}.flowlens-web-content{min-width:0;min-height:0;overflow:hidden}.flowlens-web-content>.flex.flex-col{width:100%!important;height:100%!important}.flowlens-toast-stack{position:fixed;right:16px;bottom:16px;display:grid;gap:8px;z-index:1000}.flowlens-toast{max-width:360px;border:1px solid var(--vscode-panel-border);border-left-width:4px;border-radius:4px;background:var(--vscode-sideBar-background);color:var(--vscode-foreground);padding:10px 12px;box-shadow:0 8px 24px #0000003d;font-size:12px}.flowlens-toast.info{border-left-color:var(--vscode-focusBorder)}.flowlens-toast.warning,.flowlens-web-warning{border-left-color:var(--vscode-editorWarning-foreground)}.flowlens-toast.error{border-left-color:var(--vscode-editorError-foreground)}.flowlens-web-warning{margin-bottom:8px;border-left:3px solid var(--vscode-editorWarning-foreground);padding-left:8px;color:var(--vscode-descriptionForeground);font-size:12px}.flowlens-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;display:grid;place-items:center;background:#0000007a}.flowlens-modal{background:var(--vscode-editor-background);color:var(--vscode-foreground);border:1px solid var(--vscode-panel-border);border-radius:8px;max-width:720px;width:calc(100vw - 48px);max-height:calc(100vh - 48px);overflow-y:auto;padding:24px}.flowlens-modal h2{margin:0 0 8px;font-size:var(--fl-font-size-lg);font-weight:600}.flowlens-modal-help{margin:0 0 16px;font-size:12px;color:var(--vscode-descriptionForeground)}.flowlens-modal label{display:block;margin-bottom:12px;font-size:12px;font-weight:500}.flowlens-modal input,.flowlens-modal select,.flowlens-modal textarea{display:block;width:100%;margin-top:4px;border:1px solid var(--vscode-panel-border);border-radius:4px;background:var(--vscode-input-background);color:var(--vscode-input-foreground);padding:6px 8px;font-size:13px;box-sizing:border-box}.flowlens-modal textarea{font-family:var(--vscode-editor-font-family, monospace);resize:vertical}.flowlens-modal-error{margin:8px 0 0;padding:8px 10px;border-radius:4px;font-size:12px;color:var(--vscode-errorForeground, #f48771);background:color-mix(in srgb,var(--vscode-errorForeground, #f48771) 10%,transparent);border:1px solid color-mix(in srgb,var(--vscode-errorForeground, #f48771) 35%,transparent);overflow-wrap:anywhere}.flowlens-modal-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:16px}.flowlens-modal-actions button{min-height:28px;border:1px solid var(--vscode-panel-border);border-radius:4px;background:var(--vscode-button-secondaryBackground);color:var(--vscode-button-secondaryForeground);padding:0 12px;font-size:12px;cursor:pointer}.flowlens-modal-actions button:disabled{opacity:.5;cursor:default}.flowlens-modal-actions button.flowlens-modal-danger{background:color-mix(in srgb,var(--vscode-errorForeground, #f48771) 18%,transparent);border-color:color-mix(in srgb,var(--vscode-errorForeground, #f48771) 45%,transparent);color:var(--vscode-errorForeground, #f48771)}.flowlens-welcome{padding:var(--fl-space-md);display:flex;flex-direction:column;gap:var(--fl-space-md)}.flowlens-welcome-title{margin:0;font-size:var(--fl-font-size-lg);font-weight:700;color:var(--fl-color-text-primary, var(--vscode-foreground));letter-spacing:-.3px}.flowlens-welcome-lede{margin:0;font-size:var(--fl-font-size-xs);color:var(--fl-color-text-secondary, var(--vscode-descriptionForeground));line-height:var(--fl-line-height-relaxed)}.flowlens-welcome-ctas{display:flex;flex-direction:column;gap:var(--fl-space-sm)}.flowlens-welcome-cta-primary,.flowlens-welcome-cta-sample{border:none;border-radius:var(--fl-radius-md);padding:calc(var(--fl-space-sm) + var(--fl-radius-sm)) var(--fl-font-size-md);font-size:var(--fl-font-size-xs);font-weight:600;cursor:pointer;text-align:center}.flowlens-welcome-cta-primary{background:var(--fl-color-accent, var(--vscode-button-background));color:var(--vscode-button-foreground)}.flowlens-welcome-cta-primary:hover{filter:brightness(1.1)}.flowlens-welcome-cta-sample{background:var(--fl-color-surface, var(--vscode-button-secondaryBackground));color:var(--fl-color-text-primary, var(--vscode-button-secondaryForeground));border:1px solid var(--vscode-panel-border)}.flowlens-welcome-cta-sample:hover{background:var(--fl-color-surface-raised, var(--vscode-list-hoverBackground))}.flowlens-welcome-drop{display:grid;place-items:center;min-height:calc(var(--fl-space-2xl) * 2);border:1px dashed var(--vscode-focusBorder);border-radius:var(--fl-radius-md);color:var(--fl-color-text-secondary, var(--vscode-descriptionForeground));font-size:var(--fl-font-size-xs);text-align:center}.flowlens-welcome-tiles{display:grid;grid-template-columns:1fr 1fr;gap:var(--fl-space-sm)}.flowlens-welcome-tile{display:flex;flex-direction:column;gap:var(--fl-radius-sm);padding:var(--fl-space-sm, 8px);border:1px solid var(--vscode-panel-border);border-radius:var(--fl-radius-md);background:var(--fl-color-surface, var(--vscode-sideBar-background))}.flowlens-welcome-tile-icon{font-size:var(--fl-font-size-lg);line-height:1}.flowlens-welcome-tile-title{font-size:var(--fl-font-size-xs);font-weight:600;color:var(--fl-color-text-primary, var(--vscode-foreground))}.flowlens-welcome-tile-body{font-size:var(--fl-font-size-xs);color:var(--fl-color-text-secondary, var(--vscode-descriptionForeground));line-height:var(--fl-line-height-normal)}.flowlens-welcome-secondary-actions{display:flex;flex-direction:column;gap:var(--fl-space-xs)}.flowlens-welcome-action-btn{border:1px solid var(--vscode-panel-border);border-radius:var(--fl-radius-md);background:transparent;color:var(--fl-color-text-secondary, var(--vscode-descriptionForeground));padding:var(--fl-space-sm) var(--fl-space-md);font-size:var(--fl-font-size-xs);cursor:pointer;text-align:left}.flowlens-welcome-action-btn:hover{background:var(--fl-color-surface, var(--vscode-list-hoverBackground));color:var(--fl-color-text-primary, var(--vscode-foreground))}.flowlens-welcome-samples{font-size:var(--fl-font-size-xs);color:var(--fl-color-text-secondary, var(--vscode-descriptionForeground))}.flowlens-welcome-samples summary{cursor:pointer;color:var(--fl-color-text-primary, var(--vscode-foreground));font-weight:500}.flowlens-welcome-samples ul{display:grid;gap:4px;margin:var(--fl-space-sm) 0 0;padding:0;list-style:none}.flowlens-welcome-samples li button{border:none;background:none;color:var(--fl-color-text-primary, var(--vscode-foreground));font-size:var(--fl-font-size-xs);cursor:pointer;text-align:left;width:100%;padding:var(--fl-space-xs) 0;display:flex;flex-direction:column}.flowlens-welcome-samples li button:hover{color:var(--fl-color-accent, var(--vscode-focusBorder))}.flowlens-welcome-samples li button small{font-size:var(--fl-font-size-xs);color:var(--fl-color-text-secondary, var(--vscode-descriptionForeground))}.flowlens-welcome-tip{margin-top:var(--fl-space-xs);font-size:var(--fl-font-size-xs);color:var(--fl-color-text-secondary, var(--vscode-descriptionForeground))}.flowlens-welcome-tip summary{cursor:pointer;color:var(--vscode-foreground)}.flowlens-welcome-tip ol{margin:var(--fl-space-sm) 0 0 var(--fl-space-lg);padding:0}.flowlens-modal input[type=checkbox],.flowlens-modal input[type=radio]{display:inline-block;width:auto;flex:0 0 auto;margin:0;padding:0}#panel-visualise>.flex-col{min-width:0}#panel-visualise>.flex-col>.flex.items-center{width:100%;min-width:0;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin}#panel-visualise>.flex-col>.flex.items-center>.flex-1,#panel-visualise>.flex-col>.flex.items-center [role=search]{min-width:0}@media(hover:none),(pointer:coarse){.flowlens-web-flow-actions{display:flex}}@media(max-width:860px){.flowlens-web-shell,.flowlens-web-main,.flowlens-web-content,.flowlens-web-content>.flex.flex-col{width:100%;max-width:100%;min-width:0}.flowlens-web-status-strip{display:grid;grid-template-columns:minmax(0,1fr) auto;align-content:center;gap:4px 8px;width:100%;min-width:0;box-sizing:border-box;padding:6px 8px}.flowlens-web-status-strip>div:first-child{min-width:0}.flowlens-web-status-strip>div:first-child>span:first-child{gap:0!important;font-size:0!important;letter-spacing:0!important}.flowlens-web-status-strip>div:nth-child(2){grid-column:1 / -1;grid-row:2;width:100%;margin-left:0!important;overflow-x:auto!important;overflow-y:hidden!important;scrollbar-width:thin}.flowlens-web-status-strip>div:last-child{grid-column:2;grid-row:1;margin-left:0!important}.flowlens-web-toolbar{order:2;width:100%;margin-left:0}.flowlens-web-main{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);overflow:hidden}.flowlens-web-sidebar{width:100%;max-width:100%;min-width:0;box-sizing:border-box;border-right:0;border-bottom:1px solid var(--vscode-panel-border)}.flowlens-web-sidebar:not(.flowlens-welcome){display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto auto;gap:8px;overflow:hidden;padding:8px}.flowlens-web-sidebar:not(.flowlens-welcome) h2{align-self:center;margin:0}.flowlens-web-sidebar:not(.flowlens-welcome) .flowlens-recent-import-actions{min-width:0;margin:0}.flowlens-web-sidebar:not(.flowlens-welcome) .flowlens-drop-zone{display:none}.flowlens-web-sidebar:not(.flowlens-welcome) ul{grid-column:1 / -1;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(220px,82vw);gap:8px;margin:0;padding:0 0 2px;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin}.flowlens-web-sidebar:not(.flowlens-welcome) .flowlens-web-flow-actions{display:flex}.flowlens-welcome{max-height:40vh;overflow-y:auto}.flowlens-web-content [role=tablist][aria-label="Main navigation"]{width:100%;min-width:0;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin}.flowlens-web-content [role=tablist][aria-label="Main navigation"]>button{flex:0 0 auto}.flowlens-web-content>.flex.flex-col>.flex.flex-1,.flowlens-web-content [role=tabpanel]{width:100%;max-width:100%;min-width:0}#panel-visualise>.flex-col{min-width:0}#panel-visualise>.flex-col>.flex.items-center{flex:0 0 auto;width:100%;min-width:0;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin}#panel-visualise>.flex-col>.flex.items-center>.flex-1{flex:0 0 min(300px,78vw);min-width:min(300px,78vw)}#panel-visualise>.flex-col>.flex.items-center>button,#panel-visualise>.flex-col>.flex.items-center>div:not(.flex-1){flex:0 0 auto}.flowlens-modal-backdrop[aria-label="Application settings"] .flowlens-modal>div:nth-child(2){width:100%;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin}.flowlens-modal-backdrop[aria-label="Application settings"] .flowlens-modal>div:nth-child(2)>button{flex:0 0 auto}}@media(max-width:640px){.flowlens-modal{width:calc(100vw - 24px)!important;max-height:calc(100vh - 24px);box-sizing:border-box;overflow:auto;padding:16px}.flowlens-modal-actions{flex-wrap:wrap}#panel-simulate,#panel-audit{flex-direction:column;overflow-x:hidden;overflow-y:auto}#panel-simulate>div:first-child,#panel-audit>div:first-child{flex:0 0 220px;width:100%;min-width:0;min-height:220px}#panel-simulate>div:last-child,#panel-audit>div:last-child{flex:0 0 380px;width:100%!important;min-width:0;min-height:320px;border-top:1px solid var(--vscode-panel-border, #333);border-left:0!important}[aria-label="Edit panel"]>.flex.flex-1.overflow-hidden{flex-direction:column;overflow-x:hidden;overflow-y:auto}[aria-label="Edit panel"]>.flex.flex-1.overflow-hidden>div:nth-child(1){flex:0 0 180px!important;width:100%!important;min-width:0;border-right:0!important;border-bottom:1px solid var(--vscode-panel-border, #333)}[aria-label="Edit panel"]>.flex.flex-1.overflow-hidden>div:nth-child(2){flex:0 0 260px;width:100%;min-width:0;min-height:260px}[aria-label="Edit panel"]>.flex.flex-1.overflow-hidden>div:nth-child(3){flex:0 0 320px!important;width:100%!important;min-width:0;border-top:1px solid var(--vscode-panel-border, #333);border-left:0!important}.flowlens-web-status-strip>div:first-child>button{width:36px!important;height:36px!important}.flowlens-web-status-strip>div:last-child button,.flowlens-web-sidebar:not(.flowlens-welcome) button,#panel-visualise>.flex-col>.flex.items-center button,#panel-scenarios button{min-height:32px}[aria-label="Edit panel"]>.flex.flex-1.overflow-hidden>div:nth-child(3)>.flex>button{min-height:32px}.flowlens-web-content [role=search] input,.flowlens-web-content [role=search] select{min-height:32px}.react-flow__controls-button{width:32px!important;height:32px!important}}.flowlens-landing{width:100vw;height:100vh;overflow-y:auto;background:radial-gradient(circle at 15% -10%,rgb(99 102 241 / 22%),transparent 55%),radial-gradient(circle at 85% 5%,rgb(14 165 233 / 18%),transparent 50%),var(--vscode-editor-background);color:var(--vscode-foreground);font-size:15px;line-height:1.55}.flowlens-landing-header{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 32px;background:color-mix(in srgb,var(--vscode-editor-background) 86%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--vscode-panel-border)}.flowlens-landing-brand{display:inline-flex;align-items:center;gap:10px;font-weight:700;font-size:var(--fl-font-size-lg);letter-spacing:.4px}.flowlens-landing-logo{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:8px;background:linear-gradient(135deg,#6366f1,#0ea5e9);color:#fff;font-size:14px}.flowlens-landing-nav{display:inline-flex;align-items:center;gap:14px;font-size:13px}.flowlens-landing-nav a{color:var(--vscode-descriptionForeground);text-decoration:none;padding:6px 8px;border-radius:6px}.flowlens-landing-nav a:hover{color:var(--vscode-foreground);background:var(--vscode-list-hoverBackground)}.flowlens-landing-nav select{min-height:28px;border:1px solid var(--vscode-panel-border);border-radius:4px;background:var(--vscode-button-secondaryBackground);color:var(--vscode-button-secondaryForeground);padding:0 8px;font-size:12px;cursor:pointer}.flowlens-landing-skip{border:1px solid var(--vscode-panel-border);border-radius:6px;background:transparent;color:var(--vscode-foreground);padding:6px 12px;font-size:13px;font-weight:500;cursor:pointer}.flowlens-landing-skip:hover{background:var(--vscode-list-hoverBackground)}.flowlens-landing-hero{max-width:900px;margin:0 auto;padding:80px 32px 56px;text-align:center}.flowlens-landing-eyebrow{display:inline-block;margin:0 0 18px;padding:4px 12px;border:1px solid var(--vscode-panel-border);border-radius:999px;font-size:12px;text-transform:uppercase;letter-spacing:.8px;color:var(--vscode-descriptionForeground);background:color-mix(in srgb,var(--vscode-editor-background) 60%,transparent)}.flowlens-landing-hero h1{margin:0 0 18px;font-size:clamp(32px,5vw,52px);line-height:1.1;font-weight:700;letter-spacing:-.5px}.flowlens-landing-hero h1 span{background:linear-gradient(135deg,#6366f1,#0ea5e9);-webkit-background-clip:text;background-clip:text;color:transparent}.flowlens-landing-lede{max-width:640px;margin:0 auto 32px;color:var(--vscode-descriptionForeground);font-size:17px}.flowlens-landing-cta{display:inline-flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:0 auto 18px}.flowlens-landing-cta-group{display:flex;flex-direction:column;align-items:center;gap:6px;max-width:260px}.flowlens-landing-cta-hint{font-size:12px;color:var(--vscode-descriptionForeground);text-align:center;line-height:1.4;padding:0 8px}.flowlens-landing-cta-primary{border:0;border-radius:8px;background:linear-gradient(135deg,#6366f1,#22d3ee);color:#fff;padding:12px 22px;font-size:14px;font-weight:600;cursor:pointer;box-shadow:0 6px 18px #6366f159;transition:transform .16s ease,box-shadow .16s ease,filter .16s ease}.flowlens-landing-cta-primary:hover{filter:brightness(1.08);transform:translateY(-2px);box-shadow:0 10px 26px #6366f173}.flowlens-landing-cta-primary:active{transform:translateY(0)}.flowlens-landing-cta-secondary,.flowlens-landing-cta-tertiary{border:1px solid var(--vscode-panel-border);border-radius:8px;background:var(--vscode-button-secondaryBackground);color:var(--vscode-button-secondaryForeground);padding:12px 18px;font-size:14px;font-weight:500;cursor:pointer;transition:transform .16s ease,background .16s ease,border-color .16s ease}.flowlens-landing-cta-tertiary{background:transparent}.flowlens-landing-cta-secondary:hover,.flowlens-landing-cta-tertiary:hover{background:var(--vscode-list-hoverBackground);transform:translateY(-2px);border-color:color-mix(in srgb,var(--fl-color-accent) 50%,var(--vscode-panel-border))}@media(prefers-reduced-motion:reduce){.flowlens-landing-cta-primary:hover,.flowlens-landing-cta-secondary:hover,.flowlens-landing-cta-tertiary:hover{transform:none}}.flowlens-landing-trust{margin:0;color:var(--vscode-descriptionForeground);font-size:13px}.flowlens-landing-pillars{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;max-width:1140px;margin:0 auto;padding:32px 32px 56px}.flowlens-landing-pillar{border:1px solid var(--vscode-panel-border);border-radius:12px;background:color-mix(in srgb,var(--vscode-sideBar-background) 70%,transparent);padding:22px}.flowlens-landing-pillar-icon{display:inline-grid;place-items:center;width:38px;height:38px;margin-bottom:12px;border-radius:10px;background:color-mix(in srgb,var(--vscode-focusBorder) 22%,transparent);font-size:20px}.flowlens-landing-pillar h3{margin:0 0 8px;font-size:var(--fl-font-size-lg);font-weight:600}.flowlens-landing-pillar p{margin:0;color:var(--vscode-descriptionForeground);font-size:14px}.flowlens-landing-proof{display:grid;grid-template-columns:1fr 1fr;gap:48px;max-width:1140px;margin:0 auto;padding:56px 32px;border-top:1px solid var(--vscode-panel-border)}.flowlens-landing-proof-text h2{margin:0 0 14px;font-size:clamp(22px,3vw,30px);font-weight:700;letter-spacing:-.3px}.flowlens-landing-proof-text p{margin:0;color:var(--vscode-descriptionForeground);font-size:15px}.flowlens-landing-proof-list{list-style:none;margin:0;padding:0;display:grid;gap:10px;font-size:14px}.flowlens-landing-proof-list li{display:grid;grid-template-columns:22px 1fr;gap:8px;align-items:start}.flowlens-landing-check{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;background:linear-gradient(135deg,#6366f1,#0ea5e9);color:#fff;font-size:12px;font-weight:700}.flowlens-landing-final{max-width:720px;margin:0 auto;padding:40px 32px 56px;text-align:center;border-top:1px solid var(--vscode-panel-border)}.flowlens-landing-final h2{margin:0 0 12px;font-size:clamp(22px,3vw,30px);font-weight:700;letter-spacing:-.3px}.flowlens-landing-final p{margin:0 auto 24px;max-width:540px;color:var(--vscode-descriptionForeground)}.flowlens-landing-footer{display:flex;justify-content:space-between;align-items:center;gap:16px;max-width:1140px;margin:0 auto;padding:22px 32px 36px;border-top:1px solid var(--vscode-panel-border);font-size:12px;color:var(--vscode-descriptionForeground)}.flowlens-landing-footer a{color:var(--vscode-descriptionForeground);text-decoration:none}.flowlens-landing-footer a:hover{color:var(--vscode-foreground);text-decoration:underline}.flowlens-landing-how{max-width:900px;margin:0 auto;padding:40px 32px 56px;border-top:1px solid var(--vscode-panel-border)}.flowlens-landing-how h2{margin:0 0 28px;font-size:clamp(20px,2.5vw,26px);font-weight:700;text-align:center;letter-spacing:-.3px}.flowlens-landing-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.flowlens-landing-step{text-align:center;padding:0 8px}.flowlens-landing-step-num{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#6366f1,#0ea5e9);color:#fff;font-size:15px;font-weight:700;margin-bottom:14px}.flowlens-landing-step h3{margin:0 0 8px;font-size:15px;font-weight:600}.flowlens-landing-step p{margin:0;color:var(--vscode-descriptionForeground);font-size:13px;line-height:1.5}@media(max-width:760px){.flowlens-landing{height:auto;min-height:100vh}.flowlens-landing-header{padding:12px 16px}.flowlens-landing-nav a:not(:last-of-type){display:none}.flowlens-landing-hero{padding:48px 20px 32px}.flowlens-landing-steps{grid-template-columns:1fr;gap:28px}.flowlens-landing-cta-group{max-width:100%;width:100%}.flowlens-landing-pillars{padding:16px 20px 40px}.flowlens-landing-proof{grid-template-columns:1fr;gap:24px;padding:40px 20px}.flowlens-landing-final{padding:32px 20px 48px}.flowlens-landing-footer{flex-direction:column;text-align:center;padding:20px}}@media(prefers-reduced-motion:reduce){.flowlens-landing-hero *,.flowlens-landing-hero h1,.flowlens-landing-hero h1 span{animation:none!important;transition:none!important}.flowlens-web-flow-row,.flowlens-web-sidebar *,.flowlens-landing *,.flowlens-landing-header,.flowlens-landing-cta-primary,.flowlens-landing-cta-secondary,.flowlens-landing-cta-tertiary,.flowlens-welcome-cta-primary,.flowlens-welcome-cta-sample,.flowlens-welcome-action-btn{transition:none!important;animation:none!important}}.fl-reduce-motion,.fl-reduce-motion *,.fl-reduce-motion *:before,.fl-reduce-motion *:after{animation:none!important;transition:none!important;animation-duration:0s!important;transition-duration:0s!important}.flowlens-signin{width:100vw;height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 15% -10%,rgb(99 102 241 / 22%),transparent 55%),radial-gradient(circle at 85% 5%,rgb(14 165 233 / 18%),transparent 50%),var(--vscode-editor-background, #1e1e1e);color:var(--vscode-foreground, #d4d4d4)}.flowlens-signin-card{width:100%;max-width:420px;display:flex;flex-direction:column;gap:14px;padding:36px 32px;border:1px solid var(--vscode-panel-border, #333);border-radius:12px;background:var(--vscode-editorWidget-background, rgb(30 30 30 / 90%));box-shadow:0 10px 40px #00000059;text-align:center}.flowlens-signin-brand{display:flex;flex-direction:column;align-items:center;gap:10px}.flowlens-signin-brand h1{margin:0;font-size:22px;font-weight:700;letter-spacing:-.3px}.flowlens-signin-lede{margin:0;color:var(--vscode-descriptionForeground, #999);font-size:13.5px;line-height:1.5}.flowlens-signin-error{margin:0;border-left:3px solid var(--vscode-editorError-foreground, #f48771);padding:6px 10px;text-align:left;color:var(--vscode-editorError-foreground, #f48771);font-size:12.5px}.flowlens-signin-primary{padding:10px 16px;border:none;border-radius:6px;background:linear-gradient(135deg,#6366f1,#0ea5e9);color:#fff;font-size:14px;font-weight:600;cursor:pointer}.flowlens-signin-primary:disabled{opacity:.6;cursor:default}.flowlens-signin-primary:hover:not(:disabled){filter:brightness(1.1)}.flowlens-signin-local{padding:8px 12px;border:1px solid var(--vscode-panel-border, #333);border-radius:6px;background:transparent;color:var(--vscode-foreground, #d4d4d4);font-size:12.5px;cursor:pointer}.flowlens-signin-local:hover{background:var(--vscode-list-hoverBackground, rgb(255 255 255 / 6%))}.flowlens-signin-footnote{margin:0;color:var(--vscode-descriptionForeground, #999);font-size:11.5px}.flowlens-signin-workspaces{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;max-height:320px;overflow-y:auto}.flowlens-signin-workspaces button{width:100%;display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:10px 14px;border:1px solid var(--vscode-panel-border, #333);border-radius:6px;background:transparent;color:var(--vscode-foreground, #d4d4d4);cursor:pointer}.flowlens-signin-workspaces button:hover{border-color:#6366f1;background:var(--vscode-list-hoverBackground, rgb(255 255 255 / 6%))}.flowlens-signin-ws-name{font-size:13.5px;font-weight:600}.flowlens-signin-ws-org{color:var(--vscode-descriptionForeground, #999);font-size:12px}.flowlens-connect-dialog{max-width:560px}.flowlens-connect-error{margin:0 0 10px;border-left:3px solid var(--vscode-editorError-foreground, #f48771);padding:6px 10px;color:var(--vscode-editorError-foreground, #f48771);font-size:12.5px;white-space:pre-line}.flowlens-connect-steps{margin:0 0 12px;padding-left:20px;display:flex;flex-direction:column;gap:12px;font-size:13px}.flowlens-connect-steps label{display:block;margin-top:8px}.flowlens-connect-params{margin:8px 0 0;display:grid;grid-template-columns:auto 1fr;gap:4px 12px;font-size:12.5px}.flowlens-connect-params dt{color:var(--vscode-descriptionForeground, #999)}.flowlens-connect-params dd{margin:0;overflow-wrap:anywhere}.flowlens-connect-flow-list{list-style:none;margin:0 0 12px;padding:0;max-height:320px;overflow-y:auto;display:flex;flex-direction:column;gap:4px}.flowlens-connect-flow-list label{display:flex;align-items:baseline;gap:8px;padding:6px 8px;border:1px solid var(--vscode-panel-border, #333);border-radius:4px;cursor:pointer}.flowlens-connect-flow-list label:hover{background:var(--vscode-list-hoverBackground, rgb(255 255 255 / 6%))}.flowlens-connect-flow-name{font-size:13px;font-weight:500}.flowlens-connect-flow-meta{margin-left:auto;color:var(--vscode-descriptionForeground, #999);font-size:11.5px}.flowlens-connect-actions{align-items:center}.flowlens-connect-remove{margin-right:auto;opacity:.8}.flowlens-landing{height:100vh;overflow-y:auto;background:var(--vscode-editor-background)}.flowlens-landing-header{min-height:58px;padding:12px clamp(20px,4vw,56px);background:var(--vscode-editor-background);-webkit-backdrop-filter:none;backdrop-filter:none}.flowlens-landing-brand{gap:9px;letter-spacing:0}.flowlens-landing-nav{gap:8px}.flowlens-landing-nav a,.flowlens-landing-skip{border-radius:var(--fl-radius-sm)}.flowlens-landing-skip{border:0;background:var(--vscode-foreground);color:var(--vscode-editor-background);padding:7px 12px}.flowlens-landing-skip:hover{background:var(--vscode-descriptionForeground)}.flowlens-landing-hero{display:grid;grid-template-rows:auto minmax(180px,1fr) auto;gap:clamp(24px,4vh,48px);width:min(1180px,100%);min-height:calc(100vh - 58px);max-width:none;margin:0 auto;padding:clamp(40px,8vh,84px) clamp(20px,5vw,64px) 32px;text-align:left;box-sizing:border-box}.flowlens-landing-hero-copy{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(260px,.55fr);gap:clamp(24px,6vw,80px);align-items:end}.flowlens-landing-hero h1{max-width:760px;margin:0;font-family:var(--vscode-font-family, system-ui, sans-serif);font-size:clamp(38px,6.5vw,78px);line-height:.98;font-weight:650;letter-spacing:-.045em;text-wrap:balance}.flowlens-landing-lede{max-width:420px;margin:0 0 4px;font-size:clamp(15px,1.5vw,18px);line-height:1.6}.flowlens-landing-route{display:block;align-self:center;width:100%;min-height:180px;overflow:visible;color:var(--vscode-descriptionForeground)}.flowlens-route-line{fill:none;stroke:var(--vscode-panel-border);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.flowlens-route-line-alert{stroke:var(--vscode-editorWarning-foreground);stroke-dasharray:7 8}.flowlens-route-node path,.flowlens-route-finding path{fill:var(--vscode-sideBar-background);stroke:color-mix(in srgb,var(--vscode-foreground) 18%,transparent);stroke-width:2;stroke-linejoin:round}.flowlens-route-source path{fill:color-mix(in srgb,var(--vscode-focusBorder) 13%,var(--vscode-editor-background));stroke:var(--vscode-focusBorder)}.flowlens-route-node-alert path,.flowlens-route-finding path{fill:color-mix(in srgb,var(--vscode-editorWarning-foreground) 9%,var(--vscode-editor-background));stroke:color-mix(in srgb,var(--vscode-editorWarning-foreground) 66%,var(--vscode-panel-border))}.flowlens-route-node text,.flowlens-route-finding text{fill:var(--vscode-foreground);font-family:var(--vscode-font-family, system-ui, sans-serif);font-size:15px;font-weight:600;text-anchor:middle;dominant-baseline:middle}.flowlens-route-node .flowlens-route-meta,.flowlens-route-finding .flowlens-route-meta{fill:var(--vscode-descriptionForeground);font-size:10px;font-weight:500;letter-spacing:.06em}.flowlens-route-end circle{fill:var(--vscode-editor-background);stroke:var(--vscode-descriptionForeground);stroke-width:2}.flowlens-route-end path{fill:none;stroke:var(--vscode-descriptionForeground);stroke-width:2;stroke-linecap:round}.flowlens-landing-launch{display:grid;grid-template-columns:auto auto minmax(180px,1fr);gap:12px clamp(16px,3vw,32px);align-items:center;padding-top:18px}.flowlens-landing-cta-primary{min-height:42px;border:0;border-radius:var(--fl-radius-sm);background:var(--vscode-foreground);color:var(--vscode-editor-background);padding:10px 16px;box-shadow:none;transition:background .14s ease,color .14s ease}.flowlens-landing-cta-primary:hover,.flowlens-landing-cta-primary:active{background:var(--vscode-descriptionForeground);transform:none;box-shadow:none;filter:none}.flowlens-landing-import-actions{display:flex;flex-wrap:wrap;gap:8px}.flowlens-landing-import-actions button{min-height:40px;border:0;border-radius:var(--fl-radius-sm);background:var(--vscode-button-secondaryBackground);color:var(--vscode-button-secondaryForeground);padding:9px 13px;cursor:pointer}.flowlens-landing-import-actions button:hover{background:var(--vscode-list-hoverBackground);color:var(--vscode-foreground)}.flowlens-landing-launch p{justify-self:end;margin:0;color:var(--vscode-descriptionForeground);font-size:12px;text-align:right}.flowlens-landing-capabilities{width:min(1180px,100%);margin:0 auto;padding:clamp(72px,10vw,128px) clamp(20px,5vw,64px);box-sizing:border-box;background:color-mix(in srgb,var(--vscode-sideBar-background) 72%,var(--vscode-editor-background))}.flowlens-landing-capabilities h2{max-width:620px;margin:0 0 clamp(40px,7vw,72px);font-size:clamp(30px,4.2vw,52px);line-height:1.05;letter-spacing:-.035em}.flowlens-landing-capability-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(36px,6vw,72px) clamp(32px,8vw,104px)}.flowlens-landing-capability{max-width:460px}.flowlens-landing-capability h3{margin:0 0 10px;font-size:clamp(18px,2vw,24px);font-weight:650}.flowlens-landing-capability p{margin:0;color:var(--vscode-descriptionForeground);font-size:15px;line-height:1.65}.flowlens-landing-proof{gap:clamp(40px,8vw,112px);width:min(1180px,100%);max-width:none;padding:clamp(72px,10vw,128px) clamp(20px,5vw,64px);border-top:0;box-sizing:border-box}.flowlens-landing-proof-text h2{font-size:clamp(28px,4vw,48px);line-height:1.08;letter-spacing:-.035em}.flowlens-landing-proof-text p{max-width:540px;line-height:1.7}.flowlens-landing-proof-list{align-content:start;gap:18px;padding-top:8px}.flowlens-landing-proof-list li{grid-template-columns:18px minmax(0,1fr);gap:12px;line-height:1.55}.flowlens-landing-proof-list li>span{color:var(--vscode-testing-iconPassed, var(--fl-color-success));font-weight:700}.flowlens-landing-footer{width:min(1180px,100%);max-width:none;justify-content:flex-start;padding:28px clamp(20px,5vw,64px) 40px;box-sizing:border-box}.flowlens-landing-footer a{margin-left:auto}@media(max-width:760px){.flowlens-landing{height:100vh;min-height:0}.flowlens-landing-header{min-height:56px;padding:10px 14px}.flowlens-landing-brand span{font-size:16px}.flowlens-landing-nav{gap:6px}.flowlens-landing-nav select,.flowlens-landing-skip{min-height:36px}.flowlens-landing-skip{padding-inline:10px}.flowlens-landing-hero{grid-template-rows:auto auto auto;gap:28px;min-height:calc(100vh - 56px);padding:42px 18px 28px}.flowlens-landing-hero-copy{grid-template-columns:1fr;gap:18px}.flowlens-landing-hero h1{font-size:clamp(38px,12vw,56px);line-height:1.02}.flowlens-landing-lede{max-width:34rem}.flowlens-landing-route{min-width:680px;min-height:176px}.flowlens-landing-hero:has(.flowlens-landing-route){overflow-x:hidden}.flowlens-landing-route{transform:translate(-84px)}.flowlens-landing-launch{grid-template-columns:1fr;align-items:stretch;padding-top:4px}.flowlens-landing-cta-primary,.flowlens-landing-import-actions button{min-height:44px}.flowlens-landing-import-actions{display:grid;grid-template-columns:1fr 1fr}.flowlens-landing-launch p{justify-self:start;text-align:left}.flowlens-landing-capabilities{padding-block:72px}.flowlens-landing-capability-grid,.flowlens-landing-proof{grid-template-columns:1fr}.flowlens-landing-capability-grid{gap:36px}.flowlens-landing-proof{gap:40px;padding-block:72px}.flowlens-landing-footer{align-items:flex-start;text-align:left}.flowlens-landing-footer a{margin-left:0}}@media(max-width:380px){.flowlens-landing-brand span{display:none}.flowlens-landing-nav select{max-width:82px}.flowlens-landing-import-actions{grid-template-columns:1fr}}.flowlens-landing-capabilities,.flowlens-landing-proof{scroll-margin-top:70px}
