:root {
  --blue:       #5A6883;
  --slate:      #505267;
  --velvet:     #140F13;
  --charcoal:   #292526;
  --olive:      #5B5851;
  --pale-green: #939591;
  --cream:      #DFDCD6;
  --silver:     #E0E0EC;
}

main {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1em;
}

body {
  background-color: var(--velvet);
  color: var(--cream);
  font-family: Verdana, sans-serif;
  max-width: 800px;
  margin-inline: auto;
  padding: 2em;
}

h1, h2 {
  margin-top: 1.5em;
  margin-bottom: 0.5em;
}

p + p {
  margin-top: 1em;
}

a {
  color: goldenrod;
}

a:hover {
  color: var(--silver);
}

a:visited {
  color: var(--silver);
}
  
article {
  max-width: 65ch;
  margin-inline: auto;
}

article footer {
  margin-top: 3em;
  font-size: 0.85em;
  color: var(--cream);
  border-top: 1px solid var(--cream);
  padding-top: 1em;
}

article footer li + li {                                                                         
  margin-top: 0.75em;                                                                          
}

.smallcaps {
  font-variant-caps: all-small-caps;
  display: inline-block;
}

.spoiler {                                                                              
  background-color: var(--cream);
  color: transparent;                                                                            
  cursor: pointer;                                                                               
  user-select: none;                                                                             
}                                                                                                
                                                                                                 
.spoiler.revealed {
  background-color: transparent;
  color: inherit;               
}

blockquote {                                                                                     
  border-left: 3px solid var(--pale-green);                                                         
  margin: 1em 0 1em 1em;                                                                         
  padding-left: 1em;                                                                             
}
