/* Saros v30.9 — «مكتبتي». Everything comes from Saros's own tokens (--bg, --surface, --surface-2/3, --border, --text, --muted…).
   Wood = Saros's surfaces; spines = steps of Saros's ink (light and dark); with a season, every colour comes from that season's palette.
   The tokens sit on <body> so the page and its windows (details, forms) share them. */
body{
 /* bookcase: frame / shelf edge from the surface steps, inside a little darker than the page */
 --lib-wood:var(--surface-3);
 --lib-wood-hi:color-mix(in srgb,var(--surface-3) 55%,var(--surface));
 --lib-wood-dk:color-mix(in srgb,var(--surface-3) 78%,var(--text) 22%);
 --lib-back:color-mix(in srgb,var(--surface-2) 84%,var(--text) 16%);
 --lib-glow:rgba(255,255,255,.5);
 --lib-shade:rgba(0,0,0,.18);
 /* «gilt»: Saros's own light grey (no invented silver) */
 --lib-foil:color-mix(in srgb,var(--surface) 86%,var(--text));--lib-foil-hi:var(--surface);--lib-foil-dk:color-mix(in srgb,var(--surface) 62%,var(--text));--lib-foil-ink:var(--text);
 /* spines: steps of Saros's ink (the monochrome base) — no invented hues */
 --lib-c1:color-mix(in srgb,var(--text) 94%,var(--surface));--lib-c2:color-mix(in srgb,var(--text) 80%,var(--surface));--lib-c3:color-mix(in srgb,var(--text) 68%,var(--surface));
 --lib-c4:color-mix(in srgb,var(--text) 88%,var(--surface));--lib-c5:color-mix(in srgb,var(--text) 74%,var(--surface));--lib-c6:color-mix(in srgb,var(--text) 62%,var(--surface));
 --lib-c7:color-mix(in srgb,var(--text) 97%,var(--surface));--lib-c8:color-mix(in srgb,var(--text) 84%,var(--surface));--lib-c9:color-mix(in srgb,var(--text) 71%,var(--surface));
 --lib-c10:color-mix(in srgb,var(--text) 91%,var(--surface));--lib-c11:color-mix(in srgb,var(--text) 77%,var(--surface));--lib-c12:color-mix(in srgb,var(--text) 65%,var(--surface));
 --lib-p1:var(--surface-2);--lib-p2:var(--surface-3);--lib-p3:color-mix(in srgb,var(--surface-2) 70%,var(--surface));--lib-p4:color-mix(in srgb,var(--surface-3) 60%,var(--surface));--lib-paper-ink:var(--text);
 --lib-ribbon:var(--button-bg);
}
/* night: spines are Saros's dark greys, the gilt its light ink */
body[data-theme="dark"]{--lib-wood:var(--surface-3);--lib-wood-hi:color-mix(in srgb,var(--surface-3) 70%,var(--text) 12%);--lib-wood-dk:color-mix(in srgb,var(--surface-3) 60%,var(--bg));
 --lib-back:color-mix(in srgb,var(--bg) 80%,var(--surface));--lib-glow:rgba(255,255,255,.09);--lib-shade:rgba(0,0,0,.45);
 --lib-foil:color-mix(in srgb,var(--text) 82%,var(--surface));--lib-foil-hi:var(--text);--lib-foil-dk:color-mix(in srgb,var(--text) 55%,var(--surface));--lib-foil-ink:var(--bg);
 --lib-c1:color-mix(in srgb,var(--text) 10%,var(--surface));--lib-c2:color-mix(in srgb,var(--text) 18%,var(--surface));--lib-c3:color-mix(in srgb,var(--text) 26%,var(--surface));
 --lib-c4:color-mix(in srgb,var(--text) 14%,var(--surface));--lib-c5:color-mix(in srgb,var(--text) 22%,var(--surface));--lib-c6:color-mix(in srgb,var(--text) 30%,var(--surface));
 --lib-c7:color-mix(in srgb,var(--text) 8%,var(--surface));--lib-c8:color-mix(in srgb,var(--text) 16%,var(--surface));--lib-c9:color-mix(in srgb,var(--text) 24%,var(--surface));
 --lib-c10:color-mix(in srgb,var(--text) 12%,var(--surface));--lib-c11:color-mix(in srgb,var(--text) 20%,var(--surface));--lib-c12:color-mix(in srgb,var(--text) 28%,var(--surface));
 --lib-p1:color-mix(in srgb,var(--text) 56%,var(--surface));--lib-p2:color-mix(in srgb,var(--text) 50%,var(--surface));--lib-p3:color-mix(in srgb,var(--text) 60%,var(--surface));--lib-p4:color-mix(in srgb,var(--text) 53%,var(--surface));--lib-paper-ink:var(--bg)}
/* a picked season (daytime): every colour comes from that season's palette */
body[data-season]{
 --lib-foil:var(--s-light);--lib-foil-hi:color-mix(in srgb,var(--s-light) 55%,var(--surface));--lib-foil-dk:color-mix(in srgb,var(--s-light) 65%,var(--s-c2));--lib-foil-ink:var(--s-dark);--lib-ribbon:var(--s-acc);
 --lib-c1:var(--s-c1);--lib-c2:var(--s-c4);--lib-c3:var(--s-dark);--lib-c4:color-mix(in srgb,var(--s-c3) 75%,var(--s-dark));
 --lib-c5:color-mix(in srgb,var(--s-c2) 55%,var(--s-dark));--lib-c6:color-mix(in srgb,var(--s-c1) 70%,var(--s-dark));--lib-c7:color-mix(in srgb,var(--s-c5) 50%,var(--s-dark));--lib-c8:color-mix(in srgb,var(--s-c1) 60%,var(--s-c4));
 --lib-c9:color-mix(in srgb,var(--s-c3) 55%,var(--s-c1));--lib-c10:color-mix(in srgb,var(--s-c4) 65%,var(--s-dark));--lib-c11:color-mix(in srgb,var(--s-c2) 70%,var(--s-c4));--lib-c12:color-mix(in srgb,var(--s-acc) 80%,var(--s-dark));
 --lib-p1:var(--s-light);--lib-p2:color-mix(in srgb,var(--s-light) 80%,var(--s-c2));--lib-p3:color-mix(in srgb,var(--s-light) 70%,var(--surface));--lib-p4:color-mix(in srgb,var(--s-light) 85%,var(--s-c5));--lib-paper-ink:var(--s-dark)}

.lib-page{display:flex;flex-direction:column;gap:22px;min-width:0}
.lib-head{margin-bottom:0;align-items:center}
.lib-add{gap:8px}
/* tabs with the moving underline */
.lib-tabs-row{border-bottom:1px solid var(--border)}
.lib-tabs{position:relative;display:flex;gap:2px;overflow-x:auto;scrollbar-width:none;max-width:100%}
.lib-tabs::-webkit-scrollbar{display:none}
.lib-tab{border:0;background:none;padding:9px 14px 11px;color:var(--muted);font-weight:600;font-size:13px;white-space:nowrap;border-radius:10px 10px 0 0;transition:color .2s}
.lib-tab:hover{color:var(--text)}
.lib-tab[aria-selected="true"]{color:var(--text)}
.lib-ink{position:absolute;bottom:0;height:2px;border-radius:2px;background:var(--text);transition:right .35s cubic-bezier(.2,.7,.3,1),width .35s cubic-bezier(.2,.7,.3,1)}
.lib-view{display:flex;flex-direction:column;gap:34px;min-width:0}
.lib-sec{display:flex;flex-direction:column;gap:14px;min-width:0}
.lib-sec-h{margin:0;font-size:17px;letter-spacing:-.2px;display:flex;align-items:center;gap:12px}
.lib-sec-h::after{content:"";flex:1;height:1px;background:var(--border)}

/* ===== the bookcase ===== */
.lib-case{position:relative;padding:0 16px;border-radius:8px 8px 6px 6px;min-width:0;
 background:linear-gradient(90deg,var(--lib-wood-dk),var(--lib-wood) 4%,var(--lib-wood-hi) 50%,var(--lib-wood) 96%,var(--lib-wood-dk));
 box-shadow:0 26px 36px -26px var(--lib-shade),var(--shadow-soft)}
.lib-crown{position:relative;z-index:2;height:20px;margin:0 -22px;border-radius:7px 7px 3px 3px;background:linear-gradient(180deg,var(--lib-wood-hi),var(--lib-wood) 55%,var(--lib-wood-dk));box-shadow:0 6px 10px -5px var(--lib-shade)}
.lib-plinth{height:24px;margin:0 -8px;border-radius:2px 2px 6px 6px;background:linear-gradient(180deg,var(--lib-wood),var(--lib-wood-dk))}
.lib-bay{position:relative;min-width:0;background:
 radial-gradient(90% 120% at 50% -20%,var(--lib-glow),transparent 62%),
 linear-gradient(180deg,var(--lib-shade),transparent 26px),
 linear-gradient(90deg,var(--lib-shade),transparent 18px,transparent calc(100% - 18px),var(--lib-shade)),var(--lib-back)}
.lib-row{display:flex;align-items:flex-end;gap:2px;overflow-x:auto;overflow-y:hidden;padding:34px 22px 0;scroll-behavior:smooth;scrollbar-width:none;overscroll-behavior-x:contain}
.lib-row::-webkit-scrollbar{display:none}
.lib-board{position:relative;z-index:1;height:17px;margin:0 -16px;display:flex;justify-content:center;
 background:linear-gradient(180deg,var(--lib-wood-hi) 0 2px,var(--lib-wood) 2px,var(--lib-wood-dk));box-shadow:0 8px 10px -6px var(--lib-shade)}
.lib-plate{position:absolute;top:2px;height:14px;padding:0 12px;border-radius:2px;line-height:14px;font-size:10.5px;font-weight:700;color:var(--lib-foil-ink);
 background:linear-gradient(180deg,var(--lib-foil-hi),var(--lib-foil) 60%,var(--lib-foil-dk));box-shadow:0 1px 2px rgba(0,0,0,.35)}
.lib-nav{position:absolute;top:calc(50% - 4px);transform:translateY(-50%);z-index:3;width:32px;height:32px;min-height:0;padding:0;border-radius:50%;border:1px solid var(--border);background:var(--surface);color:var(--text);display:grid;place-items:center;box-shadow:var(--shadow-soft)}
.lib-nav.is-prev{right:8px}.lib-nav.is-next{left:8px}
.lib-bookend{flex:none;width:15px;height:92px;margin-inline-start:14px;border-radius:3px 3px 0 0;background:linear-gradient(90deg,var(--lib-foil-dk),var(--lib-foil-hi) 45%,var(--lib-foil) 70%,var(--lib-foil-dk));box-shadow:-2px 0 4px rgba(0,0,0,.3)}

/* spines */
.lib-bk{flex:none;position:relative;border:0;padding:0;min-height:0;font:inherit;cursor:pointer;color:var(--lib-foil);transform:translateY(0);
 transition:transform .35s cubic-bezier(.2,.7,.3,1),box-shadow .35s,filter .35s;box-shadow:-1px 0 0 rgba(0,0,0,.3),-3px 0 5px rgba(0,0,0,.2)}
.lib-spine{width:var(--w);height:var(--h);border-radius:3px 3px 1px 1px;display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:8px;padding:16px 0 12px;
 background:linear-gradient(180deg,rgba(0,0,0,.28),rgba(0,0,0,0) 36px),linear-gradient(90deg,rgba(0,0,0,.3),rgba(255,255,255,.12) 18%,rgba(255,255,255,0) 45%,rgba(0,0,0,.18) 88%,rgba(0,0,0,.32)),var(--tex,none),var(--c)}
.lib-spine.is-cloth{--tex:repeating-linear-gradient(0deg,rgba(255,255,255,.045) 0 1px,transparent 1px 3px)}
.lib-bk::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;
 background:linear-gradient(100deg,transparent 35%,rgba(255,255,255,.22) 50%,transparent 65%);background-size:300% 100%;background-position:100% 0;transition:background-position .7s ease,opacity .3s}
.lib-bk:hover{transform:translateY(-9px)}
.lib-bk:hover::after{opacity:1;background-position:0 0}
.lib-bk[aria-pressed="true"],.lib-bk:focus-visible{transform:translateY(-15px) scale(1.035);z-index:2;box-shadow:-1px 0 0 rgba(0,0,0,.3),0 16px 18px -8px rgba(0,0,0,.55)}
.lib-bk:focus-visible{outline:2px solid var(--text);outline-offset:3px}
.lib-vt{writing-mode:vertical-rl;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center;min-height:0}
.lib-t{font-weight:700;font-size:var(--fs,13px);line-height:1.15;max-height:100%;flex:0 1 auto}
.lib-a{font-size:10px;opacity:.85;max-height:34%;flex:none}
.lib-foil{background:linear-gradient(90deg,var(--lib-foil-hi),var(--lib-foil) 50%,var(--lib-foil-hi));-webkit-background-clip:text;background-clip:text;color:transparent}
.lib-band{position:absolute;inset-inline:4px;height:6px;border-block:1px solid var(--lib-foil);opacity:.85}
.lib-band.is-top{top:7px}.lib-band.is-bot{bottom:5px}
.lib-rib{position:absolute;inset-inline:0;height:7px;border-radius:2px;background:linear-gradient(180deg,rgba(255,255,255,.18),rgba(0,0,0,.35))}
.lib-rib[data-at="1"]{top:13%}.lib-rib[data-at="2"]{top:19%}.lib-rib[data-at="3"]{bottom:12%}
.lib-label{display:flex;min-height:0;max-height:62%;overflow:hidden;padding:10px 3px;border-radius:2px;background:rgba(0,0,0,.36);border:1px solid color-mix(in srgb,var(--lib-foil) 70%,transparent)}
.lib-spine.is-paper .lib-t,.lib-lying.is-paper .lib-t{color:var(--lib-paper-ink)}
.lib-spine.is-paper .lib-a,.lib-lying.is-paper .lib-a{color:color-mix(in srgb,var(--lib-paper-ink) 80%,transparent)}
.lib-block{position:absolute;bottom:22px;inset-inline:0;height:24px;background:var(--band)}
.lib-ribbon{position:absolute;top:-10px;inset-inline-start:6px;z-index:1;width:7px;height:18px;background:var(--lib-ribbon);clip-path:polygon(0 0,100% 0,100% 100%,50% 80%,0 100%)}
/* lying books (7 or more on a shelf: the last two) */
.lib-stack{flex:none;display:flex;flex-direction:column-reverse;align-items:flex-start;margin-inline-start:12px}
.lib-lying{width:var(--h);height:var(--w);border-radius:1px 3px 3px 1px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 14px;
 background:linear-gradient(90deg,rgba(0,0,0,.15),rgba(0,0,0,0) 30px),linear-gradient(180deg,rgba(255,255,255,.14),rgba(255,255,255,0) 40%,rgba(0,0,0,.28)),var(--tex,none),var(--c);box-shadow:0 -1px 0 rgba(0,0,0,.3),0 2px 3px rgba(0,0,0,.25)}
.lib-lying.is-cloth{--tex:repeating-linear-gradient(90deg,rgba(255,255,255,.045) 0 1px,transparent 1px 3px)}
.lib-lying .lib-t,.lib-lying .lib-a{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lib-lying .lib-t{font-size:12.5px}
.lib-lying:nth-child(2){margin-inline-start:9px}
.lib-lying:hover{transform:translateY(-4px)}
.lib-lying[aria-pressed="true"],.lib-lying:focus-visible{transform:translateY(-6px) translateX(6px)}
.lib-bk.is-new{animation:lib-new 1.5s cubic-bezier(.2,.7,.3,1)}
@keyframes lib-new{0%,100%{transform:none}35%,65%{transform:translateY(-15px) scale(1.035)}}

/* empty */
.lib-empty{display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center;padding:30px 16px 20px}
.lib-mini{width:240px;max-width:100%;padding:0 10px;border-radius:5px;background:linear-gradient(90deg,var(--lib-wood-dk),var(--lib-wood-hi) 50%,var(--lib-wood-dk))}
.lib-mini .lib-crown{height:11px;margin:0 -14px}
.lib-mini .lib-board{height:11px;margin:0 -10px}
.lib-mini-bay{height:92px;display:flex;align-items:flex-end;gap:2px;padding:0 18px;background:linear-gradient(180deg,var(--lib-shade),transparent 20px),var(--lib-back)}
.lib-mini-bay i{display:block;width:var(--w);height:var(--h);background:var(--c);border-radius:2px 2px 0 0}
.lib-mini-bay .lib-bookend{height:42px;width:10px}
.lib-empty h2{margin:4px 0 0;font-size:19px}
.lib-empty p{margin:0;color:var(--muted);max-width:36ch;font-size:13px}

@media (max-width:720px){.lib-case{padding:0 10px}.lib-crown{margin:0 -14px}.lib-board{margin:0 -10px}.lib-row{padding-inline:14px}}
@media (prefers-reduced-motion:reduce){
 .lib-bk,.lib-bk::after,.lib-ink{transition:none}
 .lib-bk:hover,.lib-bk[aria-pressed="true"],.lib-bk:focus-visible,.lib-lying:hover,.lib-lying[aria-pressed="true"]{transform:none}
 .lib-bk:hover{filter:brightness(1.15)}
 .lib-bk[aria-pressed="true"]{outline:2px solid var(--lib-foil);outline-offset:2px}
 .lib-bk.is-new{animation:none}
 .lib-row{scroll-behavior:auto}
}

/* ===== podcasts: picture ledge ===== */
.lib-ledges{display:flex;flex-direction:column;gap:28px}
.lib-ledge-label{font-size:12px;color:var(--muted);font-weight:600;margin-bottom:4px}
.lib-bay.is-ledge{background:none}
.lib-lrow{display:flex;gap:26px;overflow-x:auto;padding:14px 26px 6px;scroll-behavior:smooth;scrollbar-width:none;align-items:flex-end}
.lib-lrow::-webkit-scrollbar{display:none}
.lib-pod{flex:none;width:var(--s);border:0;background:none;padding:0;min-height:0;display:flex;flex-direction:column;align-items:stretch;text-align:center;color:var(--text);cursor:pointer;font:inherit}
.lib-pod-frame{height:172px;display:flex;align-items:flex-end;justify-content:center}
.lib-sq{display:block;width:var(--s);aspect-ratio:1;max-width:100%;border-radius:6px;overflow:hidden;transform:rotate(var(--r));transform-origin:50% 100%;box-shadow:0 18px 20px -14px rgba(0,0,0,.55),0 0 0 1px rgba(0,0,0,.08);transition:transform .35s cubic-bezier(.2,.7,.3,1)}
.lib-pod:hover .lib-sq,.lib-pod:focus-visible .lib-sq{transform:rotate(0) translateY(-5px)}
.lib-pod:focus-visible{outline:2px solid var(--text);outline-offset:4px;border-radius:6px}
.lib-sq img{display:block;width:100%;height:100%;object-fit:cover}
.lib-lip{display:block;height:10px;margin-inline:-13px;background:linear-gradient(180deg,var(--lib-wood-hi) 0 2px,var(--lib-wood) 2px,var(--lib-wood-dk));box-shadow:0 8px 10px -6px var(--lib-shade)}
.lib-pod:first-child .lib-lip{margin-inline-start:-26px}.lib-pod:last-child .lib-lip{margin-inline-end:-26px}
.lib-cap{display:flex;flex-direction:column;gap:2px;padding-top:11px;min-width:0}
.lib-cap b{font-weight:700;font-size:13px;line-height:1.35;overflow-wrap:anywhere}
.lib-cap small{color:var(--muted);font-size:11.5px;line-height:1.4}
.lib-on-air{display:inline-flex;align-items:center;justify-content:center;gap:6px;color:var(--text);font-size:11.5px;font-weight:700}
.lib-eq{display:inline-flex;align-items:flex-end;gap:2px;height:10px}
.lib-eq i{width:2px;background:currentColor;border-radius:1px;transform-origin:bottom;animation:lib-eq 1.1s ease-in-out infinite}
.lib-eq i:nth-child(1){height:5px}.lib-eq i:nth-child(2){height:10px;animation-delay:-.4s}.lib-eq i:nth-child(3){height:7px;animation-delay:-.75s}
@keyframes lib-eq{50%{transform:scaleY(.35)}}
.lib-thin{display:block;height:2px;background:var(--border);border-radius:2px;margin-top:6px;overflow:hidden}
.lib-thin span{display:block;height:100%;background:var(--text)}
.lib-ph-pod{display:grid;place-items:center;width:100%;height:100%;
 background:radial-gradient(circle at 50% 50%,transparent 0 22%,rgba(255,255,255,.07) 22% 23%,transparent 23% 34%,rgba(255,255,255,.06) 34% 35%,transparent 35% 47%,rgba(255,255,255,.05) 47% 48%,transparent 48%),linear-gradient(160deg,rgba(255,255,255,.08),rgba(0,0,0,.25)),var(--c)}
.lib-ph-pod span{font-size:calc(var(--s) * .3);font-weight:700;line-height:1}

/* ===== films: framed posters ===== */
.lib-gallery{display:flex;flex-wrap:wrap;gap:30px 34px;align-items:flex-start;padding:6px 6px 0}
.lib-film{width:150px;border:0;background:none;padding:0;min-height:0;margin-top:var(--off);display:flex;flex-direction:column;align-items:center;gap:11px;text-align:center;color:var(--text);cursor:pointer;font:inherit}
.lib-frame{position:relative;display:block;width:100%;padding:9px;background:var(--surface);border:5px solid var(--lib-wood-dk);box-shadow:0 22px 26px -16px rgba(0,0,0,.5),inset 0 0 0 1px rgba(0,0,0,.08);transition:transform .35s cubic-bezier(.2,.7,.3,1),box-shadow .35s}
.lib-film:hover .lib-frame,.lib-film:focus-visible .lib-frame{transform:translateY(-4px);box-shadow:0 30px 30px -18px rgba(0,0,0,.55),inset 0 0 0 1px rgba(0,0,0,.08)}
.lib-film:focus-visible{outline:2px solid var(--text);outline-offset:4px}
.lib-poster{display:block;aspect-ratio:2/3;width:100%;overflow:hidden;box-shadow:inset 0 0 0 1px rgba(0,0,0,.1)}
.lib-poster img{display:block;width:100%;height:100%;object-fit:cover}
.lib-ph-film{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;width:100%;height:100%;padding:14px 10px 18px;background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(0,0,0,.3)),var(--c)}
.lib-ph-film b{font-size:16px;line-height:1.3;overflow-wrap:anywhere}
.lib-ph-film.is-big{position:absolute;inset:0;padding:40px 30px 50px}.lib-ph-film.is-big b{font-size:26px}
.lib-stub{position:absolute;top:-10px;inset-inline-start:-10px;z-index:1;padding:2px 9px;border-radius:2px;font-size:10px;font-weight:700;color:var(--lib-foil-ink);transform:rotate(-6deg);
 background:linear-gradient(180deg,var(--lib-foil-hi),var(--lib-foil));box-shadow:0 2px 5px rgba(0,0,0,.3);
 -webkit-mask:radial-gradient(circle 3px at 0 50%,transparent 98%,#000) left/51% 100% no-repeat,radial-gradient(circle 3px at 100% 50%,transparent 98%,#000) right/51% 100% no-repeat;
 mask:radial-gradient(circle 3px at 0 50%,transparent 98%,#000) left/51% 100% no-repeat,radial-gradient(circle 3px at 100% 50%,transparent 98%,#000) right/51% 100% no-repeat}
.lib-placard b{display:block;font-weight:700;font-size:13.5px;line-height:1.3;overflow-wrap:anywhere}
.lib-placard small{color:var(--muted);font-size:11.5px}

/* ===== details: an open book inside Saros's window ===== */
#modal-root .modal.lib-modal{width:min(880px,100%);padding:0;overflow:hidden;display:flex}
.lib-spread{display:grid;grid-template-columns:1fr 1fr;width:100%;min-height:520px;max-height:min(640px,calc(100vh - 40px));perspective:1600px}
.lib-leaf-art{position:relative;display:grid;place-items:center;overflow:hidden;background:var(--lib-back);transform-origin:0 50%;animation:lib-open .7s cubic-bezier(.2,.7,.3,1) both}
@keyframes lib-open{from{transform:rotateY(-70deg);filter:brightness(.7)}}
.lib-leaf-art::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(0,0,0,.28),rgba(0,0,0,0) 7%)}
.lib-leaf-info{position:relative;display:flex;flex-direction:column;min-height:0;padding:20px 26px 18px;background:linear-gradient(270deg,rgba(0,0,0,.05),rgba(0,0,0,0) 6%),var(--surface)}
.lib-leaf-info .modal-head{margin-bottom:6px}
.lib-info-body{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:20px;padding-inline-end:4px}
.lib-info-foot{margin-top:14px;padding-top:12px;border-top:1px solid var(--border);justify-content:flex-start}
.lib-art-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.lib-art-sq{position:relative;z-index:1;width:66%;max-width:280px;aspect-ratio:1;border-radius:6px;overflow:hidden;box-shadow:0 26px 40px -16px rgba(0,0,0,.7)}
.lib-art-sq img{width:100%;height:100%;object-fit:cover;display:block}
.lib-cover{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:46px 38px;text-align:center;
 background:linear-gradient(90deg,rgba(0,0,0,0) 92%,rgba(0,0,0,.22)),var(--tex,none),var(--c)}
.lib-cover.is-cloth{--tex:repeating-linear-gradient(0deg,rgba(255,255,255,.035) 0 1px,transparent 1px 3px)}
.lib-cover::before{content:"";position:absolute;inset:22px;border:1px solid var(--lib-foil);opacity:.7}
.lib-cover::after{content:"";position:absolute;inset:27px;border:1px solid var(--lib-foil);opacity:.35}
.lib-cover h3{margin:0;font-size:26px;line-height:1.35;text-wrap:balance}
.lib-cover p{margin:0;font-size:14px}
.lib-cover.is-paper h3,.lib-cover.is-paper p{color:var(--lib-paper-ink)}
.lib-kind{font-size:11.5px;color:var(--muted);font-weight:700}
.lib-i-title{margin:2px 0 0;font-size:24px;line-height:1.3;overflow-wrap:anywhere;text-wrap:balance}
.lib-i-by{color:var(--muted);font-size:14px}
.lib-lbl{font-size:11.5px;color:var(--muted);margin-bottom:7px;font-weight:600}
.lib-choices{display:flex;flex-wrap:wrap;gap:6px}
.lib-choices .chip-btn[aria-pressed="true"]{background:var(--button-bg);border-color:var(--button-bg);color:var(--button-text)}
.lib-progress{display:flex;flex-direction:column;gap:7px}
.lib-track{position:relative;height:4px;background:var(--surface-3);border-radius:2px}
.lib-track span{position:absolute;inset-block:0;right:0;background:var(--text);border-radius:2px}
.lib-ptxt{font-variant-numeric:tabular-nums;font-size:13px}.lib-ptxt em{font-style:normal;color:var(--muted)}
.lib-mark{position:absolute;top:0;right:26px;width:18px;height:52px;background:var(--lib-ribbon);clip-path:polygon(0 0,100% 0,100% 100%,50% 84%,0 100%)}
.lib-stars{display:flex;gap:2px}
.lib-stars button{border:0;background:none;padding:2px;min-height:0;color:var(--border);transition:color .2s,transform .2s}
.lib-stars button:hover{transform:scale(1.12)}
.lib-stars button.is-on{color:var(--text)}
.lib-notes{margin:0;font-size:14px;line-height:1.85;white-space:pre-wrap;overflow-wrap:anywhere}
.lib-link{border:0;background:none;padding:2px 0;min-height:0;color:var(--text);font-weight:700;text-decoration:underline;text-underline-offset:3px}

/* ===== add / edit ===== */
.lib-kinds{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.lib-kind-btn{display:flex;flex-direction:column;align-items:center;gap:12px;padding:20px 8px 14px;border:1px solid var(--border);border-radius:14px;background:var(--surface-2);color:var(--text);font-weight:700;font-size:14px;transition:border-color .25s,transform .25s}
.lib-kind-btn:hover,.lib-kind-btn:focus-visible{border-color:var(--text);transform:translateY(-2px)}
.lib-k-art{height:70px;display:flex;align-items:flex-end;justify-content:center;gap:2px}
.lib-k-art i{display:block;width:var(--w);height:var(--h);background:var(--c);border-radius:2px 2px 0 0}
.lib-k-art{flex-direction:column;align-items:center;justify-content:flex-end}
.lib-k-art:has(i){flex-direction:row;align-items:flex-end}
.lib-k-sq{width:48px;height:48px;border-radius:5px;background:var(--lib-c5);transform:rotate(-2deg)}
.lib-k-lip{width:66px;height:6px;background:var(--lib-wood-dk);border-radius:1px}
.lib-k-frame{display:block;width:44px;height:62px;padding:5px;border:3px solid var(--lib-wood-dk);background:var(--surface)}
.lib-k-frame span{display:block;width:100%;height:100%;background:var(--lib-c4)}
.lib-form .field>label,.lib-flabel{font-size:11px;color:var(--muted);font-weight:600}
.lib-opt{font-weight:400;color:var(--muted-2)}
.lib-two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.lib-err{margin:0;color:var(--text);font-size:12px;font-weight:600}
.lib-err:empty{display:none}
.lib-err::before{content:"⚠︎ "}
.lib-hint{color:var(--muted);font-size:11.5px}
.lib-imgpick{display:flex;align-items:center;gap:14px}
.lib-thumb{flex:none;width:58px;aspect-ratio:2/3;border-radius:4px;overflow:hidden;background:var(--surface-3)}
.lib-thumb.is-sq{aspect-ratio:1}
.lib-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.lib-imgacts{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center}
.lib-file{cursor:pointer}

@media (max-width:720px){
 #modal-root .modal-overlay:has(.lib-modal){align-items:flex-end;padding:0}
 #modal-root .modal.lib-modal{border-radius:22px 22px 0 0;max-height:92vh}
 .lib-spread{grid-template-columns:1fr;grid-template-rows:200px minmax(0,1fr);min-height:0;max-height:92vh}
 .lib-leaf-art{animation:none}
 .lib-leaf-art::after{background:linear-gradient(0deg,rgba(0,0,0,.28),rgba(0,0,0,0) 20%)}
 .lib-cover{padding:28px 22px}.lib-cover h3{font-size:20px}
 .lib-art-sq{width:150px}
 .lib-two{grid-template-columns:1fr}
 .lib-film{width:calc(50% - 17px)}
}
@media (prefers-reduced-motion:reduce){
 .lib-leaf-art,.lib-eq i{animation:none}
 .lib-sq,.lib-frame,.lib-kind-btn{transition:none}
 .lib-pod:hover .lib-sq,.lib-pod:focus-visible .lib-sq{transform:rotate(var(--r))}
 .lib-film:hover .lib-frame{transform:none}
 .lib-lrow{scroll-behavior:auto}
}

/* ===== v30.9.1: the real book on a plain Saros shelf — nothing drawn ===== */
.lib-case{padding:6px 22px 4px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius,22px);box-shadow:var(--shadow-soft)}
.lib-case>.lib-crown,.lib-case>.lib-plinth{display:none}
.lib-bay{background:none}
.lib-row{padding:30px 8px 0;gap:3px}
.lib-board{margin:0 -8px 30px;height:6px;border-radius:3px;background:var(--surface-3);box-shadow:none}
.lib-board:last-child{margin-bottom:18px}
.lib-plate{top:12px;height:auto;padding:0;background:none;box-shadow:none;border-radius:0;color:var(--muted);font-size:12px;font-weight:600;line-height:1.4}
.lib-bookend{width:6px;height:70px;border-radius:2px;background:var(--border);box-shadow:none}
.lib-bk{box-shadow:inset -1px 0 0 rgba(0,0,0,.14),0 1px 2px rgba(0,0,0,.08)}
.lib-bk::after{display:none}
.lib-bk[aria-pressed="true"],.lib-bk:focus-visible{box-shadow:0 14px 18px -10px rgba(0,0,0,.4)}
.lib-spine,.lib-lying{background:var(--c);border-radius:2px;overflow:hidden;color:var(--lib-foil)}
.lib-spine.is-paper,.lib-lying.is-paper{color:var(--lib-paper-ink)}
.lib-spine .lib-t,.lib-lying .lib-t{color:inherit}
.lib-spine .lib-a,.lib-lying .lib-a{color:inherit;opacity:.8}
/* her photo of the spine */
.lib-spine.is-photo,.lib-lying.is-photo{background:var(--surface-3);padding:0}
.lib-spimg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}
.lib-lying.is-photo .lib-spimg{inset:auto;left:50%;top:50%;width:var(--w);height:var(--h);transform:translate(-50%,-50%) rotate(-90deg)}
.lib-spine.is-photo .lib-ribbon{z-index:2}
/* a strip of the cover photo (the side where the spine is) */
.lib-spine.is-slice,.lib-lying.is-slice{color:#fff}
.lib-slice{position:absolute;inset:0;background:var(--img) var(--side,right) center/auto 100% no-repeat,var(--c)}
.lib-lying .lib-slice{background-size:100% auto;background-position:center var(--side,right)}
.lib-spine.is-slice .lib-vt,.lib-lying.is-slice .lib-t,.lib-lying.is-slice .lib-a{position:relative;z-index:1;text-shadow:0 1px 3px rgba(0,0,0,.75),0 0 1px rgba(0,0,0,.9)}
.lib-thumb.is-spine{width:34px;height:96px}
.lib-thumb.is-spine img{object-fit:contain}

/* ===== v30.9.1: a real wooden bookcase (option «ج») — wood tones from Saros's autumn palette (a98c75 · 816550 · 5b4535 · 432c1a) ===== */
body{--sh-top:color-mix(in srgb,var(--surface-3) 55%,var(--surface));--sh-front:color-mix(in srgb,var(--surface-3) 72%,var(--text) 16%);--sh-edge:color-mix(in srgb,var(--surface-3) 50%,var(--text) 34%);--sh-wall:color-mix(in srgb,var(--surface-2) 85%,var(--text) 6%);
 --sh-grain:repeating-linear-gradient(90deg,rgba(0,0,0,.018) 0 1px,transparent 1px 23px),repeating-linear-gradient(90deg,rgba(255,255,255,.03) 0 2px,transparent 2px 37px),repeating-linear-gradient(90deg,rgba(0,0,0,.02) 0 1px,transparent 1px 61px)}
.lib-row{padding:34px 10px 0;gap:3px}
.lib-bk{box-shadow:7px 0 9px -5px rgba(0,0,0,.28),inset -1px 0 0 rgba(0,0,0,.18),inset 1px 0 0 rgba(255,255,255,.12)}
.lib-spine{background-image:linear-gradient(90deg,rgba(0,0,0,.22),rgba(255,255,255,.1) 14%,rgba(255,255,255,0) 40%,rgba(0,0,0,.12) 85%,rgba(0,0,0,.28))!important;background-blend-mode:normal}
.lib-spine.is-slice .lib-slice::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.25),rgba(255,255,255,.1) 14%,rgba(255,255,255,0) 40%,rgba(0,0,0,.12) 85%,rgba(0,0,0,.3))}
.lib-spine.is-photo::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(0,0,0,.2),rgba(255,255,255,.08) 14%,transparent 40%,rgba(0,0,0,.1) 85%,rgba(0,0,0,.25));display:block!important;opacity:1}
.lib-board{position:relative;height:24px;margin:0 -16px 36px;border-radius:2px;
 background:linear-gradient(180deg,var(--sh-top) 0 9px,var(--sh-edge) 9px 10px,transparent 10px),var(--sh-grain),var(--sh-front);
 box-shadow:0 16px 18px -12px rgba(0,0,0,.5),0 2px 0 rgba(0,0,0,.08)}
.lib-board:last-child{margin-bottom:22px}
.lib-plate{top:auto;bottom:-22px;font-size:12px;color:var(--muted)}
.lib-bookend{width:8px;height:96px;border-radius:2px 2px 0 0;background:linear-gradient(90deg,var(--sh-edge),var(--sh-front));box-shadow:5px 0 8px -4px rgba(0,0,0,.3)}
/* B: a real bookcase: frame, back wall, shelves with depth */
.lib-case{padding:0 18px;border:0;border-radius:4px;background:var(--sh-grain),var(--sh-front);box-shadow:0 24px 30px -22px rgba(0,0,0,.55),inset 0 0 0 1px rgba(0,0,0,.06)}
.lib-case>.lib-crown{display:block;height:20px;margin:0 -24px;border-radius:3px;background:linear-gradient(180deg,var(--sh-top) 0 6px,var(--sh-edge) 6px 7px,transparent 7px),var(--sh-grain),var(--sh-front);box-shadow:0 6px 8px -4px rgba(0,0,0,.35)}
.lib-case>.lib-plinth{display:block;height:22px;margin:0 -6px;background:linear-gradient(180deg,var(--sh-edge),var(--sh-front))}
.lib-bay{background:radial-gradient(80% 140% at 50% -30%,rgba(255,255,255,.35),transparent 60%),linear-gradient(180deg,rgba(0,0,0,.18),transparent 30px),linear-gradient(90deg,rgba(0,0,0,.16),transparent 22px,transparent calc(100% - 22px),rgba(0,0,0,.16)),var(--sh-wall)}
body[data-theme="dark"] .lib-bay{background:linear-gradient(180deg,rgba(0,0,0,.4),transparent 30px),linear-gradient(90deg,rgba(0,0,0,.35),transparent 22px,transparent calc(100% - 22px),rgba(0,0,0,.35)),var(--sh-wall)}
.lib-board{margin:0 -18px;height:22px}
.lib-board:last-child{margin-bottom:0}
.lib-plate{bottom:auto;top:11px;font-size:10px;line-height:11px;color:color-mix(in srgb,var(--text) 70%,transparent)}

/* C: the same bookcase in wood tones from Saros's autumn palette */
body{--sh-top:color-mix(in srgb,#a98c75 70%,#fff);--sh-front:#816550;--sh-edge:#5b4535;--sh-wall:color-mix(in srgb,#a98c75 35%,#f4efe9);
 --sh-grain:repeating-linear-gradient(90deg,rgba(67,44,26,.10) 0 1px,transparent 1px 19px),repeating-linear-gradient(90deg,rgba(255,255,255,.07) 0 2px,transparent 2px 31px),repeating-linear-gradient(90deg,rgba(67,44,26,.08) 0 1px,transparent 1px 47px),linear-gradient(180deg,rgba(255,255,255,.08),rgba(0,0,0,.08))}
body[data-theme="dark"]{--sh-top:#6b5444;--sh-front:#5b4535;--sh-edge:#432c1a;--sh-wall:#2a211b}
.lib-plate{color:#f3ebe2}
body{--lib-wood:var(--sh-front);--lib-wood-hi:var(--sh-top);--lib-wood-dk:var(--sh-edge);--lib-back:var(--sh-wall)}
body[data-theme="dark"]{--lib-wood:var(--sh-front);--lib-wood-hi:var(--sh-top);--lib-wood-dk:var(--sh-edge);--lib-back:var(--sh-wall)}

/* ===== v30.9.2: a more real library ===== */
.lib-shelfby{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.lib-shelfby .lib-hint{color:var(--muted);font-size:12px}
.lib-cut-msg{margin:4px 0 0;font-size:12px;color:var(--muted)}.lib-cut-msg:empty{display:none}
.lib-cam{display:none}
@media (pointer:coarse){.lib-cam{display:inline-flex}}
/* things that stick out of a book */
.lib-spine{overflow:visible}
.lib-spine.is-photo,.lib-spine.is-slice,.lib-spine.is-plain{overflow:visible}
.lib-spine .lib-spimg,.lib-spine .lib-slice{border-radius:inherit}
.lib-slip{position:absolute;top:var(--t,-9px);left:var(--x);width:9px;height:24px;z-index:0;background:color-mix(in srgb,var(--surface) 88%,var(--lib-wood));box-shadow:0 1px 2px rgba(0,0,0,.25);transform:rotate(3deg);border-radius:1px}
.lib-bmark{position:absolute;top:-16px;left:var(--x);width:10px;height:30px;margin-left:-5px;z-index:0;background:var(--lib-ribbon);clip-path:polygon(0 0,100% 0,100% 100%,50% 86%,0 100%)}
.lib-bmark-tip{position:absolute;bottom:calc(100% + 6px);left:50%;transform:translateX(-50%);white-space:nowrap;padding:3px 8px;border-radius:8px;background:var(--surface);border:1px solid var(--border);color:var(--text);font-size:11px;font-weight:600;opacity:0;pointer-events:none;transition:opacity .2s;box-shadow:var(--shadow-soft)}
.lib-bk:hover .lib-bmark-tip,.lib-bk:focus-visible .lib-bmark-tip{opacity:1}
.lib-bmark{clip-path:none;border-radius:1px 1px 0 0}
.lib-bmark::after{content:"";position:absolute;inset:0;background:var(--lib-ribbon);clip-path:polygon(0 0,100% 0,100% 100%,50% 86%,0 100%)}
.lib-bmark{background:none}
.lib-done{position:absolute;bottom:7px;left:50%;transform:translateX(-50%);z-index:2;width:16px;height:16px;border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,var(--surface) 85%,transparent);color:var(--text);box-shadow:0 1px 2px rgba(0,0,0,.3)}
.lib-spine>.lib-vt,.lib-spine>.lib-label{position:relative;z-index:1}
/* her order */
.lib-spine.is-drag{z-index:5;cursor:grabbing;transition:none!important;box-shadow:0 22px 26px -12px rgba(0,0,0,.55)}
.lib-row > .lib-spine{cursor:pointer}
.lib-row.has-lean .lib-bookend{display:none}
.lib-spine.is-lean{transform-origin:0 100%;transform:rotate(-8deg);margin-left:calc(var(--h) * .15)}
.lib-spine.is-lean:hover{transform:rotate(-8deg) translateY(-6px)}
.lib-spine.is-lean[aria-pressed="true"],.lib-spine.is-lean:focus-visible{transform:rotate(-8deg) translateY(-10px)}
/* inside the book: page edges by how much she read */

.lib-spread.has-edges{position:relative}
.lib-spread.has-edges::before,.lib-spread.has-edges::after{content:"";position:absolute;top:6px;bottom:6px;z-index:3;pointer-events:none;
 background:repeating-linear-gradient(90deg,color-mix(in srgb,var(--surface) 92%,var(--text)) 0 1px,var(--surface) 1px 2px);box-shadow:0 0 0 1px color-mix(in srgb,var(--border) 70%,transparent)}
.lib-spread.has-edges::before{right:-1px;width:calc(2px + var(--thick) * var(--read));border-radius:0 6px 6px 0}
.lib-spread.has-edges::after{left:-1px;width:calc(2px + var(--thick) * (1 - var(--read)));border-radius:6px 0 0 6px}
/* quotes: paper slips */
.lib-quotes ul{list-style:none;margin:6px 0 4px;padding:0;display:flex;flex-direction:column;gap:8px}
.lib-quote{padding:10px 12px 8px;background:color-mix(in srgb,var(--surface-2) 70%,var(--surface));border:1px solid var(--border);border-radius:3px;box-shadow:0 2px 4px rgba(0,0,0,.08);transform:rotate(-.4deg)}
.lib-quote:nth-child(even){transform:rotate(.5deg)}
.lib-quote p{margin:0 0 4px;font-size:13.5px;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere}
.lib-quote p::before{content:"«"}.lib-quote p::after{content:"»"}
.lib-quote>div{display:flex;align-items:center;justify-content:space-between;gap:8px}
.lib-quote small{color:var(--muted);font-size:11.5px}
.lib-qform{display:flex;flex-direction:column;gap:8px;margin:6px 0}
.lib-qform textarea{border:1px solid var(--border);border-radius:10px;background:var(--surface-2);color:var(--text);padding:8px 10px;resize:vertical}
.lib-qrow{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.lib-qrow input{width:80px;min-height:38px;border:1px solid var(--border);border-radius:10px;background:var(--surface-2);color:var(--text);text-align:center}
.lib-qrow label{font-size:12px;color:var(--muted)}

/* taking the book off the shelf */
.lib-bk.is-out{visibility:hidden}
.lib-fly{position:fixed;z-index:60;pointer-events:none;perspective:900px;transform-origin:50% 50%}
.lib-fly-book{position:relative;width:100%;height:100%;transform-style:preserve-3d;transform-origin:50% 50%}
.lib-fly-spine,.lib-fly-cover{position:absolute;top:0;height:100%;backface-visibility:hidden}
.lib-fly-spine{left:0;width:var(--sw)}
.lib-fly-spine>.lib-bk{position:absolute;inset:0;transform:none!important;width:100%!important;height:100%!important;visibility:visible}
.lib-fly-cover{left:50%;width:var(--cw);margin-left:calc(var(--cw) / -2);transform:rotateY(90deg) translateZ(calc(var(--sw) / 2));overflow:hidden;border-radius:2px 4px 4px 2px;background:var(--c,var(--surface-3));box-shadow:0 18px 28px -14px rgba(0,0,0,.55)}
.lib-fly-cover img{width:100%;height:100%;object-fit:cover;display:block}
.lib-fly-plain{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;height:100%;padding:14px;text-align:center;color:var(--lib-foil)}
.lib-fly-plain b{font-size:15px}.lib-fly-plain small{font-size:11px;opacity:.85}
#modal-root .lib-modal.is-arriving .lib-art-img,#modal-root .lib-modal.is-arriving .lib-cover{opacity:0}
#modal-root .lib-modal.is-arriving .lib-leaf-art{animation:none}
.lib-lying{overflow:visible}.lib-lying>.lib-t,.lib-lying>.lib-a{position:relative;z-index:1}.lib-lying .lib-done{bottom:auto;top:50%;left:8px;transform:translateY(-50%)}

/* ===== v30.9.3: fitting a picture by hand ===== */
#modal-root .modal.has-crop{position:relative;overflow:hidden}
.lib-crop{position:absolute;inset:0;z-index:20;display:flex;flex-direction:column;gap:12px;padding:22px 24px;background:var(--surface);overflow:auto}
.lib-crop-head h3{margin:0;font-size:18px}.lib-crop-head p{margin:4px 0 0;color:var(--muted);font-size:12.5px}
.lib-crop-stage{flex:1;min-height:300px;display:grid;place-items:center;border-radius:14px;background:repeating-conic-gradient(var(--surface-2) 0 25%,var(--surface-3) 0 50%) 0 0/18px 18px}
.lib-crop-frame{position:relative;overflow:hidden;cursor:grab;touch-action:none;box-shadow:0 0 0 2px var(--text),0 0 0 9999px color-mix(in srgb,var(--bg) 55%,transparent);border-radius:2px}
.lib-crop-frame:active{cursor:grabbing}
.lib-crop-frame:focus-visible{outline:3px solid var(--text);outline-offset:4px}
.lib-crop-frame img{position:absolute;left:50%;top:50%;max-width:none;transform-origin:50% 50%;user-select:none;pointer-events:none}
.lib-crop-stage{overflow:hidden}
.lib-crop-tools{display:flex;flex-direction:column;gap:8px}
.lib-crop-row{display:grid;grid-template-columns:90px 1fr;align-items:center;gap:10px;font-size:12.5px;color:var(--muted)}
.lib-crop-row input{width:100%;accent-color:var(--text)}
.lib-crop-btns{display:flex;gap:8px;flex-wrap:wrap}
.lib-crop .modal-footer{margin-top:0}
/* the whole cover, standing like a book in the open window (not cut to fill it) */
.lib-spread[data-type="book"] .lib-art-img,.lib-spread[data-type="movie"] .lib-art-img{position:relative;inset:auto;width:auto;height:auto;max-width:72%;max-height:82%;object-fit:contain;border-radius:2px 5px 5px 2px;box-shadow:0 26px 40px -16px rgba(0,0,0,.6),inset 0 0 0 1px rgba(0,0,0,.08)}
.lib-spread[data-type="book"] .lib-leaf-art,.lib-spread[data-type="movie"] .lib-leaf-art{display:grid;place-items:center}
