/* Sotapoc design system tokens — generated from tokens.json (light default, dark via data-theme) */
@font-face { font-family: 'Lora'; src: url('/static/fonts/Lora-Variable.woff2') format('woff2'); font-weight: 400 700; font-style: normal; font-display: swap; }
@font-face { font-family: 'Inter'; src: url('/static/fonts/Inter-Regular.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: 'Inter'; src: url('/static/fonts/Inter-Medium.woff2') format('woff2'); font-weight: 500; font-style: normal; font-display: swap; }
@font-face { font-family: 'Inter'; src: url('/static/fonts/Inter-SemiBold.woff2') format('woff2'); font-weight: 600; font-style: normal; font-display: swap; }
@font-face { font-family: 'Inter'; src: url('/static/fonts/Inter-Bold.woff2') format('woff2'); font-weight: 700; font-style: normal; font-display: swap; }
:root {
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 24px;
  --space-6: 32px;
  --space-7: 48px;
  --space-8: 64px;
  --space-9: 96px;
  --radius-none: 0px;
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-pill: 999px;
  --stroke-hair: 1px;
  --stroke-rule: 2px;
  --stroke-marker: 1.5px;
  --font-serif: Lora, Cambria, Georgia, 'Times New Roman', serif;
  --font-sans: Inter, Arial, Helvetica, sans-serif;
  --surface: #fbf9f5;
  --surface-raised: #ffffff;
  --surface-sunken: #f3f0ea;
  --tint: #eef1f6;
  --tint-strong: #dce3ee;
  --line: #d8d4cc;
  --line-strong: #8d877b;
  --ink: #161c26;
  --ink-secondary: #3c4452;
  --ink-muted: #5e6676;
  --brand: #10284e;
  --primary: #1e3d73;
  --primary-hover: #10284e;
  --on-primary: #ffffff;
  --inverse: #10284e;
  --inverse-raised: #1e3d73;
  --on-inverse: #f1eee8;
  --on-inverse-muted: #b8c3d8;
  --accent: #c8872a;
  --accent-text: #9a5a00;
  --accent-tint: #f8ebd6;
  --on-accent: #161c26;
  --accent-on-inverse: #c8872a;
  --positive: #2a7555;
  --positive-tint: #e8f4ed;
  --on-positive: #ffffff;
  --negative: #a33a2a;
  --negative-tint: #f7e4e0;
  --focus: #1e3d73;
  --chart-1: #1e3d73;
  --chart-2: #bd7d20;
  --chart-3: #5a73a3;
  --chart-4: #cfd9e8;
  --chart-5: #e0c08c;
  --chart-grid: #e6e2da;
  --shadow-float: 0 4px 16px rgba(16, 40, 78, 0.12);
}
[data-theme="dark"] {
  --surface: #0a1a33;
  --surface-raised: #10284e;
  --surface-sunken: #071224;
  --tint: #1a3159;
  --tint-strong: #24407a;
  --line: #2c4370;
  --line-strong: #6d82ab;
  --ink: #f1eee8;
  --ink-secondary: #c6cedd;
  --ink-muted: #9fafca;
  --brand: #f1eee8;
  --primary: #a9c0e0;
  --primary-hover: #c6d6ee;
  --on-primary: #0a1a33;
  --inverse: #f1eee8;
  --inverse-raised: #e4dfd4;
  --on-inverse: #161c26;
  --on-inverse-muted: #3c4452;
  --accent: #d9a24a;
  --accent-text: #e2b468;
  --accent-tint: #3a2a12;
  --on-accent: #161c26;
  --accent-on-inverse: #9a5a00;
  --positive: #6fc79a;
  --positive-tint: #123b2a;
  --on-positive: #071224;
  --negative: #e48a7b;
  --negative-tint: #3f1a14;
  --focus: #a9c0e0;
  --chart-1: #a9c0e0;
  --chart-2: #8c5c10;
  --chart-3: #7f98c8;
  --chart-4: #2f4a7c;
  --chart-5: #8a6a2e;
  --chart-grid: #24407a;
  --shadow-float: 0 4px 16px rgba(0, 0, 0, 0.5);
  color-scheme: dark;
}
