/* Design tokens shared by every LogShare page. Palette follows a
   Resend-style system: a near-black/near-white monochrome base (not a
   tinted navy/slate) with a single accent color used sparingly for links,
   focus states, and small highlights — not as the default button fill.
   Primary buttons are monochrome-inverted (see .btn-primary in site.css),
   matching that restraint. [data-theme="light"] is the light variant. */
:root {
  --bg-base: #000000;
  --bg-surface: #0a0a0a;
  --bg-elevated: #111111;
  --bg-hover: #1a1a1a;
  --border-subtle: rgba(255, 255, 255, 0.08);
  --border-strong: rgba(255, 255, 255, 0.14);
  --text-primary: #fdfdfd;
  --text-secondary: #a1a1a1;
  --text-muted: #8b8b8b;
  --accent-blue: #3b82f6;
  --accent-teal: var(--accent-blue);
  --accent-blue-hover: #2563eb;
  --accent-danger: #ef4444;
  --accent-warning: #f59e0b;
  --accent-info: #3b82f6;
  /* A single blue can't hit 4.5:1 both as text-on-page AND as a background
     under white text (the luminance bands barely overlap) — accent-blue is
     for text/icons/links on the page background (passes in each theme
     below), accent-solid is for solid-fill chips with white text on them
     (badges, active tab, brand mark) and stays the same in both themes. */
  --accent-solid: #2563eb;
  --brand-gradient: var(--accent-solid);
  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.3);
  --shadow-md: 0 4px 12px rgba(0, 0, 0, 0.25);
  --shadow-lg: 0 10px 30px rgba(0, 0, 0, 0.35);
  --radius-sm: 6px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --transition: 160ms cubic-bezier(0.4, 0, 0.2, 1);
}

:root[data-theme="light"] {
  --bg-base: #fdfdfd;
  --bg-surface: #ffffff;
  --bg-elevated: #ffffff;
  --bg-hover: #f3f4f6;
  --border-subtle: rgba(10, 10, 10, 0.08);
  --border-strong: rgba(10, 10, 10, 0.14);
  --text-primary: #0a0a0a;
  --text-secondary: #4a5565;
  --text-muted: #5f6776;
  /* #3b82f6 (the dark-theme accent) only reaches 3.62:1 on this light
     background — below the 4.5:1 AA text threshold. accent-blue-hover was
     already exactly the right value (5.08:1) so this is a reuse, not a new
     color, and keeps :hover states consistent with the resting color. */
  --accent-blue: var(--accent-blue-hover);
  --accent-info: var(--accent-blue-hover);
  --accent-danger: #dc2626;
  --accent-warning: #b45309;
  --shadow-sm: 0 1px 2px rgba(10, 10, 10, 0.06);
  --shadow-md: 0 4px 12px rgba(10, 10, 10, 0.08);
  --shadow-lg: 0 10px 30px rgba(10, 10, 10, 0.12);
}

/* Type, spacing and signature tokens added in the design pass. */
:root {
  --font-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  --font-mono: 'JetBrains Mono', 'SFMono-Regular', Consolas, 'Liberation Mono', monospace;
  --max-w: 1360px;
  --glass: rgba(0, 0, 0, 0.72);
  --grid-dot: rgba(255, 255, 255, 0.075);
  --accent-glow: rgba(59, 130, 246, 0.22);
  --ok: #34d399;
  --log-error: #f87171;
  --log-warn: #fbbf24;
  --log-info: #60a5fa;
  --logo-doc: #fdfdfd;
  --select-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23a1a1a1' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
}
:root[data-theme="light"] {
  --glass: rgba(253, 253, 253, 0.82);
  --grid-dot: rgba(10, 10, 10, 0.1);
  --accent-glow: rgba(37, 99, 235, 0.14);
  --ok: #059669;
  --log-error: #dc2626;
  --log-warn: #b45309;
  --log-info: #2563eb;
  --logo-doc: #14204a;
  --select-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236a7282' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
}
