@font-face {
  font-family: "Open Sans Local";
  src: url("/fonts/open-sans/OpenSans-VariableFont_wdth,wght.ttf") format("truetype");
  font-weight: 300 800;
  font-style: normal;
  font-display: swap;
}

:root {
  --font-heading: "Plus Jakarta Sans", system-ui, sans-serif;
  --font-body: "Plus Jakarta Sans", system-ui, sans-serif;
  --font-page-title: "Open Sans Local", Arial, system-ui, sans-serif;

  --color-bg: #e9eff7;
  --color-bg-subtle: #dfe8f3;
  --color-surface: #f7f9fc;
  --color-surface-raised: #f1f5fa;
  --color-border: #cbd8e7;
  --color-border-strong: #8fa7c2;
  --color-text-primary: #17201d;
  --color-text-secondary: #4f5b55;
  --color-text-muted: #7c877e;
  --color-accent: #1A56DB;
  --color-accent-hover: #1648B8;
  --color-accent-subtle: #dbeafe;
  --color-accent-ink: #ffffff;

  --color-success: #16805f;
  --color-success-bg: #e5f7ef;
  --color-success-text: #0f5d45;
  --color-success-border: #9bdec4;
  --color-warning: #b77a0c;
  --color-warning-bg: #fff4d8;
  --color-warning-text: #7b4d00;
  --color-warning-border: #f4d58a;
  --color-danger: #c13a3a;
  --color-danger-bg: #fde8e8;
  --color-danger-text: #922727;
  --color-danger-border: #f1b5b5;
  --color-info: #2363a1;
  --color-info-bg: #e7f0fb;
  --color-info-text: #174a79;
  --color-info-border: #b6d2f2;

  --text-xs: 0.75rem;
  --text-xs-line: 1rem;
  --text-sm: 0.875rem;
  --text-sm-line: 1.25rem;
  --text-base: 1rem;
  --text-base-line: 1.5rem;
  --text-lg: 1.125rem;
  --text-lg-line: 1.75rem;
  --text-xl: 1.25rem;
  --text-xl-line: 1.75rem;
  --text-2xl: 1.5rem;
  --text-2xl-line: 2rem;
  --text-3xl: 2rem;
  --text-3xl-line: 2.35rem;
  --text-4xl: 2.65rem;
  --text-4xl-line: 3rem;

  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-6: 1.5rem;
  --space-8: 2rem;
  --space-12: 3rem;
  --space-16: 4rem;
  --space-24: 6rem;
  --space-32: 8rem;
  --space-48: 12rem;

  --radius-sm: 0.25rem;
  --radius-md: 0.375rem;
  --radius-lg: 0.5rem;
  --radius-xl: 0.75rem;
  --radius-full: 9999px;

  --shadow-sm: 0 1px 2px rgb(23 32 29 / 0.06);
  --shadow-md: 0 10px 28px rgb(23 32 29 / 0.10);
  --shadow-lg: 0 22px 55px rgb(23 32 29 / 0.16);

  --duration-fast: 120ms;
  --duration-normal: 200ms;
  --duration-slow: 350ms;
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
}

html[data-theme="dark"] {
  --color-bg: #0e1218;
  --color-bg-subtle: #151c27;
  --color-surface: #1a2230;
  --color-surface-raised: #232d3d;
  --color-border: #334155;
  --color-border-strong: #64748b;
  --color-text-primary: #edf4ec;
  --color-text-secondary: #c3cec2;
  --color-text-muted: #b1bcad;
  --color-accent: #6ea8ff;
  --color-accent-hover: #93c5fd;
  --color-accent-subtle: #132f56;
  --color-accent-ink: #06101f;
  --color-success-bg: #123629;
  --color-success-text: #9ce9c9;
  --color-success-border: #27785d;
  --color-warning-bg: #3b2b11;
  --color-warning-text: #ffd98a;
  --color-warning-border: #8a641d;
  --color-danger-bg: #3c1d1d;
  --color-danger-text: #ffb6b6;
  --color-danger-border: #8f3f3f;
  --color-info-bg: #132b42;
  --color-info-text: #9ccbf7;
  --color-info-border: #2f5c83;
}
