/* Nature Tools — Design Tokens
   Dark-first, field-station aesthetic. All values are CSS custom properties so
   the Tweaks panel can override them at the :root level at runtime. */

:root {
  /* === COLOR — surfaces (dark-first) === */
  --nt-bg-0: #0d100e;        /* deepest — page bg */
  --nt-bg-1: #14181a;        /* primary surface */
  --nt-bg-2: #1a1f1d;        /* raised card */
  --nt-bg-3: #232826;        /* hovered card / input */
  --nt-bg-4: #2d3330;        /* border-subtle bg */

  /* === COLOR — light surfaces (for editorial sections) === */
  --nt-paper-0: #f4f1ea;     /* warm off-white */
  --nt-paper-1: #ebe7dd;     /* paper card */
  --nt-paper-2: #d8d3c4;     /* paper border */

  /* === COLOR — ink === */
  --nt-ink-hi: #ebe9dd;      /* primary text on dark */
  --nt-ink-md: #b4b3a6;      /* secondary on dark */
  --nt-ink-lo: #7c8079;      /* tertiary / metadata */
  --nt-ink-dim: #555852;     /* hairlines / disabled */

  --nt-ink-paper-hi: #1a1d1b;
  --nt-ink-paper-md: #4a4d47;
  --nt-ink-paper-lo: #6e7068;

  /* === COLOR — borders === */
  --nt-border: #2a2e2b;
  --nt-border-strong: #3a4037;
  --nt-border-faint: #1f2321;

  /* === COLOR — accent (lichen green default, tweakable) === */
  --nt-accent: #8a9d6f;          /* lichen green */
  --nt-accent-deep: #5e7048;
  --nt-accent-soft: #aebd95;
  --nt-accent-tint: rgba(138, 157, 111, 0.12);

  /* product-specific accents */
  --nt-c-flyway: #6e91a8;        /* glacier blue */
  --nt-c-mfg: #8a9d6f;           /* lichen */
  --nt-c-inat: #c89968;          /* warm sandstone */
  --nt-c-geoplace: #a87b5e;      /* terracotta-clay */
  --nt-c-glm: #b58da9;           /* glacial-lake mauve */
  --nt-c-fieldmark: #c4a86a;     /* meadow gold */
  --nt-c-place: #6f8b8a;         /* spruce-teal */
  --nt-c-tripper: #a89569;       /* grass-tan */
  --nt-c-bedrock: #9a7f6e;       /* sediment */

  /* === COLOR — semantic === */
  --nt-status-live: #8a9d6f;
  --nt-status-dev: #c4a86a;
  --nt-status-free: #aebd95;

  /* === TYPE === */
  --nt-font-sans: "Söhne", "Inter Tight", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  --nt-font-mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;
  --nt-font-display: var(--nt-font-sans);

  /* type scale — generous for an information-rich field-station feel */
  --nt-fs-12: 12px;
  --nt-fs-13: 13px;
  --nt-fs-14: 14px;
  --nt-fs-15: 15px;
  --nt-fs-16: 16px;
  --nt-fs-18: 18px;
  --nt-fs-20: 20px;
  --nt-fs-24: 24px;
  --nt-fs-28: 28px;
  --nt-fs-32: 32px;
  --nt-fs-40: 40px;
  --nt-fs-48: 48px;
  --nt-fs-64: 64px;
  --nt-fs-80: 80px;

  /* line heights */
  --nt-lh-tight: 1.05;
  --nt-lh-snug: 1.18;
  --nt-lh-body: 1.5;
  --nt-lh-loose: 1.65;

  /* tracking */
  --nt-track-eyebrow: 0.14em;
  --nt-track-display: -0.018em;
  --nt-track-body: 0;

  /* === SPACING === */
  --nt-s-1: 4px;
  --nt-s-2: 8px;
  --nt-s-3: 12px;
  --nt-s-4: 16px;
  --nt-s-5: 24px;
  --nt-s-6: 32px;
  --nt-s-7: 48px;
  --nt-s-8: 64px;
  --nt-s-9: 96px;
  --nt-s-10: 128px;

  /* === RADIUS — small, field-instrument restraint === */
  --nt-r-sm: 2px;
  --nt-r-md: 4px;
  --nt-r-lg: 8px;
  --nt-r-pill: 999px;

  /* === MOTION === */
  --nt-ease: cubic-bezier(0.2, 0.7, 0.3, 1);
  --nt-dur-fast: 120ms;
  --nt-dur-base: 220ms;
  --nt-dur-slow: 420ms;

  /* === LAYOUT === */
  --nt-max-w: 1280px;
  --nt-gutter: 32px;
  --nt-density: 1; /* multiplier for vertical rhythm */
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  :root {
    --nt-dur-fast: 0ms;
    --nt-dur-base: 0ms;
    --nt-dur-slow: 0ms;
  }
}
