/* Variable Definitions */
@media (prefers-color-scheme: dark) {
  :root {
    --color-surface: black;
    --color-text: white;
  }
}

@media (prefers-color-scheme: dark) {
  :root {
    --color-surface: black;
    --color-text: white;
  }
}

@media (prefers-color-scheme: light) {
  :root {
    --color-surface: white;
    --color-text: black;
  }
}

/* Top Level Styles */
html, body, figure, pre {
  margin: 0;
  padding: 0 0;
  font-family: monospace, sans-serif;
}

body {
  background-color: var(--color-surface, black);
  color: var(--color-text, white);
}

section, header, footer {
  border: 1px solid var(--color-text);
  padding: 1rem;
}

h2 {
  font-size: 1.2rem;
}

pre {
  font-family: monospace, sans-serif;
  font-size: 0.8rem;
}

hr {
  border: none;
  border-bottom: 1px solid var(--color-text);
}

section > h2:first-child {
  margin-top: -2rem;
  padding: 0 1rem;
  width: fit-content;
  background-color: var(--color-surface, black);

  font-size: 1.2rem;
  font-family: monospace, sans-serif;
}

.wrapper{
  margin: 1rem;
  display: grid;
  gap: 1.2rem;
  grid-template-columns: 1fr 2fr;
  grid-template-rows: auto;
  grid-template-areas: "header header" "sidebar main" "footer footer";
}

.wrapper > header {
  grid-area: header;
}

.wrapper > * {
  display: grid;
  gap: 1.2rem;
}

.wrapper > aside {
  grid-area: sidebar;
}

.wrapper > main {
  grid-area: main;
}

.wrapper > footer {
  grid-area: footer;
}

.sr-only:not(:focus):not(:active) {
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

@media screen and (max-width: 500px) {
  pre {
    font-size: 0.6rem;
  }

  .wrapper {
    grid-template-areas: "header" "sidebar" "main" "footer";
  }
}
