/* AIRouter tokens — extracted from web/app/globals.css @ 257104f3 (production main; tokens unchanged since 4c5a0778).
   The :root (light, default) and .dark (opt-in, next-themes class strategy) blocks below
   are copied verbatim from `@layer base`. Do not edit values here; edit globals.css and
   re-extract. The short aliases at the end are var() references only. */

:root {
  color-scheme: light;
  /* Elevation ramp: bg (warm paper) < surface (cards) < surface-2 (nested) < surface-3 */
  --color-bg: #f7f6f3;
  --color-surface: #fefdfc;
  --color-surface-2: #f1efeb;
  --color-surface-3: #e5e2de;
  /* Lines (hairlines, deliberately soft) */
  --color-border: #e6e4e1;
  --color-border-strong: #d3d0cc;
  --color-divider: #ecebe8;
  /* The one line that is NOT decorative: the edge of a control a person has to
     find and hit. 4.03:1 on surface. border-strong is 1.51:1 and the fill it
     was supposed to lean on is 1.06:1, so neither cue located the field. */
  --color-border-control: #807d7a;
  /* Text tiers: content (primary) > content-2 (secondary) > muted > faint */
  --color-text: #2c2824;
  --color-text-2: #46413c;
  --color-muted: #655f59;
  --color-faint: #716c66;
  /* Accent: muted blue-green. primary = text-safe ink; solid = button fill. */
  --color-primary: #255f62;
  --color-primary-hover: #104f52;
  --color-primary-tint: #ddf0f0;
  --color-primary-solid: #255f62;
  --color-primary-solid-hover: #104f52;
  --color-primary-fg: #fdfcf9;
  --color-focus: #4c8588;
  --color-accent: var(--color-primary); /* legacy alias */

  /* Status: sage / sand / rose; info shares the accent hue */
  --color-success-fg: #3c5f43;
  --color-success-tint: #e0f0e3;
  --color-success-border: #bcd6c0;
  --color-success-solid: #4f7a57;
  --color-warning-fg: #715129;
  --color-warning-tint: #f8e9d2;
  --color-warning-border: #e4caa2;
  --color-warning-solid: #a87b3b;
  /* Ink on a warning-solid fill; white fails 4.5:1 on amber in light mode. */
  --color-warning-solid-fg: #1c1712;
  --color-danger-fg: #894746;
  --color-danger-tint: #fde7e5;
  --color-danger-border: #edc6c4;
  --color-danger-solid: #984646;
  --color-danger-solid-hover: #853536;
  --color-info-fg: #255f62;
  --color-info-tint: #ddf0f0;
  --color-info-border: #b4d5d7;
  --color-info-solid: #4c8588;

  /* Chart series (same in both modes): equal-lightness, low-chroma steps */
  --chart-1: #3b8f93;
  --chart-2: #62946c;
  --chart-3: #7f79a8;
  --chart-4: #b0843f;
  --chart-5: #5d93b8;
  --chart-6: #b46762;
  --chart-7: #979188;
  --chart-8: #a77395;

  /* Scales */
  --radius-control: 0.75rem; /* 12px inputs, menus */
  --radius-card: 1rem;       /* 16px cards */
  --radius-panel: 1rem;      /* 16px panels */
  --radius-sheet: 1.375rem;  /* 22px sheet top corners */
  --radius-pill: 9999px;     /* buttons, segmented, tags */
  --shadow-raised: 0 1px 2px rgb(49 45 40 / 0.04), 0 8px 24px rgb(49 45 40 / 0.04);
  --shadow-popover: 0 12px 32px rgb(37 33 29 / 0.12);
  --shadow-modal: 0 -8px 40px rgb(37 33 29 / 0.12);
  --shadow-overlay: 0 -8px 40px rgb(37 33 29 / 0.12);
  --color-scrim: rgb(25 21 17 / 0.32);
  --font-sans: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", system-ui, sans-serif;
  --font-num: ui-rounded, "SF Pro Rounded", -apple-system, system-ui, sans-serif;
  --font-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;
  --z-dropdown: 20;
  --z-sticky: 30;
  --z-overlay: 40;
  --z-modal: 50;
  --z-toast: 60;
  --duration-fast: 100ms;
  --duration-base: 150ms;
  --duration-slow: 300ms;
  --ease-standard: cubic-bezier(0.2, 0, 0, 1);
}
.dark {
  color-scheme: dark;
  --color-bg: #181613;
  --color-surface: #201e1b;
  --color-surface-2: #292622;
  --color-surface-3: #33302c;
  --color-border: #2e2b28;
  --color-border-strong: #403c39;
  --color-border-control: #807d7b;   /* 4.07:1 on dark surface */
  --color-divider: #272522;
  --color-text: #e7e4e0;
  --color-text-2: #cdcac5;
  --color-muted: #adaaa5;
  --color-faint: #989590;
  /* Dark accent is light ink; the solid fill carries DARK text (primary-fg). */
  --color-primary: #8ec3c5;
  --color-primary-hover: #a5d5d7;
  --color-primary-tint: #1e3233;
  --color-primary-solid: #8ec3c5;
  --color-primary-solid-hover: #a5d5d7;
  --color-primary-fg: #111718;
  --color-focus: #71aaad;
  --color-accent: var(--color-primary);

  --color-success-fg: #a3c9aa;
  --color-success-tint: #233226;
  --color-success-border: #384e3c;
  --color-success-solid: #739f7c;
  --color-warning-fg: #dcc091;
  --color-warning-tint: #3b2e1c;
  --color-warning-border: #5d492d;
  --color-warning-solid: #d0a260;
  --color-danger-fg: #edaaa7;
  --color-danger-tint: #402928;
  --color-danger-border: #6a403e;
  --color-danger-solid: #984646;
  --color-danger-solid-hover: #853536;
  --color-info-fg: #8ec3c5;
  --color-info-tint: #1e3233;
  --color-info-border: #304e4f;
  --color-info-solid: #659ea1;

  --shadow-raised: 0 1px 2px rgb(0 0 0 / 0.2);
  --shadow-popover: 0 12px 32px rgb(0 0 0 / 0.4);
  --shadow-modal: 0 -8px 40px rgb(0 0 0 / 0.4);
  --shadow-overlay: 0 -8px 40px rgb(0 0 0 / 0.4);
  --color-scrim: rgb(0 0 0 / 0.5);
}

/* ── Short aliases ─────────────────────────────────────────────────────
   Pure var() references to the app tokens above, so they
   switch with .dark automatically. fg = primary text; success/warn/danger = the
   FOREGROUND status inks (for text and icons), not the tints. Their tint/solid/border
   siblings stay under the app names (--color-success-tint …). */
:root {
  --bg: var(--color-bg);
  --surface: var(--color-surface);
  --fg: var(--color-text);
  --fg-2: var(--color-text-2);
  --muted: var(--color-muted);
  --meta: var(--color-faint);
  --border: var(--color-border);
  --border-soft: var(--color-divider);
  --accent: var(--color-primary);
  --accent-on: var(--color-primary-fg);
  --accent-hover: var(--color-primary-solid-hover);
  --accent-active: var(--color-primary-solid-hover);
  --success: var(--color-success-fg);
  --warn: var(--color-warning-fg);
  --danger: var(--color-danger-fg);
  --font-display: var(--font-sans);
  --font-body: var(--font-sans);
}
