@charset "UTF-8";:root{--ff-white: #ffffff;--ff-black: #000000;--ff-gray-0: #ffffff;--ff-gray-25: #fcfcfc;--ff-gray-50: #f8f8f7;--ff-gray-75: #f2f2f0;--ff-gray-100: #e9e9e6;--ff-gray-150: #dcdcd7;--ff-gray-200: #c9c9c1;--ff-gray-300: #afafa5;--ff-gray-400: #8d8d81;--ff-gray-500: #69695f;--ff-gray-600: #505048;--ff-gray-700: #3c3c36;--ff-gray-800: #272722;--ff-gray-900: #1b1b18;--ff-gray-950: #141412;--ff-gray-1000: #0f0f0d;--ff-alpha-black-04: rgba(15, 15, 13, .04);--ff-alpha-black-06: rgba(15, 15, 13, .06);--ff-alpha-black-08: rgba(15, 15, 13, .08);--ff-alpha-black-10: rgba(15, 15, 13, .1);--ff-alpha-black-12: rgba(15, 15, 13, .12);--ff-alpha-black-15: rgba(15, 15, 13, .15);--ff-alpha-black-20: rgba(15, 15, 13, .2);--ff-alpha-black-30: rgba(15, 15, 13, .3);--ff-alpha-black-40: rgba(15, 15, 13, .4);--ff-alpha-black-60: rgba(15, 15, 13, .6);--ff-alpha-white-04: rgba(255, 255, 255, .04);--ff-alpha-white-06: rgba(255, 255, 255, .06);--ff-alpha-white-08: rgba(255, 255, 255, .08);--ff-alpha-white-10: rgba(255, 255, 255, .1);--ff-alpha-white-12: rgba(255, 255, 255, .12);--ff-alpha-white-15: rgba(255, 255, 255, .15);--ff-alpha-white-20: rgba(255, 255, 255, .2);--ff-alpha-white-30: rgba(255, 255, 255, .3);--ff-alpha-white-40: rgba(255, 255, 255, .4);--ff-alpha-white-60: rgba(255, 255, 255, .6);--ff-blue-100: #e8f2ff;--ff-blue-200: #bad8ff;--ff-blue-300: #7db7ff;--ff-blue-400: #4176ff;--ff-blue-500: #2759db;--ff-blue-600: #1b3f9e;--ff-green-100: #e7f7ef;--ff-green-300: #71c795;--ff-green-400: #2b9b5f;--ff-green-500: #1e7748;--ff-yellow-100: #fff5de;--ff-yellow-300: #e1b354;--ff-yellow-400: #bb8121;--ff-yellow-500: #916112;--ff-red-100: #feeceb;--ff-red-300: #e48d85;--ff-red-400: #c55245;--ff-red-500: #9e3a2f;--ff-radius-4: 4px;--ff-radius-6: 6px;--ff-radius-pill: 999px;--ff-font-family-sans: "Inter", ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--ff-font-family-mono: ui-monospace, "SFMono-Regular", "Menlo", "Monaco", "Consolas", "Liberation Mono", "Courier New", monospace;--ff-font-size-xs: 12px;--ff-font-size-sm: 14px;--ff-font-size-md: 16px;--ff-font-size-lg: 18px;--ff-shadow-1: 0 1px 2px rgba(15, 15, 13, .05), 0 8px 20px rgba(15, 15, 13, .04);--ff-shadow-2: 0 10px 28px rgba(15, 15, 13, .08), 0 3px 10px rgba(15, 15, 13, .05);--ff-shadow-3: 0 18px 48px rgba(15, 15, 13, .12), 0 6px 16px rgba(15, 15, 13, .08)}:root{--ff-color-surface-page: var(--ff-gray-25);--ff-color-surface-canvas: var(--ff-gray-25);--ff-color-surface-card: var(--ff-white);--ff-color-surface-group: rgba(65, 118, 255, .14);--ff-color-surface-group-active: rgba(65, 118, 255, .2);--ff-color-surface-muted: var(--ff-gray-50);--ff-color-surface-soft: var(--ff-gray-75);--ff-color-surface-accent-soft: rgba(65, 118, 255, .1);--ff-color-border-default: var(--ff-alpha-black-12);--ff-color-border-subtle: var(--ff-alpha-black-08);--ff-color-border-strong: var(--ff-alpha-black-20);--ff-color-border-accent: var(--ff-blue-500);--ff-color-text-primary: var(--ff-gray-800);--ff-color-text-secondary: var(--ff-gray-500);--ff-color-text-tertiary: var(--ff-gray-400);--ff-color-text-inverse: var(--ff-white);--ff-color-accent: var(--ff-blue-500);--ff-color-accent-strong: var(--ff-blue-600);--ff-color-success: var(--ff-green-400);--ff-color-warning: var(--ff-yellow-400);--ff-color-danger: var(--ff-red-400);--ff-color-disabled-surface: var(--ff-gray-100);--ff-color-disabled-border: var(--ff-alpha-black-10);--ff-color-disabled-text: var(--ff-gray-300);--ff-color-selection-fill: rgba(65, 118, 255, .12);--ff-color-selection-stroke: rgba(65, 118, 255, .28);--ff-color-grid: var(--ff-alpha-black-08);--ff-color-grid-strong: var(--ff-alpha-black-15);--ff-color-connector-connected: var(--ff-blue-500);--ff-color-connection: var(--ff-gray-600);--ff-color-connection-muted: var(--ff-gray-300);--ff-color-connection-hover: var(--ff-alpha-black-12);--ff-color-grouping-drop-target-border: var(--ff-gray-800);--ff-color-grouping-drop-target-border-active: var(--ff-gray-800);--ff-color-waypoint-fill: var(--ff-white);--ff-color-waypoint-stroke: var(--ff-blue-500);--ff-color-waypoint-candidate-fill: var(--ff-white);--ff-color-waypoint-candidate-stroke: var(--ff-green-400);--ff-color-minimap-surface: var(--ff-white);--ff-color-minimap-node: var(--ff-gray-700);--ff-color-minimap-view: rgba(65, 118, 255, .14);--ff-color-magnetic-line: var(--ff-blue-500);--ff-color-magnetic-rect-fill: rgba(65, 118, 255, .08);--ff-color-magnetic-rect-border: rgba(65, 118, 255, .24);--ff-radius-node: var(--ff-radius-4);--ff-radius-group: var(--ff-radius-4);--ff-radius-control: var(--ff-radius-4);--ff-radius-socket-square: var(--ff-radius-6);--ff-radius-pill: var(--ff-radius-pill);--ff-font-sans: var(--ff-font-family-sans);--ff-font-mono: var(--ff-font-family-mono);--ff-font-size-body: var(--ff-font-size-sm);--ff-font-size-label: var(--ff-font-size-xs);--ff-shadow-surface: var(--ff-shadow-1);--ff-shadow-floating: var(--ff-shadow-2)}.dark,[data-theme=dark]{--ff-color-surface-page: var(--ff-gray-1000);--ff-color-surface-canvas: var(--ff-gray-1000);--ff-color-surface-card: var(--ff-gray-950);--ff-color-surface-group: rgba(125, 183, 255, .18);--ff-color-surface-group-active: rgba(125, 183, 255, .24);--ff-color-surface-muted: var(--ff-gray-900);--ff-color-surface-soft: var(--ff-gray-900);--ff-color-surface-accent-soft: rgba(125, 183, 255, .14);--ff-color-border-default: var(--ff-alpha-white-12);--ff-color-border-subtle: var(--ff-alpha-white-08);--ff-color-border-strong: var(--ff-alpha-white-20);--ff-color-border-accent: var(--ff-blue-300);--ff-color-text-primary: var(--ff-gray-100);--ff-color-text-secondary: var(--ff-gray-300);--ff-color-text-tertiary: var(--ff-gray-400);--ff-color-text-inverse: var(--ff-gray-1000);--ff-color-accent: var(--ff-blue-300);--ff-color-accent-strong: var(--ff-blue-200);--ff-color-success: var(--ff-green-300);--ff-color-warning: var(--ff-yellow-300);--ff-color-danger: var(--ff-red-300);--ff-color-disabled-surface: var(--ff-gray-800);--ff-color-disabled-border: var(--ff-alpha-white-10);--ff-color-disabled-text: var(--ff-gray-500);--ff-color-selection-fill: rgba(125, 183, 255, .16);--ff-color-selection-stroke: rgba(125, 183, 255, .34);--ff-color-grid: var(--ff-alpha-white-08);--ff-color-grid-strong: var(--ff-alpha-white-15);--ff-color-connector-connected: var(--ff-blue-300);--ff-color-connection: var(--ff-gray-200);--ff-color-connection-muted: var(--ff-gray-500);--ff-color-connection-hover: var(--ff-alpha-white-12);--ff-color-grouping-drop-target-border: var(--ff-gray-100);--ff-color-grouping-drop-target-border-active: var(--ff-gray-100);--ff-color-waypoint-fill: var(--ff-gray-950);--ff-color-waypoint-stroke: var(--ff-blue-300);--ff-color-waypoint-candidate-fill: var(--ff-white);--ff-color-waypoint-candidate-stroke: var(--ff-green-300);--ff-color-minimap-surface: var(--ff-gray-950);--ff-color-minimap-node: var(--ff-gray-200);--ff-color-minimap-view: rgba(125, 183, 255, .18);--ff-color-magnetic-line: var(--ff-blue-300);--ff-color-magnetic-rect-fill: rgba(125, 183, 255, .1);--ff-color-magnetic-rect-border: rgba(125, 183, 255, .24);--ff-shadow-surface: 0 1px 2px rgba(0, 0, 0, .28), 0 8px 20px rgba(0, 0, 0, .14);--ff-shadow-floating: 0 14px 36px rgba(0, 0, 0, .26), 0 4px 12px rgba(0, 0, 0, .16)}:root{--ff-flow-background-color: var(--ff-color-surface-page);--ff-flow-text-color: var(--ff-color-text-primary);--ff-flow-font-family: var(--ff-font-sans);--ff-flow-font-size: var(--ff-font-size-body);--ff-canvas-background-color: var(--ff-color-surface-canvas);--ff-node-background-color: var(--ff-color-surface-card);--ff-node-background-color-inverse: var(--ff-color-text-primary);--ff-node-border-color: var(--ff-color-border-default);--ff-node-border-color-selected: var(--ff-color-border-accent);--ff-node-color: var(--ff-color-text-primary);--ff-node-border-radius: var(--ff-radius-node);--ff-node-shadow: var(--ff-shadow-surface);--ff-node-shadow-selected: var(--ff-shadow-floating);--ff-node-width: 120px;--ff-node-min-height: 56px;--ff-node-padding: 24px;--ff-group-background-color: var(--ff-color-surface-group);--ff-group-background-color-active: var(--ff-color-surface-group-active);--ff-group-border-color: var(--ff-color-border-subtle);--ff-group-border-color-selected: var(--ff-color-border-accent);--ff-group-border-color-active: var(--ff-color-border-accent);--ff-group-color: var(--ff-color-text-secondary);--ff-group-border-radius: var(--ff-radius-group);--ff-group-min-width: 180px;--ff-group-min-height: 120px;--ff-group-padding: 24px;--ff-grouping-drop-target-border-color: var(--ff-color-grouping-drop-target-border);--ff-grouping-drop-target-border-style: dashed;--ff-grouping-drop-target-border-width: 1px;--ff-grouping-drop-target-border-color-active: var( --ff-color-grouping-drop-target-border-active );--ff-grouping-drop-target-border-style-active: dashed;--ff-grouping-drop-target-border-width-active: 2px;--ff-resize-handle-size: 8px;--ff-resize-handle-fill: var(--ff-color-accent);--ff-resize-handle-stroke: var(--ff-color-surface-card);--ff-resize-handle-ring: var(--ff-color-accent);--ff-resize-handle-radius: 1px;--ff-resize-handle-fill-active: var(--ff-color-surface-card);--ff-rotate-handle-size: 16px;--ff-rotate-handle-offset: 40px;--ff-rotate-handle-background-color: var(--ff-color-surface-card);--ff-rotate-handle-border-color: var(--ff-color-border-strong);--ff-rotate-handle-guide-color: var(--ff-color-border-strong);--ff-connector-background-color: var(--ff-color-surface-card);--ff-connector-border-color: var(--ff-color-text-secondary);--ff-connector-connected-color: var(--ff-color-connector-connected);--ff-connector-accent-color: var(--ff-color-accent);--ff-connector-disabled-color: var(--ff-color-disabled-surface);--ff-connector-disabled-border-color: var(--ff-color-disabled-border);--ff-connector-size: 14px;--ff-connector-border-width: 2px;--ff-connector-input-radius: var(--ff-radius-4);--ff-connector-node-ring-color: var(--ff-canvas-background-color);--ff-outlet-background-color: var(--ff-color-surface-muted);--ff-outlet-border-color: var(--ff-color-border-default);--ff-outlet-color: var(--ff-color-accent);--ff-outlet-disabled-background-color: var(--ff-color-disabled-surface);--ff-outlet-disabled-border-color: var(--ff-color-disabled-border);--ff-outlet-disabled-color: var(--ff-color-disabled-text);--ff-outlet-border-radius: var(--ff-radius-pill);--ff-outlet-padding-y: 6px;--ff-outlet-padding-x: 12px;--ff-connection-color: var(--ff-color-connection);--ff-snap-connection-color: var(--ff-color-connection-muted);--ff-connection-hover-color: var(--ff-color-connection-hover);--ff-connection-selected-color: var(--ff-color-accent);--ff-connection-label-color: var(--ff-color-text-secondary);--ff-connection-content-color: var(--ff-node-color);--ff-connection-content-background-color: var(--ff-node-background-color);--ff-connection-content-border-color: var(--ff-node-border-color);--ff-connection-content-border-color-selected: var(--ff-connection-selected-color);--ff-connection-content-border-radius: var(--ff-node-border-radius);--ff-connection-content-font-size: 13px;--ff-connection-content-padding-y: 2px;--ff-connection-content-padding-x: 8px;--ff-connection-width: 2px;--ff-connection-hit-width: 14px;--ff-connection-drag-handle-fill: var(--ff-color-surface-card);--ff-connection-drag-handle-stroke: var(--ff-color-accent);--ff-marker-color: var(--ff-connection-color);--ff-waypoint-fill: var(--ff-color-waypoint-fill);--ff-waypoint-stroke: var(--ff-color-waypoint-stroke);--ff-waypoint-candidate-fill: var(--ff-color-waypoint-candidate-fill);--ff-waypoint-candidate-stroke: var(--ff-color-waypoint-candidate-stroke);--ff-background-line-color: var(--ff-color-grid);--ff-background-dot-color: var(--ff-color-grid-strong);--ff-selection-area-color: var(--ff-color-selection-fill);--ff-selection-area-border-color: var(--ff-color-selection-stroke);--ff-minimap-background-color: var(--ff-color-minimap-surface);--ff-minimap-border-color: var(--ff-color-border-default);--ff-minimap-node-color: var(--ff-color-minimap-node);--ff-minimap-node-selected-color: var(--ff-color-accent);--ff-minimap-view-color: var(--ff-color-minimap-view);--ff-minimap-view-border-color: var(--ff-color-selection-stroke);--ff-minimap-border-radius: var(--ff-radius-node);--ff-minimap-shadow: var(--ff-shadow-floating);--ff-magnetic-line-color: var(--ff-color-magnetic-line);--ff-magnetic-rect-fill: var(--ff-color-magnetic-rect-fill);--ff-magnetic-rect-border-color: var(--ff-color-magnetic-rect-border);--ff-external-item-background-color: var(--ff-color-surface-card);--ff-external-item-border-color: var(--ff-color-border-default);--ff-external-item-color: var(--ff-color-text-primary);--ff-external-item-disabled-color: var(--ff-color-disabled-text);--ff-external-item-disabled-background-color: var(--ff-color-disabled-surface);--ff-external-item-border-radius: var(--ff-radius-node);--ff-external-item-shadow: var(--ff-shadow-surface);--ff-external-item-preview-shadow: var(--ff-shadow-floating);--ff-external-item-placeholder-background-color: var(--ff-color-surface-soft);--ff-external-item-placeholder-border-color: var(--ff-color-border-subtle)}f-flow,.f-flow{display:block;position:relative;width:100%;height:100%;overflow:hidden;pointer-events:all;-webkit-user-select:none;user-select:none;touch-action:none;color:var(--ff-flow-text-color);background:var(--ff-flow-background-color);font-family:var(--ff-flow-font-family);font-size:var(--ff-flow-font-size);line-height:1.4}f-flow .f-canvas,.f-flow .f-canvas{background:var(--ff-canvas-background-color)}f-flow .f-node,.f-flow .f-node{width:var(--ff-node-width);min-height:var(--ff-node-min-height);padding:var(--ff-node-padding);box-sizing:border-box;color:var(--ff-node-color);text-align:center;background:var(--ff-node-background-color);border:1px solid var(--ff-node-border-color);border-radius:var(--ff-node-border-radius);box-shadow:var(--ff-node-shadow)}f-flow .f-node .node-content,.f-flow .f-node .node-content{width:100%;height:100%;overflow:hidden}f-flow .f-node.f-selected,.f-flow .f-node.f-selected{border-color:var(--ff-node-border-color-selected);box-shadow:var(--ff-node-shadow-selected)}f-flow .f-node.f-dragging,.f-flow .f-node.f-dragging{box-shadow:var(--ff-node-shadow-selected)}f-flow .f-group,.f-flow .f-group{min-width:var(--ff-group-min-width);min-height:var(--ff-group-min-height);padding:var(--ff-group-padding);box-sizing:border-box;color:var(--ff-group-color);background:var(--ff-group-background-color);border:1px solid var(--ff-group-border-color);border-radius:var(--ff-group-border-radius)}f-flow .f-group.f-selected,.f-flow .f-group.f-selected{border-color:var(--ff-group-border-color-selected)}f-flow .f-drag-handle,.f-flow .f-drag-handle{cursor:move}f-flow .f-drag-handle img,.f-flow .f-drag-handle img{pointer-events:none}f-flow .f-resize-handle,.f-flow .f-resize-handle{position:absolute;width:var(--ff-resize-handle-size);height:var(--ff-resize-handle-size);box-sizing:border-box;border:1.5px solid var(--ff-resize-handle-stroke);border-radius:var(--ff-resize-handle-radius);background:var(--ff-resize-handle-fill);box-shadow:0 0 0 1px var(--ff-resize-handle-ring),0 1px 2px #0f0f0d2e;transition:background-color .15s cubic-bezier(.4,0,.2,1),box-shadow .15s cubic-bezier(.4,0,.2,1)}f-flow .f-resize-handle:hover,.f-flow .f-resize-handle:hover{box-shadow:0 0 0 1px var(--ff-resize-handle-ring),0 0 0 5px color-mix(in oklch,var(--ff-resize-handle-ring) 25%,transparent)}f-flow .f-resize-handle:active,.f-flow .f-resize-handle:active{background:var(--ff-resize-handle-fill-active);box-shadow:0 0 0 2px var(--ff-resize-handle-ring),0 0 0 6px color-mix(in oklch,var(--ff-resize-handle-ring) 28%,transparent)}f-flow .f-resize-handle.f-resize-handle-left,.f-flow .f-resize-handle.f-resize-handle-left{left:0;top:50%;transform:translate(-50%,-50%);cursor:col-resize}f-flow .f-resize-handle.f-resize-handle-left-top,.f-flow .f-resize-handle.f-resize-handle-left-top{left:0;top:0;transform:translate(-50%,-50%);cursor:nwse-resize}f-flow .f-resize-handle.f-resize-handle-top,.f-flow .f-resize-handle.f-resize-handle-top{left:50%;top:0;transform:translate(-50%,-50%);cursor:row-resize}f-flow .f-resize-handle.f-resize-handle-right-top,.f-flow .f-resize-handle.f-resize-handle-right-top{right:0;top:0;transform:translate(50%,-50%);cursor:nesw-resize}f-flow .f-resize-handle.f-resize-handle-right,.f-flow .f-resize-handle.f-resize-handle-right{right:0;top:50%;transform:translate(50%,-50%);cursor:col-resize}f-flow .f-resize-handle.f-resize-handle-right-bottom,.f-flow .f-resize-handle.f-resize-handle-right-bottom{right:0;bottom:0;transform:translate(50%,50%);cursor:nwse-resize}f-flow .f-resize-handle.f-resize-handle-bottom,.f-flow .f-resize-handle.f-resize-handle-bottom{left:50%;bottom:0;transform:translate(-50%,50%);cursor:row-resize}f-flow .f-resize-handle.f-resize-handle-left-bottom,.f-flow .f-resize-handle.f-resize-handle-left-bottom{left:0;bottom:0;transform:translate(-50%,50%);cursor:nesw-resize}f-flow .f-rotate-handle,.f-flow .f-rotate-handle{position:absolute;left:50%;top:calc(var(--ff-rotate-handle-offset) * -1);display:inline-flex;align-items:center;justify-content:center;width:var(--ff-rotate-handle-size);height:var(--ff-rotate-handle-size);box-sizing:border-box;border:1px solid var(--ff-rotate-handle-border-color);border-radius:50%;background:var(--ff-rotate-handle-background-color);transform:translate(-50%);cursor:grab;transition:background-color .15s cubic-bezier(.4,0,.2,1),border-color .15s cubic-bezier(.4,0,.2,1),box-shadow .15s cubic-bezier(.4,0,.2,1)}f-flow .f-rotate-handle:after,.f-flow .f-rotate-handle:after{content:"";position:absolute;left:50%;top:100%;width:1px;height:calc(var(--ff-rotate-handle-offset) - var(--ff-rotate-handle-size));background:var(--ff-rotate-handle-guide-color);transform:translate(-50%);pointer-events:none}f-flow .f-rotate-handle:hover,.f-flow .f-rotate-handle:hover{border-color:var(--ff-color-accent);box-shadow:0 0 0 4px color-mix(in oklch,var(--ff-color-accent) 22%,transparent)}f-flow .f-rotate-handle:active,.f-flow .f-rotate-handle:active{background:var(--ff-color-accent);border-color:var(--ff-color-accent);cursor:grabbing;box-shadow:0 0 0 4px color-mix(in oklch,var(--ff-color-accent) 22%,transparent)}f-flow .f-node-input:not(.f-node),f-flow .f-node-output:not(.f-node),f-flow .f-connector-source:not(.f-node),f-flow .f-connector-target:not(.f-node),f-flow .f-connector-source-target:not(.f-node),.f-flow .f-node-input:not(.f-node),.f-flow .f-node-output:not(.f-node),.f-flow .f-connector-source:not(.f-node),.f-flow .f-connector-target:not(.f-node),.f-flow .f-connector-source-target:not(.f-node){position:absolute;width:var(--ff-connector-size);height:var(--ff-connector-size);box-sizing:border-box;border:var(--ff-connector-border-width) solid var(--ff-connector-border-color);border-radius:50%;background:var(--ff-connector-background-color);pointer-events:all;transition:background-color .15s cubic-bezier(.4,0,.2,1),border-color .15s cubic-bezier(.4,0,.2,1),box-shadow .15s cubic-bezier(.4,0,.2,1)}f-flow .f-node-input:not(.f-node).left,f-flow .f-node-output:not(.f-node).left,f-flow .f-connector-source:not(.f-node).left,f-flow .f-connector-target:not(.f-node).left,f-flow .f-connector-source-target:not(.f-node).left,.f-flow .f-node-input:not(.f-node).left,.f-flow .f-node-output:not(.f-node).left,.f-flow .f-connector-source:not(.f-node).left,.f-flow .f-connector-target:not(.f-node).left,.f-flow .f-connector-source-target:not(.f-node).left{left:calc(var(--ff-connector-size) / -2);top:50%;transform:translateY(-50%)}f-flow .f-node-input:not(.f-node).right,f-flow .f-node-output:not(.f-node).right,f-flow .f-connector-source:not(.f-node).right,f-flow .f-connector-target:not(.f-node).right,f-flow .f-connector-source-target:not(.f-node).right,.f-flow .f-node-input:not(.f-node).right,.f-flow .f-node-output:not(.f-node).right,.f-flow .f-connector-source:not(.f-node).right,.f-flow .f-connector-target:not(.f-node).right,.f-flow .f-connector-source-target:not(.f-node).right{right:calc(var(--ff-connector-size) / -2);top:50%;transform:translateY(-50%)}f-flow .f-node-input:not(.f-node).top,f-flow .f-node-output:not(.f-node).top,f-flow .f-connector-source:not(.f-node).top,f-flow .f-connector-target:not(.f-node).top,f-flow .f-connector-source-target:not(.f-node).top,.f-flow .f-node-input:not(.f-node).top,.f-flow .f-node-output:not(.f-node).top,.f-flow .f-connector-source:not(.f-node).top,.f-flow .f-connector-target:not(.f-node).top,.f-flow .f-connector-source-target:not(.f-node).top{top:calc(var(--ff-connector-size) / -2);left:50%;transform:translate(-50%)}f-flow .f-node-input:not(.f-node).top-left,f-flow .f-node-output:not(.f-node).top-left,f-flow .f-connector-source:not(.f-node).top-left,f-flow .f-connector-target:not(.f-node).top-left,f-flow .f-connector-source-target:not(.f-node).top-left,.f-flow .f-node-input:not(.f-node).top-left,.f-flow .f-node-output:not(.f-node).top-left,.f-flow .f-connector-source:not(.f-node).top-left,.f-flow .f-connector-target:not(.f-node).top-left,.f-flow .f-connector-source-target:not(.f-node).top-left{top:calc(var(--ff-connector-size) / -2);left:calc(var(--ff-connector-size) / -2)}f-flow .f-node-input:not(.f-node).top-right,f-flow .f-node-output:not(.f-node).top-right,f-flow .f-connector-source:not(.f-node).top-right,f-flow .f-connector-target:not(.f-node).top-right,f-flow .f-connector-source-target:not(.f-node).top-right,.f-flow .f-node-input:not(.f-node).top-right,.f-flow .f-node-output:not(.f-node).top-right,.f-flow .f-connector-source:not(.f-node).top-right,.f-flow .f-connector-target:not(.f-node).top-right,.f-flow .f-connector-source-target:not(.f-node).top-right{top:calc(var(--ff-connector-size) / -2);right:calc(var(--ff-connector-size) / -2)}f-flow .f-node-input:not(.f-node).bottom,f-flow .f-node-output:not(.f-node).bottom,f-flow .f-connector-source:not(.f-node).bottom,f-flow .f-connector-target:not(.f-node).bottom,f-flow .f-connector-source-target:not(.f-node).bottom,.f-flow .f-node-input:not(.f-node).bottom,.f-flow .f-node-output:not(.f-node).bottom,.f-flow .f-connector-source:not(.f-node).bottom,.f-flow .f-connector-target:not(.f-node).bottom,.f-flow .f-connector-source-target:not(.f-node).bottom{bottom:calc(var(--ff-connector-size) / -2);left:50%;transform:translate(-50%)}f-flow .f-node-input:not(.f-node).bottom-left,f-flow .f-node-output:not(.f-node).bottom-left,f-flow .f-connector-source:not(.f-node).bottom-left,f-flow .f-connector-target:not(.f-node).bottom-left,f-flow .f-connector-source-target:not(.f-node).bottom-left,.f-flow .f-node-input:not(.f-node).bottom-left,.f-flow .f-node-output:not(.f-node).bottom-left,.f-flow .f-connector-source:not(.f-node).bottom-left,.f-flow .f-connector-target:not(.f-node).bottom-left,.f-flow .f-connector-source-target:not(.f-node).bottom-left{bottom:calc(var(--ff-connector-size) / -2);left:calc(var(--ff-connector-size) / -2)}f-flow .f-node-input:not(.f-node).bottom-right,f-flow .f-node-output:not(.f-node).bottom-right,f-flow .f-connector-source:not(.f-node).bottom-right,f-flow .f-connector-target:not(.f-node).bottom-right,f-flow .f-connector-source-target:not(.f-node).bottom-right,.f-flow .f-node-input:not(.f-node).bottom-right,.f-flow .f-node-output:not(.f-node).bottom-right,.f-flow .f-connector-source:not(.f-node).bottom-right,.f-flow .f-connector-target:not(.f-node).bottom-right,.f-flow .f-connector-source-target:not(.f-node).bottom-right{bottom:calc(var(--ff-connector-size) / -2);right:calc(var(--ff-connector-size) / -2)}f-flow .f-node-input:not(.f-node):hover,f-flow .f-node-output:not(.f-node):hover,f-flow .f-connector-source:not(.f-node):hover,f-flow .f-connector-target:not(.f-node):hover,f-flow .f-connector-source-target:not(.f-node):hover,.f-flow .f-node-input:not(.f-node):hover,.f-flow .f-node-output:not(.f-node):hover,.f-flow .f-connector-source:not(.f-node):hover,.f-flow .f-connector-target:not(.f-node):hover,.f-flow .f-connector-source-target:not(.f-node):hover{box-shadow:0 0 0 4px color-mix(in oklch,var(--ff-connector-accent-color) 22%,transparent)}f-flow .f-node-input:not(.f-node).f-connector-connectable,f-flow .f-node-output:not(.f-node).f-connector-connectable,f-flow .f-connector-source:not(.f-node).f-connector-connectable,f-flow .f-connector-target:not(.f-node).f-connector-connectable,f-flow .f-connector-source-target:not(.f-node).f-connector-connectable,.f-flow .f-node-input:not(.f-node).f-connector-connectable,.f-flow .f-node-output:not(.f-node).f-connector-connectable,.f-flow .f-connector-source:not(.f-node).f-connector-connectable,.f-flow .f-connector-target:not(.f-node).f-connector-connectable,.f-flow .f-connector-source-target:not(.f-node).f-connector-connectable{border-color:var(--ff-connector-accent-color)}f-flow .f-node-input:not(.f-node).f-node-output-connected,f-flow .f-node-input:not(.f-node).f-node-input-connected,f-flow .f-node-input:not(.f-node).f-connector-connected,f-flow .f-node-output:not(.f-node).f-node-output-connected,f-flow .f-node-output:not(.f-node).f-node-input-connected,f-flow .f-node-output:not(.f-node).f-connector-connected,f-flow .f-connector-source:not(.f-node).f-node-output-connected,f-flow .f-connector-source:not(.f-node).f-node-input-connected,f-flow .f-connector-source:not(.f-node).f-connector-connected,f-flow .f-connector-target:not(.f-node).f-node-output-connected,f-flow .f-connector-target:not(.f-node).f-node-input-connected,f-flow .f-connector-target:not(.f-node).f-connector-connected,f-flow .f-connector-source-target:not(.f-node).f-node-output-connected,f-flow .f-connector-source-target:not(.f-node).f-node-input-connected,f-flow .f-connector-source-target:not(.f-node).f-connector-connected,.f-flow .f-node-input:not(.f-node).f-node-output-connected,.f-flow .f-node-input:not(.f-node).f-node-input-connected,.f-flow .f-node-input:not(.f-node).f-connector-connected,.f-flow .f-node-output:not(.f-node).f-node-output-connected,.f-flow .f-node-output:not(.f-node).f-node-input-connected,.f-flow .f-node-output:not(.f-node).f-connector-connected,.f-flow .f-connector-source:not(.f-node).f-node-output-connected,.f-flow .f-connector-source:not(.f-node).f-node-input-connected,.f-flow .f-connector-source:not(.f-node).f-connector-connected,.f-flow .f-connector-target:not(.f-node).f-node-output-connected,.f-flow .f-connector-target:not(.f-node).f-node-input-connected,.f-flow .f-connector-target:not(.f-node).f-connector-connected,.f-flow .f-connector-source-target:not(.f-node).f-node-output-connected,.f-flow .f-connector-source-target:not(.f-node).f-node-input-connected,.f-flow .f-connector-source-target:not(.f-node).f-connector-connected{background:var(--ff-connector-connected-color);border-color:var(--ff-connector-connected-color)}f-flow .f-node-input:not(.f-node).f-node-output-not-connectable,f-flow .f-node-input:not(.f-node).f-node-input-not-connectable,f-flow .f-node-input:not(.f-node).f-connector-not-connectable,f-flow .f-node-input:not(.f-node).f-node-input-disabled,f-flow .f-node-input:not(.f-node).f-node-output-disabled,f-flow .f-node-input:not(.f-node).f-connector-disabled,f-flow .f-node-output:not(.f-node).f-node-output-not-connectable,f-flow .f-node-output:not(.f-node).f-node-input-not-connectable,f-flow .f-node-output:not(.f-node).f-connector-not-connectable,f-flow .f-node-output:not(.f-node).f-node-input-disabled,f-flow .f-node-output:not(.f-node).f-node-output-disabled,f-flow .f-node-output:not(.f-node).f-connector-disabled,f-flow .f-connector-source:not(.f-node).f-node-output-not-connectable,f-flow .f-connector-source:not(.f-node).f-node-input-not-connectable,f-flow .f-connector-source:not(.f-node).f-connector-not-connectable,f-flow .f-connector-source:not(.f-node).f-node-input-disabled,f-flow .f-connector-source:not(.f-node).f-node-output-disabled,f-flow .f-connector-source:not(.f-node).f-connector-disabled,f-flow .f-connector-target:not(.f-node).f-node-output-not-connectable,f-flow .f-connector-target:not(.f-node).f-node-input-not-connectable,f-flow .f-connector-target:not(.f-node).f-connector-not-connectable,f-flow .f-connector-target:not(.f-node).f-node-input-disabled,f-flow .f-connector-target:not(.f-node).f-node-output-disabled,f-flow .f-connector-target:not(.f-node).f-connector-disabled,f-flow .f-connector-source-target:not(.f-node).f-node-output-not-connectable,f-flow .f-connector-source-target:not(.f-node).f-node-input-not-connectable,f-flow .f-connector-source-target:not(.f-node).f-connector-not-connectable,f-flow .f-connector-source-target:not(.f-node).f-node-input-disabled,f-flow .f-connector-source-target:not(.f-node).f-node-output-disabled,f-flow .f-connector-source-target:not(.f-node).f-connector-disabled,.f-flow .f-node-input:not(.f-node).f-node-output-not-connectable,.f-flow .f-node-input:not(.f-node).f-node-input-not-connectable,.f-flow .f-node-input:not(.f-node).f-connector-not-connectable,.f-flow .f-node-input:not(.f-node).f-node-input-disabled,.f-flow .f-node-input:not(.f-node).f-node-output-disabled,.f-flow .f-node-input:not(.f-node).f-connector-disabled,.f-flow .f-node-output:not(.f-node).f-node-output-not-connectable,.f-flow .f-node-output:not(.f-node).f-node-input-not-connectable,.f-flow .f-node-output:not(.f-node).f-connector-not-connectable,.f-flow .f-node-output:not(.f-node).f-node-input-disabled,.f-flow .f-node-output:not(.f-node).f-node-output-disabled,.f-flow .f-node-output:not(.f-node).f-connector-disabled,.f-flow .f-connector-source:not(.f-node).f-node-output-not-connectable,.f-flow .f-connector-source:not(.f-node).f-node-input-not-connectable,.f-flow .f-connector-source:not(.f-node).f-connector-not-connectable,.f-flow .f-connector-source:not(.f-node).f-node-input-disabled,.f-flow .f-connector-source:not(.f-node).f-node-output-disabled,.f-flow .f-connector-source:not(.f-node).f-connector-disabled,.f-flow .f-connector-target:not(.f-node).f-node-output-not-connectable,.f-flow .f-connector-target:not(.f-node).f-node-input-not-connectable,.f-flow .f-connector-target:not(.f-node).f-connector-not-connectable,.f-flow .f-connector-target:not(.f-node).f-node-input-disabled,.f-flow .f-connector-target:not(.f-node).f-node-output-disabled,.f-flow .f-connector-target:not(.f-node).f-connector-disabled,.f-flow .f-connector-source-target:not(.f-node).f-node-output-not-connectable,.f-flow .f-connector-source-target:not(.f-node).f-node-input-not-connectable,.f-flow .f-connector-source-target:not(.f-node).f-connector-not-connectable,.f-flow .f-connector-source-target:not(.f-node).f-node-input-disabled,.f-flow .f-connector-source-target:not(.f-node).f-node-output-disabled,.f-flow .f-connector-source-target:not(.f-node).f-connector-disabled{background:var(--ff-connector-disabled-color);border-color:var(--ff-connector-disabled-border-color);box-shadow:none}f-flow .f-node-input:not(.f-node),f-flow .f-connector-target:not(.f-node),.f-flow .f-node-input:not(.f-node),.f-flow .f-connector-target:not(.f-node){border-radius:var(--ff-connector-input-radius)}f-flow .f-connections-dragging .f-node-input:not(.f-connector-connectable):not(.f-node-input-connected):not(.f-node-output-connected):not(.f-connector-connected),f-flow .f-connections-dragging .f-node-output:not(.f-connector-connectable):not(.f-node-input-connected):not(.f-node-output-connected):not(.f-connector-connected),f-flow .f-connections-dragging .f-connector-source:not(.f-connector-connectable):not(.f-node-input-connected):not(.f-node-output-connected):not(.f-connector-connected),f-flow .f-connections-dragging .f-connector-target:not(.f-connector-connectable):not(.f-node-input-connected):not(.f-node-output-connected):not(.f-connector-connected),f-flow .f-connections-dragging .f-connector-source-target:not(.f-connector-connectable):not(.f-node-input-connected):not(.f-node-output-connected):not(.f-connector-connected),.f-flow .f-connections-dragging .f-node-input:not(.f-connector-connectable):not(.f-node-input-connected):not(.f-node-output-connected):not(.f-connector-connected),.f-flow .f-connections-dragging .f-node-output:not(.f-connector-connectable):not(.f-node-input-connected):not(.f-node-output-connected):not(.f-connector-connected),.f-flow .f-connections-dragging .f-connector-source:not(.f-connector-connectable):not(.f-node-input-connected):not(.f-node-output-connected):not(.f-connector-connected),.f-flow .f-connections-dragging .f-connector-target:not(.f-connector-connectable):not(.f-node-input-connected):not(.f-node-output-connected):not(.f-connector-connected),.f-flow .f-connections-dragging .f-connector-source-target:not(.f-connector-connectable):not(.f-node-input-connected):not(.f-node-output-connected):not(.f-connector-connected){border-color:var(--ff-connector-disabled-border-color)}f-flow .f-node-outlet,f-flow .f-connector-outlet,.f-flow .f-node-outlet,.f-flow .f-connector-outlet{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:32px;padding:var(--ff-outlet-padding-y) var(--ff-outlet-padding-x);box-sizing:border-box;border:1px solid var(--ff-outlet-border-color);border-radius:var(--ff-outlet-border-radius);background:var(--ff-outlet-background-color);color:var(--ff-outlet-color);pointer-events:all}f-flow .f-node-outlet.f-node-outlet-disabled,f-flow .f-node-outlet.f-connector-disabled,f-flow .f-connector-outlet.f-node-outlet-disabled,f-flow .f-connector-outlet.f-connector-disabled,.f-flow .f-node-outlet.f-node-outlet-disabled,.f-flow .f-node-outlet.f-connector-disabled,.f-flow .f-connector-outlet.f-node-outlet-disabled,.f-flow .f-connector-outlet.f-connector-disabled{background:var(--ff-outlet-disabled-background-color);border-color:var(--ff-outlet-disabled-border-color);color:var(--ff-outlet-disabled-color)}f-flow .f-connection-content,.f-flow .f-connection-content{box-sizing:border-box;color:var(--ff-connection-content-color);font-size:var(--ff-connection-content-font-size);padding:var(--ff-connection-content-padding-y) var(--ff-connection-content-padding-x);background:var(--ff-connection-content-background-color);border:1px solid var(--ff-connection-content-border-color);border-radius:var(--ff-connection-content-border-radius)}f-flow .f-connection .f-connection-selection,.f-flow .f-connection .f-connection-selection{fill:none;stroke:transparent;stroke-width:var(--ff-connection-hit-width)}f-flow .f-connection .f-connection-path,.f-flow .f-connection .f-connection-path{fill:none;stroke:var(--ff-connection-color);stroke-width:var(--ff-connection-width)}f-flow .f-connection .f-connection-drag-handle,.f-flow .f-connection .f-connection-drag-handle{fill:transparent;stroke:transparent;cursor:move}f-flow .f-connection.f-snap-connection .f-connection-path,.f-flow .f-connection.f-snap-connection .f-connection-path{stroke:var(--ff-snap-connection-color);stroke-dasharray:8 4}f-flow .f-connection.f-selected .f-connection-content,.f-flow .f-connection.f-selected .f-connection-content{border-color:var(--ff-connection-content-border-color-selected)}f-flow .f-connection.f-selected .f-connection-path,.f-flow .f-connection.f-selected .f-connection-path{stroke:var(--ff-connection-selected-color)}f-flow:not(.f-dragging) .f-connection:not(.f-dragging):not(.f-selected):not(.f-connection-selection-disabled):hover .f-connection-selection,.f-flow:not(.f-dragging) .f-connection:not(.f-dragging):not(.f-selected):not(.f-connection-selection-disabled):hover .f-connection-selection{stroke:var(--ff-connection-hover-color)}f-flow .f-marker,f-flow .connection-marker,.f-flow .f-marker,.f-flow .connection-marker{color:var(--ff-marker-color)}f-flow .f-marker circle,f-flow .f-marker rect,f-flow .f-marker path,f-flow .f-marker polygon,f-flow .f-marker line,f-flow .connection-marker circle,f-flow .connection-marker rect,f-flow .connection-marker path,f-flow .connection-marker polygon,f-flow .connection-marker line,.f-flow .f-marker circle,.f-flow .f-marker rect,.f-flow .f-marker path,.f-flow .f-marker polygon,.f-flow .f-marker line,.f-flow .connection-marker circle,.f-flow .connection-marker rect,.f-flow .connection-marker path,.f-flow .connection-marker polygon,.f-flow .connection-marker line{fill:currentColor;stroke:currentColor}f-flow .f-connection.f-snap-connection .f-marker,f-flow .f-connection.f-snap-connection .connection-marker,.f-flow .f-connection.f-snap-connection .f-marker,.f-flow .f-connection.f-snap-connection .connection-marker{color:var(--ff-snap-connection-color)}f-flow .f-connection.f-selected .f-marker,f-flow .f-connection.f-selected .connection-marker,.f-flow .f-connection.f-selected .f-marker,.f-flow .f-connection.f-selected .connection-marker{color:var(--ff-connection-selected-color)}f-flow .f-connection .f-connection-waypoints .f-candidate,f-flow .f-connection .f-connection-waypoints .f-waypoint,.f-flow .f-connection .f-connection-waypoints .f-candidate,.f-flow .f-connection .f-connection-waypoints .f-waypoint{vector-effect:non-scaling-stroke;transform-box:fill-box;transform-origin:center;stroke-width:1.5}f-flow .f-connection .f-connection-waypoints .f-candidate:hover,f-flow .f-connection .f-connection-waypoints .f-waypoint:hover,.f-flow .f-connection .f-connection-waypoints .f-candidate:hover,.f-flow .f-connection .f-connection-waypoints .f-waypoint:hover{transform:scale(1.1)}f-flow .f-connection .f-connection-waypoints .f-candidate,.f-flow .f-connection .f-connection-waypoints .f-candidate{fill:var(--ff-waypoint-candidate-fill);stroke:var(--ff-waypoint-candidate-stroke)}f-flow .f-connection .f-connection-waypoints .f-waypoint,.f-flow .f-connection .f-connection-waypoints .f-waypoint{fill:var(--ff-waypoint-fill);stroke:var(--ff-waypoint-stroke);cursor:move}f-flow .f-connection .f-connection-drag-handle,.f-flow .f-connection .f-connection-drag-handle{fill:transparent;stroke:var(--ff-connection-drag-handle-stroke);stroke-width:1.5}.f-external-item{display:inline-flex;align-items:center;gap:8px;padding:12px 14px;box-sizing:border-box;color:var(--ff-external-item-color);background:var(--ff-external-item-background-color);border:1px solid var(--ff-external-item-border-color);border-radius:var(--ff-external-item-border-radius);box-shadow:var(--ff-external-item-shadow);cursor:grab;-webkit-user-select:none;user-select:none}.f-external-item.f-external-item-disabled{color:var(--ff-external-item-disabled-color);background:var(--ff-external-item-disabled-background-color);cursor:not-allowed}.f-external-item-preview{box-sizing:border-box;box-shadow:var(--ff-external-item-preview-shadow)}.f-external-item-placeholder{box-sizing:border-box;background:var(--ff-external-item-placeholder-background-color);border:1px dashed var(--ff-external-item-placeholder-border-color);border-radius:var(--ff-external-item-border-radius)}f-flow .f-background line,f-flow .f-background path,.f-flow .f-background line,.f-flow .f-background path{stroke:var(--ff-background-line-color)}f-flow .f-background circle,.f-flow .f-background circle{fill:var(--ff-background-dot-color)}f-flow .f-selection-area,.f-flow .f-selection-area{box-sizing:border-box;background:var(--ff-selection-area-color);border:1px solid var(--ff-selection-area-border-color)}f-flow .f-minimap,.f-flow .f-minimap{overflow:hidden;background:var(--ff-minimap-background-color);border:1px solid var(--ff-minimap-border-color);border-radius:var(--ff-minimap-border-radius);box-shadow:var(--ff-minimap-shadow);bottom:16px;right:16px;width:140px;height:120px}f-flow .f-minimap .f-minimap-node,f-flow .f-minimap .f-minimap-group,.f-flow .f-minimap .f-minimap-node,.f-flow .f-minimap .f-minimap-group{fill:var(--ff-minimap-node-color)}f-flow .f-minimap .f-minimap-node.f-selected,f-flow .f-minimap .f-minimap-group.f-selected,.f-flow .f-minimap .f-minimap-node.f-selected,.f-flow .f-minimap .f-minimap-group.f-selected{fill:var(--ff-minimap-node-selected-color)}f-flow .f-minimap .f-minimap-view,.f-flow .f-minimap .f-minimap-view{fill:var(--ff-minimap-view-color);stroke:var(--ff-minimap-view-border-color);stroke-width:1}f-flow .f-magnetic-lines .f-line,f-flow .f-line-alignment .f-line,.f-flow .f-magnetic-lines .f-line,.f-flow .f-line-alignment .f-line{background:var(--ff-magnetic-line-color)}f-flow .f-magnetic-rects .f-rect,.f-flow .f-magnetic-rects .f-rect{box-sizing:border-box;background:var(--ff-magnetic-rect-fill);border:1px solid var(--ff-magnetic-rect-border-color)}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url("./media/manrope-cyrillic-ext-wght-normal-2GMQGZDT.woff2") format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url("./media/manrope-cyrillic-wght-normal-F76KYTZG.woff2") format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url("./media/manrope-greek-wght-normal-NNUWM3E7.woff2") format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url("./media/manrope-vietnamese-wght-normal-HA5TFICD.woff2") format("woff2-variations");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:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url("./media/manrope-latin-ext-wght-normal-6XGHMEDV.woff2") format("woff2-variations");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:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url("./media/manrope-latin-wght-normal-73PUZEUA.woff2") format("woff2-variations");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}:root{--navy: #0f2d5b;--blue: #2563eb;--teal: #14b8a6;--coral: #f472b6;--bg: #f4f6f8;--muted: #65748b;--border: #e6ebf2;--pale: #edf3ff;--radius: 14px;font-family:Manrope Variable,sans-serif;color:var(--navy);background:#f8fafc;font-synthesis:none;color-scheme:light}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}a{color:var(--blue);text-decoration:none}button{color:inherit}h1,h2,h3,p{margin-top:0}h1{font-size:34px;letter-spacing:-1.2px;line-height:1.2;margin-bottom:12px;font-weight:800}h2{font-size:22px;letter-spacing:-.6px;margin-bottom:9px;font-weight:800}h3{font-size:17px;letter-spacing:-.3px;line-height:1.5}p{line-height:1.75}small{font-size:12px}.muted{color:var(--muted)}:focus-visible{outline:3px solid #2563eb;outline-offset:4px}.skip-link{position:fixed;top:-80px;left:20px;z-index:100;background:#fff;padding:14px}.skip-link:focus{top:10px}.app-shell{display:flex;min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:248px;background:#fff;border-right:1px solid var(--border);padding:28px 19px 18px;display:flex;flex-direction:column;z-index:30}.brand-link{display:block;color:var(--navy);margin-bottom:44px}.nav-caption{font-size:9px;letter-spacing:1.1px;font-weight:800;color:#79869b;margin:0 12px 15px}.sidebar nav{display:grid;gap:7px}.sidebar nav a,.nav-help{display:flex;align-items:center;gap:13px;border-radius:9px;padding:13px 15px;font-size:13px;font-weight:650;color:#536582}.sidebar nav a:hover,.nav-help:hover{background:#f6f8fc}.sidebar nav a.active{background:#edf3ff;color:var(--blue);box-shadow:inset 3px 0 var(--blue)}.create-nav{margin-top:26px}.sidebar-bottom{margin-top:auto;padding-top:65px}.sidebar-note{background:linear-gradient(135deg,#f0f5ff,#f8fbff);border:1px solid #e7eefa;border-radius:12px;padding:18px 16px}.mini-spark{display:flex;color:var(--blue);margin-bottom:13px}.sidebar-note strong{font-size:12px}.sidebar-note p{font-size:11px;margin:7px 0 15px;color:var(--muted)}.sidebar-note a{font-size:10px;font-weight:800;display:flex;align-items:center;gap:7px}.sidebar-note a app-icon{width:14px;height:14px}.nav-help{width:100%;border:0;background:none;margin-top:20px;font-size:11px}.sidebar-foot{border-top:1px solid var(--border);margin-top:13px;padding:19px 4px 0;font-size:9px;color:#7b879b;display:flex;justify-content:space-between}.sidebar-foot span{color:var(--teal)}.workspace{margin-left:248px;width:calc(100% - 248px);min-width:0;display:flex;flex-direction:column}.topbar{height:83px;background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:24px;padding:0 42px}.global-search{display:flex;align-items:center;gap:12px;max-width:465px;flex:1;color:#8996ac}.global-search input{border:0;background:none;width:100%;font-size:12px;padding:13px 0;outline-offset:2px}.search-submit{border:0;background:none;color:#8896ac;padding:9px;display:flex}.account-actions{display:flex;gap:19px;align-items:center;font-size:12px;font-weight:700}.account{display:flex;align-items:center;gap:9px;color:var(--navy)}.login-link{color:#435673}.avatar{width:36px;height:36px;border-radius:50%;background:#e6edff;color:#2455b4;display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:13px;flex-shrink:0}.avatar.small{width:24px;height:24px;font-size:10px}.avatar.large{width:76px;height:76px;font-size:28px}main{flex:1;outline:none}.page{max-width:1420px;margin:0 auto;padding:36px 42px 48px}.page-footer{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--border);margin:0 42px;padding:24px 0;font-size:10px;color:#7d889b}.button{border:1px solid transparent;border-radius:8px;padding:12px 18px;display:inline-flex;align-items:center;justify-content:center;gap:9px;font-size:12px;font-weight:750;line-height:1.5;min-height:43px;transition:background .15s,box-shadow .15s}.button.primary{color:#fff;background:var(--blue);box-shadow:0 4px 9px #2563eb16}.button.primary:hover{background:#1d4ed8;box-shadow:0 5px 15px #2563eb25}.button.secondary{background:#fff;border-color:#dce4f0;color:var(--navy)}.button.secondary:hover{background:#f3f6fb}.button.subtle{background:#f2f5fa;color:#526482}.button.danger{color:#b4233b;background:#fff0f2;border-color:#ffd3da}.button.small-button{padding:9px 14px;min-height:38px;font-size:11px}.button app-icon{width:17px;height:17px}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:8px;border:1px solid transparent;background:transparent;border-radius:8px;color:#60728d}.icon-button:hover{background:#edf3ff;color:var(--blue)}.text-button{border:0;background:none;color:var(--blue);font-size:12px;text-decoration:underline}.full-width{width:100%}.text-link{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:750}.eyebrow{font-size:9px;font-weight:800;letter-spacing:1.7px;color:#6780a3;display:flex;align-items:center;gap:8px;margin-bottom:14px}.live-dot{width:6px;height:6px;background:var(--teal);border-radius:50%}.explore-hero{position:relative;display:flex;justify-content:space-between;overflow:hidden;background:linear-gradient(110deg,#eef4ff,#eff7ff 65%,#eefaf9);border:1px solid #e2ecfa;border-radius:16px;padding:37px 35px;margin-bottom:35px;min-height:300px}.hero-copy{position:relative;z-index:2;flex-shrink:0;min-width:0;max-width:100%}.hero-copy h1{font-size:39px;line-height:1.23;letter-spacing:-1.7px;margin:16px 0}.hero-copy h1 span{color:var(--blue)}.hero-copy p{font-size:14px;color:#5e7393;line-height:1.85;margin-bottom:24px}.hero-footnote{display:block;margin-top:13px;font-size:9px;color:#7c8da7}.hero-illustration{position:relative;width:390px;align-self:center;height:260px;flex-shrink:1;min-width:270px;margin-left:10px}.hero-illustration>svg{position:absolute;width:100%;height:100%}.orbit{position:absolute;border:1px solid #d9e6f4;border-radius:50%;width:320px;height:320px;left:42px;top:-28px}.orbit-two{width:230px;height:230px;left:85px;top:16px}.hero-node{position:absolute;background:#ffffffed;border:1px solid #e3ebf6;box-shadow:0 8px 24px #0f2d5b0d;border-radius:12px;display:flex;align-items:center;padding:13px;gap:10px}.hero-node small{font-size:7px;letter-spacing:1px;color:#7d8aa1;display:block;margin-bottom:4px}.hero-node strong{font-size:12px}.node-start{width:191px;left:25%;top:32px;transform:rotate(-3deg)}.node-learn{width:144px;left:1%;top:169px;transform:rotate(-5deg);padding-bottom:24px}.node-create{width:137px;right:0;top:167px;transform:rotate(5deg);padding-bottom:24px}.tile{width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;border-radius:9px;flex-shrink:0}.tile.teal{background:#d1f5ef;color:#087b71}.tile.blue{background:#e6eeff;color:var(--blue)}.tile.coral{background:#ffe3ee;color:#bd376b}.tiny-progress{position:absolute;bottom:12px;left:60px;width:58px;height:4px;background:linear-gradient(90deg,#14b8a6 65%,#edf2f7 65%);border-radius:4px}.node-create .tiny-progress{background:linear-gradient(90deg,#f472b6 30%,#edf2f7 30%)}.node-status{position:absolute;width:6px;height:6px;border-radius:50%;background:var(--teal);right:12px;top:12px}.floating-dot{width:13px;height:13px;border-radius:50%;position:absolute}.dot-teal{background:var(--teal);right:17px;top:58px}.dot-coral{background:var(--coral);left:12px;top:94px;width:9px;height:9px}.floating-plus{position:absolute;color:#8cabeb;font-size:25px;right:50px;bottom:0}.section-heading,.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}.section-heading h2{font-size:20px}.section-heading p,.page-heading p{color:var(--muted);font-size:12px;margin-bottom:0}.section-heading .eyebrow{margin-bottom:8px}.category-list{display:grid;grid-template-columns:repeat(6,1fr);gap:11px;margin-bottom:29px}.category-list button{background:#fff;border:1px solid var(--border);border-radius:10px;min-height:82px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:9px;font-size:10px;color:#65738d;padding:12px 5px;transition:border-color .15s}.category-list button:hover{border-color:#afc6fb}.category-list button.selected{border-color:#bdd0fa;background:#edf3ff;color:var(--blue);font-weight:800}.category-icon{display:inline-flex}.category-icon.blue{color:var(--blue)}.category-icon.teal{color:#009d91}.category-icon.amber{color:#b97b18}.category-icon.violet{color:#8950e5}.category-icon.coral{color:#d34c87}.results-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--border);margin-bottom:23px}.tabs{display:flex;gap:23px;overflow:auto}.tabs button{white-space:nowrap;border:0;border-bottom:2px solid transparent;background:none;padding:15px 0;font-size:12px;color:#78869d;font-weight:650}.tabs button.active{color:var(--blue);border-color:var(--blue)}.inline-search{display:flex;align-items:center;gap:8px;color:#94a0b1}.inline-search input{border:0!important;padding:10px 0!important;background:none!important;box-shadow:none!important;width:180px;font-size:10px!important;min-width:0}.inline-search app-icon{width:15px;height:15px}.community-empty{display:flex;align-items:center;gap:14px;padding:18px 20px;border:1px dashed #d6e1f0;border-radius:10px;background:#fff;margin-bottom:34px}.community-empty>app-icon{color:var(--blue);width:28px;height:28px}.community-empty strong{display:block;font-size:12px;margin-bottom:4px}.community-empty span{font-size:11px;color:var(--muted)}.community-empty .text-link{margin-left:auto;white-space:nowrap;font-size:10px}.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.roadmap-card{display:block;border:1px solid #e3eaf3;border-radius:12px;overflow:hidden;background:#fff;color:var(--navy);transition:box-shadow .2s,transform .2s;height:100%}.roadmap-card:hover{box-shadow:0 8px 25px #0f2d5b0e;transform:translateY(-3px)}.card-art{height:146px;position:relative;overflow:hidden;background:#1043c4;color:#fff}.card-art>app-icon{position:absolute;right:25px;top:29px;width:52px;height:52px;opacity:.9;transform:rotate(-8deg);stroke-width:1px}.art-circle{position:absolute;left:-35px;top:-76px;width:210px;height:210px;border:37px solid #4782ff;border-radius:50%;opacity:.8}.art-line{position:absolute;left:120px;top:0;width:57px;height:210px;background:#0b2c7d;transform:rotate(40deg)}.art-diamond{position:absolute;right:17px;bottom:-80px;width:144px;height:144px;background:#2563eb;transform:rotate(40deg);border-radius:17px}.art-label{position:absolute;bottom:14px;left:17px;background:#fffffff0;color:var(--navy);padding:4px 9px;border-radius:5px;font-size:8px;font-weight:800;letter-spacing:.1px}.teal.card-art{background:#0baba7}.teal .art-circle{border-color:#6cddd0;left:auto;right:-75px;top:-62px}.teal .art-line{background:#079b9a;left:45px;width:80px}.teal .art-diamond{background:#40c5b5;left:-26px;bottom:-100px;width:220px;height:180px}.coral.card-art{background:#f47b9e}.coral .art-circle{border-color:#ffb7c6;left:-20px;top:-90px}.coral .art-line{background:#e94e84;left:100px;width:100px}.coral .art-diamond{background:#d9467b}.violet.card-art{background:#7657cf}.violet .art-circle{border-color:#ac91ed}.violet .art-line{background:#583bab}.violet .art-diamond{background:#9374de}.amber.card-art{background:#d4983e}.amber .art-circle{border-color:#efd4a1}.amber .art-line{background:#b9772f}.amber .art-diamond{background:#efb75a}.mint.card-art{background:#378477}.mint .art-circle{border-color:#8dcbac}.mint .art-line{background:#246658}.mint .art-diamond{background:#5da38b}.card-body{padding:19px 18px 0}.card-body h3{font-size:16px;line-height:1.5;margin-bottom:9px;min-height:42px}.card-body>p{font-size:12px;color:#75849b;line-height:1.75;min-height:52px;margin-bottom:16px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.card-author{display:flex;gap:8px;align-items:center;font-size:11px;color:#697b96;margin-bottom:17px}.card-footer{border-top:1px solid #eef1f7;padding:13px 0;display:flex;justify-content:space-between;color:#61728c;font-size:11px}.card-footer span{display:flex;align-items:center;gap:5px}.card-footer app-icon{width:13px;height:13px}.card-footer .link-text{color:var(--blue);font-weight:750}.soft-badge{background:#edf2fa;color:#6f809c;padding:6px 10px;border-radius:20px;font-size:10px}.bottom-banner{display:flex;align-items:center;gap:19px;border:1px solid #e0eaf6;background:#f0f5fc;border-radius:13px;padding:24px;margin-top:35px}.banner-icon{color:var(--blue);background:#e0eafe;border:1px solid #d4e1fc;width:49px;height:49px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.bottom-banner h2{font-size:14px;letter-spacing:-.2px;margin-bottom:6px}.bottom-banner p{font-size:10px;color:#75859e;margin:0}.bottom-banner .button{margin-left:auto;white-space:nowrap;font-size:10px;padding:10px 13px}.loading-state,.empty-state{padding:65px 24px;text-align:center;color:var(--muted);grid-column:1/-1}.loading-state{display:flex;align-items:center;justify-content:center;gap:12px;font-size:13px}.empty-state h2{margin-top:15px;color:var(--navy)}.empty-state p{font-size:13px}.empty-symbol{display:inline-flex;align-items:center;justify-content:center;width:65px;height:65px;background:var(--pale);color:var(--blue);border-radius:18px}.empty-symbol app-icon{width:30px;height:30px}.spinner{width:20px;height:20px;border:2px solid #dce6fc;border-top-color:var(--blue);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error-panel,.error{background:#fff0f2;border:1px solid #f4c6cf;color:#a0223d;border-radius:9px;padding:14px;font-size:12px;line-height:1.6}.error-panel{margin:24px 0}.success{color:#087868;background:#e9faf4;border:1px solid #a2e7d2;padding:13px;border-radius:8px;font-size:12px}.pagination{display:flex;align-items:center;justify-content:center;gap:20px;margin:25px 0;font-size:12px}.search-summary{font-size:12px}.page-heading{margin-bottom:30px}.page-heading h1{font-size:30px}form label,.field-label{display:grid;gap:8px;font-size:12px;font-weight:700;margin-bottom:18px}input,textarea,select{border:1px solid #dce4ef;border-radius:7px;padding:12px 13px;font-size:12px;color:var(--navy);background:#fff;width:100%;line-height:1.5}input::placeholder,textarea::placeholder{color:#8b98ad}textarea{resize:vertical}input[type=checkbox]{width:17px;height:17px;accent-color:var(--blue)}input[type=color]{height:42px;padding:5px}.field-error{font-size:11px;color:#ab2140;margin:6px 0}.hint{display:flex;gap:7px;align-items:center;font-size:10px;color:var(--muted);line-height:1.7}dialog{border:1px solid var(--border);border-radius:17px;padding:28px;width:min(470px,100% - 32px);max-height:calc(100dvh - 40px);overflow:auto;color:var(--navy);box-shadow:0 24px 90px #0f2d5b30}dialog::backdrop{background:#0c244f66;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.dialog-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;gap:20px}.dialog-heading h2{margin:0;font-size:21px}.dialog-heading .eyebrow{margin:0}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}dialog>p{font-size:12px}.toast{position:fixed;bottom:22px;left:50%;transform:translate(-50%);background:var(--navy);color:#fff;box-shadow:0 8px 30px #0f2d5b33;padding:12px 14px 12px 20px;border-radius:12px;display:flex;align-items:center;gap:13px;z-index:90;font-size:12px;max-width:calc(100% - 30px)}.toast .icon-button{color:#fff}.tour-icon{background:var(--pale);color:var(--blue);width:64px;height:64px;display:flex;align-items:center;justify-content:center;border-radius:16px;margin:24px 0}.tour-icon app-icon{width:30px;height:30px}app-tour .muted{font-size:11px}app-tour h2{margin-top:10px}app-tour p{font-size:13px}.tour-dots{display:flex;justify-content:center;gap:6px;margin-top:24px}.tour-dots span{width:6px;height:6px;border-radius:50%;background:#dfe6f3}.tour-dots span.current{background:var(--blue)}.auth-layout{max-width:1180px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:55px;padding:65px 42px;align-items:center;min-height:75vh}.auth-story h1{font-size:42px;line-height:1.3;margin:25px 0}.auth-story h1 span{color:var(--blue)}.auth-story p{font-size:13px;color:var(--muted)}.auth-path{display:flex;align-items:center;margin-top:45px;max-width:300px}.auth-path span{border:1px solid #d9e6f7;background:#fff;width:60px;height:60px;border-radius:15px;display:flex;align-items:center;justify-content:center;color:var(--blue)}.auth-path i{flex:1;border-top:2px dashed #bbceea}.auth-card{background:#fff;border:1px solid var(--border);padding:35px;border-radius:18px;box-shadow:0 10px 40px #0f2d5b05}.auth-card h2{margin-top:22px;font-size:23px}.auth-card>p{font-size:12px;margin-bottom:25px}.auth-card form>.button{margin-top:17px}.auth-alternative{border-top:1px solid var(--border);padding-top:23px;margin-top:25px!important;font-size:11px!important}.auth-alternative a{font-weight:800}.resend-form{border-top:1px solid var(--border);margin-top:25px;padding-top:22px;margin-bottom:24px}.mobile-toggle,.mobile-close{display:none}.f-connection-path{stroke:#7c91b8!important;stroke-width:2!important}.graph-surface{background-color:#fbfdff;background-image:radial-gradient(#d8e1ef 1px,transparent 1px);background-size:18px 18px;position:relative;border:1px solid var(--border);border-radius:12px;overflow:hidden}.graph-surface f-flow{height:520px;display:block}.graph-node{width:192px;min-height:84px;background:#fff;border:1px solid #dce6f5;border-radius:11px;padding:14px;box-shadow:0 4px 15px #0f2d5b09;display:flex;gap:12px;align-items:center;color:var(--navy);text-align:left}.graph-node.selected{border-color:var(--blue);box-shadow:0 0 0 3px #2563eb16}.graph-node strong{font-size:12px;display:block}.graph-node small{font-size:9px;color:var(--muted);display:block;margin-top:5px}.graph-node .node-type{width:35px;height:35px;border-radius:8px;display:flex;align-items:center;justify-content:center;background:var(--pale);color:var(--blue);border-bottom:3px solid var(--node-color);flex-shrink:0}.connector{width:12px;height:12px;border:2px solid white;background:#7d93b9;border-radius:50%;position:absolute;left:calc(50% - 6px)}.connector.in{top:-7px}.connector.out{bottom:-7px;background:var(--blue)}.graph-controls{position:absolute;bottom:15px;left:15px;background:#fff;border:1px solid var(--border);display:flex;gap:3px;padding:4px;border-radius:9px;z-index:5}.graph-caption{position:absolute;bottom:22px;right:16px;font-size:9px;color:var(--muted);pointer-events:none}.detail-cover{height:150px;margin-bottom:28px;border-radius:13px;overflow:hidden}.detail-cover.card-art>app-icon{width:80px;height:80px;right:60px;top:33px}.detail-title{display:flex;gap:25px;justify-content:space-between;align-items:flex-start}.detail-title h1{font-size:29px}.detail-description{color:var(--muted);font-size:13px;max-width:760px;white-space:pre-wrap}.tags{display:flex;gap:7px;flex-wrap:wrap;margin:18px 0}.tag{background:var(--pale);color:#315998;font-size:10px;padding:5px 9px;border-radius:15px}.detail-author{display:flex;align-items:center;gap:10px;font-size:12px;margin:20px 0}.detail-actions{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0}.detail-grid{display:grid;grid-template-columns:1fr 280px;gap:23px}.panel{background:#fff;border:1px solid var(--border);border-radius:12px;padding:23px}.panel h2{font-size:17px}.panel p{font-size:12px;color:var(--muted)}.progress-track{height:7px;background:#eaf0f7;border-radius:20px;overflow:hidden;margin:15px 0}.progress-track span{display:block;height:100%;background:var(--teal);border-radius:20px}.progress-number{font-size:34px;font-weight:800;letter-spacing:-1px;color:var(--blue)}.node-list{display:grid;gap:10px;margin-top:20px}.study-row{border:1px solid var(--border);border-radius:10px;padding:15px;display:flex;align-items:flex-start;gap:13px;background:#fff}.study-row>div{flex:1;min-width:0}.study-row h3{font-size:13px;margin-bottom:5px}.study-row p{font-size:11px;color:var(--muted);margin:0;white-space:pre-wrap}.study-row select{width:150px;font-size:10px;padding:9px}.study-row .step-number{background:var(--pale);color:var(--blue);border-radius:8px;min-width:28px;height:28px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800}.resource-list{padding:0;list-style:none;font-size:11px;display:grid;gap:7px}.comment{padding:18px 0;border-top:1px solid var(--border)}.comment-top{display:flex;align-items:center;gap:9px;font-size:11px}.comment-top .muted{margin-left:auto;font-size:9px}.comment p{white-space:pre-wrap;font-size:12px;margin:12px 0 0}.comment.reply{margin-left:30px}.editor-heading{padding:20px 28px;background:#fff;border-bottom:1px solid var(--border);display:flex;gap:16px;align-items:center}.editor-heading h1{font-size:17px;letter-spacing:-.3px;margin:0}.editor-heading p{font-size:10px;margin:5px 0 0;color:var(--muted)}.editor-actions{margin-left:auto;display:flex;gap:8px}.editor-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:0;min-height:700px}.editor-main{padding:20px;min-width:0}.editor-main .graph-surface f-flow{height:550px}.editor-toolbar{display:flex;gap:7px;align-items:center;margin-bottom:15px;flex-wrap:wrap}.editor-inspector{background:#fff;border-left:1px solid var(--border);padding:22px;max-height:calc(100vh - 170px);overflow:auto}.editor-inspector h2{font-size:17px}.editor-inspector label{font-size:11px;margin-bottom:15px}.editor-inspector input,.editor-inspector textarea,.editor-inspector select{font-size:11px;padding:10px}.editor-inspector .checkbox-label{display:flex;align-items:center;gap:8px}.editor-inspector details{border-top:1px solid var(--border);margin-top:25px;padding-top:20px}.editor-inspector summary{font-size:12px;font-weight:800;cursor:pointer;margin-bottom:17px}.editor-help{font-size:10px;color:var(--muted);margin-top:14px}.compact-list{list-style:none;padding:0;display:grid;gap:6px}.compact-list li{display:flex;align-items:center;gap:9px;font-size:11px;background:#f6f8fc;padding:7px;border-radius:7px}.compact-list li span{flex:1;overflow-wrap:anywhere}.editor-node-choices{display:flex;gap:7px;flex-wrap:wrap;margin-top:16px}.editor-node-choices button{border:1px solid var(--border);border-radius:7px;padding:8px 10px;background:#fff;font-size:10px}.editor-node-choices button.active{color:var(--blue);border-color:var(--blue)}.two-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}.people-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.person-card{text-align:center}.person-card h2{margin-top:17px;font-size:17px}.person-card p{min-height:40px;font-size:12px}.person-stats{display:flex;justify-content:center;gap:15px;font-size:10px;color:var(--muted);margin:18px 0}.person-stats strong{color:var(--navy)}.profile-layout{display:grid;grid-template-columns:280px 1fr;gap:26px}.profile-summary{text-align:center;height:fit-content}.profile-summary h1{font-size:22px;margin-top:20px}.profile-summary p{font-size:12px}.checkbox-label{display:flex;align-items:center;gap:8px}.member-row{display:flex;align-items:center;gap:9px;border-bottom:1px solid var(--border);padding:10px 0;font-size:11px}.member-row>span:first-child{flex:1}.wide-dialog{width:min(600px,100% - 32px)}.member-search-results{max-height:200px;overflow:auto}.member-search-results button{width:100%;background:#f5f8fc;border:0;border-radius:8px;display:flex;justify-content:space-between;padding:13px;margin:5px 0;font-size:12px}@media(min-width:1500px){.explore-hero{padding:45px 50px}.hero-illustration{margin-right:40px}.card-art{height:175px}.card-body h3{font-size:16px}.card-body>p{font-size:12px}.card-author,.card-footer{font-size:10px}.hero-copy h1{font-size:46px}.hero-copy p{font-size:14px}}@media(max-width:1200px){.sidebar{width:220px;padding-inline:15px}.brand-link app-brand{font-size:18px}.workspace{margin-left:220px;width:calc(100% - 220px)}.topbar{padding:0 25px}.page{padding:28px 25px}.explore-hero{padding:30px 25px}.hero-copy h1{font-size:33px}.hero-illustration{min-width:240px;transform:scale(.9);transform-origin:right center}.hero-copy p{font-size:11px}.card-grid{gap:15px}.category-list{gap:7px}.category-list button{font-size:9px}.bottom-banner{flex-wrap:wrap}.bottom-banner .button{margin-left:68px}.detail-grid{grid-template-columns:1fr}.detail-grid>.panel{grid-row:1}.auth-layout{gap:25px;padding:40px 25px}.auth-story h1{font-size:32px}.auth-card{padding:25px}.people-grid{grid-template-columns:repeat(2,1fr)}.editor-layout{grid-template-columns:minmax(0,1fr) 260px}.editor-heading{flex-wrap:wrap}.editor-actions{margin-left:auto}}@media(max-width:950px){.sidebar{width:190px}.workspace{margin-left:190px;width:calc(100% - 190px)}.sidebar app-brand{font-size:16px}.sidebar app-brand img{width:32px;height:32px}.nav-caption{font-size:8px}.sidebar nav a{font-size:11px}.hero-illustration{display:none}.explore-hero{min-height:280px}.hero-copy h1{font-size:38px}.category-list{grid-template-columns:repeat(3,1fr)}.category-list button{min-height:68px}.card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.account-actions{gap:10px}.account-actions .small-button{font-size:10px;padding:9px}.account-actions .small-button app-icon{display:none}.topbar{gap:12px}.global-search input{font-size:10px}.community-empty{flex-wrap:wrap}.community-empty .text-link{margin-left:42px}.auth-layout{grid-template-columns:1fr;max-width:500px}.auth-story{display:none}.editor-layout{grid-template-columns:1fr}.editor-inspector{border-left:0;border-top:1px solid var(--border);max-height:none;display:block}.editor-inspector form{max-width:600px}.profile-layout{grid-template-columns:1fr}.profile-summary{display:block}.detail-title{flex-wrap:wrap}.page-heading{align-items:flex-start;flex-wrap:wrap}.page-heading h1{font-size:27px}}@media(max-width:700px){.sidebar{display:none;width:260px;box-shadow:10px 0 50px #0f2d5b22}.sidebar.mobile-open{display:flex}.sidebar app-brand{font-size:21px}.sidebar app-brand img{width:42px;height:42px}.sidebar nav a{font-size:13px}.sidebar-bottom{padding-top:30px}.mobile-close{display:flex;position:absolute;right:10px;top:79px}.mobile-toggle{display:flex}.workspace{margin-left:0;width:100%}.topbar{height:69px;padding:0 16px;gap:8px}.global-search{gap:5px}.global-search>app-icon{display:none}.global-search input{font-size:10px}.search-submit{display:none}.account-actions .login-link{font-size:10px}.account-actions .small-button{display:none}.account>span:not(.avatar){display:none}.page{padding:23px 18px 35px}.explore-hero{padding:28px 24px;min-height:300px;margin-bottom:28px}.hero-copy h1{font-size:36px}.hero-copy p{font-size:11px}.hero-copy .eyebrow{font-size:8px}.section-heading h2{font-size:18px}.section-heading p{font-size:11px}.results-toolbar{gap:10px;flex-wrap:wrap}.tabs{gap:20px}.tabs button{font-size:11px}.inline-search{margin-bottom:8px}.category-list{gap:8px}.category-list button{font-size:9px}.card-grid{gap:13px}.card-body{padding:14px 12px 0}.card-body h3{font-size:12px;min-height:37px}.card-body>p{font-size:12px;min-height:53px}.card-art{height:117px}.card-art>app-icon{width:40px;height:40px;right:16px;top:23px}.art-label{font-size:7px;left:12px;bottom:12px}.card-author{font-size:8px;gap:5px}.card-footer{font-size:8px;gap:4px}.card-footer .link-text app-icon{display:none}.art-circle{width:175px;height:175px}.bottom-banner{padding:20px;gap:13px}.bottom-banner>div{flex:1;min-width:200px}.bottom-banner h2{font-size:14px;line-height:1.5}.bottom-banner .button{margin-left:0}.page-footer{margin:0 18px;font-size:9px;padding:20px 0}.page-footer span:last-child{display:none}.community-empty{padding:15px}.community-empty strong{font-size:11px}.community-empty span{font-size:10px}.community-empty>div{flex:1}.section-heading .soft-badge{font-size:9px;white-space:nowrap}.study-row{flex-wrap:wrap}.study-row select{margin-left:41px}.detail-title h1{font-size:25px}.editor-heading{padding:18px}.editor-actions{flex-wrap:wrap;margin-left:0;width:100%}.editor-actions .button{font-size:10px;padding:9px 11px}.editor-main{padding:15px}.editor-main .graph-surface f-flow{height:420px}.graph-caption{display:none}.people-grid{grid-template-columns:1fr}.auth-layout{padding:25px 18px}.auth-card{padding:26px 22px}.detail-actions .button{font-size:10px}.profile-layout{gap:18px}}@media(max-width:380px){.card-grid{grid-template-columns:1fr}.card-art{height:160px}.card-body h3{min-height:0;font-size:15px}.card-body>p{min-height:0;font-size:11px}.card-author,.card-footer{font-size:10px}.hero-copy h1{font-size:31px}.desktop-break{display:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition:none!important;scroll-behavior:auto!important}.roadmap-card:hover{transform:none}}
