.header,body,html{box-sizing:border-box}.header{z-index:100;position:fixed;padding:0 .5em;width:100%;top:0;display:flex;flex:1;align-items:center;height:var(--sc-header-height);overflow:hidden;justify-content:space-between;background-color:var(--sc-color-bg);border-bottom:1px solid var(--sc-color-border);color:var(--sc-color-text);transition:background-color var(--sc-duration-base) var(--sc-ease),border-color var(--sc-duration-base) var(--sc-ease)}.header .MuiCircularProgress-circle{stroke:linear-gradient(90deg,red,red);animation:custom-spin 1.5s linear infinite}.header svg{color:var(--sc-color-text-muted)}@media(min-width:780px){.header{padding:0 1em}}a.profile-link{text-decoration:none!important;color:var(--sc-color-text)!important}.logo,a.profile-link{display:flex;align-items:center}.logo{padding:.75em 0;gap:.6em;color:var(--sc-color-text);text-decoration:none;font-weight:800;font-size:var(--sc-text-md);letter-spacing:-.01em}.logo .img{display:block}.login{display:flex;align-items:center;gap:.4em;padding:.7em 0;margin:-.7em 0;background:none;border:0;font-family:inherit;font-size:inherit;cursor:pointer}.login,.login svg{color:var(--sc-color-text)}.login:hover{color:var(--sc-color-accent)}.login:hover svg{color:var(--sc-color-accent-icon)}.searchbar{border:1px solid var(--sc-color-border-strong)!important;flex:1;min-height:44px;color:var(--sc-color-text)!important;border-radius:0;transition:all .3s ease-in-out;background-color:transparent!important}.searchbar input::placeholder{color:var(--sc-color-text-muted);opacity:1}.searchbar button{min-width:44px;min-height:44px}.searchbar input{min-height:44px;box-sizing:border-box}.searchbar.open{opacity:1;transform:translateY(0)}@media(min-width:780px){.searchbar{background-color:transparent!important;margin:0 2em}}.result{background-color:var(--sc-color-accent)!important}.newsletter-form{display:flex;gap:.5em;align-items:center}.newsletter-form input{border-radius:var(--sc-radius-sm);padding:.5em .75em;min-height:44px;box-sizing:border-box;border:1px solid var(--sc-color-border-strong);font-size:14px}.newsletter-form button{white-space:nowrap;min-height:44px}.newsletter-form.done p{margin:0;font-size:14px;color:var(--sc-color-success)}.newsletter-form.compact{max-width:320px}.side-nav-backdrop{inset:0;z-index:89;background-color:rgba(17,24,39,.25)}.side-nav,.side-nav-backdrop{position:fixed;top:var(--sc-header-height)}.side-nav{height:calc(100vh - var(--sc-header-height));z-index:90;background-color:var(--sc-color-bg);left:calc(-1*var(--sc-drawer-width));width:var(--sc-drawer-width);font-weight:500;border-right:1px solid var(--sc-color-border);box-shadow:var(--sc-shadow-overlay);transition:left .2s ease;overflow-y:auto}.side-nav ul{padding:.5em;margin:0;width:100%;box-sizing:border-box}.side-nav ul li{padding:0;display:flex;align-items:center;transition:background-color .15s ease,color .15s ease}.side-nav ul li:hover{background-color:var(--sc-color-surface);border-radius:6px}.side-nav ul li a{display:flex;align-items:center;text-decoration:none;color:var(--sc-color-text);width:100%;padding:.75em;box-sizing:border-box;border-radius:6px;transition:background-color .15s ease,color .15s ease}.side-nav ul li a .fa-icon{width:1em;height:1em;margin-right:1em}.side-nav ul li a:hover{color:var(--sc-color-accent);background-color:var(--sc-color-surface)}.side-nav.open{left:0}@media(max-width:780px){.side-nav{width:85vw;max-width:var(--sc-drawer-width)}}.signin button{background-color:var(--sc-color-accent);color:#fff}@font-face{font-family:__Inter_48b81b;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-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:__Inter_48b81b;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__Inter_48b81b;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:__Inter_48b81b;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-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:__Inter_48b81b;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-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:__Inter_48b81b;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-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:__Inter_48b81b;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-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:__Inter_48b81b;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-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:__Inter_48b81b;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__Inter_48b81b;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:__Inter_48b81b;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-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:__Inter_48b81b;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-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:__Inter_48b81b;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-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:__Inter_48b81b;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-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:__Inter_48b81b;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-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:__Inter_48b81b;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__Inter_48b81b;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:__Inter_48b81b;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-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:__Inter_48b81b;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-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:__Inter_48b81b;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-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:__Inter_48b81b;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-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:__Inter_48b81b;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-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:__Inter_48b81b;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__Inter_48b81b;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:__Inter_48b81b;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-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:__Inter_48b81b;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-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:__Inter_48b81b;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-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:__Inter_48b81b;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-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:__Inter_48b81b;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-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:__Inter_48b81b;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__Inter_48b81b;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:__Inter_48b81b;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-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:__Inter_48b81b;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-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:__Inter_48b81b;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-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:__Inter_48b81b;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-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:__Inter_Fallback_48b81b;src:local("Arial");ascent-override:90.49%;descent-override:22.56%;line-gap-override:0.00%;size-adjust:107.06%}.__className_48b81b{font-family:__Inter_48b81b,__Inter_Fallback_48b81b;font-style:normal}.__variable_48b81b{--font-body:"__Inter_48b81b","__Inter_Fallback_48b81b"}@font-face{font-family:__JetBrains_Mono_6d24ac;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_6d24ac;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_6d24ac;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_6d24ac;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_6d24ac;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_6d24ac;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_6d24ac;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_6d24ac;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_6d24ac;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_6d24ac;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_6d24ac;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_6d24ac;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_6d24ac;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_6d24ac,__JetBrains_Mono_Fallback_6d24ac;font-style:normal}.__variable_6d24ac{--font-mono:"__JetBrains_Mono_6d24ac","__JetBrains_Mono_Fallback_6d24ac"}:root{color-scheme:light;--sc-color-brand:#e07b39;--sc-color-bg:#fff;--sc-color-surface:#faf9f7;--sc-color-surface-raised:#fff;--sc-color-border:#e7e3dc;--sc-color-border-strong:#d6d0c4;--sc-color-text:#16151a;--sc-color-text-muted:#6b6862;--sc-color-text-faint:#8a867f;--sc-color-accent:#a34a12;--sc-color-accent-icon:#c25f16;--sc-color-accent-contrast:#fff;--sc-color-danger:#b3261e;--sc-color-success:#1e7b45;--sc-font-sans:var(--font-body),-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--sc-font-mono:var(--font-mono),"SFMono-Regular",Consolas,monospace;--sc-text-xs:0.8125rem;--sc-text-sm:0.9375rem;--sc-text-base:1.125rem;--sc-text-md:1.25rem;--sc-text-lg:1.5rem;--sc-text-xl:clamp(1.75rem,1.55rem + 1vw,2.25rem);--sc-text-2xl:clamp(2.25rem,1.85rem + 2vw,3.25rem);--sc-text-display:clamp(2.75rem,2rem + 3.5vw,4.5rem);--sc-leading-tight:1.2;--sc-leading-snug:1.35;--sc-leading-normal:1.6;--sc-space-1:0.25rem;--sc-space-2:0.5rem;--sc-space-3:0.75rem;--sc-space-4:1rem;--sc-space-5:1.5rem;--sc-space-6:2rem;--sc-space-7:3rem;--sc-space-8:4rem;--sc-space-9:6rem;--sc-radius-sm:4px;--sc-radius-md:8px;--sc-radius-lg:12px;--sc-radius-full:999px;--sc-shadow-xs:0 1px 2px rgba(22,21,26,.04);--sc-shadow-sm:0 1px 3px rgba(22,21,26,.06);--sc-shadow-md:0 4px 12px rgba(22,21,26,.08);--sc-shadow-overlay:0 12px 32px rgba(22,21,26,.16);--sc-ease:cubic-bezier(0.2,0.8,0.2,1);--sc-duration-fast:120ms;--sc-duration-base:200ms;--sc-duration-slow:320ms;--sc-measure:68ch;--sc-header-height:64px;--sc-drawer-width:280px;--sc-content-max:1080px;--sc-code-bg:#f4f1ea;--sc-code-border:var(--sc-color-border)}[data-theme=dark]{color-scheme:dark;--sc-color-bg:#0e0e10;--sc-color-surface:#17171a;--sc-color-surface-raised:#1d1d21;--sc-color-border:#2c2a28;--sc-color-border-strong:#3c3936;--sc-color-text:#edebe8;--sc-color-text-muted:#a3a09a;--sc-color-text-faint:#7d7a74;--sc-color-accent:#f0a05a;--sc-color-accent-icon:#e07b39;--sc-color-accent-contrast:#16151a;--sc-color-danger:#f87171;--sc-color-success:#4ade80;--sc-shadow-xs:0 1px 2px rgba(0,0,0,.24);--sc-shadow-sm:0 1px 3px rgba(0,0,0,.32);--sc-shadow-md:0 4px 12px rgba(0,0,0,.4);--sc-shadow-overlay:0 12px 32px rgba(0,0,0,.5);--sc-code-bg:#1b1a1d}@media(prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}*,:focus{outline:none}:focus-visible{outline:2px solid var(--sc-color-accent);outline-offset:2px;border-radius:var(--sc-radius-sm)}body,html{background-color:var(--sc-color-bg)}body{margin:0;padding:0;color:var(--sc-color-text);font-family:var(--sc-font-sans);font-size:var(--sc-text-base);line-height:var(--sc-leading-normal);transition:background-color var(--sc-duration-base) var(--sc-ease),color var(--sc-duration-base) var(--sc-ease)}a{cursor:pointer;color:var(--sc-color-accent)}.btn{background-color:var(--sc-color-accent);display:flex;align-items:center;color:var(--sc-color-accent-contrast);border:0;border-radius:var(--sc-radius-md);justify-content:center;width:100%;padding:.6em 1em;font-weight:500;transition:background-color var(--sc-duration-base) var(--sc-ease)}.btn:hover{background-color:var(--sc-color-accent-icon);cursor:pointer}.wrapper{overflow:hidden}.main{padding:1em;margin-top:var(--sc-header-height)}.main .content{max-width:720px}.main .content,.main .content-wide{width:100%;margin:0 auto;box-sizing:border-box}.main .content-wide{max-width:1080px}.main h1{margin-top:0}.main .category-description{color:var(--sc-color-text-muted);margin-top:-.5em;margin-bottom:1.5em}.main .hub-newsletter{background:var(--sc-color-surface);border:1px solid var(--sc-color-border);border-radius:6px;padding:1em 1.25em;margin-bottom:1.5em;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75em}.main .hub-newsletter p{margin:0;font-weight:500}@media(min-width:780px){.main{padding:0 2em}}:host,:root{--fa-font-solid:normal 900 1em/1 "Font Awesome 6 Solid";--fa-font-regular:normal 400 1em/1 "Font Awesome 6 Regular";--fa-font-light:normal 300 1em/1 "Font Awesome 6 Light";--fa-font-thin:normal 100 1em/1 "Font Awesome 6 Thin";--fa-font-duotone:normal 900 1em/1 "Font Awesome 6 Duotone";--fa-font-sharp-solid:normal 900 1em/1 "Font Awesome 6 Sharp";--fa-font-sharp-regular:normal 400 1em/1 "Font Awesome 6 Sharp";--fa-font-sharp-light:normal 300 1em/1 "Font Awesome 6 Sharp";--fa-font-sharp-thin:normal 100 1em/1 "Font Awesome 6 Sharp";--fa-font-brands:normal 400 1em/1 "Font Awesome 6 Brands"}svg:not(:host).svg-inline--fa,svg:not(:root).svg-inline--fa{overflow:visible;box-sizing:content-box}.svg-inline--fa{display:var(--fa-display,inline-block);height:1em;overflow:visible;vertical-align:-.125em}.svg-inline--fa.fa-2xs{vertical-align:.1em}.svg-inline--fa.fa-xs{vertical-align:0}.svg-inline--fa.fa-sm{vertical-align:-.07143em}.svg-inline--fa.fa-lg{vertical-align:-.2em}.svg-inline--fa.fa-xl{vertical-align:-.25em}.svg-inline--fa.fa-2xl{vertical-align:-.3125em}.svg-inline--fa.fa-pull-left{margin-right:var(--fa-pull-margin,.3em);width:auto}.svg-inline--fa.fa-pull-right{margin-left:var(--fa-pull-margin,.3em);width:auto}.svg-inline--fa.fa-li{width:var(--fa-li-width,2em);top:.25em}.svg-inline--fa.fa-fw{width:var(--fa-fw-width,1.25em)}.fa-layers svg.svg-inline--fa{bottom:0;left:0;margin:auto;position:absolute;right:0;top:0}.fa-layers-counter,.fa-layers-text{display:inline-block;position:absolute;text-align:center}.fa-layers{display:inline-block;height:1em;position:relative;text-align:center;vertical-align:-.125em;width:1em}.fa-layers svg.svg-inline--fa{-webkit-transform-origin:center center;transform-origin:center center}.fa-layers-text{left:50%;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);-webkit-transform-origin:center center;transform-origin:center center}.fa-layers-counter{background-color:var(--fa-counter-background-color,#ff253a);border-radius:var(--fa-counter-border-radius,1em);box-sizing:border-box;color:var(--fa-inverse,#fff);line-height:var(--fa-counter-line-height,1);max-width:var(--fa-counter-max-width,5em);min-width:var(--fa-counter-min-width,1.5em);overflow:hidden;padding:var(--fa-counter-padding,.25em .5em);right:var(--fa-right,0);text-overflow:ellipsis;top:var(--fa-top,0);-webkit-transform:scale(var(--fa-counter-scale,.25));transform:scale(var(--fa-counter-scale,.25));-webkit-transform-origin:top right;transform-origin:top right}.fa-layers-bottom-right{bottom:var(--fa-bottom,0);right:var(--fa-right,0);top:auto;-webkit-transform:scale(var(--fa-layers-scale,.25));transform:scale(var(--fa-layers-scale,.25));-webkit-transform-origin:bottom right;transform-origin:bottom right}.fa-layers-bottom-left{bottom:var(--fa-bottom,0);left:var(--fa-left,0);right:auto;top:auto;-webkit-transform:scale(var(--fa-layers-scale,.25));transform:scale(var(--fa-layers-scale,.25));-webkit-transform-origin:bottom left;transform-origin:bottom left}.fa-layers-top-right{top:var(--fa-top,0);right:var(--fa-right,0);-webkit-transform:scale(var(--fa-layers-scale,.25));transform:scale(var(--fa-layers-scale,.25));-webkit-transform-origin:top right;transform-origin:top right}.fa-layers-top-left{left:var(--fa-left,0);right:auto;top:var(--fa-top,0);-webkit-transform:scale(var(--fa-layers-scale,.25));transform:scale(var(--fa-layers-scale,.25));-webkit-transform-origin:top left;transform-origin:top left}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-2xs{font-size:.625em;line-height:.1em;vertical-align:.225em}.fa-xs{font-size:.75em;line-height:.08333em;vertical-align:.125em}.fa-sm{font-size:.875em;line-height:.07143em;vertical-align:.05357em}.fa-lg{font-size:1.25em;line-height:.05em;vertical-align:-.075em}.fa-xl{font-size:1.5em;line-height:.04167em;vertical-align:-.125em}.fa-2xl{font-size:2em;line-height:.03125em;vertical-align:-.1875em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:var(--fa-li-margin,2.5em);padding-left:0}.fa-ul>li{position:relative}.fa-li{left:calc(var(--fa-li-width, 2em) * -1);position:absolute;text-align:center;width:var(--fa-li-width,2em);line-height:inherit}.fa-border{border-color:var(--fa-border-color,#eee);border-radius:var(--fa-border-radius,.1em);border-style:var(--fa-border-style,solid);border-width:var(--fa-border-width,.08em);padding:var(--fa-border-padding,.2em .25em .15em)}.fa-pull-left{float:left;margin-right:var(--fa-pull-margin,.3em)}.fa-pull-right{float:right;margin-left:var(--fa-pull-margin,.3em)}.fa-beat{-webkit-animation-name:fa-beat;animation-name:fa-beat;-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,ease-in-out);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-bounce{-webkit-animation-name:fa-bounce;animation-name:fa-bounce;-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,cubic-bezier(.28,.84,.42,1));animation-timing-function:var(--fa-animation-timing,cubic-bezier(.28,.84,.42,1))}.fa-fade{-webkit-animation-name:fa-fade;animation-name:fa-fade;-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1));animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1))}.fa-beat-fade,.fa-fade{-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s)}.fa-beat-fade{-webkit-animation-name:fa-beat-fade;animation-name:fa-beat-fade;-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1));animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1))}.fa-flip{-webkit-animation-name:fa-flip;animation-name:fa-flip;-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,ease-in-out);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-shake{-webkit-animation-name:fa-shake;animation-name:fa-shake;-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,linear);animation-timing-function:var(--fa-animation-timing,linear)}.fa-shake,.fa-spin{-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal)}.fa-spin{-webkit-animation-name:fa-spin;animation-name:fa-spin;-webkit-animation-duration:var(--fa-animation-duration,2s);animation-duration:var(--fa-animation-duration,2s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,linear);animation-timing-function:var(--fa-animation-timing,linear)}.fa-spin-reverse{--fa-animation-direction:reverse}.fa-pulse,.fa-spin-pulse{-webkit-animation-name:fa-spin;animation-name:fa-spin;-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,steps(8));animation-timing-function:var(--fa-animation-timing,steps(8))}@media (prefers-reduced-motion:reduce){.fa-beat,.fa-beat-fade,.fa-bounce,.fa-fade,.fa-flip,.fa-pulse,.fa-shake,.fa-spin,.fa-spin-pulse{-webkit-animation-delay:-1ms;animation-delay:-1ms;-webkit-animation-duration:1ms;animation-duration:1ms;-webkit-animation-iteration-count:1;animation-iteration-count:1;-webkit-transition-delay:0s;transition-delay:0s;-webkit-transition-duration:0s;transition-duration:0s}}@-webkit-keyframes fa-beat{0%,90%{-webkit-transform:scale(1);transform:scale(1)}45%{-webkit-transform:scale(var(--fa-beat-scale,1.25));transform:scale(var(--fa-beat-scale,1.25))}}@keyframes fa-beat{0%,90%{-webkit-transform:scale(1);transform:scale(1)}45%{-webkit-transform:scale(var(--fa-beat-scale,1.25));transform:scale(var(--fa-beat-scale,1.25))}}@-webkit-keyframes fa-bounce{0%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}10%{-webkit-transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0);transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0)}30%{-webkit-transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em));transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em))}50%{-webkit-transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0);transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0)}57%{-webkit-transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em));transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em))}64%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}to{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}}@keyframes fa-bounce{0%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}10%{-webkit-transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0);transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0)}30%{-webkit-transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em));transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em))}50%{-webkit-transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0);transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0)}57%{-webkit-transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em));transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em))}64%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}to{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}}@-webkit-keyframes fa-fade{50%{opacity:var(--fa-fade-opacity,.4)}}@keyframes fa-fade{50%{opacity:var(--fa-fade-opacity,.4)}}@-webkit-keyframes fa-beat-fade{0%,to{opacity:var(--fa-beat-fade-opacity,.4);-webkit-transform:scale(1);transform:scale(1)}50%{opacity:1;-webkit-transform:scale(var(--fa-beat-fade-scale,1.125));transform:scale(var(--fa-beat-fade-scale,1.125))}}@keyframes fa-beat-fade{0%,to{opacity:var(--fa-beat-fade-opacity,.4);-webkit-transform:scale(1);transform:scale(1)}50%{opacity:1;-webkit-transform:scale(var(--fa-beat-fade-scale,1.125));transform:scale(var(--fa-beat-fade-scale,1.125))}}@-webkit-keyframes fa-flip{50%{-webkit-transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg));transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg))}}@keyframes fa-flip{50%{-webkit-transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg));transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg))}}@-webkit-keyframes fa-shake{0%{-webkit-transform:rotate(-15deg);transform:rotate(-15deg)}4%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}24%,8%{-webkit-transform:rotate(-18deg);transform:rotate(-18deg)}12%,28%{-webkit-transform:rotate(18deg);transform:rotate(18deg)}16%{-webkit-transform:rotate(-22deg);transform:rotate(-22deg)}20%{-webkit-transform:rotate(22deg);transform:rotate(22deg)}32%{-webkit-transform:rotate(-12deg);transform:rotate(-12deg)}36%{-webkit-transform:rotate(12deg);transform:rotate(12deg)}40%,to{-webkit-transform:rotate(0deg);transform:rotate(0deg)}}@keyframes fa-shake{0%{-webkit-transform:rotate(-15deg);transform:rotate(-15deg)}4%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}24%,8%{-webkit-transform:rotate(-18deg);transform:rotate(-18deg)}12%,28%{-webkit-transform:rotate(18deg);transform:rotate(18deg)}16%{-webkit-transform:rotate(-22deg);transform:rotate(-22deg)}20%{-webkit-transform:rotate(22deg);transform:rotate(22deg)}32%{-webkit-transform:rotate(-12deg);transform:rotate(-12deg)}36%{-webkit-transform:rotate(12deg);transform:rotate(12deg)}40%,to{-webkit-transform:rotate(0deg);transform:rotate(0deg)}}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.fa-rotate-90{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-webkit-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-webkit-transform:scaleX(-1);transform:scaleX(-1)}.fa-flip-vertical{-webkit-transform:scaleY(-1);transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{-webkit-transform:scale(-1);transform:scale(-1)}.fa-rotate-by{-webkit-transform:rotate(var(--fa-rotate-angle,0));transform:rotate(var(--fa-rotate-angle,0))}.fa-stack{display:inline-block;vertical-align:middle;height:2em;position:relative;width:2.5em}.fa-stack-1x,.fa-stack-2x{bottom:0;left:0;margin:auto;position:absolute;right:0;top:0;z-index:var(--fa-stack-z-index,auto)}.svg-inline--fa.fa-stack-1x{height:1em;width:1.25em}.svg-inline--fa.fa-stack-2x{height:2em;width:2.5em}.fa-inverse{color:var(--fa-inverse,#fff)}.fa-sr-only,.fa-sr-only-focusable:not(:focus),.sr-only,.sr-only-focusable:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.svg-inline--fa .fa-primary{fill:var(--fa-primary-color,currentColor);opacity:var(--fa-primary-opacity,1)}.svg-inline--fa .fa-secondary{fill:var(--fa-secondary-color,currentColor)}.svg-inline--fa .fa-secondary,.svg-inline--fa.fa-swap-opacity .fa-primary{opacity:var(--fa-secondary-opacity,.4)}.svg-inline--fa.fa-swap-opacity .fa-secondary{opacity:var(--fa-primary-opacity,1)}.svg-inline--fa mask .fa-primary,.svg-inline--fa mask .fa-secondary{fill:#000}.fa-duotone.fa-inverse,.fad.fa-inverse{color:var(--fa-inverse,#fff)}.footer{border-top:1px solid var(--sc-color-border);display:flex;position:absolute;bottom:0;z-index:90;width:100%;background-color:var(--sc-color-bg);align-items:center;padding:.5em 1em;flex-wrap:wrap;transition:background-color var(--sc-duration-base) var(--sc-ease),border-color var(--sc-duration-base) var(--sc-ease)}.footer img{width:20px;height:20px;border-radius:var(--sc-radius-full);opacity:.6;object-fit:cover}@media(max-width:780px){.footer{position:relative}}.footer ul{list-style-type:none;margin:0;padding:0;align-items:center;display:flex;flex-wrap:wrap;gap:0 1em;font-size:var(--sc-text-sm);color:var(--sc-color-text-muted)}@media(max-width:780px){.footer ul{padding:1em 0}}.footer ul li{display:flex}.footer ul li a{text-decoration:none;color:var(--sc-color-text-muted);padding:.7em 0;margin:-.7em 0;display:flex;align-items:center}.footer ul li a:hover{color:var(--sc-color-accent)}.reading-progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:200;background:transparent;pointer-events:none}.reading-progress-bar{height:100%;width:100%;transform-origin:left;transform:scaleX(0);background-color:var(--sc-color-accent)}.article{font-size:var(--sc-text-base);line-height:var(--sc-leading-normal);max-width:var(--sc-measure);margin:0 auto;padding-bottom:3em;position:relative;word-wrap:break-word;flex-direction:column}.article,.article li,.article p{color:var(--sc-color-text)}.article a{text-decoration:underline;text-decoration-color:var(--sc-color-border-strong);text-underline-offset:2px;color:var(--sc-color-accent)}.article h1{font-weight:800;letter-spacing:-.02em;line-height:var(--sc-leading-tight);font-size:var(--sc-text-2xl);margin:.2em 0 .4em}@media(max-width:780px){.article h1{line-height:1.15;font-weight:800}}.article h2,.article h3,.article h4{font-weight:700;letter-spacing:-.01em;scroll-margin-top:calc(var(--sc-header-height) + var(--sc-space-4))}.article h2{font-size:var(--sc-text-xl)}.article h3{font-size:var(--sc-text-lg)}.article h4{font-size:var(--sc-text-md)}.article img:not(.code-block img){max-width:100%;border-radius:var(--sc-radius-md)}.article a{padding:.5em 0;margin:-.5em 0}.article .metadata{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:var(--sc-space-4);flex-wrap:wrap}.article .metadata a{text-decoration:none;font-weight:700}@media(max-width:780px){.article .metadata{padding:1em 0}}.article ul.info{display:inline-flex;padding:0;margin:0;font-family:var(--sc-font-mono);font-size:var(--sc-text-sm);color:var(--sc-color-text-muted)}.article ul.info li{display:flex;align-items:center;padding:0 .75em;position:relative}.article ul.info li .likeBtn{cursor:pointer;color:var(--sc-color-accent);background:none;font-weight:700;border:1px solid var(--sc-color-accent);border-radius:var(--sc-radius-sm);min-height:44px;padding:0 .9em}.article ul.info li .likeBtn:hover{color:var(--sc-color-accent-contrast);background-color:var(--sc-color-accent)}.article ul.info li a{color:var(--sc-color-text-muted);text-decoration:none;display:inline-flex;align-items:center;padding:.7em 0;margin:-.7em 0}.article ul.info li a:hover{color:var(--sc-color-accent)}.article ul.info li:not(:first-of-type):before{content:"•";color:var(--sc-color-border-strong);position:absolute;top:50%;transform:translateY(-50%);line-height:1;font-size:.8em;left:-.15em}.article ul.info li:first-of-type{padding-left:0}@media(max-width:780px){.article ul.info{flex-direction:column}.article ul.info li{padding:0}.article ul.info li:not(:first-of-type):before{content:""}}.article .share-row{display:flex;align-items:center;gap:var(--sc-space-2);padding:0;margin:0;list-style:none}.article .share-row a,.article .share-row button{display:flex;align-items:center;gap:.4em;width:32px;height:32px;border-radius:var(--sc-radius-full);color:var(--sc-color-text-muted);background:transparent;border:1px solid var(--sc-color-border);justify-content:center;cursor:pointer;font:inherit;transition:color var(--sc-duration-fast) var(--sc-ease),border-color var(--sc-duration-fast) var(--sc-ease)}.article .share-row a:hover,.article .share-row button:hover{color:var(--sc-color-accent);border-color:var(--sc-color-accent)}.article .share-row button{width:auto;padding:0 .9em}.article .share-row .copy-label{font-family:var(--sc-font-mono);font-size:var(--sc-text-xs)}.article .category{text-decoration:none;color:var(--sc-color-accent);display:flex;font-family:var(--sc-font-mono);font-size:var(--sc-text-sm);text-transform:uppercase;letter-spacing:.04em;padding:.5em 0;font-weight:600}@media(max-width:780px){.article .category{padding-top:0}}.article .img{display:flex;position:relative;max-width:100%;overflow:hidden;border-radius:var(--sc-radius-md);aspect-ratio:16/9}@media(min-width:780px){.article .img{margin-right:1em}}@media(max-width:780px){.article img{max-width:100%}}.article hr{border:none;border-top:1px solid var(--sc-color-border);margin:2em 0}.article figure{margin:1.5em 0}.article figure img{display:block;margin:0 auto}.article figure figcaption{margin-top:.5em;font-size:var(--sc-text-sm);color:var(--sc-color-text-muted);text-align:center}.article figure.w-wide{width:min(var(--sc-measure)*1.4,100%);margin-left:50%;transform:translateX(-50%)}.article figure.w-full{width:100vw;margin-left:calc(50% - 50vw);max-width:100vw}.article figure.w-full img{border-radius:0;width:100%}.article .table-of-contents{border:1px solid var(--sc-color-border);border-radius:var(--sc-radius-md);padding:1em 1.25em;margin:1.5em 0}.article .table-of-contents .title{font-family:var(--sc-font-mono);font-size:var(--sc-text-xs);font-weight:500;letter-spacing:.04em;text-transform:uppercase;margin:0 0 .5em;color:var(--sc-color-text-muted)}.article .table-of-contents ul{list-style:none;margin:0;padding:0}.article .table-of-contents li{margin:.35em 0}.article .table-of-contents li a{color:var(--sc-color-accent);text-decoration:none;display:inline-flex;align-items:center;padding:.55em 0;margin:-.55em 0}.article .table-of-contents li a:hover{text-decoration:underline}.article .table-of-contents li.level-3{margin-left:1em;font-size:.9em}.article .code-block{position:relative;margin:1.5em 0}.article .code-block .code-copy{position:absolute;top:.6em;right:.6em;z-index:1;font-family:var(--sc-font-mono);font-size:var(--sc-text-xs);color:var(--sc-color-text-muted);background-color:var(--sc-color-surface);border:1px solid var(--sc-color-border);border-radius:var(--sc-radius-sm);padding:.25em .6em;min-height:44px;display:inline-flex;align-items:center;cursor:pointer;opacity:0;transition:opacity var(--sc-duration-fast) var(--sc-ease),color var(--sc-duration-fast) var(--sc-ease)}@media(hover:none){.article .code-block .code-copy{opacity:1}}.article .code-block .code-copy:hover{color:var(--sc-color-accent)}.article .code-block:focus-within .code-copy,.article .code-block:hover .code-copy{opacity:1}.article .code-block pre.shiki{margin:0;padding:1.25em;border-radius:var(--sc-radius-md);border:1px solid var(--sc-code-border);overflow-x:auto;font-size:.9em;line-height:1.6;color:var(--shiki-light);background-color:var(--shiki-light-bg)!important}.article .code-block pre.shiki code{font-family:var(--sc-font-mono)}.article .code-block pre.shiki .line span{color:var(--shiki-light)}.article pre:not(.shiki){white-space:pre-wrap;word-wrap:break-word;overflow-wrap:break-word;max-width:100%;overflow-x:auto;padding:1em;background-color:var(--sc-color-surface);border:1px solid var(--sc-color-border);border-radius:var(--sc-radius-md);font-family:var(--sc-font-mono)}.article .article-cta{display:flex;flex-wrap:wrap;gap:1.5em;align-items:center;justify-content:space-between;border-top:1px solid var(--sc-color-border);border-bottom:1px solid var(--sc-color-border);padding:1.5em 0;margin:2em 0}.article .article-cta .newsletter{flex:2;min-width:240px}.article .article-cta .newsletter h3{margin:0 0 .25em}.article .article-cta .newsletter p{margin:0 0 .75em;color:var(--sc-color-text-muted)}.article .article-cta .book{flex:1;min-width:160px;display:flex;align-items:center;gap:.75em;text-decoration:none;color:var(--sc-color-text)}.article .article-cta .book img{width:60px;height:auto;border-radius:var(--sc-radius-sm)}.article .article-cta .book span{font-weight:600}.article .article-cta .book:hover span{color:var(--sc-color-accent)}.article .related-reading{margin:2em 0}.article .related-reading h3{font-family:var(--sc-font-mono);font-size:var(--sc-text-xs);font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:var(--sc-color-text-muted);margin-bottom:.75em}.article .related-reading ul{list-style:none;margin:0;padding:0}.article .related-reading li{border-bottom:1px solid var(--sc-color-border);padding:.75em 0}.article .related-reading li:last-of-type{border-bottom:none}.article .related-reading li a{display:flex;justify-content:space-between;align-items:baseline;gap:1em;text-decoration:none;color:var(--sc-color-text)}.article .related-reading li a .title{font-weight:600}.article .related-reading li a .meta{white-space:nowrap;font-family:var(--sc-font-mono);color:var(--sc-color-text-muted);font-size:.8em}.article .related-reading li a:hover .title{color:var(--sc-color-accent)}[data-theme=dark] .article .code-block pre.shiki{color:var(--shiki-dark);background-color:var(--shiki-dark-bg)!important}[data-theme=dark] .article .code-block pre.shiki .line span{color:var(--shiki-dark)}