/* exo unified workbench: keep the shell viewport-bound and let the center
   pane own vertical scrolling. This intentionally overrides the shared
   1100px stacked-shell breakpoint, because the injected LRI shell locks body
   scrolling while active. */
.topic-shell-page {
  height: 100vh;
  height: 100dvh;
  min-height: 0;
  overflow: hidden;
}
.topic-shell-page > main.topic-shell,
.topic-shell-page[data-lri-shell="auto"] > main.topic-shell {
  height: 100vh;
  height: 100dvh;
  min-height: 0;
  grid-template-columns: 210px minmax(0, 1fr);
  grid-template-rows: minmax(0, 1fr);
  grid-template-areas: "left center";
  overflow: hidden;
}
.topic-shell-page .topic-shell-left {
  min-height: 0;
  overflow-y: auto;
}
.topic-shell-page .topic-shell-center[data-topic-view-container] {
  align-self: stretch;
  height: 100vh;
  height: 100dvh;
  max-height: 100vh;
  max-height: 100dvh;
  min-height: 0;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
  -webkit-overflow-scrolling: touch;
}
.topic-shell-page .topic-shell-center[data-topic-view-container][aria-busy="true"] {
  cursor: progress;
}
.topic-shell-page.topic-deck-view .topic-shell-center[data-topic-view-container] {
  padding: 0;
}
.topic-shell-page.topic-deck-view .deck-wrap {
  width: 100%;
  max-width: 1440px;
  margin: 0 auto;
}
@media (max-width: 760px) {
  .topic-shell-page {
    height: auto;
    min-height: 100vh;
    overflow: auto;
  }
  .topic-shell-page > main.topic-shell,
  .topic-shell-page[data-lri-shell="auto"] > main.topic-shell {
    height: auto;
    min-height: 100vh;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto auto;
    grid-template-areas: "left" "center";
    overflow: visible;
  }
  .topic-shell-page .topic-shell-left {
    overflow: visible;
  }
  .topic-shell-page .topic-shell-center[data-topic-view-container] {
    height: auto;
    max-height: none;
    overflow: visible !important;
    scrollbar-gutter: auto;
  }
}
