@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+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: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+0000-00FF,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 Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-cyrillic-ext-wght-normal.EocZY2iu.woff2) format("woff2-variations");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 Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-cyrillic-wght-normal.D73BlboJ.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-greek-wght-normal.Bw9x6K1M.woff2) format("woff2-variations");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 Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-vietnamese-wght-normal.Bt-aOZkq.woff2) format("woff2-variations");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 Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-latin-ext-wght-normal.DBQx-q_a.woff2) format("woff2-variations");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 Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-latin-wght-normal.B9CIFXIH.woff2) format("woff2-variations");unicode-range:U+0000-00FF,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}:root{--n-0: oklch(.125 .006 65);--n-1: oklch(.155 .007 65);--n-2: oklch(.195 .008 65);--n-3: oklch(.24 .009 65);--n-4: oklch(.32 .01 68);--n-5: oklch(.44 .01 70);--n-6: oklch(.66 .012 72);--n-7: oklch(.78 .012 75);--n-8: oklch(.9 .01 78);--n-9: oklch(.97 .008 82);--accent: oklch(.72 .19 47);--accent-hi: oklch(.8 .165 55);--accent-lo: oklch(.62 .185 42);--accent-ink: oklch(.17 .035 50);--accent-glow: oklch(.72 .19 47 / .3);--accent-line: oklch(.72 .19 47 / .28);--bg: var(--n-0);--bg-1: var(--n-1);--surface: var(--n-2);--card: var(--n-3);--border: oklch(.32 .01 68 / .55);--hairline: oklch(.44 .01 70 / .35);--text: var(--n-7);--text-hi: var(--n-9);--text-mut: var(--n-6);--text-faint:var(--n-5);--font-display: "Sora Variable", ui-sans-serif, system-ui, sans-serif;--font-mono: "JetBrains Mono Variable", ui-monospace, "SFMono-Regular", monospace;--fs-eyebrow: .75rem;--fs-sm: .844rem;--fs-base: 1rem;--fs-md: 1.333rem;--fs-lg: 1.777rem;--fs-xl: clamp(1.9rem, 1.4rem + 2.2vw, 2.369rem);--fs-2xl: clamp(2.4rem, 1.6rem + 3.4vw, 3.157rem);--fs-3xl: clamp(3rem, 1.8rem + 5vw, 4.209rem);--fs-hero: clamp(3.2rem, 1rem + 9vw, 7.2rem);--lh-tight: 1.02;--lh-snug: 1.18;--lh-body: 1.7;--tracking-eyebrow: .22em;--tracking-tight: -.03em;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in-out: cubic-bezier(.76, 0, .24, 1);--ease-emphasis: cubic-bezier(.22, 1, .36, 1);--dur-fast: .14s;--dur: .24s;--dur-slow: .52s;--r: 12px;--r-sm: 6px;--r-pill: 100px;--wrap: 1200px;--gutter: clamp(1.15rem, 4vw, 2.5rem);--shadow-1: 0 1px 0 oklch(1 0 0 / .03) inset, 0 10px 30px -18px oklch(0 0 0 / .6);--shadow-cta: 0 0 0 1px var(--accent-line), 0 14px 40px -18px var(--accent-glow)}@media(prefers-reduced-motion:reduce){:root{--dur-fast: 1ms;--dur: 1ms;--dur-slow: 1ms}}*,*:before,*:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{background:var(--bg);color:var(--text);font-family:var(--font-display);font-weight:300;font-size:var(--fs-base);line-height:var(--lh-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;min-height:100vh;overflow-x:hidden}img,svg,video{display:block;max-width:100%}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}input,textarea,select{font:inherit;color:inherit}::selection{background:var(--accent);color:var(--accent-ink)}h1,h2,h3,h4{font-weight:700;line-height:var(--lh-snug);letter-spacing:var(--tracking-tight);color:var(--text-hi);text-wrap:balance}h1{font-size:var(--fs-3xl);line-height:var(--lh-tight)}h2{font-size:var(--fs-2xl)}h3{font-size:var(--fs-lg)}h4{font-size:var(--fs-md)}p{max-width:68ch}strong{color:var(--text-hi);font-weight:600}.wrap{width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gutter)}.section{padding-block:clamp(3.5rem,8vw,7rem)}.section-line{border-top:1px solid var(--hairline)}.eyebrow{font-family:var(--font-mono);font-size:var(--fs-eyebrow);font-weight:500;letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--accent)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.btn{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--font-mono);font-size:var(--fs-sm);font-weight:500;letter-spacing:.04em;padding:.8rem 1.4rem;border-radius:var(--r-sm);transition:background-color var(--dur) var(--ease-out),color var(--dur) var(--ease-out),border-color var(--dur) var(--ease-out),transform var(--dur-fast) var(--ease-out),box-shadow var(--dur) var(--ease-out)}.btn:active{transform:translateY(1px)}.btn-accent{background:var(--accent);color:var(--accent-ink);box-shadow:var(--shadow-cta)}.btn-accent:hover{background:var(--accent-hi)}.btn-ghost{border:1px solid var(--border);color:var(--text-hi)}.btn-ghost:hover{border-color:var(--accent-line);color:var(--accent)}.btn .arrow{transition:transform var(--dur) var(--ease-emphasis)}@media(hover:hover)and (pointer:fine){.btn-accent:hover{transform:translateY(-2px)}.btn:hover .arrow{transform:translate(3px)}}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:3px}.tag{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;color:var(--text-mut);padding:.28rem .6rem;border:1px solid var(--border);border-radius:var(--r-pill)}.reveal.pre{opacity:0;transform:translateY(18px)}.reveal.shown{opacity:1;transform:none;transition:opacity var(--dur-slow) var(--ease-out),transform var(--dur-slow) var(--ease-out)}.reveal.d1.shown{transition-delay:80ms}.reveal.d2.shown{transition-delay:.16s}.reveal.d3.shown{transition-delay:.24s}@media(prefers-reduced-motion:reduce){.reveal.pre{opacity:1;transform:none}}hr{border:none;border-top:1px solid var(--hairline)}.badge{font-family:var(--font-mono);font-size:.6rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;padding:.22rem .55rem;border-radius:var(--r-pill);white-space:nowrap;border:1px solid transparent}.badge-live{color:#75df8f;border-color:#75df8f59}.badge-beta{color:var(--accent-hi);border-color:var(--accent-line)}.badge-alpha{color:#ebbd57;border-color:#ebbd5759}.badge-soon{color:var(--text-faint);border-color:var(--border)}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--r);padding:1.6rem;position:relative;transition:border-color var(--dur) var(--ease-out),transform var(--dur) var(--ease-out),background-color var(--dur) var(--ease-out)}.card-hover:hover{border-color:var(--accent-line)}@media(hover:hover)and (pointer:fine){.card-hover:hover{transform:translateY(-3px)}}.card .num{font-family:var(--font-mono);font-size:.72rem;color:var(--accent);letter-spacing:.1em}.card .cat{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-mut);margin-bottom:.5rem}.card h3,.card h4{margin-bottom:.5rem}.card p{color:var(--text);font-size:.92rem}.tags{display:flex;gap:.4rem;flex-wrap:wrap;margin-top:1rem}.card-btns{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:1.2rem;align-items:center}.grid{display:grid;gap:1.15rem}.grid-3{grid-template-columns:repeat(auto-fill,minmax(290px,1fr))}.grid-2{grid-template-columns:repeat(auto-fill,minmax(340px,1fr))}.sec-hdr{display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem;margin-bottom:2rem;flex-wrap:wrap}.sec-sub{color:var(--text-mut);margin-top:.6rem;max-width:60ch}.page-hero{padding-top:clamp(6.5rem,12vw,9rem);padding-bottom:clamp(2.5rem,5vw,3.5rem);border-bottom:1px solid var(--hairline);position:relative;overflow:hidden}.page-hero h1{margin:.5rem 0 1rem}.page-hero p{color:var(--text)}.filter-bar{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:2rem}.fb{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.04em;padding:.5rem .95rem;border-radius:var(--r-pill);border:1px solid var(--border);color:var(--text-mut);transition:color var(--dur) var(--ease-out),border-color var(--dur) var(--ease-out),background-color var(--dur) var(--ease-out)}.fb:hover{color:var(--text-hi);border-color:var(--accent-line)}.fb.on{color:var(--accent-ink);background:var(--accent);border-color:var(--accent)}.to-top{position:fixed;right:1.25rem;bottom:1.25rem;z-index:40;width:44px;height:44px;display:grid;place-items:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-sm);color:var(--text-hi);opacity:0;pointer-events:none;transition:opacity var(--dur) var(--ease-out),transform var(--dur) var(--ease-out),border-color var(--dur) var(--ease-out);transform:translateY(8px)}.to-top.on{opacity:1;pointer-events:auto;transform:none}.to-top:hover{border-color:var(--accent-line);color:var(--accent)}.to-top svg{width:18px;height:18px}.nav[data-astro-cid-dmqpwcec]{position:fixed;inset:0 0 auto;z-index:50;backdrop-filter:blur(10px);background:color-mix(in oklch,var(--bg) 82%,transparent);border-bottom:1px solid transparent;transition:border-color var(--dur) var(--ease-out),background-color var(--dur) var(--ease-out)}.nav[data-astro-cid-dmqpwcec].scrolled{border-bottom-color:var(--hairline)}.nav-inner[data-astro-cid-dmqpwcec]{display:flex;align-items:center;justify-content:space-between;height:64px}.brand[data-astro-cid-dmqpwcec]{font-family:var(--font-mono);font-weight:700;font-size:.95rem;letter-spacing:.02em;color:var(--text-hi)}.pip[data-astro-cid-dmqpwcec]{color:var(--accent);animation:blink 1.2s steps(1) infinite}@keyframes blink{50%{opacity:0}}@media(prefers-reduced-motion:reduce){.pip[data-astro-cid-dmqpwcec]{animation:none}}.nav-links[data-astro-cid-dmqpwcec]{display:flex;align-items:center;gap:.35rem}.nav-link[data-astro-cid-dmqpwcec]{font-family:var(--font-mono);font-size:.78rem;letter-spacing:.03em;color:var(--text-mut);padding:.5rem .75rem;border-radius:var(--r-sm);position:relative;transition:color var(--dur) var(--ease-out)}.nav-link[data-astro-cid-dmqpwcec]:after{content:"";position:absolute;left:.75rem;right:.75rem;bottom:.32rem;height:1.5px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform var(--dur) var(--ease-emphasis)}.nav-link[data-astro-cid-dmqpwcec]:hover{color:var(--text-hi)}.nav-link[data-astro-cid-dmqpwcec]:hover:after,.nav-link[data-astro-cid-dmqpwcec].on:after{transform:scaleX(1)}.nav-link[data-astro-cid-dmqpwcec].on{color:var(--text-hi)}.nav-cta[data-astro-cid-dmqpwcec]{margin-left:.5rem;padding:.55rem 1.1rem}.burger[data-astro-cid-dmqpwcec]{display:none;width:40px;height:40px;flex-direction:column;gap:5px;align-items:center;justify-content:center}.burger[data-astro-cid-dmqpwcec] span[data-astro-cid-dmqpwcec]{width:20px;height:2px;background:var(--text-hi);transition:transform var(--dur) var(--ease-out),opacity var(--dur) var(--ease-out)}@media(max-width:760px){.burger[data-astro-cid-dmqpwcec]{display:flex}.nav-links[data-astro-cid-dmqpwcec]{position:fixed;inset:64px 0 auto;flex-direction:column;gap:.25rem;background:var(--bg-1);border-bottom:1px solid var(--hairline);padding:1rem var(--gutter) 1.5rem;align-items:stretch;transform:translateY(-12px);opacity:0;pointer-events:none;transition:opacity var(--dur) var(--ease-out),transform var(--dur) var(--ease-out)}.nav-links[data-astro-cid-dmqpwcec].open{transform:none;opacity:1;pointer-events:auto}.nav-link[data-astro-cid-dmqpwcec]{padding:.7rem .5rem;font-size:.9rem}.nav-link[data-astro-cid-dmqpwcec]:after{display:none}.nav-cta[data-astro-cid-dmqpwcec]{margin:.5rem 0 0;justify-content:center}.burger[data-astro-cid-dmqpwcec][aria-expanded=true] span[data-astro-cid-dmqpwcec]:first-child{transform:translateY(3.5px) rotate(45deg)}.burger[data-astro-cid-dmqpwcec][aria-expanded=true] span[data-astro-cid-dmqpwcec]:last-child{transform:translateY(-3.5px) rotate(-45deg)}}.foot[data-astro-cid-sz7xmlte]{border-top:1px solid var(--hairline);padding-block:2.5rem;margin-top:2rem}.foot-inner[data-astro-cid-sz7xmlte]{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap}.foot-brand[data-astro-cid-sz7xmlte]{font-family:var(--font-mono);font-weight:700;color:var(--text-hi);font-size:.9rem}.pip[data-astro-cid-sz7xmlte]{color:var(--accent)}.foot-links[data-astro-cid-sz7xmlte]{display:flex;gap:1.25rem;flex-wrap:wrap}.foot-links[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]{font-family:var(--font-mono);font-size:.75rem;letter-spacing:.03em;color:var(--text-mut);transition:color var(--dur) var(--ease-out)}.foot-links[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]:hover{color:var(--accent)}.foot-copy[data-astro-cid-sz7xmlte]{font-family:var(--font-mono);font-size:.72rem;color:var(--text-mut)}.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}
