th[data-astro-cid-g6rufrid][scope=row]{font-weight:400}td[data-astro-cid-g6rufrid]{color:var(--teal-dark);font-weight:700}.sr[data-astro-cid-g6rufrid]{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.architecture-notes[data-astro-cid-f5peqib3]{margin:24px 0}.architecture-title[data-astro-cid-f5peqib3]{color:var(--ink-strong);max-width:66ch;font-weight:700}dl[data-astro-cid-f5peqib3]{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 32px;display:grid}dt[data-astro-cid-f5peqib3]{font-weight:700;line-height:1.5}dt[data-astro-cid-f5peqib3] a[data-astro-cid-f5peqib3]{align-items:center;min-height:44px;display:inline-flex}dd[data-astro-cid-f5peqib3]{margin:8px 0 0}ul[data-astro-cid-f5peqib3]{max-width:none;margin:0;padding-left:1.2em}li[data-astro-cid-f5peqib3]{margin-bottom:8px;line-height:1.7}.architecture-scope[data-astro-cid-f5peqib3]{color:var(--muted);margin:24px 0 0}@media (width<=780px){dl[data-astro-cid-f5peqib3]{grid-template-columns:1fr;gap:20px}}.architecture-diagram{min-width:0;container-type:inline-size}.architecture-diagram .architecture-scroll{border-radius:8px;width:100%;max-width:100%;overflow-x:auto}.architecture-diagram .architecture-scroll:focus-visible{outline:3px solid var(--ink-strong);outline-offset:4px}.architecture-diagram .architecture-scroll>svg{width:100%;min-width:1152px;max-width:none;display:block}.architecture-diagram svg text{color:var(--ink-strong)}.architecture-diagram svg text.note{color:var(--muted)}.architecture-diagram svg text.strong{color:var(--teal-ink)}.architecture-diagram svg text.num-t{color:#fff;background-color:var(--teal)}.architecture-diagram .architecture-hint{color:var(--muted);margin:0 0 10px;font-size:17px}@container (width>=1152px){.architecture-diagram .architecture-hint{display:none}}.architecture-link[data-astro-cid-yacdz2v2]{cursor:pointer}.architecture-link[data-astro-cid-yacdz2v2] rect[data-astro-cid-yacdz2v2]{fill:#0000;stroke:#0000;stroke-width:2px}.architecture-link[data-astro-cid-yacdz2v2]:hover rect[data-astro-cid-yacdz2v2]{fill:#b3141a09;stroke:var(--accent-dark)}.architecture-link[data-astro-cid-yacdz2v2]:focus{outline:none}.architecture-link[data-astro-cid-yacdz2v2]:focus-visible rect[data-astro-cid-yacdz2v2]{stroke:var(--ink-strong);stroke-width:4px}.legend[data-astro-cid-fngkw3hu]{grid-template-columns:max-content minmax(0,1fr);gap:10px 18px;max-width:1000px;margin:0 0 32px;display:grid}dt[data-astro-cid-fngkw3hu]{color:var(--teal-dark);font-weight:800}dd[data-astro-cid-fngkw3hu]{margin:0}.full[data-astro-cid-fngkw3hu]{font-weight:600}@media (width<=560px){.legend[data-astro-cid-fngkw3hu]{grid-template-columns:1fr}dd[data-astro-cid-fngkw3hu]{margin-bottom:10px}}.sketch[data-astro-cid-xmqj6iis]{max-width:1000px;margin:24px 0 12px}svg[data-astro-cid-xmqj6iis]{width:100%;height:auto;font-family:system-ui,sans-serif;display:block}.zone[data-astro-cid-xmqj6iis]{fill:#f8fafc;stroke:var(--slate-400);stroke-width:2px;stroke-dasharray:10 8}.zone-t[data-astro-cid-xmqj6iis]{fill:var(--ink-strong);font-size:24px;font-weight:800}.seg[data-astro-cid-xmqj6iis]{fill:#fff;stroke:var(--line-strong);stroke-width:2px}.console[data-astro-cid-xmqj6iis]{fill:#f0fdfa;stroke:var(--teal);stroke-width:2.5px}svg[data-astro-cid-xmqj6iis] .lbl{fill:var(--ink-strong);font-size:18px;font-weight:700}svg[data-astro-cid-xmqj6iis] .note{fill:var(--muted);font-size:17px}svg[data-astro-cid-xmqj6iis] .note.small{font-size:16px}svg[data-astro-cid-xmqj6iis] .note.strong{fill:var(--teal-ink);font-weight:700}svg[data-astro-cid-xmqj6iis] .note.halo{fill:var(--ink-strong);paint-order:stroke fill;stroke:#fff;stroke-width:8px;stroke-linejoin:round;font-weight:600}.ico[data-astro-cid-xmqj6iis]{color:var(--slate-700)}.fw[data-astro-cid-xmqj6iis],.key[data-astro-cid-xmqj6iis],.bad[data-astro-cid-xmqj6iis]{color:var(--teal-dark)}.badge[data-astro-cid-xmqj6iis]{color:#fff}.badge[data-astro-cid-xmqj6iis] circle[data-astro-cid-xmqj6iis]{fill:var(--teal)}.tunnel[data-astro-cid-xmqj6iis]{stroke:var(--teal-dark);stroke-width:4px;stroke-dasharray:8 6;fill:none}.flow[data-astro-cid-xmqj6iis]{stroke:var(--slate-400);stroke-width:3px;fill:none;stroke-dasharray:2 6;stroke-linecap:round}figcaption[data-astro-cid-xmqj6iis]{color:var(--muted);margin-top:8px;font-size:.95rem}.sketch[data-astro-cid-4ckhmug2]{max-width:1080px;margin:24px 0 12px}svg[data-astro-cid-4ckhmug2]{width:100%;height:auto;font-family:system-ui,sans-serif;display:block}.zone[data-astro-cid-4ckhmug2]{fill:#f8fafc;stroke:var(--slate-400);stroke-width:2px;stroke-dasharray:10 8}.zone-t[data-astro-cid-4ckhmug2]{fill:var(--ink-strong);font-size:24px;font-weight:800}.box[data-astro-cid-4ckhmug2]{fill:#fff;stroke:var(--slate-800);stroke-width:2.5px}.machine[data-astro-cid-4ckhmug2]{fill:var(--slate-800);stroke:var(--slate-900)}svg[data-astro-cid-4ckhmug2] .lbl{fill:var(--ink-strong);font-size:18px;font-weight:700}svg[data-astro-cid-4ckhmug2] .note{fill:var(--muted);font-size:17px}svg[data-astro-cid-4ckhmug2] .note.small{font-size:16px}svg[data-astro-cid-4ckhmug2] .note.strong{fill:var(--teal-ink);font-weight:700}.ico[data-astro-cid-4ckhmug2]{color:var(--slate-700)}.ico-t[data-astro-cid-4ckhmug2]{color:var(--slate-800)}.ico-m[data-astro-cid-4ckhmug2]{color:#fff}.ico-out[data-astro-cid-4ckhmug2]{color:var(--slate-400)}.ban[data-astro-cid-4ckhmug2]{color:var(--teal-dark)}.flow[data-astro-cid-4ckhmug2]{stroke:var(--slate-400);stroke-width:3px;fill:none;stroke-linecap:round}.cut[data-astro-cid-4ckhmug2]{stroke:var(--slate-300);stroke-width:3px;stroke-dasharray:6 6;fill:none}figcaption[data-astro-cid-4ckhmug2]{color:var(--muted);margin-top:8px;font-size:.95rem}.sketch[data-astro-cid-4ee4yl5j]{max-width:1000px;margin:24px 0 12px}svg[data-astro-cid-4ee4yl5j]{width:100%;height:auto;font-family:system-ui,sans-serif;display:block}.zone[data-astro-cid-4ee4yl5j]{fill:#f8fafc;stroke:var(--slate-400);stroke-width:2px;stroke-dasharray:10 8}.zone-t[data-astro-cid-4ee4yl5j]{fill:var(--ink-strong);font-size:24px;font-weight:800}.edge[data-astro-cid-4ee4yl5j]{fill:#f0fdfa;stroke:var(--teal);stroke-width:3px}.console[data-astro-cid-4ee4yl5j]{fill:#f0fdfa;stroke:var(--teal);stroke-width:2.5px}svg[data-astro-cid-4ee4yl5j] .lbl{fill:var(--ink-strong);font-size:18px;font-weight:700}svg[data-astro-cid-4ee4yl5j] .note{fill:var(--muted);font-size:17px}svg[data-astro-cid-4ee4yl5j] .note.small{font-size:16px}svg[data-astro-cid-4ee4yl5j] .note.strong{fill:var(--teal-ink);font-weight:700}.ico[data-astro-cid-4ee4yl5j]{color:var(--slate-700)}.bad[data-astro-cid-4ee4yl5j]{color:var(--accent-dark)}.shield[data-astro-cid-4ee4yl5j]{color:var(--teal-dark)}.badge[data-astro-cid-4ee4yl5j]{color:#fff}.badge[data-astro-cid-4ee4yl5j] circle[data-astro-cid-4ee4yl5j]{fill:var(--teal)}.flow[data-astro-cid-4ee4yl5j]{stroke:var(--slate-400);stroke-width:3px;fill:none;stroke-dasharray:2 6;stroke-linecap:round}.flow[data-astro-cid-4ee4yl5j].ok{stroke:var(--slate-700);stroke-dasharray:none;stroke-width:4px}.flow[data-astro-cid-4ee4yl5j].bad{stroke:var(--slate-400);stroke-dasharray:6 6}figcaption[data-astro-cid-4ee4yl5j]{color:var(--muted);margin-top:8px;font-size:.95rem}.sketch[data-astro-cid-upell274]{max-width:1000px;margin:24px 0 12px}svg[data-astro-cid-upell274]{width:100%;height:auto;font-family:system-ui,sans-serif;display:block}.zone[data-astro-cid-upell274]{fill:#f8fafc;stroke:var(--slate-400);stroke-width:2px;stroke-dasharray:10 8}.zone-t[data-astro-cid-upell274]{fill:var(--ink-strong);font-size:24px;font-weight:800}.seg[data-astro-cid-upell274]{fill:#fff;stroke:var(--line-strong);stroke-width:2px}.home[data-astro-cid-upell274]{fill:#f0fdfa;stroke:var(--teal);stroke-width:3px}svg[data-astro-cid-upell274] .lbl{fill:var(--ink-strong);font-size:18px;font-weight:700}svg[data-astro-cid-upell274] .note{fill:var(--muted);font-size:17px}svg[data-astro-cid-upell274] .note.small{font-size:16px}svg[data-astro-cid-upell274] .note.strong{fill:var(--teal-ink);font-weight:700}.ico[data-astro-cid-upell274]{color:var(--slate-700)}.home-i[data-astro-cid-upell274]{color:var(--teal-dark)}.bad[data-astro-cid-upell274]{color:var(--accent-dark)}.flow[data-astro-cid-upell274]{stroke:var(--slate-400);stroke-width:3px;fill:none;stroke-dasharray:2 6;stroke-linecap:round}.flow[data-astro-cid-upell274].bad{stroke-dasharray:6 6}figcaption[data-astro-cid-upell274]{color:var(--muted);margin-top:8px;font-size:.95rem}.sketch[data-astro-cid-ln4fjvfs]{max-width:1000px;margin:24px 0 12px}svg[data-astro-cid-ln4fjvfs]{width:100%;height:auto;font-family:system-ui,sans-serif;display:block}.zone[data-astro-cid-ln4fjvfs]{fill:#f8fafc;stroke:var(--slate-400);stroke-width:2px;stroke-dasharray:10 8}.zone-t[data-astro-cid-ln4fjvfs]{fill:var(--ink-strong);font-size:24px;font-weight:800}.seg[data-astro-cid-ln4fjvfs]{fill:#fff;stroke:var(--line-strong);stroke-width:2px}.home[data-astro-cid-ln4fjvfs]{fill:#f0fdfa;stroke:var(--teal);stroke-width:3px}svg[data-astro-cid-ln4fjvfs] .lbl{fill:var(--ink-strong);font-size:18px;font-weight:700}svg[data-astro-cid-ln4fjvfs] .note{fill:var(--muted);font-size:17px}svg[data-astro-cid-ln4fjvfs] .note.small{font-size:16px}svg[data-astro-cid-ln4fjvfs] .note.strong{fill:var(--teal-ink);font-weight:700}.ico[data-astro-cid-ln4fjvfs]{color:var(--slate-700)}.home-i[data-astro-cid-ln4fjvfs],.key[data-astro-cid-ln4fjvfs]{color:var(--teal-dark)}.bad[data-astro-cid-ln4fjvfs]{color:var(--accent-dark)}.badge[data-astro-cid-ln4fjvfs]{color:#fff}.badge[data-astro-cid-ln4fjvfs] circle[data-astro-cid-ln4fjvfs]{fill:var(--teal)}.flow[data-astro-cid-ln4fjvfs]{stroke:var(--slate-400);stroke-width:3px;fill:none;stroke-dasharray:2 6;stroke-linecap:round}.flow[data-astro-cid-ln4fjvfs].bad{stroke-dasharray:6 6}figcaption[data-astro-cid-ln4fjvfs]{color:var(--muted);margin-top:8px;font-size:.95rem}.sketch[data-astro-cid-iiuhcl6e]{max-width:1000px;margin:8px 0 12px}svg[data-astro-cid-iiuhcl6e]{width:100%;height:auto;font-family:system-ui,sans-serif;display:block}.sk-title[data-astro-cid-iiuhcl6e]{color:var(--ink-strong);max-width:66ch;margin:24px 0 0;font-weight:800}.stage[data-astro-cid-iiuhcl6e]{fill:#fff;stroke:var(--line-strong);stroke-width:2px}.stage[data-astro-cid-iiuhcl6e].live{fill:#f0fdfa;stroke:var(--teal);stroke-width:3px}.num[data-astro-cid-iiuhcl6e]{fill:var(--teal)}.num-t[data-astro-cid-iiuhcl6e]{fill:#fff;font-size:18px;font-weight:800}svg[data-astro-cid-iiuhcl6e] .lbl{fill:var(--ink-strong);font-size:19px;font-weight:700}svg[data-astro-cid-iiuhcl6e] .note{fill:var(--muted);font-size:18px}svg[data-astro-cid-iiuhcl6e] .note.small{font-size:18px}svg[data-astro-cid-iiuhcl6e] .note.strong{fill:var(--teal-ink);font-weight:700}.ico[data-astro-cid-iiuhcl6e]{color:var(--teal-dark)}.flow[data-astro-cid-iiuhcl6e]{stroke:var(--slate-400);stroke-width:3px;fill:none;stroke-dasharray:2 6;stroke-linecap:round}.flow[data-astro-cid-iiuhcl6e].loop{stroke-dasharray:8 6}figcaption[data-astro-cid-iiuhcl6e]{color:var(--muted);margin-top:8px;font-size:.95rem}figcaption[data-astro-cid-iiuhcl6e] a[data-astro-cid-iiuhcl6e]{color:var(--teal-dark);font-weight:600}.sketch[data-astro-cid-3vinrnv3]{max-width:1000px;margin:24px 0 12px}svg[data-astro-cid-3vinrnv3]{width:100%;height:auto;font-family:system-ui,sans-serif;display:block}.zone[data-astro-cid-3vinrnv3]{fill:#f8fafc;stroke:var(--slate-400);stroke-width:2px;stroke-dasharray:10 8}.zone-t[data-astro-cid-3vinrnv3]{fill:var(--ink-strong);font-size:22px;font-weight:800}.table[data-astro-cid-3vinrnv3]{fill:#fff;stroke:var(--line-strong);stroke-width:2px}.keep[data-astro-cid-3vinrnv3]{fill:#f0fdfa;stroke:var(--teal);stroke-width:3px}svg[data-astro-cid-3vinrnv3] .lbl{fill:var(--ink-strong);font-size:18px;font-weight:700}svg[data-astro-cid-3vinrnv3] .lbl.ws{font-size:17px}svg[data-astro-cid-3vinrnv3] .zone-t{fill:var(--ink-strong);font-size:22px;font-weight:800}svg[data-astro-cid-3vinrnv3] .note{fill:var(--muted);font-size:17px}svg[data-astro-cid-3vinrnv3] .note.small{font-size:16px}svg[data-astro-cid-3vinrnv3] .note.strong{fill:var(--teal-ink);font-weight:700}.ico[data-astro-cid-3vinrnv3]{color:var(--slate-700)}.trainer[data-astro-cid-3vinrnv3]{color:var(--teal-dark)}.box[data-astro-cid-3vinrnv3]{cursor:pointer;text-decoration:none}.box[data-astro-cid-3vinrnv3] rect[data-astro-cid-3vinrnv3]{fill:#fff;stroke:var(--line-strong);stroke-width:2px;filter:drop-shadow(0 1px 2px #0f172a1f)}.box[data-astro-cid-3vinrnv3] .bi{color:var(--teal-dark)}.box[data-astro-cid-3vinrnv3]:hover rect[data-astro-cid-3vinrnv3],.box[data-astro-cid-3vinrnv3]:focus-visible rect[data-astro-cid-3vinrnv3]{stroke:var(--teal);fill:var(--teal-soft);stroke-width:4px}.box[data-astro-cid-3vinrnv3]:focus-visible{outline:3px solid var(--teal);outline-offset:2px}.flow[data-astro-cid-3vinrnv3]{stroke:var(--slate-400);stroke-width:3px;fill:none;stroke-dasharray:2 6;stroke-linecap:round}figcaption[data-astro-cid-3vinrnv3]{color:var(--muted);margin-top:8px;font-size:.95rem}.product[data-astro-cid-ccnjhev5]{--c:var(--teal-dark)}.product[data-astro-cid-ccnjhev5].build{--c:var(--amber-ink)}.product[data-astro-cid-ccnjhev5].sovereign{--c:var(--slate-800)}.product[data-astro-cid-ccnjhev5].learn{--c:#57534e}.crumb[data-astro-cid-ccnjhev5]{color:var(--muted);margin:0 0 8px;font-size:.95rem}.crumb[data-astro-cid-ccnjhev5] strong[data-astro-cid-ccnjhev5]{color:var(--c)}h1[data-astro-cid-ccnjhev5]{color:var(--ink-strong);flex-wrap:wrap;align-items:center;gap:12px;display:flex}h1[data-astro-cid-ccnjhev5] svg{color:var(--c);flex:none}h1[data-astro-cid-ccnjhev5] small[data-astro-cid-ccnjhev5]{color:var(--muted);font-size:.5em;font-weight:400}.overview-list[data-astro-cid-ccnjhev5]{max-width:var(--reading-width);padding-left:1.3em}.overview-list[data-astro-cid-ccnjhev5] li[data-astro-cid-ccnjhev5]+li[data-astro-cid-ccnjhev5]{margin-top:.65em}article[data-astro-cid-ccnjhev5] table{font-size:.95rem}.works[data-astro-cid-ccnjhev5]{grid-template-columns:repeat(2,1fr);gap:14px;max-width:none;margin:16px 0;padding:0;list-style:none;display:grid}@media (width<=760px){.works[data-astro-cid-ccnjhev5]{grid-template-columns:1fr}}.works[data-astro-cid-ccnjhev5] li[data-astro-cid-ccnjhev5]{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);grid-template-columns:36px 1fr;align-items:start;gap:2px 14px;padding:14px 16px;display:grid}.works[data-astro-cid-ccnjhev5] svg{color:var(--c);grid-row:span 2;margin-top:2px}.works[data-astro-cid-ccnjhev5] strong[data-astro-cid-ccnjhev5]{color:var(--ink-strong)}.works[data-astro-cid-ccnjhev5] span[data-astro-cid-ccnjhev5]{color:var(--muted);font-size:.95rem}.workshop[data-astro-cid-ccnjhev5]{border-left:6px solid #57534e;margin:2em 0;padding:20px 24px}.docs[data-astro-cid-ccnjhev5]{border-left:6px solid var(--teal);margin:2em 0;padding:20px 24px}.docs[data-astro-cid-ccnjhev5] h2[data-astro-cid-ccnjhev5]{margin-top:0;font-size:1.3rem}.docs[data-astro-cid-ccnjhev5] p[data-astro-cid-ccnjhev5]:last-child{margin-bottom:0}.workshop[data-astro-cid-ccnjhev5] h2[data-astro-cid-ccnjhev5]{align-items:center;gap:10px;margin-top:0;font-size:1.3rem;display:flex}.workshop[data-astro-cid-ccnjhev5] h2[data-astro-cid-ccnjhev5] svg{color:#57534e}.workshop[data-astro-cid-ccnjhev5] dl[data-astro-cid-ccnjhev5]{grid-template-columns:max-content 1fr;gap:6px 18px;max-width:none;margin:0 0 10px;display:grid}.workshop[data-astro-cid-ccnjhev5] dt[data-astro-cid-ccnjhev5]{color:var(--muted);font-weight:700}.workshop[data-astro-cid-ccnjhev5] dd[data-astro-cid-ccnjhev5]{margin:0}@media (width<=560px){.workshop[data-astro-cid-ccnjhev5] dl[data-astro-cid-ccnjhev5]{grid-template-columns:1fr}.workshop[data-astro-cid-ccnjhev5] dd[data-astro-cid-ccnjhev5]{margin-bottom:8px}}.tiles[data-astro-cid-ccnjhev5]{flex-wrap:wrap;gap:8px;max-width:none;padding:0;list-style:none;display:flex}.tiles[data-astro-cid-ccnjhev5] li[data-astro-cid-ccnjhev5]{min-width:0;max-width:100%}.tiles[data-astro-cid-ccnjhev5] a[data-astro-cid-ccnjhev5]{box-sizing:border-box;max-width:100%;color:var(--ink-strong);border:2px solid var(--line-strong);background:var(--surface);border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px;min-height:44px;padding:6px 12px 6px 6px;text-decoration:none;display:inline-flex}.tiles[data-astro-cid-ccnjhev5] .tile-label[data-astro-cid-ccnjhev5]{flex:200px;min-width:0}.tiles[data-astro-cid-ccnjhev5] a[data-astro-cid-ccnjhev5]:hover,.tiles[data-astro-cid-ccnjhev5] a[data-astro-cid-ccnjhev5]:focus-visible{border-color:var(--teal);color:var(--teal-dark)}.tiles[data-astro-cid-ccnjhev5] .sym[data-astro-cid-ccnjhev5]{background:var(--line);color:var(--ink-strong);border-radius:6px;padding:2px 8px;font-weight:800;display:inline-block}.tiles[data-astro-cid-ccnjhev5] .hi[data-astro-cid-ccnjhev5] .sym[data-astro-cid-ccnjhev5]{background:var(--teal);color:#fff}.pn[data-astro-cid-ccnjhev5]{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:32px;padding-top:16px;font-size:.95rem;display:flex}
