
/* Concept 02 diagram, retaining the original rounded grey-blue surface. */
.blueprint-frame.diagram-v02{background:#f3f6f9;border:1px solid var(--line);border-radius:10px;padding:24px 24px 20px;min-width:0}
.diagram-v02 .visual-label{display:flex;align-items:center;justify-content:space-between;gap:14px;font:11px/1.5 Arial,Helvetica,sans-serif;letter-spacing:1.1px;color:#647987;margin-bottom:18px}
.diagram-v02 .visual-label span{font-size:10px;text-align:right}
.diagram-v02 .component-map{display:block;width:100%;height:auto;margin:0 0 5px}
.diagram-v02 .map-zone{fill:#b08d5712;stroke:var(--brass);stroke-width:1.7;cursor:pointer;transition:fill .2s,stroke-width .2s}
.diagram-v02 .map-zone:hover,.diagram-v02 .map-zone:focus,.diagram-v02 .map-zone.active{fill:#b08d5738;stroke:var(--brass);stroke-width:2.5}
.diagram-v02 .map-zone text{fill:var(--steel);stroke:none;font:10px Arial,Helvetica,sans-serif;letter-spacing:.6px}
.diagram-v02 .map-zone .leader{fill:none;stroke:var(--brass);stroke-width:1}
.diagram-v02 .component-buttons{display:flex;gap:6px;margin-top:0;flex-wrap:wrap}
.diagram-v02 .component-buttons button{flex:1;background:#fff;border:1px solid #d8dee6;padding:10px 5px;color:var(--steel);font:13px/1.5 Arial,Helvetica,sans-serif;border-radius:2px}
.diagram-v02 .component-buttons button:hover,.diagram-v02 .component-buttons button.active{border-color:var(--brass);background:#f5f0e8;color:var(--ink)}
.diagram-v02 .diagram-note{font:12px/1.6 Arial,Helvetica,sans-serif;color:#68788a;margin:12px 0 0}
@media(max-width:600px){.blueprint-frame.diagram-v02{padding:18px 16px 16px}.diagram-v02 .visual-label{font-size:10px;gap:10px;letter-spacing:.6px}.diagram-v02 .visual-label span{font-size:9px}.diagram-v02 .component-buttons button{font-size:12px}}
