/* TBR is a separate, public discovery catalogue; it never edits the library. */
.statusbar{display:flex;align-items:center;gap:10px;overflow:visible;min-width:0}
.collection-switch{flex:none}
#statusSeg{overflow-x:auto;scrollbar-width:none;min-width:0}
#tbrSources{min-width:0}
#tbrSourceMobile{display:none}
.tbr-mode #statusSeg,.tbr-mode #main,.tbr-mode .date-rail,.tbr-mode #filtersBtn,.tbr-mode #columnsBtn,.tbr-mode #add,.tbr-mode #menuBtn,.tbr-mode #menuPop,.tbr-mode #filtersPop,.tbr-mode #columnsPop,.tbr-mode #sortLabel{display:none!important}
body:not(.tbr-mode) #tbrSources,body:not(.tbr-mode) #tbrSortLabel,body:not(.tbr-mode) #tbrMain{display:none!important}
body.tbr-mode #tbrMain{display:block;margin-left:var(--books-left,24px);width:var(--books-width,calc(100% - 48px));padding-bottom:80px}
.tbr-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin:8px 0 32px}
.tbr-eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.13em;color:var(--muted);margin:0 0 8px}
.tbr-intro h2{font:600 28px/1.2 var(--sans);letter-spacing:-.035em;margin:0 0 10px}
.tbr-intro p:not(.tbr-eyebrow){font-size:14px;line-height:1.5;color:var(--muted);margin:0;max-width:44em}
.tbr-count{color:var(--muted);font-size:12px;white-space:nowrap}
.tbr-toolbar{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}
.tbr-toolbar select{max-width:100%;border:1px solid var(--line);background:var(--surface);color:var(--ink);padding:10px 32px 10px 12px;border-radius:12px;font:inherit;font-size:13px}
.tbr-toolbar button,.tbr-more button,.tbr-retry{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:12px;padding:10px 16px;font:inherit;font-size:13px}
.tbr-toolbar select.is-active{border-color:var(--t-read);background:color-mix(in srgb,var(--t-read) 12%,var(--surface))}
.tbr-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(146px,1fr));gap:36px 28px}
.tbr-book{display:flex;flex-direction:column;min-width:0;text-align:left;color:var(--ink);background:none;border:0;padding:0;cursor:pointer}
.tbr-cover{display:grid;place-items:center;width:100%;aspect-ratio:2/3;overflow:hidden;border-radius:4px;background:var(--sunk);transition:transform .24s,box-shadow .24s}
.tbr-cover img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.tbr-placeholder{font:500 15px/1.4 var(--display);padding:18px;text-align:center;color:var(--muted)}
.tbr-book h3{font:600 14px/1.35 var(--sans);margin:14px 0 4px;height:2.7em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
.tbr-copy{display:block;min-width:0;width:100%}
.tbr-author{display:block;width:100%;min-width:0;height:1.4em;margin:0 0 10px;font-size:13px;line-height:1.4;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tbr-place{font-size:12px;line-height:1.45;color:var(--muted);display:block;min-width:0;max-width:100%}
.tbr-city,.tbr-shop{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tbr-city{color:var(--ink)}
.tbr-date{display:block;margin-top:8px;font-size:11px;color:var(--faint);font-variant-numeric:tabular-nums}
.tbr-section{margin-bottom:42px;content-visibility:auto;contain-intrinsic-size:auto 500px}
.tbr-heading{display:flex;gap:16px;align-items:center;margin-bottom:24px}
.tbr-heading h3{font:500 14px/1.4 var(--sans);margin:0;color:var(--ink)}
.tbr-heading span{font-size:12px;color:var(--muted)}
.tbr-heading::after{content:'';flex:1;border-top:1px dotted var(--line-2)}
.tbr-more{text-align:center;margin:32px 0}
.tbr-more>span{display:block;margin:0 0 12px;font-size:12px;color:var(--muted)}
.tbr-list{display:flex;flex-direction:column;gap:0}
.tbr-list .tbr-book{display:grid;grid-template-columns:58px minmax(0,1fr) minmax(120px,.55fr);gap:18px;align-items:center;padding:18px 0;border-bottom:1px solid var(--line)}
.tbr-list .tbr-cover{width:58px;grid-column:1;grid-row:1}
.tbr-list .tbr-copy{grid-column:2;grid-row:1}
.tbr-list .tbr-place{grid-column:3;grid-row:1}
.tbr-list .tbr-copy h3{height:auto;margin:0 0 6px}
.tbr-list .tbr-author{margin-bottom:0}
.tbr-list .tbr-date{margin-top:6px}
.tbr-table-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:14px}
.tbr-table{width:100%;border-collapse:collapse;font-size:13px}
.tbr-table th,.tbr-table td{text-align:left;padding:14px 16px;border-bottom:1px solid var(--line);vertical-align:middle;min-width:140px}
.tbr-table th{font-size:12px;color:var(--muted);font-weight:500}
.tbr-table td:first-child{min-width:220px}
.tbr-table button{border:0;background:none;color:var(--ink);font:inherit;font-weight:600;text-align:left;padding:4px 0;text-decoration:underline;text-decoration-color:var(--line-2);text-underline-offset:4px}
.tbr-table td time{white-space:nowrap}
#tbrDialog{color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:22px;width:min(650px,calc(100vw - 32px));max-height:calc(100dvh - 32px);padding:0;overflow:auto;box-shadow:0 30px 100px #0005}
#tbrDialog::backdrop{background:#0008;backdrop-filter:blur(6px)}
.tbr-dialog-head{display:flex;justify-content:space-between;align-items:center;padding:16px 22px;border-bottom:1px solid var(--line);font-size:12px;color:var(--muted)}
.tbr-close{border:0;color:var(--ink);background:var(--sunk);border-radius:50%;font-size:22px;width:36px;height:36px}
.tbr-detail{padding:26px}
.tbr-detail img{max-width:180px;max-height:270px;object-fit:contain;float:left;margin:0 24px 20px 0;border-radius:3px}
.tbr-detail h2{font:600 24px/1.25 var(--sans);margin:0 0 10px;overflow-wrap:anywhere}
.tbr-detail p{font-size:14px;line-height:1.6;white-space:pre-line}
.tbr-detail h3{clear:both;font-size:14px;padding-top:18px;margin-bottom:12px}
.tbr-detail ul{padding-left:20px;color:var(--muted);font-size:13px;line-height:1.6}
.tbr-detail li{margin-bottom:10px}
.tbr-note{clear:both;font-size:12px!important;color:var(--muted)}
@media(hover:hover) and (pointer:fine){.tbr-book:hover .tbr-cover{transform:translateY(-3px);box-shadow:0 0 22px 2px #91ac9826}.tbr-table button:hover{color:var(--t-read)}}
@media(min-width:761px){.tbr-mode .statusbar{flex:1 1 auto}.tbr-mode .n-row2 .spacer,#tbrSortMobile{display:none}}
@media(max-width:760px){
 .statusbar{width:100%;max-width:100%;flex:1 1 100%;gap:8px}
 .collection-switch button{min-height:40px;padding:9px}
 #statusSeg button{min-height:40px}
 #tbrSourceTabs{display:none}
 #tbrSourceMobile{display:block;max-width:100%;height:44px;background:var(--n-fill);color:var(--n-ink);border:0;border-radius:12px;padding:0 8px;font:inherit;font-size:13px}
 #tbrSources{flex:1} .tbr-mode #tbrSortLabel{display:none}
 body.tbr-mode #tbrMain{margin:0 16px;width:calc(100% - 32px);padding-top:calc(var(--notch-h) + 22px)}
 .tbr-intro{align-items:flex-start;margin-bottom:24px;flex-direction:column;gap:12px}
 .tbr-intro h2{font-size:26px}.tbr-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 20px}
 .tbr-toolbar{display:grid;grid-template-columns:1fr;gap:10px}.tbr-toolbar select{width:100%;min-height:44px}
 .tbr-list .tbr-book{grid-template-columns:48px minmax(0,1fr);gap:8px 12px}.tbr-list .tbr-cover{width:48px;grid-row:1/3}.tbr-list .tbr-place{grid-column:2;grid-row:2}.tbr-list .tbr-author{height:auto;white-space:normal;overflow-wrap:anywhere}
 .tbr-detail{padding:20px}.tbr-detail img{max-width:110px;max-height:165px;margin-right:18px}.tbr-detail h2{font-size:21px}
}
@media(prefers-reduced-motion:reduce){.tbr-cover{transition:none}.tbr-book:hover .tbr-cover{transform:none}}
