@font-face{font-family:Schibsted Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/56069e83bb5b2425-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Schibsted Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/91601dd83defba07-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Schibsted Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/56069e83bb5b2425-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Schibsted Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/91601dd83defba07-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Schibsted Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/56069e83bb5b2425-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Schibsted Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/91601dd83defba07-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Schibsted Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/56069e83bb5b2425-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Schibsted Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/91601dd83defba07-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Schibsted Grotesk Fallback;src:local("Arial");ascent-override:93.46%;descent-override:24.67%;line-gap-override:0.00%;size-adjust:104.49%}.__className_c9f5d1{font-family:Schibsted Grotesk,Schibsted Grotesk Fallback;font-style:normal}.__variable_c9f5d1{--font-sans:"Schibsted Grotesk","Schibsted Grotesk Fallback"}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/edc640959b0c7826-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/ac0e76ddaeeb7981-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/64d784ea54a4acde-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/ff71da380fbe67dd-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/6d831b18ae5b01dc-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/558ca1a6aa3cb55e-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/edc640959b0c7826-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ac0e76ddaeeb7981-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/64d784ea54a4acde-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ff71da380fbe67dd-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/6d831b18ae5b01dc-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/558ca1a6aa3cb55e-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:JetBrains Mono Fallback;src:local("Arial");ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.00%;size-adjust:134.59%}.__className_6d24ac{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.__variable_6d24ac{--font-mono:"JetBrains Mono","JetBrains Mono Fallback"}:root{--bg:#f7f6f2;--panel:#ffffff;--sunk:#efede7;--fg:#121316;--muted:#5a5d63;--faint:#8a8d92;--line:#dcd9d1;--line-strong:#bfbbb1;--accent:#c23e17;--accent-fill:#c23e17;--on-accent:#ffffff;--accent-tint:#f6e3da;--code-bg:#15171a;--code-line:#15171a;--band:#121316;--band-fg:#f7f6f2;--band-muted:#a9acb2;--band-line:#2c2f34;--gutter:80px;--measure:40rem;--radius:6px;--radius-lg:10px}[data-theme=dark]{--bg:#0d0e10;--panel:#15171a;--sunk:#111316;--fg:#eceae4;--muted:#a3a6ac;--faint:#7a7e85;--line:#26292e;--line-strong:#3a3e45;--accent:#ff7447;--accent-fill:#ff6a3d;--on-accent:#0d0e10;--accent-tint:#2a1a14;--code-bg:#15171a;--code-line:#2a2d33;--band:#15171a;--band-fg:#eceae4;--band-muted:#a3a6ac;--band-line:#2a2d33}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--bg);color:var(--fg);font-family:var(--font-sans),ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3,p{margin:0;text-wrap:pretty}a{color:inherit}button{font:inherit;cursor:pointer}.mono{font-family:var(--font-mono),ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}a.navlink{color:var(--muted);text-decoration:none}a.navlink.on,a.navlink:hover{color:var(--fg)}a.textlink{color:var(--accent);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}a.textlink:hover{text-decoration-thickness:2px}.bandbtn,.btn1,.btn2{display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 18px;border-radius:var(--radius);font-size:15px;font-weight:600;text-decoration:none;white-space:nowrap;border:1px solid transparent}.btn1{background:var(--accent-fill);color:var(--on-accent)}.btn1:hover{filter:brightness(1.08)}.btn2{color:var(--fg);border-color:var(--line);font-weight:500;padding:0 14px}.btn2:hover{border-color:var(--fg)}.bandbtn{color:var(--band-fg);border-color:var(--band-line);font-weight:500}.bandbtn:hover{border-color:var(--band-fg)}a.foot{color:var(--muted);text-decoration:none}a.foot:hover{color:var(--fg)}.ic{fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.code{color:#e6e4de}.tok-k{color:#ff9573}.tok-s{color:#a8d5a2}.tok-c{color:#858a92}.tok-f{color:#9cc2ff}.cl{white-space:pre;min-height:1.75em}.container{width:100%;max-width:1280px;margin:0 auto;padding-inline:var(--gutter)}.site-header{height:72px;display:flex;align-items:center;border-bottom:1px solid var(--line)}.site-header .container{display:flex;align-items:center;justify-content:space-between;gap:24px}.wordmark{gap:10px;text-decoration:none;color:var(--fg);font-size:19px;font-weight:700;letter-spacing:-.02em}.site-nav,.wordmark{display:flex;align-items:center}.site-nav{gap:32px;font-size:15px;font-weight:500}.header-actions{gap:12px}.header-actions,.theme-toggle{display:flex;align-items:center}.theme-toggle{width:44px;height:44px;justify-content:center;background:transparent;border:1px solid var(--line);border-radius:var(--radius);color:var(--fg);padding:0}.theme-toggle:hover{border-color:var(--fg)}.mobile-nav{display:none;position:relative}[hidden]{display:none!important}.mobile-menu{position:absolute;top:calc(100% + 12px);right:0;z-index:20;min-width:232px;gap:8px;padding:16px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:0 12px 32px rgb(0 0 0/.14)}.mobile-menu,.mobile-menu nav{display:flex;flex-direction:column}.mobile-menu nav{gap:4px;font-size:15px;font-weight:500}.mobile-menu nav a{padding:10px 8px;border-radius:var(--radius)}.mobile-menu nav a:hover{background:var(--sunk)}.mobile-menu-actions{display:flex;flex-direction:column;gap:8px;padding-top:12px;border-top:1px solid var(--line)}.mobile-menu-actions .btn1,.mobile-menu-actions .btn2{justify-content:center}@media (max-width:900px){:root{--gutter:20px}.header-cta,.header-github,.site-nav{display:none}.mobile-nav{display:block}}.site-footer{border-top:1px solid var(--line);padding-block:56px 40px}.footer-top{display:flex;justify-content:space-between;gap:48px;flex-wrap:wrap}.footer-brand{display:flex;flex-direction:column;gap:14px;max-width:360px}.footer-brand p{font-size:15px;line-height:1.55;color:var(--muted)}.footer-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:64px;gap:64px}.footer-column{display:flex;flex-direction:column;gap:12px;font-size:15px}.footer-heading{letter-spacing:.06em;text-transform:uppercase}.footer-heading,.footer-legal{font-size:12px;color:var(--faint)}.footer-legal{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-top:40px;padding-top:20px;border-top:1px solid var(--line)}@media (max-width:900px){.footer-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}}@media (max-width:560px){.footer-columns{grid-template-columns:1fr}}