@font-face {
  font-display: swap;
  font-family: "Public Sans";
  font-style: normal;
  font-weight: 400;
  src: url("/fonts/publicsans-400.woff2") format("woff2");
}

@font-face {
  font-display: swap;
  font-family: "Public Sans";
  font-style: normal;
  font-weight: 500;
  src: url("/fonts/publicsans-500.woff2") format("woff2");
}

@font-face {
  font-display: swap;
  font-family: "Public Sans";
  font-style: normal;
  font-weight: 600;
  src: url("/fonts/publicsans-600.woff2") format("woff2");
}

@font-face {
  font-display: swap;
  font-family: "Public Sans";
  font-style: normal;
  font-weight: 700;
  src: url("/fonts/publicsans-700.woff2") format("woff2");
}

@font-face {
  font-display: swap;
  font-family: "Public Sans";
  font-style: normal;
  font-weight: 800;
  src: url("/fonts/publicsans-800.woff2") format("woff2");
}

@font-face {
  font-display: swap;
  font-family: "DM Sans";
  font-style: normal;
  font-weight: 600 700;
  src: url("/fonts/dm-sans-600-700.woff2") format("woff2");
}

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

:root {
  color: #312D3E;
  background: #FAFAFA;
  font-family: "Public Sans", Arial, sans-serif;
  font-synthesis: none;
  text-rendering: optimizeLegibility;

  --emilia-coral: #FA5252;
  --emilia-indigo: #160B42;
  --emilia-background: #FAFAFA;
  --emilia-blush: #FFF8F5;
  --emilia-ink: #312D3E;
  --emilia-gray: #6D677E;
  --emilia-border: #E5E5E5;
  --emilia-destructive: #EF4444;

  --emilia-surface: #FFFFFF;
  --emilia-surface-muted: var(--emilia-blush);
  --emilia-surface-strong: #F3F1F5;
  --emilia-text: var(--emilia-ink);
  --emilia-text-muted: var(--emilia-gray);
  --emilia-text-on-dark: #FFFFFF;
  --emilia-text-on-dark-muted: #D9D4EA;
  --emilia-action-primary: var(--emilia-coral);
  --emilia-action-primary-foreground: var(--emilia-indigo);
  --emilia-action-primary-hover: color-mix(in srgb, var(--emilia-coral) 84%, var(--emilia-indigo));
  --emilia-action-secondary: var(--emilia-indigo);
  --emilia-input-border: var(--emilia-border);
  --emilia-focus-ring: color-mix(in srgb, var(--emilia-coral) 35%, transparent);

  --emilia-signal-positive: #167A51;
  --emilia-signal-positive-soft: #E6F5ED;
  --emilia-signal-warning: #A45E10;
  --emilia-signal-warning-soft: #FFF3DF;
  --emilia-signal-critical: var(--emilia-destructive);
  --emilia-signal-critical-soft: #FFF0EF;
  --emilia-signal-neutral: #315B91;
  --emilia-signal-neutral-soft: #EDF3FB;

  --emilia-font-display: "DM Sans", "Public Sans", sans-serif;
  --emilia-font-body: "Public Sans", Arial, sans-serif;
  --emilia-font-evidence: "JetBrains Mono", monospace;
  --emilia-font-number: "Public Sans", Arial, 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.6;
  --emilia-leading-support: 1.5;

  --emilia-radius: 0.75rem;
  --emilia-radius-pill: 999px;
  --emilia-shadow-soft: 0 10px 32px rgba(22, 11, 66, 0.06);
  --emilia-shadow-dialog: 0 22px 70px rgba(22, 11, 66, 0.22);

  /* Compatibility aliases while existing Workspace CSS migrates to semantic names. */
  --accent: var(--emilia-action-primary);
  --accent-strong: var(--emilia-action-primary-hover);
  --border: var(--emilia-border);
  --muted: var(--emilia-text-muted);
  --navy: var(--emilia-indigo);
  --navy-soft: color-mix(in srgb, var(--emilia-indigo) 86%, white);
  --surface: var(--emilia-surface);
  --surface-strong: var(--emilia-surface-strong);
  --text: var(--emilia-text);
}

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: 800;
}

.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,
[tabindex]:focus-visible {
  outline: 3px solid var(--emilia-focus-ring);
  outline-offset: 3px;
}

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