:root{--bg:#f4f7fb;--card:#fff;--text:#172033;--muted:#718096;--line:#e5eaf2;--primary:#1769ff;--primary2:#4d8dff;--soft:#edf4ff;--shadow:0 18px 55px rgba(27,54,93,.09);--radius:24px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:linear-gradient(180deg,#f8fbff 0,#f3f6fb 100%);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.5}button,input{font:inherit}button{cursor:pointer}.app-shell{width:min(100% - 28px,980px);margin:auto}.topbar{height:74px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:18px}.back-btn{color:var(--text);font-weight:800;text-decoration:none}.brand{display:flex;align-items:center;gap:10px}.brand-mark{display:grid;place-items:center;width:36px;height:36px;border-radius:12px;background:linear-gradient(135deg,var(--primary),#7aa8ff);color:#fff;font-weight:900}.brand strong,.brand small{display:block}.brand strong{font-size:14px}.brand small{font-size:10px;color:var(--muted)}.top-actions{display:flex;justify-content:flex-end;gap:8px}.icon-btn,.round,.mini,.chip,.filter,.page,.big-mark{border:1px solid var(--line);background:var(--card);color:var(--text);transition:.2s}.icon-btn{width:38px;height:38px;border-radius:12px}.icon-btn:hover,.round:hover,.mini:hover,.chip:hover,.filter:hover,.page:hover{transform:translateY(-1px);border-color:#b9c9e6}.hero{display:grid;grid-template-columns:1.45fr .75fr;gap:32px;align-items:center;padding:68px 0 54px}.eyebrow{font-size:11px;font-weight:900;letter-spacing:.14em;color:var(--primary);text-transform:uppercase}.hero h1{font-size:clamp(40px,6vw,68px);line-height:1.02;letter-spacing:-.055em;margin:15px 0 18px}.hero h1 em{font-style:normal;color:var(--primary)}.hero p{color:var(--muted);max-width:670px;font-size:16px}.hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:26px}.primary,.secondary{border:0;border-radius:13px;padding:13px 18px;font-weight:850}.primary{color:#fff;background:linear-gradient(135deg,var(--primary),var(--primary2));box-shadow:0 12px 25px rgba(23,105,255,.22)}.secondary{background:var(--card);border:1px solid var(--line);color:var(--text)}.hero-card,.player-card,.tips{background:var(--card);border:1px solid rgba(224,231,241,.9);box-shadow:var(--shadow);border-radius:var(--radius)}.hero-card{padding:24px}.hero-card-top{display:flex;justify-content:space-between;align-items:center;font-size:10px;font-weight:900;color:var(--muted);letter-spacing:.1em}.hero-card-top b{font-size:16px;color:var(--primary);letter-spacing:0}.progress{height:8px;background:#e9eef6;border-radius:99px;overflow:hidden;margin:18px 0}.progress i{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--primary),#67a2ff);border-radius:inherit;transition:width .35s}.hero-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.hero-stats div{padding:12px;background:var(--soft);border-radius:13px}.hero-stats strong,.hero-stats span{display:block}.hero-stats strong{font-size:16px}.hero-stats span{font-size:10px;color:var(--muted);margin-top:2px}.player-wrap{scroll-margin-top:20px}.player-card{padding:25px 25px 20px}.player-topline,.current,.timeline,.player-controls,.player-options,.section-head,.tips{display:flex;align-items:center}.player-topline{justify-content:space-between}.now-playing{font-size:10px;font-weight:900;letter-spacing:.12em;color:var(--muted);display:flex;align-items:center;gap:8px}.pulse{width:8px;height:8px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 5px rgba(34,197,94,.12)}.mini-actions{display:flex;gap:7px}.chip{border-radius:999px;padding:7px 11px;font-size:11px;font-weight:800}.current{gap:14px;margin-top:24px}.surah-number{width:52px;height:52px;display:grid;place-items:center;border-radius:15px;background:var(--soft);color:var(--primary);font-weight:950;font-size:18px;flex:none}.current-copy{min-width:0;flex:1}.current-kicker{font-size:10px;color:var(--muted)}.current h2{font-size:31px;line-height:1.05;margin:3px 0}.current p{margin:4px 0;color:var(--muted);font-size:13px}.big-mark{width:48px;height:48px;border-radius:15px;font-size:23px;color:var(--primary);flex:none}.big-mark.active{background:#fff5c7;border-color:#ffd66a;color:#b77900}.wave{height:46px;margin:20px 0 5px;display:flex;align-items:center;gap:4px;opacity:.7}.wave i{width:3px;border-radius:4px;background:linear-gradient(180deg,#74a7ff,#1769ff);min-height:7px;animation:wave 1.5s ease-in-out infinite alternate}.wave i:nth-child(3n){animation-delay:.15s}.wave i:nth-child(4n){animation-delay:.3s}@keyframes wave{to{transform:scaleY(.55);opacity:.55}}.timeline{gap:10px}.timeline span{font-size:10px;color:var(--muted);min-width:34px;text-align:center}input[type=range]{width:100%;accent-color:var(--primary)}audio{display:none}.player-controls{justify-content:center;gap:9px;margin:16px 0}.round{width:46px;height:46px;border-radius:15px;font-weight:900}.play{width:62px;height:62px;border:0;border-radius:50%;background:linear-gradient(135deg,var(--primary),var(--primary2));color:#fff;font-size:20px;box-shadow:0 13px 27px rgba(23,105,255,.25)}.player-options{justify-content:center;gap:16px;flex-wrap:wrap}.toggle{font-size:11px;color:var(--muted);display:flex;align-items:center;gap:7px}.toggle input{display:none}.toggle span{width:32px;height:18px;border-radius:99px;background:#cfd8e6;position:relative}.toggle span:after{content:"";position:absolute;width:14px;height:14px;top:2px;left:2px;border-radius:50%;background:#fff;transition:.2s}.toggle input:checked+span{background:var(--primary)}.toggle input:checked+span:after{left:16px}.text-btn,.link-btn{border:0;background:transparent;color:var(--primary);font-weight:800;font-size:11px}.player-note{margin-top:15px;text-align:center;color:var(--muted);font-size:10px}.library{padding:60px 0 30px}.section-head{justify-content:space-between;gap:20px;align-items:end}.section-head h2{margin:8px 0 0;font-size:29px;letter-spacing:-.03em}.section-desc{margin:4px 0 0;color:var(--muted);font-size:12px}.search{display:flex;align-items:center;gap:8px;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:0 13px;width:min(300px,100%)}.search span{color:var(--muted)}.search input{border:0;outline:0;background:transparent;padding:12px 0;width:100%;color:var(--text)}.quick-filters{display:flex;gap:8px;margin:20px 0 12px;flex-wrap:wrap}.filter{padding:8px 12px;border-radius:999px;font-size:11px;font-weight:800}.filter.active{background:var(--primary);border-color:var(--primary);color:#fff}.surah-list{display:grid;grid-template-columns:1fr 1fr;gap:9px}.surah{display:flex;align-items:center;gap:11px;background:var(--card);border:1px solid var(--line);border-radius:15px;padding:10px;min-width:0;transition:.2s}.surah:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(27,54,93,.06)}.surah.active{border-color:#9fc0ff;background:#f4f8ff}.surah-no{width:36px;height:36px;border-radius:11px;background:#f0f3f7;display:grid;place-items:center;font-size:11px;font-weight:950;flex:none}.surah.active .surah-no{background:#e6efff;color:var(--primary)}.surah-main{min-width:0;flex:1}.surah-main strong,.surah-main span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.surah-main strong{font-size:13px}.surah-main span{font-size:10px;color:var(--muted)}.mini-progress{height:3px;background:#e9edf3;border-radius:99px;margin-top:7px;overflow:hidden}.mini-progress i{display:block;height:100%;background:var(--primary);border-radius:inherit}.surah-actions{display:flex;gap:5px}.mini{width:34px;height:34px;border-radius:11px;font-size:12px}.mini.marked{background:#fff5c7;border-color:#ffd66a;color:#a66c00}.empty{grid-column:1/-1;padding:30px;text-align:center;background:var(--card);border:1px dashed var(--line);border-radius:16px}.empty strong,.empty span{display:block}.empty span{color:var(--muted);font-size:12px}.pagination{display:flex;justify-content:center;gap:6px;margin-top:18px}.page{width:36px;height:36px;border-radius:11px}.page.active{background:var(--primary);border-color:var(--primary);color:#fff}.tips{justify-content:space-between;gap:20px;padding:18px 20px;margin:20px 0 30px}.tips>div{display:flex;gap:11px;align-items:flex-start}.tips>div>span{font-size:18px}.tips strong{font-size:12px}.tips p{margin:3px 0 0;color:var(--muted);font-size:10px}footer{text-align:center;padding:5px 0 30px;color:var(--muted);font-size:10px}.alert-modal{position:fixed;inset:0;display:none;align-items:center;justify-content:center;z-index:9999;padding:20px}.alert-modal.show{display:flex}.alert-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.45);backdrop-filter:blur(7px)}.alert-box{position:relative;width:min(100%,390px);background:var(--card);border-radius:24px;padding:28px;text-align:center;box-shadow:0 30px 90px rgba(0,0,0,.2);animation:pop .2s ease}.alert-icon{width:52px;height:52px;border-radius:50%;margin:0 auto 12px;display:grid;place-items:center;background:#eaf3ff;color:var(--primary);font-weight:950;font-size:20px}.alert-box h3{margin:0;font-size:20px}.alert-box p{color:var(--muted);font-size:13px;margin:8px 0 20px}.alert-actions{display:flex;justify-content:center}@keyframes pop{from{opacity:0;transform:translateY(8px) scale(.97)}to{opacity:1;transform:none}}
body.dark{--bg:#0b1220;--card:#111a2a;--text:#edf3ff;--muted:#94a3b8;--line:#243248;--soft:#17243a;--shadow:0 20px 60px rgba(0,0,0,.25);background:linear-gradient(180deg,#0b1220,#0f1727)}body.dark .surah.active{background:#14233c;border-color:#31558c}body.dark .surah-no{background:#1b2739}body.dark .progress{background:#202d42}body.dark .hero-stats div{background:#17243a}body.dark .big-mark.active{background:#4a3c11;border-color:#806b1f;color:#ffd66a}
@media(max-width:760px){.app-shell{width:min(100% - 18px,680px)}.topbar{grid-template-columns:1fr auto;height:64px}.brand{display:none}.hero{grid-template-columns:1fr;padding:42px 0 30px;gap:22px}.hero h1{font-size:42px}.hero p{font-size:14px}.hero-card{padding:18px}.player-card{padding:18px}.surah-list{grid-template-columns:1fr}.section-head{align-items:stretch;flex-direction:column}.search{width:100%}.tips{align-items:flex-start;flex-direction:column}.tips .link-btn{align-self:flex-start}.current h2{font-size:25px}.player-controls{gap:6px}.round{width:43px;height:43px}.play{width:58px;height:58px}.player-options{justify-content:flex-start}.mini-actions{gap:5px}.chip{padding:6px 9px}.top-actions{gap:5px}}
@media(max-width:420px){.hero h1{font-size:36px}.hero-actions>*{width:100%}.player-topline{align-items:flex-start;gap:8px;flex-direction:column}.current{gap:10px}.surah-number{width:46px;height:46px}.big-mark{width:42px;height:42px}.player-controls{justify-content:space-between}.round{width:40px;height:40px}.play{width:54px;height:54px}.player-note{font-size:9px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
/* Interactive audio controls */
.spectrum-panel{margin:20px 0 6px;padding:11px 13px 8px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(180deg,var(--soft),transparent);overflow:hidden}
.spectrum-head{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:9px;font-weight:900;letter-spacing:.12em}
.spectrum-head span:first-child{color:var(--primary)}
.wave{height:58px;margin:7px 0 0;display:flex;align-items:center;justify-content:center;gap:3px;opacity:.95}
.wave i{display:block;width:4px;min-height:5px;height:20%;border-radius:99px;background:linear-gradient(180deg,#7bb0ff,var(--primary));transition:height .08s linear,opacity .15s ease;animation:none!important}
.player-tools{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:13px auto 4px;max-width:650px;flex-wrap:wrap}
.volume-control{display:flex;align-items:center;gap:8px;min-width:220px;flex:1}
.volume-control input{flex:1;min-width:100px}
.tool-btn{width:38px;height:38px;border-radius:12px;border:1px solid var(--line);background:var(--card);color:var(--text);cursor:pointer;font-size:16px;transition:.2s}
.tool-btn:hover{transform:translateY(-1px);border-color:#b9c9e6}
.volume-control>span{width:38px;text-align:right;color:var(--muted);font-size:10px;font-variant-numeric:tabular-nums}
.screen-toggle{display:flex;align-items:center;gap:8px;padding:8px 11px;border:1px solid var(--line);background:var(--card);border-radius:12px;color:var(--muted);font-size:10px;font-weight:800;cursor:pointer;user-select:none}
.screen-toggle input{appearance:none;width:32px;height:18px;border-radius:99px;background:#cfd8e6;position:relative;margin:0;cursor:pointer;transition:.2s}
.screen-toggle input:before{content:"";position:absolute;width:14px;height:14px;top:2px;left:2px;border-radius:50%;background:#fff;transition:.2s}
.screen-toggle input:checked{background:var(--primary)}
.screen-toggle input:checked:before{left:16px}
.screen-icon{font-size:14px;color:#f59e0b}
body.dark .spectrum-panel{background:linear-gradient(180deg,#13213a,transparent)}
body.dark .screen-toggle input{background:#34445d}
body.dark .tool-btn,body.dark .screen-toggle{background:#111a2a}
@media(max-width:760px){.player-tools{align-items:stretch;flex-direction:column;gap:9px}.volume-control{width:100%;min-width:0}.screen-toggle{justify-content:center;width:100%;box-sizing:border-box}.spectrum-panel{margin-top:15px}.wave{height:52px;gap:2px}.wave i{width:3px}.player-note{line-height:1.5}}
@media(max-width:420px){.spectrum-panel{padding:9px 10px 7px}.wave{height:45px;gap:2px}.wave i{width:2.5px}.volume-control{gap:6px}.tool-btn{width:36px;height:36px}.screen-toggle{font-size:9px}}

/* Speed selector v3.1 */
.speed-control{display:flex;align-items:center;gap:5px;padding:4px;border:1px solid var(--line);background:var(--card);border-radius:13px;box-shadow:0 3px 12px rgba(27,54,93,.04)}
.speed-label{font-size:9px;font-weight:900;color:var(--muted);letter-spacing:.04em;padding:0 5px;white-space:nowrap}
.speed-option{min-width:42px;height:31px;border:0;border-radius:9px;background:transparent;color:var(--muted);font-size:11px;font-weight:950;cursor:pointer;transition:.18s}
.speed-option:hover{background:var(--soft);color:var(--primary);transform:translateY(-1px)}
.speed-option.active{background:var(--primary);color:#fff;box-shadow:0 5px 12px rgba(23,105,255,.22)}
body.dark .speed-control{box-shadow:none}
@media(max-width:420px){.speed-control{width:100%;justify-content:space-between}.speed-option{flex:1}.speed-label{padding-left:3px}}
