.hg-arch{--bg: var(--hg-bg);--panel: var(--hg-card-bg);--panel-2: var(--hg-cta-bg);--line: var(--hg-line);--text: var(--hg-muted);--text-dim: var(--hg-dim);--heading: var(--hg-fg);--accent: var(--hg-accent);--link: var(--hg-accent);--code-bg: var(--hg-terminal-bg);--arrow: var(--hg-dim);--trust: #3fb950;--trust-bg: rgba(63, 185, 80, .1);--untrust: #f85149;--untrust-bg: rgba(248, 81, 73, .1);--bridge: #d29922;--bridge-bg: rgba(210, 153, 34, .1);--crypto: #a371f7;--crypto-bg: rgba(163, 113, 247, .1);color:var(--hg-muted);font-family:var(--hg-font-body);font-size:.9375rem;line-height:1.65;counter-reset:figure}.hg-arch a{color:var(--hg-accent);text-decoration:none;border-bottom:1px solid color-mix(in oklch,var(--hg-accent) 45%,transparent)}.hg-arch a:hover{border-bottom-color:var(--hg-accent)}.hg-arch h2{color:var(--hg-fg);font-weight:500;font-size:var(--text-lg);letter-spacing:0;margin:56px 0 16px;padding-top:24px;border-top:1px solid var(--hg-line)}.hg-arch>section:first-of-type h2{margin-top:8px;padding-top:0;border-top:0}.hg-arch h3{color:var(--hg-fg);font-weight:600;font-size:var(--text-md);margin:28px 0 10px}.hg-arch h4{color:var(--hg-accent);font-family:var(--hg-font-mono);font-weight:600;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;margin:18px 0 8px}.hg-arch p{color:var(--hg-muted);line-height:1.7;margin:12px 0 0}.hg-arch section{margin-bottom:12px;scroll-margin-top:24px}.hg-arch-nav{font-family:var(--hg-font-mono);font-size:12px;line-height:1.5}.hg-arch-nav-label{color:var(--hg-dim);font-size:11px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:14px;padding-left:8px}.hg-arch-nav ol{list-style:none;margin:0;padding:0;counter-reset:nav;max-height:calc(100vh - 96px);overflow-y:auto}.hg-arch-nav li{counter-increment:nav}.hg-arch-nav a{display:block;padding:5px 8px;color:var(--hg-muted);text-decoration:none;border-left:2px solid transparent;border-radius:0 4px 4px 0}.hg-arch-nav a:before{content:counter(nav) ".  ";color:var(--hg-dim)}.hg-arch-nav a:hover{background:var(--hg-card-bg);color:var(--hg-fg)}.hg-arch-nav a.is-active{color:var(--hg-accent);border-left-color:var(--hg-accent);background:color-mix(in oklch,var(--hg-accent) 6%,transparent)}@media(max-width:1080px){.hg-arch-nav ol{max-height:none;overflow:visible}}.hg-arch ul,.hg-arch ol{color:var(--hg-muted);line-height:1.8;padding-left:22px;margin:12px 0 0}.hg-arch ul.tight,.hg-arch ol.tight{margin:6px 0}.hg-arch ul.tight li,.hg-arch ol.tight li{margin:3px 0}.hg-arch strong{color:var(--hg-fg)}.hg-arch code,.hg-arch pre,.hg-arch .mono{font-family:var(--hg-font-mono)}.hg-arch pre{background:var(--hg-terminal-bg);border:1px solid var(--hg-line);border-radius:var(--radius-card);padding:14px 16px;margin:12px 0;overflow-x:auto;color:var(--hg-fg);line-height:1.5;font-size:.78rem}.hg-arch code:not(pre code){background:var(--hg-cta-bg);border:1px solid var(--hg-line);border-radius:4px;padding:1px 6px;color:var(--hg-fg);font-size:.85em}.hg-arch .panel{background:var(--hg-card-bg);border:1px solid var(--hg-line);border-radius:var(--radius-card);padding:18px 22px;margin:14px 0}.hg-arch .panel.tight{padding:12px 16px}.hg-arch .legend{display:flex;flex-wrap:wrap;gap:14px;font-family:var(--hg-font-mono);font-size:var(--text-xs);color:var(--hg-dim);margin:0 0 8px}.hg-arch .legend .swatch{display:inline-flex;align-items:center;gap:6px}.hg-arch .legend .swatch i{width:12px;height:12px;border-radius:3px;border:1px solid;display:inline-block}.hg-arch .legend .sw-trust i{background:var(--trust-bg);border-color:var(--trust)}.hg-arch .legend .sw-untrust i{background:var(--untrust-bg);border-color:var(--untrust);border-style:dashed}.hg-arch .legend .sw-bridge i{background:var(--bridge-bg);border-color:var(--bridge);border-style:dotted}.hg-arch .legend .sw-crypto i{background:var(--crypto-bg);border-color:var(--crypto);border-style:double;border-width:3px}.hg-arch .hg-arch-tw{overflow-x:auto;margin:14px 0}.hg-arch table{width:100%;border-collapse:collapse;font-size:.84rem}.hg-arch th,.hg-arch td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--hg-line);vertical-align:top}.hg-arch th{color:var(--hg-accent);font-weight:600;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em;background:var(--hg-stripe-bg)}.hg-arch td{color:var(--hg-muted)}.hg-arch tr:hover td{background:color-mix(in oklch,var(--hg-accent) 5%,transparent)}.hg-arch td.mono{font-family:var(--hg-font-mono);font-size:.78rem}.hg-arch td.center{text-align:center}.hg-arch .yes{color:var(--trust);font-weight:600}.hg-arch .no{color:var(--untrust);font-weight:600}.hg-arch .maybe{color:var(--bridge);font-weight:600}.hg-arch .figure{background:var(--hg-card-bg);border:1px solid var(--hg-line);border-radius:var(--radius-card);padding:18px;margin:18px 0;overflow-x:auto;counter-increment:figure}.hg-arch .figure .caption{color:var(--hg-dim);font-size:.78rem;margin-top:8px;font-style:italic}.hg-arch .figure .caption:before{content:"Figure " counter(figure) ". "}.hg-arch svg a{text-decoration:none;cursor:pointer;border-bottom:0}.hg-arch svg a:hover rect,.hg-arch svg a:focus-visible rect{stroke-width:2.4}.hg-arch .figure svg{display:block;margin:0 auto;max-width:100%;height:auto;min-width:720px}.hg-arch .grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.hg-arch .grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px}.hg-arch .callout{border-left:3px solid var(--hg-accent);padding:10px 14px;background:var(--hg-card-bg);border-radius:0 6px 6px 0;margin:14px 0}.hg-arch .callout.warn{border-left-color:var(--hg-warn)}.hg-arch .callout.ok{border-left-color:var(--trust)}.hg-arch .callout strong{color:var(--hg-fg)}.hg-arch .badge{display:inline-block;padding:1px 8px;font-size:.6875rem;border-radius:10px;border:1px solid;margin-right:4px;vertical-align:middle;font-weight:500}.hg-arch .badge.trust{color:var(--trust);border-color:var(--trust);background:var(--trust-bg)}.hg-arch .badge.untrust{color:var(--untrust);border-color:var(--untrust);background:var(--untrust-bg)}.hg-arch .badge.bridge{color:var(--bridge);border-color:var(--bridge);background:var(--bridge-bg)}.hg-arch .badge.crypto{color:var(--crypto);border-color:var(--crypto);background:var(--crypto-bg)}.hg-arch svg text{font-family:Inter,-apple-system,SF Pro Text,Segoe UI,system-ui,sans-serif;fill:var(--text)}.hg-arch svg .label{font-size:12px;font-weight:500}.hg-arch svg .sub{font-size:10.5px;fill:var(--text-dim)}.hg-arch svg .tiny{font-size:9.5px;fill:var(--text-dim)}.hg-arch svg .head{font-size:13px;font-weight:600;fill:var(--heading)}.hg-arch svg .arrow{stroke:var(--arrow);stroke-width:1.5;fill:none;marker-end:url(#arrowhead)}.hg-arch svg .arrow.dashed{stroke-dasharray:4 4}.hg-arch svg .arrow.thick{stroke-width:2.2}.hg-arch svg .arrow.crypto{stroke:var(--crypto)}.hg-arch svg .arrow.trust{stroke:var(--trust)}.hg-arch svg .arrow.untrust{stroke:var(--untrust)}.hg-arch svg rect.trust{fill:var(--trust-bg);stroke:var(--trust);stroke-width:1.4}.hg-arch svg rect.untrust{fill:var(--untrust-bg);stroke:var(--untrust);stroke-width:1.4;stroke-dasharray:7 3}.hg-arch svg rect.bridge{fill:var(--bridge-bg);stroke:var(--bridge);stroke-width:1.4;stroke-dasharray:2 3}.hg-arch svg rect.crypto{fill:var(--crypto-bg);stroke:var(--crypto);stroke-width:1.4;stroke-dasharray:9 3 2 3}.hg-arch svg rect.neutral{fill:var(--panel-2);stroke:var(--line);stroke-width:1}.hg-arch svg rect.outer{fill:none;stroke:var(--line);stroke-width:1;stroke-dasharray:5 5}@media(max-width:760px){.hg-arch .grid-2,.hg-arch .grid-3{grid-template-columns:1fr}}
