/* Software section: /software.html, /atlas_features.html, /web.html, /links.html, /software/** (not the docs) */

.sw-lede { font-size: var(--step-1); line-height: 1.55; }

.sw-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 17rem), 1fr));
  gap: 1.25rem 2rem;
  min-width: 0;
}
.section > * { min-width: 0; }
.sw-grid h3 { font-size: var(--step-0); font-family: var(--sans); font-weight: 600; margin: 0 0 0.4rem; }
.sw-grid ul { margin: 0; padding-left: 1.1rem; color: var(--ink); }
.sw-grid li { margin-block: 0.15rem; }
.sw-grid p { color: var(--muted); font-size: var(--step--1); }

.sw-steps { display: grid; gap: 1.1rem; max-width: var(--measure); }
.sw-steps h3 { font-size: var(--step-0); font-family: var(--sans); font-weight: 600; margin: 0; }

.prose pre, .sw-steps pre, .sw-pre {
  margin: 0;
  padding: 0.75rem 1rem;
  background: var(--surface);
  border: 1px solid var(--rule);
  border-radius: 4px;
  overflow-x: auto;
  line-height: 1.45;
  max-width: 100%;
}
.sw-pre { max-width: var(--wide); }
code { overflow-wrap: anywhere; }

.sw-timeline { margin: 0; display: grid; grid-template-columns: max-content 1fr; gap: 0.5rem 1.25rem; max-width: var(--measure); }
.sw-timeline dt { font-family: var(--mono); font-size: var(--step--1); color: var(--muted); padding-top: 0.2rem; }
.sw-timeline dd { margin: 0; }

.sw-list { margin: 0; padding-left: 1.2rem; display: grid; gap: 0.35rem; }

/* archived pages ported from the old site */
.sw-archived { display: grid; gap: 1rem; max-width: var(--measure); }
.sw-archived ul, .sw-archived ol { margin: 0; padding-left: 1.3rem; }
.sw-archived li { margin-block: 0.2rem; }
.sw-archived dl { margin: 0; display: grid; gap: 0.4rem; }
.sw-archived dt { font-weight: 600; margin-top: 0.8rem; }
.sw-archived dd { margin: 0; display: grid; gap: 0.6rem; }
.sw-archived h2 { margin-top: 1rem; }
.sw-archived h3 { margin-top: 0.5rem; }
.sw-archived table { border-collapse: collapse; }
.sw-archived td, .sw-archived th { padding: 0.25rem 0.75rem 0.25rem 0; vertical-align: top; text-align: left; }
.sw-archived tt { font-family: var(--mono); font-size: 0.92em; }

@media (max-width: 760px) {
  .sw-timeline { grid-template-columns: minmax(0, 1fr); gap: 0.1rem; }
  .sw-timeline dd { margin-bottom: 0.6rem; }
}

.sw-note-inline { color: var(--muted); font-size: var(--step--1); }
