.writing-head{max-width:37rem}.writing-index{display:block}.entries-feed{font:11px/1 var(--mono);margin:clamp(3rem,7vh,4.5rem) 0 0}.entries-feed a{color:var(--ink-dim)}.entries-feed a:hover{color:var(--accent)}.entries{margin-top:clamp(3.5rem,9vh,6rem)}.entry-year{position:relative}.entry-year+.entry-year{margin-top:clamp(3.25rem,6vw,5rem)}.year-mark{color:var(--ink-faint);font:400 11px/1 var(--mono);letter-spacing:.07em;margin:0 0 1.75rem}.entry+.entry{margin-top:clamp(2.5rem,5vw,3.5rem)}.entry-slug{color:var(--ink-faint);font:11px/1.5 var(--mono);letter-spacing:.02em;margin:0}.entry-slug .draft{color:var(--accent)}.entry-title{max-width:24ch;font:400 clamp(1.5rem, 2.6vw, 2rem) / 1.1 var(--serif);letter-spacing:-.03em;text-wrap:balance;margin:.5rem 0 0}.entry-title a{color:var(--ink-strong);text-underline-offset:.18em;text-decoration-color:#0000;text-decoration-thickness:.04em}.entry-title a:hover,.entry-title a:focus-visible{color:var(--accent);text-decoration-color:var(--accent)}@media (prefers-reduced-motion:no-preference){.entry-title a{transition:color .18s,text-decoration-color .18s}}.entry-summary{max-width:33rem;color:var(--ink-dim);text-wrap:pretty;margin:.7rem 0 0;font-size:.97rem;line-height:1.7}.entries-empty{max-width:32rem;color:var(--ink-dim);margin:clamp(3rem,8vh,5rem) 0 0;font-size:.97rem;line-height:1.7}@media (width<=760px){.entries{margin-top:clamp(2.25rem,5vh,3rem)}.year-mark{margin-bottom:1.25rem}}@media (width>=900px){.entry-year{padding-left:8rem}.year-mark{margin:0;position:absolute;top:.3rem;left:0}}.writing-column{width:min(100%,40rem);margin:0 auto}.post-rail{z-index:5;background:var(--page);color:var(--ink-faint);font:400 .86rem/1.45 var(--serif);letter-spacing:-.012em;text-align:center;white-space:nowrap;text-overflow:ellipsis;opacity:0;pointer-events:none;margin:0;padding:.62rem clamp(1.25rem,5.2vw,5.5rem) .58rem;position:fixed;top:0;left:0;right:0;overflow:hidden;transform:translateY(-100%)}.post-rail-head{display:inline-block;position:relative}.post-rail-title{color:var(--ink-dim)}.post-rail-section{white-space:nowrap;opacity:0;position:absolute;top:0;left:100%}.post-rail-section:before{content:"·";color:var(--rule);margin:0 .45em}.post-rail-section[data-state=in]{opacity:1;transform:translateY(0)}.post-rail-section[data-state=out]{opacity:0;transform:translateY(-.4em)}.post-rail-section[data-state=ready]{opacity:0;transform:translateY(.4em)}@media (prefers-reduced-motion:no-preference){.post-rail-section{transition:opacity .15s,transform .15s}.post-rail-section[data-state=in]{transition:opacity .26s cubic-bezier(.22,1,.36,1),transform .26s cubic-bezier(.22,1,.36,1)}}.post-rail[data-visible]{opacity:1;transform:translateY(0)}.post-rail-spine{background:var(--rule);height:1px;position:absolute;bottom:0;left:0;right:0}.post-rail-spine:after{content:"";background:var(--accent);transform:scaleX(var(--rail-progress,0));transform-origin:0;position:absolute;inset:0}@media (prefers-reduced-motion:no-preference){.post-rail{transition:opacity .22s,transform .26s cubic-bezier(.22,1,.36,1)}}@media (width<=620px){.post-rail{font-size:.8rem}.post-rail-section{display:none}}.post-header{border-bottom:1px solid var(--rule);padding-bottom:clamp(1.5rem,2.5vw,2rem)}.post-header h1{max-width:22ch;color:var(--ink-strong);font:400 clamp(2.1rem, 3.6vw, 3rem) / 1.02 var(--serif);letter-spacing:-.04em;text-wrap:balance;margin:0}.post-meta{color:var(--ink-faint);font-family:var(--mono);flex-wrap:wrap;gap:.3rem 1rem;margin:.75rem 0 0;font-size:11px;line-height:1.55;display:flex}.post-meta .draft{color:var(--accent)}.post-header .post-summary{max-width:33rem;color:var(--ink-dim);text-wrap:pretty;margin:.9rem 0 0;font-size:clamp(.94rem,1.12vw,1.02rem);line-height:1.7}.post-body{color:var(--ink);margin:clamp(2rem,3.5vw,2.75rem) 0 0;font-size:1.02rem;line-height:1.65}.post-body>*{margin:0}.post-body>*+*{margin-top:1.15rem}.post-body p{text-wrap:pretty}.post-body p a,.post-body li a,.post-body blockquote a,.post-body td a{color:var(--accent);background-image:linear-gradient(var(--accent), var(--accent)), repeating-linear-gradient(to right, color-mix(in srgb, var(--accent) 70%, transparent) 0 1px, transparent 1px 3px);background-position:0 1.12em,0 1.12em;background-repeat:no-repeat;background-size:0% 1px,100% 1px;text-decoration:none}.post-body p a:hover,.post-body li a:hover,.post-body blockquote a:hover,.post-body td a:hover,.post-body p a:focus-visible,.post-body li a:focus-visible{background-size:100% 1px,100% 1px}@media (prefers-reduced-motion:no-preference){.post-body p a,.post-body li a,.post-body blockquote a,.post-body td a{transition:background-size .26s cubic-bezier(.22,1,.36,1)}}.post-body a[href^=http]:after{content:"↗";font-family:var(--mono);vertical-align:.08em;color:var(--ink-faint);margin-left:.28em;font-size:.72em}.post-body a[href^=http]:hover:after{color:var(--accent)}.post-body h2,.post-body h3{--head-pad:clamp(1rem, 1.8vw, 1.5rem);padding-top:var(--head-pad);color:var(--ink-strong);font-family:var(--serif);letter-spacing:-.026em;scroll-margin-top:4.25rem;font-weight:400;line-height:1.2;position:relative}.post-body h2{font-size:clamp(1.35rem,2vw,1.65rem)}.post-body h3{font-size:1.15rem}.post-body h2+*,.post-body h3+*{margin-top:.7rem}.heading-link{color:inherit;background-image:repeating-linear-gradient(to right, color-mix(in srgb, var(--ink-faint) 65%, transparent) 0 1px, transparent 1px 3px);background-position:0 1.06em;background-repeat:no-repeat;background-size:0% 1px;text-decoration:none}.heading-link:hover,.heading-link:focus-visible{background-size:100% 1px}@media (prefers-reduced-motion:no-preference){.heading-link{transition:background-size .24s cubic-bezier(.22,1,.36,1),color .18s}}.post-body ul,.post-body ol{padding-left:1.15rem}.post-body li+li{margin-top:.3rem}.post-body li::marker{color:var(--ink-faint)}.post-body blockquote{border-left:1px solid var(--rule);color:var(--ink-dim);padding-left:1.15rem}.post-body hr{border:0;border-top:1px solid var(--rule);margin-top:2rem}.post-body figure{margin:1.25rem 0 0}.post-body img,.post-body video{max-width:100%;height:auto;display:block}.post-body figcaption{color:var(--ink-faint);font-family:var(--mono);margin-top:.6rem;font-size:11px;line-height:1.55}.post-body :not(pre)>code{border:1px solid var(--rule);background:var(--page-deep);padding:.1em .3em;font-size:.85em}.code-block{position:relative}.code-block pre{margin-top:0}.post-body pre{border:1px solid var(--rule);margin-top:1.25rem;padding:1rem 1.15rem;font-size:.82rem;line-height:1.65;overflow-x:auto;background:var(--page-deep)!important}.post-body pre code{font-family:var(--mono)}.post-body pre{scrollbar-width:thin;scrollbar-color:color-mix(in srgb, var(--ink-faint) 45%, transparent) transparent}.post-body pre::-webkit-scrollbar{height:6px}.post-body pre::-webkit-scrollbar-track{background:0 0}.post-body pre::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--ink-faint) 40%, transparent);border-radius:0}.post-body pre::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb, var(--ink-faint) 70%, transparent)}.code-copy{color:var(--ink-faint);font:11px/1 var(--mono);letter-spacing:.02em;cursor:pointer;opacity:0;background:0 0;border:0;margin:0;padding:.45rem .7rem .4rem;position:absolute;top:0;right:0}@media (prefers-reduced-motion:no-preference){.code-copy{transition:opacity .16s,color .16s}}.code-block:hover .code-copy,.code-copy:focus-visible,.code-copy[data-said]{opacity:1}.code-copy:hover{color:var(--ink-strong)}.code-copy[data-said]{color:var(--accent)}@media (hover:none){.code-copy{opacity:1}}.post-body img{cursor:zoom-in}.image-view{z-index:40;background:color-mix(in srgb, var(--page) 94%, transparent);cursor:zoom-out;justify-content:center;align-items:center;padding:clamp(1rem,4vw,3rem);display:none;position:fixed;inset:0}.image-view[data-open]{display:flex}.image-view img{border:1px solid var(--rule);object-fit:contain;max-width:100%;max-height:100%}@media (prefers-reduced-motion:no-preference){.image-view[data-open] img{animation:.26s cubic-bezier(.22,1,.36,1) both image-open}}@keyframes image-open{0%{opacity:0;transform:scale(.985)}to{opacity:1;transform:scale(1)}}.post-body .astro-code,.post-body .astro-code span{color:var(--shiki-light)}:root[data-sky=night] .post-body .astro-code,:root[data-sky=night] .post-body .astro-code span{color:var(--shiki-dark)}@media (prefers-color-scheme:dark){:root:not([data-sky]) .post-body .astro-code,:root:not([data-sky]) .post-body .astro-code span{color:var(--shiki-dark)}}.post-body table{border-collapse:collapse;width:100%;font-size:.92rem}.post-body th,.post-body td{border-bottom:1px solid var(--rule);text-align:left;vertical-align:top;padding:.5rem .75rem .55rem 0}.post-body th{color:var(--ink-faint);font-family:var(--mono);letter-spacing:.02em;font-size:11px;font-weight:400}.post-footer{border-top:1px solid var(--rule);color:var(--ink-faint);font-family:var(--mono);flex-wrap:wrap;justify-content:space-between;gap:1rem 2rem;margin:clamp(2.5rem,5vw,4rem) 0 0;padding-top:1.15rem;font-size:11px;line-height:1.6;display:flex}.post-footer a{color:var(--ink-dim)}.post-footer a:hover{color:var(--accent)}.post-footer nav{flex-wrap:wrap;gap:.5rem 1.2rem;display:flex}@media (width<=760px){.writing-year{display:block}.writing-year>h2{margin-bottom:.5rem;padding-top:0;position:static}.post-body{font-size:.98rem}}
