:root{--bg: #f6f2ea;--bg-glow: #fffdf8;--panel: rgb(60 40 20 / .04);--panel-border: rgb(60 40 20 / .13);--btn: rgb(60 40 20 / .05);--btn-hover: rgb(60 40 20 / .1);--row-alt: rgb(60 40 20 / .05);--card: #ffffff;--text: #241a12;--text-dim: #6a5a4a;--accent: #b5462b;--accent-hover: #c9553a;--accent-text: #ffffff;--focus: #1f6fd1;--shadow: 0 10px 28px rgb(60 40 20 / .14);--pad: #f4b740;--pad-ink: #2b2140;color-scheme:light}:root[data-theme=dark]{--bg: #17131f;--bg-glow: #2b2140;--panel: rgb(255 255 255 / .05);--panel-border: rgb(255 255 255 / .1);--btn: rgb(255 255 255 / .07);--btn-hover: rgb(255 255 255 / .13);--row-alt: rgb(255 255 255 / .04);--card: #221b2e;--text: #f1ebf6;--text-dim: #b0a5bd;--accent: #f4b740;--accent-hover: #f7c867;--accent-text: #2b2140;--focus: #ffd98a;--shadow: 0 10px 28px rgb(0 0 0 / .4);color-scheme:dark}@media(prefers-color-scheme:dark){:root:not([data-theme]){--bg: #17131f;--bg-glow: #2b2140;--panel: rgb(255 255 255 / .05);--panel-border: rgb(255 255 255 / .1);--btn: rgb(255 255 255 / .07);--btn-hover: rgb(255 255 255 / .13);--row-alt: rgb(255 255 255 / .04);--card: #221b2e;--text: #f1ebf6;--text-dim: #b0a5bd;--accent: #f4b740;--accent-hover: #f7c867;--accent-text: #2b2140;--focus: #ffd98a;--shadow: 0 10px 28px rgb(0 0 0 / .4);color-scheme:dark}}*{box-sizing:border-box}html,body{margin:0;min-height:100%}body{background:radial-gradient(ellipse at 30% 20%,var(--bg-glow),var(--bg) 70%) fixed;background-color:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.4;transition:background-color .3s ease,color .3s ease}button{font:inherit;color:inherit}a{color:var(--accent)}.prose{max-width:760px;margin:0 auto;padding:8px 16px 48px;line-height:1.65}.prose.page{padding-top:32px}.prose h1{margin:0 0 12px;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.8rem,5vw,2.4rem);line-height:1.2;color:var(--accent)}.prose h2{margin:32px 0 8px;font-family:Georgia,Times New Roman,serif;font-size:1.35rem;line-height:1.3}.prose p,.prose ul,.prose ol{margin:0 0 14px}.prose li+li{margin-top:6px}.prose .lead{font-size:1.15rem;color:var(--text-dim)}.prose .updated{font-size:.9rem;color:var(--text-dim)}.prose .email{font-size:1.2rem}.todo{padding:4px 12px;border:2px dashed #e5484d;border-radius:8px;color:#e5484d}.prose h3{margin:22px 0 6px;font-size:1.05rem}.prose code,.prose kbd{font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:.92em;padding:1px 5px;border-radius:4px;background:var(--row-alt);border:1px solid var(--panel-border);white-space:nowrap}.prose table{display:block;overflow-x:auto;margin:0 0 16px;border-collapse:collapse;font-size:.95rem}.prose th,.prose td{padding:8px 10px;text-align:left;vertical-align:top;border-bottom:1px solid var(--panel-border)}.prose th{color:var(--text-dim);font-weight:600}.prose details{margin:0 0 10px;padding:8px 12px;border-radius:8px;background:var(--row-alt);border:1px solid var(--panel-border)}.prose summary{cursor:pointer;font-weight:600}.prose details[open] summary{margin-bottom:6px}.prose details>:last-child{margin-bottom:0}.prose .crumbs{margin:0 0 6px;font-size:.9rem;color:var(--text-dim)}.prose .toc{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 8px}.prose .toc a{padding:6px 12px;border-radius:999px;border:1px solid var(--panel-border);background:var(--panel);text-decoration:none}
