.deck-article {
  --s-hero: #c98500;
}
:root[data-theme="light"] .deck-article {
  --s-hero: #eda100;
}
.viz-host { width: 100%; min-width: 0; }
.viz-bar { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin: 0 0 16px; }
.viz-title { margin-right: auto; font-size: 12px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--muted); }
.viz-cap { margin: 14px 0 0; font-size: 12.5px; line-height: 1.5; color: var(--muted); }
.sp-stage { position: relative; width: 100%; }
.sp-canvas { display: block; width: 100%; height: auto; aspect-ratio: 16 / 10; touch-action: pan-y; }
.sp-steps { display: flex; align-items: stretch; margin-top: 14px; }
.sp-step {
  flex: 1 1 0; min-width: 0; padding: 9px 4px; border: 1px solid var(--border); border-radius: 10px;
  background: none; cursor: pointer; text-align: center; font-family: var(--font); color: var(--text);
  transition: background 0.15s ease, border-color 0.15s ease;
}
.sp-step em { display: block; font-style: normal; font-size: 11px; font-weight: 600; color: var(--muted); font-variant-numeric: tabular-nums; }
.sp-step b { display: block; font-size: 12.5px; font-weight: 650; line-height: 1.25; overflow-wrap: anywhere; }
.sp-step span { display: block; margin-top: 2px; font-size: 11px; line-height: 1.3; color: var(--muted); overflow-wrap: anywhere; }
.sp-step:hover, .sp-step:focus-visible { background: color-mix(in srgb, var(--text) 6%, transparent); outline: none; }
.sp-step[aria-pressed="true"] { border-color: var(--s-hero); background: color-mix(in srgb, var(--text) 6%, transparent); }
.sp-arrow { flex: 0 0 14px; display: flex; align-items: center; justify-content: center; color: var(--muted); }
.sp-arrow svg { width: 12px; height: 12px; display: block; }
@media (max-width: 560px) {
  .sp-steps { flex-direction: column; }
  .sp-step { display: grid; grid-template-columns: 22px auto 1fr; align-items: baseline; gap: 8px; padding: 7px 12px; text-align: left; }
  .sp-step span { margin: 0; text-align: right; }
  .sp-arrow { flex-basis: 12px; }
  .sp-arrow svg { transform: rotate(90deg); }
}
