/* Owner: WO-RECS. "Continue reading" bar pinned to the bottom of every non-chapter page
   (recs.js builds it from this device's reading history; nothing renders without JS). */
.cb { position: fixed; left: 0; right: 0; bottom: 12px; z-index: 40; padding: 0 16px; pointer-events: none;
  transform: translateY(calc(100% + 16px)); transition: transform .35s ease-out; }
.cb.on { transform: none; }
.cb-in { pointer-events: auto; display: flex; align-items: center; gap: 12px; max-width: 1140px; margin: 0 auto;
  padding: 8px 10px 8px 8px; border-radius: 8px; background: rgb(38 42 48 / 96%); color: #F2F4F7;
  box-shadow: 0 4px 18px rgb(0 0 0 / 35%); }
.cb-link { display: flex; align-items: center; gap: 12px; min-width: 0; flex: 1; color: inherit; }
.cb-link:hover { color: inherit; text-decoration: none; }
.cb-link:hover .cb-title { text-decoration: underline; }
.cb .cover { width: 36px; flex: none; box-shadow: none; border-radius: 3px; }
.cb .cover.typo { padding: 0; gap: 0; outline: 0; }
.cb .cover.typo .c-title, .cb .cover.typo .c-author { display: none; }
.cb-body { display: flex; flex-direction: column; min-width: 0; line-height: 1.3; }
.cb-kicker { font-size: 11px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: #9AA3AE; }
.cb-title { font-size: 15px; font-weight: 700; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cb-prog { font-size: 12px; color: #B8C0CA; }
.cb-go { flex: none; border-radius: 999px; padding: 6px 18px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; font-size: 13px; }
.cb-x { flex: none; width: 36px; height: 36px; display: grid; place-items: center; border: 0; border-radius: 50%;
  background: transparent; color: #9AA3AE; font: 400 24px/1 var(--f-ui); cursor: pointer; }
.cb-x:hover { color: #FFFFFF; background: rgb(255 255 255 / 10%); }
html.has-cb body { padding-bottom: 88px; }
@media (max-width: 600px) {
  .cb { bottom: 8px; padding: 0 8px; }
  .cb-in { gap: 8px; }
  .cb-kicker { display: none; }
  .cb-go { padding: 6px 12px; font-size: 12px; }
}
@media (prefers-reduced-motion: reduce) { .cb { transition: none; } }
