body{
  margin:0;
  font-family:'Fredoka', sans-serif;
  background:linear-gradient(180deg,#f7fbff,#eef5ff);
}

.container{
  max-width:700px;
  margin:auto;
  padding:20px;
}

.title{
  text-align:center;
  font-weight:900;
  font-size:26px;
  color:#1c2c6b;
  margin-bottom:20px;

  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
}

.title-icon{
  width:45px;
  height:45px;

  animation:bounce 2s infinite;
}

@keyframes bounce{
  0%,100%{
    transform:translateY(0);
  }

  50%{
    transform:translateY(-5px);
  }
}

/* LIST */
.surat-item{
  display:flex;
  justify-content:space-between;
  align-items:center;
  background:#fff;
  padding:14px;
  border-radius:18px;
  margin-bottom:12px;
  box-shadow:0 10px 20px rgba(0,0,0,.08);
  cursor:pointer;
}

.surat-left{display:flex;gap:12px;align-items:center;}
.icon{
  width:55px;
  height:55px;
  border-radius:50%;
  background:#eaf7ff;

  display:flex;
  align-items:center;
  justify-content:center;
}

.surat-icon{
  width:35px;
  height:35px;

  transition:.3s;
}

.surat-item:hover .surat-icon{
  transform:scale(1.15) rotate(-8deg);
}
.arab{font-weight:900}
.latin{font-size:13px;color:#6a74a8}

.surat-total{
  display:inline-block;
  background:#eef5ff;
  color:#534df7;
  padding:6px 14px;
  border-radius:20px;
  font-weight:700;
  margin:8px auto;
}

.modal-card{
  text-align:center;
}

.play{
  width:40px;height:40px;border-radius:50%;
  background:linear-gradient(90deg,#46b4ff,#62e6b0);
  display:flex;align-items:center;justify-content:center;color:#fff;
}

/* MODAL */
.modal{
  position:fixed;inset:0;
  background:rgba(0,0,0,.5);
  display:none;justify-content:center;align-items:center;
}
.modal.show{display:flex}

.modal-card{
  width:95%;
  max-width:700px;
  border-radius:20px;
  padding:20px;
  position:relative;
  z-index:1;
  background-color:rgba(255,255,255,0.95);
  overflow: visible;
}

.modal-character{
  position:absolute;
  top:50%;
  right:-130px;
  transform:translateY(-50%);
  width:170px;
}

@keyframes floatChar{
  0%{
    transform:translateY(0);
  }

  50%{
    transform:translateY(-6px);
  }

  100%{
    transform:translateY(0);
  }
}

.close{position:absolute;right:10px;top:10px;cursor:pointer}

.modal-title{text-align:center;font-weight:900}

.ayat-no{
  text-align:center;
  margin-top:10px;
  font-weight:800;
  color:#46b4ff;
}

.modal-arab{
  font-size:clamp(24px,4vw,34px);
  text-align:right;
  margin:20px 0;
  direction:rtl;
  line-height:2.2;

  word-break:break-word;

  background:#fff;
  padding:20px;
  border-radius:20px;

  box-shadow:0 5px 15px rgba(0,0,0,.05);

  animation:fadeAyat .6s ease;
}

@keyframes fadeAyat{
  from{
    opacity:0;
    transform:translateY(10px);
  }
  to{
    opacity:1;
    transform:translateY(0);
  }
}

.modal-latin{font-style:italic}
.modal-arti{background:#eef5ff;padding:10px;border-radius:10px;margin-top:10px}

/* BUTTON */
.btn{
  margin-top:10px;
  padding:10px;
  border:none;
  border-radius:10px;
  cursor:pointer;
  font-weight:bold;
}

.next{background:#4dabf7;color:#fff}
.eye{background:#fff;border:1px solid #ccc}

.ayat-symbol{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:32px;
  height:32px;
  margin-left:8px;
  border:2px solid black;
  border-radius:50%;
  font-size:14px;
  font-weight:bold;
  color:black;
  position:relative;
}

.ayat-symbol::before,
.ayat-symbol::after{
  content:"";
  position:absolute;
  width:6px;
  height:6px;
  background:black;
  border-radius:50%;
}

.ayat-symbol::before{
  top:-3px;
}

.ayat-symbol::after{
  bottom:-3px;
}

.btn-group{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:15px;
}

.prev{
  background:#ffb84d;
  color:white;
}

.play-btn{
  background:#7c5cff;
  color:white;

  box-shadow:0 0 15px rgba(124,92,255,.6);

  animation:pulse 1.5s infinite;
}

@keyframes pulse{
  0%{
    transform:scale(1);
  }
  50%{
    transform:scale(1.08);
  }
  100%{
    transform:scale(1);
  }
}

.finish-popup{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.5);
  display:none;
  justify-content:center;
  align-items:center;
  z-index:999;
}

.finish-popup.show{
  display:flex;
}

.finish-card{
  background:white;
  width:90%;
  max-width:350px;
  border-radius:25px;
  padding:30px 20px;
  text-align:center;

  animation:pop .4s ease;

  box-shadow:0 10px 30px rgba(0,0,0,.2);
}

.finish-icon{
  font-size:55px;
  margin-bottom:10px;
}

.finish-card h2{
  color:#4dabf7;
  margin-bottom:10px;
}

.finish-card p{
  color:#555;
  font-size:18px;
  line-height:1.5;
}

.finish-card button{
  margin-top:20px;
  border:none;
  background:linear-gradient(90deg,#46b4ff,#62e6b0);
  color:white;
  padding:12px 20px;
  border-radius:15px;
  font-size:16px;
  cursor:pointer;
  font-weight:bold;
}

@keyframes pop{
  from{
    transform:scale(.7);
    opacity:0;
  }
  to{
    transform:scale(1);
    opacity:1;
  }
}

/* QUIZ */
.quiz-box{
  margin-top:20px;
  background:#fff;
  border-radius:20px;
  padding:20px;
  box-shadow:0 5px 15px rgba(0,0,0,.08);
}

.quiz-question{
  font-size:20px;
  font-weight:700;
  color:#1c2c6b;
  margin-bottom:15px;
}

.quiz-option{
  width:100%;
  border:none;
  background:#eef5ff;
  padding:14px;
  margin-bottom:10px;
  border-radius:14px;
  cursor:pointer;
  font-size:16px;
  font-family:'Fredoka',sans-serif;
  transition:.2s;
}

.quiz-option:hover{
  transform:scale(1.02);
  background:#dcecff;
}

.quiz-score{
  text-align:center;
  margin-top:15px;
  font-weight:800;
  color:#7c5cff;
  font-size:18px;
}

.correct{
  background:#8ce99a !important;
}

.wrong{
  background:#ffa8a8 !important;
}

.quiz-audio-btn{
  display:block;
  margin:15px auto 25px auto;
}

#quizOptions{
  margin-top:10px;
}

.quiz-btn{
  background:#20c997;
  color:white;
  box-shadow:0 0 15px rgba(32,201,151,.5);
}