/* Changelog page styles.
   Complements the Bulma theme in mystyles.css; loaded only on changelog.html. */

.changelog-skip-link {
  position: absolute;
  left: -9999px;
  top: 0;
  z-index: 40;
  padding: 0.75rem 1rem;
  background-color: #358080;
  color: #ffffff;
  border-radius: 0 0 4px 0;
}

.changelog-skip-link:focus {
  left: 0;
  outline: 2px solid #ffffff;
  outline-offset: -4px;
}

/* ---- Sidebar ------------------------------------------------------------ */

#changelog-menu.menu {
  max-height: calc(100vh - 5.5rem);
  overflow-y: auto;
  padding-right: 0.5rem;
}

.changelog-loading {
  color: #7a7a7a;
  font-weight: 400;
}

.release-nav {
  padding-bottom: 0 !important;
}

.release-nav-link {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 0.5rem 0.75rem;
  border-left: 3px solid transparent;
  border-radius: 0 4px 4px 0;
  color: #363636;
  line-height: 1.2;
}

.release-nav-link:hover {
  background-color: #f5f5f5;
  color: #358080;
}

.release-nav-link.is-active {
  background-color: #358080;
  color: #ffffff;
}

.release-nav-link:focus-visible,
.release-toc-link:focus-visible {
  outline: 2px solid #358080;
  outline-offset: 2px;
}

.release-nav-versions {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 0.35rem;
}

.release-nav-version {
  font-size: 1rem;
  font-weight: 700;
}

.release-nav-firmware {
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  opacity: 0.75;
}

.release-nav-date {
  margin-top: 0.1rem;
  font-size: 0.7rem;
  font-weight: 400;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  opacity: 0.7;
}

.release-toc {
  display: none;
  margin: 0.25rem 0 0.5rem 0.75rem;
  padding-left: 0.75rem;
  border-left: 2px solid #dbdbdb;
  list-style: none;
}

.release-nav.is-open .release-toc {
  display: block;
}

.release-toc li {
  padding-bottom: 0 !important;
}

.release-toc-link {
  display: block;
  padding: 0.2rem 0;
  font-size: 0.8rem;
  font-weight: 400;
  line-height: 1.25;
  color: #4a4a4a;
}

.release-toc-link:hover {
  color: #358080;
}

.release-toc-link.is-active {
  color: #358080;
  font-weight: 600;
}

.release-toc-link--sub {
  font-size: 0.75rem;
  color: #6a6a6a;
}

.release-toc-link--sub.is-active {
  color: #358080;
}

/* ---- Release view ------------------------------------------------------- */

.release-view {
  max-width: 50rem;
  scroll-margin-top: 5.5rem;
  animation: changelog-fade-in 0.18s ease-out;
}

@keyframes changelog-fade-in {
  from {
    opacity: 0;
    transform: translateY(2px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.release-header {
  padding-bottom: 1rem;
  margin-bottom: 1.75rem;
  border-bottom: 1px solid #ededed;
}

#changelog-content .release-title {
  margin: 0 0 0.35rem;
  font-size: 1.75rem;
  line-height: 1.2;
  color: #363636;
}

.release-date {
  margin: 0;
  color: #7a7a7a;
  font-size: 0.85rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.release-body h1,
.release-body h2,
.release-body h3 {
  scroll-margin-top: 5.5rem;
}

.release-body h1 {
  margin-top: 0;
  font-size: 1.5rem;
}

/* Top-level sections: clearly the biggest step up from body copy. */
#changelog-content .release-body h2 {
  margin-top: 2.5rem;
  margin-bottom: 1rem;
  padding-bottom: 0.35rem;
  border-bottom: 2px solid #d7ecec;
  color: #2a6666;
  font-size: 1.4rem;
}

/* Subsections: still obviously a heading, not a bold sentence. */
#changelog-content .release-body h3 {
  margin-top: 1.75rem;
  margin-bottom: 0.5rem;
  color: #363636;
  font-size: 1.18rem;
  font-weight: 700;
}

.release-body hr {
  height: 1px;
  margin: 2rem 0;
  background-color: #ededed;
}

.release-body p {
  color: #363636;
}

.release-body li {
  padding-bottom: 0.25rem;
}

/* ---- Pager -------------------------------------------------------------- */

.release-pager {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  margin-top: 2.5rem;
  padding-top: 1.25rem;
  border-top: 1px solid #ededed;
}

.release-pager-link {
  display: inline-block;
  padding: 0.5rem 0.9rem;
  border: 1px solid #dbdbdb;
  border-radius: 4px;
  color: #358080;
  font-size: 0.85rem;
  font-weight: 600;
}

.release-pager-link:hover {
  background-color: #eff9f9;
  border-color: #358080;
  color: #2a6666;
}

.release-pager-link.pager-older {
  margin-left: auto;
}

.release-pager-link:focus-visible {
  outline: 2px solid #358080;
  outline-offset: 2px;
}

/* ---- Responsive --------------------------------------------------------- */

@media (max-width: 768px) {
  #changelog-menu.menu {
    position: static;
    max-height: none;
    overflow: visible;
    padding-bottom: 1rem;
    border-bottom: 1px solid #ededed;
  }

  #changelog-content .release-title {
    font-size: 1.45rem;
  }
}
