/*
 * Lensdump design tokens: the one set of values every Lensdump page uses (owner, 5 Oct 2026; docs/design-consistency.md).
 * Source: the owner's Lensdump design system (https://claude.ai/artifact/RgQKeLvm9eSpcVsF5dHTKF, project/tokens.json).
 * A new value starts there, then here; module stylesheets use var(--ld-*) and never a literal colour.
 * Variables only (no classes), loaded first on every page by modules/lensdump-gallery/head.php.
 */
:root {
  /* Colour */
  --ld-surface-0: #050608;
  --ld-surface-1: #0b0d13;
  --ld-surface-2: #0f1216;
  --ld-surface-3: #141820;
  --ld-surface-4: #1a1e24;
  --ld-line: rgba(255, 255, 255, .08);
  --ld-line-strong: rgba(255, 255, 255, .14);
  --ld-fill-hover: rgba(255, 255, 255, .05);
  --ld-scrim: rgba(0, 0, 0, .55);
  --ld-text-strong: #ffffff;
  --ld-text: #eceef1;
  --ld-text-secondary: #c3c9d0;
  --ld-text-muted: #9aa3ad;
  --ld-text-dim: #7e8792;
  --ld-green: #0ee59b;
  --ld-green-hover: #37f0ae;
  --ld-on-green: #06231a;
  --ld-green-surface: #0c1d17;
  --ld-green-soft: rgba(14, 229, 155, .12);
  --ld-green-line: rgba(14, 229, 155, .45);
  --ld-danger: #ff8a9c;
  --ld-warning: #fbb01f;
  --ld-info: #2f7bff;
  --ld-tier-free: #7a828c;
  --ld-tier-spark: #5c9182;
  --ld-tier-ember: #c85a72;
  --ld-tier-superhero: #2f7bff;
  --ld-tier-titan: #9c8de8;
  --ld-tier-angel: #ffb21f;
  --ld-on-tier: var(--ld-surface-1);
  /* Type families */
  --font-display: "Archivo", "Archivo Fallback", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
  --font-mono: ui-monospace, Menlo, monospace;
  /* Type styles, as font shorthands: font: var(--ld-type-title); letter-spacing where a style has one */
  --ld-type-hero: 800 56px/58px var(--font-display);
  --ld-tracking-hero: -0.02em;
  --ld-type-display: 800 36px/40px var(--font-display);
  --ld-tracking-display: -0.01em;
  --ld-type-title-lg: 800 28px/34px var(--font-display);
  --ld-type-title: 700 22px/28px var(--font-display);
  --ld-type-title-sm: 700 18px/24px var(--font-display);
  --ld-type-title-xs: 700 15px/20px var(--font-display);
  --ld-type-body-lg: 400 16px/24px var(--font-sans);
  --ld-type-body: 400 14px/21px var(--font-sans);
  --ld-type-body-sm: 400 13px/19px var(--font-sans);
  --ld-type-label: 600 13px/16px var(--font-sans);
  --ld-type-label-lg: 700 15px/20px var(--font-sans);
  --ld-type-label-sm: 600 12px/16px var(--font-sans);
  --ld-type-caption: 600 11px/14px var(--font-sans);
  --ld-tracking-caption: 0.04em;
  /* Spacing (4px grid) */
  --ld-space-1: 4px;
  --ld-space-2: 8px;
  --ld-space-3: 12px;
  --ld-space-4: 16px;
  --ld-space-5: 20px;
  --ld-space-6: 24px;
  --ld-space-8: 32px;
  --ld-space-12: 48px;
  /* Radius */
  --ld-radius-sm: 6px;
  --ld-radius-md: 10px;
  --ld-radius-lg: 14px;
  --ld-radius-xl: 20px;
  --ld-radius-full: 999px;
  /* Shadow and focus */
  --ld-shadow-pop: 0 8px 24px rgba(0, 0, 0, .35);
  --ld-shadow-modal: 0 24px 80px rgba(0, 0, 0, .5);
  --ld-shadow-cta: 0 8px 24px rgba(14, 229, 155, .22);
  --ld-focus-ring: 0 0 0 3px rgba(14, 229, 155, .18);
  /* Control heights */
  --ld-control-sm: 32px;
  --ld-control-md: 40px;
  --ld-control-lg: 48px;
  /* Motion */
  --ld-ease: 150ms ease;
  --ld-ease-enter: 250ms ease;
  /* Layout: one page frame (slice 3 fills these in) */
  --ld-header-h: 50px;
}
@media (prefers-reduced-motion: reduce) {
  :root { --ld-ease: 0ms linear; --ld-ease-enter: 0ms linear; }
}
