body {

  margin: 0;
  padding: 0;

  background:
  linear-gradient(
  rgba(5,7,12,0.92),
  rgba(5,7,12,0.96)
  ),
  url('https://images.unsplash.com/photo-1506744038136-46273834b3fb?q=80&w=1600&auto=format&fit=crop');

  background-size: cover;
  background-position: center;
  background-attachment: fixed;

  color: #f5f5f5;

  font-family: Arial, sans-serif;

  overflow-x: hidden;

}


.overlay {

  position: fixed;

  top: 0;
  left: 0;

  width: 100%;
  height: 100%;

  background:
  rgba(0,0,0,0.25);

  z-index: 0;

}


.container {

  position: relative;

  z-index: 2;

  max-width: 760px;

  margin: auto;

  padding: 30px 20px 100px;

}


/* =========================
   TITLE
========================= */

h1 {

  text-align: center;

  font-size: 56px;

  margin-top: 10px;
  margin-bottom: 10px;

  color: #d6b36a;

  letter-spacing: 2px;

}


.subtitle {

  text-align: center;

  opacity: 0.75;

  margin-bottom: 10px;

  font-size: 15px;

}


.goal {

  text-align: center;

  opacity: 0.6;

  margin-bottom: 35px;

  font-size: 14px;

  line-height: 1.6;

}


/* =========================
   STATUS BAR
========================= */

.statusBar {

  display: flex;

  gap: 15px;

  margin-bottom: 25px;

}


.scoreBox,
.levelBox {

  flex: 1;

  background:
  rgba(255,255,255,0.05);

  border:
  1px solid rgba(255,255,255,0.08);

  border-radius: 20px;

  padding: 18px;

  text-align: center;

  backdrop-filter: blur(10px);

}


.label {

  display: block;

  opacity: 0.6;

  margin-bottom: 8px;

  font-size: 13px;

}


#score,
#level {

  font-size: 22px;

  font-weight: bold;

  color: #d6b36a;

}


/* =========================
   PROGRESS
========================= */

.progressContainer {

  width: 100%;

  height: 14px;

  border-radius: 20px;

  overflow: hidden;

  background:
  rgba(255,255,255,0.08);

  margin-bottom: 35px;

}


#progressFill {

  width: 0%;

  height: 100%;

  background:
  linear-gradient(
  90deg,
  #d6b36a,
  #ffe2a8
  );

  transition: 0.5s;

}


/* =========================
   STATE BOX
========================= */

#stateBox {

  background:
  rgba(255,255,255,0.05);

  border:
  1px solid rgba(255,255,255,0.08);

  border-radius: 24px;

  padding: 26px;

  margin-bottom: 30px;

  backdrop-filter: blur(10px);

}


#initialState {

  margin-top: 0;

  color: #d6b36a;

  font-size: 32px;

  line-height: 1.4;

}


.instruction {

  opacity: 0.85;

  line-height: 1.7;

}


/* =========================
   CARDS
========================= */

#cards {

  display: grid;

  grid-template-columns:
  repeat(2, 1fr);

  gap: 14px;

}


.card {

  padding: 18px;

  background:
  rgba(255,255,255,0.05);

  border:
  1px solid rgba(255,255,255,0.08);

  border-radius: 18px;

  cursor: pointer;

  text-align: center;

  font-size: 15px;

  transition: all 0.25s ease;

}


.card:hover {

  transform: translateY(-2px);

  background:
  rgba(255,255,255,0.08);

}


.card.selected {

  border:
  1px solid #d6b36a;

  background:
  rgba(214,179,106,0.18);

  color: #fff2cf;

  box-shadow:
  0 0 20px rgba(214,179,106,0.25);

  transform: scale(1.02);

}


/* =========================
   BUTTON
========================= */

button {

  width: 100%;

  margin-top: 30px;

  padding: 18px;

  border: none;

  border-radius: 20px;

  background: #d6b36a;

  color: #111;

  font-size: 16px;

  font-weight: bold;

  cursor: pointer;

  transition: 0.3s;

}


button:hover {

  opacity: 0.9;

}


/* =========================
   RESULT
========================= */

#resultBox {

  margin-top: 40px;

  padding: 30px;

  border-radius: 24px;

  background:
  rgba(255,255,255,0.05);

  border:
  1px solid rgba(255,255,255,0.08);

  min-height: 100px;

  transition: all 0.4s ease;

}


#resultBox h2 {

  margin-top: 0;

  font-size: 38px;

  margin-bottom: 10px;

  color: #d6b36a;

}


#resultBox p {

  line-height: 1.8;

  opacity: 0.9;

}


.pointBox {

  margin-top: 20px;

  display: inline-block;

  padding: 10px 18px;

  border-radius: 14px;

  background:
  rgba(214,179,106,0.15);

  border:
  1px solid rgba(214,179,106,0.25);

  color: #ffe2a8;

  font-weight: bold;

}


/* =========================
   MOBILE
========================= */

@media (max-width: 600px) {

  h1 {

    font-size: 44px;

  }

  #cards {

    grid-template-columns: 1fr;

  }

  .statusBar {

    flex-direction: column;

  }

}