:root{color-scheme:light;--bg:#faf9f6;--surface:#fff;--surface-2:#f2f0ea;--surface-3:#e9e6de;--ink:#1a1815;--ink-2:#57534c;--ink-3:#8a857c;--ink-4:#b0aaa1;--line:#e5e1d8;--line-2:#d3cec2;--tech:#a8a196;--grid:#1a18150b;--accent:#9a3412;--accent-soft:#fdf0e8;--guest:#3f5f7a;--shadow:0 1px 2px #1a18150a, 0 10px 28px #1a18150e;--serif:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,"Times New Roman",serif;--sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Roboto,Helvetica,Arial,sans-serif;--mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;--mod:38px;--wrap:1140px;--read:730px}@media (prefers-color-scheme:dark){:root:where(:not([data-theme=light])){color-scheme:dark;--bg:#141311;--surface:#1c1b18;--surface-2:#232220;--surface-3:#2c2a26;--ink:#f5f2ec;--ink-2:#c0bab0;--ink-3:#928c82;--ink-4:#6b665f;--line:#302e2a;--line-2:#403d37;--tech:#5c5750;--grid:#f5f2ec0d;--accent:#f0834e;--accent-soft:#2a1d15;--guest:#8fb4d4;--shadow:0 1px 2px #0006, 0 10px 28px #00000052}}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:76px}body{background:var(--bg);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;font-size:17px;line-height:1.7}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto;display:block}.wrap{max-width:var(--wrap);margin:0 auto;padding:0 26px}.read{max-width:var(--read);margin:0 auto}.skip{position:absolute;left:-9999px}.skip:focus{z-index:99;background:var(--ink);color:var(--bg);padding:8px 14px;top:8px;left:26px}.mono{font-family:var(--mono);letter-spacing:.06em;color:var(--ink-3);text-transform:uppercase;font-size:11.5px;font-weight:500}.secnum{font-family:var(--mono);color:var(--ink-4);letter-spacing:.1em;margin-right:10px;font-size:11.5px;display:inline-block}.gridbg{background-image:linear-gradient(var(--grid) 1px,transparent 1px), linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:var(--mod) var(--mod);background-position:top}.tech{position:relative}.tech:before,.tech:after{content:"";pointer-events:none;width:9px;height:9px;position:absolute}.tech:before{border-top:1px solid var(--tech);border-left:1px solid var(--tech);top:-1px;left:-1px}.tech:after{border-bottom:1px solid var(--tech);border-right:1px solid var(--tech);bottom:-1px;right:-1px}.prose{font-size:17.5px}.prose p{color:var(--ink-2);margin-bottom:19px}.prose h2{font-family:var(--serif);color:var(--ink);letter-spacing:-.015em;margin:38px 0 13px;font-size:24px;font-weight:600}.prose h3{font-family:var(--serif);margin:28px 0 10px;font-size:20px;font-weight:600}.prose strong{color:var(--ink);font-weight:650}.prose ul,.prose ol{color:var(--ink-2);margin:0 0 19px 22px}.prose li{margin-bottom:7px}.prose blockquote{border-left:2px solid var(--accent);font-family:var(--serif);color:var(--ink);margin:26px 0;padding:4px 0 4px 20px;font-size:20px;line-height:1.5}.prose table{border-collapse:collapse;border:1px solid var(--line-2);width:100%;margin:24px 0;font-size:15px}.prose th{background:var(--surface-2);text-align:left;padding:10px 13px;font-size:13px;font-weight:650}.prose td{border-top:1px solid var(--line);color:var(--ink-2);padding:10px 13px}.prose figure{margin:28px 0}.prose figcaption{color:var(--ink-3);margin-top:8px;font-size:13.5px}.btn{cursor:pointer;border:1px solid var(--line-2);color:var(--ink);background:0 0;border-radius:6px;align-items:center;gap:8px;padding:10px 17px;font-family:inherit;font-size:14px;font-weight:600;transition:all .16s;display:inline-flex}.btn:hover{border-color:var(--ink-3);background:var(--surface-2)}.sec-h{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:18px;margin-bottom:26px;padding-bottom:14px;display:flex}.sec-h h2{font-family:var(--serif);letter-spacing:-.015em;font-size:27px;font-weight:600}.sec-h .sub{color:var(--ink-3);font-size:13.5px}section{padding:62px 0}.tagline{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--accent);font-size:11px;font-weight:600;display:inline-block}.tagline.guest{color:var(--guest)}.empty-note{color:var(--ink-3);padding:34px 0;font-size:15.5px}.lang[data-astro-cid-lemdd452]{border:1px solid var(--line-2);font-family:var(--mono);border-radius:5px;font-size:11px;font-weight:600;display:flex;overflow:hidden}.lang[data-astro-cid-lemdd452]>[data-astro-cid-lemdd452]{color:var(--ink-3);padding:4px 8px}.on[data-astro-cid-lemdd452]{background:var(--ink);color:var(--bg)}.lang[data-astro-cid-lemdd452] a[data-astro-cid-lemdd452]:hover{color:var(--accent)}.off[data-astro-cid-lemdd452]{opacity:.35;cursor:not-allowed}header{z-index:50;background:color-mix(in srgb,var(--bg) 95%,transparent);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);position:sticky;top:0}.nav{align-items:center;gap:18px;height:64px;display:flex}.brand{font-family:var(--serif);letter-spacing:-.015em;white-space:nowrap;font-size:20px;font-weight:600}nav.links{align-items:center;gap:18px;margin-left:auto;display:flex}nav.links a{color:var(--ink-2);white-space:nowrap;padding:3px 0;font-size:13.5px;font-weight:550}nav.links a:hover{color:var(--accent)}nav.links a.sec{color:var(--ink-3)}nav.links .ax-empty{color:var(--ink-4);white-space:nowrap;cursor:default;padding:3px 0;font-size:13.5px;font-weight:550}nav.links .sep{background:var(--line-2);width:1px;height:14px}.menu-btn{color:var(--ink);cursor:pointer;background:0 0;border:none;padding:6px;font-size:21px;display:none}footer{border-top:1px solid var(--line);font-family:var(--mono);color:var(--ink-3);letter-spacing:.06em;text-transform:uppercase;margin-top:34px;padding:38px 0;font-size:11px}.fg{flex-wrap:wrap;justify-content:space-between;gap:22px;display:flex}.fg a:hover{color:var(--accent)}.fg .l{flex-wrap:wrap;gap:18px;display:flex}@media (width<=1050px){nav.links{gap:14px}nav.links a{font-size:13px}}@media (width<=860px){nav.links{background:var(--bg);border-bottom:1px solid var(--line);flex-direction:column;gap:0;padding:6px 26px 16px;display:none;position:absolute;top:64px;left:0;right:0}nav.links.open{align-items:flex-start;display:flex}nav.links a,nav.links .ax-empty{border-bottom:1px solid var(--line);width:100%;padding:12px 0;font-size:15.5px}nav.links .sep{display:none}.menu-btn{margin-left:auto;display:block}}
