/* Compact mobile cards. Desktop retains the existing card presentation. */
/* Library tabs, search with Filters, Group by and Sort (all widths). */
.page-nav .page-tab{padding:11px 16px;border-radius:8px;border:1px solid var(--line);background:white;color:var(--ink);font-size:14px;min-height:44px;cursor:pointer}
.page-nav .page-tab[aria-current]{background:var(--plum);color:white;border-color:var(--plum)}
.toolbar{display:block;margin-bottom:10px}
.toolbar .search-row{display:flex;gap:8px;align-items:flex-end}
.toolbar .search-label{flex:1;min-width:0}
#filters-toggle{flex-shrink:0;min-height:44px;padding:9px 16px;font-size:14px;white-space:nowrap}
#filters-toggle[aria-expanded="true"]{border-color:var(--plum)}
.filters-panel{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 12px;margin-top:10px;padding:12px;border:1px solid var(--line);border-radius:10px;background:white}
.filters-panel[hidden]{display:none}
.toolbar .ownership-filter{margin:0;padding:0;border:0;min-width:0}
.toolbar .ownership-filter legend{padding:0;font-size:11px;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.06em}
.toolbar .ownership-filter label{display:inline-flex;align-items:center;gap:6px;margin:10px 14px 0 0;font-size:14px;font-weight:400;text-transform:none;letter-spacing:0;color:var(--ink)}
.toolbar .ownership-filter input{width:18px;height:18px;min-height:0;margin:0;padding:0;accent-color:var(--plum)}
.filter-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.filter-chips:empty{display:none}
.filter-chip{border-radius:16px;padding:5px 12px;font-size:13px;min-height:32px;background:#ece6ef;border-color:#ece6ef;color:var(--ink)}
.arrange-row{display:flex;gap:12px;margin-top:10px}.arrange-row label{flex:1;min-width:0}
.view-controls{flex-wrap:wrap}
.series-byline{font-size:12px;font-weight:400;color:var(--muted)}
.series-leads-link{display:inline;padding:0;margin:0;min-height:0;border:0;background:none;font:inherit;color:var(--green);text-decoration:underline;cursor:pointer}
.lead-focus{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:14px}.lead-focus button{padding:6px 12px;font-size:13px}
/* What's Next: compact rows grouped by release month (all widths). */
.lead-month{margin:18px 0 8px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.lead-rows{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:8px;margin-top:8px}
.lead-row{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:10px;align-items:center;padding:8px 10px;background:white;border:1px solid var(--line);border-radius:10px;color:var(--ink);text-decoration:none}
.lead-row:hover,.lead-row:focus-visible{border-color:var(--plum)}
.lead-row-cover{display:block;width:44px;height:66px;border-radius:3px;background:#ece6ef;overflow:hidden}
.lead-row-cover img{display:block;width:100%;height:100%;object-fit:cover}.lead-row-cover img[hidden]{display:none}
.lead-row-text{display:flex;flex-direction:column;gap:1px;min-width:0}
.lead-row-title{font-size:15px;line-height:1.3;overflow-wrap:anywhere}
.lead-row-meta{font-size:12px;color:var(--muted);line-height:1.35}
.lead-row-date{font-size:13px;font-weight:600;color:var(--green)}
.lead-row-source{font-size:11px;color:var(--muted)}
.lead-row-go{color:var(--muted);font-size:14px}
/* Layout controls, collapsible series and the cover grid (all widths). */
.view-controls{display:flex;gap:8px;align-items:center;justify-content:flex-end;margin:4px 0 8px}
#select-mode{display:inline-flex;align-items:center;min-height:36px;padding:6px 14px;font-size:13px}
body.selecting #select-mode{display:none}
.find-similar-bar{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin:0 0 10px;padding:10px 12px;border:1px solid var(--plum);border-radius:10px;background:#f4eff6}
.find-similar-bar[hidden]{display:none}.find-similar-bar>p{margin:0;flex:1 1 260px;font-size:14px}
.find-similar-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.find-similar-actions .curate-help{margin:0;font-size:13px}
.find-similar-actions .curate-help[open]{flex-basis:100%;order:2}
#find-similar-cancel{min-height:36px;padding:6px 14px;font-size:13px}
.layout-toggle{display:inline-flex;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:white}
.layout-toggle button{border:0;border-radius:0;background:none;color:var(--ink);padding:6px 14px;font-size:13px;min-height:36px;cursor:pointer}
.layout-toggle button[aria-pressed="true"]{background:var(--plum);color:white}
details.series-group>summary{list-style:none;cursor:pointer;display:block}
details.series-group>summary::-webkit-details-marker{display:none}
details.series-group>summary .group-title::before{content:'▾';display:inline-block;width:1em;color:var(--muted);transition:transform .15s}
details.series-group:not([open])>summary .group-title::before{transform:rotate(-90deg)}
details.series-group>summary .group-title{display:flex;flex-wrap:wrap;align-items:center;gap:0 6px}
.series-block{position:relative}
.series-block>details>summary .group-title{min-height:44px;margin:0}
.series-check{position:absolute;top:0;left:-10px;z-index:2;width:44px;height:44px;display:flex;align-items:center;justify-content:center;margin:0;cursor:pointer}
.series-check input{appearance:auto;width:20px;height:20px;margin:0;accent-color:var(--plum);cursor:pointer}
.series-block.has-check>details>summary .group-title{padding-left:44px}
.series-count{font-size:12px;font-weight:400;color:var(--muted);letter-spacing:0;text-transform:none}
.cover-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:12px}
.cover-tile{position:relative;display:block;padding:0;margin:0;border:0;background:#ece6ef;aspect-ratio:2/3;width:100%;min-height:0;border-radius:6px;overflow:hidden;box-shadow:0 1px 4px #0002;cursor:pointer}
.cover-tile .tile-title{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:8px;font-size:12px;line-height:1.3;color:var(--ink);text-align:center;overflow:hidden}
.cover-tile .tile-cover{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.cover-tile .tile-cover[hidden],.cover-tile .cover-unavailable{display:none}
.tile-number{position:absolute;left:5px;bottom:5px;background:#211a24d0;color:white;font-size:11px;font-weight:600;line-height:1.5;padding:0 7px;border-radius:10px}
.cover-tile.selected{outline:3px solid var(--plum);outline-offset:-3px}
.cover-tile.selected::after{content:'✓';position:absolute;top:5px;right:5px;width:24px;height:24px;border-radius:50%;background:var(--plum);color:white;font-size:14px;display:flex;align-items:center;justify-content:center}
#book-dialog{width:min(560px,calc(100vw - 24px));padding:12px;border:0;border-radius:14px;background:var(--paper)}
#book-dialog::backdrop{background:#211a2466}
#book-dialog .book{margin:0}#book-dialog-close{display:block;margin:10px 0 0 auto}
.book-meta,.rating-row{display:contents}
.compact-book-label,.compact-catalog,.mobile-book-actions{display:none}
@media screen and (max-width:650px){
 body{padding-bottom:calc(90px + env(safe-area-inset-bottom,0px))}
 .author-group{margin:18px 0 20px}.author-group>h2{font-size:22px;margin:0 0 8px;padding-bottom:6px}
 .series-group{margin:12px 0}.group-title{font-size:13px;margin-bottom:7px}.grid{gap:8px}
 .book{display:grid;grid-template-columns:48px minmax(0,1fr);gap:0 10px;min-height:0;padding:10px;border-radius:11px;position:relative;align-items:start}
 .book .coverwrap{display:contents}
 .book .cover,.book .cover-unavailable,.book .coverwrap>small{grid-column:1;grid-row:1;width:48px;height:72px;max-width:48px;font-size:9px;overflow-wrap:anywhere;margin:0}
 .book .info{grid-column:2;grid-row:1;min-width:0}
 .book .info h3{font-size:15px;line-height:1.25;padding-right:30px;margin:0 0 3px;overflow-wrap:anywhere}
 .book .curate-choice{top:0;right:0;width:44px;height:44px}.book .curate-choice input{width:20px;height:20px}
 .book .book-meta{display:flex;flex-wrap:wrap;gap:3px 7px;align-items:baseline;padding-right:22px;margin-bottom:3px}
 .book .author{font-size:12px;line-height:1.4;margin:0;overflow-wrap:anywhere}
 .book .book-meta .pill{font-size:10px;line-height:1.3;padding:2px 5px;margin:0;max-width:100%}
 .book .full-book-label{display:none}.book .compact-book-label{display:inline}
 .book .notes,.book .subseries-label,.book .info>.sectionnote{font-size:11px;line-height:1.35;margin:3px 0}
 .book .catalog-ratings,.book .book-desktop-actions{display:none}
 .book .compact-catalog{display:flex;flex-wrap:wrap;gap:0 9px;align-items:center;margin:0;min-width:0}
 .compact-rating{position:relative;min-width:0}
 .compact-rating summary{list-style:none;font-size:11px;line-height:1.4;min-height:28px;display:flex;gap:4px;align-items:center;cursor:pointer;white-space:nowrap}
 .compact-rating summary::-webkit-details-marker{display:none}.compact-rating summary>span:first-child{color:var(--muted)}
 .compact-rating-star{color:#af7518;font-size:14px}
 .compact-rating-count{position:absolute;top:100%;left:0;z-index:15;min-width:140px;padding:8px 10px;font-size:12px;background:white;border:1px solid var(--line);border-radius:7px;box-shadow:0 4px 12px #0002}
 .book .personal-rating{min-height:36px;gap:5px;margin:0;flex-wrap:wrap}
 .book .personal-rating::before{content:'Your rating';font-size:10px;color:var(--muted)}
 .book .personal-rating-stars{min-height:36px;gap:1px;padding:0 2px}.book .rating-star{font-size:18px}
 .book .personal-rating-value{font-size:12px;min-width:20px}
 .book .copy-controls{grid-column:1/-1;grid-row:2;display:flex;align-items:center;gap:0;max-width:none;width:auto;min-width:0;margin-top:6px;padding:3px 44px 0 0;border-top:1px solid var(--line)}
 .book .ownership-icons{display:flex;align-items:center;gap:0;width:auto;max-width:none;margin:0;flex-shrink:0}
 .book .ownership-icon{width:40px;height:40px;padding:8px}.book .ownership-icon svg{width:22px;height:22px}
 .book .loan-control{display:flex;align-items:center;text-align:left;gap:3px;flex:1;min-width:0;width:auto;margin:0}
 .book .loan-icon{width:40px;height:40px;margin:0;flex-shrink:0;padding:6px}.book .loan-icon svg{width:26px;height:26px}
 .book .loan-details{font-size:10px;line-height:1.35;margin:0;min-width:0;overflow-wrap:anywhere}.book .loan-error{font-size:10px}
 .book .ownership-status{top:0;left:0}.book .ownership-status:not(:empty){padding:4px;min-width:120px}
 .book .mobile-book-actions{display:block;grid-column:1/-1;grid-row:2;align-self:start;justify-self:end;margin-top:9px;position:relative;z-index:5}
 .mobile-book-actions>summary{list-style:none;cursor:pointer;width:40px;height:40px;display:flex;align-items:center;justify-content:center;font-size:25px;line-height:1;border-radius:6px;color:var(--plum)}
 .mobile-book-actions>summary::-webkit-details-marker{display:none}.mobile-book-actions[open]{z-index:20}
 .mobile-action-panel{position:absolute;right:0;top:100%;min-width:160px;background:white;padding:5px;border:1px solid var(--line);border-radius:8px;box-shadow:0 6px 18px #0002}
 .mobile-action-panel button{display:block;text-align:left;width:100%;font-size:13px;min-height:44px;padding:9px 11px;border:0;background:none;white-space:nowrap}
 .mobile-action-panel button:hover{background:var(--paper)}
 .curate-dock{min-height:60px;padding:6px 10px;gap:6px;border-radius:12px}
 .curate-summary strong{font-size:12px;line-height:1.35}
 .curate-summary>span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
 .curate-link{min-height:44px;font-size:14px;padding:9px 13px}#curate-clear{font-size:12px;padding:8px 5px;border:0;background:none;color:var(--plum)}
 #curate-status:empty{display:none}#curate-status{font-size:10px;line-height:1.3}
 /* Nothing draws under the iPhone status bar; the author stays in view while scrolling. */
 body::before,body::after{content:'';position:fixed;left:0;right:0;background:var(--paper);z-index:60;pointer-events:none}
 body::before{top:0;height:max(env(safe-area-inset-top,0px),1px)}
 body::after{bottom:0;height:max(env(safe-area-inset-bottom,0px),1px)}
 /* What's Next keeps its month heading pinned, like the author name in My Library. */
 .lead-month{position:sticky;top:env(safe-area-inset-top,0px);z-index:8;margin:0;padding:12px 0 8px;background:var(--paper)}
 .author-group>h2{position:sticky;top:env(safe-area-inset-top,0px);z-index:8;background:var(--paper);padding-top:6px}
 /* Curation controls appear only after Select, or once a book is selected. */
 body:not(.selecting) .curate-dock,body:not(.selecting) #select-view-wrap{display:none}
 body:not(.selecting){padding-bottom:calc(24px + env(safe-area-inset-bottom,0px))}
 .curate-dock{bottom:calc(14px + env(safe-area-inset-bottom,0px))}
 /* Three-row cards: title and number; ratings; copies and actions. */
 .book{grid-template-columns:44px minmax(0,1fr);gap:0 10px;padding:8px 10px}
 .book .cover,.book .cover-unavailable,.book .coverwrap>small{grid-row:1/span 2;width:44px;height:66px;max-width:44px}
 .book .info{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:6px}
 .book .info>*{flex:1 1 100%}
 .book .info h3{flex:0 1 auto;margin:0;padding-right:0}
 .book .book-meta{flex:1 1 auto;margin:0;padding-right:0}
 body.selecting .book .info{padding-right:34px}
 .book .author.same-author,.book .pill.repeats-group{display:none}
 .book .info>.rating-row{display:flex;flex-wrap:wrap;align-items:center;gap:0 10px}
 .book .coverwrap>small{font-size:0;background:#ece6ef;border-radius:3px}
 .book .personal-rating{min-height:32px}.book .personal-rating::before,.book .personal-rating-value{display:none}
 .book .personal-rating-stars{min-height:32px}.book .rating-star{font-size:16px}
 .book .copy-controls{grid-column:2;grid-row:2;margin-top:0;padding:0 40px 0 0;border-top:0}
 .book .ownership-icon{width:36px;height:36px;padding:7px}.book .ownership-icon svg{width:20px;height:20px}
 .book .loan-icon{width:36px;height:36px;padding:5px}.book .loan-icon svg{width:24px;height:24px}
 .book .mobile-book-actions{grid-column:2;grid-row:2;margin-top:0;align-self:center}
 .mobile-book-actions>summary{width:36px;height:36px}
 .cover-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.tile-number{font-size:10px;padding:0 6px;left:4px;bottom:4px}.cover-tile .tile-title,.tile-title{font-size:11px;padding:5px}
 /* Filters panel stacks; adding a book is one compact row. */
 .filters-panel{grid-template-columns:1fr}
 .toolbar .search-label{font-size:10px}
 .arrange-row label{font-size:10px}
 .acquire-form{padding:10px;margin-bottom:14px}
 .acquire-form>label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
 .acquire-row{margin-top:0}
 .page-nav{gap:6px;margin-bottom:12px}.page-nav .page-tab,.page-nav a{flex:1;text-align:center;padding:10px 8px;font-size:13px}
 .lead-rows{grid-template-columns:1fr}
}
@media print{.compact-catalog,.mobile-book-actions{display:none}}
/* Set series dialog */
#series-dialog{max-width:440px}
#series-dialog-book{margin:0 0 6px;color:var(--muted);font-size:14px}
.series-picks-label{margin:12px 0 6px;font-size:13px;color:var(--ink)}
#series-picks .filter-chip{margin:0 6px 6px 0}
.series-note{margin:4px 0 0;font-size:12px;color:var(--muted)}
#series-error{color:#9b2c2c;font-size:13px;margin:6px 0 0}
#series-error:empty{display:none}
