.site{--s-bg:var(--bg-0);--s-fg:var(--fg-0);--s-soft:var(--fg-1);--s-muted:var(--fg-2);--s-faint:var(--fg-3);--s-line:var(--line);--s-line-strong:var(--line-strong);--s-raised:var(--bg-1);--s-hover:var(--bg-2);--s-accent:var(--brand);--s-accent-ink:var(--brand-ink);--s-accent-text:var(--brand-text);--s-pad:clamp(1.25rem, 2.2vw, 2rem);--s-max:99rem;--s-header:3rem;--s-ease:cubic-bezier(.16, 1, .3, 1);--s-sans:var(--font-sans-face), "Helvetica Neue", Arial, sans-serif;--s-mono:var(--font-mono-face), ui-monospace, "Cascadia Mono", monospace;background:var(--s-bg);min-height:100svh;color:var(--s-fg);font-family:var(--s-sans);font-variation-settings:normal;font-feature-settings:"ss01" 0, "cv11" 1;letter-spacing:-.005em;font-variant-numeric:lining-nums;flex-direction:column;font-size:1rem;line-height:1.55;display:flex}.site ::selection{background:var(--brand);color:var(--brand-ink)}.site :focus-visible{outline:2px solid var(--brand-edge);outline-offset:-2px}:where(.site) :where(a){color:inherit;text-decoration:none}.site .mono{font-family:var(--s-mono);letter-spacing:0;font-variant-numeric:tabular-nums lining-nums;font-size:.75rem;line-height:1.4}.tone-raised{--s-bg:var(--bg-1);--s-raised:var(--bg-0);--s-hover:var(--bg-2)}.tone-inverse{--s-bg:var(--fg-0);--s-fg:var(--bg-0);--s-soft:color-mix(in oklab, var(--bg-0) 88%, var(--fg-0));--s-muted:color-mix(in oklab, var(--bg-0) 74%, var(--fg-0));--s-faint:color-mix(in oklab, var(--bg-0) 64%, var(--fg-0));--s-line:color-mix(in oklab, var(--bg-0) 24%, var(--fg-0));--s-line-strong:color-mix(in oklab, var(--bg-0) 50%, var(--fg-0));--s-raised:color-mix(in oklab, var(--bg-0) 9%, var(--fg-0));--s-hover:color-mix(in oklab, var(--bg-0) 15%, var(--fg-0));--s-accent:var(--brand);--s-accent-ink:var(--brand-ink);--s-accent-text:var(--bg-0)}.tone-brand{--s-bg:var(--brand);--s-fg:var(--brand-ink);--s-soft:color-mix(in oklab, var(--brand-ink) 90%, var(--brand));--s-muted:color-mix(in oklab, var(--brand-ink) 80%, var(--brand));--s-faint:color-mix(in oklab, var(--brand-ink) 72%, var(--brand));--s-line:color-mix(in oklab, var(--brand-ink) 26%, var(--brand));--s-line-strong:color-mix(in oklab, var(--brand-ink) 55%, var(--brand));--s-raised:color-mix(in oklab, var(--brand-ink) 8%, var(--brand));--s-hover:color-mix(in oklab, var(--brand-ink) 13%, var(--brand));--s-accent:var(--brand-ink);--s-accent-ink:var(--brand);--s-accent-text:var(--brand-ink)}.tone-ground,.tone-raised,.tone-inverse,.tone-brand{background:var(--s-bg);color:var(--s-fg)}.s-header{top:var(--s-edit-offset,0px);z-index:30;height:var(--s-header);border-bottom:1px solid var(--s-line);background:var(--s-bg);position:sticky}.s-header-inner{height:100%;max-width:var(--s-max);justify-content:space-between;align-items:stretch;margin:0 auto;display:flex}.s-wordmark{padding:0 var(--s-pad);letter-spacing:-.01em;white-space:nowrap;align-items:center;gap:.625rem;font-size:.9375rem;font-weight:500;display:inline-flex}.s-wordmark-mark{background:var(--s-accent);width:.625rem;height:.625rem;display:block}.s-wordmark:hover .s-wordmark-mark{animation:.9s step-end 2 s-blink}@keyframes s-blink{50%{opacity:0}}.s-nav{align-items:stretch;display:flex}.s-nav a{color:var(--s-soft);align-items:center;padding:0 1rem;font-size:.875rem;transition:background-color .11s,color .11s;display:inline-flex;position:relative}.s-nav a:hover{background:var(--s-hover);color:var(--s-fg)}.s-nav a:after{content:"";background:var(--s-accent);transform-origin:0;height:2px;transition:transform .32s var(--s-ease);position:absolute;inset:auto 0 -1px;transform:scaleX(0)}.s-nav a[aria-current=true],.s-nav a[aria-current=page]{color:var(--s-fg)}.s-nav a[aria-current=true]:after,.s-nav a[aria-current=page]:after{transform:scaleX(1)}.s-menu-button{padding:0 var(--s-pad);border-left:1px solid var(--s-line);align-items:center;gap:.5rem;font-size:.875rem;display:none}.s-menu-icon{border-top:1px solid;border-bottom:1px solid;width:1rem;height:.625rem;position:relative}.s-menu-icon:after{content:"";border-top:1px solid;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}@media (max-width:47.99rem){.s-menu-button{display:inline-flex}.s-nav{background:var(--s-bg);border-bottom:1px solid var(--s-line);clip-path:inset(0 0 100%);visibility:hidden;transition:clip-path .36s var(--s-ease), visibility 0s .36s;flex-direction:column;position:absolute;top:100%;left:0;right:0}.s-nav[data-open=true]{clip-path:inset(0);visibility:visible;transition:clip-path .36s var(--s-ease)}.s-nav a{min-height:3rem;padding:0 var(--s-pad);border-top:1px solid var(--s-line);font-size:1rem}.s-nav a:after{width:2px;height:auto;inset:0 auto 0 0;transform:scaleY(0)}.s-nav a[aria-current=true]:after,.s-nav a[aria-current=page]:after{transform:scaleY(1)}}.s-main{width:100%;max-width:var(--s-max);flex:1;margin:0 auto;padding:0 0 4rem}.s-sheet{grid-template-columns:repeat(4,minmax(0,1fr));padding:0 1px 1px 0;display:grid}@media (min-width:48rem){.s-sheet{grid-template-columns:repeat(8,minmax(0,1fr))}}@media (min-width:66rem){.s-sheet{grid-template-columns:repeat(16,minmax(0,1fr))}}.s-cell{border:1px solid var(--line);grid-column:span 4;min-width:0;margin:0 -1px -1px 0;position:relative}@media (min-width:48rem){.s-cell[data-span="4"]{grid-column:span 4}.s-cell:not([data-span="4"]){grid-column:span 8}}@media (min-width:66rem){.s-cell[data-span="4"]{grid-column:span 4}.s-cell[data-span="6"]{grid-column:span 6}.s-cell[data-span="8"]{grid-column:span 8}.s-cell[data-span="10"]{grid-column:span 10}.s-cell[data-span="12"]{grid-column:span 12}.s-cell[data-span="16"]{grid-column:span 16}}.s-pad{padding:var(--s-pad)}.s-display{letter-spacing:-.038em;font-size:clamp(3rem,7.4vw,6rem);font-weight:300;line-height:.94}.s-h2{letter-spacing:-.024em;text-wrap:balance;font-size:clamp(1.75rem,2.7vw,2.5rem);font-weight:300;line-height:1.08}.s-h3{letter-spacing:-.014em;text-wrap:balance;font-size:1.25rem;font-weight:450;line-height:1.25}.s-lead{letter-spacing:-.012em;font-size:clamp(1.125rem,1.45vw,1.375rem);font-weight:360;line-height:1.45}.s-quote{letter-spacing:-.03em;text-wrap:balance;font-size:clamp(1.875rem,4vw,3.5rem);font-weight:300;line-height:1.06}.s-prose{max-width:65ch}.s-prose>p+p{margin-top:1em}.s-muted{color:var(--s-muted)}.s-soft{color:var(--s-soft)}.s-head{justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:clamp(1.5rem,3vw,2.5rem);display:flex}.s-chip{border:1px solid var(--s-line-strong);height:1.5rem;font-family:var(--s-mono);color:var(--s-soft);white-space:nowrap;align-items:center;padding:0 .5rem;font-size:.6875rem;display:inline-flex}.s-button{background:var(--s-accent);min-height:3rem;color:var(--s-accent-ink);justify-content:space-between;align-items:center;gap:2rem;padding:0 1rem;font-size:.9375rem;transition:background-color .11s;display:inline-flex}.s-button:hover{background:color-mix(in oklab, var(--s-accent) 86%, var(--s-fg))}.s-button[data-variant=ghost]{color:var(--s-fg);box-shadow:inset 0 0 0 1px var(--s-line-strong);background:0 0}.s-button[data-variant=ghost]:hover{background:var(--s-hover)}.s-button svg{transition:transform .3s var(--s-ease)}.s-button:hover svg{transform:translate(2px,-2px)}.s-link{color:var(--s-accent-text);text-underline-offset:.22em;text-decoration:underline;text-decoration-thickness:1px}.s-hero{min-height:min(44rem, calc(100svh - var(--s-header) - var(--s-edit-offset,0px)));grid-template-columns:minmax(0,1fr);display:grid}@media (min-width:66rem){.s-hero[data-visual=true]{grid-template-columns:minmax(0,10fr) minmax(0,6fr)}}.s-hero-copy{padding:var(--s-pad);flex-direction:column;justify-content:space-between;gap:3rem;padding-top:clamp(2.5rem,6vw,5rem);display:flex}.s-hero-name{flex-direction:column;display:flex}.s-hero-name>span{padding-bottom:.06em;display:block;overflow:hidden}.s-hero-name>span>span{animation:s-rise 1.1s var(--s-ease) both;animation-delay:calc(var(--i,0) * 90ms + 80ms);display:block}@keyframes s-rise{0%{transform:translateY(104%)}}.s-hero-meta{flex-wrap:wrap;align-items:baseline;gap:.25rem 1.25rem;margin-top:clamp(1.5rem,3vw,2.25rem);display:flex}.s-hero-foot{max-width:40rem;animation:s-fade .9s var(--s-ease) both .42s;gap:1.75rem;display:grid}@keyframes s-fade{0%{opacity:0;transform:translateY(.75rem)}}.s-hero-links{flex-wrap:wrap;gap:1px;display:flex}.s-hero-links .s-button{min-width:11rem}.s-hero-visual{padding:var(--s-pad);border-top:1px solid var(--line);background:var(--s-raised);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}@media (min-width:66rem){.s-hero-visual{border-top:0;border-left:1px solid var(--line)}}.s-hero-visual>img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.pc{width:100%;height:auto;max-height:100%;overflow:visible}.pc-card{fill:var(--s-accent)}.pc-print{fill:var(--s-accent-ink);opacity:.38;font-family:var(--s-mono);text-anchor:middle;font-size:7px}.pc-interp{fill:var(--s-accent-ink);font-family:var(--s-mono);text-anchor:middle;font-size:10px;font-weight:600}.pc-hole{fill:var(--s-bg-behind,var(--s-raised));transform-box:fill-box;transform-origin:50%}:is(.s-hero,[data-reveal=in]) .pc-interp{animation:.3s ease-out both pc-print;animation-delay:calc(var(--c) * 34ms + .7s)}:is(.s-hero,[data-reveal=in]) .pc-hole{animation:.22s cubic-bezier(.2,2.2,.4,1) both pc-punch;animation-delay:calc(var(--c) * 34ms + .7s)}@keyframes pc-print{0%{opacity:0}}@keyframes pc-punch{0%{transform:scale(0,.2)}}.pc-head{fill:var(--s-accent-ink);opacity:0}:is(.s-hero,[data-reveal=in]) .pc-head{animation:pc-read var(--pc-read) linear both .68s}@keyframes pc-read{0%{opacity:.16;transform:translate(0)}94%{opacity:.16}to{opacity:0;transform:translateX(var(--pc-travel))}}.pc-col .pc-band{fill:var(--s-accent-ink);opacity:0;transition:opacity .12s}.pc-col:hover .pc-band{opacity:.1}.pc-col:hover .pc-interp{fill:var(--s-accent-ink);font-size:13px}.tape{width:100%;display:block;overflow:hidden}.tape-strip{fill:var(--s-accent)}.tape-hole,.tape-sprocket{fill:var(--s-bg)}.tape-run{animation:tape-run var(--tape-duration,40s) linear infinite}@keyframes tape-run{to{transform:translateX(var(--tape-length))}}.iso-top{fill:var(--s-accent)}.iso-left{fill:color-mix(in oklab, var(--s-fg) 86%, var(--s-bg))}.iso-right{fill:color-mix(in oklab, var(--s-fg) 62%, var(--s-bg))}.iso-edge{fill:none;stroke:var(--s-bg);stroke-width:.75px;stroke-linejoin:round}[data-reveal=in] .iso-cube{animation:iso-drop .9s var(--s-ease) both;animation-delay:calc(var(--d) * 55ms + .25s)}@keyframes iso-drop{0%{opacity:0;transform:translateY(-40px)}}.plot-line{fill:none;stroke:var(--s-fg);stroke-width:1px;vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:0}[data-reveal=in] .plot-line,.s-hero .plot-line{animation:plot-draw 2.4s var(--s-ease) both;animation-delay:calc(var(--l) * 45ms)}@keyframes plot-draw{0%{stroke-dashoffset:1px}}.plot-line[data-accent=true]{stroke:var(--s-accent);stroke-width:1.6px}.s-graphic{height:100%;min-height:var(--g-height,20rem);flex-direction:column;display:flex}.s-graphic-art{min-height:0;padding:var(--s-pad);flex:1;justify-content:center;align-items:center;display:flex;position:relative}.s-graphic-art>svg{width:100%;height:100%;max-height:calc(var(--g-height,20rem) - 2 * var(--s-pad))}.s-caption{padding:.75rem var(--s-pad);border-top:1px solid var(--s-line);color:var(--s-muted);justify-content:space-between;gap:1rem;font-size:.8125rem;display:flex}.s-figure{flex-direction:column;height:100%;display:flex}.s-frame{background:var(--s-raised);position:relative;overflow:hidden}.s-frame>img,.s-frame>video{object-fit:cover;width:100%;height:100%;transition:filter .6s var(--s-ease), transform 1.2s var(--s-ease);position:absolute;inset:0}.s-frame[data-treatment=mono]>img{filter:grayscale()contrast(1.08)}.s-frame[data-treatment=duotone]{background:var(--brand);isolation:isolate}.s-frame[data-treatment=duotone]>img{filter:grayscale()contrast(1.15)brightness(1.04);mix-blend-mode:multiply}.s-frame[data-treatment=duotone]:after{content:"";background:var(--bg-0);mix-blend-mode:lighten;opacity:.18;pointer-events:none;position:absolute;inset:0}a:hover .s-frame>img,.s-frame[data-hover=true]:hover>img{filter:none;transform:scale(1.025)}.s-frame-empty{color:var(--s-faint);background-image:linear-gradient(to top right, transparent calc(50% - .5px), var(--s-line) 50%, transparent calc(50% + .5px)), linear-gradient(to top left, transparent calc(50% - .5px), var(--s-line) 50%, transparent calc(50% + .5px));place-items:center;font-size:.8125rem;display:grid;position:absolute;inset:0}.s-frame-empty>span{background:var(--s-raised);padding:.25rem .5rem}.s-tiles{grid-template-columns:minmax(0,1fr);padding:0 1px 1px 0;display:grid}@media (min-width:48rem){.s-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:66rem){.s-tiles[data-cols="3"]{grid-template-columns:repeat(3,minmax(0,1fr))}}.s-tile{border:1px solid var(--s-line);background:var(--s-bg);flex-direction:column;min-height:18rem;margin:0 -1px -1px 0;transition:background-color .14s;display:flex;position:relative}a.s-tile:hover{background:var(--s-hover)}.s-tile-body{flex-direction:column;flex:1;gap:.75rem;padding:1rem 1rem 1.25rem;display:flex}.s-tile-top{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.s-tile-tags{flex-wrap:wrap;gap:.375rem;margin-top:auto;padding-top:1rem;display:flex}.s-tile-arrow{width:1.25rem;height:1.25rem;color:var(--s-accent-text);transition:transform .36s var(--s-ease);position:absolute;bottom:1rem;right:1rem}a.s-tile:hover .s-tile-arrow{transform:translate(4px)}.s-rows{border-top:1px solid var(--s-line)}.s-row{border-bottom:1px solid var(--s-line);transition:background-color .14s, padding .36s var(--s-ease);grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:.5rem 1.5rem;padding:1.25rem 0;display:grid}@media (min-width:66rem){.s-row{grid-template-columns:6rem minmax(0,3fr) minmax(0,4fr) auto}}a.s-row:hover{background:var(--s-hover);padding-left:.75rem;padding-right:.75rem}.s-row-year{color:var(--s-muted)}.s-row-arrow{color:var(--s-accent-text);transition:transform .36s var(--s-ease);justify-self:end}a.s-row:hover .s-row-arrow{transform:translate(3px,-3px)}.s-timeline{margin-bottom:2rem}.tl-field{position:relative}.tl-band{box-shadow:inset 1px 0 0 var(--s-line-strong);position:absolute;top:0;bottom:0}.tl-band[data-odd]{background:color-mix(in oklab, var(--s-fg) 4.5%, transparent)}.tl-plot{gap:.75rem;padding:1rem 0 1.25rem;display:grid;position:relative}.tl-row{padding-bottom:.875rem;position:relative}.tl-label{width:fit-content;color:var(--s-fg);text-wrap:balance;padding:0 .375rem;font-size:.8125rem;line-height:1.3;display:block}.tl-length{color:var(--s-muted);white-space:nowrap;font-size:.6875rem}.tl-bar{background:var(--s-fg);transform-origin:0;min-width:.375rem;height:.5rem;position:absolute;bottom:0}.tl-bar[data-current]{background:var(--s-accent)}[data-reveal=in] .tl-bar{animation:tl-grow 1.2s var(--s-ease) both;animation-delay:calc(var(--i) * .11s + .15s)}@keyframes tl-grow{0%{transform:scaleX(0)}}.tl-axis{border-top:1px solid var(--s-line-strong);height:2.75rem;position:relative}.tl-month{background:var(--s-line-strong);width:1px;height:.25rem;position:absolute;top:0}.tl-month[data-quarter]{height:.4375rem}.tl-month[data-year]{background:var(--s-line-strong);height:100%}.tl-year{color:var(--s-fg);white-space:nowrap;padding-left:.375rem;font-size:.8125rem;font-weight:600;position:absolute;bottom:.25rem}.tl-month-name{color:var(--s-faint);white-space:nowrap;font-size:.625rem;position:absolute;top:.5rem;transform:translate(-50%)}@media (max-width:30rem){.tl-month-name{display:none}}.s-roles>li{border-top:1px solid var(--s-line);gap:.25rem 1.5rem;padding:1.25rem 0;display:grid}@media (min-width:66rem){.s-roles>li{grid-template-columns:11rem minmax(0,4fr) minmax(0,5fr)}}.s-facts>div{border-top:1px solid var(--s-line);grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:1rem;padding:.875rem 0;display:grid}.s-facts dt{color:var(--s-muted);font-size:.875rem}.s-skills>div{border-top:1px solid var(--s-line);gap:.75rem;padding:1rem 0;display:grid}@media (min-width:48rem){.s-skills>div{grid-template-columns:9rem minmax(0,1fr)}}.s-skills ul{flex-wrap:wrap;gap:.375rem;display:flex}.s-contact-rows{border-top:1px solid var(--s-line)}.s-contact-row{min-height:clamp(4rem,7vw,6rem);padding:0 var(--s-pad);margin:0 calc(-1 * var(--s-pad));border-bottom:1px solid var(--s-line);letter-spacing:-.028em;isolation:isolate;justify-content:space-between;align-items:center;gap:1rem;font-size:clamp(1.5rem,3.2vw,2.75rem);font-weight:300;line-height:1;display:flex;position:relative;overflow:hidden}.s-contact-row:before{content:"";z-index:-1;background:var(--s-accent);transform-origin:bottom;transition:transform .42s var(--s-ease);position:absolute;inset:0;transform:scaleY(0)}.s-contact-row:hover{color:var(--s-accent-ink)}.s-contact-row:hover:before{transform:scaleY(1)}.s-contact-row svg{width:clamp(1.25rem,2.4vw,2rem);height:auto;transition:transform .42s var(--s-ease);flex-shrink:0}.s-contact-row:hover svg{transform:translate(4px,-4px)}.s-contact-row .mono{letter-spacing:0;color:inherit;opacity:.72;font-weight:400}.s-post-row{border-top:1px solid var(--s-line);transition:background-color .14s, padding .36s var(--s-ease);gap:.5rem 1.5rem;padding:1.5rem 0;display:grid}@media (min-width:66rem){.s-post-row{grid-template-columns:9rem minmax(0,5fr) minmax(0,4fr) 5rem;align-items:baseline}}.s-post-row:hover{background:var(--s-hover);padding-left:.75rem;padding-right:.75rem}.s-post-row:hover .s-h3{text-underline-offset:.18em;text-decoration:underline;text-decoration-thickness:1px}.s-footer{border-top:1px solid var(--s-line)}.s-footer-grid{max-width:var(--s-max);padding:1.5rem var(--s-pad) 2rem;color:var(--s-muted);gap:1.5rem 2rem;margin:0 auto;font-size:.875rem;display:grid}@media (min-width:48rem){.s-footer-grid{grid-template-columns:minmax(0,1fr) auto auto;align-items:center}}.s-door{height:2rem;color:var(--s-muted);box-shadow:inset 0 0 0 1px var(--s-line);align-items:center;gap:.5rem;padding:0 .625rem;transition:color .12s,box-shadow .12s;display:inline-flex}.s-door:hover{color:var(--s-fg);box-shadow:inset 0 0 0 1px var(--s-line-strong)}.s-door .door-leaf{transform-box:fill-box;transform-origin:0;transition:transform .52s var(--s-ease)}.s-door:hover .door-leaf{transform:scaleX(.38)}.s-schemes{gap:1px;display:flex}.s-schemes button{width:2rem;height:2rem;box-shadow:inset 0 0 0 1px var(--s-line);justify-content:center;align-items:center;display:inline-flex}.s-schemes button[aria-checked=true]{box-shadow:inset 0 0 0 2px var(--s-fg)}.s-schemes span{grid-template-columns:1fr 1fr;width:1rem;height:1rem;display:grid}[data-reveal=wait]{clip-path:inset(0 0 100%)}[data-reveal=in]{animation:s-wipe .9s var(--s-ease) both;animation-delay:var(--reveal-delay,0s)}@keyframes s-wipe{0%{clip-path:inset(0 0 100%)}to{clip-path:inset(0)}}.s-gridlines{z-index:60;pointer-events:none;max-width:var(--s-max);grid-template-columns:repeat(4,minmax(0,1fr));margin:0 auto;animation:.3s ease-out both s-fade;display:grid;position:fixed;inset:0}.s-gridlines>span{border-left:1px solid color-mix(in oklab, var(--brand) 55%, transparent);background:color-mix(in oklab, var(--brand) 7%, transparent)}.s-gridlines>span:last-child{border-right:1px solid color-mix(in oklab, var(--brand) 55%, transparent)}.s-gridlines>span:nth-child(n+5){display:none}@media (min-width:48rem){.s-gridlines{grid-template-columns:repeat(8,minmax(0,1fr))}.s-gridlines>span:nth-child(n+5){display:block}.s-gridlines>span:nth-child(n+9){display:none}}@media (min-width:66rem){.s-gridlines{grid-template-columns:repeat(16,minmax(0,1fr))}.s-gridlines>span:nth-child(n+9){display:block}}.b-index-head{padding:clamp(2.5rem, 7vw, 6rem) var(--s-pad) clamp(2rem, 4vw, 3rem);border-bottom:1px solid var(--line);gap:1.5rem;display:grid}.b-filters{flex-wrap:wrap;gap:1px;display:flex}.b-filters a{height:2rem;box-shadow:inset 0 0 0 1px var(--s-line);color:var(--s-soft);align-items:center;padding:0 .75rem;font-size:.8125rem;display:inline-flex}.b-filters a[aria-current=true]{background:var(--s-fg);color:var(--s-bg);box-shadow:none}.b-progress{top:var(--s-edit-offset,0px);z-index:40;background:var(--brand);transform-origin:0;height:2px;transform:scaleX(var(--progress,0));position:fixed;left:0;right:0}@supports (animation-timeline:scroll()){.b-progress{animation:linear both b-progress;animation-timeline:scroll(root);transform:scaleX(0)}@keyframes b-progress{to{transform:scaleX(1)}}}.b-article{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr);display:grid}@media (min-width:66rem){.b-article{grid-template-columns:minmax(0,4fr) minmax(0,12fr)}}.b-rail{display:none}@media (min-width:66rem){.b-rail{border-right:1px solid var(--line);display:block}}.b-rail-inner{top:calc(var(--s-header) + var(--s-edit-offset,0px) + 2rem);padding:2rem var(--s-pad);font-size:.8125rem;position:sticky}.b-toc a{border-left:1px solid var(--s-line);color:var(--s-muted);margin-left:-1px;padding:.375rem 0 .375rem .75rem;transition:color .12s,border-color .12s;display:block}.b-toc a[data-depth="3"]{padding-left:1.5rem}.b-toc a:hover,.b-toc a[aria-current=true]{color:var(--s-fg);border-left-color:var(--s-accent)}.b-body{padding:clamp(2rem, 5vw, 4rem) var(--s-pad) 5rem}.b-cover{aspect-ratio:21/9;border-bottom:1px solid var(--line);position:relative}.b-prose{max-width:68ch;color:var(--s-soft);font-size:1.0625rem;line-height:1.68}.b-prose>*+*{margin-top:1.15em}.b-prose :is(h1,h2,h3,h4){color:var(--s-fg);scroll-margin-top:calc(var(--s-header) + var(--s-edit-offset,0px) + 1.5rem);text-wrap:balance}.b-prose h1{letter-spacing:-.026em;margin-top:2.2em;font-size:2.25rem;font-weight:300;line-height:1.1}.b-prose h2{letter-spacing:-.02em;margin-top:2em;font-size:1.75rem;font-weight:350;line-height:1.15}.b-prose h3{letter-spacing:-.012em;margin-top:1.8em;font-size:1.25rem;font-weight:500;line-height:1.3}.b-prose h4{margin-top:1.6em;font-size:1.0625rem;font-weight:600}.b-prose>:first-child{margin-top:0}.b-prose a{color:var(--s-accent-text);text-underline-offset:.2em;text-decoration:underline;text-decoration-thickness:1px}.b-prose strong{color:var(--s-fg);font-weight:600}.b-prose code{font-family:var(--s-mono);background:var(--s-raised);box-shadow:inset 0 0 0 1px var(--s-line);padding:.1em .3em;font-size:.86em}.b-prose pre{background:var(--s-raised);box-shadow:inset 0 0 0 1px var(--s-line);font-family:var(--s-mono);color:var(--s-fg);padding:1rem 1.25rem;font-size:.8125rem;line-height:1.65;overflow-x:auto}.b-prose pre code{box-shadow:none;font-size:inherit;background:0 0;padding:0}.b-prose blockquote{box-shadow:inset 1px 0 0 var(--s-fg);letter-spacing:-.014em;color:var(--s-fg);padding:.25rem 0 .25rem 1.25rem;font-size:1.375rem;font-weight:300;line-height:1.4}.b-prose ul,.b-prose ol{padding-left:1.25rem}.b-prose ul>li{list-style:square}.b-prose ol>li{list-style:decimal}.b-prose li::marker{color:var(--s-muted);font-family:var(--s-mono);font-size:.875em}.b-prose li+li,.b-prose li>ul,.b-prose li>ol{margin-top:.35em}.b-prose .b-check{gap:.625rem;margin-left:-1.25rem;list-style:none;display:flex}.b-prose .b-check>span:first-child{width:1rem;height:1rem;box-shadow:inset 0 0 0 1px var(--s-line-strong);flex-shrink:0;margin-top:.35em}.b-prose .b-check[data-checked=true]>span:first-child{background:var(--s-accent);box-shadow:none}.b-prose .b-check[data-checked=true]>span:last-child{color:var(--s-muted);text-decoration:line-through}.b-prose hr{background:var(--s-line);border:0;height:1px;margin:2.5em 0}.b-prose details>summary{cursor:pointer;color:var(--s-fg)}.b-prose details>div{margin-top:.75em;padding-left:1.25rem}.b-prose table{border-collapse:collapse;width:100%;font-size:.9375rem}.b-prose th,.b-prose td{border:1px solid var(--s-line);text-align:left;vertical-align:top;padding:.5rem .75rem}.b-prose th{color:var(--s-fg);background:var(--s-raised);font-weight:500}.b-table{overflow-x:auto}.b-prose .b-wide{width:min(100%,72rem);max-width:none}.b-prose figure img,.b-prose figure video{background:var(--s-raised);width:100%;height:auto;display:block}.b-prose figcaption{color:var(--s-muted);margin-top:.625rem;font-size:.8125rem}@media (prefers-reduced-motion:reduce){.site *,.site :before,.site :after{transition:none!important;animation:none!important}[data-reveal=wait]{clip-path:none}}.e-root{padding-top:var(--s-edit-offset,0px);transition:padding-right .42s var(--s-ease);flex-direction:column;flex:1;display:flex}@media (min-width:80rem){.e-root[data-inspecting]{padding-right:26rem}}.e-bar{z-index:50;align-items:stretch;height:3rem;font-size:.875rem;display:flex;position:fixed;inset:0 0 auto}.e-bar-item{color:var(--s-fg);align-items:center;gap:.5rem;padding:0 .875rem;transition:background-color .11s;display:inline-flex}.e-bar-item:hover:not(:disabled),.e-bar-item[aria-pressed=true]{background:var(--s-hover)}.e-bar-item:disabled{opacity:.35}.e-bar-status{white-space:nowrap;border-left:1px solid var(--s-line);align-items:center;gap:.5rem;min-width:0;padding:0 .875rem;display:inline-flex}.e-dot{background:var(--success);width:.5rem;height:.5rem}.e-dot[data-state=unsaved],.e-dot[data-state=saving]{background:var(--warning)}.e-dot[data-state=saving]{animation:.8s step-end infinite s-blink}.e-dot[data-state=conflict],.e-dot[data-state=error]{background:var(--danger)}.e-publish{background:var(--brand);min-width:10rem;color:var(--brand-ink);justify-content:space-between;align-items:center;gap:1.5rem;padding:0 1rem;font-weight:500;transition:background-color .11s;display:inline-flex}.e-publish:hover:not(:disabled){background:color-mix(in oklab, var(--brand) 86%, var(--brand-ink))}.e-publish:disabled{background:var(--s-hover);color:var(--s-muted)}.e-message{z-index:49;padding:.625rem var(--s-pad);background:color-mix(in oklab, var(--danger) 14%, var(--bg-0));color:var(--fg-0);box-shadow:inset 0 -1px 0 color-mix(in oklab, var(--danger) 45%, transparent);flex-wrap:wrap;align-items:center;gap:.5rem 1rem;font-size:.875rem;display:flex;position:fixed;top:3rem;left:0;right:0}.e-message button{text-underline-offset:.2em;font-weight:600;text-decoration:underline}.e-cell{cursor:default}.e-cell:after{content:"";z-index:6;pointer-events:none;transition:box-shadow .12s;position:absolute;inset:-1px;box-shadow:inset 0 0 0 1px #0000}.e-cell:hover:after{box-shadow:inset 0 0 0 1px var(--brand-edge)}.e-cell[data-selected]:after{box-shadow:inset 0 0 0 2px var(--brand-edge)}.e-tools{z-index:10;scrollbar-width:none;opacity:0;max-width:100%;height:2rem;transition:opacity .14s, transform .26s var(--s-ease);pointer-events:none;align-items:stretch;display:flex;position:absolute;top:0;right:0;overflow-x:auto;transform:translateY(-4px)}.e-cell:hover .e-tools,.e-cell:focus-within .e-tools,.e-cell[data-selected] .e-tools{opacity:1;pointer-events:auto;transform:none}@media (max-width:47.99rem){.e-bar-item{padding:0 .6875rem}.e-bar-status{border-left:0;padding:0 .75rem}.e-publish{gap:.5rem;min-width:0;padding:0 .875rem}.e-tools{z-index:47;height:calc(3.25rem + env(safe-area-inset-bottom));max-width:none;padding-bottom:env(safe-area-inset-bottom);box-shadow:0 -1px 0 var(--line);opacity:1;pointer-events:none;position:fixed;inset:auto 0 0;transform:translateY(100%)}.e-cell:hover .e-tools,.e-cell:focus-within .e-tools{opacity:1;pointer-events:none;transform:translateY(100%)}.e-cell[data-selected] .e-tools{pointer-events:auto;transform:none}.e-root[data-inspecting] .e-tools{display:none}.e-root[data-selecting]{padding-bottom:3.25rem}.e-tool{width:2.75rem}.e-tool-wide{display:none}.e-tool-name{text-overflow:ellipsis;flex:1;min-width:0;padding-left:1rem;font-size:.8125rem;overflow:hidden}.e-tool-edit,.e-tool-remove{padding:0 1rem;font-size:.8125rem}.e-insert{display:none}}.e-tool{width:2rem;color:var(--s-fg);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.e-tool:hover:not(:disabled){background:var(--s-hover)}.e-tool:disabled{opacity:.3}.e-tool[aria-pressed=true]{color:var(--warning)}.e-tool-name{white-space:nowrap;border-right:1px solid var(--s-line);align-items:center;padding:0 .5rem 0 .25rem;font-size:.75rem;display:inline-flex}.e-tool-span{align-items:center;font-size:.6875rem;display:inline-flex}.e-tool-edit{background:var(--brand);width:auto;color:var(--brand-ink);gap:.375rem;padding:0 .75rem;font-size:.75rem}.e-tool-remove{background:var(--danger);width:auto;color:var(--bg-0);gap:.375rem;padding:0 .75rem;font-size:.75rem}.e-tool-remove:hover:not(:disabled){background:color-mix(in oklab, var(--danger) 86%, var(--bg-0))}.e-tool-edit:hover:not(:disabled){background:color-mix(in oklab, var(--brand) 86%, var(--brand-ink))}.e-cell[data-hidden]>:not(.e-tools,.e-hidden-note,.e-insert){opacity:.38}.e-hidden-note{z-index:10;background:var(--fg-0);height:1.5rem;color:var(--bg-0);align-items:center;padding:0 .5rem;display:inline-flex;position:absolute;top:0;left:0}.e-cell[data-drop]:before{content:"";z-index:12;background:var(--brand);width:3px;position:absolute;top:-1px;bottom:-1px}.e-cell[data-drop=before]:before{left:-2px}.e-cell[data-drop=after]:before{right:-2px}.e-cell[data-span="16"][data-drop]:before{width:auto;height:3px;left:-1px;right:-1px}.e-cell[data-span="16"][data-drop=before]:before{top:-2px;bottom:auto}.e-cell[data-span="16"][data-drop=after]:before{top:auto;bottom:-2px}.e-insert{z-index:11;background:var(--brand);width:1.5rem;height:1.5rem;color:var(--brand-ink);opacity:0;transition:opacity .14s, transform .26s var(--s-ease);justify-content:center;align-items:center;display:inline-flex;position:absolute;bottom:-.75rem;left:50%;transform:translate(-50%)scale(.6)}.e-cell:hover .e-insert,.e-insert:focus-visible{opacity:1;transform:translate(-50%)scale(1)}.e-add{min-height:9rem;color:var(--s-muted);background:var(--s-bg);flex-direction:column;justify-content:center;align-items:center;gap:.5rem;font-size:.9375rem;transition:background-color .12s,color .12s;display:flex}.e-add:hover{background:var(--s-hover);color:var(--s-fg)}.e-inspector{--s-bg:var(--bg-0);--s-raised:var(--bg-1);--s-hover:var(--bg-2);z-index:48;background:var(--bg-1);border-left:1px solid var(--line);width:min(26rem,100vw);animation:e-slide .38s var(--s-ease) both;flex-direction:column;display:flex;position:fixed;top:3rem;bottom:0;right:0}@keyframes e-slide{0%{opacity:0;transform:translate(1.5rem)}}.e-palette{z-index:55;position:fixed;inset:0}.e-scrim{background:color-mix(in oklab, var(--bg-0) 55%, transparent);animation:.26s ease-out both s-fade;position:absolute;inset:0}.e-palette-panel{background:var(--s-bg);border-left:1px solid var(--line);width:min(46rem,100vw);animation:e-slide .42s var(--s-ease) both;flex-direction:column;display:flex;position:absolute;top:0;bottom:0;right:0}.e-palette-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;padding:0 1px 1px 0;display:grid;overflow-y:auto}@media (min-width:40rem){.e-palette-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.e-palette-grid>li{border:1px solid var(--s-line);margin:0 -1px -1px 0}.e-palette-item{text-align:left;width:100%;height:100%;padding:1rem;transition:background-color .12s;display:block}.e-palette-item:hover{background:var(--s-hover)}.e-palette-item>svg{background:var(--s-raised);box-shadow:inset 0 0 0 1px var(--s-line);padding:.5rem}.e-exit-preview{z-index:50;background:var(--fg-0);height:3rem;color:var(--bg-0);align-items:center;gap:.5rem;padding:0 1rem;font-size:.875rem;display:inline-flex;position:fixed;bottom:1.25rem;right:1.25rem;box-shadow:0 6px 24px -8px #00000073}
