.diagram-head{display:grid;grid-template-columns:1.1fr .9fr;gap:80px;align-items:end;margin-bottom:65px}.diagram-head h2{font-size:clamp(38px,5vw,68px);line-height:1.18;letter-spacing:-.045em;margin:0}.diagram-head h2 em{font-style:normal;color:var(--cyan)}.diagram-head>p{color:var(--muted);font-size:18px;margin:0}.architecture-diagram{display:flex;flex-direction:column}.arch-layer{position:relative;display:grid;grid-template-columns:1fr auto;align-items:center;gap:30px;padding:26px 34px 26px 82px;border:1px solid var(--line);background:var(--panel)}.arch-layer:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--cyan)}.arch-layer .layer-no{position:absolute;left:28px;top:31px;font:600 12px "IBM Plex Mono";color:var(--cyan)}.arch-layer small{font:500 10px "IBM Plex Mono";letter-spacing:.14em;color:var(--cyan)}.arch-layer h3{font-size:23px;margin:5px 0 2px}.arch-layer p{color:var(--muted);margin:0;font-size:14px}.arch-layer ul{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px;list-style:none;margin:0;padding:0;max-width:390px}.arch-layer li{padding:7px 10px;border:1px solid var(--line);font:500 11px "IBM Plex Mono";color:#c9d9ea}.compiler-layer{background:linear-gradient(90deg,rgba(72,207,255,.11),var(--panel));border-color:rgba(72,207,255,.42)}.compiler-layer:before{background:var(--amber)}.compiler-layer .layer-no,.compiler-layer small{color:var(--amber)}.asset-layer{background:var(--panel2)}.evidence-layer:before{background:var(--amber)}.arch-connector{height:51px;display:flex;align-items:center;justify-content:center;gap:55px;border-left:1px dashed var(--line);border-right:1px dashed var(--line);font:500 10px "IBM Plex Mono";letter-spacing:.08em;color:var(--cyan)}.arch-connector b{color:var(--amber);font-weight:500}.diagram-rule{padding:22px 26px;margin:26px 0 0;border:1px solid var(--line);color:var(--muted);background:rgba(0,0,0,.14)}.diagram-rule strong{color:var(--amber)}.workflow-map{display:grid;grid-template-columns:1fr 45px 1fr 45px 1fr;align-items:stretch}.flow-node{min-height:185px;padding:25px;background:var(--panel);border:1px solid var(--line);display:flex;flex-direction:column}.flow-node>span{font:600 11px "IBM Plex Mono";color:var(--amber)}.flow-node small{font:500 10px "IBM Plex Mono";letter-spacing:.12em;color:var(--cyan);margin-top:20px}.flow-node strong{font-size:18px;margin:5px 0 8px}.flow-node p{font-size:13px;line-height:1.6;color:var(--muted);margin:0}.flow-arrow{display:grid;place-items:center;color:var(--cyan);font:500 25px "IBM Plex Mono"}.flow-arrow.down{grid-column:5;min-height:55px}.flow-node.gate{grid-column:5;grid-row:3;border-color:rgba(255,178,74,.5);background:linear-gradient(135deg,rgba(255,178,74,.1),var(--panel))}.flow-node:nth-of-type(8){grid-column:3;grid-row:3}.flow-node:nth-of-type(10){grid-column:1;grid-row:3}.flow-arrow:nth-of-type(9){grid-column:2;grid-row:3}.flow-arrow:nth-of-type(7){grid-column:4;grid-row:3}.flow-arrow:nth-of-type(11){grid-column:1;grid-row:4;min-height:55px}.flow-node.finish{grid-column:1/6;grid-row:5;min-height:auto;background:linear-gradient(90deg,rgba(72,207,255,.12),rgba(255,178,74,.08));text-align:center}.flow-return{grid-column:1/6;grid-row:6;height:70px;border:1px dashed rgba(72,207,255,.35);border-top:0;border-radius:0 0 40px 40px;display:grid;place-items:center;color:var(--cyan);font:500 11px "IBM Plex Mono";letter-spacing:.08em}.workflow-gates{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin-top:30px;background:var(--line);border:1px solid var(--line)}.workflow-gates div{background:var(--panel);padding:20px}.workflow-gates b{display:block;color:var(--amber);font:500 11px "IBM Plex Mono";margin-bottom:8px}.workflow-gates span{font-size:13px;color:var(--muted)}
@media(max-width:900px){.diagram-head{grid-template-columns:1fr;gap:45px}.workflow-map{grid-template-columns:1fr}.flow-node,.flow-node.gate,.flow-node.finish,.flow-node:nth-of-type(8),.flow-node:nth-of-type(10){grid-column:1!important;grid-row:auto!important}.flow-arrow,.flow-arrow.down,.flow-arrow:nth-of-type(9),.flow-arrow:nth-of-type(7),.flow-arrow:nth-of-type(11){grid-column:1!important;grid-row:auto!important;min-height:45px;transform:rotate(90deg)}.flow-return{grid-column:1;grid-row:auto}.workflow-gates{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.arch-layer{grid-template-columns:1fr;padding:25px 20px 25px 58px}.arch-layer ul{justify-content:flex-start}.arch-connector{gap:5px;flex-direction:column}.workflow-gates{grid-template-columns:1fr}}
