/* ==========================================================================
   eFinder — design tokens
   The single source of truth for colour, type, spacing, motion and elevation.
   Nothing below this file should hard-code a raw value.
   ========================================================================== */

:root {
  /* --- Ink & paper ------------------------------------------------------ */
  --ink: #14161a;          /* primary text */
  --ink-2: #3d424b;        /* secondary text */
  --ink-3: #5c626c;        /* tertiary / captions — 5.0:1 on the darkest band */
  --ink-inverse: #f7f6f3;  /* text on dark */

  --paper: #fbfaf7;        /* page background */
  --paper-2: #f4f1ea;      /* alternating band */
  --paper-3: #ece7dc;      /* deepest warm band */
  --surface: #ffffff;      /* cards */
  --night: #10131a;        /* dark sections */
  --night-2: #191d26;      /* raised surface on dark */

  --line: #e2ded4;         /* hairline on paper */
  --line-strong: #cdc7b8;
  --line-night: #2a2f3a;   /* hairline on dark */

  /* --- Accents ---------------------------------------------------------- */
  --brass: #a97c2f;        /* decorative accent — rules, dots, borders only */
  --brass-solid: #8f6825;  /* brass as a filled button: white on it is 5.0:1 */
  --brass-deep: #8a6423;   /* brass as text on paper: 5.1:1 */
  --brass-soft: #f6efdf;
  --brass-line: #e3d1a8;

  --verified: #0e6b47;     /* confirmed / high confidence */
  --verified-soft: #e7f2ec;
  --verified-line: #b9d8c9;

  --caution: #8a5a12;      /* medium confidence */

  --cold: #9a3b32;         /* the "not found" state */
  --cold-soft: #f8ecea;
  --cold-line: #e6c9c5;

  /* --- Type ------------------------------------------------------------- */
  --font-display: 'Newsreader', 'Iowan Old Style', Georgia, 'Times New Roman', serif;
  --font-ui: 'Inter', ui-sans-serif, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-mono: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, monospace;

  /* Fluid scale — clamp(min, preferred, max). 320px → 1440px viewport. */
  --step--1: clamp(0.82rem, 0.80rem + 0.08vw, 0.86rem);
  --step-0: clamp(0.95rem, 0.92rem + 0.15vw, 1.05rem);
  --step-1: clamp(1.08rem, 1.02rem + 0.28vw, 1.25rem);
  --step-2: clamp(1.25rem, 1.14rem + 0.52vw, 1.6rem);
  --step-3: clamp(1.5rem, 1.28rem + 1.05vw, 2.2rem);
  --step-5: clamp(2.3rem, 1.6rem + 3.4vw, 4.4rem);
  --step-6: clamp(2.7rem, 1.6rem + 5.2vw, 5.8rem);

  --leading-tight: 1.02;
  --leading-snug: 1.2;
  --leading-body: 1.65;
  --tracking-display: -0.028em;
  --tracking-label: 0.13em;

  /* --- Space ------------------------------------------------------------ */
  --space-xs: 0.5rem;
  --space-s: 0.75rem;
  --space-m: 1rem;
  --space-l: 1.5rem;
  --space-xl: 2rem;
  --space-2xl: 3rem;
  --space-3xl: 4rem;
  /* Twelve sections at 8.5rem top and bottom spent over 3200px on padding alone. The rhythm still
     reads as generous at 6.5rem and gives back most of a screen. */
  --section-y: clamp(3.75rem, 2.75rem + 4vw, 6.5rem);
  --gutter: clamp(1.25rem, 0.9rem + 1.6vw, 2.5rem);
  --measure: 60ch;

  /* --- Shape & elevation ------------------------------------------------ */
  --radius-s: 8px;
  --radius-m: 12px;
  --radius-l: 18px;
  --radius-xl: 26px;
  --radius-pill: 999px;

  --shadow-m: 0 2px 4px rgba(20, 22, 26, 0.04), 0 12px 28px rgba(20, 22, 26, 0.07);
  --shadow-l: 0 4px 8px rgba(20, 22, 26, 0.04), 0 28px 64px rgba(20, 22, 26, 0.11);

  /* --- Layout ----------------------------------------------------------- */
  --max-width: 1200px;
  --max-width-narrow: 940px;

  /* --- Motion ----------------------------------------------------------- */
  --ease-out: cubic-bezier(0.22, 1, 0.36, 1);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --dur-fast: 140ms;
  --dur-base: 260ms;
  --dur-slow: 620ms;

  /* --- Z ---------------------------------------------------------------- */
  --z-nav: 100;
  --z-skip: 200;
}

/* Respect the OS-level request for reduced motion everywhere at once. */
@media (prefers-reduced-motion: reduce) {
  :root {
    --dur-fast: 1ms;
    --dur-base: 1ms;
    --dur-slow: 1ms;
  }
}
