.bookshelf-page{max-width:1840px;margin:auto;padding:8px 0 36px}.shelf-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 24px}.shelf-heading h1{font-size:clamp(28px,3vw,40px);margin:4px 0}.shelf-heading p{color:var(--muted);margin:0}.shelf-eyebrow{font-size:13px;color:#d7b979;letter-spacing:.07em}.shelf-heading>.secondary{font-size:15px;flex-shrink:0}
.shelf-resume{display:flex;align-items:center;gap:24px;padding:18px 22px;background:linear-gradient(110deg,var(--paper),var(--bg));border:1px solid var(--line);border-radius:16px;margin-bottom:24px}.shelf-resume-cover{width:100px;flex-shrink:0}.bookshelf-page .shelf-resume-cover .cover{width:100%;height:110px;border-radius:9px;background-size:cover;background-position:center 25%}.shelf-resume-copy{flex:1;min-width:0}.shelf-resume h2{font-size:22px;margin:8px 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shelf-gold-label,.shelf-book-badge{background:linear-gradient(110deg,#fff0b8,#e7bc65);color:#3d2d0b;border-radius:8px;padding:4px 10px;font-size:13px;font-weight:700}.shelf-progress-line{display:flex;align-items:center;gap:16px;font-size:14px}.shelf-progress-line>span{white-space:nowrap}.shelf-progress-line progress{max-width:600px;flex:1}.shelf-resume>.shelf-read{min-width:160px}
.shelf-tools{margin-bottom:16px}.shelf-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.shelf-tabs button{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:12px 18px;display:flex;align-items:center;gap:10px;font-size:16px}.shelf-tabs button span{border-radius:8px;padding:1px 7px;background:#ffffff0c}.shelf-tabs button[aria-pressed=true],.shelf-view button[aria-pressed=true]{background:#7b36f5;color:white;border-color:#9c65fa;box-shadow:0 4px 18px #7b36f51c}.shelf-filter-row{display:grid;grid-template-columns:minmax(200px,1fr) 170px 160px 175px auto;gap:12px;align-items:center}.shelf-filter-row label{margin:0;min-width:0}.shelf-filter-row select,.shelf-search{height:46px;background:var(--paper);border:1px solid var(--line);border-radius:12px;font-size:15px;color:var(--ink)}.shelf-search{display:flex;align-items:center;gap:10px;padding:0 14px}.shelf-search:focus-within{outline:2px solid var(--purple);outline-offset:2px}.shelf-search .icon{color:var(--muted)}.shelf-search input{border:0!important;background:transparent!important;outline:none!important;box-shadow:none!important;padding:0!important;font-size:15px;min-width:0}.shelf-view{display:flex;gap:6px}.shelf-view button{height:46px;width:44px;padding:10px;border-radius:11px}.shelf-results-head{display:flex;justify-content:space-between;align-items:center;min-height:32px;margin-bottom:10px;font-size:14px;color:var(--muted)}.shelf-results-head p{margin:0}.shelf-results-head button{font-size:14px;border:0;background:none;color:var(--purple)}
.shelf-collection{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px}.shelf-book{border:1px solid var(--line);border-radius:14px;background:var(--paper);padding:7px;min-width:0;transition:transform .18s,border-color .18s}.shelf-book:hover{transform:translateY(-3px);border-color:#a584c56e}.shelf-book-art{position:relative}.bookshelf-page .shelf-book-art .cover{aspect-ratio:3/4;width:100%;height:auto;border-radius:9px;background-size:cover;background-position:center;overflow:hidden}.shelf-book-badge{position:absolute;top:8px;left:8px;max-width:calc(100% - 52px)}.shelf-remove{position:absolute;right:8px;top:8px;width:32px;height:34px;padding:6px;display:grid;place-items:center;border-radius:9px;background:#281a43e8;color:#e2c2ff;border:1px solid #a67ce7}.shelf-remove:hover{transform:translateY(-2px);background:#4b267d}.shelf-remove .icon{width:18px;height:18px}.shelf-book-copy{padding:12px 6px 5px}.shelf-book-title h2{font-size:17px;line-height:1.5;min-height:45px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:0 0 4px}.shelf-book-author{font-size:13px;color:var(--muted);display:block;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.shelf-book-counts{display:flex;justify-content:space-between;gap:8px;font-size:13px;margin:12px 0;color:var(--ink)}.shelf-book-counts span{display:flex;align-items:center;gap:5px}.shelf-book-counts .icon{width:14px;height:14px}.bookshelf-page progress{display:block;appearance:none;height:6px;width:100%;border:0;border-radius:8px;background:var(--line);overflow:hidden}.bookshelf-page progress::-webkit-progress-bar{background:var(--line);border-radius:8px}.bookshelf-page progress::-webkit-progress-value{background:linear-gradient(90deg,#c49b4b,#f5d994);border-radius:8px}.bookshelf-page progress::-moz-progress-bar{background:#e5c577}.shelf-progress-caption{display:flex;justify-content:space-between;gap:4px;font-size:12px;color:var(--muted);margin:8px 0 12px}.shelf-book-actions{display:flex;gap:8px;align-items:center}.shelf-read{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;font-size:14px!important;padding:10px 8px!important;border-radius:10px!important;min-width:0;white-space:nowrap}.shelf-read .icon{width:15px;height:15px}.shelf-listen{padding:10px!important;width:40px;height:40px;border-radius:10px!important;display:grid;place-items:center;flex-shrink:0}.shelf-listen .icon{width:17px;height:17px}.shelf-no-chapters{font-size:14px;color:var(--muted);padding:10px}.shelf-footnote{font-size:13px;color:var(--muted);margin:24px 0 0}.shelf-empty{grid-column:1/-1;text-align:center;padding:60px 20px;background:var(--paper);border:1px solid var(--line);border-radius:16px}.shelf-empty>.icon{width:42px;height:42px;color:var(--purple);margin-bottom:18px}.shelf-empty h2{font-size:22px}.shelf-empty p{color:var(--muted)}
.shelf-view-list{grid-template-columns:repeat(2,minmax(0,1fr))}.shelf-view-list .shelf-book{display:flex;gap:16px;padding:12px}.shelf-view-list .shelf-book-art{width:140px;flex-shrink:0}.shelf-view-list .shelf-book-copy{flex:1;min-width:0;align-self:center}.shelf-view-list .shelf-book-title h2{min-height:0}.shelf-view-list .shelf-book-counts{justify-content:flex-start;gap:24px}
@media(max-width:1350px){.shelf-collection{grid-template-columns:repeat(4,minmax(0,1fr))}.shelf-view-list{grid-template-columns:repeat(2,minmax(0,1fr))}.shelf-filter-row{grid-template-columns:minmax(160px,1fr) 140px 140px 150px auto}}
@media(max-width:1000px){.shelf-filter-row{grid-template-columns:repeat(3,minmax(0,1fr))}.shelf-search{grid-column:1/-1}.shelf-view{grid-column:3;justify-content:flex-end}.shelf-view-list{grid-template-columns:1fr}.shelf-collection:not(.shelf-view-list){grid-template-columns:repeat(3,minmax(0,1fr))}.shelf-progress-line{flex-wrap:wrap}.shelf-progress-line progress{min-width:60px}.shelf-resume{gap:16px}.shelf-resume>.shelf-read{min-width:110px}}
@media(max-width:600px){.shelf-heading{align-items:flex-start;gap:8px}.shelf-heading p{font-size:14px}.shelf-heading>.secondary{font-size:13px;padding:8px;max-width:110px}.shelf-resume{padding:12px;flex-wrap:wrap;gap:12px}.shelf-resume-cover{width:62px}.bookshelf-page .shelf-resume-cover .cover{height:82px}.shelf-resume h2{font-size:18px}.shelf-resume>.shelf-read{flex-basis:100%;min-width:0}.shelf-progress-line{font-size:12px;gap:6px}.shelf-progress-line>span{flex-basis:100%}.shelf-tabs{flex-wrap:nowrap;overflow:auto;padding-bottom:5px}.shelf-tabs button{flex-shrink:0;padding:10px 12px;font-size:14px}.shelf-filter-row{gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.shelf-view{grid-column:auto}.shelf-filter-row select{font-size:14px;padding:8px}.shelf-collection:not(.shelf-view-list){grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.shelf-book-copy{padding:9px 2px 3px}.shelf-book-title h2{font-size:15px;min-height:39px}.shelf-book-counts{font-size:12px;gap:4px}.shelf-book-badge{font-size:11px;padding:3px 5px;left:5px;top:5px}.shelf-remove{right:5px;top:5px;width:28px;height:30px}.shelf-read{font-size:13px!important;padding:9px 4px!important}.shelf-read .icon{display:none}.shelf-listen{width:32px;height:36px;padding:7px!important}.shelf-progress-caption{font-size:11px}.shelf-view-list .shelf-book-art{width:88px}.shelf-view-list .shelf-book{gap:10px}.shelf-view-list .shelf-book-counts{gap:12px}.shelf-empty{padding:35px 15px}}
.bookshelf-page{max-width:1640px}.shelf-resume>.shelf-read{flex:0 0 180px}.shelf-tabs{scrollbar-width:none}.shelf-tabs::-webkit-scrollbar{display:none}
@media(max-width:1000px){.shelf-resume>.shelf-read{flex-basis:120px}}
@media(max-width:600px){.shelf-resume>.shelf-read{flex:1 0 100%}}
@media(prefers-reduced-motion:reduce){.shelf-book{transition:none}.shelf-book:hover,.shelf-remove:hover{transform:none}}
