/**
 * Rustify design tokens — single source of truth.
 * Imported by frontend/, client/, doc/.
 * Color theme: blue (--rustify-primary / --rustify-secondary).
 */
:root {
  /* Brand */
  --rustify-primary: #0d47a1;
  --rustify-primary-dark: #0a2f6b;
  --rustify-primary-light: #1565c0;
  --rustify-secondary: #5cbbff;
  --rustify-accent-gold: #ffc300;
  --rustify-accent-green: #7ae40b;
  --rustify-accent-cyan: #00e5ff;

  /* Semantic */
  --rustify-success: #4caf50;
  --rustify-error: #ff5252;
  --rustify-warning: #ff9800;
  --rustify-info: #03a9f4;

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

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

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

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

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

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

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

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

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

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

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

  /* Doc site (light) */
  --rustify-doc-bg: #f1f5f9;
  --rustify-doc-surface: #ffffff;
  --rustify-doc-border: #e2e8f0;
  --rustify-doc-accent-light: #dbeafe;
  --rustify-doc-text: var(--rustify-text-inverse);
  --rustify-doc-text-muted: #64748b;
  --rustify-doc-text-footer: #475569;
  --rustify-doc-radius: 14px;
  --rustify-doc-shadow-sm: 0 1px 4px rgba(0, 0, 0, 0.06);
  --rustify-doc-shadow: 0 4px 20px rgba(0, 0, 0, 0.07);
  --rustify-doc-shadow-lg: 0 12px 36px rgba(0, 0, 0, 0.11);
  --rustify-doc-transition: 0.2s ease;

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