:root, :root .tf-theme-light { --tf-primary-color: #2563eb; --tf-primary-color-hover: #3a6fe3; --tf-primary-soft-bg: #eff6ff; --tf-primary-soft-border: #bfdbfe; --tf-primary-ghost-bg: rgb(37 99 235 / 8%); --tf-danger-color: #ef4444; --tf-danger-hover: #dc2626; --tf-danger-soft-bg: #fff1f1; --tf-danger-soft-border: #f5c7c4; --tf-danger-soft-text: #b42318; --tf-danger-icon-color: #d92d20; --tf-warning-soft-bg: #fff8e6; --tf-warning-soft-border: #f7d79e; --tf-warning-soft-text: #92400e; --tf-warning-icon-color: #d97706; --tf-bg-canvas: #f8fafc; --tf-bg-surface: #fff; --tf-bg-surface-alt: #f9fafb; --tf-bg-muted: #f3f4f6; --tf-bg-hover: #f1f5f9; --tf-bg-active: #e2e8f0; --tf-bg-input: #fff; --tf-bg-input-disabled: #f3f4f6; --tf-bg-tag: rgb(0 0 0 / 6%); --tf-border-color: #e5e7eb; --tf-border-color-strong: #d1d5db; --tf-border-color-soft: #f3f4f6; --tf-node-outline-color: #d1d5db; --tf-node-hover-border: rgb(186 202 239 / 49%); --tf-text-primary: #111827; --tf-text-secondary: #6b7280; --tf-text-muted: #9ca3af; --tf-text-disabled: #9ca3af; --tf-icon-bg: #cedafb; --tf-icon-color: #3474ff; --tf-loop-handle-text: #fff; --tf-shadow-soft: 0 2px 4px rgb(0 0 0 / 8%); --tf-shadow-medium: 0 10px 25px rgb(0 0 0 / 15%); --tf-focus-shadow: 0 0 0 2px rgb(37 99 235 / 12%); --tf-tip-bg: #0f172a; --tf-tip-text: #f8fafc; --tf-scrollbar-thumb: #d6dce8; --tf-slider-track-bg: #d1d5db; --tf-slider-thumb-bg: var(--tf-primary-color); --xy-node-boxshadow-selected: 0 0 0 1px var(--tf-primary-color); --xy-handle-background-color: var(--tf-primary-color); --xy-handle-border-color: var(--tf-bg-surface); --xy-background-color: var(--tf-bg-canvas); --xy-background-pattern-dots-color: #d1d5db; --xy-background-pattern-lines-color: #e5e7eb; --xy-background-pattern-cross-color: #e2e8f0; --xy-edge-stroke: #94a3b8; --xy-edge-stroke-selected: var(--tf-primary-color); --xy-controls-button-background-color: var(--tf-bg-surface); --xy-controls-button-background-color-hover: var(--tf-bg-hover); --xy-controls-button-color: var(--tf-text-secondary); --xy-controls-button-color-hover: var(--tf-text-primary); --xy-controls-button-border-color: var(--tf-border-color); --xy-minimap-background-color: var(--tf-bg-surface); --xy-minimap-mask-background-color: rgb(241 245 249 / 68%); --xy-minimap-node-background-color: #cbd5e1; --xy-edge-label-background-color: var(--tf-bg-surface); --xy-edge-label-color: var(--tf-text-primary); } :root .tf-theme-dark { --tf-primary-color: #60a5fa; --tf-primary-color-hover: #93c5fd; --tf-primary-soft-bg: rgb(96 165 250 / 18%); --tf-primary-soft-border: rgb(96 165 250 / 35%); --tf-primary-ghost-bg: rgb(96 165 250 / 12%); --tf-danger-color: #f87171; --tf-danger-hover: #ef4444; --tf-danger-soft-bg: rgb(248 113 113 / 16%); --tf-danger-soft-border: rgb(248 113 113 / 28%); --tf-danger-soft-text: #fca5a5; --tf-danger-icon-color: #f87171; --tf-warning-soft-bg: rgb(217 119 6 / 20%); --tf-warning-soft-border: rgb(217 119 6 / 35%); --tf-warning-soft-text: #fbbf24; --tf-warning-icon-color: #f59e0b; --tf-bg-canvas: #0b1220; --tf-bg-surface: #111827; --tf-bg-surface-alt: #1f2937; --tf-bg-muted: #273449; --tf-bg-hover: #334155; --tf-bg-active: #3b4b63; --tf-bg-input: #0f172a; --tf-bg-input-disabled: #0b1324; --tf-bg-tag: rgb(148 163 184 / 20%); --tf-border-color: #334155; --tf-border-color-strong: #475569; --tf-border-color-soft: #263449; --tf-node-outline-color: #475569; --tf-node-hover-border: rgb(96 165 250 / 38%); --tf-text-primary: #e5e7eb; --tf-text-secondary: #cbd5e1; --tf-text-muted: #94a3b8; --tf-text-disabled: #64748b; --tf-icon-bg: rgb(96 165 250 / 20%); --tf-icon-color: #93c5fd; --tf-loop-handle-text: #f8fafc; --tf-shadow-soft: 0 2px 8px rgb(2 6 23 / 35%); --tf-shadow-medium: 0 10px 25px rgb(2 6 23 / 48%); --tf-focus-shadow: 0 0 0 2px rgb(96 165 250 / 20%); --tf-tip-bg: #020617; --tf-tip-text: #e2e8f0; --tf-scrollbar-thumb: #475569; --tf-slider-track-bg: #475569; --tf-slider-thumb-bg: #93c5fd; --xy-node-boxshadow-selected: 0 0 0 1px var(--tf-primary-color); --xy-handle-background-color: var(--tf-primary-color); --xy-handle-border-color: var(--tf-bg-canvas); --xy-background-color: var(--tf-bg-canvas); --xy-background-pattern-dots-color: #334155; --xy-background-pattern-lines-color: #334155; --xy-background-pattern-cross-color: #334155; --xy-edge-stroke: #64748b; --xy-edge-stroke-selected: #93c5fd; --xy-controls-button-background-color: var(--tf-bg-surface); --xy-controls-button-background-color-hover: var(--tf-bg-hover); --xy-controls-button-color: var(--tf-text-secondary); --xy-controls-button-color-hover: var(--tf-text-primary); --xy-controls-button-border-color: var(--tf-border-color); --xy-minimap-background-color: var(--tf-bg-surface); --xy-minimap-mask-background-color: rgb(15 23 42 / 70%); --xy-minimap-node-background-color: #475569; --xy-edge-label-background-color: var(--tf-bg-surface); --xy-edge-label-color: var(--tf-text-primary); }