
:root {
  --lightbg: #FEFEFE;
  --lightfg: #005000;
  --lightaccent: #009F00;
  --lightheaderbg: #EDFFED;
  --lightheaderfg: #009000;
  --lightbuttonbg: #E3BFFF;
  --lightbuttonfg: #613583;
  --lightbuttonbghigh: #FFAFFF;
  --lightboxbg: #E0FFE0;
  --lightboxfg: #008000;
  --lightfooterbg: #008000;
  --lightfooterfg: #FFFFFF;
  
  --darkbg: #000100;
  --darkfg: #D0FFD0;
  --darkaccent: #009F00;
  --darkheaderbg: #002000;
  --darkheaderfg: #009000;
  --darkbuttonbg: #3C007E;
  --darkbuttonfg: #E3BFFF;
  --darkbuttonbghigh: #1C005E;
  --darkboxbg: #001600;
  --darkboxfg: #00A000;
  --darkfooterbg: #001000;
  --darkfooterfg: #E0FFE0;
}
* {
  box-sizing: border-box;
}

body {
  color: var(--lightfg);
  background: var(--lightbg);
  font: 100% system-ui;
}

a {
  color: var(--lightbuttonfg);
  text-decoration: none;
}

body {
  font-family: system-ui, sans-serif;
  font-size: 17px;
}

.grid-container {
  display: grid;
  grid-template-areas:
    "header"
    "menu"
    "main"
    "facts"
    "footer";
  background-color: var(--lightbg);
  gap: 10px;
}

.header {
  grid-area: header;
  background-color: var(--lightheaderbg);
  text-align: center;
  color: var(--lightheaderfg);
}

.header > h1 {
  font-size: 40px;
  color: var(--lightheadertg);
}

.menu {
  grid-area: menu;
}

.menu ul {
  list-style-type: none;
  margin: 0;
  padding: 0;
}

.menu li {
  padding: 8px;
  margin-bottom: 7px;
  background-color: var(--lightbuttonbg);
  color: var(--lightbuttonfg);
}

.menu li:hover {
  background-color: var(--lightbuttonbghigh);
}

.content {
  grid-area: main;
}

.content > h1 {
  font-size: 30px;
  margin-bottom: 7px;
}

.content > p {
  margin-bottom: 7px;
}

.facts {
  grid-area: facts;
  border: 3px solid var(--lightaccent);
  background-color: var(--lightboxbg);
  padding: 10px;
  color: var(--lightboxfg);
}

.facts > h2 {
  font-size: 20px;
}

.facts li {
  margin-bottom: 5px;
}

.footer {
  grid-area: footer;
  background-color: var(--lightfooterbg);
  color: var(--lightfooterfg);
  text-align: center;
}

@media (min-width: 600px) {
  .header {
    grid-area: 1 / span 6;
  }
  .menu {
    grid-area: 2 / span 1;
  }
  .content {
    grid-area: 2 / span 4;
  }
  .facts {
    grid-area: 3 / span 6;
  }
  .footer {
    grid-area: 4 / span 6;
  }
}

@media (min-width: 768px) {
  .header {
    grid-area: 1 / span 6;
  }
  .menu {
    grid-area: 2 / span 1;
  }
  .content {
    grid-area: 2 / span 4;
  }
  .facts {
    grid-area: 2 / span 1;
  }
  .footer {
    grid-area: 3 / span 6;
  }
}

@media (prefers-color-scheme: dark) {
  body {
    color: var(--darkfg);
    background: var(--darkbg);
  }

  a {
    color: var(--darkbuttonfg);
    text-decoration: none;
  }
  
  .grid-container {
    background-color: var(--darkbg);
  }

  .header {
    background-color: var(--darkheaderbg);
    color: var(--darkheaderfg);
  }

  .menu li {
    background-color: var(--darkbuttonbg);
    color: var(--darkbuttonfg);
  }

  .menu li:hover {
    background-color: var(--darkbuttonbghigh);
  }

  .facts {
    border: 1px solid var(--darkaccent);
    background-color: var(--darkboxbg);
    color: var(--darkboxfg)
  }

  .footer {
    background-color: var(--darkfooterbg);
    color: var(--darkfooterfg);
  }
}
