:root{--brand-dark:#141413;--brand-light:#faf9f5;--brand-mid:#b0aea5;--brand-lightgray:#e8e6dc;--brand-lime:#c3f53c;--brand-blue:#6a9bcc;--brand-green:#788c5d;--paper:#faf9f5;--surface:#fff;--surface-2:#f5f3ec;--wash:#eeece3;--rule:#e0ddd1;--rule-strong:#cbc8b9;--ink:#141413;--ink-2:#3f3e3a;--muted:#565550;--faint:#6b6963;--on-dark:#faf9f5;--accent:#4d6b0f;--accent-raw:#c3f53c;--accent-mark:#6b8e13;--accent-ink:#141413;--accent-on-solid:#c3f53c;--accent-soft:#eef6d2;--accent-line:#dcebae;--ok:#5a6b45;--ok-soft:#eef1e7;--ok-line:#d3dcc4;--info:#436e97;--info-soft:#eaf1f8;--info-line:#c8dcec;--warn:#8b6227;--warn-soft:#f9f0df;--warn-line:#ecd9b4;--danger:#a5432a;--danger-soft:#fbeae5;--danger-line:#eecabe;--violet:#6b5b95;--violet-soft:#f0edf6;--violet-line:#d8d0e6;--solid-bg:#141413;--solid-bg-hover:#2b2a27;--solid-ink:#faf9f5;--control-border:#8b8980;--control-border-hover:#6f6d66;--disabled-bg:#eeece3;--disabled-ink:#6b6963;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;--s8:64px;--r1:4px;--r2:6px;--r3:10px;--r4:14px;--rfull:999px;--t1:11px;--t2:12px;--t3:13px;--t4:13.5px;--t5:15px;--t6:17px;--t7:19px;--t8:24px;--scrim:#1414136b;--font-display:"Poppins", "Segoe UI", system-ui, sans-serif;--font-ui:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--font-serif:"Lora", Georgia, "Times New Roman", serif;--font-mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--sh1:0 1px 2px #1414130d;--sh2:0 2px 8px #14141312, 0 1px 2px #1414130a;--sh3:0 12px 32px #14141321, 0 2px 8px #14141312;--sh-inset:inset 0 1px 0 #fff9;--ease:cubic-bezier(.2,.8,.3,1);--fast:.12s;--slow:.26s;--ctl:36px;--ctl-sm:28px;--w-num:180px;--topbar-h:52px;--dock-rail:28px;--dock-open:248px;--dock-full:min(62vh, 580px);--dock-h:var(--dock-rail);--gutter:16px;--rail-w:244px;--max-w:1320px;--measure:72ch;--measure-tight:68ch;color-scheme:light}:root[data-theme=dark]{color-scheme:dark;--paper:#141413;--surface:#1d1c1a;--surface-2:#24231f;--wash:#2b2a26;--rule:#35342f;--rule-strong:#4a4841;--ink:#faf9f5;--ink-2:#d0cdc1;--muted:#afaca2;--faint:#949289;--on-dark:#141413;--accent:#b8dc5c;--accent-raw:#c3f53c;--accent-mark:#b8dc5c;--accent-ink:#141413;--accent-on-solid:#4d6b0f;--accent-soft:#242b14;--accent-line:#455426;--ok:#9db47c;--ok-soft:#23291b;--ok-line:#3c472e;--info:#86b2dc;--info-soft:#1b2530;--info-line:#2e4256;--warn:#d3a95e;--warn-soft:#2e2617;--warn-line:#4d3f22;--danger:#e08267;--danger-soft:#31201b;--danger-line:#553229;--violet:#a99ac9;--violet-soft:#25222e;--violet-line:#3d3750;--solid-bg:#faf9f5;--solid-bg-hover:#ecebe4;--solid-ink:#141413;--control-border:#716f68;--control-border-hover:#8e8b83;--disabled-bg:#2b2a26;--disabled-ink:#949289;--scrim:#0000009e;--sh1:0 1px 2px #0006;--sh2:0 2px 10px #00000073;--sh3:0 16px 40px #0009, 0 2px 8px #0006;--sh-inset:inset 0 1px 0 #ffffff0a}@font-face{font-family:Poppins;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/poppins-400-latin.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:Poppins;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/poppins-500-latin.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:Poppins;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/poppins-600-latin.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:Poppins;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/poppins-700-latin.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:Inter;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/inter-400-700-latin.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:Lora;font-style:normal;font-weight:400 500;font-display:swap;src:url(/fonts/lora-400-500-latin.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:Lora;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/lora-400-italic-latin.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;font-style:normal;font-weight:400 500;font-display:swap;src:url(/fonts/jetbrains-mono-400-500-latin.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}:root{--d1:clamp(28px, 6vw + 8px, 48px);--d2:clamp(22px, 3vw + 10px, 32px);--prose:17px;--page-w:1120px}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{background:var(--paper);color:var(--ink);font-family:var(--font-ui);overflow-wrap:break-word;flex-direction:column;min-height:100vh;margin:0;font-size:16px;line-height:1.55;display:flex}main{flex:1}img,svg,video{max-width:100%;height:auto}svg{flex:none}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.02em;margin:0 0 var(--s4);text-wrap:balance;font-weight:600;line-height:1.2}h1{font-size:var(--d1);letter-spacing:-.03em}h2{font-size:var(--d2)}h3{font-size:var(--t7)}h4{font-size:var(--t5)}p,ul,ol{margin:0 0 var(--s4)}a{color:inherit;text-underline-offset:3px;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}code,kbd,pre,samp{font-family:var(--font-mono);font-size:.9em}pre{padding:var(--s4);background:var(--surface);border:1px solid var(--rule);border-radius:var(--r3);overflow-x:auto}hr{border:0;border-top:1px solid var(--rule);margin:var(--s7) 0}.prose{font-family:var(--font-serif);font-size:var(--prose);max-width:var(--measure-tight);line-height:1.65}.prose h2,.prose h3{margin-top:var(--s6)}.eyebrow{font-family:var(--font-ui);font-size:var(--t2);letter-spacing:.09em;text-transform:uppercase;color:var(--faint);margin:0 0 var(--s3);font-weight:600}.wrap{width:100%;max-width:var(--page-w);padding-inline:var(--s4);margin-inline:auto}@media (width>=48rem){.wrap{padding-inline:var(--s6)}}:focus-visible{outline:2px solid var(--accent-mark);outline-offset:2px;border-radius:var(--r1)}:focus:not(:focus-visible){outline:none}button,input,select,textarea,summary,.site-nav a,.site-footer a,.brand,.skip{min-width:24px;min-height:24px}.site-footer-about a,.eyebrow a,.doc-toc a{align-items:center;min-height:24px;display:inline-flex}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip{left:var(--s4);top:var(--s2);z-index:100;padding:var(--s2) var(--s3);background:var(--solid-bg);color:var(--solid-ink);border-radius:var(--r2);align-items:center;font-weight:500;text-decoration:none;display:inline-flex;position:absolute;transform:translateY(-200%)}.skip:focus-visible{transform:none}main:focus{outline:none}.brand{align-items:center;gap:var(--s3);color:var(--ink);text-decoration:none;display:inline-flex}.brand-mark{display:block}.brand-name{font-family:var(--font-display);font-size:var(--t6);letter-spacing:-.03em;font-weight:600;line-height:1}a.brand:hover .brand-name{text-underline-offset:3px;text-decoration:underline}.launch-note{background:var(--accent-soft);border-bottom:1px solid var(--accent-line);color:var(--ink);font-size:var(--t3)}.launch-note p{padding-block:var(--s2);justify-content:center;align-items:center;gap:var(--s1) var(--s2);text-align:center;flex-wrap:wrap;margin:0 auto;display:flex}.launch-note strong{font-weight:600}.launch-dot{background:var(--accent-mark);border-radius:50%;flex:none;width:8px;height:8px}.site-header{border-bottom:1px solid var(--rule);background:var(--paper)}.site-header-row{align-items:center;column-gap:var(--s4);row-gap:var(--s2);padding-block:var(--s3);grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"brand brand""nav cta";display:grid}.site-header .brand{grid-area:brand;justify-self:start}.site-header-cta{grid-area:cta;justify-self:end}.site-nav{grid-area:nav;min-width:0}.site-nav ul{column-gap:var(--s4);row-gap:var(--s1);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.site-nav a{min-height:var(--ctl-sm);font-size:var(--t4);color:var(--ink-2);align-items:center;font-weight:500;text-decoration:none;display:inline-flex}.site-nav a:hover{color:var(--ink);text-decoration:underline}.site-nav a[aria-current=page]{color:var(--ink);text-decoration:underline;text-decoration-color:var(--accent-mark);text-decoration-thickness:2px}@media (width>=48rem){.site-header-row{column-gap:var(--s6);padding-block:var(--s4);grid-template-columns:auto 1fr auto;grid-template-areas:"brand nav cta"}.site-nav ul{column-gap:var(--s5)}}.site-footer{border-top:1px solid var(--rule);margin-top:var(--s8);padding-block:var(--s7) var(--s6);font-size:var(--t3);color:var(--muted)}.site-footer-grid{gap:var(--s6) var(--s5);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.site-footer-about{grid-column:1/-1}.site-footer-about .brand{margin-bottom:var(--s3)}.site-footer-about p{margin:0 0 var(--s2)}.site-footer ul{margin:0;padding:0;list-style:none}.site-footer li+li{margin-top:var(--s1)}.site-footer-group a{color:var(--ink-2);align-items:center;text-decoration:none;display:inline-flex}.site-footer-group a:hover{color:var(--ink);text-decoration:underline}.site-footer-legal{margin:var(--s6) 0 0;padding-top:var(--s4);border-top:1px solid var(--rule);font-size:var(--t2);color:var(--faint)}@media (width>=48rem){.site-footer-grid{grid-template-columns:2fr repeat(4,minmax(0,1fr))}.site-footer-about{grid-column:auto}}.btn{justify-content:center;align-items:center;gap:var(--s2);min-height:var(--ctl);padding:0 var(--s4);border:1px solid var(--solid-bg);border-radius:var(--r2);background:var(--solid-bg);color:var(--solid-ink);font-family:var(--font-ui);font-size:var(--t4);text-align:center;cursor:pointer;transition:background var(--fast) var(--ease), border-color var(--fast) var(--ease);font-weight:500;line-height:1.2;text-decoration:none;display:inline-flex}a.btn:hover{text-decoration:none}.btn-solid:hover{background:var(--solid-bg-hover);border-color:var(--solid-bg-hover)}.btn-ghost{background:var(--surface);color:var(--ink);border-color:var(--control-border)}.btn-ghost:hover{background:var(--wash);border-color:var(--control-border-hover)}.btn-lime{background:var(--accent-raw);color:var(--accent-ink);border-color:var(--accent-mark)}.btn-lime:hover{background:var(--accent-mark);border-color:var(--accent-mark)}.btn-lime:focus-visible{border-color:var(--accent-raw)}.btn-sm{min-height:var(--ctl-sm);padding:0 var(--s3);font-size:var(--t3);border-radius:var(--r1)}.btn[disabled],.btn[aria-disabled=true]{background:var(--disabled-bg);border-color:var(--rule);color:var(--disabled-ink);cursor:not-allowed}.tag{align-items:center;gap:var(--s1);padding:2px var(--s2);border:1px solid var(--rule);border-radius:var(--rfull);background:var(--wash);color:var(--muted);font-family:var(--font-ui);font-size:var(--t2);white-space:nowrap;font-weight:500;line-height:1.55;display:inline-flex}.tag:before{content:"";border-radius:var(--rfull);background:currentColor;flex:none;width:6px;height:6px}.tag-ok{background:var(--ok-soft);color:var(--ok);border-color:var(--ok-line)}.tag-info{background:var(--info-soft);color:var(--info);border-color:var(--info-line)}.tag-warn{background:var(--warn-soft);color:var(--warn);border-color:var(--warn-line)}.tag-danger{background:var(--danger-soft);color:var(--danger);border-color:var(--danger-line)}.tag-violet{background:var(--violet-soft);color:var(--violet);border-color:var(--violet-line)}.tag-accent{background:var(--accent-soft);color:var(--accent);border-color:var(--accent-line)}.page-head{padding-block:var(--s7) var(--s5)}.page-head h1{max-width:22em}.page-sub{font-family:var(--font-serif);color:var(--ink-2);max-width:36em;margin:0;font-size:clamp(18px,1vw + 14px,21px);line-height:1.55}.page-section{padding-block:var(--s6);border-top:1px solid var(--rule)}.page-section>h2{font-size:var(--t8)}.page-section .prose>:last-child{margin-bottom:0}.aside{border:1px solid var(--rule);border-left:3px solid var(--accent-mark);border-radius:var(--r2);background:var(--surface);padding:var(--s4) var(--s5);max-width:var(--measure-tight)}.aside>:last-child{margin-bottom:0}.aside-warn{border-left-color:var(--warn-line)}.prose .scroll-region{margin:0 0 var(--s5);overflow-x:auto}.prose .scroll-region>table,.prose .scroll-region>pre{margin:0}.prose .scroll-region>pre{width:max-content;min-width:100%;overflow:visible}.prose table{border-collapse:collapse;margin:0 0 var(--s5);font-family:var(--font-ui);font-size:var(--t3);line-height:1.45}.prose th,.prose td{border-bottom:1px solid var(--rule);padding:var(--s2) var(--s3);text-align:left;vertical-align:top}.prose th{color:var(--ink);font-weight:600}.prose code{font-size:.85em}.prose pre{font-size:var(--t3);margin:0 0 var(--s5);line-height:1.5}.prose pre code{font-size:inherit}.prose blockquote{margin:0 0 var(--s4);padding-left:var(--s4);border-left:2px solid var(--rule);color:var(--ink-2)}.prose li+li{margin-top:var(--s1)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}mark.blank{font-family:var(--font-mono);color:var(--ink);background:var(--warn-soft);border:1px solid var(--warn-line);border-radius:var(--r1);-webkit-box-decoration-break:clone;box-decoration-break:clone;padding:0 .25em;font-size:.8em}.legal h2{font-size:var(--t8);padding-top:var(--s5);border-top:1px solid var(--rule)}.legal h2:first-child{margin-top:0}.legal h3{font-size:var(--t6)}.legal .legal-credit{font-size:var(--t4);color:var(--ink-2)}
