.dq-sd{--sd-accent:#0066cc;--sd-accent-soft:#e6f0fa;--sd-ink:#1b2430;--sd-muted:#5b6675;--sd-line:#c9d3de;--sd-paper:#f7f9fc;--sd-grid:#e8edf3;
  margin:2rem 0;color:var(--sd-ink);font-size:1rem;line-height:1.55}
.dq-sd-title{margin:0 0 .35rem;font-size:1.35rem}
.dq-sd-lead{margin:0 0 1rem;color:var(--sd-muted);max-width:65ch}
.dq-sd-features{border:1px solid var(--sd-line);border-radius:10px;padding:.9rem 1rem;margin:0 0 .75rem;
  display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.5rem 1rem}
.dq-sd-features legend{padding:0 .4rem;font-weight:600}
.dq-sd-features label{display:flex;align-items:center;gap:.5rem;cursor:pointer}
.dq-sd-features input{width:1.05rem;height:1.05rem;accent-color:var(--sd-accent)}
.dq-sd-bar{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.5rem}
.dq-sd-count{color:var(--sd-muted);font-size:.9rem}
.dq-sd-reset{background:none;border:1px solid var(--sd-line);border-radius:6px;padding:.35rem .8rem;cursor:pointer;color:var(--sd-ink);font:inherit;font-size:.9rem}
.dq-sd-reset:hover{border-color:var(--sd-accent);color:var(--sd-accent)}
.dq-sd-canvas{overflow-x:auto;border:1px solid var(--sd-line);border-radius:10px;
  background-color:var(--sd-paper);
  background-image:linear-gradient(var(--sd-grid) 1px,transparent 1px),linear-gradient(90deg,var(--sd-grid) 1px,transparent 1px);
  background-size:20px 20px}
.dq-sd-svg{display:block;width:100%;min-width:760px;height:auto}
.dq-sd-col{font-size:12px;fill:var(--sd-muted)}
.dq-sd-edge{fill:none;stroke:var(--sd-accent);stroke-width:1.6;stroke-dasharray:6 5;animation:dq-sd-flow 1.2s linear infinite;opacity:.75}
.dq-sd-edge.is-dim{opacity:.15}
@keyframes dq-sd-flow{to{stroke-dashoffset:-11}}
.dq-sd-node{cursor:pointer;outline:none}
.dq-sd-node rect{fill:#fff;stroke:var(--sd-line);stroke-width:1.4}
.dq-sd-node rect.dq-sd-copy{fill:#fff;stroke:var(--sd-line);stroke-width:1.2}
.dq-sd-node.is-feature rect{stroke:var(--sd-accent)}
.dq-sd-node:hover rect:last-of-type,.dq-sd-node:focus-visible rect:last-of-type{stroke:var(--sd-accent);stroke-width:2.4}
.dq-sd-node.is-active rect:last-of-type{fill:var(--sd-accent-soft);stroke:var(--sd-accent);stroke-width:2.4}
.dq-sd-node .dq-sd-l{font-size:13.5px;font-weight:600;fill:var(--sd-ink)}
.dq-sd-node .dq-sd-s{font-size:11px;fill:var(--sd-muted)}
.dq-sd-info{margin-top:.75rem;border-left:3px solid var(--sd-accent);padding:.6rem 1rem;background:var(--sd-paper);border-radius:0 8px 8px 0}
.dq-sd-info h4{margin:0 0 .25rem;font-size:1.05rem}
.dq-sd-info p{margin:0 0 .35rem}
.dq-sd-info .dq-sd-why{color:var(--sd-muted);font-size:.9rem;margin:0}
.dq-sd-info-empty{color:var(--sd-muted);margin:0}
@media (prefers-reduced-motion:reduce){.dq-sd-edge{animation:none}}
