/* v307: first page free, My shelf, mixed library grid, Find my book. All classes start with bk8-. */
.bk8-pn{margin:10px 0 0;padding:8px 12px;border:1px solid var(--line);border-radius:10px;font-size:13.5px;line-height:1.45}
.bk8-pv{margin:14px 0;padding:16px;border-radius:14px;border:1px solid var(--acc);background:linear-gradient(180deg,color-mix(in srgb,var(--acc) 16%,transparent),transparent 70%);box-shadow:0 -10px 24px color-mix(in srgb,var(--acc) 22%,transparent) inset}
.bk8-pv b{display:block;font-size:16px;margin:0 0 6px}.bk8-pv p{margin:0 0 10px;line-height:1.5}
.bk2-tr.bk8-lk{opacity:.6}
.bk8-mix{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.bk8-mix>.bk2-cv{min-height:132px;padding:16px 12px 14px 14px;border-radius:22px}
.bk8-mix>.bk2-cv:is(:nth-child(3n+1),:last-child:nth-child(3n+2)){grid-column:1/-1;padding-right:92px}
.bk8-mix>.bk2-cv:not(:is(:nth-child(3n+1),:last-child:nth-child(3n+2))) .bk2-cva{width:34px;height:52px;right:10px;top:10px}
.bk8-mix>.bk2-cv:not(:is(:nth-child(3n+1),:last-child:nth-child(3n+2))) .bk2-cvt{font-size:14px;letter-spacing:.06em;overflow-wrap:anywhere}
.bk8-mix>.bk2-cv:not(:is(:nth-child(3n+1),:last-child:nth-child(3n+2))) .bk2-cvk{letter-spacing:.16em;font-size:10px}
.bk8-mix>.bk2-cv:not(:is(:nth-child(3n+1),:last-child:nth-child(3n+2))) .bk2-cvs{font-size:11.5px;letter-spacing:0}
.bk8-mix>.bk2-cv:not(:is(:nth-child(3n+1),:last-child:nth-child(3n+2))) .bk2-cvp{padding:5px 10px;letter-spacing:.12em;font-size:10px}
.bk8-mix .bk2-cvp{box-shadow:0 0 14px color-mix(in srgb,var(--ca) 45%,transparent)}
.bk8-msl{display:flex;flex-direction:column;gap:10px}
.bk8-ms{display:block;width:84%;box-sizing:border-box;text-align:left;padding:12px 16px;border-radius:22px;border:1px solid var(--co);color:var(--ct);background:linear-gradient(135deg,var(--c1),var(--c2));min-height:0}
.bk8-ms.bk8-off{margin-left:16%}
.bk8-ms b{display:block;font-size:15px;margin:2px 0}.bk8-msk{display:block;font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--cs)}.bk8-msn{display:block;font-size:12px;color:var(--cs)}
.bk8-st{margin:0 0 6px;font-size:11px;letter-spacing:.26em;text-transform:uppercase;opacity:.75}
.bk8-frame{padding:8px;border-radius:10px;background:#e9eef0}
.bk8-niche{padding:22px 16px 20px;border-radius:4px;color:#fff;background:radial-gradient(70% 45% at 50% 0%,rgba(255,255,255,.4),transparent 70%),linear-gradient(#0f8f93,#0a6a70);box-shadow:inset 0 8px 16px rgba(0,0,0,.35)}
.bk8-niche p{margin:8px 0 0;font-size:15px;line-height:1.5}
.bk8-nk{display:block;font-size:19px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.bk8-pv>b{margin:0 0 6px!important;padding:0!important;text-indent:0}

/* v309 CUBBY SHELF LOOK (my pick 2026-10-25: rounded cream and charcoal boxes with books standing inside). Each book is a box with a thick rim, a recessed back and a row of spines. Same in dark and light; colours come from variables. */
.bk2-cvl .bk2-cv{--rim:#ece1cd;border:7px solid var(--rim);border-radius:30px;box-shadow:inset 0 16px 26px rgba(0,0,0,.42),inset 0 -2px 0 rgba(0,0,0,.25),0 6px 14px rgba(0,0,0,.28)}
.bk2-cvl .bk2-cv:nth-child(even){--rim:#34363b}
html[data-mode="light"] .bk2-cvl .bk2-cv{--rim:#e6d8bf;box-shadow:inset 0 12px 20px rgba(0,0,0,.16),inset 0 -2px 0 rgba(0,0,0,.12),0 6px 14px rgba(0,0,0,.14)}
html[data-mode="light"] .bk2-cvl .bk2-cv:nth-child(even){--rim:#555860}
.bk9-sp{position:absolute;right:14px;bottom:14px;display:flex;align-items:flex-end;gap:3px;height:62px;padding:0 4px 2px;border-bottom:3px solid var(--rim);box-sizing:content-box}
.bk9-sp i{display:block;width:6px;border-radius:1.5px 1.5px 0 0;background:color-mix(in srgb,var(--ct) 22%,transparent);border:1px solid color-mix(in srgb,var(--ct) 35%,transparent);border-bottom:0}
.bk9-sp i.on{background:var(--ca);border-color:var(--ca);box-shadow:0 0 8px color-mix(in srgb,var(--ca) 60%,transparent)}
.bk8-mix>.bk2-cv:not(:is(:nth-child(3n+1),:last-child:nth-child(3n+2))) .bk9-sp{bottom:auto;top:10px;right:10px;height:34px}
.bk8-mix>.bk2-cv:not(:is(:nth-child(3n+1),:last-child:nth-child(3n+2))) .bk9-sp i{width:4px}
.bk8-mix>.bk2-cv:not(:is(:nth-child(3n+1),:last-child:nth-child(3n+2))) .bk9-sp i:nth-child(n+7){display:none}
.bk8-mix>.bk2-cv:is(:nth-child(3n+1),:last-child:nth-child(3n+2)){padding-right:112px}
.bk8-ms{border:6px solid var(--rim,#ece1cd);border-radius:26px;box-shadow:inset 0 10px 18px rgba(0,0,0,.35)}
.bk8-msl .bk8-ms:nth-child(even){--rim:#34363b}
html[data-mode="light"] .bk8-ms{--rim:#e6d8bf;box-shadow:inset 0 8px 14px rgba(0,0,0,.14)}
html[data-mode="light"] .bk8-msl .bk8-ms:nth-child(even){--rim:#555860}
