:root {
  --base: #0b2431;
  --dark: #050f15;
  --light: #dae479;
  --color: #ebfef5;
  --color-dark: #5a5b5b;
  --grid-cols: 12;
  --grid-gap: 1.5rem;
  --container-max: 1280px;
  --container-pad: 1rem;
}
img {
  max-width: 100%;
}
html {
  /* cursor: */
  /*   url("/bunny.png") 16 16, */
  /*   auto; */
  background-color: var(--base);
  color: var(--color);
  border-box: border-box;
  min-height: 100vh;
}
body {
  display: grid;
  grid-template-columns: auto auto;
}
main {
  --max-w: 80ch;
  max-width: var(--max-w);
  min-height: calc(100vh - 3rem);
  /* width: clamp(calc(100vw - 0.1em), 75%, var(--max-w)); */
  margin: 0 clamp(1em, 5%, calc(100vw - var(--max-w) / 2));
}
pre {
  background-color: var(--dark);
  padding: 1rem;
  border: solid 2px var(--light);
}
a {
  color: var(--light);
}
.title-image,
.preview-image {
  width: clamp(10rem, 50%, 40rem);
  position: relative;
}
.title-image {
  position: sticky;
  top: 2rem;
  height: 5em;
  width: 100%;
}
.post-card {
  border: solid var(--color-dark) 0.5px;
  display: flex;
  padding: 1.5rem;
  margin: 1rem;
  min-height: 10rem;
  min-width: 10rem;
  flex-direction: column;
  align-items: center;
  justify-content: space-evenly;
  gap: 0.5em;
  position: relative;
  transition: border 0.5s ease;
  &:hover {
    border: solid var(--color) 0.5px;
    cursor: pointer;
  }
}
.post-list {
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
}
.timestamp {
  color: var(--color-dark);
  text-decoration: none;
  position: absolute;
  bottom: 0;
  right: 0;
  margin: 0.2em;
}
nav {
  top: 20vh;
  position: sticky;
}
menu {
  border: solid 1px var(--dark);
  width: 6em;
  /* width: fix-content; */
  padding: 1.5rem;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 1em;
  transition: border 0.5s ease;
  hr {
    height: 2px;
    width: 100%;
    color: var(--dark);
    background-color: var(--dark);
  }
  &:hover {
    border: solid 1px var(--light);
  }
}
.nav-item {
  height: 2.5em;
  transition: transform 0.5s ease;
  &:hover {
    transform: scale(1.1);
  }
}

.site-title {
  height: 6em;
  margin: 1.5em;
}

footer {
  grid-column: 1 / span 2;
  display: flex;
  gap: 20%;
  justify-content: center;
  align-items: center;
}

@media screen and (width <= 100ch) {
  body {
    margin-top: 10rem;
    display: inline flow-root;
    max-width: 100ch;
  }
  nav {
    width: 80ch;
    position: fixed;
    display: block;
    overflow: scroll;
    top: 1.5rem;
  }
  menu {
    flex-direction: row;
    width: max-content;
    display: flex;
    hr {
      /* display: none; */
      height: 2rem;
      width: 2px;
    }
    li {
      height: 2rem;
      min-width: 4rem;
    }
    align-items: center;
    background-color: var(--base);
  }
}
