  /* ---------- progress ---------- */
  .prog-grid{display:grid;grid-template-columns:auto 1fr;gap:26px;align-items:center;
    background:var(--card);border:2px solid var(--line);border-radius:22px;padding:28px;margin-bottom:20px}
  .ring-box{position:relative;width:150px;height:150px}
  .ring-box svg{transform:rotate(-90deg)}
  .ring-fgc{transition:stroke-dashoffset 1.2s cubic-bezier(.2,.7,.3,1)}
  .ring-txt{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}
  .ring-txt b{font-size:1.9rem;font-weight:900;color:var(--green-dark)}
  .ring-txt span{font-size:.6rem;font-weight:800;color:var(--muted-2);text-transform:uppercase;letter-spacing:.1em}
  .done-chips{display:flex;flex-wrap:wrap;gap:8px}
  .done-chip{display:inline-flex;align-items:center;gap:7px;font-size:.8rem;font-weight:800;background:var(--card);
    border:2px solid var(--line);color:var(--text-2);border-radius:12px;padding:8px 14px}
  .done-chip svg{color:var(--green)}
  .empty-note{color:var(--muted-2);font-size:.9rem;font-weight:600}
  .sec-title{font-size:1rem;font-weight:900;margin:8px 0 14px}
  .rank-medal-big{width:112px;height:112px;filter:drop-shadow(0 4px 10px rgba(0,0,0,.15))}
  .rank-shelf{display:flex;gap:14px;flex-wrap:wrap;margin-top:18px}
  .rank-shelf .rk{display:flex;flex-direction:column;align-items:center;gap:6px;width:88px;text-align:center}
  .rank-shelf .rk img{width:62px;height:62px}
  .rank-shelf .rk.locked img{filter:grayscale(1);opacity:.3}
  .rank-shelf .rk span{font-size:.6rem;font-weight:800;color:var(--muted-2);line-height:1.2}

  /* ---------- settings ---------- */
  .set-card{background:var(--card);border:2px solid var(--line);border-radius:16px;padding:22px 24px;margin-bottom:14px;max-width:640px}
  .set-card h3{font-size:1rem;font-weight:900;margin-bottom:2px}
  .set-card p{font-size:.83rem;color:var(--muted-2);font-weight:600;margin-bottom:14px}
  .seg{display:inline-flex;background:var(--bg-2);border:2px solid var(--line);border-radius:12px;padding:4px;gap:3px}
  .seg button{font-size:.82rem;font-weight:800;border-radius:10px;padding:9px 18px;color:var(--muted-2)}
  .seg button.active{background:var(--card);color:var(--blue-dark);border:2px solid #84d8ff;margin:-2px}
  .danger{font-size:.82rem;font-weight:800;background:var(--card);border:2px solid #ffb3b3;
    color:var(--red);border-radius:12px;padding:10px 18px;box-shadow:0 3px 0 #ffb3b3}
  .credits{font-size:.76rem;color:var(--muted);font-weight:600;max-width:640px;margin-top:18px;line-height:1.7}

  /* ---------- player ---------- */
  .player{position:fixed;left:calc(50% + 128px);transform:translate(-50%,140%);bottom:18px;
    width:min(560px,calc(100% - 300px));z-index:40;transition:transform .4s cubic-bezier(.2,.7,.3,1);
    background:var(--card);border:2px solid var(--line);border-radius:22px;box-shadow:0 6px 0 var(--line),0 16px 40px rgba(0,0,0,.1);overflow:hidden}
  .player.show{transform:translate(-50%,0)}
  .p-progress{height:5px;background:var(--bg-2)}
  .p-progress i{display:block;height:100%;width:0%;background:var(--green);transition:width .25s linear}
  .p-row{display:flex;align-items:center;gap:12px;padding:12px 16px}
  .p-info{min-width:0;flex:1}
  .p-title{font-size:.88rem;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .p-sub{font-size:.72rem;color:var(--muted-2);font-weight:600}
  .p-controls{display:flex;align-items:center;gap:6px}
  .pbtn{position:relative;width:40px;height:40px;min-width:40px;flex:0 0 auto;border-radius:12px;
    display:flex;align-items:center;justify-content:center;color:var(--muted-2);transition:background .15s,color .15s}
  .pbtn:hover{background:var(--bg-2);color:var(--text)}
  .pbtn.primary{width:48px;height:48px;min-width:48px;background:var(--green);color:#fff;border-radius:12px;
    box-shadow:0 4px 0 var(--green-dark)}
  .pbtn.primary:active{transform:translateY(3px);box-shadow:0 1px 0 var(--green-dark)}
  .pbtn.active{background:var(--blue-light);color:var(--blue-dark)}
  .repeat-badge{position:absolute;top:-4px;right:-4px;background:var(--orange);color:#fff;font-size:.58rem;
    font-weight:900;border-radius:99px;padding:1px 5px}

  /* ---------- memorize ---------- */
  .mem-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:18px;max-width:720px}
  .mem-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-bottom:18px}
  .mem-note{font-size:.85rem;color:var(--muted-2);font-weight:600;max-width:640px}
  .btn.red{background:var(--red);color:#fff;box-shadow:0 4px 0 #d63a3a}
  .btn.purple{background:var(--purple);color:#fff;box-shadow:0 4px 0 var(--purple-dark)}
  .btn:disabled{opacity:.45;cursor:not-allowed;transform:none}
  .mem-card{max-width:700px;margin:0 auto;background:var(--card);border:2px solid var(--line);border-bottom-width:4px;border-radius:22px;
    padding:34px 30px;text-align:center}
  .mem-top{display:flex;align-items:center;justify-content:space-between;max-width:700px;margin:0 auto 16px}
  .mem-count{font-weight:900;font-size:.85rem;color:var(--muted-2);text-transform:uppercase;letter-spacing:.06em}
  .mem-ref{font-weight:900;font-size:.95rem;color:var(--purple-dark);text-transform:uppercase;letter-spacing:.05em;margin-bottom:18px}
  .mem-ar{font-family:var(--quran);font-size:2rem;line-height:2.3;direction:rtl;color:var(--text);min-height:80px}
  .mem-ar.hidden-hint{color:var(--muted)}
  .mem-tr{font-size:.92rem;color:var(--muted-2);font-weight:600;margin-top:14px}
  .mem-btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:26px}
  .mem-label{font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:10px}
  .mem-done-card{max-width:700px;margin:0 auto;background:var(--gold-light);border:2px solid #f0d97a;border-bottom-width:4px;border-radius:22px;
    padding:40px 30px;text-align:center}
  .mem-done-card .big{font-weight:900;font-size:1.4rem;color:#b8860b}
  .mem-done-card p{font-size:.9rem;color:#8a6d1a;font-weight:600;margin-top:6px}

  /* ---------- onboarding ---------- */
  .onb{max-width:560px;margin:40px auto 0;text-align:center}
  .onb h1{font-weight:900;font-size:1.8rem;letter-spacing:-.02em;margin-bottom:8px}
  .onb p{color:var(--muted-2);font-weight:600;margin-bottom:26px}
  .onb-opts{display:flex;flex-direction:column;gap:12px}
  .onb-opt{display:flex;align-items:center;gap:14px;background:var(--card);border:2px solid var(--line);border-bottom-width:4px;border-radius:16px;
    padding:16px 18px;text-align:left;font-weight:800;font-size:1rem;transition:border .15s,transform .1s}
  .onb-opt:hover{border-color:#84d8ff;transform:translateY(-1px)}
  .onb-opt .s{display:block;font-size:.78rem;color:var(--muted-2);font-weight:600}
  .onb-opt .oi{width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff;flex:0 0 auto}

  /* ---------- big-start (new user dashboard) ---------- */
  .bigstart{max-width:620px;margin:30px auto 0;text-align:center}
  .bigstart .ar{font-family:var(--quran);font-size:1.9rem;color:var(--green-dark);margin-bottom:10px}
  .bigstart h1{font-weight:900;font-size:1.8rem;margin-bottom:8px}
  .bigstart p{color:var(--muted-2);font-weight:600;margin-bottom:24px}
  .comeback{background:var(--blue-light);border:2px solid #84d8ff;border-radius:16px;padding:16px 20px;
    margin-bottom:18px;font-weight:700;color:var(--blue-dark);font-size:.92rem}


@media(max-width:900px){
  .prog-grid{grid-template-columns:1fr !important;justify-items:center;text-align:center}
  .rank-medal-big{width:88px;height:88px}
  .rank-shelf{justify-content:center}
  .mem-actions{justify-content:center}
}

/* ---------- premium prayer hero ---------- */
.prayer-hero{background:linear-gradient(115deg,#0e6b38,#159a4f 60%,#1fb35d);color:#fff;
  border-radius:22px;border-bottom:4px solid rgba(0,0,0,.25);padding:24px 28px;margin-bottom:14px}
.ph-kick{font-size:.68rem;font-weight:900;text-transform:uppercase;letter-spacing:.12em;opacity:.85}
.ph-row{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;margin:6px 0 14px}
.ph-name{font-size:2rem;font-weight:900;letter-spacing:-.02em;line-height:1.1}
.ph-at{font-size:1rem;font-weight:800;opacity:.9;margin-top:2px}
.ph-cd{font-size:2.4rem;font-weight:900;font-variant-numeric:tabular-nums;letter-spacing:.02em;
  text-shadow:0 2px 8px rgba(0,0,0,.25)}
.ph-bar{height:8px;background:rgba(255,255,255,.25);border-radius:99px;overflow:hidden}
.ph-bar i{display:block;height:100%;background:#ffc800;border-radius:99px;transition:width 1s linear}
.pt-line{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-bottom:14px}
.ptc{background:var(--card);border:2px solid var(--line);border-radius:12px;padding:10px 6px;text-align:center}
.ptc-n{font-size:.66rem;font-weight:900;text-transform:uppercase;letter-spacing:.05em;color:var(--muted-2)}
.ptc-t{font-weight:800;font-size:.92rem;margin-top:2px}
.ptc.passed{opacity:.45}
.ptc.next{border-color:var(--gold);background:var(--gold-light)}
.ptc.next .ptc-n{color:var(--orange-dark)}
.tahajjud{border-color:#cdb4f0}
.np-chip{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:var(--card);
  border:2px solid var(--line);border-bottom-width:4px;border-radius:16px;padding:13px 18px;
  margin-bottom:16px;cursor:pointer;transition:transform .15s,border .15s}
.np-chip:hover{transform:translateY(-2px);border-color:var(--green)}
.np-chip .ic-m{width:38px;height:38px;border-radius:12px;background:#0e9f6e;color:#fff;
  display:flex;align-items:center;justify-content:center;flex-shrink:0}
.np-chip b{color:var(--green-dark)}
@media(max-width:900px){
  .pt-line{grid-template-columns:repeat(3,1fr)}
  .ph-cd{font-size:1.7rem}
  .ph-name{font-size:1.5rem}
}
