*{box-sizing:border-box;margin:0;padding:0;font-family:"Cairo","Tajawal","Tahoma",sans-serif;}
body{
  background:radial-gradient(circle at top,#0f172a,#020617 45%,#000 90%);
  color:#fff;
  min-height:100vh;
  display:flex;
  flex-direction:column;
}
.hidden{display:none!important;}
.top-bar{
  width:100%;
  background:rgba(2,6,23,.35);
  padding:.6rem .7rem .7rem;
  text-align:center;
  border-bottom:1px solid rgba(148,163,184,.12);
}
.top-bar .name{
  color:#38bdf8;
  font-size:clamp(1.6rem,6vw,2.6rem);
  font-weight:700;
}
.top-bar .phone{
  color:#38bdf8;
  font-size:clamp(.9rem,3.4vw,1.1rem);
  font-weight:600;
}
.top-bar .grade{
  color:#fff;
  font-weight:600;
}
.top-bar .unit{
  color:#fef9c3;
  background:rgba(250,204,21,.12);
  border:1px solid rgba(250,204,21,.4);
  width:min(520px,100% - 1rem);
  margin:.25rem auto 0;
  border-radius:.9rem;
  padding:.2rem 0;
  font-weight:600;
}
.container{
  width:100%;
  max-width:580px;
  margin:0 auto;
  padding:.7rem .55rem 4.5rem;
  flex:1;
}
.page-title{
  text-align:center;
  color:#38bdf8;
  margin:.6rem 0 1rem;
  font-weight:700;
}
.home-btn{
  width:100%;
  border:none;
  border-radius:1rem;
  padding:1rem .8rem;
  font-size:1.1rem;
  font-weight:700;
  margin-bottom:.7rem;
  cursor:pointer;
}
.speak-btn{background:#fb923c;color:#0f172a;}
.practice-btn{background:#38bdf8;color:#0f172a;}
.alltest-btn{background:#22c55e;color:#020617;}
.randomtest-btn{background:#facc15;color:#020617;}
.screen-title-row{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:.5rem;
}
.home-link{
  background:#f43f5e;
  border:1px solid rgba(244,63,94,.4);
  border-radius:.7rem;
  color:#fff;
  font-weight:700;
  padding:.55rem 1.1rem;
  font-size:1rem;
  cursor:pointer;
}
.speak-cards{display:flex;flex-direction:column;gap:.6rem;}
.speak-card{
  direction:ltr;
  background:rgba(2,6,23,.35);
  border:1px solid rgba(148,163,184,.25);
  border-radius:.85rem;
  padding:.7rem .8rem .6rem;
  display:flex;
  justify-content:space-between;
  align-items:center;
  cursor:pointer;
}
.speak-card .en{font-size:1.45rem;font-weight:700;color:#fff;}
.speak-card .ar{color:#fde68a;font-weight:700;}
.speaking{color:#38bdf8!important;}
.card-wrapper{display:flex;}
.card{
  width:100%;
  background:rgba(2,6,23,.35);
  border:1px solid rgba(148,163,184,.25);
  border-radius:1.25rem;
  padding:1rem 1.2rem 1.1rem;
}
.word-row{
  direction:ltr;
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:.8rem;
}
.word-en{font-size:2.2rem;font-weight:700;color:#fff;cursor:pointer;}
.word-ar{font-size:1.25rem;font-weight:700;color:#fde68a;}
.answers-group{display:flex;flex-direction:column;gap:.55rem;}
.answer-box{
  background:rgba(15,23,42,.35);
  border:1px solid rgba(148,163,184,.25);
  border-radius:.7rem;
  min-height:2.5rem;
  padding:.4rem .6rem;
  font-size:1.5rem;
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  direction:ltr;
  outline:none;
}
.answer-box span.correct{color:#22c55e;font-weight:700;}
.answer-box span.error{color:#f43f5e;font-weight:700;}
.bottom-shell{
  width:100%;
  position:fixed;
  bottom:0;
  left:0;
  display:flex;
  justify-content:center;
  background:rgba(2,6,23,.95);
  z-index:50;
}
.nav-bar{
  width:min(580px,100%);
  display:flex;
  gap:.6rem;
  padding:.55rem .7rem .65rem;
  align-items:center;
  direction:ltr;
}
.nav-btn{
  flex:1;
  border:none;
  border-radius:1.5rem;
  padding:.65rem 0;
  font-weight:700;
  font-size:1.1rem;
  text-align:center;
  cursor:pointer;
}
.prev-btn{background:#64748b;color:#020617;}
.next-btn{background:#38bdf8;color:#020617;}
.page-indicator{
  background:rgba(2,6,23,.35);
  border:1px solid rgba(148,163,184,.25);
  padding:.45rem 1.6rem;
  border-radius:1.8rem;
  font-weight:700;
  font-size:1.05rem;
  text-align:center;
  color:#fff;
}
.praise-overlay{
  position:fixed;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  background:radial-gradient(circle,rgba(250,204,21,.35),rgba(2,6,23,.9));
  font-size:3rem;
  font-weight:800;
  color:#fef3c7;
  opacity:0;
  pointer-events:none;
  transition:.2s;
  z-index:999;
}
.praise-overlay.show{opacity:1;}
.test-list{display:flex;flex-direction:column;gap:.7rem;margin-bottom:1rem;}
.test-card{
  background:rgba(2,6,23,.4);
  border:1px solid rgba(148,163,184,.25);
  border-radius:.85rem;
  padding:.5rem .7rem .6rem;
}
.test-card .top{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:.5rem;
}
.test-ar{color:#fde68a;font-weight:700;}
.left-part{display:flex;gap:.4rem;align-items:center;}
.test-num{
  background:rgba(59,130,246,.15);
  border:1px solid rgba(59,130,246,.35);
  width:2rem;
  height:2rem;
  border-radius:.6rem;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:700;
}
.test-en{font-size:1.5rem;font-weight:700;cursor:pointer;}
.test-input{
  width:100%;
  background:rgba(248,250,252,.07);
  border:1px solid rgba(148,163,184,.35);
  border-radius:.6rem;
  padding:.45rem .5rem;
  margin-top:.45rem;
  font-size:1.1rem;
  direction:ltr;
  color:#fff;
}
.test-feedback{margin-top:.4rem;font-size:1.7rem;font-weight:800;text-align:left;}
.test-feedback.ok{color:#22c55e;}
.test-feedback.bad{color:#f43f5e;}
.test-btn{
  width:100%;
  border:none;
  border-radius:1rem;
  padding:.6rem .5rem;
  font-size:1rem;
  font-weight:700;
  margin-bottom:.55rem;
  cursor:pointer;
}
.test-btn.yellow{background:#facc15;color:#020617;}
.test-btn.green{background:#22c55e;color:#020617;}
.test-btn.blue{background:#38bdf8;color:#020617;}
.test-btn.cont{background:#f4b41a;color:#020617;}
.all-list{display:flex;flex-direction:column;gap:.55rem;}
.all-item{
  background:rgba(2,6,23,.4);
  border:1px solid rgba(148,163,184,.3);
  border-radius:.85rem;
  padding:.55rem .75rem;
}
.all-ar{color:#fde68a;font-weight:700;margin-bottom:.4rem;}
.all-input{
  background:rgba(15,23,42,.3);
  border:1px solid rgba(148,163,184,.25);
  border-radius:.6rem;
  min-height:2.4rem;
  padding:.35rem .5rem;
  font-size:1.4rem;
  direction:ltr;
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  outline:none;
}
.all-input span.correct{color:#22c55e;font-weight:700;}
.all-input span.error{color:#f43f5e;font-weight:700;}
