/* Fill short viewports while allowing longer pages to grow naturally. */
body {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  min-height: 100dvh;
}
.paper {
  display: flex;
  flex-direction: column;
  flex: 1 0 auto;
  min-height: 0;
  margin: 0 auto;
}
.paper > * {
  flex-shrink: 0;
}
.paper > main {
  flex-grow: 1;
}
/* Placeholder content needs no artificial minimum height on small screens. */
.placeholder-content {
  min-height: 0;
}
