@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-sans-latin-400-normal.CDDApCn2.woff2) format("woff2"),url(/_astro/ibm-plex-sans-latin-400-normal.CYLoc0-x.woff) format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-sans-latin-500-normal.6ng42L7E.woff2) format("woff2"),url(/_astro/ibm-plex-sans-latin-500-normal.BgVn5rGT.woff) format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-sans-latin-600-normal.CuJfVYMP.woff2) format("woff2"),url(/_astro/ibm-plex-sans-latin-600-normal.Cu4Hd6ag.woff) format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/ibm-plex-sans-latin-700-normal.Bxkt5Cjx.woff2) format("woff2"),url(/_astro/ibm-plex-sans-latin-700-normal.Bth3BMcD.woff) format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-latin-400-normal.DMJ8VG8y.woff2) format("woff2"),url(/_astro/ibm-plex-mono-latin-400-normal.CvHOgSBP.woff) format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-latin-500-normal.DSY6xOcd.woff2) format("woff2"),url(/_astro/ibm-plex-mono-latin-500-normal.CB9ihrfo.woff) format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-mono-latin-600-normal.BgSNZQsw.woff2) format("woff2"),url(/_astro/ibm-plex-mono-latin-600-normal.DWFSQ4vo.woff) format("woff")}:root{--bg: #080a12;--bg-deep: #05060c;--surface: rgba(255, 255, 255, .026);--surface-solid: #10131f;--surface-2: rgba(255, 255, 255, .05);--ink: #f0f2fa;--ink-soft: #a9b1cc;--ink-faint: #6e7694;--blue: #6e8bff;--blue-dark: #5878ff;--blue-wash: rgba(110, 139, 255, .13);--violet: #a878ff;--cyan: #4fc9ff;--teal: #4ee6bd;--pink: #ff86c2;--grad: linear-gradient( 108deg, #a878ff 0%, #6e8bff 38%, #4fc9ff 72%, #4ee6bd 100% );--grad-cta: linear-gradient(108deg, #6a40b0 0%, #4257d6 100%);--ok: #4cd07e;--ok-wash: rgba(56, 200, 110, .13);--bad: #ff6f66;--bad-wash: rgba(255, 90, 80, .13);--line: rgba(255, 255, 255, .09);--line-strong: rgba(255, 255, 255, .2);--code-bg: rgba(255, 255, 255, .05);--sans: "IBM Plex Sans", ui-sans-serif, system-ui, sans-serif;--mono: "IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace;--max-width: 1080px;--pad: clamp(1.25rem, 4vw, 2.5rem)}*{box-sizing:border-box}html{color-scheme:dark;background:var(--bg);color:var(--ink);scroll-behavior:smooth}body{margin:0;font-family:var(--sans);font-size:1.0625rem;line-height:1.6;position:relative;overflow-x:hidden;background-color:var(--bg);background-image:linear-gradient(rgba(255,255,255,.022) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.022) 1px,transparent 1px);background-size:64px 64px;background-position:center top;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.aurora{position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(46rem 32rem at 12% -6%,rgba(168,120,255,.28),transparent 60%),radial-gradient(42rem 30rem at 92% 2%,rgba(79,201,255,.22),transparent 60%),radial-gradient(50rem 36rem at 70% 16%,rgba(78,230,189,.1),transparent 65%);filter:saturate(115%);mask-image:linear-gradient(to bottom,#000 0%,#000 55%,transparent 92%);-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 55%,transparent 92%)}::selection{background:#6e8bff59;color:#fff}a{color:var(--blue);text-decoration:none}:focus-visible{outline:2px solid var(--blue);outline-offset:2px;border-radius:3px}h1,h2,h3{line-height:1.12;letter-spacing:-.02em;text-wrap:balance;color:var(--ink)}code{font-family:var(--mono)}.grad-text{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}.kicker{font-family:var(--mono);font-size:.75rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--cyan);display:flex;align-items:center;gap:.85em}.kicker:after{content:"";height:1px;flex:1;background:linear-gradient(90deg,var(--line-strong),transparent)}header{position:sticky;top:0;z-index:10;background:color-mix(in srgb,var(--bg-deep) 72%,transparent);backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);border-bottom:1px solid var(--line)}.header-inner{max-width:var(--max-width);margin:0 auto;padding:.875rem var(--pad);display:flex;align-items:center;justify-content:space-between;gap:1rem}.logo{display:flex;align-items:center;gap:.6em;color:var(--ink);font-weight:600;font-size:1rem;letter-spacing:-.01em}.logo img{width:26px;height:26px;border-radius:7px;border:1px solid var(--line-strong);background:#0c0f1a;flex-shrink:0}header nav{display:flex;align-items:center;gap:clamp(.75rem,2.5vw,1.75rem)}header nav a{color:var(--ink-soft);font-size:.9375rem;font-weight:500;transition:color .15s ease}header nav a:hover{color:var(--ink)}header nav .header-cta{position:relative;color:#fff;padding:.5em 1.15em;border-radius:8px;font-weight:600;background:var(--grad-cta);background-size:160% 160%;box-shadow:0 0 0 1px #ffffff1a inset,0 6px 22px -8px #6e8bffb3;transition:transform .15s ease,box-shadow .2s ease,background-position .4s ease}header nav .header-cta:hover{color:#fff;transform:translateY(-1px);background-position:100% 0;box-shadow:0 0 0 1px #ffffff2e inset,0 10px 28px -8px #6e8bffd9}@media(max-width:430px){.logo span{display:none}header nav{gap:.9rem}}@media(pointer:coarse){header nav a:not(.header-cta){padding-block:.4rem}header nav .header-cta{padding-block:.7em}}main{display:block}footer{border-top:1px solid var(--line);margin-top:7rem;background:linear-gradient(180deg,transparent,rgba(168,120,255,.04))}.footer-inner{max-width:var(--max-width);margin:0 auto;padding:2.25rem var(--pad);display:flex;align-items:center;justify-content:space-between;gap:2rem}footer p{margin:0;color:var(--ink-soft);font-size:.9375rem;line-height:1.5}footer small a{color:var(--ink-soft);font-weight:500}footer small a:hover{color:var(--ink)}footer nav{display:flex;align-items:center;gap:.25rem}footer nav a{color:var(--ink-faint);display:inline-flex;padding:.7rem;border-radius:8px;transition:color .15s ease,background .15s ease}footer nav a:hover{color:var(--ink);background:var(--surface-2)}@media(max-width:640px){.footer-inner{flex-direction:column;text-align:center;gap:1rem}}
