:root{
  --kesar:#e8751a; --kesar-d:#c4540e; --maroon:#7a1f2b; --maroon-d:#4e0f19; --maroon-dd:#3a0a12;
  --gold:#c9973a; --gold-l:#e9c46a; --gold-ll:#f6e2ae;
  --bg:#fbf5e8; --paper:#fffdf7; --surface:#fff9ee; --line:#ead9bb; --ink:#2b1a12; --muted:#6d5747; --soft:#f4e7cf;
  --accent:var(--kesar); --accent-d:var(--kesar-d);
  --hl:#ffe14d; --hl-ink:#1e1306; --hl-glow:rgba(255,215,0,.35);
  --shadow:0 1px 2px rgba(74,32,10,.08),0 6px 20px rgba(74,32,10,.08);
  --shadow-lg:0 10px 40px rgba(60,20,5,.18);
  --r:16px; --r-sm:10px;
  --font-ui:'Mukta','Noto Sans Devanagari',system-ui,-apple-system,'Segoe UI',sans-serif;
  --font-deva:'Tiro Devanagari Hindi','Noto Serif Devanagari',serif;
  --script-size:19px;
  --topbar-h:60px; --bottom-h:64px;
  color-scheme:light;
}
html[data-mode="dark"]{
  --bg:#140d0b; --paper:#1d1411; --surface:#231915; --line:#3a2a22; --ink:#f3e6d0; --muted:#bfa58c; --soft:#2c1f19;
  --shadow:0 1px 2px rgba(0,0,0,.4),0 8px 24px rgba(0,0,0,.35);
  --hl:#ffd93d; --hl-ink:#1a1003;
  color-scheme:dark;
}
body[data-skin="spooky"]{
  --bg:#0a0b0f; --paper:#12141b; --surface:#171a23; --line:#262a36; --ink:#e7e3ea; --muted:#9a97a8; --soft:#1c1f2a;
  --accent:#c2183a; --accent-d:#8e0f28; --gold:#8fb9a8; --gold-l:#b9d6c9;
  --hl:#e8ff5a; --hl-ink:#0b0b0b;
  color-scheme:dark;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%;scroll-padding-top:80px}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-ui);font-size:16px;line-height:1.55;min-height:100vh;
  padding-bottom:calc(var(--bottom-h) + env(safe-area-inset-bottom));-webkit-tap-highlight-color:transparent;transition:background .3s,color .3s}
body.has-mini{padding-bottom:calc(var(--bottom-h) + 72px + env(safe-area-inset-bottom))}
img{max-width:100%;display:block}
a{color:inherit}
button{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--gold-l);outline-offset:2px;border-radius:6px}
.skip{position:absolute;left:-999px;top:8px;background:var(--paper);padding:8px 12px;z-index:99;border-radius:8px}
.skip:focus{left:8px}
svg{width:24px;height:24px;flex:none}
.wrap{max-width:1180px;margin:0 auto;padding:0 16px}

/* ---------- top bar ---------- */
.topbar{position:sticky;top:0;z-index:40;background:linear-gradient(180deg,var(--maroon) 0%,var(--maroon-d) 100%);color:#fbecd0;box-shadow:0 2px 14px rgba(40,5,10,.35)}
body[data-skin="spooky"] .topbar{background:linear-gradient(180deg,#1a0d12,#09090d)}
.topbar-in{max-width:1180px;margin:0 auto;height:var(--topbar-h);display:flex;align-items:center;gap:12px;padding:0 12px 0 14px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;min-width:0}
.brand-mark{width:40px;height:40px;filter:drop-shadow(0 1px 2px rgba(0,0,0,.35))}
.brand-text{display:flex;flex-direction:column;line-height:1}
.brand-hi{font-family:var(--font-deva);font-size:25px;color:#fff3da;letter-spacing:.2px;padding-top:4px}
.brand-en{font-size:10.5px;letter-spacing:3.2px;color:var(--gold-l);font-weight:600;margin-top:3px}
.topnav{display:none;gap:4px;margin-left:24px}
.topnav a{text-decoration:none;padding:8px 14px;border-radius:999px;font-weight:600;color:#f6dfbd}
.topnav a:hover,.topnav a[aria-current="page"]{background:rgba(255,255,255,.1);color:#fff}
.top-actions{margin-left:auto;display:flex;gap:4px}
.icon-btn{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:999px;border:0;background:transparent;cursor:pointer;color:inherit;text-decoration:none}
.icon-btn:hover{background:rgba(127,90,60,.14)}
.topbar .icon-btn:hover{background:rgba(255,255,255,.12)}
.toran{height:9px;background:
  radial-gradient(circle at 7px -1px,var(--gold) 5px,transparent 5.6px) 0 0/14px 9px repeat-x,
  linear-gradient(var(--maroon-d),var(--maroon-d));
  border-top:2px solid var(--gold)}
body[data-skin="spooky"] .toran{background:radial-gradient(circle at 7px -1px,#3a3f52 5px,transparent 5.6px) 0 0/14px 9px repeat-x,#09090d;border-top-color:#3a3f52}
.toran.flip{transform:scaleY(-1)}

/* ---------- bottom nav ---------- */
.bottomnav{position:fixed;left:0;right:0;bottom:0;z-index:45;height:calc(var(--bottom-h) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);
  display:grid;grid-template-columns:repeat(4,1fr);background:var(--paper);border-top:1px solid var(--line);box-shadow:0 -4px 18px rgba(60,20,5,.08)}
.bottomnav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;text-decoration:none;color:var(--muted);font-size:12.5px;font-weight:600}
.bottomnav a svg{width:23px;height:23px}
.bottomnav a[aria-current="page"]{color:var(--accent)}
.bottomnav a[aria-current="page"] svg{filter:drop-shadow(0 2px 6px rgba(232,117,26,.35))}

/* ---------- generic ---------- */
main{display:block;min-height:60vh;outline:none}
main:focus,main:focus-visible{outline:none}
.boot{display:grid;place-items:center;height:60vh}
.spinner{width:42px;height:42px;border-radius:50%;border:4px solid var(--soft);border-top-color:var(--accent);animation:spin 1s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
h1,h2,h3{font-family:var(--font-deva);font-weight:400;line-height:1.25;margin:0}
.sec-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:28px 0 12px}
.sec-head h2{font-size:23px;display:flex;align-items:center;gap:10px}
.sec-head h2 .dot{width:10px;height:10px;border-radius:3px;transform:rotate(45deg);background:var(--sec-color,var(--accent));box-shadow:0 0 0 3px color-mix(in srgb,var(--sec-color,var(--accent)) 22%,transparent)}
.sec-head a{font-weight:600;color:var(--accent);text-decoration:none;font-size:15px;display:flex;align-items:center;gap:2px;white-space:nowrap}
.sec-head a svg{width:18px;height:18px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:0 20px;border-radius:999px;border:0;cursor:pointer;font-weight:700;font-size:16px;text-decoration:none;transition:transform .12s,box-shadow .2s,background .2s}
.btn:active{transform:scale(.97)}
.btn svg{width:20px;height:20px}
.btn-primary{background:linear-gradient(180deg,#f08a24,var(--kesar-d));color:#fff;box-shadow:0 4px 14px rgba(196,84,14,.35)}
body[data-skin="spooky"] .btn-primary{background:linear-gradient(180deg,#d61f44,#8e0f28);box-shadow:0 4px 18px rgba(194,24,58,.35)}
.btn-ghost{background:var(--paper);color:var(--ink);border:1.5px solid var(--line)}
.btn-ghost:hover{border-color:var(--gold)}
.btn-wa{background:#1fa855;color:#fff}
.btn-sm{min-height:38px;padding:0 14px;font-size:14.5px}
.chip{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:999px;background:var(--paper);border:1.5px solid var(--line);font-weight:600;font-size:15px;text-decoration:none;white-space:nowrap;cursor:pointer}
.chip[aria-pressed="true"],.chip.on{background:var(--maroon);color:#fff3da;border-color:var(--maroon)}
.badge{display:inline-flex;align-items:center;gap:4px;font-size:12.5px;font-weight:700;padding:2px 9px;border-radius:999px;background:var(--soft);color:var(--muted)}
.badge svg{width:14px;height:14px}
.muted{color:var(--muted)}
.hscroll{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 16px 12px;margin:0 -16px;scrollbar-width:none}
.hscroll::-webkit-scrollbar{display:none}
.hscroll>*{scroll-snap-align:start}
.empty{padding:28px 18px;text-align:center;color:var(--muted);background:var(--paper);border:1.5px dashed var(--line);border-radius:var(--r)}

/* ---------- hero / daily ---------- */
.hero{position:relative;margin:16px 0 0;border-radius:22px;overflow:hidden;color:#fbecd0;
  background:radial-gradient(120% 90% at 85% 10%,rgba(240,138,36,.45),transparent 60%),linear-gradient(140deg,#5a1420 0%,#3a0a12 70%);
  box-shadow:var(--shadow-lg);isolation:isolate}
.hero::before{content:"";position:absolute;inset:-40% -30% auto auto;width:420px;height:420px;z-index:-1;opacity:.22;
  background:repeating-conic-gradient(from 0deg,#e9c46a 0 6deg,transparent 6deg 15deg);border-radius:50%;
  -webkit-mask:radial-gradient(circle,transparent 30%,#000 31%,#000 33%,transparent 34%,transparent 45%,#000 46%,#000 70%,transparent 71%);
          mask:radial-gradient(circle,transparent 30%,#000 31%,#000 33%,transparent 34%,transparent 45%,#000 46%,#000 70%,transparent 71%)}
.hero-in{padding:22px 20px 22px}
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:700;letter-spacing:.6px;color:var(--gold-l);text-transform:uppercase}
.eyebrow::before{content:"";width:22px;height:2px;background:var(--gold-l)}
.daily-ref{font-family:var(--font-deva);color:var(--gold-ll);margin-top:10px;font-size:15px}
.daily-sk{font-family:var(--font-deva);font-size:21px;line-height:1.65;margin:8px 0 10px;color:#fff6e3}
.daily-a{font-size:16px;color:#f2d9b5;margin:0 0 16px;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.hero-actions{display:flex;flex-wrap:wrap;gap:10px}
.hero .btn-ghost{background:rgba(255,255,255,.08);color:#fff3da;border-color:rgba(233,196,106,.45)}
.greet{font-family:var(--font-deva);font-size:15px;color:var(--muted);margin:18px 2px 0}
.greet strong{color:var(--ink);font-weight:400;font-size:24px;display:block;line-height:1.3}

/* ---------- section chips / tiles ---------- */
.chips{display:flex;gap:8px;overflow-x:auto;padding:14px 16px 2px;margin:0 -16px;scrollbar-width:none}
.chips::-webkit-scrollbar{display:none}
.tiles{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.tile{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:132px;padding:14px;border-radius:var(--r);text-decoration:none;overflow:hidden;color:#fff7e6;
  background:linear-gradient(160deg,color-mix(in srgb,var(--sec-color) 88%,#fff 12%),color-mix(in srgb,var(--sec-color) 70%,#000 30%));box-shadow:var(--shadow);isolation:isolate}
.tile::after{content:"";position:absolute;inset:auto -30px -30px auto;width:130px;height:130px;border-radius:50%;z-index:-1;opacity:.25;
  background:repeating-conic-gradient(#fff 0 8deg,transparent 8deg 20deg);-webkit-mask:radial-gradient(circle,transparent 35%,#000 36%);mask:radial-gradient(circle,transparent 35%,#000 36%)}
.tile svg.ico{position:absolute;top:12px;right:12px;width:46px;height:46px;color:rgba(255,245,225,.92)}
.tile h3{font-size:21px}
.tile p{margin:2px 0 0;font-size:13.5px;opacity:.9}
.tile .cnt{position:absolute;top:14px;left:14px;font-size:12px;font-weight:700;background:rgba(0,0,0,.22);padding:2px 9px;border-radius:999px}
.tile.spooky{background:linear-gradient(160deg,#2a1118,#07070a);color:#f0e6ea}
.tile.spooky::after{background:radial-gradient(circle,rgba(194,24,58,.9),transparent 60%);-webkit-mask:none;mask:none;opacity:.35}

/* ---------- book cards ---------- */
.card{width:148px;flex:none;text-decoration:none;display:block}
.card .cover{position:relative;aspect-ratio:2/3;border-radius:12px;overflow:hidden;background:var(--soft);box-shadow:var(--shadow)}
.card .cover img{width:100%;height:100%;object-fit:cover}
.card .cover .type{position:absolute;left:8px;bottom:8px;display:flex;gap:4px}
.card .cover .type span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:rgba(20,8,4,.68);color:#fff}
.card .cover .type svg{width:16px;height:16px}
.card h3{font-family:var(--font-ui);font-weight:700;font-size:15.5px;margin:8px 2px 0;line-height:1.3}
.card p{margin:2px 2px 0;font-size:13px;color:var(--muted)}
.card .pbar{height:4px;border-radius:4px;background:var(--soft);margin:6px 2px 0;overflow:hidden}
.card .pbar i{display:block;height:100%;background:var(--accent)}
.card.soon .cover{display:grid;place-items:center;background:
   repeating-linear-gradient(45deg,color-mix(in srgb,var(--sec-color) 14%,var(--paper)) 0 10px,color-mix(in srgb,var(--sec-color) 8%,var(--paper)) 10px 20px);
   border:1.5px dashed color-mix(in srgb,var(--sec-color) 50%,var(--line))}
.card.soon .cover .soon-in{text-align:center;padding:10px;color:var(--sec-color)}
.card.soon .cover svg{width:54px;height:54px;margin:0 auto 6px;color:var(--sec-color)}
.card.soon .cover b{font-family:var(--font-deva);font-weight:400;font-size:18px;display:block}
body[data-skin="spooky"] .card.soon .cover .soon-in,body[data-skin="spooky"] .card.soon .cover svg{color:#d35d74}
.grid-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:18px 14px}
.grid-cards .card{width:auto}

/* feature banner */
.feature{display:grid;grid-template-columns:1fr;border-radius:20px;overflow:hidden;background:var(--paper);box-shadow:var(--shadow);text-decoration:none;border:1px solid var(--line)}
.feature-img{aspect-ratio:16/9;background:#2a1208 center/cover}
.feature-body{padding:16px 18px 18px}
.feature-body h3{font-size:24px}
.feature-body p{margin:6px 0 12px;color:var(--muted)}
.feature-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}

/* continue */
.cont{display:flex;gap:12px;align-items:center;width:290px;flex:none;padding:10px;border-radius:14px;background:var(--paper);border:1px solid var(--line);text-decoration:none;box-shadow:var(--shadow)}
.cont img{width:64px;height:64px;border-radius:10px;object-fit:cover}
.cont b{display:block;font-size:15px;line-height:1.3}
.cont span{font-size:13px;color:var(--muted)}
.cont .pbar{height:4px;border-radius:4px;background:var(--soft);margin-top:6px;overflow:hidden}
.cont .pbar i{display:block;height:100%;background:var(--accent)}
.cont .go{margin-left:auto;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--accent);color:#fff;flex:none}
.cont .go svg{width:18px;height:18px}

/* ---------- section page ---------- */
.sec-banner{margin:16px 0 4px;border-radius:20px;padding:22px 20px;color:#fff7e6;position:relative;overflow:hidden;isolation:isolate;
  background:linear-gradient(150deg,color-mix(in srgb,var(--sec-color) 92%,#fff 8%),color-mix(in srgb,var(--sec-color) 60%,#000 40%))}
.sec-banner svg.ico{position:absolute;right:14px;top:50%;transform:translateY(-50%);width:110px;height:110px;opacity:.22;color:#fff}
.sec-banner h1{font-size:32px}
.sec-banner p{margin:6px 0 0;max-width:46ch;opacity:.92}
body[data-skin="spooky"] .sec-banner{background:radial-gradient(90% 120% at 90% 0,rgba(194,24,58,.4),transparent 60%),linear-gradient(160deg,#1b1016,#060609);border:1px solid #2a1d24}
body[data-skin="spooky"] .sec-banner h1{font-family:var(--font-deva);text-shadow:0 0 18px rgba(194,24,58,.6)}
.fog{position:absolute;inset:auto 0 0 0;height:60%;z-index:-1;background:radial-gradient(60% 50% at 30% 100%,rgba(200,210,230,.12),transparent 70%),radial-gradient(50% 40% at 80% 100%,rgba(200,210,230,.1),transparent 70%);animation:fog 9s ease-in-out infinite alternate}
@keyframes fog{to{transform:translateX(-30px)}}

/* ---------- book page ---------- */
.book-top{display:grid;grid-template-columns:118px 1fr;gap:16px;margin-top:18px;align-items:start}
.book-cover{border-radius:12px;overflow:hidden;box-shadow:var(--shadow-lg);aspect-ratio:2/3;background:var(--soft)}
.book-cover img{width:100%;height:100%;object-fit:cover}
.book-top h1{font-size:28px}
.book-sub{color:var(--muted);margin:4px 0 8px;font-size:15px}
.crumb{font-size:14px;margin-top:14px;color:var(--muted)}
.crumb a{color:var(--accent);text-decoration:none;font-weight:600}
.book-actions{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 6px}
.book-actions .btn-primary{flex:1 1 100%}
.desc{margin:12px 0 0;font-size:16.5px}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:16px 0 0}
.stats div{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:10px 8px;text-align:center}
.stats b{display:block;font-family:var(--font-deva);font-weight:400;font-size:21px;color:var(--accent)}
.stats span{font-size:12.5px;color:var(--muted)}
.group{margin-top:12px;border:1px solid var(--line);border-radius:14px;background:var(--paper);overflow:hidden}
.group>summary{list-style:none;display:flex;align-items:center;gap:12px;padding:10px 12px;cursor:pointer}
.group>summary::-webkit-details-marker{display:none}
.group>summary img{width:58px;height:40px;border-radius:8px;object-fit:cover}
.group>summary .gt{flex:1;min-width:0}
.group>summary b{display:block;font-family:var(--font-deva);font-weight:400;font-size:17.5px;line-height:1.3}
.group>summary span{font-size:13px;color:var(--muted)}
.group>summary .chev{transition:transform .2s;color:var(--muted)}
.group[open]>summary .chev{transform:rotate(180deg)}
.part{display:flex;align-items:center;gap:12px;padding:10px 12px;border-top:1px solid var(--line);text-decoration:none}
.part:hover{background:var(--surface)}
.part .pn{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--soft);color:var(--accent);flex:none}
.part .pn svg{width:18px;height:18px}
.part.now .pn{background:var(--accent);color:#fff}
.part .pt{flex:1;min-width:0}
.part .pt b{display:block;font-size:15.5px}
.part .pt span{font-size:13px;color:var(--muted)}
.part .pbar{height:3px;border-radius:3px;background:var(--soft);margin-top:5px;overflow:hidden}
.part .pbar i{display:block;height:100%;background:var(--accent)}
.dlbtn{width:40px;height:40px;color:var(--muted)}
.dlbtn.done{color:#1f9d55}
.dlbtn .ring{position:relative}

/* ---------- player ---------- */
.player-page{padding-bottom:210px}
.ph{display:flex;gap:12px;align-items:center;margin:14px 0 10px}
.ph img{width:64px;height:64px;border-radius:12px;object-fit:cover;box-shadow:var(--shadow)}
.ph h1{font-size:21px}
.ph .muted{font-size:14px}
.ph a{text-decoration:none}
.script-tools{position:sticky;top:calc(var(--topbar-h) + 11px);z-index:5;display:flex;gap:6px;align-items:center;padding:8px 0;background:linear-gradient(var(--bg) 70%,transparent)}
.script-tools .sync-note{font-size:12.5px;color:var(--muted);margin-left:auto;display:flex;align-items:center;gap:4px}
.script{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:12px 8px 40vh;box-shadow:var(--shadow);font-size:var(--script-size);position:relative}
.ln{display:block;width:100%;text-align:left;border:0;background:transparent;cursor:pointer;padding:6px 12px;margin:2px 0;border-radius:10px;line-height:1.7;transition:background .25s,color .25s,box-shadow .25s;color:var(--ink)}
.ln:hover{background:var(--surface)}
.ln.k-h{font-family:var(--font-deva);font-size:1.12em;color:var(--accent);margin-top:22px;padding-top:12px;border-top:1px dashed var(--line);border-radius:0}
.ln.k-h:first-child{margin-top:0;border-top:0}
.ln.k-intro{font-family:var(--font-deva);text-align:center;font-size:1.1em;color:var(--maroon)}
html[data-mode="dark"] .ln.k-intro{color:var(--gold-l)}
.ln.k-spk{font-family:var(--font-deva);color:var(--muted);font-size:.95em;text-align:center}
.ln.k-sk{font-family:var(--font-deva);font-size:1.12em;text-align:center;color:var(--maroon);line-height:1.8}
html[data-mode="dark"] .ln.k-sk,body[data-skin="spooky"] .ln.k-sk{color:var(--gold-l)}
.ln.k-lbl{cursor:default;font-size:.78em;font-weight:700;letter-spacing:.5px;color:var(--gold);padding-top:10px;padding-bottom:0;text-transform:uppercase}
.ln.k-lbl:hover{background:transparent}
.ln.k-close{font-family:var(--font-deva);text-align:center;color:var(--accent)}
.ln.on{background:var(--hl);color:var(--hl-ink);box-shadow:0 0 0 3px var(--hl-glow),0 4px 14px rgba(120,90,0,.18)}
.ln.on,.ln.on.k-sk,.ln.on.k-h,.ln.on.k-intro,.ln.on.k-close,.ln.on.k-spk{color:var(--hl-ink)!important}
.ln.past{opacity:.78}
.jump{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(var(--bottom-h) + 168px + env(safe-area-inset-bottom));z-index:30;box-shadow:var(--shadow-lg)}
.dock{position:fixed;left:0;right:0;bottom:calc(var(--bottom-h) + env(safe-area-inset-bottom));z-index:35;background:var(--paper);border-top:1px solid var(--line);box-shadow:0 -8px 30px rgba(60,20,5,.14);padding:8px 14px 10px}
body[data-skin="spooky"] .dock{box-shadow:0 -8px 30px rgba(194,24,58,.12)}
.dock-in{max-width:760px;margin:0 auto}
.seek{display:flex;align-items:center;gap:10px;font-size:12.5px;color:var(--muted);font-variant-numeric:tabular-nums}
.seek input{flex:1}
input[type=range]{-webkit-appearance:none;appearance:none;height:28px;background:transparent;cursor:pointer}
input[type=range]::-webkit-slider-runnable-track{height:5px;border-radius:5px;background:linear-gradient(90deg,var(--accent) var(--p,0%),var(--soft) var(--p,0%))}
input[type=range]::-moz-range-track{height:5px;border-radius:5px;background:var(--soft)}
input[type=range]::-moz-range-progress{height:5px;border-radius:5px;background:var(--accent)}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;border-radius:50%;background:var(--accent);margin-top:-6.5px;border:3px solid var(--paper);box-shadow:0 1px 4px rgba(0,0,0,.3)}
input[type=range]::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--accent);border:3px solid var(--paper)}
.ctrls{display:flex;align-items:center;justify-content:space-between;gap:4px;margin-top:2px}
.ctrls .icon-btn svg{width:28px;height:28px}
.ctrls .play{width:62px;height:62px;background:linear-gradient(180deg,#f08a24,var(--kesar-d));color:#fff;box-shadow:0 6px 18px rgba(196,84,14,.4)}
body[data-skin="spooky"] .ctrls .play{background:linear-gradient(180deg,#d61f44,#8e0f28)}
.ctrls .play svg{width:30px;height:30px}
.pill{min-width:54px;height:36px;border-radius:999px;border:1.5px solid var(--line);background:var(--surface);font-weight:700;font-size:14px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:0 10px}
.pill svg{width:17px;height:17px}
.pill.on{border-color:var(--accent);color:var(--accent)}
.sheet-bg{position:fixed;inset:0;background:rgba(20,8,4,.45);z-index:60;display:flex;align-items:flex-end;justify-content:center;animation:fade .2s}
.sheet{background:var(--paper);width:100%;max-width:520px;border-radius:22px 22px 0 0;padding:10px 18px calc(22px + env(safe-area-inset-bottom));box-shadow:var(--shadow-lg);animation:up .25s}
.sheet h3{font-size:21px;margin:10px 0 12px}
.sheet .grab{width:44px;height:5px;border-radius:5px;background:var(--line);margin:0 auto}
.sheet .opts{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.sheet .opts button{min-height:50px;border-radius:14px;border:1.5px solid var(--line);background:var(--surface);font-weight:700;cursor:pointer}
.sheet .opts button.on{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,var(--paper));color:var(--accent)}
@keyframes fade{from{opacity:0}}
@keyframes up{from{transform:translateY(40px);opacity:.4}}

/* mini player */
.mini{position:fixed;left:8px;right:8px;bottom:calc(var(--bottom-h) + 8px + env(safe-area-inset-bottom));z-index:44;display:flex;align-items:center;gap:10px;padding:8px 8px 10px;border-radius:16px;
  background:linear-gradient(135deg,var(--maroon),var(--maroon-dd));color:#fbecd0;box-shadow:var(--shadow-lg);overflow:hidden}
body[data-skin="spooky"] .mini{background:linear-gradient(135deg,#25121a,#0b0b10)}
.mini button{background:transparent;border:0;cursor:pointer;padding:0;text-align:left}
.mini-art img{width:46px;height:46px;border-radius:10px;object-fit:cover}
.mini-meta{flex:1;min-width:0;display:flex;flex-direction:column}
.mini-title{font-weight:700;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mini-sub{font-size:12.5px;opacity:.8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mini-play{background:rgba(255,255,255,.12)!important;width:46px;height:46px;border-radius:50%;display:grid;place-items:center}
.mini-progress{position:absolute;left:0;right:0;bottom:0;height:3px;background:rgba(255,255,255,.12)}
.mini-progress i{display:block;height:100%;width:0;background:var(--gold-l)}

/* search */
.searchbox{position:relative;margin-top:16px}
.searchbox input{width:100%;height:54px;border-radius:16px;border:1.5px solid var(--line);background:var(--paper);padding:0 16px 0 48px;font:inherit;font-size:17px;color:var(--ink);box-shadow:var(--shadow)}
.searchbox input:focus{outline:none;border-color:var(--accent)}
.searchbox svg{position:absolute;left:15px;top:15px;color:var(--muted)}
.res-group h3{font-family:var(--font-ui);font-weight:700;font-size:14px;letter-spacing:.4px;color:var(--muted);margin:22px 2px 8px;text-transform:uppercase}
.res{display:block;padding:12px 14px;border-radius:12px;background:var(--paper);border:1px solid var(--line);margin-bottom:8px;text-decoration:none}
.res b{display:block;font-size:15px}
.res span{font-size:13.5px;color:var(--muted)}
.res mark{background:var(--hl);color:var(--hl-ink);border-radius:3px;padding:0 2px}
.res .rt{font-family:var(--font-deva);font-size:16.5px;line-height:1.6;color:var(--ink);display:block;margin-top:2px}

/* library */
.lib-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:14px;background:var(--paper);border:1px solid var(--line);margin-bottom:8px}
.lib-item img{width:52px;height:52px;border-radius:10px;object-fit:cover}
.lib-item .t{flex:1;min-width:0}
.lib-item b{display:block;font-size:15px}
.lib-item span{font-size:13px;color:var(--muted)}
.settings{display:grid;gap:10px;margin-top:6px}
.setrow{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;background:var(--paper);border:1px solid var(--line);border-radius:14px}
.seg{display:inline-flex;border:1.5px solid var(--line);border-radius:999px;overflow:hidden}
.seg button{border:0;background:transparent;padding:7px 12px;font-weight:700;cursor:pointer;font-size:14px}
.seg button.on{background:var(--maroon);color:#fff3da}

/* footer */
.site-footer{margin-top:48px;background:var(--maroon-dd);color:#e8cfae}
body[data-skin="spooky"] .site-footer{background:#07070a;color:#8d8a99}
.footer-in{max-width:1180px;margin:0 auto;padding:22px 16px 26px}
.footer-brand{display:flex;gap:12px;align-items:center;font-family:var(--font-deva)}
.footer-brand strong{font-weight:400;font-size:22px;color:#fff3da}
.footer-links{display:flex;flex-wrap:wrap;gap:6px 16px;margin:16px 0}
.footer-links a{text-decoration:none;color:#f0d9b8;font-size:15px}
.footer-note{font-size:13px;opacity:.75;margin:0}
.toast{position:fixed;left:50%;bottom:calc(var(--bottom-h) + 180px);transform:translate(-50%,20px);background:#21130d;color:#fff3da;padding:10px 16px;border-radius:12px;font-weight:600;opacity:0;pointer-events:none;transition:.25s;z-index:80;max-width:90vw;text-align:center}
.toast.show{opacity:1;transform:translate(-50%,0)}
.install{display:flex;gap:12px;align-items:center;margin-top:18px;padding:12px 14px;border-radius:16px;background:linear-gradient(135deg,color-mix(in srgb,var(--gold-l) 35%,var(--paper)),var(--paper));border:1px solid var(--line)}
.install img{width:44px;height:44px;border-radius:10px}
.install div{flex:1;font-size:14.5px;line-height:1.35}
.install b{display:block;font-size:15.5px}
.note{font-size:14px;padding:12px 14px;border-radius:12px;background:var(--surface);border:1px solid var(--line);color:var(--muted)}


/* ---------- ebook / audiobook split ---------- */
.bottomnav{grid-template-columns:repeat(5,1fr)}
.bottomnav a{font-size:11.5px}
.modes{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}
.mode{position:relative;display:flex;flex-direction:column;gap:2px;padding:16px 14px 14px;border-radius:18px;text-decoration:none;color:#fff7e6;overflow:hidden;box-shadow:var(--shadow);isolation:isolate}
.mode svg{width:34px;height:34px;margin-bottom:6px}
.mode b{font-family:var(--font-deva);font-weight:400;font-size:23px;line-height:1.2}
.mode span{font-size:13px;opacity:.9}
.mode::after{content:"";position:absolute;right:-26px;bottom:-26px;width:110px;height:110px;border-radius:50%;z-index:-1;opacity:.22;background:repeating-conic-gradient(#fff 0 8deg,transparent 8deg 20deg);-webkit-mask:radial-gradient(circle,transparent 35%,#000 36%);mask:radial-gradient(circle,transparent 35%,#000 36%)}
.mode-a{background:linear-gradient(150deg,#e8751a,#9a3a0c)}
.mode-e{background:linear-gradient(150deg,#8a2433,#4e0f19)}
body[data-skin="spooky"] .mode-a,body[data-skin="spooky"] .mode-e{background:linear-gradient(150deg,#2a1118,#07070a)}
.shelf-head{margin-top:16px}
.seg.big{display:flex;width:100%;border-width:2px}
.seg.big a{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:11px 8px;text-decoration:none;font-weight:700;font-size:16px}
.seg.big a svg{width:20px;height:20px}
.seg.big a.on{background:var(--maroon);color:#fff3da}
body[data-skin="spooky"] .seg.big a.on{background:#8e0f28}

/* ---------- watermark + protection ---------- */
.script{position:relative}
.wm{position:absolute;inset:0;pointer-events:none;z-index:3;background-repeat:repeat;background-size:380px 230px;border-radius:inherit}
.wm + .ln.k-h{margin-top:0;border-top:0}
.script,.reader,.daily-sk,.daily-a{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
img,canvas{-webkit-user-drag:none;-webkit-touch-callout:none;user-select:none}
body.shield main{filter:blur(22px) saturate(.6);transition:filter .1s}
body.shield .dock,body.shield .reader-bar{filter:blur(6px)}
/* ---- दान पात्र ---- */
.daan{position:relative;margin:14px 0 0;padding:16px 16px 14px;border-radius:22px;overflow:hidden;isolation:isolate;color:#fbecd0;
  background:radial-gradient(120% 90% at 0% 0%,rgba(232,117,26,.35),transparent 60%),linear-gradient(155deg,#7a1f2b 0%,#4e0f19 60%,#3a0a12 100%);
  border:1.5px solid rgba(233,196,106,.45);box-shadow:var(--shadow)}
.daan::before{content:"";position:absolute;right:-60px;top:-60px;width:200px;height:200px;border-radius:50%;z-index:-1;opacity:.16;
  background:repeating-conic-gradient(#e9c46a 0 6deg,transparent 6deg 15deg);-webkit-mask:radial-gradient(circle,transparent 30%,#000 31%,#000 68%,transparent 69%);mask:radial-gradient(circle,transparent 30%,#000 31%,#000 68%,transparent 69%)}
.daan::after{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:repeating-linear-gradient(90deg,#e9c46a 0 10px,#e8751a 10px 20px);opacity:.85}
.daan-top{display:flex;align-items:center;gap:10px}
.daan-diya{width:48px;height:48px;flex:none;filter:drop-shadow(0 0 8px rgba(255,190,80,.45))}
.daan-flame{transform-origin:32px 30px;animation:daanFlick 2.4s ease-in-out infinite}
@keyframes daanFlick{0%,100%{transform:scale(1,1) rotate(0)}30%{transform:scale(.94,1.06) rotate(-2deg)}60%{transform:scale(1.04,.96) rotate(2deg)}}
.daan-tt h2{margin:0;font-family:var(--font-deva);font-weight:400;font-size:27px;line-height:1.15;color:var(--gold-ll)}
.daan-tt span{display:block;font-size:13.5px;color:#f1d9b0;opacity:.95}
.daan-msg{margin-top:10px;font-family:var(--font-deva);font-size:15.5px;line-height:1.6;color:#fbecd0}
.daan-msg p{margin:0 0 6px}
.daan-msg p:not(:first-child){display:none}
.daan.open .daan-msg p{display:block}
.daan-sign{text-align:right;color:var(--gold-l);font-size:14px}
.daan-more{background:none;border:0;padding:2px 0 4px;color:var(--gold-l);font:inherit;font-weight:700;font-size:14px;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.daan-pay{display:flex;gap:14px;align-items:flex-start;margin-top:10px}
.daan-qr{flex:none;width:124px;text-align:center}
.daan-qr img{width:124px;height:124px;background:#fff;border-radius:12px;padding:5px;border:2px solid var(--gold-l);box-shadow:0 4px 14px rgba(0,0,0,.25)}
.daan-qr small{display:block;font-size:12px;margin-top:4px;color:#f1d9b0}
.daan-save{display:inline-block;margin-top:2px;font-size:12.5px;color:var(--gold-l);font-weight:700}
.daan-act{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px}
.daan-btn{width:100%;min-height:50px;font-size:17px;padding:0 12px;text-align:center}
.daan-note{margin:-2px 0 0;font-size:12.5px;color:#f1d9b0;text-align:center}
.daan-amts{display:flex;gap:6px;flex-wrap:wrap}
.daan-amt{flex:1 1 0;min-width:46px;text-align:center;padding:6px 0;border-radius:999px;border:1.5px solid rgba(233,196,106,.55);color:var(--gold-ll);font-weight:700;font-size:14.5px;text-decoration:none;background:rgba(255,255,255,.06)}
.daan-amt:active{transform:scale(.96)}
.daan-copy{flex:none;border:0;border-radius:999px;padding:6px 12px;background:var(--gold-l);color:#3a0a12;font:inherit;font-weight:700;font-size:13.5px;cursor:pointer}
.daan-copy:active{transform:scale(.95)}
.daan-id{display:grid;grid-template-columns:1fr auto;align-items:center;gap:4px 8px;background:rgba(0,0,0,.22);border:1px dashed rgba(233,196,106,.5);border-radius:12px;padding:7px 8px 7px 10px}
.daan-id span{font-size:12px;color:#f1d9b0;line-height:1}
.daan-id code{grid-column:1/-1;grid-row:2;font-family:var(--font-ui);font-weight:700;font-size:16px;letter-spacing:.3px;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-webkit-user-select:all;user-select:all}
.daan-copy{grid-column:2;grid-row:1;border:0;border-radius:999px;padding:5px 12px;background:var(--gold-l);color:#3a0a12;font:inherit;font-weight:700;font-size:13.5px;cursor:pointer}
.daan-copy:active{transform:scale(.95)}
.daan-hisab{margin-top:12px;padding-top:10px;border-top:1px solid rgba(233,196,106,.3);font-size:13.5px;color:#f1d9b0}
.daan-hisab b{color:var(--gold-ll)}
.daan-hisab ul{margin:6px 0 0;padding-left:18px}
@media (max-width:360px){.daan-qr,.daan-qr img{width:108px}.daan-qr img{height:108px}.daan-btn{font-size:15.5px}}
@media (min-width:720px){
  .daan{padding:20px 24px 16px}
  .daan-msg p:not(:first-child){display:block}
  .daan-more{display:none}
  .daan-pay{gap:22px}
  .daan-qr,.daan-qr img{width:150px}.daan-qr img{height:150px}
  .daan-act{max-width:440px}
}
@media print{body *{display:none!important}body::after{content:"ज्ञानसागर: प्रिंट की अनुमति नहीं है";display:block;padding:40px;font-size:20px}}

/* ---------- reader ---------- */
body.reading .bottomnav,body.reading .mini,body.reading .site-footer,body.reading .topbar{display:none!important}
body.reading{padding-bottom:0!important;background:#5b5551}
html[data-mode="dark"] body.reading{background:#0e0b0a}
.reader-bar{position:sticky;top:0;z-index:30;background:linear-gradient(180deg,var(--maroon),var(--maroon-d));color:#fbecd0;box-shadow:0 2px 12px rgba(0,0,0,.3)}
.reader-bar-in{max-width:960px;margin:0 auto;display:flex;align-items:center;gap:6px;height:58px;padding:0 8px}
.reader-bar .icon-btn svg.flip{transform:rotate(180deg)}
.rb-title{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.2}
.rb-title b{font-family:var(--font-deva);font-weight:400;font-size:17px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rb-page{background:none;border:0;color:var(--gold-l);font-weight:700;font-size:13px;padding:0;text-align:left;cursor:pointer}
.reader-bar .pill{background:rgba(255,255,255,.08);border-color:rgba(233,196,106,.4);color:#fff3da;min-width:46px}
.reader{padding:12px 8px 60px;display:flex;flex-direction:column;align-items:center;gap:12px}
.reader.zoomed{align-items:flex-start;overflow-x:auto}
.pg{position:relative;flex:none;background:#fff;box-shadow:0 4px 18px rgba(0,0,0,.35);border-radius:3px;overflow:hidden}
.pg canvas{display:block;width:100%;height:100%}
.pg-n{position:absolute;inset:0;display:grid;place-items:center;color:#c9b8a4;font-size:28px;font-family:var(--font-deva)}
.pg.done .pg-n{display:none}
.pg-shield{position:absolute;inset:0;z-index:2}
.rd-load{display:grid;place-items:center;gap:10px;min-height:60vh;color:#f3e6d0}

@media (min-width:720px){
  .hero-in{padding:34px 36px;max-width:760px}
  .daily-sk{font-size:25px}
  .tiles{grid-template-columns:repeat(5,1fr)}
  .modes{gap:18px}
  .mode{padding:22px 22px 20px}
  .mode b{font-size:30px}
  .shelf-head .seg.big{max-width:520px}
  .card{width:164px}
  .feature{grid-template-columns:1.25fr 1fr}
  .feature-img{aspect-ratio:auto;min-height:280px}
  .feature-body{padding:26px 28px;display:flex;flex-direction:column;justify-content:center}
  .book-top{grid-template-columns:220px 1fr;gap:28px}
  .book-top h1{font-size:38px}
  .book-actions .btn-primary{flex:0 0 auto}
  .stats{max-width:480px}
  .sec-banner{padding:34px 36px}
  .sec-banner h1{font-size:42px}
}
@media (min-width:960px){
  body{padding-bottom:0}
  body.has-mini{padding-bottom:90px}
  .topnav{display:flex}
  .bottomnav{display:none}
  .mini{left:auto;right:20px;bottom:20px;width:380px}
  .dock{bottom:0}
  .jump{bottom:150px}
  .player-wrap{display:grid;grid-template-columns:300px 1fr;gap:28px;align-items:start}
  .player-side{position:sticky;top:90px}
  .toast{bottom:40px}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
