.idg-diagram{max-width:1100px;margin:2rem auto;position:relative;--idg-side-space:10.5%;--idg-vertical-space:20%}.idg-stage{position:relative;isolation:isolate;aspect-ratio:4/3}.idg-central{position:absolute;z-index:1;left:var(--idg-side-space);top:var(--idg-vertical-space);width:calc(100% - var(--idg-side-space) - var(--idg-side-space));height:calc(100% - var(--idg-vertical-space) - var(--idg-vertical-space));object-fit:contain}.idg-lines{position:absolute;inset:0;width:100%;height:100%;overflow:visible;z-index:2;pointer-events:none}.idg-pulse{filter:drop-shadow(0 1px 2px rgb(0 0 0 / .35))}.idg-component{position:absolute;z-index:3;transform:translate(-50%,-50%);display:grid;gap:.35rem;place-items:center;background:#fff;border:0;padding:.35rem;font:600 14px/1.2 system-ui,sans-serif;color:#111;cursor:pointer;max-width:170px}.idg-component img{width:130px;height:82px;object-fit:contain}.idg-component:hover,.idg-component:focus-visible{outline:3px solid #2271b1;outline-offset:3px}.idg-mobile-components{display:none}.idg-modal{position:fixed;inset:0;z-index:9999;background:rgb(0 0 0 / .72);display:grid;place-items:center;padding:1rem}.idg-modal[hidden]{display:none}.idg-modal-panel{position:relative;background:#fff;color:#111;max-width:560px;width:min(100%,560px);padding:2rem;border-radius:8px}.idg-modal-image{display:block;max-width:100%;max-height:55vh;object-fit:contain;margin:0 auto 1rem}.idg-close{position:absolute;right:.5rem;top:.3rem;border:0;background:transparent;font-size:2rem;cursor:pointer}@media(prefers-reduced-motion:reduce){.idg-pulse{display:none}}@media(max-width:700px){.idg-diagram{--idg-side-space:3%;--idg-vertical-space:8%}.idg-stage .idg-component{display:none}.idg-lines line{display:none}.idg-mobile-components{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-top:1rem}.idg-mobile-component{position:relative;transform:none;display:grid;grid-template-columns:18px 1fr;grid-template-areas:'dot title' 'image image';justify-items:start;align-items:center;max-width:none;width:100%;min-height:118px;padding:.6rem;border:1px solid #d8dce0;background:#fff;text-align:left;font-size:13px}.idg-mobile-component i{grid-area:dot;width:12px;height:12px;border:2px solid #111;border-radius:50%}.idg-mobile-component span{grid-area:title;font-weight:700}.idg-mobile-component img{grid-area:image;justify-self:center;width:100%;height:72px;object-fit:contain}.idg-modal-panel{padding:1.5rem}.idg-modal-image{max-height:50vh}}
