.arch-diagram-root{--dy:#fc0;--dy-l:#ffcc0014;--dy-h:#ffcc004d;--dr:#d40511;--dr-h:#b8040e;--dr-l:#d405110f;--dr-10:#d405111a;--dk:#1a1a1a;--ch:#3d3d3a;--ch-l:#f5f4f2;--ch-m:#3d3d3a1f;--gr:#2d8a2d;--gr-l:#2d8a2d12;--am:#a07800;--se:#555550;--tx:#1a1a1a;--tx2:#666;--tx3:#999;--g50:#f7f6f3;--g100:#f1f0ec;--g200:#e2e0da;--r-sm:6px;--r-md:10px;--r-lg:14px;--bd:#00000012;--sf:#ffffffd1;--sf-s:#fffffff2;--sh-sm:0 1px 3px #0000000a, 0 1px 2px #00000008;--sh-md:0 4px 16px #0000000f, 0 1px 3px #0000000a;--sh-lg:0 12px 40px #0000001a, 0 4px 12px #0000000d;font-size:9px;line-height:1.35}.arch-diagram-root *{box-sizing:border-box}.arch-diagram-root .dhl-hint{color:var(--tx2);background:var(--sf-s);border:1px solid var(--bd);border-radius:var(--r-md);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);margin-bottom:14px;padding:5px 10px;font-size:7.5px;line-height:1.5}.arch-diagram-root .outer{grid-template-columns:124px 28px 1fr;align-items:stretch;gap:0;display:grid}.arch-diagram-root .ext{border:1px solid var(--bd);border-radius:var(--r-lg);background:var(--sf-s);box-shadow:var(--sh-sm);flex-direction:column;display:flex;overflow:hidden}.arch-diagram-root .ext-h{border-bottom:1px solid var(--bd);background:#00000005;padding:6px 10px}.arch-diagram-root .ext-ht{font-size:8.5px;font-weight:700}.arch-diagram-root .ext-hs{color:var(--tx3);font-size:7px}.arch-diagram-root .ext-b{flex-direction:column;flex:1;gap:3px;padding:6px 8px;display:flex}.arch-diagram-root .ec{border-radius:var(--r-sm);border:1px solid var(--bd);background:var(--sf);align-items:center;gap:4px;padding:3px 7px;font-size:7.5px;font-weight:500;transition:all .2s;display:flex}.arch-diagram-root .ec:hover{background:var(--dy-l);border-color:#ffcc004d}.arch-diagram-root .ei{flex-shrink:0;align-items:center;display:inline-flex}.arch-diagram-root .conn-mid{flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:0 2px;display:flex}.arch-diagram-root .arch-sub{border-radius:var(--r-lg);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#fff6;border:1.5px dashed #0000001f;padding:12px;position:relative}.arch-diagram-root .sub-lbl{color:var(--ch);background:linear-gradient(160deg,#f7f6f3,#efeee9);padding:0 7px;font-size:8px;font-weight:600;position:absolute;top:-8px;left:12px}.arch-diagram-root .sub-note{color:var(--tx2);background:var(--sf);border-radius:var(--r-sm);border:1px solid var(--bd);box-shadow:var(--sh-sm);margin-bottom:9px;padding:4px 8px;font-size:7px;line-height:1.45}.arch-diagram-root .fo{border-radius:var(--r-lg);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffff80;border:1.5px solid #d4051126;margin-bottom:8px;padding:10px;position:relative}.arch-diagram-root .fo-lbl{color:var(--dr);background:linear-gradient(160deg,#f7f6f3,#efeee9);padding:0 7px;font-size:8px;font-weight:600;position:absolute;top:-8px;left:12px}.arch-diagram-root .fo-note{color:var(--tx2);background:var(--sf);border-radius:var(--r-sm);border:1px solid var(--bd);box-shadow:var(--sh-sm);margin-bottom:9px;padding:4px 8px;font-size:7px;line-height:1.45}.arch-diagram-root .fg{grid-template-columns:210px 32px 1fr;align-items:stretch;gap:0;display:grid}.arch-diagram-root .lc{flex-direction:column;gap:7px;display:flex}.arch-diagram-root .lc .sec{flex-direction:column;flex:1;display:flex}.arch-diagram-root .lc .sec .sb{flex:1}.arch-diagram-root .mcp-col{flex-direction:column;justify-content:space-around;align-items:center;gap:0;padding:0 1px;display:flex}.arch-diagram-root .mcp-lbl{writing-mode:vertical-lr;color:var(--dr);text-align:center;white-space:nowrap;background:#d4051105;border:1.5px dashed #d4051133;border-radius:4px;padding:6px 3px;font-size:7px;font-weight:600;transform:rotate(180deg)}.arch-diagram-root .rc{flex-direction:column;gap:7px;padding-left:8px;display:flex}.arch-diagram-root .sec{border:1px solid var(--bd);border-radius:var(--r-md);background:var(--sf-s);box-shadow:var(--sh-sm);overflow:hidden}.arch-diagram-root .sh{background:var(--dy-h);border-bottom:1px solid #ffcc004d;flex-wrap:wrap;align-items:baseline;gap:5px;padding:5px 9px;display:flex}.arch-diagram-root .sh .st{color:var(--dk);font-size:8.5px;font-weight:700}.arch-diagram-root .sh .ss{color:var(--tx2);font-size:7px}.arch-diagram-root .sb{padding:7px 9px}.arch-diagram-root .sn{color:var(--tx2);margin-bottom:5px;font-size:7px;line-height:1.45}.arch-diagram-root .chips{flex-wrap:wrap;gap:3px;display:flex}.arch-diagram-root .ch-tag{border:1px solid var(--bd);background:var(--sf);color:var(--tx);white-space:nowrap;border-radius:20px;align-items:center;padding:2.5px 7px;font-size:7.5px;font-weight:500;transition:all .2s;display:inline-flex}.arch-diagram-root .c-ch{background:var(--ch-l);border-color:var(--ch-m);color:var(--ch)}.arch-diagram-root .c-dr{background:var(--dr-l);color:var(--dr);border-color:#d4051126}.arch-diagram-root .c-gr{background:var(--gr-l);color:var(--gr);border-color:#2d8a2d26}.arch-diagram-root .c-gy{color:#666;background:#00000008;border-color:#00000014}.arch-diagram-root .rl{letter-spacing:.08em;text-transform:uppercase;color:var(--tx3);align-items:center;gap:3px;margin:5px 0 3px;font-size:6.5px;font-weight:600;display:flex}.arch-diagram-root .rl:first-child{margin-top:0}.arch-diagram-root .dots-box{color:var(--tx3);text-align:center;border:1px dashed var(--bd);border-radius:var(--r-sm);background:#00000003;padding:2px 6px;font-size:8px}.arch-diagram-root .gw{border:1px solid var(--ch-m);border-radius:var(--r-sm);background:var(--ch-l);text-align:center;color:var(--ch);justify-content:center;align-items:center;margin-bottom:5px;padding:3px 8px;font-size:8px;font-weight:600;display:flex}.arch-diagram-root .as{border-radius:var(--r-md);background:var(--sf-s);box-shadow:var(--sh-sm);border:1.5px solid #d405111f;flex:1;overflow:hidden}.arch-diagram-root .as-h{background:var(--dy-h);color:var(--dk);border-bottom:1px solid #ffcc004d;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px;padding:5px 9px;font-size:8.5px;font-weight:700;display:flex}.arch-diagram-root .as-b{padding:7px 9px}.arch-diagram-root .as-n{color:var(--tx2);margin-bottom:5px;font-size:7px;line-height:1.45}.arch-diagram-root .as-sub{color:var(--tx2);margin:4px 0 3px;font-size:7px;font-weight:600}.arch-diagram-root .ag3{grid-template-columns:1fr 1fr 1fr;gap:5px;display:grid}.arch-diagram-root .ac{border-radius:var(--r-sm);background:var(--sf);border:1px solid #d405111a;padding:4px 6px;transition:all .2s}.arch-diagram-root .ac:hover{box-shadow:var(--sh-sm);border-color:#d4051140}.arch-diagram-root .ac.dm{border-color:var(--ch-m);background:#00000004}.arch-diagram-root .an{align-items:center;gap:2px;margin-bottom:2px;font-size:8px;font-weight:700;display:flex}.arch-diagram-root .apr{flex-wrap:wrap;gap:2px;display:flex}.arch-diagram-root .ap{color:var(--tx2);background:#0000000a;border:1px solid #0000000f;border-radius:20px;padding:1.5px 4px;font-size:6.5px}.arch-diagram-root .ap-r{background:var(--ch-l);color:var(--ch);border-color:var(--ch-m)}.arch-diagram-root .ap-m{background:var(--gr-l);color:var(--gr);border-color:#2d8a2d26}.arch-diagram-root .a2al{text-align:center;color:var(--dr);padding:3px 0;font-size:7px;font-weight:600}.arch-diagram-root .sw{border-radius:var(--r-sm);background:#d4051103;border:1px dashed #d4051126;padding:5px}.arch-diagram-root .clrow{color:var(--tx3);justify-content:space-around;margin-bottom:3px;font-size:6.5px;display:flex}.arch-diagram-root .cpx{border-radius:var(--r-md);background:var(--sf-s);box-shadow:var(--sh-sm);border:1px solid #ffcc0040;overflow:hidden}.arch-diagram-root .cp-h{background:var(--dy-h);color:var(--dk);border-bottom:1px solid #ffcc004d;flex-wrap:wrap;align-items:baseline;gap:5px;padding:5px 9px;font-size:8.5px;font-weight:700;display:flex}.arch-diagram-root .cp-n{color:var(--tx2);padding:4px 9px 3px;font-size:7px;line-height:1.45}.arch-diagram-root .aigw{border-radius:var(--r-sm);background:#ffcc0008;border:1px solid #fc03;margin:5px 9px;padding:5px 7px}.arch-diagram-root .aigw-h{color:var(--am);margin-bottom:4px;font-size:7.5px;font-weight:700}.arch-diagram-root .cpg{grid-template-columns:repeat(3,1fr);gap:5px;display:grid}.arch-diagram-root .cpg5{grid-template-columns:repeat(5,1fr);gap:5px;padding:5px 9px 8px;display:grid}.arch-diagram-root .cpc{border:1px solid var(--bd);border-radius:var(--r-sm);background:var(--sf);text-align:center;padding:5px 7px;transition:all .2s}.arch-diagram-root .cpc:hover{box-shadow:var(--sh-sm);border-color:#ffcc004d}.arch-diagram-root .cpct{color:var(--tx);margin-bottom:2px;font-size:8px;font-weight:700}.arch-diagram-root .cpcs{color:var(--tx3);font-size:6.5px;line-height:1.4}.arch-diagram-root .entra-outer{margin-top:10px}.arch-diagram-root .entra{border-radius:var(--r-lg);background:var(--sf-s);box-shadow:var(--sh-sm);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1.5px dashed #0000001f;align-items:center;gap:10px;padding:8px 14px;display:flex}.arch-diagram-root .en-t{color:var(--se);white-space:nowrap;align-items:center;font-size:8.5px;font-weight:700;display:flex}.arch-diagram-root .en-n{color:var(--tx2);flex:1;min-width:100px;font-size:7px;line-height:1.45}.arch-diagram-root .ts{background:var(--sf-s);border:1px solid var(--bd);border-radius:var(--r-lg);box-shadow:var(--sh-sm);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);margin-top:10px;padding:8px 12px}.arch-diagram-root .ts-t{letter-spacing:.08em;text-transform:uppercase;color:var(--tx3);margin-bottom:6px;font-size:7px;font-weight:600}.arch-diagram-root .tsg{grid-template-columns:repeat(7,1fr);gap:5px;display:grid}.arch-diagram-root .tsi{border:1px solid var(--bd);border-radius:var(--r-sm);background:var(--sf);text-align:center;padding:5px 7px;transition:all .2s}.arch-diagram-root .tsi:hover{box-shadow:var(--sh-sm);transform:translateY(-1px)}.arch-diagram-root .ts-ico{object-fit:contain;width:14px;height:14px;margin:0 auto 3px;display:block}.arch-diagram-root .tsi-n{color:var(--tx);margin-bottom:2px;font-size:7.5px;font-weight:700}.arch-diagram-root .tsi-d{color:var(--tx3);font-size:6.5px;line-height:1.35}@keyframes archSoftPulse{0%,to{box-shadow:var(--sh-sm), 0 0 0 0 #fc00}50%{box-shadow:var(--sh-sm), 0 0 14px 2px #ffcc002e}}@keyframes archSoftPulseInner{0%,to{box-shadow:none}50%{box-shadow:0 0 10px 1px #ffcc0026}}.arch-diagram-root .clk{cursor:pointer;transition:transform .25s,box-shadow .25s;animation:3s ease-in-out infinite archSoftPulse;position:relative}.arch-diagram-root .clk:hover{animation:none;transform:translateY(-2px);box-shadow:var(--sh-md), 0 0 24px 6px #ffcc0047, 0 0 0 2px #d405111f!important}.arch-diagram-root .clk-inner{cursor:pointer;border-radius:var(--r-sm);transition:transform .25s,box-shadow .25s;animation:3s ease-in-out infinite archSoftPulseInner}.arch-diagram-root .clk-inner:hover{animation:none;box-shadow:0 0 20px 4px #ffcc0040,0 0 0 1.5px #d405111a!important}@media (width<=820px){.arch-diagram-root .outer{grid-template-columns:1fr}.arch-diagram-root .conn-mid{display:none}.arch-diagram-root .fg{grid-template-columns:1fr}.arch-diagram-root .mcp-col{display:none}.arch-diagram-root .ag3{grid-template-columns:1fr 1fr}.arch-diagram-root .cpg5,.arch-diagram-root .tsg{grid-template-columns:repeat(3,1fr)}}@media print{.no-print{display:none!important}.print-only{display:block!important}body{background:#fff}.print-page-break{break-before:page}.print-avoid-break{break-inside:avoid}}@media screen{.print-only{display:none}}
