    html, body, h1, p {
      margin: 0;
      padding: 0;
    }

    body {
      margin: 0;
      padding: 0;
      height: 100vh;
      display: flex;
      flex-direction: column;
      justify-content: flex-start;
      align-items: center;
      background-color: #000000;
      color: #FFFFE0;
      font-family: 'Roboto', sans-serif;
      font-size: 16px;
      line-height: 1.5;
      text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.9);
      position: relative;
    }

    body::before {
      content: '';
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      //background-image: url('bg.gif');
      background-size: cover;
      background-repeat: no-repeat;
      background-position: center;
      opacity: 0.25;
      filter: blur(0px);
      z-index: -1;
    }







@font-face {
    font-family: "NotoSansJP-Regular";
    src: url("fonts/NotoSansJP-Regular.otf");
}






#load-csv {
  background-color: #114439;
  color: #FFFFE0;
  border: none;
  padding: 8px 16px;
  text-align: center;
  text-decoration: none;
  display: inline-block;
  font-size: 16px;
  border-radius: 4px;
  cursor: pointer;
  transition: background-color 0.3s ease;
}

#load-csv:hover {
  background-color: #4CAF50;
}

#showmore-btn {
  background-color: #433139;
  color: #FFFFE0;
  border: none;
  padding: 8px 16px;
  text-align: center;
  text-decoration: none;
  display: inline-block;
  font-size: 16px;
  border-radius: 4px;
  cursor: pointer;
  transition: background-color 0.3s ease;
}

#showmore-btn:hover {
  background-color: #733c54;
}




#quiz-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  max-width: 90vw;
  margin: 0 auto;
  padding: 2rem;
  background-color: #444;
  border-radius: 4px;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
}

a:link, a:visited {
  color: #ffffcc; /* light yellow */
}

h1 {
  font-size: 16px;

  margin-bottom: 1rem;
  color: #f4f4f4;
}

p {
  margin-bottom: 1rem;
}


hr {
  border: none;
  border-top: 2px solid #ccc;
  margin-top: 20px;
  margin-bottom: 20px;
  width: 50%;
}






.tooltip:hover:before {
  content: attr(data-tooltip);
  font-size: 32px;
  padding: 10px 15px;
  position: absolute;
  z-index: 9999;
  width: max-content;
  max-width: 70vw;
  height: auto;
  text-align: center;
  left: 70%;
  transform: translate(-50%, -100%);
  top: calc(100% - 10px);
  white-space: pre-wrap;
  word-wrap: break-word;
  text-shadow: 0 6px 10px rgba(0, 0, 0, 0.5), 0 12px 30px rgba(0, 0, 0, 0.4);
}





#target-score-indicator.reached-target {
  font-weight: bold;
  color: #90EE90;
}

#target-score-indicator.not-reached-target {
  font-weight: bold;
  color: #FFFFE0;
}


#question {
  font-size: 64px;
  position: relative;
}

#question:hover .tooltip:before {
  left: 50%;
  transform: translateX(-50%);
  bottom: calc(100% + 10px);
}


#answer {
  font-size: 24px;
  margin: 0 auto 32px;
  padding: 8px 16px;
  width: 100%;
  max-width: 50vw;
  border-radius: 5px;
  border: 1px solid #FFFFE0;
  text-align: center;
  color: #FFFFFF;
  background-color: #333;
}

button {
  font-size: 16px;
  font-weight: 700;
  background-color: #f4f4f4;
  color: #222;
  padding: 8px 8px;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.3s ease;
}

button:hover {
  background-color: #f4f4f4;
  color: #222;
}

#result {
  position: relative;
  text-align: center;
  font-size: 24px;

  //margin-top: 8px;
  //padding: 8px;
  //border-radius: 8px;
  //color: #f4f4f4;
  width: 96vw;
  //margin: 0 auto;
  //border: 4px solid rgba(0, 0, 0, 0.5);
  box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.5);
}

#result.correct {
background-image: linear-gradient(to bottom, #460e2b, #130208);
color: #FFFFE0;
}

#result.incorrect {
background-image: linear-gradient(to bottom, #d53c6a, #130208);
color: #FFFFE0;
}

#result.timeout {
background-image: linear-gradient(to bottom, #7c183c, #130208);
color: #FFFFE0;
}

#result:before {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -12px;
  border: 12px solid transparent;
  border-top: 12px solid;
}

#timer, #mistakes, #score, #label-text, #asked, #current-time {
text-align: center;
  font-size: 16px;
  margin-top: 8px;
  color: #FFFFE0;

}

#mistakes, #label-text {
text-align: left;
}


#submit {
  display: none;
}

.mistake-negative {
  color: rgb(255, 111, 111);
}
.mistake-positive {
  color: rgb(170, 218, 175);
}
.mistake-zero {
  color: rgb(255, 255, 204);
}

.text-underline {
  text-decoration: underline;
  text-decoration-color: #3f1c2a;
}



.highlighted-yellow {
  color: #FFFF00;
}

.highlighted-orange {
  color: #FFA500;
}

.highlighted-cyan {
  color: #00FFFF;
}

.highlighted-pink {
  color: #FFC0CB;
}

.highlighted-neon-green {
  color: #39FF14;
}

/* Apply the tooltip effect to elements with the tooltip class and any of the highlight classes */
.tooltip.highlighted-yellow:hover:before,
.tooltip.highlighted-orange:hover:before,
.tooltip.highlighted-cyan:hover:before,
.tooltip.highlighted-pink:hover:before,
.tooltip.highlighted-neon-green:hover:before {
  background-color: var(--highlight-color, black);
}
