:root {
  --bg: #fbfbf9; --fg: #1c1c1a; --muted: #6b6b63; --line: #e3e3dc;
  --card: #fff; --accent: #2f5d50;
}
@media (prefers-color-scheme: dark) {
  :root { --bg:#16161a; --fg:#e8e8e2; --muted:#9a9a92; --line:#2e2e33; --card:#1d1d21; --accent:#8fc7b4; }
}
* { box-sizing: border-box; }
body { margin:0; background:var(--bg); color:var(--fg);
  font: 17px/1.65 Georgia, "Iowan Old Style", "Times New Roman", serif; }
header { display:flex; gap:16px; align-items:baseline; padding:16px 22px;
  border-bottom:1px solid var(--line); }
header .brand { font-weight:700; text-decoration:none; color:inherit; }
header nav { margin-left:auto; }
a { color: var(--accent); }
main { max-width: 1180px; margin:0 auto; padding: 28px 22px 72px; }
h1 { font-size: 30px; line-height:1.25; margin:0 0 12px; }
h2 { font-size: 18px; margin: 36px 0 12px; padding-bottom:6px; border-bottom:1px solid var(--line); }
h3 { font-size: 16px; margin:0; }
.lede { font-size:19px; color:var(--muted); max-width:60ch; }
.meta { color:var(--muted); font-size:14px; margin:2px 0 8px; }
ul.questions { list-style:none; padding:0; max-width:70ch; }
ul.questions li { padding:14px 0; border-bottom:1px solid var(--line); }
ul.questions a { font-size:19px; }
ul.questions .meta { display:block; }
.models { display:grid; grid-template-columns:repeat(auto-fit,minmax(320px,1fr)); gap:18px; }
.model { background:var(--card); border:1px solid var(--line); border-radius:10px; padding:16px; }
.answer-text p { margin:0 0 12px; }
.answer-text { font-size:16px; }
blockquote { margin:8px 0; padding-left:12px; border-left:3px solid var(--accent);
  color:var(--muted); font-size:15px; font-style:italic; }
.agreement { display:flex; flex-wrap:wrap; gap:10px; align-items:center; margin:0 0 16px; }
.agreement .group { display:inline-flex; gap:8px; align-items:center; font-size:14px;
  color:var(--muted); background:var(--card); border:1px solid var(--line);
  border-radius:8px; padding:6px 10px; }
.agreement .agree { font: 600 13px ui-sans-serif, system-ui, sans-serif; color:var(--accent); }
.agreement .position { margin:0; }
.position { display:inline-block; font: 600 13px/1 ui-sans-serif, system-ui, sans-serif;
  letter-spacing:.02em; padding:5px 10px; border-radius:999px;
  border:1px solid var(--accent); color:var(--accent); margin:4px 0 8px; }
.proposed { font-size:14px; color:var(--muted); }
.noanswer { color:var(--muted); font-style:italic; }
.reworded { font-size:15px; color:var(--muted); }
.vocab { margin: 8px 0 24px; font-size:15px; }
.vocab dt { font: 600 14px ui-sans-serif, system-ui, sans-serif; margin-top:10px; }
.vocab dd { margin:2px 0 0; color:var(--muted); }
footer { border-top:1px solid var(--line); padding:20px 22px; color:var(--muted); font-size:14px; }
footer p { max-width:70ch; margin:0 auto; }
