@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-cyrillic-ext-wght-normal.DjL33-gN.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:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-cyrillic-wght-normal.BEAKL7Jp.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-vietnamese-wght-normal.6IgcOCM7.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:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-latin-ext-wght-normal.DC-KSUi6.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:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-latin-wght-normal.BgDaEnEv.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:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-cyrillic-ext-wght-normal.X_5orZeX.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:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-cyrillic-wght-normal.DiZS0aHC.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-symbols2-wght-normal.CO5SzqOn.woff2)format("woff2-variations");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-vietnamese-wght-normal.DadHysG0.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:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-latin-ext-wght-normal.Bwz-egvJ.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:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-latin-wght-normal.XN7g48iV.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{color-scheme:light dark;--bg:light-dark(#fff,#08090a);--bg-2:light-dark(#f6f7f9,#0e0f11);--surface:light-dark(#fff,#101113);--border:light-dark(#e7e8ec,#1d1e22);--border-hi:light-dark(#d2d4da,#2a2c31);--text:light-dark(#0b0c0e,#f7f8f8);--muted:light-dark(#5f6470,#8a8f98);--brand:light-dark(#5b5bd6,#8b8cff);--brand-2:light-dark(#8e4ec6,#c18cff);--brand-dim:light-dark(#5b5bd61f,#8b8cff1f);--ok:light-dark(#18794e,#4cc38a);--ok-dim:light-dark(#18794e1a,#4cc38a1a);--amber:light-dark(#ad5700,#f2c94c);--accent:var(--brand);--violet:var(--brand-2);--heat-0:light-dark(#eef0f3,#16171a);--heat-1:light-dark(#d4d4fb,#23244a);--heat-2:light-dark(#a9aaf5,#3a3c86);--heat-3:light-dark(#7d7eea,#5e60d1);--heat-4:light-dark(#5b5bd6,#8b8cff);--font-display:"Geist Mono Variable", ui-monospace, monospace;--font-sans:"Geist Variable", ui-sans-serif, -apple-system, sans-serif;--radius:12px;--max:1160px;--ease:cubic-bezier(.16, 1, .3, 1);--shadow:0 1px 0 0 light-dark(#fff,#ffffff0a) inset, 0 12px 32px -16px rgb(0 0 0/light-dark(.12,.6))}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:80px}body{background:var(--bg);color:var(--text);font:15.5px/1.65 var(--font-sans);letter-spacing:-.006em;-webkit-font-smoothing:antialiased;margin:0;overflow-x:clip}body:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(900px 420px at 18% -8%, color-mix(in srgb, var(--brand) 16%, transparent), transparent 70%), radial-gradient(700px 380px at 82% -12%, color-mix(in srgb, var(--brand-2) 12%, transparent), transparent 70%), radial-gradient(600px 300px at 50% -20%, #38bdf812, transparent 70%);position:fixed;inset:0}img{max-width:100%;height:auto;display:block}a{color:var(--brand);text-underline-offset:3px;text-decoration-color:color-mix(in srgb, currentColor 40%, transparent)}::selection{background:color-mix(in srgb, var(--brand) 35%, transparent);color:var(--text)}:focus-visible{outline:2px solid var(--brand);outline-offset:3px;border-radius:6px}code,kbd,pre,.mono{font-family:var(--font-display)}.wrap{max-width:var(--max);margin:0 auto;padding-inline:24px}section{padding:120px 0 0}section:last-of-type{padding-bottom:120px}h1,h2,h3{letter-spacing:-.025em;margin:0 0 16px;font-weight:600;line-height:1.15}h2{font-size:clamp(24px,3vw,34px)}h3{letter-spacing:-.015em;font-size:16px}p{margin:0 0 16px}.muted{color:var(--muted)}.lead{color:var(--muted);max-width:60ch;font-size:17px}.gradient-text{background:linear-gradient(95deg, var(--brand), var(--brand-2));color:#0000;-webkit-background-clip:text;background-clip:text}.card{isolation:isolate;background:linear-gradient(180deg, color-mix(in srgb, var(--surface) 96%, transparent), color-mix(in srgb, var(--surface) 80%, transparent));border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);min-width:0;transition:border-color .4s var(--ease), box-shadow .4s var(--ease);padding:24px;position:relative}.card:before{content:"";z-index:-1;border-radius:inherit;opacity:0;pointer-events:none;background:radial-gradient(380px circle at var(--mx,50%) var(--my,50%), color-mix(in srgb, var(--brand) 9%, transparent), transparent 65%);transition:opacity .4s var(--ease);position:absolute;inset:-1px}.card:hover{border-color:var(--border-hi)}.card:hover:before{opacity:1}.btn{border:1px solid var(--border-hi);background:color-mix(in srgb, var(--surface) 80%, transparent);color:var(--text);font:500 14px/1 var(--font-sans);cursor:pointer;box-shadow:var(--shadow);transition:border-color .25s var(--ease), background .25s var(--ease), transform .25s var(--ease);border-radius:10px;align-items:center;gap:8px;padding:10px 16px;text-decoration:none;display:inline-flex}.btn:hover{border-color:color-mix(in srgb, var(--text) 25%, transparent)}.btn.primary{background:var(--text);border-color:var(--text);color:var(--bg)}.btn.primary:hover{background:color-mix(in srgb, var(--text) 88%, var(--brand))}.btn .arrow{transition:transform .25s var(--ease)}.btn:hover .arrow{transform:translate(2px)}.chip{border:1px solid var(--border);font:450 11.5px/1.5 var(--font-display);color:var(--muted);background:color-mix(in srgb, var(--bg-2) 70%, transparent);border-radius:6px;padding:3px 9px;display:inline-block}.chips{flex-wrap:wrap;gap:6px;display:flex}.dot{background:var(--ok);border-radius:50%;flex:none;width:7px;height:7px;display:inline-block;position:relative}.dot:after{content:"";animation:pulse 2.4s var(--ease) infinite;border-radius:50%;position:absolute;inset:0}@keyframes pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--ok) 60%, transparent)}to{box-shadow:0 0 0 8px #0000}}.progress{z-index:50;transform-origin:0;background:linear-gradient(90deg, var(--brand), var(--brand-2));height:2px;position:fixed;inset:0 0 auto;transform:scaleX(0)}@supports (animation-timeline:scroll()){.progress{animation:linear both grow scroll(root)}@keyframes grow{to{transform:scaleX(1)}}}@supports (animation-timeline:view()){.reveal{animation:linear both rise view();animation-range:entry entry 35%}@keyframes rise{0%{opacity:0;transform:translateY(16px)}}}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}::view-transition-old(root),::view-transition-new(root){mix-blend-mode:normal;animation:none}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.progress{display:none}}.palette[data-astro-cid-n5udgzh5]{background:var(--surface);width:min(640px,100vw - 32px);color:var(--text);border:1px solid var(--border);border-radius:12px;margin:12vh auto auto;padding:0;box-shadow:0 24px 64px #00000059}.palette[data-astro-cid-n5udgzh5]::backdrop{backdrop-filter:blur(2px);background:#0104098c}.prompt[data-astro-cid-n5udgzh5]{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:14px 16px;display:flex}.prompt[data-astro-cid-n5udgzh5] label[data-astro-cid-n5udgzh5]{color:var(--violet);font-weight:700}.prompt[data-astro-cid-n5udgzh5] input[data-astro-cid-n5udgzh5]{color:var(--text);background:0 0;border:0;outline:none;flex:1;font-size:15px}.prompt[data-astro-cid-n5udgzh5] kbd[data-astro-cid-n5udgzh5]{color:var(--muted);border:1px solid var(--border);border-radius:4px;padding:1px 6px;font-size:11px}ul[data-astro-cid-n5udgzh5]{max-height:50vh;margin:0;padding:6px;list-style:none;overflow:auto}li[data-astro-cid-n5udgzh5]{cursor:pointer;border-radius:6px;align-items:baseline;gap:16px;padding:8px 10px;font-size:14px;display:flex}li[data-astro-cid-n5udgzh5][aria-selected=true],li[data-astro-cid-n5udgzh5]:hover{background:color-mix(in srgb, var(--accent) 14%, transparent)}.cmd[data-astro-cid-n5udgzh5]{color:var(--accent);min-width:88px}.out[data-astro-cid-n5udgzh5]{color:var(--brand);white-space:pre-wrap;padding:0 16px 14px;font-size:13px;display:block}.out[data-astro-cid-n5udgzh5]:empty{display:none}.site-header[data-astro-cid-hkbrpulz]{z-index:20;margin-top:12px;position:sticky;top:12px}nav[data-astro-cid-hkbrpulz]{height:56px;max-width:calc(var(--max) - 48px);background:color-mix(in srgb, var(--surface) 72%, transparent);backdrop-filter:blur(14px)saturate(1.4);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:14px;align-items:center;gap:28px;padding-inline:12px 8px;display:flex}.brand[data-astro-cid-hkbrpulz]{color:var(--text);align-items:center;gap:10px;padding-left:10px;font-size:14px;font-weight:600;text-decoration:none;display:flex}.tld[data-astro-cid-hkbrpulz]{color:var(--muted)}nav[data-astro-cid-hkbrpulz] ul[data-astro-cid-hkbrpulz]{gap:4px;margin:0 auto 0 0;padding:0;list-style:none;display:flex}nav[data-astro-cid-hkbrpulz] ul[data-astro-cid-hkbrpulz] a[data-astro-cid-hkbrpulz]{color:var(--muted);border-radius:8px;padding:6px 12px;font-size:14px;text-decoration:none;transition:color .2s,background .2s;display:block}nav[data-astro-cid-hkbrpulz] ul[data-astro-cid-hkbrpulz] a[data-astro-cid-hkbrpulz]:hover{color:var(--text)}nav[data-astro-cid-hkbrpulz] ul[data-astro-cid-hkbrpulz] a[data-astro-cid-hkbrpulz][aria-current]{color:var(--text);background:color-mix(in srgb, var(--text) 7%, transparent)}.tools[data-astro-cid-hkbrpulz]{gap:6px;display:flex}.icon-btn[data-astro-cid-hkbrpulz]{border:1px solid var(--border);min-width:38px;height:38px;color:var(--muted);cursor:pointer;background:0 0;border-radius:8px;justify-content:center;align-items:center;padding:0 10px;transition:color .2s,border-color .2s;display:inline-flex}.icon-btn[data-astro-cid-hkbrpulz]:hover{color:var(--text);border-color:var(--brand)}.icon-btn[data-astro-cid-hkbrpulz] kbd[data-astro-cid-hkbrpulz]{font-size:11px}.icon-btn[data-astro-cid-hkbrpulz] svg[data-astro-cid-hkbrpulz]{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;width:16px;height:16px}.moon[data-astro-cid-hkbrpulz],html[style*=light] .sun[data-astro-cid-hkbrpulz]{display:none}html[style*=light] .moon[data-astro-cid-hkbrpulz]{display:block}@media (width<=720px){nav[data-astro-cid-hkbrpulz] ul[data-astro-cid-hkbrpulz]{display:none}nav[data-astro-cid-hkbrpulz]{justify-content:space-between;margin-inline:12px}}.site-footer[data-astro-cid-hkbrpulz]{border-top:1px solid var(--border);color:var(--muted);padding:28px 0;font-size:11px}.site-footer[data-astro-cid-hkbrpulz] .wrap[data-astro-cid-hkbrpulz]{flex-wrap:wrap;justify-content:space-between;gap:10px;display:flex}.site-footer[data-astro-cid-hkbrpulz] a[data-astro-cid-hkbrpulz]{color:var(--muted)}
