:root{--bg:#060705;--bg-1:#0a0c08;--bg-2:#0e110b;--rule:#1e2616;--rule-soft:#151b10;--rule-strong:#33421f;--fg:#f3f2e7;--fg-dim:#c3c6b3;--ash:#8b907c;--green:#a6e22e;--green-2:#8cc626;--green-deep:#4c6a1c;--display:"Martian Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--mono:"Spline Sans Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--pad:clamp(20px, 4.4vw, 52px);--max:1180px;--ease:cubic-bezier(.2, .7, .2, 1)}*,:before,:after{box-sizing:border-box}html{background:var(--bg);color-scheme:dark;scroll-behavior:smooth;-webkit-text-size-adjust:100%;overscroll-behavior-y:none}body{background:var(--bg);color:var(--fg-dim);font-family:var(--mono);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:15.5px;font-weight:400;line-height:1.72}::selection{background:var(--green);color:var(--bg)}h1,h2,h3{color:var(--fg);font-family:var(--display);letter-spacing:-.03em;margin:0;font-weight:600;line-height:1.15}p{text-wrap:pretty;margin:0 0 1.1em}p:last-child{margin-bottom:0}a{color:var(--fg);text-underline-offset:.24em;text-decoration-line:underline;text-decoration-thickness:1px;text-decoration-color:var(--rule-strong);transition:color .18s var(--ease), text-decoration-color .18s var(--ease)}a:hover{color:var(--green);text-decoration-color:var(--green)}code,pre,kbd{font-family:var(--mono);font-variant-ligatures:none}code{color:var(--green);font-size:.92em}button{touch-action:manipulation;-webkit-tap-highlight-color:transparent}:focus-visible{outline:2px solid var(--green);outline-offset:3px;border-radius:1px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip{z-index:100;background:var(--green);color:var(--bg);padding:10px 16px;font-size:13px;text-decoration:none;position:absolute;top:0;left:-9999px}.skip:focus{top:12px;left:12px}.wrap{width:min(var(--max), 100% - 2 * var(--pad));margin-inline:auto}.top{z-index:40;border-bottom:1px solid var(--rule);background:color-mix(in srgb, var(--bg) 97%, transparent);-webkit-backdrop-filter:blur(12px);position:sticky;top:0}.top__in{height:56px;width:min(var(--max), 100% - 2 * var(--pad));align-items:center;gap:28px;margin-inline:auto;display:flex}.brand{font-family:var(--display);letter-spacing:-.02em;color:var(--fg);white-space:nowrap;font-size:13.5px;font-weight:600;text-decoration:none}.brand:hover{color:var(--green)}.brand span{color:var(--ash);font-weight:400}.nav{gap:24px;margin-left:auto;display:flex}.nav a{color:var(--ash);white-space:nowrap;transition:color .16s var(--ease);font-size:12.5px;text-decoration:none}.nav a:hover{color:var(--fg)}.nav a[aria-current=true]{color:var(--green)}.gh{color:var(--fg);border:1px solid var(--rule);white-space:nowrap;transition:border-color .18s var(--ease), background .18s var(--ease), color .18s var(--ease);align-items:center;gap:7px;padding:6px 12px;font-size:12.5px;text-decoration:none;display:inline-flex}.gh:hover{color:var(--green);border-color:var(--green-deep);background:var(--bg-1)}.gh svg{fill:currentColor;opacity:.8;width:13px;height:13px}.ascii-title,.wordmark__art,.brand-ascii,.foot__brand{width:min(100%, calc(var(--cols) * var(--cell,5px)));height:auto;aspect-ratio:var(--cols) / var(--rows);color:var(--green);display:block;overflow:visible}.ascii-title{--cell:5px;filter:drop-shadow(0 0 16px #a6e22e24);animation:fade-in .5s var(--ease) both}.wordmark{margin:0}.wordmark__art{--cell:9px;filter:drop-shadow(0 0 22px #a6e22e2e);animation:fade-in .7s var(--ease) both}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.hero{padding-block:clamp(30px,4.4vw,56px) clamp(44px,6vw,78px)}.hero__grid{grid-template-columns:minmax(0,1.06fr) minmax(0,.8fr);align-items:center;gap:clamp(30px,4.5vw,64px);display:grid}.art{min-width:0;margin:0;container-type:inline-size}.art pre{letter-spacing:0;white-space:pre;color:var(--green);text-shadow:0 0 20px #a6e22e29;animation:unroll 1.15s var(--ease) 50ms both;margin:0;font-size:min(10.1px,1.71cqw);line-height:1;overflow:hidden}.art figcaption{color:var(--ash);text-align:right;margin-top:16px;font-size:10.5px;line-height:1.5}@keyframes unroll{0%{clip-path:inset(0 0 94%);opacity:.3}to{clip-path:inset(0);opacity:1}}.tagline{max-width:26ch;color:var(--fg);font-family:var(--display);letter-spacing:-.035em;margin:24px 0 0;font-size:clamp(1.1rem,2.1vw,1.42rem);font-weight:600;line-height:1.35}.lede{max-width:44ch;color:var(--fg-dim);margin-top:18px;font-size:14.5px;line-height:1.75}.hero__copy{min-width:0}.cmd{border:1px solid var(--rule);background:var(--bg-1);min-width:0;transition:border-color .18s var(--ease);align-items:center;gap:10px;margin-top:26px;padding-left:13px;display:flex}.cmd:hover{border-color:var(--green-deep)}.cmd__sigil{color:var(--green);user-select:none;flex:none;font-size:12.5px}.cmd code{scrollbar-width:thin;white-space:nowrap;min-width:0;color:var(--fg);flex:1;padding:11px 0;font-size:12px;line-height:1.5;overflow-x:auto}.copy{appearance:none;color:var(--ash);font:inherit;letter-spacing:.02em;cursor:pointer;transition:color .18s var(--ease), border-color .18s var(--ease);background:0 0;border:1px solid #0000;flex:none;padding:6px 9px;font-size:11px}.copy:hover{color:var(--fg);border-color:var(--rule-strong)}.copy[data-done=true]{color:var(--green)}.actions{flex-wrap:wrap;gap:10px;margin-top:20px;display:flex}.btn{border:1px solid var(--rule-strong);color:var(--fg);transition:background .18s var(--ease), border-color .18s var(--ease), color .18s var(--ease);align-items:center;gap:7px;padding:9px 16px;font-size:12.5px;line-height:1.4;text-decoration:none;display:inline-flex}.btn:hover{color:var(--green);border-color:var(--green-deep);background:var(--bg-1)}.btn--solid{background:var(--green);border-color:var(--green);color:#0b1206;font-weight:500}.btn--solid:hover{color:#0b1206;background:#bdf04f;border-color:#bdf04f}.meta{border-top:1px solid var(--rule-soft);flex-wrap:wrap;gap:6px 30px;margin:30px 0 0;padding-top:16px;display:flex}.meta div{align-items:baseline;gap:7px;display:flex}.meta dt{letter-spacing:.03em;color:var(--ash);font-size:10.5px}.meta dd{color:var(--fg-dim);font-variant-numeric:tabular-nums;margin:0;font-size:12px}.sec{border-top:1px solid var(--rule);padding-block:clamp(46px,6vw,80px);scroll-margin-top:72px}.sec__head{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:14px 44px;margin-bottom:clamp(24px,3.2vw,38px);display:flex}.sec__note{max-width:58ch;color:var(--ash);margin:0;font-size:12.5px;line-height:1.7}.split{grid-template-columns:minmax(0,1.32fr) minmax(0,.68fr);align-items:start;gap:clamp(32px,5vw,76px);display:grid}.prose{max-width:64ch}.prose p{color:var(--fg-dim);margin-bottom:1.15em}.spec{border-top:1px solid var(--rule);margin:0}.spec div{border-bottom:1px solid var(--rule-soft);gap:2px;padding:11px 0;display:grid}.spec dt{letter-spacing:.03em;color:var(--ash);font-size:10.5px}.spec dd{color:var(--fg-dim);margin:0;font-size:12.5px;line-height:1.6}.tabs{border-bottom:1px solid var(--rule);scrollbar-width:none;gap:2px;display:flex;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tab{appearance:none;color:var(--ash);font:inherit;white-space:nowrap;cursor:pointer;transition:color .18s var(--ease), border-color .18s var(--ease);background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px;padding:11px 15px;font-size:12.5px}.tab:hover{color:var(--fg)}.tab[aria-selected=true]{color:var(--fg);border-bottom-color:var(--green)}.panel{border:1px solid var(--rule);background:var(--bg-1);border-top:0;position:relative}.panel pre{color:#d7dac6;tab-size:2;margin:0;padding:18px 64px 18px 18px;font-size:12.5px;line-height:1.9;overflow-x:auto}.panel .copy{position:absolute;top:8px;right:8px}.panel[hidden]{display:none}.firstrun{border:1px solid var(--rule);background:var(--bg-1);grid-template-columns:minmax(0,1fr) minmax(0,.85fr);align-items:start;gap:clamp(20px,3vw,40px);margin-top:20px;padding:20px;display:grid;position:relative}.firstrun h3{margin-bottom:8px;font-size:13px}.firstrun p{max-width:46ch;color:var(--ash);margin:0;font-size:12.5px;line-height:1.7}.firstrun pre{color:var(--fg-dim);margin:0;padding-right:52px;font-size:12.5px;line-height:1.9;overflow-x:auto}.firstrun .copy{position:absolute;bottom:14px;right:14px}.fineprint{max-width:74ch;color:var(--ash);margin:18px 0 0;font-size:12px;line-height:1.7}.inside{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);align-items:start;gap:clamp(28px,4.5vw,64px);display:grid}.keylist{grid-template-columns:1fr 1fr;gap:0 32px;margin:0;padding:0;list-style:none;display:grid}.keylist li{border-bottom:1px dashed var(--rule-soft);color:var(--fg-dim);grid-template-columns:minmax(64px,auto) 1fr;align-items:baseline;gap:12px;padding:9px 0;font-size:12.5px;display:grid}.keyset{align-items:center;gap:3px;display:flex}kbd{border:1px solid var(--rule-strong);background:var(--bg-2);min-width:20px;color:var(--fg);text-align:center;white-space:nowrap;padding:1px 5px;font-size:10.5px;line-height:1.6;display:inline-block}.inspector{border:1px solid var(--rule);background:var(--bg-1);padding:16px 18px 18px}.inspector h3{letter-spacing:.14em;color:var(--green);margin-bottom:12px;font-size:10.5px;font-weight:500}.inspector dl{gap:9px;margin:0;font-size:12px;display:grid}.inspector dl>div{grid-template-columns:82px 1fr;align-items:baseline;gap:10px;display:grid}.inspector dt{color:var(--ash);font-size:11px}.inspector dd{color:var(--fg-dim);overflow-wrap:anywhere;min-width:0;margin:0}.meter{color:var(--green);letter-spacing:1px}.features{background:var(--rule);border:1px solid var(--rule);grid-template-columns:1fr 1fr;gap:1px;display:grid}.features article{background:var(--bg);padding:clamp(20px,2.8vw,30px)}.features h3{letter-spacing:-.02em;margin-bottom:7px;font-size:13.5px}.features p{max-width:44ch;color:var(--ash);margin:0;font-size:12.8px;line-height:1.72}.tablewrap{border:1px solid var(--rule);overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:620px;font-size:12.8px}th{border-bottom:1px solid var(--rule);background:var(--bg-1);color:var(--ash);letter-spacing:.04em;text-align:left;padding:9px 16px;font-size:10.5px;font-weight:400}td{border-bottom:1px solid var(--rule-soft);vertical-align:top;padding:9px 16px}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:var(--bg-1)}td code{color:var(--green);white-space:nowrap}td:last-child{color:var(--fg-dim)}.themes{grid-template-columns:minmax(0,1fr) minmax(0,.86fr);align-items:start;gap:clamp(24px,4vw,56px);display:grid}.picker{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.theme{border:1px solid var(--rule);background:var(--bg-1);color:var(--ash);font:inherit;text-align:left;cursor:pointer;transition:color .16s var(--ease), border-color .16s var(--ease), background .16s var(--ease);align-items:center;gap:8px;padding:8px 9px;font-size:11.5px;display:flex}.theme:hover{color:var(--fg);border-color:var(--rule-strong)}.theme[aria-pressed=true]{color:var(--fg);border-color:var(--green-deep);background:#10160c}.chips{border:1px solid #ffffff24;flex:none;display:inline-flex}.chips i{width:7px;height:13px;display:block}.term{--t-bg:#272822;--t-fg:#f8f8f2;--t-accent:#a6e22e;border:1px solid var(--rule);background:var(--t-bg);color:var(--t-fg);transition:background .28s var(--ease), color .28s var(--ease)}.term__bar{border-bottom:1px solid color-mix(in srgb, var(--t-fg) 16%, transparent);color:var(--t-accent);letter-spacing:.04em;justify-content:space-between;gap:16px;padding:8px 13px;font-size:10.5px;display:flex}.term__body{gap:5px;padding:14px 13px;font-size:12px;line-height:1.6;display:grid}.term__body p{grid-template-columns:62px minmax(0,1fr);align-items:baseline;gap:10px;margin:0;display:grid}.term__body .k{color:color-mix(in srgb, var(--t-fg) 52%, transparent);font-size:11px}.term__prompt{border-top:1px solid color-mix(in srgb, var(--t-fg) 12%, transparent);color:var(--t-accent);align-items:center;gap:8px;padding-top:10px;margin-top:8px!important;display:flex!important}.term__prompt .sigil{color:var(--t-accent)}.caret{background:var(--t-accent);width:7px;height:13px;animation:1.15s step-end infinite blink;display:inline-block}@keyframes blink{50%{opacity:0}}.term__hint{color:color-mix(in srgb, var(--t-fg) 45%, transparent);margin:0;padding:9px 13px 11px;font-size:10.5px}.cta__in{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:clamp(24px,4vw,56px);display:grid}.cta__line{max-width:44ch;color:var(--fg);letter-spacing:-.02em;margin-bottom:20px;font-size:clamp(1rem,1.7vw,1.2rem);line-height:1.55}.cta .cmd{margin-top:0}.cta__links{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.foot{border-top:1px solid var(--rule);padding-block:34px 40px}.foot__in{grid-template-columns:auto 1fr;align-items:start;gap:18px 48px;display:grid}.foot__brand{--cell:4.2px;color:var(--green);filter:drop-shadow(0 0 12px #a6e22e29)}.foot__nav{flex-wrap:wrap;justify-self:end;gap:6px 22px;display:flex}.foot__nav a{color:var(--ash);font-size:12px;text-decoration:none}.foot__nav a:hover{color:var(--green)}.foot__note{color:#6f7462;grid-column:1/-1;max-width:68ch;margin:8px 0 0;font-size:11.5px;line-height:1.65}@media (width<=900px){.hero__grid,.split,.inside,.themes,.firstrun{grid-template-columns:1fr}.hero__grid{gap:30px}.art figcaption{text-align:left}.cta__in{grid-template-columns:1fr;align-items:start}.cta__links{justify-content:flex-start}.features{grid-template-columns:1fr}.nav{display:none}.gh{margin-left:auto}}@media (width<=620px){body{font-size:15px}.keylist{grid-template-columns:1fr}.picker{grid-template-columns:repeat(2,minmax(0,1fr))}.foot__in{grid-template-columns:1fr}.foot__nav{justify-self:start}.meta{gap:6px 20px}.tagline{max-width:24ch}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.art pre,.wordmark__art,.ascii-title{clip-path:none;animation:none}.caret{animation:none}}.hero--docs{padding-block:clamp(26px,3.6vw,44px) clamp(30px,4vw,52px)}.hero--docs .art pre{font-size:min(10.8px,1.71cqw)}.hero--docs .art figcaption{text-align:left}.hero--docs .tagline{max-width:30ch;margin-top:20px;font-size:clamp(1rem,1.7vw,1.18rem)}.docs{grid-template-columns:208px minmax(0,1fr);align-items:start;gap:clamp(28px,4.4vw,72px);padding-bottom:clamp(56px,7vw,96px);display:grid}.side{scrollbar-width:thin;align-self:start;max-height:calc(100dvh - 104px);padding-top:4px;position:sticky;top:72px;overflow-y:auto}.side__title{color:var(--ash);letter-spacing:.13em;margin:0 0 10px;padding-left:10px;font-size:10.5px}.side ol{gap:1px;margin:0;padding:0;list-style:none;display:grid}.side a{color:var(--ash);transition:color .16s var(--ease), border-color .16s var(--ease), background .16s var(--ease);border-left:2px solid #0000;padding:5px 10px;font-size:12.5px;line-height:1.5;text-decoration:none;display:block}.side a:hover{color:var(--fg);background:var(--bg-1)}.side a[aria-current=true]{color:var(--green);border-left-color:var(--green)}.side__foot{border-top:1px solid var(--rule-soft);color:var(--ash);margin:16px 0 0;padding:12px 10px 0;font-size:11px;line-height:1.6}.doc{min-width:0}.doc section{border-top:1px solid var(--rule);padding-block:clamp(30px,3.8vw,46px);scroll-margin-top:72px}.doc section:first-child{border-top:0;padding-top:0}.doc__head{margin-bottom:20px}.doc h3{letter-spacing:-.02em;margin:26px 0 8px;font-size:13.5px}.doc h3:first-of-type{margin-top:18px}.doc p{max-width:72ch;color:var(--fg-dim);margin-bottom:12px;font-size:14px;line-height:1.72}.doc>section>p:last-child{margin-bottom:0}.doc ul,.doc ol{color:var(--fg-dim);margin:0 0 16px;padding-left:20px;font-size:14px;line-height:1.72}.doc li{margin-bottom:5px}.doc li::marker{color:var(--green-deep)}.doc strong{color:var(--fg);font-weight:500}.codewrap{border:1px solid var(--rule);background:var(--bg-1);margin:14px 0 18px;position:relative}.codewrap pre{color:#d7dac6;tab-size:2;margin:0;padding:13px 56px 13px 16px;font-size:12.5px;line-height:1.85;overflow-x:auto}.codewrap pre code{color:inherit;font-size:inherit}.codewrap .copy{position:absolute;top:6px;right:6px}.codewrap--wrap pre{white-space:pre-wrap;overflow-wrap:anywhere;padding-right:48px}.note{border-left:2px solid var(--green-deep);background:var(--bg-1);color:var(--ash);margin:18px 0;padding:12px 14px;font-size:12.5px;line-height:1.7}.note strong{color:var(--fg);font-weight:500}.note code{color:var(--green)}.recs{border:1px solid var(--rule);background:var(--rule);gap:1px;margin:18px 0 8px;display:grid}.rec{background:var(--bg);padding:15px 17px}.rec__head{flex-wrap:wrap;align-items:baseline;gap:9px;margin-bottom:4px;display:flex}.rec__head h3{margin:0;font-size:13px}.rec__tag{border:1px solid var(--green-deep);color:var(--green);padding:0 6px;font-size:10px;line-height:1.7}.rec__src{color:var(--ash);font-size:10.5px}.rec p{max-width:70ch;color:var(--ash);margin:0 0 9px;font-size:12.5px;line-height:1.65}.rec .codewrap{margin:0}.rec .codewrap pre{padding:8px 44px 8px 11px;font-size:11.5px;line-height:1.7}.rec .copy{padding:4px 7px;font-size:10.5px}.faq{border-top:1px solid var(--rule);margin:0}.faq>div{border-bottom:1px solid var(--rule-soft);padding:14px 0}.faq dt{color:var(--fg);font-family:var(--display);letter-spacing:-.01em;margin-bottom:4px;font-size:12.5px;font-weight:500}.faq dd{max-width:74ch;color:var(--ash);margin:0;font-size:13px;line-height:1.7}@media (width<=900px){.docs{grid-template-columns:minmax(0,1fr);gap:20px}.side{border-bottom:1px solid var(--rule);max-height:none;padding:0 0 14px;position:static;overflow:visible}.side__title{padding-left:0}.side ol{scrollbar-width:none;gap:4px;padding-bottom:2px;display:flex;overflow-x:auto}.side ol::-webkit-scrollbar{display:none}.side a{border-left:0;border:1px solid var(--rule);white-space:nowrap;padding:5px 9px}.side a[aria-current=true]{border-color:var(--green-deep);background:var(--bg-1)}.side__foot{display:none}}@media (width<=620px){.rec{padding:13px 14px}.codewrap pre{scrollbar-width:thin}.codewrap:after{content:"";background:linear-gradient(90deg, transparent, var(--bg-1) 75%);pointer-events:none;width:22px;position:absolute;inset:0 0 0 auto}.codewrap pre::-webkit-scrollbar{height:4px}.codewrap pre::-webkit-scrollbar-thumb{background:var(--rule-strong)}.doc p,.doc li{font-size:13.5px}}.top__in{height:64px}.brand-ascii{--cell:4.6px;width:min(calc(var(--cols) * var(--cell)), 34vw);filter:drop-shadow(0 0 14px #a6e22e33);transition:color .18s var(--ease)}.brand:hover .brand-ascii{color:#bdf04f}.crumb{color:var(--ash);margin:0 0 16px;font-size:11.5px}.crumb a{color:var(--ash);text-decoration:none}.crumb a:hover{color:var(--green)}.catalog-title{margin:0}.catalog-title .wordmark__art{--cell:19px;height:auto}.catalog-wrap{padding-bottom:clamp(56px,7vw,96px)}.filters{border-top:1px solid var(--rule);flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:18px;padding-top:20px;display:flex}.filter{appearance:none;border:1px solid var(--rule);background:var(--bg-1);color:var(--ash);font:inherit;cursor:pointer;transition:color .16s var(--ease), border-color .16s var(--ease), background .16s var(--ease);padding:5px 11px;font-size:11.5px;line-height:1.5}.filter:hover{color:var(--fg);border-color:var(--rule-strong)}.filter[aria-pressed=true]{color:var(--green);border-color:var(--green-deep);background:#10160c}.count{color:var(--ash);font-variant-numeric:tabular-nums;margin-left:auto;font-size:11.5px}.catalog{border:1px solid var(--rule);background:var(--rule);grid-template-columns:1fr 1fr;gap:1px;display:grid}.server{background:var(--bg);flex-direction:column;gap:9px;padding:16px 17px;display:flex}.server[hidden]{display:none}.server__head{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.server h2{letter-spacing:-.02em;margin:0;font-size:13px;font-weight:600}.server__tag{border:1px solid var(--green-deep);color:var(--green);padding:0 5px;font-size:10px;line-height:1.7}.server__auth{border:1px dashed var(--rule);color:var(--ash);padding:0 5px;font-size:10px;line-height:1.7}.server__desc{color:var(--ash);flex:1;margin:0;font-size:12.5px;line-height:1.65}.server .codewrap{margin:0}.server .codewrap pre{padding:8px 42px 8px 11px;font-size:11.5px;line-height:1.7}.server .copy{padding:3px 6px;font-size:10px}.catalog-foot{max-width:80ch;color:var(--ash);gap:9px;margin-top:22px;font-size:12.5px;line-height:1.7;display:grid}.catalog-foot p{margin:0}.catalog-foot strong{color:var(--fg);font-weight:500}@media (width<=900px){.catalog{grid-template-columns:1fr}.count{margin-left:0}}
