:root{--navy:#12204f;--blue:#2452e8;--bg:#f2f4f8;--bd:#dfe3ec;--tx:#1c2430;--mu:#6b7280;--gr:#16a34a;--pu:#7c3aed;--am:#d97706}
*{box-sizing:border-box}[hidden]{display:none!important}
body{margin:0;font-family:-apple-system,"Segoe UI",Roboto,Arial,sans-serif;background:var(--bg);color:var(--tx)}
.in{max-width:1180px;margin:0 auto;padding:0 24px}
.top{background:linear-gradient(90deg,#12204f,#0c1836);color:#fff;padding:18px 0}
.top h1{margin:0;font-size:22px}.top p{margin:2px 0 0;font-size:13px;color:#b9c2e0}
.tabs{background:#fff;border-bottom:1px solid var(--bd)}.tabs .in{display:flex;gap:4px;overflow-x:auto}
.tab{background:none;border:0;padding:14px 18px;font-size:14px;font-weight:600;color:var(--mu);cursor:pointer;border-bottom:3px solid transparent;white-space:nowrap}
.tab[aria-selected=true]{color:var(--blue);border-color:var(--blue)}
:focus-visible{outline:3px solid var(--blue);outline-offset:2px}
main{margin-top:24px;margin-bottom:60px}
.card{background:#fff;border:1px solid var(--bd);border-radius:10px;padding:22px;margin-bottom:22px;box-shadow:0 1px 3px rgba(15,23,42,.06)}
h2{margin:0 0 6px;font-size:18px;color:var(--navy)}h3{margin:20px 0 8px;font-size:14px;color:var(--navy)}
.sub{color:var(--mu);font-size:13.5px;margin:4px 0 14px}
.tw{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:13px}
th,td{text-align:left;padding:6px 10px;border-bottom:1px solid var(--bd);vertical-align:top}th{background:#f8fafc;color:var(--navy);white-space:nowrap}
td:first-child{font-weight:600;white-space:nowrap}
pre{margin:0;padding:12px 14px;background:#0f172a;color:#e2e8f0;border-radius:8px;overflow-x:auto;font-size:12.5px;line-height:1.5}
pre.out{background:#f8fafc;color:var(--tx);border:1px solid var(--bd)}.lbl{font-size:12px;color:var(--mu);margin:8px 0 4px}
.diagram{border:1px solid var(--bd);border-radius:10px;background:#fff;overflow-x:auto}svg{display:block;min-width:900px;width:100%;height:auto}
.zone{fill:#fafbfd;stroke:var(--bd);stroke-dasharray:5 4;stroke-width:1.5}.zt{fill:var(--mu);font-size:12px;font-weight:600}
.nr{fill:#fff;stroke:var(--navy);stroke-width:1.2}.nr.new{stroke:var(--pu);fill:#f5f3ff}.node{cursor:pointer}.node:hover .nr{stroke-width:2.6}
.nt{fill:var(--navy);font-size:13px;font-weight:650}.ns{fill:var(--mu);font-size:10.5px}
.e{fill:none;stroke:var(--blue);stroke-width:1.8}.e.cdc{stroke:var(--am)}.e.llm{stroke:var(--pu)}.b{fill:#fff;stroke:var(--navy)}.bt{fill:var(--navy);font-size:10px;font-weight:700;text-anchor:middle}
svg.hl .e,svg.hl .bg{opacity:.12}svg.hl .on{opacity:1}
.detail{margin-top:12px;padding:10px 14px;border-left:4px solid var(--blue);background:#f8fafc;font-size:13.5px}
ol.fl{padding-left:22px}ol.fl li{margin:4px 0;font-size:13.5px;padding:2px 6px;border-radius:4px}ol.fl li.on{background:#eef2ff}