/* GENERATED FROM tokens.json — do not edit by hand.
   Regenerate with: go run ./cmd/tokensgen

   Components must reference only --app-* names. Referencing a raw
   Open Props or Stellar token defeats the indirection that makes
   swapping the source a one-file change. */

:root {
  color-scheme: light dark;

  /* fonts */
  --app-font-sans: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --app-font-mono: ui-monospace, SFMono-Regular, "Cascadia Code", Consolas, monospace;
  --app-font-serif: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, "Times New Roman", serif;

  /* text scale */
  --app-text-0: 0.64rem;
  --app-text-1: 0.8rem;
  --app-text-2: 1rem;
  --app-text-3: 1.25rem;
  --app-text-4: 1.5625rem;
  --app-text-5: 1.9531rem;
  --app-text-6: 2.4414rem;
  --app-text-7: 3.0518rem;

  /* space scale */
  --app-space-0: 0.25rem;
  --app-space-1: 0.375rem;
  --app-space-2: 0.5625rem;
  --app-space-3: 0.875rem;
  --app-space-4: 1.25rem;
  --app-space-5: 1.875rem;
  --app-space-6: 2.875rem;
  --app-space-7: 4.25rem;
  --app-space-8: 6.4375rem;

  /* radius scale */
  --app-radius-0: 0.25rem;
  --app-radius-1: 0.5rem;
  --app-radius-2: 1rem;
  --app-radius-3: 2rem;
  --app-radius-4: 4rem;

  --app-radius-round: 9999px;

  /* neutral ramp */
  --app-neutral-0: oklch(97.00% 0.0000 86.94);
  --app-neutral-1: oklch(94.50% 0.0189 86.94);
  --app-neutral-2: oklch(87.79% 0.0349 86.94);
  --app-neutral-3: oklch(78.07% 0.0473 86.94);
  --app-neutral-4: oklch(66.56% 0.0555 86.94);
  --app-neutral-5: oklch(54.44% 0.0555 86.94);
  --app-neutral-6: oklch(42.93% 0.0473 86.94);
  --app-neutral-7: oklch(33.21% 0.0349 86.94);
  --app-neutral-8: oklch(26.50% 0.0189 86.94);
  --app-neutral-9: oklch(24.00% 0.0000 86.94);

  /* brand ramp */
  --app-brand-0: oklch(97.00% 0.0000 29.74);
  --app-brand-1: oklch(94.50% 0.0474 29.74);
  --app-brand-2: oklch(87.79% 0.0872 29.74);
  --app-brand-3: oklch(78.07% 0.1184 29.74);
  --app-brand-4: oklch(66.56% 0.1389 29.74);
  --app-brand-5: oklch(54.44% 0.1389 29.74);
  --app-brand-6: oklch(42.93% 0.1184 29.74);
  --app-brand-7: oklch(33.21% 0.0872 29.74);
  --app-brand-8: oklch(26.50% 0.0474 29.74);
  --app-brand-9: oklch(24.00% 0.0000 29.74);
  --app-brand: var(--app-brand-6);
  --app-brand-on: var(--app-neutral-0);

  /* accent ramp */
  --app-accent-0: oklch(97.00% 0.0000 150.96);
  --app-accent-1: oklch(94.50% 0.0239 150.96);
  --app-accent-2: oklch(87.79% 0.0440 150.96);
  --app-accent-3: oklch(78.07% 0.0598 150.96);
  --app-accent-4: oklch(66.56% 0.0701 150.96);
  --app-accent-5: oklch(54.44% 0.0701 150.96);
  --app-accent-6: oklch(42.93% 0.0598 150.96);
  --app-accent-7: oklch(33.21% 0.0440 150.96);
  --app-accent-8: oklch(26.50% 0.0239 150.96);
  --app-accent-9: oklch(24.00% 0.0000 150.96);
  --app-accent: var(--app-accent-6);
  --app-accent-on: var(--app-neutral-0);

  /* warn ramp */
  --app-warn-0: oklch(97.00% 0.0000 80.77);
  --app-warn-1: oklch(94.50% 0.0412 80.77);
  --app-warn-2: oklch(87.79% 0.0758 80.77);
  --app-warn-3: oklch(78.07% 0.1030 80.77);
  --app-warn-4: oklch(66.56% 0.1207 80.77);
  --app-warn-5: oklch(54.44% 0.1207 80.77);
  --app-warn-6: oklch(42.93% 0.1030 80.77);
  --app-warn-7: oklch(33.21% 0.0758 80.77);
  --app-warn-8: oklch(26.50% 0.0412 80.77);
  --app-warn-9: oklch(24.00% 0.0000 80.77);
  --app-warn: var(--app-warn-6);
  --app-warn-on: var(--app-neutral-0);

  /* danger ramp */
  --app-danger-0: oklch(97.00% 0.0000 28.44);
  --app-danger-1: oklch(94.50% 0.0574 28.44);
  --app-danger-2: oklch(87.79% 0.1057 28.44);
  --app-danger-3: oklch(78.07% 0.1435 28.44);
  --app-danger-4: oklch(66.56% 0.1682 28.44);
  --app-danger-5: oklch(54.44% 0.1682 28.44);
  --app-danger-6: oklch(42.93% 0.1435 28.44);
  --app-danger-7: oklch(33.21% 0.1057 28.44);
  --app-danger-8: oklch(26.50% 0.0574 28.44);
  --app-danger-9: oklch(24.00% 0.0000 28.44);
  --app-danger: var(--app-danger-6);
  --app-danger-on: var(--app-neutral-0);

  /* semantic roles — light */
  --app-surface: var(--app-neutral-1);
  --app-surface-raised: var(--app-neutral-0);
  --app-surface-sunken: var(--app-neutral-2);
  --app-line: var(--app-neutral-3);
  --app-ink: var(--app-neutral-9);
  --app-ink-dim: var(--app-neutral-6);
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --app-surface: var(--app-neutral-8);
    --app-surface-raised: var(--app-neutral-7);
    --app-surface-sunken: var(--app-neutral-9);
    --app-line: var(--app-neutral-6);
    --app-ink: var(--app-neutral-0);
    --app-ink-dim: var(--app-neutral-3);
    --app-brand: var(--app-brand-3);
    --app-brand-on: var(--app-neutral-9);
    --app-accent: var(--app-accent-3);
    --app-accent-on: var(--app-neutral-9);
    --app-warn: var(--app-warn-3);
    --app-warn-on: var(--app-neutral-9);
    --app-danger: var(--app-danger-3);
    --app-danger-on: var(--app-neutral-9);
  }
}

:root[data-theme="dark"] {
  --app-surface: var(--app-neutral-8);
  --app-surface-raised: var(--app-neutral-7);
  --app-surface-sunken: var(--app-neutral-9);
  --app-line: var(--app-neutral-6);
  --app-ink: var(--app-neutral-0);
  --app-ink-dim: var(--app-neutral-3);
  --app-brand: var(--app-brand-3);
  --app-brand-on: var(--app-neutral-9);
  --app-accent: var(--app-accent-3);
  --app-accent-on: var(--app-neutral-9);
  --app-warn: var(--app-warn-3);
  --app-warn-on: var(--app-neutral-9);
  --app-danger: var(--app-danger-3);
  --app-danger-on: var(--app-neutral-9);
}

body {
  background: var(--app-surface);
  color: var(--app-ink);
  font-family: var(--app-font-sans);
}
