@font-face{font-family:Instrument Sans;src:url(/assets/instrument-sans-var.BbzFLZTg.woff2)format("woff2");font-weight:400 700;font-style:normal;font-display:swap}@font-face{font-family:Inter;src:url(/assets/inter-var.Dx4kXJAl.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:Fragment Mono;src:url(/assets/fragment-mono-400.DTGFpTkj.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap;unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2190-2194,U+2212,U+2215,U+FEFF,U+FFFD}@layer base{*,:before,:after{box-sizing:border-box;border:0 solid;margin:0;padding:0}html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 1.5rem)}body{background-color:var(--color-ground);color:var(--color-text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:1.0625rem;font-weight:400;line-height:1.7}h1,h2,h3,h4{font-size:inherit;font-weight:inherit}h1,h2,h3{text-wrap:balance;font-weight:600}p{text-wrap:pretty}ol,ul{list-style:none}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}img,svg{vertical-align:middle;display:block}img{max-width:100%;height:auto}button{font:inherit;letter-spacing:inherit;color:inherit;background-color:#0000;border-radius:0}::selection{background:var(--color-accent);color:var(--color-ground)}:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px;border-radius:2px}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}}@layer components{.link{color:var(--color-accent);text-decoration:underline;text-decoration-thickness:1px;-webkit-text-decoration-color:var(--color-accent-dim);text-decoration-color:var(--color-accent-dim);text-underline-offset:.22em;transition:text-decoration-color var(--duration-settle) var(--ease-settle), color var(--duration-settle) var(--ease-settle)}.link:hover{-webkit-text-decoration-color:var(--color-accent);text-decoration-color:var(--color-accent)}.link:active{-webkit-text-decoration-color:var(--color-accent);text-decoration-color:var(--color-accent);transition-duration:var(--duration-press)}.link-quiet{color:var(--color-meta);transition:color var(--duration-settle) var(--ease-settle)}.link-quiet:hover{color:var(--color-accent)}.link-quiet:active{color:var(--color-accent);transition-duration:var(--duration-press)}.button{border:1px solid var(--color-line);min-height:44px;color:var(--color-text);cursor:pointer;transition:border-color var(--duration-settle) var(--ease-settle), background-color var(--duration-settle) var(--ease-settle), color var(--duration-settle) var(--ease-settle);border-radius:2px;align-items:center;gap:.625rem;padding:0 1.125rem;line-height:1.2;display:inline-flex}.button:hover,.button:focus-visible{border-color:var(--color-accent);background-color:color-mix(in srgb, var(--color-accent) 8%, transparent);color:var(--color-accent)}.button:active{transition-duration:var(--duration-press)}.button__arrow{font-family:var(--font-mono);color:var(--color-accent);transition:color var(--duration-settle) var(--ease-settle)}.section-label{font-family:var(--font-display);letter-spacing:-.01em;font-size:1.0625rem;font-weight:500}@media (width>=64rem){.section-label{font-size:1.1875rem}}.lead{letter-spacing:-.01em;max-width:54ch;font-size:1.1875rem;line-height:1.55}.note{letter-spacing:.01em;color:var(--color-meta);font-size:.9375rem}.meta{color:var(--color-meta)}.page{flex-direction:column;min-height:100svh;display:flex;position:relative;overflow-x:clip}.rails{z-index:50;width:var(--frame);border-inline:1px solid var(--color-line);pointer-events:none;margin-inline:auto;position:absolute;inset:0}.frame{width:var(--frame);margin-inline:auto}.band{border-bottom:1px solid var(--color-line);position:relative}.tail{flex:1 0 4rem}.backdrop{pointer-events:none;position:absolute;inset:0;overflow:hidden}.glow{background:radial-gradient(52rem 34rem at 18% 22%, var(--color-glow), transparent), radial-gradient(44rem 30rem at 88% 62%, var(--color-glow-2), transparent);filter:blur(24px);height:max(100svh,48rem);position:absolute;inset:0 0 auto}.hero-rule{background:var(--color-accent);width:min(16rem,60%);height:4px}.hero-rule--under-name{margin-top:1.75rem}@media (width>=40rem){.hero-rule--under-name{margin-top:2.25rem}}.chrome{z-index:40;border-bottom:1px solid var(--color-accent);-webkit-backdrop-filter:blur()saturate();transition:background-color var(--duration-settle) var(--ease-settle), backdrop-filter var(--duration-settle) var(--ease-settle), -webkit-backdrop-filter var(--duration-settle) var(--ease-settle);background-color:#0000;position:sticky;top:0}.chrome.is-material{background-color:var(--color-chrome);-webkit-backdrop-filter:blur(20px)saturate(140%)}.chrome:after{content:"";background:linear-gradient(to bottom, var(--color-chrome-shade), transparent);opacity:0;pointer-events:none;height:10px;transition:opacity var(--duration-settle) var(--ease-settle);position:absolute;top:calc(100% + 1px);left:0;right:0}.chrome.is-material:after{opacity:1}@media (prefers-reduced-transparency:reduce){.chrome,.chrome.is-material{-webkit-backdrop-filter:none}.chrome.is-material{background-color:var(--color-ground)}.glow{display:none}}@media (prefers-contrast:more){.chrome,.chrome.is-material{-webkit-backdrop-filter:none}.chrome.is-material{background-color:var(--color-ground)}.chrome:after{content:none}.glow{display:none}}.bar{height:var(--header-h);padding-inline:var(--pad);justify-content:space-between;align-items:center;gap:1rem;display:flex}.bar__nav{margin-left:auto}.bar__links{align-items:center;gap:1.25rem;font-size:.875rem;display:flex}@media (width>=40rem){.bar__links{gap:2.25rem;font-size:.9375rem}}.wordmark{letter-spacing:-.01em;opacity:0;pointer-events:none;transition:opacity var(--duration-settle) var(--ease-settle), color var(--duration-settle) var(--ease-settle);font-size:.875rem;font-weight:500}@media (width>=40rem){.wordmark{font-size:.9375rem}}.wordmark.is-visible{opacity:1;pointer-events:auto}.wordmark:hover{color:var(--color-accent)}.wordmark:active{color:var(--color-accent);transition-duration:var(--duration-press)}.brand-slot{align-items:center;display:flex;position:relative}.lang-globe{transition:opacity var(--duration-settle) var(--ease-settle), color var(--duration-settle) var(--ease-settle);justify-content:center;align-items:center;margin:-.75rem;padding:.75rem;display:inline-flex;position:absolute;left:0}.lang-globe.is-hidden{opacity:0;pointer-events:none}.lang-globe:hover{color:var(--color-text)}.lang-globe:active{color:var(--color-text);transition-duration:var(--duration-press)}.split{grid-template-columns:minmax(0,1fr);display:grid;position:relative}.split__label{padding:1.25rem var(--pad);border-bottom:1px solid var(--color-line)}.split__body{padding:var(--space) var(--pad)}@media (width<=63.999rem){.split__body{padding-top:calc(var(--space) * .75)}}@media (width>=64rem){.split{grid-template-columns:var(--label) minmax(0, 1fr)}.split:before{content:"";top:0;bottom:0;left:var(--label);border-left:1px solid var(--color-line);pointer-events:none;position:absolute}.split__label{padding-block:var(--space);border-bottom:0;grid-area:1/1/span 12}.split__label>h2{top:calc(var(--header-h) + 2rem);position:sticky}.split>:not(.split__label){grid-column:2}}.rows{border-top:1px solid var(--color-line)}.row{padding:1.75rem var(--pad)}.row+.row{border-top:1px solid var(--color-line)}.cells{border-top:1px solid var(--color-line);background:var(--color-line);gap:1px;display:grid}.cells>*{background:var(--color-ground)}.topbar{border-bottom-color:var(--color-accent)}.theme-switch{background:var(--color-line);letter-spacing:.01em;vertical-align:middle;border-radius:2px;flex:none;grid-auto-columns:1fr;grid-auto-flow:column;gap:1px;width:max-content;padding:1px;font-size:.875rem;line-height:1;display:inline-grid}.theme-switch__option{background:var(--color-ground);height:calc(2.25rem - 2px);color:var(--color-meta);font:inherit;letter-spacing:inherit;cursor:pointer;transition:color var(--duration-settle) var(--ease-settle);border:0;border-radius:1px;padding:0 .875rem;position:relative}.theme-switch__option:before{content:"";position:absolute;inset:-5px 0}.theme-switch__option:hover{color:var(--color-text)}.theme-switch__option:active{color:var(--color-text);transition-duration:var(--duration-press)}.theme-switch__option[aria-pressed=true]{color:var(--color-text);box-shadow:inset 0 -2px 0 var(--color-accent);cursor:default}.theme-switch__option:focus-visible{z-index:1;outline-offset:2px}.theme-switch--vertical{grid-auto-rows:1fr;grid-auto-columns:auto;grid-auto-flow:row;width:2rem;height:max-content}.theme-switch--vertical .theme-switch__option{writing-mode:vertical-rl;width:auto;height:auto;padding:.875rem 0}.theme-switch--vertical .theme-switch__option:before{inset:0 -8px 0 -4px}.theme-switch--vertical .theme-switch__option[aria-pressed=true]{box-shadow:inset 2px 0 0 var(--color-accent)}.theme-rail{display:none}@media (width>=40rem){.theme-rail{z-index:45;top:calc(var(--header-h) + (100svh - var(--header-h)) / 2);left:calc(50% + var(--frame) / 2 - 1px);display:block;position:fixed;transform:translateY(-50%)}}:root[data-theme=poster] .theme-rail:before{content:"";width:1px;height:calc((100svh - var(--header-h)) / 2 - 50%);background:linear-gradient(to bottom, transparent, var(--color-line) 70%);pointer-events:none;position:absolute;bottom:100%;left:0}@media (width>=40rem){.theme-inline{display:none}}:root[data-theme=poster] .rails{border-inline-color:#0000}:root[data-theme=poster] .band,:root[data-theme=poster] .topbar{--edge:calc(50% - var(--frame) / 2);border-image:linear-gradient(to right, transparent var(--edge), var(--color-line) var(--edge), var(--color-line) calc(var(--edge) + var(--frame)), transparent calc(var(--edge) + var(--frame))) 1}:root[data-theme=poster] footer.band{border-bottom-color:#0000;border-image-source:none}:root[data-theme=poster] .chrome{border-bottom-color:#0000}:root[data-theme=poster] .split:before{content:none}:root[data-theme=poster] .split__label{border-bottom-color:#0000}@media (prefers-contrast:more){:root[data-theme=poster] .chrome.is-material{border-bottom-color:var(--color-line)}}}:root{--color-ground:#050505;--color-raised:#0e0f0e;--color-text:#ededed;--color-meta:#8f8f8f;--color-line:#222;--color-line-strong:#333;--color-accent:#4ade80;--color-accent-dim:#4ade8066;--color-glow:#4ade8012;--color-glow-2:#4ade800e;--color-chrome:#050505b8;--color-chrome-shade:#05050580;--font-sans:"Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-display:"Instrument Sans", "Inter", ui-sans-serif, system-ui, sans-serif;--font-mono:"Fragment Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--ease-settle:cubic-bezier(.2, .6, .2, 1);--duration-settle:.3s;--duration-press:90ms;--gutter:1rem;--pad:1.25rem;--frame:min(100% - 2 * var(--gutter), 102rem + 2 * var(--pad));--label:13rem;--space:2.75rem;--header-h:4rem}@media (width>=40rem){:root{--gutter:2.5rem;--pad:1.5rem;--space:4.5rem;--header-h:4.5rem}}@media (width>=64rem){:root{--space:5.5rem}}@media (prefers-contrast:more){:root{--color-line:#555;--color-line-strong:#6e6e6e}}:root[data-theme=poster]{--color-ground:#0b1016;--color-raised:#101720;--color-text:#e9e4d8;--color-meta:#a39e93;--color-line:#1e2630;--color-line-strong:#2c3644;--color-accent:#f2b13c;--color-accent-dim:#f2b13c59;--color-glow:#f2b13c0d;--color-glow-2:#f2b13c0a;--color-chrome:#0b1016b8;--color-chrome-shade:#0b101680}@media (prefers-contrast:more){:root[data-theme=poster]{--color-line:#4a5563;--color-line-strong:#5c6875}}.skip-link:focus{z-index:50;clip-path:none;white-space:normal;border:1px solid var(--color-line);background-color:var(--color-ground);width:auto;height:auto;color:var(--color-text);margin:0;padding:.5rem .75rem;font-size:.9375rem;position:fixed;top:.75rem;left:.75rem;overflow:visible}::view-transition-group(root){animation-duration:var(--duration-settle);animation-timing-function:var(--ease-settle)}::view-transition-old(root){animation-duration:var(--duration-settle);animation-timing-function:var(--ease-settle)}::view-transition-new(root){animation-duration:var(--duration-settle);animation-timing-function:var(--ease-settle)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}::view-transition-group(root){animation:none}::view-transition-old(root){animation:none}::view-transition-new(root){animation:none}}
