﻿body {
  margin: 0;
  overflow: hidden;
  background: #222;
}

#game-area {
  position: relative;
  width: 400px;
  height: 600px;
  margin: 20px auto;
  background: #333;
  overflow: hidden;
  border: 3px solid #fff;
}
.note {
  position: absolute;
  width: 30px;
  height: 30px;
  background: #ff69b4;
  top: 0;
  border-radius: 0;  /* デフォルトは四角に */
}

.circle {
  border-radius: 50%;  /* 丸だけ丸く */
}

.square {
  border-radius: 0;    /* 四角 */
}

#line {
  position: absolute;
  width: 100%;
  height: 4px;
  background: #fff;
  top: 500px;
}

#score-board {
  color: #fff;
  font-size: 20px;
  padding: 10px;
  text-align: center;
}

#tap-button {
  position: absolute;
  bottom: 20px;  /* セーフエリアも気になる場合は+envで */
  left: 50%;
  transform: translateX(-50%);
  width: 180px;
  height: 60px;
  font-size: 24px;
  background: #ff69b4;
  color: #fff;
  border: none;
  border-radius: 30px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.3);
  z-index: 10;
  touch-action: manipulation;
  display: flex;
  justify-content: center;
  align-items: center;
  user-select: none;
bottom: calc(20px + env(safe-area-inset-bottom));
}

@media screen and (max-height: 700px) {
  #line {
    top: 450px;
  }
}


.note.hit {
  box-shadow: 0 0 20px 10px #fff;
  transform: scale(1.3);
  transition: all 0.2s;
}
