.architecture-page{--arch-bg:#080d13;--arch-surface:#0d141d;--arch-line:#26323f;--arch-muted:#8e9eaf;--arch-accent:#a9edda;background:radial-gradient(ellipse at 20% 0, #19383040, transparent 35%), var(--arch-bg);color:#e8edf3;min-height:100svh}.architecture-page button,.architecture-page a,.architecture-page select{touch-action:manipulation}.architecture-page button{font:inherit}.arch-header{border-bottom:1px solid #ffffff0c;justify-content:space-between;align-items:center;max-width:1600px;min-height:92px;margin:auto;padding:20px 48px;display:flex}.arch-back{color:#a5b5c1;align-items:center;gap:10px;min-height:44px;font-size:12px;display:flex}.arch-back:hover{color:#d7fff3}.arch-brand{letter-spacing:-2px;font-size:30px;font-weight:700}.arch-brand span{color:var(--arch-accent)}.arch-header-label{color:#8b9da8;align-items:center;gap:8px;font:10px ui-monospace,monospace;display:flex}.arch-shell{max-width:1600px;margin:auto;padding:52px 48px 0}.arch-page-intro{grid-template-columns:1.2fr 1fr;align-items:end;gap:60px;margin-bottom:40px;display:grid}.arch-eyebrow{color:var(--arch-accent);text-transform:uppercase;letter-spacing:.16em;margin:0 0 18px;font:10px/1.7 ui-monospace,SFMono-Regular,Menlo,monospace}.arch-eyebrow>span{color:#687d8b;margin-left:12px}.arch-page-intro h1{letter-spacing:-.045em;font-size:clamp(34px,3.5vw,54px);font-weight:550;line-height:1.12}.arch-page-intro h1>span{color:#7f919f;font-weight:400;display:block}.arch-intro-right>p{color:#a8b8c6;max-width:480px;font-size:14px;line-height:1.85}.arch-intro-actions{flex-wrap:wrap;gap:24px;margin-top:16px;display:flex}.arch-intro-actions a,.arch-intro-actions button{color:#cee4e1;background:0 0;border:0;align-items:center;gap:9px;min-height:44px;padding:0;font-size:12px;display:inline-flex}.arch-intro-actions button:hover,.arch-intro-actions a:hover{color:#9df1d9}.arch-copy-status{color:#9ae4ce;min-height:18px;font-size:11px;display:block}.arch-projects{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:#f4f7f8;border:1px solid #dce5e8;border-radius:12px;align-items:stretch;gap:3px;width:70%;margin:0 auto 26px;padding:5px;display:flex}.arch-projects a{white-space:nowrap;color:#455965;border-radius:8px;flex:1 0 auto;justify-content:center;align-items:center;gap:5px;min-height:56px;padding:10px 8px;font-size:11px;line-height:1.45;transition:background .2s,color .2s;display:flex}.arch-projects a>span{color:#5d737e;font:9px ui-monospace,monospace}.arch-projects a[aria-current]{color:#174f3d;background:#d3eee4;box-shadow:inset 0 0 0 1px #afd6c7}.arch-projects a:hover:not([aria-current]){color:#1b3542;background:#e4ecef}.arch-inspector:focus-visible,.arch-projects a:focus-visible,.arch-project-select select:focus-visible,.arch-mobile-item.is-selected>button:focus-visible{outline-offset:-3px;outline:2px solid #216b55}.arch-project-select{display:none}.arch-workbench{background:#0a1119;border:1px solid #293442;border-radius:16px;overflow:hidden;box-shadow:0 30px 100px #0002}.arch-toolbar{background:#0f1822;border-bottom:1px solid #263340;justify-content:space-between;align-items:center;gap:16px;padding:12px 18px;display:flex}.arch-tabs{align-items:center;gap:6px;display:flex}.arch-tabs button{color:#95a6b7;background:0 0;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:0 14px;font-size:12px;display:inline-flex}.arch-tabs button[aria-selected=true]{color:#142c26;background:#b5eddb}.arch-tabs button:hover:not([aria-selected=true]){color:#fff;background:#ffffff08}.arch-zoom{align-items:center;gap:2px;display:flex}.arch-zoom button{color:#beced9;background:0 0;border:0;border-radius:7px;place-items:center;width:36px;height:44px;display:grid}.arch-zoom button:hover:not(:disabled){background:#ffffff09}.arch-zoom button:disabled,.arch-playback button:disabled{opacity:.25;cursor:default}.arch-zoom output{color:#90a2b3;text-align:center;min-width:40px;font:10px ui-monospace,monospace}.arch-workspace{grid-template-columns:minmax(0,1fr) 296px;display:grid}.arch-diagram-column{min-width:0}.arch-map-caption{text-transform:uppercase;letter-spacing:.07em;color:#768d9d;justify-content:space-between;align-items:center;gap:14px;padding:22px 26px 8px;font:9px/1.6 ui-monospace,monospace;display:flex}.arch-map-caption>span:first-child{color:#a6c0c1;align-items:center;gap:8px;display:flex}.arch-status-dot{background:#98ddc8;border-radius:50%;width:5px;height:5px;display:inline-block}.arch-map-scroll{scrollbar-width:thin;scrollbar-color:#344657 #0a1119;overflow:auto}.arch-map{aspect-ratio:920/620;background-image:radial-gradient(circle,#658a9b24 .8px,#0000 .8px);background-size:20px 20px;position:relative}.arch-connections{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.arch-edge path{fill:none;stroke:#344553;stroke-width:1.4px;transition:stroke .25s}.arch-edge text{fill:#667e8b;paint-order:stroke;stroke:#0a1119;stroke-width:4px;stroke-linejoin:round;font:9px ui-monospace,monospace}.arch-edge.is-control path{stroke-dasharray:4 5}.arch-edge.is-active path{stroke:#b0ecd9;stroke-width:2px}.arch-edge.is-active text{fill:#aadbcf}.arch-map.is-playing .arch-edge.is-active path{stroke-dasharray:7 6;animation:1s linear infinite arch-signal}@keyframes arch-signal{to{stroke-dashoffset:-26px}}.arch-node{--node-accent:#8cb9ef;color:#e4edf7;text-align:left;background:linear-gradient(145deg,#17222f,#101822);border:1px solid #354655;border-radius:11px;flex-direction:column;justify-content:center;gap:7px;width:25%;height:17.42%;padding:11px 15px;transition:border-color .2s,background .2s,box-shadow .2s;display:flex;position:absolute;box-shadow:0 4px 14px #0002}.arch-node:not(.is-connected){background:#0d1620;border-color:#ffffff14}.arch-kind-ai{--node-accent:#c2a1fb}.arch-kind-logic,.arch-kind-service,.arch-kind-client{--node-accent:#91bdf0}.arch-kind-store,.arch-kind-output{--node-accent:#87d9c1}.arch-kind-guard{--node-accent:#e4bc80}.arch-node.is-selected{border-color:var(--node-accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--node-accent) 10%, transparent), 0 12px 24px #0003;background:linear-gradient(130deg, color-mix(in srgb, var(--node-accent) 12%, #111923), #111923)}.arch-node:hover{border-color:var(--node-accent)}.arch-node-top{text-transform:uppercase;letter-spacing:.045em;color:#8da4b8;align-items:center;gap:7px;font:8px ui-monospace,monospace;display:flex}.arch-node-icon{color:var(--node-accent);display:inline-flex}.arch-node-dot{background:var(--node-accent);opacity:.55;border-radius:50%;width:4px;height:4px;margin-left:auto}.arch-node strong{letter-spacing:-.02em;font-size:clamp(11px,1vw,15px);font-weight:550;line-height:1.3}.arch-node-tech{color:#8398ab;font:8px/1.6 ui-monospace,monospace}.arch-map-coordinate{color:#496171;letter-spacing:.13em;font:8px ui-monospace,monospace;position:absolute;bottom:16px;left:28px}.arch-legend{color:#8499a9;border-top:1px solid #ffffff09;flex-wrap:wrap;gap:12px 18px;padding:16px 26px;font-size:10px;display:flex}.arch-legend>span{align-items:center;gap:6px;display:inline-flex}.arch-legend i{border-radius:2px;width:6px;height:6px}.arch-legend-ai{background:#c2a1fb}.arch-legend-code{background:#91bdf0}.arch-legend-data{background:#87d9c1}.arch-legend-guard{background:#e4bc80}.arch-legend-control{margin-left:auto;font-size:9px}.arch-inspector{scrollbar-width:thin;scrollbar-color:#9db4bd #f4f7f8;color:#1b303d;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:#f4f7f8;border-left:1px solid #dce5e8;border-radius:14px 0 0 14px;align-self:center;height:50%;min-height:320px;padding:24px;overflow-y:auto}.arch-inspector-label{color:#526975;text-transform:uppercase;letter-spacing:.06em;justify-content:space-between;align-items:center;margin-bottom:30px;font:9px ui-monospace,monospace;display:flex}.arch-inspector-label span{color:#526975}.arch-detail-icon{width:46px;height:46px;color:var(--node-accent);background:color-mix(in srgb, var(--node-accent) 8%, transparent);border:1px solid color-mix(in srgb, var(--node-accent) 22%, transparent);border-radius:12px;place-items:center;margin-bottom:22px;display:grid}.arch-inspector .arch-eyebrow,.arch-mobile-detail .arch-eyebrow{color:#526975;margin-bottom:8px;font-size:9px}.arch-detail-icon.arch-kind-ai{--node-accent:#7651a5}.arch-detail-icon.arch-kind-client,.arch-detail-icon.arch-kind-service,.arch-detail-icon.arch-kind-logic{--node-accent:#35699a}.arch-detail-icon.arch-kind-store,.arch-detail-icon.arch-kind-output{--node-accent:#237158}.arch-detail-icon.arch-kind-guard{--node-accent:#896123}.arch-inspector h3,.arch-mobile-detail h3{letter-spacing:-.03em;margin-bottom:9px;font-size:21px;font-weight:550;line-height:1.25}.arch-detail-tech{color:#526975;margin-bottom:20px;font:10px/1.7 ui-monospace,monospace}.arch-detail-description{color:#405967;font-size:12px;line-height:1.85}.arch-contract{border-top:1px solid #d7e1e5;gap:18px;margin-top:24px;padding-top:22px;display:grid}.arch-contract dt{color:#293f4c;text-transform:uppercase;letter-spacing:.1em;margin-bottom:7px;font:9px ui-monospace,monospace}.arch-contract dd{color:#4b6472;font-size:11px;line-height:1.8}.arch-safeguard{background:#f5efdf;border:1px solid #e4d7b8;border-radius:10px;margin-top:24px;padding:16px}.arch-safeguard>span{color:#77551f;align-items:center;gap:7px;font-size:11px;display:flex}.arch-safeguard p{color:#66583f;margin-top:10px;font-size:11px;line-height:1.85}.arch-flow-controls{background:#12221f66;border-bottom:1px solid #263340;grid-template-columns:1fr auto;gap:16px 28px;padding:22px 26px;display:grid}.arch-flow-heading{align-items:flex-start;gap:22px;display:flex}.arch-flow-index{color:#b0ecd9;flex-shrink:0;padding-top:2px;font:20px ui-monospace,monospace}.arch-flow-index>span{color:#5e8d7f;font-size:10px}.arch-flow-heading h2,.arch-reliability-intro h2{color:#d5eee5;margin-bottom:7px;font-size:14px}.arch-flow-heading p,.arch-reliability-intro p{color:#97b3ac;max-width:680px;font-size:12px;line-height:1.8}.arch-playback{align-items:flex-start;gap:7px;display:flex}.arch-playback button{color:#b5e5d2;background:#14261f;border:1px solid #2c443c;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-width:44px;min-height:44px;padding:0 10px;font-size:11px;display:inline-flex}.arch-playback .arch-play{color:#143529;background:#b5eddb;border-color:#b5eddb;min-width:105px}.arch-step-dots{gap:8px;display:flex}.arch-step-dots button{background:0 0;border:0;min-width:30px;min-height:28px;padding:8px 0}.arch-step-dots button span{background:#2b433a;border-radius:2px;width:100%;height:3px;display:block}.arch-step-dots button[aria-pressed=true] span{background:#a1e2c9}.arch-flow-note{color:#638f7f;place-self:center end;font:9px ui-monospace,monospace}.arch-reliability-intro{color:#e4bc80;background:#e4bc8008;border-bottom:1px solid #263340;align-items:flex-start;gap:14px;padding:22px 26px;display:flex}.arch-reliability-intro h2{color:#dbc6a6}.arch-reliability-intro p{color:#b1a695}.arch-mobile-nodes{display:none}.arch-design-notes{grid-template-columns:1fr 1fr;gap:72px;margin:52px 0;display:grid}.arch-design-notes .arch-eyebrow{color:#6f968d;margin-bottom:14px}.arch-design-notes h2{color:#c3d2d9;letter-spacing:-.02em;max-width:540px;font-size:clamp(23px,2.3vw,32px);font-weight:450;line-height:1.45}.arch-design-notes>div>p:not(.arch-eyebrow){color:#859bad;font-size:12px;line-height:1.9}.arch-design-notes a{color:#b1cbbf;align-items:center;gap:7px;min-height:44px;margin-top:8px;font-size:11px;display:inline-flex}.arch-footer{color:#a0b6c5;border-top:1px solid #ffffff0d;justify-content:space-between;align-items:center;gap:20px;padding:24px 0 32px;font-size:11px;display:flex}.arch-footer>span>span{color:#576f80}.arch-footer a{align-items:center;gap:10px;min-height:44px;display:inline-flex}.architecture-page--expanded .arch-page-intro,.architecture-page--expanded .arch-projects,.architecture-page--expanded .arch-design-notes,.architecture-page--expanded .arch-footer{display:none}.architecture-page--expanded .arch-shell{max-width:none;padding-top:24px}@media (max-width:1279px){.arch-projects a{padding:8px 6px;font-size:10px}.arch-projects a>span{display:none}}@media (max-width:1199px){.arch-header{padding:16px 28px}.arch-shell{padding:36px 28px 0}.arch-workspace{grid-template-columns:minmax(0,1fr) 260px}.arch-inspector{padding:20px}.arch-node-tech{font-size:9px}.arch-map-caption>span:last-child{display:none}}@media (max-width:1050px){.arch-workspace{grid-template-columns:minmax(0,1fr)}.arch-inspector{border-top:1px solid #dce5e8;border-left:0;border-radius:0;grid-template-columns:1fr 1fr;gap:0 28px;height:auto;min-height:0;display:grid;overflow:visible}.arch-inspector-label{grid-column:1/-1;margin-bottom:20px}.arch-inspector .arch-detail-icon{display:none}.arch-inspector .arch-eyebrow,.arch-inspector h3,.arch-inspector .arch-detail-tech,.arch-inspector .arch-detail-description{grid-column:1}.arch-inspector .arch-contract{border:0;grid-area:2/2/6;margin:0;padding:0}.arch-inspector .arch-safeguard{grid-column:1/-1}.arch-projects{width:100%}.arch-projects a{min-height:44px}.arch-node strong{font-size:14px}.arch-node-top{font-size:9px}.arch-node-tech{font-size:10px}.arch-flow-controls{grid-template-columns:1fr}.arch-flow-note{justify-self:start}.arch-playback{grid-row:2}}@media (max-width:720px){.arch-header{min-height:72px;padding:max(12px, env(safe-area-inset-top)) max(20px, env(safe-area-inset-right)) 12px max(20px, env(safe-area-inset-left))}.arch-header-label{display:none}.arch-shell{padding:32px max(20px, env(safe-area-inset-right)) 0 max(20px, env(safe-area-inset-left))}.arch-page-intro{grid-template-columns:minmax(0,1fr);gap:22px;margin-bottom:24px}.arch-page-intro h1{font-size:36px}.arch-page-intro .arch-eyebrow{margin-bottom:14px}.arch-intro-right>p{font-size:14px}.arch-intro-actions{margin-top:10px}.arch-projects{display:none}.arch-project-select{color:#7d99a8;text-transform:uppercase;letter-spacing:.1em;gap:10px;margin-bottom:22px;font:10px ui-monospace,monospace;display:grid}.arch-project-select select{color:#1b303d;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;text-transform:none;letter-spacing:normal;background:#f4f7f8;border:1px solid #dce5e8;border-radius:9px;width:100%;min-width:0;min-height:48px;padding:0 12px;font:16px system-ui,sans-serif}.arch-workbench{border-radius:12px}.arch-toolbar{padding:8px;display:block}.arch-tabs{justify-content:space-between;gap:3px}.arch-tabs button{flex:1;gap:6px;padding:0 8px;font-size:11px}.arch-zoom,.arch-map-scroll,.arch-inspector{display:none}.arch-map-caption{padding:20px 16px 8px;font-size:8px}.arch-mobile-nodes{background-image:radial-gradient(circle,#638a9b20 .8px,#0000 .8px);background-size:16px 16px;gap:10px;padding:14px 14px 20px;display:grid}.arch-mobile-item{background:#121c28;border:1px solid #263746;border-radius:10px;min-width:0}.arch-mobile-item.is-selected{color:#1b303d;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:#f4f7f8;border-color:#c7d9d2}.arch-mobile-item.is-selected>button{color:#1b303d}.arch-mobile-item.is-selected>button>svg{color:#35699a}.arch-mobile-item.is-selected .arch-mobile-number,.arch-mobile-item.is-selected small{color:#526975}.arch-mobile-item>button{text-align:left;color:#d8e5ec;background:0 0;border:0;border-radius:10px;align-items:center;gap:10px;width:100%;min-height:88px;padding:15px 12px;display:flex}.arch-mobile-item>button>svg{color:var(--node-accent);flex-shrink:0}.arch-mobile-item>button>svg:last-child{width:13px;margin-left:auto}.arch-mobile-item.is-selected>button>svg:last-child{transform:rotate(45deg)}.arch-mobile-item>button>span:nth-last-child(2){min-width:0}.arch-mobile-number{color:#576f83;font:9px ui-monospace,monospace}.arch-mobile-item strong{font-size:13px;font-weight:550;line-height:1.5;display:block}.arch-mobile-item small{color:#7d9db3;margin-top:4px;font:9px/1.7 ui-monospace,monospace;display:block}.arch-mobile-detail{overflow-wrap:anywhere;padding:0 16px 20px}.arch-mobile-detail .arch-detail-icon,.arch-mobile-detail .arch-eyebrow,.arch-mobile-detail h3,.arch-mobile-detail .arch-detail-tech{display:none}.arch-mobile-detail .arch-detail-description{font-size:13px;line-height:1.9}.arch-mobile-detail .arch-contract{gap:16px;margin-top:18px;padding-top:18px}.arch-mobile-detail .arch-contract dd,.arch-mobile-detail .arch-safeguard p{font-size:12px}.arch-mobile-detail .arch-safeguard{margin-top:18px}.arch-mobile-connections{border-top:1px solid #d7e1e5;margin-top:22px;padding-top:18px}.arch-mobile-connections h4{color:#293f4c;text-transform:uppercase;letter-spacing:.1em;margin-bottom:12px;font:9px ui-monospace,monospace}.arch-mobile-connections p{color:#28644f;flex-wrap:wrap;align-items:center;gap:5px;margin-top:8px;font-size:10px;line-height:1.8;display:flex}.arch-mobile-connections p span{color:#526975;flex-basis:100%;font:9px ui-monospace,monospace;display:block}.arch-legend{gap:12px;padding:16px;font-size:9px}.arch-legend-control{display:none!important}.arch-flow-controls{gap:14px;padding:20px 16px}.arch-flow-heading{display:block}.arch-flow-index{margin-bottom:14px;display:block}.arch-flow-heading p{font-size:12px}.arch-playback{width:100%}.arch-playback .arch-play{flex:1}.arch-step-dots{gap:8px}.arch-step-dots button{flex:1;min-height:44px}.arch-flow-note{font-size:8px}.arch-reliability-intro{padding:20px 16px}.arch-reliability-intro>svg{flex-shrink:0}.arch-design-notes{grid-template-columns:minmax(0,1fr);gap:28px;margin:36px 0}.arch-design-notes h2{font-size:25px}.arch-footer{padding-bottom:max(24px, env(safe-area-inset-bottom));font-size:10px}.arch-footer>span>span{display:none}}@media (max-width:359px){.arch-shell{padding-left:12px;padding-right:12px}.arch-tabs button{font-size:10px}.arch-tabs button>svg{display:none}.arch-mobile-nodes{padding-left:10px;padding-right:10px}.arch-mobile-number{display:none}.arch-page-intro h1{font-size:31px}}@media (prefers-reduced-motion:reduce){.arch-map.is-playing .arch-edge.is-active path{animation:none}}
