/* Hallmark · genre: modern-minimal (inferred) · theme: brand (LB Endow navy + gold) · shape: app screen · posture: restrained · v2.0.0
 * Tokens do sistema travado em DESIGN.md. Cores em OKLCH, ancoradas no matiz do azul-marinho da marca (251).
 */
:root {
  /* Superfícies e tinta */
  --color-paper: oklch(98.6% 0.004 251);
  --color-paper-2: oklch(96.4% 0.007 251);
  --color-paper-3: oklch(93.6% 0.01 251);
  --color-rule: oklch(90.5% 0.01 251);
  --color-field: oklch(62% 0.022 251);
  --color-ink: oklch(24% 0.045 251);
  --color-ink-2: oklch(36% 0.04 251);
  --color-muted: oklch(48% 0.025 251);

  /* Marca: azul-marinho #0a2540 e dourado #c9a96e */
  --color-brand: oklch(26% 0.06 251.3);
  --color-brand-2: oklch(33% 0.062 251);
  --color-on-brand: oklch(96% 0.01 251);
  --color-on-brand-muted: oklch(80% 0.022 251);
  --color-gold: oklch(75% 0.085 82.1);

  /* Sinal: o dourado em tom legível sobre o papel */
  --color-accent-ink: oklch(50% 0.09 75);
  --color-focus: oklch(55% 0.11 75);
  --color-focus-on-brand: var(--color-gold);
  --color-selection: oklch(90% 0.05 82);

  /* Estados */
  --color-warn-bg: oklch(95% 0.035 82);
  --color-warn-ink: oklch(44% 0.09 76);
  --color-info-bg: oklch(95% 0.018 255);
  --color-info-ink: oklch(44% 0.08 257);
  --color-error-bg: oklch(96% 0.02 30);
  --color-error-ink: oklch(46% 0.14 30);
  --color-error-strong: oklch(40% 0.14 30);
  --color-success-bg: oklch(95.5% 0.03 150);
  --color-success-ink: oklch(42% 0.09 150);

  /* Tipografia: sans do sistema para trabalho e dados, serifa da marca para títulos de página */
  --font-body: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --font-display: Georgia, "Times New Roman", serif;
  --font-mono: ui-monospace, "SFMono-Regular", Menlo, Consolas, "Liberation Mono", monospace;

  /* Escala fixa de telas de aplicação, razão 1,15 a partir de 16px */
  --text-xs: 0.8125rem;
  --text-sm: 0.875rem;
  --text-md: 1rem;
  --text-lg: 1.15rem;
  --text-xl: 1.3125rem;
  --text-2xl: 1.75rem;

  /* Espaçamento */
  --space-3xs: 2px;
  --space-2xs: 4px;
  --space-xs: 8px;
  --space-sm: 12px;
  --space-md: 16px;
  --space-lg: 24px;
  --space-xl: 40px;
  --space-2xl: 64px;
  --space-3xl: 96px;

  /* Forma */
  --radius-sm: 4px;
  --radius-md: 8px;
  --rule-hair: 1px;
  --control-h: 40px;
  --hit: 44px;
  --sidebar-w: 15rem;
  --container: 82rem;
  --measure: 38rem;

  /* Movimento: só estado */
  --ease-out: cubic-bezier(0.22, 1, 0.36, 1);
  --ease-in: cubic-bezier(0.55, 0, 1, 0.45);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --dur-micro: 120ms;
  --dur-short: 220ms;

  /* Camadas */
  --z-raised: 10;
  --z-sticky: 200;
}

@media (pointer: coarse) {
  :root {
    --control-h: 44px;
    --hit: 48px;
  }
}
