*,*: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, 13px);line-height:1.5}.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-risk-bar{border-left:4px solid;padding:8px 12px;margin-bottom:8px;background:var(--vscode-sideBar-background);font-size:12px;color:var(--vscode-foreground)}.flowlens-risk-bar strong{display:block;margin-bottom:4px}.flowlens-risk-reasons{margin:0;padding-left:16px;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}}/*!
 * 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}: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}.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:2px;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-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:16px;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-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-welcome{padding:var(--fl-space-md, 12px);display:flex;flex-direction:column;gap:var(--fl-space-md, 12px)}.flowlens-welcome-title{margin:0;font-size:var(--fl-font-size-lg, 16px);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, 12px);color:var(--fl-color-text-secondary, var(--vscode-descriptionForeground));line-height:var(--fl-line-height-relaxed, 1.75)}.flowlens-welcome-ctas{display:flex;flex-direction:column;gap:var(--fl-space-sm, 8px)}.flowlens-welcome-cta-primary,.flowlens-welcome-cta-sample{border:none;border-radius:var(--fl-radius-md, 4px);padding:10px 14px;font-size:var(--fl-font-size-xs, 12px);font-weight:600;cursor:pointer;text-align:center}.flowlens-welcome-cta-primary{background:var(--fl-color-accent, var(--vscode-button-background));color:#fff}.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:64px;border:1px dashed var(--vscode-focusBorder);border-radius:var(--fl-radius-md, 4px);color:var(--fl-color-text-secondary, var(--vscode-descriptionForeground));font-size:var(--fl-font-size-xs, 12px);text-align:center}.flowlens-welcome-tiles{display:grid;grid-template-columns:1fr 1fr;gap:var(--fl-space-sm, 8px)}.flowlens-welcome-tile{display:flex;flex-direction:column;gap:2px;padding:var(--fl-space-sm, 8px);border:1px solid var(--vscode-panel-border);border-radius:var(--fl-radius-md, 4px);background:var(--fl-color-surface, var(--vscode-sideBar-background))}.flowlens-welcome-tile-icon{font-size:16px;line-height:1}.flowlens-welcome-tile-title{font-size:var(--fl-font-size-xs, 12px);font-weight:600;color:var(--fl-color-text-primary, var(--vscode-foreground))}.flowlens-welcome-tile-body{font-size:10px;color:var(--fl-color-text-secondary, var(--vscode-descriptionForeground));line-height:var(--fl-line-height-normal, 1.5)}.flowlens-welcome-secondary-actions{display:flex;flex-direction:column;gap:var(--fl-space-xs, 4px)}.flowlens-welcome-action-btn{border:1px solid var(--vscode-panel-border);border-radius:var(--fl-radius-md, 4px);background:transparent;color:var(--fl-color-text-secondary, var(--vscode-descriptionForeground));padding:8px 12px;font-size:var(--fl-font-size-xs, 12px);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, 12px);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, 8px) 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, 12px);cursor:pointer;text-align:left;width:100%;padding:4px 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:10px;color:var(--fl-color-text-secondary, var(--vscode-descriptionForeground))}.flowlens-welcome-tip{margin-top:var(--fl-space-xs, 4px);font-size:var(--fl-font-size-xs, 12px);color:var(--fl-color-text-secondary, var(--vscode-descriptionForeground))}.flowlens-welcome-tip summary{cursor:pointer;color:var(--vscode-foreground)}.flowlens-welcome-tip ol{margin:8px 0 0 16px;padding:0}@media(max-width:860px){.flowlens-web-status-strip{flex-wrap:wrap;align-content:center;padding:6px 8px}.flowlens-web-toolbar{order:2;width:100%;margin-left:0}.flowlens-web-main{grid-template-columns:1fr;grid-template-rows:132px 1fr}.flowlens-web-sidebar{border-right:0;border-bottom:1px solid var(--vscode-panel-border)}.flowlens-web-sidebar ul{grid-auto-flow:column;grid-auto-columns:180px;overflow-x:auto}}.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:16px;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,#0ea5e9);color:#fff;padding:12px 22px;font-size:14px;font-weight:600;cursor:pointer;box-shadow:0 6px 18px #6366f159}.flowlens-landing-cta-primary:hover{filter:brightness(1.08)}.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}.flowlens-landing-cta-tertiary{background:transparent}.flowlens-landing-cta-secondary:hover,.flowlens-landing-cta-tertiary:hover{background:var(--vscode-list-hoverBackground)}.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:16px;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}
