@font-face{font-family:Geist;font-weight:100 900;font-display:swap;src:url(/fonts/Geist-Variable.woff2)format("woff2")}@font-face{font-family:Geist Mono;font-weight:100 900;font-display:swap;src:url(/fonts/GeistMono-Variable.woff2)format("woff2")}@font-face{font-family:Display Archivo;font-weight:760;font-stretch:82%;font-display:swap;src:url(/fonts/Archivo-Variable.woff2)format("woff2")}@font-face{font-family:Display Schibsted;font-weight:760;font-display:swap;src:url(/fonts/SchibstedGrotesk-Variable.woff2)format("woff2")}@font-face{font-family:Display Clash;font-weight:600;font-display:swap;src:url(/fonts/ClashGrotesk-Semibold.woff2)format("woff2")}:root{--font-display:"Display Schibsted", "Geist", sans-serif;--font-body:"Geist", ui-sans-serif, sans-serif;--font-mono:"Geist Mono", ui-monospace, monospace;--bg:oklch(98.8% .003 157);--band:oklch(96.4% .005 157);--ink:oklch(20.5% .012 157);--ink-muted:oklch(43% .012 157);--line:oklch(88.5% .006 157);--line-strong:oklch(76% .008 157);--panel:oklch(20% .01 157);--panel-line:oklch(30% .012 157);--panel-ink:oklch(92% .006 157);--panel-muted:oklch(69% .012 157);--green:#217f51;--green-hover:oklch(46% .11 157);--green-on-dark:oklch(76% .13 157);--on-green:oklch(99% .004 157);--focus:oklch(55% .19 157);--page-max:1440px;--gutter:64px;--nav-h:72px}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-h) + 24px);-webkit-text-size-adjust:100%;overflow-x:clip}body{background:var(--bg);width:100%;color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums;margin:0;font-size:1rem;line-height:1.6;overflow-x:clip}h1,h2,p,ol,figure,pre{margin:0}ol{padding:0;list-style:none}a{color:var(--green);text-underline-offset:.2em;text-decoration-thickness:1px}a:hover{color:var(--green-hover)}:focus-visible{outline:2px solid var(--focus);outline-offset:3px;border-radius:4px}code{font-family:var(--font-mono);font-size:.9em}::selection{color:var(--ink);background:oklch(88% .06 157)}.code ::selection{color:var(--panel-ink);background:oklch(38% .07 157)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.wrap{width:100%;max-width:var(--page-max);padding-inline:var(--gutter);margin-inline:auto}.skip{z-index:100;background:var(--ink);color:var(--bg);border-radius:6px;padding:8px 16px;position:absolute;top:-64px;left:16px}.skip:focus{top:12px}.nav{z-index:50;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:oklch(98.8% .003 157/.94);position:sticky;top:0}.nav-row{height:var(--nav-h);justify-content:space-between;align-items:center;gap:24px;display:flex}.wordmark{color:var(--ink);font-family:var(--font-display);letter-spacing:-.01em;font-size:1.5rem;line-height:1;text-decoration:none}.wordmark:hover{color:var(--ink)}.nav-links{align-items:center;gap:32px;display:flex}.nav-links>a:not(.btn){color:var(--ink);white-space:nowrap;font-weight:500;text-decoration:none}.nav-links>a:not(.btn):hover{color:var(--green)}.nav-links>a[aria-current=page]{text-decoration:underline;text-decoration-thickness:2px;-webkit-text-decoration-color:var(--green);text-decoration-color:var(--green);text-underline-offset:.25em}.btn{background:var(--green);height:44px;color:var(--on-green);white-space:nowrap;border-radius:8px;align-items:center;padding-inline:20px;font-weight:600;text-decoration:none;transition:background-color .12s ease-out;display:inline-flex}.btn:hover{background:var(--green-hover);color:var(--on-green)}.btn:active{background:oklch(40% .1 157)}h1,h2,.statement{font-family:var(--font-display);color:var(--ink);overflow-wrap:break-word;min-width:0;font-weight:760}h1{letter-spacing:-.015em;max-width:22ch;font-size:clamp(2.75rem,4.6vw + .8rem,5.25rem);line-height:.98}h2{letter-spacing:-.01em;text-wrap:balance;max-width:24ch;font-size:clamp(2.25rem,2.6vw + 1rem,3.5rem);line-height:1.02}.lead{text-wrap:pretty;max-width:52ch;font-size:clamp(1.125rem,.35vw + 1rem,1.375rem);line-height:1.45}.body{text-wrap:pretty;max-width:68ch;font-size:clamp(1.0625rem,.25vw + 1rem,1.1875rem);line-height:1.6}.caption{color:var(--ink-muted);text-wrap:pretty;max-width:68ch;font-size:1rem;line-height:1.55}.fine{color:var(--ink-muted);font-size:.9375rem;line-height:1.5}.lead code,.caption code,.fine code,.body code{background:var(--band);border:1px solid var(--line);color:var(--ink);border-radius:4px;padding:.1em .3em;font-size:.86em}.statement{letter-spacing:-.01em;text-wrap:pretty;max-width:30ch;margin-top:40px;font-size:clamp(2rem,2.8vw + 1rem,3.75rem);line-height:1.04}.code{background:var(--panel);min-width:0;color:var(--panel-ink);border-radius:10px;position:relative}.code pre{font-family:var(--font-mono);tab-size:2;scrollbar-color:var(--panel-line) transparent;padding:36px 44px;font-size:.9375rem;line-height:1.65;overflow-x:auto}.code pre:focus-visible{outline-offset:0;border-radius:10px}.code code{font-size:inherit;width:max-content;min-width:100%;display:block}.ln{white-space:pre;display:block}.ln--comment,.comment{color:var(--panel-muted)}.prompt{color:var(--green-on-dark);-webkit-user-select:none;user-select:none}@media (width>=60rem){.code:not(.code--tree) code{width:auto}.code:not(.code--tree) .ln{white-space:pre-wrap;text-indent:-4ch;padding-left:4ch}}.code--hero pre{padding:28px 120px 28px 36px;font-size:clamp(1rem,.6vw + .8rem,1.375rem);line-height:1.6}.code--tree pre{padding-block:44px;font-size:clamp(.9375rem,.2vw + .85rem,1.0625rem);line-height:1.7}.code.code--scroll pre{scrollbar-color:var(--panel-muted) var(--panel-line);max-height:max(70vh,480px);padding-bottom:0;overflow-y:auto}.code--scroll code:after{content:"";background:linear-gradient(to bottom, transparent, var(--panel));pointer-events:none;height:56px;display:block;position:sticky;bottom:0}@supports selector(::-webkit-scrollbar){.code.code--scroll pre{scrollbar-color:auto}.code--scroll pre::-webkit-scrollbar{background:var(--panel-line);width:10px;height:10px}.code--scroll pre::-webkit-scrollbar-thumb{background:var(--panel-muted);border:2px solid var(--panel-line);border-radius:6px}.code--scroll pre::-webkit-scrollbar-corner{background:var(--panel-line)}}@media (width<=60rem){.code.code--scroll pre{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 50px),#0000 calc(100% - 10px)),linear-gradient(#000,#000);mask-image:linear-gradient(90deg,#000 calc(100% - 50px),#0000 calc(100% - 10px)),linear-gradient(#000,#000);-webkit-mask-position:0 0,100%;mask-position:0 0,100%;-webkit-mask-size:100% 100%,10px 100%;mask-size:100% 100%,10px 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}}.copy{border:1px solid var(--panel-line);height:44px;color:var(--panel-ink);font:500 .9375rem/1 var(--font-body);cursor:pointer;background:0 0;border-radius:8px;padding-inline:16px;transition:border-color .12s ease-out;position:absolute;top:50%;right:20px;transform:translateY(-50%)}.copy:hover{border-color:var(--panel-muted)}.copy:active{background:var(--panel-line)}.hero{gap:28px;padding-top:clamp(64px,8vw,112px);padding-bottom:144px;display:grid}.hero h1{margin-bottom:4px}.hero h1 .stop,h2 .stop{margin-left:-.14em}.hero .code,.close .code{max-width:864px;margin-top:16px}.hero .fine{margin-top:-12px}.section{gap:24px;padding-block:0 144px;display:grid}.section:not(.band>.section):before{content:"";background:var(--line);height:1px;margin-bottom:40px;display:block}.section>h2+*{margin-bottom:24px}.section>.code+.code{margin-top:0}.section>.caption{margin-top:-4px}.band{background:var(--band);margin-bottom:144px;padding-block:120px}.band>.section{padding-bottom:0}.band .body,.timeline{margin-bottom:40px}.timeline-head{border-bottom:1px solid var(--line-strong);justify-content:space-between;gap:16px;padding-bottom:16px;font-size:1.0625rem;font-weight:600;display:flex}.timeline-head span+span{color:var(--ink-muted);font-weight:400}.timeline ol{position:relative}.tl-row{border-bottom:1px solid var(--line);grid-template-columns:11rem 40px minmax(0,1fr) 9rem;column-gap:0;padding-block:22px;display:grid;position:relative}.tl-row:before{content:"";background:var(--ink);width:2px;position:absolute;top:0;bottom:-1px;left:calc(11rem + 19px)}.tl-row:first-child:before{top:33px}.tl-row:last-child:before{bottom:calc(100% - 33px)}.tl-row:after{content:"";background:var(--ink);width:12px;height:12px;box-shadow:0 0 0 4px var(--band);border-radius:50%;position:absolute;top:28px;left:calc(11rem + 14px)}.tl-row:has(span.tl-time):after{background:var(--band);border:2px solid var(--ink)}.tl-time{font-family:var(--font-mono);white-space:nowrap;color:var(--ink);grid-column:1;font-size:1rem;line-height:1.5}.tl-event{grid-column:3;gap:6px;min-width:0;display:grid}.tl-title{font-size:1.1875rem;font-weight:600;line-height:1.35}.tl-detail{color:var(--ink-muted);line-height:1.5}.tl-detail--mono{font-family:var(--font-mono);color:var(--ink);overflow-wrap:break-word;font-size:.9375rem}.tl-tool{white-space:nowrap;grid-column:4;justify-self:end;font-weight:600;line-height:1.5}.excerpts{grid-template-columns:repeat(2,minmax(0,1fr));gap:48px 32px;margin-bottom:40px;display:grid}.excerpt{grid-template-rows:1fr auto;gap:12px;min-width:0;display:grid}.excerpt .code pre{height:100%;padding:28px 32px;font-size:.875rem}.excerpt .code{height:100%}.excerpt figcaption{font-family:var(--font-mono);color:var(--ink-muted);overflow-wrap:anywhere;font-size:.875rem}.releases{background:var(--panel);color:var(--panel-ink);font-family:var(--font-mono);border-radius:10px;padding:36px 44px;font-size:.9375rem;line-height:1.65}.releases li{grid-template-columns:9ch minmax(0,1fr);gap:24px;display:grid}.releases li+li{margin-top:12px}.releases a{color:var(--green-on-dark)}.releases a:hover{color:var(--panel-ink)}.page-head{gap:28px;padding-top:clamp(64px,8vw,112px);padding-bottom:120px;display:grid}.step{gap:24px;min-width:0;display:grid}.section>.step+.step,.section>.reqs+.step{margin-top:40px}.step>.caption,.step>.fine{margin-top:-4px}.step>.fine+.caption{margin-top:-12px}.reqs{border-collapse:collapse;text-align:left;width:100%;font-size:clamp(1.0625rem,.25vw + 1rem,1.1875rem);line-height:1.5}.reqs th,.reqs td{vertical-align:top;border-bottom:1px solid var(--line);padding:18px 32px 18px 0}.reqs thead th{border-bottom-color:var(--line-strong);color:var(--ink-muted);padding-block:0 14px;font-size:1rem;font-weight:500}.reqs tbody th{width:30%;font-weight:600}.reqs td{max-width:68ch;padding-right:0}.reqs code{background:var(--band);border:1px solid var(--line);border-radius:4px;padding:.1em .3em;font-size:.86em}.close{gap:24px;padding-bottom:176px;display:grid}.close .code{margin-top:0}.footer{border-top:1px solid var(--line)}.footer-row{color:var(--ink-muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px 40px;padding-block:48px 64px;display:flex}.footer-links{white-space:nowrap;gap:32px;display:flex}@media (width<=75rem){:root{--gutter:40px}}@media (width<=60rem){:root{--gutter:24px;--nav-h:64px}.hero,.section{padding-bottom:96px}.band{margin-bottom:96px;padding-block:80px}.excerpts{grid-template-columns:minmax(0,1fr)}.code pre{scrollbar-color:var(--panel-muted) var(--panel-line);padding:24px;font-size:.875rem}.code:not(.code--hero) pre{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 40px),#0000);mask-image:linear-gradient(90deg,#000 calc(100% - 40px),#0000)}.code--hero pre{padding:20px 20px 12px;font-size:.9375rem}.copy{margin:0 20px 20px;position:static;transform:none}.page-head{padding-bottom:80px}.releases{padding:24px;font-size:.875rem}.releases li{grid-template-columns:minmax(0,1fr);gap:2px}.tl-row{grid-template-columns:28px minmax(0,1fr);grid-template-areas:"rail meta""rail event";row-gap:6px;padding-block:18px}.tl-row:before{left:9px}.tl-row:after{top:24px;left:4px}.tl-row:first-child:before{top:29px}.tl-row:last-child:before{bottom:calc(100% - 29px)}.tl-time,.tl-tool{grid-area:meta;font-size:.875rem}.tl-time{justify-self:start}.tl-tool{color:var(--ink-muted);justify-self:end}.tl-event{grid-area:event}.tl-title{font-size:1.0625rem}.tl-detail--mono{font-size:.875rem}}@media (width<=40rem){.reqs tr,.reqs th,.reqs td{display:block}.reqs thead th{border:0;padding:0}.reqs thead tr{padding-bottom:12px}.reqs tbody tr{border-bottom:1px solid var(--line);padding-block:16px}.reqs thead{border-bottom:1px solid var(--line-strong);display:block}.reqs tbody,.reqs tbody th,.reqs td{border:0;width:auto;padding:0;display:block}.reqs tbody th{margin-bottom:4px}}@media (width<=30rem){.nav-links{gap:20px}}@media (width<=25rem){.nav-row{padding-inline:16px}.wordmark{font-size:1.25rem}.nav-row,.nav-links{gap:14px}.nav .btn{padding-inline:14px}}@media (width<=23rem){.wordmark{font-size:1.125rem}.nav-row,.nav-links{gap:10px}.nav-links>a{font-size:.9375rem}.nav .btn{padding-inline:10px}}@media (width<=30rem){.timeline-head{flex-direction:column;gap:4px}}
