.road:where(.astro-pt7l33bh){z-index:0;pointer-events:none;background:linear-gradient(90deg, var(--road-centre) 0 3px, var(--surface) 3px 7px, var(--road-centre) 7px 10px);width:10px;margin-left:-5px;position:fixed;inset:0 auto 0 50%}:root{--surface:#e9e7e1;--ink:#24231f;--muted:#63615a;--line:#d1cfc7;--paint:#f5c542;--road-line:#cfccc3;--road-centre:#d2ae43;--terminal:#1a1917;--terminal-raised:#272622;--terminal-ink:#e8e6df;--mono:"JetBrains Mono", monospace;color-scheme:light}:root[data-theme=dark]{--surface:#22211e;--ink:#f2f0ea;--muted:#b0ada3;--line:#4c4941;--road-line:#39372f;--road-centre:#79672f;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{background:var(--surface);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font:18px/1.6 Overpass,sans-serif;position:relative}a{color:inherit;text-underline-offset:5px}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:disabled{cursor:default}button[hidden],[hidden]{display:none!important}:focus-visible{outline-offset:5px;outline:3px solid #a77900}::selection{background:var(--paint);color:#1a1917}h1,h2,h3{letter-spacing:-.025em;font-family:Overpass,sans-serif;font-weight:900;line-height:1.1}h2{text-wrap:balance;margin:0 0 22px;font-size:clamp(28px,2.9vw,40px)}h3{letter-spacing:-.01em;margin:0 0 12px;font-size:19px}p{margin:0 0 20px}code{font-family:var(--mono)}.skip-link{z-index:10;background:var(--paint);color:#24231f;padding:10px;position:fixed;top:-100px;left:20px}.skip-link:focus{top:10px}.page{z-index:1;max-width:1200px;margin:auto;padding:0 40px;position:relative}footer{background:var(--surface);color:var(--muted);flex-wrap:wrap;align-items:center;gap:28px;padding:26px 0 40px;font-size:12px;display:flex}footer .brand{color:var(--ink);font-size:14px}footer>a:last-child{margin-left:auto}footer #motion{color:var(--muted);text-underline-offset:4px;background:0 0;border:0;padding:4px 0;font-size:12px;text-decoration:underline}:root{--banner-height:38px}.beta-banner{z-index:1;height:var(--banner-height);color:#e8e6df;text-align:center;background:#1a1917;justify-content:center;align-items:center;padding:0 20px;font:14px/1.3 Overpass,sans-serif;display:flex;position:relative}.beta-banner p{margin:0}.beta-banner a{color:var(--paint);text-underline-offset:3px;margin-left:12px}.site-header{background:var(--paint);color:#0d0c0a;box-shadow:0 0 0 100vmax var(--paint);clip-path:inset(0 -100vmax);align-items:center;gap:30px;padding:26px 0;font:600 14px Overpass,sans-serif;display:flex}.site-header .brand{margin-right:auto}.site-header .brand svg rect:first-child{fill:#0d0c0a}.site-header .preferences>button{color:#0d0c0a;background:0 0;border-color:#00000059}.site-header :focus-visible{outline-color:#0d0c0a}.site-header nav{gap:24px;display:flex}.site-header nav a{color:inherit;text-underline-offset:5px;text-decoration:none}.site-header nav a:hover,.site-header nav a[aria-current=page]{text-decoration:underline}.brand{color:inherit;font:700 19px var(--mono);white-space:nowrap;align-items:center;gap:8px;text-decoration:none;display:inline-flex}.preferences{align-items:center;gap:8px;display:flex}.preferences>button{font:12px var(--mono);border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;border-radius:5px;padding:8px 10px}.preferences [hidden]{display:none!important}.github-link{align-items:center;gap:7px;display:inline-flex}#theme{place-items:center;width:38px;height:38px;padding:0;display:grid}.theme-sun{display:none}[data-theme=dark] .theme-sun{display:block}[data-theme=dark] .theme-moon{display:none}@media (width<=1000px){.site-header{flex-wrap:wrap;gap:18px}.site-header nav{flex-basis:100%;order:3;justify-content:center}}@media (width<=720px){:root{--banner-height:52px}.beta-banner{font-size:12px}.beta-banner a{margin:3px 0 0;display:block}.site-header{padding:20px 0}.site-header nav{gap:26px;font-size:12px}.brand{font-size:17px}}@media (width<=720px) and (width<=400px){.site-header nav{gap:12px}}@media (width<=720px){.preferences{gap:5px}.preferences>button{padding:7px;font-size:10px}}#theme[hidden],footer #motion[hidden]{visibility:hidden;display:grid!important}footer #motion[hidden]{display:inline!important}.sign{z-index:1;background:var(--paint);color:#0d0c0a;flex-direction:column;min-height:max(90svh,780px);display:flex;position:relative;overflow:hidden}.sign>.page{z-index:auto;flex-direction:column;flex:1;display:flex;position:static}.sign:after{content:"";z-index:1;pointer-events:none;background:linear-gradient(to bottom, #0000 0%, color-mix(in srgb, var(--surface) 18%, transparent) 40%, var(--surface) 84%, var(--surface) 100%);height:180px;position:absolute;bottom:0;left:0;right:0}.sign .site-header{z-index:3;box-shadow:none;clip-path:none;background:0 0;position:relative}.sign :focus-visible{outline-color:#0d0c0a}.hero{z-index:2;text-align:center;flex-direction:column;align-items:center;max-width:880px;margin:0 auto;padding:36px 0 0;display:flex;position:relative}.hero h1{letter-spacing:-.035em;color:#0d0c0a;max-width:19ch;margin:0 0 26px;font:900 clamp(38px,5vw,64px)/1.02 Overpass,sans-serif}.hero code{font-family:var(--mono);font-size:.9em}.hero-lede{color:#3a3000;max-width:60ch;margin:0 0 32px;font-size:18.5px;line-height:1.5}.hero .install{border-color:#00000059;width:100%;max-width:680px;margin:0;box-shadow:0 30px 60px -24px #0000008c}.sign-facts{z-index:2;text-align:center;color:var(--muted);margin:0;font-size:14px;position:absolute;bottom:14px;left:0;right:0}.sign-credit{z-index:2;color:var(--muted);font-size:11.5px;position:absolute;bottom:14px;left:max(40px,50% - 560px)}@media (width<=720px){.sign{min-height:0;padding-bottom:300px}.sign:after{height:150px}.hero{padding-top:20px}.hero h1{margin-bottom:20px;font-size:clamp(32px,9vw,40px)}.hero-lede{margin-bottom:24px;font-size:16.5px}.sign-facts{padding:0 20px;font-size:13px;bottom:36px}.sign-credit{left:20px}}.scene{z-index:0;pointer-events:none;position:absolute;inset:0;overflow:hidden}.scene canvas,.scene svg{width:100%;height:100%;display:block;position:absolute;inset:0}.scene .credit{z-index:1;color:var(--muted);font-size:12px;position:absolute;bottom:10px;left:28px}@media (width<=720px){.scene .credit{left:auto;right:20px}}.button{text-align:center;border:1px solid var(--line);background:var(--surface);text-box:trim-both cap alphabetic;border-radius:6px;padding:15px 20px;font:600 14px/1 Overpass,sans-serif;text-decoration:none;display:inline-block}.button:hover{border-color:var(--ink)}.primary{background:var(--paint);border-color:var(--paint);color:#24231f}.primary:hover{background:#ffcf4d;border-color:#99731b}.status{max-width:980px;margin:28px auto 0}.status-copy{background:var(--surface);text-align:center;max-width:640px;margin:0 auto 28px;padding:10px 16px}.status-copy h2{margin-bottom:14px}.status-copy p{color:var(--muted);margin:0}.status-copy strong{color:var(--ink)}.fold{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:center;gap:72px;margin-top:170px;scroll-margin-top:24px;display:grid}.fold-reverse .fold-copy{order:2}.fold-stacked{grid-template-columns:minmax(0,1fr);gap:40px}.fold-stacked .fold-copy{max-width:760px}.fold-copy{background:var(--surface);padding:16px 0}.fold-copy p{color:var(--muted);font-size:18px}.fold-copy code{font-family:var(--mono);color:var(--ink);font-size:.86em}.fold-visual{min-width:0}.more{color:var(--ink);text-decoration-color:var(--paint);margin-top:6px;font:600 15px Overpass,sans-serif;text-decoration-thickness:2px;display:inline-block}.more:hover{text-decoration-color:var(--ink)}.closing{text-align:center;background:var(--surface);max-width:820px;margin:180px auto 100px;padding:24px;scroll-margin-top:24px}.closing h2{margin-top:16px}.closing>p{color:var(--muted);max-width:52ch;margin:0 auto 8px;font-size:18px}.closing code{font-family:var(--mono);color:var(--ink);font-size:.86em}.closing-facts{max-width:62ch;color:var(--muted);margin:40px auto 0;font-size:14px;line-height:1.6}.closing-facts p{margin:0 0 12px}@media (width<=1000px){.fold{gap:40px;margin-top:130px}}@media (width<=720px){.status{margin-top:10px}.fold{grid-template-columns:minmax(0,1fr);gap:28px;margin-top:96px}.fold-reverse .fold-copy{order:0}.fold-copy p{font-size:17px}.closing{margin:110px auto 50px;padding:20px 0}}.terminal{-webkit-backdrop-filter:blur(14px);color:var(--terminal-ink);text-align:left;font:12.5px/1.65 var(--mono);font-variant-ligatures:none;background:#1a1917eb;border:1px solid #ffffff17;border-radius:12px;min-width:0;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff0a,0 24px 60px -24px #0009,0 0 0 1px #00000059}.terminal-bar{color:#b5b0a3;background:#ffffff09;border-bottom:1px solid #ffffff12;grid-template-columns:1fr auto 1fr;align-items:center;height:38px;padding:0 14px;font-size:11.5px;display:grid}.terminal-dots{gap:7px;display:flex}.terminal-dots i{background:#4a463f;border-radius:50%;width:11px;height:11px}.terminal-dots i:first-child{background:var(--paint)}.terminal-title{white-space:nowrap;text-overflow:ellipsis;text-align:center;overflow:hidden}.terminal-line{margin:0;padding:16px 20px 4px}.terminal-content{padding:20px 22px}.terminal-content>:last-child{margin-bottom:0}.terminal pre{font:inherit;color:#b3ada0;white-space:pre-wrap;overflow-wrap:anywhere;margin:0;overflow:hidden}.table-scroll{padding:0 0 10px;overflow-x:auto}.lane-table{border-collapse:collapse;white-space:nowrap;width:100%;font-size:12px}.lane-table caption{text-align:left;color:#f5d47a;padding:6px 20px 8px}.lane-table th,.lane-table td{text-align:left;padding:11px 20px;font-weight:400}.lane-table thead{color:#b5b0a3;font-size:10.5px}.lane-table thead th{border-bottom:1px solid #ffffff14}.lane-table tbody tr:first-child{background:#f5c54212}.lane-table tbody tr+tr{border-top:1px dashed #ffffff12}.lane-table td:last-child{color:#c5bfae}.lane-mark{vertical-align:middle;background:#c4a350;border-radius:3px;width:13px;height:5px;margin-right:9px;display:inline-block}.lane-1{background:#7c9fc6}.lane-2{background:#a494be}.lane-3{background:#78aaa7}.command{color:#fdfcf8;overflow-wrap:anywhere;margin:0 0 6px;font-weight:700}.terminal pre .command{margin:0;display:inline}.success{color:#91c59f}.dim{color:#a39e91}.url{color:#f5d47a}.failure{color:#e39a8f}.frozen{color:#6ca8e8}.who{color:var(--paint);font-weight:700}.key{color:#c0b8ff}.string{color:#91c59f}.expr{color:#f5d47a}.route{border-top:1px dashed #ffffff1a;padding:15px 0}.route:last-child{padding-bottom:0}.route span,.route small,.route code{display:block}.route span{color:#b9b2a4;font-size:10.5px}.route code{color:#f5d47a;font:12.5px var(--mono);overflow-wrap:anywhere;margin:5px 0}.route small{color:#b5afa2;font-size:10.5px}.terminal-stack{gap:22px;display:grid}@media (width<=720px){.terminal-tui{border-left:0;border-right:0;border-radius:0;margin:0 -20px}}.tui{min-width:0}.tui-screen{font-variant-ligatures:none;box-sizing:content-box;color:#e8e6df;background:0 0;border:0;margin:0 auto;padding:0;font-family:JetBrains Mono,Menlo,DejaVu Sans Mono,Cascadia Mono,monospace;font-size:13px;line-height:normal;overflow:hidden}.tui-screen:focus,.tui-screen:focus-visible{box-shadow:none;outline:none}.tui-screen pre{font-family:inherit;font-size:inherit;margin:0;padding:0;line-height:normal;overflow:hidden}.tui-screen>div>pre{height:var(--tui-cell-height)!important}.tui-screen>div>pre>span{height:var(--tui-cell-height);vertical-align:top;display:inline-block}@media (width<=720px){.tui-screen{font-size:10.5px}}.tui-live{padding:6px 0;overflow:hidden}@media (width<=720px){.tui,.tui-live{margin-left:0;margin-right:0;padding-left:0;padding-right:0}}.tui-badge{z-index:2;color:#0b1a10;white-space:nowrap;background:#6fcf8a;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font:700 12px/1 Overpass,sans-serif;display:inline-flex;position:absolute;top:10px;right:14px;box-shadow:0 0 0 4px #6fcf8a2e}.tui-badge[hidden]{display:none}.tui-badge i{background:currentColor;border-radius:50%;width:7px;height:7px;animation:2s ease-in-out infinite tui-pulse}@media (width<=720px){.tui-badge{padding:6px}.tui-badge span{display:none}}@keyframes tui-pulse{50%{opacity:.35}}@media (prefers-reduced-motion:reduce){.tui-badge i{animation:none}}.tui-static{font-size:11px}.tui-static .tui-top,.tui-static .tui-usage{flex-wrap:wrap;gap:4px 14px;padding:8px 14px 0;display:flex}.tui-static .tui-top strong,.tui-static .tui-usage strong{color:var(--paint)}.tui-static .tui-top{padding-top:14px}.tui-static .tui-usage{padding-bottom:10px}.tui-static .tui-keys{margin-left:auto}.tui-static .tui-keys b{color:#f2f0ea;font-weight:700}.tui-static .tui-dim{color:#b5b0a3}.tui-static .tui-pane{border:1px solid #5a554b;min-width:0;margin:0 14px 12px;padding:0 10px 10px}.tui-static .tui-pane p{white-space:nowrap;text-overflow:ellipsis;margin:0;overflow:hidden}.tui-static .tui-title{background:var(--terminal);gap:8px;width:fit-content;max-width:calc(100% + 8px);padding:0 4px;display:flex;transform:translateY(-50%);margin:0 -4px 6px!important}.tui-static .tui-selected{color:#f5d47a;background:#3d3829}.tui-static .state-ready,.tui-static .state-running{color:#91c59f}.tui-static .terminal-foot{color:#b1ab9e;background:#ffffff09;flex-wrap:wrap;gap:4px 18px;padding:9px 16px;font-size:10px;display:flex}.monitor-table{border-collapse:collapse;white-space:nowrap;width:100%}.monitor-table th,.monitor-table td{text-align:left;padding:1px 10px 1px 6px;font-weight:400}.monitor-table thead{color:#b5b0a3}.monitor-table .monitor-lane{color:#f2f0ea}.monitor-table .monitor-lane th span{color:#f5d47a;margin-left:8px}.monitor-table tbody tr:not(.monitor-lane) th{padding-left:18px}.bar{color:#4f4a3f;letter-spacing:-1px}.bar i{color:#91c59f;font-style:normal}.install{-webkit-backdrop-filter:blur(14px);max-width:760px;color:var(--terminal-ink);text-align:left;background:#1a1917eb;border:1px solid #ffffff17;border-radius:12px;margin:32px auto 0;scroll-margin-top:28px;overflow:hidden;box-shadow:0 24px 60px -24px #0009}.install button{color:#b5b0a3;background:0 0;border:1px solid #0000;border-radius:5px;padding:6px 10px;font:600 13px Overpass,sans-serif}.install button[aria-pressed=true]{color:#f2f0ea;border-color:#ffffff24}.install[data-enhanced] .install-fallback-label{display:none}.install-controls{background:#ffffff09;border-bottom:1px solid #ffffff12;flex-wrap:wrap;justify-content:space-between;gap:12px;padding:8px 10px;display:flex}.install-platforms,.install-methods{flex-wrap:wrap;gap:2px;display:flex}.install-platforms button{place-items:center;width:38px;height:32px;padding:0;display:grid}.install-platforms button[aria-pressed=true]{background:var(--paint);border-color:var(--paint);color:#24231f}.install-command{align-items:center;gap:12px;padding:16px 18px 12px;display:flex}.install .install-command code{min-width:0;font:13.5px/1.7 var(--mono);color:var(--terminal-ink);overflow-wrap:anywhere;user-select:all;flex:1}.install-command .install-prompt{color:var(--paint);font:13.5px var(--mono)}.install-command .install-copy{color:#f2f0ea;border-color:#ffffff2e;flex-shrink:0}.install-command .install-copy:hover{border-color:var(--paint)}.install-footer{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:0 12px;min-height:34px;padding:0 18px 10px;display:flex}.install-status{color:#b5b0a3;margin:0;font-size:12.5px}.install .install-channel[aria-pressed]{color:#b5b0a3;white-space:nowrap;text-underline-offset:4px;background:0 0;border:0;margin:0 0 0 auto;padding:0;font-size:12px;font-weight:400;text-decoration:underline}.install .install-channel[aria-pressed]:hover,.install .install-channel[aria-pressed]:focus-visible{color:#f2f0ea}.install-fallback-label{margin:14px 18px 0;font-size:13px}@media (width<=600px){.install-controls,.install-methods{justify-content:center}.install-command{gap:8px;padding:12px 14px 8px}.install-footer{padding:0 14px 10px}.install button{padding:6px 8px;font-size:12px}}.install-controls[hidden],.install-command .install-copy[hidden],.install .install-channel[hidden]{visibility:hidden;display:flex!important}.install-command .install-copy[hidden],.install .install-channel[hidden]{display:inline-flex!important}.page-head{background:var(--surface);max-width:820px;padding:64px 0 8px}.page-head h1{letter-spacing:-.03em;text-wrap:balance;max-width:20ch;margin:0 0 22px;font:900 clamp(34px,4vw,52px)/1.05 Overpass,sans-serif}.page-head p{max-width:60ch;color:var(--muted);margin:0;font-size:20px;line-height:1.5}.page-head code{font-family:var(--mono);color:var(--ink);font-size:.88em}.page-head+.fold{margin-top:110px}.terminal .terminal-scroll{white-space:pre;overflow-x:auto}.terminal .tui-text{line-height:normal}.tui-selected{background:var(--paint);color:#1a1917;font-weight:700}.diagram{background:var(--surface);font:13px/1.6 var(--mono);font-variant-ligatures:none;color:var(--ink);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:stretch;gap:0 20px;margin:0;padding:8px 0;display:grid}.diagram-node{background:var(--surface);border:1px solid var(--line);border-radius:12px;overflow:hidden}.diagram-node dl{margin:0;padding:6px 18px 14px}.diagram-node dl>div{padding:10px 0}.diagram-node dl>div+div{border-top:1px dashed var(--line)}.diagram-node dt{font-weight:700}.diagram-node dd{color:var(--muted);overflow-wrap:anywhere;margin:2px 0 0}.diagram-head{border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--ink) 5%, var(--surface));flex-wrap:wrap;align-items:baseline;gap:4px 12px;padding:12px 18px;display:flex}.diagram-head b{letter-spacing:-.01em;font:900 16px Overpass,sans-serif}.diagram-head span{color:var(--muted);font:13px Overpass,sans-serif}.diagram-port{color:var(--ink)}.diagram-link{text-align:center;background:var(--surface);flex-direction:column;justify-content:center;align-items:center;gap:6px;min-width:112px;padding:0 4px;display:flex;position:relative}.diagram-link:before{content:"";border-top:2px dashed var(--road-centre);z-index:0;position:absolute;top:50%;left:0;right:10px}.diagram-link:after{content:"";border-top:2px solid var(--road-centre);border-right:2px solid var(--road-centre);width:10px;height:10px;margin-top:-5px;position:absolute;top:50%;right:2px;transform:rotate(45deg)}.diagram-link span,.diagram-link small{z-index:1;background:var(--surface);padding:2px 8px;position:relative}.diagram-link span{font:700 14px var(--mono)}.diagram-link small{color:var(--muted);font:12px/1.4 Overpass,sans-serif}.diagram figcaption{text-align:center;color:var(--muted);grid-column:1/-1;margin-top:16px;font:14px Overpass,sans-serif}.ledger{background:var(--surface);grid-template-columns:repeat(2,minmax(0,1fr));gap:48px;padding:8px 0;display:grid}.ledger h3{margin-bottom:4px}.ledger ul{margin:0;padding:0;list-style:none}.ledger li{border-top:2px dashed var(--line);padding:16px 0 18px}.ledger code{font:13px/1.5 var(--mono);font-variant-ligatures:none;color:var(--ink);overflow-wrap:anywhere;margin-bottom:6px;display:block}.ledger span{color:var(--muted);font-size:16px;line-height:1.5;display:block}.page-docs{background:var(--surface);text-align:center;max-width:760px;margin:170px auto 0;padding:16px 0}.page-docs ul{flex-wrap:wrap;justify-content:center;gap:10px 28px;margin:0;padding:0;list-style:none;display:flex}.page-docs a{text-decoration-color:var(--paint);font:600 16px Overpass,sans-serif;text-decoration-thickness:2px}.page-docs a:hover{text-decoration-color:var(--ink)}.page-install{background:var(--surface);text-align:center;max-width:820px;margin:110px auto 100px;padding:16px 0;scroll-margin-top:24px}.page-install h2{margin-bottom:0}@media (width<=1000px){.diagram{gap:0 12px}.diagram-link{min-width:96px}.ledger{gap:32px}}@media (width<=720px){.page-head{padding-top:36px}.page-head h1{font-size:clamp(30px,8.5vw,36px)}.page-head p{font-size:18px}.page-head+.fold{margin-top:72px}.diagram{grid-template-columns:minmax(0,1fr);gap:0}.diagram-link{flex-direction:row;justify-content:center;gap:12px;min-width:0;padding:14px 0}.diagram-link:before{border-top:0;border-left:2px dashed var(--road-centre);inset:0 auto 10px 50%}.diagram-link:after{margin:0 0 0 -5px;inset:auto auto 2px 50%;transform:rotate(135deg)}.ledger{grid-template-columns:minmax(0,1fr);gap:24px}.page-docs{text-align:left;margin-top:110px}.page-docs ul{flex-direction:column;justify-content:flex-start;gap:12px}.page-install{margin:80px auto 50px}}@media (width<=1000px){footer>span{display:none}}@media (width<=720px){body{font-size:17px}.page{padding:0 20px}h2{font-size:clamp(26px,7vw,32px)}.button{padding:13px 16px;font-size:13px}footer{gap:16px}}
