:root{
  --bg:#f6f4ef; --paper:#fffdf8; --ink:#1f1d1a; --muted:#6b665d; --rule:#e2ddd2;
  --accent:#c2412d; --accent-soft:#f6e2dc; --code:#efebe2; --ok:#2f6b4f; --warn:#9a6a00;
}
@media (prefers-color-scheme: dark){
  :root{ --bg:#151413; --paper:#1d1c1a; --ink:#ece8e0; --muted:#a39d92; --rule:#33302b;
    --accent:#ff7a5c; --accent-soft:#3a231d; --code:#2a2825; --ok:#7fc8a2; --warn:#e3b65a; }
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:17px/1.6 "Inter",system-ui,-apple-system,sans-serif}
.wrap{max-width:760px;margin:0 auto;padding:40px 16px 80px}
a{color:var(--accent)}
.crumbs{font-size:14px;color:var(--muted);margin-bottom:28px}
.crumbs a{color:var(--muted)}
h1{font:600 2.2rem/1.15 "Fraunces",Georgia,serif;margin:0 0 8px;letter-spacing:-.01em}
h2{font:600 1.45rem/1.25 "Fraunces",Georgia,serif;margin:48px 0 10px;padding-top:16px;border-top:1px solid var(--rule)}
h3{font-size:1.05rem;margin:28px 0 6px}
.lede{color:var(--muted);font-size:1.08rem;margin:0 0 6px}
.meta{font-size:14px;color:var(--muted);margin-bottom:28px}
.status{display:inline-block;font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;
  padding:2px 8px;border-radius:99px;background:var(--accent-soft);color:var(--accent);vertical-align:middle}
ul,ol{padding-left:1.3em}
li{margin:4px 0}
code{font:0.88em ui-monospace,SFMono-Regular,Menlo,monospace;background:var(--code);padding:1px 5px;border-radius:4px}
.note{background:var(--paper);border:1px solid var(--rule);border-left:4px solid var(--accent);
  padding:12px 16px;border-radius:6px;margin:18px 0}
.note.verify{border-left-color:var(--warn)}
.note p{margin:4px 0}
table{width:100%;border-collapse:collapse;margin:14px 0;font-size:15px;display:block;overflow-x:auto}
th,td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--rule);vertical-align:top}
th{font-weight:600;color:var(--muted);font-size:13px;text-transform:uppercase;letter-spacing:.03em}
.toc{background:var(--paper);border:1px solid var(--rule);border-radius:8px;padding:12px 18px;margin:20px 0}
.toc ol{margin:6px 0}
.cards{display:grid;gap:14px;margin-top:24px}
.card{display:block;background:var(--paper);border:1px solid var(--rule);border-radius:10px;padding:18px 20px;
  text-decoration:none;color:var(--ink);transition:border-color .15s}
.card:hover{border-color:var(--accent)}
.card h3{margin:0 0 4px;font:600 1.2rem "Fraunces",Georgia,serif}
.card p{margin:0;color:var(--muted);font-size:15px}
.card .status{margin-top:10px}
.phase{counter-reset:p}
footer{margin-top:60px;font-size:14px;color:var(--muted)}
.section-label{font:600 13px "Inter",sans-serif;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:44px 0 0}
.group{font:600 1.15rem "Fraunces",Georgia,serif;margin:26px 0 -10px}
.card .where{display:block;margin-top:10px;font-size:13px;color:var(--muted)}
.card .status.wip{background:var(--code);color:var(--muted)}
div.card{cursor:default}
div.card:hover{border-color:var(--rule)}
