:root{--g:#173F32;--iv:#F5F0E6;--au:#C7A86A;--tx:#292D29;--bg:#F5F0E6;--card:#EDE5D3;--ink:#292D29;--brand:#173F32;--mut:#5C615C;--line:rgba(199,168,106,.5);--btn:#173F32;--btnt:#F5F0E6;--logobg:transparent;color-scheme:light;
box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
html{scroll-padding-top:env(safe-area-inset-top,0px)}
body{margin:0;background:var(--bg);color:var(--ink);font:400 17px/1.8 'IBM Plex Sans Arabic',system-ui,'Segoe UI',Tahoma,sans-serif}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);background:var(--bg);z-index:12}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;padding:0}
button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--brand);outline-offset:3px}
.wrap{max-width:720px;margin:0 auto;padding:0 20px}
.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:11;background:var(--bg);border-bottom:1px solid var(--line)}
.top .wrap{display:flex;justify-content:space-between;align-items:center;height:56px}
.brand{font:700 28px 'Aref Ruqaa',serif;color:var(--brand)}
.lnk{color:var(--mut);font-size:15px}
.hero{text-align:center;padding:24px 0 8px}
.logo{width:min(250px,68%);height:auto;display:block;margin:0 auto;background:var(--logobg);border-radius:32px}
h1{font:700 clamp(28px,7vw,40px)/1.5 'Aref Ruqaa',serif;color:var(--brand);margin:10px 0 2px}
h2{font:700 24px/1.6 'Aref Ruqaa',serif;color:var(--brand);margin:8px 0}
.hero h1{font:500 clamp(20px,5vw,25px)/1.7 'IBM Plex Sans Arabic',system-ui,sans-serif;color:#A4895A;margin:4px 0 6px}
.sub{color:var(--mut);margin:0 auto 22px;max-width:28em}
.tabs{display:inline-flex;gap:18px;margin-bottom:12px}
.tab{font-size:15px;color:var(--mut);padding:2px 2px 4px}
.tab.on{color:var(--brand);box-shadow:inset 0 -2px 0 var(--au)}
.sbox{display:flex;gap:6px;background:var(--card);border:1px solid var(--au);border-radius:999px;padding:6px}
.sbox[hidden]{display:none}
.sbox input,.sbox select{flex:1;min-width:0;border:0;background:transparent;font:inherit;color:inherit;padding:8px 16px;outline:0}
.sbox #aa{flex:none;width:7em}
.sbox>button{background:var(--btn);color:var(--btnt);border-radius:999px;padding:6px 22px;font-weight:500}
.err{color:var(--mut);font-size:15px;min-height:1.6em;margin:6px 0 0}
.chips{margin-top:10px;color:var(--mut);font-size:15px}
.chips button{margin:0 8px;color:var(--brand);border-bottom:1px solid var(--au)}
.res{background:var(--card);border:1px solid var(--au);border-radius:14px;padding:16px 20px;margin:14px 0}
.tad{background:#F1EBDC;border:1px solid var(--line);border-inline-start:4px solid var(--au);border-radius:8px;padding:14px 18px;margin:12px 0;font-size:16.5px}
.ref{font-size:14px;color:var(--mut)}
.v{font:400 clamp(22px,5.5vw,28px)/2.1 'Amiri Quran','Amiri',serif;margin:4px 0 8px;color:var(--g)}
mark{background:rgba(199,168,106,.35);color:inherit;border-radius:4px;padding:0 2px}
.go,.nav button{color:var(--brand);font-size:15px;border-bottom:1px solid var(--au)}
.count{color:var(--mut);margin:0 0 6px}
.panel{position:relative;margin:26px 8px;padding:42px 30px 34px;text-align:center;background:var(--card);border:1px solid var(--au);outline:1px solid var(--line);outline-offset:7px;border-radius:2px}
.cn{position:absolute;width:46px;height:46px;color:var(--au)}.c1{top:5px;right:5px}.c2{top:5px;left:5px;transform:scaleX(-1)}.c3{bottom:5px;right:5px;transform:scaleY(-1)}.c4{bottom:5px;left:5px;transform:scale(-1)}
.badge{position:absolute;top:-14px;left:50%;transform:translateX(-50%);background:var(--bg);padding:0 10px;color:var(--au);line-height:0}
.panel .v{font-size:clamp(26px,7vw,36px);line-height:2.2;margin:8px 0 0}
.div{display:flex;align-items:center;gap:12px;color:var(--au);margin:30px 0 10px}
.div::before,.div::after{content:"";flex:1;height:1px;background:var(--line)}
.src{margin-top:10px;padding-top:10px;border-top:1px solid var(--line);font-size:14px;color:var(--mut)}
.empty{padding:26px 20px;text-align:center;border:1px dashed var(--au);border-radius:14px;margin:14px 0}
.empty p{margin:0}.mut{color:var(--mut);font-size:15px}
.nav{display:flex;justify-content:space-between;margin:28px 0 8px}
.more{text-align:center;margin:20px 0}
.about p,.about li{max-width:34em}
footer{text-align:center;color:var(--mut);font-size:14px;padding:36px 20px 24px}
@media(prefers-reduced-motion:no-preference){#app>*{animation:f .4s ease}@keyframes f{from{opacity:0}}}
.surahs{margin:36px 0 8px}
.surahs h2{text-align:center;margin-bottom:14px}
.stbl{display:grid;grid-template-columns:1fr 1fr;background:var(--card);border:1px solid var(--au);border-radius:22px;padding:12px 6px}
.stbl ul{list-style:none;margin:0;padding:0 8px}
.stbl ul+ul{border-inline-start:1px solid var(--line)}
.stbl li+li{border-top:1px solid rgba(199,168,106,.28)}
.stbl button{display:flex;align-items:baseline;gap:10px;width:100%;padding:4px 8px;text-align:right;border-radius:8px}
.stbl button:hover{background:rgba(199,168,106,.18)}
.stbl .no{flex:none;min-width:1.9em;font-size:13px;color:var(--mut)}
.stbl .nm{font:700 clamp(18px,4.8vw,22px)/1.9 'Amiri','Amiri Quran',serif;color:var(--g)}
:root{--bg:#F5F0E5;--card:#E9E0CE;--au:#C5A568;--g:#174B3E;--brand:#174B3E;--btn:#174B3E;--line:rgba(197,165,104,.5)}
body{position:relative}
.top{background:rgba(245,240,229,.88);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.deco{position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(70% 48% at 50% 40%,rgba(250,247,238,.95),transparent),radial-gradient(60% 38% at 88% 0,rgba(23,75,62,.06),transparent),radial-gradient(60% 40% at 8% 100%,rgba(197,165,104,.12),transparent),linear-gradient(180deg,#F8F4EA,#F5F0E5 45%,#F2EBDC)}
.net{position:absolute;top:0;bottom:0;width:clamp(52px,17vw,120px);background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20width%3D%2764%27%20height%3D%2764%27%20fill%3D%27none%27%20stroke%3D%27%23C5A568%27%20stroke-width%3D%27.9%27%3E%3Crect%20x%3D%2717%27%20y%3D%2717%27%20width%3D%2730%27%20height%3D%2730%27/%3E%3Crect%20x%3D%2717%27%20y%3D%2717%27%20width%3D%2730%27%20height%3D%2730%27%20transform%3D%27rotate%2845%2032%2032%29%27/%3E%3Crect%20x%3D%2727%27%20y%3D%2727%27%20width%3D%2710%27%20height%3D%2710%27%20transform%3D%27rotate%2845%2032%2032%29%27%20stroke-opacity%3D%27.8%27/%3E%3Cpath%20d%3D%27M53.2%2032H64M0%2032H10.8M32%2053.2V64M32%200V10.8%27%20stroke-opacity%3D%27.7%27/%3E%3Cpath%20d%3D%27M0%20-2.5l2.5%202.5-2.5%202.5-2.5-2.5zM64%20-2.5l2.5%202.5-2.5%202.5-2.5-2.5zM0%2061.5l2.5%202.5-2.5%202.5-2.5-2.5zM64%2061.5l2.5%202.5-2.5%202.5-2.5-2.5z%27%20fill%3D%27%23C5A568%27%20fill-opacity%3D%27.7%27%20stroke%3D%27none%27/%3E%3C/svg%3E") repeat;background-size:44px 44px;opacity:.6}
.n-r{right:0;background-position:right top;-webkit-mask-image:linear-gradient(to left,#000 0%,rgba(0,0,0,.55) 45%,transparent 100%);mask-image:linear-gradient(to left,#000 0%,rgba(0,0,0,.55) 45%,transparent 100%)}
.n-l{left:0;background-position:left top;-webkit-mask-image:linear-gradient(to right,#000 0%,rgba(0,0,0,.55) 45%,transparent 100%);mask-image:linear-gradient(to right,#000 0%,rgba(0,0,0,.55) 45%,transparent 100%)}
.ppr{position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20width%3D%27180%27%20height%3D%27180%27%3E%3Cfilter%20id%3D%27n%27%3E%3CfeTurbulence%20type%3D%27fractalNoise%27%20baseFrequency%3D%27.85%27%20numOctaves%3D%272%27%20stitchTiles%3D%27stitch%27/%3E%3CfeColorMatrix%20values%3D%270%200%200%200%20.07%200%200%200%200%20.22%200%200%200%200%20.18%200%200%200%20.7%200%27/%3E%3C/filter%3E%3Crect%20width%3D%27100%25%27%20height%3D%27100%25%27%20filter%3D%27url%28%23n%29%27/%3E%3C/svg%3E");opacity:.045}
.hero{position:relative;isolation:isolate}
.hero::before{content:"";position:absolute;z-index:-1;pointer-events:none;left:50%;top:-4px;width:min(400px,100%);height:330px;transform:translateX(-50%);background:radial-gradient(closest-side,rgba(255,252,244,.85),rgba(255,252,244,0))}
.res,.stbl,.panel{background-image:linear-gradient(180deg,rgba(255,255,255,.28),rgba(255,255,255,0) 60%);box-shadow:0 14px 30px -22px rgba(18,57,47,.5)}
.panel{background-image:radial-gradient(120% 90% at 50% 0,rgba(255,255,255,.4),transparent 62%)}
.tad{background:#EFE8D8;box-shadow:0 8px 20px -18px rgba(18,57,47,.4)}
.sbox{background:#F9F5EC;box-shadow:0 16px 32px -24px rgba(18,57,47,.55)}
.div::before{background:linear-gradient(to left,transparent,var(--au))}
.div::after{background:linear-gradient(to left,var(--au),transparent)}
footer::before{content:"";display:block;width:140px;height:1px;margin:0 auto 18px;background:linear-gradient(90deg,transparent,var(--au),transparent)}
@media(prefers-reduced-motion:no-preference){.net{animation:fi 1.8s ease both}}
.vbar{text-align:center;padding:12px 18px 6px}
.vbar p{margin:0 auto;max-width:34em;font:400 clamp(18px,4.8vw,23px)/1.9 'Amiri Quran','Amiri',serif;color:var(--g);text-wrap:balance}
.vbar p::before,.vbar p::after{content:"";display:inline-block;width:6px;height:6px;background:var(--au);transform:rotate(45deg);vertical-align:middle;margin:0 12px;opacity:.8}
.top{background:transparent;border-bottom:0;-webkit-backdrop-filter:none;backdrop-filter:none;pointer-events:none}
.top .vbar{display:block;pointer-events:auto;width:fit-content;max-width:calc(100% - 20px);height:auto;min-height:0;margin:0 auto;padding:4px 14px 8px;background:linear-gradient(180deg,#F9F5EC,#EFE8D8);border:1px solid var(--au);border-top:0;border-radius:0 0 26px 26px;box-shadow:0 14px 28px -18px rgba(18,57,47,.5),inset 0 -1px 0 rgba(255,255,255,.55)}
.top .vbar p{text-align:center;line-height:1.6;font-size:clamp(16px,4.3vw,22px);max-width:none}
.top .vbar p::before,.top .vbar p::after{margin:0 7px}
.foot{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:10px;padding-top:8px;border-top:1px solid var(--line)}
.foot .src{margin:0;padding:0;border:0}
.acts{display:flex;gap:6px;flex:none}
.acts button{display:inline-flex;align-items:center;gap:5px;padding:5px 9px;border-radius:999px;font-size:13.5px;color:var(--brand)}
.acts button:hover{background:rgba(197,165,104,.2)}
#toast{position:fixed;left:50%;bottom:calc(22px + env(safe-area-inset-bottom,0px));transform:translate(-50%,8px);background:#174B3E;color:#F5F0E5;padding:8px 18px;border-radius:999px;font-size:14px;opacity:0;pointer-events:none;transition:opacity .25s,transform .25s;z-index:30}
#toast.on{opacity:1;transform:translate(-50%,0)}

/* ===== افتتاحية الشعار: لمعة بيضاء مستمرة بمدة النشيد ===== */
.cine-shine{position:absolute;z-index:20;pointer-events:none;overflow:hidden;
 background:linear-gradient(105deg,rgba(255,255,255,0) 36%,rgba(255,255,255,.98) 50%,rgba(255,255,255,.85) 54%,rgba(255,255,255,0) 64%) no-repeat;
 background-size:260% 100%;background-position:130% 0;
 animation:cShine 4.6s cubic-bezier(.45,.05,.3,1) .4s infinite}
@keyframes cShine{0%{background-position:130% 0}46%{background-position:-30% 0}100%{background-position:-30% 0}}
.logo.cine-glow{animation:cGlow 4.6s ease-in-out .4s infinite}
@keyframes cGlow{0%{filter:drop-shadow(0 0 0 rgba(255,255,255,0))}
 23%{filter:drop-shadow(0 0 14px rgba(255,255,255,.95)) brightness(1.05)}
 52%,100%{filter:drop-shadow(0 0 0 rgba(255,255,255,0))}}
@media(prefers-reduced-motion:reduce){.cine-shine{display:none}.logo.cine-glow{animation:none}}
footer{background:linear-gradient(180deg,rgba(23,75,62,.06),rgba(23,75,62,.15));border-top:1px solid var(--line);margin-top:28px}
footer .rights{margin-top:8px;font-size:15px;font-weight:500;color:var(--brand)}
#app{min-height:55vh}
/* ===== كتب ننصح بها — كومة كتب تتفرّق عند الإشارة ===== */
.books{margin:46px 0 10px;text-align:center}
.books h2{margin-bottom:4px}
.books .bsub{color:var(--mut);font-size:14.5px;max-width:30em;margin:0 auto 6px}
.pile{position:relative;height:clamp(318px,88vw,408px);max-width:560px;margin:6px auto 0;direction:ltr}
.bk{--w:clamp(138px,38vw,178px);--x:0px;--o:0px;--y:0px;--r:0deg;--sc:1;
 position:absolute;left:50%;top:44px;width:var(--w);margin-left:calc(var(--w)/-2);aspect-ratio:440/632;display:block;
 border-radius:3px 8px 8px 3px;cursor:pointer;-webkit-tap-highlight-color:transparent;text-decoration:none;
 transform:translateX(calc(var(--x) + var(--o))) translateY(var(--y)) rotate(var(--r)) scale(var(--sc));
 transition:transform .7s cubic-bezier(.2,.8,.2,1),box-shadow .45s ease;
 box-shadow:0 20px 26px -14px rgba(10,30,24,.62),0 2px 6px rgba(10,30,24,.34)}
.bk img{display:block;width:100%;height:100%;object-fit:cover;border-radius:inherit;user-select:none;-webkit-user-drag:none}
.bk::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
 background:linear-gradient(270deg,rgba(0,0,0,.34) 0,rgba(0,0,0,0) 6%,rgba(255,255,255,.22) 8.5%,rgba(255,255,255,0) 14%),
 linear-gradient(118deg,rgba(255,255,255,.2),rgba(255,255,255,0) 38%,rgba(0,0,0,.1))}
.bk[data-i="0"]{z-index:2;--r:2.5deg}
.bk[data-i="1"]{z-index:3;--r:-.5deg}
.bk[data-i="2"]{z-index:1;--r:-3deg}
.pile.open .bk[data-i="0"]{--x:calc(var(--w)*.47);--r:7deg;--y:8px}
.pile.open .bk[data-i="1"]{--x:0px;--r:-1.5deg;--y:-6px}
.pile.open .bk[data-i="2"]{--x:calc(var(--w)*-.47);--r:-7deg;--y:8px}
.bk.on{z-index:9!important;--y:-22px!important;--r:0deg!important;--sc:1.1;
 box-shadow:0 38px 40px -18px rgba(10,30,24,.7),0 4px 10px rgba(10,30,24,.3)}
.bk .tag{position:absolute;z-index:2;left:50%;bottom:10px;direction:rtl;white-space:nowrap;opacity:0;
 transform:translate(-50%,8px);background:rgba(255,255,255,.95);color:var(--brand);font-size:12.5px;font-weight:500;line-height:1.7;
 padding:1px 11px;border-radius:999px;box-shadow:0 4px 10px -4px rgba(0,0,0,.4);transition:opacity .3s,transform .3s}
.bk.on .tag{opacity:1;transform:translate(-50%,0)}
.bk:focus-visible{outline:2px solid var(--brand);outline-offset:5px}
.books .bcap{min-height:1.8em;margin:2px 0 0;color:var(--brand);font-size:15px}
@media(prefers-reduced-motion:reduce){.bk{transition:none}}
