:root{--bg:#FAF6F2;--ink:#1F2937;--mut:#6B7280;--acc:#D97757;--acc-d:#B25A3C;--acc-l:#FBE6DC;--card:#fff;--line:#E8E1DA;--ok:#3E7C5B;--err:#B42318;--r:14px}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:"Plex Arabic",system-ui,-apple-system,"Segoe UI",Tahoma,sans-serif;line-height:1.8;font-size:16px}
a{color:inherit}
img{max-width:100%;display:block}
.wrap{width:100%;max-width:1120px;margin:0 auto;padding-inline:max(16px,env(safe-area-inset-right,0px)) max(16px,env(safe-area-inset-left,0px))}
.muted{color:var(--mut)}.small{font-size:13px}.center{text-align:center}
.narrow{max-width:620px}

/* header */
.top{position:sticky;top:0;z-index:20;background:rgba(250,246,242,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.top-in{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:64px}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:19px;text-decoration:none}
.brand-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:var(--acc);color:#fff;font-size:18px}
.brand.sm{font-size:15px;color:#fff}.brand.sm .brand-mark{width:28px;height:28px;font-size:15px}
.top nav{display:flex;gap:6px}
.top nav a{text-decoration:none;padding:6px 14px;border-radius:99px;font-weight:600;font-size:15px;color:var(--mut)}
.top nav a.on,.top nav a:hover{background:var(--acc-l);color:var(--acc-d)}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;background:var(--acc);color:#fff;font:inherit;font-weight:700;padding:11px 24px;border-radius:99px;cursor:pointer;text-decoration:none;transition:transform .12s,background .15s}
.btn:hover{background:var(--acc-d)}.btn:active{transform:scale(.98)}
.btn:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #1F2937;outline-offset:2px}
.btn-ghost{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 2px var(--ink)}.btn-ghost:hover{background:var(--ink);color:#fff}
.btn-sm{padding:6px 16px;font-size:14px}.btn-lg{padding:14px 36px;font-size:18px}.btn-block{width:100%}

/* hero */
.hero{background:var(--ink);color:#fff;position:relative;overflow:hidden}
.hero:before,.hero:after{content:"";position:absolute;border-radius:50%;background:var(--acc);opacity:.18}
.hero:before{width:420px;height:420px;inset-block-start:-160px;inset-inline-start:-120px}
.hero:after{width:300px;height:300px;inset-block-end:-140px;inset-inline-end:8%}
.hero-in{position:relative;display:grid;grid-template-columns:1.25fr 1fr;gap:40px;align-items:center;padding-block:64px}
.hero h1{font-size:clamp(28px,4.6vw,46px);line-height:1.35;margin:14px 0;font-weight:800;text-wrap:balance}
.lead{font-size:18px;color:inherit;opacity:.85;margin:0 0 22px;max-width:60ch}
.chip{display:inline-block;background:var(--acc-l);color:var(--acc-d);font-weight:700;font-size:13px;padding:2px 12px;border-radius:99px}
.hero .chip{background:rgba(217,119,87,.2);color:#F3C9B8}
.hero-cta{display:flex;gap:12px;flex-wrap:wrap}
.hero .btn-ghost{color:#fff;box-shadow:inset 0 0 0 2px rgba(255,255,255,.5)}.hero .btn-ghost:hover{background:#fff;color:var(--ink)}
.hero-points{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.hero-points li{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);border-radius:var(--r);padding:14px 18px}
.hero-points b{display:block;color:#F3C9B8}.hero-points span{font-size:14px;opacity:.8}

/* sections / grid */
.section{padding-block:44px}
.section-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:22px}
.section-head h2{margin:0;font-size:28px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:22px}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;transition:transform .18s,box-shadow .18s}
.card:hover{transform:translateY(-4px);box-shadow:0 14px 34px rgba(31,41,55,.12)}
.card-cover{display:block;aspect-ratio:3/4;background:var(--ink);overflow:hidden}
.card-cover img{width:100%;height:100%;object-fit:cover}
.card-body{padding:16px;display:flex;flex-direction:column;gap:6px;flex:1}
.card-body h3{margin:0;font-size:18px;line-height:1.5}.card-body h3 a{text-decoration:none}
.card-body p{margin:0;color:var(--mut);font-size:14px}
.card-foot{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:10px}
.price{font-weight:800;color:var(--acc-d);font-size:19px}
.empty{padding:50px 0;text-align:center;color:var(--mut)}

/* generated slides */
.gen{position:relative;width:100%;height:100%;padding:8% 9%;display:flex;flex-direction:column;justify-content:center;gap:14px;overflow:hidden;color:#fff;background:var(--ink)}
.gen-kicker{align-self:flex-start;background:rgba(255,255,255,.14);padding:2px 14px;border-radius:99px;font-size:13px;font-weight:700}
.gen-cover{background:linear-gradient(160deg,#D97757 0%,#B25A3C 55%,#1F2937 130%);align-items:flex-start}
.gen-cover h2{font-size:clamp(26px,5.4vw,42px);line-height:1.35;margin:0;font-weight:800;text-wrap:balance;position:relative}
.gen-cover p{margin:0;font-size:clamp(15px,3vw,20px);opacity:.92;position:relative}
.gen-orb{position:absolute;inset-block-end:-70px;inset-inline-end:-70px;width:240px;height:240px;border-radius:50%;background:rgba(255,255,255,.12)}
.gen-cover.mini{padding:12%}.gen-cover.mini h2{font-size:clamp(18px,3vw,24px)}
.gen-intro{background:#FAF6F2;color:var(--ink);justify-content:flex-start;padding-top:18%}
.gen-intro .gen-kicker,.gen-toc .gen-kicker{background:var(--acc-l);color:var(--acc-d)}
.gen-intro p{margin:0;font-size:clamp(14px,2.6vw,17px);line-height:1.95}
.gen-toc{background:#FAF6F2;color:var(--ink);justify-content:flex-start;padding-top:18%}
.gen-toc ol{margin:0;padding:0 22px 0 0;display:grid;gap:7px;font-weight:600;font-size:clamp(14px,2.6vw,17px)}
.gen-toc li::marker{color:var(--acc);font-weight:800}

/* book page */
.detail-grid{display:grid;grid-template-columns:minmax(0,420px) minmax(0,1fr);gap:44px;align-items:start}
.gallery{position:sticky;top:84px}
.gal-track,.slides{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.gal-track::-webkit-scrollbar,.slides::-webkit-scrollbar{display:none}
.gal-track{border-radius:var(--r);box-shadow:0 18px 44px rgba(31,41,55,.2)}
.gal-slide,.slide{flex:0 0 100%;scroll-snap-align:start;scroll-snap-stop:always}
.gal-slide .slide-frame{aspect-ratio:3/4}
.slide-frame{width:100%;height:100%;background:#111827;display:grid;place-items:stretch}
.slide-frame img{width:100%;height:100%;object-fit:contain;background:#111827}
.gal-tabs{display:flex;gap:8px;justify-content:center;margin-top:14px}
.gal-tabs button{border:1px solid var(--line);background:#fff;font:inherit;font-weight:600;padding:5px 16px;border-radius:99px;cursor:pointer;color:var(--mut)}
.gal-tabs button.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.info h1{font-size:clamp(26px,3.6vw,38px);line-height:1.4;margin:0 0 8px;text-wrap:balance}
.info .lead{color:var(--mut);opacity:1}
.meta{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}
.desc{font-size:17px;margin-bottom:26px}
.buybox{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:22px}
.price.big{font-size:34px;margin-bottom:10px}

/* forms */
.buy{display:grid;gap:12px}
.buy label,.form label{display:grid;gap:4px;font-weight:600;font-size:14px}
input,textarea,select{font:inherit;width:100%;padding:10px 14px;border:1.5px solid var(--line);border-radius:10px;background:#fff;color:var(--ink)}
input:focus,textarea:focus,select:focus{border-color:var(--acc);outline:none;box-shadow:0 0 0 3px var(--acc-l)}
textarea{min-height:120px;resize:vertical}

.alert{padding:12px 18px;border-radius:10px;margin-bottom:18px;font-weight:600}
.alert.ok{background:#EAF4EF;color:var(--ok)}.alert.err{background:#FDECEA;color:var(--err)}
.okmark{width:84px;height:84px;margin:10px auto 18px;border-radius:50%;background:var(--ok);color:#fff;font-size:46px;line-height:84px}

.foot{background:var(--ink);color:#D1D5DB;padding:34px 0;margin-top:30px;text-align:center}
.foot a{color:#F3C9B8;margin:0 10px;text-decoration:none;font-weight:600}
.foot p{margin:6px 0}

/* ===== TikTok-style feed ===== */
.feed-page{background:#000;overflow:hidden}
.reel{height:100vh;height:100dvh;overflow-y:auto;scroll-snap-type:y mandatory;scrollbar-width:none;overscroll-behavior:contain}
.reel::-webkit-scrollbar{display:none}
.reel-item{height:100vh;height:100dvh;scroll-snap-align:start;scroll-snap-stop:always;display:grid;place-items:center;background:radial-gradient(ellipse at center,#2b3445 0%,#000 75%)}
.stage{position:relative;width:min(100vw,calc(100dvh*9/16));height:100dvh;background:#000;overflow:hidden}
.stage .slides{position:absolute;inset:0;height:100%}
.stage .slide{height:100%}
.reel-top{position:absolute;inset-inline:0;top:0;padding:calc(12px + env(safe-area-inset-top,0px)) 14px 28px;display:grid;grid-template-columns:1fr auto;gap:10px 8px;align-items:center;background:linear-gradient(#000a,#0000);z-index:3;pointer-events:none}
.reel-top a{pointer-events:auto}
.seg{grid-column:1/-1;grid-row:2;display:flex;gap:5px}
.seg span{flex:1;height:3px;border-radius:3px;background:rgba(255,255,255,.35);transition:background .2s}
.seg span.on{background:#fff}
.seg-label{color:#fff;font-weight:700;font-size:13px;background:rgba(0,0,0,.35);padding:1px 12px;border-radius:99px}
.reel-rail{position:absolute;inset-inline-end:10px;inset-block-end:215px;display:grid;gap:18px;z-index:3}
.rail-btn{display:grid;justify-items:center;gap:2px;background:rgba(0,0,0,.4);color:#fff;border:0;border-radius:50%;width:52px;height:52px;padding:0;align-content:center;cursor:pointer;text-decoration:none;backdrop-filter:blur(6px)}
.rail-btn small{font-size:10px;font-weight:700;line-height:1}
.reel-bottom{position:absolute;inset-inline:0;bottom:0;padding:70px 16px calc(18px + env(safe-area-inset-bottom,0px));background:linear-gradient(#0000,#000d 55%,#000);z-index:3;color:#fff;display:grid;gap:12px}
.reel-meta h3{margin:0;font-size:21px;line-height:1.45;font-weight:800;text-wrap:balance}
.reel-meta p{margin:2px 0 0;font-size:14px;opacity:.85;line-height:1.6}
.swipe-hint{display:inline-block;margin-top:6px;font-size:12px;opacity:.7;transition:opacity .3s}
.btn-buy{width:100%;padding:13px;font-size:17px;box-shadow:0 8px 24px rgba(217,119,87,.45)}
.btn-buy b{background:rgba(255,255,255,.22);padding:0 12px;border-radius:99px}
.stage .gen{padding-top:22%}
.stage .gen-cover{justify-content:center}
.sheet{position:fixed;inset:0;z-index:50;display:flex;align-items:flex-end;justify-content:center}
.sheet[hidden]{display:none}
.sheet-bg{position:absolute;inset:0;background:rgba(0,0,0,.6)}
.sheet-card{position:relative;width:min(100%,520px);background:var(--bg);border-radius:22px 22px 0 0;padding:24px 20px calc(24px + env(safe-area-inset-bottom,0px));animation:up .22s ease-out}
.sheet-card h3{margin:0}
.sheet-x{position:absolute;inset-inline-end:14px;top:10px;border:0;background:none;font-size:30px;line-height:1;cursor:pointer;color:var(--mut)}
@keyframes up{from{transform:translateY(30px);opacity:0}to{transform:none;opacity:1}}
.noscroll{overflow:hidden}
.toast{position:fixed;inset-inline:16px;top:calc(14px + env(safe-area-inset-top,0px));margin:auto;max-width:440px;z-index:60;padding:12px 18px;border-radius:12px;font-weight:700;text-align:center;color:#fff;background:var(--ok)}
.toast.err{background:var(--err)}

@media (max-width:820px){
  .hero-in,.detail-grid{grid-template-columns:1fr}
  .hero-in{padding-block:44px}
  .gallery{position:static;max-width:420px;margin:0 auto;width:100%}
  .top nav a{padding:6px 10px;font-size:14px}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* ================= v2: خطوط وتفاصيل أرقى ================= */
:root{--fh:"Readex","Plex Arabic",system-ui,sans-serif;--shadow:0 18px 40px -12px rgba(31,41,55,.28)}
body{font-size:16.5px;font-weight:400;letter-spacing:0;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
h1,h2,h3,.brand,.price,.btn,.chip,.gal-tabs button,.seg-label{font-family:var(--fh)}
h1,h2,h3{font-weight:700;letter-spacing:-.01em}
.btn{font-weight:600;letter-spacing:0;box-shadow:0 6px 18px -6px rgba(217,119,87,.7)}
.btn-ghost{box-shadow:inset 0 0 0 2px var(--ink)}
.brand{font-weight:700}
.top{background:rgba(250,246,242,.8)}
::selection{background:var(--acc);color:#fff}

/* hero */
.hero{background:radial-gradient(1200px 500px at 85% 0,#33405a 0,transparent 60%),#1F2937}
.hero:before,.hero:after{display:none}
.hero-in{grid-template-columns:1.1fr .9fr;padding-block:56px 64px}
.hero h1{font-size:clamp(30px,5vw,52px);line-height:1.3;font-weight:700}
.hero h1 em{font-style:normal;color:#F3A98C}
.hero .lead{font-size:18px;opacity:.82}
.fan{position:relative;height:clamp(300px,42vw,420px);perspective:1400px}
.fan .bk{position:absolute;top:50%;inset-inline-start:50%;width:min(52%,230px);aspect-ratio:3/4;margin:-34% 0 0 -26%;border-radius:8px 16px 16px 8px;overflow:hidden;background:#111827;
  box-shadow:-5px 5px 0 #e8e0d6,-10px 10px 0 #d9d0c4,0 30px 50px rgba(0,0,0,.55);transition:transform .5s cubic-bezier(.2,.8,.2,1)}
[dir=rtl] .fan .bk{margin:-34% -26% 0 0}
.fan .bk img{width:100%;height:100%;object-fit:cover}
.fan .bk:after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,rgba(255,255,255,.28),transparent 35%,transparent 70%,rgba(0,0,0,.22));pointer-events:none}
.fan .bk.n0{transform:rotateY(-18deg) rotateZ(-2deg) translateZ(40px);z-index:3;animation:float 7s ease-in-out infinite}
.fan .bk.n1{transform:translateX(-62%) rotateY(-18deg) rotateZ(-9deg) scale(.88);z-index:2;filter:brightness(.82)}
.fan .bk.n2{transform:translateX(62%) rotateY(-18deg) rotateZ(7deg) scale(.82);z-index:1;filter:brightness(.7)}
.fan:hover .bk.n1{transform:translateX(-72%) rotateY(-18deg) rotateZ(-12deg) scale(.88)}
.fan:hover .bk.n2{transform:translateX(72%) rotateY(-18deg) rotateZ(10deg) scale(.82)}
@keyframes float{50%{transform:rotateY(-18deg) rotateZ(-2deg) translateZ(40px) translateY(-12px)}}
.trust{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:26px;font-size:14px;opacity:.9}
.trust span{display:inline-flex;align-items:center;gap:7px}
.trust svg{width:18px;height:18px;color:#F3A98C;flex:none}

/* cards */
.grid{gap:26px}
.card{border:0;background:transparent;overflow:visible;transition:transform .25s}
.card:hover{transform:translateY(-6px);box-shadow:none}
.card-cover{position:relative;border-radius:10px 18px 18px 10px;box-shadow:-4px 4px 0 #e8e0d6,-8px 8px 0 #ddd4c8,var(--shadow);aspect-ratio:3/4}
.card-cover:after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,rgba(255,255,255,.22),transparent 40%);pointer-events:none}
.card-cover img{border-radius:inherit}
.badge{position:absolute;top:12px;inset-inline-start:12px;z-index:2;background:#fff;color:var(--acc-d);font:700 12px var(--fh);padding:2px 12px;border-radius:99px;box-shadow:0 4px 12px #0003}
.card-body{padding:18px 4px 0}
.card-body h3{font-size:18px;line-height:1.5}
.card-body p{font-size:14.5px}
.price{font-weight:700}
.search{max-width:260px;position:relative}
.search input{padding-inline-start:40px;border-radius:99px;background:#fff}
.search svg{position:absolute;inset-inline-start:14px;top:50%;margin-top:-9px;width:18px;height:18px;color:var(--mut)}

/* صفحة الكتاب */
.trustrow{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:22px}
.trustrow div{background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 10px;text-align:center;font-size:13px;line-height:1.5;color:var(--mut)}
.trustrow b{display:block;color:var(--ink);font:600 14px var(--fh)}
.tocbox{margin:0 0 24px;background:#fff;border:1px solid var(--line);border-radius:12px}
.tocbox summary{cursor:pointer;padding:14px 18px;font:600 16px var(--fh);list-style:none;display:flex;justify-content:space-between;align-items:center}
.tocbox summary::-webkit-details-marker{display:none}
.tocbox summary:after{content:"+";font-size:22px;color:var(--acc)}
.tocbox[open] summary:after{content:"−"}
.tocbox ol{margin:0;padding:0 38px 16px 18px;display:grid;gap:4px;font-size:15.5px}.tocbox li::marker{color:var(--acc);font-weight:700}
.sharerow{display:flex;gap:10px;margin-top:16px;flex-wrap:wrap}
.sharerow a,.sharerow button{font:600 14px var(--fh);padding:7px 16px;border-radius:99px;border:1.5px solid var(--line);background:#fff;cursor:pointer;text-decoration:none;color:var(--ink)}
.sharerow a:hover,.sharerow button:hover{border-color:var(--acc);color:var(--acc-d)}
.stickybuy{display:none}
@media (max-width:820px){
  .stickybuy{position:fixed;inset-inline:0;bottom:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px max(16px,env(safe-area-inset-right,0px)) calc(10px + env(safe-area-inset-bottom,0px));background:rgba(255,255,255,.94);backdrop-filter:blur(12px);border-top:1px solid var(--line)}
  .stickybuy .price{font-size:20px}
  body.store{padding-bottom:70px}
  .fan{height:300px}.hero-in{padding-block:40px 36px}
}

/* نجاح الدفع */
.confetti{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:40}
.confetti i{position:absolute;top:-20px;width:9px;height:14px;border-radius:2px;animation:fall linear forwards}
@keyframes fall{to{transform:translateY(110vh) rotate(720deg)}}

/* تيك توك: لمسات */
.rail-btn.liked{color:#ff4d6d}.rail-btn.liked svg{fill:#ff4d6d;stroke:#ff4d6d}
.rail-btn svg{transition:transform .2s}.rail-btn.pop svg{transform:scale(1.35)}
.burst{position:absolute;z-index:6;pointer-events:none;width:110px;height:110px;margin:-55px 0 0 -55px;color:#ff4d6d;animation:burst .8s ease-out forwards}
@keyframes burst{0%{transform:scale(.3);opacity:0}25%{transform:scale(1.15);opacity:1}100%{transform:scale(1.4) translateY(-40px);opacity:0}}
.seg span{position:relative;overflow:hidden}
.seg span:after{content:"";position:absolute;inset:0;background:#fff;transform:scaleX(0);transform-origin:right}
.seg span.on:after{transform:scaleX(1)}
.seg span.run:after{animation:segrun var(--d,3.8s) linear forwards}
@keyframes segrun{to{transform:scaleX(1)}}
.seg span.on{background:rgba(255,255,255,.35)}
.reel-meta h3{font-family:var(--fh)}
.btn-buy{font-family:var(--fh);font-weight:600}
@media (max-width:820px){.hero-in{grid-template-columns:1fr}}
.stage .gen{padding-left:76px}
