:root{color-scheme:dark;--bg:#0a0c0b;--surface:#111412;--surface-2:#171b18;--line:#272d29;--line-soft:#1d221f;--text:#edf1ed;--muted:#89928b;--green:#a9ef72;--green-deep:#173122;--yellow:#e9d47a;--red:#fb8d88;--blue:#8dbdea;--sans:Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--serif:Georgia, "Times New Roman", serif;--mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--page:1140px;--nav-h:64px}*{box-sizing:border-box}html{background:var(--bg);scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-h) + 20px);-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0;font-size:15px;line-height:1.65}h1,h2,h3,h4{font-family:var(--serif);letter-spacing:-.4px;margin:0;font-weight:400;line-height:1.2}h1{font-size:clamp(34px,5.4vw,56px)}h2{font-size:clamp(25px,3.2vw,33px)}h3{font-size:19px}h4{font-size:15px;font-family:var(--sans);letter-spacing:0;font-weight:650}p{margin:0 0 16px}a{color:var(--green);text-decoration:none}a:hover{text-decoration:underline}strong{color:var(--text);font-weight:650}img,svg{max-width:100%}hr{border:0;border-top:1px solid var(--line-soft);margin:34px 0}::selection{background:#a9ef7240}:focus-visible{outline:2px solid var(--green);outline-offset:2px;border-radius:4px}.eyebrow{color:#717b74;letter-spacing:1.7px;text-transform:uppercase;margin:0 0 10px;font-size:9px;font-weight:750}.lede{color:#c2cbc4;font-size:clamp(16px,1.9vw,19px);line-height:1.6}.muted{color:var(--muted)}.wrap{width:100%;max-width:var(--page);margin:0 auto;padding:0 26px}.brand-mark{flex:none;width:29px;height:29px;position:relative;transform:rotate(-8deg)}.brand-mark span{border:1.5px solid var(--green);border-radius:50%;width:9px;height:25px;position:absolute;top:2px;left:10px}.brand-mark span:nth-child(2){transform:rotate(60deg)}.brand-mark span:nth-child(3){transform:rotate(120deg)}.brand{color:var(--text);align-items:center;gap:11px;display:flex}.brand:hover{text-decoration:none}.brand strong{font-family:var(--serif);letter-spacing:-.4px;font-size:19px;font-weight:500;display:block}.brand small{color:var(--muted);letter-spacing:1.8px;margin-top:2px;font-size:8px;font-weight:700;display:block}.site-nav{z-index:40;height:var(--nav-h);border-bottom:1px solid var(--line);backdrop-filter:blur(12px);background:#0a0c0be0;position:sticky;top:0}.site-nav .wrap{align-items:center;gap:22px;height:100%;display:flex}.nav-links{align-items:center;gap:4px;margin-left:auto;display:flex}.nav-links a{color:var(--muted);border-radius:8px;padding:8px 12px;font-size:13px}.nav-links a:hover{background:var(--surface);color:var(--text);text-decoration:none}.nav-links a[aria-current=page]{background:var(--surface-2);color:var(--text);box-shadow:inset 0 0 0 1px var(--line-soft)}.nav-toggle{display:none}.btn{cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:8px;align-items:center;gap:8px;padding:11px 17px;font-size:13px;font-weight:600;display:inline-flex}.btn:hover{text-decoration:none}.btn-primary{background:var(--green);color:#10200f;font-weight:750}.btn-primary:hover{background:#b8fb83}.btn-secondary{background:var(--surface);border-color:var(--line);color:#c4cbc6}.btn-secondary:hover{color:#fff;border-color:#3b443e}.btn-sm{padding:8px 13px;font-size:12px}.pill{text-transform:uppercase;letter-spacing:.8px;color:var(--green);white-space:nowrap;border:1px solid;border-radius:20px;align-items:center;gap:7px;padding:4px 10px;font-size:9px;font-weight:700;display:inline-flex}.pill.blue{color:var(--blue)}.pill.yellow{color:var(--yellow)}.pill.muted{color:var(--muted)}.dot{background:var(--green);border-radius:50%;flex:none;width:6px;height:6px;box-shadow:0 0 0 3px #a9ef721a}.dot.yellow{background:var(--yellow);box-shadow:0 0 0 3px #e9d47a1a}.dot.red{background:var(--red);box-shadow:0 0 0 3px #fb8d881a}.dot.blue{background:var(--blue);box-shadow:0 0 0 3px #8dbdea1a}.dot.grey{background:#535b55;box-shadow:0 0 0 3px #535b551a}.tag{border:1px solid var(--line);color:var(--muted);white-space:nowrap;border-radius:5px;padding:3px 7px;font-size:10px;display:inline-block}.tag.green{color:var(--green);border-color:#a9ef7259}.tag.blue{color:var(--blue);border-color:#8dbdea59}.panel{border:1px solid var(--line);background:var(--surface);border-radius:10px}.card{border:1px solid var(--line);background:var(--surface);border-radius:10px;padding:22px}.card h3{margin-bottom:8px}.card p:last-child{margin-bottom:0}.card-icon{width:34px;height:34px;color:var(--green);background:#a9ef7212;border:1px solid #a9ef7229;border-radius:9px;place-items:center;margin-bottom:14px;display:grid}a.card{color:inherit;display:block}a.card:hover{background:var(--surface-2);border-color:#3b443e;text-decoration:none}a.card .card-more{color:var(--green);font-size:12px;font-weight:600}.grid{gap:16px;display:grid}.grid-2{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.grid-3{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}code{font-family:var(--mono);background:var(--surface-2);border:1px solid var(--line-soft);color:#d7e0d8;border-radius:5px;padding:1px 5px;font-size:.88em}pre{font-family:var(--mono);border:1px solid var(--line);color:#cfd8d0;background:#0c0f0d;border-radius:9px;margin:0 0 18px;padding:15px 17px;font-size:12.5px;line-height:1.65;overflow-x:auto}pre code{font-size:inherit;color:inherit;background:0 0;border:0;padding:0}.code-label{border:1px solid var(--line);background:var(--surface-2);color:var(--muted);letter-spacing:1.2px;text-transform:uppercase;border-bottom:0;border-radius:9px 9px 0 0;justify-content:space-between;align-items:center;padding:8px 14px;font-size:10px;font-weight:700;display:flex}.code-label+pre{border-radius:0 0 9px 9px}.callout{background:#a9ef720a;border:1px solid #a9ef721f;border-radius:9px;grid-template-columns:9px 1fr;gap:12px;margin:0 0 20px;padding:15px 17px;display:grid}.callout .pulse-dot{background:var(--green);border-radius:50%;width:6px;height:6px;margin-top:7px;box-shadow:0 0 0 4px #a9ef7214}.callout p{color:#c9d2cb;margin:0;font-size:13.5px}.callout p+p{margin-top:8px}.callout-title{color:var(--text);margin-bottom:3px;display:block}.callout.warn{background:#e9d47a0a;border-color:#e9d47a24}.callout.warn .pulse-dot{background:var(--yellow);box-shadow:0 0 0 4px #e9d47a14}.callout.info{background:#8dbdea0a;border-color:#8dbdea24}.callout.info .pulse-dot{background:var(--blue);box-shadow:0 0 0 4px #8dbdea14}.table-wrap{border:1px solid var(--line);border-radius:10px;margin-bottom:22px;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:13px}th,td{text-align:left;border-bottom:1px solid var(--line-soft);vertical-align:top;padding:12px 16px}th{background:var(--surface-2);color:var(--muted);letter-spacing:1.2px;text-transform:uppercase;white-space:nowrap;font-size:9px;font-weight:750}tbody tr:last-child td{border-bottom:0}tbody tr:hover td{background:var(--surface)}.ticks{gap:10px;margin:0 0 18px;padding:0;list-style:none;display:grid}.ticks li{color:#c2cbc4;padding-left:24px;font-size:14px;position:relative}.ticks li:before{content:"";background:var(--green);border-radius:50%;width:6px;height:6px;position:absolute;top:8px;left:4px;box-shadow:0 0 0 3px #a9ef721a}.steps{counter-reset:step;gap:16px;margin:0 0 20px;padding:0;list-style:none;display:grid}.steps>li{counter-increment:step;padding-left:42px;position:relative}.steps>li:before{content:counter(step);width:27px;height:27px;color:var(--green);font-size:12px;font-weight:700;font-family:var(--mono);background:#a9ef720d;border:1px solid #a9ef724d;border-radius:50%;place-items:center;display:grid;position:absolute;top:0;left:0}.section{border-top:1px solid var(--line-soft);padding:76px 0}.section-head{max-width:660px;margin-bottom:34px}.section-head p{color:var(--muted);margin:12px 0 0}.site-footer{border-top:1px solid var(--line);margin-top:26px;padding:40px 0 52px}.footer-grid{flex-wrap:wrap;justify-content:space-between;gap:30px;display:flex}.footer-links{flex-wrap:wrap;gap:26px;display:flex}.footer-col{align-content:start;gap:7px;display:grid}.footer-col a,.footer-col span{color:var(--muted);font-size:12.5px}.footer-col a:hover{color:var(--text)}.footer-note{color:#525a54;margin:28px 0 0;font-size:11px}.docs{grid-template-columns:232px minmax(0,1fr);align-items:start;gap:48px;padding:38px 0 60px;display:grid}.docs-nav{top:calc(var(--nav-h) + 26px);gap:22px;display:grid;position:sticky}.docs-nav-group{gap:2px;display:grid}.docs-nav a{color:var(--muted);border-radius:8px;padding:7px 11px;font-size:13px;display:block}.docs-nav a:hover{background:var(--surface);color:var(--text);text-decoration:none}.docs-nav a[aria-current=page]{background:var(--surface-2);color:var(--text);box-shadow:inset 2px 0 var(--green)}.docs-body{min-width:0;max-width:780px}.docs-body h2{margin:44px 0 14px}.docs-body h3{margin:30px 0 10px}.docs-body>p,.docs-body li{color:#c2cbc4}.docs-head{border-bottom:1px solid var(--line-soft);margin-bottom:8px;padding-bottom:26px}.docs-head h1{font-size:clamp(30px,4vw,40px)}.docs-head p{margin:12px 0 0}.docs-foot{border-top:1px solid var(--line-soft);flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:52px;padding-top:22px;display:flex}.stack-sm>*+*{margin-top:10px}.row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.center{text-align:center}.nowrap{white-space:nowrap}@media (width<=900px){.docs{grid-template-columns:minmax(0,1fr);gap:26px}.docs-nav{border-bottom:1px solid var(--line-soft);grid-auto-columns:max-content;grid-auto-flow:column;gap:8px;padding-bottom:10px;position:static;overflow-x:auto}.docs-nav-group{grid-auto-columns:max-content;grid-auto-flow:column}.docs-nav .eyebrow{display:none}.docs-nav a{white-space:nowrap}}@media (width<=720px){.wrap{padding:0 18px}.section{padding:52px 0}.nav-links{top:var(--nav-h);border-bottom:1px solid var(--line);background:#0c0f0d;flex-direction:column;align-items:stretch;gap:2px;padding:10px 18px 16px;position:absolute;left:0;right:0}.nav-links[hidden]{display:none}.nav-toggle{border:1px solid var(--line);background:var(--surface);width:34px;height:34px;color:var(--text);border-radius:8px;place-items:center;margin-left:auto;padding:0;display:grid}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
