:root{--bg:#EFE7D6;--surface:#FBF6E8;--ink:#1A1612;--ink-soft:#5C5246;--ink-faint:#9A8C7A;--rule:#D9CFB9;--accent:#C45A2B}
@media(prefers-color-scheme:dark){:root{--bg:#1C1915;--surface:#26221C;--ink:#EFE7D6;--ink-soft:#C2B7A0;--ink-faint:#8C8171;--rule:#3B352C;--accent:#E07A48}}
*{box-sizing:border-box}
html{color-scheme:light dark}
body{margin:0;background:var(--bg);color:var(--ink);font:17px/1.6 Georgia,"Times New Roman",serif}
main{max-width:44rem;margin:0 auto;padding:3rem 1.25rem 5rem}
header{display:flex;justify-content:space-between;align-items:baseline;border-bottom:1px solid var(--rule);padding-bottom:.75rem;margin-bottom:2.5rem}
header a{color:var(--ink);text-decoration:none;font-style:italic;font-size:1.5rem}
header nav a{font-style:normal;font-size:.95rem;color:var(--ink-soft);margin-left:1.25rem}
h1{font-weight:400;font-size:2.4rem;line-height:1.15;margin:0 0 .5rem}
h2{font-weight:400;font-size:1.5rem;margin:2.5rem 0 .75rem;padding-top:1.5rem;border-top:1px solid var(--rule)}
h3{font-weight:600;font-size:1.05rem;margin:1.5rem 0 .5rem;font-family:system-ui,sans-serif}
.meta{color:var(--ink-soft);font-size:.95rem;margin:0 0 2rem}
.meta span{display:block}
.callout{background:var(--surface);border-left:4px solid var(--accent);padding:1rem 1.25rem;margin:1.5rem 0}
table{border-collapse:collapse;width:100%;font-size:.95rem;font-family:system-ui,sans-serif}
th,td{text-align:left;padding:.5rem .6rem;border-bottom:1px solid var(--rule);vertical-align:top}
th{color:var(--ink-soft);font-weight:600}
code,kbd{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.9em;background:var(--surface);padding:.1em .35em;border-radius:3px}
a{color:var(--accent)}
ol.steps li{margin:.5rem 0}
footer{margin-top:4rem;padding-top:1rem;border-top:1px solid var(--rule);color:var(--ink-faint);font-size:.9rem;font-family:system-ui,sans-serif}
