/* Reseachly editorial system. Shared by the public site and workspace.
   Sizes use rem so browser text preferences remain effective. */
:root {
  --paper: #f8f9f6;
  --surface: #ffffff;
  --ink: #182a32;
  --muted: #586872;
  --line: #dce3e4;
  --blue: #354ee4;
  --blue-soft: #edf0ff;
  --green: #35654d;
  --sans: 'DM Sans', system-ui, sans-serif;
  --display: 'Manrope', system-ui, sans-serif;
  --type-caption: .75rem;
  --type-meta: .8125rem;
  --type-ui: .875rem;
  --type-body: 1rem;
  --type-lead: 1.125rem;
  --radius-control: 10px;
  --radius-card: 16px;
  --shadow-card: 0 4px 20px #182a3205;
}
html { color-scheme: light; }
body { font-family: var(--sans); font-size: var(--type-body); line-height: 1.6; }
h1, h2, h3, h4 { font-family: var(--display); font-weight: 650; }
button, input, textarea, select { font-family: inherit; }
button, a { touch-action: manipulation; }
p { text-wrap: pretty; }
h1, h2, h3 { overflow-wrap: break-word; }
input, textarea, select { scroll-margin: 24px; }
:focus-visible { outline: 3px solid #354ee4; outline-offset: 4px; }
::selection { background: #dce3ff; color: #182a32; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
}
