@font-face{font-family:'Instrument Serif';font-style:normal;font-weight:400;font-display:swap;src:url('assets/fonts/instrument-serif-regular.ttf') format('truetype')}
@font-face{font-family:'Instrument Serif';font-style:italic;font-weight:400;font-display:swap;src:url('assets/fonts/instrument-serif-italic.ttf') format('truetype')}
@font-face{font-family:'Manrope';font-style:normal;font-weight:400;font-display:swap;src:url('assets/fonts/manrope-400.ttf') format('truetype')}
@font-face{font-family:'Manrope';font-style:normal;font-weight:500;font-display:swap;src:url('assets/fonts/manrope-500.ttf') format('truetype')}
@font-face{font-family:'Manrope';font-style:normal;font-weight:600;font-display:swap;src:url('assets/fonts/manrope-600.ttf') format('truetype')}
@font-face{font-family:'Manrope';font-style:normal;font-weight:700;font-display:swap;src:url('assets/fonts/manrope-700.ttf') format('truetype')}
@font-face{font-family:'Manrope';font-style:normal;font-weight:800;font-display:swap;src:url('assets/fonts/manrope-800.ttf') format('truetype')}

:root {
  color-scheme: light;

  --color-brand: #3f66ff;
  --color-brand-hover: #3157ee;
  --color-brand-soft: #e9efff;
  --color-navy: #0b1f38;
  --color-navy-raised: #102943;
  --color-ink: #111827;
  --color-text: #26354a;
  --color-text-muted: #65748a;
  --color-surface: #ffffff;
  --color-surface-secondary: #f4f7fc;
  --color-border: #d8e2ef;
  --color-success: #23845d;
  --color-success-soft: #e9f7f1;
  --color-warning: #b96a24;
  --color-warning-soft: #fff4e8;
  --color-danger: #c4474f;
  --color-danger-soft: #fff0f1;

  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-6: 24px;
  --space-8: 32px;
  --space-12: 48px;
  --space-16: 64px;
  --space-24: 96px;
  --space-32: 128px;

  --radius-sm: 8px;
  --radius-control: 12px;
  --radius-card: 18px;
  --radius-large: 28px;
  --radius-pill: 999px;

  --shadow-sm: 0 2px 8px rgba(20, 43, 78, .06);
  --shadow-card: 0 18px 48px rgba(31, 57, 112, .08);
  --shadow-dialog: 0 32px 90px rgba(12, 28, 61, .28);

  --font-ui: 'Manrope', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-display: 'Instrument Serif', Georgia, serif;

  --transition-fast: 160ms cubic-bezier(.2, .8, .2, 1);
  --transition-normal: 220ms cubic-bezier(.2, .8, .2, 1);
  --transition-dialog: 240ms cubic-bezier(.2, .8, .2, 1);
  --focus-ring: 0 0 0 3px rgba(63, 102, 255, .24);
}

*, *::before, *::after { box-sizing: border-box; }

[hidden] { display: none !important; }

:where(button, input, select, textarea) { font: inherit; }

:where(button, a, input, select, textarea, summary):focus-visible {
  outline: 3px solid rgba(63, 102, 255, .34);
  outline-offset: 3px;
}

:where(button, input, select, textarea):disabled {
  cursor: not-allowed;
}

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