/* Generated from themes/default-provider.js provider tokens. */
:root {
  --sn-theme-hue: 218;
  --sn-theme-chroma: 89%;
  --sn-theme-bg-lightness: 10%;
  --sn-theme-surface-lightness: 13%;
  --sn-theme-text-lightness: 94%;
  --sn-theme-outline-strength: 0.38;
  --sn-theme-type-scale: 1;
  --sn-theme-heading-scale: 1;
  --sn-theme-density: 1;
  --sn-theme-spacing-scale: var(--sn-theme-density);
  --sn-theme-radius-scale: 1;
  --sn-theme-pattern-brightness: 0.60;
  --sn-theme-motion-scale: 1;
  --sn-motion-enabled: 1;
  --sn-animation-play-state: running;
  --sn-animation-duration-scale: 1;
  --sn-animation-duration-fast: calc(600ms * var(--sn-animation-duration-scale));
  --sn-animation-duration-normal: calc(1000ms * var(--sn-animation-duration-scale));
  --sn-animation-duration-slow: calc(1500ms * var(--sn-animation-duration-scale));
  --sn-animation-duration-slower: calc(2000ms * var(--sn-animation-duration-scale));
  --sn-transition-easing: ease;
  --sn-theme-elevation-scale: 1;
  --sn-transition-fast: calc(120ms * var(--sn-theme-motion-scale));
  --sn-transition-normal: calc(240ms * var(--sn-theme-motion-scale));
  --sn-transition-slow: calc(400ms * var(--sn-theme-motion-scale));
  --sn-hue-base: 0;
  --sn-hue-accent: var(--sn-theme-hue);
  --sn-hue-success: 122;
  --sn-hue-warning: 36;
  --sn-hue-danger: 4;
  --sn-hue-data: 188;
  --sn-sat: 0%;
  --sn-sat-vivid: var(--sn-theme-chroma);
  --sn-sat-muted: 0%;
  --sn-lit-bg: var(--sn-theme-bg-lightness);
  --sn-lit-surface: var(--sn-theme-surface-lightness);
  --sn-lit-border: 17%;
  --sn-lit-hover: 27%;
  --sn-lit-text: var(--sn-theme-text-lightness);
  --sn-lit-text-dim: 60%;
  --sn-lit-accent: 63%;
  --sn-alpha-overlay: 0.95;
  --sn-alpha-subtle: 0.15;
  --sn-alpha-faint: 0.06;
  --sn-overlay-z-base: 20000;
  --sn-danger-color: hsl(var(--sn-hue-danger) var(--sn-sat-vivid) 58%);
  --sn-success-color: hsl(var(--sn-hue-success) var(--sn-sat-vivid) 57%);
  --sn-warning-color: hsl(var(--sn-hue-warning) var(--sn-sat-vivid) 58%);
  --sn-status-ok-bg: color-mix(in srgb, var(--sn-success-color) 12%, transparent);
  --sn-status-error-bg: color-mix(in srgb, var(--sn-danger-color) 12%, transparent);
  --sn-engine-idle-color: var(--sn-text-dim);
  --sn-engine-running-color: var(--sn-node-selected);
  --sn-engine-success-color: var(--sn-success-color);
  --sn-engine-error-color: var(--sn-danger-color);
  --sn-engine-state-color: var(--sn-engine-idle-color);
  --sn-engine-state-bg: var(--sn-node-bg);
  --sn-engine-state-border: var(--sn-node-border);
  --sn-bg: hsl(0 0% var(--sn-lit-bg));
  --sn-panel-bg: hsl(0 0% var(--sn-lit-surface));
  --sn-layout-bg: var(--sn-bg);
  --sn-layout-gap-bg: transparent;
  --sn-layout-border: transparent;
  --sn-layout-resizer-bg: transparent;
  --sn-layout-resizer-hover-bg: hsl(var(--sn-hue-base) var(--sn-sat-muted) var(--sn-lit-text) / 0.08);
  --sn-layout-resizer-size: 6px;
  --sn-panel-menu-z: var(--sn-overlay-z-base);
  --sn-portal-bridge-z: 12;
  --sn-portal-bridge-stroke: var(--sn-node-selected);
  --sn-portal-bridge-width: 2;
  --sn-portal-bridge-dash: 7 7;
  --sn-portal-bridge-dot: var(--sn-node-selected);
  --sn-portal-bridge-grid: 20;
  --sn-portal-bridge-stub: 36;
  --sn-portal-bridge-clearance: 28;
  --sn-portal-bridge-chamfer: 8;
  --sn-xr-panel-bg: var(--sn-panel-bg);
  --sn-xr-panel-border: var(--sn-node-border);
  --sn-xr-panel-radius: var(--sn-node-radius);
  --sn-xr-panel-shadow: var(--sn-node-shadow);
  --sn-xr-pointer-color: var(--sn-node-selected);
  --sn-bg-overlay: hsl(var(--sn-hue-base) var(--sn-sat-muted) 0% / 0.45);
  --sn-grid-dot: hsl(var(--sn-hue-base) var(--sn-sat-muted) var(--sn-lit-text) / 0.06);
  --sn-grid-size: 20px;
  --sn-cell-bg: var(--sn-bg);
  --sn-cell-dot: hsl(var(--sn-hue-base) var(--sn-sat-muted) 31%);
  --sn-cell-base-alpha: 0.033;
  --sn-cell-alpha-span: 0.133;
  --sn-cell-glare: hsl(var(--sn-hue-base) var(--sn-sat-muted) var(--sn-lit-text) / 0.019);
  --sn-cell-vignette-mid: hsl(var(--sn-hue-base) var(--sn-sat-muted) var(--sn-lit-bg) / 0.7);
  --sn-cell-vignette-edge: var(--sn-bg);
  --sn-cell-noise: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.5' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.030'/%3E%3C/svg%3E");
  --sn-node-bg: var(--sn-panel-bg);
  --sn-node-border: hsl(var(--sn-hue-base) var(--sn-sat-muted) var(--sn-lit-text) / 0.1);
  --sn-surface: var(--sn-node-bg);
  --sn-border: var(--sn-node-border);
  --sn-node-min-width: 180px;
  --sn-node-max-width: 280px;
  --sn-node-border-width: 2px;
  --sn-node-font-size: 13px;
  --sn-node-items-max-height: 420px;
  --sn-node-callout-z: var(--sn-overlay-z-base);
  --sn-node-callout-bg: color-mix(in srgb, var(--sn-node-bg) 94%, var(--sn-node-selected) 6%);
  --sn-node-callout-border: color-mix(in srgb, var(--sn-node-selected) 28%, var(--sn-node-border));
  --sn-node-callout-color: var(--sn-text);
  --sn-node-callout-shadow: var(--sn-shadow-lg);
  --sn-node-callout-radius: calc(8px * var(--sn-theme-radius-scale));
  --sn-node-callout-padding: 10px 12px;
  --sn-node-callout-max-width: 520px;
  --sn-node-callout-offset: 14px;
  --sn-node-callout-font-size: 12px;
  --sn-node-callout-font-weight: 700;
  --sn-node-callout-line-height: 1.35;
  --sn-node-callout-arrow-size: 10px;
  --sn-node-error-frame-offset: 10px;
  --sn-node-error-frame-min-width: 140px;
  --sn-node-error-frame-max-width: 320px;
  --sn-node-error-frame-border-width: 2px;
  --sn-node-error-frame-radius: calc(12px * var(--sn-theme-radius-scale));
  --sn-node-radius: calc(6px * var(--sn-theme-radius-scale));
  --sn-node-shadow: 0 2px calc(8px * var(--sn-theme-elevation-scale)) hsl(var(--sn-hue-base) var(--sn-sat-muted) 0% / 0.4);
  --sn-node-active-border: color-mix(in srgb, var(--sn-node-selected) 50%, transparent);
  --sn-shadow-color: hsl(var(--sn-hue-base) var(--sn-sat-muted) 0% / 0.4);
  --sn-shadow-sm: 0 1px calc(4px * var(--sn-theme-elevation-scale)) hsl(var(--sn-hue-base) var(--sn-sat-muted) 0% / 0.22);
  --sn-shadow-md: 0 2px calc(8px * var(--sn-theme-elevation-scale)) hsl(var(--sn-hue-base) var(--sn-sat-muted) 0% / 0.28);
  --sn-shadow-lg: 0 6px calc(18px * var(--sn-theme-elevation-scale)) hsl(var(--sn-hue-base) var(--sn-sat-muted) 0% / 0.28);
  --sn-shadow-xl: 0 -8px calc(28px * var(--sn-theme-elevation-scale)) hsl(var(--sn-hue-base) var(--sn-sat-muted) 0% / 0.32);
  --sn-node-header-bg: var(--sn-panel-bg);
  --sn-node-selected: hsl(var(--sn-hue-accent) var(--sn-sat-vivid) var(--sn-lit-accent));
  --sn-node-accent: var(--sn-node-selected);
  --sn-node-hover: hsl(var(--sn-hue-base) var(--sn-sat-muted) var(--sn-lit-hover));
  --sn-font: var(--font-sans, 'Inter', -apple-system, BlinkMacSystemFont, sans-serif);
  --sn-font-mono: var(--font-mono, 'JetBrains Mono', 'Fira Code', monospace);
  --sn-font-ui: var(--sn-font);
  --sn-font-family: var(--sn-font);
  --sn-icon-font: 'Material Symbols Outlined';
  --sn-text: var(--color-foreground, hsl(var(--sn-hue-base) var(--sn-sat-muted) var(--sn-lit-text)));
  --sn-text-dim: hsl(var(--sn-hue-base) var(--sn-sat-muted) var(--sn-lit-text-dim));
  --sn-socket-size: 12px;
  --sn-socket-border-width: 2px;
  --sn-conn-color: var(--sn-node-selected);
  --sn-conn-width: 2;
  --sn-conn-selected: hsl(var(--sn-hue-danger) var(--sn-sat-vivid) 58%);
  --sn-conn-linecap: round;
  --sn-conn-linejoin: round;
  --sn-conn-dot-fill: var(--sn-conn-color);
  --sn-conn-dot-stroke: var(--sn-node-bg);
  --sn-conn-dot-stroke-width: var(--sn-socket-border-width);
  --sn-conn-dot-r: calc((var(--sn-socket-size) + var(--sn-conn-dot-stroke-width)) / 2);
  --sn-graph-explorer-overlay-z: 100;
  --sn-graph-explorer-toolbar-top: 8px;
  --sn-graph-explorer-toolbar-right: 8px;
  --sn-graph-explorer-toolbar-gap: 6px;
  --sn-graph-explorer-toolbar-z: 200;
  --sn-graph-explorer-stats-bottom: 8px;
  --sn-graph-explorer-stats-left: 8px;
  --sn-graph-explorer-stats-z: 10;
  --sn-graph-type-action: var(--sn-type-action);
  --sn-graph-type-output: var(--sn-type-output);
  --sn-graph-type-data: var(--sn-type-data);
  --sn-graph-type-config: var(--sn-type-config);
  --sn-graph-type-external: var(--sn-type-external);
  --sn-graph-type-style: var(--sn-type-style);
  --sn-graph-type-docs: var(--sn-type-docs);
  --sn-graph-type-asset: var(--sn-type-asset);
  --sn-graph-type-group: var(--sn-type-group);
  --sn-graph-cluster-0: hsl(var(--sn-hue-accent) var(--sn-sat-vivid) 74%);
  --sn-graph-cluster-1: hsl(var(--sn-hue-success) var(--sn-sat-vivid) 66%);
  --sn-graph-cluster-2: hsl(var(--sn-hue-warning) var(--sn-sat-vivid) 68%);
  --sn-graph-cluster-3: hsl(var(--sn-hue-danger) var(--sn-sat-vivid) 74%);
  --sn-graph-cluster-4: hsl(var(--sn-hue-data) var(--sn-sat-vivid) 76%);
  --sn-graph-cluster-5: hsl(calc(var(--sn-hue-accent) - 40) var(--sn-sat-vivid) 72%);
  --sn-graph-cluster-6: hsl(var(--sn-hue-base) var(--sn-sat-muted) 82%);
  --sn-minimap-bg: hsl(var(--sn-hue-base) var(--sn-sat-muted) var(--sn-lit-bg) / 0.85);
  --sn-minimap-node: hsl(var(--sn-hue-accent) var(--sn-sat-vivid) var(--sn-lit-accent) / 0.6);
  --sn-minimap-node-stroke: hsl(var(--sn-hue-accent) var(--sn-sat-vivid) var(--sn-lit-accent) / 0.3);
  --sn-minimap-bypassed-node: hsl(var(--sn-hue-base) var(--sn-sat-muted) var(--sn-lit-text-dim) / 0.5);
  --sn-minimap-viewport: hsl(var(--sn-hue-base) var(--sn-sat-muted) var(--sn-lit-text) / 0.6);
  --sn-minimap-viewport-fill: hsl(var(--sn-hue-base) var(--sn-sat-muted) var(--sn-lit-text) / 0.04);
  --sn-dot-output: hsl(var(--sn-hue-warning) var(--sn-sat-vivid) 63%);
  --sn-dot-input: hsl(var(--sn-hue-accent) var(--sn-sat-vivid) 63%);
  --sn-dot-exec: hsl(var(--sn-hue-warning) var(--sn-sat-vivid) 64%);
  --sn-dot-ctrl: var(--sn-success-color);
  --sn-cat-server: var(--sn-node-selected);
  --sn-cat-instance: hsl(var(--sn-hue-success) var(--sn-sat-vivid) 57%);
  --sn-cat-control: hsl(var(--sn-hue-warning) var(--sn-sat-vivid) 58%);
  --sn-cat-data: hsl(var(--sn-hue-data) var(--sn-sat-vivid) 42%);
  --sn-cat-default: hsl(var(--sn-hue-base) var(--sn-sat-muted) 40%);
  --sn-cat-directory: hsl(var(--sn-hue-warning) var(--sn-sat-vivid) 60%);
  --sn-cat-file: hsl(var(--sn-hue-accent) var(--sn-sat-vivid) 66%);
  --sn-cat-function: var(--sn-success-color);
  --sn-cat-class: hsl(var(--sn-hue-data) var(--sn-sat-vivid) 72%);
  --sn-cat-module: hsl(var(--sn-hue-danger) var(--sn-sat-vivid) 70%);
  --sn-type-default: var(--sn-node-category-accent);
  --sn-type-action: hsl(var(--sn-hue-danger) var(--sn-sat-vivid) 78%);
  --sn-type-output: hsl(var(--sn-hue-success) var(--sn-sat-vivid) 65%);
  --sn-type-data: hsl(var(--sn-hue-accent) var(--sn-sat-vivid) 74%);
  --sn-type-config: hsl(var(--sn-hue-warning) var(--sn-sat-vivid) 68%);
  --sn-type-external: hsl(var(--sn-hue-data) var(--sn-sat-vivid) 76%);
  --sn-type-style: hsl(calc(var(--sn-hue-danger) + 315) var(--sn-sat-vivid) 78%);
  --sn-type-docs: hsl(var(--sn-hue-base) var(--sn-sat-muted) 81%);
  --sn-type-asset: hsl(calc(var(--sn-hue-accent) - 40) var(--sn-sat-vivid) 74%);
  --sn-type-group: hsl(calc(var(--sn-hue-warning) + 8) var(--sn-sat-vivid) 67%);
  --sn-type-directory: var(--sn-cat-directory);
  --sn-type-file: var(--sn-cat-file);
  --sn-type-function: var(--sn-cat-function);
  --sn-type-class: var(--sn-cat-class);
  --sn-type-module: var(--sn-cat-module);
  --sn-type-control: var(--sn-cat-control);
  --sn-type-controls: var(--sn-cat-control);
  --sn-type-source: var(--sn-cat-server);
  --sn-type-canvas: var(--sn-cat-module);
  --sn-type-layout: var(--sn-cat-data);
  --sn-type-profile: hsl(var(--sn-hue-data) var(--sn-sat-vivid) 58%);
  --sn-type-profile-info: var(--sn-success-color);
  --sn-type-portal: var(--sn-cat-control);
  --sn-type-project: hsl(24 var(--sn-sat-vivid) 62%);
  --sn-accent-warn: var(--sn-warning-color);
  --sn-message-event-bg: color-mix(in srgb, var(--sn-cat-server) 10%, transparent);
  --sn-subgraph-accent: var(--sn-cat-data);
  --sn-subgraph-bg: linear-gradient(135deg, color-mix(in srgb, var(--sn-subgraph-accent) 12%, transparent) 0%, color-mix(in srgb, var(--sn-subgraph-accent) 8%, transparent) 100%);
  --sn-subgraph-bg-hover: linear-gradient(135deg, color-mix(in srgb, var(--sn-subgraph-accent) 22%, transparent) 0%, color-mix(in srgb, var(--sn-subgraph-accent) 15%, transparent) 100%);
  --sn-subgraph-border: color-mix(in srgb, var(--sn-subgraph-accent) 30%, transparent);
  --sn-subgraph-border-hover: color-mix(in srgb, var(--sn-subgraph-accent) 50%, transparent);
  --sn-subgraph-preview-connection: hsl(var(--sn-hue-base) var(--sn-sat-muted) var(--sn-lit-text) / 0.12);
  --sn-subgraph-preview-completed-connection: hsl(var(--sn-hue-success) var(--sn-sat-vivid) 57% / 0.5);
  --sn-subgraph-preview-processing-fill: hsl(var(--sn-hue-accent) var(--sn-sat-vivid) var(--sn-lit-accent) / 0.25);
  --sn-subgraph-preview-processing-stroke: hsl(var(--sn-hue-accent) var(--sn-sat-vivid) var(--sn-lit-accent) / 0.8);
  --sn-subgraph-preview-processing-glow: hsl(var(--sn-hue-accent) var(--sn-sat-vivid) var(--sn-lit-accent) / 0.6);
  --sn-subgraph-preview-completed-fill: hsl(var(--sn-hue-success) var(--sn-sat-vivid) 57% / 0.2);
  --sn-subgraph-preview-completed-stroke: hsl(var(--sn-hue-success) var(--sn-sat-vivid) 57% / 0.7);
  --sn-subgraph-preview-idle-fill: hsl(var(--sn-hue-base) var(--sn-sat-muted) var(--sn-lit-text) / 0.08);
  --sn-subgraph-preview-idle-stroke: hsl(var(--sn-hue-base) var(--sn-sat-muted) var(--sn-lit-text) / 0.2);
  --sn-provider-rnd-pro-color: var(--sn-cat-data);
  --sn-provider-rnd-pro-bg: color-mix(in srgb, var(--sn-provider-rnd-pro-color) 20%, transparent);
  --sn-provider-official-color: var(--sn-node-selected);
  --sn-provider-official-bg: color-mix(in srgb, var(--sn-provider-official-color) 20%, transparent);
  --sn-provider-google-color: var(--sn-success-color);
  --sn-provider-google-bg: color-mix(in srgb, var(--sn-provider-google-color) 20%, transparent);
  --sn-provider-community-color: var(--sn-warning-color);
  --sn-provider-community-bg: color-mix(in srgb, var(--sn-provider-community-color) 20%, transparent);
  --sn-provider-default-color: var(--sn-text-dim);
  --sn-provider-default-bg: var(--sn-node-hover);
  --sn-ctx-bg: color-mix(in srgb, var(--sn-panel-bg) 82%, var(--sn-text) 4%);
  --sn-ctx-border: hsl(var(--sn-hue-base) var(--sn-sat-muted) var(--sn-lit-text) / 0.1);
  --sn-ctx-color: hsl(var(--sn-hue-base) var(--sn-sat-muted) var(--sn-lit-text));
  --sn-ctx-hover: hsl(var(--sn-hue-accent) var(--sn-sat-vivid) var(--sn-lit-accent) / 0.15);
  --sn-ctx-z: var(--sn-overlay-z-base);
  --sn-accent-bg: hsl(var(--sn-hue-accent) var(--sn-sat-vivid) var(--sn-lit-accent) / 0.12);
  --sn-accent-bg-subtle: hsl(var(--sn-hue-accent) var(--sn-sat-vivid) var(--sn-lit-accent) / 0.06);
  --sn-accent-border: hsl(var(--sn-hue-accent) var(--sn-sat-vivid) var(--sn-lit-accent) / 0.2);
  --sn-accent-glow: 0 0 12px hsl(var(--sn-hue-accent) var(--sn-sat-vivid) var(--sn-lit-accent) / 0.12);
  --sn-success-bg: color-mix(in srgb, var(--sn-success-color) 18%, transparent);
  --sn-success-border: color-mix(in srgb, var(--sn-success-color) 32%, transparent);
  --sn-success-bg-hover: color-mix(in srgb, var(--sn-success-color) 28%, transparent);
  --sn-success-border-hover: color-mix(in srgb, var(--sn-success-color) 52%, transparent);
  --sn-danger-bg: color-mix(in srgb, var(--sn-danger-color) 18%, transparent);
  --sn-danger-border: color-mix(in srgb, var(--sn-danger-color) 32%, transparent);
  --sn-comment-bg: hsl(var(--sn-hue-base) var(--sn-sat-muted) var(--sn-lit-text) / 0.04);
  --sn-comment-border: hsl(var(--sn-hue-base) var(--sn-sat-muted) var(--sn-lit-text) / 0.08);
  --sn-comment-radius: 4px;
  --sn-toolbar-bg: hsl(var(--sn-hue-base) var(--sn-sat-muted) var(--sn-lit-surface) / 0.95);
  --sn-toolbar-border: hsl(var(--sn-hue-base) var(--sn-sat-muted) var(--sn-lit-text) / 0.08);
  --sn-toolbar-color: hsl(var(--sn-hue-base) var(--sn-sat-muted) var(--sn-lit-text-dim));
  --sn-toolbar-hover: hsl(var(--sn-hue-accent) var(--sn-sat-vivid) var(--sn-lit-accent) / 0.18);
  --sn-toolbar-occlusion-bg: var(--sn-panel-bg);
  --sn-toolbar-active: hsl(var(--sn-hue-base) var(--sn-sat-muted) var(--sn-lit-text));
  --sn-toolbar-danger: hsl(var(--sn-hue-danger) var(--sn-sat-vivid) 58% / 0.22);
  --sn-toolbar-danger-color: hsl(var(--sn-hue-danger) var(--sn-sat-vivid) 58%);
  --sn-toolbar-z: var(--sn-overlay-z-base);
  --sn-toolbar-title-color: var(--sn-text);
  --sn-toolbar-title-font-size: 12px;
  --sn-toolbar-title-font-weight: 700;
  --sn-toolbar-title-line-height: 1.35;
  --sn-toolbar-title-min-width: 220px;
  --sn-toolbar-title-max-width: clamp(300px, 48vw, 420px);
  --sn-toolbar-title-lines: 2;
  --sn-scrollbar-thumb: hsl(var(--sn-hue-base) var(--sn-sat-muted) var(--sn-lit-text) / 0.08);
  --sn-scrollbar-thumb-hover: hsl(var(--sn-hue-base) var(--sn-sat-muted) var(--sn-lit-text) / 0.25);
  --sn-scrollbar-track: transparent;
  --sn-scrollbar-width: thin;
  --sn-scrollbar-size: 10px;
  --sn-scrollbar-radius: 999px;
  --sn-scrollbar-thumb-border: 3px solid transparent;
  --sn-scrollbar-thumb-min-size: 36px;
  --sn-tabs-height: 38px;
  --sn-tabs-item-height: 32px;
  --sn-tabs-bg: transparent;
  --sn-tabs-border: hsl(var(--sn-hue-base) var(--sn-sat-muted) var(--sn-lit-text) / 0.08);
  --sn-tabs-active-bg: var(--sn-node-bg);
  --sn-tabs-hover-bg: hsl(var(--sn-hue-base) var(--sn-sat-muted) var(--sn-lit-text) / 0.04);
  --sn-tabs-divider: hsl(var(--sn-hue-base) var(--sn-sat-muted) var(--sn-lit-text) / 0.1);
  --sn-tabs-accent: var(--sn-node-selected);
  --sn-tab-accent-0: var(--sn-cat-server);
  --sn-tab-accent-1: var(--sn-cat-data);
  --sn-tab-accent-2: var(--sn-cat-control);
  --sn-tab-accent-3: var(--sn-cat-instance);
  --sn-tab-accent-4: var(--sn-type-action);
  --sn-tab-accent-5: var(--sn-cat-class);
  --sn-tabs-radius: 8px 8px 0 0;
  --sn-tabs-corner-size: 12px;
  --sn-tabs-corner-cut: 11.5px;
  --sn-tree-gap: 4px;
  --sn-tree-indent: 16px;
  --sn-tree-toggle-width: 18px;
  --sn-tree-icon-width: 18px;
  --sn-tree-row-height: calc(22px * var(--sn-theme-density));
  --sn-tree-row-min-height: calc(22px * var(--sn-theme-density));
  --sn-tree-row-padding-block: 2px;
  --sn-tree-row-radius: calc(4px * var(--sn-theme-radius-scale));
  --sn-tree-row-hover-bg: var(--sn-node-hover);
  --sn-tree-row-selected-bg: var(--sn-accent-bg-subtle);
  --sn-tree-row-selected-border: transparent;
  --sn-tree-row-focus-border: var(--sn-node-selected);
  --sn-tree-label-color: var(--sn-text-dim);
  --sn-tree-label-size: 12px;
  --sn-tree-label-weight: 500;
  --sn-tree-muted-color: var(--sn-text-dim);
  --sn-tree-icon-size: 15px;
  --sn-tree-badge-radius: 8px;
  --sn-tree-badge-bg: var(--sn-node-hover);
  --sn-tree-badge-color: var(--sn-text-dim);
  --sn-tree-badge-size: 10px;
  --sn-tree-badge-max-width: 88px;
  --sn-tree-kind-size: 10px;
  --sn-tree-kind-max-width: 120px;
  --sn-tree-panel-font-size: 12px;
  --sn-tree-panel-title-gap: 5px;
  --sn-tree-panel-title-padding: 6px 8px;
  --sn-tree-panel-title-size: 11px;
  --sn-tree-panel-title-weight: 700;
  --sn-tree-panel-icon-size: 14px;
  --sn-tree-panel-toolbar-gap: 6px;
  --sn-tree-panel-toolbar-padding: 6px 8px;
  --sn-tree-panel-input-padding: 4px 8px;
  --sn-tree-panel-input-radius: calc(4px * var(--sn-theme-radius-scale));
  --sn-tree-panel-input-size: 11px;
  --sn-tree-panel-collapse-padding: 0 6px;
  --sn-tree-panel-content-padding: 4px;
  --sn-tree-panel-placeholder-padding: 8px;
  --sn-tree-panel-placeholder-size: 12px;
  --sn-tree-panel-row-min-height: var(--sn-tree-row-min-height);
  --sn-tree-panel-label-weight: var(--sn-tree-label-weight);
  --sn-card-bg: var(--sn-node-bg);
  --sn-card-border: var(--sn-node-border);
  --sn-card-radius: var(--sn-node-radius);
  --sn-card-padding: 14px;
  --sn-card-margin-block-end: 12px;
  --sn-card-hover-bg: var(--sn-node-hover);
  --sn-card-hover-border: var(--sn-node-selected);
  --sn-card-title-color: var(--sn-text-dim);
  --sn-card-title-size: 11px;
  --sn-card-title-weight: 600;
  --sn-card-title-margin-block-end: 12px;
  --sn-card-footer-gap: 8px;
  --sn-card-footer-margin-block-start: 16px;
  --sn-card-footer-padding-block-start: 16px;
  --sn-dialog-bg: var(--sn-panel-bg);
  --sn-dialog-color: var(--sn-text);
  --sn-dialog-border: var(--sn-node-border);
  --sn-dialog-border-width: 1px;
  --sn-dialog-radius: calc(8px * var(--sn-theme-radius-scale));
  --sn-dialog-shadow: var(--sn-shadow-lg);
  --sn-dialog-backdrop: var(--sn-bg-overlay);
  --sn-dialog-body-padding: calc(20px * var(--sn-theme-density));
  --sn-dialog-font-size: 14px;
  --sn-dialog-min-width: 250px;
  --sn-dialog-message-gap: calc(20px * var(--sn-theme-density));
  --sn-dialog-prompt-message-gap: calc(10px * var(--sn-theme-density));
  --sn-dialog-actions-gap: calc(10px * var(--sn-theme-density));
  --sn-dialog-actions-margin-block-start: calc(20px * var(--sn-theme-density));
  --sn-button-bg: var(--sn-node-bg);
  --sn-button-color: var(--sn-text);
  --sn-button-border: var(--sn-node-border);
  --sn-button-padding: 6px 14px;
  --sn-button-radius: calc(8px * var(--sn-theme-radius-scale));
  --sn-button-gap: 6px;
  --sn-button-min-height: 30px;
  --sn-button-font-size: 12px;
  --sn-button-font-weight: 500;
  --sn-button-line-height: 1.2;
  --sn-button-hover-bg: var(--sn-node-bg);
  --sn-button-hover-border: var(--sn-node-selected);
  --sn-button-disabled-opacity: 0.5;
  --sn-button-primary-bg: var(--sn-node-selected);
  --sn-button-primary-border: var(--sn-node-selected);
  --sn-button-primary-color: hsl(0 0% 8%);
  --sn-button-primary-hover-filter: brightness(1.1);
  --sn-button-success-bg: var(--sn-success-color);
  --sn-button-success-border: var(--sn-success-color);
  --sn-button-success-color: hsl(0 0% 8%);
  --sn-button-success-hover-bg: color-mix(in srgb, var(--sn-success-color) 85%, var(--sn-text));
  --sn-button-success-hover-border: color-mix(in srgb, var(--sn-success-color) 85%, var(--sn-text));
  --sn-button-success-hover-color: hsl(0 0% 8%);
  --sn-button-danger-bg: transparent;
  --sn-button-danger-border: var(--sn-danger-color);
  --sn-button-danger-color: var(--sn-danger-color);
  --sn-button-danger-hover-bg: var(--sn-danger-color);
  --sn-button-danger-hover-border: var(--sn-danger-color);
  --sn-button-danger-hover-color: hsl(0 0% 8%);
  --sn-button-icon-size: 28px;
  --sn-button-icon-font-size: 16px;
  --sn-button-focus-ring: var(--sn-effect-focus-ring);
  --sn-field-margin-block-end: 12px;
  --sn-field-label-margin-block-end: 4px;
  --sn-field-label-color: var(--sn-text-dim);
  --sn-field-label-size: 11px;
  --sn-field-label-weight: 500;
  --sn-field-label-line-height: 1.2;
  --sn-field-label-transform: uppercase;
  --sn-field-control-bg: var(--sn-bg);
  --sn-field-control-border: var(--sn-node-border);
  --sn-field-control-color: var(--sn-text);
  --sn-field-control-padding: 8px 12px;
  --sn-field-control-radius: calc(6px * var(--sn-theme-radius-scale));
  --sn-field-control-font-size: 12px;
  --sn-field-control-line-height: 1.4;
  --sn-field-control-focus-border: var(--sn-node-selected);
  --sn-field-control-focus-shadow: none;
  --sn-field-control-subtle-border: hsl(var(--sn-hue-base) var(--sn-sat-muted) var(--sn-lit-text) / var(--sn-alpha-faint));
  --sn-field-placeholder-color: var(--sn-text-dim);
  --sn-field-textarea-min-height: 120px;
  --sn-field-hint-margin-block-start: 4px;
  --sn-field-hint-color: var(--sn-text-dim);
  --sn-field-hint-size: 11px;
  --sn-field-hint-line-height: 1.4;
  --sn-field-inline-gap: 8px;
  --sn-field-compact-margin-block-end: 8px;
  --sn-field-compact-control-padding: 6px 10px;
  --sn-field-select-indicator: linear-gradient(45deg, transparent 50%, var(--sn-text-dim) 50%), linear-gradient(135deg, var(--sn-text-dim) 50%, transparent 50%);
  --sn-field-toggle-bg: hsl(var(--sn-hue-base) var(--sn-sat-muted) var(--sn-lit-text) / 0.1);
  --sn-field-toggle-thumb-bg: var(--sn-text-dim);
  --sn-field-toggle-thumb-active-bg: var(--sn-text);
  --sn-badge-bg: var(--sn-node-bg);
  --sn-badge-color: var(--sn-text-dim);
  --sn-badge-border: var(--sn-node-border);
  --sn-badge-padding: 2px 8px;
  --sn-badge-radius: calc(12px * var(--sn-theme-radius-scale));
  --sn-badge-gap: 4px;
  --sn-badge-font-size: 11px;
  --sn-badge-font-weight: 500;
  --sn-badge-line-height: 1.2;
  --sn-badge-success-color: var(--sn-success-color);
  --sn-badge-success-border: var(--sn-success-color);
  --sn-badge-info-color: var(--sn-node-selected);
  --sn-badge-info-border: var(--sn-node-selected);
  --sn-badge-warning-color: var(--sn-warning-color);
  --sn-badge-warning-border: var(--sn-warning-color);
  --sn-badge-error-color: var(--sn-danger-color);
  --sn-badge-error-border: var(--sn-danger-color);
  --sn-banner-bg: var(--sn-node-bg);
  --sn-banner-color: var(--sn-text);
  --sn-banner-border: var(--sn-node-border);
  --sn-banner-padding: 10px 14px;
  --sn-banner-radius: calc(8px * var(--sn-theme-radius-scale));
  --sn-banner-gap: 8px;
  --sn-banner-margin-block-end: 16px;
  --sn-banner-font-size: 12px;
  --sn-banner-font-weight: 500;
  --sn-banner-line-height: 1.4;
  --sn-banner-icon-size: 18px;
  --sn-banner-info-color: var(--sn-node-selected);
  --sn-banner-info-border: var(--sn-node-selected);
  --sn-banner-success-color: var(--sn-success-color);
  --sn-banner-success-border: var(--sn-success-color);
  --sn-banner-warning-color: var(--sn-warning-color);
  --sn-banner-warning-border: var(--sn-warning-color);
  --sn-banner-error-color: var(--sn-danger-color);
  --sn-banner-error-border: var(--sn-danger-color);
  --sn-banner-running-spin-duration: 2s;
  --sn-empty-state-color: var(--sn-text-dim);
  --sn-empty-state-error-color: var(--sn-danger-color);
  --sn-empty-state-padding: 20px;
  --sn-empty-state-gap: 8px;
  --sn-empty-state-min-height: 0;
  --sn-empty-state-height: 100%;
  --sn-empty-state-font-size: 13px;
  --sn-empty-state-font-style: italic;
  --sn-empty-state-line-height: 1.4;
  --sn-empty-state-icon-size: 18px;
  --sn-metric-gap: 12px;
  --sn-metric-padding: 5px 0;
  --sn-metric-border: var(--sn-node-hover);
  --sn-metric-color: var(--sn-text);
  --sn-metric-label-color: var(--sn-text-dim);
  --sn-metric-label-size: 12px;
  --sn-metric-value-color: var(--sn-text);
  --sn-metric-value-size: 12px;
  --sn-metric-value-weight: 600;
  --sn-metric-value-font: var(--sn-font-mono);
  --sn-metric-success-color: var(--sn-success-color);
  --sn-metric-warning-color: var(--sn-warning-color);
  --sn-metric-error-color: var(--sn-danger-color);
  --sn-data-table-bg: var(--sn-node-bg);
  --sn-data-table-border: var(--sn-node-border);
  --sn-data-table-radius: calc(8px * var(--sn-theme-radius-scale));
  --sn-data-table-color: var(--sn-text);
  --sn-data-table-header-bg: var(--sn-panel-bg);
  --sn-data-table-header-color: var(--sn-text-dim);
  --sn-data-table-header-border: var(--sn-node-border);
  --sn-data-table-header-size: 11px;
  --sn-data-table-header-weight: 500;
  --sn-data-table-header-transform: uppercase;
  --sn-data-table-row-border: var(--sn-node-hover);
  --sn-data-table-cell-padding: 12px 15px;
  --sn-data-table-cell-size: 13px;
  --sn-data-table-cell-gap: 10px;
  --sn-data-table-line-height: 1.4;
  --sn-data-table-min-width: 0;
  --sn-data-table-marker-size: 12px;
  --sn-data-table-marker-radius: 50%;
  --sn-data-table-empty-padding: 12px 15px;
  --sn-data-table-empty-color: var(--sn-text-dim);
  --sn-list-item-bg: transparent;
  --sn-list-item-hover-bg: var(--sn-node-hover);
  --sn-list-item-active-bg: var(--sn-accent-bg-subtle);
  --sn-list-item-active-border: var(--sn-node-selected);
  --sn-list-item-focus-border: var(--sn-node-selected);
  --sn-list-item-radius: calc(4px * var(--sn-theme-radius-scale));
  --sn-list-item-gap: 10px;
  --sn-list-item-min-height: 34px;
  --sn-list-item-padding: 8px 10px;
  --sn-list-item-disabled-color: var(--sn-text-dim);
  --sn-list-item-icon-size: 18px;
  --sn-list-item-icon-color: var(--sn-text-dim);
  --sn-list-item-icon-font-size: 16px;
  --sn-list-item-label-color: var(--sn-text);
  --sn-list-item-label-size: 12px;
  --sn-list-item-label-weight: 500;
  --sn-list-item-description-color: var(--sn-text-dim);
  --sn-list-item-description-size: 11px;
  --sn-list-item-meta-max-width: 38%;
  --sn-list-item-meta-color: var(--sn-text-dim);
  --sn-list-item-meta-size: 10px;
  --sn-list-detail-bg: var(--sn-panel-bg);
  --sn-list-detail-border: var(--sn-node-border);
  --sn-list-detail-radius: var(--sn-card-radius);
  --sn-list-detail-sidebar-width: minmax(220px, 30%);
  --sn-list-detail-min-height: 0;
  --sn-list-detail-height: 100%;
  --sn-list-detail-color: var(--sn-text);
  --sn-list-detail-sidebar-bg: var(--sn-node-bg);
  --sn-list-detail-main-bg: transparent;
  --sn-list-detail-header-bg: transparent;
  --sn-list-detail-header-gap: 8px;
  --sn-list-detail-header-min-height: 42px;
  --sn-list-detail-header-padding: 10px 12px;
  --sn-list-detail-icon-color: var(--sn-text-dim);
  --sn-list-detail-icon-size: 18px;
  --sn-list-detail-main-padding: 12px;
  --sn-list-detail-list-padding: 8px;
  --sn-list-detail-empty-padding: 12px;
  --sn-list-detail-title-size: 12px;
  --sn-list-detail-title-color: var(--sn-text);
  --sn-list-detail-title-weight: 600;
  --sn-list-detail-title-transform: uppercase;
  --sn-list-detail-description-color: var(--sn-text-dim);
  --sn-list-detail-description-size: 11px;
  --sn-composer-bg: hsl(0 0% 20%);
  --sn-composer-border: var(--sn-node-border);
  --sn-composer-action-bg: var(--sn-node-hover);
  --sn-composer-radius: calc(20px * var(--sn-theme-radius-scale));
  --sn-composer-send-size: 32px;
  --sn-composer-send-icon-size: 18px;
  --sn-composer-send-hover-bg: var(--sn-tabs-accent);
  --sn-composer-footer-icon-size: 12px;
  --sn-composer-footer-toggle-icon-size: 18px;
  --sn-composer-collapsed-control-width: 10px;
  --sn-composer-collapsed-control-padding: 10px;
  --sn-composer-control-gap: 8px;
  --sn-composer-padding: 12px 20px 16px;
  --sn-composer-body-padding: 8px 8px 8px 16px;
  --sn-composer-input-min-height: 20px;
  --sn-chat-bg: transparent;
  --sn-chat-gap: 8px;
  --sn-chat-message-bg: hsl(0 0% 20%);
  --sn-chat-user-message-bg: var(--sn-composer-bg);
  --sn-chat-agent-message-bg: var(--sn-node-bg);
  --sn-chat-message-radius: 8px;
  --sn-chat-transcript-padding: 24px 20px 12px;
  --sn-chat-scroll-bottom: 18px;
  --sn-chat-item-icon-color: currentColor;
  --sn-chat-item-child-shadow: 2px 0 4px color-mix(in srgb, var(--sn-bg) 70%, transparent);
  --sn-chat-live-icon-size: 14px;
  --sn-chat-meta-icon-size: 12px;
  --sn-chat-status-icon-size: 12px;
  --sn-chat-tool-icon-size: 14px;
  --sn-chat-summary-icon-size: 16px;
  --sn-output-preview-gap: 8px;
  --sn-output-preview-padding: 10px;
  --sn-output-preview-border: var(--sn-border);
  --sn-output-preview-radius: calc(6px * var(--sn-theme-radius-scale));
  --sn-output-preview-bg: var(--sn-surface);
  --sn-output-preview-muted: var(--sn-text-dim);
  --sn-output-preview-title: var(--sn-text);
  --sn-output-preview-label: var(--sn-text);
  --sn-output-preview-canvas-radius: calc(5px * var(--sn-theme-radius-scale));
  --sn-output-preview-grid: hsl(var(--sn-hue-base) var(--sn-sat-muted) var(--sn-lit-text) / 0.04);
  --sn-output-preview-item-border: var(--sn-border);
  --sn-output-preview-item-radius: calc(5px * var(--sn-theme-radius-scale));
  --sn-output-preview-item-bg: var(--sn-node-bg);
  --sn-output-preview-edge-bg: var(--sn-node-hover);
  --sn-sidebar-width: 220px;
  --sn-sidebar-collapsed-width: 48px;
  --sn-sidebar-resize-width: 5px;
  --sn-sidebar-resize-offset: 2px;
  --sn-source-bg: var(--sn-bg);
  --sn-source-header-bg: var(--sn-node-header-bg);
  --sn-source-border: var(--sn-node-border);
  --sn-source-toolbar-gap: 8px;
  --sn-source-action-bg: var(--sn-bg);
  --sn-source-action-hover-bg: var(--sn-node-hover);
  --sn-source-action-radius: calc(4px * var(--sn-theme-radius-scale));
  --sn-source-action-icon-size: 14px;
  --sn-source-editor-bg: var(--sn-bg);
  --sn-editor-bg: var(--sn-source-editor-bg);
  --sn-source-editor-color: var(--sn-text);
  --sn-editor-text: var(--sn-source-editor-color);
  --sn-editor-border: var(--sn-node-border);
  --sn-editor-radius: 0;
  --sn-editor-font: var(--sn-font-mono);
  --sn-source-editor-padding: 14px 16px;
  --sn-source-editor-font-size: 12px;
  --sn-source-editor-line-height: 1.6;
  --sn-source-editor-tab-size: 2;
  --sn-source-editor-placeholder-color: var(--sn-text-dim);
  --sn-syntax-keyword: hsl(var(--sn-hue-danger) var(--sn-sat-vivid) 82%);
  --sn-syntax-string: hsl(var(--sn-hue-warning) var(--sn-sat-vivid) 65%);
  --sn-syntax-comment: var(--sn-text-dim);
  --sn-syntax-function: hsl(var(--sn-hue-accent) var(--sn-sat-vivid) 84%);
  --sn-syntax-number: var(--sn-syntax-string);
  --sn-syntax-builtin: var(--sn-syntax-function);
  --sn-syntax-property: hsl(var(--sn-hue-data) var(--sn-sat-vivid) 78%);
  --sn-syntax-literal: var(--sn-syntax-keyword);
  --sn-syntax-doc: hsl(var(--sn-hue-success) 22% 56%);
  --sn-syntax-doc-tag: hsl(var(--sn-hue-success) 50% 70%);
  --sn-syntax-doc-type: hsl(var(--sn-hue-accent) 72% 72%);
  --sn-syntax-template: hsl(var(--sn-hue-warning) 44% 64%);
  --sn-syntax-template-tag: hsl(var(--sn-hue-accent) 48% 58%);
  --sn-syntax-template-attr: hsl(var(--sn-hue-accent) var(--sn-sat-vivid) 80%);
  --sn-syntax-template-bracket: var(--sn-text-dim);
  --sn-syntax-template-interpolation: hsl(var(--sn-hue-warning) 50% 76%);
  --sn-syntax-template-selector: hsl(var(--sn-hue-warning) 56% 68%);
  --sn-syntax-template-property: var(--sn-syntax-template-attr);
  --sn-syntax-template-value: var(--sn-syntax-template);
  --sn-diagnostic-error-bg: color-mix(in srgb, var(--sn-danger-color) 7%, transparent);
  --sn-diagnostic-error-border: color-mix(in srgb, var(--sn-danger-color) 55%, transparent);
  --sn-diagnostic-warning-bg: color-mix(in srgb, var(--sn-warning-color) 5%, transparent);
  --sn-diagnostic-warning-border: color-mix(in srgb, var(--sn-warning-color) 45%, transparent);
  --sn-loading-overlay-bg: var(--sn-bg);
  --sn-loading-bg: var(--sn-loading-overlay-bg);
  --sn-loading-text: var(--sn-text-dim);
  --sn-loading-accent: var(--sn-node-selected);
  --sn-loading-radius: 2px;
  --sn-loading-overlay-z: 500;
  --sn-loading-overlay-gap: 16px;
  --sn-loading-label-color: var(--sn-text-dim);
  --sn-loading-label-size: 11px;
  --sn-loading-phase-color: var(--sn-node-selected);
  --sn-loading-phase-size: 10px;
  --sn-loading-track-bg: hsl(var(--sn-hue-base) var(--sn-sat-muted) var(--sn-lit-text) / 0.08);
  --sn-loading-track-width: 200px;
  --sn-loading-track-height: 2px;
  --sn-loading-bar-bg: var(--sn-node-selected);
  --sn-loading-bar-shadow: 0 0 8px color-mix(in srgb, var(--sn-node-selected) 45%, transparent);
  --sn-loading-track-radius: 2px;
  --sn-loading-sub-color: var(--sn-text-dim);
  --sn-loading-sub-size: 9px;
  --sn-effect-hover-transition: background-color var(--sn-transition-fast) var(--sn-transition-easing), border-color var(--sn-transition-fast) var(--sn-transition-easing), color var(--sn-transition-fast) var(--sn-transition-easing);
  --sn-effect-focus-ring: 0 0 0 2px hsl(var(--sn-hue-accent) var(--sn-sat-vivid) var(--sn-lit-accent) / 0.35);
  --sn-effect-drag-shadow: 0 14px calc(32px * var(--sn-theme-elevation-scale)) hsl(var(--sn-hue-base) var(--sn-sat-muted) 0% / 0.35);
  --sn-effect-loading-pulse: linear-gradient(90deg, transparent, hsl(var(--sn-hue-accent) var(--sn-sat-vivid) var(--sn-lit-accent) / 0.6), transparent);
  --sn-shape-fill: var(--sn-node-bg);
  --sn-shape-stroke: var(--sn-node-border);
  --sn-shape-stroke-width: 0.4;
  --sn-frame-border-width: 2px;
  --sn-frame-border-style: solid;
  --sn-frame-radius: calc(12px * var(--sn-theme-radius-scale));
  --sn-frame-font: var(--sn-font);
  --sn-frame-font-size: 13px;
  --bg-level-2: var(--sn-node-bg);
  --border-color: var(--sn-node-border);
  --text-color: var(--sn-text);
  --text-color-muted: var(--sn-text-dim);
}

/* State-to-Cascade CSS Induction (engine runtime status response) */
[data-engine-state] {
  --sn-engine-state-color: var(--sn-engine-idle-color);
  --sn-engine-state-bg: var(--sn-node-bg);
  --sn-engine-state-border: var(--sn-node-border);
}

[data-engine-state="idle"] {
  --sn-engine-state-color: var(--sn-engine-idle-color);
  --sn-engine-state-bg: var(--sn-node-bg);
  --sn-engine-state-border: var(--sn-node-border);
}

[data-engine-state="running"] {
  --sn-engine-state-color: var(--sn-engine-running-color);
  --sn-engine-state-bg: color-mix(in srgb, var(--sn-engine-running-color) 10%, var(--sn-node-bg));
  --sn-engine-state-border: color-mix(in srgb, var(--sn-engine-running-color) 54%, var(--sn-node-border));
  --sn-node-border: var(--sn-engine-state-border);
  animation: sn-pulse var(--sn-animation-duration-slow) infinite;
  animation-play-state: var(--sn-animation-play-state, running);
}

[data-engine-state="success"] {
  --sn-engine-state-color: var(--sn-engine-success-color);
  --sn-engine-state-bg: color-mix(in srgb, var(--sn-engine-success-color) 12%, var(--sn-node-bg));
  --sn-engine-state-border: color-mix(in srgb, var(--sn-engine-success-color) 50%, var(--sn-node-border));
  --sn-node-bg: var(--sn-engine-state-bg);
  --sn-node-border: var(--sn-engine-state-border);
}

[data-engine-state="error"] {
  --sn-engine-state-color: var(--sn-engine-error-color);
  --sn-engine-state-bg: color-mix(in srgb, var(--sn-engine-error-color) 12%, var(--sn-node-bg));
  --sn-engine-state-border: color-mix(in srgb, var(--sn-engine-error-color) 54%, var(--sn-node-border));
  --sn-node-bg: var(--sn-engine-state-bg);
  --sn-node-border: var(--sn-engine-state-border);
}

@media (prefers-reduced-motion: reduce) {
  [data-engine-state="running"] {
    animation-play-state: paused;
  }
}

@keyframes sn-pulse {
  0% {
    box-shadow: 0 0 0 0 color-mix(in oklab, var(--sn-node-selected) 40%, transparent);
  }
  70% {
    box-shadow: 0 0 0 6px transparent;
  }
  100% {
    box-shadow: 0 0 0 0 transparent;
  }
}

@media (prefers-contrast: more) {
  :root, [style*="--sn-"], [data-theme] {
    --sn-theme-outline-strength: 0.90 !important;
    --sn-node-border-width: 3px !important;
    --sn-outline-color: var(--sn-text) !important;
    --sn-outline-color-soft: var(--sn-text) !important;
    --sn-text-dim: var(--sn-text) !important;
  }
}

@media (forced-colors: active) {
  :root, [style*="--sn-"], [data-theme] {
    --sn-bg: Canvas !important;
    --sn-panel-bg: Canvas !important;
    --sn-layout-bg: Canvas !important;
    --sn-node-bg: Canvas !important;
    --sn-surface: Canvas !important;
    --sn-text: CanvasText !important;
    --sn-text-dim: CanvasText !important;
    --sn-outline-color: ButtonBorder !important;
    --sn-outline-color-soft: ButtonBorder !important;
    --sn-border: ButtonBorder !important;
    --sn-node-border: ButtonBorder !important;
    --sn-node-selected: Highlight !important;
    --sn-node-accent: Highlight !important;
    --sn-button-primary-bg: ButtonFace !important;
    --sn-button-primary-color: ButtonText !important;
    --sn-button-success-bg: ButtonFace !important;
    --sn-button-success-color: ButtonText !important;
    --sn-button-danger-hover-bg: ButtonFace !important;
    --sn-button-danger-hover-color: ButtonText !important;
    --sn-cell-dot: transparent !important;
    --sn-cell-bg: Canvas !important;
  }
}
