/* Style all ordered lists except TOC, breadcrumbs, and footnotes */
:where(main, .quarto-article)
  ol:not(nav[role="doc-toc"] ol):not(.breadcrumb):not(.footnotes ol) {
  counter-reset: step-counter;
  padding-left: 2.2rem;
  list-style: none;
}

:where(main, .quarto-article)
  ol:not(nav[role="doc-toc"] ol):not(.breadcrumb):not(.footnotes ol) > li {
  position: relative;
  margin: 1rem 0;
  counter-increment: step-counter;
}

:where(main, .quarto-article)
  ol:not(nav[role="doc-toc"] ol):not(.breadcrumb):not(.footnotes ol) > li::before {
  content: counter(step-counter);
  position: absolute;
  left: -2.2rem;
  top: -0.08rem;
  width: 1.6rem;
  height: 1.6rem;
  background-color: #0076C2;
  color: #fff;
  border-radius: 50%;
  font-weight: 600;
  text-align: center;
  line-height: 1.6rem;
  font-size: 0.9rem;
}

/* Reset counters for nested lists */
:where(main, .quarto-article) ol ol {
  counter-reset: step-counter;
}

/* Optional opt-out */
:where(main, .quarto-article) ol.no-steps,
:where(main, .quarto-article) ol.no-steps > li {
  all: revert;
}

/* DARK MODE ------------------------------------------------------------ */
/* Must match the exact same selector structure */
body.quarto-dark :where(main, .quarto-article)
  ol:not(nav[role="doc-toc"] ol):not(.breadcrumb):not(.footnotes ol) > li::before {
  background-color: #b58900;
  color: #0a0c10; /* or #ffffff */
}
