:root {
  /* Dark-theme */
  --bg-gradient: repeating-linear-gradient(
    to bottom,
    #090909,
    #090909 1px,
    #001100 3px,
    #000000 4px
  );
  --text-color-base: #008000;
  --logo-bg: #008000;
  --logo-text: #000000;
  --logo-border: #000000;
  --border-color-base: #008000;
  --prompt-bg-base: #008000;
  --prompt-text-base: #000000;
  --hover-color-base: #000000;
  --hover-bg-base: #008000;
  --active-bg: #008000;
  --active-text: #000000;
  --button-text: #008000;
  --button-bg: #000000;
}
.lightmode {
  --bg-gradient: repeating-linear-gradient(
      0deg,
      rgba(51, 51, 51, 0.2),
      rgba(51, 51, 51, 0.2) 1px,
      rgba(255, 255, 255, 0) 1px,
      rgba(255, 255, 255, 0) 2px
    ),
    radial-gradient(
      rgba(0, 0, 0, 0),
      rgba(0, 0, 0, 0) 30%,
      rgba(0, 0, 0, 0.6) 120%
    );
  --text-color-base: #2d2d2d;
  --logo-bg: #828282;
  --logo-text: #2d2d2d;
  --logo-border: #333333;
  --border-color-base: #333333;
  --prompt-bg-base: #828282;
  --prompt-text-base: #2d2d2d;
  --hover-color-base: #000000;
  --hover-bg-base: #828282;
  --active-bg: #828282;
  --active-text: #000000;
  --button-text: #2d2d2d;
  --button-bg: #828282;
}

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  font-family: "VT323", monospace;
}
/* body start */
.body-terminal {
  background: var(--bg-gradient);
  color: var(--text-color-base);
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100vw;
  min-height: 100vh;
}

/*  */
.container {
  width: 100%;
}

/* body end */
.header-terminal {
  border: 2px solid var(--border-color-base);
  width: calc(100% - 80px);
  text-align: center;
  margin-inline: 40px;
  margin-top: 20px;
  padding: 10px;
}
.header-terminal h1 {
  font-weight: normal;
  text-transform: uppercase;
  text-align: center;
}

/* hero start */
.hero {
  width: 100%;
}
/* logo start */
.logo {
  width: calc(100% - 80px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin-inline: 40px;
  margin-top: 10px;
  margin-bottom: 50px;
  align-items: center;
}
.logo-text {
  background-color: var(--logo-bg);
  padding: 10px;
  font-size: 60px;
  font-weight: 600;
  text-transform: uppercase;
  cursor: pointer;
  font-weight: normal;
  width: 100%;
  text-align: center;
  border: 5px double var(--logo-border);
}
.logo-text a {
  text-decoration: none;
  color: var(--logo-text);
}
.menu {
  display: flex;
  width: 200px;
  flex-direction: column;
  padding: 10px;
  margin-right: 20px;
  border: 2px solid var(--border-color-base);
}
.menu .menu-links {
  display: flex;
  flex-direction: column;
}

.menu a {
  text-decoration: none;
  text-transform: uppercase;
  color: var(--text-color);
  font-size: 25px;
  margin-right: 20px;
  margin-bottom: 10px;
  padding: 10px;
  border: 1px solid transparent;
}

.menu a:hover {
  color: var(--hover-color-base);
  background-color: var(--hover-bg-base);
}

/* logo end */

.day-logs {
  width: calc(100% - 80px);
  display: flex;
  border: 2px solid var(--border-color-base);
  padding: 20px;
  margin-inline: 40px;
}
/* entries/section start */
.entries {
  display: flex;
  flex-direction: column;
  flex: 3;
  margin-right: 20px;
  padding: 20px;
  border: 2px solid var(--border-color-base);
}
.entry {
  display: flex;
  flex-direction: column;
  border-bottom: 2px dashed var(--border-color-base);
  padding-bottom: 20px;
  margin-bottom: 30px;
}
.prompt {
  padding: 5px;
  color: var(--prompt-text-base);
  font-size: 23px;
  margin-bottom: 10px;
  background-color: var(--prompt-bg-base);
}

.blinker {
  animation: blink 1s step-start infinite;
}
@keyframes blink {
  50% {
    opacity: 0;
  }
}
.entry-date h2 {
  color: var(--text-color-base);
  margin-bottom: 20px;
}
.entry-content {
  width: 100%;
  margin: auto;
}
.entry-content p {
  margin-bottom: 20px;
  font-size: 25px;
  color: var(--text-color-base);
}
/* entries/section end */

/* entry-side/aside start */
.entry-side--right {
  flex: 1;
  display: flex;
  flex-direction: column;
  border: 2px solid var(--border-color-base);
  padding: 20px;
}
.entry-side--right .prompt {
  font-size: 23px;
}
.log-links li {
  list-style: none;
  margin-left: 20px;
  display: flex;
  flex-direction: column;
}

.log-links a {
  text-decoration: none;
  color: var(--text-color-base);
  font-size: 25px;
  padding: 5px;
}
.log-links a:hover {
  background-color: var(--hover-bg-base);
  color: var(--hover-color-base);
}

.log-links a.active {
  background-color: var(--active-bg);
  color: var(--active-text);
}
/* entry-side/aside end */
.entry-side--left {
  flex: 1;
}

/* hero end */
/* footer start */
.footer-terminal {
  margin: 40px;
  width: calc(100% - 80px);
  border: 1px solid var(--border-color-base);
  padding: 20px;
}
.footer-content {
  display: flex;
  justify-content: space-between;
}
.copyright {
  font-size: 21px;
}
#theme-switch {
  background-color: var(--button-bg);
  border: 1px solid var(--border-color-base);
  width: 100px;
  height: 30px;
  color: var(--button-text);
  font-size: 20px;
  cursor: pointer;
}
#theme-switch:hover {
  background-color: var(--hover-bg-base);
  color: var(--hover-color-base);
}

/* footer end */

/* media query start */
@media (min-width: 450px) and (max-width: 810px) {
  .logo-text {
    font-size: 30px;
  }
  .menu {
    display: flex;
    flex-direction: column;
    width: 100%;
    border: 1px solid var(--border-color-base);
    padding: 10px;
    margin-right: 20px;
    margin-bottom: 20px;
  }
  .menu .menu-links {
    flex-direction: row;
    flex-wrap: wrap;
    width: 100%;
  }

  .day-logs {
    display: flex;
    flex-direction: column;
  }
  .entries {
    width: 100%;
    margin-bottom: 20px;
  }
}

@media (max-width: 450px) {
  .header-terminal h1 {
    font-size: 20px;
  }
  .logo-text {
    font-size: 20px;
  }
  .menu {
    display: flex;
    flex-direction: column;
    width: 100%;
    border: 1px solid var(--border-color-base);
    padding: 10px;
    margin-right: 20px;
    margin-bottom: 20px;
  }
  .menu .menu-links {
    flex-direction: row;
    flex-wrap: wrap;
    width: 100%;
  }
  .day-logs {
    display: flex;
    flex-direction: column;
  }
  .entries {
    width: 100%;
    margin-bottom: 20px;
  }
  #theme-switch {
    background-color: var(--button-bg);
    border: 1px solid var(--border-color-base);
    width: 100px;
    height: 50px;
    color: var(--button-text);
    font-size: 20px;
  }
}
