:root{--bg: #08080a;--bg-elev: #101013;--bg-elev-2: #16161b;--ink: #f4f4f5;--ink-soft: #a1a1aa;--ink-faint: #52525b;--line: rgba(255, 255, 255, .08);--line-strong: rgba(255, 255, 255, .14);--accent: #5eead4;--accent-warm: #fbbf24;--font-sans: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "SF Mono", monospace;--space-1: .5rem;--space-2: 1rem;--space-3: 1.5rem;--space-4: 2rem;--space-6: 3rem;--space-8: 4rem;--space-12: 6rem;--space-16: 8rem;--space-20: 10rem;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--dur-fast: .16s;--dur: .3s;--dur-slow: .7s;--maxw: 72rem;--maxw-narrow: 52rem;--radius: 14px}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important}}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-sans);font-size:17px;line-height:1.7;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}body:before{content:"";position:fixed;inset:0;z-index:-1;background:radial-gradient(60rem 40rem at 70% -10%,rgba(94,234,212,.06),transparent 60%),radial-gradient(50rem 40rem at 10% 110%,rgba(251,191,36,.04),transparent 60%);pointer-events:none}a{color:inherit;text-decoration:none}h1,h2,h3,h4{font-weight:700;line-height:1.08;letter-spacing:-.03em;margin:0}p{margin:0}img{max-width:100%;display:block}.container{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:var(--space-4)}.container--narrow{max-width:var(--maxw-narrow)}.section{padding-block:var(--space-16)}.section--tight{padding-block:var(--space-12)}@media (max-width: 640px){.section{padding-block:var(--space-12)}body{font-size:16px}}.eyebrow{font-family:var(--font-mono);font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin-bottom:var(--space-3);display:inline-block}.section-title{font-size:clamp(1.8rem,4vw,2.75rem);margin-bottom:var(--space-6)}.lead{color:var(--ink-soft);font-size:clamp(1.05rem,2vw,1.25rem);max-width:38rem}.reveal{opacity:1;animation:reveal-in var(--dur-slow) var(--ease-out) both;animation-delay:var(--reveal-delay, 0ms)}@keyframes reveal-in{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.85rem 1.5rem;border-radius:999px;font-weight:600;font-size:.95rem;border:1px solid transparent;transition:transform var(--dur-fast) var(--ease-out),background var(--dur) var(--ease-out),border-color var(--dur) var(--ease-out),color var(--dur) var(--ease-out);cursor:pointer}.btn:active{transform:scale(.97)}.btn--primary{background:var(--ink);color:#09090b}.btn--primary:hover{background:var(--accent)}.btn--ghost{border-color:var(--line-strong);color:var(--ink)}@media (hover: hover) and (pointer: fine){.btn--ghost:hover{border-color:var(--accent);color:var(--accent)}}.grid{display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(min(100%,20rem),1fr))}.card{background:var(--bg-elev);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:transform var(--dur) var(--ease-out),border-color var(--dur) var(--ease-out)}@media (hover: hover) and (pointer: fine){.card:hover{transform:translateY(-4px);border-color:var(--line-strong)}}.card-img{aspect-ratio:16 / 10;width:100%;object-fit:cover;background:var(--bg-elev-2)}.card-body{padding:var(--space-3)}.card-tag{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint)}.card-title{font-size:1.15rem;margin:.4rem 0}.card-desc{color:var(--ink-soft);font-size:.95rem}.pills{display:flex;flex-wrap:wrap;gap:.5rem}.pill{font-family:var(--font-mono);font-size:.75rem;padding:.25rem .7rem;border:1px solid var(--line);border-radius:999px;color:var(--ink-soft)}.prose{color:var(--ink-soft)}.prose h2{color:var(--ink);font-size:1.6rem;margin-top:var(--space-8);margin-bottom:var(--space-3)}.prose h3{color:var(--ink);font-size:1.25rem;margin-top:var(--space-6);margin-bottom:var(--space-2)}.prose p{margin-bottom:var(--space-4)}.prose a{color:var(--accent);border-bottom:1px solid transparent;transition:border-color var(--dur)}.prose a:hover{border-color:var(--accent)}.prose ul{margin:0 0 var(--space-4);padding-left:1.2rem}.prose li{margin-bottom:.5rem}.prose blockquote{margin:var(--space-6) 0;padding-left:var(--space-3);border-left:2px solid var(--accent);color:var(--ink);font-style:italic}.footer{border-top:1px solid var(--line);padding-block:var(--space-8);margin-top:var(--space-12);color:var(--ink-faint);font-size:.9rem}.footer a{color:var(--ink-soft);transition:color var(--dur)}.footer a:hover{color:var(--accent)}.nav.astro-dmqpwcec{position:sticky;top:0;z-index:50;backdrop-filter:blur(12px);background:color-mix(in srgb,var(--bg) 72%,transparent);border-bottom:1px solid var(--line)}.nav-inner.astro-dmqpwcec{display:flex;align-items:center;justify-content:space-between;height:64px}.nav-logo.astro-dmqpwcec{display:inline-flex;align-items:center;position:relative}.nav-logo-mark.astro-dmqpwcec{font-family:var(--font-mono);font-weight:700;letter-spacing:.05em;border:1px solid var(--line-strong);border-radius:8px;padding:.3rem .5rem;font-size:.85rem}.nav-links.astro-dmqpwcec{display:flex;gap:var(--space-3);flex-wrap:wrap}.nav-link.astro-dmqpwcec{position:relative;font-size:.9rem;color:var(--ink-soft);padding:.25rem 0;transition:color var(--dur)}.nav-link.astro-dmqpwcec.is-active,.nav-link.astro-dmqpwcec:hover{color:var(--ink)}.nav-underline.astro-dmqpwcec{position:absolute;left:0;bottom:-2px;height:1.5px;width:100%;background:var(--accent);transform:scaleX(0);transform-origin:left}@media (max-width: 720px){.nav-links.astro-dmqpwcec{gap:var(--space-2);font-size:.8rem}}@media (max-width: 520px){.nav-link.astro-dmqpwcec:nth-child(n+6){display:none}}.footer-inner.astro-sz7xmlte{display:flex;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap;margin-bottom:var(--space-4)}.footer-name.astro-sz7xmlte{color:var(--ink);font-weight:600;margin-bottom:.25rem}.footer-links.astro-sz7xmlte{display:flex;gap:var(--space-3);flex-wrap:wrap}.footer-fine.astro-sz7xmlte{border-top:1px solid var(--line);padding-top:var(--space-3);font-size:.8rem}
