/* ANVA Native Design System v54 — Visualization Grammar */
@layer visualization {
  .anva-viz {
    min-inline-size:0;
    color:var(--anva-text-primary);
  }
  .anva-viz__title {
    margin:0;
    font-size:var(--anva-title-m);
    font-weight:850;
  }
  .anva-viz__caption,
  .anva-viz__fallback {
    color:var(--anva-text-secondary);
    font-size:var(--anva-body-s);
    line-height:1.5;
  }
  .anva-viz svg {
    display:block;
    inline-size:100%;
    block-size:auto;
    overflow:visible;
  }
  .anva-viz [data-viz-grid] { stroke:var(--anva-border-subtle); }
  .anva-viz [data-viz-axis] { stroke:var(--anva-border-default); }
  .anva-viz [data-viz-primary] { fill:var(--anva-primary); stroke:var(--anva-primary); }
  .anva-viz [data-viz-secondary] { fill:var(--anva-info); stroke:var(--anva-info); }

  .anva-progress-track {
    overflow:hidden;
    block-size:.65rem;
    border-radius:var(--anva-radius-pill);
    background:var(--anva-surface-3);
  }
  .anva-progress-track > span {
    display:block;
    block-size:100%;
    inline-size:clamp(0%,var(--anva-progress,0%),100%);
    border-radius:inherit;
    background:var(--anva-primary);
  }
}

@media (prefers-reduced-motion: reduce) {
  @layer visualization {
    .anva-viz *, .anva-progress-track > span { transition:none !important; animation:none !important; }
  }
}
