:root{--bg:#f6efe2;--ink:#2b2118;--mute:#6d5d4b;--accent:#9a3b1f;--line:#dccfb7;--card:#fbf6ea}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:19px/1.65 Georgia,"Times New Roman",serif}
a{color:var(--accent)}
header,main,footer{max-width:820px;margin:0 auto;padding:0 20px}
header{display:flex;justify-content:space-between;align-items:baseline;padding-top:22px;padding-bottom:12px;border-bottom:1px solid var(--line)}
header .brand{font-weight:bold;text-decoration:none;color:var(--ink);font-size:1.1rem}
nav a{margin-left:18px;text-decoration:none}
h1{font-size:2.3rem;line-height:1.2;margin:2.2rem 0 .6rem}
h2{font-size:1.5rem;margin:2.6rem 0 .6rem}
h3{font-size:1.15rem;margin:1.6rem 0 .2rem;color:var(--accent)}
.lede{font-size:1.25rem;color:var(--mute)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;padding:0;list-style:none}
.card{display:block;background:var(--card);border:1px solid var(--line);border-radius:6px;padding:14px 16px;text-decoration:none;color:var(--ink)}
.card b{display:block}.card span{color:var(--mute);font-size:.9rem}
.root{border-left:4px solid var(--accent);padding-left:14px;margin:1.4rem 0}
.q{margin:.2rem 0}.q strong{display:block;font-size:.85rem;text-transform:uppercase;letter-spacing:.05em;color:var(--mute)}
.note{background:var(--card);border:1px dashed var(--line);padding:10px 14px;border-radius:6px;font-size:.9rem;color:var(--mute)}
label{display:block;margin-top:1rem;font-weight:bold}
small{display:block;color:var(--mute);font-weight:normal}
input,textarea,select{width:100%;font:inherit;padding:8px;border:1px solid var(--line);border-radius:4px;background:#fff}
textarea{min-height:90px}
button{font:inherit;background:var(--accent);color:#fff;border:0;border-radius:4px;padding:10px 18px;margin-top:1rem;cursor:pointer}
fieldset{border:1px solid var(--line);border-radius:6px;margin-top:1.4rem;padding:6px 16px 16px}
legend{font-weight:bold;padding:0 6px}
pre{white-space:pre-wrap;background:var(--card);border:1px solid var(--line);padding:12px;border-radius:6px;font-size:.85rem}
footer{padding:30px 20px 50px;color:var(--mute);font-size:.9rem;border-top:1px solid var(--line);margin-top:3rem}
.local{font-weight:normal;color:var(--mute);font-size:.7em}
.meaning{margin:-.4rem 0 .8rem;color:var(--mute);font-style:italic}
.tags{display:grid;gap:4px;font-size:.9rem;margin:1rem 0}.tags strong{display:inline-block;min-width:100px;color:var(--mute);font-weight:normal}
.jump{font-size:.9rem;margin:1rem 0;line-height:2}
.trust{font:600 .65rem/1 system-ui,sans-serif;text-transform:uppercase;letter-spacing:.05em;padding:3px 6px;border-radius:3px;vertical-align:middle;background:#eee;color:#555;white-space:nowrap}
.trust-draft{background:#f0e2c4;color:#7a5a12}.trust-official{background:#dbe7f5;color:#1d4b7f}.trust-reported{background:#e6e0f2;color:#4b3a7a}
.trust-community,.trust-confirmed,.trust-reviewed{background:#dcefd9;color:#2d6626}
.now{background:#fff4e8;border:2px solid #d98a3c;border-radius:6px;padding:4px 18px 10px;margin:1.6rem 0}.now h2{margin-top:.8rem}
.now.stale{border-color:var(--line);background:var(--card)}
.asof{font-size:.85rem;color:var(--mute)}
table{border-collapse:collapse;width:100%;font-size:.95rem}td{border-top:1px solid var(--line);padding:8px 10px 8px 0;vertical-align:top}
td small{display:inline;color:var(--mute)}
.rule{border-left:4px solid #1d4b7f;padding-left:14px;margin:1rem 0}.src{font-size:.85rem;color:var(--mute)}
.sides{display:grid;grid-template-columns:1fr 1fr;gap:16px}.sides>div{background:var(--card);border:1px solid var(--line);border-radius:6px;padding:0 14px 8px}
@media(max-width:640px){.sides{grid-template-columns:1fr}}
.by{font-size:.85rem;color:var(--mute);margin-top:-.2rem}
.timeline{display:grid;grid-template-columns:max-content 1fr;gap:6px 16px}.timeline dt{font-weight:bold;white-space:nowrap}.timeline dd{margin:0}
.sources{font-size:.85rem}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px}
.sharecard{margin:0;background:#2b2118;color:#f6efe2;border-radius:8px;padding:18px;display:flex;flex-direction:column;justify-content:space-between;aspect-ratio:1}
.sharecard blockquote{margin:0;font-size:1rem}.sharecard figcaption{font-size:.75rem;opacity:.7;margin-top:10px}
.sharecard button{align-self:flex-start;margin-top:10px;padding:6px 12px;font-size:.85rem}
.elder{background:var(--card);border:1px solid var(--line);border-radius:6px;padding:4px 18px 10px;margin-top:2.4rem}
.hp{position:absolute;left:-9999px}
.error{color:#8a1f11;background:#fbe3dd;padding:8px 12px;border-radius:4px}
button:disabled{opacity:.6}
.kicker{text-transform:uppercase;letter-spacing:.08em;font-size:.8rem;color:var(--accent);margin:2rem 0 -1.6rem}
.ideas{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}
.idea{display:block;border:1px solid var(--line);border-radius:6px;padding:10px 12px;text-decoration:none;color:var(--ink);background:var(--card)}
.idea b{display:block}.idea span{font-size:.85rem;color:var(--mute)}.idea.on{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}
.answer{border-top:1px solid var(--line);padding-top:6px;margin-top:1.4rem}
.chips{margin:.6rem 0}.chip{display:inline-block;font-size:.75rem;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:2px 10px;margin:0 6px 6px 0}
.cardbtns{display:flex;gap:8px}
.contrib{border:1px solid var(--line);border-radius:6px;padding:4px 16px 10px;margin:1rem 0;background:#fff}
.prose table{margin:1rem 0}.prose th{text-align:left;border-bottom:2px solid var(--line);padding:6px 10px 6px 0}
.idea span,.card span{line-height:1.45;display:block;margin-top:4px}
@media(max-width:640px){
  body{font-size:17px}
  header{flex-direction:column;align-items:flex-start;gap:6px}
  nav a{margin:0 14px 0 0;font-size:.95rem}
  h1{font-size:1.9rem}
  .tags strong{display:block;min-width:0}
  .timeline{grid-template-columns:1fr}.timeline dd{margin-bottom:8px}
}
