/* OPML outline page layout, on top of base.css. Styles the collapsible nested
   list, the summary triangle, sub markers, and the RSS tag. Base bits
   (font-family, color/background, links, inline `code`) live in base.css. */
body { line-height: 1.5; padding: 2rem 1rem; }
main { max-width: 52rem; margin: 0 auto; word-wrap: break-word; }
header { position: relative; margin: 0 0 1.5rem; padding-right: 3rem; }
/* Classic orange XML button, pinned to the header's top-right corner. Links to
   ?format=opml (also advertised via <link rel="alternate"> in the layout head). */
.opml-badge { position: absolute; top: 0; right: 0; line-height: 0; }
.opml-badge img { display: block; }
h1 { font-size: 1.75em; line-height: 1.25; margin: 0 0 0.25rem; font-weight: 600; }
.opml-meta { color: #59636e; font-size: 0.9em; margin: 0; }
ul.outline, ul.outline ul, ul.outline ol { list-style: none; margin: 0; padding: 0; }
ul.outline ul, ul.outline ol { padding-left: 1.25em; border-left: 1px solid #d1d9e0; margin-left: 0.4em; }
ul.outline li { margin: 0.15em 0; }
/* flBulletedSubs / flNumberedSubs: show a marker beside each sub. The marker
   sits in extra left padding so it clears the summary triangle / leaf indent. */
ul.outline ul.subs-bulleted { list-style: disc; padding-left: 2.4em; }
ul.outline ol.subs-numbered { list-style: decimal; padding-left: 2.4em; }
ul.outline ul.subs-bulleted > li,
ul.outline ol.subs-numbered > li { margin: 0.15em 0; }
ul.outline ul.subs-bulleted > li.leaf,
ul.outline ol.subs-numbered > li.leaf { padding-left: 0; }
ul.outline ul.subs-bulleted > li::marker,
ul.outline ol.subs-numbered > li::marker { color: #59636e; }
/* Markdown in an outline label renders inline: headings become bold labels
   (no block margins/border) so they sit beside the summary triangle, and a
   stray paragraph never adds vertical gaps to a row. */
ul.outline :is(h1, h2, h3, h4, h5, h6) {
  display: inline;
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 1em;
  font-weight: 700;
  line-height: inherit;
}
ul.outline li p { display: inline; margin: 0; }
details > summary {
  cursor: pointer;
  list-style: none;
  padding: 0.1em 0;
}
details > summary::-webkit-details-marker { display: none; }
details > summary::before {
  content: "\25B8";
  display: inline-block;
  width: 1em;
  color: #59636e;
  transition: transform 0.1s ease;
}
details[open] > summary::before { transform: rotate(90deg); }
li.leaf { padding-left: 1em; }
.rss-tag {
  font-size: 0.7em;
  color: #59636e;
  border: 1px solid #d1d9e0;
  border-radius: 4px;
  padding: 0 0.3em;
  margin-left: 0.4em;
  vertical-align: middle;
  text-decoration: none;
}
a.rss-tag:hover { border-color: #59636e; text-decoration: none; }
@media (prefers-color-scheme: dark) {
  .opml-meta, details > summary::before, .rss-tag { color: #9198a1; }
  ul.outline ul, ul.outline ol { border-left-color: #3d444d; }
  ul.outline ul.subs-bulleted > li::marker,
  ul.outline ol.subs-numbered > li::marker { color: #9198a1; }
  .rss-tag { border-color: #3d444d; }
  a.rss-tag:hover { border-color: #9198a1; }
}
