/* Page-level layout primitives. */

.site-main {
  display: block;
}
.site-main:focus {
  outline: none;
}

/* The reader is an app-like, full-height screen without page scroll. */
.page--reader {
  display: flex;
  flex-direction: column;
  block-size: 100vh;
  block-size: 100dvh;
  overflow: hidden;
}
.page--reader .site-main {
  flex: 1;
  min-block-size: 0;
}

.container {
  inline-size: 100%;
  max-inline-size: var(--content-max);
  margin-inline: auto;
  padding-inline: var(--space-5);
}

@media (max-width: 40em) {
  .container {
    padding-inline: var(--space-4);
  }
}
