.arch-diagram{width:100%;max-width:860px;margin:0 auto}.arch-diagram svg{width:100%;height:auto;display:block}.arch-edge{fill:none;stroke:#8ca0d273;stroke-width:1.5;transition:stroke .25s ease,stroke-width .25s ease,opacity .25s ease}[data-theme=light] .arch-edge{stroke:#3c508266}.arch-edge-active{stroke:#61dafbe6;stroke-width:2.5}[data-theme=light] .arch-edge-active{stroke:#0b6e99e6}.arch-edge-auth{stroke:#3b8eea80;stroke-dasharray:6 5}[data-theme=light] .arch-edge-auth{stroke:#0b5ab473}.arch-edge-auth.arch-edge-active{stroke:#3b8eeaf2;stroke-width:2.5}.arch-edge-dimmed{opacity:.35}.arch-legend{display:flex;justify-content:center;gap:1.5em;margin:.25em 0 .5em;font-family:var(--font-monospace);font-size:.75rem;opacity:.75}.arch-legend-item{display:inline-flex;align-items:center;gap:.5em;white-space:nowrap}@media(max-width:768px){.arch-legend{font-size:.65rem;gap:1em}.arch-legend-item svg{width:20px}}.arch-legend-line-data{stroke:#8ca0d2e6;stroke-width:2}.arch-legend-line-auth{stroke:#3b8eeae6;stroke-width:2;stroke-dasharray:6 5}[data-theme=light] .arch-legend-line-data{stroke:#3c5082cc}.arch-packet{pointer-events:none;filter:drop-shadow(0 0 3px currentColor)}.arch-packet-dim{opacity:.3;filter:none;transition:opacity .25s ease}.arch-key{pointer-events:none;stroke:#3b8eea;fill:none;stroke-width:1.4;stroke-linecap:round;filter:drop-shadow(0 0 2px rgba(59,142,234,.8))}[data-theme=light] .arch-key{stroke:#0b5ab4}.arch-key.arch-packet-dim{filter:none;opacity:.3}.arch-node{cursor:pointer;outline:none}.arch-node rect{fill:var(--header-bg-color);stroke:var(--node-color, #61dafb);stroke-width:1.5;transition:stroke-width .2s ease,filter .2s ease}.arch-node text{fill:var(--text-color-light);font-family:var(--font-monospace);pointer-events:none;-webkit-user-select:none;user-select:none}.arch-node:hover rect,.arch-node:focus-visible rect,.arch-node-active rect{stroke-width:3;filter:drop-shadow(0 0 8px var(--node-color, #61dafb))}.arch-info{min-height:6.5em;margin-top:.5em;padding:1em 1.25em;border-radius:.6em;border:1px solid rgba(128,128,128,.4);background:#80808014;text-align:left;display:flex;flex-direction:column;gap:.4em}.arch-info-hint{opacity:.7;font-style:italic}.arch-info-tags{display:flex;flex-wrap:wrap;gap:.35em;margin-top:.25em}
