/*
  Bibliotaph's look, shared with the Windows app: the bt-* tokens and rules come from docs/bibliotaph-ui-mockups.html,
  which src/Bibliotaph.App/Themes also follows (Tokens.Light.xaml, Tokens.Dark.xaml). Change a colour in both places.
  The theme is the system's unless the Theme button set data-theme on <html>.
*/
@font-face{font-family:'DM Sans';src:url('../fonts/DMSans-Regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:'DM Sans';src:url('../fonts/DMSans-Medium.ttf') format('truetype');font-weight:500;font-display:swap}
@font-face{font-family:'DM Sans';src:url('../fonts/DMSans-SemiBold.ttf') format('truetype');font-weight:550 700;font-display:swap}
@font-face{font-family:'Libre Caslon Display';src:url('../fonts/LibreCaslonDisplay-Regular.ttf') format('truetype');font-weight:400;font-display:swap}
:root{color-scheme:light dark}
:root[data-theme=light]{color-scheme:light}
:root[data-theme=dark]{color-scheme:dark}


:root{--bt-bg:light-dark(#f9f8f5,#1d211f);--bt-panel:light-dark(#fffefc,#242925);--bt-side:light-dark(#f0f0e9,#181d19);--bt-text:light-dark(#232b26,#e8ece6);--bt-muted:light-dark(#70766d,#adb6ab);--bt-line:light-dark(#e3e5dc,#383f38);--bt-accent:light-dark(#365847,#aec9a9);--bt-accent-text:light-dark(#fcfcf7,#1c3023);--bt-soft:light-dark(#e4eadd,#303e30);--bt-warm:light-dark(#efe8dc,#433c30);font-family:'DM Sans',sans-serif;color:var(--bt-text);font-size:13px;line-height:1.5;width:100%;text-align:left;position:relative;isolation:isolate}
*{box-sizing:border-box}
button,input,select,textarea{font:inherit}
button{color:inherit}
button{border:0;background:none}
svg{width:17px;height:17px;flex-shrink:0;stroke-width:1.65}
h1,h2,h3,p{margin:0}
button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--bt-accent);outline-offset:3px}
/* Each page moves focus to its heading so a screen reader announces it; a heading isn't something to act on, so no ring. */
h1:focus{outline:none}
.bt-shell{display:grid;grid-template-columns:192px minmax(0,1fr);min-height:820px;background:var(--bt-bg);border:1px solid var(--bt-line);border-radius:12px;overflow:clip}
.bt-sidebar{background:var(--bt-side);padding:27px 13px 18px;display:flex;flex-direction:column;border-right:1px solid var(--bt-line)}
.bt-brand{display:flex;align-items:center;gap:10px;font-family:'Libre Caslon Display',Georgia,serif;font-size:23px;letter-spacing:-.7px;padding:0 4px 26px;font-weight:400}
.bt-monogram{display:grid;place-items:center;background:var(--bt-text);color:var(--bt-bg);width:30px;height:34px;border-radius:3px 9px 3px 3px;font-size:31px;line-height:1;padding-bottom:3px}
.bt-workspace{display:flex;gap:9px;padding:0 7px 26px;font-size:12px;font-weight:550;align-items:center}
small{display:block;color:var(--bt-muted);font-size:11px;font-weight:400}
.bt-avatar{background:var(--bt-warm);border:1px solid var(--bt-line);border-radius:50%;width:31px;height:31px;display:grid;place-items:center;font-size:10px;flex-shrink:0}
.bt-nav{display:flex;align-items:center;width:100%;padding:10px 10px;gap:10px;border-radius:6px;font-size:12px;text-align:left;margin:2px 0;color:var(--bt-muted);min-height:38px}
.bt-nav:hover{background:var(--bt-soft);color:var(--bt-text)}
.bt-nav.active{background:var(--bt-soft);color:var(--bt-text);font-weight:600}
.bt-nav .bt-count{margin-left:auto;min-width:20px;text-align:center;color:var(--bt-muted);font-size:11px}
.bt-sidegroup{margin-top:27px}
.bt-eyebrow{font-size:10px;letter-spacing:1.5px;font-weight:600;color:var(--bt-muted)}
.bt-sidegroup>.bt-eyebrow{padding:0 10px;display:block;margin-bottom:9px}
.bt-sidegroup .bt-nav{font-size:11px}
.bt-color-dot{width:7px;height:7px;background:#8b8968;border-radius:2px;flex-shrink:0}
.bt-sidebottom{margin-top:auto;padding-top:48px}
.bt-sync{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--bt-muted);padding:10px}
.bt-settingsrow{display:flex;align-items:center;gap:4px}
.bt-settingsrow .bt-nav{flex:1;min-width:0}
/* Folded, the sidebar keeps only its icons, each named in its tooltip, as the Windows app's does. */
.bt-shell.folded{grid-template-columns:62px minmax(0,1fr)}
.folded .bt-sidebar{padding-left:9px;padding-right:9px}
.folded .bt-navlabel,.folded .bt-nav .bt-count,.folded .bt-sidegroup>.bt-eyebrow,.folded .bt-nav-hint,.folded .bt-sync>span:last-child{display:none}
.folded .bt-nav{justify-content:center;padding-left:0;padding-right:0}
.folded .bt-sync{justify-content:center}
.folded .bt-brandname{display:none}
.folded .bt-brand{justify-content:center;padding-left:0;padding-right:0}
.folded .bt-settingsrow{flex-direction:column;align-items:stretch}
.folded .bt-fold{align-self:center}
.bt-status-dot{width:6px;height:6px;background:#76916b;border-radius:50%}
.bt-sample{font-size:10px;letter-spacing:.6px;color:var(--bt-muted);padding:16px 8px 0}
.bt-workarea{min-width:0}
.bt-topbar{min-height:68px;display:flex;gap:15px;align-items:center;padding:15px 24px;border-bottom:1px solid var(--bt-line)}
.bt-breadcrumb{font-size:11px;color:var(--bt-muted);white-space:nowrap}
.bt-breadcrumb span{padding:0 8px;opacity:.5}
.bt-search{display:flex;align-items:center;gap:8px;margin-left:auto;max-width:360px;flex:1;background:var(--bt-panel);border:1px solid var(--bt-line);border-radius:7px;padding:8px 10px;color:var(--bt-muted)}
.bt-search input{border:0;outline:none;background:transparent;min-width:0;width:100%;font-size:11px;color:var(--bt-text)}
kbd{font:9px 'DM Sans',sans-serif;border:1px solid var(--bt-line);border-radius:3px;padding:0 4px;white-space:nowrap}
.bt-icon{display:inline-flex;align-items:center;justify-content:center;padding:7px;border-radius:5px;min-width:30px;min-height:30px}
.bt-icon:hover{background:var(--bt-soft)}
#bt-main{padding:30px 30px 35px}
.bt-heading{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:24px}
h1{font-family:'Libre Caslon Display',Georgia,serif;font-size:42px;line-height:1.08;font-weight:400;letter-spacing:-.7px}
.bt-subtitle{font-size:12px;color:var(--bt-muted);margin-top:9px}
.bt-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:9px 12px;border:1px solid var(--bt-line);background:var(--bt-panel);border-radius:6px;white-space:nowrap;font-size:11px;font-weight:500}
.bt-button:hover{background:var(--bt-soft)}
.bt-button.primary{color:var(--bt-accent-text);background:var(--bt-accent);border-color:var(--bt-accent)}
.bt-button.primary:hover{filter:brightness(.94)}
.bt-button.quiet{border-color:transparent;background:transparent}
.bt-toolbar{display:flex;gap:12px;align-items:center;border-bottom:1px solid var(--bt-line);padding:0 0 15px;flex-wrap:wrap}
.bt-tabs{display:flex;gap:4px;flex-wrap:wrap}
.bt-tab{font-size:11px;padding:6px 10px;border-radius:5px;color:var(--bt-muted);white-space:nowrap}
.bt-tab.active{background:var(--bt-soft);color:var(--bt-text)}
.bt-tools{margin-left:auto;display:flex;gap:5px;align-items:center}
.bt-viewtoggle{display:flex;background:var(--bt-side);padding:2px;border-radius:5px}
.bt-viewtoggle .active{background:var(--bt-panel);box-shadow:0 1px 3px #00000012}
.bt-sort{background:transparent;border:0;font-size:11px;color:var(--bt-muted);max-width:124px;padding:6px 0}
option{background:var(--bt-panel);color:var(--bt-text)}
.bt-sectionline{display:flex;justify-content:space-between;align-items:center;margin:23px 0 17px;font-size:11px;color:var(--bt-muted)}
.bt-sectionline strong{color:var(--bt-text);font-weight:500}
.bt-books{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px 20px}
.bt-book{min-width:0}
.bt-bookbutton{display:block;width:100%;padding:0;text-align:left}
.bt-bookbutton:hover .bt-cover{transform:translateY(-4px);box-shadow:0 11px 17px #00000025}
.bt-booktitle{margin-top:12px;font-size:12px;font-weight:550;line-height:1.4}
.bt-bookmeta{font-size:11px;color:var(--bt-muted);margin-top:4px}
.bt-cover{position:relative;aspect-ratio: .72;overflow:hidden;border-radius:2px 5px 5px 2px;isolation:isolate;box-shadow:0 3px 7px #00000025;background:var(--cover-bg);color:var(--cover-ink);transition:transform .18s,box-shadow .18s;display:flex;flex-direction:column;align-items:center;text-align:center;padding:16px 12px 12px}
.bt-cover:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#00000030,transparent 3%,#ffffff20 4%,transparent 6%,transparent 97%,#00000020),repeating-linear-gradient(30deg,#ffffff04 0 1px,transparent 1px 3px);z-index:5;pointer-events:none}
.bt-cover:after{content:'';position:absolute;inset:8px;border:1px solid currentColor;opacity:.2;pointer-events:none}
.bt-cover .bt-cover-over{font-size:7px;letter-spacing:1.7px;z-index:2;text-transform:uppercase;line-height:1.6}
.bt-cover .bt-cover-title{font:28px/.98 'Libre Caslon Display',Georgia,serif;letter-spacing:-.2px;margin-top:13px;z-index:2;text-wrap:balance}
.bt-cover .bt-cover-foot{font-size:7px;letter-spacing:1.4px;margin-top:auto;z-index:2;text-transform:uppercase}
.bt-art{position:absolute;inset:42% 0 0;overflow:hidden}
.bt-moon{position:absolute;width:46%;aspect-ratio:1;border-radius:50%;background:var(--cover-ink);opacity:.72;top:4%;left:27%;box-shadow:0 0 45px #ffffff0a}
.bt-hill{position:absolute;inset:34% -20% -30%;border-radius:45% 50% 0 0;background:var(--cover-shadow);transform:rotate(-15deg)}
.bt-hill.second{inset:52% -20% -30%;transform:rotate(13deg);filter:brightness(.8)}
.bt-tree{position:absolute;bottom:15%;height:var(--tree-height);width:20%;left:var(--tree-left);background:var(--cover-shadow);clip-path:polygon(50% 0,85% 40%,68% 40%,100% 74%,56% 74%,56% 100%,45% 100%,45% 74%,0 74%,33% 40%,15% 40%);z-index:1}
.bt-house{position:absolute;background:var(--cover-shadow);width:52%;height:50%;bottom:8%;left:25%;clip-path:polygon(0 35%,16% 18%,26% 28%,26% 5%,43% 5%,43% 28%,60% 0,100% 35%,92% 35%,92% 100%,6% 100%,6% 35%)}
.bt-house:after{content:'';position:absolute;left:30%;top:48%;width:12%;height:18%;background:var(--cover-ink);box-shadow:29px 0 var(--cover-ink);opacity:.8}
.bt-arch{position:absolute;inset:7% 20% 0;border:10px double var(--cover-ink);border-bottom:none;border-radius:80px 80px 0 0;opacity:.7}
.bt-orbit{position:absolute;width:85%;aspect-ratio:1;border:1px solid var(--cover-ink);border-radius:50%;left:8%;top:-9%;opacity:.7}
.bt-orbit:before,.bt-orbit:after{content:'';position:absolute;inset:13%;border:1px solid var(--cover-ink);border-radius:50%}
.bt-orbit:after{inset:30%;background:var(--cover-ink);opacity:.8}
.bt-map-art{position:absolute;inset:8% 12% 24%;border:2px solid var(--cover-ink);background:repeating-linear-gradient(0deg,transparent 0 13px,#ffffff25 13px 14px),repeating-linear-gradient(90deg,transparent 0 13px,#ffffff25 13px 14px);transform:rotate(-7deg);opacity:.7}
.bt-map-art:after{content:'';position:absolute;inset:22% 15% 20% 33%;border:5px double var(--cover-ink);border-left:0}
.bt-lighthouse{position:absolute;width:24%;height:84%;bottom:0;left:40%;background:var(--cover-ink);clip-path:polygon(45% 0,55% 0,100% 14%,87% 14%,87% 25%,70% 25%,95% 100%,0 100%,28% 25%,12% 25%,12% 14%,0 14%);opacity:.8}
.bt-wave{position:absolute;inset:30% -30%;border-radius:50%;border:1px solid var(--cover-ink);box-shadow:0 12px 0 -1px var(--cover-bg),0 13px 0 var(--cover-ink),0 25px 0 -1px var(--cover-bg),0 26px 0 var(--cover-ink);transform:rotate(-20deg);opacity:.3}
.bt-note{margin-top:25px;display:flex;gap:8px;align-items:center;font-size:10px;color:var(--bt-muted)}
.bt-note svg{width:13px;height:13px}
.bt-filterbar{display:flex;flex-wrap:wrap;gap:12px;padding:15px 0;border-bottom:1px solid var(--bt-line)}
.bt-field{display:flex;flex-direction:column;gap:6px;font-size:11px;color:var(--bt-muted);flex:1;min-width:100px}
.bt-field input,.bt-field select,.bt-field textarea{width:100%;padding:8px;border:1px solid var(--bt-line);border-radius:5px;background:var(--bt-panel);color:var(--bt-text);font-size:12px}
.bt-listrow{display:grid;grid-template-columns:46px minmax(0,1fr) 85px 72px 27px;gap:15px;align-items:center;padding:14px 0;border-bottom:1px solid var(--bt-line);text-align:left;width:100%}
.bt-listrow:hover{background:var(--bt-side)}
.bt-thumb .bt-cover{padding:3px;box-shadow:none}
.bt-thumb .bt-cover-title,.bt-thumb .bt-cover-over,.bt-thumb .bt-cover-foot{display:none}
.bt-listrow .bt-booktitle{margin:0}
.bt-listrow .bt-listfield{font-size:11px;color:var(--bt-muted)}
.bt-hit{padding:21px 0;border-bottom:1px solid var(--bt-line);display:grid;grid-template-columns:60px minmax(0,1fr);gap:18px}
.bt-hit h3{font-size:15px;font-weight:550}
.bt-hit p{font-size:12px;color:var(--bt-muted);margin:9px 0 11px;line-height:1.7}
mark{background:var(--bt-soft);color:var(--bt-text);padding:1px 2px}
.bt-chip{display:inline-flex;align-items:center;font-size:10px;padding:4px 8px;background:var(--bt-side);border-radius:4px;color:var(--bt-muted);margin:3px 4px 3px 0}
.bt-detail-layout{display:grid;grid-template-columns:155px minmax(0,1fr);gap:25px}
.bt-detail-title{font-family:'Libre Caslon Display',Georgia,serif;font-size:35px;line-height:1.05;margin:7px 0 12px}
.bt-detail-copy{font-size:12px;color:var(--bt-muted);line-height:1.8}
.bt-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:24px 0}
.bt-detail-grid dt{font-size:10px;color:var(--bt-muted);margin-bottom:4px}
.bt-detail-grid dd{font-size:12px;margin:0}
.bt-drawer{background:var(--bt-panel);border-left:1px solid var(--bt-line);position:absolute;right:0;top:0;width:min(470px,100%);min-height:100%;padding:28px;box-shadow:-20px 0 70px #00000015;z-index:11}
.bt-drawer-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}
.bt-drawer-actions{display:flex;gap:8px;margin-top:25px;flex-wrap:wrap}
.bt-drawer .bt-detail-layout{grid-template-columns:135px minmax(0,1fr)}
.bt-drawer .bt-detail-title{font-size:30px}
.bt-backdrop{position:absolute;inset:0;background:#00000022;z-index:10;min-height:100%}
.bt-evidence{margin-top:18px;padding:13px;background:var(--bt-side);border-radius:6px;font-size:11px;color:var(--bt-muted)}
.bt-evidence strong{display:block;color:var(--bt-text);font-size:11px;margin-bottom:5px}
.bt-inline{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.bt-rule{height:1px;background:var(--bt-line);margin:24px 0}
#bt-toast{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);background:var(--bt-text);color:var(--bt-bg);border-radius:7px;padding:12px 18px;box-shadow:0 5px 30px #00000025;z-index:30;max-width:90%;font-size:12px;display:none}
.bt-reader-head{display:flex;align-items:center;gap:10px;margin-bottom:16px}
.bt-reader-title{flex:1;min-width:0;font-size:13px;font-weight:550}
.bt-reader-toolbar{display:flex;align-items:center;justify-content:center;gap:10px;background:var(--bt-panel);border:1px solid var(--bt-line);border-radius:6px 6px 0 0;padding:9px;flex-wrap:wrap}
.bt-page-input{width:40px;text-align:center;border:1px solid var(--bt-line);border-radius:3px;background:var(--bt-bg);color:var(--bt-text);font-size:11px;padding:3px}
.bt-reader-stage{padding:27px;background:var(--bt-side);border:1px solid var(--bt-line);border-top:0;display:flex;justify-content:center}
.bt-paper{width:100%;max-width:490px;background:#fdfbf5;color:#343c32;box-shadow:0 4px 10px #0000001c;padding:32px 34px 25px;min-height:560px;position:relative;font-family:Georgia,serif}
.bt-paper-header{font:9px 'DM Sans',sans-serif;letter-spacing:1.8px;display:flex;justify-content:space-between;border-bottom:1px solid #d5d1bf;padding-bottom:12px;color:#657057}
.bt-paper h2{font:36px/1.05 'Libre Caslon Display',Georgia,serif;margin:24px 0 18px;letter-spacing:-.5px}
.bt-paper h3{font:20px 'Libre Caslon Display',Georgia,serif;margin:20px 0 8px}
.bt-paper p{font-size:11px;line-height:1.85;margin-bottom:12px}
.bt-paper blockquote{font-size:12px;font-style:italic;line-height:1.8;border-left:2px solid #6d8060;margin:18px 0;padding:10px 14px;background:#eeeee3}
.bt-paper-footer{display:flex;justify-content:space-between;font:9px 'DM Sans',sans-serif;color:#647157;border-top:1px solid #d5d1bf;margin-top:25px;padding-top:12px}
.bt-page-note{font:9px 'DM Sans',sans-serif;color:#7f8379;margin-top:14px;letter-spacing:.5px}
.bt-reader-foot{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:15px;font-size:10px;color:var(--bt-muted)}
.bt-packhero{position:relative;border-radius:8px;background:var(--bt-soft);padding:25px;display:flex;align-items:center;justify-content:space-between;gap:25px;overflow:hidden;margin:0 0 28px}
.bt-packhero h2{font:30px/1.1 'Libre Caslon Display',Georgia,serif;margin:10px 0}
.bt-packhero p{font-size:12px;color:var(--bt-muted);max-width:310px;margin-bottom:19px}
.bt-packbooks{display:flex;min-width:175px;padding-right:8px;align-items:center}
.bt-packbooks .bt-cover{width:88px;flex-shrink:0;transform:rotate(-10deg);padding:7px;box-shadow:0 6px 12px #00000025}
.bt-packbooks .bt-cover:nth-child(2){margin-left:-24px;transform:rotate(9deg);margin-top:20px}
.bt-packbooks .bt-cover-title{font-size:18px}
.bt-packbooks .bt-cover-over,.bt-packbooks .bt-cover-foot{font-size:5px}
.bt-sessionrow{display:grid;grid-template-columns:28px 43px minmax(0,1fr) auto;align-items:center;gap:14px;border-bottom:1px solid var(--bt-line);padding:16px 0}
.bt-sessionrow .bt-number{font-size:11px;color:var(--bt-muted)}
.bt-sessionrow .bt-booktitle{margin:0}
.bt-reviewitem{padding:20px;border:1px solid var(--bt-line);border-radius:8px;background:var(--bt-panel);margin-top:15px}
.bt-reviewtitle{display:flex;align-items:center;justify-content:space-between;gap:10px}
.bt-reviewtitle h3{font-size:14px;font-weight:550}
.bt-reviewcompare{display:grid;grid-template-columns:1fr 20px 1fr;gap:12px;align-items:center;margin:20px 0 15px}
.bt-reviewcompare>.bt-reviewvalue{padding:12px;background:var(--bt-side);border-radius:5px;font-size:12px}
.bt-reviewcompare small{margin-bottom:5px}
.bt-reviewcompare .bt-suggested{background:var(--bt-soft)}
.bt-reviewitem p{font-size:11px;color:var(--bt-muted);margin:10px 0 17px;line-height:1.7}
.bt-empty{padding:65px 25px;text-align:center;color:var(--bt-muted)}
.bt-empty h2{font:30px 'Libre Caslon Display',Georgia,serif;color:var(--bt-text);margin-bottom:12px}
.bt-collections{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.bt-collection{padding:20px;border:1px solid var(--bt-line);border-radius:8px;background:var(--bt-panel);text-align:left}
.bt-collection h2{font:24px 'Libre Caslon Display',Georgia,serif;margin:16px 0 5px}
.bt-collection p{font-size:11px;color:var(--bt-muted)}
.bt-collection .bt-packbooks{padding:8px 15px;background:var(--bt-side);border-radius:5px;min-width:0;justify-content:center}
.bt-settingrow{padding:18px 0;border-bottom:1px solid var(--bt-line);display:flex;gap:15px;justify-content:space-between;align-items:center;font-size:12px}
.bt-settingrow select{padding:6px;background:var(--bt-bg);color:var(--bt-text);border:1px solid var(--bt-line);border-radius:5px;max-width:130px}
.bt-settingrow small{margin-top:4px}
.bt-source{padding:15px;background:var(--bt-side);border-radius:6px;margin:12px 0;font-size:12px}
.bt-source small{margin-top:5px;overflow-wrap:anywhere}
.bt-sourceform{display:grid;gap:16px;margin-top:25px}
.bt-sourceform input{font-size:13px}
.bt-reader-notes{margin:18px 0;padding:18px;border:1px solid var(--bt-line);background:var(--bt-panel);border-radius:6px}
.bt-reader-notes textarea{width:100%;min-height:80px;background:var(--bt-bg);border:1px solid var(--bt-line);color:var(--bt-text);padding:10px;border-radius:4px;margin-top:8px;font-size:12px}
.bt-topline{margin-bottom:10px}
.bt-link{font-size:11px;color:var(--bt-accent);padding:4px 0}
.bt-stats-note{display:flex;align-items:center;gap:7px;font-size:11px;color:var(--bt-muted)}
@media(prefers-reduced-motion:reduce){.bt-cover{transition:none}.bt-busybar span{animation:none;width:100%}}
@media(min-width:1250px){.bt-shell{grid-template-columns:210px minmax(0,1fr)}
#bt-main{padding:36px 42px}
.bt-books{grid-template-columns:repeat(4,minmax(0,1fr));gap:30px}
.bt-cover{max-height:310px}
.bt-cover .bt-cover-title{font-size:38px}}
@media(max-width:850px){.bt-shell{grid-template-columns:160px minmax(0,1fr)}
.bt-sidebar{padding-left:8px;padding-right:8px}
.bt-brand{font-size:21px;gap:6px}
.bt-nav{font-size:11px;padding:9px 7px;gap:7px}
.bt-sidegroup .bt-nav{font-size:10px}
#bt-main{padding:25px 22px}
.bt-topbar{padding:14px 20px}
.bt-breadcrumb{display:none}
.bt-books{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px 16px}
.bt-cover .bt-cover-title{font-size:27px}
.bt-listrow{grid-template-columns:40px minmax(0,1fr) 60px 24px}
.bt-listrow .bt-listfield:first-of-type{display:none}
.bt-packbooks{min-width:135px}
.bt-packbooks .bt-cover{width:74px}
.bt-packhero{padding:20px}
.bt-packhero h2{font-size:26px}}
@media(max-width:620px){.bt-shell{grid-template-columns:1fr;min-height:0}
.bt-shell.folded{grid-template-columns:1fr}
.bt-fold{display:none}
.folded .bt-navlabel{display:inline}
.folded .bt-brandname{display:inline}
.folded .bt-brand{justify-content:flex-start}
.folded .bt-settingsrow{flex-direction:row}
.bt-sidebar{padding:15px 16px 9px;border-right:0;border-bottom:1px solid var(--bt-line)}
.bt-brand{font-size:26px;padding:0 3px 14px}
.bt-workspace,.bt-sidegroup{display:none}
/* A page's actions go under its title, so the title keeps the width it needs. */
.bt-heading{flex-wrap:wrap}
.bt-heading>div:first-child{flex:1 1 100%}
.bt-heading .bt-headbuttons{justify-content:flex-start}
/* Settings and what the library is doing stay within reach on a phone, on a row under the navigation. */
.bt-sidebottom{display:flex;align-items:center;gap:3px;padding-top:3px;margin-top:0}
.bt-sidebottom .bt-sync{flex:1;min-width:0;padding:7px;font-size:10px;align-items:center}
.bt-sidebottom .bt-sync>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bt-navigation{display:flex;flex-wrap:wrap;gap:3px}
.bt-nav{width:auto;font-size:11px;min-height:34px;padding:7px}
.bt-nav svg{width:14px;height:14px}
.bt-navigation .bt-count{display:none}
.bt-topbar{padding:12px 18px}
#bt-main{padding:22px 18px}
.bt-heading{align-items:flex-start}
h1{font-size:35px}
.bt-heading>.bt-button{padding:8px;font-size:10px}
.bt-tools{margin-left:0;width:100%;justify-content:flex-end}
.bt-tools .bt-select{margin-left:auto}
.bt-books{grid-template-columns:repeat(2,minmax(0,1fr));gap:23px 18px}
.bt-cover .bt-cover-title{font-size:32px}
.bt-reader-stage{padding:12px}
.bt-paper{padding:23px 20px;min-height:0}
.bt-paper-header{font-size:7px}
.bt-paper h2{font-size:30px}
.bt-reader-head{flex-wrap:wrap}
.bt-reader-head>.bt-button{margin-left:auto}
.bt-packbooks{min-width:110px}
.bt-packbooks .bt-cover{width:65px}
.bt-packhero{gap:10px;padding:20px 15px}
.bt-packhero p{font-size:11px}
.bt-packhero h2{font-size:25px}
.bt-sessionrow{grid-template-columns:18px 35px minmax(0,1fr);gap:9px}
.bt-sessionrow>.bt-inline{grid-column:3}
.bt-reviewitem{padding:15px}
.bt-reviewcompare{gap:6px;font-size:11px}
.bt-collections{grid-template-columns:1fr}
.bt-drawer{padding:22px}
.bt-drawer .bt-detail-layout{grid-template-columns:110px minmax(0,1fr);gap:16px}
.bt-drawer .bt-cover-title{font-size:24px}
.bt-drawer .bt-detail-title{font-size:27px}
.bt-drawer-head{margin-bottom:24px}
.bt-drawer .bt-subtitle{font-size:11px}
.bt-listrow{grid-template-columns:35px minmax(0,1fr) 23px;gap:12px}
.bt-listfield{display:none}
.bt-hit{grid-template-columns:42px minmax(0,1fr);gap:12px}
.bt-search input{font-size:12px}
.bt-reviewtitle h3{font-size:12px}}
@media(pointer:coarse){.bt-button,.bt-icon,.bt-nav,.bt-tab{min-height:44px}
input,select,textarea{font-size:16px!important}}

/* The web app's own: the shell fills the window instead of sitting in a mockup frame. */
html,body{margin:0;height:100%;background:var(--bt-bg)}
body{font-family:'DM Sans',sans-serif;color:var(--bt-text);font-size:13px;line-height:1.5}
a{color:var(--bt-accent)}
.bt-shell{min-height:100vh;border:0;border-radius:0}
.bt-sidebar{position:sticky;top:0;height:100vh;overflow:auto}
/* The footer sits at the foot of the window on a short page and after the page on a long one; the readers fill the
   window, so they go without it. */
.bt-workarea{display:flex;flex-direction:column}
#bt-main{flex:1 0 auto}
.bt-appfoot{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 18px;padding:14px 30px 18px;border-top:1px solid var(--bt-line);font-size:11px;color:var(--bt-muted)}
.bt-appfoot nav{display:flex;flex-wrap:wrap;gap:4px 14px;margin-left:auto}
.bt-appfoot a{color:var(--bt-muted);text-decoration:none}
.bt-appfoot a:hover{color:var(--bt-text);text-decoration:underline;text-underline-offset:3px}
.bt-appfoot a:focus-visible{outline:2px solid var(--bt-accent);outline-offset:2px}
/* BoardGameGeek's "Powered by BGG" logo, which their terms ask for, in the muted text colour: its shape is a mask,
   so it follows the theme instead of standing out in black. */
.bt-poweredby{display:inline-block;vertical-align:middle;width:95px;height:22px;background:var(--bt-muted);-webkit-mask:url(/brand/powered-by-bgg.png) center/contain no-repeat;mask:url(/brand/powered-by-bgg.png) center/contain no-repeat}
.bt-poweredby:hover{background:var(--bt-text)}
.bt-detailsbgg{display:block;margin-top:14px}
@media(forced-colors:active){.bt-poweredby{forced-color-adjust:none;background:LinkText}}
.bt-tagline{font-family:'Libre Caslon Display',Georgia,serif;font-style:italic;font-size:14px;color:var(--bt-text)}
#bt-main:has(.bt-reader,.bt-binderreader)+.bt-appfoot{display:none}
@media(min-width:1250px){.bt-appfoot{padding:14px 42px 18px}}
@media(max-width:850px){.bt-appfoot{padding:14px 22px 18px}}
@media(max-width:620px){.bt-appfoot{padding:14px 18px 18px}.bt-appfoot nav{margin-left:0}}
.bt-nav,.bt-button,.bt-icon,.bt-brand,.bt-tab{cursor:pointer;text-decoration:none;color:inherit}
.bt-nav{color:var(--bt-muted)}
.bt-nav.active,.bt-nav:hover{color:var(--bt-text)}
.bt-button.primary{color:var(--bt-accent-text)}
.bt-brand{color:var(--bt-text)}
.bt-icon svg,.bt-nav svg,.bt-button svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round}
.bt-copy{font-size:12px;line-height:1.75;color:var(--bt-muted);max-width:620px;margin-top:18px}
.bt-eyebrow-block{display:block;margin-bottom:10px}
.bt-welcome{max-width:620px}
.bt-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:26px}
.bt-signin{min-height:100vh;display:grid;place-items:center;padding:24px 16px}
.bt-signin-card{width:min(420px,100%);background:var(--bt-panel);border:1px solid var(--bt-line);border-radius:12px;padding:32px}
.bt-signin-card .bt-brand{padding:0 0 26px}
.bt-signin-card h1{font-size:30px}
.bt-signin-card .bt-button{width:100%;margin-top:10px;padding:11px 12px;font-size:12px}
.bt-message{margin-top:16px;padding:12px;border-radius:6px;background:var(--bt-warm);font-size:12px}
.bt-webdav{display:flex;flex-direction:column;gap:10px;margin-top:20px;max-width:560px}
.bt-webdav .bt-field{flex:none}
.bt-webdav .bt-subheading{margin:0}
.bt-table{width:100%;border-collapse:collapse;font-size:12px;margin-top:12px}
.bt-table th{text-align:left;font-size:10px;letter-spacing:1.5px;font-weight:600;color:var(--bt-muted);padding:8px 8px 8px 0;border-bottom:1px solid var(--bt-line)}
.bt-table td{padding:10px 8px 10px 0;border-bottom:1px solid var(--bt-line);vertical-align:top}
.bt-section{margin-top:34px}
.bt-section h2{font:24px 'Libre Caslon Display',Georgia,serif;font-weight:400;margin-bottom:6px}
.bt-linkbox{display:flex;gap:8px;align-items:center;margin-top:12px;padding:10px;background:var(--bt-side);border-radius:6px;font-size:11px;overflow-wrap:anywhere}
.bt-loading{padding:65px 25px;text-align:center;color:var(--bt-muted);font-size:12px}
.bt-opening h1{font-size:24px}
.bt-opening-bar{position:relative;height:3px;margin-top:22px;border-radius:2px;background:var(--bt-line);overflow:hidden}
.bt-opening-bar span{position:absolute;inset:0 auto 0 0;width:35%;border-radius:2px;background:var(--bt-text);animation:bt-opening 1.6s ease-in-out infinite}
@keyframes bt-opening{from{left:-35%}to{left:100%}}
@media (prefers-reduced-motion:reduce){.bt-opening-bar span{animation:none;width:100%;opacity:.35}}
.bt-opening-time{margin-top:10px;font-size:11px;color:var(--bt-muted)}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
#blazor-error-ui{display:none;position:fixed;bottom:0;left:0;right:0;padding:12px 18px;background:var(--bt-text);color:var(--bt-bg);font-size:12px;z-index:50}
#blazor-error-ui a{color:var(--bt-bg)}

/* The content security policy forbids style attributes, so one-off spacing lives here. */
.bt-actions.centered{justify-content:center}
.bt-check{display:flex;flex:0 0 auto;align-items:center;gap:8px;font-size:13px}
.bt-check input{width:auto}
.bt-end{align-self:flex-end}
.bt-shown-once{padding:6px 0 0}
.bt-nav-hint{padding:0 10px}
.bt-policy{max-width:720px;margin:0 auto;padding:48px 24px 80px}
.bt-policy .bt-brand{padding:0 0 32px}
.bt-policy h1{font-size:38px;margin-bottom:10px}
.bt-policy h2{font:24px 'Libre Caslon Display',Georgia,serif;font-weight:400;margin:34px 0 8px}
.bt-policy p,.bt-policy li{font-size:13px;line-height:1.75}
.bt-policy p{margin-top:12px}
.bt-policy ul{padding-left:20px;margin:10px 0 0}
.bt-policy .bt-table{margin-top:14px}
/* Connected storage and library folders, as the Windows app's Library folders section: icon, text, a remove button. */
.bt-sourcerow{display:flex;align-items:flex-start;gap:10px}
.bt-sourcerow>div{flex:1;min-width:0}
.bt-sourcerow>.bt-icon,.bt-sourcerow>.bt-button{margin:-7px -7px -7px 0}
.bt-pending{background:transparent;border:1px solid var(--bt-line)}
.bt-pending .bt-actions{margin-top:12px}
.bt-backdrop.fixed,.bt-drawer.fixed{position:fixed}
.bt-drawer.fixed{overflow-y:auto;max-height:100vh}
.bt-picker-storage{margin-bottom:16px}
.bt-crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:4px;margin-bottom:12px;color:var(--bt-muted)}
.bt-folderlist{border-top:1px solid var(--bt-line);margin-bottom:12px}
.bt-folderrow{display:flex;align-items:center;gap:10px;width:100%;padding:12px 6px;border-bottom:1px solid var(--bt-line);font-size:12px;text-align:left;cursor:pointer}
.bt-folderrow:hover{background:var(--bt-side)}
.bt-folderrow>span:first-of-type{flex:1;min-width:0;overflow-wrap:anywhere}
.bt-folderrow .bt-chip{margin:0}
.bt-sync{align-items:flex-start}
.bt-sync>span:last-child{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.bt-sync .bt-status-dot{flex-shrink:0;margin-top:5px}
.bt-status-dot.busy{background:var(--bt-accent)}
/* The Library, as the Windows app's: its toolbar and filters, the cover grid, the detail list and the matching pages. */
.bt-tools{flex-wrap:wrap;gap:8px}
.bt-button.on{background:var(--bt-soft)}
.bt-select{padding:8px 10px;border:1px solid var(--bt-line);border-radius:6px;background:var(--bt-panel);color:var(--bt-text);font-size:11px;max-width:180px}
.bt-viewtoggle .bt-icon{min-width:30px;min-height:28px;padding:5px;color:var(--bt-muted)}
.bt-viewtoggle .bt-icon.active{color:var(--bt-text)}
.bt-filters{padding:15px 0 3px;border-bottom:1px solid var(--bt-line)}
.bt-filterrow{display:flex;flex-wrap:wrap;gap:0 12px;align-items:flex-end}
.bt-filterrow>*{margin-bottom:12px}
.bt-filters .bt-eyebrow-block{margin:4px 0 8px}
.bt-field.narrow{flex:0 0 auto;min-width:150px}
.bt-field.narrow select{min-width:150px}
.bt-check.small{font-size:11px;color:var(--bt-text);white-space:nowrap}
.bt-link{cursor:pointer}
.bt-sectionline-top{margin:23px 0 0}
.bt-chips{display:flex;flex-wrap:wrap;align-items:center;gap:0 4px;margin-bottom:6px}
.bt-chip.on{background:var(--bt-soft);color:var(--bt-text);font-size:11px;padding:2px 2px 2px 10px;gap:4px}
.bt-chipx{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:4px;cursor:pointer;color:var(--bt-muted)}
.bt-chipx:hover{background:var(--bt-panel);color:var(--bt-text)}
.bt-countline{display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap;font-size:11px;color:var(--bt-muted);margin:0 0 17px}
.bt-countline strong{color:var(--bt-text);font-weight:500}
.bt-issue{display:inline-block;margin:-7px 0 17px;padding:5px 8px;border-radius:4px;background:var(--bt-warm);font-size:11px}
.bt-books{grid-template-columns:repeat(auto-fill,150px);justify-content:space-between;gap:30px 22px}
.bt-book{min-width:0}
.bt-coverarea{position:relative;transition:transform .18s}
.bt-book:hover .bt-coverarea{transform:translateY(-4px)}
.bt-bookcover{position:relative;aspect-ratio:150/208;overflow:hidden;border-radius:2px 5px 5px 2px;background:var(--bt-warm);border:1px solid var(--bt-line);box-shadow:0 3px 7px #00000026;display:grid;place-items:center}
.bt-bookcover>img.bt-coverimage{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.bt-bookcover.away>img,.bt-bookcover.away>.bt-mosaic,.bt-bookcover.away>.bt-initial{opacity:.4}
.bt-mosaic{position:absolute;inset:0;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}
.bt-mosaic img{width:100%;height:100%;object-fit:cover;border:.5px solid var(--bt-line)}
.bt-initial{font:64px/1 'Libre Caslon Display',Georgia,serif;color:var(--bt-muted)}
.bt-thumb .bt-initial{font-size:24px}
.bt-hitcover .bt-initial{font-size:30px}
.bt-covermark,.bt-ribbon{position:absolute;display:inline-flex;align-items:center;gap:4px;font-size:10px;line-height:1.4;padding:2px 7px 2px 5px;border-radius:3px;background:var(--bt-panel);border:1px solid var(--bt-line);color:var(--bt-text);max-width:calc(100% - 12px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bt-covermark svg,.bt-ribbon svg{width:10px;height:10px;stroke-width:2.2}
.bt-covermark.top{left:4px;top:4px}
.bt-covermark.top.below-ribbon{top:32px}
.bt-covermark.elsewhere{left:4px;bottom:6px}
.bt-covermark.elsewhere svg{width:12px;height:12px;color:var(--bt-muted)}
.bt-covermark.away{left:50%;transform:translateX(-50%);bottom:8px;padding:2px 7px}
.bt-ribbon{left:0;top:10px;border:0;border-radius:0 3px 3px 0;background:var(--bt-accent);color:var(--bt-accent-text);font-weight:600}
.bt-aibadge{position:absolute;right:4px;top:4px;width:18px;height:18px;border-radius:9px;background:var(--bt-accent);color:var(--bt-accent-text);display:grid;place-items:center}
.bt-aibadge svg{width:11px;height:11px;stroke-width:2.2}
.bt-heart{display:grid;place-items:center;color:var(--bt-accent)}
.bt-heart.on svg{fill:var(--bt-accent)}
.bt-heart.cover{position:absolute;right:6px;bottom:6px;width:26px;height:26px;border-radius:13px;background:var(--bt-panel);border:1px solid var(--bt-line)}
.bt-book .bt-booktitle{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.bt-book .bt-bookmeta{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bt-listrow{grid-template-columns:46px minmax(110px,3fr) minmax(0,1.3fr) minmax(0,1.1fr) minmax(0,.9fr) 72px 34px 27px;gap:0 10px}
.bt-listrow .bt-thumb{width:46px}
.bt-listtitle{min-width:0;padding:0 5px}
.bt-listtitle .bt-booktitle,.bt-listtitle .bt-bookmeta,.bt-listfield>div,.bt-listfield{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bt-listrow .bt-listfield{min-width:0}
.bt-chevron{color:var(--bt-muted);display:grid;justify-items:end}
.bt-hit h3{font-size:12px;font-weight:600}
.bt-hitcover{width:60px}
.bt-hitpage{margin-top:12px}
.bt-hitwhere{font-size:11px;font-weight:500}
.bt-hit .bt-hitpage p{margin:6px 0 4px;line-height:20px}
.bt-more{margin-top:10px}
.bt-end-of-results{height:1px}
@media(max-width:850px){.bt-listrow{grid-template-columns:40px minmax(0,1fr) 72px 34px 24px}
.bt-listrow .bt-listfield.wide{display:none}}
@media(max-width:620px){.bt-books{grid-template-columns:repeat(2,minmax(0,1fr));justify-content:stretch}
.bt-sidebar{position:static;height:auto}
/* The sidebar is a band above the page on a phone: it takes its own height, and the page the rest. */
.bt-shell{grid-template-rows:auto 1fr}
.bt-listrow{grid-template-columns:35px minmax(0,1fr) 34px 23px}
.bt-listrow .bt-thumb{width:35px}
.bt-field.narrow{min-width:0;flex:1 1 140px}
.bt-field.narrow select{min-width:0}}
/* A book's details, as the Windows app's details drawer: cover beside the title, then its sections, each headed in small capitals. */
.bt-details{width:min(440px,100%);max-width:100%}
/* The left edge, dragged to make the details wider; js/details.js marks it while the pointer is on it. */
.bt-details.at-edge,.bt-details.resizing{cursor:ew-resize;border-left-color:var(--bt-muted)}
.bt-details.resizing{border-left-color:var(--bt-accent);user-select:none}
.bt-details .bt-detail-layout{grid-template-columns:110px minmax(0,1fr);gap:18px}
.bt-details .bt-detail-title{font-size:27px;font-weight:400;margin:0}
.bt-details .bt-subtitle{margin-top:6px;font-size:11px}
.bt-detailcover .bt-bookcover{width:110px}
.bt-detailchips{margin-top:12px;display:flex;flex-wrap:wrap}
.bt-chip.text{color:var(--bt-text)}
.bt-drawerhead{font-size:12px;font-weight:700;letter-spacing:1.5px;color:var(--bt-text);margin:0}
.bt-sectionhead{margin:28px 0 10px}
.bt-drawerhead-row{display:flex;justify-content:space-between;align-items:center;margin:28px 0 4px}
/* A section of a book's details: its heading is a button that folds it, with a chevron that points down while it's open. */
.bt-detailsection>.bt-drawerhead-row{margin:24px 0 8px}
.bt-sectiontoggle{display:inline-flex;align-items:center;gap:6px;padding:2px 0;border:0;background:none;color:inherit;font:inherit;letter-spacing:inherit;cursor:pointer}
.bt-sectiontoggle svg{color:var(--bt-muted)}
.bt-sectiontoggle:hover svg{color:var(--bt-text)}
.bt-sectiontoggle:focus-visible{outline:2px solid var(--bt-accent);outline-offset:2px;border-radius:3px}
.bt-fieldrow{padding:10px 0;border-bottom:1px solid var(--bt-line)}
.bt-fieldlabel{font-size:10px;color:var(--bt-muted);margin-bottom:3px}
.bt-fieldvalue{font-size:12px;color:var(--bt-text)}
.bt-fieldvalue.unknown{color:var(--bt-muted)}
.bt-evidencelink,.bt-storelink{display:inline-flex;align-items:center;gap:4px;padding:0}
.bt-storelink{margin-top:3px;text-decoration:none}
.bt-fieldrow .bt-evidence{margin-top:10px}
.bt-evidencevalue{margin-bottom:10px}
.bt-evidencevalue>div{margin-top:3px}
.bt-alternative{color:var(--bt-text)}
.bt-othersuggestions{font-size:9px;margin:10px 0 8px}
.bt-detailbox{background:var(--bt-side);border-radius:6px;padding:12px;margin-bottom:8px}
.bt-detailbox .bt-small{margin-top:4px}
.bt-small{font-size:11px;color:var(--bt-muted)}
.bt-row{font-size:12px;color:var(--bt-text)}
.bt-path{font-size:11px;overflow-wrap:anywhere}
.bt-copyheading{font-size:12px;font-weight:600}
.bt-foundnote{margin-bottom:8px}
.bt-chapterhead{display:flex;justify-content:space-between;gap:10px;align-items:baseline}
.bt-chapterhead .bt-small{margin-top:0;white-space:nowrap}
.bt-chaptertitle{font-size:12px;font-weight:600;color:var(--bt-text);overflow-wrap:anywhere}
.bt-chapterline{font-size:12px;color:var(--bt-text);margin-top:2px}
.bt-chapterhead+.bt-chapterline{margin-top:4px}
.bt-detailbox .bt-path{margin-top:6px}
.bt-service{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;margin-top:6px}
.bt-service svg{color:var(--bt-accent)}
.bt-boxactions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.bt-titlelink{font:inherit;color:var(--bt-text);text-align:left;padding:0;cursor:pointer}
.bt-titlelink:hover{color:var(--bt-accent)}
.bt-detailbox .bt-titlelink{font-size:13px;font-weight:550}
.bt-facts{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:8px 15px;margin:0}
.bt-facts dt{font-size:11px;color:var(--bt-muted)}
.bt-facts dd{font-size:12px;margin:0;color:var(--bt-text)}
.bt-packfiles{display:flex;flex-wrap:wrap;gap:10px 8px}
.bt-packfile{width:88px}
.bt-packthumb{position:relative;height:88px;border-radius:4px;background:var(--bt-warm);border:1px solid var(--bt-line);overflow:hidden}
.bt-packthumb img{width:100%;height:100%;object-fit:cover}
.bt-packmark{position:absolute;left:4px;padding:1px 4px;border-radius:3px;font-size:10px}
.bt-packmark.pdf{bottom:4px;background:var(--bt-panel);border:1px solid var(--bt-line);color:var(--bt-text)}
.bt-packmark.cover{top:4px;background:var(--bt-accent);color:var(--bt-accent-text);font-weight:600}
.bt-packname{font-size:10px;color:var(--bt-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:4px}
.bt-hit h3 .bt-titlelink{font-size:15px;font-weight:550}
.bt-shelf{justify-content:start}
.bt-sectionline a.bt-link{text-decoration:none;display:inline-flex;align-items:center;gap:6px}
/* Changing a book's details: the editor under a field, the evidence's actions, Cataloged wrong… and its offer, adventures' pages, notes. */
button.bt-heart{color:var(--bt-accent)}
.bt-detailactions{display:flex;justify-content:flex-end;margin:20px 0 -8px;min-height:32px}
.bt-detailtabs{margin-top:24px}
.bt-headactions{gap:16px}
.bt-sectionrow{margin:28px 0 10px}
.bt-fieldline{display:flex;justify-content:space-between;align-items:center;gap:8px}
.bt-fieldvalues{flex-wrap:wrap;gap:4px 10px}
.bt-fieldrow.busy{opacity:.6;pointer-events:none}
.bt-guessed{background:var(--bt-soft);color:var(--bt-text);font-weight:600}
.bt-fieldedit{margin-top:8px}
.bt-input{width:100%;padding:8px;border:1px solid var(--bt-line);border-radius:5px;background:var(--bt-panel);color:var(--bt-text);font-size:12px}
.bt-input:focus,.bt-notebox:focus{outline:2px solid var(--bt-accent);outline-offset:-1px}
.bt-edithint,.bt-resolution{margin-top:5px;font-size:11px}
.bt-choices{margin-top:10px}
.bt-problem{margin-top:8px;font-size:11px;color:var(--bt-accent)}
.bt-evidenceline{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.bt-evidenceline .bt-inline{gap:10px}
.bt-evidenceaction{display:inline-flex;align-items:center;gap:4px;padding:0;margin-bottom:6px}
.bt-banner{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;background:var(--bt-soft);border-radius:6px;padding:10px 14px;margin-top:24px}
.bt-banner.stacked{display:block;margin-top:12px}
.bt-bannerhead{font-size:12px;font-weight:600;color:var(--bt-text)}
.bt-bannertext{font-size:11px;color:var(--bt-text);margin-top:4px}
.bt-boxactions.end{justify-content:flex-end}
.bt-partsintro{margin-bottom:8px}
.bt-parteditor{border:1px solid var(--bt-line);border-radius:10px;background:var(--bt-panel);padding:22px 28px;margin:0 0 8px;box-shadow:0 0 60px #00000026}
.bt-parteditor .bt-field{margin-top:14px}
.bt-partheading{font-size:18px;font-weight:500;margin:0}
.bt-pagefields{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.bt-donenote{display:flex;align-items:center;gap:10px;margin:0 0 8px}
.bt-donenote .bt-small{flex:1}
.bt-donenote .bt-link{display:inline-flex;align-items:center;gap:4px;padding:0}
.bt-packthumb{display:block;width:100%;padding:0;cursor:pointer}
.bt-packthumb:hover,.bt-packthumb:focus-visible{border-color:var(--bt-accent)}
.bt-packmenu{margin-top:4px;font-size:11px}
.bt-booknotes{margin-top:18px}
.bt-notebox{width:100%;min-height:140px;padding:8px;border:1px solid var(--bt-line);border-radius:5px;background:var(--bt-panel);color:var(--bt-text);font:inherit;font-size:12px;resize:vertical}
.bt-notehint{margin-top:6px}
.bt-notepages{font-size:11px;font-weight:600;color:var(--bt-text)}
.bt-notetext{margin-top:4px;white-space:pre-wrap}
.bt-notereason{display:flex;align-items:center;gap:6px;margin-top:6px;font-size:11px;color:var(--bt-text)}
.bt-notereason svg{color:var(--bt-muted)}
.bt-notereason.changed svg{color:var(--bt-accent)}
.bt-librarynote{margin:0 0 14px;padding:4px 14px;border-radius:6px;background:var(--bt-soft)}
.bt-librarynote .bt-donenote{margin:0}
.bt-sectionrow .bt-link{display:inline-flex;align-items:center;gap:4px}
.bt-drawerhead-row{flex-wrap:wrap;gap:6px 16px}
/* Collections: their cards, a collection's page in the library, the dialog that names or picks one, and a book's Add to collection menu. */
.bt-collectioncards{display:flex;flex-wrap:wrap;gap:0 22px}
.bt-collectioncard{display:block;width:196px;margin-bottom:22px;color:inherit;text-decoration:none}
.bt-collectionmosaic{position:relative;height:136px;border-radius:6px;background:var(--bt-side);border:1px solid var(--bt-line);display:flex;align-items:center;justify-content:center;color:var(--bt-muted)}
.bt-collectioncard:hover .bt-collectionmosaic,.bt-collectioncard:focus-visible .bt-collectionmosaic{border-color:var(--bt-muted)}
.bt-collectioncovers{display:flex;gap:10px}
.bt-collectioncovers>*{width:76px;height:106px}
.bt-collectionpin{position:absolute;top:8px;right:8px;color:var(--bt-accent);display:inline-flex}
.bt-collectionname{margin-top:10px;font-size:12px;font-weight:600;color:var(--bt-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bt-collectioncount{margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bt-pagenote{margin-top:24px}
.bt-headbuttons{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.bt-scopechip{margin:0 0 12px}
.bt-sectionline-top>.bt-scopechip{display:inline-flex}
.bt-subcollections{margin-top:6px}
.bt-addedhere{margin:0 0 14px}
.bt-dialog{position:fixed;top:24px;left:50%;transform:translateX(-50%);width:min(480px,calc(100% - 32px));max-height:calc(100% - 48px);overflow:auto;z-index:13;background:var(--bt-panel);border:1px solid var(--bt-line);border-radius:10px;padding:22px 28px;box-shadow:0 0 60px #00000026}
.bt-dialoghead{align-items:flex-start;margin-bottom:4px}
.bt-dialoghead .bt-eyebrow-block{margin-bottom:6px}
.bt-dialogtitle{font-size:18px;font-weight:500;margin:0;color:var(--bt-text)}
.bt-dialog .bt-field{margin-top:14px}
.bt-dialogfilter{margin:14px 0 8px}
.bt-choices-list{max-height:340px;overflow:auto}
.bt-choicerow{display:flex;align-items:center;gap:10px;width:100%;padding:7px 10px;border-radius:4px;text-align:left;font-size:12px;color:var(--bt-text);cursor:pointer}
.bt-choicerow svg{color:var(--bt-muted);flex:0 0 auto}
.bt-choicerow span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bt-choicerow:hover,.bt-choicerow:focus-visible{background:var(--bt-side)}
.bt-choicerow.depth-1{padding-left:28px}
.bt-choicerow.depth-2{padding-left:46px}
.bt-choicerow.depth-3{padding-left:64px}
.bt-choicerow.depth-4{padding-left:82px}
.bt-choicerow.depth-5{padding-left:100px}
.bt-choicerow.depth-6{padding-left:118px}
.bt-nomatch{margin:6px 0 0 10px}
.bt-dialogactions{margin-top:22px}
.bt-menuanchor{position:relative}
.bt-iconlink{display:inline-flex;align-items:center;gap:4px}
.bt-backdrop.bt-menuback{background:none;z-index:12}
.bt-menu{position:absolute;right:0;top:100%;z-index:13;min-width:210px;max-width:320px;padding:3px;background:var(--bt-panel);border:1px solid var(--bt-line);border-radius:6px;box-shadow:0 8px 30px #00000020}
.bt-menuitem{display:block;width:100%;padding:6px 10px;border-radius:4px;text-align:left;font-size:12px;color:var(--bt-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}
.bt-menuitem:hover,.bt-menuitem:focus-visible{background:var(--bt-side)}
.bt-chiplink{font:inherit;color:var(--bt-text);padding:0;cursor:pointer}
.bt-chiplink:hover{color:var(--bt-accent)}
.bt-backdrop.bt-dialogback{z-index:12}
/* The type-ahead filters under More filters. */
.bt-boxes{align-items:flex-start}
.bt-typeahead{flex:0 0 200px;min-width:0}
.bt-typeaheadbox{position:relative}
.bt-suggestions{position:absolute;left:0;top:100%;z-index:5;min-width:100%;max-width:320px;margin-top:4px;padding:4px;background:var(--bt-panel);border:1px solid var(--bt-line);border-radius:7px;box-shadow:0 8px 30px #00000020}
.bt-suggestion{display:flex;justify-content:space-between;gap:10px;width:100%;padding:6px 8px;border-radius:4px;font-size:11px;color:var(--bt-text);text-align:left;cursor:pointer}
.bt-suggestion.active,.bt-suggestion:hover{background:var(--bt-side)}
.bt-suggestionlabel{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bt-suggestioncount{color:var(--bt-muted);flex:0 0 auto}
.bt-typeahead .bt-chips{margin-top:6px}
.bt-dialogintro{margin-top:6px}
/* The password dialog's ticks, each with its note under it as in the Windows dialog. */
.bt-passwordtick{margin-top:12px;font-size:12px}
.bt-passwordnote{margin:2px 0 0 24px;color:var(--bt-muted)}
/* Add a book you own elsewhere, and its details' cover and Remove from library: the Windows app's dialog and buttons. */
.bt-owns{display:flex;flex-wrap:wrap;gap:8px 16px;margin-bottom:4px}
.bt-filebutton{position:relative;align-self:flex-start;cursor:pointer;color:var(--bt-text)}
.bt-filebutton input{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}
.bt-filebutton:focus-within{outline:2px solid var(--bt-accent);outline-offset:2px}
.bt-filebutton.disabled{opacity:.5;cursor:default}
.bt-covername{display:flex;align-items:center;gap:12px;font-size:12px;color:var(--bt-text)}
.bt-covername span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bt-detailbuttons{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
/* The sidebar's pins: a drop line where a dragged pin will land, a dimmed book that can't be opened, and the right-click menu. */
.bt-pinrow{position:relative;border-top:2px solid transparent}
.bt-pinrow.drop{border-top-color:var(--bt-accent)}
.bt-pinrow .bt-nav{margin:0}
.bt-nav.dimmed{opacity:.55}
.bt-navlabel{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.bt-pinmenu{left:10px;right:auto}
.bt-menuitem{display:flex;justify-content:space-between;gap:16px}
.bt-menuitem:disabled{color:var(--bt-muted);cursor:default;background:none}
.bt-gesture{color:var(--bt-muted);font-size:11px}
.bt-pinend{height:14px}
.bt-pinbutton.on,.bt-offline.on{color:var(--bt-accent)}
.bt-offlineprogress{min-width:30px;font-variant-numeric:tabular-nums}
/* Saved searches: the toolbar's list of them, the banner once one is changed, why one shows more than it was saved with,
   and Home's row of pins. */
.bt-searchlist{width:320px;max-width:min(320px,calc(100vw - 32px));padding:8px 6px}
.bt-searchlist .bt-eyebrow{padding:0 6px 4px}
.bt-searchrow{display:flex;align-items:center;gap:2px}
.bt-searchrow .bt-nav{flex:1;min-width:0;margin:0;color:var(--bt-text)}
.bt-viewchanged{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:9px 12px;margin:0 0 14px;border-radius:6px;background:var(--bt-soft)}
.bt-viewnote{margin:0 0 14px;color:var(--bt-muted)}
.bt-homepins{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 28px}
.bt-button.dimmed{opacity:.55}
/* Select mode: the bar with what is ticked and what can be done to it, each book's tick, and the Same book dialog's
   files. */
.bt-selectbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 14px;margin:0 0 14px;border-radius:6px;background:var(--bt-soft)}
.bt-selectsummary{font-size:12px;margin-right:8px}
.bt-menu.bt-menuleft{left:0;right:auto}
.bt-tick{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:5px;background:var(--bt-panel);border:1.5px solid var(--bt-muted);color:var(--bt-accent-text)}
.bt-tick.on{background:var(--bt-accent);border-color:var(--bt-accent)}
.bt-tick svg{stroke-width:2.4}
.bt-coverarea .bt-tick{position:absolute;left:8px;top:8px;z-index:1}
.bt-listrow.selecting{position:relative;padding-left:36px}
.bt-listrow .bt-tick{position:absolute;left:0;top:50%;transform:translateY(-50%)}
.bt-bookbutton.selecting,.bt-listrow.selecting{user-select:none}
.bt-filechoices{margin-bottom:10px}
.bt-filechoice{display:flex;gap:10px;align-items:flex-start;padding:6px 0;cursor:pointer}
.bt-filechoice input{margin-top:3px}
.bt-filechoice>span{display:flex;flex-direction:column;gap:2px;min-width:0}
.bt-filename{font-size:12px;font-weight:500;overflow-wrap:anywhere}
.bt-dialog.bt-wide{width:min(660px,calc(100% - 32px));display:flex;flex-direction:column;overflow:hidden}
.bt-bulkbody{flex:1;min-height:0;overflow:auto;margin-top:10px;padding-right:8px}
.bt-shortcutlist{flex:1;min-height:0;overflow:auto;margin-top:6px;padding-right:12px}
.bt-shortcutlist:focus-visible{outline:2px solid var(--bt-accent);outline-offset:2px;border-radius:4px}
.bt-shortcutlist h3{margin:16px 0 4px;font-size:12px;font-weight:600}
.bt-shortcutlist dl{margin:0}
.bt-shortcutlist dl>div{display:grid;grid-template-columns:2fr 3fr;gap:12px;padding:7px 0;border-bottom:1px solid var(--bt-line);font-size:12px}
.bt-shortcutlist dt{font-weight:500}
.bt-shortcutlist dd{margin:0;color:var(--bt-muted)}
.bt-shortcuts .bt-dialogactions{justify-content:flex-end;margin-top:16px}
/* The tour (.bt-tour): four dimmed strips round the step's controls and the callout beside them, placed by js/tour.js;
   under the dialogs and drawers, so a folder picker opened from a step works over it. */
.bt-tourdim{position:fixed;background:#00000073;z-index:11}
.bt-tourcallout{position:fixed;z-index:11;width:min(312px,calc(100vw - 24px));background:var(--bt-panel);border:1px solid var(--bt-line);border-radius:8px;padding:18px 20px 16px;box-shadow:0 6px 24px #00000038}
.bt-tourhead{display:flex;justify-content:space-between;align-items:center;gap:12px}
.bt-tourtitle{font-family:'DM Sans',sans-serif;font-size:17px;font-weight:600;letter-spacing:0;margin-top:10px}
.bt-tourtext{margin-top:8px;max-width:none}
.bt-touractions{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:16px}
.bt-touractions .bt-button{margin-left:auto}
.bt-bulkfield{padding:12px 0;border-bottom:1px solid var(--bt-line)}
.bt-bulkline{display:flex;align-items:center;gap:10px}
.bt-bulkwhat{flex:1;min-width:0}
.bt-bulkbreakdown{margin-top:3px}
.bt-bulkpending{margin-top:5px;font-size:11px;font-weight:600;color:var(--bt-accent)}
.bt-bulkchips{display:flex;flex-wrap:wrap;align-items:center}
.bt-bulkchip{display:inline-flex;align-items:center;border-radius:4px;background:var(--bt-side);border:1px solid var(--bt-side);margin:3px 6px 3px 0}
.bt-bulkchip.adding{background:var(--bt-soft);border-color:var(--bt-accent)}
.bt-bulkchip.adding .bt-bulkcount{color:var(--bt-accent);font-weight:600}
.bt-bulkchip.removing .bt-bulkchipbody{opacity:.6}
.bt-bulkchip.removing .bt-bulkchiptext{text-decoration:line-through}
.bt-bulkchipbody{display:inline-flex;align-items:center;padding:4px 2px 4px 8px;font-size:11px;color:var(--bt-text);cursor:pointer}
.bt-bulknew{margin-left:5px;font-size:10px;font-style:italic;color:var(--bt-muted)}
.bt-bulkcount{margin-left:7px;font-size:10px;color:var(--bt-muted)}
.bt-bulkchip .bt-chipx{width:19px;height:19px;margin-right:3px}
.bt-bulkadd{display:flex;gap:8px;margin-top:8px}
.bt-bulkpick{margin-top:8px;width:100%;padding:8px 10px;border:1px solid var(--bt-line);border-radius:6px;background:var(--bt-panel);color:var(--bt-text);font-size:11px}
.bt-bulksumline{padding:10px 0;border-bottom:1px solid var(--bt-line);font-size:12px;color:var(--bt-text)}
.bt-bulksumline strong{font-weight:600}
.bt-bulkwarn{display:flex;align-items:flex-start;gap:7px;margin-top:5px;font-size:11px;font-weight:500;color:var(--bt-accent)}
.bt-bulkapplying{display:flex;flex-direction:column;align-items:center;gap:10px;padding:30px 0}
.bt-busybar{width:100%;height:4px;border-radius:2px;background:var(--bt-side);overflow:hidden}
.bt-busybar span{display:block;width:30%;height:100%;background:var(--bt-accent);animation:bt-busy 1.2s ease-in-out infinite}
@keyframes bt-busy{0%{transform:translateX(-100%)}100%{transform:translateX(340%)}}
.bt-bulkfoot{display:flex;align-items:center;gap:16px;margin-top:16px}
.bt-bulkfoot .bt-problem{flex:1;margin-top:0}
.bt-bulkfoot .bt-boxactions{margin-top:0;margin-left:auto}
.bt-bindercount{margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bt-bindergroupheading{margin:28px 0 14px}
.bt-earlier{margin-top:20px}
.bt-bindergroup{margin-top:16px}
.bt-headingactions{display:flex;gap:2px;align-self:flex-start}
.bt-bindercountline{display:inline-flex;align-items:center;gap:8px}
.bt-toolbarspace{flex:1}
.bt-binderpage{display:grid;grid-template-columns:minmax(0,1fr) minmax(200px,280px);gap:36px;margin-top:24px}
.bt-binderline{display:flex;align-items:baseline;gap:12px;margin-bottom:4px;font-size:13px;color:var(--bt-text)}
.bt-binderline strong{font-weight:600}
.bt-bindernotes .bt-binderline{margin-bottom:10px}
.bt-bindernotes .bt-notebox{min-height:260px}
.bt-bindersection{display:flex;align-items:center;gap:2px;padding:18px 0 6px;border-bottom:1px solid var(--bt-line)}
.bt-bindersection .bt-eyebrow{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}
.bt-binderitem{position:relative;display:grid;grid-template-columns:22px 30px 44px minmax(0,1fr) auto;align-items:start;padding:14px 0;border-bottom:1px solid var(--bt-line)}
.bt-binderitem:focus-visible{outline:2px solid var(--bt-accent);outline-offset:-2px}
.bt-binderitem.drop,.bt-bindersection.drop{box-shadow:inset 0 2px 0 var(--bt-accent)}
.bt-binderitem.dimmed .bt-binderthumb,.bt-binderitem.dimmed .bt-binderlabel,.bt-binderitem.dimmed .bt-binderwhere{opacity:.55}
.bt-bindergrip{cursor:grab;color:var(--bt-muted);padding-top:4px;user-select:none}
.bt-bindernumber{font-size:11px;font-weight:500;color:var(--bt-muted);padding-top:5px}
.bt-binderthumb{width:36px}
.bt-binderwhat{min-width:0;padding-left:4px}
.bt-inlinebox{width:100%;padding:3px 5px;border:1px solid transparent;border-radius:4px;background:transparent;color:var(--bt-text);font:inherit}
.bt-inlinebox::placeholder{color:var(--bt-muted)}
.bt-inlinebox:hover{border-color:var(--bt-line)}
.bt-inlinebox:focus{border-color:var(--bt-accent);background:var(--bt-panel);outline:none}
.bt-binderlabel{font-size:13px;font-weight:600}
.bt-bindernote{font-size:11px;margin-top:2px}
.bt-binderwhere{margin:2px 0 0 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bt-binderreason{display:flex;gap:6px;align-items:flex-start;margin:6px 0 0 6px;font-size:11px;color:var(--bt-text)}
.bt-binderreason svg{flex:none;margin-top:1px;color:var(--bt-muted)}
.bt-binderreason.changed svg{color:var(--bt-accent)}
.bt-binderactions{display:flex;align-items:flex-start}
@media(max-width:850px){.bt-binderpage{grid-template-columns:minmax(0,1fr)}}
@media(max-width:620px){.bt-binderitem{grid-template-columns:18px 24px 36px minmax(0,1fr)}
.bt-binderactions{grid-column:4;justify-content:flex-end}
.bt-toolbarspace{display:none}}
.bt-hitline{display:flex;align-items:center;justify-content:space-between;gap:8px}
/* Needs review, as the Windows app's page: the tabs, a column of cards 720 wide, and the files needing attention. */
.bt-reviewtabs{margin-bottom:0}
.bt-reviewpage{max-width:720px}
.bt-reviewshow{display:flex;align-items:center;gap:10px;margin-top:18px}
.bt-reviewshow .bt-select{min-width:200px}
.bt-reviewpage .bt-banner{margin-top:18px;align-items:center}
.bt-banner.side{background:var(--bt-side)}
.bt-banner.side .bt-bannertext{color:var(--bt-muted)}
.bt-reviewbook{font-size:14px;font-weight:600;color:var(--bt-text);text-decoration:none}
.bt-reviewbook:hover{text-decoration:underline}
.bt-reviewtitle{align-items:flex-start}
.bt-reviewtitle .bt-chip{flex-shrink:0;margin:0}
.bt-reviewreason{margin-top:4px}
.bt-reviewcompare{grid-template-columns:1fr 32px 1fr;margin:16px 0 12px;align-items:stretch;row-gap:10px}
.bt-reviewcompare>.bt-reviewvalue{color:var(--bt-text);overflow-wrap:anywhere;grid-column:1;grid-row:1}
.bt-reviewcompare .bt-reviewsource{font-size:10px;margin:5px 0 0}
/* Each side's answers go under it, in the row below the values, so they line up however tall either value is. */
.bt-reviewsideactions{grid-column:1;grid-row:2;flex-wrap:wrap;align-items:flex-start;align-self:start}
.bt-reviewcompare>.bt-suggested{grid-column:3}
.bt-reviewcompare>.bt-suggestedactions{grid-column:3}
.bt-reviewarrow{display:flex;justify-content:center;align-items:center;color:var(--bt-muted);grid-column:2;grid-row:1}
.bt-reviewevidence{display:flex;gap:8px;align-items:flex-start;font-size:11px;line-height:18px;color:var(--bt-muted);margin:0 0 16px}
.bt-suggested .bt-reviewevidence{margin:8px 0 0;font-size:10px;line-height:16px}
.bt-reviewevidence svg{flex-shrink:0;margin-top:2px}
.bt-reviewevidence strong{font-weight:600;color:var(--bt-text)}
.bt-reviewedit{margin-bottom:4px}
.bt-reviewedit .bt-input{width:100%}
.bt-reviewedit .bt-resolution{font-size:11px;color:var(--bt-text);margin-top:5px}
.bt-reviewedit .bt-edithint{margin-top:5px}
.bt-reviewpick{margin-top:10px;min-width:240px}
.bt-reviewedit .bt-inline{margin-top:12px}
.bt-reviewitem .bt-problem{margin:0 0 10px}
.bt-reviewterm{margin-top:16px}
.bt-termfile{display:inline-flex;gap:8px;align-items:center}
.bt-termfile .bt-select{min-width:180px}
.bt-reviewdonetitle{font-size:12px;font-weight:600;margin-bottom:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bt-decided{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--bt-muted)}
.bt-decided span{flex:1}
.bt-decided .bt-link{padding:0 0 0 12px}
.bt-reviewmore{margin-top:18px}
.bt-reviewchips{display:flex;align-items:flex-start;gap:4px;flex-shrink:0}
.bt-reviewchips .bt-chip{margin:0}
.bt-reviewchips .bt-icon{margin:-6px -8px 0 4px}
.bt-reviewpath{color:var(--bt-muted);margin-top:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bt-reviewoffer{margin:12px 0 0}
.bt-reviewoffer .bt-reviewdetail{margin-top:4px}
.bt-reviewoffer .bt-link{display:inline-block;margin-top:6px;font-size:11px}
.bt-reviewtiles{display:flex;gap:6px;margin-top:12px}
.bt-reviewtiles img{width:56px;height:56px;object-fit:cover;border:1px solid var(--bt-line);border-radius:4px;background:var(--bt-side)}
.bt-reviewbooks{list-style:none;padding:0;margin:8px 0 0}
.bt-reviewbooks li{margin-top:2px}
.bt-reviewbooks .bt-link{font-size:12px}
.bt-reviewplaces{list-style:none;padding:0;margin:12px 0 0}
.bt-reviewplace{display:flex;align-items:center;gap:8px;background:var(--bt-side);border-radius:6px;padding:8px 12px;margin-bottom:6px}
.bt-reviewplace>svg{flex-shrink:0;align-self:flex-start;margin-top:2px;color:var(--bt-accent)}
.bt-reviewplace.checked>svg{color:var(--bt-muted)}
.bt-reviewplacetext{flex:1;min-width:0}
.bt-reviewplacename{font-size:12px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bt-reviewplace .bt-link{flex-shrink:0;font-size:12px;display:inline-flex;align-items:center;gap:4px}
.bt-reviewfound{margin-top:8px}
.bt-reviewfound ul{list-style:none;padding:0;margin:4px 0 0}
.bt-reviewfound li{display:flex;align-items:center;gap:6px;font-size:11px;margin-bottom:2px;color:var(--bt-text)}
.bt-reviewfound li svg{flex-shrink:0;color:var(--bt-muted)}
.bt-reviewfoundmore{margin-left:17px}
.bt-reviewchoices{margin-top:16px;flex-wrap:wrap}
/* A choice can name a long file, which wraps rather than pushing the card wider than a phone. */
.bt-reviewchoices .bt-button{white-space:normal;overflow-wrap:anywhere;text-align:left;max-width:100%}
.bt-reviewparts{list-style:none;padding:0;margin:12px 0 0}
.bt-reviewparts li{display:flex;align-items:flex-start;gap:10px;margin-bottom:8px}
.bt-reviewparts li>input{width:auto;margin-top:3px;accent-color:var(--bt-accent)}
.bt-reviewparts li>div{flex:1;min-width:0}
.bt-reviewpartedit{display:grid;grid-template-columns:minmax(0,1fr) 70px 70px;gap:8px}
.bt-reviewpages{margin-top:12px}
.bt-reviewpages .bt-field{margin-top:0}
.bt-retryall{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px}
.bt-attention{display:flex;gap:10px;align-items:flex-start;background:var(--bt-side);border-radius:6px;padding:15px;margin-top:12px}
.bt-attention>svg{flex-shrink:0}
.bt-attentionbody{flex:1;min-width:0}
.bt-attentionbody .bt-row{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bt-attentionbody>.bt-small{margin-top:5px}
.bt-attentionlinks{display:flex;gap:16px;flex-wrap:wrap;margin-top:4px}
.bt-attentionfiles{list-style:none;padding:0;margin:6px 0 0}
.bt-attentionfiles li{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:6px}
.bt-attentionfiles li .bt-small{color:var(--bt-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bt-reassure{display:flex;justify-content:center;align-items:center;gap:8px;margin-top:24px;font-size:10px;color:var(--bt-muted)}
@media(max-width:620px){
.bt-reviewcompare{grid-template-columns:1fr}
.bt-reviewcompare>.bt-reviewvalue,.bt-reviewcompare>.bt-reviewsideactions,.bt-reviewcompare>.bt-reviewarrow{grid-column:auto;grid-row:auto}
.bt-reviewarrow{transform:rotate(90deg)}
.bt-retryall{flex-direction:column;align-items:flex-start}
.bt-attention{flex-wrap:wrap}
}
/* The reader: the pages fill the window under the toolbar, and scroll on their own. */
.bt-reader{display:flex;flex-direction:column;height:calc(100vh - 68px - 66px);min-height:460px}
.bt-reader.popout{height:calc(100vh - 60px)}
.bt-shell.popout{display:block}
.bt-reader-titles{flex:1;min-width:0}
.bt-reader-title{font:550 13px/1.4 'DM Sans',sans-serif;letter-spacing:0}
.bt-reader-title,.bt-reader-subtitle{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bt-reader-subtitle{margin-top:2px}
.bt-reader-toolbar{justify-content:flex-start;gap:4px 0}
.bt-toolgroup{display:flex;align-items:center;gap:2px}
.bt-tooldivider{width:1px;height:18px;margin:0 6px;background:var(--bt-line)}
.bt-pagelabel{display:flex;align-items:center;gap:6px;font-size:11px;margin:0 6px}
.bt-reader-toolbar .bt-page-input{width:54px;padding:4px 7px;border-radius:4px}
.bt-reader-toolbar .bt-small{margin:0 6px 0 0}
.bt-reader-toolbar .bt-icon:disabled{opacity:.4;cursor:default}
.bt-reader-toolbar .bt-icon.on{background:var(--bt-soft)}
.bt-zoom{min-width:110px;padding:5px 8px}
.bt-findbox{width:180px;margin-left:6px;padding:4px 7px;border:1px solid var(--bt-line);border-radius:4px;background:var(--bt-bg);color:var(--bt-text);font-size:11px}
.bt-findbox:focus{outline:none;border-color:var(--bt-accent)}
.bt-reader-toolbar .bt-check.small{margin-left:8px}
.bt-findstatus{margin-left:8px}
.bt-reader-stage{flex:1;min-height:0;padding:0;display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-rows:minmax(0,1fr) auto;justify-content:stretch}
.bt-contents{grid-row:1/3;width:250px;overflow:auto;background:var(--bt-panel);border-right:1px solid var(--bt-line);padding:14px 6px 10px}
.bt-contents .bt-eyebrow{display:block;margin:0 8px 8px}
.bt-contents ul{list-style:none;margin:0;padding:0}
.bt-contents li{border-radius:4px}
.bt-contents li.inpart{background:var(--bt-soft)}
.bt-contents button{display:flex;width:100%;gap:8px;justify-content:space-between;align-items:flex-start;padding:5px 6px;text-align:left;font-size:11px;color:var(--bt-text);border-radius:4px;cursor:pointer}
.bt-contents button:hover{background:var(--bt-soft)}
.bt-contentstitle{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bt-contentsfound{padding:0 6px 5px}
.bt-contents li.depth1{margin-left:12px}.bt-contents li.depth2{margin-left:24px}.bt-contents li.depth3{margin-left:36px}.bt-contents li.depth4{margin-left:48px}.bt-contents li.depth5{margin-left:60px}
.bt-pagescolumn{position:relative;grid-column:2;min-height:0}
.bt-pages{position:absolute;inset:0;overflow:auto;outline:none}
.bt-pages .pdfViewer{padding:12px 0}
.bt-pages .pdfViewer .page{margin:0 auto 12px;border:0;box-shadow:0 4px 10px #0000001c}
.bt-printedlinks{position:absolute;inset:0;pointer-events:none;z-index:4}
.bt-printedlinks a{position:absolute;pointer-events:auto;cursor:pointer;border-radius:2px}
.bt-printedlinks a:hover,.bt-printedlinks a:focus-visible{background:color-mix(in srgb,var(--bt-accent) 18%,transparent);outline:none}
.bt-picture{min-height:100%;display:flex;align-items:center;justify-content:center;padding:16px;box-sizing:border-box;width:max-content;min-width:100%}
.bt-picture img{display:block;max-width:none;box-shadow:0 4px 10px #0000001c}
.bt-ebook{position:absolute;inset:0}
.bt-ebookframe{display:block;width:100%;height:100%;border:0;background:var(--bt-side)}
.bt-pages:has(.bt-ebook){overflow:hidden}
.bt-opening{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none}
.bt-notice{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);max-width:min(460px,90%);padding:8px 12px;border-radius:5px;background:var(--bt-text);color:var(--bt-bg);font-size:11px;pointer-events:none}
.bt-strip{grid-column:2;display:flex;gap:6px;overflow-x:auto;overflow-y:hidden;padding:6px 9px 4px;background:var(--bt-panel);border-top:1px solid var(--bt-line)}
.bt-strip:empty,.bt-strip[hidden]{display:none}
.bt-thumbnail{display:flex;flex-direction:column;align-items:center;flex:0 0 auto;min-width:56px;cursor:pointer;padding:0}
.bt-thumbframe{display:grid;place-items:center;height:96px;min-width:68px;background:var(--bt-side);border:1px solid var(--bt-line);border-radius:2px;overflow:hidden}
.bt-thumbframe canvas{display:block;height:96px;width:auto}
.bt-thumbnail.current .bt-thumbframe{outline:2px solid var(--bt-accent);outline-offset:1px}
.bt-thumbnail.initem::after{content:"";position:absolute;left:0;right:0;top:99px;height:3px;border-radius:2px;background:var(--bt-accent)}
.bt-thumbnail{position:relative}
.bt-thumbnote{position:absolute;top:3px;right:3px;width:18px;height:18px;border-radius:9px;display:grid;place-items:center;background:var(--bt-accent);color:var(--bt-accent-text)}
.bt-thumbnote[hidden]{display:none}
.bt-reader-actions{display:flex;align-items:center;gap:8px;margin-left:auto}
.bt-notestoggle.on{color:var(--bt-accent)}
.bt-notespanel{grid-column:3;grid-row:1/3;width:280px;overflow:auto;background:var(--bt-panel);border-left:1px solid var(--bt-line);padding:14px 14px 10px}
.bt-notespanel>.bt-eyebrow{display:block;margin-bottom:8px}
.bt-askpanel{grid-column:3;grid-row:1/3;width:320px;overflow:auto;background:var(--bt-panel);border-left:1px solid var(--bt-line);padding:14px 14px 12px;font-size:12px;color:var(--bt-text)}
.bt-askpanel>.bt-eyebrow{display:block;margin-bottom:8px}
.bt-askbox{width:100%}
.bt-askactions{display:flex;align-items:center;gap:10px;margin-top:8px;min-height:30px}
.bt-askstep{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bt-askstop{margin-left:auto}
.bt-askhistoryhead{display:flex;align-items:center;gap:8px;margin-top:14px;font-size:11px;font-weight:600;color:var(--bt-muted)}
.bt-askhistoryhead .bt-link{margin-left:auto;font-weight:400}
.bt-askturn{border-bottom:1px solid var(--bt-line);padding:6px 0 8px}
.bt-askquestion{font-size:12px;font-weight:600;overflow-wrap:anywhere}
.bt-asked{margin-top:14px}
.bt-askanswer{font-size:13px;line-height:19px;margin-top:8px;white-space:pre-wrap;overflow-wrap:anywhere}
.bt-askanswer.small{font-size:12px;line-height:17px;margin-top:4px}
.bt-askanswer em.bt-unsupported{color:var(--bt-muted)}
.bt-citation{color:var(--bt-accent);padding:0;font:inherit;cursor:pointer}
.bt-citation:hover{text-decoration:underline}
.bt-askmessage{font-size:11px;margin-top:8px}
.bt-askpageshead{font-size:11px;font-weight:600;color:var(--bt-muted);margin:14px 0 6px}
.bt-askpassage{background:var(--bt-side);border-radius:6px;padding:8px 10px;margin-bottom:6px}
.bt-askpassage .bt-link{padding:0;text-align:left}
.bt-askpassagetext{font-size:12px;margin:4px 0}
.bt-asknote{margin:8px 0 0}
.bt-askbar{display:flex;align-items:flex-start;gap:10px;padding:12px 18px 12px 24px;background:var(--bt-panel);border-bottom:1px solid var(--bt-line);color:var(--bt-text)}
.bt-askbar>svg{flex:none;margin-top:8px;color:var(--bt-accent)}
.bt-askbarbody{flex:1;min-width:0}
.bt-askbarmessage{font-size:12px;margin:7px 0 0;line-height:1.45}
.bt-askbarlink{display:inline-flex;align-items:center;gap:6px;margin-top:6px}
.bt-askbaranswer{max-width:760px;max-height:min(440px,50vh);overflow:auto;margin-top:10px}
.bt-askbarreading{display:flex;align-items:center;gap:12px;margin-top:8px}
.bt-askbarreading .bt-busybar{width:160px}
.bt-askbarchips{display:flex;flex-wrap:wrap;margin-top:8px}
.bt-askchip{margin:0 6px 6px 0;padding:2px 2px 2px 8px}
.bt-askchipname{font-size:11px;color:var(--bt-muted)}
.bt-askchipvalue{border:0;border-bottom:1px solid var(--bt-line);background:transparent;color:var(--bt-text);font-size:11px;padding:1px 2px;max-width:260px;min-width:24px;outline:none}
.bt-askchipvalue:focus{border-bottom-color:var(--bt-accent)}
.bt-askbarnote{display:flex;align-items:flex-start;gap:6px;font-size:11px;color:var(--bt-muted);margin:0 0 4px}
.bt-askbarnote svg{flex:none;margin-top:1px}
.bt-askbarsearch{display:flex;align-items:center;gap:12px;margin-top:6px}
.bt-askbarsearch .bt-button{display:inline-flex;align-items:center;gap:6px}
.bt-askbarquery{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bt-askbarclose{flex:none}
.bt-askbutton{color:var(--bt-muted)}
.bt-readlibrary .bt-sample{max-width:640px;line-height:1.5}
.bt-askbutton.active{color:var(--bt-accent);background:var(--bt-soft)}
.bt-notepagefields .bt-select{width:100%}
.bt-readerbars{position:absolute;left:50%;top:14px;transform:translateX(-50%);width:min(560px,calc(100% - 36px));z-index:3;pointer-events:none}
.bt-readerbars .bt-itembanner{pointer-events:auto;display:flex;align-items:center;gap:12px;background:var(--bt-side);border:1px solid var(--bt-warm);border-radius:6px;padding:10px 14px;margin:0 0 8px;font-size:11px;color:var(--bt-text)}
.bt-itembanner .bt-itembannertext{flex:1}
.bt-itembanner .bt-link{padding:0;white-space:nowrap}
.bt-reader.inbinder{height:100%;min-height:0}
.bt-readerbars .bt-donenote{pointer-events:auto;background:var(--bt-side);border:1px solid var(--bt-line);border-radius:6px;padding:10px 14px;margin:0 0 8px;color:var(--bt-text)}
.bt-contents li.bt-menuanchor .bt-menu{top:auto;margin-top:2px}
.bt-readernote{background:var(--bt-side);border-radius:6px;padding:8px 10px;margin-bottom:6px;font-size:12px}
.bt-readernotehead{display:flex;align-items:center;gap:2px}
.bt-readernotehead .bt-link{margin-right:auto;font-size:11px;font-weight:600}
.bt-readernotehead .bt-icon{min-width:24px;min-height:24px;padding:3px}
.bt-notepagefields{align-items:flex-start}
.bt-notepageproblem{margin-top:6px}
.bt-notefield{margin-top:14px}
.bt-notefield textarea{min-height:110px;resize:vertical}
.bt-thumbnumber{font-size:10px;color:var(--bt-muted);margin-top:3px;max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bt-reader-foot{margin-top:12px}
.bt-openbuttons{display:flex;align-items:center;gap:4px;margin-right:auto}
.bt-hitline .bt-hitwhere{flex:1}
.bt-back{margin:0 -4px 0 -8px}
::highlight(bt-mark){background-color:#f1d27a80}
::highlight(bt-mark-current){background-color:#e8a33dcc}
@media(max-width:620px){.bt-reader{height:calc(100vh - 140px)}.bt-contents{width:180px}.bt-notespanel{width:200px}.bt-askpanel{width:240px}}
/* A binder's reader, as the Windows binder reader: the list on the left gives way first, then the notes on the right. */
.bt-binderreader{display:flex;flex-direction:column;height:calc(100vh - 68px - 66px);min-height:460px}
.bt-binderreaderhead{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.bt-binderreadertitles{flex:1;min-width:0}
.bt-binderreaderline{display:flex;align-items:center;gap:6px 14px;flex-wrap:wrap;margin-top:4px}
.bt-binderreadertitle{font:600 16px/1.3 'DM Sans',sans-serif;letter-spacing:0;margin:0;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bt-binderreaderline .bt-link{padding:0}
.bt-binderreaderactions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.bt-binderreaderactions .bt-button.primary{margin-right:6px}
.bt-binderreaderactions .bt-icon.on{background:var(--bt-soft)}
.bt-binderreaderbody{flex:1;min-height:0;display:grid;grid-template-columns:minmax(150px,250px) minmax(0,3fr) 260px;gap:12px}
.bt-binderreader.nonotes .bt-binderreaderbody{grid-template-columns:minmax(150px,250px) minmax(0,3fr)}
.bt-binderlist{background:var(--bt-side);border:1px solid var(--bt-line);border-radius:6px;padding:6px;overflow-x:hidden;overflow-y:auto;min-height:0}
.bt-binderlistsection{display:block;margin:16px 10px 6px}
.bt-binderrow{position:relative;margin-bottom:2px}
.bt-binderrowopen{display:flex;gap:10px;width:100%;text-align:left;background:transparent;border:1px solid transparent;border-radius:5px;padding:8px 28px 8px 10px;cursor:pointer;color:inherit;font:inherit}
.bt-binderrowopen:hover{background:var(--bt-soft)}
.bt-binderrow.current .bt-binderrowopen{background:var(--bt-panel);border-color:var(--bt-line)}
.bt-binderrow.dimmed .bt-binderrowtext{opacity:.55}
.bt-binderrowopen .bt-bindernumber{font-weight:600;padding-top:1px}
.bt-binderrowtext{display:flex;flex-direction:column;gap:2px;min-width:0}
.bt-binderrowheading{font-size:12px;font-weight:600;color:var(--bt-text);overflow-wrap:anywhere}
.bt-binderrowtext .bt-binderwhere{margin:0}
.bt-binderrowspace{display:block;height:24px}
.bt-binderrowreason.changed{color:var(--bt-text)}
.bt-binderrename{position:absolute;left:30px;right:4px;top:5px;width:auto;min-width:0;box-sizing:border-box;font-size:12px;border-color:var(--bt-line);background:var(--bt-panel)}
.bt-binderrowrename{position:absolute;right:2px;top:4px;visibility:hidden}
.bt-binderrow:hover .bt-binderrowrename,.bt-binderrow:focus-within .bt-binderrowrename{visibility:visible}
.bt-binderreaderview{min-width:0;min-height:0;display:flex;flex-direction:column}
.bt-binderreaderview>.bt-reader{flex:1}
.bt-bindernotespanel{display:flex;flex-direction:column;gap:10px;min-height:0}
.bt-bindernoteshead{font-size:13px;font-weight:600;color:var(--bt-text)}
.bt-bindernotespanel .bt-notebox{flex:1;min-height:120px;resize:none}
.bt-itemnotes{max-height:260px;overflow-y:auto}
@media(max-width:1180px){.bt-binderreaderbody{grid-template-columns:minmax(140px,190px) minmax(0,1fr) 220px}
.bt-binderreader.nonotes .bt-binderreaderbody{grid-template-columns:minmax(140px,190px) minmax(0,1fr)}}
@media(max-width:850px){.bt-binderreader{height:auto}
.bt-binderreaderbody,.bt-binderreader.nonotes .bt-binderreaderbody{grid-template-columns:minmax(0,1fr)}
.bt-binderlist{max-height:200px}
.bt-binderreaderview{height:calc(100vh - 140px);min-height:460px}}
.bt-binderreader.popout{height:calc(100vh - 60px)}
.bt-athandmenu{max-width:384px;max-height:460px;overflow-y:auto}
.bt-athandgroup{display:block;padding:8px 10px 2px;font-size:10px}
.bt-athandbinder{padding:6px 10px 2px;font-size:12px;font-weight:600;color:var(--bt-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bt-menuitem.bt-athandpage{display:block;padding-left:22px}
.bt-segments{display:flex;flex:0 0 auto;background:var(--bt-side);padding:2px;border-radius:5px}
.bt-segments button{padding:5px 14px;border-radius:4px;font-size:12px;color:var(--bt-muted);cursor:pointer}
.bt-segments button.on{background:var(--bt-panel);color:var(--bt-text);box-shadow:0 1px 3px #00000012}
.bt-subheading{font-size:13px;font-weight:600;color:var(--bt-text);margin:22px 0 2px}
.bt-section .bt-field{max-width:620px;margin-top:14px}
.bt-inputrow{display:flex;gap:8px;align-items:center;max-width:620px;margin-top:6px}
.bt-inputrow .bt-input{flex:1;min-width:0}
.bt-section>.bt-problem{max-width:620px;line-height:1.6}
.bt-aisend{margin-top:8px}
.bt-topline{border-top:1px solid var(--bt-line);margin-top:24px}
.bt-settingrow.bt-topline{border-bottom:0}
.bt-scanwhole{padding:18px 0;border-bottom:1px solid var(--bt-line)}
.bt-scanwhole .bt-check{font-size:12px}
.bt-scanwhole .bt-sample{padding:6px 0 0 24px;margin:0;max-width:640px;line-height:1.5}
.bt-aifolder{padding:9px 0;border-bottom:1px solid var(--bt-line);max-width:620px}
.bt-aiteststep{display:flex;gap:12px;justify-content:space-between;align-items:flex-start;margin:16px 0 10px;font-size:13px}
.bt-aiteststep small{display:block;margin-top:6px;font-size:11px;line-height:1.6;color:var(--bt-muted)}
.bt-aitestresult{overflow:auto;margin-top:12px;min-height:0}
.bt-aitestsummary{font-size:13px;margin:0 0 6px}
.bt-aitestline{padding:8px 0;border-bottom:1px solid var(--bt-line);font-size:12px}
.bt-aitestline small{display:block;margin-top:3px;font-size:11px;color:var(--bt-muted)}
.bt-aitestdropped{margin-top:16px}
.bt-aitestactions{justify-content:space-between;margin-top:20px}
.bt-devicecode{font-family:ui-monospace,Consolas,monospace;letter-spacing:1px;color:var(--bt-text)}

/* Settings, as the Windows app's: the section list stays beside the chosen section, which is at most 640 wide. */
.bt-settings{display:grid;grid-template-columns:170px minmax(0,640px);gap:32px;align-items:start}
.bt-settingslist{position:sticky;top:16px;display:flex;flex-direction:column}
.bt-settingsentry{display:block;width:100%;padding:9px 10px;margin:1px 0;border-radius:6px;font-size:12px;text-align:left;color:var(--bt-muted);text-decoration:none;cursor:pointer}
.bt-settingsentry:hover,.bt-settingsentry.active{background:var(--bt-soft);color:var(--bt-text)}
.bt-settingsrule{border-top:1px solid var(--bt-line);margin:12px 10px}
.bt-settingsgroup{display:block;padding:0 10px;margin:14px 0 6px}
.bt-settingsgroup:first-child{margin-top:0}
/* A page of several parts (Library, Devices, Members): its heading, then each part under a subheading. */
.bt-settingshead{font:30px 'Libre Caslon Display',Georgia,serif;font-weight:400;margin:0 0 6px}
.bt-settingshead+.bt-subsection{margin-top:14px}
.bt-subsection{margin-top:26px}
.bt-subsection>.bt-subheading{margin:0}
.bt-subsection>.bt-copy{margin-top:6px}
.bt-settingsbody>.bt-section:first-child{margin-top:0}
.bt-settingsbody .bt-section>h2{font-size:30px}
.bt-settingsbody .bt-copy{margin-top:12px;margin-bottom:8px}
.bt-fine{font-size:11px;line-height:1.6;color:var(--bt-muted);margin-top:10px}
.bt-linkbox>span{flex:1;min-width:0}
.bt-rowactions{white-space:nowrap;text-align:right;padding-right:0}
.bt-rowactions .bt-icon{margin:-7px 0 -7px 2px}
@media(max-width:850px){.bt-settings{grid-template-columns:140px minmax(0,1fr);gap:22px}}
@media(max-width:620px){.bt-settings{grid-template-columns:1fr;gap:18px}
.bt-settingslist{position:static;flex-direction:row;flex-wrap:wrap;gap:3px}
.bt-settingsentry{width:auto;padding:7px 9px;font-size:11px}
.bt-settingsrule,.bt-settingsgroup{display:none}}
/* A part of a section, as the Windows app's: a rule above, then its name in row text and what it does in small text. */
.bt-settingshead{font-size:12px;font-weight:400;color:var(--bt-text);border-top:1px solid var(--bt-line);margin-top:30px;padding-top:20px}
.bt-settingshead+.bt-fine{margin-top:5px}
.bt-fine .bt-link{padding:0;font-size:inherit}
.bt-settingsrule-above{border-top:1px solid var(--bt-line);border-bottom:0;margin-top:30px;padding:20px 0 0}
.bt-settingsheadrow{display:flex;justify-content:space-between;align-items:center}
.bt-settingsheadrow .bt-link{padding:0}
.bt-switchrow{display:flex;gap:10px;align-items:flex-start;padding:9px 0;border-bottom:1px solid var(--bt-line);font-size:12px;cursor:pointer}
.bt-switchrow input{margin-top:2px;flex:0 0 auto}
.bt-switchrow strong{font-weight:600}
.bt-switchrow small{margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bt-switchrow>span{min-width:0}
.bt-arrow{color:var(--bt-muted)}
/* As the Windows app dims a button it can't use yet, such as Add a folder before any storage is connected. */
.bt-button:disabled,.bt-icon:disabled,.bt-segments button:disabled,.bt-link:disabled{opacity:.5;cursor:default}
/* Settings › Vocabulary: tabs above a rule, each term or tag a row that opens into its edit panel. */
.bt-vocabtabs{margin:12px 0;padding-bottom:12px;border-bottom:1px solid var(--bt-line)}
.bt-inputrow{display:flex;gap:8px;align-items:flex-end}
.bt-inputrow .bt-input{flex:1}
.bt-inputrow .bt-field.bt-wide{flex:2}
.bt-section .bt-field+.bt-inputrow,.bt-editpanel .bt-inputrow{margin-top:10px}
.bt-section>.bt-field{margin-top:18px}
.bt-termlist{margin-top:12px}
.bt-term{padding:12px 0;border-bottom:1px solid var(--bt-line)}
.bt-termhead{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}
.bt-term small{display:block;margin-top:4px;font-size:11px;color:var(--bt-muted)}
.bt-editpanel{background:var(--bt-side);border-radius:6px;padding:15px;margin-top:12px}
.bt-editpanel>.bt-field:first-child,.bt-editpanel>.bt-inputrow:first-child{margin-top:0}
.bt-editpanel .bt-actions{margin-top:10px}
.bt-gap{margin-top:18px;margin-bottom:5px}
.bt-fine.bt-tight{margin-top:6px}
.bt-editnote{margin-top:8px;font-size:11px;color:var(--bt-text)}
@media(max-width:620px){.bt-inputrow{flex-wrap:wrap}.bt-inputrow .bt-field{flex:1 1 100%}}
/* Settings › Processing: a row per step of indexing, its name, a bar and where it has got to, as in the Windows app. */
.bt-processingsummary{margin-top:6px}
.bt-phases{margin-top:8px}
.bt-phase{display:grid;grid-template-columns:150px minmax(80px,1fr) minmax(190px,auto) 30px;gap:10px;align-items:center;margin-top:6px}
.bt-phase .bt-icon{color:var(--bt-muted)}
.bt-phasename{min-width:0}
.bt-phasename strong{display:block;font-size:12px;font-weight:600;color:var(--bt-text)}
.bt-phasename small,.bt-phasestatus,.bt-now small{display:block;font-size:11px;color:var(--bt-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bt-phasestatus{text-align:right}
.bt-bar{appearance:none;-webkit-appearance:none;width:100%;height:4px;border:0;border-radius:2px;background:var(--bt-soft);color:var(--bt-accent);overflow:hidden}
.bt-bar::-webkit-progress-bar{background:var(--bt-soft);border-radius:2px}
.bt-bar::-webkit-progress-value{background:var(--bt-accent);border-radius:2px;transition:width .4s}
.bt-bar::-moz-progress-bar{background:var(--bt-accent);border-radius:2px}
.bt-bar.done::-webkit-progress-value{background:#76916b}
.bt-bar.done::-moz-progress-bar{background:#76916b}
.bt-bar.paused::-webkit-progress-value{background:var(--bt-muted)}
.bt-bar.paused::-moz-progress-bar{background:var(--bt-muted)}
.bt-bar:indeterminate,.bt-bar:indeterminate::-webkit-progress-bar{background:linear-gradient(90deg,var(--bt-soft) 20%,var(--bt-accent) 50%,var(--bt-soft) 80%) 0 0/300% 100%;animation:bt-sweep 1.6s linear infinite}
.bt-bar:indeterminate::-moz-progress-bar{background:transparent}
@keyframes bt-sweep{from{background-position:100% 0}to{background-position:0 0}}
@media(prefers-reduced-motion:reduce){.bt-bar:indeterminate,.bt-bar:indeterminate::-webkit-progress-bar{animation:none}}
.bt-now{margin-top:12px}
.bt-now small{margin-top:3px}
@media(max-width:620px){.bt-phase{grid-template-columns:1fr}.bt-phasestatus{text-align:left}.bt-phase .bt-icon{justify-self:start}}
/* A book's right-click menu, over its cover or row. */
.bt-book,.bt-listitem{position:relative}
.bt-menu.bt-cardmenu{top:34px;left:8px;right:auto}
.bt-listitem .bt-menu.bt-cardmenu{top:70%;left:48px}
.bt-cardmenu .bt-menuitem svg{flex-shrink:0;color:var(--bt-muted)}
.bt-menuback-item{justify-content:flex-start;gap:6px;color:var(--bt-muted);border-bottom:1px solid var(--bt-line);border-radius:4px 4px 0 0;margin-bottom:3px}
a.bt-menuitem{text-decoration:none}
/* Reprocess's small menu, and the question it asks before reading every page by OCR. */
.bt-boxactions.bt-menuanchor{position:relative}
.bt-boxactions .bt-menu{left:0;right:auto}
.bt-dropbutton{padding-left:7px;padding-right:7px}
.bt-confirmbox{margin-top:10px;padding:10px;border:1px solid var(--bt-line);border-radius:6px;background:var(--bt-panel)}
.bt-confirmbox .bt-small{margin-top:4px}
/* Home's Fill in the catalog with AI?, as the Windows app's first-run step. */
.bt-aistep{background:var(--bt-side);border-radius:6px;padding:18px;margin-top:22px;max-width:620px}
.bt-aistep .bt-copy{margin:8px 0 14px}
/* The search box's field guide, under the box as the Windows app's popup is. */
.bt-searchwrap{position:relative;display:flex;margin-left:auto;max-width:360px;flex:1;min-width:0}
.bt-searchwrap .bt-search{margin-left:0;max-width:none}
.bt-guide{position:absolute;top:100%;left:0;right:0;margin-top:4px;z-index:14;padding:4px;background:var(--bt-panel);border:1px solid var(--bt-line);border-radius:7px;box-shadow:0 8px 30px #00000020;font-size:11px;color:var(--bt-text)}
.bt-guide>.bt-eyebrow{display:block;margin:4px 8px 3px}
.bt-guidehint{margin:5px 8px}
.bt-guiderows{max-height:380px;overflow:auto}
.bt-guiderow{display:flex;align-items:baseline;gap:10px;padding:5px 8px;border-radius:4px;cursor:pointer}
.bt-guiderow:hover,.bt-guiderow.highlighted{background:var(--bt-soft)}
.bt-guiderow strong,.bt-guidehint strong{font-weight:500}
.bt-guidevalue{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bt-guidevalue .bt-muted{margin-left:12px}
.bt-guide .bt-muted{color:var(--bt-muted)}
.bt-guidesyntax{border-top:1px solid var(--bt-line);margin-top:4px;padding:6px 8px 3px;font-size:10px;color:var(--bt-muted)}
/* Settings › Online libraries: each service with its two ways in, and the preview's books with their ticks. */
.bt-onlineservice{align-items:flex-start}
.bt-onlineservice > div:first-child{max-width:560px}
.bt-onlineactions{display:flex;flex-direction:column;align-items:flex-end;gap:8px;flex:none}
.bt-onlinesummary{display:flex;gap:16px;justify-content:space-between;align-items:center;margin-top:24px}
.bt-onlinesummary .bt-settingshead{margin:0}
.bt-onlinecovers{margin-top:12px}
.bt-onlinerows{list-style:none;margin:8px 0 0;padding:0;border-top:1px solid var(--bt-line)}
.bt-onlinerows li{padding:8px 0;border-bottom:1px solid var(--bt-line);font-size:13px}
.bt-onlinerows b{display:block;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bt-onlinerows small{display:block;margin-top:2px;font-size:12px;color:var(--bt-muted)}
.bt-onlinerows .bt-check{align-items:flex-start}
.bt-onlinerows .bt-check span{min-width:0}
.bt-onlinemissing{display:flex;gap:16px;justify-content:space-between;align-items:center}
@media (max-width:640px){.bt-onlineservice,.bt-onlinesummary{flex-direction:column;align-items:stretch}.bt-onlineactions{align-items:flex-start}}
.bt-passwordbook{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}
/* AI reading: the book being read in a panel, as the Windows page has it, then the last books read. */
.bt-aireading{max-width:860px;margin-top:24px}
.bt-ainow{background:var(--bt-side);border-radius:6px;padding:18px;margin-top:8px}
.bt-ainowhead{display:flex;gap:12px;justify-content:space-between;align-items:baseline}
.bt-ainowhead .bt-row{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bt-ainow .bt-small{margin-top:4px}
.bt-ainow .bt-bar{margin-top:10px;width:100%}
.bt-aifields{list-style:none;margin:10px 0 0;padding:0;font-size:12px}
.bt-aifields li{margin-top:3px}
.bt-aifields b{font-weight:600}
.bt-aireading .bt-actions{margin-top:12px}
.bt-aireadlast{display:block;margin-top:28px}
.bt-airead{list-style:none;margin:0;padding:0}
.bt-airead li{padding:10px 0;border-bottom:1px solid var(--bt-line);font-size:12px}
.bt-airead b{display:block;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bt-airead .bt-small{margin-top:2px}
.bt-aikept{display:flex;flex-direction:column;margin-top:6px}
/* Check a download: its buttons, what's being checked, and each verdict's files, as the Windows page lays them out. */
.bt-checkbuttons{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.bt-checktarget{margin-top:12px;max-width:860px}
.bt-checktarget .bt-row{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bt-checktarget .bt-small{margin-top:4px}
.bt-checkgroup{margin-top:24px;max-width:860px}
.bt-checkgroup h2{font-size:15px;margin:0 0 4px}
.bt-checkrows{list-style:none;margin:8px 0 0;padding:0;border-top:1px solid var(--bt-line)}
.bt-checkrows li{display:flex;gap:16px;align-items:flex-start;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--bt-line)}
.bt-checkfile{min-width:0;display:flex;flex-direction:column;gap:2px}
.bt-checkfile b{font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bt-checkfile small{font-size:11px;color:var(--bt-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bt-checkfile .bt-small{margin-top:2px}
.bt-checkrows .bt-link{flex:none}
/* Send to Bibliotaph: a link to drag to the bookmarks bar, shown as a button; the receiving page's status beneath its heading. */
.bt-bookmarklet{cursor:grab}
.bt-receive{max-width:640px}
.bt-keptbackups,.bt-restorefolders{list-style:none;margin:8px 0 0;padding:0}
.bt-keptbackups .bt-actions{margin:0;flex-wrap:nowrap}
.bt-restore{margin-top:12px;padding:12px;border:1px solid var(--bt-line);border-radius:6px;background:var(--bt-panel)}
.bt-restore .bt-copy{margin-top:0}
.bt-restorefolders .bt-settingrow{padding:8px 0}
.bt-restorefolders .bt-offline{color:var(--bt-accent);max-width:50%;text-align:right}
/* The site's own pages (Features, About, Terms and the rest), served by the server around the app. */
.bt-site{height:auto;min-height:100%;display:flex;flex-direction:column}
.bt-skip{position:absolute;left:-9999px}
.bt-skip:focus{left:16px;top:12px;z-index:20;background:var(--bt-panel);padding:8px 12px;border-radius:6px}
.bt-sitehead{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;max-width:1080px;width:100%;margin:0 auto;padding:22px 24px}
.bt-sitehead .bt-brand{padding:0}
.bt-sitenav{display:flex;align-items:center;gap:20px;flex-wrap:wrap;font-size:13px}
.bt-sitenav a:not(.bt-button),.bt-sitefoot a{color:var(--bt-text);text-decoration:none}
.bt-sitenav a:not(.bt-button):hover,.bt-sitefoot a:hover,.bt-sitenav a[aria-current=page],.bt-sitefoot a[aria-current=page]{text-decoration:underline;text-underline-offset:4px}
.bt-sitemain{flex:1;width:100%}
.bt-sitemain a:focus-visible,.bt-sitehead a:focus-visible,.bt-sitefoot a:focus-visible{outline:2px solid var(--bt-accent);outline-offset:3px}
.bt-site .bt-policy{padding-top:24px}
.bt-site .bt-policy a:not(.bt-button){color:var(--bt-accent)}
.bt-lede,.bt-policy .bt-lede{font-size:16px;line-height:1.6;color:var(--bt-muted);margin-top:14px}
.bt-site .bt-eyebrow{display:block;margin-bottom:10px}
.bt-policy h3{font-size:15px;font-weight:600;margin:24px 0 6px}
.bt-policy code{font-family:ui-monospace,Consolas,monospace;font-size:.92em;background:var(--bt-side);padding:1px 4px;border-radius:3px}
.bt-tablewrap{overflow-x:auto;margin-top:14px}
.bt-tablewrap .bt-table{margin-top:0}
.bt-policy .bt-table td{padding:8px 10px 8px 0;vertical-align:top;border-bottom:1px solid var(--bt-line);overflow-wrap:anywhere}
.bt-quote{border-left:3px solid var(--bt-line);padding-left:16px}
.bt-columns{columns:2 220px}
.bt-licences{max-width:900px}
.bt-policy ol{padding-left:22px;margin:10px 0 0}
.bt-policy li>ul,.bt-policy li>ol,.bt-policy li>p{margin-top:4px}
.bt-policy hr{border:0;border-top:1px solid var(--bt-line);margin:32px 0 0}
/* The Guide: a chapter with the list of chapters beside it, or after it on a narrow screen. */
.bt-manual{display:grid;grid-template-columns:190px minmax(0,720px);gap:44px;justify-content:center;max-width:1080px;margin:0 auto;padding:0 24px}
.bt-manual .bt-policy{grid-column:2;grid-row:1;margin:0;padding-left:0;padding-right:0;max-width:none}
.bt-site .bt-manualpage a.bt-eyebrow,.bt-site .bt-manualpage a.bt-eyebrow:hover{color:var(--bt-muted);text-decoration:none}
.bt-manualnav{grid-column:1;grid-row:1;position:sticky;top:16px;align-self:start;padding-top:24px;font-size:13px}
.bt-manualnav ol{list-style:none;padding:0;margin:0}
.bt-manualnav a{display:block;padding:5px 10px;margin-left:-10px;border-radius:6px;color:var(--bt-text);text-decoration:none}
.bt-manualnav a:hover{background:var(--bt-side)}
.bt-manualnav a[aria-current=page]{background:var(--bt-soft);color:var(--bt-accent);font-weight:600}
.bt-policy .bt-manuallist{list-style:none;padding:0;margin:24px 0 8px;display:grid;gap:10px}
.bt-site .bt-policy .bt-manuallist a{display:block;padding:14px 16px;border:1px solid var(--bt-line);border-radius:10px;text-decoration:none;color:var(--bt-muted)}
.bt-manuallist a:hover{border-color:var(--bt-accent)}
.bt-manuallist b{display:block;color:var(--bt-text);font-size:15px;font-weight:600}
.bt-manuallist span{display:block;font-size:13px;margin-top:3px;line-height:1.5}
@media(max-width:850px){.bt-manual{grid-template-columns:minmax(0,1fr);gap:0}.bt-manual .bt-policy{grid-column:1;padding-bottom:24px}
.bt-manualnav{grid-column:1;grid-row:2;position:static;border-top:1px solid var(--bt-line);padding:20px 0 0}}
.bt-sitefoot{border-top:1px solid var(--bt-line);margin-top:24px;padding:24px;font-size:12px;color:var(--bt-muted);text-align:center}
.bt-sitefoot nav{display:flex;justify-content:center;flex-wrap:wrap;gap:8px 20px;margin-bottom:12px}
.bt-sitefoot .bt-tagline{display:block;margin-bottom:14px;font-size:16px}
.bt-licences .bt-poweredby{margin-top:4px;width:104px;height:24px}
@media(max-width:620px){.bt-sitenav{gap:14px}.bt-sitehead{padding:16px}}
/* The landing page: what Bibliotaph is, shown with small made-up pieces of the app beside the real screenshot. */
.bt-ico{width:1em;height:1em;stroke-width:1.8;vertical-align:-.14em;flex-shrink:0}
.bt-land{overflow-x:clip;background:radial-gradient(1100px 560px at 50% -120px,var(--bt-soft),transparent 72%) no-repeat}
.bt-land a:not(.bt-button){color:var(--bt-accent)}
.bt-land mark{background:var(--bt-warm);color:inherit;border-radius:3px;padding:0 2px}
.bt-land code{font-family:ui-monospace,Consolas,monospace;font-size:.92em;background:var(--bt-side);padding:1px 4px;border-radius:3px}
.bt-land .bt-eyebrow{display:inline-flex;align-items:center;gap:6px;color:var(--bt-accent);font-size:11px;letter-spacing:1.6px}
.bt-land h2{font:400 40px/1.12 'Libre Caslon Display',Georgia,serif;letter-spacing:-.6px;max-width:740px;margin:0 auto;text-wrap:balance}
.bt-land h3{font-size:15px;font-weight:600}
.bt-land .bt-actions{justify-content:center;margin-top:30px;gap:10px}
.bt-land .bt-actions .bt-button,.bt-land-plans .bt-button{padding:12px 20px;font-size:14px;border-radius:8px}
.bt-land .bt-button .bt-ico{font-size:16px}
.bt-land-hero{max-width:920px;margin:0 auto;padding:72px 24px 44px;text-align:center}
.bt-land-pill{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border:1px solid var(--bt-line);border-radius:999px;background:var(--bt-panel);font-size:12px;color:var(--bt-muted)}
.bt-land-pill .bt-ico{color:var(--bt-accent)}
.bt-land-hero h1{font:400 64px/1.04 'Libre Caslon Display',Georgia,serif;letter-spacing:-1.6px;margin-top:22px;text-wrap:balance}
.bt-land-hero h1 em{display:block;font-style:normal;color:var(--bt-accent)}
.bt-land-hero .bt-lede{font-size:18px;max-width:660px;margin:22px auto 0}
.bt-land-proof{list-style:none;padding:0;margin:22px 0 0;display:flex;justify-content:center;flex-wrap:wrap;gap:8px 24px;font-size:12px;color:var(--bt-muted)}
.bt-land-proof li{display:flex;align-items:center;gap:6px}
.bt-land-proof .bt-ico,.bt-land-ticks .bt-ico{color:var(--bt-accent)}
.bt-land-stage{position:relative;max-width:1120px;margin:0 auto;padding:0 24px}
.bt-land-window{margin:0;border:1px solid var(--bt-line);border-radius:14px;overflow:hidden;background:var(--bt-panel);box-shadow:0 34px 90px -24px #00000045,0 10px 28px -14px #0000002e}
.bt-land-chrome{display:flex;align-items:center;gap:7px;padding:10px 14px;border-bottom:1px solid var(--bt-line);background:var(--bt-side)}
.bt-land-chrome span{width:10px;height:10px;border-radius:50%;background:var(--bt-line)}
.bt-land-chrome b{margin:0 auto;transform:translateX(-25px);font-weight:500;font-size:11px;color:var(--bt-muted);background:var(--bt-panel);border:1px solid var(--bt-line);border-radius:6px;padding:3px 48px}
.bt-land-window img{display:block;width:100%;height:auto}
.bt-land-float{position:absolute;background:var(--bt-panel);border:1px solid var(--bt-line);border-radius:12px;box-shadow:0 22px 56px -14px #00000048;padding:14px;font-size:12px}
.bt-land-float-search{left:0;bottom:-40px;width:350px}
.bt-land-float-ai{right:0;top:96px;width:256px}
.bt-land-query{display:flex;align-items:center;gap:8px;border:1px solid var(--bt-line);border-radius:8px;padding:8px 10px;background:var(--bt-bg);font-family:ui-monospace,Consolas,monospace;font-size:11.5px}
.bt-land-query .bt-ico{color:var(--bt-muted)}
.bt-land-query i{font-style:normal;color:var(--bt-accent)}
.bt-land-hit{padding-top:10px}
.bt-land-hit+.bt-land-hit{border-top:1px solid var(--bt-line);margin-top:10px}
.bt-land-hit b{display:block;font-weight:600}
.bt-land-tag{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:600;color:var(--bt-accent);background:var(--bt-soft);border-radius:999px;padding:3px 10px}
.bt-land-float dl{display:grid;grid-template-columns:auto 1fr;gap:5px 14px;margin:12px 0}
.bt-land-float dt,.bt-land-fields dt{color:var(--bt-muted)}
.bt-land-float dd,.bt-land-fields dd{margin:0;font-weight:600}
.bt-land-float q{display:block;font:15px/1.35 'Libre Caslon Display',Georgia,serif;border-left:2px solid var(--bt-accent);padding-left:10px}
.bt-land-float q+small{margin:6px 0 0 12px}
.bt-land-caption{text-align:center;font-size:11px;color:var(--bt-muted);margin:60px 24px 0}
.bt-land-where{max-width:1000px;margin:52px auto 0;padding:0 24px;text-align:center}
.bt-land .bt-land-where h2{font:600 12px/1.4 'DM Sans',sans-serif;letter-spacing:1.4px;text-transform:uppercase;color:var(--bt-muted)}
.bt-land-where ul{list-style:none;padding:0;margin:18px 0 0;display:flex;justify-content:center;flex-wrap:wrap;gap:10px}
.bt-land-where li{display:flex;align-items:center;gap:8px;padding:8px 14px;border:1px solid var(--bt-line);border-radius:999px;background:var(--bt-panel);font-size:13px}
.bt-land-where .bt-ico{color:var(--bt-muted)}
.bt-land-section{max-width:1080px;margin:0 auto;padding:110px 24px 0;text-align:center}
.bt-land-section>.bt-eyebrow{margin-bottom:12px}
.bt-land-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:42px;text-align:left}
.bt-land-cards figure{margin:0;padding:26px;border:1px solid var(--bt-line);border-radius:14px;background:var(--bt-panel)}
.bt-land-cards blockquote{margin:0;font:21px/1.3 'Libre Caslon Display',Georgia,serif}
.bt-land-cards figcaption{margin-top:16px;font-size:13.5px;line-height:1.6;color:var(--bt-muted)}
.bt-land-feature{max-width:1080px;margin:0 auto;padding:120px 24px 0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:64px;align-items:center}
.bt-land-feature.flip .bt-land-copy{order:2}
.bt-land-copy .bt-eyebrow{margin-bottom:12px}
.bt-land-copy h2{margin:0;text-align:left}
.bt-land-copy p{font-size:15px;line-height:1.7;color:var(--bt-muted);margin-top:16px}
.bt-land-ticks{list-style:none;padding:0;margin:20px 0 0}
.bt-land-ticks li{display:flex;gap:10px;align-items:baseline;font-size:14px;line-height:1.5;margin:9px 0}
.bt-land-art{padding:30px;border-radius:20px;background:linear-gradient(145deg,var(--bt-soft),var(--bt-warm))}
.bt-land-panel{background:var(--bt-panel);border:1px solid var(--bt-line);border-radius:12px;padding:16px;box-shadow:0 22px 50px -22px #00000045;font-size:12px}
.bt-land-panel b{font-weight:600}
.bt-land-tabs{display:flex;gap:18px;margin:14px 0 2px;border-bottom:1px solid var(--bt-line);font-size:11px;color:var(--bt-muted)}
.bt-land-tabs b,.bt-land-tabs span{padding-bottom:8px}
.bt-land-tabs b{color:var(--bt-text);border-bottom:2px solid var(--bt-accent)}
.bt-land-result{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid var(--bt-line)}
.bt-land-result:last-child{border-bottom:0;padding-bottom:0}
.bt-land-result p{margin-top:5px;color:var(--bt-muted);font-size:11.5px}
.bt-land-cover{width:42px;height:56px;border-radius:2px 5px 5px 2px;flex-shrink:0;box-shadow:inset 3px 0 0 #00000030,inset 0 0 0 1px #0000001f;position:relative}
.bt-land-cover::after{content:'';position:absolute;left:9px;right:7px;top:12px;height:10px;border-top:1px solid #ffffff70;border-bottom:1px solid #ffffff45}
.bt-land-cover.c1{background:linear-gradient(160deg,#8a4232,#2e1814)}
.bt-land-cover.c2{background:linear-gradient(160deg,#2f6170,#13262c)}
.bt-land-cover.c3{background:linear-gradient(160deg,#66783f,#232a19)}
.bt-land-book{display:flex;gap:12px;align-items:center;padding-bottom:14px;border-bottom:1px solid var(--bt-line)}
.bt-land-fields{display:grid;grid-template-columns:104px minmax(0,1fr);gap:12px 14px;margin:16px 0}
.bt-land-fields small{font-weight:400;margin-top:2px}
.bt-land-review{display:flex;gap:10px;align-items:center;padding:10px 12px;border-radius:8px;background:var(--bt-soft);font-size:11.5px;color:var(--bt-muted);margin-top:12px}
.bt-land-review>.bt-ico{color:var(--bt-accent);font-size:16px}
.bt-land-review b{display:block;color:var(--bt-text)}
.bt-land-binderhead{padding-bottom:12px;border-bottom:1px solid var(--bt-line)}
.bt-land-binderhead b{display:block;font:400 19px/1.25 'Libre Caslon Display',Georgia,serif}
.bt-land-binderhead small{display:flex;align-items:center;gap:6px;margin-top:4px}
.bt-land-binder{list-style:none;padding:0;margin:10px 0 0}
.bt-land-binder li{display:flex;gap:12px;align-items:center;padding:8px 10px;border-radius:8px}
.bt-land-binder li.on{background:var(--bt-soft)}
.bt-land-binder li>span{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--bt-side);font-size:10px;font-weight:600;flex-shrink:0}
.bt-land-binder li.on>span{background:var(--bt-accent);color:var(--bt-accent-text)}
.bt-land-note{display:flex;gap:8px;align-items:center;margin-top:10px;padding:10px 12px;border-radius:8px;background:var(--bt-warm);font-size:11.5px}
.bt-land-services{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.bt-land-services div{padding:14px;border:1px solid var(--bt-line);border-radius:10px;background:var(--bt-bg)}
.bt-land-services b{display:block;font-size:13px}
.bt-land-steps{list-style:none;padding:0;margin:42px 0 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;text-align:left}
.bt-land-steps li{padding:24px 26px 26px;border:1px solid var(--bt-line);border-top:3px solid var(--bt-accent);border-radius:4px 4px 14px 14px;background:var(--bt-panel)}
.bt-land-steps span{font:400 34px/1 'Libre Caslon Display',Georgia,serif;color:var(--bt-accent)}
.bt-land-steps h3{margin:14px 0 6px;font-size:16px}
.bt-land-steps p,.bt-land-trust p{font-size:13.5px;line-height:1.6;color:var(--bt-muted)}
.bt-land-plans{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;max-width:880px;margin:42px auto 0;text-align:left}
.bt-land-plans article{display:flex;flex-direction:column;padding:30px;border:1px solid var(--bt-line);border-radius:16px;background:var(--bt-panel)}
.bt-land-plans article.featured{border-color:var(--bt-accent);box-shadow:0 0 0 1px var(--bt-accent),0 24px 60px -30px #00000050}
.bt-land-plans h3{display:flex;align-items:center;gap:8px}
.bt-land-plans h3 .bt-ico{color:var(--bt-accent);font-size:18px}
.bt-land-price{font:400 40px/1.05 'Libre Caslon Display',Georgia,serif;margin-top:18px}
.bt-land-price small{font:400 12px 'DM Sans',sans-serif;margin-top:6px}
.bt-land-plans .bt-land-ticks{flex:1;margin-bottom:26px}
.bt-land-plans .bt-fine{text-align:center}
.bt-land-trust{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-top:42px;text-align:left}
.bt-land-trust div{padding:24px;border:1px solid var(--bt-line);border-radius:14px;background:var(--bt-panel)}
.bt-land-trust div>.bt-ico{font-size:22px;color:var(--bt-accent)}
.bt-land-trust h3{margin:14px 0 6px}
.bt-land-faq{max-width:780px}
.bt-land-faq h2{margin-bottom:30px}
.bt-land-faq details{border-bottom:1px solid var(--bt-line);text-align:left;padding:18px 4px}
.bt-land-faq details:first-of-type{border-top:1px solid var(--bt-line)}
.bt-land-faq summary{display:flex;justify-content:space-between;gap:16px;cursor:pointer;list-style:none;font-size:16px;font-weight:600}
.bt-land-faq summary::-webkit-details-marker{display:none}
.bt-land-faq summary::after{content:'+';color:var(--bt-accent);font-size:20px;line-height:1}
.bt-land-faq details[open] summary::after{content:'\2212'}
.bt-land-faq summary:focus-visible{outline:2px solid var(--bt-accent);outline-offset:3px}
.bt-land-faq details p{margin-top:10px;font-size:14px;line-height:1.7;color:var(--bt-muted)}
.bt-land-final{max-width:1032px;margin:120px auto 32px;padding:68px 24px;text-align:center;border-radius:24px;background:var(--bt-accent);color:var(--bt-accent-text)}
.bt-land-final h2{font-size:44px}
.bt-land-final p{margin-top:12px;font-size:17px;opacity:.85}
.bt-land-final .bt-button.primary{background:var(--bt-accent-text);color:var(--bt-accent);border-color:transparent}
.bt-land-final .bt-button:not(.primary){background:transparent;color:var(--bt-accent-text);border-color:color-mix(in srgb,var(--bt-accent-text) 45%,transparent)}
.bt-land-final .bt-button:not(.primary):hover{background:color-mix(in srgb,var(--bt-accent-text) 12%,transparent)}
@media(max-width:1080px){.bt-land-final{margin-left:16px;margin-right:16px}.bt-land-float{display:none}.bt-land-caption{margin-top:14px}}
@media(max-width:880px){.bt-land-hero h1{font-size:48px}.bt-land h2{font-size:32px}.bt-land-feature{grid-template-columns:minmax(0,1fr);gap:32px;padding-top:80px}.bt-land-feature.flip .bt-land-copy{order:0}.bt-land-cards,.bt-land-steps,.bt-land-plans{grid-template-columns:minmax(0,1fr)}.bt-land-trust{grid-template-columns:repeat(2,minmax(0,1fr))}.bt-land-section{padding-top:80px}}
@media(max-width:560px){.bt-land-hero{padding:40px 16px 32px}.bt-land-hero h1{font-size:38px;letter-spacing:-.8px}.bt-land-hero .bt-lede{font-size:16px}.bt-land h2,.bt-land-final h2{font-size:28px}.bt-land-stage,.bt-land-where,.bt-land-section,.bt-land-feature{padding-left:16px;padding-right:16px}.bt-land-trust{grid-template-columns:minmax(0,1fr)}.bt-land-art{padding:14px}.bt-land-chrome b{display:none}.bt-land-fields{grid-template-columns:86px minmax(0,1fr)}.bt-land-services{grid-template-columns:minmax(0,1fr)}.bt-land .bt-actions .bt-button{width:100%}}

/* Summary: the library by the numbers. Bars and strips are SVG sized by attributes; their colours are here. */
.bt-hometotals{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:6px}
.bt-hometotals a{display:inline-flex;align-items:center;gap:5px;font-size:11px;color:var(--bt-accent)}
.bt-hometotals a:hover{text-decoration:underline}
.bt-summary{--bt-chartsoft:light-dark(#9fb8a4,#5e7a63);max-width:980px}
.bt-sumband{border-top:1px solid var(--bt-line);padding:24px 0 8px;margin-top:28px}
.bt-sumband:first-child{margin-top:0}
.bt-sumhero{font-family:'Libre Caslon Display',Georgia,serif;font-size:28px;line-height:1.25;margin-top:10px;font-weight:400}
.bt-sumhero a{color:var(--bt-accent)}
.bt-sumhero a:hover{text-decoration:underline}
.bt-sumtiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;margin:20px 0 12px}
.bt-sumtile{display:flex;flex-direction:column;gap:2px;min-height:74px;background:var(--bt-panel);border:1px solid var(--bt-line);border-radius:10px;padding:12px 16px}
a.bt-sumtile:hover{border-color:var(--bt-accent)}
.bt-sumtile b{font-size:24px;font-weight:600;line-height:1.15;color:var(--bt-text)}
.bt-sumtile span{font-size:11px;color:var(--bt-muted)}
.bt-sumtile small{font-size:10px}
.bt-sumcols{display:grid;gap:28px 40px;margin-top:14px}
.bt-sumcols.two{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.bt-sumcols.three{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.bt-sumcols.strips{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-top:28px}
.bt-sumcols p.bt-small{margin-top:8px}
.bt-sumhead{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:8px}
.bt-sumhead strong{font-size:12px;font-weight:600}
.bt-sumhead a{color:var(--bt-accent)}
.bt-sumhead a:hover{text-decoration:underline}
.bt-sumlegend{display:flex;flex-wrap:wrap;align-items:center;gap:5px;font-size:11px;color:var(--bt-muted)}
.bt-sumswatch{display:inline-block;width:10px;height:10px;border-radius:2px;background:var(--bt-accent);margin-left:11px}
.bt-sumswatch:first-child{margin-left:0}
.bt-sumswatch.soft{background:var(--bt-chartsoft)}
.bt-sumbars{list-style:none;padding:0;margin:0}
.bt-sumrow{display:grid;grid-template-columns:minmax(0,140px) minmax(0,1fr) auto;align-items:center;gap:10px;padding:3px 0;font-size:12px;color:var(--bt-text)}
.bt-sumrow>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
a.bt-sumrow:hover>span:first-child{color:var(--bt-accent)}
.bt-sumrow .bt-small{text-align:right;min-width:44px;font-variant-numeric:tabular-nums}
.bt-sumbar{width:100%;height:8px;display:block}
.bt-sumbar rect{fill:var(--bt-accent)}
.bt-sumbar rect.soft{fill:var(--bt-chartsoft)}
.bt-sumbar.offline rect{fill:var(--bt-muted)}
.bt-sumstrip{list-style:none;padding:0;margin:0;display:flex;gap:4px;border-bottom:0}
.bt-sumstrip li{flex:1;min-width:0}
.bt-sumstrip a,.bt-sumstrip div{display:flex;flex-direction:column}
.bt-sumstrip svg{width:100%;height:72px;display:block;border-bottom:1px solid var(--bt-line)}
.bt-sumstrip rect{fill:var(--bt-accent);opacity:.85}
.bt-sumstrip a:hover rect{opacity:1}
.bt-sumstrip span{font-size:10px;color:var(--bt-muted);text-align:center;margin-top:5px;min-height:15px}
.bt-sumwaiting{display:inline-block;font-size:12px;color:var(--bt-accent);margin-top:4px}
.bt-sumwaiting:hover{text-decoration:underline}
.bt-summeter{display:block;max-width:620px;height:10px;border-radius:5px;margin-top:10px}
.bt-summeter::-webkit-progress-bar{border-radius:5px}
.bt-summeter::-webkit-progress-value{border-radius:5px}
.bt-sumgrowthhead{margin-top:24px}
.bt-sumgrowth{width:100%;height:140px;display:block}
.bt-sumgrowth .rule{stroke:var(--bt-line);stroke-width:1}
.bt-sumgrowth .area{fill:var(--bt-soft)}
.bt-sumgrowth .line{fill:none;stroke:var(--bt-accent);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
.bt-sumgrowth .hit{fill:var(--bt-accent);opacity:0}
.bt-sumgrowth .hit:hover{opacity:.12}
.bt-sumticks{display:flex;justify-content:space-between;font-size:10px;color:var(--bt-muted);margin-top:5px}
@media(max-width:620px){.bt-sumhero{font-size:22px}.bt-sumrow{grid-template-columns:minmax(0,110px) minmax(0,1fr) auto}}
@media(forced-colors:active){.bt-sumbar rect,.bt-sumstrip rect,.bt-sumswatch{fill:Highlight;background:Highlight}.bt-sumbar rect.soft,.bt-sumswatch.soft{fill:GrayText;background:GrayText}.bt-sumgrowth .line{stroke:Highlight}.bt-sumgrowth .area{fill:Canvas}}
