/**
 * Rustify design tokens — single source of truth.
 * Imported by frontend/, client/, doc/.
 * Color theme: blue (--toddyi-primary / --toddyi-secondary).
 */
:root {
  /* Brand */
  --toddyi-primary: #b0764a;
  --toddyi-primary-dark: #8a5732;
  --toddyi-primary-light: #c9936b;
  --toddyi-secondary: #d8a878;
  --toddyi-accent-gold: #e0a800;
  --toddyi-accent-green: #2e9e5b;
  --toddyi-accent-cyan: #e6bb8e;

  /* Semantic */
  --toddyi-success: #2e9e5b;
  --toddyi-error: #d81b60;
  --toddyi-warning: #e0a800;
  --toddyi-info: #b0764a;

  /* Text */
  --toddyi-text-primary: rgba(255, 255, 255, 0.92);
  --toddyi-text-secondary: rgba(255, 255, 255, 0.72);
  --toddyi-text-muted: rgba(255, 255, 255, 0.55);
  --toddyi-text-inverse: #0f172a;
  --toddyi-text-on-dark: #ffffff;

  /* Surfaces */
  --toddyi-bg-gradient: linear-gradient(
    135deg,
    var(--toddyi-primary) 0%,
    var(--toddyi-primary-dark) 100%
  );
  --toddyi-gradient-primary: linear-gradient(
    45deg,
    var(--toddyi-primary),
    var(--toddyi-secondary)
  );
  --toddyi-gradient-header: linear-gradient(
    135deg,
    var(--toddyi-primary-dark) 0%,
    var(--toddyi-primary) 55%,
    var(--toddyi-primary-light) 100%
  );
  --toddyi-surface-glass: rgba(15, 23, 42, 0.6);
  --toddyi-surface-overlay: rgba(0, 0, 0, 0.85);
  --toddyi-surface-overlay-soft: rgba(0, 0, 0, 0.8);
  --toddyi-surface-muted: rgba(255, 255, 255, 0.1);
  --toddyi-surface-cream: #fffbeb;
  --toddyi-border-subtle: rgba(255, 255, 255, 0.1);
  --toddyi-border-accent: color-mix(
    in srgb,
    var(--toddyi-secondary) 45%,
    transparent
  );
  --toddyi-border-strong: rgba(255, 255, 255, 0.2);

  /* Chart / board */
  --toddyi-chart-success: var(--toddyi-success);
  --toddyi-chart-error: var(--toddyi-error);
  --toddyi-chart-info: var(--toddyi-info);
  --toddyi-chart-purple: #d1c4e9;
  --toddyi-chart-purple-fill: rgba(209, 196, 233, 0.1);
  --toddyi-node-default: #3ebda0;
  --toddyi-node-active: #d81212;
  --toddyi-node-border: #000000;
  --toddyi-grid-line: rgba(255, 255, 255, 0.05);

  /* Ban overlay */
  --toddyi-ban-text: #ffeb3b;
  --toddyi-ban-glow-orange: #ff5722;
  --toddyi-ban-flash-yellow: rgba(255, 235, 59, 0.35);
  --toddyi-ban-flash-orange: rgba(255, 87, 34, 0.15);

  /* Terminal / HUD */
  --toddyi-scanline-transparent: rgba(18, 16, 16, 0);
  --toddyi-scanline-alt: rgba(0, 0, 0, 0.1);
  --toddyi-terminal-in: #00ff41;
  --toddyi-terminal-out: #33b5ff;
  --toddyi-terminal-sys: var(--toddyi-accent-gold);
  --toddyi-terminal-err: var(--toddyi-error);
  --toddyi-signal-live: var(--toddyi-accent-green);
  --toddyi-signal-idle: var(--toddyi-warning);
  --toddyi-signal-off: var(--toddyi-error);

  /* Effects */
  --toddyi-glow-cyan: color-mix(
    in srgb,
    var(--toddyi-accent-cyan) 60%,
    transparent
  );
  --toddyi-glow-cyan-soft: color-mix(
    in srgb,
    var(--toddyi-accent-cyan) 40%,
    transparent
  );
  --toddyi-glow-green: color-mix(
    in srgb,
    var(--toddyi-accent-green) 80%,
    transparent
  );
  --toddyi-shadow-glass: 0 0 40px -15px
    color-mix(in srgb, var(--toddyi-primary) 50%, transparent);
  --toddyi-shadow-cyan: 0 0 40px -15px
    color-mix(in srgb, var(--toddyi-accent-cyan) 40%, transparent);
  --toddyi-shadow-elevated: 0 12px 32px rgba(0, 0, 0, 0.28);

  /* Typography */
  --toddyi-font-sans:
    system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial,
    sans-serif;
  --toddyi-font-mono:
    ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;

  /* Spacing */
  --toddyi-space-1: 0.25rem;
  --toddyi-space-2: 0.5rem;
  --toddyi-space-3: 0.75rem;
  --toddyi-space-4: 1rem;
  --toddyi-space-6: 1.5rem;
  --toddyi-space-8: 2rem;
  --toddyi-page-padding: 1rem;
  --toddyi-card-radius: 0.75rem;
  --toddyi-radius-pill: 999px;

  /* Motion */
  --toddyi-transition-fast: 0.15s ease;
  --toddyi-transition-base: 0.25s ease;
  --toddyi-transition-slow: 0.45s ease;

  /* Z-index */
  --toddyi-z-background: -1;
  --toddyi-z-overlay: 10;
  --toddyi-z-modal: 100;
  --toddyi-z-toast: 200;

  /* Electron agent UI */
  --toddyi-agent-bg: #000000;
  --toddyi-agent-surface: #0a0a0a;
  --toddyi-agent-surface-input: #111111;
  --toddyi-agent-surface-input-focus: #1a1a1a;
  --toddyi-agent-surface-bar: #222222;
  --toddyi-agent-surface-elevated: #202127;
  --toddyi-agent-border: #444444;
  --toddyi-agent-border-input: #555555;
  --toddyi-agent-border-subtle: #333333;
  --toddyi-agent-text: var(--toddyi-text-on-dark);
  --toddyi-agent-text-muted: #aaaaaa;
  --toddyi-agent-text-dim: #666666;
  --toddyi-agent-shadow: 0 0 20px rgba(255, 255, 255, 0.05);

  /* Doc site (light) */
  --toddyi-doc-bg: #f3ece0;
  --toddyi-doc-surface: #fbf7ef;
  --toddyi-doc-border: #ddd0ba;
  --toddyi-doc-accent-light: #ebe2d2;
  --toddyi-doc-text: #3b342a;
  --toddyi-doc-text-muted: #8a7f6d;
  --toddyi-doc-text-footer: #8a7f6d;
  --toddyi-doc-radius: 14px;
  --toddyi-doc-shadow-sm: 0 1px 4px rgba(60, 45, 20, 0.06);
  --toddyi-doc-shadow: 0 4px 20px rgba(60, 45, 20, 0.07);
  --toddyi-doc-shadow-lg: 0 12px 36px rgba(60, 45, 20, 0.11);
  --toddyi-doc-transition: 0.2s ease;

  /* Doc legacy aliases */
  --bg: var(--toddyi-doc-bg);
  --surface: var(--toddyi-doc-surface);
  --border: var(--toddyi-doc-border);
  --primary: var(--toddyi-primary);
  --primary-mid: var(--toddyi-primary-dark);
  --accent: var(--toddyi-secondary);
  --accent-light: var(--toddyi-doc-accent-light);
  --text: var(--toddyi-doc-text);
  --text-muted: var(--toddyi-doc-text-muted);
  --text-on-dark: var(--toddyi-text-on-dark);
  --text-footer: var(--toddyi-doc-text-footer);
  --radius: var(--toddyi-doc-radius);
  --shadow-sm: var(--toddyi-doc-shadow-sm);
  --shadow: var(--toddyi-doc-shadow);
  --shadow-lg: var(--toddyi-doc-shadow-lg);
  --transition: var(--toddyi-doc-transition);
  --main-blue: var(--toddyi-primary);
  --light-blue: var(--toddyi-doc-accent-light);
  --accent-blue: var(--toddyi-secondary);
  --border-color: var(--toddyi-doc-border);
  --gray-text: var(--toddyi-doc-text-muted);
}
