:root{color-scheme:dark;--bg:#101a1b;--panel:#172324;--text:#e7eeea;--muted:#a8b8b3;--line:#314244;--accent:#b6e5ce;--amber:#efd09a;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px;line-height:1.65;scroll-padding-top:2rem}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}a{color:var(--accent);text-underline-offset:4px}a:hover{color:#fff}a:focus-visible,summary:focus-visible{outline:3px solid var(--amber);outline-offset:6px}.skip{position:absolute;top:-100px;left:1rem;padding:.8rem;background:var(--text);color:var(--bg);z-index:10}.skip:focus{top:1rem}.topbar,main,footer{max-width:1240px;margin:auto;padding-inline:48px}.topbar{display:flex;justify-content:space-between;align-items:center;gap:24px;padding-block:25px;border-bottom:1px solid var(--line)}.wordmark{display:inline-flex;align-items:center;gap:12px;font-weight:750;font-size:1.3rem;letter-spacing:-.03em;color:var(--text);text-decoration:none}.mark{display:grid;place-items:center;width:32px;height:32px;border:1px solid var(--accent);border-radius:8px;font-size:1rem;color:var(--accent)}.byline{font-size:.76rem;font-weight:400;color:var(--muted);letter-spacing:0}nav{display:flex;flex-wrap:wrap;gap:25px}nav a{color:var(--muted);font-size:.82rem;text-decoration:none}.hero{display:grid;grid-template-columns:1.2fr 1fr;gap:55px;align-items:center;padding-block:100px 95px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(2.6rem,4.5vw,4rem);line-height:1.08;letter-spacing:-.055em;font-weight:620;margin-bottom:26px}h1 em{font-style:normal;color:var(--accent)}.eyebrow{font-size:.7rem;font-weight:650;text-transform:uppercase;letter-spacing:.16em;color:var(--accent);display:flex;align-items:center;gap:10px;margin-bottom:22px}.dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--accent)}.lede{font-size:1.08rem;line-height:1.75;color:var(--muted);max-width:510px}.actions{display:flex;align-items:center;gap:25px;margin-block:32px 20px;flex-wrap:wrap}.button{background:var(--accent);color:#10241c;font-size:.9rem;font-weight:650;text-decoration:none;padding:13px 20px;border-radius:5px}.button span{margin-left:25px}.button:hover{background:#d5f3e3;color:#10241c}.text-button{font-size:.9rem;text-decoration:none;font-weight:550}.quiet,.aside{font-size:.77rem;color:var(--muted)}.terminal{background:#0c1314;border:1px solid #3b4c4b;border-radius:9px;box-shadow:0 30px 70px #0003;overflow:hidden;transform:rotate(-1deg)}.terminal-bar{display:flex;justify-content:space-between;border-bottom:1px solid #243435;padding:12px 17px;color:#81928d;font-size:.65rem;font-family:ui-monospace,monospace}.terminal-bar>span:first-child{letter-spacing:5px}.terminal pre{padding:24px;font-size:.78rem;border:0;margin:0;background:transparent;line-height:1.85}.prompt{color:var(--accent)}.comment{color:#8a9e97}.terminal-foot{display:flex;align-items:center;gap:8px;font-size:.67rem;padding:13px 20px;border-top:1px solid #243435;color:var(--muted)}.section{padding-block:70px;border-top:1px solid var(--line)}.section-heading{max-width:660px;margin-bottom:35px}.section-heading .eyebrow{margin-bottom:14px}h2{font-size:clamp(1.9rem,3vw,2.6rem);line-height:1.18;font-weight:580;letter-spacing:-.04em;margin-bottom:18px}h3{font-size:1.05rem;font-weight:620;margin-bottom:10px;letter-spacing:-.02em}.section-heading>p:last-child,.cards p,.flow p,.steps p,.boundary-grid p,.contract p,details p{color:var(--muted);font-size:.94rem}.flow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:25px;background:var(--panel);border:1px solid var(--line);padding:30px;border-radius:7px}.flow-label{display:block;color:var(--accent);font-size:.65rem;letter-spacing:.13em;text-transform:uppercase;margin-bottom:8px}.flow strong{font-size:1.1rem;font-weight:550}.flow p{font-size:.8rem;margin:8px 0 0}.flow-arrow{color:#78968a}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:35px}.card-number{font:normal .72rem ui-monospace,monospace;color:#84a092;display:block;margin-bottom:17px}.cards p{font-size:.87rem}.steps{list-style:none;counter-reset:steps;padding:0;margin:0;max-width:900px}.steps>li{counter-increment:steps;display:grid;grid-template-columns:34px 1fr;gap:24px;padding-block:25px}.steps>li:before{content:counter(steps,decimal-leading-zero);font:normal .78rem ui-monospace,monospace;color:var(--accent);border-top:1px solid var(--accent);padding-top:7px}.steps h3{font-size:1.2rem}code,kbd{font-family:ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",monospace}p code,td code,details code{color:var(--text);font-size:.85em;background:#213132;padding:2px 5px;border-radius:3px}pre{background:#0c1516;border:1px solid #2d4140;border-radius:6px;padding:24px;font-size:.82rem;line-height:1.8;overflow-x:auto;white-space:pre;margin-block:22px}pre code{font:inherit}kbd{padding:1px 5px;border:1px solid #52645c;border-radius:3px;font-size:.8rem}.notice{background:#27281f;border-left:3px solid var(--amber);padding:20px 24px;margin-top:25px}.notice strong{color:var(--amber);font-size:.9rem}.notice p{margin:8px 0 0}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:.88rem;text-align:left}th{font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);padding:15px;border-bottom:1px solid #6b7b72}td{padding:18px 15px;border-bottom:1px solid var(--line);vertical-align:top;color:var(--muted)}td:first-child{width:42%;min-width:280px}.boundary-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:60px;row-gap:25px}.boundary-grid article{border-left:1px solid #53776a;padding-left:24px}.boundary-grid p{font-size:.87rem}.contract{display:grid;grid-template-columns:1fr 1.1fr;gap:70px}.contract-panel{background:var(--panel);border:1px solid var(--line);padding:30px;border-radius:7px}.metric{display:flex;gap:22px;align-items:center}.metric strong{font-size:3.8rem;font-weight:400;letter-spacing:-.05em;line-height:1.15;color:var(--accent)}.metric span{font-size:.75rem;color:var(--muted)}.contract-panel p{font-size:.79rem;margin-bottom:0}.contract-panel pre{font-size:.73rem;padding:16px}details{border-bottom:1px solid var(--line);padding-block:20px;max-width:850px}summary{cursor:pointer;font-size:.94rem;font-weight:550}details p{padding:20px 22px 0;margin:0}footer{border-top:1px solid var(--line);padding-block:38px;display:flex;align-items:center;flex-wrap:wrap;gap:25px}footer p{font-size:.7rem;color:var(--muted);margin:0;flex:1}footer>div{display:flex;gap:18px;font-size:.75rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:900px){.topbar,main,footer{padding-inline:25px}.byline{display:none}.hero{gap:30px;padding-block:65px}.hero h1{font-size:2.8rem}.terminal pre{font-size:.68rem;padding:18px}.flow{gap:15px;padding:22px}.cards{gap:25px}.contract{gap:30px}}@media(max-width:650px){.topbar{align-items:flex-start;flex-direction:column;gap:17px}nav{gap:20px}.hero{grid-template-columns:1fr;padding-block:50px;gap:30px}.hero h1{font-size:2.9rem}.terminal{transform:none}.terminal pre{font-size:.76rem}.section{padding-block:45px}.flow{grid-template-columns:1fr;gap:14px}.flow-arrow{transform:rotate(90deg);justify-self:start;margin-left:12px}.flow>div{padding:8px}.cards,.boundary-grid,.contract{grid-template-columns:1fr;gap:22px}.cards{margin-top:25px}.cards article{border-bottom:1px solid var(--line);padding-bottom:10px}.steps>li{grid-template-columns:25px 1fr;gap:12px}.steps pre{font-size:.71rem;padding:15px}.contract-panel{padding:22px}footer{align-items:flex-start;flex-direction:column;gap:16px}}

/* Static examples: the caption stays outside the selectable manifest. */
:root{--code-key:#b6e5ce;--code-string:#b9d9ee;--code-literal:#efd09a;--code-punctuation:#a8b8b3}
.code-example{margin:22px 0;background:#0c1516;border:1px solid #3b514c;border-radius:7px;overflow:hidden}
.code-example figcaption{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:11px 20px;border-bottom:1px solid #2d4140;font:normal .75rem ui-monospace,monospace;color:var(--text)}
.code-example figcaption span:last-child{font-size:.65rem;letter-spacing:.12em;color:var(--muted)}
.code-example pre{margin:0;border:0;border-radius:0;background:transparent}
.code-example pre:focus-visible{outline:2px solid var(--amber);outline-offset:-4px}
.yaml-key{color:var(--code-key)}.yaml-string{color:var(--code-string)}.yaml-number,.yaml-boolean{color:var(--code-literal)}.yaml-punctuation{color:var(--code-punctuation)}
.steps>li>div{min-width:0}

/* The diagram is readable HTML, including its labels, paths and nested boundaries. */
.substrate-intro{display:grid;grid-template-columns:1fr 2fr;gap:35px;padding:26px 30px;margin:0 0 30px;border-left:2px solid var(--accent);background:var(--panel);border-radius:0 6px 6px 0}
.substrate-intro h3{font-size:1.2rem}.substrate-intro p{margin:0;color:var(--muted);font-size:.92rem}.substrate-intro .text-button{font-size:.78rem}
.architecture{margin:0;border:1px solid var(--line);border-radius:9px;background:#0d1718;overflow:hidden}
.architecture-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:25px 30px;border-bottom:1px solid var(--line)}
.architecture-heading h3{font-size:1.35rem;margin:0}.architecture-heading .flow-label{font-size:.6rem;margin-bottom:5px}
.diagram-badge{font-size:.65rem;color:var(--muted);border:1px solid var(--line);border-radius:20px;padding:4px 10px;white-space:nowrap}
.architecture-map{display:grid;grid-template-columns:200px minmax(0,1fr);gap:0 30px;padding:30px}
.architecture h4{font-size:.9rem;line-height:1.4;font-weight:600;margin:0 0 7px;letter-spacing:-.015em}
.architecture p{font-size:.76rem;line-height:1.6;color:var(--muted);margin:0}
.architecture code{font-size:.93em;background:transparent;padding:0;overflow-wrap:anywhere}
.node-kicker{display:block;font-size:.6rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--accent)}
.diagram-node{padding:18px;background:#1a2829;border:1px solid #405453;border-radius:5px;min-width:0}
.laptop-node{margin-top:34px;border-top:2px solid var(--accent)}.laptop-node .node-kicker{margin-bottom:15px}.laptop-node h4{font-size:1.08rem}
.control-path{margin-top:23px;position:relative;padding:0 0 20px;border-bottom:1px solid #638679}
.path-name{display:flex;gap:8px;align-items:center;font-size:.7rem;font-weight:550;color:var(--text)}
.path-marker{display:inline-grid;place-items:center;width:20px;height:20px;flex:0 0 20px;border:1px solid #638679;border-radius:50%;font:normal .6rem ui-monospace,monospace;color:var(--accent)}
.control-path p{margin-top:10px}.control-arrow{position:absolute;right:-22px;bottom:-16px;color:var(--accent);font-size:1.3rem}
.operator-zone .operator-note{font-size:.72rem;margin-top:22px;color:#a0b4ab}
.worker-zone{border:1px solid #638679;border-radius:6px;padding:20px;background:#152122;min-width:0}
.zone-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:18px;flex-wrap:wrap}
.zone-tag{color:var(--muted);font-size:.6rem}
.host-services{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:12px}
.secret-node{background:#242923;border-color:#6d674d}.secret-node h4{color:var(--amber)}
.credential-path{padding:18px 5px;color:var(--amber)}.credential-path .path-marker{border-color:#9a8965;color:var(--amber)}.credential-path p{margin:7px 0 0 28px;color:#ddc99f;font-size:.72rem}
.sandbox-zone{border:1px dashed #a1d5ba;border-radius:5px;padding:20px;background:#182d28}
.sandbox-zone .zone-tag{color:#b6d4c5}.agent-node{padding-bottom:17px}.agent-node h4{font-size:.96rem}.agent-node h4 code{color:var(--accent)}
.mounts{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,160px),1fr));gap:12px}.mounts>div{padding:12px 14px;background:#11241f;border:1px solid #3b5b4e;border-radius:4px;min-width:0}.mount-mode{display:block;font-size:.57rem;letter-spacing:.08em;text-transform:uppercase;color:#b6d4c5;margin-bottom:4px}.mounts code{font-size:.85rem;color:var(--text)}.mounts p{font-size:.68rem;margin-top:4px}
.sandbox-zone .sandbox-rule{font-size:.7rem;color:#bfd8ca;border-top:1px solid #426253;padding-top:12px;margin-top:16px}.sandbox-rule>span{padding-right:5px}
.egress-path{position:relative;padding:17px 5px 20px}.egress-path p{margin:7px 0 0 28px;font-size:.72rem}.path-down{position:absolute;left:12px;bottom:-9px;color:var(--accent)}
.gateway-node{display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between;border-color:#638679}.gateway-node h4{margin-bottom:4px}.gateway-node p{font-size:.68rem}.gateway-rule{font-size:.6rem;max-width:90px;text-align:right;line-height:1.5;color:var(--accent)}
.external-zone{grid-column:2;position:relative;margin-top:32px;padding:19px 20px;border:1px solid var(--line);border-radius:5px;background:#121d20}.external-arrow{position:absolute;top:-32px;left:31px;color:var(--accent);font-size:1.3rem}.external-zone .zone-heading{margin-bottom:13px}.external-zone .node-kicker{color:var(--code-string)}.destinations{display:flex;gap:10px;flex-wrap:wrap}.destinations>span{border:1px solid #43565e;border-radius:4px;padding:5px 13px;font-size:.77rem;color:var(--code-string)}.external-zone p{font-size:.68rem;margin-top:12px}
.architecture figcaption{display:flex;align-items:center;gap:22px;flex-wrap:wrap;border-top:1px solid var(--line);padding:16px 30px;color:var(--muted);font-size:.65rem}.legend-item{display:inline-flex;align-items:center;gap:8px}.legend-line{width:22px;border-top:1px solid #9cbaae}.legend-line.confined{border-top:1px dashed #b6e5ce}.legend-note{margin-left:auto}
.architecture-notes{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin:24px 0 0}.architecture-notes p{font-size:.79rem;color:var(--muted);margin:0}.architecture-notes strong{display:block;color:var(--text);font-weight:550;margin-bottom:5px}
@media(max-width:900px){.architecture-map{grid-template-columns:155px minmax(0,1fr);gap:0 20px;padding:22px}.architecture-heading{padding:22px}.worker-zone,.sandbox-zone{padding:15px}.host-services{grid-template-columns:1fr}.diagram-node{padding:14px}.control-arrow{right:-17px}.gateway-node{align-items:flex-start;flex-direction:column;gap:5px}.gateway-rule{max-width:none;text-align:left}.substrate-intro{grid-template-columns:1fr 1.5fr;gap:25px;padding:25px}.architecture figcaption{padding-inline:22px}.legend-note{margin-left:0}}
@media(max-width:650px){.substrate-intro{grid-template-columns:1fr;gap:17px;padding:20px}.architecture-heading{padding:20px;align-items:flex-start;flex-direction:column;gap:12px}.architecture-map{display:block;padding:16px}.laptop-node{margin-top:0}.control-path{padding-bottom:20px;margin:18px 0 27px;border-bottom:0;border-left:1px solid #638679;padding-left:16px}.control-arrow{left:-7px;right:auto;bottom:-18px;transform:rotate(90deg);width:14px}.operator-zone .operator-note{display:none}.worker-zone,.sandbox-zone{padding:14px}.host-services,.mounts{grid-template-columns:1fr}.credential-path p,.egress-path p{margin-left:0}.architecture .node-kicker{font-size:.58rem}.external-zone{padding:16px}.architecture figcaption{padding:15px 16px;gap:12px 18px}.legend-note{flex-basis:100%}.architecture-notes{grid-template-columns:1fr;gap:18px}.code-example figcaption{padding-inline:15px}}
/* Grid children must allow their code blocks to scroll within narrow viewports. */
.hero>*,.contract>*{min-width:0}

/* Documentation pages: one h1 per page, an on-page index, readable prose. */
nav a[aria-current="page"]{color:var(--text);text-decoration:underline;text-decoration-color:var(--accent)}
.page-head{border-top:0;padding-block:70px 40px}.page-head h1{font-size:clamp(2.2rem,4vw,3.2rem);max-width:820px}.page-head .lede{max-width:760px}
.toc{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:28px;padding-top:18px;border-top:1px solid var(--line)}.toc a{font-size:.82rem;text-decoration:none}
.prose>p,.prose>ul,.prose>ol,.prose>dl,.prose>h3,.prose>.notice,.prose>.steps{max-width:860px}
.prose>p,.prose li,.prose dd{color:#c3d0cb;font-size:.95rem}.prose li{margin-bottom:8px}.prose h3{margin-top:34px}
.prose li code,.prose dd code,.boundary-grid li code{color:var(--text);font-size:.85em;background:#213132;padding:2px 5px;border-radius:3px}
.facts dt{font-weight:620;margin-top:20px}.facts dd{margin:6px 0 0}
.boundary-grid ul{padding-left:18px;margin:0}.boundary-grid li{color:var(--muted);font-size:.9rem;margin-bottom:8px}
.cards h3 a{text-decoration:none}
.hero h1{font-size:clamp(2.3rem,4vw,3.4rem)}
