/* Shared public Read/Persuade foundation. Aliases are deliberately body-scoped. */
@font-face {
  font-family: 'Noto Sans Cuneiform';
  src: url('/fonts/noto-sans-cuneiform-v2.001/NotoSansCuneiform-Regular.ttf') format('truetype');
  font-display: swap;
  font-style: normal;
  font-weight: 400;
  unicode-range: U+12000-12399, U+12400-1246E, U+12470-12474, U+12480-12543;
}

:root {
  --font-script-sans: 'Noto Sans Cuneiform', system-ui, Avenir, Helvetica, Arial, sans-serif;
  --font-script-mono:
    'Noto Sans Cuneiform', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono',
    'Courier New', monospace;
}

body.public-route,
body.public-publication {
  color-scheme: dark;
  --public-canvas: #0f1115;
  --public-surface: #191c24;
  --public-surface-raised: #222631;
  --public-border: #343946;
  --public-text: #f2f3f5;
  --public-text-secondary: #a5aab8;
  --public-primary: #a78bfa;
  --public-primary-hover: #b9a4ff;
  --public-primary-on-light: #5b46b2;
  --public-focus: #c4b5fd;
  --public-space-1: 0.25rem;
  --public-space-2: 0.5rem;
  --public-space-3: 0.75rem;
  --public-space-4: 1rem;
  --public-space-6: 1.5rem;
  --public-space-8: 2rem;
  --public-space-12: 3rem;
  --public-space-16: 4rem;
  --public-radius-sm: 0.25rem;
  --public-radius-md: 0.5rem;
  --public-reading-measure: 70ch;
  --bg: var(--public-canvas);
  --background: var(--public-canvas);
  --bg-primary: var(--public-canvas);
  --bg-secondary: var(--public-surface);
  --background-secondary: var(--public-surface);
  --bg-tertiary: var(--public-surface-raised);
  --background-tertiary: var(--public-surface-raised);
  --surface: var(--public-surface);
  --surface-2: var(--public-surface-raised);
  --surface-elevated: var(--public-surface-raised);
  --card-bg: var(--public-surface);
  --card-background: var(--public-surface);
  --border: var(--public-border);
  --border-color: var(--public-border);
  --border-subtle: #292d37;
  --text: var(--public-text);
  --text-primary: var(--public-text);
  --text-secondary: var(--public-text-secondary);
  --text-muted: var(--public-text-secondary);
  --text-tertiary: var(--public-text-secondary);
  --primary: var(--public-primary);
  --primary-color: var(--public-primary);
  --primary-hover: var(--public-primary-hover);
  --primary-light: rgb(167 139 250 / 14%);
  --link: var(--public-primary-hover);
  --focus-ring: var(--public-focus);
  --hover-bg: rgb(165 170 184 / 10%);
  --bg-hover: rgb(165 170 184 / 10%);
  --content-measure: var(--public-reading-measure);
  background: var(--public-canvas);
  color: var(--public-text);
}

body.public-route ::selection,
body.public-publication ::selection {
  background: var(--public-primary);
  color: var(--public-canvas);
}

body.public-route :where(a, button, input, select, textarea, summary):focus-visible,
body.public-publication :where(a, button, input, select, textarea, summary):focus-visible {
  outline: 2px solid var(--public-focus);
  outline-offset: 3px;
}

body.public-route a,
body.public-publication a {
  text-underline-offset: 0.22em;
}

body.public-route {
  scrollbar-color: var(--public-border) var(--public-canvas);
}
