.dg{margin:0;border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden;background-color:var(--bg-raised)}.dg__scroll{overflow-x:auto;padding:1rem;scrollbar-width:thin;background:linear-gradient(90deg,var(--bg-raised) 45%,transparent) left / 44px 100% no-repeat local,linear-gradient(270deg,var(--bg-raised) 45%,transparent) right / 44px 100% no-repeat local,linear-gradient(90deg,color-mix(in oklch,var(--text) 20%,transparent),transparent) left / 14px 100% no-repeat scroll,linear-gradient(270deg,color-mix(in oklch,var(--text) 20%,transparent),transparent) right / 14px 100% no-repeat scroll;background-color:var(--bg-raised)}.dg__scroll svg{min-inline-size:720px;inline-size:100%;block-size:auto;display:block}.dg__caption{padding:.875rem 1rem;border-block-start:1px solid var(--border);font-size:var(--step--1);max-inline-size:none}.dg-box{fill:var(--bg-raised);stroke:var(--border-strong);stroke-width:1.5}.dg-box--accent{stroke:var(--accent)}.dg-box--danger{stroke:var(--danger);stroke-width:1.75}.dg-container{fill:var(--bg-subtle);stroke:var(--border-strong);stroke-width:1.5;stroke-dasharray:7 5}.dg-subnet{fill:var(--bg);stroke:var(--border-strong);stroke-width:1.25}.dg-chip{fill:var(--bg-raised);stroke:var(--border-strong);stroke-width:1.25}.dg-chip--danger{stroke:var(--danger);stroke-width:1.5}.dg-empty{fill:none;stroke:var(--warn);stroke-width:1.25;stroke-dasharray:5 4}.dg-label{fill:var(--text);font-family:var(--font-mono);font-size:14px;font-weight:500}.dg-sub{fill:var(--text-muted);font-family:var(--font-mono);font-size:11.5px}.dg-sub--strong{fill:var(--text)}.dg-sub--danger{fill:var(--danger)}.dg-flow{fill:none;stroke:var(--text-muted);stroke-width:1.5}.dg-flow--danger{stroke:var(--danger);stroke-dasharray:6 4}.dg-arrowhead{fill:var(--text-muted)}.dg-arrowhead--danger{fill:var(--danger)}.dg-callout{fill:none;stroke-width:1.25;stroke-dasharray:5 4}.dg-callout--danger{stroke:var(--danger)}.dg-callout--ok{stroke:var(--ok)}.dg-tick{stroke:var(--border-strong);stroke-width:1.25;stroke-dasharray:3 3;fill:none}.dg-pulse{fill:none;stroke:var(--accent);stroke-width:2.25;stroke-linecap:round;stroke-dasharray:2 14;opacity:0}.dg-throb{transform-box:fill-box;transform-origin:center}@media(prefers-reduced-motion:no-preference){.dg-pulse{opacity:.9;animation:dg-march 1.3s linear infinite}.dg-throb{animation:dg-throb 2.6s ease-in-out infinite}}@keyframes dg-march{to{stroke-dashoffset:-16}}@keyframes dg-throb{0%,to{transform:scale(1)}50%{transform:scale(1.3)}}.dgi-bg{fill:var(--bg-raised);stroke:var(--accent);stroke-width:1.25}.dgi-stroke{stroke:var(--accent);stroke-width:1.5;fill:none;stroke-linecap:round;stroke-linejoin:round}.dgi-fill{fill:var(--accent)}.dgi-text{fill:var(--accent);font-family:var(--font-mono);font-size:11px}.dgi-teeth{stroke-width:2.5;stroke-linecap:butt}.dgi-glyph,.dgi-hand,.dgi-needle,.dgi-dot{transform-box:fill-box;transform-origin:center}.dgi-hand{transform-origin:bottom center}.dgi-needle{transform-origin:left bottom}@media(prefers-reduced-motion:no-preference){.dgi--spin .dgi-glyph{animation:dgi-spin 14s linear infinite}.dgi--sweep .dgi-hand{animation:dgi-spin 8s linear infinite}.dgi--throb .dgi-glyph{animation:dgi-throb 2.6s ease-in-out infinite}.dgi--pulse .dgi-glyph{animation:dgi-pulse 2.8s ease-in-out infinite}.dgi--buzz .dgi-glyph{animation:dgi-buzz 3.2s ease-in-out infinite}.dgi--bounce .dgi-glyph{animation:dgi-bounce 2s ease-in-out infinite}.dgi--flip .dgi-glyph{animation:dgi-flip 4s ease-in-out infinite}.dgi--needle .dgi-needle{animation:dgi-needle 2.2s ease-in-out infinite alternate}.dgi--slide .dgi-dot{animation:dgi-slide 2.4s ease-in-out infinite alternate}.dgi--waves .dgi-waves{animation:dgi-pulse 2.2s ease-in-out infinite}}@keyframes dgi-spin{to{transform:rotate(1turn)}}@keyframes dgi-throb{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}@keyframes dgi-pulse{0%,to{opacity:1}50%{opacity:.45}}@keyframes dgi-buzz{0%,76%,to{transform:rotate(0)}80%{transform:rotate(-9deg)}84%{transform:rotate(8deg)}88%{transform:rotate(-5deg)}92%{transform:rotate(4deg)}96%{transform:rotate(0)}}@keyframes dgi-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(1.8px)}}@keyframes dgi-flip{0%,to{transform:scaleX(1)}50%{transform:scaleX(-1)}}@keyframes dgi-needle{0%{transform:rotate(-30deg)}to{transform:rotate(24deg)}}@keyframes dgi-slide{0%{transform:translate(-3px)}to{transform:translate(3px)}}
