:root{color-scheme:light dark;--bg:#f5f3eb;--fg:#252722;--muted:#606457;--line:#d3d5c8;--accent:#3b5d16;--panel:#eaece2;--code-bg:#f4f5ef;--code-fg:#202522;--mono:ui-monospace,SFMono-Regular,Consolas,monospace}
@media(prefers-color-scheme:dark){:root{--bg:#171a17;--fg:#eeeee5;--muted:#a5ac9c;--line:#353c32;--accent:#c5e890;--panel:#20251e}}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:2rem}body{margin:0;background:var(--bg);color:var(--fg);font:17px/1.7 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:inherit;text-underline-offset:.22em}a:hover{color:var(--accent)}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:6px}.shell{width:min(1080px,calc(100% - 96px));margin-inline:auto}.site-header{display:flex;justify-content:space-between;align-items:center;padding-block:30px;border-bottom:1px solid var(--line)}.brand{font:700 26px var(--mono);letter-spacing:-1.5px;text-decoration:none}.brand-dot{color:var(--accent)}nav{display:flex;gap:30px;font-size:14px}nav a{text-decoration:none;color:var(--muted)}nav a[aria-current]{color:var(--fg)}.skip-link{position:absolute;top:-100px;left:20px;background:var(--bg);padding:10px;z-index:2000}.skip-link:focus{top:10px}.hero{position:relative;padding:88px 0 82px;border-bottom:1px solid var(--line)}.eyebrow{font:12px/1.6 var(--mono);letter-spacing:.07em;color:var(--muted)}.status-dot{display:inline-block;width:7px;height:7px;background:var(--accent);border-radius:50%;margin-right:8px}.hero h1{font:500 clamp(58px,8vw,108px)/1.03 Georgia,"Times New Roman",serif;letter-spacing:-.055em;margin:28px 0}.hero h1 em{color:var(--accent);font-weight:400}.hero-description{max-width:440px;color:var(--muted);font-size:18px;margin:28px 0}.text-link{font-size:14px;text-decoration:none;display:inline-flex;gap:30px;border-bottom:1px solid var(--accent);padding-bottom:6px}.hero-mark{position:absolute;right:20px;top:128px;font:130px/1 var(--mono);color:var(--line);letter-spacing:-22px;user-select:none}.hero-mark span{color:var(--accent);font-size:80px;vertical-align:middle;padding:0 16px}.writing{padding:42px 0 70px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}.section-heading h2{font-size:16px;font-weight:500;margin:0}.post-row{position:relative;display:grid;grid-template-columns:85px 1fr 24px;gap:30px;padding:30px 0;border-bottom:1px solid var(--line)}.post-date{font:12px/1.8 var(--mono);color:var(--muted);padding-top:6px}.post-date span{display:block}.post-summary h3{font-size:23px;line-height:1.4;letter-spacing:-.02em;font-weight:500;margin:0 0 10px}.post-summary h3 a{text-decoration:none}.post-summary p{font-size:14px;line-height:1.7;color:var(--muted);max-width:680px;margin:0}.row-arrow{color:var(--accent);font-size:22px}.post-row:hover .post-summary h3 a{color:var(--accent)}.site-footer{border-top:1px solid var(--line);padding-block:28px;display:flex;justify-content:space-between;gap:24px;font-size:12px;color:var(--muted)}.site-footer div{display:flex;gap:22px}.site-footer a{text-decoration:none}.footer-divider{padding-inline:8px}.post{max-width:780px;margin-inline:auto}.post-header{padding:65px 0 40px;border-bottom:1px solid var(--line);margin-bottom:40px}.back-link{font:12px var(--mono);text-decoration:none;color:var(--muted)}.post-header .eyebrow{margin-top:35px}.post-header h1{font:500 clamp(32px,4.2vw,52px)/1.15 Georgia,"Times New Roman",serif;letter-spacing:-.03em;margin:18px 0 0;overflow-wrap:anywhere}.prose{overflow-wrap:anywhere}.prose h1,.prose h2,.prose h3{line-height:1.3;letter-spacing:-.02em;margin-top:2.2em;margin-bottom:.8em}.prose h1{font-size:29px}.prose h2{font-size:25px}.prose h3{font-size:21px}.prose a{color:var(--accent)}.prose p{margin:1.4em 0}.prose img{max-width:100%;height:auto}.prose img.zoomable-thumbnail{max-width:100%;object-fit:contain;background:white}.prose blockquote{border-left:2px solid var(--accent);padding-left:24px;margin-inline:0;color:var(--muted)}.prose code{font: .85em/1.65 var(--mono)}.prose :not(pre)>code{background:var(--panel);padding:.15em .3em;border-radius:3px}.prose pre{overflow:auto;padding:20px;margin:0;background:var(--code-bg);color:var(--code-fg);border-radius:4px;max-width:100%}.prose .highlight{overflow:auto;background:var(--code-bg);color:var(--code-fg);border:1px solid var(--line);border-radius:4px;margin:24px 0}.prose .highlight pre{border:0;margin:0}.prose .highlight .highlight{border:0;margin:0}.prose .code-container{max-width:100%;background:var(--code-bg);color:var(--code-fg)}.prose .code-container .highlight{margin:0}.prose .code-container.truncated{border-color:var(--line)}.prose table{display:block;overflow:auto;border-collapse:collapse;max-width:100%;font-size:14px}.prose td,.prose th{border:1px solid var(--line);padding:10px 14px;text-align:left}.prose hr{border:0;border-top:1px solid var(--line);margin:40px 0}.prose #markdown-toc{font-size:14px;background:var(--panel);border:1px solid var(--line);padding:24px 24px 24px 42px}.prose #markdown-toc li{padding:3px 0}.prose #markdown-toc ul{padding-left:22px}.post-end{border-top:1px solid var(--line);padding:30px 0 60px;margin-top:60px;display:flex;justify-content:space-between;gap:24px;font-size:14px;color:var(--muted)}.highlight .c,.highlight .c1,.highlight .cm,.highlight .cp,.highlight .cs{color:#55604b}.highlight .k,.highlight .kd,.highlight .kn,.highlight .kp,.highlight .kr,.highlight .kt{color:#683491}.highlight .s,.highlight .s1,.highlight .s2,.highlight .se,.highlight .sh,.highlight .si{color:#276021}.highlight .m,.highlight .mi,.highlight .mf,.highlight .mh,.highlight .il{color:#95521a}.highlight .nf,.highlight .nc,.highlight .nb{color:#245b86}.highlight .o,.highlight .ow{color:#924327}
@media(max-width:700px){.shell{width:calc(100% - 40px)}.site-header{padding-block:22px}nav{gap:18px;font-size:13px}.brand{font-size:23px}.hero{padding:54px 0 48px}.hero .eyebrow{font-size:10px;letter-spacing:.03em}.hero-mark{display:none}.hero-description{font-size:16px}.section-heading{align-items:flex-start;flex-direction:column;gap:6px}.post-row{grid-template-columns:1fr 20px;gap:10px;padding-block:24px}.post-date{grid-column:1 / -1;display:flex;gap:10px;padding:0}.post-summary h3{font-size:21px}.site-footer{flex-direction:column;gap:16px}.post-header{padding-top:42px}.post-end{flex-direction:column}.prose{font-size:16px}.prose pre{padding:14px}.prose #markdown-toc{padding:18px 18px 18px 32px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.prose .zoomable-thumbnail,.prose .modal,.prose .modal-content{transition:none}}
