@font-face {
  font-display: swap;
  font-family: "Instrument Sans";
  font-stretch: 100%;
  font-style: normal;
  font-weight: 400 700;
  src: url("/fonts/instrument-sans-400-700.woff2") format("woff2");
}

@font-face {
  font-display: swap;
  font-family: "JetBrains Mono";
  font-style: normal;
  font-weight: 400 500;
  src: url("/fonts/jetbrains-mono-400-500.woff2") format("woff2");
}

:root {
  color-scheme: light;
  color: #29211f;
  background: #fdf9f9;
  font-family: "Instrument Sans", ui-sans-serif, sans-serif;
  font-synthesis: none;
  text-rendering: optimizeLegibility;

  --ground: #fdf9f9;
  --surface: #ffffff;
  --sunken: #f5eeed;
  --line: #ede4e2;
  --line-strong: #dfd4d2;
  --ink: #29211f;
  --ink-2: #635856;
  --ink-3: #7c706d;
  --disabled: #9d908e;
  --rail: #17100e;
  --rail-surface: #29211f;
  --rail-ink: #f1ebea;
  --brand: #fa5252;
  --brand-fill: #d33a3d;
  --brand-fill-hover: #c33437;
  --brand-text: #c33437;
  --brand-wash: #fff4f3;
  --good: #2e644d;
  --good-solid: #3a7058;
  --good-wash: #e8f8f0;
  --watch: #8e5d11;
  --watch-solid: #9a6922;
  --watch-wash: #fff1e1;
  --priority: #89322c;
  --priority-solid: #963e37;
  --priority-wash: #ffefed;
  --none: #5f5b68;
  --none-solid: #6a6773;
  --none-wash: #f4f3f7;
  --chart-demand: #d86468;
  --chart-floor: #4c84ad;
  --chart-kitchen: #3f896b;
  --chart-bar: #9868ae;
  --overlay: 0 8px 24px -8px rgba(34, 26, 27, 0.18);

  --emilia-coral: var(--brand);
  --emilia-indigo: var(--rail);
  --emilia-background: var(--ground);
  --emilia-blush: var(--brand-wash);
  --emilia-ink: var(--ink);
  --emilia-gray: var(--ink-2);
  --emilia-border: var(--line);
  --emilia-destructive: var(--priority-solid);
  --emilia-surface: var(--surface);
  --emilia-surface-muted: var(--sunken);
  --emilia-surface-strong: var(--sunken);
  --emilia-text: var(--ink);
  --emilia-text-muted: var(--ink-2);
  --emilia-text-on-dark: var(--rail-ink);
  --emilia-text-on-dark-muted: color-mix(in srgb, var(--rail-ink) 68%, transparent);
  --emilia-action-primary: var(--brand-fill);
  --emilia-action-primary-foreground: #ffffff;
  --emilia-action-primary-hover: var(--brand-fill-hover);
  --emilia-action-secondary: var(--ink);
  --emilia-input-border: var(--line-strong);
  --emilia-focus-ring: var(--brand-text);
  --emilia-signal-positive: var(--good);
  --emilia-signal-positive-soft: var(--good-wash);
  --emilia-signal-warning: var(--watch);
  --emilia-signal-warning-soft: var(--watch-wash);
  --emilia-signal-critical: var(--priority);
  --emilia-signal-critical-soft: var(--priority-wash);
  --emilia-signal-neutral: var(--none);
  --emilia-signal-neutral-soft: var(--none-wash);
  --emilia-font-display: "Instrument Sans", ui-sans-serif, sans-serif;
  --emilia-font-body: "Instrument Sans", ui-sans-serif, sans-serif;
  --emilia-font-evidence: "JetBrains Mono", ui-monospace, monospace;
  --emilia-font-number: "Instrument Sans", ui-sans-serif, sans-serif;
  --emilia-text-display: clamp(2.5rem, 6vw, 5rem);
  --emilia-text-page-title: clamp(1.5rem, 3.2vw, 2.375rem);
  --emilia-text-component-title: clamp(1.1875rem, 2vw, 1.4375rem);
  --emilia-text-body: 1rem;
  --emilia-text-support: 0.75rem;
  --emilia-leading-display: 1;
  --emilia-leading-title: 1.15;
  --emilia-leading-body: 1.5;
  --emilia-leading-support: 1.5;
  --emilia-radius: 10px;
  --emilia-radius-control: 8px;
  --emilia-radius-pill: 999px;
  --emilia-shadow-soft: none;
  --emilia-shadow-dialog: var(--overlay);

  --accent: var(--brand);
  --accent-strong: var(--brand-text);
  --border: var(--line);
  --muted: var(--ink-2);
  --navy: var(--rail);
  --navy-soft: var(--rail-surface);
  --surface-strong: var(--sunken);
  --text: var(--ink);
}

html[data-theme="dark"] {
  color-scheme: dark;
  color: #f1ebea;
  background: #120d0c;
  --ground: #120d0c;
  --surface: #1c1514;
  --sunken: #0f0a09;
  --line: #302827;
  --line-strong: #443b39;
  --ink: #f1ebea;
  --ink-2: #c4bbba;
  --ink-3: #9b8f8d;
  --disabled: #7b6f6d;
  --rail: #0f0a09;
  --rail-surface: #29211f;
  --rail-ink: #f1ebea;
  --brand-text: #ff958e;
  --good: #a0c9b4;
  --good-solid: #3a7058;
  --good-wash: #1f3329;
  --watch: #deb685;
  --watch-solid: #9a6922;
  --watch-wash: #3c2a11;
  --priority: #f2a89e;
  --priority-solid: #963e37;
  --priority-wash: #45221f;
  --none: #bfbcc6;
  --none-solid: #6a6773;
  --none-wash: #2e2d32;
  --chart-demand: #ec8588;
  --chart-floor: #76a6c9;
  --chart-kitchen: #70ad90;
  --chart-bar: #bd8dce;
  --overlay: 0 8px 24px -8px rgba(0, 0, 0, 0.52);
}

html,
body,
button,
input,
select,
textarea {
  font-family: var(--emilia-font-body);
}

.emilia-display,
.emilia-page-title {
  font-family: var(--emilia-font-display);
  font-weight: 700;
  letter-spacing: -0.035em;
  line-height: var(--emilia-leading-title);
}

.emilia-display {
  font-size: var(--emilia-text-display);
  line-height: var(--emilia-leading-display);
}

.emilia-page-title {
  font-size: var(--emilia-text-page-title);
}

.emilia-component-title {
  font-family: var(--emilia-font-body);
  font-size: var(--emilia-text-component-title);
  font-weight: 600;
  line-height: var(--emilia-leading-title);
}

.emilia-metric {
  font-family: var(--emilia-font-number);
  font-variant-numeric: tabular-nums;
  font-weight: 700;
}

.emilia-evidence,
code,
kbd,
samp {
  font-family: var(--emilia-font-evidence);
  font-variant-numeric: tabular-nums;
  font-weight: 500;
}

button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible,
[tabindex]:focus-visible {
  outline: 2px solid var(--emilia-focus-ring);
  outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
}
