pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{color:#abb2bf;background:#282c34}.hljs-comment,.hljs-quote{color:#5c6370;font-style:italic}.hljs-doctag,.hljs-formula,.hljs-keyword{color:#c678dd}.hljs-deletion,.hljs-name,.hljs-section,.hljs-selector-tag,.hljs-subst{color:#e06c75}.hljs-literal{color:#56b6c2}.hljs-addition,.hljs-attribute,.hljs-meta .hljs-string,.hljs-regexp,.hljs-string{color:#98c379}.hljs-attr,.hljs-number,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-pseudo,.hljs-template-variable,.hljs-type,.hljs-variable{color:#d19a66}.hljs-bullet,.hljs-link,.hljs-meta,.hljs-selector-id,.hljs-symbol,.hljs-title{color:#61aeee}.hljs-built_in,.hljs-class .hljs-title,.hljs-title.class_{color:#e6c07b}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}.hljs-link{text-decoration:underline}.architecture-diagram_root__eNFGF{--bg:#fff;--surface:#fff;--ink:#111827;--muted:#4b5563;--line:#e5e7eb;--c-client:#1d4ed8;--c-edge:#475569;--c-api:#0f766e;--c-data:#133e87;--c-shared:#b45309;--mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;overflow-x:auto;color:var(--ink);line-height:1.5}.architecture-diagram_diagram__ZUYv9{display:grid;grid-template-columns:150px minmax(0,1fr) 44px 200px;padding:16px;position:relative}.architecture-diagram_tier___BKQC{grid-column:1/3;display:flex;position:relative;z-index:1;overflow:hidden;border:1px solid color-mix(in srgb,var(--tc) 38%,var(--line));background:color-mix(in srgb,var(--tc) 6%,var(--surface));border-radius:14px}.architecture-diagram_t-client__SUv7J{--tc:var(--c-client)}.architecture-diagram_t-edge__cF8l5{--tc:var(--c-edge)}.architecture-diagram_t-api__OC7Qn{--tc:var(--c-api)}.architecture-diagram_t-data__GNdDm{--tc:var(--c-data)}.architecture-diagram_rail__qQcNP{flex:0 0 150px;padding:16px 14px;background:color-mix(in srgb,var(--tc) 15%,var(--surface));border-right:1px solid color-mix(in srgb,var(--tc) 30%,var(--line));display:flex;flex-direction:column;gap:8px;align-content:start}.architecture-diagram_rail__qQcNP h2{margin:0;font-size:14.5px;line-height:1.25;color:var(--tc)}.architecture-diagram_rail__qQcNP .architecture-diagram_path__tTGKw{font-family:var(--mono);font-size:11.5px;color:var(--muted);word-break:break-word}.architecture-diagram_tag__m6_m2{align-self:flex-start;font-family:var(--mono);font-size:10.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--tc);border:1px solid color-mix(in srgb,var(--tc) 50%,transparent);border-radius:999px;padding:2px 8px;background:var(--surface)}.architecture-diagram_body__HusVT{flex:1;min-width:0;padding:16px 18px;display:flex;flex-direction:column;gap:16px}.architecture-diagram_sub___CpQo{margin:0 0 8px;font-family:var(--mono);font-size:10.5px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}.architecture-diagram_chips__6Uock{display:flex;flex-wrap:wrap;gap:8px}.architecture-diagram_chip__1acwR{display:inline-flex;align-items:center;gap:8px;padding:6px 11px 6px 8px;background:var(--surface);border:1px solid var(--line);border-radius:9px;font-size:13px;font-weight:600;white-space:nowrap}.architecture-diagram_chip__1acwR svg{width:20px;height:20px;flex:none;fill:var(--ic,var(--ink))}.architecture-diagram_chip__1acwR small{font-family:var(--mono);font-size:11px;font-weight:500;color:var(--muted)}.architecture-diagram_chip__1acwR.architecture-diagram_plain__btTyF{padding-left:11px;font-family:var(--mono);font-size:12px}.architecture-diagram_facts__Pj_Dr{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:6px 24px;font-size:13px;color:var(--muted)}.architecture-diagram_facts__Pj_Dr li{overflow-wrap:anywhere;position:relative;padding-left:14px}.architecture-diagram_facts__Pj_Dr li:before{content:"";position:absolute;left:0;top:.6em;width:6px;height:6px;border-radius:2px;background:var(--tc)}.architecture-diagram_facts__Pj_Dr b{color:var(--ink);font-weight:600}.architecture-diagram_root__eNFGF code{font-family:var(--mono);font-size:.92em;overflow-wrap:anywhere}.architecture-diagram_flow__8F6FZ{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin:0;padding:0;list-style:none;counter-reset:s}.architecture-diagram_step__dRkEK{counter-increment:s;position:relative;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:10px 12px 10px 38px;font-size:12.5px;min-width:0}.architecture-diagram_step__dRkEK:before{content:counter(s);position:absolute;left:10px;top:10px;width:20px;height:20px;border-radius:50%;background:var(--tc);color:var(--surface);font:700 11px/20px var(--mono);text-align:center}.architecture-diagram_step__dRkEK b{display:block;font-size:13px}.architecture-diagram_step__dRkEK span{color:var(--muted)}.architecture-diagram_cards__np_Pe{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:8px}.architecture-diagram_card__0q1FF{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:10px 12px;min-width:0}.architecture-diagram_card__0q1FF b{font-size:13px}.architecture-diagram_card__0q1FF p{margin:3px 0 0;font-size:12.5px;color:var(--muted)}.architecture-diagram_card__0q1FF.architecture-diagram_hub__X_QGP{border-color:var(--tc);background:color-mix(in srgb,var(--tc) 10%,var(--surface))}.architecture-diagram_mods__uL_RK{display:grid;grid-template-columns:repeat(auto-fit,minmax(195px,1fr));gap:8px}.architecture-diagram_mod__FHzUP{border:1px dashed color-mix(in srgb,var(--tc) 45%,var(--line));background:color-mix(in srgb,var(--tc) 8%,var(--surface));border-radius:10px;padding:10px 12px;min-width:0}.architecture-diagram_mod__FHzUP b{font-size:13px;display:block;margin-bottom:4px}.architecture-diagram_mod__FHzUP code{display:block;font-size:11.5px;color:var(--muted);overflow-wrap:anywhere}.architecture-diagram_stats__1c3oS{display:flex;flex-wrap:wrap;gap:8px}.architecture-diagram_stat__ImCZf{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:8px 14px;min-width:96px}.architecture-diagram_stat__ImCZf strong{display:block;font-size:24px;line-height:1.1;color:var(--tc);font-variant-numeric:tabular-nums}.architecture-diagram_stat__ImCZf span{font-size:12px;color:var(--muted)}.architecture-diagram_conn__VZAJe{grid-column:1/3;margin-left:150px;position:relative;display:flex;justify-content:center;align-items:center;min-height:50px;padding:8px 0;z-index:1}.architecture-diagram_conn__VZAJe:before{content:"";position:absolute;left:50%;top:0;bottom:0;border-left:2px solid var(--muted);opacity:.55}.architecture-diagram_conn__VZAJe:after{content:"";position:absolute;left:calc(50% - 5px);bottom:-1px;border:6px solid transparent;border-top:8px solid var(--muted);border-bottom:0;opacity:.8}.architecture-diagram_conn__VZAJe.architecture-diagram_r2__432mg{padding-bottom:30px;min-height:76px}.architecture-diagram_conn__VZAJe .architecture-diagram_up__bjH_Z{position:absolute;left:calc(50% - 5px);top:-1px;border:6px solid transparent;border-bottom:8px solid var(--muted);border-top:0;opacity:.8}.architecture-diagram_pill__Ecmf1{position:relative;background:var(--bg);border:1px solid var(--line);border-radius:999px;padding:4px 14px;font-size:12px;color:var(--muted);text-align:center;max-width:100%}.architecture-diagram_pill__Ecmf1 b{color:var(--ink);font-weight:600}.architecture-diagram_pillar__4FW3D{grid-column:4;grid-row:1/6;position:relative;z-index:1;--tc:var(--c-shared);display:flex;flex-direction:column;gap:14px;padding:16px 16px 18px;border:1px solid color-mix(in srgb,var(--tc) 55%,var(--line));background:color-mix(in srgb,var(--tc) 9%,var(--surface));border-radius:14px}.architecture-diagram_pillar__4FW3D h2{margin:0;font-size:14.5px;color:var(--tc)}.architecture-diagram_pillar__4FW3D .architecture-diagram_path__tTGKw{font-family:var(--mono);font-size:11.5px;color:var(--muted)}.architecture-diagram_pillar__4FW3D .architecture-diagram_facts__Pj_Dr{grid-template-columns:1fr}.architecture-diagram_tie__yXtT8{grid-column:3;align-self:start;margin-top:30px;position:relative;height:2px;z-index:1;background:repeating-linear-gradient(90deg,var(--c-shared) 0 6px,transparent 6px 10px)}.architecture-diagram_tie__yXtT8:before{content:"";position:absolute;left:-2px;top:-4px;width:10px;height:10px;border-radius:50%;background:var(--c-shared)}.architecture-diagram_tie__yXtT8:after{content:"";position:absolute;right:0;top:-4px;border:5px solid transparent;border-left:7px solid var(--c-shared);border-right:0}.architecture-diagram_tie__yXtT8 span{position:absolute;left:50%;top:-20px;transform:translateX(-50%);font:600 10.5px var(--mono);color:var(--c-shared)}.architecture-diagram_frame__3ne42{grid-column:1/3;grid-row:3/10;margin:-12px;position:relative;z-index:0;pointer-events:none;border:2px dashed color-mix(in srgb,var(--muted) 60%,transparent);border-radius:22px}.architecture-diagram_frame__3ne42 span{position:absolute;top:-12px;left:24px;background:var(--bg);padding:2px 12px;font:600 11px var(--mono);letter-spacing:.05em;text-transform:uppercase;color:var(--muted);border-radius:999px}.architecture-diagram_dev__XXmPX{grid-column:1/-1;grid-row:11;margin-top:32px;position:relative;z-index:1;border:1px solid var(--line);background:var(--surface);border-radius:14px;display:flex;overflow:hidden;--tc:var(--muted)}.architecture-diagram_dev__XXmPX .architecture-diagram_rail__qQcNP{background:color-mix(in srgb,var(--muted) 10%,var(--surface));border-right:1px solid var(--line)}.architecture-diagram_dev__XXmPX .architecture-diagram_rail__qQcNP h2{color:var(--ink)}.architecture-diagram_r1__Qv2Ss{grid-row:1}.architecture-diagram_r2__432mg{grid-row:2}.architecture-diagram_r3__YauJp{grid-row:3}.architecture-diagram_r4__fy4An{grid-row:4}.architecture-diagram_r5__s6Ar9{grid-row:5}.architecture-diagram_r6___JxOu{grid-row:6}.architecture-diagram_r7___F6nf{grid-row:7}.architecture-diagram_r8__u0v0T{grid-row:8}.architecture-diagram_r9__D8auU{grid-row:9}@media (max-width:980px){.architecture-diagram_diagram__ZUYv9{display:flex;flex-direction:column;gap:10px;padding:0}.architecture-diagram_frame__3ne42,.architecture-diagram_tie__yXtT8{display:none}.architecture-diagram_dev__XXmPX,.architecture-diagram_tier___BKQC{flex-direction:column}.architecture-diagram_rail__qQcNP{flex:none;border-right:0;border-bottom:1px solid color-mix(in srgb,var(--tc) 30%,var(--line));flex-direction:row;flex-wrap:wrap;align-items:center;gap:4px 12px}.architecture-diagram_conn__VZAJe{margin-left:0;min-height:44px}.architecture-diagram_conn__VZAJe.architecture-diagram_r2__432mg{padding-bottom:8px;min-height:60px}.architecture-diagram_dev__XXmPX{margin-top:14px}.architecture-diagram_dev__XXmPX .architecture-diagram_rail__qQcNP{border-bottom:1px solid var(--line)}}@media (max-width:520px){.architecture-diagram_body__HusVT{padding:14px}.architecture-diagram_chip__1acwR{white-space:normal}}.architecture-diagram_pillar__4FW3D{min-width:0;overflow-wrap:anywhere}