@font-face {
  font-family: 'Aber-Mono';
  src: url('https://humantooth.neocities.org/fonts/Aber-Mono-Regular.woff') format('woff');
  font-weight: normal;
  font-style: normal;
}

html, body {
  margin: 0;
  padding: 0;
  width: 100%;
  min-height: 100%;
}

body {
  background: black;
  overflow-x: hidden;
  overflow-y: auto;
}

/* fixed video wallpaper */
.video-bg {
  position: fixed;
  top: 0;
  left: 0;

  width: 100vw;
  height: 100vh;

  object-fit: cover;

  z-index: -1;
  pointer-events: none;
}

/* text scrolls over the fixed video */
.text-box {
  position: relative;

  width: 600px;
  max-width: calc(100vw - 160px);

  margin: 80px 0 160px 80px;
  padding: 20px;

  background: rgba(0, 0, 0, 0.25);
  box-sizing: border-box;

  font-family: 'Aber-Mono', monospace;
}

/* title */
.text-box h1 {
  margin: 0 0 16px 0;

  color: #00ff66;
  font-family: 'Aber-Mono', monospace;
  font-size: 32px;
  line-height: 1.2;
  font-weight: normal;

  text-shadow: 0 0 6px black;
}

/* smaller title */
.text-box h2 {
  margin: 0 0 12px 0;

  color: #00ff66;
  font-family: 'Aber-Mono', monospace;
  font-size: 24px;
  line-height: 1.2;
  font-weight: normal;

  text-shadow: 0 0 6px black;
}

/* paragraph text */
.text-box p {
  margin: 0 0 18px 0;

  color: #00ff66;
  font-family: 'Aber-Mono', monospace;
  font-size: 18px;
  line-height: 1.6;

  text-shadow: 0 0 6px black;
}

/* optional green scrollbar */
::-webkit-scrollbar {
  width: 8px;
}

::-webkit-scrollbar-track {
  background: black;
}
/* vertical thread lines inside the text box */
.thread-line {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 2px;
  pointer-events: none;
  opacity: 0.9;
}

/* thread colors and positions */
.thread-line.gaming {
  left: -18px;
  background: #ff3030;
}

.thread-line.website {
  left: -28px;
  background: #40a0ff;
}

.thread-line.school {
  left: -38px;
  background: #ffcc33;
}

.thread-line.tech {
  left: -48px;
  background: #b060ff;
}

.thread-line.music {
  left: -58px;
  background: #00ff66;
}

/* any h2 that connects to a thread */
.text-box h2.threaded {
  position: relative;
}

/* connector arm from h2 to thread */
.text-box h2.threaded::before {
  content: "";
  position: absolute;
  top: 50%;
  height: 2px;
  pointer-events: none;
}

/* gaming connector */
.text-box h2.threaded.gaming::before {
  left: -38px;
  width: 38px;
  background: #ff3030;
}

/* website connector */
.text-box h2.threaded.website::before {
  left: -48px;
  width: 48px;
  background: #40a0ff;
}

/* school connector */
.text-box h2.threaded.school::before {
  left: -58px;
  width: 58px;
  background: #ffcc33;
}

/* tech connector */
.text-box h2.threaded.tech::before {
  left: -68px;
  width: 68px;
  background: #b060ff;
}

/* music connector */
.text-box h2.threaded.music::before {
  left: -78px;
  width: 78px;
  background: #00ff66;
}

.song-dropdown {
  margin: 0 0 18px 0;
  font-family: 'Aber-Mono', monospace;
}

.song-dropdown details {
  margin: 0 0 18px 0;
  padding-left: 0;
  border-left: none;
}

.song-dropdown summary {
  color: #00ff66 !important;
  font-size: 18px;
  line-height: 1.5;
  cursor: pointer;
  text-shadow: 0 0 6px black;
  list-style-position: outside;
}

.song-dropdown summary::marker {
  color: #00ff66;
}

.song-dropdown summary::-webkit-details-marker {
  color: #00ff66;
}

.song-dropdown summary:hover {
  color: #ffffff !important;
}

.song-dropdown details p {
  margin: 8px 0 18px 28px;
  color: #00ff66;
  font-size: 16px;
  line-height: 1.6;
  text-shadow: 0 0 6px black;
}