.chart-grid .muted,.aspects+.muted{text-align:center}.book-page{grid-template-columns:minmax(240px,290px) minmax(0,1fr);gap:28px;max-width:1120px;margin-inline:auto}.book-page .segmented.vertical{border-radius:14px}.book-page .segmented .seg{min-height:44px;font-size:var(--type-body)}.book-live-note{min-height:2.7em;font-size:var(--type-body);color:var(--muted);line-height:1.5;margin:12px 0}.book-page[data-reading-status=read] .book-live-note{color:var(--read-fg)}.book-page .toggle{border-radius:12px;min-height:44px}.book-main{min-width:0}.book-main>.card{padding:28px}.book-main .titles{background:transparent;border:0;box-shadow:none;padding:4px 0 24px}.book-ratings>.small{margin-top:12px}.book-ratings .rating-row.overall{padding:20px;background:var(--accent-soft);border-radius:16px;border-bottom:0;margin:24px 0 20px}.book-ratings .aspects{display:grid;grid-template-columns:1fr 1fr;gap:12px}.book-ratings .aspects .rating-row{padding:16px;border:1px solid var(--border);border-radius:14px;grid-template-columns:1fr;gap:4px}.book-ratings .rating-label{color:var(--text);font-size:var(--type-body)}.book-ratings .stars-track{min-height:44px;display:flex;align-items:center;font-size:var(--type-section)}.book-ratings .rating-clear{min-height:32px;padding:4px 8px}.book-ratings .aspects .rating-row:focus-within{border-color:var(--accent);background:var(--accent-soft)}.book-ratings [data-el=aspectSummary]{margin:20px 0 0;padding-top:16px;border-top:1px dashed var(--border-strong)}.book-main .fold{padding:0}.book-main .fold summary{padding:24px 28px;font-size:var(--type-body)}.book-main .fold-body{padding:0 28px 28px}.book-journal{background:linear-gradient(135deg,var(--surface),var(--surface-2))}.journal-note{font-size:var(--type-body);color:var(--muted);margin:0 0 24px}.book-journal textarea{min-height:100px;resize:vertical;border-radius:14px;padding:16px;line-height:1.75;background:var(--surface);transition:border-color 180ms,box-shadow 180ms}.book-journal textarea:focus{box-shadow:0 0 0 4px var(--accent-soft)}.book-journal label{font-size:var(--type-body)}.journal-count{color:var(--muted);font-size:var(--type-body);margin-bottom:0;text-align:right}.book-savebar{position:sticky;bottom:16px;z-index:5;display:flex;align-items:center;flex-wrap:wrap;padding:16px;gap:12px;border:1px solid var(--border-strong);border-radius:18px;background:var(--surface);box-shadow:var(--shadow-lift);margin-top:24px}.book-save-state{flex:1 1 160px;font-size:var(--type-body);color:var(--muted)}.has-edits .book-save-state{color:var(--accent)}.book-savebar .btn{min-height:44px;border-radius:12px}.book-page input,.book-page textarea{scroll-margin-block:110px}@keyframes journal-open{from{opacity:.4;transform:translateY(-7px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:no-preference){.book-main details[open]>.fold-body{animation:journal-open 260ms var(--ease-out)}.book-ratings .rating-row{transition:background 200ms,border-color 200ms}}@media(max-width:1050px)and (min-width:821px){.book-page{grid-template-columns:240px minmax(0,1fr);gap:20px}.book-ratings .aspects{grid-template-columns:1fr}.book-main>.card{padding:20px}.book-main>.fold{padding:0}}@media(max-width:820px){.book-page{grid-template-columns:minmax(0,1fr);gap:24px}.book-main .titles{padding-top:0}}@media(max-width:540px){.book-main>.card{padding:20px}.book-main>.titles{padding:0 0 16px}.book-main>.fold{padding:0}.book-main .fold summary{padding:20px}.book-main .fold-body{padding:0 20px 20px}.book-ratings .aspects{grid-template-columns:minmax(0,1fr)}.book-ratings .rating-row.overall{padding:16px}.book-ratings .overall .rating-value{display:none}.book-savebar{bottom:10px}.book-save-state{flex-basis:100%}.book-savebar .primary{flex:1}}@media(max-width:820px){.book-main{display:contents}.book-main>.titles{grid-row:1}.book-savebar{bottom:88px}}.ambient{position:fixed;inset:0;z-index:-2;pointer-events:none;overflow:hidden;contain:strict}#ambient-control .ico-still{display:none}:root[data-ambient-paused=true] #ambient-control .ico-motion{display:none}:root[data-ambient-paused=true] #ambient-control .ico-still{display:inline}:root[data-bg=on] .ambient{display:none}:root[data-bg=on] #ambient-control,:root[data-motion=reduced] #ambient-control{display:none}@media(prefers-reduced-motion:reduce){#ambient-control{display:none}}.ambient{opacity:1}.reading-scene{position:absolute;inset:0;overflow:hidden;pointer-events:none;opacity:var(--scene-opacity,.65)}.scene-forest,.scene-room{position:absolute;inset:0;background-position:center;background-size:cover}.scene-forest{background-image:url(/static/media/forest.avif);opacity:var(--scene-forest,1)}.scene-room{background-image:url(/static/media/reading-room.avif);opacity:var(--scene-room,0)}.scene-mist{position:absolute;inset:-20%;background:radial-gradient(ellipse at 30% 70%,#d2eee5,transparent 55%);opacity:var(--scene-mist,.15);animation:scene-mist 38s ease-in-out infinite alternate}.scene-light{position:absolute;width:4px;height:4px;border-radius:50%;color:var(--scene-light-color,#ffe39a);background:currentColor;box-shadow:0 0 9px 3px currentColor;opacity:var(--scene-lights,.8);animation:scene-float var(--scene-speed,16s) ease-in-out infinite alternate;animation-delay:var(--delay)}.scene-light:nth-child(3n){width:2px;height:2px}.reading-scene *{animation-play-state:var(--scene-play,running)}@keyframes scene-float{0%{transform:translate(0,0);opacity:calc(var(--scene-lights,.8) * .12)}45%{opacity:var(--scene-lights,.8)}100%{transform:translate(var(--travel),-65px);opacity:calc(var(--scene-lights,.8) * .25)}}@keyframes scene-mist{to{transform:translate(7%,-3%)}}.library-canvas{position:relative;isolation:isolate}.library-canvas>.reading-scene{z-index:-1}:root[data-ambient-paused=true] .reading-scene *,:root[data-motion=reduced] .reading-scene *,:root[data-page-hidden=true] .reading-scene *,:host-context([data-ambient-paused="true"]) .reading-scene *,:host-context([data-motion="reduced"]) .reading-scene *,:host-context([data-page-hidden="true"]) .reading-scene *{animation-play-state:paused}@media(prefers-reduced-motion:reduce){.reading-scene *{animation:none!important}}.feature-heading,.page-head{position:relative;margin:0 0 1.25rem;padding:0;border-radius:0;background:none}.page-head,.feature-heading,.feature-page,.settings-workspace,.stats-grid .stat,.now-head h2{text-shadow:var(--halo-shadow);color:var(--halo-fg);--muted: var(--halo-muted)}.head-actions,.btn,.icon-btn,.chip,.filter-chip,.menu,.card,.settings-card,.discover-card,.book,.book-row,.now-row,.filter-panel,input,select,textarea{text-shadow:none;color:var(--text);--muted: var(--muted-base)}.book-main .titles,.crumb{text-shadow:var(--halo-shadow);color:var(--halo-fg);--muted: var(--halo-muted)}.page-head a:not(.btn),.feature-heading a:not(.btn),.feature-page a:not(.btn),.settings-workspace a:not(.btn),.crumb a:not(.btn){color:var(--halo-accent)}.btn.ghost{text-shadow:var(--halo-shadow)}.btn.ghost:hover{text-shadow:none}.feature-heading::after,.page-head::after{content:"";position:absolute;inset:auto 0 -.7rem;height:1px;background:linear-gradient(to right,var(--border-strong),color-mix(in srgb,var(--border) 55%,transparent) 45%,transparent 88%)}.page-head:has(+.stats-grid)::after{content:none}@keyframes head-in{from{opacity:0;transform:translateY(6px)}}.book:not(.add-tile),.book-row,.now-row{background:var(--surface);border:1px solid color-mix(in srgb,var(--text) 18%,transparent);border-radius:16px;box-shadow:inset 0 1px 0 rgba(255,255,255,.65),inset 0 -1px 0 rgba(255,255,255,.16),0 8px 24px rgba(8,18,25,.16)}@supports ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){.book:not(.add-tile),.book-row,.now-row{background:linear-gradient(135deg,rgba(255,255,255,.24),transparent 45%,rgba(255,255,255,.08)),color-mix(in srgb,var(--surface) 48%,transparent);-webkit-backdrop-filter:blur(22px) saturate(1.35);backdrop-filter:blur(22px) saturate(1.35)}}@media(prefers-reduced-transparency:reduce){.book:not(.add-tile),.book-row,.now-row{background:var(--surface);-webkit-backdrop-filter:none;backdrop-filter:none}}.add-tile,.add-row{background:color-mix(in srgb,var(--surface) 30%,transparent);border-color:color-mix(in srgb,var(--accent) 45%,var(--border-strong));color:color-mix(in srgb,var(--text) 72%,transparent)}.add-tile:hover,.add-row:hover{background:color-mix(in srgb,var(--accent-soft) 78%,transparent);border-color:var(--accent);color:var(--accent)}@supports ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){.add-tile,.add-row{-webkit-backdrop-filter:blur(14px) saturate(1.15);backdrop-filter:blur(14px) saturate(1.15)}}@media(prefers-reduced-transparency:reduce){.add-tile,.add-row{background:var(--surface);-webkit-backdrop-filter:none;backdrop-filter:none}}.stats-grid>.card+.card{margin-top:0}@media(max-width:820px){.nav-group.shelves{scrollbar-width:thin;scrollbar-color:var(--accent) var(--sidebar);padding-bottom:.5rem}.nav-group.shelves::-webkit-scrollbar{display:block;height:5px}.nav-group.shelves::-webkit-scrollbar-thumb{background:var(--accent);border-radius:4px}.nav-item .count{top:0;right:.15rem;margin-right:0;font-size:var(--type-body)}}:root:not([data-custom-appearance]) .ambient,:root:not([data-custom-appearance]) #ambient-control{display:none}:root:not([data-custom-appearance]):not([data-bg=on]){--halo-shadow: none}.library-canvas>.reading-scene{opacity:var(--scene-opacity, 0)}
