/* Cross-device reading, scrolling and keyboard-accessibility refinements. */

.md-content,
.md-content__inner,
.reading-page,
.home-page,
.journey-page,
.about-page,
.rag-page,
.topic-card,
.home-card,
.path-choice,
.learning-track > li,
.rag-route__step,
.rag-chapter-grid li {
  min-width: 0;
}

.reading-page :is(p, li, td, th, a),
.md-typeset :is(.topic-card, .home-card, .path-choice) {
  overflow-wrap: anywhere;
}

.reading-page :is(pre, pre > code),
.reading-page .md-typeset__scrollwrap,
.reading-page .md-typeset__table,
.reading-diagram__canvas,
.reading-dialog__content,
.reading-page .arithmatex {
  max-width: 100%;
  overscroll-behavior-inline: contain;
  scrollbar-color: var(--md-default-fg-color--lighter) transparent;
  scrollbar-width: thin;
}

.reading-page pre > code,
.reading-page .md-typeset__scrollwrap,
.reading-page .md-typeset__table,
.reading-diagram__canvas,
.reading-dialog__content {
  overflow-x: auto;
}

.reading-page .md-typeset__table > table:not([class]) {
  width: max-content;
  min-width: 100%;
  max-width: none;
}

.reading-page :is(img, video, iframe) {
  max-width: 100%;
}

.reading-dialog__content {
  scrollbar-gutter: stable both-edges;
}

.md-header__button:focus-visible,
.md-nav__link[role="button"]:focus-visible,
.md-search__icon[role="button"]:focus-visible {
  border-radius: .3rem;
  outline: 2px solid var(--md-accent-fg-color);
  outline-offset: 2px;
}

@media screen and (max-width: 76.234375em) {
  .md-header__button,
  .md-search__icon,
  .md-nav__link[role="button"] {
    min-width: 2.2rem;
    min-height: 2.2rem;
  }

  .md-sidebar--primary .md-nav__link {
    min-height: 2.2rem;
    align-items: center;
  }
}

@media screen and (max-width: 40em) {
  .md-typeset > h1,
  .md-content__inner > h1 {
    font-size: clamp(2rem, 11vw, 2.5rem);
    line-height: 1.08;
  }

  .reading-page .md-typeset__scrollwrap,
  .reading-page .md-typeset__table {
    margin-right: 0;
    margin-left: 0;
    scrollbar-gutter: stable;
  }

  .reading-page pre > code {
    padding-right: 2.75rem;
    -webkit-overflow-scrolling: touch;
  }

  .reading-diagram {
    padding: .75rem;
  }

  .reading-media-button {
    min-height: 2.2rem;
    padding: .5rem .75rem;
  }

  .reading-dialog {
    width: calc(100vw - 1rem);
    max-height: calc(100dvh - 1rem);
    padding: .75rem;
  }

  .reading-dialog__content {
    max-height: calc(100dvh - 6.5rem);
  }

  .rag-pager__item,
  .rag-pager__index {
    overflow-wrap: anywhere;
  }
}

@media (prefers-reduced-motion: reduce) {
  .reading-dialog,
  .md-sidebar,
  .md-overlay {
    scroll-behavior: auto;
    transition-duration: .01ms !important;
  }
}
