:root{--background: #f5e9d3;--surface: #fff8ea;--surface-muted: #efe0c4;--primary: #7a431d;--primary-hover: #9a5a28;--secondary: #2f4f5f;--accent: #d4a24c;--success: #6f7a4b;--warning: #b86435;--text: #2b1d14;--text-muted: #7a6a58;--border: #e2cdaa;--player: #3a2417;--player-text: #fff8ea;--player-progress-played: var(--accent);--player-progress-remaining: var(--text-muted);--player-play-button: var(--accent);--player-play-icon: var(--text);--book-progress-played: var(--primary);--status-not-started: var(--text-muted);--status-in-progress: var(--accent);--status-finished: var(--success);--status-downloaded: var(--secondary);--status-sync-error: var(--warning);--bg: var(--background);--card: var(--surface);--panel: var(--surface);--ink: var(--text);--muted: var(--text-muted);--line: var(--border);--danger: var(--warning);--shadow: 0 24px 60px rgba(54, 32, 18, .16);--radius-lg: 8px;--radius-md: 8px;--radius-sm: 6px;--sidebar-width: 15rem;font-family:Inter,Avenir Next,Segoe UI,sans-serif;color:var(--ink);background:var(--bg)}*{box-sizing:border-box}body{margin:0;min-height:100vh;color:var(--ink);background:var(--bg)}button,input,select{font:inherit}h1,h2,h3{font-family:Lora,Georgia,serif}button{cursor:pointer}.eyebrow{margin:0 0 .5rem;color:var(--primary);font-size:.8rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.primary-button,.secondary-button,.auth-switcher button{border-radius:var(--radius-sm);border:1px solid transparent;transition:transform .14s ease,border-color .14s ease,background-color .14s ease}.primary-button:hover,.secondary-button:hover,.auth-switcher button:hover{transform:translateY(-1px)}.primary-button{padding:.85rem 1.2rem;background:var(--primary);color:var(--surface);font-weight:700}.primary-button:hover{background:var(--primary-hover)}.secondary-button{padding:.8rem 1rem;background:var(--secondary);color:var(--surface)}.secondary-button:hover{background:#253f4c}.subtle-button{padding:.8rem 1rem;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--surface-muted);color:var(--ink);font-weight:700}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid rgba(212,162,76,.45);outline-offset:2px}.form-error{margin:0;color:var(--danger);font-weight:600}.loading-state{min-height:100vh;display:grid;place-items:center;font-size:1.05rem}.sr-only{width:1px;height:1px;position:absolute;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;padding:0;margin:-1px}#root{min-height:100vh}.page-shell,.dashboard-shell{min-height:100vh;padding:2.5rem 1.25rem}.page-shell{display:grid;gap:1.5rem;align-items:center;max-width:1180px;margin:0 auto}.hero-copy,.auth-card,.panel,.dashboard-header{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.hero-copy{padding:1.75rem;border-radius:var(--radius-md)}.hero-copy h1{margin:0;font-size:clamp(2.6rem,7vw,5.2rem);line-height:1}.app-logo{width:clamp(4.25rem,10vw,6rem);height:clamp(4.25rem,10vw,6rem);display:block;object-fit:contain;margin-bottom:1.25rem;border-radius:var(--radius-md)}.hero-description{max-width:34rem;margin:1.25rem 0 0;color:var(--muted);font-size:1.1rem}.hero-points{margin:1.5rem 0 0;padding-left:1.25rem;color:var(--muted);display:grid;gap:.55rem}.auth-card{border-radius:var(--radius-md);padding:1.25rem}.auth-switcher{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.auth-switcher button{padding:.85rem 1rem;border-color:var(--line);background:var(--surface-muted);color:var(--ink);font-weight:700}.auth-switcher button.is-active{background:var(--primary);color:var(--surface)}.auth-form{margin-top:1rem;display:grid;gap:.95rem}.auth-form label{display:grid;gap:.45rem;font-weight:600}.auth-form input{width:100%;padding:.85rem 1rem;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--surface);color:var(--ink)}.dashboard-shell{max-width:1180px;margin:0 auto}.dashboard-header{border-radius:var(--radius-md);padding:1.5rem;display:grid;gap:1rem;align-items:center}.avatar-chip{width:3.5rem;height:3.5rem;display:grid;place-items:center;border-radius:50%;background:var(--secondary);color:var(--surface);font-weight:800;font-size:1.1rem}.subtle-text{margin:.3rem 0 0;color:var(--muted)}.dashboard-grid{margin-top:1.5rem;display:grid;gap:1rem}.panel{border-radius:var(--radius-sm);padding:1.5rem}.panel h2{margin:0}.panel p{color:var(--muted);line-height:1.6}code{padding:.12rem .35rem;border-radius:999px;background:var(--surface-muted)}@media(min-width:900px){.page-shell{grid-template-columns:minmax(0,1.1fr) minmax(24rem,26rem)}.dashboard-header{grid-template-columns:auto 1fr auto}.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.app-layout{min-height:100vh;display:grid;background:#d8c3a1}.app-sidebar{background:#3a0718;color:var(--surface);padding:1rem .75rem;display:grid;grid-template-rows:auto 1fr auto;gap:1rem}.sidebar-brand{display:flex;align-items:center;gap:.75rem;width:100%;color:inherit;font-weight:800;text-decoration:none}.sidebar-brand span{white-space:nowrap}.sidebar-brand img{width:2.6rem;height:2.6rem;flex:0 0 2.6rem;border-radius:var(--radius-sm)}.sidebar-nav{display:grid;gap:.85rem;align-content:start}.sidebar-nav-group,.sidebar-nav-section{display:grid;gap:.2rem}.sidebar-nav-section{padding-top:.85rem;border-top:1px solid rgba(255,248,234,.22)}.sidebar-nav-heading{margin:0 0 .15rem;padding:0 .75rem 0 1rem;color:#fff8ea8a;font-size:.72rem;font-weight:800;letter-spacing:0;text-transform:uppercase}.sidebar-nav button,.sidebar-nav a,.sidebar-footer-nav a{width:100%;min-height:2.75rem;padding:.65rem .75rem .65rem 1rem;display:flex;gap:.65rem;align-items:center;justify-content:flex-start;position:relative;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:#fff8eac7;text-align:left;font-weight:700;text-decoration:none}.sidebar-nav button.is-active,.sidebar-nav a.is-active,.sidebar-nav button:hover,.sidebar-nav a:hover,.sidebar-footer-nav a.is-active,.sidebar-footer-nav a:hover{background:#d45a5840;color:var(--surface)}.sidebar-nav button.is-active:before,.sidebar-nav a.is-active:before,.sidebar-footer-nav a.is-active:before{width:3px;position:absolute;top:.5rem;bottom:.5rem;left:0;border-radius:999px;background:var(--accent);content:""}.sidebar-item-icon,.sidebar-source-icon{width:1.65rem;height:1.65rem;flex:0 0 1.65rem}.sidebar-item-icon,.sidebar-source-icon{object-fit:contain}.sidebar-item-icon{opacity:.82;filter:invert(1)}.sidebar-source-icon{border-radius:.25rem}.sidebar-footer-nav{display:grid;align-self:end}.sidebar-settings-icon{width:1.65rem;height:1.65rem;flex:0 0 1.65rem;color:currentColor;font-size:1.35rem;line-height:1.65rem;text-align:center;opacity:.82}.workspace{min-width:0;display:grid;grid-template-rows:auto 1fr;background:#d8c3a1}.topbar{position:sticky;top:0;z-index:10;min-height:4rem;padding:.9rem 1rem;display:grid;gap:.75rem;align-items:stretch;background:#fff8eaf2;border-bottom:1px solid var(--line)}.topbar-start{min-width:0}.snackbar-viewport{width:min(calc(100vw - 2rem),24rem);position:fixed;top:5rem;right:1rem;z-index:30;display:grid;gap:.6rem;pointer-events:none}.snackbar{min-height:3.1rem;padding:.75rem .75rem .75rem .9rem;display:flex;gap:.75rem;align-items:center;justify-content:space-between;border:1px solid var(--line);border-left:4px solid var(--secondary);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);box-shadow:0 18px 38px #3620122e;pointer-events:auto}.snackbar-success{border-left-color:var(--success)}.snackbar-error{border-left-color:var(--danger)}.snackbar span{min-width:0;overflow-wrap:anywhere;font-weight:800}.snackbar button{width:1.9rem;height:1.9rem;flex:0 0 auto;display:grid;place-items:center;border:0;border-radius:var(--radius-sm);background:var(--surface-muted);color:var(--ink);font-weight:900;line-height:1}.snackbar button:hover{background:color-mix(in srgb,var(--surface-muted),var(--line) 40%)}.book-search{display:flex;gap:.5rem;align-items:center}.book-search label{font-size:.85rem;font-weight:800}.book-search input{width:100%;min-height:2.75rem;padding:.75rem .9rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink)}.user-menu{position:relative;justify-self:end}.user-menu-button{width:auto;min-height:2.75rem;display:flex;align-items:center;justify-content:flex-end;gap:.65rem;border:0;background:transparent;color:var(--ink);font-weight:800}.user-menu .avatar-chip{width:2.5rem;height:2.5rem;font-size:.9rem}.user-menu-popover{position:absolute;right:0;top:calc(100% + .5rem);min-width:12rem;padding:.4rem;display:grid;gap:.25rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);box-shadow:var(--shadow)}.user-menu-profile{padding:.7rem;display:grid;gap:.2rem;border-bottom:1px solid var(--line)}.user-menu-profile strong,.user-menu-profile span{overflow-wrap:anywhere}.user-menu-profile span{color:var(--muted);font-size:.9rem}.user-menu-popover button,.user-menu-popover a{padding:.7rem;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--ink);text-align:left;text-decoration:none}.user-menu-popover button:hover,.user-menu-popover a:hover{background:var(--surface-muted)}.content-shell{padding:1rem;display:grid;gap:1rem;align-content:start}.offline-state{max-width:42rem;padding:1.1rem;display:grid;gap:.45rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface)}.offline-state h1,.offline-state p{margin:0}.offline-state h1{font-family:Inter,Avenir Next,Segoe UI,sans-serif;font-size:1.35rem;line-height:1.2}.offline-state p:last-child{color:var(--muted);font-weight:700}.collection-page-header{display:grid;gap:.25rem}.collection-page-header h1{margin:0;font-family:Inter,Avenir Next,Segoe UI,sans-serif;font-size:clamp(1.7rem,4vw,2.4rem);line-height:1.1}.collection-page-header p{margin:0;color:var(--muted);font-weight:700}.collection-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:.75rem}.collection-link{min-height:5rem;padding:.9rem;display:grid;gap:.3rem;align-content:center;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);text-decoration:none;box-shadow:0 10px 24px #36201214}.collection-link:hover{border-color:#d45a5880}.collection-link strong{min-width:0;overflow-wrap:anywhere;font-size:1rem;line-height:1.2}.collection-link span{color:var(--muted);font-size:.86rem;font-weight:700}.view-filter-search{width:100%;display:block}.view-filter-search input{width:100%;min-height:2.6rem;padding:.7rem .85rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink)}.book-grid{display:grid;gap:1rem}.book-list{display:grid;gap:.75rem}.book-list-header{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;justify-content:space-between}.book-list-count{margin:0;flex:0 0 auto;color:var(--muted);font-size:.88rem;font-weight:700}.book-list-controls{min-width:0;display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;justify-content:flex-end}.book-status-filter{min-height:2.45rem;padding:.2rem;display:grid;grid-template-columns:repeat(4,minmax(5.7rem,1fr));border:1px solid var(--line);border-radius:999px;background:var(--surface-muted)}.book-status-filter button{min-width:5.7rem;min-height:2rem;padding:.35rem .75rem;border:0;border-radius:999px;background:transparent;color:var(--muted);font-size:.84rem;font-weight:800;white-space:nowrap}.book-status-filter button.is-active{background:var(--surface);color:var(--ink);box-shadow:0 8px 18px #3620121f}.book-availability-toggle{min-height:2.45rem;padding:.35rem .65rem;display:inline-flex;align-items:center;gap:.55rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);font-size:.84rem;font-weight:800;cursor:pointer;-webkit-user-select:none;user-select:none}.book-availability-toggle input{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.book-availability-switch{position:relative;width:2.55rem;height:1.35rem;border:1px solid var(--line);border-radius:999px;background:var(--surface-muted)}.book-availability-switch:after{position:absolute;top:.16rem;left:.16rem;width:.9rem;height:.9rem;border-radius:50%;background:var(--muted);content:"";transition:background-color .14s ease,transform .14s ease}.book-availability-toggle input:checked+.book-availability-switch{border-color:var(--success);background:color-mix(in srgb,var(--success) 18%,var(--surface))}.book-availability-toggle input:checked+.book-availability-switch:after{background:var(--success);transform:translate(1.2rem)}.book-availability-toggle input:focus-visible+.book-availability-switch{outline:3px solid color-mix(in srgb,var(--accent) 55%,transparent);outline-offset:2px}.book-sort-control{position:relative;flex:0 0 auto}.book-sort-button{min-height:2.45rem;display:inline-flex;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface)}.book-sort-field,.book-sort-direction{min-height:2.45rem;border:0;background:transparent;color:var(--ink);font-weight:800}.book-sort-field{min-width:7.5rem;max-width:9.8rem;padding:.55rem .7rem;overflow:hidden;text-overflow:ellipsis;text-align:left;white-space:nowrap}.book-sort-direction{width:2.45rem;display:grid;place-items:center;border-left:1px solid var(--line);color:var(--primary);font-size:1.1rem;line-height:1}.book-sort-field:hover,.book-sort-direction:hover,.book-sort-field[aria-expanded=true]{background:var(--surface-muted)}.book-sort-field:disabled{cursor:default;opacity:.68}.book-sort-menu{position:absolute;top:calc(100% + .35rem);right:0;z-index:70;width:max-content;min-width:10rem;padding:.3rem;border:1px solid color-mix(in srgb,var(--primary),var(--line) 34%);border-radius:var(--radius-sm);background:var(--surface);box-shadow:0 16px 34px #2b1d1438}.book-sort-menu button{width:100%;min-height:2.25rem;padding:.5rem .7rem;border:0;border-radius:calc(var(--radius-sm) - 2px);background:transparent;color:var(--ink);font:inherit;font-size:.86rem;font-weight:800;text-align:left;white-space:nowrap}.book-sort-menu button:hover,.book-sort-menu button:focus-visible,.book-sort-menu button.is-active{background:var(--primary);color:var(--surface);outline:none}.book-action-menu{position:fixed;z-index:80;width:13.75rem;padding:.35rem;border:1px solid color-mix(in srgb,var(--primary),var(--line) 28%);border-radius:var(--radius-sm);background:var(--surface);box-shadow:0 18px 40px #2b1d143d}.book-action-menu button{width:100%;min-height:2.8rem;padding:.78rem .9rem;border:0;border-radius:calc(var(--radius-sm) - 2px);background:transparent;color:var(--ink);font:inherit;font-size:.92rem;font-weight:850;text-align:left}.book-action-menu button:hover,.book-action-menu button:focus-visible{background:var(--primary);color:var(--surface);outline:none}.book-action-menu button:disabled{cursor:wait;opacity:.64}.search-wave-loader{min-height:3rem;display:flex;gap:.28em;align-items:center;justify-content:center;color:var(--primary)}.search-wave-loader span{width:.72em;height:.72em;display:block;border-radius:999px;background:currentColor;animation:search-wave .9s ease-in-out infinite}.search-wave-loader span:nth-child(2){animation-delay:.12s}.search-wave-loader span:nth-child(3){animation-delay:.24s}@keyframes search-wave{0%,80%,to{transform:translateY(0);opacity:.42}40%{transform:translateY(-.48em);opacity:1}}.book-card{min-width:0;position:relative;display:grid;gap:.75rem;padding:0;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);box-shadow:0 12px 30px #3620121f}.book-card.is-in-shelf{border-color:color-mix(in srgb,var(--success),var(--line) 35%);box-shadow:inset 0 0 0 2px #6f7a4b29,0 14px 32px #36201224}.book-card-link{min-height:100%;display:grid;gap:.55rem;color:inherit;text-decoration:none}.book-card-link:focus-visible{outline:3px solid color-mix(in srgb,var(--accent),transparent 35%);outline-offset:-3px}.book-cover-frame{position:relative;min-width:0;display:grid;aspect-ratio:1;overflow:hidden;background:var(--surface-muted)}.book-cover{width:100%;height:100%;display:grid;place-items:center;object-fit:contain;background:var(--surface-muted);color:var(--primary);font-family:Lora,Georgia,serif;font-size:2rem;font-weight:800}.book-cover-fallback{border:1px solid color-mix(in srgb,var(--primary),transparent 72%);background:linear-gradient(135deg,color-mix(in srgb,var(--primary),var(--surface) 82%),var(--surface-muted));color:var(--primary);text-transform:uppercase}.book-card-skeleton{pointer-events:none}.skeleton-cover,.skeleton-line{position:relative;overflow:hidden;background:var(--surface-muted)}.skeleton-cover:after,.skeleton-line:after{content:"";position:absolute;inset:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,rgba(255,248,234,.72),transparent);animation:skeleton-shimmer 1.25s ease-in-out infinite}.skeleton-cover{aspect-ratio:1}.skeleton-line{height:.78rem;display:block;border-radius:999px}.skeleton-title{width:82%}.skeleton-meta{width:56%}@keyframes skeleton-shimmer{to{transform:translate(100%)}}.shelf-badge{position:absolute;top:.55rem;right:.55rem;padding:.34rem .48rem;border:1px solid rgba(255,248,234,.72);border-radius:var(--radius-sm);background:var(--success);color:var(--surface);box-shadow:0 8px 18px #2b1d1433;font-size:.72rem;font-weight:900;line-height:1}.book-card-badge-row{min-width:0;padding:0 .75rem;display:flex;flex-wrap:wrap;gap:.35rem;align-items:center}.book-duration-badge,.book-ready-badge{min-height:1.55rem;width:fit-content;padding:.12rem .42rem;display:inline-flex;align-items:center;gap:.28rem;border-radius:999px;background:#fff;color:#000;box-shadow:0 7px 14px #2b1d1429;font-size:.88rem;font-weight:950;line-height:1}.book-duration-badge img{width:.95rem;height:.95rem;display:block;object-fit:contain}.book-ready-badge{width:1.55rem;justify-content:center;padding:0;background:var(--success);color:var(--surface)}.book-ready-badge img{width:.78rem;height:.78rem;display:block;object-fit:contain;filter:invert(96%) sepia(12%) saturate(508%) hue-rotate(321deg) brightness(106%) contrast(104%)}.book-status-indicator{position:absolute;right:.55rem;bottom:.55rem;width:2rem;height:2rem;display:grid;place-items:center;border:1px solid rgba(255,248,234,.72);border-radius:999px;box-shadow:0 8px 18px #2b1d1433}.book-status-indicator.is-ready{background:var(--success)}.book-status-indicator.is-failed{background:var(--warning)}.book-status-indicator img{width:1.08rem;height:1.08rem;display:block;object-fit:contain;filter:invert(96%) sepia(12%) saturate(508%) hue-rotate(321deg) brightness(106%) contrast(104%)}.book-card-body{min-width:0;display:grid;gap:.22rem;align-content:start;padding:0 .75rem .75rem}.book-card h2{margin:0;font-family:Inter,Avenir Next,Segoe UI,sans-serif;font-size:1rem;font-weight:800;line-height:1.15}.book-meta,.book-author{margin:0;display:inline-flex;gap:.35rem;align-items:center;color:var(--primary);font-size:.84rem;line-height:1.2}.detail-collection-links{display:inline-flex;flex-wrap:wrap;gap:.25rem;align-items:center}.detail-collection-link-item{display:inline-flex;gap:.25rem;align-items:center}.detail-collection-links a{color:inherit;text-decoration-color:#d45a5873;text-underline-offset:.18em}.detail-collection-links a:hover{color:var(--accent)}.book-language-flag{font-size:1.15rem;line-height:1}.progress-label{display:flex;gap:.75rem;align-items:center;justify-content:space-between;color:var(--muted);font-size:.88rem;text-transform:capitalize}.progress-stack{display:grid;gap:.35rem}.progress-track{height:.55rem;overflow:hidden;border-radius:999px;background:var(--surface-muted)}.progress-track span{height:100%;display:block;border-radius:inherit;background:var(--accent)}.book-progress-track span{background:var(--book-progress-played)}.finished-status{margin:0;display:inline-flex;align-items:center;gap:.4rem;color:var(--status-finished);font-size:.88rem;font-weight:800}.finished-status span{width:1.05rem;height:1.05rem;display:inline-grid;place-items:center;border-radius:50%;background:var(--status-finished);color:var(--surface);font-size:.76rem;line-height:1}.catalog-card-status{width:fit-content;margin:.2rem 0 0;padding:.22rem .45rem;border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--ink);font-size:.78rem;font-weight:800}.catalog-card-status.is-catalog_only{border-color:#34785659;background:#34785614}.catalog-card-status.is-unavailable{border-color:#a1523759;background:#a1523714}.catalog-card-status.is-finished{border-color:color-mix(in srgb,var(--status-finished),transparent 58%);background:color-mix(in srgb,var(--status-finished) 10%,transparent);color:var(--status-finished)}.shelf-groups{display:grid;gap:1.3rem}.shelf-group{display:grid;gap:.8rem}.shelf-group h2{margin:0;font-family:Inter,Avenir Next,Segoe UI,sans-serif;font-size:1rem;font-weight:800}.empty-state{margin:0;padding:1rem;border:1px dashed var(--line);border-radius:var(--radius-sm);color:var(--muted)}@media(min-width:760px){.app-layout{display:block;padding-left:var(--sidebar-width)}.app-sidebar{width:var(--sidebar-width);min-height:100vh;position:fixed;top:0;bottom:0;left:0}.topbar{grid-template-columns:minmax(0,1fr) auto;align-items:center;padding-inline:1.5rem}.book-search{min-width:0}.content-shell{padding:1.5rem}.book-grid{grid-template-columns:repeat(auto-fill,minmax(11rem,14rem))}}.detail-page{min-height:calc(100vh - 4rem);padding:1rem;background:#d8c3a1}.detail-back-link{display:inline-flex;align-items:center;color:var(--secondary);font-weight:800;text-decoration:none}.book-detail-layout{display:grid;gap:1.25rem;max-width:1100px;margin:0 auto}.detail-cover{width:min(100%,22rem);aspect-ratio:1 / 1;display:grid;place-items:center;border-radius:var(--radius-sm);object-fit:contain;background:var(--surface-muted);color:var(--primary);font-family:Lora,Georgia,serif;font-size:4rem;font-weight:800}.detail-copy{padding:1rem;display:grid;gap:1rem;align-content:start;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface)}.detail-copy h1{margin:0;font-size:2rem;line-height:1.1}.detail-subtitle,.detail-description{margin:0;color:var(--muted);line-height:1.6}.detail-description p{margin:0 0 .85rem}.detail-description p:last-child{margin-bottom:0}.detail-meta-grid{margin:0;display:grid;gap:.75rem}.detail-meta-grid div{display:grid;gap:.2rem}.detail-meta-grid dt{color:var(--primary);font-size:.78rem;font-weight:800}.detail-meta-grid dd{margin:0;color:var(--ink)}.audible-store-links{display:flex;flex-wrap:wrap;gap:.45rem}.audible-store-link{width:fit-content;padding:.45rem .65rem;display:inline-flex;align-items:center;gap:.45rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-muted);color:var(--ink);font-size:.9rem;font-weight:800;text-decoration:none;transition:transform .14s ease,border-color .14s ease,background-color .14s ease}.audible-store-link:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent),var(--surface) 72%);transform:translateY(-1px)}.catalog-availability-list{display:flex;flex-wrap:wrap;gap:.45rem}.catalog-availability-item{width:fit-content;padding:.35rem .55rem;display:inline-flex;align-items:center;gap:.4rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-muted);color:var(--ink);font-size:.88rem}.catalog-availability-item.is-catalog_only{border-color:#34785659;background:#34785614}.catalog-availability-item.is-unavailable{border-color:#a1523759;background:#a1523714}.catalog-availability-item code{font-family:inherit;font-size:.78rem;color:var(--muted)}.detail-progress{max-width:22rem}.detail-add-button{justify-self:start}.detail-shelf-panel{max-width:28rem;padding:.85rem;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.85rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-muted)}.detail-icon-action{display:inline-flex;align-items:center;gap:.45rem}.detail-icon-action img{width:1.2rem;height:1.2rem;object-fit:contain}.detail-play-button{background:var(--accent);color:var(--ink);border-color:color-mix(in srgb,var(--accent),var(--ink) 18%)}.detail-play-button:hover{background:color-mix(in srgb,var(--accent),white 18%)}.detail-play-button img{width:1.35rem;height:1.35rem}.pdf-download-link{height:2.25rem;padding:.25rem .55rem .25rem .35rem;display:inline-flex;align-items:center;gap:.35rem;border:1px solid color-mix(in srgb,#f55342,var(--line) 28%);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);font-size:.85rem;font-weight:800;text-decoration:none;transition:transform .14s ease,border-color .14s ease,background-color .14s ease}.pdf-download-link:hover{border-color:#f55342;background:color-mix(in srgb,#f55342,var(--surface) 88%);transform:translateY(-1px)}.pdf-download-link:focus-visible{outline:3px solid rgba(245,83,66,.28);outline-offset:2px}.pdf-download-link img{width:1.45rem;height:1.45rem;object-fit:contain}.detail-unavailable{margin:0;color:var(--danger);font-weight:800}.shelf-state-button{min-width:10.5rem;padding:.8rem 1rem;display:inline-grid;place-items:center;border:1px solid color-mix(in srgb,var(--success),var(--line) 30%);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--success),var(--surface) 14%);color:var(--surface);font-weight:800;transition:transform .14s ease,background-color .14s ease,border-color .14s ease}.shelf-state-button:hover{border-color:var(--warning);background:var(--warning);transform:translateY(-1px)}.shelf-state-button .shelf-state-hover,.shelf-state-button:hover .shelf-state-default{display:none}.shelf-state-button:hover .shelf-state-hover{display:inline}.settings-page{min-height:calc(100vh - 4rem);padding:1rem;background:#d8c3a1}.settings-panel{max-width:760px;margin:0 auto;padding:1rem;display:grid;gap:1.25rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface)}.settings-form{display:grid;gap:.85rem}.settings-form h2{margin:0;font-size:1.25rem}.settings-form label,.language-settings{display:grid;gap:.45rem;font-weight:700}.settings-form input[type=text],.settings-form input[type=email],.settings-form input:not([type]),.settings-form input[type=password],.settings-form select{width:100%;padding:.8rem .9rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink)}.audible-panel{max-width:900px}.audible-create-form{grid-template-columns:minmax(0,1fr);align-items:end}.login-instructions{display:grid;gap:.75rem}.login-instructions h2,.audible-account-card h2{margin:0;font-size:1.1rem}.login-instructions pre{max-width:100%;max-height:14rem;margin:0;padding:.85rem;overflow:auto;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-muted);white-space:pre-wrap;overflow-wrap:anywhere}.audible-account-list{display:grid;gap:.9rem}.audible-account-card{padding:1rem;display:grid;gap:.9rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-muted)}.audible-account-summary{display:flex;align-items:center;gap:.9rem;min-width:0}.audible-account-region-flag{flex:0 0 3.75rem;font-size:2.75rem;line-height:1;text-align:left}.audible-account-summary>div{min-width:0}.audible-account-summary h2{overflow-wrap:anywhere}.audible-account-card label{display:grid;gap:.45rem;font-weight:700}.audible-account-card input{width:100%;padding:.8rem .9rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink)}.audible-connect-steps{display:grid;gap:.85rem;margin:0;padding-left:1.25rem}.audible-connect-steps li{padding-left:.25rem}.audible-account-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem}.audible-account-card .audible-search-toggle{display:flex;align-items:center;gap:.55rem;min-height:2.6rem;color:var(--ink);cursor:pointer;-webkit-user-select:none;user-select:none}.audible-account-card .audible-search-toggle input{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.audible-search-toggle-label{font-weight:800}.audible-search-switch{position:relative;width:2.9rem;height:1.55rem;border:1px solid var(--line);border-radius:999px;background:var(--surface);transition:background-color .14s ease,border-color .14s ease,box-shadow .14s ease}.audible-search-switch:after{position:absolute;top:.18rem;left:.18rem;width:1.05rem;height:1.05rem;border-radius:50%;background:var(--muted);content:"";transition:background-color .14s ease,transform .14s ease}.audible-search-toggle input:checked+.audible-search-switch{border-color:var(--success);background:color-mix(in srgb,var(--success) 22%,var(--surface));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--success) 24%,transparent)}.audible-search-toggle input:checked+.audible-search-switch:after{background:var(--success);transform:translate(1.35rem)}.audible-search-toggle input:focus-visible+.audible-search-switch{outline:3px solid color-mix(in srgb,var(--accent) 55%,transparent);outline-offset:2px}.audible-search-toggle:has(input:disabled){cursor:not-allowed;opacity:.65}.language-settings{margin:0;padding:.9rem;border:1px solid var(--line);border-radius:var(--radius-sm)}.language-settings legend{padding:0 .35rem;color:var(--primary);font-weight:800}.language-settings label{display:flex;gap:.55rem;align-items:center;color:var(--ink)}.success-text{margin:0;color:var(--success);font-weight:800}.settings-logout{justify-self:start}.auth-error-page{min-height:100vh;padding:1rem;display:grid;place-items:center;background:#d8c3a1}.auth-error-panel{width:min(100%,32rem);padding:1.25rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);box-shadow:var(--shadow)}.auth-error-panel h1{margin:0}.auth-error-panel p:last-child{margin-bottom:0;color:var(--muted)}[data-player-active=true] .workspace{padding-bottom:13rem}.audiobook-player{position:fixed;right:0;bottom:0;left:0;z-index:25;min-height:12rem;padding:.85rem 1rem 1rem;display:grid;gap:.8rem;border-top:1px solid rgba(255,248,234,.18);background:var(--player);color:var(--player-text);box-shadow:0 -18px 44px #2b1d1447}.player-book{min-width:0;display:grid;grid-template-columns:3.6rem minmax(0,1fr);gap:.75rem;align-items:center}.player-cover{width:3.6rem;height:3.6rem;display:grid;place-items:center;border-radius:var(--radius-sm);object-fit:cover;background:var(--surface-muted);color:var(--primary);font-family:Lora,Georgia,serif;font-size:1.5rem;font-weight:900}.player-title-stack{min-width:0;display:grid;gap:.15rem}.player-title-stack .player-title-link,.player-title-stack span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-title-link{color:inherit;font-size:.95rem;font-weight:700;text-decoration:none}.player-title-link:hover{text-decoration:underline}.player-title-stack span{color:#fff8eab8;font-size:.86rem;font-weight:700}.player-main{min-width:0;display:grid;gap:.48rem}.player-progress{min-width:0;height:1.5rem;display:flex;align-items:center;cursor:pointer;touch-action:none}.player-progress-track{width:100%;height:.42rem;position:relative;border-radius:999px;background:color-mix(in srgb,var(--player-progress-remaining),transparent 34%)}.player-progress-played{height:100%;position:absolute;left:0;top:0;border-radius:inherit;background:var(--player-progress-played)}.player-progress-thumb{width:1rem;height:1rem;position:absolute;top:50%;border:2px solid var(--player);border-radius:999px;background:var(--player-progress-played);box-shadow:0 4px 12px #00000059;transform:translate(-50%,-50%)}.player-time-row{display:flex;justify-content:space-between;color:#fff8eab8;font-size:.8rem;font-variant-numeric:tabular-nums;font-weight:800}.player-controls{display:flex;flex-wrap:wrap;gap:1.2rem;align-items:center;justify-content:center}.player-transport-controls,.player-secondary-controls{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center;justify-content:center}.player-controls button,.player-modal button{min-height:2.35rem;border:1px solid rgba(255,248,234,.18);border-radius:var(--radius-sm);background:#fff8ea14;color:var(--player-text);font-weight:900}.player-controls button{padding:.45rem .7rem}.player-icon-button{width:2.45rem;padding:0!important;display:grid;place-items:center}.player-icon-button img{width:1.35rem;height:1.35rem;display:block;object-fit:contain;filter:invert(96%) sepia(12%) saturate(508%) hue-rotate(321deg) brightness(106%) contrast(104%)}.player-chapters-button{display:inline-flex;align-items:center;gap:.45rem}.player-chapters-button img{width:1.2rem;height:1.2rem;display:block;object-fit:contain;filter:invert(96%) sepia(12%) saturate(508%) hue-rotate(321deg) brightness(106%) contrast(104%)}.player-controls button:hover,.player-modal button:hover,.player-modal button.is-active{background:#d4a24c42;border-color:#d4a24c9e}.player-play-button{min-width:2.85rem;background:var(--player-play-button)!important;color:var(--player-play-icon)!important}.player-play-icon-button{width:2.85rem;padding:0!important;display:grid;place-items:center}.player-play-icon-button img{width:1.45rem;height:1.45rem;display:block;object-fit:contain}.player-modal-backdrop{position:fixed;inset:0;z-index:35;display:grid;place-items:end center;padding:1rem;background:#2b1d1459}.player-modal{width:min(100%,34rem);max-height:min(72vh,36rem);padding:.85rem;display:grid;gap:.75rem;overflow:auto;border:1px solid rgba(255,248,234,.18);border-radius:var(--radius-sm);background:var(--player);color:var(--player-text);box-shadow:var(--shadow)}.player-modal header{display:flex;gap:.75rem;align-items:center;justify-content:space-between}.player-modal h2{margin:0;font-family:Inter,Avenir Next,Segoe UI,sans-serif;font-size:1rem}.player-modal-note{margin:0;color:#fff8eab8;font-weight:800}.player-modal header button{width:2.3rem;padding:0}.player-option-list{display:grid;gap:.35rem}.player-option-list button{padding:.6rem .7rem;display:flex;gap:.75rem;justify-content:space-between;text-align:left}.player-option-list button span:first-child{min-width:0;overflow-wrap:anywhere}.player-option-list button span:last-child{flex:0 0 auto;color:#fff8eaad;font-variant-numeric:tabular-nums}.player-speed-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem}.player-speed-grid button{padding:.6rem}@media(min-width:820px){.detail-page{padding:1.5rem}.book-detail-layout{grid-template-columns:minmax(14rem,22rem) minmax(0,1fr);align-items:start}.audible-create-form{grid-template-columns:minmax(0,1fr) minmax(11rem,14rem) auto}}@media(min-width:760px){.audiobook-player{left:var(--sidebar-width);min-height:8rem;grid-template-columns:minmax(12rem,18rem) minmax(0,1fr);align-items:center}[data-player-active=true] .workspace{padding-bottom:9rem}.player-modal-backdrop{place-items:center;padding-left:calc(var(--sidebar-width) + 1rem)}}
