@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-cyrillic-ext-wght-normal.BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-cyrillic-wght-normal.DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-greek-ext-wght-normal.DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-greek-wght-normal.CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-vietnamese-wght-normal.CBcvBZtf.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-latin-ext-wght-normal.DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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 Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-latin-wght-normal.Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Sora Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/sora-latin-ext-wght-normal.CawQDOvP.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Sora Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/sora-latin-wght-normal.DdqRvwsR.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--brand-indigo:#160850;--brand-violet:#6020cc;--brand-cyan:#1fd8e6;--bg:#0a0424;--surface:#130937;--surface-2:#1b0f4a;--line:#2c1f63;--text:#f3f0ff;--body:#bdb4e0;--muted:#8a80b5;--accent:#1fd8e6;--on-accent:#160850;--violet:#7c3aed;--violet-hi:#9b6bff;--wordmark-desk:#b794ff;--live:#5ee3a1;--font-display:"Sora", ui-sans-serif, system-ui, sans-serif;--font-text:"Inter", ui-sans-serif, system-ui, sans-serif;--font-mono:ui-monospace, "SF Mono", Consolas, monospace;--step-display:clamp(2.5rem, 5vw, 3.75rem);--step-h2:clamp(1.875rem, 3.2vw, 2.5rem);--step-h3:1.1875rem;--step-body:1rem;--step-lede:1.125rem;--step-small:.8125rem;--radius-pill:999px;--radius-tile:20px;--radius-inner:12px;--space-section:clamp(3.5rem, 8vw, 5rem);--container:1200px;--gutter:clamp(1rem, 3vw, 1.75rem)}.reading{--bg:#fff;--surface:#f7f5fc;--surface-2:#f3eefd;--line:#e8e5f2;--text:#160850;--body:#4a4566;--muted:#6e6a85;--accent:#6020cc;--on-accent:#fff;--violet-hi:#6020cc;--wordmark-desk:#6020cc;--cyan-ink:#067a85;--live:#0b6b35}:root{--font-display:"Sora Variable", "Sora", ui-sans-serif, system-ui, sans-serif;--font-text:"Inter Variable", "Inter", ui-sans-serif, system-ui, sans-serif;color-scheme:dark}.reading{color-scheme:light}*,:before,:after{box-sizing:border-box}body{background:var(--bg);color:var(--body);font:var(--step-body) / 1.6 var(--font-text);-webkit-font-smoothing:antialiased;margin:0}h1,h2,h3,h4{font-family:var(--font-display);color:var(--text);letter-spacing:-.02em;margin:0 0 .5em;font-weight:600}h1{font-size:var(--step-display);line-height:1.08}h2{font-size:var(--step-h2);line-height:1.15}h3{font-size:var(--step-h3)}.sentence{text-wrap:balance;display:block}p{margin:0 0 1em}a{color:var(--accent)}img{max-width:100%;height:auto}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.wrap{max-width:var(--container);padding:0 var(--gutter);margin:0 auto}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:var(--gutter);z-index:100;background:var(--accent);color:var(--on-accent);border-radius:var(--radius-pill);padding:.5rem 1rem;top:.5rem}.btn{border-radius:var(--radius-pill);border:1px solid var(--line);color:var(--text);white-space:nowrap;padding:.7rem 1.2rem;font-weight:600;text-decoration:none;display:inline-block}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.eyebrow{font:600 .75rem / 1 var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--accent);margin-bottom:1rem;display:inline-block}.reading .eyebrow{color:var(--cyan-ink)}@media (prefers-reduced-motion:no-preference){@view-transition{navigation:auto}.launchline{view-transition-name:launchline}.site-header{view-transition-name:site-header}::view-transition-old(root){animation:.16s ease-in both page-out}::view-transition-new(root){animation:.24s ease-out 60ms both page-in}}@keyframes page-out{to{opacity:0}}@keyframes page-in{0%{opacity:0;transform:translateY(6px)}}@media (hover:hover) and (pointer:fine){.glow{isolation:isolate;position:relative}.glow:before,.glow:after{content:"";border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .3s;position:absolute;inset:0}.glow:before{z-index:-1;background:radial-gradient(26rem circle at var(--gx,50%) var(--gy,50%), #1fd8e612, transparent 60%)}.glow:after{background:radial-gradient(16rem circle at var(--gx,50%) var(--gy,50%), #1fd8e6b3, transparent 70%);padding:1px;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0)}.glow-group:hover .glow:after,.glow:hover:before{opacity:1}}@media (prefers-reduced-motion:no-preference){.glint{background:linear-gradient(110deg, var(--text) 46%, var(--accent) 50%, var(--text) 54%) 100% 0 / 300% 100%;color:#0000;-webkit-background-clip:text;background-clip:text;animation:1.6s cubic-bezier(.4,0,.2,1) .5s both glint}}@keyframes glint{to{background-position:0 0}}.launchline{padding:.55rem var(--gutter);background:var(--surface);border-bottom:1px solid var(--line);color:var(--body);text-align:center;font-size:.85rem}.site-header{border-bottom:1px solid var(--line)}.site-header .bar{justify-content:space-between;align-items:center;gap:1.5rem;min-height:4.25rem;display:flex}.brand{flex-shrink:0;display:flex}.brand img{width:auto;height:28px;display:block}.site-header nav{align-items:center;gap:1.5rem;display:flex}.nav-links{align-items:center;gap:1.4rem;margin:0;padding:0;font-size:.94rem;list-style:none;display:flex}.nav-links a,.nav-links summary,.signin{color:var(--body);cursor:pointer;text-decoration:none}.nav-links a:hover,.nav-links summary:hover,.signin:hover,.nav-links a[aria-current=page]{color:var(--text)}.nav-actions{align-items:center;gap:1.2rem;display:flex}.dropdown{position:relative}.dropdown summary{list-style:none}.dropdown summary::-webkit-details-marker{display:none}.dropdown summary:after{content:" ▾"}.dropdown ul{z-index:20;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-inner);min-width:15rem;margin:0;padding:.5rem;list-style:none;position:absolute;top:calc(100% + .75rem);left:-1rem}.dropdown li a{border-radius:8px;padding:.5rem .75rem;display:block}.dropdown li a:hover{background:var(--surface-2)}.menu>summary{display:none}.menu::details-content{content-visibility:visible;display:contents}@media (width<=860px){.site-header .bar{flex-wrap:wrap}.menu>summary{cursor:pointer;border:1px solid var(--line);border-radius:var(--radius-inner);justify-content:center;align-items:center;width:2.75rem;height:2.75rem;list-style:none;display:flex}.menu>summary::-webkit-details-marker{display:none}.burger,.burger:before,.burger:after{background:var(--text);width:1.1rem;height:2px;display:block;position:relative}.burger:before,.burger:after{content:"";position:absolute}.burger:before{top:-6px}.burger:after{top:6px}.menu::details-content{content-visibility:hidden;display:block}.menu[open]::details-content{content-visibility:visible;display:contents}.menu[open]{display:contents}.menu[open]>nav{flex-direction:column;flex-basis:100%;order:3;align-items:stretch;padding:.5rem 0 1.25rem}.nav-links{flex-direction:column;align-items:stretch;gap:0}.nav-links>li>a,.nav-links summary{border-bottom:1px solid var(--line);padding:.75rem 0;display:block}.dropdown ul{background:0 0;border:0;padding:0 0 0 1rem;position:static}.nav-actions{flex-direction:column;align-items:stretch;padding-top:1rem}.nav-actions .btn{text-align:center}}.site-footer{margin-top:var(--space-section);border-top:1px solid var(--line);color:var(--muted);font-size:var(--step-small);padding:3rem 0 2rem}.footer-top{grid-template-columns:12rem 1fr;gap:2.5rem;display:grid}.footer-top>img{width:auto;height:24px}.footer-columns{grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:2rem;display:grid}.site-footer h2{font:600 .75rem / 1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text);margin-bottom:.9rem}.site-footer ul{margin:0;padding:0;list-style:none}.site-footer li{margin-bottom:.5rem}.site-footer a{color:var(--body);text-decoration:none}.site-footer a:hover{color:var(--text)}.footer-bottom{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;gap:1rem;margin-top:2.5rem;padding-top:1.5rem;display:flex}@media (width<=700px){.footer-top{grid-template-columns:1fr}}.prose{max-width:44rem;padding:var(--space-section) var(--gutter) 0;margin:0 auto}.prose h1{font-size:var(--step-h2)}.prose h2{margin-top:2.5rem;font-size:1.5rem}.prose h3{margin-top:2rem}.prose li{margin-bottom:.4rem}.prose table{border-collapse:collapse;width:100%;font-size:.94rem}.prose th,.prose td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:.6rem .5rem}.stub{padding-top:var(--space-section);padding-bottom:var(--space-section)}.stub .note{border:1px dashed var(--line);border-radius:var(--radius-inner);max-width:40rem;color:var(--muted);font:var(--step-small) / 1.5 var(--font-mono);padding:1rem 1.25rem}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}
