/* ─────────────────────────────────────────────────────────────────────────
 * design-systems/clickhouse/tokens.css
 *
 * Structured token bindings for "Design System Inspired by ClickHouse".
 * High-performance cockpit in acid yellow-green on obsidian black —
 * pure black canvas, neon volt accents, extra-heavy Inter (900) display,
 * charcoal-bordered cards, terminal-grade aesthetic.
 *
 * Key brand decisions encoded here:
 *   - Pure Black (#000000) page bg — never dark gray as page bg
 *   - Neon Volt (#faff69) as sole chromatic accent — maximum contrast on black
 *   - Charcoal borders (rgba(65,65,65,0.8)) — primary depth mechanism
 *   - Inter as primary, Basier as secondary display, Inconsolata for code
 *   - 96px display headlines with weight 900 — text as physical mass
 *   - Tight 1.0 leading on display sizes — billboard scale
 *   - Sharp 4px radius on buttons, 8px on cards — database precision geometry
 *   - Forest Green (#166534) doubles as --success — brand-aligned semantic
 * ─────────────────────────────────────────────────────────────────── */

:root {
  /* ─── Surface ─────────────────────────────────────────────────────
   * Dark void: pure black canvas, near-black surfaces.
   * The black is absolute (#000000) — never softened to dark gray. */
  --bg: #000000;             /* Pure Black — the page canvas, absolute */
  --surface: #141414;        /* Near Black — buttons, lifted dark surfaces */
  --surface-warm: var(--surface); /* alias — no warm tier in the cool-neutral palette */

  /* ─── Foreground ──────────────────────────────────────────────────
   * Pure White on black for primary, Silver for secondary.
   * All neutrals are perfectly neutral — no warm undertone. */
  --fg: #ffffff;             /* Pure White — primary text on dark surfaces */
  --fg-2: #a0a0a0;           /* Silver — secondary body text on dark */
  --muted: #a0a0a0;          /* Silver — captions, muted content */
  --meta: #585858;           /* Mid Gray — metadata, deepest neutral text */

  /* ─── Border ──────────────────────────────────────────────────────
   * Charcoal at 80% opacity — the workhorse for all card containment.
   * Deep charcoal for inner separators that should not visually compete. */
  --border: rgba(65, 65, 65, 0.8); /* Charcoal — primary card edge */
  --border-soft: #343434;    /* Deep Charcoal — inner separator, quieter */

  /* ─── Accent ──────────────────────────────────────────────────────
   * Neon Volt — the literal ClickHouse brand mark. Sole chromatic
   * interruption on the obsidian canvas. Used on CTAs, link hovers,
   * featured borders. Hover/active swap to dark variants per DESIGN.md:
   * the neon CTA's hover INVERTS to near-black bg; active dims to pale. */
  --accent: #faff69;         /* Neon Volt — signature acid yellow-green */
  --accent-on: #151515;      /* Near Black text on neon — maximum readability */
  --accent-hover: #1d1d1d;   /* Brand-specific: neon CTA inverts to dark on hover */
  --accent-active: #f4f692;  /* Pale Yellow — DESIGN.md active/pressed state */

  /* ─── Semantic ────────────────────────────────────────────────────
   * Forest Green doubles as success — it's already the brand's
   * "Get Started" CTA color, so it's natively part of the palette.
   * Warn and danger use schema defaults to stay distinguishable. */
  --success: #166534;        /* Forest Green — brand-aligned secondary CTA / success */
  --warn: #eab308;
  --danger: #dc2626;

  /* ─── Typography ──────────────────────────────────────────────────
   * Inter is the primary face — full weight spectrum (400/500/600/700/900).
   * Basier is the secondary display face for feature anchors at weight 600.
   * Inconsolata for code blocks at weight 600 — terminal-like rendering. */
  --font-display: "Inter", "Basier", Arial, Helvetica, ui-sans-serif, system-ui, sans-serif;
  --font-body: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  --font-mono: "Inconsolata", ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Monaco, Consolas, monospace;

  /* Type scale — DESIGN.md §3. 96px display mega, 72px hero, 36px feature.
   * Weight 900 is reserved for --text-4xl in components; 700 carries the
   * rest. Tight leading at scale — text feels architectural. */
  --text-xs: 12px;           /* Small — smallest text */
  --text-sm: 14px;           /* Caption / Uppercase Label (1.4px tracking) */
  --text-base: 16px;         /* Body / Button / Code */
  --text-lg: 20px;           /* Feature Title */
  --text-xl: 24px;           /* Sub-heading / Card title */
  --text-2xl: 36px;          /* Feature Heading (Basier 600) */
  --text-3xl: 72px;          /* Display / Hero (Inter 700) */
  --text-4xl: 96px;          /* Display Mega — Inter Black (900) */

  --leading-body: 1.5;
  --leading-tight: 1.0;      /* Display ultra-tight — physical mass */
  --tracking-display: normal; /* DESIGN.md: normal letter-spacing on display */

  /* ─── Spacing ─────────────────────────────────────────────────────
   * 8px base grid. Section vertical spacing 48–64px (generous). */
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-8: 32px;
  --space-12: 48px;

  --section-y-desktop: 64px; /* DESIGN.md: 48–64px generous section rhythm */
  --section-y-tablet: 48px;
  --section-y-phone: 32px;

  /* ─── Radius ──────────────────────────────────────────────────────
   * Sharp (4px) on buttons / badges / code blocks — database precision.
   * Comfortable (8px) on cards. Never round corners beyond 8px. */
  --radius-sm: 4px;          /* Sharp — buttons, badges, small elements */
  --radius-md: 8px;          /* Comfortable — cards, containers */
  --radius-lg: 8px;          /* Same — DESIGN.md caps radius at 8px */
  --radius-pill: 9999px;     /* Pill — toggle indicators, status badges */

  /* ─── Elevation ───────────────────────────────────────────────────
   * Shadows are barely visible on black — depth comes from borders.
   * Level 2 subtle shadow declared for parity; the real depth signal
   * is --elev-ring (charcoal hairline) and neon-border highlights. */
  --elev-flat: none;
  --elev-ring: 0 0 0 1px var(--border);
  --elev-raised: 0 1px 3px rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1);

  /* ─── Focus ring ──────────────────────────────────────────────────
   * Neon-tinted focus — unified interactive feedback signal across
   * links, buttons, and inputs. Always shifts toward the accent. */
  --focus-ring: 0 0 0 3px color-mix(in oklab, var(--accent), transparent 70%);

  /* ─── Motion ──────────────────────────────────────────────────────
   * Standard durations — ClickHouse's intensity is in color and weight,
   * not motion. Snappy enough to feel performant. */
  --motion-fast: 150ms;
  --motion-base: 200ms;
  --ease-standard: cubic-bezier(0.2, 0, 0, 1);

  /* ─── Layout ──────────────────────────────────────────────────────
   * 1280px container — wide enough for multi-column dense data layouts
   * while still tractable on standard desktops (DESIGN.md tops at 2200px
   * for ultra-wide; 1280px is the workable default). */
  --container-max: 1280px;
  --container-gutter-desktop: 24px;
  --container-gutter-tablet: 16px;
  --container-gutter-phone: 12px;
}
