:root{--ground:#111;--ink:#e6e6e6;--muted:#8c8c8c;--primary:#8fa8e8;--hairline:#333;--code-bg:#0a0a0a;--code-border:#2e2e2e;--font-mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--gap:48px;--ease:cubic-bezier(.22, .61, .36, 1)}*,:before,:after{box-sizing:border-box}html{color-scheme:dark;background:var(--ground);-webkit-text-size-adjust:100%}body{background:var(--ground);color:var(--ink);font-family:var(--font-mono);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-wrap:anywhere;margin:0;font-size:16px;line-height:28px}h1,h2,h3,p,ul,ol,blockquote,figure{margin:0}a{color:inherit;text-decoration:none}:focus-visible{outline:1px solid var(--primary);outline-offset:4px;border-radius:2px}::selection{background:var(--primary);color:#fff}.skip{z-index:20;background:var(--primary);color:#111;padding:8px 12px;font-size:14px;line-height:20px;position:absolute;top:-48px;left:12px}.skip:focus{outline-offset:2px;top:12px}.page{gap:var(--gap);flex-direction:column;width:min(840px,100% - 56px);margin-inline:auto;padding-block:56px 64px;display:flex}main{gap:var(--gap);flex-direction:column;min-width:0;display:flex}@media (width<=640px){.page{padding-block:28px 40px}}.site-header{justify-content:space-between;align-items:center;gap:16px;display:flex}.brand{color:var(--primary);font-size:15px;font-weight:700;line-height:20px}.site-header nav{gap:24px;display:flex}.nav-link{font-size:14px;line-height:20px}.nav-link[aria-current=page]{color:var(--primary);font-weight:500}@media (width<=640px){.site-header nav{gap:16px}.site-header nav a[href=\/]{display:none}}.link,.nav-link{background-image:linear-gradient(var(--primary), var(--primary)), linear-gradient(currentColor, currentColor);transition:background-size .25s var(--ease), color .15s var(--ease);background-position:0 calc(100% - 1px);background-repeat:no-repeat;background-size:0 1px,0 1px}.link{background-size:0 1px,100% 1px;font-size:13px;line-height:20px}.nav-link[aria-current=page],.link:hover,.link:focus-visible,.nav-link:hover,.nav-link:focus-visible{background-size:100% 1px,100% 1px}.nav-link:not([aria-current]):hover{color:var(--primary)}.prompt{color:var(--primary);font-weight:500}.caret{background:var(--primary);vertical-align:text-bottom;opacity:0;width:.6em;height:1.05em;margin-left:.25em;display:inline-block}.intro{flex-direction:column;gap:12px;display:flex}.intro .prompt{font-size:16px;line-height:24px}.intro .lead{max-width:620px;font-size:16px;line-height:26px}.listing{flex-direction:column;gap:4px;display:flex}.listing-head{padding-bottom:12px;font-size:16px;line-height:24px}.rows{flex-direction:column;gap:4px;padding:0;list-style:none;display:flex}.row{grid-template-columns:100px minmax(0,1fr) 72px 48px;align-items:center;column-gap:24px;padding-block:10px;display:grid;position:relative}.row:before{content:">";color:var(--primary);opacity:0;transition:opacity .15s var(--ease), transform .2s var(--ease);font-size:16px;line-height:24px;position:absolute;top:10px;left:-22px;transform:translate(-4px)}.row .date{color:var(--muted);font-size:14px;line-height:20px}.row .title{transition:transform .2s var(--ease), color .15s var(--ease);font-size:16px;font-weight:500;line-height:24px}.row .title span{background:linear-gradient(var(--primary), var(--primary)) 0 calc(100% - 1px) / 0 1px no-repeat;transition:background-size .25s var(--ease)}.row .layer{color:var(--primary);font-size:13px;line-height:20px}.row .read{color:var(--muted);text-align:right;font-size:13px;line-height:20px}.row:hover:before,.row:focus-visible:before{opacity:1;transform:none}.row:hover .title,.row:focus-visible .title{color:var(--primary);transform:translate(6px)}.row:hover .title span,.row:focus-visible .title span{background-size:100% 1px}.row:focus-visible{outline-offset:6px}@media (width<=640px){:root{--gap:36px}.intro{gap:10px}.intro .prompt,.listing-head{font-size:15px;line-height:22px}.intro .lead{font-size:15px;line-height:24px}.listing{gap:20px}.listing-head{padding-bottom:0}.rows{gap:20px}.row{grid-template-columns:auto auto 1fr;grid-template-areas:"date layer read""title title title";gap:4px 0;padding-block:0}.row:before{top:22px;left:-18px}.row .date{grid-area:date;font-size:12px;line-height:18px}.row .layer{color:var(--muted);grid-area:layer;font-size:12px;line-height:18px}.row .read{text-align:left;grid-area:read;font-size:12px;line-height:18px}.row .layer:before,.row .read:before{content:" · "}.row .title{grid-area:title}}.site-footer{border-top:1px dashed var(--hairline);justify-content:space-between;align-items:baseline;gap:16px;padding-top:24px;display:flex}.site-footer .copy{color:var(--muted);font-size:13px;line-height:20px}.site-footer .social{gap:20px;display:flex}.site-footer .back{color:var(--primary)}@media (width<=640px){.site-footer{padding-top:20px}.site-footer--index{flex-direction:column-reverse;align-items:flex-start;gap:12px}.site-footer .copy{font-size:12px;line-height:18px}.site-footer .city-hide-mobile{display:none}}.post{flex-direction:column;gap:40px;min-width:0;display:flex}.post-head{flex-direction:column;gap:14px;display:flex}.post-head .prompt{font-size:14px;line-height:20px}.post-head h1{letter-spacing:-.02em;font-size:36px;font-weight:700;line-height:44px}.post-meta{color:var(--muted);font-size:13px;line-height:20px}.tldr{gap:20px;max-width:680px;display:flex}.tldr-rule{background:var(--primary);transform-origin:top;flex:none;width:2px}.tldr-body{flex-direction:column;flex:1;gap:8px;min-width:0;display:flex}.tldr-label{color:var(--primary);letter-spacing:.1em;font-size:12px;font-weight:700;line-height:16px}.tldr-text{font-size:16px;line-height:28px}.prose{min-width:0;max-width:680px}.prose>*+*{margin-top:24px}.prose h2,.prose h3{color:var(--primary);font-size:20px;font-weight:700;line-height:28px}.prose h2:before{content:"# "}.prose h3:before{content:"## "}.prose a{color:var(--primary);background:linear-gradient(var(--primary), var(--primary)) 0 calc(100% - 1px) / 100% 1px no-repeat}.prose ul,.prose ol{flex-direction:column;gap:8px;padding-left:0;list-style:none;display:flex}.prose ul>li{padding-left:2ch;position:relative}.prose ul>li:before{content:"-";color:var(--muted);position:absolute;left:0}.prose ol{counter-reset:item}.prose ol>li{counter-increment:item;padding-left:3ch;position:relative}.prose ol>li:before{content:counter(item) ".";color:var(--muted);position:absolute;left:0}.prose blockquote{border-left:2px solid var(--hairline);color:var(--muted);padding-left:20px}.prose hr{border:0;border-top:1px dashed var(--hairline);margin-block:32px}.prose img{max-width:100%;height:auto}.prose strong{font-weight:700}.prose :not(pre)>code{background:var(--code-bg);border:1px solid var(--code-border);border-radius:4px;padding:1px 6px;font-size:.9em}.prose pre{border:1px solid var(--code-border);tab-size:2;border-radius:6px;padding:20px 24px;font-size:14px;line-height:22px;overflow-x:auto;background:var(--code-bg)!important}.prose pre[data-title]:before{content:attr(data-title);color:var(--muted);margin-bottom:10px;font-size:12px;font-weight:500;line-height:16px;display:block}.prose pre code{font-family:inherit;font-size:inherit;background:0 0;border:0;padding:0}@media (width<=640px){.post{gap:28px}.post-head{gap:12px}.post-head .prompt,.post-meta{font-size:12px;line-height:18px}.post-head h1{font-size:26px;line-height:34px}.tldr{gap:16px}.tldr-body{gap:6px}.tldr-text{font-size:14px;line-height:24px}.prose>*+*{margin-top:20px}.prose{font-size:15px;line-height:26px}.prose h2,.prose h3{font-size:18px;line-height:26px}.prose pre{padding:16px 18px;font-size:12px;line-height:20px}.prose pre[data-title]:before{margin-bottom:8px}}.progress{display:none}@media (prefers-reduced-motion:no-preference){@view-transition{navigation:auto}::view-transition-old(root),::view-transition-new(root){animation-duration:.18s;animation-timing-function:ease-out}@keyframes rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.reveal{animation:rise .35s var(--ease) both;animation-delay:calc(min(var(--i,0), 12) * 40ms)}@keyframes blink{0%,49%{opacity:1}50%,to{opacity:0}}.caret{animation:1.1s step-end .5s 4 forwards blink}.listing-head .caret{animation-delay:.9s}@keyframes draw{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes fade{0%{opacity:0}to{opacity:1}}.tldr-rule{animation:draw .4s var(--ease) .15s both}.tldr-body{animation:fade .35s var(--ease) .4s both}@supports (animation-timeline:scroll()){@keyframes progress{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.progress{z-index:10;background:var(--primary);transform-origin:0;height:2px;animation-name:progress;animation-duration:auto;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:scroll(root);display:block;position:fixed;inset:0 0 auto;transform:scaleX(0)}}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}.row:hover .title,.row:focus-visible .title{transform:none}.caret{display:none}}
