@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/inter-latin-wght-normal.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{--font-sans:"Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono:ui-monospace, "SF Mono", "JetBrains Mono", "Fira Code", "Cascadia Code", Menlo, Consolas, monospace;--fs-display:clamp(2.15rem, 7.4vw, 4.6rem);--fs-h2:clamp(1.85rem, 3.6vw, 2.6rem);--fs-h3:clamp(1.12rem, 1.6vw, 1.3rem);--fs-lede:clamp(1rem, 1.35vw, 1.12rem);--fs-body:1rem;--fs-small:.875rem;--fs-micro:.78rem;--space-section:clamp(3.25rem, 5.5vw, 5rem);--gutter:clamp(1.15rem, 4vw, 2.5rem);--container-max:1180px;--container-narrow:880px;--nav-height:4.25rem;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-pill:999px;--ease-out:cubic-bezier(.22, 1, .36, 1);--dur-fast:.14s;--dur-base:.26s;--dur-slow:.62s;--bg:#08090c;--bg-elevated:#0d0f15;--surface:#ffffff07;--surface-hover:#ffffff0d;--surface-solid:#101319;--border:#ffffff17;--border-subtle:#ffffff0e;--border-strong:#ffffff29;--text-strong:#f2f4f8;--text:#c5cad6;--text-muted:#8b93a4;--text-faint:#7b8496;--accent:#7d9bff;--accent-strong:#93aaff;--accent-soft:#7d9bff21;--accent-line:#7d9bff52;--accent-2:#9f86ff;--on-accent:#070912;--glass:#0a0c11b8;--shadow-card:0 1px 2px #0006, 0 18px 40px -24px #000000d9;--shadow-lift:0 1px 2px #0006, 0 28px 60px -28px #000000e6;--grid-line:#ffffff09;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-theme=light]{--bg:#fbfbfd;--bg-elevated:#fff;--surface:#0f142306;--surface-hover:#0f14230b;--surface-solid:#fff;--border:#0f14231c;--border-subtle:#0f142312;--border-strong:#0f142333;--text-strong:#10131b;--text:#3d4351;--text-muted:#5c6373;--text-faint:#626a79;--accent:#3f5bd9;--accent-strong:#2f49c4;--accent-soft:#3f5bd917;--accent-line:#3f5bd947;--accent-2:#6d4fd6;--on-accent:#fff;--glass:#fbfbfdc7;--shadow-card:0 1px 2px #0f14230d, 0 16px 34px -22px #0f142347;--shadow-lift:0 1px 2px #0f14230f, 0 26px 52px -26px #0f142357;--grid-line:#0f14230a;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-height) + 1rem)}body{background-color:var(--bg);min-height:100svh;color:var(--text);font-family:var(--font-sans);font-size:var(--fs-body);font-synthesis-weight:none;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;transition:background-color var(--dur-base) var(--ease-out), color var(--dur-base) var(--ease-out);line-height:1.6;overflow-x:hidden}img,svg,picture,video{max-width:100%;display:block}input,button,textarea,select{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:none;padding:0}h1,h2,h3,h4{letter-spacing:-.02em;color:var(--text-strong);font-weight:600;line-height:1.2}p{text-wrap:pretty}a{color:inherit;text-decoration:none}ul,ol{padding:0;list-style:none}::selection{background:var(--accent-soft);color:var(--text-strong)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:var(--radius-sm)}.container{width:100%;max-width:var(--container-max);padding-inline:var(--gutter);margin-inline:auto}.container--narrow{max-width:var(--container-narrow)}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:200;font-size:var(--fs-small);color:var(--on-accent);background:var(--accent);border-radius:var(--radius-md);transition:transform var(--dur-base) var(--ease-out);padding:.7rem 1.15rem;font-weight:500;position:absolute;top:.75rem;left:50%;transform:translate(-50%,-160%)}.skip-link:focus-visible{transform:translate(-50%)}.btn{font-size:var(--fs-small);letter-spacing:-.005em;white-space:nowrap;border-radius:var(--radius-md);transition:background-color var(--dur-base) var(--ease-out), border-color var(--dur-base) var(--ease-out), color var(--dur-base) var(--ease-out), transform var(--dur-fast) var(--ease-out);border:1px solid #0000;justify-content:center;align-items:center;gap:.55rem;padding:.72rem 1.3rem;font-weight:500;display:inline-flex}.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn--primary{color:var(--on-accent);background:var(--accent)}.btn--primary:hover{background:var(--accent-strong)}.btn--secondary{color:var(--text-strong);background:var(--surface);border-color:var(--border)}.btn--secondary:hover{background:var(--surface-hover);border-color:var(--border-strong)}.btn--ghost{color:var(--text-muted);padding-inline:.85rem}.btn--ghost:hover{color:var(--text-strong);background:var(--surface-hover)}.btn--sm{font-size:var(--fs-micro);padding:.5rem .9rem}.btn--block{width:100%}.btn[aria-disabled=true],.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.card{background:var(--surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);transition:border-color var(--dur-base) var(--ease-out), background-color var(--dur-base) var(--ease-out), transform var(--dur-base) var(--ease-out), box-shadow var(--dur-base) var(--ease-out);position:relative}.tag{font-family:var(--font-mono);font-size:var(--fs-micro);letter-spacing:-.01em;color:var(--text-muted);background:var(--surface);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);transition:color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out);align-items:center;padding:.3rem .62rem;display:inline-flex}.tag:hover{color:var(--text-strong);border-color:var(--accent-line);background:var(--accent-soft)}.tag-list{flex-wrap:wrap;gap:.45rem;display:flex}.badge{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;border-radius:var(--radius-pill);border:1px solid var(--accent-line);color:var(--accent);background:var(--accent-soft);align-items:center;gap:.4rem;padding:.24rem .6rem;font-size:.7rem;display:inline-flex}.badge--placeholder{color:var(--text-muted);border-color:var(--border-strong);background:var(--surface);border-style:dashed}.eyebrow{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--accent);align-items:center;gap:.65rem;margin:0 0 .9rem;font-size:.78rem;font-weight:500;display:flex}.eyebrow__mark{background:linear-gradient(90deg, var(--accent), transparent);width:1.75rem;height:1px}.reveal{opacity:0;transition:opacity var(--dur-slow) var(--ease-out), transform var(--dur-slow) var(--ease-out);transform:translateY(18px)}.reveal.is-visible{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.reveal{opacity:1;transform:none}}.footer{border-top:1px solid var(--border-subtle);background:var(--bg-elevated)}.footer__inner{gap:1.5rem;padding-block:2.75rem 2.25rem;display:grid}.footer__brand{color:var(--text-strong);align-items:center;gap:.6rem;font-weight:550;display:inline-flex}.footer__mark{width:1.85rem;height:1.85rem;font-family:var(--font-mono);color:var(--accent);background:var(--accent-soft);border:1px solid var(--accent-line);border-radius:var(--radius-sm);place-items:center;font-size:.72rem;font-weight:600;display:grid}.footer__built{font-size:var(--fs-micro);color:var(--text-faint);margin-top:.5rem}.footer__socials{gap:.5rem;display:flex}.footer__social{width:2.35rem;height:2.35rem;color:var(--text-muted);background:var(--surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);transition:color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);place-items:center;display:grid}.footer__social:hover{color:var(--accent);border-color:var(--accent-line);transform:translateY(-2px)}.footer__end{border-top:1px solid var(--border-subtle);font-size:var(--fs-micro);color:var(--text-faint);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1rem;padding-top:1.5rem;display:flex}.footer__top{transition:color var(--dur-fast) var(--ease-out);align-items:center;gap:.4rem;display:inline-flex}.footer__top:hover{color:var(--accent)}@media (width>=768px){.footer__inner{grid-template-columns:1fr auto;align-items:center}.footer__end{grid-column:1/-1}}.navbar{z-index:100;transition:background-color var(--dur-base) var(--ease-out), border-color var(--dur-base) var(--ease-out);animation:navbar-in var(--dur-slow) var(--ease-out) both;border-bottom:1px solid #0000;position:fixed;inset:0 0 auto}@keyframes navbar-in{0%{opacity:0;transform:translateY(-100%)}}.navbar.is-scrolled{background:var(--glass);-webkit-backdrop-filter:blur(14px)saturate(150%);border-bottom-color:var(--border-subtle)}.navbar__inner{height:var(--nav-height);justify-content:space-between;align-items:center;gap:1rem;display:flex}.navbar__brand{letter-spacing:-.015em;min-width:0;color:var(--text-strong);align-items:center;gap:.65rem;font-weight:550;display:inline-flex}.navbar__mark{width:2rem;height:2rem;font-family:var(--font-mono);letter-spacing:.02em;color:var(--accent);background:var(--accent-soft);border:1px solid var(--accent-line);border-radius:var(--radius-sm);transition:transform var(--dur-base) var(--ease-out);flex-shrink:0;place-items:center;font-size:.76rem;font-weight:600;display:grid}.navbar__brand:hover .navbar__mark{transform:translateY(-1px)}.navbar__name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.navbar__links{align-items:center;gap:.15rem;margin:0;display:none}.navbar__link{font-size:var(--fs-small);color:var(--text-muted);border-radius:var(--radius-sm);transition:color var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out);padding:.45rem .75rem;display:block;position:relative}.navbar__link:hover{color:var(--text-strong);background:var(--surface-hover)}.navbar__link.is-active{color:var(--text-strong)}.navbar__link.is-active:after{content:"";background:var(--accent);border-radius:2px;height:1.5px;position:absolute;bottom:.1rem;left:.75rem;right:.75rem}.navbar__actions{align-items:center;gap:.5rem;display:flex}.theme-toggle{width:2.25rem;height:2.25rem;color:var(--text-muted);background:var(--surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);transition:color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out);place-items:center;display:grid}.theme-toggle:hover{color:var(--text-strong);background:var(--surface-hover);border-color:var(--border-strong)}.navbar__cta{display:none}.navbar__burger{width:2.25rem;height:2.25rem;color:var(--text-strong);background:var(--surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);place-items:center;display:grid}.navbar__burger:hover{background:var(--surface-hover)}.navbar__scrim{inset:var(--nav-height) 0 0;z-index:90;cursor:default;background:#00000073;border:none;position:fixed}.navbar__panel{z-index:95;padding:.75rem var(--gutter) 1.5rem;background:var(--bg-elevated);border-bottom:1px solid var(--border);animation:panel-in var(--dur-base) var(--ease-out) both;position:relative}@keyframes panel-in{0%{opacity:0;transform:translateY(-8px)}}.navbar__panel-links{margin:0 0 1.15rem}.navbar__panel-link{color:var(--text);border-bottom:1px solid var(--border-subtle);transition:color var(--dur-fast) var(--ease-out), padding-left var(--dur-base) var(--ease-out);align-items:center;gap:.85rem;padding:.85rem .25rem;font-size:1.02rem;display:flex}.navbar__panel-link:hover{color:var(--text-strong);padding-left:.6rem}.navbar__panel-link.is-active{color:var(--accent);font-weight:550}.navbar__panel-index{font-family:var(--font-mono);color:var(--text-faint);font-size:.72rem}@media (width>=900px){.navbar__links{display:flex}.navbar__cta{display:inline-flex}.navbar__burger,.navbar__panel,.navbar__scrim{display:none}}#main{position:relative}#main:before,#main:after{content:"";background:linear-gradient(180deg, transparent, var(--border-subtle) 12%, var(--border-subtle) 88%, transparent);pointer-events:none;width:1px;display:none;position:absolute;top:0;bottom:0}#main:before{left:max(var(--gutter), calc(50% - var(--container-max) / 2))}#main:after{right:max(var(--gutter), calc(50% - var(--container-max) / 2))}@media (width>=1280px){#main:before,#main:after{display:block}}
