:root{--bg:#fff;--bg-2:#f3f6f9;--surface:#fff;--surface-2:#eef2f6;--line:#d9e1ea;--text:#14202e;--text-2:#46586c;--text-3:#7a8a9c;--teal:#4f9e96;--teal-2:#60b0a8;--teal-soft:#e3f2f0;--slate:#406898;--slate-2:#2f527c;--slate-soft:#e6edf6;--dark:#0f1a2b;--dark-2:#162336;--dark-line:#27384f;--dark-text:#eef2f6;--dark-text-2:#b4c0cf;--accent-reserved:#d9a441;--max:1120px;--radius:10px;--font:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;margin:0;font-size:17px;line-height:1.6}a{color:var(--slate);text-decoration:none}a:hover{text-underline-offset:3px;text-decoration:underline}img,svg{max-width:100%;display:block}h1,h2,h3,h4{letter-spacing:-.01em;color:var(--text);margin:0 0 .5em;font-weight:700;line-height:1.15}h1{font-size:clamp(2rem,4.5vw,3.4rem)}h2{font-size:clamp(1.5rem,2.6vw,2.1rem)}h3{font-size:1.2rem}p{margin:0 0 1em}ul{padding-left:1.2em}li{margin:.25em 0}code{font-family:var(--mono);color:var(--slate-2);font-size:.92em}.wrap{max-width:var(--max);margin:0 auto;padding:0 20px}.section{padding:72px 0}.section.tight{padding:48px 0}.section.alt{background:var(--bg-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--teal);margin-bottom:12px;font-size:.8rem;font-weight:700}.lede{color:var(--text-2);max-width:720px;font-size:1.2rem}.muted{color:var(--text-2)}.small{font-size:.92rem}.dark{background:var(--dark);color:var(--dark-text)}.dark h1,.dark h2,.dark h3,.dark h4{color:var(--dark-text)}.dark .lede,.dark .muted{color:var(--dark-text-2)}.dark .eyebrow,.dark a{color:var(--teal-2)}.dark a.btn{color:#fff}.dark a.btn:hover{background:var(--teal-2);border-color:var(--teal-2);color:var(--dark)}.dark .btn.ghost{color:var(--dark-text);border-color:var(--dark-line)}.dark .btn.ghost:hover{border-color:var(--teal-2)}.grid{gap:20px;display:grid}.grid.cols-2{grid-template-columns:repeat(2,1fr)}.grid.cols-3{grid-template-columns:repeat(3,1fr)}.grid.cols-4{grid-template-columns:repeat(4,1fr)}@media (width<=900px){.grid.cols-3,.grid.cols-4{grid-template-columns:repeat(2,1fr)}}@media (width<=600px){.grid.cols-2,.grid.cols-3,.grid.cols-4{grid-template-columns:1fr}}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:24px;box-shadow:0 1px 2px #14202e0a}.card h3{margin-top:0}.card.link{transition:border-color .15s,transform .15s,box-shadow .15s}.card.link:hover{border-color:var(--teal);transform:translateY(-2px);box-shadow:0 8px 24px #14202e14}a.card{color:inherit}a.card:hover{text-decoration:none}.btn{background:var(--teal);color:#fff;border:1px solid var(--teal);border-radius:8px;padding:12px 20px;font-weight:600;display:inline-block}.btn:hover{background:var(--slate);border-color:var(--slate);text-decoration:none}.btn.ghost{color:var(--text);border-color:var(--line);background:0 0}.btn.ghost:hover{color:var(--text);border-color:var(--slate);background:0 0}.tags{flex-wrap:wrap;gap:8px;margin:8px 0 0;padding:0;list-style:none;display:flex}.tag{border:1px solid var(--line);color:var(--text-2);background:var(--bg-2);border-radius:999px;padding:3px 10px;font-size:.78rem}.tag.stage{color:var(--slate-2);background:var(--slate-soft);border-color:#0000;font-weight:600}.stat{padding:20px 0}.stat b{color:var(--slate);margin-bottom:6px;font-size:2rem;line-height:1;display:block}.stat span{color:var(--text-2);font-size:.95rem}.prose{max-width:760px}.prose h2{margin-top:2em;font-size:1.45rem}.prose h3{margin-top:1.6em}.prose li{margin:.4em 0}.prose table{border-collapse:collapse;width:100%;margin:1.2em 0;font-size:.95rem}.prose th,.prose td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:8px 10px}.prose th{color:var(--text-2);font-weight:600}.diagram{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin:1.5em 0;padding:20px}.diagram svg text{font-family:var(--font)}.hr{background:var(--line);border:0;height:1px;margin:0}.hdr[data-astro-cid-nen7h5rs]{z-index:20;backdrop-filter:blur(10px);border-bottom:1px solid var(--line);background:#ffffffeb;position:sticky;top:0}.bar[data-astro-cid-nen7h5rs]{justify-content:space-between;align-items:center;gap:24px;height:78px;display:flex}.brand[data-astro-cid-nen7h5rs]{color:inherit;flex-direction:column;gap:4px;display:flex}.brand[data-astro-cid-nen7h5rs]:hover{text-decoration:none}.brand[data-astro-cid-nen7h5rs] img[data-astro-cid-nen7h5rs]{width:180px;height:auto}.desc[data-astro-cid-nen7h5rs]{letter-spacing:.14em;text-transform:uppercase;color:var(--text-3);padding-left:2px;font-size:.7rem}nav[data-astro-cid-nen7h5rs]{align-items:center;gap:26px;display:flex}nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]{color:var(--text-2);font-size:.98rem;font-weight:500}nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]:hover,nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs][aria-current=page]{color:var(--text);text-decoration:none}nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs][aria-current=page]{color:var(--slate);font-weight:600}.small-btn[data-astro-cid-nen7h5rs]{padding:9px 16px;color:#fff!important}.menu[data-astro-cid-nen7h5rs]{border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:8px;padding:9px;display:none}.menu[data-astro-cid-nen7h5rs] span[data-astro-cid-nen7h5rs]{background:var(--text);width:20px;height:2px;margin:4px 0;display:block}@media (width<=860px){.menu[data-astro-cid-nen7h5rs]{display:block}nav[data-astro-cid-nen7h5rs]{background:var(--bg);border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:6px;padding:12px 20px 20px;display:none;position:absolute;top:78px;left:0;right:0;box-shadow:0 12px 24px #14202e14}nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]{padding:10px 4px}nav[data-astro-cid-nen7h5rs].open{display:flex}}.ftr[data-astro-cid-jo6i4kqk]{margin-top:40px;padding:48px 0 32px}.ftr[data-astro-cid-jo6i4kqk] h4[data-astro-cid-jo6i4kqk]{text-transform:uppercase;letter-spacing:.1em;color:var(--dark-text-2);margin-bottom:10px;font-size:.85rem}.ftr[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]{color:var(--dark-text-2);padding:3px 0;display:block}.ftr[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]:hover{color:var(--dark-text)}
