/* onyx/static/css/tokens.css */
/* ═══ Design Tokens — Warm Graphite ═══ */

:root,
[data-theme="dark"] {
  --bg-base: #0c0a0f;
  --bg-surface: #1a1720;
  --bg-elevated: #24202a;
  --bg-deep: #100e14;
  --border-default: #2c2733;
  --border-subtle: #362f3d;
  --text-primary: #e8e0f0;
  --text-secondary: #b0a2be;
  --text-muted: #7a6f88;
  --text-faint: #554c60;
  --accent: #7c5cbf;
  --accent-text: #cbb0f0;
  --accent-hover: #8f6ed0;
  --accent-glow: rgba(124,92,191,0.30);
  --success: #5fd4a0;
  --error: #f07068;
  --danger: #f07068;
  --warning: #e8c450;
  /* Dark-theme button text tokens (same as status colors) */
  --btn-primary-text: #e0d0f0;
  --btn-success-text: var(--success);
  --btn-danger-text: var(--error);
  --btn-warning-text: var(--warning);
  --info: #68b8f0;
  /* G3: Semantic glow tokens */
  --success-glow: rgba(95,212,160,0.25);
  --error-glow: rgba(240,112,104,0.25);
  --warning-glow: rgba(232,196,80,0.25);
  --info-glow: rgba(104,184,240,0.25);
  /* M3: Category semantic tokens */
  --cat-domain: #b8a5cc;
  --cat-hosts: #f06060;
  --cat-devices: #50d8c0;
  --cat-web: #68b8f0;
  --cat-post-exploit: #e8a050;
  --cat-bruteforce: #e8c450;
  --cat-scanning: #8ec4a0;
  --orange: #e8a050;
  --pwned: #f06060;
  --teal: #50d8c0;
  --yellow: #d8d050;
  --pink: #e080c8;
  --font-sans: -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif;
  --font-mono: 'SF Mono', 'Fira Code', 'Cascadia Code', 'JetBrains Mono', monospace;
  --radius-sm: 4px;
  --radius-md: 6px;
  --radius-lg: 10px;
  --radius-xl: 14px;
  --sidebar-width: 180px;
  --sidebar-collapsed: 52px;
  --topbar-height: 42px;
  /* Shadows — deep, dramatic */
  --shadow-sm: 0 1px 3px rgba(0,0,0,0.5), 0 1px 2px rgba(0,0,0,0.3);
  --shadow-md: 0 4px 16px rgba(0,0,0,0.5), 0 2px 4px rgba(0,0,0,0.3);
  --shadow-lg: 0 12px 40px rgba(0,0,0,0.6), 0 4px 12px rgba(0,0,0,0.4);
  --shadow-glow: 0 0 20px var(--accent-glow);
  --shadow-sidebar: 4px 0 24px rgba(0,0,0,0.5);
  --shadow-card: 0 2px 12px rgba(0,0,0,0.4), inset 0 1px 0 rgba(255,255,255,0.03);
  --shadow-inset: inset 0 2px 4px rgba(0,0,0,0.3);
  /* Glass */
  --glass-bg: rgba(24,21,27,0.8);
  --glass-border: rgba(255,255,255,0.06);
  /* Theme reveal bg */
  --theme-bg: #0c0a0f;
  /* Terminal block */
  --terminal-bg: #080610;
  --terminal-dim: #6a5f7a;
  /* Graph tokens */
  --graph-grid: rgba(255,255,255,0.08);
  --graph-shadow-color: rgba(0,0,0,0.18);
  --graph-sel-fill: rgba(184,165,204,0.08);
  --graph-sel-stroke: #b8a5cc;
  --graph-label-halo: #100e16;
  --graph-node-attacker-border: #b8a5cc;
  --graph-node-attacker-bg: rgba(74,61,92,0.25);
  --graph-node-attacker-text: #b8a5cc;
  --graph-node-host-border: #88b4d4;
  --graph-node-host-bg: rgba(136,180,212,0.08);
  --graph-node-cred-border: #d4a05a;
  --graph-node-cred-bg: rgba(212,160,90,0.12);
  --graph-node-domain-border: #e07070;
  --graph-node-domain-bg: rgba(224,112,112,0.10);
  --graph-edge-exploit: #e07070;
  --graph-edge-spray: #8ec4a0;
  --graph-edge-lateral: #88b4d4;
  --graph-edge-extract: #d4a05a;
  --graph-edge-compromise: #e07070;
  --graph-edge-trust: #b8a5cc;
  --graph-glow-pwned: #e07070;
  --graph-glow-shell: #8ec4a0;
  --graph-glow-dc: #b8a5cc;
  --graph-badge-dc: #b8a5cc;
  --graph-badge-shell: #8ec4a0;
  --graph-badge-pwned: #e07070;
  --graph-badge-da: #e07070;
  --graph-badge-cred: #d4a05a;
  --graph-stat-cred: #d4a05a;
  --graph-stat-shell: #8ec4a0;
  --graph-stat-pwned: #e07070;
}

[data-theme="light"] {
  /* ── Warm dusty-rose stone — максимально спокойная ── */
  --bg-base: #d6d0d8;
  --bg-surface: #cbc4ce;
  --bg-elevated: #c0b8c4;
  --bg-deep: #d0c9d2;
  --border-default: rgba(90,70,100,0.18);
  --border-subtle: rgba(90,70,100,0.25);
  --text-primary: #302838;
  --text-secondary: #4e4460;
  --text-muted: #706878;
  --text-faint: #948c9c;
  --accent: #7a6898;
  --accent-text: #685888;
  --accent-hover: #887498;
  --accent-glow: rgba(122,104,152,0.10);
  --success: #5e8870;
  --error: #986060;
  --danger: #986060;
  --warning: #887848;
  --info: #607888;
  /* G3: Semantic glow tokens — light */
  --success-glow: rgba(94,136,112,0.15);
  --error-glow: rgba(152,96,96,0.15);
  --warning-glow: rgba(136,120,72,0.15);
  --info-glow: rgba(96,120,136,0.15);
  /* M3: Category semantic tokens — light */
  --cat-domain: #7a6898;
  --cat-hosts: #986060;
  --cat-devices: #588878;
  --cat-web: #607888;
  --cat-post-exploit: #907058;
  --cat-bruteforce: #887848;
  --cat-scanning: #5e8870;
  --orange: #907058;
  --pwned: #986060;
  --teal: #588878;
  --yellow: #787840;
  --pink: #886070;
  --shadow-sm: 0 1px 3px rgba(50,40,60,0.07);
  --shadow-md: 0 3px 12px rgba(50,40,60,0.08);
  --shadow-lg: 0 8px 28px rgba(50,40,60,0.10);
  --shadow-glow: 0 0 12px rgba(122,104,152,0.06);
  --shadow-sidebar: 3px 0 16px rgba(50,40,60,0.06);
  --shadow-card: 0 1px 8px rgba(50,40,60,0.06), inset 0 1px 0 rgba(255,255,255,0.15);
  --shadow-inset: inset 0 1px 3px rgba(50,40,60,0.06);
  --glass-bg: rgba(203,196,206,0.92);
  --glass-border: rgba(255,255,255,0.12);
  --theme-bg: #d6d0d8;
  /* Terminal block */
  --terminal-bg: var(--bg-surface);
  --terminal-dim: #706878;
  /* Graph tokens — light */
  --graph-grid: rgba(50,40,60,0.07);
  --graph-shadow-color: rgba(50,40,60,0.10);
  --graph-sel-fill: rgba(122,104,152,0.06);
  --graph-sel-stroke: #887498;
  --graph-label-halo: #d6d0d8;
  --graph-node-attacker-border: #7a6898;
  --graph-node-attacker-bg: rgba(122,104,152,0.10);
  --graph-node-attacker-text: #302840;
  --graph-node-host-border: #607888;
  --graph-node-host-bg: rgba(96,120,136,0.10);
  --graph-node-cred-border: #907058;
  --graph-node-cred-bg: rgba(144,112,88,0.10);
  --graph-node-domain-border: #986060;
  --graph-node-domain-bg: rgba(152,96,96,0.08);
  --graph-edge-exploit: #986060;
  --graph-edge-spray: #5e8870;
  --graph-edge-lateral: #607888;
  --graph-edge-extract: #907058;
  --graph-edge-compromise: #986060;
  --graph-edge-trust: #7a6898;
  --graph-glow-pwned: #986060;
  --graph-glow-shell: #5e8870;
  --graph-glow-dc: #7a6898;
  --graph-badge-dc: #7a6898;
  --graph-badge-shell: #5e8870;
  --graph-badge-pwned: #986060;
  --graph-badge-da: #986060;
  --graph-badge-cred: #907058;
  --graph-stat-cred: #907058;
  --graph-stat-shell: #5e8870;
  --graph-stat-pwned: #986060;
  /* Light-theme button text overrides for readability */
  --btn-primary-text: #f0e8f8;
  --btn-success-text: #3a6650;
  --btn-danger-text: #7a4040;
  --btn-warning-text: #605838;
}
