html {
  font-family: sans-serif;
  font-size: max(22px, 3vmax + 2vmin);
  line-height: 1.618;
}

body {
  display: flex;
  flex-flow: column;
  margin: auto;
  margin: 0 1em 2em;
  min-height: 100vh;
  overflow-wrap: anywhere;
}

.stage {
  align-items: center;
  display: flex;
  flex-flow: column;
  justify-content: center;
  margin: auto;
  min-height: 100vh;
}

figure {
  contain: content;
  margin: auto;
}

img {
  max-width: 100%;
  height: auto;  
}

h1 {
  font-size: 2em;
  line-height: 2;
}

a {
  font-weight: bold;
  padding: 10pt;
}

@media (orientation: portrait) {
  .grace {
    margin-inline: 2em;
    writing-mode: vertical-rl;
  }
}

:focus {
  outline: thick outset;
  text-decoration-style: dotted;
}

:hover {
  text-decoration-style: double;
}

::selection {
  background: purple;
  color: pink;
}

:root {
  background: thistle;
  background-image: linear-gradient(gold, gold, mediumspringgreen, deepskyblue);
  color: purple;
}

:any-link {
  color: darkviolet;
  background-color: linen;
}

:focus {
  outline-color: hotpink;
  background-color: darkviolet;
}

a:hover {
  color: purple;
  background-color: magenta;
}

h1 {
  text-shadow:
    -1vw -1vh 0pc deeppink,
    -2vw -2vh 0pc salmon,
    -3vw -3vh 0pc orange,
    -4vw -4vh 0pc gold,
    -5vw -5vh 0pc mediumorchid,
    -6vw -6vh 0pc mediumpurple,
    -7vw -7vh 0pc mediumaquamarine;
  word-spacing: 1ch;
}
