* {
  box-sizing: border-box;
}

:any-link {
  border-radius: 100%;
  cursor: grab;
  display: inline-flex;
  margin: 1em;
  padding: 1em;
  text-decoration: 1ex dashed overline;
}

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

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

body {
  margin: 1em auto 2em;
  overflow-wrap: anywhere;
}

article {
  flex-flow: column;
  display: flex;
  min-height: 100vh;
}

nav {
  align-items: center;
  contain: layout;
  display: flex;
  flex-flow: column;
  padding: 3ch;
}

h1 {
  margin: 0;
  font-weight: unset;
  line-height: 1;
}

.voice {
  cursor: grab;
  margin: auto;
  min-height: 50vmin;
  writing-mode: vertical-lr;
}

.voice:not(:active) {
  text-shadow: 0 -5ex 1ex;
}

.rite {
  margin-left: auto;
  transform: rotate(-18deg);
}

.leap {
  margin-right: auto;
  transform: rotate(36deg);
}

.tear {
  transform: rotate(18deg);
}

.echo {
  display: flex;
  flex-flow: column;
  font: calc(2em / 3) monospace;
}

.belay {
  contain: layout;
  margin: auto;
  transform: rotate(9deg);
}