.arch-diagram:where(.astro-3wfwtvtg){position:relative;display:flex;flex-direction:column;gap:0;margin:2rem 0 2.5rem;font-family:var(--sl-font);container-type:inline-size}.arch-cap:where(.astro-3wfwtvtg){display:flex;align-items:center;gap:.75rem;padding:.6rem 1rem;background:var(--sl-color-gray-6);border:1px solid var(--sl-color-gray-4)}.arch-cap--top:where(.astro-3wfwtvtg){border-radius:10px 10px 0 0;border-bottom:none}.arch-cap--bottom:where(.astro-3wfwtvtg){border-radius:0 0 10px 10px;border-top:none;background:color-mix(in srgb,var(--sl-color-accent) 8%,var(--sl-color-gray-6))}.arch-cap-label:where(.astro-3wfwtvtg){font-weight:700;font-size:.85rem;color:var(--sl-color-white)}.arch-cap-sub:where(.astro-3wfwtvtg){font-size:.75rem;color:var(--sl-color-gray-2);font-style:italic}.arch-cap:where(.astro-3wfwtvtg),.arch-layer:where(.astro-3wfwtvtg){margin:0}.arch-layer:where(.astro-3wfwtvtg){display:grid;grid-template-columns:10rem 1fr;align-items:start;gap:0;border-left:1px solid var(--sl-color-gray-4);border-right:1px solid var(--sl-color-gray-4);border-bottom:1px solid var(--sl-color-gray-4)}.arch-layer-header:where(.astro-3wfwtvtg){display:flex;flex-direction:column;justify-content:center;gap:.2rem;padding:.65rem .85rem;border-right:1px solid var(--sl-color-gray-4);min-height:100%}.arch-layer-name:where(.astro-3wfwtvtg){font-weight:700;font-size:.78rem;letter-spacing:.02em}.arch-layer-sub:where(.astro-3wfwtvtg){font-size:.68rem;opacity:.7;font-style:italic}.arch-chips:where(.astro-3wfwtvtg){display:flex;flex-wrap:wrap;gap:.4rem;padding:.6rem .75rem;align-content:flex-start}.arch-chip:where(.astro-3wfwtvtg){display:inline-flex;align-items:center;padding:.2rem .6rem;border-radius:4px;font-size:.75rem;font-weight:600;font-family:var(--sl-font-mono);text-decoration:none;border:1px solid transparent;transition:transform 80ms ease,box-shadow 80ms ease,border-color 80ms ease;cursor:pointer;white-space:nowrap}.arch-chip:where(.astro-3wfwtvtg):hover,.arch-chip:where(.astro-3wfwtvtg):focus-visible{transform:translateY(-1px);box-shadow:0 3px 8px #00000040;outline:none}.arch-layer:where(.astro-3wfwtvtg){background:color-mix(in srgb,var(--lc) 5%,var(--sl-color-bg))}.arch-layer:where(.astro-3wfwtvtg) .arch-layer-header:where(.astro-3wfwtvtg){background:color-mix(in srgb,var(--lc) 11%,var(--sl-color-bg))}.arch-layer:where(.astro-3wfwtvtg) .arch-layer-name:where(.astro-3wfwtvtg){color:var(--lt)}.arch-layer:where(.astro-3wfwtvtg) .arch-layer-sub:where(.astro-3wfwtvtg){color:var(--lt)}.arch-layer:where(.astro-3wfwtvtg) .arch-chip:where(.astro-3wfwtvtg){background:color-mix(in srgb,var(--lc) 14%,var(--sl-color-bg));color:var(--lt);border-color:color-mix(in srgb,var(--lc) 30%,transparent)}.arch-layer:where(.astro-3wfwtvtg) .arch-chip:where(.astro-3wfwtvtg):hover,.arch-layer:where(.astro-3wfwtvtg) .arch-chip:where(.astro-3wfwtvtg):focus-visible{background:color-mix(in srgb,var(--lc) 24%,var(--sl-color-bg));border-color:var(--lc)}.arch-layer--ai:where(.astro-3wfwtvtg){--lc: #f59e0b;--lt: #b45309}.arch-layer--business:where(.astro-3wfwtvtg){--lc: #e879f9;--lt: #c026d3}.arch-layer--api:where(.astro-3wfwtvtg){--lc: #ec4899;--lt: #db2777}.arch-layer--infra:where(.astro-3wfwtvtg){--lc: #7c3aed;--lt: #6d28d9}.arch-layer--security:where(.astro-3wfwtvtg){--lc: #6366f1;--lt: #4f46e5}.arch-layer--data:where(.astro-3wfwtvtg){--lc: #3b82f6;--lt: #2563eb}.arch-layer--core:where(.astro-3wfwtvtg){--lc: #0ea5e9;--lt: #0284c7}.arch-tooltip:where(.astro-3wfwtvtg){position:fixed;z-index:1000;max-width:260px;padding:.5rem .7rem;background:var(--sl-color-black);border:1px solid var(--sl-color-gray-4);border-radius:6px;box-shadow:0 4px 16px #0006;pointer-events:none;opacity:0;transition:opacity .12s ease;font-size:.78rem;line-height:1.4}.arch-tooltip:where(.astro-3wfwtvtg).is-visible{opacity:1}.arch-tooltip-pkg:where(.astro-3wfwtvtg){font-family:var(--sl-font-mono);font-size:.7rem;color:var(--sl-color-gray-2);margin-bottom:.2rem}.arch-tooltip-tip:where(.astro-3wfwtvtg){color:var(--sl-color-white)}@container (max-width: 540px){.arch-layer:where(.astro-3wfwtvtg){grid-template-columns:1fr}.arch-layer-header:where(.astro-3wfwtvtg){border-right:none;border-bottom:1px solid var(--sl-color-gray-4);flex-direction:row;gap:.5rem}}
