/* ═══════════════════════════════════════════════════════════════
   اپِ درون — کتابخانه‌ی تازه (مهر ۱۴۰۵)
   پیداکن و وضعیت با یک لمس، خانه‌ی کتابخانه (/library)، برگه‌ی کتاب، و پرداختِ نماهای قدیمی.
   بعد از a/app/app.css و extra.css بار می‌شود. رنگ فقط از --d-*؛ کلاس‌های تازه با پیشوندِ lb-.
   هر دو تم (شب پیش‌فرض، کاغذ) از همان توکن‌ها؛ letter-spacing روی فارسی هرگز.
   ═══════════════════════════════════════════════════════════════ */

/* فاصله‌ی کناره‌ها: ریل‌ها و سرِ برگه تا لبه می‌روند */
.dapp{--lb-gut:16px}
@media (min-width:900px){.dapp{--lb-gut:36px}}
.dapp .sheet{--lb-gut:28px}
@media (max-width:767.98px){.dapp .sheet{--lb-gut:16px}}

@keyframes lb-pop{0%{transform:scale(.6)}60%{transform:scale(1.18)}100%{transform:scale(1)}}
@keyframes lb-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes lb-coverin{from{opacity:0;transform:translateY(14px) rotate(-6deg) scale(.94)}to{opacity:1;transform:rotate(-2.5deg)}}
@keyframes lb-busy{50%{opacity:.55}}

/* ═══════════════════ پایه ═══════════════════ */
.dapp :is(.lb-st-b,.lb-st-dots,.lb-st-rm,.lb-tab,.lb-mark,.lb-tile-open,.lb-ask,.lb-heart,.lb-hbtn,.lb-hbtn2,.lb-back,
  .lb-now-t,.lb-row-t,.lb-chip-btn,.lb-bump,.lb-more > summary,.dl-clear,.dl-scan,.dseg a,.dl-mode button,.dchip,
  .lb-f-x,.lb-f-scan,.lb-rate,.dlink,.dbtn,.cover-card,.qcard,.loan-card):focus-visible{
  outline:2px solid var(--d-acc);outline-offset:2px}
.dapp .lb-rate:focus-visible{outline-offset:4px}

.dapp .lb-avg{display:inline-flex;align-items:center;gap:3px;color:var(--d-ink);font-weight:600;font-variant-numeric:tabular-nums}
.dapp .lb-avg .ic{width:14px;height:14px;color:var(--d-acc)}
.dapp .lb-avg i{font-style:normal;font-weight:400;color:var(--d-sub);font-size:.92em}
.dapp .lb-badge{display:inline-flex;align-items:center;font-size:11px;font-weight:600;line-height:1.7;padding:0 9px;border-radius:99px;
  background:var(--d-acc-soft);color:var(--d-acc)}
.dapp .lb-badge.blue{background:color-mix(in srgb,var(--d-blue) 16%,transparent);color:var(--d-blue)}
.dapp .lb-badge.ok{background:color-mix(in srgb,var(--d-ok) 16%,transparent);color:var(--d-ok)}
.dapp .lb-pill{display:inline-flex;align-items:center;font-size:11.5px;font-weight:600;padding:2px 10px;border-radius:99px;
  background:var(--d-surf3);color:var(--d-sub)}
.dapp .lb-chips{display:flex;flex-wrap:wrap;gap:6px}
.dapp .lb-chip{display:inline-flex;align-items:center;min-height:30px;padding:0 12px;border-radius:99px;background:var(--d-surf2);
  font-size:12.5px;color:var(--d-ink2)}
.dapp .lb-none{font-size:13.5px;color:var(--d-sub);margin:4px 2px 0}

/* اسکلتِ بارگذاری */
.dapp .lb-sk{display:block;background:linear-gradient(90deg,var(--d-surf) 0%,var(--d-surf2) 40%,var(--d-surf) 80%) 0 0/200% 100%;
  animation:d-shimmer 1.4s linear infinite;border-radius:var(--d-r-sm)}
.dapp .sheet .lb-sk{background-image:linear-gradient(90deg,var(--d-surf2) 0%,var(--d-surf3) 40%,var(--d-surf2) 80%)}
.dapp .lb-sk-row{height:104px;border-radius:18px}
.dapp .lb-skel{display:flex;flex-direction:column;gap:16px;padding-top:6px}
.dapp .lb-sk-tabs{height:44px;width:min(560px,100%);border-radius:14px}
.dapp .lb-sk-now{height:128px;border-radius:20px}
.dapp .lb-sk-h{height:22px;width:40%;border-radius:8px;margin-top:6px}
.dapp .lb-sk-rail{display:flex;gap:14px;overflow:hidden}
.dapp .lb-sk-rail .lb-cov{flex:0 0 112px}

/* ═══════════════════ جلد ═══════════════════ */
.dapp .lb-cov{position:relative;display:block;width:100%;aspect-ratio:2/3;border-radius:7px;overflow:hidden;background:var(--d-surf2);
  box-shadow:0 10px 22px -14px rgba(0,0,0,.75),0 0 0 1px color-mix(in srgb,var(--d-ink) 6%,transparent)}
.dapp .lb-cov img{display:block;width:100%;height:100%;object-fit:cover}
.dapp .lb-cov-fake{position:relative;display:flex;flex-direction:column;justify-content:space-between;width:100%;height:100%;
  padding:12px 10px;background:var(--c);color:var(--fgc);
  background-image:linear-gradient(90deg,rgba(0,0,0,.24) 0,rgba(255,255,255,.08) 7%,transparent 16%),
    linear-gradient(160deg,rgba(255,255,255,.10),transparent 55%)}
.dapp .lb-cov-fake b{font-size:13px;font-weight:600;line-height:1.55;overflow:hidden;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;
  unicode-bidi:plaintext}
.dapp .lb-cov-fake i{font-style:normal;font-size:10.5px;opacity:.75;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;unicode-bidi:plaintext}
.dapp .lb-cov.sm .lb-cov-fake{padding:6px 5px}
.dapp .lb-cov.sm .lb-cov-fake b{font-size:9.5px;-webkit-line-clamp:4}
.dapp .lb-cov.sm .lb-cov-fake i{display:none}
.dapp .lb-cov-p{position:absolute;inset-inline:0;bottom:0;height:4px;background:rgba(0,0,0,.4)}
.dapp .lb-cov-p i{display:block;height:100%;background:var(--d-acc)}

/* ═══════════════════ دکمه‌های وضعیت ═══════════════════ */
.dapp .lb-stw{margin-top:10px}
.dapp .lb-st{display:flex;gap:6px;min-width:0}
.dapp .lb-st-b{--k:var(--d-ink2);flex:1 1 0;min-width:0;display:inline-flex;align-items:center;justify-content:center;gap:5px;
  min-height:42px;padding:4px 8px;border-radius:13px;background:var(--d-surf2);color:var(--d-ink2);border:1.5px solid transparent;
  font-size:12.5px;font-weight:600;line-height:1.3;text-align:center;-webkit-tap-highlight-color:transparent;
  transition:background .2s var(--d-ease),color .2s,border-color .2s,transform .12s var(--d-ease)}
.dapp .lb-st-b span{min-width:0;overflow-wrap:break-word}
.dapp .lb-st-b .ic{width:16px;height:16px;flex:none}
.dapp .lb-st-b:hover{color:var(--d-ink)}
.dapp .lb-st-b:active{transform:scale(.95)}
.dapp .lb-st-b.k-want{--k:var(--d-blue)}
.dapp .lb-st-b.k-reading{--k:var(--d-acc)}
.dapp .lb-st-b.k-read{--k:var(--d-ok)}
.dapp .lb-st-b.k-dnf{--k:var(--d-sub)}
.dapp .lb-st-b.on{background:color-mix(in srgb,var(--k) 17%,transparent);color:var(--k);border-color:color-mix(in srgb,var(--k) 55%,transparent)}
.dapp .lb-st-b.k-dnf.on{background:var(--d-surf3);color:var(--d-ink2);border-color:var(--d-line2)}
.dapp .lb-st-b.on .ic{animation:lb-pop .35s var(--d-spring)}
.dapp .lb-stw.busy .lb-st-b{pointer-events:none}
.dapp .lb-stw.busy .lb-st-b.on{animation:lb-busy 1s ease-in-out infinite}
.dapp .lb-st-dots{flex:none;width:42px;min-height:42px;border-radius:13px;background:var(--d-surf2);color:var(--d-sub);
  font-size:20px;line-height:1;display:grid;place-items:center}
.dapp .lb-st-dots[aria-expanded="true"]{background:var(--d-surf3);color:var(--d-ink)}
.dapp .lb-st-more{display:flex;gap:6px;margin-top:6px;animation:lb-in .2s var(--d-ease)}
.dapp .lb-st-more .lb-st-b{flex:0 1 auto;padding-inline:14px}
.dapp .lb-st-rm{display:inline-flex;align-items:center;gap:5px;min-height:42px;padding:0 14px;border-radius:13px;font-size:12.5px;font-weight:600;
  color:var(--d-bad);background:color-mix(in srgb,var(--d-bad) 10%,transparent)}
.dapp .lb-st-rm .ic{width:15px;height:15px}
.dapp .lb-st-x:empty{display:none}
.dapp .lb-st-x{margin-top:8px;animation:lb-in .25s var(--d-ease)}
.dapp .lb-x-rate{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:13px;color:var(--d-sub)}
.dapp .lb-x-page{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.dapp .lb-chip-btn{display:inline-flex;align-items:center;gap:6px;min-height:38px;padding:0 14px;border-radius:99px;font-size:13px;font-weight:600;
  color:var(--d-acc);background:var(--d-acc-soft)}
.dapp .lb-chip-btn .ic{width:16px;height:16px}
.dapp .lb-x-done{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--d-ok);font-weight:600}
.dapp .lb-x-done .ic{width:16px;height:16px}
.dapp .lb-pg-in{width:110px;min-height:42px;padding:0 12px;border-radius:12px;border:1.5px solid var(--d-line2);background:var(--d-surf);
  color:var(--d-ink);font:inherit;font-size:16px;text-align:center;outline:none;font-variant-numeric:tabular-nums}
.dapp .lb-pg-in:focus{border-color:var(--d-acc);box-shadow:0 0 0 4px var(--d-acc-soft)}
.dapp .lb-pg-in.sm{width:96px;min-height:38px}

/* برگه‌ی کتاب: چهار تکه، آیکن بالای نام */
.dapp .lb-stw.lg{margin-top:0}
.dapp .lb-stw.lg .lb-st{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding:5px;border-radius:20px;
  background:color-mix(in srgb,var(--d-surf) 72%,transparent);border:1px solid var(--d-line);
  -webkit-backdrop-filter:blur(12px) saturate(1.3);backdrop-filter:blur(12px) saturate(1.3)}
.dapp .lb-stw.lg .lb-st-b{flex-direction:column;gap:4px;min-height:62px;padding:8px 4px;border-radius:15px;background:transparent;font-size:12px}
.dapp .lb-stw.lg .lb-st-b .ic{width:20px;height:20px}
.dapp .lb-stw.lg .lb-st-b.on{background:color-mix(in srgb,var(--k) 18%,var(--d-surf))}
.dapp .lb-stw.lg .lb-st-b.k-dnf.on{background:var(--d-surf3)}

/* انتخابِ وضعیت در برگه‌ی «خودت اضافه‌اش کن» */
.dapp .lb-pick{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
@media (min-width:480px){.dapp .lb-pick{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* ═══════════════════ ستاره ═══════════════════ */
.dapp .lb-rate{display:inline-flex;direction:ltr;border-radius:10px;cursor:pointer;touch-action:manipulation;user-select:none;-webkit-user-select:none}
.dapp .lb-star{display:grid;place-items:center;width:34px;height:42px;font-size:27px;line-height:1;color:var(--d-surf3);transition:color .12s,transform .12s var(--d-spring)}
.dapp .lb-star.full{color:var(--d-acc)}
.dapp .lb-star.half{color:transparent;background:linear-gradient(90deg,var(--d-acc) 50%,var(--d-surf3) 50%);-webkit-background-clip:text;background-clip:text}
.dapp .lb-rate:active .lb-star.full{transform:scale(1.08)}
/* ستاره‌ی نیمه‌ی قدیمی: currentColor در گرادیانِ متنِ شفاف خودش شفاف می‌شد */
.dapp .k-stars .st.half{color:transparent;background:linear-gradient(90deg,var(--k-star) 50%,rgba(128,128,128,.28) 50%);
  -webkit-background-clip:text;background-clip:text}
.dapp .star-input .st.half{color:transparent;background:linear-gradient(90deg,var(--k-star) 50%,rgba(128,128,128,.25) 50%);
  -webkit-background-clip:text;background-clip:text}

/* ═══════════════════ ردیفِ نتیجه ═══════════════════ */
.dapp .lb-rows{display:grid;gap:10px;grid-template-columns:minmax(0,1fr)}
@media (min-width:900px){.dapp .ds-view .lb-rows{grid-template-columns:repeat(auto-fill,minmax(min(420px,100%),1fr))}}
.dapp .lb-row{padding:12px;border-radius:18px;background:var(--d-surf);border:1px solid var(--d-line);min-width:0;
  animation:lb-in .3s var(--d-ease) both}
.dapp .sheet .lb-row{background:var(--d-surf2);border-color:transparent}
.dapp .sheet .lb-row .lb-st-b,.dapp .sheet .lb-row .lb-st-dots{background:var(--d-surf3)}
.dapp .sheet .lb-row .lb-st-b.on{background:color-mix(in srgb,var(--k) 18%,var(--d-surf2))}
.dapp .lb-row-top{display:flex;gap:12px;align-items:flex-start;min-width:0}
.dapp .lb-row-cov{flex:none;width:58px;border-radius:7px;-webkit-tap-highlight-color:transparent}
.dapp .lb-row-b{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}
.dapp .lb-row-t{font-size:15px;font-weight:600;line-height:1.55;text-align:start;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;
  -webkit-box-orient:vertical;unicode-bidi:plaintext;align-self:stretch}
.dapp .lb-row-t:hover{color:var(--d-acc)}
.dapp .lb-row-alt{font-size:12px;color:var(--d-sub);unicode-bidi:plaintext;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.dapp .lb-row-a{font-size:13px;color:var(--d-ink2);unicode-bidi:plaintext;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.dapp .lb-row-tr{font-size:12px;color:var(--d-sub);unicode-bidi:plaintext;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.dapp .lb-row-m{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;font-size:12px;color:var(--d-sub);margin-top:3px}

/* ═══════════════════ کاشی و ریل ═══════════════════ */
.dapp .lb-rail{display:flex;gap:14px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:none;
  margin-inline:calc(-1 * var(--lb-gut));padding:4px var(--lb-gut) 10px;scroll-padding-inline:var(--lb-gut)}
.dapp .lb-rail::-webkit-scrollbar{display:none}
.dapp .lb-rail > *{flex:0 0 112px;scroll-snap-align:start}
@media (min-width:640px){.dapp .lb-rail > *{flex-basis:128px}}
.dapp .lb-tile{position:relative;min-width:0}
.dapp .lb-tile-open{display:flex;flex-direction:column;gap:6px;width:100%;text-align:start;border-radius:8px;-webkit-tap-highlight-color:transparent}
.dapp .lb-tile-open .lb-cov{transition:transform .22s var(--d-ease),box-shadow .22s}
.dapp .lb-tile-open:hover .lb-cov{transform:translateY(-4px);box-shadow:0 18px 28px -16px rgba(0,0,0,.8)}
.dapp .lb-tile-open:active .lb-cov{transform:scale(.97)}
.dapp .lb-tile-t{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:13px;font-weight:600;line-height:1.5;
  unicode-bidi:plaintext}
.dapp .lb-tile-a{display:block;font-size:11.5px;color:var(--d-sub);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;unicode-bidi:plaintext;margin-top:-4px}
.dapp .lb-tile-r{display:inline-flex;align-items:center;gap:3px;font-size:11.5px;color:var(--d-ink2);font-weight:600;margin-top:-4px}
.dapp .lb-tile-r .ic{width:12px;height:12px;color:var(--d-acc)}
.dapp .lb-mark{position:absolute;top:6px;inset-inline-end:6px;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;
  background:rgba(12,12,14,.55);color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
  box-shadow:0 4px 12px -4px rgba(0,0,0,.6);transition:background .2s,transform .15s var(--d-spring)}
.dapp .lb-mark::before{content:"";position:absolute;inset:-6px}
.dapp .lb-mark .ic{width:17px;height:17px}
.dapp .lb-mark:active{transform:scale(.88)}
.dapp .lb-mark.on{background:var(--d-acc);color:var(--d-acc-ink)}
.dapp .lb-mark.on.k-want{background:var(--d-blue);color:#0e1218}
.dapp .lb-mark.on.k-read{background:var(--d-ok);color:#0e1410}
.dapp .lb-mark.on.k-dnf{background:var(--d-surf3);color:var(--d-ink2)}
.dapp .lb-mark.pop .ic{animation:lb-pop .4s var(--d-spring)}

/* ═══════════════════ سرِ کتابخانه ═══════════════════ */
.dapp .dl-search .dl-clear{position:absolute;inset-inline-end:46px;width:36px;height:36px;border-radius:11px;display:grid;place-items:center;color:var(--d-sub)}
.dapp .dl-search .dl-clear .ic{width:18px;height:18px}
.dapp .dl-search .dl-clear:hover{background:var(--d-surf2);color:var(--d-ink)}
.dapp .dl-search.has-q input{padding-inline-end:88px}
.dapp .dl-head.is-home .dl-search input{min-height:54px;border-radius:18px;font-size:16.5px;border-color:var(--d-line2);
  box-shadow:0 10px 26px -18px rgba(0,0,0,.6)}
.dapp .dl-head.is-home .dl-search input:focus{border-color:var(--d-acc);box-shadow:0 0 0 4px var(--d-acc-soft)}
.dapp .dl-head.is-home .dl-scan{width:44px;height:44px;inset-inline-end:5px;background:var(--d-acc-soft);color:var(--d-acc)}
.dapp .dl-head.is-home .dl-search .dl-clear{inset-inline-end:52px}
.dapp .dl-head.is-home .dl-search.has-q input{padding-inline-end:96px}

/* ═══════════════════ خانه‌ی کتابخانه ═══════════════════ */
.dapp .lb-home{display:flex;flex-direction:column;padding-top:4px}
.dapp .lb-home > *{animation:lb-in .4s var(--d-ease) both}
.dapp .lb-home > :nth-child(2){animation-delay:.05s}
.dapp .lb-home > :nth-child(3){animation-delay:.1s}
.dapp .lb-home > :nth-child(n+4){animation-delay:.15s}
.dapp .lb-home.quiet > *{animation:none}

.dapp .lb-tabs{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;margin-inline:calc(-1 * var(--lb-gut));padding:2px var(--lb-gut) 6px}
.dapp .lb-tabs::-webkit-scrollbar{display:none}
.dapp .lb-tab{--k:var(--d-ink2);flex:none;display:inline-flex;align-items:center;gap:7px;min-height:44px;padding:0 14px;border-radius:15px;
  background:var(--d-surf);border:1px solid var(--d-line);font-size:13.5px;font-weight:500;color:var(--d-ink2);
  transition:background .2s,transform .12s var(--d-ease)}
.dapp .lb-tab:hover{background:var(--d-surf2);color:var(--d-ink)}
.dapp .lb-tab:active{transform:scale(.96)}
.dapp .lb-tab .ic{width:17px;height:17px;color:var(--k)}
.dapp .lb-tab b{font-weight:600;color:var(--d-ink);font-variant-numeric:tabular-nums;min-width:1.2em;text-align:center}
.dapp .lb-tab.k-reading{--k:var(--d-acc)}
.dapp .lb-tab.k-want{--k:var(--d-blue)}
.dapp .lb-tab.k-read{--k:var(--d-ok)}
.dapp .lb-tab.k-dnf{--k:var(--d-sub)}
.dapp .lb-tab.k-favorite{--k:var(--d-bad)}
.dapp .lb-tab.k-paused{--k:var(--d-fire)}

.dapp .lb-block{margin-top:22px;min-width:0}
.dapp .lb-h{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.dapp .lb-h h2{flex:1;min-width:0;margin:0;font-size:17px;font-weight:600;line-height:1.5}
.dapp .lb-h .dlink{flex:none}

/* دارم می‌خونم */
.dapp .lb-now-list{display:grid;gap:12px;grid-template-columns:minmax(0,1fr)}
@media (min-width:640px){.dapp .lb-now-list{grid-template-columns:repeat(auto-fill,minmax(min(340px,100%),1fr))}}
.dapp .lb-now{display:flex;gap:14px;padding:14px;border-radius:var(--d-r);min-width:0;border:1px solid var(--d-line);
  background:linear-gradient(135deg,color-mix(in srgb,var(--d-acc) 11%,var(--d-surf)) 0%,var(--d-surf) 65%);box-shadow:var(--d-shadow)}
.dapp .lb-now.paused{background:var(--d-surf);border-style:dashed}
.dapp .lb-now-cov{flex:none;width:76px;border-radius:7px}
.dapp .lb-now-b{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.dapp .lb-now-t{font-size:15.5px;font-weight:600;line-height:1.55;text-align:start;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;
  -webkit-box-orient:vertical;unicode-bidi:plaintext}
.dapp .lb-now-t:hover{color:var(--d-acc)}
.dapp .lb-now-a{font-size:12.5px;color:var(--d-sub);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;unicode-bidi:plaintext}
.dapp .lb-now-p{display:flex;align-items:center;gap:10px;margin-top:auto;padding-top:8px}
.dapp .lb-now-p b{font-size:13px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--d-ink2)}
.dapp .lb-bar{flex:1;height:8px;border-radius:6px;background:var(--d-surf3);overflow:hidden}
.dapp .lb-bar i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--d-acc),var(--d-fire));
  transform-origin:right;animation:d-grow .9s var(--d-ease) .15s both}
.dapp[dir="ltr"] .lb-bar i{transform-origin:left}
.dapp .lb-now-act{display:flex;align-items:center;gap:8px;margin-top:8px}
.dapp .lb-now-act .dbtn .ic{width:17px;height:17px}
.dapp .lb-now-empty{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:16px;border-radius:var(--d-r);border:1.5px dashed var(--d-line2);
  color:var(--d-sub);font-size:13px}
.dapp .lb-now-empty > .ic{width:30px;height:30px;color:var(--d-faint)}
.dapp .lb-now-empty > div{flex:1 1 180px;display:flex;flex-direction:column;gap:2px}
.dapp .lb-now-empty b{color:var(--d-ink);font-size:14.5px;font-weight:600}

/* خوش‌آمدِ قفسه‌ی خالی */
.dapp .lb-welcome{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;margin-top:14px;padding:26px 18px 22px;
  border-radius:var(--d-r);border:1px solid var(--d-line);
  background:radial-gradient(110% 80% at 50% 0%,var(--d-acc-soft) 0%,transparent 70%),var(--d-surf)}
.dapp .lb-welcome h2{margin:6px 0 0;font-size:clamp(19px,4.6vw,23px);font-weight:600;line-height:1.5}
.dapp .lb-welcome p{max-width:420px;color:var(--d-ink2);font-size:14px;line-height:1.95}
.dapp .lb-wel-go{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:6px}
.dapp .lb-wel-go .dbtn .ic{width:19px;height:19px}
.dapp .lb-wel-art{display:flex;align-items:flex-end;justify-content:center;gap:5px;height:84px;position:relative;padding:0 24px}
.dapp .lb-wel-art::after{content:"";position:absolute;inset-inline:0;bottom:-6px;height:6px;border-radius:3px;background:var(--d-surf3)}
.dapp .lb-wel-art i{display:block;width:20px;border-radius:4px 4px 2px 2px;box-shadow:inset -3px 0 0 rgba(0,0,0,.18);
  animation:d-bob 3.4s ease-in-out infinite;transform-origin:bottom}
.dapp .lb-wel-art i:nth-child(1){height:62px;background:#7a2e2b;animation-delay:-.4s}
.dapp .lb-wel-art i:nth-child(2){height:80px;width:24px;background:var(--d-acc);animation-delay:-1.2s}
.dapp .lb-wel-art i:nth-child(3){height:70px;background:#2f4858;animation-delay:-2s}
.dapp .lb-wel-art i:nth-child(4){height:54px;background:#4a5d3a;transform:rotate(-9deg);animation-name:d-bob-tilt;animation-delay:-2.6s}

/* ═══════════════════ جست‌وجو: دو دسته ═══════════════════ */
.dapp .lb-search{display:flex;flex-direction:column;padding-top:4px}
.dapp .lb-group{margin-top:16px;min-width:0}
.dapp .lb-group-h{display:flex;align-items:baseline;gap:8px;margin-bottom:10px}
.dapp .lb-group-h h3{margin:0;font-size:15.5px;font-weight:600}
.dapp .lb-group-h span{font-size:12.5px;color:var(--d-sub);font-variant-numeric:tabular-nums}
.dapp .lb-group-more{margin-top:8px}
.dapp .lb-cat{padding-top:6px}
.dapp .ds-view > .lb-cat{margin-top:26px;padding-top:16px;border-top:1px solid var(--d-line)}
.dapp .lb-ask{display:flex;align-items:center;gap:12px;width:100%;margin-top:12px;padding:12px 14px;border-radius:16px;text-align:start;
  border:1.5px dashed var(--d-line2);color:var(--d-ink2);font-size:13.5px;transition:background .2s,border-color .2s}
.dapp .lb-ask:hover{background:var(--d-surf2)}
.dapp .lb-ask-ic{flex:none;width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:var(--d-surf2);color:var(--d-acc)}
.dapp .lb-ask-ic .ic{width:20px;height:20px}
.dapp .lb-ask-tx{display:flex;flex-direction:column;gap:1px;min-width:0}
.dapp .lb-ask-tx b{font-weight:600;color:var(--d-ink)}
.dapp .lb-ask.strong{border-style:solid;border-color:color-mix(in srgb,var(--d-acc) 55%,transparent);background:var(--d-acc-soft)}
.dapp .lb-ask.strong .lb-ask-ic{background:var(--d-acc);color:var(--d-acc-ink)}

/* ═══════════════════ پیداکن (برگه‌ی افزودن) ═══════════════════ */
.dapp .sheet.lb-tall{height:min(860px,100%)}
@media (max-width:767.98px){.dapp .sheet.lb-tall{height:calc(100% - 20px - var(--d-safe-t))}}
.dapp .lb-finder .sheet-body{padding-top:6px}
.dapp .lb-finder-b{display:flex;flex-direction:column;min-height:100%}
.dapp .lb-f-bar{position:sticky;top:-6px;z-index:3;display:flex;align-items:center;margin:0 calc(-1 * var(--lb-gut));padding:6px var(--lb-gut) 12px;
  background:var(--d-surf)}
.dapp .lb-f-ico{position:absolute;inset-inline-start:calc(var(--lb-gut) + 16px);width:21px;height:21px;color:var(--d-sub);pointer-events:none}
.dapp .lb-f-in{-webkit-appearance:none;appearance:none;width:100%;min-height:56px;border-radius:18px;border:1.5px solid var(--d-line2);
  background:var(--d-surf2);color:var(--d-ink);font:inherit;font-size:17px;padding-inline-start:48px;padding-inline-end:96px;outline:none;
  transition:border-color .15s,box-shadow .2s,background .15s}
.dapp .lb-f-in:focus{border-color:var(--d-acc);box-shadow:0 0 0 4px var(--d-acc-soft);background:var(--d-surf)}
.dapp .lb-f-in::-webkit-search-cancel-button{-webkit-appearance:none}
.dapp .lb-f-in::placeholder{color:var(--d-faint)}
.dapp .lb-f-x,.dapp .lb-f-scan{position:absolute;width:42px;height:42px;border-radius:13px;display:grid;place-items:center;color:var(--d-sub)}
.dapp .lb-f-x{inset-inline-end:calc(var(--lb-gut) + 52px)}
.dapp .lb-f-scan{inset-inline-end:calc(var(--lb-gut) + 7px);background:var(--d-acc-soft);color:var(--d-acc)}
.dapp .lb-f-x .ic,.dapp .lb-f-scan .ic{width:20px;height:20px}
.dapp .lb-f-x:hover{background:var(--d-surf3);color:var(--d-ink)}
.dapp .lb-f-res{display:flex;flex-direction:column;gap:10px;padding-bottom:8px}
.dapp .lb-f-idle{display:flex;flex-direction:column;gap:12px;padding:6px 2px 4px}
.dapp .lb-f-tip{display:flex;align-items:flex-start;gap:10px;color:var(--d-ink2);font-size:14px;line-height:1.9}
.dapp .lb-f-tip .ic{width:20px;height:20px;color:var(--d-acc);flex:none;margin-top:4px}
.dapp .lb-f-quick{display:flex;flex-wrap:wrap;gap:8px}
.dapp .lb-f-quick .ic{width:17px;height:17px}
.dapp .lb-f-sug{margin-top:10px}
.dapp .lb-f-h{margin:0 2px 10px;font-size:14px;font-weight:600;color:var(--d-sub)}
.dapp .lb-f-foot{display:flex;flex-direction:column;gap:4px;margin-top:4px}
.dapp .lb-f-more{margin-top:6px}
.dapp .lb-f-none{display:flex;flex-direction:column;align-items:center;gap:6px;padding:22px 10px 8px;text-align:center;color:var(--d-sub);font-size:13px}
.dapp .lb-f-none .ic{width:34px;height:34px;color:var(--d-faint)}
.dapp .lb-f-none b{color:var(--d-ink);font-size:14.5px;font-weight:600}

/* برگه‌ی کوتاهِ افزودن */
.dapp .lb-add{display:flex;flex-direction:column;gap:16px}
.dapp .lb-add-facts{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:14px;background:var(--d-surf2);
  font-size:13px;color:var(--d-ink2);line-height:1.9}
.dapp .lb-add-facts .ic{width:18px;height:18px;color:var(--d-acc);flex:none;margin-top:4px}
.dapp .lb-fld{display:flex;flex-direction:column;gap:7px}
.dapp .lb-fld > span{font-size:13px;font-weight:600;color:var(--d-ink2)}
.dapp .lb-in{width:100%;min-height:52px;padding:0 14px;border-radius:15px;border:1.5px solid transparent;background:var(--d-surf2);
  color:var(--d-ink);font:inherit;font-size:16px;outline:none;transition:border-color .15s,background .15s}
.dapp .lb-in:focus{border-color:var(--d-acc);background:var(--d-surf)}
.dapp .lb-add-full{align-self:flex-start;font-size:12.5px;color:var(--d-sub)}

/* ═══════════════════ برگه‌ی کتاب ═══════════════════ */
.dapp .sheet.lb-bsheet{max-width:800px}
.dapp .sheet.lb-bsheet .sheet-head{position:absolute;top:0;inset-inline:0;z-index:6;justify-content:flex-end;align-items:center;gap:8px;
  padding:12px 14px;border:0;background:transparent;pointer-events:none;flex-wrap:nowrap}
.dapp .sheet.lb-bsheet .sheet-head > *{pointer-events:auto}
.dapp .sheet.lb-bsheet .sheet-title{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.dapp .sheet.lb-bsheet .sheet-actions{order:0;flex-basis:auto;flex-wrap:nowrap}
.dapp .sheet.lb-bsheet .sheet-body{padding-top:0}
.dapp .sheet.lb-bsheet .x,.dapp .lb-hbtn,.dapp .lb-back{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;font-size:22px;
  color:var(--d-ink);background:color-mix(in srgb,var(--d-surf) 62%,transparent);border:1px solid var(--d-line);
  -webkit-backdrop-filter:blur(12px) saturate(1.3);backdrop-filter:blur(12px) saturate(1.3);transition:background .15s,transform .15s var(--d-spring)}
.dapp .lb-hbtn .ic,.dapp .lb-back .ic{width:19px;height:19px}
.dapp .sheet.lb-bsheet .x:hover,.dapp .lb-hbtn:hover,.dapp .lb-back:hover{background:var(--d-surf2)}
.dapp .sheet.lb-bsheet .x:active,.dapp .lb-hbtn:active,.dapp .lb-back:active{transform:scale(.9)}
.dapp .lb-back{position:absolute;top:12px;inset-inline-start:14px;z-index:7}
.dapp[dir="ltr"] .lb-back .ic{transform:scaleX(-1)}

.dapp .lb-hero{position:relative;isolation:isolate;overflow:hidden;margin-inline:calc(-1 * var(--lb-gut));padding:66px var(--lb-gut) 18px}
.dapp .lb-hero-bg{position:absolute;inset:-60px;z-index:-2;background-color:var(--c);background-size:cover;background-position:center 30%;
  filter:blur(36px) saturate(1.35);opacity:.6;transform:translateZ(0)}
.dapp .lb-hero.no-cov .lb-hero-bg{inset:0;background:radial-gradient(90% 90% at 70% 0%,var(--c) 0%,transparent 72%);filter:none;opacity:.7}
.dapp .lb-hero::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:linear-gradient(180deg,color-mix(in srgb,var(--d-surf) 18%,transparent) 0%,color-mix(in srgb,var(--d-surf) 72%,transparent) 52%,var(--d-surf) 100%)}
.dapp .lb-hero-in{display:flex;align-items:flex-end;gap:22px;min-width:0}
.dapp .lb-hero-cov{position:relative;flex:none;width:150px;aspect-ratio:2/3;border-radius:8px;overflow:hidden;background:var(--d-surf2);
  box-shadow:0 26px 44px -20px rgba(0,0,0,.75),0 0 0 1px color-mix(in srgb,var(--d-ink) 8%,transparent);
  transform:rotate(-2.5deg);animation:lb-coverin .55s var(--d-spring) both}
.dapp .lb-hero-cov img{display:block;width:100%;height:100%;object-fit:cover}
.dapp .lb-hero-cov .cover-fake{padding:16px 12px}
.dapp .lb-hero-tx{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px;padding-bottom:4px}
.dapp .lb-hero-t{font-size:clamp(20px,4.8vw,27px);font-weight:600;line-height:1.45;unicode-bidi:plaintext;overflow-wrap:anywhere}
.dapp .lb-hero-alt{font-size:13.5px;color:var(--d-sub);unicode-bidi:plaintext}
.dapp .lb-hero-by{font-size:15px;color:var(--d-ink);margin-top:4px;unicode-bidi:plaintext}
.dapp .lb-hero-tr{font-size:13px;color:var(--d-ink2);unicode-bidi:plaintext}
.dapp .lb-hero-by .plink,.dapp .lb-hero-tr .plink{text-decoration-color:color-mix(in srgb,var(--d-ink) 30%,transparent)}
.dapp .lb-hero-f{display:flex;flex-wrap:wrap;align-items:center;gap:4px 14px;margin-top:8px;font-size:13px;color:var(--d-ink2)}
.dapp .lb-hero-f .lb-avg{font-size:14px}
.dapp .lb-hero-v{margin-top:8px;font-size:14px;color:var(--d-acc);font-weight:500;unicode-bidi:plaintext}
.dapp .lb-hero-ctl{margin-top:18px}
.dapp .lb-hero-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:12px}
.dapp .lb-hero-rate{display:inline-flex;align-items:center;gap:6px;padding-inline:12px 4px;border-radius:15px;background:var(--d-surf2);
  font-size:12.5px;color:var(--d-sub)}
.dapp .lb-heart,.dapp .lb-hbtn2{width:44px;height:44px;flex:none;border-radius:50%;display:grid;place-items:center;background:var(--d-surf2);color:var(--d-sub);
  transition:background .2s,color .2s,transform .15s var(--d-spring)}
.dapp .lb-heart .ic,.dapp .lb-hbtn2 .ic{width:21px;height:21px}
.dapp .lb-heart:active,.dapp .lb-hbtn2:active{transform:scale(.88)}
.dapp .lb-heart[aria-pressed="true"]{color:var(--d-bad);background:color-mix(in srgb,var(--d-bad) 16%,transparent)}
.dapp .lb-heart.pop .ic{animation:lb-pop .45s var(--d-spring)}
.dapp .lb-hbtn2{margin-inline-start:auto}
.dapp .lb-hero-hint{margin-top:10px;font-size:12.5px;color:var(--d-sub);text-align:center}

/* بخش‌های برگه */
.dapp .lb-book{min-width:0}
.dapp .lb-book .sec{margin-top:26px}
.dapp .lb-book .sec-h{margin-bottom:12px}
.dapp .lb-book .sec-h > span{font-size:15.5px;font-weight:600;color:var(--d-ink)}
.dapp .lb-book .sec-h::after{background:var(--d-line)}
.dapp .lb-book .sec .sec-h > span{font-size:15.5px}
.dapp .lb-book .sec-inner .sec-h > span{font-size:13px;color:var(--d-sub)}
.dapp .lb-sec-sub{margin:-6px 0 12px;font-size:12.5px;color:var(--d-sub);line-height:1.85}
/* «کدام ترجمه؟» و «شبیه‌ها»ی ماژولِ کشف این‌جا خودمان کشیده‌ایم؛ برچسب‌هایش می‌مانند */
.dapp .lb-book .kd-book > .sec:has(.kd-eds),.dapp .lb-book .kd-book > .sec:has(.kd-row){display:none}
.dapp .lb-about{display:flex;flex-direction:column;gap:14px}
.dapp .lb-desc{font-size:14.5px;line-height:2.05;color:var(--d-ink2);white-space:pre-line;unicode-bidi:plaintext}
.dapp .lb-review{margin:0;padding:14px 16px;border-radius:16px;background:var(--d-surf2);border-inline-start:3px solid var(--d-acc)}
.dapp .lb-review figcaption{font-size:12px;font-weight:600;color:var(--d-acc);margin-bottom:4px}
.dapp .lb-review blockquote{margin:0;font-size:15px;line-height:2.05;white-space:pre-wrap;unicode-bidi:plaintext}
.dapp .lb-kv{gap:12px 22px}
.dapp .lb-about .leaf-badge{align-self:flex-start}

/* ترجمه‌ها و نسخه‌ها */
.dapp .lb-tr-list{display:flex;flex-direction:column;gap:10px}
.dapp .lb-tr-i{display:flex;align-items:center;gap:12px;padding:12px;border-radius:16px;background:var(--d-surf2);border:1.5px solid transparent;min-width:0}
.dapp .lb-tr-i.mine{border-color:color-mix(in srgb,var(--d-acc) 60%,transparent);background:color-mix(in srgb,var(--d-acc) 7%,var(--d-surf2))}
.dapp .lb-tr-cov{flex:none;width:44px;aspect-ratio:2/3;border-radius:5px;overflow:hidden;background:var(--d-surf3);display:grid;place-items:center;color:var(--d-faint)}
.dapp .lb-tr-cov img{display:block;width:100%;height:100%;object-fit:cover}
.dapp .lb-tr-cov .ic{width:20px;height:20px}
.dapp .lb-tr-b{flex:1;min-width:0}
.dapp .lb-tr-t{font-size:14px;font-weight:600;line-height:1.6;unicode-bidi:plaintext;overflow-wrap:anywhere}
.dapp .lb-tr-badges{display:flex;flex-wrap:wrap;gap:5px;margin:3px 0}
.dapp .lb-tr-m{font-size:12px;color:var(--d-sub);line-height:1.8}
.dapp .lb-tr-s{display:flex;flex-wrap:wrap;gap:4px 12px;margin-top:2px;font-size:12.5px;color:var(--d-ink2)}
.dapp .lb-tr .dlink{margin-top:8px}

/* جزئیاتِ بیشتر */
.dapp .lb-more{margin-top:28px;border-radius:18px;background:var(--d-surf2);border:1px solid var(--d-line)}
.dapp .lb-more > summary{list-style:none;display:flex;align-items:center;gap:12px;min-height:62px;padding:12px 16px;border-radius:18px;cursor:pointer;
  -webkit-tap-highlight-color:transparent}
.dapp .lb-more > summary::-webkit-details-marker{display:none}
.dapp .lb-more > summary:hover{background:var(--d-surf3)}
.dapp .lb-more-tx{flex:1;min-width:0;display:flex;flex-direction:column}
.dapp .lb-more-tx b{font-size:15px;font-weight:600}
.dapp .lb-more-tx span{font-size:12px;color:var(--d-sub);line-height:1.7}
.dapp .lb-more-ic{width:18px !important;height:18px !important;flex:none;color:var(--d-sub);transform:rotate(-90deg);transition:transform .25s var(--d-ease)}
.dapp .lb-more[open] .lb-more-ic{transform:rotate(90deg)}
.dapp .lb-more-b{padding:2px 16px 18px;animation:lb-in .25s var(--d-ease)}
.dapp .lb-more-b > .kv:first-child{margin-top:6px}
.dapp .lb-more-b .sec{margin-top:22px}
.dapp .lb-more .loan-line,.dapp .lb-more .qline,.dapp .lb-more .sess{border-bottom-color:var(--d-line2)}
.dapp .lb-more .ed-row:hover,.dapp .lb-more .ed-row.is-mine{background:var(--d-surf3)}
.dapp .lb-more-acts{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px;padding-top:16px;border-top:1px solid var(--d-line)}
.dapp .lb-more-acts .ic{width:17px;height:17px}
.dapp .lb-danger{--b:color-mix(in srgb,var(--d-bad) 12%,var(--d-surf2));--bi:var(--d-bad);--bs:color-mix(in srgb,var(--d-bad) 35%,transparent)}

/* بریده و امانت در برگه */
.dapp .lb-book .qline .qacts .ic,.dapp .lb-book .loan-line .iconbtn .ic{width:16px;height:16px}
.dapp .lb-book .iconbtn{border-radius:10px}

/* پیشرفت */
.dapp .lb-prog{display:flex;flex-direction:column;gap:10px;padding:16px;border-radius:18px;background:var(--d-surf2)}
.dapp .lb-more .lb-prog{background:var(--d-surf3)}
.dapp .lb-prog-top{display:flex;align-items:baseline;gap:10px}
.dapp .lb-prog-pct{font-size:28px;font-weight:600;line-height:1.1;font-variant-numeric:tabular-nums;color:var(--d-acc)}
.dapp .lb-prog-top span{font-size:13px;color:var(--d-sub);font-variant-numeric:tabular-nums}
.dapp .lb-prog .pbar{background:var(--d-surf3)}
.dapp .lb-more .lb-prog .pbar{background:var(--d-surf2)}
.dapp .lb-prog .pbar-fill{background:linear-gradient(90deg,var(--d-acc),var(--d-fire))}
.dapp .lb-prog .rc-act{margin-top:2px}
.dapp .lb-prog-bumps{display:flex;flex-wrap:wrap;gap:6px}
.dapp .lb-bump{display:inline-flex;align-items:center;gap:5px;min-height:38px;padding:0 14px;border-radius:99px;background:var(--d-surf);
  border:1px solid var(--d-line2);font-size:13px;font-weight:600;color:var(--d-ink2);font-variant-numeric:tabular-nums;
  transition:background .15s,transform .12s var(--d-ease)}
.dapp .lb-bump:active{transform:scale(.93)}
.dapp .lb-bump:hover{background:var(--d-surf3);color:var(--d-ink)}
.dapp .lb-bump.done{color:var(--d-ok);border-color:color-mix(in srgb,var(--d-ok) 45%,transparent)}
.dapp .lb-bump .ic{width:15px;height:15px}
.dapp .lb-pg{display:flex;flex-direction:column;gap:14px}
.dapp .lb-pg-box{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-radius:16px;background:var(--d-surf2)}
.dapp .lb-pg-box > span{font-size:14px;font-weight:600;color:var(--d-ink2)}
.dapp .lb-pg .lb-pg-in{width:140px;min-height:56px;font-size:24px;font-weight:600;border-radius:15px}
.dapp .lb-pg-note{min-height:1.6em;font-size:13px;color:var(--d-acc);font-weight:600;text-align:center;font-variant-numeric:tabular-nums}

/* فرمِ ویرایش: سبک‌تر */
.dapp .lb-formsheet .lb-fmore{margin-top:22px}
.dapp .lb-formsheet .lb-fmore .lb-more-b{padding-top:8px}
.dapp .lb-formsheet .lb-fmore .fsec:first-child{margin-top:4px}
.dapp .lb-formsheet .field input,.dapp .lb-formsheet .field select,.dapp .lb-formsheet .field textarea{border-radius:12px}

/* ═══════════════════ پرداختِ نماهای قدیمی ═══════════════════ */
/* جلدها */
.dapp .covers{gap:26px 18px;padding:2px 0}
.dapp .cover-card{border-radius:10px;-webkit-tap-highlight-color:transparent}
.dapp .cover-box{border-radius:8px;box-shadow:0 12px 24px -14px rgba(0,0,0,.75),0 0 0 1px color-mix(in srgb,var(--d-ink) 6%,transparent)}
.dapp .cover-card:active .cover-box{transform:scale(.97)}
.dapp .cover-meta .t{font-size:13.5px}
.dapp .cover-badge{border-radius:99px;padding:2px 9px;font-weight:600}
.dapp .cover-prog i{background:var(--d-acc)}
@media (max-width:767.98px){
  .dapp .covers{grid-template-columns:repeat(auto-fill,minmax(98px,1fr));gap:20px 12px}
}
/* قفسه */
.dapp .shelves{border-radius:16px}
.dapp .shelf-plate{border-radius:99px;padding:4px 14px;background:var(--d-surf);border-color:var(--d-line2)}
.dapp .group-head{margin-bottom:12px}
/* فهرست */
.dapp .table-wrap{background:var(--d-surf);border:1px solid var(--d-line);border-radius:var(--d-r);padding:6px 4px !important;margin-top:4px}
.dapp table.list th{padding-top:10px;color:var(--d-sub)}
.dapp table.list td{border-bottom-color:var(--d-line)}
.dapp table.list tbody tr:last-child td{border-bottom:0}
.dapp table.list tbody tr:hover{background:var(--d-surf2)}
.dapp .mini-cover,.dapp .mini-spine{border-radius:4px}
.dapp .pill{border-radius:99px;font-weight:500}
/* بریده‌ها */
.dapp .quotes-grid{column-gap:16px}
.dapp .qcard{border-radius:var(--d-r);background:var(--d-surf);border-color:var(--d-line);margin-bottom:16px;padding:20px 20px 14px}
.dapp .qcard .mark{color:var(--d-acc);opacity:.35}
.dapp .qcard .qtext{font-size:15px}
/* امانت‌ها */
.dapp .loan-grid{gap:12px}
.dapp .loan-card{border-radius:var(--d-r);background:var(--d-surf);border-color:var(--d-line);padding:14px 16px}
.dapp .loan-card .mini-cover,.dapp .loan-card .mini-spine{width:34px;height:51px}
/* خالی */
.dapp .lb-empty{gap:12px}
.dapp .lb-empty .lb-empty-ic{width:40px;height:40px;color:var(--d-faint)}
.dapp .lb-empty .lb-wel-art{margin-bottom:10px}
.dapp .lb-empty-go{justify-content:center;gap:10px}
.dapp .lb-empty-go .ic{width:19px;height:19px}
/* کاتالوگ (کتابدار) */
.dapp .cat-card{border-radius:18px;background:var(--d-surf);border-color:var(--d-line)}
.dapp .cat-card.mine{background:var(--d-surf2)}
.dapp .cat-body .lb-stw{margin-top:8px}
.dapp .cat-body .lb-st-b{min-height:38px;font-size:12px;padding:3px 6px}
.dapp .cat-body .lb-st-b .ic{display:none}
/* جست‌وجوی اینترنتی: ردیف‌های کاتالوگ */
.dapp .lk-results .lb-rows{margin-bottom:6px}
/* برگه‌ها روی گوشی: جا برای انگشت و بی اسکرولِ افقی */
.dapp .sheet-body{overflow-x:hidden}

/* ═══════════════════ گوشی ═══════════════════ */
@media (max-width:767.98px){
  .dapp .lb-hero{padding-top:62px}
  .dapp .lb-hero-in{flex-direction:column;align-items:center;text-align:center;gap:16px}
  .dapp .lb-hero-cov{width:128px}
  .dapp .lb-hero-tx{align-items:center;padding-bottom:0}
  .dapp .lb-hero-f{justify-content:center}
  .dapp .lb-hero-row{justify-content:center}
  .dapp .lb-hbtn2{margin-inline-start:0}
  .dapp .lb-stw.lg .lb-st-b{min-height:60px;font-size:11.5px}
  .dapp .lb-tr-i{flex-wrap:wrap}
  .dapp .lb-tr-i > .dbtn{margin-inline-start:56px}
  .dapp .lb-now-cov{width:68px}
  .dapp .lb-row-cov{width:54px}
  .dapp .lb-st-b{font-size:12px;padding:4px 6px}
  .dapp .lb-more > summary{padding:12px 14px}
  .dapp .lb-more-b{padding:2px 14px 16px}
  .dapp .lb-prog{padding:14px}
}
@media (max-width:360px){
  .dapp .lb-st-b .ic{display:none}
  .dapp .lb-stw.lg .lb-st-b .ic{display:block}
}

/* حرکتِ کم */
@media (prefers-reduced-motion:reduce){
  .dapp .lb-home > *,.dapp .lb-row,.dapp .lb-hero-cov,.dapp .lb-st-more,.dapp .lb-st-x,.dapp .lb-more-b,.dapp .lb-bar i,
  .dapp .lb-wel-art i,.dapp .lb-sk{animation:none !important}
  .dapp .lb-hero-cov{transform:rotate(-2.5deg)}
  .dapp .lb-tile-open:hover .lb-cov{transform:none}
}
