:root{color-scheme:light;--paper:#f5f0e6;--ink:#443e36;--muted:#797063;--accent:#896438;--visited:#75614e;--line:#d8cbb8;--code:#eae2d4;font-family:ui-monospace,sfmono-regular,Menlo,Consolas,liberation mono,monospace;font-size:15px;line-height:1.8;background:var(--paper);color:var(--ink)}*{box-sizing:border-box}body{margin:0}::selection{background:var(--accent);color:var(--paper)}a{color:var(--accent);text-underline-offset:.24em;text-decoration-thickness:1px}a:hover{text-decoration:underline}a:focus-visible{outline:2px solid var(--accent);outline-offset:5px}.site{max-width:800px;margin:0 auto;padding:66px 48px 32px}.masthead{padding-bottom:24px;border-bottom:3px double var(--line)}.identity{display:flex;align-items:center;justify-content:space-between;min-height:68px;gap:18px}.site-title{color:var(--ink);font-size:24px;font-weight:650;letter-spacing:-.065em;text-decoration:none}.motif{display:block;flex-shrink:0;color:var(--accent)}.masthead nav{display:flex;flex-wrap:wrap;column-gap:24px;row-gap:8px;margin-top:18px;font-size:12px}.masthead nav a{color:var(--muted);text-decoration:none}.masthead nav a:hover{color:var(--accent);text-decoration:underline}.intro{margin:44px 0 54px}.intro h1{font-size:16px;letter-spacing:-.035em;font-weight:500;margin:0}.intro p{font-size:12px;color:var(--muted);margin:9px 0 0}.year{padding:0 0 34px}.year-label{display:flex;align-items:center;gap:16px;color:var(--accent);font-size:11px;font-weight:400;margin:0 0 15px}.year-label::after{content:"";height:1px;flex:1;background:var(--line)}.post-list{list-style:none;padding:0;margin:0}.post-list li{display:grid;grid-template-columns:minmax(0,1fr)58px;column-gap:24px;align-items:baseline;padding:0 0 18px}.post-list li:last-child{padding-bottom:0}.post-list time{grid-column:2;grid-row:1;text-align:right;color:var(--muted);font-size:11px;white-space:nowrap}.post-list a{grid-column:1;grid-row:1;color:var(--ink);text-decoration:none;line-height:1.7;letter-spacing:-.025em;font-size:15px}.post-list a:visited{color:var(--visited)}.post-list a:hover{color:var(--accent);text-decoration:underline}.site-footer{margin-top:68px;padding-top:22px;border-top:1px solid var(--line);font-size:11px;color:var(--muted);display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px}.site-footer nav{display:flex;flex-wrap:wrap;gap:22px}.site-footer a{color:var(--muted);text-decoration:none}.article-header{margin:40px 0 36px}.article h1{font-size:clamp(24px,4vw,32px);line-height:1.4;letter-spacing:-.06em;font-weight:550;margin:20px 0 16px;text-wrap:balance}.article-header time,.back-link{font-size:11px;color:var(--muted)}.back-link{text-decoration:none}.prose{overflow-wrap:anywhere;line-height:1.95}.prose p{margin:0 0 1.6em}.prose h1,.prose h2,.prose h3,.prose h4{font-size:20px;line-height:1.5;letter-spacing:-.045em;margin:2.2em 0 1em;text-wrap:initial}.prose h3,.prose h4{font-size:17px}.prose ul,.prose ol{padding-left:1.7em;margin-bottom:1.6em}.prose li{margin-bottom:.65em}.prose blockquote{margin:1.8em 0;padding:0 0 0 22px;border-left:2px solid var(--accent);color:var(--muted)}.prose hr{border:0;border-top:1px solid var(--line);margin:2.5em 0}.prose img,.prose video{max-width:100%;height:auto}.prose iframe{max-width:100%}.prose code,.prose pre{font-family:inherit;font-size:.9em}.prose :not(pre)>code{background:var(--code);padding:.16em .3em}.prose pre{padding:20px;line-height:1.65;overflow-x:auto}.prose .highlight,.prose .gist{max-width:100%;overflow-x:auto}.prose .highlight pre{margin:0}.prose table{display:block;max-width:100%;overflow-x:auto;border-collapse:collapse;font-size:13px}.prose th,.prose td{padding:8px 12px;border-bottom:1px solid var(--line);text-align:left}.prose .gist table{display:table}.skip-link{position:absolute;top:-100px;left:16px;padding:8px 16px;background:var(--paper);z-index:1}.skip-link:focus{top:8px}main:focus{outline:none}@media(max-width:600px){:root{font-size:14px}.site{padding:32px 22px 24px}.site-title{font-size:20px}.identity{gap:12px}.masthead nav{column-gap:18px;font-size:11px}.intro h1{font-size:15px}.post-list li{column-gap:15px;grid-template-columns:minmax(0,1fr)53px}.post-list a{font-size:13px}.motif{width:42px;height:auto}.article-header{margin-top:28px}.article h1{font-size:24px}.site-footer{margin-top:45px;font-size:10px}.prose pre{padding:14px}}