@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/0b1dc8ddaa74ba49-s.1w1m1wqmjasxa.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/e629b5bc06499d58-s.1y3v-klcv8xov.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/1a099d89ee94ee96-s.15dvesjzf7814.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/fba5a26ea33df6a3-s.p.08ssgmy_tb90r.woff2)format("woff2");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}@font-face{font-family:Plus Jakarta Sans Fallback;src:local(Arial);ascent-override:98.88%;descent-override:21.15%;line-gap-override:0.0%;size-adjust:104.98%}.plus_jakarta_sans_69954701-module__CR59-a__className{font-family:Plus Jakarta Sans,Plus Jakarta Sans Fallback;font-style:normal}.plus_jakarta_sans_69954701-module__CR59-a__variable{--font-sans:"Plus Jakarta Sans", "Plus Jakarta Sans Fallback"}
@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/13bf9871fe164e7f-s.3bz3aq452sydg.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/cc545e633e20c56d-s.2sb9jzhmrh7ny.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/71b036adf157cdcf-s.343obqi851wr5.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/89b21bb081cb7469-s.40kcwrf1wub16.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/3fe682a82f50d426-s.200l3jur7oygh.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/70bc3e132a0a741e-s.p.269kn9uafm0ti.woff2)format("woff2");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}@font-face{font-family:JetBrains Mono Fallback;src:local(Arial);ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.0%;size-adjust:134.59%}.jetbrains_mono_7f3086f3-module__paa25G__className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.jetbrains_mono_7f3086f3-module__paa25G__variable{--font-mono:"JetBrains Mono", "JetBrains Mono Fallback"}
:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f5f6f8;--bg-subtle:#eceef2;--card:#fff;--card-subtle:#f9fafb;--overlay:#0a0c1080;--fg:#0e1320;--fg-muted:#586072;--fg-faint:#8a92a0;--border:#e4e7ec;--border-strong:#cfd4dc;--accent:#157a3f;--accent-hover:#11683a;--accent-fg:#fff;--accent-tint:#e7f5ec;--accent-ring:#157a3f38;--brand:#22c55e;--chart-1:#157a3f;--bar:var(--card);--bar-fg:var(--fg);--bar-border:var(--border);--success:#16794a;--success-tint:#e5f4ec;--warning:#9a5b00;--warning-tint:#fdf1dd;--danger:#b42318;--danger-tint:#fdecea;--info:#1d5fb8;--info-tint:#e8f0fc;--chip-green:#16a34a;--chip-green-bg:#e7f6ec;--chip-blue:#2563eb;--chip-blue-bg:#e8effd;--chip-purple:#7c3aed;--chip-purple-bg:#f1eafe;--chip-orange:#ea580c;--chip-orange-bg:#fff0e5;--radius-sm:8px;--radius:10px;--radius-lg:14px;--radius-xl:20px;--gutter:24px;--page-max:1200px;--shadow-sm:0 1px 2px #0e13200d;--shadow-md:0 1px 2px #0e13200a, 0 6px 20px #0e13200f;--shadow-lg:0 2px 6px #0e13200d, 0 18px 48px #0e13201a}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0a0b0d;--bg-subtle:#111317;--card:#131519;--card-subtle:#171a1f;--overlay:#0009;--fg:#eceef2;--fg-muted:#9ba2ae;--fg-faint:#6d7480;--border:#22252b;--border-strong:#30343c;--accent:#22c55e;--accent-hover:#4ade80;--accent-fg:#04140a;--accent-tint:#22c55e1f;--accent-ring:#22c55e4d;--chart-1:#1aa84f;--success:#4ade80;--success-tint:#4ade801f;--warning:#fbbf24;--warning-tint:#fbbf241f;--danger:#f87171;--danger-tint:#f871711f;--info:#60a5fa;--info-tint:#60a5fa1f;--chip-green:#4ade80;--chip-green-bg:#4ade801f;--chip-blue:#60a5fa;--chip-blue-bg:#60a5fa1f;--chip-purple:#a78bfa;--chip-purple-bg:#a78bfa21;--chip-orange:#fb923c;--chip-orange-bg:#fb923c21;--shadow-sm:0 1px 2px #00000080;--shadow-md:0 1px 2px #0006, 0 8px 24px #00000059;--shadow-lg:0 2px 6px #0006, 0 20px 50px #00000080}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0a0b0d;--bg-subtle:#111317;--card:#131519;--card-subtle:#171a1f;--overlay:#0009;--fg:#eceef2;--fg-muted:#9ba2ae;--fg-faint:#6d7480;--border:#22252b;--border-strong:#30343c;--accent:#22c55e;--accent-hover:#4ade80;--accent-fg:#04140a;--accent-tint:#22c55e1f;--accent-ring:#22c55e4d;--chart-1:#1aa84f;--success:#4ade80;--success-tint:#4ade801f;--warning:#fbbf24;--warning-tint:#fbbf241f;--danger:#f87171;--danger-tint:#f871711f;--info:#60a5fa;--info-tint:#60a5fa1f;--chip-green:#4ade80;--chip-green-bg:#4ade801f;--chip-blue:#60a5fa;--chip-blue-bg:#60a5fa1f;--chip-purple:#a78bfa;--chip-purple-bg:#a78bfa21;--chip-orange:#fb923c;--chip-orange-bg:#fb923c21;--shadow-sm:0 1px 2px #00000080;--shadow-md:0 1px 2px #0006, 0 8px 24px #00000059;--shadow-lg:0 2px 6px #0006, 0 20px 50px #00000080}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;height:100%}body{background:var(--bg);min-height:100%;color:var(--fg);font-family:var(--font-sans), -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;flex-direction:column;font-size:15px;line-height:1.6;display:flex}img,svg,video{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}::selection{background:var(--accent-tint)}h1,h2,h3,h4{letter-spacing:-.02em;text-wrap:balance;font-weight:700;line-height:1.2}h1{font-size:clamp(1.75rem,1.3rem + 1.8vw,2.5rem)}h2{font-size:clamp(1.3rem,1.1rem + .8vw,1.65rem)}h3{letter-spacing:-.01em;font-size:1.1rem}p{text-wrap:pretty}.lede{color:var(--fg-muted);max-width:62ch;font-size:1.08rem}.eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--accent);align-items:center;gap:6px;font-size:.75rem;font-weight:700;display:inline-flex}.muted{color:var(--fg-muted)}.faint{color:var(--fg-faint)}.mono{font-variant-numeric:tabular-nums;letter-spacing:0}.code{font-family:var(--font-mono), ui-monospace, monospace;font-size:.9em}.container{width:100%;max-width:var(--page-max);padding-inline:var(--gutter);margin-inline:auto}.section{padding-block:clamp(44px,6vw,84px)}.section-tight{padding-block:clamp(28px,4vw,44px)}.stack>*+*{margin-top:16px}.stack-sm>*+*{margin-top:8px}.stack-lg>*+*{margin-top:28px}.row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.between{justify-content:space-between}.grid{gap:16px;display:grid}.grid>*{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.grid-3{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.grid-2{grid-template-columns:repeat(auto-fill,minmax(min(340px,100%),1fr))}.cards{grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr));gap:20px;display:grid}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:20px}.card-tight{padding:14px 16px}.panel{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.panel>:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.panel>:last-child{border-bottom-left-radius:inherit;border-bottom-right-radius:inherit}.panel-head{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;display:flex}.panel-head strong{font-weight:650}.panel-body{padding:20px}.btn{border:1px solid var(--accent);border-radius:var(--radius);background:var(--accent);min-height:40px;color:var(--accent-fg);white-space:nowrap;cursor:pointer;justify-content:center;align-items:center;gap:8px;padding:9px 18px;font-size:.9rem;font-weight:650;line-height:1.2;transition:background .15s,border-color .15s,color .15s,box-shadow .15s,transform .15s;display:inline-flex;box-shadow:0 1px 2px #0e13201f}.btn:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn:active{transform:translateY(1px)}.btn:disabled,.btn[aria-disabled=true]{opacity:.55;cursor:not-allowed;transform:none}.btn-outline{background:var(--card);color:var(--fg);border-color:var(--border-strong);box-shadow:var(--shadow-sm)}.btn-outline:hover{background:var(--card-subtle);border-color:var(--fg-faint)}.btn-quiet{color:var(--fg-muted);box-shadow:none;background:0 0;border-color:#0000}.btn-quiet:hover{background:var(--bg-subtle);color:var(--fg);border-color:#0000}.btn-danger{background:var(--danger);border-color:var(--danger);color:#fff}.btn-danger:hover{background:var(--danger);border-color:var(--danger);filter:brightness(1.08)}.btn-sm{border-radius:var(--radius-sm);min-height:32px;padding:5px 12px;font-size:.82rem}.btn-lg{min-height:48px;padding:12px 24px;font-size:.98rem}.btn-block{width:100%}.icon-btn{border-radius:var(--radius);width:38px;height:38px;color:var(--fg-muted);cursor:pointer;background:0 0;border:1px solid #0000;place-items:center;display:inline-grid;position:relative}.icon-btn:hover{background:var(--bg-subtle);color:var(--fg)}.field{display:block}.field>label:not(.check),.label{color:var(--fg);margin-bottom:6px;font-size:.84rem;font-weight:600;display:block}.check{color:var(--fg);cursor:pointer;align-items:center;gap:9px;margin-bottom:0;font-size:.9rem;font-weight:400;display:flex}.check+.check{margin-top:7px}.check input{accent-color:var(--accent);flex:none;margin:0}.input,.select,.textarea{background:var(--card);border:1px solid var(--border-strong);border-radius:var(--radius);outline:none;width:100%;min-height:42px;padding:9px 12px;transition:border-color .15s,box-shadow .15s}.input::placeholder,.textarea::placeholder{color:var(--fg-faint)}.input:focus,.select:focus,.textarea:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-ring)}.textarea{resize:vertical;min-height:120px}.hint{color:var(--fg-muted);margin-top:6px;font-size:.8rem}.error-text{color:var(--danger);margin-top:6px;font-size:.84rem}.table{border-collapse:collapse;width:100%;font-size:.9rem}.table th{text-align:left;color:var(--fg-muted);border-bottom:1px solid var(--border);background:var(--card-subtle);white-space:nowrap;padding:11px 16px;font-size:.76rem;font-weight:600}.table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:13px 16px}.table tbody tr{transition:background .12s}.table tbody tr:hover{background:var(--card-subtle)}.table tr:last-child td{border-bottom:0}.table-scroll{overflow-x:auto}.badge{background:var(--bg-subtle);color:var(--fg-muted);white-space:nowrap;border:1px solid #0000;border-radius:999px;align-items:center;gap:5px;padding:3px 9px;font-size:.72rem;font-weight:600;line-height:1.4;display:inline-flex}.badge-accent{background:var(--accent-tint);color:var(--accent)}.badge-success{background:var(--success-tint);color:var(--success)}.badge-warning{background:var(--warning-tint);color:var(--warning)}.badge-danger{background:var(--danger-tint);color:var(--danger)}.badge-info{background:var(--info-tint);color:var(--info)}.chip{border:1px solid var(--border);background:var(--card);min-height:34px;color:var(--fg-muted);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:6px 14px;font-size:.84rem;font-weight:600;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.chip:hover{color:var(--fg);border-color:var(--border-strong)}.chip[aria-current=true],.chip-on{background:var(--accent);border-color:var(--accent);color:var(--accent-fg)}.chip[aria-current=true]:hover,.chip-on:hover{color:var(--accent-fg)}.icon-chip{background:var(--chip-green-bg);width:40px;height:40px;color:var(--chip-green);border-radius:12px;flex:none;place-items:center;display:inline-grid}.icon-chip-blue{background:var(--chip-blue-bg);color:var(--chip-blue)}.icon-chip-purple{background:var(--chip-purple-bg);color:var(--chip-purple)}.icon-chip-orange{background:var(--chip-orange-bg);color:var(--chip-orange)}.meter{background:var(--bg-subtle);border-radius:999px;height:6px;overflow:hidden}.meter>span{border-radius:inherit;background:var(--accent);height:100%;display:block}.tabs{border-bottom:1px solid var(--border);scrollbar-width:none;gap:4px;display:flex;overflow-x:auto}.tab{color:var(--fg-muted);white-space:nowrap;border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 14px;font-size:.9rem;font-weight:600}.tab:hover{color:var(--fg)}.tab[aria-current=page],.tab[aria-current=true]{color:var(--accent);border-bottom-color:var(--accent)}.avatar{color:#fff;letter-spacing:.02em;background:linear-gradient(135deg,#22c55e,#0f766e);border-radius:999px;flex:none;place-items:center;width:34px;height:34px;font-size:.8rem;font-weight:700;display:inline-grid}.prose{color:var(--fg);overflow-wrap:anywhere;gap:16px;line-height:1.75;display:grid}.prose>*{min-width:0}.prose h2{letter-spacing:-.015em;margin-top:10px;font-size:1.15rem}.prose h3{letter-spacing:-.01em;margin-top:6px;font-size:1rem}.prose>h2:first-child,.prose>h3:first-child{margin-top:0}.prose p{color:var(--fg-muted)}.prose strong{color:var(--fg);font-weight:650}.prose a{color:var(--accent);text-underline-offset:2px;font-weight:600;text-decoration:underline}.prose ul,.prose ol{color:var(--fg-muted);gap:8px;padding-left:22px;display:grid}.prose li::marker{color:var(--accent);font-weight:700}.prose li{padding-left:4px}.prose blockquote{border-left:3px solid var(--accent);border-radius:0 var(--radius) var(--radius) 0;background:var(--accent-tint);gap:8px;padding:14px 18px;display:grid}.prose blockquote p{color:var(--fg);font-size:.94rem}.prose pre{border-radius:var(--radius-lg);background:#0b1220;border:1px solid #1e293b;margin:2px 0;padding:18px 20px;position:relative;overflow-x:auto}.prose pre[data-language]:before{content:attr(data-language);letter-spacing:.08em;text-transform:uppercase;color:#64748b;font-size:.65rem;font-weight:700;position:absolute;top:8px;right:12px}.prose pre code{font-family:var(--font-mono), ui-monospace, monospace;color:#e2e8f0;white-space:pre;tab-size:2;font-size:.82rem;line-height:1.7;display:block}.prose :not(pre)>code{background:var(--bg-subtle);border:1px solid var(--border);color:var(--fg);border-radius:6px;padding:2px 6px;font-size:.85em}.prose table{font-size:.88rem}.prose .table-scroll{border:1px solid var(--border);border-radius:var(--radius);overflow-x:auto}.prose hr{background:var(--border);border:0;height:1px;margin:4px 0}.divider{background:var(--border);border:0;height:1px}.empty{text-align:center;color:var(--fg-muted);background:var(--card);border:1px dashed var(--border-strong);border-radius:var(--radius-lg);padding:44px 24px}.skip-link{position:absolute;left:-9999px}.skip-link:focus{z-index:100;border-radius:var(--radius);background:var(--accent);color:var(--accent-fg);padding:10px 16px;top:12px;left:12px}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}
