/* =========================
   Base Styles
========================= */
* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}
@font-face {
  font-family: Monofett;
  src: url(https://fonts.gstatic.com/s/monofett/v9/mFTyWbofw6zc9NtnW73Vsx0J0kJ6.woff2)
    format("woff");
}

@font-face {
  font-family: VT;
  src: url(https://fonts.gstatic.com/s/vt323/v11/pxiKyp0ihIEF2isfFJXUdVNF.woff2)
    format("woff");
}
body {
  font-family: "VT323", monospace;
  background-color: #fff;
  background-image: url("https://images.unsplash.com/photo-1500462918059-b1a0cb512f1d?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=634&q=80");
  background-repeat: repeat;
  background-size: cover;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 2rem;
  /* opacity: 0.5 */
}

h1 {
  font-size: 3rem;
  text-align: center;
  margin-bottom: 0.5rem;
  color: #fff;
  text-shadow: 0 0 10px #ff4da6, 0 0 20px #ff4da6;
}

p.glow {
  font-size: 1.5rem;
  text-align: center;
  margin-bottom: 2rem;
  animation: glow 1s ease-in-out infinite alternate;
}

@keyframes glow {
  from {
    text-shadow: 0 0 6px #fff, 0 0 12px #ff4da6;
  }
  to {
    text-shadow: 0 0 12px #fff, 0 0 24px #ff4da6;
  }
}
/* =========================
   Deck & Cards
========================= */
#deck {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2rem;
  width: 100%;
  max-width: 500px;
}
@keyframes scorePop {
  0% {
    transform: scale(1);
    color: white;
  }
  50% {
    transform: scale(1.5);
    color: #00ffcc;
  }
  100% {
    transform: scale(1);
    color: white;
  }
}

.score-class span.animate {
  animation: scorePop 0.5s ease;
}

#comp-circle {
  position: relative;
  background-color: #001133;
  background: rgba(255, 255, 255, 0.3);
  margin: 20px auto;
  width: 200px;
  height: 200px;
  border-radius: 100px;
}

#user-circle {
  position: relative;
  background-color: #001133;
  background: rgba(255, 255, 255, 0.3);
  margin: 20px auto;
  width: 200px;
  height: 200px;
  border-radius: 100px;
}
#user-text {
  position: relative;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: #fff;
}

.flex-circle {
  display: flex;
  flex-wrap: wrap-reverse;
  flex-direction: column;
  justify-content: space-evenly;
  align-content: center;
  margin: 100rem;
  box-sizing: border-box;
  width: 50%;
  border: 2px solid white;
  padding: 0 5px;
}

.pos-1 {
  font-size: 16px;
  margin: 2%;
}

.pos-2 {
  font-size: 50px;
  margin: 5%;
}

.pos-3 {
  font-size: 15px;
  margin: 11%;
}
.pos-4 {
  /* flex: 1 1 center;
    margin: 3px; */
  font-size: 30px;
  margin: 2%;
}

.pos-5 {
  font-size: 16px;
  margin: 9%;
}
.pos-6 {
  /* flex: 1 1 center;
    margin: 3px; */
  font-size: 30px;
  margin: 1%;
}
.pos-7 {
  /* flex: 1 1 center;
    margin: 5px; */
  font-size: 35px;
  margin: 1%;
}
.pos-8 {
  /* flex: 1 1 center;
    margin: 1px; */
  font-size: 45px;
  margin: 3%;
}

.u-pos-1 {
  font-size: 50px;
  margin: 5%;
}
.u-pos-2 {
  /* flex: 1 1 center;
    margin: 5px; */
  font-size: 35px;
  margin: 6%;
}

.u-pos-3 {
  /* flex: 1 1 center;
    margin: 3px; */
  font-size: 30px;
  margin: 4%;
}

.u-pos-4 {
  font-size: 16px;
  margin: 1%;
}
.u-pos-5 {
  /* flex: 1 1 center;
    margin: 3px; */
  font-size: 30px;
  margin: 3%;
}
.u-pos-6 {
  /* flex: 1 1 center;
    margin: 1px; */
  font-size: 35px;
  margin: 1%;
}
.u-pos-7 {
  font-size: 15px;
  margin: 1%;
}
.u-pos-8 {
  font-size: 30px;
  margin: 3%;
}
.score-class {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin-bottom: 1.5rem;
  color: white;
  font-family: VT;
  font-size: 30px;
}
.score-class input[type="text"] {
  padding: 10px;
  border-radius: 6px;
  border: 2px solid white;
  background: rgba(255, 255, 255, 0.3);
  color: white;
  font-family: VT;
  font-size: 16px;
  outline: none;
}

.timer-class {
  color: white;
  font-family: VT;
  font-size: 30px;
}

input[type="text"] {
  width: 40%;
  padding: 12px 20px;
  margin: 8px 0;
  background: rgba(255, 255, 255, 0.3);
  box-sizing: border-box;
  border: 2px solid white;
  border-radius: 4px;
  font-family: VT;
  font-size: 80%;
}

input[type="submit"] {
  background-color: white;
  border: none;
  color: gray;
  padding: 12px 20px;
  margin: 4px 2px;
  border-radius: 4px;
  font-family: VT;
}

.end_buttons {
  background-color: white;
  border: none;
  color: gray;
  padding: 15px 32px;
  margin: 10px;
  text-align: center;
  text-decoration: none;
  display: inline-block;
  font-size: 16px;
  font-family: VT;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.2s ease-in-out;
}
.end_buttons.save {
  padding-top: 10 px;
}
.end_buttons:hover {
  background-color: #ffb6c1;
  color: white;
  transform: scale(1.05);
}

.form-div {
  display: flex;
  text-align: center;
  margin-top: rem;
}

.end-button-div {
  text-align: center;
}

.final-score-class {
  color: white;
  font-family: VT;
  font-size: 60px;
  text-align: center;
}

.reward-div {
  text-align: center;
  font-family: VT;
  font-size: 30px;
  color: white;
  border: 2px solid white;
  border-radius: 4px;
  padding: 12px 20px;
  margin: 8px 0;
}

.large-end-button {
  background-color: white;
  border: none;
  color: gray;
  padding: 15px 32px;
  text-align: center;
  text-decoration: none;
  display: inline-block;
  font-size: 16px;
  font-family: VT;
  border-radius: 4px;
  margin: 8px;
}

.start-over-button {
  background-color: white;
  border: none;
  color: gray;
  padding: 15px 32px;
  text-align: center;
  text-decoration: none;
  display: inline-block;
  font-size: 16px;
  font-family: VT;
  border-radius: 10px;
}

.reward-text-div {
  text-align: center;
}

.high-scores-div {
  text-align: center;
  font-family: VT;
  font-size: 20px;
  color: white;
  border: 2px solid white;
  border-radius: 4px;
  padding: 12px 20px;
  margin: 8px 0;
  background: rgba(255, 255, 255, 0.3);
  height: 200px;
  overflow: auto;
}

.each-score-div {
  padding: 1px 10px;
  margin: 8px 0;
}

.glow {
  font-size: 30px;
  font-family: VT;
  color: #fff;
  text-align: center;
  -webkit-animation: glow 1s ease-in-out infinite alternate;
  -moz-animation: glow 1s ease-in-out infinite alternate;
  animation: glow 1s ease-in-out infinite alternate;
}

@-webkit-keyframes glow {
  from {
    text-shadow: 0 0 10px #fff, 0 0 20px #fff, 0 0 30px #e60073,
      0 0 40px #e60073, 0 0 50px #e60073, 0 0 60px #e60073, 0 0 70px #e60073;
  }
  to {
    text-shadow: 0 0 20px #fff, 0 0 30px #ff4da6, 0 0 40px #ff4da6,
      0 0 50px #ff4da6, 0 0 60px #ff4da6, 0 0 70px #ff4da6, 0 0 80px #ff4da6;
  }
}
.score-button-div {
  background-color: white;
  border: none;
  color: gray;
  padding: 15px 32px;
  text-align: center;
  text-decoration: none;
  display: inline-block;
  font-size: 16px;
  font-family: VT;
  border-radius: 4px;
  width: 100%;
  margin: 8px 0;
}
/* Container for the scoreboard */
.score-board {
  max-width: 600px;
  margin: 20px auto;
  padding: 20px;
  background: #1e1e2f;
  border-radius: 12px;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.3);
  color: #fff;
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
}
/* Header row */
.score-table th {
  background-color: #3f3f5f;
  color: #fff;
  font-size: 16px;
  padding: 10px;
  text-transform: uppercase;
  letter-spacing: 1px;
  border-bottom: 2px solid #ffcc00;
}

/* Body rows */
.score-table td {
  padding: 10px;
  border-bottom: 1px solid #555;
}
.score-table th,
.score-table td {
  text-shadow: 0 0 4px #ff4da6, 0 0 8px #ff4da6;
  transition: background 0.3s, color 0.3s;
}

/* Zebra stripes for rows */
.score-table tr:nth-child(even) {
  background-color: #2b2b3e;
}

/* Highlight top three scores row */
.score-table tr:nth-child(2) {
  background: linear-gradient(90deg, #ffcc00, #ffaa00);
  color: #1e1e2f;
  font-weight: bold;
}

.score-table tr:nth-child(3) {
  background: linear-gradient(90deg, #ffd633, #ffdd66);
  color: #1e1e2f;
  font-weight: bold;
}

.score-table tr:nth-child(4) {
  background: linear-gradient(90deg, #ffee99, #ffffcc);
  color: #1e1e2f;
  font-weight: bold;
}

/* Hover effect for rows */
.score-table tr:hover {
  background-color: #44446f;
  cursor: pointer;
  transition: 0.2s;
}

/* Optional: make scores bold */
.score-table td:nth-child(2) {
  font-weight: bold;
  color: #ffcc00;
}

/* Responsive */
@media (max-width: 500px) {
  .score-board {
    padding: 15px;
  }
  .score-table th,
  .score-table td {
    font-size: 14px;
    padding: 8px;
  }
}
