.bb-hero{text-align:center;padding:3rem 1rem}.bb-tag{font-size:1.5rem;font-style:italic}
.bb-btn{display:inline-block;padding:.6rem 1.2rem;background:#5b1a1a;color:#fff!important;border-radius:6px;text-decoration:none;border:0;cursor:pointer}.bb-alt{background:#333}
.bb-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem}.bb-card{border:1px solid #ddd;border-radius:8px;padding:1rem}
.bb-badge{font-size:.75rem;background:#eee;padding:2px 6px;border-radius:4px;margin-right:4px}.bb-18{background:#b00;color:#fff}
.bb-genres a{margin-right:.6rem}.bb-genres a.on{font-weight:bold}
.bb-ch{display:flex;justify-content:space-between;padding:.4rem 0;border-bottom:1px solid #eee}
.bb-reader{position:relative;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;max-width:42rem;margin:auto;font-size:1.15rem;line-height:1.7}
.bb-wm{position:fixed;inset:0;pointer-events:none;z-index:9;opacity:.07;font-size:22px;transform:rotate(-25deg);overflow:hidden;white-space:pre;line-height:5}
@media print{.bb-reader,.bb-wm{display:none!important}body:after{content:"Printing is disabled on BookBard."}}
.bb-msg{padding:.6rem;background:#fff6d6;border-radius:6px}
.bb-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.bb-reg-form label{display:block;font-weight:500;margin-bottom:4px}.bb-reg-form .bb-check label{display:flex;gap:8px;align-items:center;font-weight:400}
.bb-reg-form input[type=text],.bb-reg-form input[type=email],.bb-reg-form input[type=password]{width:100%;box-sizing:border-box;padding:10px 12px;border-radius:6px;font-size:1rem}
.bb-reg-errors ul{margin:0;padding-left:1.2em}
/* Reader toolbar + chapter menu (Latte panel, mocha header, cream on mocha) */
.bb-rtool{display:flex;align-items:center;gap:.8rem;justify-content:space-between;max-width:42rem;margin:0 auto .6rem;padding:.4rem 0;background:var(--bb-latte,#EADBC3)}
.bb-rpos{font-size:.95rem}
.bb-chm-open{display:inline-flex;align-items:center;gap:.4rem}
.bb-rnav{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}
@media (max-width:700px){.bb-rtool{position:sticky;top:0;z-index:10;padding:.5rem}}
html.bb-chm-lock{overflow:hidden}
.bb-chm-back{position:fixed;inset:0;z-index:100000;background:rgba(42,26,14,.55);display:flex;align-items:center;justify-content:center}
.bb-chm{background:var(--bb-latte,#EADBC3);color:var(--bb-ink,#2A1A0E);width:min(560px,92vw);max-height:80vh;display:flex;flex-direction:column;border-radius:10px;overflow:hidden;box-shadow:0 10px 40px rgba(0,0,0,.35)}
html body .bb-chm-head{display:flex;align-items:center;justify-content:space-between;background:#3C2212;padding:.7rem 1rem}
html body .bb-chm-head,html body .bb-chm-head .bb-chm-title,html body .bb-chm-head .bb-chm-x{color:#F3E6CF!important}
.bb-chm-title{font-weight:600;font-size:1.1rem}
html body .bb-chm-x{background:none!important;border:0;font-size:1.7rem;line-height:1;cursor:pointer;padding:0 .3rem}
.bb-chm-tools{display:flex;gap:.5rem;padding:.6rem 1rem;border-bottom:1px solid #cdb894}
.bb-chm-tools input{flex:1;min-width:0;padding:.45rem .6rem;border:1px solid #cdb894;border-radius:6px;background:var(--bb-latte-2,#F3E9D8);color:var(--bb-ink,#2A1A0E)}
.bb-chm-tools select{padding:.4rem;border:1px solid #cdb894;border-radius:6px;background:var(--bb-latte-2,#F3E9D8);color:var(--bb-ink,#2A1A0E)}
.bb-chm-list{overflow-y:auto;padding:.3rem 0;flex:1}
.bb-chm-item{display:flex;width:100%;gap:.5rem;align-items:center;text-align:left;background:none;border:0;border-bottom:1px solid rgba(60,34,18,.12);padding:.55rem 1rem;cursor:pointer;color:var(--bb-ink,#2A1A0E);font:inherit}
.bb-chm-item:hover,.bb-chm-item:focus-visible{background:var(--bb-latte-2,#F3E9D8);outline:2px solid #3C2212;outline-offset:-2px}
html body .bb-chm-item.is-current{background:#3C2212}
html body .bb-chm-item.is-current,html body .bb-chm-item.is-current span{color:#F3E6CF!important}
.bb-chm-item.is-current .bb-badge{background:rgba(243,230,207,.18)}
.bb-chm-n{min-width:3.2em;font-variant-numeric:tabular-nums}.bb-chm-t{flex:1}.bb-chm-b{display:flex;gap:4px;flex-shrink:0}
.bb-chm-last{background:#cdb894}
.bb-chm-msg{padding:.6rem 1rem}
.bb-chm-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
@media (max-width:700px){.bb-chm-back{justify-content:flex-start;align-items:stretch}
 .bb-chm{width:86vw;max-height:none;height:100%;border-radius:0 10px 10px 0;animation:bbchmIn .2s ease-out}}
@keyframes bbchmIn{from{transform:translateX(-100%)}to{transform:none}}
@media (prefers-reduced-motion:reduce){.bb-chm{animation:none}}
