:root{--font: "Inter", system-ui, sans-serif;--bg: #0f1117;--bg-surface: #1a1d27;--bg-surface-2: #22263a;--bg-hover: #2a2f45;--border: #2e3350;--text: #e8eaf2;--text-muted: #8891b0;--text-dim: #5a6082;--accent: #6c8ef7;--accent-hover: #8aa5ff;--danger: #e05c5c;--danger-hover: #f07070;--success: #4caf82;--status-in-progress: #6c8ef7;--status-completed: #4caf82;--status-paused: #e0a050;--status-waiting: #e0a050;--status-want-to-read: #a06cf7;--status-dnf: #e05c5c;--rec-in-progress: var(--status-in-progress);--rec-quickest: #5ba050;--rec-priority: #c95050;--rec-standalone: #8068b8;--rec-queued: #3d8fa8;--rec-high-interest: #c07830;--rec-random: #b8940a;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 40px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--shadow-card: 0 4px 20px rgba(0, 0, 0, .4);--shadow-modal: 0 8px 40px rgba(0, 0, 0, .7)}@media(prefers-color-scheme:light){:root:not([data-theme=dark]){--bg: #f0f2f8;--bg-surface: #ffffff;--bg-surface-2: #e4e8f2;--bg-hover: #d8ddf0;--border: #c4c9df;--text: #1a1d27;--text-muted: #4a5070;--text-dim: #5e647e;--accent: #2a4ab5;--accent-hover: #213d9c;--danger: #a82828;--danger-hover: #bc3030;--success: #226040;--warning: #7a5500;--status-in-progress: #2a4ab5;--status-completed: #226040;--status-want-to-read: #5e3aaa;--status-dnf: #a82828;--status-paused: #7a5500;--status-waiting: #7a5500;--rec-in-progress: var(--status-in-progress);--rec-quickest: #2e5e25;--rec-priority: #aa2020;--rec-standalone: #6050a0;--rec-queued: #1a5570;--rec-high-interest: #7a4810;--rec-random: #6e5500;--shadow-card: 0 2px 12px rgba(0, 0, 0, .1);--shadow-modal: 0 8px 40px rgba(0, 0, 0, .2)}}[data-theme=light]{--bg: #f0f2f8;--bg-surface: #ffffff;--bg-surface-2: #e4e8f2;--bg-hover: #d8ddf0;--border: #c4c9df;--text: #1a1d27;--text-muted: #4a5070;--text-dim: #5e647e;--accent: #2a4ab5;--accent-hover: #213d9c;--danger: #a82828;--danger-hover: #bc3030;--success: #226040;--warning: #7a5500;--status-in-progress: #2a4ab5;--status-completed: #226040;--status-want-to-read: #5e3aaa;--status-dnf: #a82828;--status-paused: #7a5500;--status-waiting: #7a5500;--rec-in-progress: var(--status-in-progress);--rec-quickest: #2e5e25;--rec-priority: #aa2020;--rec-standalone: #6050a0;--rec-queued: #1a5570;--rec-high-interest: #7a4810;--rec-random: #6e5500;--shadow-card: 0 2px 12px rgba(0, 0, 0, .1);--shadow-modal: 0 8px 40px rgba(0, 0, 0, .2)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scrollbar-gutter:stable}body{font-family:var(--font);background:var(--bg);color:var(--text);min-height:100vh;line-height:1.5}body:has(dialog[open]){overflow:hidden}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}img{display:block;max-width:100%}input,select,textarea,button{font-family:inherit;font-size:.875rem}button{cursor:pointer;border:none;background:none}ul{list-style:none}.skip-link{position:absolute;top:-100%;left:var(--space-sm);z-index:10000;padding:8px 16px;background:var(--accent);color:#fff;font-weight:600;border-radius:var(--radius-sm);text-decoration:none;transition:top .1s}.skip-link:focus{top:var(--space-sm)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn{display:inline-flex;align-items:center;gap:var(--space-xs);padding:8px 16px;border-radius:var(--radius-sm);font-weight:500;font-size:.875rem;transition:background .15s,color .15s,opacity .15s;white-space:nowrap}.btn[hidden]{display:none}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hover)}.btn-secondary{background:var(--bg-surface-2);color:var(--text);border:1px solid var(--border)}.btn-secondary:hover{background:var(--bg-hover)}.btn-ghost{background:transparent;color:var(--text-muted);border:1px solid var(--border)}.btn-ghost:hover{color:var(--text);background:var(--bg-surface-2)}.btn-link{background:none;color:var(--accent);padding:0;font-size:.875rem}.btn-link:hover{color:var(--accent-hover)}.btn-icon{padding:8px 10px;background:transparent;color:var(--text-muted);border:1px solid var(--border);line-height:1}.btn-icon:hover{color:var(--text);background:var(--bg-surface-2)}.btn-sm{padding:5px 10px;font-size:.8125rem}.duplicate-warning{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:6px;background:color-mix(in srgb,#c95050 12%,var(--bg-surface));border:1px solid color-mix(in srgb,#c95050 35%,transparent);margin-bottom:var(--space-sm);font-size:.85rem}.duplicate-warning[hidden]{display:none}.duplicate-warning-icon{font-weight:700;color:#c95050;font-size:1rem;flex-shrink:0;width:18px;text-align:center}.duplicate-warning-text{flex:1;color:var(--text)}.duplicate-warning-ignore{color:var(--text-muted)}.btn-danger{background:color-mix(in srgb,var(--danger) 12%,transparent);color:var(--danger);border:1px solid color-mix(in srgb,var(--danger) 35%,transparent)}.btn-danger:hover{background:color-mix(in srgb,var(--danger) 22%,transparent);border-color:var(--danger);color:var(--danger-hover)}#app-header{display:flex;align-items:stretch;padding:0 var(--space-xl);padding-top:env(safe-area-inset-top);background:var(--bg-surface);border-bottom:1px solid var(--border);gap:var(--space-md);min-height:56px}.header-left{display:flex;flex-direction:column;justify-content:center;flex-shrink:0;padding:var(--space-sm) 0}.header-left h1{font-size:1.375rem;font-weight:700;letter-spacing:-.02em}.agg-stats{font-size:.8125rem;color:var(--text-muted);margin-top:2px}.header-right{display:flex;align-items:center;gap:var(--space-sm);margin-left:auto;flex-shrink:0}.sync-indicator{width:8px;height:8px;border-radius:50%;background:var(--accent);flex-shrink:0;transition:opacity .3s,transform .15s;cursor:default}.sync-indicator[data-status=syncing]{animation:sync-pulse 1.2s ease-in-out infinite}.sync-indicator[data-status=error]{background:var(--danger);cursor:pointer;animation:sync-pulse 2.5s ease-in-out infinite}.sync-indicator[data-status=error]:hover{transform:scale(1.4)}.sync-indicator[data-status=conflict]{background:var(--warning, #c98b20);cursor:pointer;animation:sync-pulse 2.5s ease-in-out infinite}.sync-indicator[data-status=conflict]:hover{transform:scale(1.4)}@keyframes sync-pulse{0%,to{opacity:1}50%{opacity:.3}}.sync-warning-pill{font-size:.72rem;font-weight:600;padding:3px 8px;border-radius:10px;border:1px solid color-mix(in srgb,var(--status-warning, #b8940a) 60%,transparent);background:color-mix(in srgb,var(--status-warning, #b8940a) 15%,transparent);color:var(--status-warning, #b8940a);cursor:pointer;white-space:nowrap;transition:background .15s}.sync-warning-pill:hover{background:color-mix(in srgb,var(--status-warning, #b8940a) 25%,transparent)}.sync-warning-pill[hidden]{display:none}.storage-full-pill{font-size:.72rem;font-weight:600;padding:3px 8px;border-radius:10px;border:1px solid color-mix(in srgb,var(--danger) 60%,transparent);background:color-mix(in srgb,var(--danger) 15%,transparent);color:var(--danger);cursor:pointer;white-space:nowrap;transition:background .15s;animation:sync-pulse 2.5s ease-in-out infinite}.storage-full-pill:hover{background:color-mix(in srgb,var(--danger) 25%,transparent)}.storage-full-pill[hidden]{display:none}.stale-data-pill{display:flex;align-items:center;gap:6px;background:color-mix(in srgb,var(--warning) 18%,var(--bg-surface));border:1px solid color-mix(in srgb,var(--warning) 45%,transparent);border-radius:var(--radius-sm);padding:3px 8px 3px 10px;font-size:.72rem;font-weight:500;color:var(--text);flex-shrink:0}.stale-data-pill[hidden]{display:none}.stale-data-pill-msg{white-space:nowrap}.stale-reload-btn{font-size:.68rem;font-weight:700;padding:2px 7px;border-radius:3px;border:none;background:var(--warning);color:#fff;cursor:pointer;white-space:nowrap;transition:opacity .1s}.stale-reload-btn:hover{opacity:.85}.stale-dismiss-btn{background:transparent;border:none;color:var(--text-muted);cursor:pointer;font-size:.75rem;line-height:1;padding:1px 2px;flex-shrink:0;transition:color .1s}.stale-dismiss-btn:hover{color:var(--text)}.storage-bar-track{height:6px;border-radius:3px;background:var(--bg-surface-2);margin-top:6px;overflow:hidden}.storage-bar-fill{height:100%;border-radius:3px;background:var(--accent);transition:width .3s ease}.storage-bar-fill[data-level=warn]{background:var(--status-warning, #b8940a)}.storage-bar-fill[data-level=danger]{background:var(--danger)}.storage-bar-label-text{margin-top:4px;display:block}.settings-row--storage{flex-direction:column;align-items:flex-start}.settings-toggle-row{display:flex;align-items:center;gap:var(--space-sm);font-size:.875rem;cursor:pointer;margin-bottom:var(--space-sm)}[data-netlify-identity-button]{display:none!important}.tooltip-wrap{position:relative;display:inline-flex}.tooltip-wrap:after{content:attr(data-tooltip);position:absolute;top:calc(100% + 8px);right:0;width:min(220px,calc(100vw - 32px));padding:8px 10px;border-radius:var(--radius-md);background:var(--bg-surface);border:1px solid var(--border);box-shadow:var(--shadow-modal);color:var(--text-muted);font-size:.75rem;line-height:1.45;white-space:normal;pointer-events:none;opacity:0;transform:translateY(-4px);transition:opacity .15s,transform .15s;z-index:200}.tooltip-wrap:hover:after{opacity:1;transform:translateY(0)}.settings-menu{position:relative}.dropdown{position:absolute;right:0;top:calc(100% + 4px);background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-modal);min-width:200px;z-index:100;overflow:hidden}.dropdown-item{display:block;width:100%;padding:10px var(--space-md);text-align:left;color:var(--text);font-size:.875rem;cursor:pointer;background:none;border:none;font-family:inherit}.dropdown-item:hover{background:var(--bg-hover)}.dropdown-item-danger{color:var(--danger)}.dropdown-item-danger:hover{background:var(--bg-hover);color:var(--danger-hover)}.dropdown-divider{border:none;border-top:1px solid var(--border);margin:4px 0}#view-tabs{display:flex;gap:2px;flex:1 1 0;min-width:0;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;justify-content:center}#view-tabs::-webkit-scrollbar{display:none}.view-tab{padding:0 var(--space-md);font-size:.875rem;font-weight:500;color:var(--text-muted);border-bottom:2px solid transparent;transition:color .15s,border-color .15s;white-space:nowrap;flex-shrink:0;display:inline-flex;align-items:center;align-self:stretch;text-decoration:none;cursor:pointer}.view-tab[hidden]{display:none}.view-tab:hover{color:var(--text)}.view-tab.active{color:var(--accent);border-bottom-color:var(--accent)}#controls[hidden]{display:none}#controls{padding:var(--space-md) var(--space-xl);background:var(--bg-surface);border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:var(--space-md);overflow-x:clip}#controls-series,#controls-reading-list{display:flex;flex-direction:column;gap:var(--space-md);min-width:0}#controls-series[hidden],#controls-reading-list[hidden]{display:none}.controls-row{display:flex;align-items:center;gap:var(--space-sm);flex-wrap:wrap}#sort-select{flex-shrink:0}#search-filter[hidden]{display:none}#search-filter{flex:1;min-width:200px;padding:8px 12px;background:var(--bg-surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);outline:none}#search-filter::placeholder{color:var(--text-dim)}#search-filter:focus{border-color:var(--accent)}.custom-select{position:relative;display:inline-block}.custom-select[hidden]{display:none}.custom-select-btn{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:4px 8px;background:var(--bg-surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font:inherit;font-size:.875rem;cursor:pointer;white-space:nowrap;transition:border-color .15s}.custom-select-btn:hover,.custom-select.open .custom-select-btn{border-color:var(--accent);outline:none}.controls-row .custom-select-btn{padding:8px 12px}.custom-select-label{flex:1;text-align:left}.custom-select-arrow{opacity:.55;font-size:.7em;flex-shrink:0;transition:transform .15s}.custom-select.open .custom-select-arrow{transform:rotate(180deg)}.custom-select-menu{z-index:500;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-sm);list-style:none;margin:0;padding:4px 0;box-shadow:0 8px 28px #00000073;overflow-y:auto;overflow-x:hidden;max-height:min(320px,70vh);min-width:max-content}.custom-select-menu[hidden]{display:none}.custom-select-opt{padding:8px 14px;cursor:pointer;font-size:.875rem;color:var(--text-muted);white-space:nowrap}.custom-select-opt:hover,.custom-select-opt:focus{background:var(--bg-hover);color:var(--text);outline:none}.custom-select-opt:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.custom-select-opt.is-selected{color:var(--accent);font-weight:500}.form-grid label .custom-select,.form-grid .form-label-row .custom-select{display:block}.form-grid label .custom-select .custom-select-btn,.form-grid .form-label-row .custom-select .custom-select-btn{width:100%;padding:7px 10px;font-size:.9375rem}.book-format-select.custom-select .custom-select-btn,.detail-book-library.custom-select .custom-select-btn{padding:2px 6px;font-size:.6875rem;min-width:52px}.book-detail-sections .book-format-select.custom-select .custom-select-btn,.book-detail-sections .detail-book-library.custom-select .custom-select-btn{padding:4px 8px;font-size:.875rem;min-width:unset}#status-tabs{min-width:0}#status-tabs[hidden]{display:none}.status-tab{padding:6px 12px;border-radius:calc(var(--radius-sm) - 2px);font-size:.8125rem;color:var(--text-muted);transition:background .15s,color .15s,box-shadow .15s;white-space:nowrap;flex-shrink:0;min-height:32px}.status-tab:hover{background:var(--bg-hover);color:var(--text)}.status-tab.active{background:color-mix(in srgb,var(--accent) 12%,var(--bg-surface));color:var(--accent);font-weight:600;box-shadow:inset 0 -2px 0 var(--accent)}.owned-only-label{display:flex;align-items:center;gap:var(--space-xs);font-size:.8125rem;color:var(--text-muted);cursor:pointer}.owned-only-label input{cursor:pointer}.sort-hint{margin:0;font-size:.75rem;color:var(--text-dim);line-height:1.4}.rl-tag-filters{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding-top:var(--space-md);border-top:1px solid var(--border)}.rl-tag-filters-label{font-size:.75rem;color:var(--text-dim)}.rl-tag-filter-chip{font-size:.75rem;padding:2px 8px;border-radius:999px;border:1px solid var(--border);background:var(--bg-surface-2);color:var(--text-muted);cursor:pointer;transition:background .15s,color .15s,border-color .15s}.rl-tag-filter-chip:hover{border-color:var(--accent);color:var(--text)}.rl-tag-filter-chip.active{background:var(--accent);border-color:var(--accent);color:#fff}#modal-pick{max-width:440px}#pick-modal-body{padding:var(--space-md) var(--space-lg) var(--space-lg)}.pick-slot[hidden]{display:none}.pick-slot{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-lg);background:var(--bg-surface-2);border:1px solid color-mix(in srgb,var(--accent) 40%,var(--border));border-radius:var(--radius-md);margin:var(--space-md) 0;min-height:84px}.pick-slot-cover{width:44px;min-width:44px;height:60px;border-radius:3px;overflow:hidden;background:var(--bg-surface);position:relative;flex-shrink:0}.pick-slot-cover:before{content:attr(data-initial);position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:1.125rem;font-weight:700;color:var(--text-dim)}.pick-slot-cover img{width:100%;height:100%;object-fit:cover;position:relative;z-index:1}.pick-slot-cover.cover-missing img{display:none}.pick-slot-name{font-size:1.0625rem;font-weight:600;color:var(--text);flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@keyframes slot-tick{0%{opacity:.25;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.pick-slot-name.slot-tick,.pick-slot-cover.slot-tick{animation:slot-tick .08s ease-out forwards}.pick-results{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.pick-result-row{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-sm) var(--space-md);background:var(--bg-surface-2);border-radius:var(--radius-sm)}.pick-result-cover{width:36px;min-width:36px;height:48px;border-radius:3px;overflow:hidden;background:var(--bg-surface);position:relative;flex-shrink:0}.pick-result-cover:before{content:attr(data-initial);position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;color:var(--text-dim)}.pick-result-cover img{width:100%;height:100%;object-fit:cover;position:relative;z-index:1}.pick-result-cover.cover-missing img{display:none}.pending-cover-wrapper{width:36px;min-width:36px;height:32px;border-radius:3px;overflow:hidden;background:var(--bg-surface);position:relative;flex-shrink:0;pointer-events:none}.pending-cover-wrapper:before{content:attr(data-initial);position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;color:var(--text-dim)}.pending-cover-wrapper img{width:100%;height:100%;object-fit:cover;position:relative;z-index:1}.pending-cover-wrapper.cover-missing img{display:none}.pending-cover-wrapper .cover-edit-btn{width:22px;height:22px;bottom:2px;right:2px;pointer-events:auto}.pending-cover-wrapper .cover-edit-btn svg{width:10px;height:10px}.pending-book-row:hover .pending-cover-wrapper .cover-edit-btn,.pending-cover-wrapper .cover-edit-btn:focus-visible{opacity:1}.pick-result-text{flex:1;min-width:0}.pick-result-title{font-size:.9375rem;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pick-result-series{font-size:.75rem;color:var(--text-dim);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pick-modal-footer{display:flex;gap:var(--space-sm);justify-content:flex-end;margin-top:var(--space-md)}main{padding:var(--space-lg) var(--space-xl)}#card-grid[hidden]{display:none}#card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-lg)}#empty-state[hidden]{display:none}.grid-author-group{grid-column:1 / -1}.grid-author-header{font-size:.8rem;font-weight:700;color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;padding:var(--space-xs) 0;border-bottom:1px solid var(--border);margin-bottom:var(--space-md);margin-top:var(--space-lg)}.grid-author-group:first-child .grid-author-header{margin-top:0}.grid-author-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-lg)}.grid-author-group-header{list-style:none;padding:var(--space-xs) 0;font-size:.75rem;font-weight:700;color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;border-bottom:1px solid var(--border);margin-top:var(--space-sm);margin-bottom:2px}.grid-author-group-header:first-child{margin-top:0}.series-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;display:flex;flex-direction:column;cursor:pointer;transition:transform .2s,box-shadow .2s,border-color .2s;box-shadow:var(--shadow-card)}.series-card:hover{transform:translateY(-4px);box-shadow:0 8px 32px #00000080;border-color:var(--accent)}.series-card.highlighted{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent),var(--shadow-card);animation:pulse-highlight 1s ease-out}@keyframes pulse-highlight{0%{box-shadow:0 0 0 6px color-mix(in srgb,var(--accent) 40%,transparent),var(--shadow-card)}to{box-shadow:0 0 0 2px var(--accent),var(--shadow-card)}}.cover-wrapper{position:relative;width:100%;aspect-ratio:2 / 3;background:var(--bg-surface-2);overflow:hidden;flex-shrink:0}.series-card .cover-wrapper{width:100%;height:180px;flex-shrink:0}.series-card .cover-wrapper.collage-3{grid-template-columns:2fr 1fr 1fr;grid-template-rows:1fr}.series-card .cover-wrapper.collage-3 .collage-img:first-child{grid-row:auto}.series-card .cover-wrapper.collage-4{grid-template-columns:2fr 1fr 1fr 1fr;grid-template-rows:1fr}.cover-wrapper.collage-2,.cover-wrapper.collage-3,.cover-wrapper.collage-4,.detail-cover-wrapper.collage-2,.detail-cover-wrapper.collage-3,.detail-cover-wrapper.collage-4{display:grid;gap:2px;background:var(--bg-surface-2)}.cover-wrapper.collage-2,.detail-cover-wrapper.collage-2{grid-template-columns:1fr 1fr}.cover-wrapper.collage-4,.detail-cover-wrapper.collage-4,.cover-wrapper.collage-3,.detail-cover-wrapper.collage-3{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}.cover-wrapper.collage-3 .collage-img:first-child,.detail-cover-wrapper.collage-3 .collage-img:first-child{grid-row:1 / 3}.collage-img{width:100%;height:100%;object-fit:cover;display:block;position:relative;z-index:1}.cover-wrapper img{width:100%;height:100%;object-fit:cover;transition:opacity .15s}.cover-loading img{opacity:0}.cover-wrapper:before{content:attr(data-initial);position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:3rem;font-weight:700;color:var(--text-dim);background:var(--bg-surface-2);text-transform:uppercase}.cover-wrapper img:not([src=""]):not(.errored){position:relative;z-index:1}.cover-wrapper.cover-missing img{display:none}@keyframes cover-shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.cover-loading:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent 0%,color-mix(in srgb,var(--text) 6%,transparent) 50%,transparent 100%);animation:cover-shimmer 1.4s ease-in-out infinite;z-index:2;pointer-events:none}.card-body{padding:var(--space-md);display:flex;flex-direction:column;gap:6px;flex:1;min-width:0}.card-meta-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm)}.interest-stars{display:flex;gap:2px;font-size:.875rem}.interest-stars .star{color:var(--text-dim)}.interest-stars[data-interest="1"] .star:nth-child(-n+1),.interest-stars[data-interest="2"] .star:nth-child(-n+2),.interest-stars[data-interest="3"] .star:nth-child(-n+3),.interest-stars[data-interest="4"] .star:nth-child(-n+4),.interest-stars[data-interest="5"] .star:nth-child(-n+5){color:#f5c842}.status-badge{font-size:.6875rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;padding:2px 8px;border-radius:999px;white-space:nowrap}.status-badge[data-status=in-progress],.status-badge[data-status=reading]{background:color-mix(in srgb,var(--status-in-progress) 20%,transparent);color:var(--status-in-progress)}.status-badge[data-status=completed]{background:color-mix(in srgb,var(--status-completed) 20%,transparent);color:var(--status-completed)}.status-badge[data-status=dnf]{background:color-mix(in srgb,var(--status-dnf) 20%,transparent);color:var(--status-dnf)}.status-badge[data-status=want-to-read]{background:color-mix(in srgb,var(--status-want-to-read) 20%,transparent);color:var(--status-want-to-read)}.status-badge[data-status=paused]{background:color-mix(in srgb,var(--status-paused) 20%,transparent);color:var(--status-paused)}.status-badge[data-status=waiting]{background:color-mix(in srgb,var(--status-waiting) 20%,transparent);color:var(--status-waiting)}.reread-badge{font-size:.6875rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;padding:2px 8px;border-radius:999px;white-space:nowrap;background:color-mix(in srgb,var(--accent) 15%,transparent);color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 30%,transparent)}.card-universe-badge{font-size:.6rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;padding:2px 6px;border-radius:999px;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis;background:color-mix(in srgb,var(--text-dim) 15%,transparent);color:var(--text-dim);border:1px solid color-mix(in srgb,var(--text-dim) 25%,transparent)}.card-title{font-size:1rem;font-weight:600;line-height:1.3;color:var(--text)}.card-author{font-size:.8125rem;color:var(--text-muted)}.card-author[data-author]{cursor:pointer}.card-author[data-author]:hover{color:var(--accent);text-decoration:underline}.progress-track{height:6px;background:var(--bg-surface-2);border-radius:999px;overflow:hidden;margin-top:2px}.progress-fill{height:100%;background:var(--accent);border-radius:999px;transition:width .3s ease;width:0%}.card-progress-label,.card-pages-left{font-size:.8125rem;color:var(--text-muted)}.card-length-warn,.book-length-warn{font-size:.75rem;color:var(--status-paused);cursor:help;flex-shrink:0;display:inline-block}.card-length-warn[hidden],.book-length-warn[hidden]{display:none}#app-tooltip{position:fixed;z-index:9999;padding:7px 10px;border-radius:var(--radius-md);background:var(--bg-surface);border:1px solid var(--border);box-shadow:var(--shadow-modal);color:var(--text-muted);font-size:.75rem;line-height:1.45;white-space:normal;pointer-events:none}#app-tooltip[hidden]{display:none}.card-next-book{font-size:.75rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-left:10px;position:relative}.card-next-book[hidden]{display:none}.card-next-book:before{content:"▸";position:absolute;left:0;color:var(--accent);font-size:.625rem;top:50%;transform:translateY(-50%)}.card-deadline{font-size:.75rem;color:var(--accent);font-weight:500;margin:2px 0 0}.card-deadline[hidden]{display:none}.card-deadline.overdue{color:var(--danger);background:color-mix(in srgb,var(--danger) 15%,transparent);padding:2px 6px;border-radius:99px}.card-owned-ready{font-size:.8125rem;font-weight:500;color:var(--success)}.card-owned-ready[data-owned-left="0"]{color:var(--text-dim)}.card-actions{display:flex;align-items:center;gap:var(--space-xs);margin-top:auto;padding-top:var(--space-sm)}.card-actions .btn-mark-next{flex:1;justify-content:center}.card-actions .btn-delete:hover{color:var(--danger)}.card-actions .btn-edit:hover{color:var(--accent)}.series-card[data-type=book] .progress-track,.series-card[data-type=book] .card-progress-label,#view-shelf[hidden],#view-find[hidden]{display:none}.compact-view-header{padding:var(--space-md) 0 var(--space-sm)}.compact-view-desc{font-size:.875rem;color:var(--text-muted)}.compact-series-list[hidden]{display:none}.compact-series-list{display:flex;flex-direction:column}.compact-empty{text-align:center;padding:var(--space-xl) 0;color:var(--text-muted);font-size:.875rem}.compact-empty[hidden]{display:none}.empty-state-block{display:flex;flex-direction:column;align-items:center;gap:6px;padding:var(--space-xl) var(--space-md);text-align:center}.empty-state-block[hidden]{display:none}.empty-state-msg{font-size:1rem;font-weight:600;color:var(--text);margin:0}.empty-state-hint{font-size:.82rem;color:var(--text-dim);margin:0 0 6px;max-width:36ch;line-height:1.4}.empty-state-btn{margin-top:2px}.load-more-bar{display:flex;justify-content:center;padding:var(--space-md) 0 var(--space-sm)}.load-more-bar[hidden]{display:none}.view-mode-toggle{display:flex;gap:2px;background:var(--bg-surface-2);border-radius:var(--radius-sm);padding:2px}.view-mode-btn{padding:4px 8px;border:none;background:none;border-radius:calc(var(--radius-sm) - 2px);color:var(--text-dim);cursor:pointer;font-size:1rem;line-height:1;transition:background .15s,color .15s}.view-mode-btn.active{background:var(--bg-surface);color:var(--text);box-shadow:0 1px 2px #00000026}.view-mode-btn:hover:not(.active){color:var(--text)}.tile-mode{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:var(--space-md);padding:var(--space-md) 0;list-style:none}.compact-tile{display:flex;flex-direction:column;gap:var(--space-xs);cursor:pointer;border-radius:var(--radius-sm);transition:transform .15s}.compact-tile:hover{transform:translateY(-2px)}.tile-cover-wrapper{width:100%;aspect-ratio:2 / 3;border-radius:4px;overflow:hidden;background:var(--bg-surface-2);position:relative;box-shadow:0 2px 6px #0003}.tile-cover-wrapper:before{content:attr(data-initial);position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:700;color:var(--text-dim)}.tile-cover-wrapper.cover-missing .tile-cover{display:none}.tile-cover{width:100%;height:100%;object-fit:cover;position:relative;z-index:1}.tile-info{display:flex;flex-direction:column;gap:2px}.tile-title{font-size:.75rem;font-weight:600;color:var(--text);line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.tile-subtitle{font-size:.625rem;color:var(--text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.compact-row{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-sm) 0;border-bottom:1px solid var(--border);cursor:pointer;transition:background .15s;border-radius:var(--radius-sm)}.compact-row:hover{background:var(--bg-hover);padding-left:var(--space-sm);padding-right:var(--space-sm);margin:0 calc(-1 * var(--space-sm))}.compact-cover-wrapper{width:44px;height:60px;flex-shrink:0;border-radius:4px;background:var(--bg-surface-2);overflow:hidden;position:relative}.compact-cover-wrapper:before{content:attr(data-initial);position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:1.125rem;font-weight:700;color:var(--text-dim);text-transform:uppercase}.compact-cover-wrapper img{width:100%;height:100%;object-fit:cover;position:relative;z-index:1;transition:opacity .15s}.compact-cover-wrapper.cover-missing img{display:none}.compact-cover-wrapper.collage-2,.compact-cover-wrapper.collage-3,.compact-cover-wrapper.collage-4{display:grid;gap:1px;background:var(--bg-surface-2)}.compact-cover-wrapper.collage-2{grid-template-columns:1fr 1fr}.compact-cover-wrapper.collage-3,.compact-cover-wrapper.collage-4{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}.compact-cover-wrapper.collage-3 .collage-img:first-child{grid-row:1 / 3}.compact-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.compact-title-row{display:flex;align-items:center;gap:var(--space-sm)}.compact-series-name{font-weight:600;font-size:.9375rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.compact-author{font-size:.8125rem;color:var(--text-muted)}.compact-author[data-author]{cursor:pointer}.compact-author[data-author]:hover{color:var(--accent);text-decoration:underline}.compact-next-up{font-size:.8125rem;color:var(--text);display:flex;align-items:center;gap:6px;white-space:nowrap;overflow:hidden}.compact-next-up-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.compact-count{font-size:.8125rem;color:var(--text-muted)}.compact-tag-pill{display:inline-flex;align-items:center;padding:1px 7px;border-radius:999px;font-size:.6875rem;font-weight:500;background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 25%,transparent);white-space:nowrap;flex-shrink:0}.compact-stars,.compact-actions{flex-shrink:0}.compact-actions .btn{color:var(--text-muted)}.compact-actions .btn:hover{color:var(--accent)}.library-badge{display:inline-block;font-size:.6875rem;font-weight:600;padding:1px 6px;border-radius:999px;background:color-mix(in srgb,var(--success) 20%,transparent);color:var(--success);white-space:nowrap;flex-shrink:0}.library-badge--available{background:color-mix(in srgb,var(--success) 20%,transparent);color:var(--success)}.library-badge--on-hold{background:color-mix(in srgb,var(--accent) 20%,transparent);color:var(--accent)}.library-badge--checked-out{background:color-mix(in srgb,var(--warning, #f59e0b) 20%,transparent);color:var(--warning, #f59e0b)}dialog{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-modal);color:var(--text);padding:0;max-width:680px;width:92vw;max-height:92vh;overflow:hidden;margin:auto}dialog[open]{display:flex;flex-direction:column}dialog::backdrop{background:#000000b3;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--border);flex-shrink:0}.modal-header h2{font-size:1.125rem;font-weight:600}.modal-header-actions{display:flex;align-items:center;gap:var(--space-sm)}.btn-modal-close{display:inline-flex;align-items:center;justify-content:center;color:var(--text-muted);background:transparent;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:1rem;padding:8px 10px}.btn-modal-close:hover{color:var(--text);background:var(--bg-surface-2)}#form-add-edit{overflow-y:auto;flex:1;display:flex;flex-direction:column}.modal-phase{padding:var(--space-xl) var(--space-lg);display:flex;flex-direction:column;gap:var(--space-md)}.modal-phase[hidden]{display:none}.modal-instruction{font-size:.875rem;color:var(--text-muted)}.search-no-key-notice{font-size:.8125rem;color:var(--text-dim);background:color-mix(in srgb,var(--warning, #f59e0b) 10%,transparent);border:1px solid color-mix(in srgb,var(--warning, #f59e0b) 30%,transparent);border-radius:var(--radius-sm);padding:6px 10px;margin:0}.search-no-key-notice .btn-inline{display:inline;padding:0;background:none;border:none;color:var(--accent);cursor:pointer;font-size:inherit;text-decoration:underline}.muted{color:var(--text-muted)}.type-choice-row{display:flex;gap:var(--space-sm)}.type-btn{flex:1;padding:var(--space-sm) var(--space-md);background:var(--bg-surface-2);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-muted);font-size:.875rem;font-weight:500;cursor:pointer;transition:border-color .15s,color .15s,background .15s}.type-btn:hover{border-color:var(--accent);color:var(--text)}.type-btn.active{background:color-mix(in srgb,var(--accent) 12%,transparent);border-color:var(--accent);color:var(--accent)}.search-mode-toggle{display:flex;gap:4px;margin-bottom:var(--space-xs)}.search-mode-btn{font-size:.75rem;font-weight:600;padding:4px 12px;border-radius:4px;border:1px solid var(--border);background:transparent;color:var(--text-muted);cursor:pointer;transition:background .15s,color .15s,border-color .15s}.search-mode-btn:hover{background:var(--bg-surface-2);color:var(--text)}.search-mode-btn.is-active{background:color-mix(in srgb,var(--accent) 20%,transparent);border-color:var(--accent);color:var(--accent)}.search-row{display:flex;gap:var(--space-sm)}#api-search-input{flex:1;padding:10px 12px;background:var(--bg-surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);outline:none;font-size:1rem}#api-search-input:focus{border-color:var(--accent)}.or-divider{text-align:center;color:var(--text-dim);font-size:.8125rem;margin:var(--space-md) 0;position:relative}.or-divider:before{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:var(--border)}.or-divider span{position:relative;background:var(--bg-surface);padding:0 var(--space-sm)}.results-label{font-size:.8125rem;color:var(--text-muted);margin-bottom:var(--space-sm)}.api-results-list{display:flex;flex-direction:column;gap:4px}.results-dismiss-row{display:flex;justify-content:flex-end;padding:2px var(--space-xs)}.results-dismiss-btn{font-size:.75rem;color:var(--text-dim)}.results-dismiss-btn:hover{color:var(--text-muted)}.api-result-row{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm);border-radius:var(--radius-sm);background:var(--bg-surface-2);border:1px solid transparent;transition:background .15s}.api-result-row:hover{background:var(--bg-hover)}.api-result-row.selected{border-color:var(--accent)}.cover-wrapper.small{width:40px;height:60px;flex-shrink:0;border-radius:4px;aspect-ratio:unset}.cover-wrapper.small:before{font-size:1.25rem}.result-info{flex:1;min-width:0}.result-title{display:flex;align-items:baseline;gap:6px;font-size:.875rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.result-subtitle{display:block;font-size:.75rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}.result-meta{display:block;font-size:.75rem;color:var(--text-muted);margin-top:1px}.result-position-badge{display:inline-block;font-size:.6875rem;font-weight:700;padding:1px 6px;border-radius:999px;background:color-mix(in srgb,var(--accent) 20%,transparent);color:var(--accent);flex-shrink:0;white-space:nowrap}.btn-add-result{flex-shrink:0;background:var(--bg-surface);border:1px solid var(--border);color:var(--text-muted)}.btn-add-result:hover{color:var(--text);background:var(--bg-hover)}.api-result-row.selected .btn-add-result{background:var(--accent);color:#fff;border-color:var(--accent)}.load-more-row{display:flex;justify-content:center;margin-top:var(--space-sm)}.load-more-row[hidden]{display:none}.confirmed-book-banner{display:flex;align-items:center;gap:var(--space-sm);padding:10px var(--space-md);background:color-mix(in srgb,var(--success) 12%,transparent);border:1px solid color-mix(in srgb,var(--success) 35%,transparent);border-radius:var(--radius-sm);margin-bottom:var(--space-md);font-size:.875rem;min-width:0}.confirmed-label{color:var(--success);font-weight:600;flex-shrink:0}.confirmed-title{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.confirmed-author{color:var(--text-muted);flex-shrink:0;font-size:.8125rem}.series-match-banner{padding:var(--space-sm) var(--space-md);background:color-mix(in srgb,var(--accent) 10%,transparent);border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);border-radius:var(--radius-sm);margin-bottom:var(--space-md);display:flex;flex-direction:column;gap:var(--space-sm)}.series-match-banner[hidden]{display:none}.series-match-label{font-size:.8125rem;color:var(--text-muted)}.series-match-options{display:flex;flex-wrap:wrap;gap:var(--space-xs)}.btn-match-series{font-size:.8125rem;padding:4px 10px;background:var(--accent);color:#fff;border-radius:var(--radius-sm);font-weight:500}.btn-match-series:hover{background:var(--accent-hover)}.find-next-section{display:flex;flex-direction:column;gap:var(--space-sm)}#next-book-filter{flex:1;padding:8px 12px;background:var(--bg-surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);outline:none}#next-book-filter:focus{border-color:var(--accent)}.added-books-section{border-top:1px solid var(--border);padding-top:var(--space-md)}.added-books-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-sm)}.added-books-section h3{font-size:.8125rem;font-weight:600;color:var(--text-muted);margin-bottom:0}.added-book-placeholder-tag{display:inline-block;margin-left:6px;font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding:1px 5px;border-radius:3px;background:color-mix(in srgb,var(--text-muted) 15%,transparent);color:var(--text-muted);vertical-align:middle}.added-books-list{display:flex;flex-direction:column;gap:4px}.added-book-row{display:flex;align-items:center;gap:var(--space-sm);padding:5px 8px;background:var(--bg-surface-2);border-radius:var(--radius-sm);font-size:.8125rem}.added-book-pos{color:var(--text-dim);font-size:.75rem;width:1.5em;flex-shrink:0}.added-book-title{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md)}.form-grid label,.form-grid .star-label,.form-grid .form-label-row{display:flex;flex-direction:column;gap:4px;font-size:.8125rem;font-weight:500;color:var(--text-muted)}.form-grid label[hidden],.form-grid .form-label-row[hidden]{display:none}.form-label-row{display:flex;flex-direction:column;gap:4px;font-size:.8125rem;font-weight:500;color:var(--text-muted)}.form-label-row[hidden]{display:none}.form-label-row .custom-select{display:block}.form-label-row .custom-select .custom-select-btn{width:100%;padding:7px 10px;font-size:.9375rem}.form-grid label input,.form-grid label textarea{background:var(--bg-surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);padding:7px 10px;outline:none;font-size:.9375rem}.form-grid label input:focus,.form-grid label textarea:focus{border-color:var(--accent)}.form-grid label textarea{resize:vertical}.form-grid .full-width{grid-column:1 / -1}.star-widget{display:flex;gap:4px;margin-top:2px}.star-widget .star{font-size:1.5rem;color:var(--text-dim);transition:color .1s;line-height:1;padding:2px;border-radius:3px}.star-widget .star.active{color:#f5c842}.star-widget .star:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.star-widget[data-hover="1"] .star:nth-child(-n+1),.star-widget[data-hover="2"] .star:nth-child(-n+2),.star-widget[data-hover="3"] .star:nth-child(-n+3),.star-widget[data-hover="4"] .star:nth-child(-n+4),.star-widget[data-hover="5"] .star:nth-child(-n+5){color:#f5c842}.series-toggle-section{display:flex;flex-direction:column;gap:var(--space-sm);padding-top:var(--space-md);border-top:1px solid var(--border);margin-top:var(--space-md)}.series-toggle-label{display:flex;align-items:center;gap:var(--space-sm);font-weight:500;cursor:pointer}#cb-series-name-section{padding-left:calc(var(--space-sm) + 16px)}#cb-series-name-section label{display:flex;flex-direction:column;gap:4px;font-size:.875rem;color:var(--text-muted)}#cb-series-name-section input{padding:4px 8px;background:var(--bg-surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font:inherit}.pending-books-list{display:flex;flex-direction:column;gap:4px;min-height:40px}.pending-book-row{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-sm);padding:6px var(--space-sm);background:var(--bg-surface-2);border-radius:var(--radius-sm);border:1px solid var(--border);font-size:.8125rem;transition:opacity .1s}.pending-book-row.dragging{opacity:.35}.pending-book-row.is-selected{background:color-mix(in srgb,var(--accent) 8%,transparent)}.pending-select-chk{flex-shrink:0;width:16px;height:16px;cursor:pointer;accent-color:var(--accent)}.pending-book-row.drop-above:before,.pending-book-row.drop-below:after{content:"";position:absolute;left:-2px;right:-2px;height:2px;background:var(--accent);border-radius:1px;box-shadow:0 0 6px var(--accent);pointer-events:none;z-index:1}.pending-book-row.drop-above:before{top:-3px}.pending-book-row.drop-below:after{bottom:-3px}.drag-handle{color:var(--text-dim);cursor:grab;font-size:1.1rem;flex-shrink:0}.pending-book-tags-row,.pending-book-details{flex:0 0 100%;margin-top:var(--space-xs)}.pending-book-details-toggle{cursor:pointer;font-size:.75rem;color:var(--text-muted);-webkit-user-select:none;user-select:none;list-style:none}.pending-book-details-toggle::-webkit-details-marker{display:none}.pending-book-details-toggle:before{content:"▶ ";font-size:.6rem;vertical-align:middle}.pending-book-details[open] .pending-book-details-toggle:before{content:"▼ "}.pending-book-details-body{display:flex;flex-wrap:wrap;gap:var(--space-sm) var(--space-md);margin-top:var(--space-xs);padding:12px 14px;background:var(--bg-surface);border-radius:var(--radius-sm);border:1px solid var(--border)}.pending-book-details-body>label{display:flex;flex-direction:column;gap:2px;font-size:.75rem;color:var(--text-muted);min-width:100px}.pending-book-details-body>label[hidden]{display:none}.pending-book-details-body>label:has(textarea){flex:1 1 100%}.pending-book-details-body>label:has(input[type=checkbox]){flex-direction:row;align-items:center;gap:var(--space-xs);min-width:unset}.pending-book-details-body input[type=date],.pending-book-details-body input[type=number]{padding:3px 6px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-surface);color:var(--text);font-size:.75rem;font-family:inherit;width:100%;box-sizing:border-box}.pending-book-details-body textarea{padding:4px 6px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-surface);color:var(--text);font-size:.75rem;font-family:inherit;resize:vertical;min-height:48px;width:100%;box-sizing:border-box}.pending-book-details-body .detail-tags-section{flex:1 1 100%}.field-tags-container{margin-top:var(--space-xs)}.field-hint{display:block;font-size:.75rem;color:var(--text-muted);font-weight:400;margin-bottom:var(--space-xs)}.field-hint[data-warning]{color:var(--status-dnf, #c95050)}.pending-check{display:flex;align-items:center;gap:3px;color:var(--text-muted);flex-shrink:0;cursor:pointer}.pending-title{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text)}.pending-title:empty{flex:0}.pending-title-row{flex:0 0 100%;display:flex;align-items:center;gap:var(--space-xs);min-width:0}.pending-title-input{flex:1;min-width:0;font-size:.875rem;font-weight:500;color:var(--text);background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);padding:2px 4px;outline:none;overflow:hidden;text-overflow:ellipsis}.pending-title-input:hover{border-color:var(--border)}.pending-title-input:focus{border-color:var(--accent);background:var(--bg-surface-2)}.pending-reorder{display:flex;flex-direction:column;gap:1px;flex-shrink:0}.pending-reorder button{padding:1px 4px;font-size:.625rem;line-height:1;background:none;border:1px solid var(--border);border-radius:2px;color:var(--text-dim);cursor:pointer}.pending-reorder button:disabled{opacity:.3;cursor:default}.pending-reorder[hidden]{display:none}.author-suggest-wrap{position:relative;display:block;width:100%}.author-suggest-list{position:absolute;top:100%;left:0;right:0;z-index:200;list-style:none;margin:2px 0 0;padding:4px 0;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:0 4px 12px #0006;max-height:180px;overflow-y:auto}.author-suggest-list[hidden]{display:none}.author-suggest-opt{padding:6px 10px;cursor:pointer;font-size:.875rem;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.author-suggest-opt:hover,.author-suggest-opt.is-active{background:var(--bg-hover);color:var(--text-bright)}.pending-add-placeholder{margin-top:var(--space-xs);align-self:flex-start;color:var(--text-dim);font-size:.8125rem}.pending-position{width:52px;flex-shrink:0;padding:4px 6px;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-muted);text-align:center;font-size:.75rem}.pending-position:focus{border-color:var(--accent);color:var(--text);outline:none}.pending-position.is-invalid{border-color:var(--danger)!important;color:var(--danger);animation:shake .3s ease}.required-marker{color:var(--text-dim);font-size:.7em;margin-left:2px;-webkit-user-select:none;user-select:none}.field-nudge{border-color:color-mix(in srgb,var(--warning, #f59e0b) 65%,transparent)!important;box-shadow:0 0 0 2px color-mix(in srgb,var(--warning, #f59e0b) 18%,transparent)!important;animation:shake .3s ease}.field-nudge-msg{font-size:.72rem;color:color-mix(in srgb,var(--warning, #f59e0b) 80%,var(--text-muted));margin-top:1px;display:block}.field-multi-author-hint{font-size:.72rem;color:var(--text-muted);margin-top:1px;display:block}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}.pending-pages,.pending-duration{width:72px;flex-shrink:0;padding:4px 6px;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);text-align:right}.pending-pages:focus,.pending-duration:focus{border-color:var(--accent);outline:none}.pending-lib-due-inline{flex-shrink:0;padding:4px 6px;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:.8125rem}.pending-lib-due-inline:focus{border-color:var(--accent);outline:none}#manual-pages,#p3-manual-pages{width:80px;flex-shrink:0}.btn-remove-book{color:var(--text-dim)}.btn-remove-book:hover{color:var(--danger)}.pending-books-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm)}.pending-books-header h3{margin:0}.p3-select-all-label{display:flex;align-items:center;gap:5px;font-size:.8rem;color:var(--text-muted);cursor:pointer;white-space:nowrap;flex-shrink:0}.p3-select-all-label input[type=checkbox]{width:15px;height:15px;accent-color:var(--accent);cursor:pointer}.p3-select-all-label[hidden]{display:none}.p3-bulk-bar{display:flex;flex-direction:column;gap:6px;padding:10px 14px;background:var(--bg-surface-2);border-radius:var(--radius-sm);margin-bottom:var(--space-xs)}.p3-bulk-bar[hidden]{display:none}.p3-bulk-bar-title{font-size:.6875rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em}.p3-bulk-controls{display:flex;align-items:flex-start;flex-wrap:wrap;gap:var(--space-xs) var(--space-md)}.p3-bulk-owned-label{display:flex;align-items:center;gap:var(--space-xs);cursor:pointer;font-size:.875rem;white-space:nowrap;height:30px}.p3-bulk-tag-row{display:flex;align-items:center;gap:var(--space-xs)}.p3-bulk-tag-row input{min-width:140px;font-size:.875rem;padding:4px 8px;height:30px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-surface-2);color:var(--text);outline:none;box-sizing:border-box}.p3-bulk-tag-row input:focus{border-color:var(--accent)}.p3-add-section{display:flex;flex-direction:column;gap:var(--space-sm);padding-top:var(--space-sm);border-top:1px solid var(--border)}#p3-search-input{flex:1;padding:8px 12px;background:var(--bg-surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);outline:none}#p3-search-input:focus{border-color:var(--accent)}#p3-results-list{margin-top:var(--space-xs)}#p3-results-list[hidden]{display:none}.manual-add-row{display:flex;gap:var(--space-sm);margin-top:var(--space-sm);flex-wrap:wrap}.manual-add-row input{flex:1;min-width:120px;padding:4px 8px;background:var(--bg-surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);outline:none}.manual-add-row input:focus{border-color:var(--accent)}.p2-library-section{margin-top:var(--space-md);border-top:1px solid var(--border);padding-top:var(--space-sm)}.p2-library-header{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-xs)}.p2-library-label{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);flex-shrink:0}.p2-library-filter{flex:1;min-width:0;padding:3px 8px;font-size:.8125rem;background:var(--bg-surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);outline:none}.p2-library-filter:focus{border-color:var(--accent)}.p2-library-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:2px;max-height:180px;overflow-y:auto}.p2-library-item{display:flex;align-items:center;gap:var(--space-sm);padding:5px var(--space-xs);border-radius:var(--radius-sm);transition:background .1s}.p2-library-item:hover{background:var(--bg-hover)}.p2-library-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.p2-library-title{font-size:.8125rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.p2-library-meta{font-size:.7rem;color:var(--text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.p2-library-add-btn{flex-shrink:0}.p2-library-empty{font-size:.8rem;color:var(--text-dim);font-style:italic;padding:4px var(--space-xs)}.modal-footer-bar{flex-shrink:0;display:flex;align-items:center;justify-content:flex-end;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);border-top:1px solid var(--border)}.modal-footer-bar[hidden]{display:none}#btn-back{margin-right:auto}#btn-back[hidden],#footer-phase2[hidden],#footer-phase3[hidden]{display:none}#footer-phase2,#footer-phase3{display:contents}#modal-detail{max-width:760px}#modal-book-detail{max-width:680px}.detail-cover-banner{display:flex;height:160px;flex-shrink:0;overflow:hidden;background:var(--bg-surface-2);position:relative;border-radius:var(--radius-md)}.detail-banner-slot{flex:1;height:100%;min-width:0;overflow:hidden}.detail-banner-slot img{width:100%;height:100%;object-fit:cover;object-position:top;display:block}.detail-cover-banner .cover-edit-btn{opacity:0}.detail-cover-banner:hover .cover-edit-btn{opacity:1}.detail-book-row-simple{display:flex;align-items:center;gap:var(--space-sm);padding:8px var(--space-md);border-radius:var(--radius-sm);background:var(--bg-surface-2);cursor:pointer;transition:background .15s;min-height:56px;position:relative}.detail-book-row-simple:hover{background:var(--bg-hover)}.detail-book-row-simple:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.detail-book-row-simple.dragging{opacity:.35}.detail-book-row-simple.drop-above:before,.detail-book-row-simple.drop-below:after{content:"";position:absolute;left:-2px;right:-2px;height:2px;background:var(--accent);border-radius:1px;box-shadow:0 0 6px var(--accent);pointer-events:none;z-index:1}.detail-book-row-simple.drop-above:before{top:-3px}.detail-book-row-simple.drop-below:after{bottom:-3px}@keyframes scroll-target-flash{0%{background-color:color-mix(in srgb,var(--accent) 22%,transparent)}to{background-color:transparent}}.scroll-target-flash{animation:scroll-target-flash 1.6s ease-out forwards}.detail-book-drag-handle{color:var(--text-dim);cursor:grab;font-size:1.1rem;flex-shrink:0}.detail-book-thumb-wrapper{width:32px;min-width:32px;height:44px;border-radius:3px;overflow:hidden;background:var(--bg-surface);position:relative;flex-shrink:0}.detail-book-thumb-wrapper:before{content:attr(data-initial);position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:.875rem;font-weight:700;color:var(--text-dim)}.detail-book-thumb-wrapper img{width:100%;height:100%;object-fit:cover;position:relative;z-index:1}.detail-book-thumb-wrapper.cover-missing img{display:none}.detail-book-pos-label{font-size:.6875rem;color:var(--text-dim);min-width:1.5em;text-align:right;flex-shrink:0}.detail-book-title-btn{flex:1;min-width:0;text-align:left;font-size:.875rem;font-family:inherit;color:var(--text);background:none;border:none;padding:0;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.detail-book-title-btn:hover{color:var(--accent)}.detail-book-chevron{flex-shrink:0;font-size:1.1rem;line-height:1;color:var(--text-dim);margin-left:auto;transition:color .15s,transform .15s;pointer-events:none}.detail-book-row-simple:hover .detail-book-chevron,.ss-order-entry:hover .detail-book-chevron{color:var(--accent);transform:translate(2px)}.book-chip{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:.6875rem;font-weight:600;flex-shrink:0;white-space:nowrap}.book-chip--read{background:color-mix(in srgb,var(--success) 15%,transparent);color:var(--success);border:1px solid color-mix(in srgb,var(--success) 35%,transparent)}.book-chip--owned{background:color-mix(in srgb,var(--accent) 15%,transparent);color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 35%,transparent)}.book-chip--unreleased{background:color-mix(in srgb,var(--text-dim) 12%,transparent);color:var(--text-dim);border:1px solid color-mix(in srgb,var(--text-dim) 30%,transparent)}.book-chip--placeholder{background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 30%,transparent)}.book-chip--dnf{background:color-mix(in srgb,var(--danger) 12%,transparent);color:var(--danger);border:1px solid color-mix(in srgb,var(--danger) 30%,transparent)}.book-chip--library{background:color-mix(in srgb,var(--success) 12%,transparent);color:var(--success);border:1px solid color-mix(in srgb,var(--success) 30%,transparent)}.book-chip--library-on-hold{background:color-mix(in srgb,var(--warning, #f59e0b) 12%,transparent);color:var(--warning, #f59e0b);border:1px solid color-mix(in srgb,var(--warning, #f59e0b) 30%,transparent)}.book-chip--library-checked-out{background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 30%,transparent)}.book-chip--reading{background:transparent;color:var(--text-muted);border:1px dashed color-mix(in srgb,var(--text-muted) 40%,transparent);cursor:pointer}.book-chip--reading.is-active{background:color-mix(in srgb,var(--warning, #f0a500) 15%,transparent);color:var(--warning, #f0a500);border:1px solid color-mix(in srgb,var(--warning, #f0a500) 40%,transparent)}.detail-body{padding:var(--space-xl) var(--space-lg);overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:var(--space-xl)}.detail-hero{display:flex;gap:var(--space-lg);align-items:flex-start}.detail-cover-wrapper{width:120px;min-width:120px;aspect-ratio:2 / 3;border-radius:var(--radius-md);overflow:hidden;background:var(--bg-surface-2);position:relative}.detail-cover-wrapper:before{content:attr(data-initial);position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:2.5rem;font-weight:700;color:var(--text-dim)}.detail-cover-wrapper img{width:100%;height:100%;object-fit:cover;position:relative;z-index:1}.detail-cover-wrapper.cover-missing img{display:none}.cover-wrapper[data-unreleased=true]:after,.compact-cover-wrapper[data-unreleased=true]:after,.tile-cover-wrapper[data-unreleased=true]:after,.detail-book-thumb-wrapper[data-unreleased=true]:after,.detail-cover-wrapper[data-unreleased=true]:after,.home-mini-cover[data-unreleased=true]:after,.ss-member-thumb[data-unreleased=true]:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-color:#00000073;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14' fill='none'%3E%3Crect x='1' y='3' width='12' height='10' rx='1.5' stroke='white' stroke-width='1.3'/%3E%3Cpath d='M1 6.5h12' stroke='white' stroke-width='1.3'/%3E%3Cline x1='4.5' y1='1' x2='4.5' y2='4' stroke='white' stroke-width='1.3' stroke-linecap='round'/%3E%3Cline x1='9.5' y1='1' x2='9.5' y2='4' stroke='white' stroke-width='1.3' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;z-index:3;pointer-events:none}.cover-wrapper[data-unreleased=true]:after,.compact-cover-wrapper[data-unreleased=true]:after,.tile-cover-wrapper[data-unreleased=true]:after,.detail-cover-wrapper[data-unreleased=true]:after{background-size:32px 32px}.detail-book-thumb-wrapper[data-unreleased=true]:after,.home-mini-cover[data-unreleased=true]:after,.ss-member-thumb[data-unreleased=true]:after{background-size:16px 16px}.cover-wrapper[data-unreleased=true] img,.cover-wrapper[data-unreleased=true] .collage-img,.compact-cover-wrapper[data-unreleased=true] img,.tile-cover-wrapper[data-unreleased=true] img,.detail-book-thumb-wrapper[data-unreleased=true] img,.detail-cover-wrapper[data-unreleased=true] img,.home-mini-cover[data-unreleased=true] img,.ss-member-thumb[data-unreleased=true] img{filter:grayscale(1)}.detail-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.detail-body>.detail-info{flex:none}.detail-progress-label,.detail-pages-summary{font-size:.875rem;color:var(--text-muted)}.detail-series-eta,.detail-book-eta{font-size:.78rem;color:var(--accent);margin-top:2px}.detail-book-eta[hidden]{display:none}.detail-name-input,.detail-author-input{display:block;width:100%;background:transparent;border:none;border-bottom:1px solid transparent;border-radius:0;font-family:inherit;color:var(--text);padding:2px 0;transition:border-color .15s}.detail-name-input{font-size:1.1rem;font-weight:700}.detail-author-input{font-size:.875rem;color:var(--text-muted)}.detail-name-input:hover,.detail-author-input:hover{border-bottom-color:var(--border)}.detail-name-input:focus,.detail-author-input:focus{border-bottom-color:var(--accent);outline:none}.detail-author-readonly{border-bottom-color:transparent!important;cursor:default;pointer-events:none}.detail-author-browse[hidden]{display:none}.detail-author-browse{display:inline-flex;align-items:center;gap:4px;background:var(--bg-surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:3px 8px;margin-top:4px;font-family:inherit;font-size:.75rem;color:var(--text-muted);cursor:pointer;text-align:left;transition:background .15s,border-color .15s,color .15s}.detail-author-browse:before{content:"↗";font-size:.7rem}.detail-author-browse:hover{background:var(--bg-hover);border-color:var(--accent);color:var(--accent)}.detail-series-link-row{display:flex;margin-bottom:2px}.detail-series-link{display:inline-flex;align-items:center;background:color-mix(in srgb,var(--accent) 15%,transparent);border:1px solid color-mix(in srgb,var(--accent) 40%,transparent);border-radius:20px;padding:2px 8px;font-size:.7rem;font-weight:600;color:var(--accent);cursor:pointer;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.detail-series-link:hover{background:color-mix(in srgb,var(--accent) 25%,transparent)}.detail-status-section{display:flex;flex-direction:column;gap:var(--space-xs)}.detail-status-select{align-self:flex-start}.detail-status-display{display:flex;align-items:center;gap:var(--space-sm)}.detail-status-chip{font-size:.75rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:2px 10px;border-radius:999px;background:color-mix(in srgb,var(--text-muted) 20%,transparent);color:var(--text-muted)}.detail-status-chip[data-status=in-progress]{background:color-mix(in srgb,var(--status-in-progress) 20%,transparent);color:var(--status-in-progress)}.detail-status-chip[data-status=completed]{background:color-mix(in srgb,var(--status-completed) 20%,transparent);color:var(--status-completed)}.detail-status-chip[data-status=dnf]{background:color-mix(in srgb,var(--status-dnf) 20%,transparent);color:var(--status-dnf)}.detail-status-chip[data-status=want-to-read]{background:color-mix(in srgb,var(--status-want-to-read) 20%,transparent);color:var(--status-want-to-read)}.detail-status-chip[data-status=paused]{background:color-mix(in srgb,var(--status-paused) 20%,transparent);color:var(--status-paused)}.detail-status-chip[data-status=waiting]{background:color-mix(in srgb,var(--status-waiting) 20%,transparent);color:var(--status-waiting)}.detail-status-toggles{display:flex;flex-wrap:wrap;gap:var(--space-xs)}.detail-status-info{font-size:.7rem;color:var(--text-dim);line-height:1.3;margin:0}.detail-status-override-warning{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-sm);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--warning, #f59e0b) 12%,transparent);font-size:.8125rem;color:var(--text)}.detail-status-override-warning[hidden]{display:none}.detail-computed-status{display:flex;align-items:center;gap:var(--space-xs);margin-bottom:var(--space-xs)}.detail-computed-label{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-dim)}.detail-computed-status[data-override=true] .detail-computed-label{color:var(--text-dim);opacity:.75}.detail-computed-pill{font-size:.8rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;padding:3px 12px;border-radius:999px;background:color-mix(in srgb,var(--text-muted) 18%,transparent);color:var(--text-muted)}.detail-computed-pill[data-status=in-progress]{background:color-mix(in srgb,var(--status-in-progress) 22%,transparent);color:var(--status-in-progress)}.detail-computed-pill[data-status=completed]{background:color-mix(in srgb,var(--status-completed) 22%,transparent);color:var(--status-completed)}.detail-computed-pill[data-status=dnf]{background:color-mix(in srgb,var(--status-dnf) 22%,transparent);color:var(--status-dnf)}.detail-computed-pill[data-status=want-to-read]{background:color-mix(in srgb,var(--status-want-to-read) 22%,transparent);color:var(--status-want-to-read)}.detail-computed-pill[data-status=paused]{background:color-mix(in srgb,var(--status-paused) 22%,transparent);color:var(--status-paused)}.detail-computed-pill[data-status=waiting]{background:color-mix(in srgb,var(--status-waiting) 22%,transparent);color:var(--status-waiting)}.detail-computed-status[data-override=true] .detail-computed-pill{opacity:.65}.detail-dnf-blocked-notice{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-sm);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--danger, #ef4444) 10%,transparent);border:1px solid color-mix(in srgb,var(--danger, #ef4444) 25%,transparent);font-size:.8125rem;color:var(--text)}.home-list-badge{flex-shrink:0;align-self:center;font-size:.6875rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;padding:2px 8px;border-radius:999px;white-space:nowrap;background:color-mix(in srgb,var(--accent) 15%,transparent);color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 30%,transparent)}.home-item-text>.home-list-badge{align-self:flex-start;margin-bottom:3px}.home-list-badge--available{background:color-mix(in srgb,var(--success) 15%,transparent);color:var(--success);border-color:color-mix(in srgb,var(--success) 30%,transparent)}.home-list-badge--checked-out{background:color-mix(in srgb,var(--warning, #f59e0b) 15%,transparent);color:var(--warning, #f59e0b);border-color:color-mix(in srgb,var(--warning, #f59e0b) 30%,transparent)}.detail-status-row{display:flex;align-items:center;gap:var(--space-sm)}.detail-status-row-label{font-size:.75rem;font-weight:600;color:var(--text-dim);white-space:nowrap;min-width:3.5rem}.detail-interest-widget{margin:2px 0}.detail-book-btn-row{display:flex;gap:var(--space-xs);margin-top:var(--space-sm);flex-wrap:wrap}.detail-book-title-btn--placeholder{font-style:italic;color:var(--text-muted)}.detail-progress-track{height:8px;background:var(--bg-surface-2);border-radius:999px;overflow:hidden;margin:6px 0}.detail-progress-fill{height:100%;background:var(--accent);border-radius:999px}.detail-bulk-bar{display:flex;gap:var(--space-sm);flex-wrap:wrap}.detail-book-list{display:flex;flex-direction:column;gap:4px}.detail-book-row{display:flex;align-items:center;flex-wrap:wrap;row-gap:4px;gap:var(--space-sm);padding:10px var(--space-md);border-radius:var(--radius-sm);background:var(--bg-surface-2);font-size:.875rem;transition:background .15s}.detail-book-row:hover{background:var(--bg-hover)}.detail-book-row.not-owned{opacity:.55}.book-detail-sections{display:flex;flex-direction:column;gap:var(--space-sm);margin:var(--space-md) 0}.book-detail-sections .book-detail-row{display:flex;align-items:flex-start;flex-wrap:wrap;gap:6px;padding:12px 18px;background:var(--bg-surface-2);border-radius:var(--radius-sm)}.book-detail-sections .book-detail-row:hover{background:var(--bg-hover)}.book-detail-sections .book-detail-row[hidden]{display:none}.bdr-item{display:flex;flex-direction:column;gap:4px;min-width:0}.bdr-item[hidden]{display:none}.book-detail-sections .bdr-item{flex-direction:row;align-items:center;gap:10px;flex:1 1 100%;min-height:34px}.bdr-label{font-size:.6875rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.book-detail-sections .bdr-label{min-width:100px;flex-shrink:0;text-align:right}.book-detail-sections .bdr-item input[type=text],.book-detail-sections .bdr-item input[type=number],.book-detail-sections .bdr-item input[type=date]{padding:4px 8px;font-size:.875rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-surface-2);color:var(--text);outline:none;box-sizing:border-box}.book-detail-sections .bdr-item input:focus{border-color:var(--accent)}.book-detail-sections .bdr-item>label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:.875rem;color:var(--text);padding:4px 8px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-surface-2);transition:border-color .15s}.book-detail-sections .bdr-item>label:hover{border-color:var(--accent)}.detail-book-row label{display:flex;align-items:center;gap:3px;font-size:.75rem;color:var(--text-muted);cursor:pointer;white-space:nowrap;flex-shrink:0}.detail-book-pos-input{width:2.5em;padding:2px 4px;font-size:.75rem;font-family:inherit;text-align:center;border:1px solid transparent;border-radius:4px;background:transparent;color:var(--text-dim);flex-shrink:0;-moz-appearance:textfield}.detail-book-pos-input::-webkit-outer-spin-button,.detail-book-pos-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.detail-book-pos-input:hover,.detail-book-pos-input:focus{border-color:var(--border);background:var(--bg-surface);outline:none}.detail-book-title-input{flex:1;min-width:8em;padding:2px 4px;font-size:.875rem;font-family:inherit;border:1px solid transparent;border-radius:4px;background:transparent;color:var(--text)}.detail-book-title-input:hover,.detail-book-title-input:focus{border-color:var(--border);background:var(--bg-surface);outline:none}.book-pages-input{width:68px;height:36px;box-sizing:border-box;padding:6px 8px;font-size:.875rem;font-family:inherit;text-align:right;border:1px solid var(--border);border-radius:4px;background:var(--bg-surface);color:var(--text);flex-shrink:0;-moz-appearance:textfield}.book-pages-input::-webkit-outer-spin-button,.book-pages-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.book-pages-input:hover,.book-pages-input:focus{border-color:var(--accent);outline:none}.book-pages-unit{color:var(--text-dim);font-size:.875rem;flex-shrink:0}.detail-cover-wrapper{position:relative}.cover-edit-btn{position:absolute;bottom:6px;right:6px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--bg-surface) 85%,transparent);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;padding:0;opacity:0;transition:opacity .15s,color .15s;z-index:2}.cover-edit-btn svg{width:13px;height:13px}.detail-cover-wrapper:hover .cover-edit-btn,.cover-edit-btn:focus-visible{opacity:1}.cover-edit-btn:hover{color:var(--accent);border-color:var(--accent)}#modal-cover-edit{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-surface);color:var(--text);padding:0;width:min(520px,90vw);box-shadow:var(--shadow-lg, 0 8px 32px rgba(0,0,0,.25))}#modal-cover-edit::backdrop{background:#00000073}.cover-edit-body{padding:var(--space-lg);display:flex;flex-direction:column;gap:var(--space-md)}.cover-edit-title{margin:0;font-size:1rem;font-weight:700;color:var(--text)}.cover-edit-input{width:100%;box-sizing:border-box;padding:4px 8px;font-size:.875rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--text)}.cover-edit-input:focus{border-color:var(--accent);outline:none}.cover-edit-upload-row{display:flex;align-items:center;gap:var(--space-sm)}.cover-edit-or{font-size:.78rem;color:var(--text-muted)}.cover-edit-upload-feedback{display:flex;align-items:center;gap:var(--space-sm)}.cover-edit-upload-feedback[hidden]{display:none}.cover-edit-preview-img{width:52px;height:78px;object-fit:cover;border-radius:4px;border:1px solid var(--border);flex-shrink:0}.cover-edit-upload-meta{font-size:.75rem;color:var(--text-muted);line-height:1.5}.cover-edit-upload-error{margin:0;font-size:.8rem;color:var(--danger)}.cover-edit-upload-error[hidden]{display:none}.cover-edit-use-first{align-self:flex-start;font-size:.8rem}.cover-edit-actions{display:flex;justify-content:flex-end;gap:var(--space-sm)}.cover-edit-search-status{font-size:.8rem;color:var(--text-muted);margin:0}.cover-edit-search-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:var(--space-xs);max-height:300px;overflow-y:auto}.cover-search-tile{padding:0;border:2px solid transparent;border-radius:4px;background:none;cursor:pointer;overflow:hidden;transition:border-color .15s}.cover-search-tile:hover{border-color:var(--border)}.cover-search-tile.is-selected{border-color:var(--accent)}.cover-search-tile img{display:block;width:100%;height:auto;aspect-ratio:2/3;object-fit:cover}.cover-edit-section-label{font-size:.75rem;color:var(--text-muted);margin:0 0 var(--space-xs)}.cover-edit-size-grid{display:flex;gap:var(--space-sm);flex-wrap:wrap}.cover-size-tile{display:flex;flex-direction:column;align-items:center;gap:4px;padding:4px;border:2px solid transparent;border-radius:4px;background:none;cursor:pointer;transition:border-color .15s}.cover-size-tile:hover{border-color:var(--border)}.cover-size-tile.is-selected{border-color:var(--accent)}.cover-size-tile.size-tile-failed{opacity:.35;cursor:not-allowed}.cover-size-tile img{display:block;width:64px;height:96px;object-fit:cover;border-radius:2px}.cover-size-tile span{font-size:.65rem;font-weight:600;color:var(--text-muted);letter-spacing:.03em}.book-format-select{flex-shrink:0}.book-duration-input{width:60px;height:36px;box-sizing:border-box;padding:6px 8px;font-size:.875rem;font-family:inherit;text-align:right;border:1px solid var(--border);border-radius:4px;background:var(--bg-surface);color:var(--text);flex-shrink:0;-moz-appearance:textfield}.book-duration-input::-webkit-outer-spin-button,.book-duration-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.book-duration-input:hover,.book-duration-input:focus{border-color:var(--accent);outline:none}.book-duration-unit{color:var(--text-dim);font-size:.875rem;flex-shrink:0}.book-hours-read-input{width:56px;height:36px;box-sizing:border-box;padding:6px 8px;font-size:.875rem;font-family:inherit;text-align:right;border:1px solid var(--border);border-radius:4px;background:var(--bg-surface);color:var(--text);flex-shrink:0;-moz-appearance:textfield}.book-hours-read-input::-webkit-outer-spin-button,.book-hours-read-input::-webkit-inner-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0}.book-hours-read-input:hover,.book-hours-read-input:focus{border-color:var(--accent);outline:none}.book-current-page-input,.book-current-percent-input{width:68px;height:36px;border:1px solid var(--border);border-radius:6px;background:var(--bg-input);color:var(--text);font-size:.875rem;padding:0 8px;text-align:center;-moz-appearance:textfield}.book-current-page-input::-webkit-outer-spin-button,.book-current-page-input::-webkit-inner-spin-button,.book-current-percent-input::-webkit-outer-spin-button,.book-current-percent-input::-webkit-inner-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0}.book-current-page-input:hover,.book-current-page-input:focus,.book-current-percent-input:hover,.book-current-percent-input:focus{border-color:var(--accent);outline:none}.book-priority-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:.875rem}.book-deadline-by{font-size:.875rem;color:var(--text-dim);white-space:nowrap;flex-shrink:0}.book-deadline-input{font-size:.875rem;font-family:inherit;padding:4px 8px;height:30px;box-sizing:border-box;min-width:140px;border:1px solid var(--border);border-radius:4px;background:var(--bg-surface);color:var(--text);cursor:pointer}.book-deadline-input:hover,.book-deadline-input:focus{border-color:var(--accent);outline:none}.date-finished-long-ago{font-size:.8125rem;color:var(--text-muted);font-style:italic;flex-shrink:0}.date-finished-set-date{font-size:.75rem;color:var(--accent);background:none;border:none;padding:0;cursor:pointer;text-decoration:underline;text-underline-offset:2px;flex-shrink:0}.date-finished-set-date:hover{opacity:.75}.date-finished-clear{font-size:.72rem;color:var(--text-muted);background:none;border:1px solid var(--border);border-radius:4px;padding:2px 7px;cursor:pointer;flex-shrink:0}.date-finished-clear:hover{color:var(--text);border-color:var(--text-dim)}.detail-tags-section{display:flex;flex-wrap:wrap;align-items:center;gap:5px;margin-top:4px}.detail-tag-pill{display:inline-flex;align-items:center;gap:3px;font-size:.75rem;padding:2px 7px;border-radius:999px;background:var( --accent-dim, color-mix(in srgb, var(--accent) 18%, transparent) );color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 35%,transparent)}.detail-tag-remove{background:none;border:none;padding:0;font-size:.6rem;line-height:1;color:inherit;cursor:pointer;opacity:.6}.detail-tag-remove:hover{opacity:1}.detail-tag-add-wrap{display:inline-flex;align-items:center;gap:4px;order:9999}.detail-tag-input{font-size:.75rem;font-family:inherit;padding:2px 7px;border:1px dashed var(--border);border-radius:999px;background:transparent;color:var(--text);width:80px;outline:none;transition:border-color .15s,width .2s}.detail-tag-input:focus{border-color:var(--accent);border-style:solid;width:110px}.detail-tag-input::placeholder{color:var(--text-dim)}.detail-tag-add-btn{background:none;border:1px solid var(--border);border-radius:999px;color:var(--text-dim);cursor:pointer;font-size:.875rem;line-height:1;padding:1px 7px}.detail-tag-add-btn:hover{color:var(--text);border-color:var(--accent)}@media(hover:none)and (pointer:coarse){.detail-tag-input{font-size:16px}}.tag-widget-wrap{display:flex;align-items:flex-start;gap:6px}.tag-hint-btn{flex-shrink:0;width:18px;height:18px;border-radius:50%;border:1px solid var(--border);background:var(--bg-surface-2);color:var(--text-muted);font-size:.65rem;font-weight:700;line-height:1;cursor:default;display:inline-flex;align-items:center;justify-content:center;position:relative;margin-top:5px}.tag-hint-btn:after{content:attr(data-tooltip);position:absolute;left:50%;bottom:calc(100% + 6px);transform:translate(-50%);background:var(--bg-surface-3, #2a2d38);color:var(--text);font-size:.72rem;font-weight:400;line-height:1.4;white-space:normal;width:220px;padding:6px 9px;border-radius:6px;border:1px solid var(--border);box-shadow:0 4px 12px #00000059;pointer-events:none;opacity:0;transition:opacity .15s;z-index:200}.tag-hint-btn:hover:after,.tag-hint-btn:focus-visible:after{opacity:1}.detail-notes-section h3{font-size:.875rem;font-weight:600;color:var(--text-muted);margin-bottom:var(--space-sm)}.detail-notes-text{font-size:.875rem;color:var(--text-muted);white-space:pre-wrap}.about-body{padding:var(--space-lg);overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:var(--space-lg)}.about-dev-warning{font-size:.8125rem;color:color-mix(in srgb,var(--warning, #f59e0b) 90%,var(--text));background:color-mix(in srgb,var(--warning, #f59e0b) 10%,transparent);border:1px solid color-mix(in srgb,var(--warning, #f59e0b) 30%,transparent);border-radius:var(--radius-sm);padding:var(--space-sm) var(--space-md);line-height:1.5}.about-maintenance-notice{font-size:.8125rem;color:color-mix(in srgb,var(--accent) 90%,var(--text));background:color-mix(in srgb,var(--accent) 8%,transparent);border:1px solid color-mix(in srgb,var(--accent) 25%,transparent);border-radius:var(--radius-sm);padding:var(--space-sm) var(--space-md);line-height:1.5}.about-maintenance-notice strong{color:inherit}.about-maintenance-notice a{color:inherit;text-decoration:underline}.about-tagline{font-size:1rem;color:var(--text-muted);font-style:italic;line-height:1.5}.about-section h3{font-size:.75rem;font-weight:700;color:var(--text-dim);text-transform:uppercase;letter-spacing:.07em;margin-bottom:var(--space-sm)}.about-section p{font-size:.875rem;color:var(--text-muted);line-height:1.6}.about-section ul{list-style:disc;padding-left:var(--space-lg);display:flex;flex-direction:column;gap:4px}.about-section li{font-size:.875rem;color:var(--text-muted);line-height:1.5}.about-section code{font-family:monospace;background:var(--bg-surface-2);padding:1px 5px;border-radius:3px;font-size:.8125rem}.about-version{font-size:.8125rem;color:var(--text-dim)}#bottom-nav{display:none}.bottom-nav-tab{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:var(--space-sm) 0;color:var(--text-muted);text-decoration:none;font-size:.68rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;transition:color .15s;min-height:52px;-webkit-tap-highlight-color:transparent}.bottom-nav-tab:hover{color:var(--text)}.bottom-nav-tab.active{color:var(--accent)}.bnav-icon{font-size:1.3rem;line-height:1}#view-settings{display:flex;flex-direction:column;max-width:720px;margin:0 auto;width:100%;min-height:0;flex:1}#view-settings[hidden]{display:none}.btn-back{display:inline-flex;align-items:center;gap:var(--space-xs);padding:6px 10px;border-radius:var(--radius-sm);font-size:.875rem;color:var(--text-muted);background:transparent;border:none;cursor:pointer;transition:color .15s,background .15s}.btn-back:hover{color:var(--text);background:var(--bg-hover)}.settings-breadcrumb{padding:var(--space-sm) var(--space-lg) 0}.settings-tabs{display:flex;gap:2px;border-bottom:1px solid var(--border);padding:0 var(--space-lg);flex-shrink:0;overflow-x:auto;scrollbar-width:none}.settings-tabs::-webkit-scrollbar{display:none}.settings-tab{padding:10px 16px;font-size:.8125rem;font-weight:500;color:var(--text-muted);background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;white-space:nowrap;transition:color .15s,border-color .15s;min-height:44px;margin-bottom:-1px}.settings-tab:hover{color:var(--text)}.settings-tab.active,.settings-tab[aria-selected=true]{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.settings-panel[hidden]{display:none}.settings-body{display:flex;flex-direction:column;overflow-y:auto;flex:1}.settings-section{display:flex;flex-direction:column;gap:var(--space-md);padding:var(--space-lg);border-bottom:1px solid var(--border)}.settings-section:last-of-type{border-bottom:none}.settings-section--danger{background:color-mix(in srgb,var(--danger) 4%,transparent)}.settings-section-title{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim);margin:0;padding-left:var(--space-sm);border-left:3px solid var(--accent)}.settings-section--danger .settings-section-title{border-left-color:var(--danger);color:var(--danger)}.settings-footer{padding:var(--space-md) var(--space-lg);border-top:1px solid var(--border);display:flex;justify-content:center;flex-shrink:0}.settings-footer-link{font-size:.8125rem;color:var(--text-muted);background:none;border:none;cursor:pointer;text-decoration:underline;text-underline-offset:2px;font-family:inherit}.settings-footer-link:hover{color:var(--text)}.settings-import-label{cursor:pointer}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);min-height:44px}.settings-row-info{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.settings-label{font-size:.9375rem;font-weight:500;color:var(--text)}.settings-hint{font-size:.8125rem;color:var(--text-muted)}.settings-hint a{text-decoration:underline}.settings-select{min-width:180px}.settings-api-key-wrap{display:flex;gap:var(--space-sm);align-items:center;flex-shrink:0}.settings-text-input{width:200px;padding:4px 8px;background:var(--bg-surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:.875rem;outline:none}.settings-text-input:focus{border-color:var(--accent)}.settings-checkbox{width:18px;height:18px;flex-shrink:0;cursor:pointer;accent-color:var(--accent)}.settings-number-input{width:80px;padding:4px 8px;border:1px solid var(--border);border-radius:4px;background:var(--bg-input, var(--bg-surface));color:var(--text);font-size:.9rem;text-align:right}.settings-number-input::-webkit-inner-spin-button,.settings-number-input::-webkit-outer-spin-button{-webkit-appearance:none}.settings-number-input{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.settings-control{display:flex;flex-direction:column;gap:4px}.theme-toggle{display:flex;gap:4px;flex-shrink:0}.theme-btn{font-size:.8125rem;font-weight:500;padding:5px 12px;border-radius:var(--radius-sm);border:1px solid var(--border);background:transparent;color:var(--text-muted);cursor:pointer;transition:background .15s,color .15s,border-color .15s;min-height:32px}.theme-btn:hover{background:var(--bg-hover);color:var(--text)}.theme-btn.is-active{background:color-mix(in srgb,var(--accent) 18%,transparent);border-color:var(--accent);color:var(--accent);font-weight:600}.sync-auth-actions{display:flex;gap:var(--space-sm);margin:var(--space-sm) 0}.sync-user-row{display:flex;align-items:center;gap:var(--space-md);margin-bottom:var(--space-xs)}.sync-user-email{font-weight:500;font-size:.9375rem}.sync-status-text{font-size:.8125rem;color:var(--text-muted)}.sync-actions{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin:var(--space-xs) 0}.sync-conflict-panel{margin-top:var(--space-sm);padding:var(--space-sm);background:color-mix(in srgb,var(--accent) 10%,transparent);border-radius:var(--radius-sm);border:1px solid color-mix(in srgb,var(--accent) 25%,transparent)}.sync-conflict-actions{display:flex;gap:var(--space-sm);margin-top:var(--space-xs)}#series-scope-tabs{display:flex;gap:2px;width:fit-content;background:var(--bg-surface-2);border-radius:var(--radius-sm);padding:2px}#series-scope-tabs[hidden]{display:none}.my-books-sort-filter-btn{min-height:36px;gap:6px;flex-shrink:0}.my-books-sort-filter-btn.has-active-filters{border-color:var(--accent);color:var(--accent)}#my-books-filter-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 4px;border-radius:9px;font-size:.7rem;font-weight:700;background:var(--accent);color:#fff;line-height:1}#my-books-filter-badge[hidden]{display:none}#controls-my-books-panel{display:flex;flex-direction:column;gap:var(--space-md);padding-top:var(--space-md);border-top:1px solid var(--border)}#controls-my-books-panel[hidden]{display:none}#series-filter-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 4px;border-radius:9px;font-size:.7rem;font-weight:700;background:var(--accent);color:#fff;line-height:1}#series-filter-badge[hidden]{display:none}#controls-series-panel{padding-top:var(--space-md);border-top:1px solid var(--border)}#controls-series-panel[hidden]{display:none}.controls-search-actions{display:flex;gap:var(--space-xs);margin-left:auto}#my-books-scope-tabs[hidden],#shelf-mode-tabs[hidden]{display:none}#shelf-mode-tabs,#my-books-scope-tabs,#status-tabs{display:flex;gap:2px;align-self:flex-start;min-width:0;overflow-x:auto;scrollbar-width:none;background:var(--bg-surface-2);border-radius:var(--radius-sm);padding:2px}#shelf-mode-tabs::-webkit-scrollbar,#my-books-scope-tabs::-webkit-scrollbar,#status-tabs::-webkit-scrollbar{display:none}.shelf-mode-tab{padding:6px 12px;border-radius:calc(var(--radius-sm) - 2px);font-size:.8125rem;color:var(--text-muted);transition:background .15s,color .15s,box-shadow .15s;white-space:nowrap;flex-shrink:0;min-height:32px}.shelf-mode-tab.active{background:color-mix(in srgb,var(--accent) 12%,var(--bg-surface));color:var(--accent);font-weight:600;box-shadow:inset 0 -2px 0 var(--accent)}.field-input{width:100%;padding:8px 10px;background:var(--bg-surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);outline:none;font-size:.875rem;font-family:inherit;resize:vertical}.field-input:focus{border-color:var(--accent)}.rl-controls{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-sm) 0 var(--space-md);flex-wrap:wrap}.rl-controls label{display:flex;align-items:center;gap:6px;font-size:.875rem;color:var(--text-muted);cursor:pointer;-webkit-user-select:none;user-select:none}.reading-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.reading-list.tile-mode{display:grid;flex-direction:unset;gap:var(--space-md)}.rl-section-divider{grid-column:1 / -1;font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim);padding:var(--space-sm) 0 2px;border-bottom:1px solid var(--border);margin-top:var(--space-xs)}.reading-list-row{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-sm) var(--space-md);background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;transition:border-color .15s,background .15s}.reading-list-row:hover{border-color:var(--accent);background:var(--bg-surface-2)}.reading-list-row[data-finished=true]{color:var(--text-dim)}.reading-list-row[data-finished=true] .compact-cover-wrapper,.reading-list-row[data-finished=true] .interest-stars{opacity:.45}.rl-deadline{font-size:.75rem;color:var(--accent);font-weight:500;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.rl-deadline.overdue{color:var(--danger)}.rl-deadline.overdue .rl-deadline-date{background:color-mix(in srgb,var(--danger) 15%,transparent);color:var(--danger);padding:2px 6px;border-radius:99px;font-weight:700}.rl-deadline-status{font-size:.65rem;font-weight:600;padding:1px 5px;border-radius:3px;text-transform:uppercase;letter-spacing:.03em}.rl-deadline-on-track{background:color-mix(in srgb,var(--success) 20%,transparent);color:var(--success)}.rl-deadline-at-risk{background:color-mix(in srgb,var(--status-paused, #e0a050) 20%,transparent);color:var(--status-paused, #e0a050)}.library-due{font-size:.68rem;font-weight:700;padding:2px 6px;border-radius:99px;background:color-mix(in srgb,#b48ead 20%,transparent);color:#b48ead}.library-due.overdue{background:color-mix(in srgb,var(--danger) 15%,transparent);color:var(--danger)}.rl-progress{height:3px;background:var(--bg-surface-2);border-radius:2px;margin:3px 0 2px;overflow:hidden}.rl-progress-fill{height:100%;background:var(--accent);border-radius:2px;transition:width .3s}.rl-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:2px}.rl-tag-chip{font-size:.7rem;padding:1px 7px;border-radius:999px;background:var(--bg-surface-2);color:var(--text-muted);border:1px solid var(--border)}.compact-cover-wrapper{flex-shrink:0;width:40px;height:56px;border-radius:var(--radius-sm);overflow:hidden;background:var(--bg-surface-2);display:flex;align-items:center;justify-content:center}.compact-cover-wrapper img{width:100%;height:100%;object-fit:cover;transition:opacity .15s}.compact-cover-placeholder{font-size:1.2rem;color:var(--text-muted)}.rl-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.rl-title{font-size:.95rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rl-subtitle{font-size:.8rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rl-meta{display:flex;align-items:center;gap:var(--space-sm);font-size:.8rem;color:var(--text-muted);margin-top:2px}.rl-owned-badge{display:inline-flex;align-items:center;gap:3px;font-size:.75rem;color:var(--success, #4caf50)}.rl-right{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex-shrink:0}.compact-actions{display:flex;gap:4px;flex-shrink:0}.btn-rl-edit:hover{color:var(--accent)}.btn-rl-delete:hover{color:var(--danger)}#toast-container{position:fixed;top:20px;right:20px;z-index:9999;display:flex;flex-direction:column;gap:8px;pointer-events:none;max-width:380px;width:calc(100vw - 40px)}.toast{padding:12px 16px 12px 14px;border-radius:var(--radius);font-size:.875rem;line-height:1.4;background:var(--bg-surface-2);border:1px solid var(--border);border-left:3px solid var(--border);color:var(--text);pointer-events:auto;opacity:0;transform:translate(12px);transition:opacity .2s ease,transform .2s ease}.toast.toast-visible{opacity:1;transform:translate(0)}.toast-error{border-left-color:var(--danger)}.toast-info{border-left-color:var(--accent)}.toast-success{border-left-color:var(--success)}.toast-top{display:flex;align-items:flex-start;gap:8px}.toast-message{flex:1}.toast-close{flex-shrink:0;background:none;border:none;cursor:pointer;font-size:.875rem;line-height:1;opacity:.6;padding:2px 0;color:inherit;transition:opacity .15s}.toast-close:hover{opacity:1}.toast-actions{display:flex;gap:6px;margin-top:10px}.toast-action{background:var(--accent);border:none;border-radius:var(--radius-sm);color:#fff;cursor:pointer;font-size:.75rem;font-weight:500;padding:4px 10px;transition:background .15s}.toast-action:hover{background:var(--accent-hover)}.toast-celebration{border-left-color:#e6a817;background:color-mix(in srgb,#e6a817 8%,var(--bg-surface-2));font-weight:600;font-size:.9rem}.confetti-piece{position:fixed;top:-14px;left:var(--x);width:var(--w, 9px);height:var(--h, 12px);background:var(--color);border-radius:var(--br, 2px);z-index:9999;pointer-events:none;animation:confetti-fall var(--dur, 2.2s) var(--delay, 0ms) ease-in forwards}@keyframes confetti-fall{0%{transform:translateY(0) rotate(0) scaleX(1);opacity:1}60%{opacity:1}to{transform:translateY(110vh) rotate(600deg) scaleX(.4);opacity:0}}.finalize-banner{display:flex;align-items:center;gap:12px;background:color-mix(in srgb,var(--accent) 10%,var(--bg-surface-2));border:1px solid color-mix(in srgb,var(--accent) 40%,transparent);border-radius:8px;padding:10px 14px;margin-bottom:var(--space-md)}.finalize-banner-text{flex:1;font-size:.9rem;color:var(--text)}.btn-announce-shortcut{font-size:.75rem;font-weight:600;padding:3px 8px;border-radius:4px;border:1px solid var(--accent);background:color-mix(in srgb,var(--accent) 15%,transparent);color:var(--accent);cursor:pointer;white-space:nowrap;flex-shrink:0;transition:background .15s}.btn-announce-shortcut:hover{background:color-mix(in srgb,var(--accent) 28%,transparent)}#modal-confirm{max-width:420px}.confirm-body{padding:var(--space-xl) var(--space-lg);display:flex;flex-direction:column;gap:var(--space-lg)}#confirm-message{margin:0;font-size:.9375rem;line-height:1.55;color:var(--text)}.confirm-actions{display:flex;gap:var(--space-sm);justify-content:flex-end;flex-wrap:wrap}.delete-choice-actions #btn-delete-choice-cancel{margin-right:auto}.modal-body{padding:var(--space-xl) var(--space-lg);display:flex;flex-direction:column;gap:var(--space-lg)}.modal-actions{display:flex;gap:var(--space-sm);justify-content:flex-end;flex-wrap:wrap}input[type=checkbox]{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:15px;height:15px;flex-shrink:0;border:1.5px solid var(--border);border-radius:3px;background:var(--bg-surface);cursor:pointer;vertical-align:middle;position:relative;transition:background .12s,border-color .12s}input[type=checkbox]:hover{border-color:var(--accent)}input[type=checkbox]:checked{background:var(--accent);border-color:var(--accent)}input[type=checkbox]:checked:after{content:"";position:absolute;left:4px;top:1px;width:4px;height:8px;border:2px solid #fff;border-left:none;border-top:none;transform:rotate(45deg)}@media(max-width:600px){#app-header{flex-wrap:nowrap;padding:var(--space-sm) var(--space-md);padding-top:calc(var(--space-sm) + env(safe-area-inset-top));gap:var(--space-sm);align-items:center}.header-left{padding:0;flex-shrink:1;min-width:0}.header-left h1{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.agg-stats,#view-tabs,#btn-pick-for-me{display:none}#controls{padding:var(--space-sm) var(--space-md)}main{padding:var(--space-md);padding-bottom:calc(var(--space-md) + 52px + env(safe-area-inset-bottom))}#bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;padding-bottom:env(safe-area-inset-bottom);background:var(--bg-surface);border-top:1px solid var(--border);z-index:200}#card-grid{grid-template-columns:1fr;gap:var(--space-md)}.compact-row{gap:var(--space-sm)}.compact-stars,.rl-right{display:none}.rl-subtitle{font-size:.75rem}.form-grid{grid-template-columns:1fr}.detail-hero{flex-direction:column}.detail-cover-wrapper{width:100%;max-width:200px;align-self:center}dialog{width:100vw;max-width:100vw;border-radius:var(--radius-lg);margin:auto;max-height:96vh;max-height:96dvh}#modal-detail,#modal-book-detail,#modal-add-edit,#modal-about{height:90vh;height:90dvh}.modal-header{padding:var(--space-sm) var(--space-md)}.modal-phase{padding:var(--space-md)}.detail-body{padding:var(--space-md);gap:var(--space-md)}.drag-handle,.detail-book-drag-handle,.pending-position{display:none}.btn-modal-close,.btn-rl-edit,.btn-rl-delete,.btn-remove-book,.btn-remove-added,.btn.btn-icon{min-height:44px;min-width:44px;display:inline-flex;align-items:center;justify-content:center}.btn-modal-close[hidden],.btn.btn-icon[hidden]{display:none}.btn{min-height:44px}.controls-row{gap:var(--space-xs)}.rl-controls{flex-direction:column;align-items:flex-start;gap:var(--space-sm)}.detail-book-pos-input{display:none}.detail-book-title-input{order:-1;flex-basis:100%}.detail-book-row .book-pages-input,.detail-book-row .book-pages-unit{display:none}.view-mode-btn,.btn-sm,.status-tab{min-height:44px;min-width:44px}.home-section-collapse-btn,.shelf-mode-tab{min-height:44px;min-width:44px;display:inline-flex;align-items:center;justify-content:center}input,textarea,.custom-select-btn{font-size:16px}.tooltip-wrap:after{display:none}dialog::backdrop{-webkit-backdrop-filter:none;backdrop-filter:none}#toast-container{top:auto;bottom:max(20px,calc(env(safe-area-inset-bottom) + 8px));right:16px;left:16px;width:auto;max-width:none}.modal-footer-bar,#book-detail-footer{padding-bottom:max(var(--space-md),calc(var(--space-md) + env(safe-area-inset-bottom)))}#search-filter{min-width:0}.custom-select-opt{min-height:44px;display:flex;align-items:center;white-space:normal}.dropdown-item{min-height:44px;display:flex;align-items:center}.custom-select-menu{max-width:calc(100vw - 16px)}.settings-tab{padding:10px 12px;font-size:.75rem}.settings-breadcrumb{padding:var(--space-xs) var(--space-md) 0}.settings-tabs{padding:0 var(--space-md)}.settings-row{flex-direction:column;align-items:stretch;min-height:unset;gap:var(--space-sm)}.settings-row:has(.settings-checkbox){flex-direction:row;align-items:center;min-height:44px}.settings-api-key-wrap{width:100%}.settings-text-input{width:100%;min-width:0;flex:1}.settings-select{width:100%;min-width:0}.modal-footer-bar{padding-left:var(--space-md);padding-right:var(--space-md);gap:var(--space-xs)}#footer-configure-book-standalone,#footer-configure-book-series,#footer-phase2,#footer-phase3{flex:1;display:flex;gap:var(--space-xs)}#footer-configure-book-standalone[hidden],#footer-configure-book-series[hidden],#footer-phase2[hidden],#footer-phase3[hidden]{display:none}#footer-configure-book-standalone button,#footer-configure-book-series button,#footer-phase2 button,#footer-phase3 button{flex:1}#book-detail-footer button{flex:1;margin-left:0!important}.search-row{flex-wrap:wrap}.confirm-actions,.modal-actions{flex-direction:column;align-items:stretch}.confirm-actions button,.modal-actions button{width:100%}.book-detail-sections .book-detail-row{padding:8px 12px}.book-detail-sections .bdr-item{flex-direction:column;align-items:stretch;gap:4px;min-height:unset}.book-detail-sections .bdr-label{min-width:unset;text-align:left}.book-detail-sections .custom-select{width:100%}.book-detail-sections .custom-select .custom-select-btn{width:100%;justify-content:space-between;font-size:16px}.book-detail-sections .bdr-item input[type=number],.book-detail-sections .bdr-item input[type=date],.book-detail-sections .bdr-item input[type=text]{width:100%;min-width:0;box-sizing:border-box;font-size:16px}.book-detail-sections .bdr-item .book-deadline-by,.book-detail-sections .book-pages-unit,.book-detail-sections .book-duration-unit{display:none}.book-detail-sections .bdr-item .date-finished-long-ago,.book-detail-sections .bdr-item .date-finished-set-date,.book-detail-sections .bdr-item .date-finished-clear{align-self:flex-start}.book-detail-sections .bdr-item>label{min-height:44px}.pending-pages,.pending-duration{display:none}.pending-reading-state.custom-select{flex:1 1 auto;min-width:0}.pending-reading-state .custom-select-btn,.pending-format .custom-select-btn{justify-content:space-between}}@media(min-width:601px)and (max-width:1024px){dialog{max-height:96vh;max-height:96dvh}#modal-detail,#modal-book-detail,#modal-add-edit,#modal-about{height:90vh;height:90dvh}#modal-ss-edit{height:85vh;height:85dvh}#view-tabs,#btn-pick-for-me{display:none}#bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;padding-bottom:env(safe-area-inset-bottom);background:var(--bg-surface);border-top:1px solid var(--border);z-index:200}main{padding-bottom:calc(var(--space-xl) + 52px + env(safe-area-inset-bottom))}}@media(min-width:1025px)and (max-width:1400px){dialog{max-height:96vh;max-height:96dvh}#modal-detail,#modal-book-detail,#modal-add-edit,#modal-about{height:90vh;height:90dvh}#modal-ss-edit{height:85vh;height:85dvh}}.stats-empty{text-align:center;color:var(--text-dim);padding:var(--space-xl)}.stats-filter-bar{display:flex;gap:6px;flex-wrap:wrap}.stats-filter-btn{padding:5px 14px;border-radius:999px;border:1px solid var(--border);background:var(--bg-surface);color:var(--text-dim);font-size:.8125rem;font-family:inherit;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.stats-filter-btn:hover{border-color:var(--accent);color:var(--text)}.stats-filter-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}.stats-body{display:flex;flex-direction:column;gap:var(--space-lg);padding:var(--space-lg) var(--space-xl);max-width:900px;margin:0 auto}.stats-section{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);overflow:hidden;display:flex;flex-direction:column}.stats-section-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);flex-wrap:wrap;padding:12px var(--space-lg);border-bottom:1px solid var(--border)}.stats-section-title{font-size:1rem;font-weight:700;color:var(--text);margin:0;padding:12px var(--space-lg);border-bottom:1px solid var(--border)}.stats-section-body{display:flex;flex-direction:column;gap:var(--space-md);padding:var(--space-md) var(--space-lg) var(--space-lg)}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-sm)}.stat-card{display:flex;flex-direction:column;gap:4px;padding:var(--space-md);background:var(--bg-surface-2);border:1px solid var(--border);border-radius:var(--radius-md)}.stat-value{font-size:1.5rem;font-weight:700;color:var(--text);line-height:1}.stat-label{font-size:.75rem;color:var(--text-dim)}.stat-dist{display:flex;flex-direction:column;gap:8px}.stat-dist-row{display:flex;align-items:center;gap:var(--space-sm)}.stat-dist-row.is-clickable{cursor:pointer;border-radius:4px;margin:0 calc(-1 * var(--space-xs));padding:0 var(--space-xs)}.stat-dist-row.is-clickable:hover .stat-dist-bar-fill{filter:brightness(1.2)}.stat-dist-row.is-clickable:hover .stat-dist-label{color:var(--text-primary)}.stat-dist-label{width:110px;flex-shrink:0;font-size:.8125rem;color:var(--text-dim);text-align:left}.stat-dist-bar-track{flex:1;height:12px;background:var(--bg-surface-2);border-radius:999px;overflow:hidden}.stat-dist-bar-fill{height:100%;border-radius:999px;background:var(--accent);transition:width .4s ease}.dist-in-progress,.dist-reading{background:var(--status-in-progress)}.dist-want-to-read{background:var(--status-want-to-read)}.dist-dnf{background:var(--status-dnf)}.dist-completed{background:var(--status-completed)}.dist-waiting{background:var(--status-waiting)}.dist-physical{background:#6c9a8b}.dist-digital{background:#5e81ac}.dist-audio{background:#b48ead}.dist-none{background:var(--border)}.dist-interest{background:var(--accent)}.stat-dist-count{width:28px;flex-shrink:0;font-size:.8125rem;font-variant-numeric:tabular-nums;color:var(--text-dim);text-align:right}.stat-dist-pct{width:36px;flex-shrink:0;font-size:.75rem;font-variant-numeric:tabular-nums;color:var(--text-dim);text-align:right}.stat-sub{font-size:.75rem;color:var(--text-dim);line-height:1.2}.stats-list{display:flex;flex-direction:column;gap:6px;margin-top:var(--space-md)}.stats-list-item{display:flex;align-items:baseline;gap:var(--space-sm);font-size:.875rem;color:var(--text)}.stats-list-item-title{font-weight:500;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stats-list-item-meta{font-size:.8125rem;color:var(--text-dim);flex-shrink:0}.stats-badge{font-size:.6875rem;font-weight:600;padding:1px 6px;border-radius:999px;flex-shrink:0;white-space:nowrap}.stats-badge-overdue{background:color-mix(in srgb,var(--danger, #ef4444) 15%,transparent);color:var(--danger, #ef4444)}.stats-badge-soon{background:color-mix(in srgb,var(--warning, #f59e0b) 15%,transparent);color:color-mix(in srgb,var(--warning, #f59e0b) 80%,var(--text))}.stats-month-chart{display:flex;flex-direction:column;gap:6px;margin-bottom:var(--space-sm)}.stats-month-bars{display:flex;align-items:stretch;gap:4px;height:96px}.stats-month-col{flex:1;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:3px}.stats-month-bar{width:100%;background:var(--accent);border-radius:3px 3px 0 0;transition:height .2s}.stats-month-col.is-future .stats-month-bar{background:var(--bg-surface-2)}.stats-month-col.is-clickable{cursor:pointer}.stats-month-col.is-clickable:hover .stats-month-bar{filter:brightness(1.2)}.stats-month-col.is-clickable:hover .stats-month-count{color:var(--text-primary)}.stats-month-count,.stats-pages-count{font-size:.65rem;color:var(--text-muted);line-height:1;min-height:.8rem}.stats-month-labels{display:flex;gap:4px}.stats-month-labels span{flex:1;text-align:center;font-size:.65rem;color:var(--text-dim)}.stats-goal-row{display:flex;align-items:center;gap:8px;margin-top:var(--space-xs);margin-bottom:6px}.stats-goal-label{font-size:.8125rem;color:var(--text-muted);white-space:nowrap}.stats-goal-input{width:64px;padding:3px 6px;background:var(--bg-surface-2);border:1px solid var(--border);border-radius:4px;color:var(--text);font-size:.8125rem;text-align:center}.stats-goal-input:focus{outline:none;border-color:var(--accent)}.stats-goal-input::-webkit-inner-spin-button,.stats-goal-input::-webkit-outer-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0}.stats-goal-input{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.stats-goal-meta{font-size:.8125rem;color:var(--text-muted)}.stats-goal-bar{height:6px;background:var(--bg-surface-2);border-radius:3px;overflow:hidden;margin-bottom:var(--space-xs)}.stats-goal-fill{height:100%;background:var(--accent);border-radius:3px;transition:width .3s}.stats-goal-suggest-btn{font-size:.72rem;padding:2px 8px;border-radius:4px;border:1px solid var(--accent);background:transparent;color:var(--accent);cursor:pointer;white-space:nowrap}.stats-goal-suggest-btn:hover{background:var(--accent);color:var(--bg-base)}.stats-goal-suggest-source{display:block;font-size:.7rem;color:var(--text-dim);margin-top:2px;font-style:italic}.stats-goal-history{margin-top:8px;display:flex;flex-direction:column;gap:3px}.stats-goal-history-row{display:flex;align-items:center;gap:8px;font-size:.75rem;color:var(--text-dim)}.stats-goal-history-year{min-width:2.8rem;font-variant-numeric:tabular-nums;color:var(--text-secondary)}.stats-goal-history-actual{min-width:5rem}.stats-goal-history-goal{color:var(--text-muted)}.stats-goal-history-goal[data-hit=yes]:after{content:" ✓";color:var(--green, #4caf50)}.stats-goal-history-goal[data-hit=no]:after{content:" ✗";color:var(--text-dim)}.stats-goal-history-bar-track{flex:1;height:4px;background:var(--bg-surface-2);border-radius:999px;overflow:hidden;align-self:center;min-width:48px}.stats-goal-history-bar-fill{height:100%;border-radius:999px;background:var(--accent);transition:width .4s ease}.stats-goal-history-bar-fill[data-hit=yes]{background:var(--green, #4caf50)}.stats-pages-col{flex:1;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:3px}.stats-pages-col.is-future .stats-pages-bar{background:var(--bg-surface-2)}.stats-pages-goal-fill{background:var(--status-in-progress, #5ba3c9)}.stats-pages-goal-fill[data-hit=yes]{background:var(--green, #4caf50)}.stats-pages-chart-label{font-size:.72rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin:var(--space-sm) 0 4px}.stats-pages-bar{width:100%;background:var(--status-in-progress, #5ba3c9);opacity:.75;border-radius:3px 3px 0 0;transition:height .2s}.stats-pages-col.is-future .stats-pages-bar{background:var(--bg-surface-2);opacity:1}.stats-pages-goal-row{margin-top:var(--space-xs)}.stats-goal-history-pages-row{display:flex;align-items:center;gap:8px;font-size:.72rem;color:var(--text-dim);padding-left:2.8rem;flex-wrap:wrap}.stats-goal-history-pages-row .stats-goal-history-bar-track{flex:1;min-width:48px}.stats-year-picker{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:var(--space-sm)}.stats-year-chip{font-size:.72rem;font-weight:600;padding:3px 10px;border-radius:999px;border:1px solid var(--border);background:transparent;color:var(--text-muted);cursor:pointer;transition:background .15s,color .15s,border-color .15s}.stats-year-chip:hover{background:var(--bg-surface-2);color:var(--text)}.stats-year-chip.is-active{background:color-mix(in srgb,var(--accent) 15%,transparent);border-color:var(--accent);color:var(--accent)}.stats-year-compare{font-size:.75rem;color:var(--text-dim);margin-top:4px}.stats-pace-summary{font-size:.78rem;color:var(--accent);margin-top:8px;font-weight:500}.stats-pace-unavailable{color:var(--text-dim);font-weight:400;font-style:italic}.stats-pace-trend{font-size:.73rem;color:var(--text-dim);margin-top:3px}.stats-pace-projection{font-size:.78rem;color:var(--text-secondary);margin-top:6px;padding:6px 10px;background:var(--bg-surface-2);border-radius:6px;border-left:3px solid var(--accent)}.stats-pace-goal-met{border-left-color:var(--success)}.month-books-list{list-style:none;padding:0 var(--space-md) var(--space-md);margin:0;display:flex;flex-direction:column;gap:2px;max-height:60vh;overflow-y:auto}.month-books-item{display:flex;flex-direction:column;padding:8px 10px;border-radius:6px;background:var(--bg-surface-2)}.month-books-item-title{font-size:.9rem;font-weight:500;color:var(--text-primary)}.month-books-item-author{font-size:.78rem;color:var(--text-muted)}.dist-owned{background:var(--status-in-progress, #3b82f6)}.dist-library{background:#b48ead}.dist-tofind{background:var(--text-dim)}.dist-tag{background:var(--accent);opacity:.75}.stats-dist-2col{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-xl)}.stats-sub-title{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim);margin:0 0 var(--space-xs) 0}.stats-progress{display:flex;flex-direction:column;gap:6px}.stats-progress-track{height:10px;background:var(--bg-surface-2);border-radius:999px;overflow:hidden}.stats-progress-fill{height:100%;background:var(--accent);border-radius:999px;transition:width .5s ease}.stats-progress-meta{display:flex;justify-content:space-between;font-size:.8rem;color:var(--text-dim)}.detail-book-tags-row{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px;align-items:center}.detail-tag-pill-sm{font-size:.625rem;padding:1px 5px}.detail-tag-input-sm{font-size:.625rem;width:60px}.detail-split-btn{font-size:.625rem;padding:1px 6px;color:var(--text-dim);margin-left:auto;background:none;border:1px solid var(--border);border-radius:4px;cursor:pointer}.detail-split-btn:hover{color:var(--danger, #c0392b);border-color:var(--danger, #c0392b)}.detail-superseries-row{display:flex;align-items:center;gap:6px;margin-top:var(--space-sm, 8px);font-size:.75rem;color:var(--text-muted, var(--text-dim))}.detail-superseries-select .custom-select-btn{font-size:.75rem;padding:2px 6px}.detail-merge-section{display:flex;align-items:center;gap:6px;margin-top:var(--space-sm, 8px);font-size:.75rem;color:var(--text-muted, var(--text-dim))}.detail-merge-select{flex:1;min-width:0}.detail-merge-select .custom-select-btn{font-size:.75rem;padding:2px 6px;width:100%}.book-read-history{display:flex;flex-direction:column;gap:2px;padding:var(--space-xs, 6px) var(--space-sm, 10px);margin-top:var(--space-xs, 6px);background:color-mix(in srgb,var(--accent) 8%,transparent);border-left:3px solid var(--accent);border-radius:0 4px 4px 0;font-size:.8rem}.book-read-history-count{font-weight:700;color:var(--accent)}.book-read-history-prev{color:var(--text-muted);font-size:.75rem}.detail-standalone-notes-label{display:flex;flex-direction:column;gap:4px;font-size:.8125rem;color:var(--text-dim);margin-top:var(--space-sm, 8px)}.detail-standalone-notes{width:100%;resize:vertical;font-size:.875rem;font-family:inherit;padding:4px 8px;border:1px solid var(--border);border-radius:6px;background:var(--bg-surface);color:var(--text);line-height:1.5}.detail-standalone-notes:focus{outline:2px solid var(--accent);outline-offset:1px}.ss-view-toolbar{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-xl) 0;flex-wrap:wrap}.ss-sort-group{display:flex;align-items:center;gap:4px;flex:1}.ss-sort-label{font-size:.8125rem;color:var(--text-muted);margin-right:4px}.ss-sort-btn,.ss-compact-btn{font-size:.75rem;padding:3px 10px;border-radius:var(--radius-sm);border:1px solid var(--border);background:none;color:var(--text-dim);cursor:pointer;transition:background .15s,color .15s,border-color .15s}.ss-sort-btn:hover,.ss-compact-btn:hover{background:var(--bg-surface-2);color:var(--text)}.ss-sort-btn.is-active,.ss-compact-btn.is-active{background:color-mix(in srgb,var(--accent) 15%,transparent);color:var(--accent);border-color:color-mix(in srgb,var(--accent) 40%,transparent)}.ss-list{list-style:none;padding:var(--space-md) var(--space-xl);display:flex;flex-direction:column}.ss-list.tile-mode{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-lg);flex-direction:unset;padding:var(--space-lg)}.ss-row-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.ss-row-name{font-weight:600;font-size:.9375rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ss-row-meta{font-size:.8125rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.progress-mode-toggle{display:inline-flex;gap:2px;margin-right:4px;flex-shrink:0}.progress-mode-btn{font-size:.68rem;font-weight:600;padding:1px 5px;border-radius:3px;border:1px solid var(--border);background:transparent;color:var(--text-muted);cursor:pointer;line-height:1.4;transition:background .1s,color .1s}.progress-mode-btn:hover{background:var(--bg-surface-2);color:var(--text)}.progress-mode-btn.is-active{background:color-mix(in srgb,var(--accent) 20%,transparent);border-color:var(--accent);color:var(--accent)}.superseries-create{display:flex;gap:8px;align-items:center;padding:4px 0;flex-wrap:wrap}.superseries-create .btn{flex-shrink:0;white-space:nowrap}.superseries-create-input{flex:1;font-size:.875rem;padding:4px 8px;border:1px solid var(--border);border-radius:6px;background:var(--bg-surface);color:var(--text)}.superseries-create-input:focus{outline:2px solid var(--accent);outline-offset:1px}.ss-order-list{list-style:none;padding:0;margin:var(--space-xs) 0 0;display:flex;flex-direction:column;gap:2px}.ss-order-entry{display:flex;align-items:center;gap:var(--space-sm);padding:5px var(--space-sm);border-radius:var(--radius-sm)}.ss-order-entry:hover{background:var(--bg-surface-2)}.ss-order-num{width:18px;flex-shrink:0;font-size:.75rem;color:var(--text-dim);text-align:right;font-variant-numeric:tabular-nums}.ss-order-thumb-wrap{width:28px;height:42px;flex-shrink:0;border-radius:2px;overflow:hidden;background:var(--bg-surface-2)}.ss-order-thumb{width:100%;height:100%;object-fit:cover;object-position:top;display:block}.ss-order-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.ss-order-name{font-size:.8125rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ss-order-author{font-size:.75rem;color:var(--text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ss-order-author[data-author]{cursor:pointer}.ss-order-author[data-author]:hover{color:var(--accent);text-decoration:underline}.ss-order-meta{display:flex;align-items:center;gap:var(--space-xs);flex-shrink:0}.ss-order-pill{font-size:.6875rem;padding:1px 6px;border-radius:999px;white-space:nowrap}.ss-order-pill--read{background:color-mix(in srgb,var(--success, #22c55e) 15%,transparent);color:var(--success, #22c55e)}.ss-order-pill--unread{background:var(--bg-surface-2);color:var(--text-dim)}.ss-order-pill--done{background:color-mix(in srgb,var(--success, #22c55e) 15%,transparent);color:var(--success, #22c55e)}.ss-order-series-tag{font-size:.65rem;color:var(--accent);font-weight:600;letter-spacing:.02em;line-height:1}.ss-order-series-group-header{font-size:.7rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;padding:var(--space-xs) 0 2px;margin-top:var(--space-xs);border-bottom:1px solid var(--border)}.ss-order-reorder{display:flex;flex-direction:column;gap:1px;flex-shrink:0}.ss-order-reorder button{padding:1px 4px;font-size:.625rem;line-height:1;background:none;border:1px solid var(--border);border-radius:2px;color:var(--text-dim);cursor:pointer}.ss-order-reorder button:disabled{opacity:.3;cursor:default}.ss-order-remove{flex-shrink:0;font-size:.875rem;color:var(--text-dim);background:none;border:none;cursor:pointer;padding:2px 4px;line-height:1}.ss-order-remove:hover{color:var(--danger)}.ss-order-add-row{display:flex;gap:var(--space-sm);padding:var(--space-sm) var(--space-lg);flex-wrap:wrap;flex-shrink:0;border-top:1px solid var(--border)}.ss-order-add-row:empty{display:none}.ss-order-clear-btn{display:block;width:100%;margin-top:var(--space-xs);padding:6px var(--space-sm);font-size:.8125rem;border-radius:4px}.ss-edit-label{display:flex;flex-direction:column;gap:var(--space-xs);font-size:.875rem;color:var(--text-muted);margin-bottom:var(--space-sm)}.ss-edit-input,.ss-edit-textarea{font-size:.875rem;padding:4px 8px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-surface);color:var(--text);width:100%;box-sizing:border-box}.ss-edit-input:focus,.ss-edit-textarea:focus{outline:2px solid var(--accent);outline-offset:1px}.ss-edit-textarea{resize:vertical;min-height:72px}.detail-superseries-crumb{font-size:.8rem;color:var(--text-dim);padding:var(--space-sm) var(--space-lg);border-top:1px solid var(--border)}button.detail-superseries-crumb{display:block;background:none;border:none;cursor:pointer;text-align:left;width:100%;min-height:44px;display:flex;align-items:center}button.detail-superseries-crumb:hover{color:var(--accent);text-decoration:underline}#grid-ss-filter-wrap{display:flex;align-items:center}#grid-ss-filter-wrap[hidden]{display:none}.home-body{padding:var(--space-lg) var(--space-xl);display:flex;flex-direction:column;gap:var(--space-md)}.home-section{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);overflow:hidden;display:flex;flex-direction:column}.home-section-header{display:flex;align-items:center;justify-content:space-between;padding:12px var(--space-lg);gap:var(--space-md);cursor:pointer;border-bottom:1px solid var(--border);-webkit-user-select:none;user-select:none}.home-section-header:hover{background:var(--bg-hover)}.home-section-header:has(+.home-section-content[hidden]){border-bottom-color:transparent}.home-section-title-group{display:flex;align-items:center;gap:var(--space-xs);flex:1;min-width:0}.home-section-collapse-btn{font-size:1rem;background:none;border:none;cursor:pointer;color:var(--text-muted);padding:2px 4px;line-height:1;flex-shrink:0;border-radius:4px}.home-section-header:hover .home-section-collapse-btn{color:var(--text)}.home-section-content[hidden]{display:none}.home-section-title{font-size:1rem;font-weight:700;margin:0;color:var(--text)}.home-section-link{font-size:.8125rem;color:var(--accent);background:none;border:none;cursor:pointer;padding:0;flex-shrink:0}.home-section-link:hover{text-decoration:underline}.home-section-content{display:flex;flex-direction:column;padding:var(--space-md) var(--space-lg) var(--space-lg)}.home-empty-msg{font-size:.875rem;color:var(--text-dim);font-style:italic;margin:0}.home-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:2px}.home-list-item{display:flex;align-items:center;gap:var(--space-md);padding:8px var(--space-sm);border-radius:var(--radius-sm);cursor:pointer;transition:background .15s}.home-list-item:hover{background:var(--bg-hover)}.home-mini-cover{width:36px;height:54px;flex-shrink:0;border-radius:4px;overflow:hidden;background:var(--bg-surface-2);position:relative}.home-mini-cover:before{content:attr(data-initial);position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:.9rem;font-weight:700;color:var(--text-dim)}.home-mini-cover img{width:100%;height:100%;object-fit:cover;display:block;position:relative;z-index:1}.home-mini-cover.cover-missing img{opacity:0}.home-item-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.home-item-name{font-size:.9rem;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-item-meta{font-size:.75rem;color:var(--text-muted)}.home-item-trailing{font-size:.75rem;color:var(--text-muted);flex-shrink:0;white-space:nowrap}.home-card-deadline,.home-item-deadline{font-size:.68rem;font-weight:700;padding:2px 6px;border-radius:99px;background:color-mix(in srgb,var(--warning, #f59e0b) 20%,transparent);color:var(--warning, #f59e0b);margin-top:4px;align-self:flex-start}.home-card-deadline.overdue,.home-item-deadline.overdue{background:color-mix(in srgb,var(--danger) 20%,transparent);color:var(--danger)}.home-card-priority,.home-item-priority{font-size:.68rem;font-weight:700;padding:2px 6px;border-radius:99px;background:color-mix(in srgb,var(--accent) 20%,transparent);color:var(--accent);margin-top:4px;align-self:flex-start}.home-rec-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:8px;padding:var(--space-xs) 2px var(--space-sm)}.home-rec-grid::-webkit-scrollbar{display:none}.home-rec-tile{flex:0 0 136px;width:136px;scroll-snap-align:start;display:flex;flex-direction:column;align-items:flex-start;gap:5px;padding:var(--space-xs);border-radius:var(--radius-sm);cursor:pointer;transition:background .15s}.home-rec-tile:hover{background:var(--bg-hover)}.home-rec-swap-btn{margin-top:auto;background:none;border:none;padding:2px 0;font-size:.67rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:var(--text-dim);cursor:pointer;opacity:0;pointer-events:none;transition:color .15s,opacity .15s;align-self:flex-start}.home-rec-tile:hover .home-rec-swap-btn{opacity:1;pointer-events:auto}.home-rec-swap-btn:hover{color:var(--accent)}.home-rec-nav-row{display:flex;justify-content:flex-end;gap:4px;margin-top:2px}.home-rec-nav-btn{background:var(--bg-surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;font-size:1.1rem;line-height:1;padding:1px 8px 2px;transition:background .15s,color .15s}.home-rec-nav-btn:hover{background:var(--bg-hover);color:var(--text)}.home-rec-cover{width:100%;aspect-ratio:2 / 3;border-radius:5px;overflow:hidden;background:var(--bg-surface-2);position:relative;flex-shrink:0}.home-rec-cover:before{content:attr(data-initial);position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:1.4rem;font-weight:700;color:var(--text-dim)}.home-rec-cover img{width:100%;height:100%;object-fit:cover;display:block;position:relative;z-index:1}.home-rec-cover.cover-missing img{opacity:0}.home-rec-title{font-size:.78rem;font-weight:600;line-height:1.25;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;word-break:break-word}.home-rec-meta{font-size:.7rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%}.home-rec-order-note{font-size:.62rem;color:var(--text-dim);font-style:italic;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%;margin-top:-2px}.home-rec-chip{font-size:.6rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:2px 6px;border-radius:3px;line-height:1.3;align-self:flex-start}.home-rec-chip[data-reason=shortest-in-progress]{background:color-mix(in srgb,var(--rec-in-progress) 20%,transparent);color:var(--rec-in-progress)}.home-rec-chip[data-reason=quickest-finish]{background:color-mix(in srgb,var(--rec-quickest) 20%,transparent);color:var(--rec-quickest)}.home-rec-chip[data-reason=priority]{background:color-mix(in srgb,var(--rec-priority) 20%,transparent);color:var(--rec-priority)}.home-rec-chip[data-reason=shortest-standalone]{background:color-mix(in srgb,var(--rec-standalone) 20%,transparent);color:var(--rec-standalone)}.home-rec-chip[data-reason=longest-queued]{background:color-mix(in srgb,var(--rec-queued) 20%,transparent);color:var(--rec-queued)}.home-rec-chip[data-reason=high-interest]{background:color-mix(in srgb,var(--rec-high-interest) 20%,transparent);color:var(--rec-high-interest)}.home-rec-chip[data-reason=random]{background:color-mix(in srgb,var(--rec-random) 20%,transparent);color:var(--rec-random)}.home-section[hidden]{display:none}.home-view-header{display:flex;justify-content:flex-end;gap:var(--space-md);padding:var(--space-sm) var(--space-xl) 0}.home-customize-btn{font-size:.75rem;font-weight:600;color:var(--text-muted);border:1px solid var(--border);border-radius:var(--radius-sm);background:transparent;padding:4px 10px;cursor:pointer;transition:color .15s,border-color .15s,background .15s}.home-customize-btn:hover,.home-customize-btn.is-active{color:var(--accent);border-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent)}.home-customize-panel{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-md) var(--space-xl);margin:var(--space-sm) var(--space-xl) 0}.home-customize-title{font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim);margin:0 0 var(--space-sm)}.home-customize-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.home-customize-item{display:flex;align-items:center;gap:var(--space-sm)}.home-customize-item label{display:flex;align-items:center;gap:6px;font-size:.8125rem;cursor:pointer;-webkit-user-select:none;user-select:none;flex:1}.home-customize-arrows{display:flex;flex-direction:column;gap:1px;flex-shrink:0}.home-customize-order-btn{font-size:.65rem;line-height:1;padding:1px 4px;border:1px solid var(--border);border-radius:3px;background:transparent;color:var(--text-muted);cursor:pointer;transition:background .12s,color .12s}.home-customize-order-btn:not(:disabled):hover{background:var(--bg-surface-2);color:var(--text)}.home-customize-order-btn:disabled{opacity:.3;cursor:default}.home-queue-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1px}.home-queue-slot{display:flex;align-items:center;gap:var(--space-sm);padding:7px var(--space-sm);border-radius:var(--radius-sm);cursor:pointer;transition:background .1s}.home-queue-slot:hover{background:var(--bg-hover)}.home-queue-num{font-size:.7rem;font-weight:700;color:var(--text-dim);width:14px;text-align:right;flex-shrink:0}.home-queue-cover{width:30px;height:44px;border-radius:3px;flex-shrink:0;overflow:hidden;background:var(--bg-surface-2);position:relative}.home-queue-cover img{width:100%;height:100%;object-fit:cover;display:block}.home-queue-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.home-queue-title{font-size:.8125rem;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-queue-meta{font-size:.72rem;color:var(--text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-queue-reason{font-size:.65rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--accent)}.home-queue-reason[data-reason=deadline],.home-queue-reason[data-reason=priority]{color:var(--rec-priority)}.home-queue-reason[data-reason=in-progress-series]{color:var(--status-in-progress)}.home-queue-reason[data-reason=want-to-read-owned],.home-queue-reason[data-reason=standalone-owned]{color:var(--rec-standalone)}.home-queue-reason[data-reason=standalone-library]{color:var(--rec-quickest)}.home-queue-swap{background:transparent;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;font-size:1rem;line-height:1;padding:2px 5px;flex-shrink:0;transition:color .1s,border-color .1s}.home-queue-swap:hover{color:var(--text);border-color:var(--text-muted)}.home-queue-exhausted{display:flex;align-items:center;gap:var(--space-sm);padding:6px var(--space-sm);opacity:.55;pointer-events:none;-webkit-user-select:none;user-select:none}.home-queue-exhausted-icon{font-size:.7rem;font-weight:700;color:var(--text-dim);width:14px;text-align:right;flex-shrink:0}.home-queue-exhausted-msg{font-size:.72rem;color:var(--text-dim);font-style:italic}.home-dashboard{display:flex;flex-direction:column;gap:var(--space-xl)}.home-dashboard-col{display:contents}[data-section-id=home-reading]{order:1}[data-section-id=home-recs]{order:2}[data-section-id=home-queue]{order:3}[data-section-id=home-coming-up]{order:4}[data-section-id=home-in-progress]{order:5}[data-section-id=home-library]{order:6}[data-section-id=home-stats]{order:7}[data-section-id=home-next-universe]{order:8}[data-section-id=home-recent]{order:10}[data-section-id=home-waiting]{order:11}[data-section-id=home-reread]{order:12}@media(min-width:780px){.home-dashboard{flex-direction:row;align-items:flex-start;gap:var(--space-xl)}.home-dashboard-col{display:flex;flex-direction:column;flex:1;gap:var(--space-xl);min-width:0}.home-section{order:0}}.home-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-md)}@media(max-width:600px){.home-body{padding:var(--space-lg) 0;gap:var(--space-lg)}.home-dashboard{gap:var(--space-lg)}.home-stats-grid{grid-template-columns:repeat(2,1fr)}.stats-body{padding:var(--space-md) var(--space-sm)}.stat-grid{grid-template-columns:1fr 1fr}.stats-dist-2col{grid-template-columns:1fr}.stat-dist-label{width:80px}}.home-stat{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-md);display:flex;flex-direction:column;gap:4px;text-align:center}.home-stat-value{font-size:1.75rem;font-weight:800;color:var(--accent);line-height:1}.home-stat-label{font-size:.75rem;color:var(--text-muted)}.home-stats-chart{margin-top:var(--space-md);padding-top:var(--space-md);border-top:1px solid var(--border)}.home-stats-chart-title{font-size:.68rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:20px}.home-stats-bars{display:flex;align-items:flex-end;gap:4px;height:88px}.home-stats-bar-fill{flex:1;min-height:3px;background:color-mix(in srgb,var(--accent) 55%,transparent);border-radius:3px 3px 0 0;transition:background .15s;position:relative;display:flex;align-items:flex-start;justify-content:center}.home-stats-bar-fill:hover{background:var(--accent)}.home-stats-bar-fill.is-zero{background:var(--bg-surface-2);min-height:3px}.home-stats-bar-val{font-size:.6rem;font-weight:700;color:var(--text-muted);position:absolute;top:-14px;left:50%;transform:translate(-50%);white-space:nowrap}.home-stats-bar-labels{display:flex;gap:4px;margin-top:6px}.home-stats-bar-label{flex:1;font-size:.6rem;color:var(--text-dim);text-align:center;overflow:hidden}.home-stats-chart .stat-dist{gap:10px}.home-stats-chart .stat-dist-label{width:88px}.home-stats-chart .stat-dist-bar-track{height:10px}.home-coming-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:4px}.home-coming-item{display:flex;align-items:center;gap:var(--space-md);padding:6px var(--space-sm);border-radius:var(--radius-sm);font-size:.875rem}.home-coming-date{display:flex;flex-direction:column;align-items:center;padding:3px 8px;border-radius:6px;flex-shrink:0;font-variant-numeric:tabular-nums;line-height:1.15;min-width:58px;text-align:center}.home-coming-date-day{font-size:.72rem;font-weight:700}.home-coming-date-kind{font-size:.6rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase;opacity:.8}.home-coming-date.is-deadline{background:color-mix(in srgb,var(--warning, #f59e0b) 20%,transparent);color:var(--warning, #f59e0b)}.home-coming-date.is-overdue{background:color-mix(in srgb,var(--status-dnf, #e05252) 20%,transparent);color:var(--status-dnf, #e05252)}.home-coming-date.is-release{background:color-mix(in srgb,var(--accent) 20%,transparent);color:var(--accent)}.home-coming-date.is-library-due{background:color-mix(in srgb,#b48ead 20%,transparent);color:#b48ead}.home-coming-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.home-coming-title{font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-coming-sub{font-size:.75rem;color:var(--text-muted)}#modal-author{width:min(560px,95vw);max-height:80vh;overflow-y:auto}.author-modal-section-heading{font-size:.8rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);margin:var(--space-md) 0 var(--space-xs);padding-bottom:var(--space-xs);border-bottom:1px solid var(--border)}.author-modal-section-heading:first-child{margin-top:0}.author-modal-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:2px}.author-modal-row{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-xs) var(--space-xs);border-radius:6px;cursor:pointer;transition:background .12s}.author-modal-row:hover{background:var(--bg-hover)}.author-row-cover{width:36px;height:54px;border-radius:4px;flex-shrink:0;font-size:1rem}.author-row-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.author-row-title{font-size:.9rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.author-row-meta{font-size:.78rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.author-row-badge{flex-shrink:0}.author-modal-empty{color:var(--text-muted);font-size:.9rem;padding:var(--space-md) 0}.import-mode-summary{font-size:.9rem;color:var(--text-muted);margin:0 0 var(--space-md)}.import-mode-options{display:flex;flex-direction:column;gap:var(--space-sm);margin-bottom:var(--space-md)}.import-mode-btn{display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:var(--space-sm) var(--space-md);border:1px solid var(--border);border-radius:6px;background:var(--bg-surface);text-align:left;cursor:pointer;transition:border-color .15s,background .15s;width:100%}.import-mode-btn:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent)}.import-mode-btn-label{font-size:.9rem;font-weight:700;color:var(--text)}.import-mode-btn-hint{font-size:.8rem;color:var(--text-muted);font-weight:400}.view-tab--import{color:var(--accent)}#view-series-detail[hidden]{display:none}#view-series-detail{display:flex;flex-direction:column;min-height:0;overflow-y:auto;padding:var(--space-xl);max-width:1200px;margin:0 auto;width:100%;box-sizing:border-box}.sdp-breadcrumb{margin-bottom:var(--space-md)}.sdp-back-btn{background:none;border:none;color:var(--accent);cursor:pointer;font-size:.875rem;font-weight:600;min-height:44px;padding:4px 0;display:inline-flex;align-items:center;gap:6px;transition:opacity .15s}.sdp-back-btn:hover{opacity:.75}.sdp-banner{border-radius:10px;margin-bottom:var(--space-lg);max-height:200px}.sdp-dnf-notice{margin-bottom:var(--space-md)}.sdp-body{display:grid;grid-template-columns:minmax(0,380px) 1fr;gap:var(--space-xl);align-items:start}@media(max-width:760px){.sdp-body{grid-template-columns:1fr}}.sdp-info{position:sticky;top:var(--space-xl)}.sdp-book-section{display:flex;flex-direction:column;gap:var(--space-sm)}.sdp-delete-bar{margin-top:var(--space-lg);padding-top:var(--space-md);border-top:1px solid var(--border)}#view-superseries-detail[hidden]{display:none}#view-superseries-detail{display:flex;flex-direction:column;min-height:0;overflow-y:auto;padding:var(--space-xl);max-width:1200px;margin:0 auto;width:100%;box-sizing:border-box}.ssdp-body{display:grid;grid-template-columns:minmax(0,340px) 1fr;gap:var(--space-xl);align-items:start}@media(max-width:760px){.ssdp-body{grid-template-columns:1fr}}.ssdp-info{position:sticky;top:var(--space-xl);display:flex;flex-direction:column;gap:var(--space-md)}.ssdp-cover-strip{width:100%;height:140px;border-radius:10px;overflow:hidden;display:flex;background:var(--bg-surface-2);margin-bottom:var(--space-md);position:relative}.ssdp-cover-strip img{width:100%;height:100%;object-fit:cover}.ssdp-cover-strip .ss-cover-slot{flex:1;min-width:0;overflow:hidden}.ssdp-cover-strip .ss-cover-slot img{width:100%;height:100%;object-fit:cover}.ssdp-name-input{font-size:1.4rem;font-weight:700;background:none;border:none;color:var(--text);padding:2px 4px;border-radius:4px;width:100%;box-sizing:border-box}.ssdp-name-input:hover{background:var(--bg-surface-2)}.ssdp-name-input:focus{outline:2px solid var(--accent);background:var(--bg-surface-2)}.ssdp-stats{font-size:.85rem;color:var(--text-muted)}.ssdp-notes-label{font-size:.75rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px}.ssdp-notes-textarea{width:100%;min-height:80px;resize:vertical;background:var(--bg-surface-2);border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:.875rem;padding:8px;box-sizing:border-box}.ssdp-notes-textarea:focus{outline:2px solid var(--accent)}.ssdp-member-section{display:flex;flex-direction:column;gap:var(--space-sm)}.ssdp-section-title{font-size:.8rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px}#view-book-detail[hidden]{display:none}#view-book-detail{display:flex;flex-direction:column;min-height:0;overflow-y:auto;padding:var(--space-xl);max-width:860px;margin:0 auto;width:100%;box-sizing:border-box}.bdp-hero{display:flex;gap:var(--space-lg);align-items:flex-start;margin-bottom:var(--space-lg)}@media(max-width:600px){.bdp-hero{flex-direction:column}}.bdp-cover{flex-shrink:0;width:120px}.bdp-title-block{flex:1;min-width:0}.bdp-title-input{font-size:1.4rem;font-weight:700;background:none;border:none;color:var(--text);padding:2px 4px;border-radius:4px;width:100%;box-sizing:border-box;margin-bottom:4px}.bdp-title-input:hover{background:var(--bg-surface-2)}.bdp-title-input:focus{outline:2px solid var(--accent);background:var(--bg-surface-2)}.bdp-body{display:flex;flex-direction:column;gap:var(--space-md)}.bdp-delete-bar{margin-top:var(--space-lg);padding-top:var(--space-md);border-top:1px solid var(--border)}.import-review-badge{display:inline-block;font-size:.72rem;font-weight:700;margin-left:2px}#view-import-review[hidden]{display:none}#view-import-review{display:flex;flex-direction:column;padding:var(--space-lg) var(--space-xl);gap:var(--space-md);max-width:860px;margin:0 auto}.import-review-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);flex-wrap:wrap}.import-review-desc{font-size:.875rem;color:var(--text-muted);margin:0}.import-review-header-actions{display:flex;align-items:center;gap:var(--space-sm)}.import-review-mode-label{display:flex;align-items:center;gap:var(--space-sm);font-size:.8125rem;color:var(--text-muted)}.import-review-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1px}.import-review-row{display:grid;grid-template-columns:20px auto 1fr auto;align-items:center;gap:var(--space-sm);padding:var(--space-xs) var(--space-sm);border-radius:5px;background:var(--bg-surface)}.import-review-row:hover{background:var(--bg-hover)}.import-review-row input[type=checkbox]{cursor:pointer}.import-review-status{font-size:.65rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:2px 6px;border-radius:3px;white-space:nowrap}.import-review-status[data-status=new]{background:color-mix(in srgb,var(--status-in-progress) 18%,transparent);color:var(--status-in-progress)}.import-review-status[data-status=conflict]{background:color-mix(in srgb,#c95050 18%,transparent);color:#c95050}.import-review-status[data-status=duplicate]{background:var(--bg-surface-2);color:var(--text-dim)}.import-review-title{font-size:.875rem;font-weight:600}.import-review-meta{font-size:.78rem;color:var(--text-muted)}.import-review-conflict-hint{font-size:.72rem;color:#c95050;grid-column:2 / -1;padding-left:0}.import-review-empty{color:var(--text-muted);font-size:.9rem;margin:0}.import-review-footer{display:flex;gap:var(--space-sm);padding-top:var(--space-sm);border-top:1px solid var(--border);position:sticky;bottom:0;background:var(--bg-main);padding-bottom:var(--space-sm)}.import-review-select-all{display:flex;align-items:center;gap:6px;font-size:.8125rem;color:var(--text-muted);cursor:pointer;padding:var(--space-xs) 0;border-bottom:1px solid var(--border);margin-bottom:2px}.all-books-bulk-bar{display:flex;align-items:center;gap:var(--space-sm);flex-wrap:wrap;padding:var(--space-xs) var(--space-sm);background:var(--bg-surface-2);border-radius:6px;margin-bottom:var(--space-sm)}.all-books-bulk-bar[hidden]{display:none}.ab-select-all-label{display:flex;align-items:center;gap:6px;font-size:.82rem;cursor:pointer;white-space:nowrap}.ab-selected-count{font-size:.82rem;color:var(--text-muted);white-space:nowrap}.ab-bulk-actions{display:flex;gap:var(--space-xs);margin-left:auto}.ab-row-checkbox{flex-shrink:0;cursor:pointer;accent-color:var(--accent);width:15px;height:15px}.series-grid-bulk-bar{display:flex;align-items:center;gap:var(--space-sm);flex-wrap:wrap;padding:var(--space-xs) var(--space-sm);background:var(--bg-surface-2);border-radius:6px;margin-bottom:var(--space-sm)}.series-grid-bulk-bar[hidden]{display:none}.grid-bulk-tag-row{display:flex;align-items:center;gap:var(--space-xs)}.grid-bulk-tag-input{font-size:.82rem;padding:3px 8px;border:1px solid var(--border);border-radius:4px;background:var(--bg-surface);color:var(--text);width:120px}.grid-bulk-tag-input:focus{outline:2px solid var(--accent);outline-offset:1px}.series-card{position:relative}.card-select-label{display:none;position:absolute;top:8px;left:8px;z-index:3;cursor:pointer;pointer-events:none;background:#00000073;border-radius:4px;padding:3px;line-height:0}.card-select-cb{accent-color:var(--accent);width:15px;height:15px;cursor:pointer;pointer-events:none}#card-grid.grid-select-mode .card-select-label{display:flex}.series-card.is-selected{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent),var(--shadow-card)}.grid-list-select-cb{flex-shrink:0;cursor:pointer;accent-color:var(--accent);width:15px;height:15px}.reading-log-month-divider{list-style:none;padding:var(--space-xs) var(--space-sm);font-size:.75rem;font-weight:700;color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;border-bottom:1px solid var(--border);margin-top:var(--space-sm);margin-bottom:2px}.reading-log-month-divider:first-child{margin-top:0}.rl-date-clickable{cursor:pointer}.rl-date-clickable:hover{color:var(--accent);text-decoration:underline}.rl-date-edit-btn{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;border:none;background:transparent;color:var(--text-muted);font-size:.75rem;border-radius:3px;cursor:pointer;opacity:0;line-height:1;transition:opacity .1s,color .1s,background .1s;flex-shrink:0}.compact-row:hover .rl-date-edit-btn,.rl-date-edit-btn:focus-visible{opacity:1}.rl-date-edit-btn:hover{color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent)}.rl-date-add-btn{display:inline-flex;align-items:center;font-size:.72rem;font-weight:600;color:var(--text-muted);background:transparent;border:1px dashed var(--border);border-radius:3px;padding:1px 5px;cursor:pointer;opacity:0;transition:opacity .1s,color .1s,border-color .1s}.compact-row:hover .rl-date-add-btn,.rl-date-add-btn:focus-visible{opacity:1}.rl-date-add-btn:hover{color:var(--accent);border-color:var(--accent)}.rl-date-input{font-size:.8125rem;font-family:inherit;color:var(--text);background:var(--bg-surface);border:1px solid var(--accent);border-radius:4px;padding:1px 4px;height:26px;width:130px;flex-shrink:0;outline:none}.rl-date-input:focus{box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 25%,transparent)}.compact-tile.is-selected .tile-cover-wrapper{outline:2px solid var(--accent);outline-offset:2px}.agg-link{font-size:.8125rem;padding:0;background:none;border:none;color:var(--accent);cursor:pointer;text-decoration:underline;text-underline-offset:2px;white-space:nowrap}.agg-link:hover{color:var(--accent-hover)}
