.pub,.pub-footer{--pub-midnight:#070b1a;--pub-deep-sea:#0e1b33;--pub-cyan:#00d4ff;--pub-mint:#00ffbf;--pub-fog:#aec2d6;--pub-fog-dim:#8fa3b8;--pub-chalk:#f3f8ff;--pub-gradient:linear-gradient(135deg,#00d4ff,#00ffbf);--pub-border:1px solid rgba(174,194,214,.12);--pub-radius:16px;--pub-pill:999px;--pub-fs-1:3.5rem;--pub-fs-2:2.5rem;--pub-fs-3:1.75rem;--pub-fs-4:1.25rem;--pub-fs-body:1.0625rem;--pub-fs-small:0.9375rem;--pub-fs-min:0.875rem;--pub-measure:70ch;--pub-grid:1040px;--pub-gutter:16px}.pub{min-height:100vh;background:var(--pub-midnight);color:var(--pub-chalk);font-family:var(--font-dm-sans),ui-sans-serif,system-ui,sans-serif;font-size:var(--pub-fs-body);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-wrap:anywhere}.pub h1,.pub h2,.pub h3{font-family:var(--font-sora),var(--font-dm-sans),ui-sans-serif,system-ui,sans-serif;letter-spacing:-.02em;line-height:1.15}.pub a{text-underline-offset:3px}.pub a:focus-visible,.pub button:focus-visible,.pub label:focus-visible,.pub summary:focus-visible{outline:2px solid var(--pub-cyan);outline-offset:2px}.pub .text-\[10px\],.pub .text-\[11px\],.pub .text-\[12px\],.pub .text-\[13px\],.pub .text-xs{font-size:var(--pub-fs-min);line-height:1.45}.pub .font-mono{font-family:var(--font-dm-sans),ui-sans-serif,system-ui,sans-serif}.pub .text-white\/20,.pub .text-white\/25,.pub .text-white\/30,.pub .text-white\/35,.pub .text-white\/40,.pub .text-white\/45{color:var(--pub-fog-dim)}html.gather-android .pub-app .pub-header,html.gather-android .pub-badges,html.gather-android .pub-nav a.pub-cta,html.gather-android .pub-nav-install{display:none}.pub.pub-app{background:hsl(var(--background));color:hsl(var(--foreground))}.pub.pub-app,.pub.pub-app h1,.pub.pub-app h2,.pub.pub-app h3{font-family:inherit}.pub.pub-app a:focus-visible,.pub.pub-app button:focus-visible{outline-color:hsl(var(--ring))}.pub.pub-app .pub-footer{background:hsl(var(--card));color:hsl(var(--muted-foreground));border-top:1px solid var(--gt-separator);font-family:inherit}.pub.pub-app .pub-footer a,.pub.pub-app .pub-footer a:hover,.pub.pub-app .pub-footer-about strong,.pub.pub-app .pub-footer-blog-title{color:hsl(var(--foreground))}.pub.pub-app .pub-pagination-wrap{background:transparent}.pub.pub-app nav[aria-label=Pagination] a,.pub.pub-app nav[aria-label=Pagination] span[aria-current=page]{color:hsl(var(--foreground));border-color:var(--gt-separator)}.pub.pub-app nav[aria-label=Pagination] a:hover{background:var(--gt-fill)}.pub.pub-app nav[aria-label=Pagination] span[aria-current=page]{background:var(--gt-fill-strong)}.pub-header{position:sticky;top:0;z-index:40;background:rgba(7,11,26,.92);backdrop-filter:blur(12px);border-bottom:var(--pub-border)}.pub-header-in{max-width:var(--pub-grid);margin:0 auto;padding:0 var(--pub-gutter);min-height:60px;display:flex;align-items:center;gap:8px}.pub-logo{display:inline-flex;align-items:center;gap:10px;min-height:44px;font-family:var(--font-sora),ui-sans-serif,system-ui,sans-serif;font-weight:700;font-size:1.125rem;color:var(--pub-chalk);text-decoration:none}.pub-logo img{border-radius:9px}.pub-toggle{position:absolute;opacity:0;pointer-events:none}.pub-burger{display:none;margin-left:auto;width:44px;height:44px;align-items:center;justify-content:center;border:var(--pub-border);border-radius:var(--pub-pill);cursor:pointer;color:var(--pub-chalk)}.pub-toggle:focus-visible+.pub-burger{outline:2px solid var(--pub-cyan);outline-offset:2px}.pub-nav{display:flex;align-items:center;gap:4px;margin-left:auto}.pub-lang>summary,.pub-nav a{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;color:var(--pub-fog);font-size:var(--pub-fs-small);font-weight:500;text-decoration:none;border-radius:var(--pub-pill);cursor:pointer;list-style:none}.pub-lang>summary::-webkit-details-marker{display:none}.pub-lang>summary:hover,.pub-nav a:hover{color:var(--pub-chalk)}.pub-nav a.pub-cta{color:#04121c;background:var(--pub-gradient);font-weight:700;margin-left:4px}.pub-nav a.pub-cta:hover{color:#04121c;filter:brightness(1.08)}.pub-lang{position:relative}.pub-lang-list{position:absolute;right:0;top:calc(100% + 6px);z-index:50;min-width:180px;background:var(--pub-deep-sea);border:var(--pub-border);border-radius:var(--pub-radius);padding:6px;display:grid;max-height:70vh;overflow:auto}.pub-lang-list a{border-radius:10px;min-height:44px}.pub-lang-list a[aria-current=true]{color:var(--pub-chalk);background:rgba(0,212,255,.1)}@media (max-width:767px){.pub-burger{display:inline-flex}.pub-nav{display:none;position:absolute;left:0;right:0;top:100%;margin:0;flex-direction:column;align-items:stretch;padding:8px var(--pub-gutter) 16px;background:var(--pub-midnight);border-bottom:var(--pub-border)}.pub-toggle:checked~.pub-nav{display:flex}.pub-nav a.pub-cta{justify-content:center;margin:6px 0 0}.pub-lang-list{position:static;margin-top:4px}}.pub-footer{font-family:var(--font-dm-sans),ui-sans-serif,system-ui,sans-serif;line-height:1.6;border-top:var(--pub-border);background:var(--pub-midnight);color:var(--pub-fog);font-size:var(--pub-fs-small)}.pub-footer-in{max-width:var(--pub-grid);margin:0 auto;padding:32px var(--pub-gutter) 40px;display:grid;gap:20px}.pub-footer ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:0 4px}.pub-footer a{color:var(--pub-fog);text-decoration:none;display:inline-flex;align-items:center;min-height:44px;padding:0 10px}.pub-footer a:hover{color:var(--pub-chalk);text-decoration:underline}.pub-footer li:first-child a{padding-left:0}.pub-footer-about{margin:0;max-width:var(--pub-measure);color:var(--pub-fog)}.pub-footer-about strong{color:var(--pub-chalk)}.pub-footer-blog-title{margin:0;color:var(--pub-chalk);font-weight:600}.pub-footer-blog ul{gap:0 4px}.pub-badges{display:flex;flex-wrap:wrap;gap:10px}.pub-footer a.pub-badge{border:var(--pub-border);border-radius:var(--pub-pill);padding:0 18px;background:var(--pub-deep-sea);color:var(--pub-chalk);font-weight:500;gap:8px}.pub-footer a.pub-badge:hover{border-color:rgba(0,212,255,.5);text-decoration:none}.pub-badge b{font-family:var(--font-sora),ui-sans-serif,sans-serif;font-weight:600}.pub-copy{margin:0;color:var(--pub-fog-dim);font-size:var(--pub-fs-min)}@media (max-width:1023px){html.gather-android .pub .pub-app-title,html.gather-signed-in .pub .pub-app-title{font-size:20px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}@font-face{font-family:__Sora_33eec2;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/c5f10e9e72d35c52-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-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Sora_33eec2;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/3dc379dc9b5dec12-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:__Sora_33eec2;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/c5f10e9e72d35c52-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-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Sora_33eec2;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/3dc379dc9b5dec12-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:__Sora_Fallback_33eec2;src:local("Arial");ascent-override:85.29%;descent-override:25.50%;line-gap-override:0.00%;size-adjust:113.73%}.__className_33eec2{font-family:__Sora_33eec2,__Sora_Fallback_33eec2;font-style:normal}.__variable_33eec2{--font-sora:"__Sora_33eec2","__Sora_Fallback_33eec2"}@font-face{font-family:__DM_Sans_cb1528;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/7ab938503e4547a1-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-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__DM_Sans_cb1528;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/13971731025ec697-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:__DM_Sans_cb1528;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/7ab938503e4547a1-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-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__DM_Sans_cb1528;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/13971731025ec697-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:__DM_Sans_cb1528;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/7ab938503e4547a1-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-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__DM_Sans_cb1528;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/13971731025ec697-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:__DM_Sans_Fallback_cb1528;src:local("Arial");ascent-override:94.90%;descent-override:29.66%;line-gap-override:0.00%;size-adjust:104.53%}.__className_cb1528{font-family:__DM_Sans_cb1528,__DM_Sans_Fallback_cb1528;font-style:normal}.__variable_cb1528{--font-dm-sans:"__DM_Sans_cb1528","__DM_Sans_Fallback_cb1528"}