@layer tokens{:root{--bg:#e8e8e8;--grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n' color-interpolation-filters='sRGB'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 -.2799 .6468 0 0 0 -.2799 .6468 0 0 0 -.2799 .6468 0 0 0 0 1'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");--grain-dark:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n' color-interpolation-filters='sRGB'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 -.1987 .6042 0 0 0 -.1987 .6042 0 0 0 -.1987 .6042 0 0 0 0 1'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");--ink-rgb:26 26 26;--drkm:0;--ink:rgb(var(--ink-rgb));--text:rgb(var(--ink-rgb) / .84);--muted:rgb(var(--ink-rgb) / .64);--faint:rgb(var(--ink-rgb) / .34);--line:rgb(var(--ink-rgb) / .15);--fill:rgb(var(--ink-rgb) / .045);--fill-2:rgb(var(--ink-rgb) / .08);--hover:var(--ink);color-scheme:light;--shell:1180px;--gutter:clamp(20px, 4vw, 48px);--measure:680px;--bleed:clamp(0px, (100vw - var(--gutter) * 2 - var(--measure)) / 2, 150px);--nav-h:72px;--r-media:18px;--r-code:14px;--r-ctl:999px;--r-code-inline:6px;--r-figure:var(--r-media);--r-pill:var(--r-ctl);--s-1:8px;--s-2:14px;--s-3:20px;--s-4:26px;--s-5:32px;--s-6:40px;--stamp-space:calc(12px * 1.4 + 22px);--s-p:1.6em;--s-h2:36px;--s-h3:28px;--t-body:17px;--t-h1:clamp(31px, 3.6vw, 43px);--t-h2:27px;--t-h3:21px;--t-item:27px;--t-caption:14px;--lh-body:1.6;--z-progress:30;--z-lightbox:60;--lb-backdrop-rgb:10 10 10;--lb-white-rgb:255 255 255;--arrow-lift:-.067em;--arrow-lift-sans:-.045em;--ease:cubic-bezier(.23, 1, .32, 1);--mark-origin:20% 100%;--mono:0;--slnt:0}:root[data-theme=dark]{--bg:#242424;--grain:var(--grain-dark);--ink-rgb:252 252 252;--drkm:1;--text:rgb(var(--ink-rgb) / .76);--muted:rgb(var(--ink-rgb) / .5);--faint:rgb(var(--ink-rgb) / .3);--line:rgb(var(--ink-rgb) / .13);--fill:rgb(var(--ink-rgb) / .05);--fill-2:rgb(var(--ink-rgb) / .09);color-scheme:dark}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#242424;--grain:var(--grain-dark);--ink-rgb:252 252 252;--drkm:1;--text:rgb(var(--ink-rgb) / .76);--muted:rgb(var(--ink-rgb) / .5);--faint:rgb(var(--ink-rgb) / .3);--line:rgb(var(--ink-rgb) / .13);--fill:rgb(var(--ink-rgb) / .05);--fill-2:rgb(var(--ink-rgb) / .09);color-scheme:dark}}@media (width<=640px){:root{--nav-h:58px;--gutter:20px;--stamp-space:calc(12px * 1.4 + 14px);--r-media:14px;--t-body:16.5px;--t-h1:29px;--t-h2:22px;--t-h3:18.5px;--t-item:23px;--s-h2:28px;--s-h3:22px}}}@layer base{*,:before,:after{box-sizing:border-box;font-variation-settings:"MONO" var(--mono), "slnt" var(--slnt), "DRKM" var(--drkm)}html{background-color:var(--bg);scrollbar-gutter:stable;-webkit-text-size-adjust:100%;text-size-adjust:100%;-webkit-tap-highlight-color:transparent}body{background-color:var(--bg);background-image:var(--grain);background-blend-mode:overlay;color:var(--text);font-family:Areal,system-ui,sans-serif;font-size:var(--t-body);font-weight:400;line-height:var(--lh-body);font-kerning:normal;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;hanging-punctuation:first;transition:background-color .4s var(--ease), color .4s var(--ease);margin:0}h1,h2,h3{--mono:50;letter-spacing:-.03em;color:var(--ink);text-wrap:balance;font-weight:400}p{text-wrap:pretty}em,i,cite{--slnt:-12;font-style:normal}::selection{background:var(--hover);color:var(--bg)}a:focus-visible,button:focus-visible{outline:1.5px solid var(--ink);outline-offset:3px;border-radius:4px}@view-transition{navigation:auto}.nav{view-transition-name:nav}::view-transition-old(nav),::view-transition-new(nav){mix-blend-mode:normal;animation:none}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}.reveal{opacity:1;transform:none}.item .go{transform:none}}}@layer layout{body{flex-direction:column;min-block-size:100dvh;display:flex}main{padding-top:var(--nav-h);flex:1 0 auto}.shell{width:min(100% - var(--gutter) * 2, var(--shell));margin-inline:auto}.page{grid-template-columns:minmax(0, 1fr) var(--bleed) minmax(0, var(--measure)) var(--bleed) minmax(0, 1fr);display:grid}.page>*{grid-column:3}.nav{z-index:20;height:var(--nav-h);background-color:var(--bg);transition:border-color .3s var(--ease);border-bottom:.5px solid #0000;position:fixed;inset-block-start:0;inset-inline:0}.nav .shell{--nav-bl:5.2px;flex-wrap:wrap;place-content:center space-between;align-items:baseline;height:100%;display:flex}.nav.is-scrolled{background-color:color-mix(in srgb, var(--bg) 76%, transparent);backdrop-filter:blur(20px)saturate(1.6);border-bottom-color:var(--line)}@media (width<=640px){.nav .shell{--nav-bl:4.75px}.page{grid-template-columns:minmax(0,1fr)}.page>*{grid-column:1}}}@layer components{.nav{--wm:30px;--word:15px}.wordmark{translate:0 calc(var(--wm) * .372 - var(--nav-bl));font-family:Cooper Light,serif;font-weight:300;font-size:var(--wm);letter-spacing:-.012em;white-space:nowrap;color:var(--ink);line-height:1;text-decoration:none}.tg-name{letter-spacing:-.004em;word-spacing:.06em;font-variation-settings:normal;white-space:nowrap;-webkit-text-stroke:.2px currentColor;font-family:Cooper Light,serif;font-size:1.03em;font-style:normal;font-weight:300;line-height:1}.wordmark .tg-name{-webkit-text-stroke:0;font-size:1em}.nav-list{translate:0 calc(var(--word) * .3775 - var(--nav-bl));align-items:center;gap:22px;margin:0;padding:0;list-style:none;display:flex}.nav-list a{font-size:var(--word);letter-spacing:-.01em;color:var(--muted);transition:color .2s var(--ease), font-variation-settings .45s var(--ease);flex-direction:column;align-items:center;text-decoration:none;display:inline-flex;position:relative}.nav-list a:after{content:attr(data-word);visibility:hidden;--mono:100;pointer-events:none;height:0;overflow:hidden}.nav-list a[aria-current=page]{color:var(--ink)}@media (hover:hover){.nav-list a:hover{color:var(--ink);--mono:100}}.tg-toggle{all:unset;cursor:pointer;border-radius:var(--r-ctl);place-items:center;width:44px;height:44px;margin-inline-end:-7px;display:grid;position:relative}.tg-toggle:focus-visible{outline:1.5px solid var(--ink);outline-offset:-4px}.tg-toggle:before{content:"";border-radius:var(--r-ctl);width:30px;height:30px;position:absolute}.tg-toggle .glyph{border:1.25px solid var(--ink);border-radius:var(--r-ctl);background:linear-gradient(90deg, var(--ink) 50%, transparent 50%);width:13px;height:13px;transition:transform .5s var(--ease);position:relative}@media (hover:hover){.tg-toggle:hover:before{background:var(--fill-2)}}:root[data-theme=dark] .tg-toggle .glyph{transform:rotate(180deg)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .tg-toggle .glyph{transform:rotate(180deg)}}@media (width<=640px){.nav{--wm:22px;--word:14px}.nav-list{gap:16px}.nav-writing{display:none}.tg-toggle{margin-inline-end:-9px}.tg-toggle:before{width:26px;height:26px}.tg-toggle:focus-visible{outline-offset:-6px}.tg-toggle .glyph{width:11px;height:11px}}@media (width<390px){.nav{--wm:clamp(17px, 7.14vw - 5.86px, 22px)}.nav-list{gap:10px}.tg-toggle{margin-inline:-9px}}.foot{--foot-pad:28px;padding:var(--foot-pad) 0 calc(var(--foot-pad) + env(safe-area-inset-bottom,0px));border-top:.5px solid var(--line);margin-top:96px;position:relative}.foot .label{letter-spacing:.05em;text-transform:uppercase;color:var(--muted);--mono:100;flex-wrap:wrap;gap:22px;font-size:12px;line-height:1.4;display:flex}.foot .label .tg-name{-webkit-text-stroke:0;text-transform:none;letter-spacing:0;font-size:1.2em}.foot-art{white-space:pre;color:var(--muted);--mono:100;transition:color .3s var(--ease);margin:0;font-family:inherit;font-size:13px;line-height:1.15;position:absolute;bottom:100%;right:0}.foot-art-alt,.foot.art-alt .foot-art{visibility:hidden}.foot.art-alt .foot-art-alt{visibility:visible}@media (hover:hover){.foot-art:hover,.foot-art-alt:hover{color:var(--ink)}}.foot .human{cursor:default}.human .smi{--mono:100;text-transform:none;letter-spacing:0;transition:color .3s var(--ease)}.human.grin .smi{color:var(--ink)}.foot a.u{color:var(--ink);text-underline-offset:.2em;text-decoration:underline from-font;text-decoration-color:rgb(var(--ink-rgb) / .3);transition:text-decoration-color .25s var(--ease), color .25s var(--ease)}.foot a.u,.prose .end-row a,.pager a,.addr a,.msg a,.pill,.wordmark,.nav-list a,.item a:not(.cover){position:relative;&:before{content:"";block-size:max(100%,44px);inline-size:max(100%,44px);position:absolute;inset-block-start:50%;inset-inline-start:50%;transform:translate(-50%,-50%)}}.prose .end-row a,.pager a{z-index:2}@media (hover:hover){.foot a.u:hover{text-decoration-color:var(--hover)}}@media (width<=640px){.foot{--foot-pad:22px;margin-top:84px}.foot .label{gap:8px 18px}}.post{padding-block-start:44px}.post>:has(+.post-end){margin-block-end:0}.post:not(:has(>.post-end)){padding-block-end:44px}.post-head{margin-block-end:40px;&.is-bare:not(:has(.sketch)){margin-block-end:0}& h1{font-size:var(--t-h1);margin:0;line-height:1.12}}.post-head:not(:has(.meta)){padding-block-start:var(--stamp-space)}.meta{--mono:100;letter-spacing:.05em;text-transform:uppercase;font-variant-numeric:tabular-nums;color:var(--muted);flex-wrap:wrap;gap:0 .85em;font-size:12px;line-height:1.4;display:flex}.meta>*+:before{content:"·";color:var(--faint);margin-inline-end:.85em}.meta .mm{--mm-c:var(--mm-l,var(--accent));align-items:center;display:flex}:root[data-theme=dark] .meta .mm{--mm-c:var(--mm-d,var(--accent))}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .meta .mm{--mm-c:var(--mm-d,var(--accent))}}.meta .mm i{block-size:1.6em;aspect-ratio:var(--mm-r,var(--mark-ratio,213 / 106));background-color:var(--mm-c);-webkit-mask:var(--mm,var(--endmark)) center / contain no-repeat;mask:var(--mm,var(--endmark)) center / contain no-repeat;transform-origin:var(--mm-o,var(--mark-origin,50% 100%));margin-block:-.2em}.post-head .meta{margin-block-end:22px}.prose .tg-figure{margin:8px 0 40px}.tg-frame{aspect-ratio:16/9;border-radius:var(--r-figure);box-shadow:inset 0 0 0 1px rgb(var(--ink-rgb) / .08);overflow:hidden}.is-embed .tg-frame{aspect-ratio:auto}.prose .is-embed{scroll-margin-block-start:calc(var(--nav-h) + var(--s-3))}.tg-piece{touch-action:pan-y;block-size:100%;inline-size:100%;display:block}.spec>*+:before{content:"·";margin-inline:.5em}.endmark{block-size:1.18em;aspect-ratio:var(--mark-ratio,213 / 106);vertical-align:-.2em;background-color:var(--accent);-webkit-mask:var(--endmark) center / contain no-repeat;mask:var(--endmark) center / contain no-repeat;transform-origin:var(--mark-origin,20% 100%);margin-inline-start:.32em;display:inline-block}.sketch{--mono:100;inline-size:max-content;max-inline-size:100%;color:var(--muted);transition:color .3s var(--ease);margin-inline:auto;display:grid;& .f2,&.swap pre{opacity:0}&.swap .f2{opacity:1}}.prose .sketch pre{white-space:pre;color:inherit;background:0 0;outline:0;grid-area:1/1;margin:0;padding:0;font-size:12.25px;line-height:1.18;overflow-x:auto}@media (hover:hover){.sketch:hover{color:var(--ink)}}.sketch-between,.sketch-late{margin-block:44px}.sketch-under-title{margin:30px 0 0}@media (width<=640px){.post{padding-block-start:22px}.post-head{margin-block-end:26px}.post-head h1{line-height:1.14}.post-head .meta{margin-block-end:14px}.prose .tg-figure{margin:4px 0 28px}}.post-end{--end-gap:80px;padding-block:44px calc(var(--end-gap) - 22px);border-block-start:.5px solid var(--line);margin-block-start:44px;&.is-note{margin-block-start:32px;padding-block-start:32px}}.post-end .cw{margin-block-end:var(--end-gap)}.prose .thanks{--mono:50;color:var(--muted);margin-block-end:var(--s-6);font-size:14px;line-height:1.65;& p{margin-block:0 .9em}& p:last-child{margin-block-end:0}& a{color:inherit;text-decoration-color:rgb(var(--ink-rgb) / .22);&:hover{color:var(--ink)}}}.end-row{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:10px 20px;display:flex}.prose .end-row a{--mono:100;letter-spacing:0;color:var(--muted);transition:color .2s var(--ease);align-items:baseline;gap:.6em;font-size:13px;line-height:1.4;text-decoration:none;display:inline-flex;&:hover{color:var(--ink)}}.end-row .back i{--slnt:0;transition:transform .2s var(--ease);display:inline-block;position:relative;inset-block-start:var(--arrow-lift)}.end-row .back:hover i{transform:translate(-4px)}@media (width<=640px){.post-end{padding-block:36px calc(var(--end-gap) - 10px);margin-block-start:36px;&.is-note{margin-block-start:28px;padding-block-start:28px}}.prose .thanks{margin-block-end:var(--s-4)}}.pg-mark{--pad:9px;--bw:52px;--bh:30px;--mw:min(var(--bw), var(--bh) * (var(--mark-ratio,2)));--mh:min(var(--bh), var(--bw) / (var(--mark-ratio,2)));--corner:32px;--edge:max(var(--corner), env(safe-area-inset-right));--edge-pad:var(--pad);z-index:var(--z-progress);min-inline-size:44px;padding:var(--pad);color:inherit;cursor:pointer;opacity:0;visibility:hidden;transition:opacity .5s var(--ease) .35s, visibility 0s linear .85s;background:0 0;border:0;padding-inline-end:var(--edge-pad);font-family:inherit;display:block;position:fixed;inset-block-end:calc(max(var(--corner), env(safe-area-inset-bottom)) - var(--pad));inset-inline-end:calc(var(--edge) - var(--edge-pad));&.on{opacity:1;visibility:visible;transition:opacity .5s var(--ease), visibility 0s}& .in{justify-content:flex-end;align-items:center;gap:9px;display:flex;position:relative}& .in:before{content:"";z-index:-1;background:color-mix(in srgb, var(--bg) 55%, transparent);backdrop-filter:blur(6px);opacity:0;transition:opacity .25s var(--ease);position:absolute;inset:-18px -26px;mask-image:radial-gradient(closest-side,#000 45%,#0000)}&:hover .in:before,&:focus-visible .in:before,&.peek .in:before{opacity:1}& .pct{--mono:100;letter-spacing:.04em;font-variant-numeric:tabular-nums;text-align:end;min-inline-size:3em;color:var(--muted);opacity:0;transition:opacity .25s var(--ease), transform .35s var(--ease);font-size:11px;line-height:1;transform:translate(7px)}&:hover .pct,&:focus-visible .pct,&.peek .pct{opacity:1;transform:none}& .m{inline-size:var(--mw);block-size:var(--mh);transform-origin:var(--mark-origin,20% 100%);flex:none;display:block;position:relative}& .m i{inline-size:var(--mw);background:rgb(var(--ink-rgb) / .38);-webkit-mask:var(--endmark) center / contain no-repeat;mask:var(--endmark) center / contain no-repeat;display:block;position:absolute;inset-block:0;inset-inline-start:0}& .m .f{inline-size:calc(var(--read,0) * var(--mw));display:block;position:absolute;inset-block:0;inset-inline-start:0;overflow:hidden}& .m .f i{background:var(--accent)}}:root[data-side=left] .pg-mark{--edge:max(var(--corner), env(safe-area-inset-left));padding-inline:var(--edge-pad) var(--pad);inset-inline-start:calc(var(--edge) - var(--edge-pad));inset-inline-end:auto;& .in{flex-direction:row-reverse;justify-content:flex-start}& .pct{transform:translate(-7px)}&:hover .pct,&:focus-visible .pct,&.peek .pct{transform:none}}@media (width<=640px){.pg-mark{--pad:13px;--bw:46px;--corner:var(--gutter);--edge-pad:10px;inset-block-end:calc(max(8px, env(safe-area-inset-bottom) - 14px) - var(--pad))}}.cw{& .swap,& .slot{grid-template-columns:minmax(0,1fr);display:grid;&>*{grid-area:1/1;margin:0}&>[hidden]{visibility:hidden;display:block}}& .slot{margin-block-start:var(--s-2);&>*{--mono:100;font-size:12.5px;line-height:1.5}& .hon{color:var(--faint)}& .msg{color:var(--ink);&.waiting{color:var(--muted)}& a{white-space:nowrap;color:var(--ink);text-decoration:underline from-font;text-decoration-color:rgb(var(--ink-rgb) / .3);text-underline-offset:.2em;transition:text-decoration-color .25s var(--ease)}@media (hover:hover){& a:hover{text-decoration-color:var(--hover)}}}}& .done{color:var(--ink);align-self:center;font-size:14px;&:focus{outline:none}}}.f-line{--join:var(--accent,var(--join-l));--f-on:var(--join,var(--ink));border-block-end:.5px solid var(--line);transition:border-color .2s var(--ease), box-shadow .2s var(--ease);align-items:baseline;gap:14px;padding-block-end:7px;display:flex;&:focus-within{border-block-end-color:var(--f-on);box-shadow:0 .5px 0 0 var(--f-on);& .t-btn i{color:var(--f-on)}}& .label{--mono:100;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);flex:none;font-size:12px;line-height:1.4}& input[type=email]{min-inline-size:0;font-family:inherit;font-size:16px;line-height:inherit;color:var(--ink);transition:color .2s var(--ease);background:0 0;border:0;flex:auto;padding:0;&::placeholder{color:var(--faint);opacity:1}&:focus{outline:none}&.waiting{color:var(--muted)}}& .t-btn{--mono:100;color:var(--muted);cursor:pointer;transition:color .2s var(--ease);background:0 0;border:0;flex:none;margin-block:-15px;padding:15px 0;font-family:inherit;font-size:13px;& i{--slnt:0;color:var(--join,currentcolor);transition:color .2s var(--ease), transform .2s var(--ease);display:inline-block;position:relative;inset-block-start:var(--arrow-lift)}&:hover{color:var(--ink)}&:hover i{transform:translate(3px)}}}:root[data-theme=dark] .f-line{--join:var(--accent,var(--join-d))}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .f-line{--join:var(--accent,var(--join-d))}}.trap{position:absolute;inset-inline-start:-9999px}@media (width<=430px){.f-line{gap:10px}}.intro{border-block-end:.5px solid var(--line);padding:56px 0 60px;&:last-child{border-block-end:0}& p{letter-spacing:-.024em;max-inline-size:44ch;color:var(--muted);text-wrap:balance;margin:0;font-size:clamp(23px,2.5vw,30px);line-height:1.27}& .hi{color:var(--ink)}}.item{padding-block:var(--s-6);border-block-start:.5px solid var(--line);position:relative;&:first-child{border-block-start:0}& .cover:after{content:"";z-index:1;position:absolute;inset:0}& a:not(.cover),& .cw{z-index:2;position:relative}& .meta{color:var(--muted)}& .meta time{color:var(--muted);transition:color .3s var(--ease)}& .meta a{color:inherit;text-decoration:none}& h2{margin:var(--s-2) 0;font-size:var(--t-item);letter-spacing:-.016em;color:var(--ink);text-wrap:balance;line-height:1.22}& h2 a{color:inherit;background-image:linear-gradient(var(--ink), var(--ink));transition:background-size .5s var(--ease);background-position:0 100%;background-repeat:no-repeat;background-size:0 1px;text-decoration:none}& .excerpt,& .note{font-size:var(--t-body);line-height:var(--lh-body);color:var(--text);margin:0}& .meta+.note{margin-block-start:var(--s-2)}& .note{color:rgb(var(--ink-rgb) / .9);transition:color .3s var(--ease)}& .note+.note{margin-block-start:.8em}& .go{opacity:0;color:var(--muted);transition:opacity .3s var(--ease), transform .3s var(--ease);margin-inline-start:.25em;display:inline-block;position:relative;inset-block-start:var(--arrow-lift-sans);transform:translate(-4px)}& .more{--mono:100;margin:var(--s-2) 0 0;color:var(--muted);transition:color .3s var(--ease);font-size:13px;& a{color:inherit;text-decoration:none}}& .note a{color:var(--ink);text-decoration:underline from-font;text-decoration-color:rgb(var(--ink-rgb) / .3);text-decoration-skip-ink:auto;text-underline-offset:.2em;transition:text-decoration-color .25s var(--ease)}& .tg-figure{border-radius:var(--r-media);margin:24px 0 0;& img{border-radius:inherit;block-size:auto;inline-size:100%;display:block}}}@media (hover:hover){.item .note a:hover{text-decoration-color:var(--hover)}.item .note a:hover .ext{color:var(--ink)}.item:hover{& .meta time,& .note,& .more{color:var(--ink)}& h2 a{background-size:100% 1px}& .go{opacity:1;transform:none}}}@media (hover:none){.item .go{display:none}}.item.mail .lead{font-size:var(--t-body);line-height:var(--lh-body);color:var(--text);margin:0}.item.mail .cw{margin-block-start:var(--s-6)}.pager{border-block-start:.5px solid var(--line);grid-template-columns:1fr 1fr;padding-block-start:26px;display:grid;& a{--mono:100;color:var(--muted);transition:color .2s var(--ease);justify-self:start;align-items:baseline;gap:.4em;font-size:13px;text-decoration:none;display:inline-flex;& i{transition:transform .2s var(--ease);font-style:normal;display:inline-block;position:relative;inset-block-start:var(--arrow-lift)}&:hover{color:var(--ink)}}& a[rel=next]{justify-self:end}& a[rel=prev]:hover i{transform:translate(-4px)}& a[rel=next]:hover i{transform:translate(4px)}}@media (width<=640px){.item.mail .cw{margin-block-start:var(--s-4)}.intro{padding:28px 0 32px;& p{font-size:22px}}}.follow{&>.lead{font-size:var(--t-body);line-height:var(--lh-body);color:var(--text);margin:0}&>.cw{margin-block-start:var(--s-6)}}@media (width<=640px){.follow>.cw{margin-block-start:var(--s-4)}}.mail-art{color:var(--muted);transition:color .3s var(--ease);margin-block-start:26px;display:inline-grid;& pre{--mono:100;white-space:pre;grid-area:1/1;margin:0;font-family:inherit;font-size:12px;line-height:1.18}& .f2{visibility:hidden}&:hover{color:var(--ink)}&.swap .f1,&.sent .f1{visibility:hidden}&.swap .f2,&.sent .f2{visibility:visible}}.rss{border-block-start:.5px solid var(--line);margin-block-start:30px;padding-block-start:24px;& a{color:var(--ink);text-decoration:underline from-font;text-decoration-color:rgb(var(--ink-rgb) / .3);text-decoration-skip-ink:auto;text-underline-offset:.2em;transition:text-decoration-color .25s var(--ease), color .25s var(--ease)}@media (hover:hover){& a:hover{text-decoration-color:var(--hover)}& a:hover .ext{color:var(--ink)}}& .line{margin:0 0 var(--s-3);font-size:var(--t-body);line-height:var(--lh-body);color:var(--text)}& .card{padding:var(--s-3);border-radius:var(--r-media);outline:.5px solid var(--line);outline-offset:-.5px;background:var(--fill)}& .addr{justify-content:space-between;align-items:center;gap:var(--s-2);border-block-end:.5px solid var(--line);padding-block-end:8px;display:flex;&>a{font-size:var(--t-body);line-height:var(--lh-body);color:var(--ink);overflow-wrap:break-word;flex:1 1 0}& .pills{flex-shrink:0;align-items:center;display:flex}row-gap:var(--s-1);flex-wrap:wrap}& .steps{--mono:100;margin:var(--s-2) 0 0;color:var(--muted);font-size:12.5px;line-height:1.5}& .steps-row{gap:var(--s-1);display:grid}& .readers{margin:var(--s-3) 0 0;font-size:var(--t-body);line-height:var(--lh-body);color:var(--text);& a{white-space:nowrap}}}.prose .about-body>:last-child{margin-block-end:0}.lost{& .line{font-size:var(--t-body);line-height:var(--lh-body);color:var(--text);--mono:0;letter-spacing:normal;text-wrap:pretty;margin:0}& .btn{justify-self:start;margin-block-start:var(--s-5)}}.lamp-art{inline-size:max-content;color:var(--muted);display:inline-grid;& pre{grid-area:1/1}& .f2,&.swap .f1{visibility:hidden}&.swap .f2{visibility:visible}}.lamp-art pre,.lamp-ground{--mono:100;text-align:start;white-space:pre;margin:0;font-family:inherit;font-size:13px;line-height:1.18}.lamp-ground{inline-size:max-content;color:var(--muted)}.btn{--mono:100;border-radius:var(--r-pill);background:var(--ink);min-block-size:48px;color:var(--bg);white-space:nowrap;box-shadow:inset 0 0 0 1px var(--ink);transition:background-color .25s var(--ease), color .25s var(--ease);align-items:center;gap:10px;padding:0 26px;font-size:15px;line-height:1;text-decoration:none;display:inline-flex;&:hover,&:focus-visible{background:var(--bg);color:var(--ink)}&:hover .btn-arrow{transform:translate(-4px)}&:focus-visible{outline:1.5px solid var(--ink);outline-offset:3px}& .btn-arrow{transition:transform .25s var(--ease);display:inline-block;position:relative;inset-block-start:var(--arrow-lift)}}@media (prefers-reduced-motion:reduce){.btn,.btn .btn-arrow{transition:none}}@media (width<=640px){.lost .btn{margin-block-start:var(--s-4)}}@media (width<=380px){.lamp-art pre,.lamp-ground{font-size:12px}.btn{gap:8px;padding-inline:20px;font-size:14px}}.post img[tabindex]:focus-visible{outline:1.5px solid var(--ink);outline-offset:3px}.lb{z-index:var(--z-lightbox);background:rgb(var(--lb-backdrop-rgb) / calc(.84 * var(--dim,1)));backdrop-filter:blur(12px);opacity:0;cursor:zoom-out;touch-action:none;transition:opacity .4s var(--ease);place-items:center;display:grid;position:fixed;inset:0;&.on{opacity:1}&:focus-visible{outline:none}& img{border-radius:var(--r-figure);max-inline-size:none;transform:translate(calc(var(--x,0) * 1px), calc((var(--y,0) + var(--drag,0)) * 1px)) scale(var(--k,1));transition:transform .5s var(--ease)}&.drag img{transition:none}& .lb-x{background:rgb(var(--lb-white-rgb) / .12);backdrop-filter:blur(8px);cursor:pointer;border:0;border-radius:50%;block-size:44px;inline-size:44px;position:absolute;inset-block-start:16px;inset-inline-end:16px;&:before,&:after{content:"";background:rgb(var(--lb-white-rgb));block-size:1.5px;inline-size:15px;position:absolute;inset-block-start:19px;inset-inline-start:12.5px}&:before{transform:rotate(45deg)}&:after{transform:rotate(-45deg)}}}.prose{overflow-wrap:break-word;& blockquote,& figure,& hr,& ul{margin-inline:0}& p{margin-block:0 var(--s-p)}& h2{margin-block:var(--s-h2) var(--s-3);font-size:var(--t-h2);line-height:1.25}& h3{margin-block:var(--s-h3) var(--s-2);font-size:var(--t-h3);line-height:1.3}& ul{margin-block:0 var(--s-p);padding:0;list-style:none}& ul>li{margin-block-end:var(--s-2);padding-inline-start:1.5em;position:relative;&:before{content:"";background:var(--faint);border-radius:1.5px;block-size:5px;inline-size:5px;position:absolute;inset-block-start:.68em;inset-inline-start:.2em}}& ol{margin-block:0 var(--s-p);margin-inline:0;padding-inline:1.8em 0}& ol>li{margin-block-end:var(--s-2);&::marker{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.9em}}& li>ul,& li>ol{margin-block:var(--s-2) 0}& li p:last-child{margin-block-end:0}& blockquote{margin-block:var(--s-5);border-inline-start:.5px solid var(--ink);color:var(--ink);padding-inline-start:22px}& blockquote p:last-of-type{margin-block-end:0}& .label,& blockquote footer{--mono:100;letter-spacing:.05em;text-transform:uppercase;font-variant-numeric:tabular-nums;color:var(--muted);font-size:12px;line-height:1.4}& blockquote footer{margin-block-start:12px}& hr{--mono:100;letter-spacing:.5em;text-indent:.5em;text-align:center;block-size:auto;color:var(--muted);border:0;margin-block:2.4em;font-size:14px;&:before{content:"* * *"}}& code,& kbd,& samp{--mono:100;border-radius:var(--r-code-inline);background:var(--fill-2);padding:.12em .42em;font-family:inherit;font-size:.86em}& pre code{font-size:inherit;background:0 0;border-radius:0;padding:0}& pre{--mono:100;tab-size:2;color:var(--muted);font-family:inherit;font-size:13.5px;line-height:1.65;overflow-x:auto}&>pre{margin-block:var(--s-5);padding:var(--s-3);border-radius:var(--r-code);outline:.5px solid var(--line);outline-offset:-.5px;background:var(--fill)}& figure{margin-block:var(--s-5)}& img{max-inline-size:100%}& figure img,& p>img:only-child{border-radius:var(--r-figure);block-size:auto;inline-size:100%;display:block}& figcaption{font-size:var(--t-caption);color:var(--muted);margin-block-start:var(--s-2);line-height:1.45}& figcaption .spec{--mono:100;letter-spacing:.03em;color:var(--muted);flex-wrap:wrap;margin-block-end:.35em;font-size:12px;display:flex}& mark{border-radius:var(--r-code-inline);background:var(--fill-2);color:inherit;padding:.08em .24em}& sup,& sub{line-height:0}& table{inline-size:100%;max-inline-size:100%;margin-block:var(--s-5);border-collapse:collapse;font-size:var(--t-caption);line-height:1.5}& th,& td{padding:var(--s-1) var(--s-2) var(--s-1) 0;border-block-end:.5px solid var(--line);overflow-wrap:anywhere;text-align:start;vertical-align:top}& th{--mono:100;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);font-size:12px;font-weight:400}& td{font-variant-numeric:tabular-nums}}.prose a{color:var(--ink);overflow-wrap:anywhere;text-decoration:underline from-font;text-decoration-color:rgb(var(--ink-rgb) / .3);text-decoration-skip-ink:auto;text-underline-offset:.2em;transition:text-decoration-color .25s var(--ease), color .25s var(--ease)}.nw,.end{white-space:nowrap}.ext{--mono:100;--slnt:0;vertical-align:.22em;color:var(--muted);transition:color .25s var(--ease);margin-inline-start:.2em;font-size:.72em;display:inline-block}@media (hover:hover){.prose a:hover{text-decoration-color:var(--hover)}.prose a:hover .ext,.prose [data-footnote-backref]:hover{color:var(--ink)}}.prose .footnotes{border-block-start:.5px solid var(--line);font-size:var(--t-caption);color:var(--muted);margin-block-start:44px;padding-block-start:var(--s-3);line-height:1.65}.prose .footnotes>h2{--mono:100;margin-block:0 var(--s-3);letter-spacing:.05em;text-transform:uppercase;color:var(--muted);font-size:12px;line-height:1.4}.prose .footnotes ol,.prose .footnotes>ol>li:last-child{margin-block-end:0}.prose [data-footnote-backref]{color:var(--muted);margin-inline-start:.35em;text-decoration:none}.prose [data-footnote-ref]{font-variant-numeric:tabular-nums;text-decoration:none}.prose [id^=user-content-fn]{scroll-margin-block-start:calc(var(--nav-h) + var(--s-3))}.code{margin-block:var(--s-5);border-radius:var(--r-code);outline:.5px solid var(--line);outline-offset:-.5px;background:var(--fill);margin-inline:0;overflow:clip}.code>header{justify-content:flex-end;align-items:center;gap:var(--s-2);padding:var(--s-2) var(--s-3);display:flex}.code>header .label{margin-inline-end:auto}.code>pre{padding:0 var(--s-3) var(--s-3);margin:0}.code b{color:var(--ink);font-weight:400}.pill{--mono:100;white-space:nowrap;border-radius:var(--r-pill);box-shadow:inset 0 0 0 .5px var(--line);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);cursor:pointer;transition:color .2s var(--ease), background-color .2s var(--ease), transform .1s var(--ease);background:0 0;border:0;flex-direction:column;align-items:center;padding:6px 12px;font-family:inherit;font-size:11px;display:inline-flex;&:after{content:attr(data-copied);content:attr(data-copied) / "";visibility:hidden;block-size:0;overflow:hidden}}@media (hover:hover){.pill:hover{color:var(--ink);background:var(--fill-2)}}.pill:active{transform:scale(.97)}@media screen and (prefers-reduced-motion:no-preference){.reveal.in{transition:opacity .9s var(--ease), transform 1.1s var(--ease)}.js-reveal .reveal:not(.in){opacity:0;transform:translateY(8px)scale(1.012)}}@media (width<=640px){.prose h2{margin-block-end:12px}.prose h3{margin-block-end:10px}.prose pre{font-size:12.5px}.prose blockquote{padding-inline-start:16px}.prose table{table-layout:fixed}.prose>pre,.prose .code{padding-inline:16px}.prose>pre{padding-block:16px}.prose .code>header{padding-inline:0}.prose .code>pre{padding:0 0 16px}}}@layer utilities{.vh{clip-path:inset(50%);white-space:nowrap;border:0;block-size:1px;inline-size:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}}
