/* Shared tokens overridden per theme */
.theme-potapov {
  --bg: #f4f1ea;
  --fg: #44403c;
  --title: #1c1917;
  --muted: #78716c;
  --border: rgba(168, 162, 158, 0.55);
  --card: rgba(255, 255, 255, 0.5);
  --btn: #1c1917;
  --btn-fg: #fff;
  --accent: #57534e;
}

.theme-potapova {
  --bg: #f0f4f8;
  --fg: #334155;
  --title: #0f172a;
  --muted: #64748b;
  --border: rgba(100, 116, 139, 0.35);
  --card: rgba(255, 255, 255, 0.7);
  --btn: #0e7490;
  --btn-fg: #fff;
  --accent: #0e7490;
}

body.theme-potapov,
body.theme-potapova {
  background: var(--bg);
  color: var(--fg);
}

.site-header,
.site-footer {
  border-color: var(--border);
  background: color-mix(in srgb, var(--bg) 90%, transparent);
}

.site-brand,
.site-title {
  color: var(--title);
}

.site-eyebrow,
.site-muted,
.site-footer {
  color: var(--muted);
}

.site-lead {
  color: var(--fg);
}

.site-nav {
  color: var(--fg);
}
.site-nav:hover {
  color: var(--title);
}

.site-rule,
.site-card {
  border-color: var(--border);
}
.site-card {
  background: var(--card);
}

.site-btn-primary {
  background: var(--btn);
  color: var(--btn-fg);
}
.site-btn-primary:hover {
  filter: brightness(1.08);
}

.site-btn-ghost {
  border-color: var(--border);
  color: var(--title);
}
.site-btn-ghost:hover {
  background: var(--card);
}

.prose-person a {
  color: var(--accent);
  text-decoration: underline;
}

input:focus,
textarea:focus {
  border-color: var(--accent);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 20%, transparent);
}
