.architecture-page{background:#12191b;color:#e9ebe5;--diagram-teal:#81c9c5;--diagram-copper:#ef926d;--diagram-violet:#afadeb}
.architecture-shell{max-width:1600px;margin:auto;padding-inline:clamp(22px,4vw,64px)}
.architecture-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;padding:42px 0 32px}
.architecture-heading .micro{font-size:12px;color:#7faba1;margin-bottom:14px}
.architecture-heading h1{font-size:clamp(40px,4.5vw,72px);line-height:1.03;letter-spacing:-.055em;font-weight:400;margin:0}
.architecture-back{font-size:14px;white-space:nowrap;text-decoration:none;padding:10px 0;border-bottom:1px solid #72877c70;display:flex;gap:24px}
.architecture-experience{border-top:1px solid #72877c55;border-bottom:1px solid #72877c55}
.architecture-toolbar{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:20px 0 8px}
.architecture-views{display:flex;flex-wrap:wrap;gap:8px 30px}
.architecture-views button{background:none;border:0;border-bottom:1px solid transparent;color:#81938c;padding:8px 0 10px;font-size:14px;line-height:1.3;transition:color .3s,border-color .3s}
.architecture-views button:hover{color:#e9ebe5}.architecture-views button[aria-pressed="true"]{color:#e9ebe5;border-color:#ef926d}
.architecture-reference{font:11px/1.5 ui-monospace,monospace;letter-spacing:.08em;text-transform:uppercase;color:#81938c}
.architecture-canvas{position:relative;isolation:isolate;padding-top:5px;overflow:hidden}
.architecture-svg{display:block;width:100%;height:auto;overflow:visible}
.architecture-narrow{display:none}
.architecture-svg text{font-family:Arial,Helvetica,sans-serif;fill:#e9ebe5}
.stage-name{font-size:24px;letter-spacing:-.035em}.stage-number{font-size:12px;fill:#769389!important;font-family:ui-monospace,monospace!important}.stage-verb{font-size:15px;fill:#82988e!important}.stage-rule{fill:none;stroke:#84988b15}
.node-caption{font-size:15px;fill:#92a89d!important}.edge-title{font-size:18px;letter-spacing:-.02em}.edge-sub{font-size:12px;fill:#8faf9d!important}
.factory-shell{fill:#1b2527;stroke:#8ba99b99;stroke-width:1}.compute-cell{fill:#83b3a3;animation:compute-light 4.6s ease-in-out infinite;animation-delay:var(--delay)}
.grid-shell{fill:#192729;stroke:#83aa9b;stroke-width:1.1}.grid-cell{fill:#81c9c5;animation:compute-light 3.8s ease-in-out infinite;animation-delay:var(--delay)}
.grid-orbit{fill:none;stroke:#81c9c5;stroke-width:1;stroke-dasharray:32 95;opacity:.4;transform-box:fill-box;transform-origin:center;animation:capacity-orbit 16s linear infinite;animation-delay:var(--delay)}
.edge-shell{fill:#1b2928;stroke:#8baa9a;stroke-width:1}.edge-scan{fill:none;stroke:#8be0c9;stroke-width:1.6;stroke-dasharray:17 83;animation:signal-travel 3.4s linear infinite;animation-delay:var(--delay);opacity:.6}
.local-boundary rect{fill:#263b2e20;stroke:#87a1943d;stroke-width:1;stroke-dasharray:3 7}
.field-ring{fill:#172825;stroke:#7da996;stroke-width:1}.field-halo{fill:none;stroke:#81c9c5;stroke-width:.7;transform-box:fill-box;transform-origin:center;animation:field-breathe 4s ease-out infinite;animation-delay:var(--delay)}
.field-core{fill:#81c9c5}.field-core.actuator{fill:#ef926d}.field-pair{fill:none;stroke:#657e7133;stroke-dasharray:2 4}
.route{transition:opacity .65s}.route-guide{fill:none;stroke:#81c9c5;stroke-width:.9;opacity:.18}.kind-action .route-guide{stroke:#ef926d}.layer-model .route-guide{stroke:#afadeb;stroke-dasharray:4 7;opacity:.17}
.packet,.packet-trail{fill:none;stroke:#81c9c5;stroke-linecap:round;stroke-width:3.2;stroke-dasharray:1.5 98.5;animation:packet-travel var(--travel,5s) linear infinite;animation-delay:var(--delay,0s);pointer-events:none}
.packet-trail{stroke-width:1.2;stroke-dasharray:9 91;opacity:.22}
.kind-action .packet,.kind-action .packet-trail{stroke:#ef926d}.layer-model .packet{stroke:#afadeb;stroke-linecap:square;stroke-width:3;stroke-dasharray:2.2 97.8}.layer-model .packet-trail{stroke:#afadeb}
.gate-shape{fill:#152b24;stroke:#81c9c5;stroke-width:1}.gate-check{fill:none;stroke:#d0eee0;stroke-width:1.2}.gate-label{font-size:12px;fill:#7e9c8b!important}
.scope-base{fill:none;stroke:#668e7d55;stroke-width:1}.scope-packet{fill:none;stroke:#96cbb6;stroke-width:1.3;stroke-dasharray:4 96;animation:packet-travel 11s linear infinite;opacity:.45}.scope-name{font-size:14px;fill:#97b4a4!important;letter-spacing:.02em}.network-caption,.boundary-caption{font-size:12px;fill:#799588!important}
.factory-node,.grid-node{transition:opacity .65s}
.architecture-experience[data-view="local"] .layer-regional,.architecture-experience[data-view="local"] .layer-model,.architecture-experience[data-view="regional"] .layer-local,.architecture-experience[data-view="regional"] .layer-model,.architecture-experience[data-view="model"] .layer-local,.architecture-experience[data-view="model"] .layer-regional{opacity:.025}
.architecture-experience[data-view="local"] .factory-node,.architecture-experience[data-view="local"] .grid-node,.architecture-experience[data-view="regional"] .factory-node{opacity:.22}
.architecture-experience[data-view="local"] .layer-regional :is(.packet,.packet-trail),.architecture-experience[data-view="local"] .layer-model :is(.packet,.packet-trail),.architecture-experience[data-view="regional"] .layer-local :is(.packet,.packet-trail),.architecture-experience[data-view="regional"] .layer-model :is(.packet,.packet-trail),.architecture-experience[data-view="model"] .layer-local :is(.packet,.packet-trail),.architecture-experience[data-view="model"] .layer-regional :is(.packet,.packet-trail){visibility:hidden}
.architecture-readout{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:12px 0 15px}
#architecture-caption{font-size:clamp(18px,1.5vw,23px);line-height:1.4;letter-spacing:-.025em}
.architecture-key{display:flex;flex-wrap:wrap;gap:10px 22px;font-size:12px;color:#96aaa0;line-height:1.5}
.architecture-key span{display:flex;align-items:center;gap:8px}.architecture-key span::before{content:"";width:5px;height:5px;border-radius:50%;background:#81c9c5}.architecture-key .key-action::before{background:#ef926d}.architecture-key .key-model::before{background:#afadeb;border-radius:0}
.architecture-model-note{font-size:12px;color:#718b7c;line-height:1.5;padding-bottom:18px}
.architecture-experience[data-view="local"] .architecture-model-note,.architecture-experience[data-view="regional"] .architecture-model-note{visibility:hidden}
.architecture-products{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px;padding:25px 0 29px;border-bottom:1px solid #72877c33}
.architecture-products a{display:flex;align-items:baseline;gap:13px;text-decoration:none;min-width:0}.architecture-products strong{font-size:26px;font-weight:400;letter-spacing:-.04em}.architecture-products span{font-size:13px;color:#81a18f}.architecture-products a:hover strong{color:#ef926d}
.architecture-foot{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:12px 30px;font-size:12px;color:#779484;padding:22px 0 35px}.architecture-foot>p{flex:1;min-width:250px}.architecture-foot>a{white-space:nowrap}.architecture-foot>details{flex-basis:100%;font-size:13px;line-height:1.6}.architecture-foot summary{cursor:pointer;width:fit-content}.architecture-foot details>div{max-width:800px;color:#a5b7ac;padding-top:15px}.architecture-foot details p+p{margin-top:15px}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@keyframes packet-travel{from{stroke-dashoffset:100}to{stroke-dashoffset:0}}
@keyframes compute-light{0%,100%{opacity:.25}40%,60%{opacity:.95}}
@keyframes capacity-orbit{to{transform:rotate(360deg)}}
@keyframes field-breathe{0%{transform:scale(.55);opacity:0}30%{opacity:.36}100%{transform:scale(1.3);opacity:0}}
@media(min-width:1700px){.architecture-canvas{max-width:1360px;margin:auto}}
@media(max-width:1000px){.architecture-readout{display:block}.architecture-key{margin-top:14px}.architecture-reference{font-size:10px}.architecture-views{gap:20px}.architecture-products{gap:15px}.architecture-products strong{font-size:23px}.architecture-products a{gap:9px}}
@media(max-width:760px){.architecture-heading{padding:32px 0 27px;display:block}.architecture-heading h1{font-size:clamp(36px,8.7vw,58px)}.architecture-back{display:none}.architecture-heading .micro{margin-bottom:15px}.architecture-toolbar{display:block;padding:14px 0 4px}.architecture-reference{display:none}.architecture-views{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 20px}.architecture-views button{text-align:left;font-size:14px;padding:12px 0}.architecture-wide{display:none}.architecture-narrow{display:block;max-width:500px;margin:auto}.architecture-canvas{padding-top:24px}.architecture-svg .stage-name{font-size:23px}.architecture-svg .stage-number{font-size:15px}.architecture-svg .node-caption{font-size:17px}.architecture-svg .edge-title{font-size:18px}.architecture-svg .edge-sub{font-size:15px}.architecture-svg .scope-name{font-size:15px}.architecture-svg .gate-label,.architecture-svg .boundary-caption{font-size:14px}.architecture-readout{padding-top:0}.architecture-key{gap:10px 18px}.architecture-model-note{padding-bottom:19px}.architecture-products{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 30px;padding:24px 0}.architecture-products strong{font-size:25px}.architecture-foot{padding-bottom:28px}.architecture-foot>p{flex-basis:100%;font-size:13px;line-height:1.5}}
@media(prefers-reduced-motion:reduce){.architecture-page *,.architecture-page *::before,.architecture-page *::after{animation:none!important;transition:none!important}.architecture-page .packet,.architecture-page .packet-trail,.architecture-page .field-halo,.architecture-page .scope-packet{display:none}.architecture-page .route-guide{opacity:.7;stroke-width:1.5}.architecture-page .compute-cell,.architecture-page .grid-cell{opacity:.7}}
