.dmd{margin:0;display:flex;flex-wrap:wrap;align-items:center;gap:.9rem 1.5rem;padding:clamp(.9rem,2.5vw,1.5rem);border:1px solid var(--dm-border);border-radius:var(--dm-radius-xl);background:var(--dm-surface);box-shadow:var(--dm-shadow-1)}.dmd--bare{padding:0;border:0;background:transparent;box-shadow:none}.dmd>*{flex:1 1 100%;min-width:0}.dmd>.dmd__caption{flex:1 1 auto}.dmd>.dmd__legend{flex:0 1 auto}.dmd__caption{margin:0;font-size:var(--dm-text-sm);font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--dm-accent-700)}.dmd__canvas{container-type:inline-size}.dmd__svg{display:block;width:100%;height:auto;overflow:visible}.dmd__svg--wide{display:none}.dmd__svg--narrow{max-width:21rem;margin-inline:auto}@container (min-width: 600px){.dmd__svg--wide{display:block}.dmd__svg--narrow{display:none}}.dmd__svg text{font-family:var(--dm-font-sans)}.dmd-t-title{font-weight:800;letter-spacing:.06em;text-transform:uppercase;fill:var(--dm-accent-700)}.dmd__svg--wide .dmd-t-title{font-size:13px}.dmd__svg--narrow .dmd-t-title{font-size:12.5px}.dmd-t-label{font-size:15px;font-weight:800;fill:var(--dm-fg)}.dmd__svg--narrow .dmd-t-label{font-size:14.5px}.dmd-t-sub{font-size:13px;font-weight:600}.dmd-t-link,.dmd-t-sub{fill:var(--dm-fg-muted)}.dmd-t-link{font-size:12px;font-weight:700}.dmd-t-outcome{font-weight:800;fill:var(--dm-fg)}.dmd-lane__bg{fill:var(--dm-bg-subtle);stroke:var(--dm-border);stroke-width:1}.dmd--bare .dmd-lane__bg,.dmd--plain-lanes .dmd-lane__bg{fill:transparent;stroke:transparent}.dmd-outcome__glyph{fill:none;stroke:var(--dm-fg);stroke-width:2.25;stroke-linecap:round;stroke-linejoin:round}.dmd-outcome__glyph--ok{stroke:var(--dm-accent-600);stroke-width:2.5}.dmd-node__disc{fill:var(--dm-accent-50);stroke:var(--dm-accent-300);stroke-width:2}.dmd-node__glyph{color:var(--dm-accent-600)}.dmd-node--gate .dmd-node__disc{fill:#fff;stroke:var(--dm-fg)}.dmd-node--gate .dmd-node__glyph{color:var(--dm-fg)}.dmd-node--hl .dmd-node__disc{fill:#fff4ec;stroke:var(--dm-cta-hover);stroke-width:2.5}.dmd-node--hl .dmd-node__glyph{color:#a54a0b}.dmd-node__ring{fill:none;stroke:var(--dm-cta);stroke-width:1.5;opacity:.45}.dmd-node--muted .dmd-node__disc{fill:#fff;stroke:var(--dm-border-input);stroke-dasharray:3 4}.dmd-node--muted .dmd-node__glyph{color:var(--dm-fg-subtle)}.dmd-link__arrow,.dmd-link__flow,.dmd-link__halo,.dmd-link__line{fill:none;stroke-linecap:round;stroke-linejoin:round}.dmd-link--tunnel .dmd-link__halo{stroke:var(--dm-accent-100);stroke-width:12;filter:drop-shadow(0 0 6px var(--dm-accent-200))}.dmd-link--tunnel .dmd-link__line{stroke:var(--dm-accent-500);stroke-width:3}.dmd-link--tunnel .dmd-link__flow{stroke:#fff;stroke-width:1.5;stroke-dasharray:2 13}.dmd-link--tunnel .dmd-link__arrow{stroke:var(--dm-accent-600);stroke-width:2.5}.dmd-link--blocked .dmd-link__line,.dmd-link--plain .dmd-link__line{stroke:var(--dm-fg-subtle);stroke-width:2;stroke-dasharray:5 5}.dmd-link--plain .dmd-link__arrow{stroke:var(--dm-fg-subtle);stroke-width:2}.dmd-link--leak .dmd-link__line{stroke:var(--dm-cta-hover);stroke-width:2.75;stroke-dasharray:12 7 1 7}.dmd-link--leak .dmd-link__arrow{stroke:var(--dm-cta-hover);stroke-width:2.5}.dmd-stop circle{fill:#fff;stroke:var(--dm-fg);stroke-width:2}.dmd-stop path{fill:none;stroke:var(--dm-fg);stroke-width:2.25;stroke-linecap:round}.dmd-marker circle{fill:var(--dm-accent-700);stroke:#fff;stroke-width:2}.dmd-marker text{font-weight:800;fill:#fff}.dmd__legend{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.4rem 1.25rem;font-size:var(--dm-text-sm);font-weight:600;color:var(--dm-fg-muted)}.dmd__legend li{display:inline-flex;align-items:center;gap:.5rem}.dmd__swatch{flex:none;width:2rem;height:.75rem;overflow:visible}.dmd__key{list-style:none;margin:0;padding:0;display:grid;gap:.5rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr))}.dmd__key a{display:flex;align-items:flex-start;gap:.65rem;height:100%;padding:.7rem .85rem;border:1px solid var(--dm-border);border-radius:var(--dm-radius-md);background:#fff;color:var(--dm-fg);text-decoration:none;transition:border-color var(--dm-transition-base) var(--dm-ease),box-shadow var(--dm-transition-base) var(--dm-ease)}.dmd__key a:hover{border-color:var(--dm-accent-300);box-shadow:var(--dm-shadow-2)}.dmd__key a:focus-visible{outline:2px solid var(--dm-ring);outline-offset:2px}.dmd__keynum{flex:none;display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;border-radius:var(--dm-radius-full);background:var(--dm-accent-700);color:#fff;font-size:.8rem;font-weight:800}.dmd__keytext{display:grid;gap:.1rem;font-weight:800;line-height:1.3}.dmd__keytext small{font-weight:600}.dmd__keytext small,.dmd__text{font-size:var(--dm-text-sm);color:var(--dm-fg-muted)}.dmd__text{padding-top:.9rem;border-top:1px solid var(--dm-border)}.dmd--bare .dmd__text{padding-top:0;border-top:0}.dmd__text summary{display:inline-flex;align-items:center;gap:.5rem;min-height:1.75rem;list-style:none;cursor:pointer;width:fit-content;font-weight:700;color:var(--dm-accent-600)}.dmd__text summary::-webkit-details-marker{display:none}.dmd__text summary:hover .dmd__textlabel{text-decoration:underline;text-underline-offset:.2em}.dmd__text summary:focus-visible{outline:2px solid var(--dm-ring);outline-offset:2px}.dmd__chev{flex:none;display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;border-radius:50%;background:var(--dm-accent-50);color:var(--dm-accent-600)}.dmd__text[open] .dmd__chev{transform:rotate(180deg)}.dmd__text p{margin:.6rem 0 0;max-width:70ch;line-height:var(--dm-leading-normal)}@media (prefers-reduced-motion:no-preference){.dmd-link--tunnel .dmd-link__flow{animation:dmd-flow 1.1s linear infinite}.dmd-link--leak .dmd-link__line{animation:dmd-flow-leak 1.3s linear infinite}.dmd-node__ring{transform-box:fill-box;transform-origin:center;animation:dmd-pulse 2.6s var(--dm-ease) infinite}.dmd__chev{transition:transform var(--dm-transition-base) var(--dm-ease)}}@keyframes dmd-flow{0%{stroke-dashoffset:30}to{stroke-dashoffset:0}}@keyframes dmd-flow-leak{0%{stroke-dashoffset:27}to{stroke-dashoffset:0}}@keyframes dmd-pulse{0%,to{opacity:.2;transform:scale(.94)}50%{opacity:.6;transform:scale(1.04)}}@media (forced-colors:active){.dmd__svg text{fill:CanvasText}.dmd .dmd-marker circle,.dmd .dmd-node__disc,.dmd .dmd-stop circle{fill:Canvas;stroke:CanvasText}.dmd .dmd-node__glyph{color:CanvasText}.dmd :is(.dmd-link__line,.dmd-link__arrow,.dmd-node__ring,.dmd-outcome__glyph,.dmd-stop path){stroke:CanvasText}.dmd .dmd-link__flow,.dmd .dmd-link__halo{stroke:transparent}.dmd .dmd-lane__bg{fill:Canvas;stroke:CanvasText}.dmd--bare .dmd-lane__bg,.dmd--plain-lanes .dmd-lane__bg{fill:transparent;stroke:transparent}}