* {
  box-sizing: border-box;
}

a {
  border-radius: 30%;
  display: inline-flex;
  text-decoration: dotted line-through;
}

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

body {
  margin: auto;
  overflow-wrap: anywhere;
  padding: 3ch;
}

article {
  border-radius: 100%;
  contain: layout;
  display: flex;
  flex-flow: column;
  min-height: 100vh;
}

.nap {
  font-family: monospace;
  font-weight: initial;
  font-size: .618em;
  writing-mode: sideways-rl;
}

nav {
  align-items: center;
  contain: layout;
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
}

.naw {  
  flex-basis: 20%;
  margin: 1ch;
  padding: 5vmin;
}

.nub {
  flex-basis: 40%;
  margin: 5%;
  padding: 5vmin;
}

h1 {
  text-align: center;
  line-height: 1;
  margin: 5vh;
}

@media (prefers-reduced-motion: no-preference) {
  * {
    transition: 600ms ease;
  }
}