:root{color-scheme:dark;--bg:#161616;--paper:#1c1c1c;--ink:#ececec;--ink-2:#bcbcbc;--muted:#8f8f8f;--faint:#5a5a5a;--line:#2a2a2a;--line-strong:#3e3e3e;--accent-d:#e9a46a;--accent-l:#9c5418;--accent:var(--accent-d);--fg-rgb:255,255,255;--shadow:rgba(0,0,0,.4);--scrim:rgba(0,0,0,.45);--accent-soft:color-mix(in srgb,var(--accent) 14%,transparent);--serif:"Iowan Old Style","Hiragino Mincho ProN","Yu Mincho",Georgia,"Times New Roman",serif;--sans:-apple-system,BlinkMacSystemFont,"Segoe UI","Hiragino Sans","Yu Gothic UI",sans-serif;--mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}@media(prefers-color-scheme:light){:root:not([data-theme=dark]){color-scheme:light;--bg:#f5f4f1;--paper:#ecebe7;--ink:#1b1b1b;--ink-2:#454545;--muted:#666666;--faint:#b4b4b0;--line:#e1e0dc;--line-strong:#cfcdc8;--accent:var(--accent-l);--fg-rgb:0,0,0;--shadow:rgba(40,30,20,.12);--scrim:rgba(20,20,20,.25)}:root:not([data-theme=dark]) [data-accent]{--c:var(--c-l)}}:root[data-theme=light]{color-scheme:light;--bg:#f5f4f1;--paper:#ecebe7;--ink:#1b1b1b;--ink-2:#454545;--muted:#666666;--faint:#b4b4b0;--line:#e1e0dc;--line-strong:#cfcdc8;--accent:var(--accent-l);--fg-rgb:0,0,0;--shadow:rgba(40,30,20,.12);--scrim:rgba(20,20,20,.25)}:root[data-theme=light] [data-accent]{--c:var(--c-l)}[data-accent]{--c:var(--c-d)}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--bg)}body{margin:0;color:var(--ink);font:14px/1.75 var(--sans);-webkit-font-smoothing:antialiased;background:radial-gradient(600px 380px at 50% 230px,color-mix(in srgb,var(--accent) 6%,transparent),transparent 70%),radial-gradient(rgba(var(--fg-rgb),.05) 1px,transparent 1px)0 0/22px 22px,var(--bg)}a{color:inherit;text-decoration:none}::selection{background:var(--ink);color:var(--bg)}:focus-visible{outline:1px solid var(--accent);outline-offset:3px;border-radius:2px}.skip{position:absolute;left:-999px;top:8px;padding:6px 12px;background:var(--ink);color:var(--bg);z-index:10}.skip:focus{left:8px}.wrap{width:min(1e3px,calc(100% - 48px));margin:auto}.site-header{height:64px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:10px;font:500 15px/1 var(--serif);letter-spacing:.01em}.brand .avatar{width:26px;height:26px;font-size:10px}.right{display:flex;align-items:center;gap:26px}.nav{display:flex;gap:26px;font-size:12px}.nav a{position:relative;color:var(--muted);padding:6px 0;transition:color .2s}.nav a:hover,.nav a.active{color:var(--ink)}.nav a.active::after{content:"";position:absolute;left:15%;right:15%;bottom:0;height:1px;background:var(--accent)}.swatches{display:flex;gap:7px;padding-left:20px;border-left:1px solid var(--line)}.swatches button{width:12px;height:12px;padding:0;border-radius:50%;border:0;background:var(--c);cursor:pointer;box-shadow:0 0 0 1px rgba(0,0,0,.4);transition:transform .2s,box-shadow .2s}.swatches button:hover{transform:scale(1.2)}.swatches button[aria-pressed=true]{box-shadow:0 0 0 2px var(--bg),0 0 0 3px var(--c)}.avatar{display:grid;place-items:center;border-radius:50%;background:var(--paper);border:1px solid var(--line-strong);color:var(--ink);font-family:var(--serif)}.hero{padding:110px 0 96px;text-align:center}.hero .avatar{width:76px;height:76px;margin:0 auto 26px;font-size:24px;letter-spacing:.04em;box-shadow:0 0 0 6px rgba(var(--fg-rgb),.03),0 0 60px color-mix(in srgb,var(--accent) 12%,transparent)}.hero h1{margin:0;font-family:var(--sans);font-weight:400;font-size:clamp(22px,3.4vw,30px);line-height:1.45;letter-spacing:-.01em;color:var(--ink-2)}.hero h1 strong{color:var(--accent);font-weight:500}.hero h1 em{font-family:var(--serif);font-style:italic;color:var(--accent);font-size:1.08em}.chip{display:inline-block;vertical-align:middle;margin-left:6px;padding:1px 10px;border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);border-radius:999px;font:500 .55em/1.9 var(--mono);color:var(--accent);background:var(--accent-soft);letter-spacing:.02em}.sub{margin:14px 0 0;font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted)}.quote{margin:72px auto 0;max-width:420px;font:italic 13px/1.7 var(--serif);color:var(--muted)}.quote cite{display:block;margin-top:6px;font-style:normal;font-size:11px;letter-spacing:.06em;color:var(--faint)}.socials{display:flex;justify-content:center;gap:22px;margin-top:26px}.socials a{color:var(--muted);transition:color .2s,transform .2s}.socials a:hover{color:var(--accent);transform:translateY(-1px)}.socials svg{width:16px;height:16px;display:block}.columns{display:grid;grid-template-columns:1.55fr 1fr;padding-bottom:96px}.col-main{padding-right:40px;border-right:1px solid var(--line)}.col-side{padding-left:32px}.col-side section+section{margin-top:40px;padding-top:28px;border-top:1px solid var(--line)}h2{margin:0 0 22px;font:19px/1.3 var(--serif);letter-spacing:.02em;color:var(--ink)}.plist{list-style:none;margin:0;padding:0}.plist li{display:grid;grid-template-columns:26px 1fr}.plist .no{padding-top:12px;font:11px/1 var(--mono);color:var(--faint)}.plist a{display:block;padding:8px 0 14px 16px;border-left:1px solid var(--line);transition:border-color .25s}.plist .row{display:flex;justify-content:space-between;align-items:baseline;gap:16px}.plist h3{margin:0;font:500 14px/1.5 var(--serif);color:var(--ink)}.plist .when{flex:none;font-size:11px;color:var(--muted)}.plist .meta{display:block;margin-top:2px;font-size:11.5px;color:var(--muted)}.plist p{margin:6px 0 0;font-size:13px;color:var(--ink-2);max-width:460px}.plist a:hover{border-left-color:var(--accent)}.plist a:hover h3{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}.plist li.featured .no{color:var(--accent)}.plist li.featured a{border-left:2px solid var(--accent);padding-left:15px;padding-bottom:22px}.plist li.featured .kicker{display:block;font-size:11px;color:var(--muted);margin-bottom:4px}.plist li.featured h3{font-size:20px;line-height:1.4;font-weight:500}.plist li.featured p{font-size:13.5px}.more{display:inline-block;margin:18px 0 0 42px;font:italic 12.5px var(--serif);color:var(--muted);transition:color .2s}.more.inline{margin:14px 0 0}.more:hover{color:var(--accent)}.about-text{margin:0 0 20px;font-size:13px;line-height:1.9;color:var(--ink-2)}.facts{list-style:none;margin:0;padding:0}.facts li{padding:6px 0 6px 14px;border-left:1px solid var(--line);margin-left:4px}.facts small{display:block;font-size:11px;color:var(--muted)}.facts strong{font-size:13px;font-weight:500;color:var(--ink)}.links{list-style:none;margin:0;padding:0}.links a{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:7px 0;font-size:13px;color:var(--ink);border-bottom:1px dashed var(--line)}.links a span:last-child{font-size:11.5px;color:var(--muted);transition:color .2s;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.links a:hover span:last-child{color:var(--accent)}.page-head{padding:88px 0 48px;max-width:640px}.eyebrow{margin:0 0 16px;display:flex;align-items:center;gap:12px;font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted)}.eyebrow::before{content:"";width:24px;height:1px;background:var(--accent)}.page-head h1{margin:0;font:clamp(32px,5vw,46px)/1.2 var(--serif);letter-spacing:-.015em;color:var(--ink)}.page-head .lead{margin:18px 0 0;font-size:15px;line-height:1.9;color:var(--ink-2)}.page-head .lead em{font-family:var(--serif);color:var(--accent)}.kind-page .columns,.kind-section .years{padding-top:8px}.tagbar{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 18px;padding:14px 0;margin-bottom:40px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:12px}.tagbar .label{font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--faint);margin-right:6px}.tagbar a{color:var(--muted);transition:color .2s}.tagbar a:hover{color:var(--accent)}.tagbar sup{font:10px var(--mono);color:var(--faint);margin-left:2px}.tagbar.big{font-size:15px;gap:10px 26px}.years{padding-bottom:96px}.year{display:grid;grid-template-columns:140px 1fr;gap:24px;padding:8px 0 36px}.year+.year{border-top:1px solid var(--line);padding-top:36px}.year-label{margin:0;font:34px/1 var(--serif);color:var(--faint);letter-spacing:-.02em;position:sticky;top:24px;align-self:start}.year:first-child .year-label{color:var(--accent)}.entry{max-width:680px;padding-bottom:96px}.back{display:inline-block;margin-top:40px;font:italic 12.5px var(--serif);color:var(--muted);transition:color .2s}.back:hover{color:var(--accent)}.entry .page-head{padding-top:36px}.meta-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:0;margin:0 0 48px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.meta-grid div{padding:14px 16px 14px 0}.meta-grid div+div{padding-left:16px;border-left:1px solid var(--line)}.meta-grid dt{font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}.meta-grid dd{margin:0;font-size:13px;color:var(--ink)}.meta-grid a{border-bottom:1px solid var(--line-strong);transition:border-color .2s,color .2s}.meta-grid a:hover{color:var(--accent);border-color:var(--accent)}.updated{margin:-28px 0 40px;font:italic 12.5px var(--serif);color:var(--muted)}.prose{font-size:15px;line-height:1.95;color:var(--ink-2)}.prose>*:first-child{margin-top:0}.prose p{margin:0 0 1.3em}.prose h2{margin:2.2em 0 .8em;font-size:22px}.prose h3{margin:1.8em 0 .6em;font:500 16px/1.4 var(--serif);color:var(--ink)}.prose strong{color:var(--ink);font-weight:600}.prose em{font-family:var(--serif)}.prose a{color:var(--ink);border-bottom:1px solid color-mix(in srgb,var(--accent) 55%,transparent);transition:color .2s,border-color .2s}.prose a:hover{color:var(--accent);border-color:var(--accent)}.prose ul,.prose ol{padding-left:1.2em;margin:0 0 1.3em}.prose li{margin:.3em 0}.prose li::marker{color:var(--faint)}.prose blockquote{margin:1.8em 0;padding:2px 0 2px 20px;border-left:2px solid var(--accent);font:italic 16px/1.8 var(--serif);color:var(--ink)}.prose blockquote p{margin:0}.prose hr{border:0;height:1px;background:var(--line);margin:2.4em 0}.prose code{font:13px var(--mono);color:var(--ink);background:var(--paper);border:1px solid var(--line);padding:1px 5px;border-radius:3px}.prose pre{margin:0 0 1.5em;padding:16px 18px;background:var(--paper);border:1px solid var(--line);border-radius:4px;overflow-x:auto;line-height:1.6}.prose pre code{background:0 0;border:0;padding:0;font-size:12.5px}.prose img{max-width:100%;height:auto;border:1px solid var(--line);border-radius:4px}.prose table{width:100%;border-collapse:collapse;font-size:13.5px;margin:0 0 1.5em}.prose th,.prose td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--line)}.prose th{font-weight:500;color:var(--ink)}.chroma .k,.chroma .kd,.chroma .kn,.chroma .kr,.chroma .kt{color:var(--accent)}.chroma .s,.chroma .s1,.chroma .s2,.chroma .sb{color:var(--ink)}.chroma .c,.chroma .c1,.chroma .cm{color:var(--muted);font-style:italic}.chroma .nf,.chroma .nx{color:var(--ink)}.chroma .m,.chroma .mi,.chroma .mf{color:var(--accent)}.pager{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:56px;padding-top:24px;border-top:1px solid var(--line)}.pager a{display:block;padding:4px 0}.pager .next{text-align:right}.pager small{display:block;font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}.pager span{font:500 16px/1.5 var(--serif);color:var(--ink);transition:color .2s}.pager a:hover span{color:var(--accent)}.sub-h{margin-top:56px}.timeline{list-style:none;margin:0;padding:0}.timeline li{display:grid;grid-template-columns:96px 1fr;gap:0}.timeline .t-when{padding-top:10px;font:11px/1.4 var(--mono);color:var(--muted)}.timeline li>div{position:relative;padding:6px 0 22px 20px;border-left:1px solid var(--line)}.timeline li>div::before{content:"";position:absolute;left:-4px;top:14px;width:7px;height:7px;border-radius:50%;background:var(--bg);border:1px solid var(--line-strong)}.timeline li:first-child>div::before{background:var(--accent);border-color:var(--accent)}.timeline h3{margin:0;font:500 15px/1.5 var(--serif);color:var(--ink)}.timeline .meta{display:block;font-size:12px;color:var(--muted)}.timeline p{margin:6px 0 0;font-size:13px;color:var(--ink-2)}.notfound{padding:140px 0 160px;text-align:center}.notfound .code{margin:0;font:13px var(--mono);letter-spacing:.3em;color:var(--accent)}.notfound h1{margin:18px 0 0;font:clamp(30px,5vw,44px)/1.25 var(--serif);color:var(--ink)}.notfound .quote{margin:20px auto 36px}.btn{display:inline-flex;align-items:center;gap:10px;padding:10px 20px;border:1px solid var(--line-strong);border-radius:999px;font-size:12px;letter-spacing:.06em;color:var(--ink);transition:border-color .2s,color .2s,background .2s}.btn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.footer{text-align:center;padding:72px 0 56px;border-top:1px solid var(--line)}.footer .greet{margin:0;font:18px/1.5 var(--serif);letter-spacing:.03em;color:var(--ink)}.footer nav{margin-top:26px;font-size:12px;color:var(--muted)}.footer nav a{transition:color .2s}.footer nav a:hover{color:var(--accent)}.footer nav .sep{margin:0 10px;color:var(--faint)}.footer .copy{margin-top:10px;font-size:11px;color:var(--faint)}.footer .copy span{color:var(--accent)}.fade{animation:rise .9s both}.fade.d2{animation-delay:.12s}.fade.d3{animation-delay:.24s}@keyframes rise{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media(max-width:760px){.wrap{width:calc(100% - 32px)}.site-header{height:auto;padding:16px 0;flex-wrap:wrap;gap:10px}.right{gap:16px;flex-wrap:wrap}.nav{gap:16px}.swatches{padding-left:14px;gap:6px}.hero{padding:72px 0 64px}.quote{margin-top:48px}.columns{grid-template-columns:1fr}.col-main{padding-right:0;border-right:0}.col-side{padding-left:0;margin-top:48px;padding-top:32px;border-top:1px solid var(--line)}.plist li.featured h3{font-size:18px}.page-head{padding:56px 0 36px}.year{grid-template-columns:1fr;gap:12px}.year-label{position:static;font-size:26px}.meta-grid{grid-template-columns:1fr 1fr}.meta-grid div+div{padding-left:0;border-left:0}.meta-grid div{border-bottom:1px solid var(--line)}.timeline li{grid-template-columns:72px 1fr}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;scroll-behavior:auto!important;transition:none!important}}.stack{margin-top:56px}.u{color:var(--ink);border-bottom:1px solid color-mix(in srgb,var(--accent) 55%,transparent)}.u:hover{color:var(--accent)}.plist time.when{font-variant-numeric:tabular-nums}.pinned{display:block;margin-bottom:36px;padding:22px 24px;background:var(--paper);border:1px solid var(--line);border-left:2px solid var(--accent);transition:border-color .25s}.pinned:hover{border-color:var(--line-strong);border-left-color:var(--accent)}.pinned .pin{font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--accent)}.pinned h2{margin:8px 0;font-size:20px;line-height:1.4}.pinned:hover h2{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}.pinned p{margin:0 0 12px;font-size:13.5px;color:var(--ink-2)}.pinned .meta{font-size:11.5px;color:var(--muted)}.toolbar{display:flex;justify-content:space-between;align-items:center;padding-bottom:12px;margin-bottom:14px;border-bottom:1px solid var(--line);font-size:12px;color:var(--muted)}.sort{display:flex;gap:4px}.sort button{font:inherit;font-size:12px;padding:3px 10px;border:1px solid transparent;border-radius:999px;background:0 0;color:var(--muted);cursor:pointer;transition:color .2s,border-color .2s}.sort button:hover{color:var(--ink)}.sort button[aria-pressed=true]{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 40%,transparent)}.plist.posts .no{display:none}.plist.posts a{padding-bottom:18px}.cloud{display:flex;flex-wrap:wrap;gap:8px}.cloud a{font-size:12px;padding:2px 10px;border:1px solid var(--line);border-radius:999px;color:var(--muted);transition:color .2s,border-color .2s}.cloud a:hover{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 45%,transparent)}.term-lists section+section{margin-top:56px}.term-lists{padding-bottom:96px}.seasons{padding:8px 0 96px;text-align:center}.seasons h2{margin-bottom:40px}.track{position:relative;height:56px;margin:0 8px;border-bottom:1px solid var(--line-strong)}.track .dot{position:absolute;bottom:-5px;width:9px;height:9px;margin-left:-4.5px;border-radius:50%;background:var(--muted);transition:background .2s,transform .2s}.track .dot:hover,.track .dot:focus-visible{background:var(--accent);transform:scale(1.35)}.track .tip{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);width:max-content;max-width:240px;padding:6px 10px;background:var(--paper);border:1px solid var(--line-strong);font-size:12px;line-height:1.4;color:var(--ink);opacity:0;pointer-events:none;transition:opacity .2s}.track .tip small{display:block;color:var(--muted);font-size:11px}.track .dot:hover .tip,.track .dot:focus-visible .tip{opacity:1}.track .today{position:absolute;bottom:-8px;width:1px;height:16px;background:var(--accent)}.track .season{position:absolute;top:calc(100% + 12px);font:italic 11.5px var(--serif);color:var(--muted);white-space:nowrap}.seasons .latest{margin:56px 0 0;font-size:12.5px;color:var(--muted)}.seasons .latest a{color:var(--ink)}.seasons .latest a:hover{color:var(--accent)}.seasons .count{margin:10px 0 0;font:italic 12.5px var(--serif);color:var(--muted)}.seasons .count a:hover{color:var(--accent)}.post{padding-bottom:96px}.post-head{padding:72px 0 36px;text-align:center;max-width:760px;margin:0 auto}.crumb{font-size:12px;color:var(--muted)}.crumb a:hover{color:var(--accent)}.crumb span{margin:0 8px;color:var(--faint)}.post-head h1{margin:18px 0 0;font:clamp(28px,4.4vw,40px)/1.25 var(--serif);letter-spacing:-.015em;color:var(--ink)}.post-meta{margin:18px 0 0;font-size:12px;color:var(--muted)}.post-meta .sep{margin:0 8px;color:var(--faint)}.tldr{max-width:680px;margin:0 0 40px;padding:16px 20px;background:var(--paper);border:1px solid var(--line)}.tldr .label{display:block;font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin-bottom:6px}.tldr p{margin:0;font-size:13.5px;line-height:1.85;color:var(--ink-2)}.post-body{display:block}.post-body .prose{max-width:680px}.post-body.has-toc{display:grid;grid-template-columns:minmax(0,680px)1fr;gap:56px}.post-body.has-toc .tldr{grid-column:1}.prose h2,.prose h3{scroll-margin-top:24px}.post-foot{max-width:680px}.post-tags{display:flex;flex-wrap:wrap;gap:14px;margin:48px 0 0;font-size:12.5px}.post-tags a{color:var(--muted)}.post-tags a:hover{color:var(--accent)}@media(max-width:960px){.post-body.has-toc{grid-template-columns:1fr}.toc{display:none}}@media(max-width:760px){.post-head{padding:48px 0 28px}.post-meta .sep:nth-of-type(n+3),.post-meta span:last-child{display:none}.stack{margin-top:44px}.track{margin:0}.track .season{font-size:10.5px}.track .season:last-of-type{display:none}}.plist.posts li{display:block}.seasons{overflow-x:clip}.track .dot.r .tip{left:auto;right:-6px;transform:none}.track .dot.l .tip{left:-6px;transform:none}.arch-stats{display:flex;flex-wrap:wrap;gap:8px 28px;margin:-16px 0 48px;padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:12.5px;color:var(--muted)}.arch-stats strong{font:500 15px var(--serif);color:var(--ink);margin-right:2px}.archive{padding-bottom:96px}.arch-year{display:grid;grid-template-columns:180px 1fr;gap:32px;padding:8px 0 40px}.arch-year+.arch-year{border-top:1px solid var(--line);padding-top:40px}.arch-side{position:sticky;top:24px;align-self:start}.arch-side h2{margin:0;font:38px/1 var(--serif);letter-spacing:-.02em;color:var(--faint)}.arch-year:first-child .arch-side h2{color:var(--accent)}.arch-count{display:block;margin-top:8px;font:italic 12.5px var(--serif);color:var(--muted)}.arch-bars{display:grid;grid-template-columns:repeat(12,1fr);gap:3px;align-items:end;height:28px;margin-top:18px;max-width:132px}.arch-bars span{display:block;height:max(2px,var(--h));background:var(--line-strong);border-radius:1px}.arch-bars span[style*="--h:100"]{background:var(--accent)}.arch-month+.arch-month{margin-top:28px}.arch-month h3{margin:0 0 8px;font-size:10.5px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}.arch-month ol{list-style:none;margin:0;padding:0;border-left:1px solid var(--line)}.arch-month li{display:grid;grid-template-columns:34px 1fr auto;align-items:baseline;gap:12px;padding:7px 0 7px 16px;transition:border-color .2s}.arch-month li:hover{box-shadow:inset 1px 0 0 var(--accent)}.arch-month time{font:11px var(--mono);color:var(--faint)}.arch-month li a{font:500 14.5px/1.5 var(--serif);color:var(--ink)}.arch-month li a:hover{color:var(--accent)}.arch-meta{font-size:11.5px;color:var(--muted);white-space:nowrap}@media(max-width:760px){.arch-year{grid-template-columns:1fr;gap:16px}.arch-side{position:static;display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}.arch-side h2{font-size:28px}.arch-count{margin:0}.arch-bars{margin:0 0 0 auto;height:18px;width:96px}.arch-month li{grid-template-columns:28px 1fr}.arch-meta{grid-column:2}}.float-nav{position:fixed;top:12px;left:50%;z-index:20;display:flex;align-items:center;gap:4px;padding:5px 6px 5px 5px;background:color-mix(in srgb,var(--bg) 72%,transparent);-webkit-backdrop-filter:blur(14px)saturate(140%);backdrop-filter:blur(14px)saturate(140%);border:1px solid var(--line-strong);border-radius:999px;box-shadow:0 10px 30px var(--shadow),inset 0 1px rgba(var(--fg-rgb),.04);transform:translate(-50%,calc(-100% - 20px));opacity:0;transition:transform .35s cubic-bezier(.2,.8,.2,1),opacity .25s}.float-nav.show{transform:translate(-50%,0);opacity:1}.float-nav .avatar{width:26px;height:26px;font-size:10px;flex:none}.float-nav nav{display:flex;gap:2px;padding:0 4px}.float-nav nav a{position:relative;padding:4px 10px;font-size:12px;color:var(--muted);border-radius:999px;transition:color .2s,background .2s}.float-nav nav a:hover{color:var(--ink);background:rgba(var(--fg-rgb),.04)}.float-nav nav a.active{color:var(--ink)}.float-nav nav a.active::after{content:"";position:absolute;left:30%;right:30%;bottom:1px;height:1px;background:var(--accent)}.float-nav .to-top{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;color:var(--muted);transition:color .2s,background .2s}.float-nav .to-top:hover{color:var(--accent);background:var(--accent-soft)}.float-nav .to-top svg{width:14px;height:14px}@media(max-width:760px){.float-nav{max-width:calc(100% - 24px)}.float-nav nav{overflow-x:auto;scrollbar-width:none}.float-nav nav::-webkit-scrollbar{display:none}.float-nav nav a{padding:4px 8px;white-space:nowrap}}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.tl{max-width:760px;margin:0 auto;padding:64px 0 96px}.tl-top{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.tl-top .eyebrow{margin:0}.tl-controls{display:flex;align-items:center;gap:16px}.seg{display:inline-flex;gap:2px}.seg button{font:inherit;font-size:12px;padding:3px 10px;border:1px solid transparent;border-radius:999px;background:0 0;color:var(--muted);cursor:pointer;transition:color .2s,border-color .2s}.seg button:hover{color:var(--ink)}.seg button[aria-pressed=true]{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 40%,transparent)}.tl-search{display:flex;align-items:center;gap:6px;color:var(--muted);border-bottom:1px solid var(--line);padding:2px 0}.tl-search:focus-within{border-color:var(--accent);color:var(--ink)}.tl-search svg{width:13px;height:13px}.tl-search input{width:110px;background:0 0;border:0;outline:0;color:var(--ink);font:12px var(--sans)}.tl-search input::placeholder{color:var(--muted)}.tl-count{margin:28px 0 0;font-size:14px;color:var(--ink-2)}.tl-count strong{font:300 64px/1 var(--sans);letter-spacing:-.04em;color:var(--ink);margin-right:8px;vertical-align:-6px}.tl-count em{font-family:var(--serif)}.tl-stats{display:flex;gap:40px;margin:24px 0 0}.tl-stats div{margin:0}.tl-stats dd{margin:0;font:300 30px/1.1 var(--sans);letter-spacing:-.03em;color:var(--ink);font-variant-numeric:tabular-nums}.tl-stats dd.accent{color:var(--accent)}.tl-stats dd small{font-size:13px;color:var(--muted);margin-left:2px}.tl-stats dt{margin-top:4px;font-size:11.5px;color:var(--muted)}.tl-stats div{display:flex;flex-direction:column-reverse}.tl-motto{margin:22px 0 0;font:italic 13.5px var(--serif);color:var(--muted)}.types{margin-top:36px}.tl-body{margin-top:20px;border-top:1px solid var(--line)}.tl-year{padding-top:36px}.tl-year h2{margin:0 0 6px;font:300 30px/1.2 var(--sans);letter-spacing:-.03em;color:var(--faint)}.tl-year:first-child h2{color:var(--ink-2)}.tl-year h2 small{margin-left:10px;font:12px var(--sans);letter-spacing:0;color:var(--muted)}.tl-month h3{margin:22px 0 6px;font-size:10.5px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}.tl-month ol{list-style:none;margin:0;padding:0}.tl-month li{display:grid;grid-template-columns:34px 1fr auto;gap:14px;align-items:baseline;padding:9px 0;border-bottom:1px dashed var(--line)}.tl-month li:last-child{border-bottom:0}.tl-month time{font:11.5px var(--mono);color:var(--faint);font-variant-numeric:tabular-nums}.tl-main a{font-size:14px;color:var(--ink);transition:color .2s}.tl-main a:hover{color:var(--accent)}.tl-main p{margin:3px 0 0;font-size:12.5px;line-height:1.7;color:var(--muted)}.tl-meta{font-size:11.5px;color:var(--muted);white-space:nowrap}.tl-meta .t-project{color:var(--ink-2)}.tl-empty{padding:40px 0;text-align:center;font:italic 13.5px var(--serif);color:var(--muted)}.tl[data-density=dense] .tl-month li{padding:5px 0;border-bottom:0}.tl[data-density=dense] .tl-main p{display:none}.tl[data-density=dense] .tl-month h3{margin-top:16px}.tl[data-density=skim] .tl-main p,.tl[data-density=skim] .tl-meta{display:none}.tl[data-density=skim] .tl-month li{padding:3px 0;border-bottom:0;grid-template-columns:34px 1fr}.tl[data-density=skim] .tl-main a{font-size:13px}.tl[data-density=skim] .tl-month h3{margin-top:12px}.tl[data-density=skim] .tl-year{padding-top:24px}@media(max-width:760px){.tl{padding-top:40px}.tl-controls{width:100%;justify-content:space-between}.tl-count strong{font-size:48px}.tl-stats{gap:24px}.tl-stats dd{font-size:24px}.tl-month li{grid-template-columns:28px 1fr}.tl-meta{grid-column:2}}@media(max-width:760px){.right{width:100%}.nav{overflow-x:auto;scrollbar-width:none;max-width:100%}.nav::-webkit-scrollbar{display:none}.nav a{white-space:nowrap}}.mnav,.mnav-scrim{display:none}@media(max-width:760px){.site-header .right{display:none}.float-nav{display:none}body{padding-bottom:calc(84px + env(safe-area-inset-bottom))}.mnav{display:block;position:fixed;left:14px;right:14px;bottom:calc(14px + env(safe-area-inset-bottom));z-index:30;background:color-mix(in srgb,var(--bg) 82%,transparent);-webkit-backdrop-filter:blur(16px)saturate(140%);backdrop-filter:blur(16px)saturate(140%);border:1px solid var(--line-strong);border-radius:18px;box-shadow:0 12px 36px var(--shadow),inset 0 1px rgba(var(--fg-rgb),.04);overflow:hidden}.mnav-scrim{display:block;position:fixed;inset:0;z-index:29;background:var(--scrim);opacity:0;pointer-events:none;transition:opacity .25s}.mnav-open .mnav-scrim{opacity:1;pointer-events:auto}.mnav-open body{overflow:hidden}.mnav-sheet{display:grid;grid-template-rows:0fr;transition:grid-template-rows .35s cubic-bezier(.2,.8,.2,1)}.mnav-open .mnav-sheet{grid-template-rows:1fr}.mnav-inner{min-height:0;overflow:hidden}.mnav-main{list-style:none;margin:0;padding:8px 0 0}.mnav-main a{display:flex;align-items:center;justify-content:space-between;padding:11px 18px;font:17px/1.4 var(--serif);color:var(--ink);border-bottom:1px solid var(--line)}.mnav-main li:last-child a{border-bottom:0}.mnav-main a.active{color:var(--accent)}.mnav-main a.active::after{content:"";width:5px;height:5px;border-radius:50%;background:var(--accent)}.mnav-label{margin:0;padding:14px 18px 6px;font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}.mnav-more{display:flex;flex-wrap:wrap;gap:6px 18px;padding:0 18px 14px;font-size:13px}.mnav-more a{color:var(--ink-2);padding:2px 0}.mnav-more a.active{color:var(--accent)}.mnav-accent{display:flex;align-items:center;justify-content:space-between;padding:10px 18px 14px;border-top:1px solid var(--line)}.mnav-accent .mnav-label{padding:0}.mnav-accent .swatches{display:flex;gap:12px;padding:0;border:0}.mnav-accent .swatches button{width:18px;height:18px}.mnav-bar{display:flex;align-items:center;gap:10px;padding:6px 6px 6px 7px;transition:border-color .25s}.mnav-open .mnav-bar{border-top:1px solid var(--line)}.mnav-bar .avatar{width:30px;height:30px;font-size:11px;flex:none}.mnav-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:italic 14px var(--serif);color:var(--ink)}.mnav-toggle{display:grid;place-items:center;width:38px;height:38px;flex:none;border:0;border-radius:12px;background:0 0;color:var(--ink-2);cursor:pointer;transition:background .2s,color .2s}.mnav-toggle:hover{background:rgba(var(--fg-rgb),.05);color:var(--ink)}.mnav-toggle svg{width:20px;height:20px;grid-area:1/1;transition:opacity .2s,transform .25s}.mnav-toggle .i-close{opacity:0;transform:rotate(-45deg)}.mnav-open .mnav-toggle .i-open{opacity:0;transform:rotate(45deg)}.mnav-open .mnav-toggle .i-close{opacity:1;transform:none}.mnav-open .mnav-toggle{color:var(--accent)}}.toc{position:sticky;top:96px;align-self:start;display:flex;flex-direction:column;max-height:calc(100vh - 140px);font-size:12.5px}.toc-list{min-height:0;overflow-y:auto;scrollbar-width:none;max-height:46vh;padding-left:2px;-webkit-mask:linear-gradient(transparent,#000 10px,#000 calc(100% - 14px),transparent);mask:linear-gradient(transparent,#000 10px,#000 calc(100% - 14px),transparent)}.toc-list::-webkit-scrollbar{display:none}.toc-list ul{list-style:none;margin:0;padding:0}.toc-list ul ul{padding-left:12px}.toc-list a{position:relative;display:block;padding:4px 0 4px 12px;line-height:1.5;color:var(--ink);opacity:.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-variant-numeric:tabular-nums;transition:opacity .3s ease,color .3s ease,transform .35s cubic-bezier(.4,0,.2,1)}.toc-list a::before{content:"";position:absolute;left:0;top:7px;bottom:7px;width:2px;border-radius:2px;background:var(--accent);transform:scaleY(0);transition:transform .3s ease}.toc-list a.inview{opacity:.7}.toc-list a:hover{opacity:.8}.toc-list a.active{opacity:1;color:var(--accent);font-weight:500}.toc-list a.active::before{transform:scaleY(1)}.toc:not(.ready) .toc-list a{opacity:0;transform:translateX(-10px)}.toc.ready .toc-list a{transition-delay:var(--d,0ms),var(--d,0ms),var(--d,0ms)}.toc.ready .toc-list a:hover,.toc.ready .toc-list a.active,.toc.ready .toc-list a.inview{transition-delay:0ms}.toc-wave{display:block;width:120px;height:10px;margin:14px 0 12px 12px;fill:none;stroke:rgba(var(--fg-rgb),.14);stroke-width:1.2;stroke-linecap:round;vector-effect:non-scaling-stroke}.toc-wave path{vector-effect:non-scaling-stroke}.toc-progress{display:flex;align-items:center;gap:8px;padding-left:5px;font:11.5px var(--mono);color:var(--ink-2);font-variant-numeric:tabular-nums}.toc-progress svg{width:14px;height:14px;flex:none}.toc-progress circle{fill:none;stroke-width:2;stroke-linecap:round}.toc-progress .trk{stroke:var(--line-strong)}.toc-progress .arc{stroke:var(--accent);transition:stroke-dashoffset .3s}.toc-top{display:flex;align-items:center;gap:8px;margin-top:6px;padding-left:5px;font-size:12px;color:var(--ink-2);opacity:.5;transition:opacity .4s,color .2s}.toc-top:hover{opacity:1;color:var(--accent)}.toc-top svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.toc-actions{display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin-top:22px}.toc-actions button,.toc-actions a{display:flex;align-items:center;height:34px;padding:0 9px;border:0;border-radius:10px;background:0 0;color:var(--muted);font:12.5px var(--sans);cursor:pointer;transition:background .2s,color .2s}.toc-actions svg{width:17px;height:17px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.toc-actions circle{fill:currentColor;stroke:none}.toc-actions span{max-width:0;overflow:hidden;white-space:nowrap;opacity:0;transform:translateX(-6px);transition:max-width .25s ease,opacity .2s ease,transform .25s ease,margin .25s ease}.toc-actions :is(button,a):is(:hover,:focus-visible,.done){background:rgba(var(--fg-rgb),.05);color:var(--ink)}.toc-actions :is(button,a):is(:hover,:focus-visible,.done) span{max-width:160px;opacity:1;transform:none;margin-left:10px}.toc-actions .done{color:var(--accent)}.toc:has(.toc-list:hover) :is(.toc-wave,.toc-progress,.toc-top,.toc-actions){opacity:.15;transition:opacity .3s}.toc :is(.toc-wave,.toc-progress,.toc-actions){transition:opacity .3s}.read-bar{display:none}@media(max-width:960px){.toc{display:none}.read-bar{display:block;position:fixed;left:0;right:0;top:0;height:2px;z-index:25;pointer-events:none}.read-bar span{display:block;height:100%;background:var(--accent);transform:scaleX(0);transform-origin:0 50%;transition:transform .1s linear}}.toc-rail{position:absolute;left:0;top:0;width:230px;height:min(62vh,520px);opacity:0;pointer-events:none;transition:opacity .35s ease}.toc.focus .toc-rail{opacity:1;transition-delay:.12s}.rail-svg{position:absolute;left:0;top:0;width:40px;height:100%;overflow:visible}.rail-line{stroke:rgba(var(--fg-rgb),.12);stroke-width:1}.rail-dot{fill:rgba(var(--fg-rgb),.32)}.rail-bow{fill:none;stroke:var(--accent);stroke-width:1.5;stroke-linecap:round;transition:d .35s cubic-bezier(.4,0,.2,1)}.rail-start{fill:var(--accent);transition:cy .35s cubic-bezier(.4,0,.2,1)}.rail-label{position:absolute;left:26px;display:flex;flex-direction:column;gap:2px;max-width:200px;transition:top .35s cubic-bezier(.4,0,.2,1)}.rail-label .t{font-size:12px;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rail-label .p{font:11.5px var(--mono);color:var(--accent);font-variant-numeric:tabular-nums}.toc.focus .toc-list a,.toc.focus .toc-list a.active,.toc.focus .toc-list a.inview,.toc.focus .toc-list a:hover{opacity:0;transform:translateX(-10px);transition-delay:var(--d,0ms),var(--d,0ms),var(--d,0ms)}.toc.focus :is(.toc-wave,.toc-progress,.toc-top,.toc-actions){opacity:0;pointer-events:none}.live{position:relative;display:inline-flex;flex-direction:column;align-items:center;gap:4px;margin:0 auto 40px}.live[hidden]{display:none}.live-pill{display:inline-flex;align-items:center;gap:8px;padding:4px 12px;border:1px solid var(--line);border-radius:999px;background:0 0;font:12.5px var(--sans);color:var(--ink-2);cursor:default;transition:border-color .2s}.live-pill strong{font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums}.live:hover .live-pill,.live:focus-within .live-pill{border-color:color-mix(in srgb,var(--accent) 45%,transparent)}.pulse{position:relative;width:7px;height:7px;border-radius:50%;background:var(--accent)}.pulse::after{content:"";position:absolute;inset:0;border-radius:50%;background:var(--accent);animation:pulse 2s ease-out infinite}@keyframes pulse{from{transform:scale(1);opacity:.6}to{transform:scale(3.2);opacity:0}}.live-top{max-width:320px;font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .2s}.live-top:hover{color:var(--accent)}.live-pop{position:absolute;left:50%;bottom:calc(100% + 10px);z-index:15;width:max-content;min-width:220px;max-width:min(340px,calc(100vw - 32px));padding:12px 14px;background:color-mix(in srgb,var(--paper) 92%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--line-strong);border-radius:12px;box-shadow:0 14px 34px var(--shadow);text-align:left;opacity:0;visibility:hidden;transform:translate(-50%,6px);transition:opacity .2s,transform .2s,visibility .2s}.live-pop::after{content:"";position:absolute;left:50%;top:100%;width:8px;height:8px;margin:-4px 0 0 -4px;background:inherit;border:1px solid var(--line-strong);border-width:0 1px 1px 0;transform:rotate(45deg)}.live:hover .live-pop,.live:focus-within .live-pop{opacity:1;visibility:visible;transform:translate(-50%,0)}.live-pop-h{margin:0 0 8px;font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}.live-pages{list-style:none;margin:0;padding:0}.live-pages li{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:5px 0}.live-pages li+li{border-top:1px dashed var(--line)}.live-pages a{font-size:13px;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .2s}.live-pages a:hover{color:var(--accent)}.live-pages .n{flex:none;min-width:20px;height:18px;padding:0 6px;border-radius:999px;background:rgba(var(--fg-rgb),.05);font:10.5px/18px var(--mono);color:var(--muted);text-align:center}.live-pages .here a{color:var(--ink)}.live-pages .here a::after{content:" · you";color:var(--accent);font-size:11.5px}.live-pages .here .n{background:var(--accent-soft);color:var(--accent)}.theme-switch{display:inline-flex;align-items:baseline;gap:6px}.theme-switch .dot{color:var(--faint)}.theme-switch button{padding:0;border:0;background:0 0;font:inherit;color:var(--muted);cursor:pointer;text-underline-offset:4px;transition:color .2s}.theme-switch button:hover{color:var(--ink)}.theme-switch button[aria-pressed=true]{color:var(--ink);text-decoration:underline;text-decoration-color:var(--accent);text-decoration-thickness:1px}.foot-theme{display:flex;justify-content:center;align-items:baseline;gap:12px;margin:14px 0 0;font-size:12px}.foot-theme .k{color:var(--faint)}@media(max-width:760px){.mnav-theme{border-top:1px solid var(--line)}.mnav-theme .theme-switch{font-size:13px}}html[data-vt]::view-transition-old(root){animation:none}html[data-vt]::view-transition-new(root){animation:.8s cubic-bezier(.65,0,.35,1)both}html[data-vt=down]::view-transition-new(root){animation-name:theme-down}html[data-vt=up]::view-transition-new(root){animation-name:theme-up}@keyframes theme-down{from{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0)}}@keyframes theme-up{from{clip-path:inset(100% 0 0 0)}to{clip-path:inset(0)}}.site-header .left{display:flex;align-items:center;gap:16px;min-width:0}.desk{display:inline-flex;align-items:center;gap:7px;min-width:0;max-width:280px;padding:3px 10px 3px 6px;border:1px solid var(--line);border-radius:999px;font-size:12px;color:var(--ink-2);white-space:nowrap;animation:rise .4s both}.desk[hidden]{display:none}.desk-icon{width:16px;height:16px;flex:none;border-radius:4px}.desk-app{overflow:hidden;text-overflow:ellipsis}.desk-since{flex:none;color:var(--muted)}.desk-since::before{content:"·";margin-right:6px;color:var(--faint)}@media(max-width:760px){.site-header .left{gap:10px;max-width:100%}.desk{max-width:190px}}