:root{color-scheme:light;--ink:#10202a;--ink-soft:#46565f;--paper:#f4f1ea;--surface:#fffdf8;--line:#ddd8cc;--signal:#e9b949;--signal-dark:#8a5d0f;--night:#0b1821;--todo-bg:#fff0a6;--todo-line:#c9a400}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"Geist","Segoe UI",system-ui,sans-serif;font-size:17px;line-height:1.65}
.wrap{max-width:860px;margin:0 auto;padding-inline:20px}
header{position:sticky;top:0;background:rgba(244,241,234,.9);backdrop-filter:blur(12px);border-bottom:1px solid rgba(16,32,42,.08);z-index:5}
header .wrap{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-block:12px;max-width:1216px}
.brand{display:flex;gap:10px;align-items:center;text-decoration:none;color:inherit;font-weight:700}
.badge{width:38px;height:38px;border-radius:50%;background:var(--ink);color:var(--signal);display:grid;place-items:center;font-size:.9rem}
.back{font-weight:600;color:var(--ink);text-decoration:none;border:1.5px solid rgba(16,32,42,.25);border-radius:999px;padding:8px 16px;font-size:.92rem}
main{padding-block:48px 80px}
.eyebrow{font-size:.74rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--signal-dark)}
h1{font-family:"Instrument Serif",Georgia,serif;font-weight:400;font-size:clamp(2.6rem,7vw,4rem);line-height:1;margin:.3em 0 .4em}
h2{font-size:1.2rem;margin:2.2em 0 .5em;padding-top:1.2em;border-top:1px solid var(--line)}
h3{font-size:1.02rem;margin:1.4em 0 .3em}
p,li{max-width:70ch}
a{color:var(--ink);text-decoration-color:var(--signal-dark);text-underline-offset:3px}
dl{display:grid;grid-template-columns:minmax(150px,220px) 1fr;gap:8px 20px;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:20px 22px;margin:0}
dt{color:var(--ink-soft);font-size:.92rem}
dd{margin:0;font-weight:500;min-width:0;overflow-wrap:anywhere}
@media(max-width:560px){dl{grid-template-columns:1fr;gap:2px}dd{margin-bottom:10px}}
.todo{background:var(--todo-bg);box-shadow:inset 0 -2px 0 var(--todo-line);padding:0 4px;border-radius:4px}
.note{background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--signal);border-radius:12px;padding:14px 18px;font-size:.95rem}
.toc{columns:2;column-gap:28px;padding-left:1.2em;font-size:.95rem}
@media(max-width:560px){.toc{columns:1}}
.table{overflow-x:auto}
table{border-collapse:collapse;width:100%;min-width:560px;font-size:.93rem;background:var(--surface)}
th,td{border:1px solid var(--line);padding:8px 10px;text-align:left;vertical-align:top}
th{background:#f0ece2}
footer{border-top:1px solid var(--line);padding-block:28px;font-size:.9rem;color:var(--ink-soft)}
footer .wrap{display:flex;flex-wrap:wrap;gap:8px 20px;max-width:1216px}
:focus-visible{outline:3px solid #0b63ce;outline-offset:3px;border-radius:6px}
