:root{color-scheme:light dark;--display:"Archivo", "Helvetica Neue", Arial, sans-serif;--body:"Source Serif 4", Georgia, "Times New Roman", serif;--mono:"IBM Plex Mono", ui-monospace, Menlo, Consolas, monospace;--gutter:max(16px, env(safe-area-inset-left,0px));--measure:1240px;--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1)}:root[data-mode=light],[data-mode=light]{color-scheme:light}:root[data-mode=dark]{color-scheme:dark}:root,[data-palette=basalt]{--paper:light-dark(#eceee9,#0f1214);--surface:light-dark(#e1e5de,#161a1d);--rule:light-dark(#c3c9c0,#2b3134);--stone:light-dark(#586058,#98a096);--ink:light-dark(#15191d,#e3e7e0)}[data-palette=glacier]{--paper:light-dark(#e8eef1,#0a1116);--surface:light-dark(#dae4ea,#101a21);--rule:light-dark(#b9c8d1,#22313b);--stone:light-dark(#4e606c,#8da2ae);--ink:light-dark(#0e1a22,#e1eaf0)}[data-palette=sandstone]{--paper:light-dark(#ece8e2,#13110f);--surface:light-dark(#e2dcd3,#1b1815);--rule:light-dark(#c9c0b4,#342e29);--stone:light-dark(#675e55,#a69d92);--ink:light-dark(#1d1916,#ebe5dd)}[data-palette=graphite]{--paper:light-dark(#eaeae8,#09090a);--surface:light-dark(#dededb,#131314);--rule:light-dark(#c2c2be,#29292b);--stone:light-dark(#5a5a57,#9a9a96);--ink:light-dark(#101010,#ededea)}:root,[data-accent=blue]{--accent:light-dark(#2a3fe0,#8c98ff)}[data-accent=oxide]{--accent:light-dark(#a13f1e,#e2805a)}[data-accent=teal]{--accent:light-dark(#0b6b6f,#4cc3c1)}[data-accent=lichen]{--accent:light-dark(#5a660f,#c2d35a)}:root:not([data-grade=oxide]) [data-grade-only=oxide],:root[data-grade=oxide] [data-grade-only=mineral]{display:none}@view-transition{navigation:auto}*,:before,:after{box-sizing:border-box}[hidden]{display:none!important}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{background:var(--paper);color:var(--ink);font-family:var(--body);font-optical-sizing:auto;margin:0;font-size:17px;line-height:1.55}img,svg,canvas{max-width:100%;display:block}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--display);text-wrap:balance}h2{letter-spacing:-.01em;font-size:clamp(28px,4vw,44px);font-weight:700;font-stretch:112%;line-height:1.05}h3{font-size:19px;font-weight:650;line-height:1.2}p{max-width:64ch}a{color:inherit;text-underline-offset:.2em;text-decoration-thickness:1px}a:hover{color:var(--accent)}button,input{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}::selection{background:var(--accent);color:var(--paper)}.wrap{max-width:var(--measure);padding-inline:var(--gutter);margin-inline:auto}.label,.mono{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--stone);font-size:12px}.mono{text-transform:none;letter-spacing:0;font-variant-numeric:tabular-nums}.ref{font-family:var(--mono);color:var(--accent);font-variant-numeric:tabular-nums;font-size:12px}.lede{font-size:clamp(19px,1.8vw,22px);line-height:1.5}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.pill{background:var(--paper);border:1px solid var(--rule);cursor:pointer;font-family:var(--mono);border-radius:999px;align-items:center;gap:8px;padding:7px 14px;font-size:12px;text-decoration:none;display:inline-flex}.pill[aria-pressed=true],.pill[aria-current=page]{background:var(--ink);color:var(--paper);border-color:var(--ink)}.sheet{border-bottom:1px solid var(--rule)}.sheet>.wrap{grid-template-columns:200px minmax(0,1fr);gap:32px;padding-block:clamp(44px,7vw,88px);display:grid}.sheet .margin{align-content:start;gap:6px;display:grid}.sheet .field{gap:28px;min-width:0;display:grid}@media (width<=860px){.sheet>.wrap{grid-template-columns:minmax(0,1fr);gap:18px}}body:after{content:"";z-index:100;pointer-events:none;opacity:.07;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1.6 -.55'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}@media (prefers-color-scheme:dark){:root:not([data-mode=light]) body:after{filter:invert();opacity:.05}}:root[data-mode=dark] body:after{filter:invert();opacity:.05}::view-transition-old(root),::view-transition-new(root){animation-duration:.35s;animation-timing-function:var(--ease-in-out)}::view-transition-group(*.sig){animation-duration:.7s;animation-timing-function:var(--ease-out)}::view-transition-group(site-header),::view-transition-group(sheet-dock),::view-transition-new(site-header),::view-transition-new(sheet-dock){animation:none}::view-transition-old(site-header),::view-transition-old(sheet-dock){display:none}:root:active-view-transition-type(next)::view-transition-old(root){animation:.5s var(--ease-in-out) both vt-out-start}:root:active-view-transition-type(next)::view-transition-new(root){animation:.5s var(--ease-in-out) both vt-in-end}:root:active-view-transition-type(prev)::view-transition-old(root){animation:.5s var(--ease-in-out) both vt-out-end}:root:active-view-transition-type(prev)::view-transition-new(root){animation:.5s var(--ease-in-out) both vt-in-start}:root:active-view-transition-type(next)::view-transition-new(project-title){animation:.5s var(--ease-out) .1s both vt-in-end}:root:active-view-transition-type(prev)::view-transition-new(project-title){animation:.5s var(--ease-out) .1s both vt-in-start}:root:active-view-transition-type(next,prev)::view-transition-new(*.sig){animation:1.2s linear both vt-hold}:root:active-view-transition-type(next,prev) .signature.flow path{animation:.45s var(--ease-out) calc(var(--l) * .7s) backwards contour-in}@keyframes vt-out-start{to{opacity:0;transform:translate(-6%)}}@keyframes vt-out-end{to{opacity:0;transform:translate(6%)}}@keyframes vt-in-end{0%{opacity:0;transform:translate(6%)}}@keyframes vt-in-start{0%{opacity:0;transform:translate(-6%)}}@keyframes vt-hold{to{opacity:1}}@keyframes contour-in{0%{opacity:0}}::view-transition-old(plate),::view-transition-new(plate){mix-blend-mode:normal;mask-size:16px 16px;mask-repeat:repeat}::view-transition-old(plate){animation:.45s linear both dither-out}::view-transition-new(plate){animation:.55s linear .15s both dither-in}@keyframes dither-out{0%{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4'%3E%3Cpath d='M0 0h1v1h-1zM1 0h1v1h-1zM2 0h1v1h-1zM3 0h1v1h-1zM0 1h1v1h-1zM1 1h1v1h-1zM2 1h1v1h-1zM3 1h1v1h-1zM0 2h1v1h-1zM1 2h1v1h-1zM2 2h1v1h-1zM3 2h1v1h-1zM0 3h1v1h-1zM1 3h1v1h-1zM2 3h1v1h-1zM3 3h1v1h-1z'/%3E%3C/svg%3E")}12.5%{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4'%3E%3Cpath d='M0 0h1v1h-1zM1 0h1v1h-1zM2 0h1v1h-1zM3 0h1v1h-1zM0 1h1v1h-1zM1 1h1v1h-1zM3 1h1v1h-1zM0 2h1v1h-1zM1 2h1v1h-1zM2 2h1v1h-1zM3 2h1v1h-1zM1 3h1v1h-1zM2 3h1v1h-1zM3 3h1v1h-1z'/%3E%3C/svg%3E")}25%{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4'%3E%3Cpath d='M0 0h1v1h-1zM1 0h1v1h-1zM2 0h1v1h-1zM3 0h1v1h-1zM1 1h1v1h-1zM3 1h1v1h-1zM0 2h1v1h-1zM1 2h1v1h-1zM2 2h1v1h-1zM3 2h1v1h-1zM1 3h1v1h-1zM3 3h1v1h-1z'/%3E%3C/svg%3E")}37.5%{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4'%3E%3Cpath d='M0 0h1v1h-1zM1 0h1v1h-1zM2 0h1v1h-1zM1 1h1v1h-1zM3 1h1v1h-1zM0 2h1v1h-1zM2 2h1v1h-1zM3 2h1v1h-1zM1 3h1v1h-1zM3 3h1v1h-1z'/%3E%3C/svg%3E")}50%{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4'%3E%3Cpath d='M0 0h1v1h-1zM2 0h1v1h-1zM1 1h1v1h-1zM3 1h1v1h-1zM0 2h1v1h-1zM2 2h1v1h-1zM1 3h1v1h-1zM3 3h1v1h-1z'/%3E%3C/svg%3E")}62.5%{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4'%3E%3Cpath d='M0 0h1v1h-1zM2 0h1v1h-1zM1 1h1v1h-1zM0 2h1v1h-1zM2 2h1v1h-1zM3 3h1v1h-1z'/%3E%3C/svg%3E")}75%{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4'%3E%3Cpath d='M0 0h1v1h-1zM2 0h1v1h-1zM0 2h1v1h-1zM2 2h1v1h-1z'/%3E%3C/svg%3E")}87.5%{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4'%3E%3Cpath d='M0 0h1v1h-1zM2 2h1v1h-1z'/%3E%3C/svg%3E")}to{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4'%3E%3Cpath d=''/%3E%3C/svg%3E")}}@keyframes dither-in{0%{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4'%3E%3Cpath d=''/%3E%3C/svg%3E")}12.5%{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4'%3E%3Cpath d='M0 0h1v1h-1zM2 2h1v1h-1z'/%3E%3C/svg%3E")}25%{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4'%3E%3Cpath d='M0 0h1v1h-1zM2 0h1v1h-1zM0 2h1v1h-1zM2 2h1v1h-1z'/%3E%3C/svg%3E")}37.5%{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4'%3E%3Cpath d='M0 0h1v1h-1zM2 0h1v1h-1zM1 1h1v1h-1zM0 2h1v1h-1zM2 2h1v1h-1zM3 3h1v1h-1z'/%3E%3C/svg%3E")}50%{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4'%3E%3Cpath d='M0 0h1v1h-1zM2 0h1v1h-1zM1 1h1v1h-1zM3 1h1v1h-1zM0 2h1v1h-1zM2 2h1v1h-1zM1 3h1v1h-1zM3 3h1v1h-1z'/%3E%3C/svg%3E")}62.5%{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4'%3E%3Cpath d='M0 0h1v1h-1zM1 0h1v1h-1zM2 0h1v1h-1zM1 1h1v1h-1zM3 1h1v1h-1zM0 2h1v1h-1zM2 2h1v1h-1zM3 2h1v1h-1zM1 3h1v1h-1zM3 3h1v1h-1z'/%3E%3C/svg%3E")}75%{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4'%3E%3Cpath d='M0 0h1v1h-1zM1 0h1v1h-1zM2 0h1v1h-1zM3 0h1v1h-1zM1 1h1v1h-1zM3 1h1v1h-1zM0 2h1v1h-1zM1 2h1v1h-1zM2 2h1v1h-1zM3 2h1v1h-1zM1 3h1v1h-1zM3 3h1v1h-1z'/%3E%3C/svg%3E")}87.5%{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4'%3E%3Cpath d='M0 0h1v1h-1zM1 0h1v1h-1zM2 0h1v1h-1zM3 0h1v1h-1zM0 1h1v1h-1zM1 1h1v1h-1zM3 1h1v1h-1zM0 2h1v1h-1zM1 2h1v1h-1zM2 2h1v1h-1zM3 2h1v1h-1zM1 3h1v1h-1zM2 3h1v1h-1zM3 3h1v1h-1z'/%3E%3C/svg%3E")}to{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4'%3E%3Cpath d='M0 0h1v1h-1zM1 0h1v1h-1zM2 0h1v1h-1zM3 0h1v1h-1zM0 1h1v1h-1zM1 1h1v1h-1zM2 1h1v1h-1zM3 1h1v1h-1zM0 2h1v1h-1zM1 2h1v1h-1zM2 2h1v1h-1zM3 2h1v1h-1zM0 3h1v1h-1zM1 3h1v1h-1zM2 3h1v1h-1zM3 3h1v1h-1z'/%3E%3C/svg%3E")}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;transition-delay:0s!important;animation-duration:.01ms!important;animation-delay:0s!important}::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}}.site[data-astro-cid-fzpbxy5g]{z-index:10;view-transition-name:site-header;position:relative}.wrap[data-astro-cid-fzpbxy5g]{justify-content:space-between;align-items:center;gap:16px;padding-block:18px;display:flex}.wordmark[data-astro-cid-fzpbxy5g]{font-family:var(--display);letter-spacing:-.03em;font-size:20px;font-weight:850;font-stretch:125%;text-decoration:none}nav[data-astro-cid-fzpbxy5g]{flex-wrap:wrap;gap:clamp(12px,3vw,28px);display:flex}nav[data-astro-cid-fzpbxy5g] a[data-astro-cid-fzpbxy5g]{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;padding-block:6px;font-size:12px;text-decoration:none}nav[data-astro-cid-fzpbxy5g] a[data-astro-cid-fzpbxy5g][aria-current=page]{color:var(--accent);text-decoration:underline}@media (width<=460px){.wrap[data-astro-cid-fzpbxy5g]{gap:10px}.wordmark[data-astro-cid-fzpbxy5g]{font-size:17px}nav[data-astro-cid-fzpbxy5g]{flex-wrap:nowrap;gap:9px}nav[data-astro-cid-fzpbxy5g] a[data-astro-cid-fzpbxy5g]{letter-spacing:.02em;font-size:10.5px}}@media (width<=350px){nav[data-astro-cid-fzpbxy5g]{gap:6px}}.dock[data-astro-cid-6hcxwsmq]{view-transition-name:sheet-dock;right:calc(14px + env(safe-area-inset-right,0px));bottom:calc(14px + env(safe-area-inset-bottom,0px));z-index:50;justify-items:end;gap:8px;display:grid;position:fixed}.toggle[data-astro-cid-6hcxwsmq]{background:var(--ink);color:var(--paper);font-family:var(--mono);cursor:pointer;border:0;border-radius:999px;padding:10px 16px;font-size:12px;box-shadow:0 6px 20px #0000002e}.tweak[data-astro-cid-6hcxwsmq]{background:var(--paper);border:1px solid var(--rule);gap:14px;width:min(340px,100vw - 28px);padding:18px;display:grid;box-shadow:0 10px 40px #0003}.grp[data-astro-cid-6hcxwsmq]{border:0;gap:8px;margin:0;padding:0;display:grid}.grp[data-astro-cid-6hcxwsmq] legend[data-astro-cid-6hcxwsmq]{padding:0 0 8px}.opts[data-astro-cid-6hcxwsmq]{flex-wrap:wrap;gap:8px;display:flex}.sw[data-astro-cid-6hcxwsmq]{background:var(--ink);width:12px;height:12px;box-shadow:inset 0 0 0 3px var(--paper);border:1px solid var(--rule);border-radius:50%}.sw[data-astro-cid-6hcxwsmq].acc{background:var(--accent);box-shadow:none}.skip[data-astro-cid-hkbrpulz]:focus{clip-path:none;z-index:200;background:var(--ink);width:auto;height:auto;color:var(--paper);padding:8px 12px;position:fixed;top:8px;left:8px}.site-foot[data-astro-cid-hkbrpulz] .links[data-astro-cid-hkbrpulz]{gap:20px;display:flex}.site-foot[data-astro-cid-hkbrpulz] .wrap[data-astro-cid-hkbrpulz]{flex-wrap:wrap;justify-content:space-between;gap:16px;padding-block:28px 88px;display:flex}
