/* Vision Obsidian Design System — Tokens */
/* =============================================
           OBSIDIAN DESIGN SYSTEM — Vision Core
           ============================================= */
        :root {
            --canvas: #060810;
            --surface-1: #0a0d1a;
            --surface-2: #0e1224;
            --surface-3: #13182e;
            --surface-hover: rgba(124, 58, 237, 0.07);
            --surface-active: rgba(124, 58, 237, 0.12);
            --border-subtle: rgba(124, 58, 237, 0.07);
            --border-default: rgba(124, 58, 237, 0.14);
            --border-strong: rgba(168, 85, 247, 0.28);
            --border-glow: rgba(124, 58, 237, 0.55);
            --accent: #7c3aed;
            --accent-dim: #5b21b6;
            --accent-light: #a78bfa;
            --accent-glow: rgba(124, 58, 237, 0.35);
            --accent-cyan: #06b6d4;
            --accent-cyan-dim: #0891b2;
            --accent-cyan-glow: rgba(6, 182, 212, 0.3);
            --success: #10b981;
            --success-glow: rgba(16, 185, 129, 0.25);
            --warning: #f59e0b;
            --warning-glow: rgba(245, 158, 11, 0.2);
            --danger: #ef4444;
            --danger-glow: rgba(239, 68, 68, 0.2);
            /* --- System Flow Graph --- */
            .system-graph-container {
                display: flex;
                flex-direction: column;
                align-items: center;
                gap: 50px;
                padding: 20px 0;
                position: relative;
            }
            .graph-row { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; position: relative; width: 100%; }
            .graph-node {
                background: rgba(0,0,0,0.3);
                border: 1px solid var(--border);
                border-radius: 16px;
                padding: 20px;
                width: 240px;
                position: relative;
                z-index: 2;
                transition: all 0.3s ease;
            }
            .graph-node:hover { border-color: var(--accent); background: rgba(255,255,255,0.03); }
            
            .sync-link-h {
                position: absolute;
                top: 50%;
                left: 100%;
                width: 120px;
                height: 2px;
                transform: translateY(-50%);
                z-index: 1;
            }
            
            .db-link-v {
                position: absolute;
                top: 100%;
                width: 2px;
                height: 50px;
                z-index: 1;
            }
            
            .data-pulse {
                position: absolute;
                width: 4px;
                height: 4px;
                border-radius: 50%;
                background: var(--accent);
                box-shadow: 0 0 10px var(--accent);
                opacity: 0;
            }
            .pulse-v { animation: flowV 2s infinite linear; }
            .pulse-h { animation: flowH 2s infinite linear; }
            @keyframes flowV {
                0% { top: 0; opacity: 1; }
                100% { top: 100%; opacity: 0; }
            }
            @keyframes flowH {
                0% { left: 0; opacity: 1; }
                100% { left: 100%; opacity: 0; }
            }
            
            .diagnostic-panel {
                background: rgba(0,0,0,0.2);
                border: 1px solid var(--border);
                border-radius: 12px;
                padding: 20px;
                display: flex;
                flex-direction: column;
                gap: 12px;
                margin-top: 20px;
            }
            --text-primary: #dde4f0;
            --text-secondary: #7986a8;
            --text-muted: #4a5578;
            --text-disabled: #2d3555;
            --text-accent: #a78bfa;
            --grad-accent: linear-gradient(135deg, #a78bfa, #06b6d4);
            --grad-surface: linear-gradient(135deg, rgba(124, 58, 237, 0.08), rgba(6, 182, 212, 0.04));
            --aurora: radial-gradient(ellipse 90% 55% at 50% -5%, rgba(124, 58, 237, 0.22) 0%, rgba(6, 182, 212, 0.06) 50%, transparent 75%);
            /* 8pt grid */
            --s1: 4px;
            --s2: 8px;
            --s3: 12px;
            --s4: 16px;
            --s5: 20px;
            --s6: 24px;
            --s8: 32px;
            --s10: 40px;
            --s12: 48px;
            --r-sm: 8px;
            --r-md: 12px;
            --r-lg: 16px;
            --r-xl: 20px;
            --r-2xl: 24px;
            --sidebar-width: 240px;
            --sidebar-collapsed-width: 60px;
            --ease-out: cubic-bezier(0.16, 1, 0.3, 1);

            /* Legacy compatibility aliases */
            --bg: var(--canvas);
            --surface: var(--surface-1);
            --surface-solid: var(--surface-2);
            --cockpit-bg: var(--canvas);
            --cockpit-sidebar: var(--surface-2);
            --cockpit-accent: var(--accent);
            --cockpit-card: var(--surface-1);
            --cockpit-border: var(--border-subtle);
            --glass: blur(20px);
            --glass-border: var(--border-default);
            --text: var(--text-primary);
            --border: var(--border-default);
        }
