:root{--bg:#f4f3ef;--ink:#172a2c;--muted:#526364;--line:#cbd2cb;--green:#204c3a;--lime:#d8ef8b;--paper:#fff;--radius:14px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.65 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:var(--green);text-underline-offset:4px}a:hover{text-decoration-thickness:2px}a:focus-visible,input:focus-visible{outline:3px solid #7350b9;outline-offset:4px}header{height:82px;background:var(--paper);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 40px;position:sticky;top:0;z-index:5;gap:20px}.brand{display:flex;align-items:center;gap:12px;color:var(--ink);font-size:15px;font-weight:800;letter-spacing:1px;text-decoration:none}.brand-mark{background:var(--green);color:var(--lime);font-size:24px;line-height:42px;width:44px;text-align:center;border-radius:8px;letter-spacing:-1px}.level{font-size:10px;font-weight:600;background:#edf1e9;padding:5px 8px;border-radius:4px;letter-spacing:1px}.header-download{font-size:13px;font-weight:700;white-space:nowrap}.shell{display:grid;grid-template-columns:270px minmax(0,1fr);max-width:1600px;margin:auto}aside{padding:32px 22px 24px;border-right:1px solid var(--line);height:calc(100vh - 82px);position:sticky;top:82px;overflow:auto}aside label{display:block;font-size:12px;font-weight:650;margin-bottom:6px}input{width:100%;border:1px solid #aeb8ac;background:#fff;border-radius:7px;padding:10px;font:inherit;font-size:12px;margin-bottom:18px}nav a[data-chapter],.overview{display:block;text-decoration:none;font-size:12px;line-height:1.55;padding:9px 10px;margin-bottom:3px;border-radius:6px;color:#425354}nav a[aria-current=page]{background:#e2eacb;color:#183c2b;font-weight:750}nav a:hover{background:#e8ebe1}.eyebrow{font-size:10px;font-weight:750;letter-spacing:1.8px;color:var(--green);margin:0 0 16px}.sidebar-note{font-size:11px;color:var(--muted);padding-top:22px;border-top:1px solid var(--line);margin-top:24px}.muted{color:var(--muted);font-size:12px}main{padding:54px clamp(24px,5vw,86px);min-width:0;max-width:1230px}h1,h2,h3{line-height:1.15;letter-spacing:-.03em}h1{font-size:clamp(38px,4.6vw,68px);font-weight:750;margin:22px 0}h1 span{color:var(--green)}h2{font-size:clamp(25px,2.4vw,36px);margin:16px 0 22px}h3{font-size:20px}.hero{padding:10px 0 30px}.lead{font-size:19px;max-width:620px;color:#425759}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin:28px 0}.button{display:inline-block;background:var(--green);color:white;padding:13px 20px;border-radius:7px;text-decoration:none;font-size:13px;font-weight:700}.button:hover{background:#153928}.button.secondary{background:transparent;color:var(--green);border:1px solid #7d9180}.source-note{font-size:12px;color:var(--muted);max-width:650px}.stats{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:24px 0;margin:20px 0 50px}.stats div{padding:0 20px;border-right:1px solid var(--line)}.stats div:first-child{padding-left:0}.stats div:last-child{border:0}.stats strong{font-size:31px;letter-spacing:-1px;display:block}.stats span{font-size:11px;color:var(--muted)}section{margin-bottom:50px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.cards>div{background:white;border:1px solid #d5dad1;border-radius:var(--radius);padding:22px}.card-number{font-size:10px;letter-spacing:1px;color:var(--green);font-weight:750}.cards p{font-size:13px;color:var(--muted);margin-bottom:0}.callout{background:#e4ebd6;border-left:4px solid var(--green);border-radius:0 12px 12px 0;padding:24px 28px}.callout h2{font-size:23px;margin-top:0}.callout p{font-size:14px}.callout a{font-size:13px;font-weight:750}.chapter-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}.chapter-grid a{padding:17px 12px 17px 0;border-bottom:1px solid var(--line);display:flex;gap:14px;align-items:center;text-decoration:none;font-size:13px}.chapter-grid a:nth-child(even){padding-left:20px}.chapter-grid span{font-size:11px;color:var(--muted)}.chapter-grid b{margin-left:auto;font-weight:500}.split{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:center}.split p{font-size:14px}.terminal{background:#18352d;color:#e3efda;padding:28px;border-radius:12px}.terminal>span{font-size:10px;letter-spacing:1.6px;color:var(--lime)}.terminal pre{border:0;background:transparent;color:white;padding:8px 0;font-size:15px}.terminal p{font-size:11px;color:#cedfc8}article{max-width:860px}article h1{font-size:42px;margin-top:0;margin-bottom:34px}article h2{font-size:27px;margin-top:44px}article h3{margin-top:30px}article p,article li{font-size:15px}pre{overflow:auto;max-width:100%;padding:20px;background:#1a302b;color:#f1f5eb;border-radius:9px;font:13px/1.8 ui-monospace,SFMono-Regular,Consolas,monospace}code{font: .88em ui-monospace,SFMono-Regular,Consolas,monospace;overflow-wrap:anywhere}p code,li code,td code{background:#e4e9dc;padding:2px 4px;border-radius:3px}table{width:100%;border-collapse:collapse;font-size:13px;display:block;overflow-x:auto;margin:22px 0}th,td{text-align:left;vertical-align:top;padding:11px 13px;border-bottom:1px solid var(--line)}th{background:#e5eadd;font-size:12px}td{background:#ffffff80}blockquote{border-left:3px solid var(--green);padding-left:20px;margin-left:0;color:var(--muted)}.pager{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:25px;margin-top:50px;font-size:13px;font-weight:700}footer{margin-top:60px;border-top:1px solid var(--line);padding-top:22px;font-size:11px;color:var(--muted)}.skip{position:fixed;left:12px;top:-100px;z-index:20;background:#fff;padding:12px}.skip:focus{top:12px}[hidden]{display:none!important}
@media(max-width:1050px){header{padding:0 24px}.level{display:none}.shell{grid-template-columns:220px minmax(0,1fr)}aside{padding:26px 15px}.cards{grid-template-columns:1fr}.split{grid-template-columns:1fr}main{padding:38px 28px}.hero h1{font-size:52px}}
@media(max-width:720px){header{height:72px;padding:0 16px}.brand{font-size:12px;gap:8px}.brand-mark{width:34px;line-height:34px;font-size:20px}.header-download{font-size:11px}.shell{display:block}aside{height:auto;max-height:265px;position:static;border:0;border-bottom:1px solid var(--line);padding:16px}aside .eyebrow,aside .sidebar-note{display:none}aside nav{display:grid;grid-template-columns:1fr 1fr}aside input{margin-bottom:10px}.overview{grid-column:1/-1}main{padding:30px 20px}.hero h1{font-size:44px}.lead{font-size:17px}.stats strong{font-size:25px}.stats div{padding:0 10px}.stats span{font-size:10px}.chapter-grid{grid-template-columns:1fr}.chapter-grid a:nth-child(even){padding-left:0}article h1{font-size:34px}}
@media print{header,aside,.hero-actions,.pager{display:none}.shell{display:block}main{max-width:none;padding:0}body{background:white;font-size:11pt}article h1{font-size:28pt}article h2{break-after:avoid;font-size:19pt}pre{white-space:pre-wrap;background:#f0f0f0;color:#111;break-inside:avoid}table{display:table}a{color:#111}.cards,.split{display:block}footer{margin-top:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.experience-link{display:block;color:var(--green);font-size:12px;font-weight:700;text-decoration:none;padding:9px 10px;border:1px solid #c9d4b8;border-radius:6px;margin:6px 0}.sequence-list{display:grid;grid-template-columns:1fr 1fr;gap:14px;list-style-position:inside;padding:0;counter-reset:workshop}.sequence-list li{background:white;border:1px solid var(--line);border-radius:10px;padding:20px;list-style:none;counter-increment:workshop}.sequence-list li::before{content:"0" counter(workshop);font-size:11px;font-weight:750;color:var(--green);display:block;margin-bottom:8px}.sequence-list strong,.sequence-list span{display:block}.sequence-list span{font-size:13px;color:var(--muted);margin-top:5px}.lab-controls{display:grid;grid-template-columns:1fr 1.2fr;gap:15px;align-items:end}.lab-controls label{font-size:12px;font-weight:700;display:block;margin-bottom:6px}.lab-controls select{width:100%;padding:11px 9px;border:1px solid #aeb8ac;border-radius:7px;background:white;color:var(--ink);font:13px system-ui}.production-toggle{grid-column:1/-1;display:flex!important;align-items:center;gap:8px}.production-toggle input{width:auto;margin:0}.journey-controls{display:flex;flex-wrap:wrap;gap:9px;margin:18px 0}.journey-controls button{border:1px solid #8a9c87;background:white;color:var(--green);border-radius:6px;padding:9px 15px;font:650 12px system-ui;cursor:pointer}.journey-controls button:first-child{background:var(--green);color:white}.journey-controls button:disabled{opacity:.5;cursor:default}button:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #7350b9;outline-offset:3px}.diagram-capture{background:#fff;border:1px solid #bdc9b8;border-radius:13px;padding:22px;overflow-x:auto}.diagram-topline{display:flex;justify-content:space-between;gap:12px;font-size:10px;letter-spacing:.7px;color:var(--green);margin-bottom:13px}.diagram-topline strong{font-size:11px}.diagram-capture svg{display:block;width:100%;min-width:520px;max-height:430px}.flow-node rect{fill:#f1f4ec;stroke:#b9c9b2;stroke-width:1.5}.flow-node text{font-family:system-ui,sans-serif;fill:var(--ink)}.node-index{font-size:12px;font-weight:750;letter-spacing:.6px}.node-title{font-size:22px;font-weight:700}.node-detail{font-size:13px;fill:#526364!important}.flow-node.is-active rect{fill:#e2edca;stroke:#204c3a;stroke-width:3}.flow-node.is-complete rect{fill:#e9f0e2}.authority-node rect,.authority-node.is-active rect{fill:#fff4db;stroke:#99722b}.flow-edge{stroke:#6f856c;stroke-width:2.5;fill:none}.flow-edge.is-active{stroke:#204c3a;stroke-width:4;stroke-dasharray:10 6;animation:flow 1s linear infinite}.boundary-text{font-size:11px;letter-spacing:1.1px;fill:#687b68}.stage-status{border-top:1px solid #d5dccf;padding-top:15px}.stage-status strong{font-size:14px}.stage-status p{font-size:12px;line-height:1.5;margin:6px 0 14px}.lab-verdict{font-size:12px;font-weight:800;letter-spacing:.2px;padding:12px;border-radius:6px;background:#eef0e9}.lab-verdict[data-verdict=pass]{background:#e4eed0;color:#20442c}.lab-verdict[data-verdict=blocked]{background:#fae3db;color:#87341d}.capture-disclaimer{margin-top:12px;font-size:10px;color:var(--muted)}.reviewer-panel{margin-top:22px}.reviewer-panel h3{font-size:16px}.reviewer{font-size:10px;display:inline-block;padding:6px 9px;background:#e6ecd9;border-radius:5px;margin:0 6px 7px 0}.reviewer.has-issue{background:#f8dfd8;color:#843419}#validation-errors{font-size:12px;color:#843419;padding-left:19px;max-height:220px;overflow:auto}.output-details{margin:18px 0}.output-details pre{max-height:450px}.output-details summary,.source-section summary{cursor:pointer;font-size:13px;font-weight:700;color:var(--green)}.screenshot-gallery{display:grid;grid-template-columns:1fr 1fr;gap:18px}.screenshot-gallery figure{margin:0;padding:12px;background:white;border:1px solid var(--line);border-radius:10px}.screenshot-gallery img{width:100%;display:block;border:1px solid #e0e5da}.screenshot-gallery figcaption{font-size:11px;line-height:1.5;margin-top:8px}.code-index{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:40px}.code-index a{font:11px ui-monospace,monospace;text-decoration:none;background:#e5ebd9;padding:7px;border-radius:4px}.source-section h2{font-size:25px;overflow-wrap:anywhere}.source-section pre{font-size:12px}.source-section .source-preview{max-height:670px;overflow:auto}.source-section .source-note code{word-break:break-all}.build-steps{padding-left:22px}.build-steps li{font-size:14px;margin-bottom:12px}@keyframes flow{to{stroke-dashoffset:-32}}
@media(max-width:720px){.sequence-list,.lab-controls,.screenshot-gallery{grid-template-columns:1fr}.diagram-capture{padding:13px}.diagram-topline{display:block}.diagram-topline strong{display:block;margin-top:7px}.production-toggle{grid-column:auto}.diagram-capture svg{min-width:520px}.capture-disclaimer{max-width:290px}.source-section h2{font-size:21px}}
@media(prefers-reduced-motion:reduce){.flow-edge.is-active{animation:none}}
.stage-status{min-height:110px}
