/* Berceste B1 isolated bookshelf, responsive and private by default. */
.bc-bookshelf{--bc-book-ink:var(--bc-ink,#19372f);--bc-book-muted:var(--bc-muted,#667970);--bc-book-accent:var(--bc-accent,#125c4f);--bc-book-line:var(--bc-line,#d6e3d9)}
.bc-bookshelf-head{display:flex;justify-content:space-between;align-items:start;gap:1.5rem}
.bc-book-add{border:1px solid var(--bc-book-line);border-radius:15px;margin:1rem 0 1.5rem;background:rgba(30,99,80,.035);overflow:hidden}
.bc-book-add>summary{cursor:pointer;list-style-position:inside;padding:1rem 1.2rem;font-weight:700;color:var(--bc-book-ink);min-height:48px;box-sizing:border-box}
.bc-book-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:16px}
.bc-book-form label,.bc-book-actions label,.bc-book-update-form label{display:grid;gap:6px;font-weight:600;font-size:.84rem;color:var(--bc-book-ink);min-width:0}
.bc-book-form input,.bc-book-form select,.bc-book-actions :is(input,select),.bc-book-update-form :is(input,select),.bc-book-link-row select{box-sizing:border-box;min-width:0;width:100%;min-height:44px;background:var(--bc-paper,#fff);color:var(--bc-book-ink);border:1px solid #7c9b8a;border-radius:9px;padding:8px 11px;font:inherit;font-size:.94rem}
.bc-book-form>button,.bc-book-editor-actions button{border-radius:9px;min-height:44px;border:1px solid #125c4f;background:#125c4f;color:white;font:inherit;font-weight:650;padding:10px 16px;cursor:pointer}
.bc-book-form>button[data-bc-lookup]{background:transparent;color:var(--bc-book-ink);border-color:var(--bc-book-line)}
.bc-book-warning{grid-column:1/-1;margin:0;font-size:.83rem;color:var(--bc-book-muted)}
.bc-book-actions{display:grid;grid-template-columns:2fr 1fr;gap:12px;margin:14px 0 6px}
.bc-books-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin:18px 0}
.bc-book-card{border:1px solid var(--bc-book-line);border-radius:15px;background:rgba(26,88,64,.03);display:flex;flex-direction:column;overflow:hidden;min-width:0}
.bc-book-cover{min-height:165px;display:flex;flex-direction:column;justify-content:space-between;gap:10px;position:relative;background:linear-gradient(145deg,#1d574e,#184337 65%,#103328);color:#f8f6e9;padding:18px 17px 17px 24px;box-shadow:inset 7px 0 0 #a8a78a}
.bc-book-cover::after{content:'';position:absolute;inset-inline-start:13px;top:0;bottom:0;border-inline-start:1px solid rgba(255,255,255,.24)}
.bc-book-cover-mark{font-size:.62rem;letter-spacing:.25em;opacity:.85}
.bc-book-cover-name{font-size:clamp(1.2rem,2vw,1.65rem);font-weight:700;line-height:1.18;overflow-wrap:anywhere}
.bc-book-cover-author{font-size:.82rem;opacity:.9;overflow-wrap:anywhere}
.bc-book-content{padding:15px;display:grid;gap:7px;align-content:start;min-width:0}
.bc-book-content p,.bc-book-content h3{margin:0;color:var(--bc-book-ink)}
.bc-book-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.bc-book-status,.bc-book-lang{display:inline-flex;border:1px solid var(--bc-book-line);border-radius:99px;padding:4px 9px;color:var(--bc-book-ink);font-size:.75rem}
.bc-book-title{font-size:1.14rem!important;font-weight:700;line-height:1.25;overflow-wrap:anywhere}
.bc-book-author{color:var(--bc-book-muted)!important;font-size:.9rem}
.bc-book-edition,.bc-book-isbn{font-size:.77rem;overflow-wrap:anywhere;opacity:.85}
.bc-book-progress-label{font-size:.83rem;font-weight:600;margin-top:7px!important}
.bc-book-progress-track{height:9px;background:#d7e4db;border-radius:99px;overflow:hidden}
.bc-book-progress-bar{display:block;height:100%;background:#397c65;border-radius:99px;transition:width .2s}
.bc-book-progress-editor{border-top:1px solid var(--bc-book-line);margin-top:12px;padding-top:9px}
.bc-book-progress-editor>summary{cursor:pointer;padding:6px 0;min-height:42px;color:var(--bc-book-ink);font-size:.9rem;font-weight:700}
.bc-book-update-form{display:grid;gap:9px;margin-top:10px}
.bc-book-editor-actions{display:flex;gap:9px;flex-wrap:wrap}
.bc-book-editor-actions button{padding:9px 11px;font-size:.82rem}
.bc-book-quiet{background:transparent!important;color:var(--bc-book-ink)!important;border:1px solid var(--bc-book-line)!important;border-radius:9px;min-height:42px;padding:8px 10px;font:inherit;cursor:pointer}
.bc-book-link-row{display:grid;gap:6px;margin-top:10px;border-top:1px solid var(--bc-book-line);padding-top:12px}
.bc-book-action-result{min-height:1.1em;color:var(--bc-book-muted);font-size:.78rem;overflow-wrap:anywhere}
.bc-bookshelf :is(button,summary,input,select):focus-visible{outline:3px solid #dcae54;outline-offset:2px}
.bc-bookshelf button:disabled{opacity:.6;cursor:wait}
.bc-bookshelf[dir=rtl]{text-align:right}
.bc-bookshelf[dir=rtl] .bc-book-cover{text-align:right}
@media(max-width:960px){.bc-books-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.bc-book-form{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.bc-books-grid,.bc-book-form,.bc-book-actions{grid-template-columns:1fr}.bc-book-cover{min-height:145px}.bc-bookshelf{padding:18px}.bc-book-form{padding:12px}.bc-book-card{min-width:0}}
@media(prefers-reduced-motion:reduce){.bc-book-progress-bar{transition:none}}
@media(prefers-color-scheme:dark){.bc-book-card{background:rgba(185,235,201,.035)}.bc-book-progress-track{background:#3d5847}.bc-book-progress-bar{background:#90d1af}.bc-book-cover{background:linear-gradient(145deg,#32645b,#204d42 65%,#153a31)}}

/* B1B barcode camera and verified cover controls. */
.bc-scan-tools{grid-column:1/-1;padding:12px 14px;border:1px solid var(--bc-book-line);border-radius:12px;background:rgba(30,99,80,.035);display:grid;gap:8px;min-width:0}
.bc-scan-buttons{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.bc-scan-buttons button,.bc-photo-picker{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--bc-book-line);background:var(--bc-paper,#fff);color:var(--bc-book-ink);border-radius:9px;min-height:44px;padding:8px 13px;font:inherit;cursor:pointer}
.bc-photo-picker{position:relative;overflow:hidden;max-width:100%}
.bc-photo-picker input{position:absolute;inset:0;opacity:0;cursor:pointer;max-width:100%}
.bc-scan-tools video:not([hidden]){display:block;width:100%;max-width:440px;max-height:300px;object-fit:cover;border-radius:10px;background:#152d26}
.bc-scan-tools video[hidden],.bc-scan-tools button[hidden]{display:none!important}
.bc-scan-tools p{margin:0;color:var(--bc-book-muted);font-size:.81rem}
.bc-cover-optin{grid-column:1/-1;display:flex!important;align-items:center;gap:9px;min-width:0}
.bc-cover-optin input{width:20px!important;min-height:20px!important;flex:0 0 20px}
.bc-book-cover-real{display:flex;align-items:center;justify-content:center;background:var(--bc-paper,#fff);padding:8px;min-height:165px;box-shadow:none}
.bc-book-cover-real::after{display:none}
.bc-book-cover-real img{display:block;max-height:220px;max-width:100%;width:auto;height:auto;object-fit:contain}
.bc-book-cover-credit{font-size:.74rem}
.bc-book-cover-credit a{color:var(--bc-book-accent);text-decoration:underline}
.bc-bookshelf .bc-photo-picker:focus-within{outline:3px solid #dcae54;outline-offset:2px}
@media(max-width:620px){.bc-scan-buttons button,.bc-photo-picker{flex:1 1 160px}.bc-book-cover-real{min-height:145px}}

/* B1-C: reading activity, advanced shelf filtering, journal; no third-party chart bundle. */
.bc-bookshelf .bc-book-actions{grid-template-columns:repeat(5,minmax(0,1fr));align-items:end}
.bc-book-view-control{display:grid;gap:6px;color:var(--bc-book-ink);font-size:.84rem;font-weight:650}
.bc-book-view-control button{border:1px solid var(--bc-book-line);min-height:44px;border-radius:9px;color:var(--bc-book-ink);background:var(--bc-paper,#fff);font:inherit;cursor:pointer;padding:7px 10px}
.bc-book-view-control button[aria-pressed=true]{border-color:var(--bc-book-accent);box-shadow:inset 0 0 0 1px var(--bc-book-accent)}
.bc-books-grid.bc-books-list-view{grid-template-columns:1fr!important}
.bc-books-list-view .bc-book-card{display:grid;grid-template-columns:minmax(140px,210px) minmax(0,1fr)}
.bc-books-list-view .bc-book-cover{min-height:210px}
.bc-reading-insights{border:1px solid var(--bc-book-line);background:rgba(31,104,80,.04);border-radius:17px;padding:17px;margin:20px 0 8px;color:var(--bc-book-ink);min-width:0}
.bc-insights-title{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.bc-insights-title h3{margin:0;font-size:clamp(1.1rem,2vw,1.4rem);color:var(--bc-book-ink)}
.bc-insights-title label{display:flex;align-items:center;gap:8px;font-weight:650;font-size:.86rem}
.bc-insights-title select{min-height:42px;border:1px solid var(--bc-book-line);border-radius:9px;background:var(--bc-paper,#fff);color:var(--bc-book-ink);font:inherit;padding:6px 12px}
.bc-insights-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:14px 0}
.bc-insight-stat{display:grid;gap:4px;padding:11px 12px;border:1px solid var(--bc-book-line);border-radius:12px;background:var(--bc-paper,#fff);min-width:0}
.bc-stat-label{color:var(--bc-book-muted);font-size:.75rem;font-weight:650;overflow-wrap:anywhere}
.bc-stat-value{font-size:clamp(1.1rem,2.2vw,1.65rem);font-variant-numeric:tabular-nums;color:var(--bc-book-ink)}
.bc-insights-chart{height:145px;display:flex;align-items:stretch;gap:8px;padding:10px 5px 2px;border-top:1px solid var(--bc-book-line);min-width:0;overflow-x:auto}
.bc-chart-column{flex:1 1 32px;min-width:20px;display:flex;align-items:center;justify-content:flex-end;flex-direction:column;gap:5px;color:var(--bc-book-muted)}
.bc-chart-bar{display:block;min-height:3px;width:min(100%,32px);border-radius:5px 5px 1px 1px;background:var(--bc-book-accent);opacity:.85}
.bc-chart-label{font-size:.61rem;white-space:nowrap}
.bc-insights-hint,.bc-insights-empty{font-size:.79rem;line-height:1.5;color:var(--bc-book-muted);margin:12px 0 0}
.bc-book-journal{border-top:1px solid var(--bc-book-line);padding-top:10px;margin-top:8px}
.bc-book-journal>summary{cursor:pointer;min-height:44px;padding:10px 0;color:var(--bc-book-ink);font-weight:750}
.bc-journal-panel{display:grid;gap:16px;padding:12px 0 0}
.bc-journal-private{font-size:.75rem;color:var(--bc-book-muted);margin:0}
.bc-journal-area{border:1px solid var(--bc-book-line);border-radius:12px;padding:12px;min-width:0}
.bc-journal-area h4{margin:0 0 10px;color:var(--bc-book-ink);font-size:1rem}
.bc-journal-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:10px}
.bc-journal-form label{display:grid;gap:4px;font-weight:650;color:var(--bc-book-ink);font-size:.8rem;min-width:0}
.bc-journal-form input,.bc-journal-form select,.bc-journal-form textarea{box-sizing:border-box;width:100%;min-width:0;min-height:44px;border:1px solid #7c9b8a;border-radius:9px;padding:8px 10px;font:inherit;color:var(--bc-book-ink);background:var(--bc-paper,#fff)}
.bc-journal-form textarea{resize:vertical;line-height:1.5}
.bc-journal-save{border:1px solid var(--bc-book-accent);background:var(--bc-book-accent);color:#fff;border-radius:9px;min-height:44px;padding:8px 12px;font-weight:700;cursor:pointer;font:inherit}
.bc-note-body-label,.bc-journal-feedback{grid-column:1/-1}
.bc-journal-feedback{margin:0;color:var(--bc-book-muted);font-size:.82rem;overflow-wrap:anywhere}
.bc-journal-list{list-style:none!important;margin:12px 0 0!important;padding:0!important;display:grid;gap:7px}
.bc-journal-list li{padding:9px 10px;border-radius:9px;background:rgba(36,113,84,.05);color:var(--bc-book-ink);font-size:.82rem;overflow-wrap:anywhere}
.bc-journal-list .bc-journal-empty{font-style:italic;color:var(--bc-book-muted)}
.bc-note-record p{margin:5px 0 8px!important;white-space:pre-wrap;color:var(--bc-book-ink)}
.bc-note-record button{margin-top:3px}
.bc-journal-area>.bc-book-quiet{margin-top:9px}
.bc-bookshelf :is(textarea,button,select,input):focus-visible{outline:3px solid #dcae54;outline-offset:2px}
@media (max-width:1180px){.bc-bookshelf .bc-book-actions{grid-template-columns:repeat(3,minmax(0,1fr))}.bc-insights-stats{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:750px){.bc-bookshelf .bc-book-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.bc-insights-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.bc-journal-form{grid-template-columns:repeat(2,minmax(0,1fr))}.bc-books-list-view .bc-book-card{display:flex;flex-direction:column}}
@media (max-width:480px){.bc-bookshelf .bc-book-actions{grid-template-columns:1fr}.bc-reading-insights{padding:11px}.bc-journal-form{grid-template-columns:1fr}.bc-journal-area{padding:10px}.bc-insights-chart{gap:5px}.bc-chart-label{font-size:.55rem}}
