/* Towers Books · Master Books. A calm owner-first catalog, responsive and keyboard accessible. */
.tb-master{max-width:1490px;margin:0 auto 28px;color:#19372a;line-height:1.42;font-size:14px}
.tb-master *{box-sizing:border-box}
.tb-master button,.tb-master select,.tb-modal button{font:inherit}
.tb-master button{cursor:pointer}
.tb-master button:focus-visible,.tb-master select:focus-visible,.tb-modal button:focus-visible{outline:3px solid #bd6c42;outline-offset:3px}
.tb-title{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:3px 0 22px}
.tb-title h2{color:#153e2c;letter-spacing:-.045em;font-size:clamp(28px,3vw,43px);margin:0 0 6px;line-height:1.13;font-weight:825}
.tb-overline{color:#996539!important;font-weight:830!important;font-size:10px!important;letter-spacing:.095em;text-transform:uppercase;margin:0 0 8px!important}
.tb-title p:not(.tb-overline){font-size:14px;line-height:1.45;color:#627368;margin:0}
.tb-data-stamp{flex:none;background:#e9f2ea;color:#35694c;border:1px solid #d3e3d4;border-radius:999px;padding:7px 11px;font-size:11px;font-weight:750}
.tb-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:18px}
.tb-tab{appearance:none;border:1px solid #dce6dc;border-radius:14px;background:#fff;padding:18px;text-align:left;min-width:0;display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:74px;font-size:13px;color:#536558;font-weight:770;transition:border-color .13s,background .13s,transform .13s}
.tb-tab b{font-size:28px;letter-spacing:-.04em;font-variant-numeric:tabular-nums;color:#143d2a}
.tb-tab:hover{background:#f6faf6;border-color:#9ebaa5}
.tb-tab.active{background:#eaf5ed;border-color:#3d8863;box-shadow:inset 0 0 0 1px #3d8863;color:#164d32}
.tb-feature-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin-bottom:22px}
.tb-spotlight{display:flex;align-items:center;gap:12px;appearance:none;text-align:left;border:1px solid #e1e6dd;border-radius:13px;background:#fff;padding:15px;min-width:0;color:#234633}
.tb-spotlight:hover{border-color:#93b89b;background:#fbfefa}
.tb-spot-icon{display:grid;place-items:center;background:#edf4ec;color:#356d48;border-radius:10px;width:38px;height:38px;flex:none;font-size:21px;font-weight:650}
.tb-spotlight strong{display:block;line-height:1.3;font-size:13px;font-weight:830;color:#244834}
.tb-spotlight small{display:block;margin-top:5px;color:#6d7a6d;line-height:1.4;font-size:11px}
.tb-spot-arrow{margin-left:auto;font-size:23px;color:#869b89}
.tb-library{background:#fff;border:1px solid #dee8de;border-radius:15px;overflow:hidden}
.tb-library-top{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;padding:22px 19px 16px;flex-wrap:wrap}
.tb-library-top h3{color:#143c2c;font-size:22px;font-weight:820;letter-spacing:-.03em;line-height:1.16;margin:0}
.tb-library-top p{font-size:12px;color:#63746a;margin:5px 0 0}
.tb-controls{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap}
.tb-controls label{display:flex;flex-direction:column;gap:5px;min-width:155px}
.tb-controls label>span{color:#6c776d;font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.07em}
.tb-controls select{appearance:auto;min-height:40px;border:1px solid #c8d7ca;background:#fafcfa;border-radius:8px;padding:8px 10px;min-width:175px;max-width:260px;color:#243b2c;font-size:12px;font-weight:710}
.tb-controls select:disabled{background:#f0f3ef;color:#929c93;opacity:.75}
.tb-list-head{display:grid;grid-template-columns:minmax(0,4fr) minmax(90px,1fr) minmax(115px,1.4fr) minmax(120px,1.8fr) 20px;align-items:center;padding:11px 18px;gap:12px;background:#f1f5ef;color:#6b796d;text-transform:uppercase;letter-spacing:.085em;font-size:10px;font-weight:840;border-top:1px solid #ebf0e9}
.tb-list-head>span:nth-child(2){text-align:right}
.tb-book-list{background:#fff}
.tb-book-row{appearance:none;border:0;border-top:1px solid #ecf0eb;background:#fff;width:100%;padding:13px 18px;min-height:66px;text-align:left;display:grid;align-items:center;gap:12px;grid-template-columns:minmax(0,4fr) minmax(90px,1fr) minmax(115px,1.4fr) minmax(120px,1.8fr) 20px;color:#294130}
.tb-book-row:hover{background:#f5f9f4}
.tb-book-row:focus-visible{position:relative;z-index:1}
.tb-book-name{min-width:0}
.tb-book-name strong{display:block;color:#193e29;font-size:13px;font-weight:810;line-height:1.35}
.tb-book-name small{display:block;font-size:11px;color:#718071;margin-top:4px}
.tb-book-words{font-size:12px;color:#365a41;text-align:right;font-weight:790;font-variant-numeric:tabular-nums;white-space:nowrap}
.tb-book-stage,.tb-book-live{min-width:0;display:flex;align-items:center;flex-wrap:wrap;gap:5px}
.tb-muted{font-size:11px;color:#788779;line-height:1.35}
.tb-row-arrow{margin-left:auto;font-size:24px;line-height:1;color:#899b8c}
.tb-pill{display:inline-flex;align-items:center;white-space:nowrap;font-size:10px;font-weight:850;line-height:1.15;padding:6px 9px;border-radius:7px}
.tb-pill.tb-live{background:#def3e5;color:#1b7047}
.tb-pill.tb-phase{background:#e8eff8;color:#295e83}
.tb-pill.tb-neutral{background:#edf1ed;color:#506556}
.tb-pill.tb-repair{background:#fff1dc;color:#9b6725}
.tb-pill.tb-unknown{background:#fff0df;color:#94642c}
.tb-load-more,.tb-clear{appearance:none;display:block;margin:12px auto;min-height:42px;padding:10px 18px;text-align:center;background:#e8f3e9;border:1px solid #cce0cc;border-radius:9px;color:#1d5c3d;font-weight:800}
.tb-load-more:hover{background:#d7ecd9}.tb-clear{background:transparent;border:0;font-size:12px;color:#587461}
.tb-none{text-align:center;padding:35px 12px;color:#697c6d;font-size:13px}
.tb-caveat{background:#f9fbf7;color:#6a786b;border:1px solid #e0e9de;border-radius:11px;font-size:11px;line-height:1.6;padding:14px 16px;margin-top:15px}
.tb-caveat strong{color:#4c6552}
.tb-state{background:#fff;padding:38px;border:1px solid #dee6dd;border-radius:15px}
.tb-state h2{font-size:27px;margin:0 0 9px;color:#1e4930}
.tb-state p{margin:0;color:#718072}
.tb-advanced{margin-top:18px;border-top:1px solid #dbe4d8;padding-top:10px}
.tb-advanced>summary{font-size:12px;color:#708372;padding:10px 0;font-weight:710}
.tb-advanced>summary:hover{color:#285f3c}
.tb-modal{color:#1d3b29;background:#fff;border:1px solid #cdddcf;border-radius:18px;box-shadow:0 30px 70px rgba(15,40,24,.25);width:min(545px,calc(100vw - 26px));max-height:85vh;overflow-y:auto;padding:25px}
.tb-modal::backdrop{background:rgba(11,30,19,.57)}
.tb-detail-head{display:flex;justify-content:space-between;gap:15px;align-items:flex-start}
.tb-detail-head h2{margin:0;font-size:clamp(22px,4vw,28px);letter-spacing:-.035em;line-height:1.17;font-weight:830;color:#173d28}
.tb-modal-close{flex:none;border:0;border-radius:9px;background:#edf4ea;color:#47644d;width:37px;height:37px;font-size:24px;line-height:1;cursor:pointer}
.tb-detail-pills{display:flex;flex-wrap:wrap;gap:8px;margin:17px 0}
.tb-details-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-bottom:16px}
.tb-details-grid>div{min-width:0;border-radius:10px;padding:12px;background:#f6f9f4;border:1px solid #e4ede0}
.tb-details-grid small{display:block;color:#798779;text-transform:uppercase;font-size:10px;letter-spacing:.06em;font-weight:780;margin-bottom:4px}
.tb-details-grid strong{font-size:13px;line-height:1.4;font-weight:750;overflow-wrap:anywhere}
.tb-detail-note{border-radius:11px;padding:14px;background:#eef6ec;border:1px solid #dbeadb}
.tb-detail-note strong{font-size:13px;color:#235637}
.tb-detail-note p{font-size:12px;line-height:1.55;margin:6px 0 0;color:#385743}
.tb-small-note{font-size:11px;line-height:1.6;color:#758373;margin:13px 0}
.tb-amazon{display:block;width:max-content;max-width:100%;background:#235f42;color:#fff!important;font-size:12px;font-weight:790;border-radius:8px;text-decoration:none;padding:11px 14px;margin:15px 0}
.tb-amazon:hover{background:#16472f}
.tb-close-bottom{appearance:none;margin-top:13px;display:block;width:100%;padding:11px 14px;border:1px solid #cfdfd0;border-radius:9px;background:#f8fbf6;color:#335a3e;font-size:12px;font-weight:790}
@media(max-width:980px){.tb-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.tb-library-top{align-items:flex-start}.tb-controls{width:100%}}
@media(max-width:760px){
.tb-title{display:block}.tb-title h2{font-size:31px}.tb-data-stamp{display:inline-block;margin-top:12px}
.tb-tabs{gap:8px}.tb-tab{min-height:75px;padding:14px}.tb-tab b{font-size:25px}
.tb-feature-row{grid-template-columns:1fr;gap:8px}.tb-spotlight{padding:12px 14px}
.tb-controls{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}
.tb-controls label{min-width:0}.tb-controls select{width:100%;min-width:0;max-width:none}
.tb-list-head{display:none}
.tb-book-row{grid-template-columns:minmax(0,1fr) auto;gap:7px 9px;min-height:93px;padding:13px 15px;position:relative}
.tb-book-name{grid-column:1;grid-row:1}.tb-row-arrow{grid-column:2;grid-row:1}
.tb-book-words{grid-column:1;grid-row:2;text-align:left;font-size:11px}
.tb-book-stage{grid-column:1;grid-row:3}.tb-book-live{grid-column:2;grid-row:3;justify-content:flex-end;text-align:right}
.tb-book-name strong{font-size:14px}
.tb-library-top{padding:18px 14px}
.tb-modal{padding:18px}
}
@media(max-width:400px){.tb-tab{padding:11px;font-size:11px}.tb-tab b{font-size:22px}.tb-controls{grid-template-columns:1fr}.tb-book-live .tb-muted{font-size:10px}}
@media(prefers-reduced-motion:reduce){.tb-master *{transition:none!important}}

/* Visible A–Z subject dividers in the master book list. */
.tb-subject-heading{
 display:flex;align-items:center;justify-content:space-between;gap:12px;
 padding:13px 18px 11px;border-top:1px solid #d9e4d9;
 background:#ecf4ed;color:#1b5035;font-size:14px;font-weight:850;
 letter-spacing:-.012em;scroll-margin-top:15px;
}
.tb-subject-heading:first-child{border-top:0}
.tb-subject-heading small{
 font-size:11px;letter-spacing:0;font-weight:720;color:#507660;
 padding:4px 8px;background:#fff;border:1px solid #dbe7da;border-radius:999px;
 white-space:nowrap;
}
@media(max-width:760px){
 .tb-subject-heading{padding:11px 15px;font-size:13px}
 .tb-subject-heading small{font-size:10px}
}

/* Five publishing accounts are primary choices; subject then title remains the list default. */
.tb-accounts-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:2px 0 10px}
.tb-accounts-head h3{font-size:18px;letter-spacing:-.025em;color:#173e2c;font-weight:820;margin:0}
.tb-reset-account{border:1px solid #cbdcce;background:#fff;color:#27543a;font-size:11px;font-weight:800;border-radius:9px;padding:8px 11px;min-height:36px}
.tb-reset-account:disabled{opacity:.53;cursor:default}
.tb-account-cards{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px;margin:0 0 8px}
.tb-account-card{border:1px solid #d6e4d6;border-radius:12px;background:#fff;min-height:111px;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;text-align:left;gap:6px;padding:15px;color:#193d29;min-width:0}
.tb-account-card:hover{border-color:#a3c3ab;background:#f8fcf8}
.tb-account-card.active{border-color:#27815b;box-shadow:inset 0 0 0 1px #27815b;background:#edf7ef}
.tb-account-label{font-weight:800;font-size:12px;line-height:1.3}
.tb-account-value{font-weight:860;font-size:28px;letter-spacing:-.045em;line-height:1.1;font-variant-numeric:tabular-nums}
.tb-account-value small{font-size:11px;color:#65776a;letter-spacing:0;font-weight:710}
.tb-account-q{font-size:10px;line-height:1.2;color:#5b7861;font-weight:720}
.tb-account-note{display:flex;gap:8px 14px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin:0 0 19px;color:#6b796f;font-size:11px;line-height:1.5}
.tb-unassigned{border:0;border-radius:7px;background:transparent;color:#487457;text-decoration:underline;text-underline-offset:3px;font-size:11px;font-weight:730;padding:6px}
.tb-unassigned:hover,.tb-unassigned.active{background:#edf4ec;color:#1c613e}
@media(max-width:1100px){.tb-account-cards{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.tb-accounts-head h3{font-size:16px}.tb-account-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.tb-account-card{min-height:102px;padding:12px}.tb-account-value{font-size:26px}.tb-account-note{display:block}.tb-unassigned{display:inline-block;margin-top:6px}}
@media(max-width:400px){.tb-account-label{font-size:11px}.tb-account-value{font-size:24px}}

/* Fast Kindle Books is a collection shortcut alongside the five publisher accounts. */
.tb-fast-kindle-card{cursor:default}
.tb-fast-kindle-card:hover{border-color:#a3c3ab;background:#f8fcf8}
.tb-fast-kind{font-size:12px;font-weight:750;color:#355f43}
.tb-fast-links{display:flex;flex-wrap:wrap;gap:6px 12px}
.tb-fast-links a{color:#276141;font-size:11px;line-height:1.3;font-weight:780;text-decoration:underline;text-underline-offset:3px}
.tb-fast-links a:focus-visible{outline:3px solid #bd6c42;outline-offset:3px;border-radius:3px}
