.series-top[data-astro-cid-x3pxgsip]{grid-template-columns:1fr 1fr;gap:.8rem;margin:0 0 1.6rem;display:grid}.series-top__btn[data-astro-cid-x3pxgsip]{border:1px solid var(--line);background:var(--paper-2);min-width:0;color:var(--ink-2);flex-direction:column;gap:.2rem;padding:.55rem .8rem;text-decoration:none;transition:border-color .16s,color .16s;display:flex}.series-top__btn--next[data-astro-cid-x3pxgsip]{text-align:right;grid-column:2;align-items:flex-end}.series-top__btn[data-astro-cid-x3pxgsip] .mono[data-astro-cid-x3pxgsip]{color:var(--acc);text-transform:none;letter-spacing:.05em;font-size:.6rem}.series-top__title[data-astro-cid-x3pxgsip]{font-family:var(--font-ui);letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:.9rem;font-weight:600;line-height:1.3;overflow:hidden}.series-top__btn[data-astro-cid-x3pxgsip]:hover{border-color:var(--acc);color:var(--acc)}.series-top__btn[data-astro-cid-x3pxgsip]:focus-visible{outline:2px solid var(--acc);outline-offset:2px}@media (width<=560px){.series-top__title[data-astro-cid-x3pxgsip]{display:none}}.series[data-astro-cid-x3pxgsip]{border-top:1px solid var(--line);margin-top:3rem;padding-top:1.4rem}.series__head[data-astro-cid-x3pxgsip]{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:1rem;display:flex}.series__label[data-astro-cid-x3pxgsip]{color:var(--acc);font-size:.64rem}.series__count[data-astro-cid-x3pxgsip]{color:var(--ink-3);text-transform:none;letter-spacing:.06em;font-size:.62rem}.series__list[data-astro-cid-x3pxgsip]{border-top:1px solid var(--line-2);margin:0 0 1.2rem;padding:0;list-style:none}.series__item[data-astro-cid-x3pxgsip]{border-bottom:1px solid var(--line-2)}.series__link[data-astro-cid-x3pxgsip]{color:var(--ink-2);grid-template-columns:2.2rem 1fr auto;align-items:baseline;gap:.9rem;padding:.7rem .4rem;text-decoration:none;transition:background .16s,padding-left .16s;display:grid}a[data-astro-cid-x3pxgsip].series__link:hover{background:var(--paper-2);color:var(--acc);padding-left:.9rem}.series__no[data-astro-cid-x3pxgsip]{color:var(--ink-3);text-transform:none;font-size:.62rem}a[data-astro-cid-x3pxgsip].series__link:hover .series__no[data-astro-cid-x3pxgsip]{color:var(--acc)}.series__title[data-astro-cid-x3pxgsip]{font-size:.98rem;line-height:1.45}.series__item[data-astro-cid-x3pxgsip].is-current{background:var(--acc-soft)}.series__item[data-astro-cid-x3pxgsip].is-current .series__title[data-astro-cid-x3pxgsip]{color:var(--ink);font-weight:500}.series__here[data-astro-cid-x3pxgsip]{color:var(--acc);white-space:nowrap;font-size:.56rem}.series__end[data-astro-cid-x3pxgsip]{align-items:baseline;gap:.6rem;display:inline-flex}.series__tick[data-astro-cid-x3pxgsip]{color:var(--ledger);white-space:nowrap;text-transform:none;letter-spacing:.05em;font-size:.56rem}.series__tick[data-astro-cid-x3pxgsip][hidden]{display:none}.series__item[data-astro-cid-x3pxgsip].is-read:not(.is-current) .series__title[data-astro-cid-x3pxgsip]{color:var(--ink-3)}.series__jump[data-astro-cid-x3pxgsip]{justify-content:space-between;gap:1rem;display:flex}.series__jump[data-astro-cid-x3pxgsip] a[data-astro-cid-x3pxgsip]{color:var(--ink-2);border:1px solid var(--line);background:var(--paper-2);padding:.45em .8em;font-size:.64rem;text-decoration:none;transition:border-color .16s,color .16s}.series__jump[data-astro-cid-x3pxgsip] a[data-astro-cid-x3pxgsip]:hover{border-color:var(--acc);color:var(--acc)}.listen{flex-wrap:wrap;align-items:center;gap:.5rem .7rem;margin-top:1.1rem;font-size:.7rem;display:flex}.listen[hidden]{display:none}.listen__play{border:1px solid var(--acc);color:var(--acc);background:var(--paper-2);cursor:pointer;font:inherit;letter-spacing:.06em;align-items:center;gap:.55em;padding:.45em .9em;display:inline-flex}.listen__play:hover{background:var(--acc);color:#fff}.listen__btn{border:1px solid var(--line);background:var(--paper-2);color:var(--ink-2);cursor:pointer;font:inherit;padding:.45em .7em}.listen__btn:hover{color:var(--acc);border-color:var(--acc)}.listen__here{letter-spacing:.04em}.listen-float{z-index:50;font:inherit;letter-spacing:.06em;color:var(--acc);background:var(--paper);border:1px solid var(--acc);cursor:pointer;padding:.5em .9em;font-size:.7rem;position:fixed;bottom:1rem;right:1rem;box-shadow:0 6px 24px #12314e24}.listen-float:hover{background:var(--acc);color:#fff}.listen-float[hidden]{display:none}.prose-shell:has(>.listen.is-active),.prose-shell:has(>.listen-float:not([hidden])){z-index:60}@media print{.listen-float{display:none}}.listen__rate{border:1px solid var(--line);background:var(--paper-2);align-items:center;display:inline-flex}.listen__step{font:inherit;color:var(--ink-2);cursor:pointer;background:0 0;border:0;padding:.35em .6em;font-size:.85rem;line-height:1}.listen__step:hover:not(:disabled){color:var(--acc)}.listen__step:disabled{opacity:.35;cursor:default}.listen__rateval{text-align:center;min-width:3.2em;color:var(--ink-2);font-variant-numeric:tabular-nums}.listen__pos{color:var(--ink-3);text-transform:none;font-variant-numeric:tabular-nums}.listen__opt select{font:inherit;color:var(--ink-2);background:var(--paper-2);border:1px solid var(--line);max-width:15rem;padding:.38em .4em}.listen.is-active{z-index:50;background:var(--paper);border:1px solid var(--line);max-width:calc(100vw - 2rem);margin:0;padding:.55rem .8rem;position:fixed;bottom:1rem;left:50%;transform:translate(-50%);box-shadow:0 6px 24px #12314e24}.is-reading{background:linear-gradient(#0000 0,#1f6fb817 0);border-radius:2px;box-shadow:-.6rem 0 #1f6fb817,.6rem 0 #1f6fb817}@media (width<=640px){.listen__voice select{max-width:9rem}}.prose mark.hl{color:inherit;cursor:pointer;background:#ffd6668c;border-radius:2px;padding:.05em 0}.prose mark.hl:hover{background:#ffc43db3}.hl-bar{z-index:65;white-space:nowrap;align-items:stretch;gap:4px;display:inline-flex;position:absolute;transform:translate(-50%,-100%)}.hl-bar.hl-bar--below{transform:translate(-50%)}.hl-bar[hidden]{display:none}@media (pointer:coarse),(width<=768px){.hl-bar{background:#0c2036eb;border:1px solid #ffffff2e;padding:4px;box-shadow:0 8px 24px #0c203652;top:auto!important;left:50%!important;bottom:calc(1rem + env(safe-area-inset-bottom,0px))!important;position:fixed!important;transform:translate(-50%)!important}.hl-bar .hl-pop{padding:.6em .95em;font-size:.74rem}}.hl-pop{letter-spacing:.05em;color:#fff;background:var(--ink,#12314e);cursor:pointer;border:0;padding:.5em .8em;font-size:.68rem;box-shadow:0 4px 14px #12314e33}.hl-pop[hidden]{display:none}.hl-pop--rm{background:#a2402a}.hl-pop--say{background:var(--acc,#1f6fb8)}.hl-speed{cursor:default;align-items:center;gap:.1em;padding:.2em .3em;display:inline-flex}.hl-speed[hidden]{display:none}.hl-speed button{font:inherit;color:#fff;cursor:pointer;background:0 0;border:0;padding:.2em .55em;font-size:.85rem}.hl-speed span{text-align:center;font-variant-numeric:tabular-nums;min-width:3em}.hl-count{margin-left:.2rem}.hl-count button{font:inherit;color:var(--acc);cursor:pointer;text-underline-offset:2px;background:0 0;border:0;padding:0;text-decoration:underline}.prose h2,.prose h3{scroll-margin-top:76px;position:relative}.h-anchor{vertical-align:middle;width:1.7rem;height:1.7rem;color:var(--ink-3);border-radius:var(--radius,2px);opacity:0;border:1px solid #0000;justify-content:center;align-items:center;margin-left:.35rem;text-decoration:none;transition:opacity .16s,color .16s,border-color .16s;display:inline-flex;position:relative}.prose h2:hover .h-anchor,.prose h3:hover .h-anchor,.h-anchor:focus-visible,.h-anchor.is-copied{opacity:1}.h-anchor:hover{color:var(--acc);border-color:var(--line);background:var(--paper-2)}.h-anchor:focus-visible{outline:2px solid var(--acc);outline-offset:2px;color:var(--acc)}@media (hover:none){.h-anchor{opacity:.45}}.h-anchor.is-copied:after{content:"Copied";font-family:var(--font-mono);letter-spacing:.06em;color:#fff;background:var(--ink);white-space:nowrap;pointer-events:none;padding:.3em .6em;font-size:.6rem;font-weight:400;position:absolute;top:50%;left:calc(100% + .4rem);transform:translateY(-50%)}@media print{.h-anchor{display:none}}.toc{display:none}html.has-toc .toc{z-index:5;scrollbar-width:thin;width:216px;max-height:calc(100vh - 56px - 4.8rem);transition:opacity .2s,visibility .2s;display:block;position:fixed;top:calc(56px + 2.4rem);overflow-y:auto}html.has-toc .toc.is-off{opacity:0;visibility:hidden}html.has-toc .otp{display:none}html.has-toc .post{padding-left:var(--toc-pad,0px)}html.has-toc .prose{--wide:min(var(--wide-max,1200px), 100vw - 2 * var(--gutter) - var(--toc-pad,0px))}.toc__label{color:var(--acc);margin:0 0 .7rem;font-size:.6rem}.toc__list,.toc__sub{margin:0;padding:0;list-style:none}.toc__list{border-left:1px solid var(--line)}.toc__link{font-family:var(--font-ui);color:var(--ink-3);border-left:2px solid #0000;margin-left:-1px;padding:.32rem 0 .32rem .8rem;font-size:.8rem;line-height:1.35;text-decoration:none;transition:color .16s,border-color .16s;display:block}.toc__link:hover{color:var(--acc)}.toc__link:focus-visible{outline:2px solid var(--acc);outline-offset:-2px;color:var(--acc)}.toc__link.is-active{color:var(--ink);border-left-color:var(--acc);font-weight:600}.toc__sub{display:none}.toc__item.is-open>.toc__sub{display:block}.toc__link--sub{padding-left:1.6rem;font-size:.74rem}.toc__link--sub.is-active{color:var(--acc);font-weight:500}.otp{margin-top:1rem}.otp summary{cursor:pointer;color:var(--acc);text-transform:none;letter-spacing:.05em;width:fit-content;font-size:.64rem}.otp summary:focus-visible{outline:2px solid var(--acc);outline-offset:2px}.otp ol{gap:.3rem;margin:.7rem 0 0;padding-left:1.3em;font-size:.95rem;display:grid}.otp a{color:var(--ink-2);text-decoration:none}.otp a:hover{color:var(--acc)}@media print{.toc,.otp{display:none!important}}.resume{z-index:45;background:var(--paper-2);border:1px solid var(--acc);align-items:stretch;max-width:calc(100vw - 2rem);display:flex;position:fixed;bottom:1rem;right:1rem;box-shadow:0 6px 24px #12314e24}.resume[hidden]{display:none}.resume button{font-family:var(--font-mono);letter-spacing:.05em;text-transform:none;cursor:pointer;color:var(--acc);background:0 0;border:0;padding:.65em .9em;font-size:.66rem}.resume__go:hover{background:var(--acc);color:#fff}.resume__x{color:var(--ink-3)!important;border-left:1px solid var(--line)!important}.resume__x:hover{background:var(--paper-3);color:var(--ink)!important}.resume button:focus-visible{outline:2px solid var(--acc);outline-offset:-3px}@media print{.resume{display:none!important}}.prose .gl{color:#0f4f8c;box-decoration-break:clone;text-decoration:underline dotted var(--acc);text-underline-offset:3px;cursor:help;background:#d3e4f6;border-radius:3px;padding:.02em .25em;font-weight:500;text-decoration-thickness:1.5px;transition:background-color .15s}.prose .gl:after{content:"?";font-family:var(--font-ui);vertical-align:super;color:var(--acc);margin-left:2px;font-size:.62em;font-weight:600}.prose .gl:hover,.prose .gl:focus-visible,.prose .gl[aria-expanded=true]{background:#b9d3ef;outline:none}.prose .gl:focus-visible{box-shadow:0 0 0 2px var(--acc)}@media (prefers-reduced-motion:reduce){.prose .gl{transition:none}}.gl-card{z-index:60;box-sizing:border-box;background:var(--paper-2);color:var(--ink-2);border:1px solid var(--line);border-left:3px solid var(--acc);font-family:var(--font-ui);padding:.85rem 1rem;font-size:.95rem;line-height:1.45;position:absolute;box-shadow:0 8px 24px #12314e24}.gl-card strong{color:var(--ink)}.gl-card__more{color:var(--acc);margin-top:.45rem;font-size:.8rem;display:block}.gl-card__more:after{content:" →"}@media print{.gl-card{display:none}.prose .gl:after{content:none}}.post{padding:clamp(2rem,6vh,3.5rem) 0 0}.post__back{color:var(--ink-3);margin-bottom:2rem;text-decoration:none;transition:color .16s;display:inline-block}.post__back:hover{color:var(--acc)}.post__title{letter-spacing:-.035em;margin:0 0 .9rem;font-size:clamp(2rem,5vw,3.2rem);line-height:1.05}.post__summary{color:var(--ink-2);margin:0 0 1.4rem;font-size:1.2rem;font-style:italic;line-height:1.5}.post__meta{color:var(--ink-3);text-transform:none;letter-spacing:.06em;border-bottom:1px solid var(--line);flex-wrap:wrap;gap:.5rem;padding-bottom:1.6rem;font-size:.66rem;display:flex}.post{--rs:1;--text:42rem;--wide-max:1200px}html[data-read="1"] .post{--rs:1.1;--text:46rem;--wide-max:1320px}html[data-read="2"] .post{--rs:1.2;--text:50rem;--wide-max:1440px}html[data-read="3"] .post{--rs:1.35;--text:56rem;--wide-max:1620px}html[data-read="4"] .post{--rs:1.5;--text:62rem;--wide-max:1800px}.post .prose-shell{max-width:calc(var(--text) + 2 * var(--gutter))}.post__shorts-shell{max-width:min(54rem, calc(100vw - 2 * var(--gutter)));padding:0 var(--gutter);box-sizing:border-box;margin:1.4rem auto 0}@media (width>=1280px) and (width<=1560px){.post__shorts-shell{max-width:calc(var(--text) + 2 * var(--gutter))}}.prose{--wide:min(var(--wide-max,1200px), 100vw - 2 * var(--gutter));grid-template-columns:[full-start] minmax(var(--gutter), 1fr) [wide-start] minmax(0, calc((var(--wide) - var(--text)) / 2)) [content-start] min(var(--text), 100% - 2 * var(--gutter)) [content-end] minmax(0, calc((var(--wide) - var(--text)) / 2)) [wide-end] minmax(var(--gutter), 1fr) [full-end];font-size:calc(1.18rem * var(--rs,1));color:var(--ink-2);padding-top:2.4rem;line-height:1.72;display:grid}.prose>*{grid-column:content;min-width:0}.prose>svg,.prose>video,.prose>.dia-cap,.prose>pre,.prose>table,.prose>figure,.prose>.wide,.prose>p:has(>img:only-child){grid-column:wide}.prose>svg{cursor:zoom-in;height:auto;margin:1.2em 0 1.6em;display:block;width:100%!important}.prose>video{aspect-ratio:16/9;background:#0d1f33;height:auto;margin:1.2em 0 1.6em;display:block;width:100%!important}.zoom{background:#fafcfdfa;border:0;width:100vw;max-width:none;height:100vh;max-height:none;padding:0}.zoom::backdrop{background:#12314e59}.zoom__stage{box-sizing:border-box;place-items:center;width:100%;height:100%;padding:3.5rem 2rem 2rem;display:grid;overflow:auto}.zoom__stage svg{height:auto;max-height:calc(100vh - 6rem);width:min(100%,1800px)!important}.zoom__close{background:var(--paper-2);border:1px solid var(--line);cursor:pointer;z-index:2;padding:.5rem .8rem;position:fixed;top:1rem;right:1.2rem}.prose p{margin:0 0 1.5em}.prose h2{font-size:calc(1.65rem * var(--rs,1));letter-spacing:-.025em;color:var(--ink);margin:2.6em 0 .55em}.prose h3{font-size:calc(1.28rem * var(--rs,1));color:var(--ink);margin:2.1em 0 .45em}.prose strong{color:var(--ink);font-weight:600}.prose a{color:var(--acc);text-underline-offset:3px}.prose blockquote{border-left:1px solid var(--acc);color:var(--ink-3);margin:2em 0;padding:.2em 0 .2em 1.4rem;font-style:italic}.prose ul,.prose ol{margin:0 0 1.5em;padding-left:1.3em}.prose li{margin-bottom:.5em}.prose code{font-family:var(--font-mono);background:var(--paper-2);border:1px solid var(--line-2);padding:.15em .4em;font-size:.84em}.prose pre{border:1px solid var(--line);font-size:calc(.84rem * var(--rs,1));margin:2em 0;padding:1.2rem 1.3rem;line-height:1.6;overflow-x:auto;background:var(--paper-2)!important}.prose pre code{font-size:inherit;background:0 0;border:0;padding:0}.prose img{border:1px solid var(--line);max-width:100%;height:auto}.prose .dia-cap{font-family:var(--font-read);font-style:italic;font-size:calc(.92rem * var(--rs,1));color:var(--ink-3);text-align:center;max-width:none;margin:-1em 0 2.2em;line-height:1.5}.prose hr{background:var(--line);border:0;height:1px;margin:3em 0}.crosspost{border-top:1px solid var(--line);margin-top:2.6rem;padding-top:1.3rem}.crosspost p{text-transform:none;letter-spacing:.04em}.postnav{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:1rem;margin-top:3rem;padding-top:1.8rem;display:grid}.postnav__item{color:var(--ink-2);border:1px solid var(--line);background:var(--paper-2);flex-direction:column;gap:.35rem;padding:1rem;text-decoration:none;transition:border-color .16s,color .16s;display:flex}.postnav__item:hover{border-color:var(--acc);color:var(--acc)}.postnav__item--right{text-align:right;align-items:flex-end}.postnav__title{font-family:var(--font-ui);letter-spacing:-.015em;font-size:1.02rem;font-weight:600}
