/* ==========================================================================
   fleetmux.dev — design tokens
   Every colour, space, radius, shadow and motion value used by the site is
   declared here. Pages and components must reference these variables only.
   ========================================================================== */

:root {
  /* ---- surfaces ---------------------------------------------------------- */
  --bg: #05070d;
  --bg-deep: #03050a;
  --surface: #080c15;
  --surface-2: #0b1120;
  --panel: #0b1020;
  --panel-2: #0e1526;
  --panel-hover: #111a2e;

  /* ---- lines and borders ------------------------------------------------ */
  --line: #1b2438;
  --line-strong: #27354f;
  --line-glow: rgba(61, 245, 200, 0.28);
  --line-violet: rgba(139, 92, 246, 0.32);

  /* ---- text ------------------------------------------------------------- */
  --text: #e8eef8;
  --text-soft: #c3cfe0;
  --muted: #94a3b8;
  --dim: #7a8ba1; /* 5.4:1 on --panel, 5.2:1 on --panel-2 (WCAG AA body text) */
  --text-inverse: #05070d;

  /* ---- accents ---------------------------------------------------------- */
  --accent: #3df5c8;
  --accent-2: #22d3ee;
  --violet: #8b5cf6;
  --amber: #f5b83d;
  --danger: #ff6b81;
  --ok: var(--accent);

  --accent-soft: rgba(61, 245, 200, 0.1);
  --accent-softer: rgba(61, 245, 200, 0.05);
  --violet-soft: rgba(139, 92, 246, 0.12);
  --amber-soft: rgba(245, 184, 61, 0.12);
  --danger-soft: rgba(255, 107, 129, 0.12);

  --focus: #7dfbe0;

  /* ---- typography ------------------------------------------------------- */
  --font-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;
  --font-sans: system-ui, -apple-system, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;

  --fs-2xs: 0.6875rem; /* 11px */
  --fs-xs: 0.75rem;    /* 12px */
  --fs-sm: 0.8125rem;  /* 13px */
  --fs-base: 1rem;     /* 16px */
  --fs-md: 1.0625rem;  /* 17px */
  --fs-lg: 1.1875rem;  /* 19px */
  --fs-xl: clamp(1.375rem, 1.1rem + 1.1vw, 1.75rem);
  --fs-2xl: clamp(1.75rem, 1.35rem + 1.7vw, 2.5rem);
  --fs-3xl: clamp(2.25rem, 1.6rem + 3vw, 3.75rem);
  --fs-4xl: clamp(2.75rem, 1.7rem + 4.6vw, 5rem);

  --lh-tight: 1.12;
  --lh-snug: 1.3;
  --lh-normal: 1.62;
  --lh-loose: 1.75;

  --tracking-tight: -0.02em;
  --tracking-wide: 0.06em;
  --tracking-wider: 0.14em;

  --weight-regular: 400;
  --weight-medium: 500;
  --weight-semibold: 600;
  --weight-bold: 700;

  /* ---- spacing scale (4px base) ----------------------------------------- */
  --sp-1: 0.25rem;
  --sp-2: 0.5rem;
  --sp-3: 0.75rem;
  --sp-4: 1rem;
  --sp-5: 1.25rem;
  --sp-6: 1.5rem;
  --sp-7: 1.75rem;
  --sp-8: 2rem;
  --sp-9: 2.5rem;
  --sp-10: 3rem;
  --sp-11: 4rem;
  --sp-12: 5rem;
  --sp-13: 6.5rem;

  /* ---- radii ------------------------------------------------------------ */
  --r-xs: 4px;
  --r-sm: 6px;
  --r-md: 10px;
  --r-lg: 14px;
  --r-xl: 20px;
  --r-2xl: 28px;
  --r-pill: 999px;

  /* ---- shadows and glows ------------------------------------------------ */
  --shadow-xs: 0 1px 2px rgba(0, 0, 0, 0.4);
  --shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.35);
  --shadow-md: 0 12px 32px -12px rgba(0, 0, 0, 0.7);
  --shadow-lg: 0 32px 80px -32px rgba(0, 0, 0, 0.85);
  --shadow-inset: inset 0 1px 0 rgba(255, 255, 255, 0.04);
  --glow-accent: 0 0 0 1px var(--line-glow), 0 0 32px -8px rgba(61, 245, 200, 0.35);
  --glow-violet: 0 0 0 1px var(--line-violet), 0 0 40px -10px rgba(139, 92, 246, 0.45);
  --glow-text: 0 0 24px rgba(61, 245, 200, 0.35);

  /* ---- layout ----------------------------------------------------------- */
  --container: 1160px;
  --container-narrow: 760px;
  --container-wide: 1320px;
  --gutter: clamp(1rem, 0.5rem + 2.2vw, 2rem);
  --section-y: clamp(3rem, 2rem + 4vw, 6rem);
  --nav-h: 64px;

  /* ---- motion ----------------------------------------------------------- */
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --dur-1: 120ms;
  --dur-2: 200ms;
  --dur-3: 320ms;
  --dur-4: 600ms;
  --reveal-shift: 18px;

  /* ---- layers ----------------------------------------------------------- */
  --z-bg: 0;
  --z-content: 1;
  --z-nav: 50;
  --z-menu: 60;
  --z-skip: 100;

  /* ---- component tokens: terminal --------------------------------------- */
  --term-bg: #04060c;
  --term-bar: #0a101d;
  --term-line: #17233a;
  --term-text: #cfe0f2;
  --term-dim: #6f8299;
  --term-green: var(--accent);
  --term-cyan: var(--accent-2);
  --term-violet: #a78bfa;
  --term-amber: var(--amber);
  --term-red: var(--danger);
  --term-font: var(--font-mono);
  --term-fs: 0.8125rem;
  --term-lh: 1.55;
  --term-cursor: var(--accent);

  color-scheme: dark;
}

/* Motion off: the reduced-motion media query in base.css also honours the OS
   setting; the class below lets a page force the static presentation. */
:root.no-motion {
  --reveal-shift: 0px;
}
