/* Brand tokens. Tailwind config in base.html mirrors these so utilities
 * (text-ink, bg-paper, bg-lime-400, etc.) map to the same values.
 * Visual identity inspired by carveragents.ai: ink-on-paper with a
 * single lime accent. */

:root {
  --ink:        #0a0a0a;
  --paper:      #fafaf7;
  --carver:     #1F2124;  /* Carver site nav/body shade */
  --lime:       #c6f432;  /* signature accent — use sparingly */
  --lime-soft:  #ecfac1;  /* tint for chips, badges */
  --lime-deep:  #5e7820;  /* text-safe on white */
  --brand-accent: #2563eb;
}

html { background: var(--paper); }

body {
  font-family: 'Geist', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  font-feature-settings: 'ss01', 'cv11';
  letter-spacing: -0.005em;
}

/* Headlines get a hair tighter on Geist for editorial feel */
h1, h2, h3 {
  letter-spacing: -0.018em;
}

/* Tabular numbers wherever .tabular-nums lands (data cards, stats) */
.tabular-nums {
  font-variant-numeric: tabular-nums;
  font-feature-settings: 'tnum';
}

/* Smooth focus rings for accessibility */
:focus-visible {
  outline: 2px solid var(--brand-accent);
  outline-offset: 2px;
  border-radius: 4px;
}

/* Print rules for the quarterly-report page */
@media print {
  nav, footer { display: none; }
  main { max-width: none; padding: 0; }
}

/* Alpine.js x-cloak: hide elements until Alpine is ready. Prevents the
 * brief flash of unhidden content on pages that toggle visibility with
 * x-show (e.g., the γ pre-listing scan result panel). */
[x-cloak] { display: none !important; }
