/* Self-hosted (latin subset), so no visitor IP goes to Google. Geist files are variable. */
@font-face { font-family: Geist; font-style: normal; font-weight: 400 600; font-display: swap; src: url(/fonts/geist.woff2) format("woff2"); }
@font-face { font-family: "Geist Mono"; font-style: normal; font-weight: 400 500; font-display: swap; src: url(/fonts/geist-mono.woff2) format("woff2"); }
@font-face { font-family: "Instrument Serif"; font-style: normal; font-weight: 400; font-display: swap; src: url(/fonts/instrument-serif.woff2) format("woff2"); }
@font-face { font-family: "Instrument Serif"; font-style: italic; font-weight: 400; font-display: swap; src: url(/fonts/instrument-serif-italic.woff2) format("woff2"); }
:root { --bg: #111214; --text: #ededef; --muted: #a1a1aa; --line: #2a2c31; --accent: #f472b6; color-scheme: dark; }
  @media (prefers-color-scheme: light) { :root:not([data-theme="dark"]) { --bg: #f7f6f3; --text: #1c1b19; --muted: #57534e; --line: #e4e2dd; --accent: #be185d; color-scheme: light; } }
  :root[data-theme="light"] { --bg: #f7f6f3; --text: #1c1b19; --muted: #57534e; --line: #e4e2dd; --accent: #be185d; color-scheme: light; }
  body { margin: 0; background: var(--bg); color: var(--text); font: 16px/1.65 Geist, -apple-system, BlinkMacSystemFont, sans-serif; }
  main { max-width: 680px; margin: 0 auto; padding-inline: 20px; padding-block: 48px 80px; }
  a { color: var(--accent); }
  .brand { font-weight: 600; text-decoration: none; color: var(--text); }
  .brand b { color: var(--accent); }
  h1 { font: 400 48px/1.05 "Instrument Serif", Georgia, serif; margin: 28px 0 8px; }
  h2 { font: 400 32px/1.1 "Instrument Serif", Georgia, serif; margin: 48px 0 12px; padding-top: 24px; border-top: 1px solid var(--line); }
  p, li { color: var(--muted); }
  strong { color: var(--text); font-weight: 500; }
  .fill { background: rgba(244, 114, 182, .15); color: var(--text); padding: 0 4px; border-radius: 4px; }
  nav.legal { display: flex; flex-wrap: wrap; gap: 8px 18px; margin: 20px 0 8px; font-size: 14px; }
  nav.legal a[aria-current] { color: var(--text); text-decoration: none; font-weight: 500; }
  table { width: 100%; border-collapse: collapse; font-size: 14px; margin: 12px 0; }
  th, td { text-align: left; vertical-align: top; padding: 8px 10px 8px 0; border-bottom: 1px solid var(--line); color: var(--muted); }
  th { color: var(--text); font-weight: 500; }
  .wrap { overflow-x: auto; }
  footer { margin-top: 56px; padding-top: 20px; border-top: 1px solid var(--line); font-size: 14px; color: var(--muted); }
  footer p { margin: 8px 0 0; font-size: 13px; }
  form.fb { display: grid; gap: 14px; margin: 20px 0; }
  form.fb label { display: grid; gap: 6px; color: var(--text); font-weight: 500; font-size: 15px; }
  form.fb label small { color: var(--muted); font-weight: 400; }
  form.fb input, form.fb select, form.fb textarea { font: inherit; color: var(--text); background: transparent; border: 1px solid var(--line); border-radius: 8px; padding: 10px 12px; width: 100%; box-sizing: border-box; }
  form.fb textarea { min-height: 140px; resize: vertical; }
  form.fb button { justify-self: start; font: 600 15px/1.2 Geist, sans-serif; min-height: 46px; padding: 8px 20px; border: 0; border-radius: 10px; background: var(--accent); color: var(--bg); cursor: pointer; }
  form.fb button:disabled { opacity: .6; cursor: default; }
  form.fb [role=status] { margin: 0; color: var(--text); }
  :focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
