/* fonts */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans:wght@400;600;700&display=swap');

html, body {
  display: flex;
  padding: 0rem;
  margin: 0rem;
  width: 100vw;
  height: 100vh;
  background-color: #1b1b1f;
  color: #dcdcd3;
  font-family: 'Noto Sans', sans-serif;
  font-size: 16px;
  font-weight: 400;
  overflow-wrap: break-word;
  unicode-bidi: isolate;
  font-synthesis: style;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

main {
  display: flex;
  flex-direction: column;
  flex: 1;
  gap: 1rem;
}

/* table of content */
/* ---------------- */

nav#pages {
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
  padding: 1.5rem;
  margin: 0rem;
  width: 300px;
  height: 100%;
  background-color: #161618;
}
@media screen and (max-width: 800px) {
  nav#pages {
    display: none;
  }
}
nav#pages ul {
  display: flex;
  flex-direction: column;
  list-style: none;
  padding: 0;
  margin: 0;
  width: 100%;
}
nav#pages li {
  display: flex;
  flex-direction: column;
  margin: 0.2rem 0;
  width: 100%;
  min-height: 1.5rem;
}
nav#pages button {
  display: block;
  width: 100%;
  text-align: left;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0.2rem 0.5rem;
  color: #fff;
  font-size: 0.95rem;
}
nav#pages button:hover {
  background-color: #f0f0f0;
  border-radius: 4px;
}
nav#pages button.active {
  color: blue;
}

div#page {
  display: flex;
  flex-direction: column;
  flex: 1;
  width: 100%;
  box-sizing: border-box;
  padding: 3rem 3rem 1rem 3rem;
  overflow-x: hidden;
}

table {
  width: 100%;
  box-sizing: border-box;
  border-collapse: collapse;
}
table th, table td {
  border: 1px solid #fff;
  padding: 10px;
}
table tr:nth-child(even) {
  background-color: #1b1b1b;
}
table tr:nth-child(odd) {
  background-color: #2a2a2a;
}

blockquote {
  border-left: 4px solid #bbb;
  padding-left: 1em;
  margin-left: 0;
  font-style: italic;
}

a {
  color: #a8b1ff;
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}