.progress{background:var(--acc);z-index:60;width:0;height:2px;position:fixed;top:0;left:0}.ahead{max-width:900px;padding:56px 0 40px}.ahead h1{font:400 clamp(30px, 4.2vw, 50px)/1.14 var(--type);margin-top:18px}.ahead .lead{color:var(--ink2);max-width:62ch;margin-top:20px;font-size:19px;line-height:1.6}.ahead .meta{font:400 12.5px var(--mono);color:var(--ink3);flex-wrap:wrap;align-items:center;gap:8px 22px;margin-top:26px;display:flex}.ahead .meta .by{color:var(--ink2);align-items:center;gap:9px;display:flex}.ahead .meta img{object-fit:cover;object-position:50% 22%;border-radius:50%;width:26px;height:26px}.facts{--r:-.3deg;border-top:2px solid var(--acc);grid-auto-flow:column;justify-content:start;margin-bottom:44px;padding:6px 22px;display:grid}.facts div{padding:14px 32px 14px 0}.facts div+div{border-left:1px solid var(--rule);padding-left:24px}.facts dt{font:400 11px var(--type);color:var(--ink2);text-transform:uppercase;letter-spacing:.12em}.facts dd{font:500 13.5px var(--mono);margin-top:4px}.facts dd.acc{color:var(--acc)}.facts dd a{box-shadow:inset 0 -1px 0 var(--rule)}.facts dd a:hover{color:var(--acc)}.layout{grid-template-columns:minmax(0,720px) minmax(0,1fr);align-items:start;gap:88px;display:grid}.rail{max-width:300px;font-size:14px;position:sticky;top:28px}.rail h2{font:400 12px var(--type);color:var(--ink2);text-transform:uppercase;letter-spacing:.1em;margin-bottom:12px}.toc a{color:var(--ink2);box-shadow:inset 1px 0 0 var(--rule);padding:5px 0 5px 14px;line-height:1.4;display:block}.toc a.sub{padding-left:28px;font-size:13.5px}.toc a:hover{color:var(--ink)}.toc a.on{color:var(--ink);box-shadow:inset 2px 0 0 var(--acc)}.rail .tline{margin-top:36px}.tline li{padding:0 0 14px 20px;list-style:none;position:relative}.tline li:before{content:"";background:var(--acc);border:1.5px solid var(--acc);border-radius:50%;width:7px;height:7px;position:absolute;top:7px;left:3px}.tline li:after{content:"";background:var(--rule);width:1px;position:absolute;top:17px;bottom:0;left:6.5px}.tline li:last-child:after{display:none}.tline li span{font:400 11.5px var(--mono);color:var(--ink3);display:block}.tline li b{font-size:14px;font-weight:500}.rail .share{font:400 12.5px var(--type);color:var(--ink3);flex-wrap:wrap;gap:8px 16px;margin-top:30px;display:flex}.rail .share a:hover,.rail .share button:hover{color:var(--acc)}.rail .share button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0}.prose{overflow-wrap:break-word;min-width:0;font-size:17.5px;line-height:1.75}.prose>*+*{margin-top:1.15em}.prose h2{font:400 28px/1.25 var(--type);margin-top:2.2em;scroll-margin-top:24px}.prose h3{letter-spacing:-.008em;margin-top:1.9em;scroll-margin-top:24px;font-size:19px;font-weight:600}.prose h4{margin-top:1.6em;font-size:17px;font-weight:600}.prose h2+*,.prose h3+*,.prose h4+*{margin-top:.6em}.prose>:first-child{margin-top:0}.prose a{box-shadow:inset 0 -1px 0 var(--acc)}.prose a:hover{background:var(--hl);color:var(--hl-ink)}.prose strong{font-weight:600}.prose :not(pre)>code{font:400 .84em var(--mono);background:var(--code-bg);overflow-wrap:anywhere;border-radius:4px;padding:.12em .38em}.prose ul,.prose ol{padding-left:1.4em}.prose li+li,.prose li>ul,.prose li>ol{margin-top:.45em}.prose li>p+*{margin-top:.6em}.prose li::marker{font:500 .9em var(--mono);color:var(--ink3)}.prose blockquote{border-left:2px solid var(--rule);color:var(--ink2);padding-left:18px}.prose hr{border:0;border-top:1px solid var(--rule);margin:2.4em 0}.prose table{border-collapse:collapse;width:100%;font-size:15px;display:block;overflow-x:auto}.prose th{text-align:left;font:400 11px var(--mono);color:var(--ink3);text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--rule);padding:0 16px 10px 0}.prose td{border-bottom:1px solid var(--rule);vertical-align:top;padding:10px 16px 10px 0}.prose video{border-radius:8px;width:100%;display:block}.code{background:var(--code-bg);border:1px solid var(--rule);font:400 14px/1.7 var(--mono);border-radius:2px;overflow:hidden}.code .bar{border-bottom:1px dashed var(--rule);min-height:36px;font:400 12px var(--type);letter-spacing:.04em;color:var(--ink3);justify-content:space-between;align-items:center;padding:6px 10px 6px 16px;display:flex}.code .bar button{font:inherit;color:var(--ink3);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;padding:2px 8px}.code .bar button:hover{color:var(--ink);border-color:var(--rule)}.code pre{tab-size:4;margin:0;padding:16px 18px;overflow-x:auto;background:0 0!important}.code pre code{width:max-content;min-width:100%;display:block}.code .line .ln{color:var(--ink3);opacity:.7;user-select:none;width:2.4em;display:inline-block}.code .line.hl{background:var(--acc-soft);width:calc(100% + 36px);box-shadow:inset 2px 0 0 var(--acc);margin:0 -18px;padding:0 18px;display:inline-block}.astro-code span{color:var(--shiki-light);font-style:var(--shiki-light-font-style)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .astro-code span{color:var(--shiki-dark);font-style:var(--shiki-dark-font-style)}}:root[data-theme=dark] .astro-code span{color:var(--shiki-dark);font-style:var(--shiki-dark-font-style)}figure.shot{margin-top:1.8em;margin-bottom:1.8em}figure.shot .fr{background:var(--sheet);border:1px solid var(--sheet-rule);box-shadow:3px 4px 0 var(--lift);border-radius:2px;place-items:center;padding:34px 24px 24px;display:grid;position:relative}figure.shot .fr:before{content:"";background:var(--tape);width:110px;height:26px;position:absolute;top:-12px;left:50%;transform:translate(-50%)rotate(-2deg);box-shadow:0 1px 2px #0000001a}figure.shot img{border-radius:2px;max-width:100%;height:auto;display:block;box-shadow:0 2px 6px #0003}figure.shot.wide{margin-right:-120px}figure.shot figcaption{font:400 12.5px var(--mono);color:var(--ink3);gap:10px;margin-top:10px;display:flex}figure.shot figcaption b{color:var(--ink2);white-space:nowrap;font-weight:500}.lead-fig{margin:0 0 40px}.callout{border-left:3px solid var(--acc);background:var(--acc-soft);border-radius:0 2px 2px 0;padding:16px 20px;font-size:16px}.callout>*+*{margin-top:.6em}.callout .h{font:400 12.5px var(--type);color:var(--acc);text-transform:uppercase;letter-spacing:.1em;margin-bottom:6px}.callout.note{border-left-color:var(--ink3);background:var(--surface)}.callout.note .h{color:var(--ink2)}.callout .code{background:var(--bg)}.prose :is(h2,h3,h4)#references+ul{font:400 13.5px/1.6 var(--mono);padding:0;list-style:none}.prose :is(h2,h3,h4)#references+ul li{border-top:1px solid var(--rule);margin:0;padding:10px 0}.prose :is(h2,h3,h4)#references+ul a{word-break:break-all;box-shadow:none}.prose :is(h2,h3,h4)#references+ul a:hover{color:var(--acc);background:0 0}.author{border-top:1px dashed var(--ink3);border-bottom:1px dashed var(--ink3);align-items:center;gap:16px;margin-top:56px;padding:20px 0;display:flex}.author img{object-fit:cover;object-position:50% 22%;border-radius:50%;flex:none;width:52px;height:52px}.author p{color:var(--ink2);font-size:15px;line-height:1.5}.author p b{color:var(--ink);font-weight:600}.author p a{box-shadow:inset 0 -1px 0 var(--acc);color:var(--ink)}.endm{grid-template-columns:1fr 1fr;gap:24px;margin-top:36px;padding-top:12px;display:grid}.endm a{padding:18px 0}.endm a:hover b{color:var(--acc)}.endm span{font:400 12px var(--type);text-transform:uppercase;letter-spacing:.08em;color:var(--ink3);margin-bottom:6px;display:block}.endm b{font:400 18px/1.35 var(--type);display:block}.endm a.nx{text-align:right;grid-column:2}@media (width<=1180px){figure.shot.wide{margin-right:0}}@media (width<=1040px){.layout{grid-template-columns:minmax(0,1fr);gap:0}.rail{order:-1;max-width:none;margin-bottom:32px;position:static}.rail .toc-wrap{border:1px dashed var(--ink3);border-radius:2px;padding:14px 18px}.rail .tline,.rail .share{display:none}}@media (width<=760px){.ahead{padding:32px 0 28px}.facts{grid-template-columns:1fr 1fr;grid-auto-flow:row;padding:4px 16px}.facts div,.facts div+div{border-left:0;border-top:1px solid var(--rule);padding:12px 12px 12px 0}.facts div:nth-child(-n+2){border-top:0}.prose{font-size:17px}figure.shot .fr{padding:14px}.endm{grid-template-columns:1fr}.endm a.nx{text-align:left;grid-column:auto}}
