: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 #36201229;--radius-lg:8px;--radius-md:8px;--radius-sm:6px;--sidebar-width:15rem;color:var(--ink);background:var(--bg);font-family:Inter,Avenir Next,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-height:100vh;color:var(--ink);background:var(--bg);margin:0}button,input,select{font:inherit}h1,h2,h3{font-family:Lora,Georgia,serif}button{cursor:pointer}.eyebrow{color:var(--primary);letter-spacing:.14em;text-transform:uppercase;margin:0 0 .5rem;font-size:.8rem;font-weight:800}.primary-button,.secondary-button,.auth-switcher button{border-radius:var(--radius-sm);border:1px solid #0000;transition:transform .14s,border-color .14s,background-color .14s}.primary-button:hover,.secondary-button:hover,.auth-switcher button:hover{transform:translateY(-1px)}.primary-button:disabled,.secondary-button:disabled,.auth-switcher button:disabled,.google-auth-button:disabled{cursor:not-allowed;opacity:.62;transform:none}.primary-button{background:var(--primary);color:var(--surface);padding:.85rem 1.2rem;font-weight:700}.primary-button:hover{background:var(--primary-hover)}.danger-button{background:var(--danger)}.danger-button:hover{background:color-mix(in srgb, var(--danger) 86%, #000 14%)}.secondary-button{background:var(--secondary);color:var(--surface);padding:.8rem 1rem}.secondary-button:hover{background:#253f4c}.subtle-button{border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--surface-muted);color:var(--ink);padding:.8rem 1rem;font-weight:700}button:focus-visible,input:focus-visible,select:focus-visible{outline-offset:2px;outline:3px solid #d4a24c73}.form-error{color:var(--danger);margin:0;font-weight:600}.form-success{color:var(--success);margin:0;font-weight:700;line-height:1.4}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}:root{--mobile-page-padding-inline:.5rem}#root{min-height:100vh}.page-shell,.dashboard-shell{min-height:100vh;padding:2.5rem 1.25rem}.page-shell{align-items:center;gap:1.5rem;max-width:1180px;margin:0 auto;display:grid}.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{border-radius:var(--radius-md);padding:1.75rem}.hero-copy h1{margin:0;font-size:clamp(2.6rem,7vw,5.2rem);line-height:1}.app-logo{object-fit:contain;border-radius:var(--radius-md);width:clamp(4.25rem,10vw,6rem);height:clamp(4.25rem,10vw,6rem);margin-bottom:1.25rem;display:block}.hero-description{max-width:34rem;color:var(--muted);margin:1.25rem 0 0;font-size:1.1rem}.hero-points{color:var(--muted);gap:.55rem;margin:1.5rem 0 0;padding-left:1.25rem;display:grid}.landing-legal-links{flex-wrap:wrap;gap:1rem;margin-top:1.5rem;display:flex}.landing-legal-links a{color:var(--muted);font-size:.9rem;font-weight:800;text-decoration:none}.landing-legal-links a:hover{color:var(--primary)}.auth-card{border-radius:var(--radius-md);padding:1.25rem}.auth-switcher{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.auth-switcher button{border-color:var(--line);background:var(--surface-muted);color:var(--ink);padding:.85rem 1rem;font-weight:700}.auth-switcher button.is-active{background:var(--primary);color:var(--surface)}.auth-form{gap:.95rem;margin-top:1rem;display:grid}.google-auth-button{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);width:100%;min-height:2.9rem;color:var(--ink);justify-content:center;align-items:center;gap:.55rem;margin-top:1rem;font-weight:800;display:inline-flex}.google-auth-button:hover{border-color:var(--primary)}.google-auth-button img{flex:none;width:1.25rem;height:1.25rem}.auth-form label{gap:.45rem;font-weight:600;display:grid}.auth-form input{border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--surface);width:100%;color:var(--ink);padding:.85rem 1rem}.password-field{display:block;position:relative}.password-field input{padding-right:3rem}.password-toggle-button{background:var(--surface-muted);width:2.25rem;height:2.25rem;color:var(--muted);border:0;border-radius:999px;place-items:center;padding:0;display:grid;position:absolute;top:50%;right:.45rem;transform:translateY(-50%)}.password-toggle-button:hover,.password-toggle-button:focus-visible{background:color-mix(in srgb, var(--accent), transparent 82%);color:var(--primary)}.password-toggle-button:disabled{opacity:.5}.password-toggle-icon{pointer-events:none;width:1.25rem;height:1.25rem}.credit-purchase-button-label{align-items:center;gap:.35rem;display:inline-flex}.dashboard-shell{max-width:1180px;margin:0 auto}.legal-shell{min-height:100vh;padding:2rem 1rem 3rem}.legal-panel{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);width:min(760px,100%);box-shadow:var(--shadow);margin:0 auto;padding:1.5rem}.legal-brand{color:var(--ink);align-items:center;gap:.65rem;font-weight:800;text-decoration:none;display:inline-flex}.legal-brand img{object-fit:contain;border-radius:var(--radius-sm);width:2.25rem;height:2.25rem}.legal-panel h1{margin:0;font-size:2.4rem}.legal-updated{color:var(--muted);margin:.65rem 0 0;font-weight:700}.legal-sections{gap:1.25rem;margin-top:1.5rem;display:grid}.legal-sections h2{margin:0;font-size:1.25rem}.legal-sections p{color:var(--muted);margin:.45rem 0 0;line-height:1.65}.dashboard-header{border-radius:var(--radius-md);align-items:center;gap:1rem;padding:1.5rem;display:grid}.avatar-chip{background:var(--secondary);width:3.5rem;height:3.5rem;color:var(--surface);border-radius:50%;place-items:center;font-size:1.1rem;font-weight:800;display:grid}.avatar-image{object-fit:cover;display:block}.subtle-text{color:var(--muted);margin:.3rem 0 0}.dashboard-grid{gap:1rem;margin-top:1.5rem;display:grid}.panel{border-radius:var(--radius-sm);padding:1.5rem}.panel h2{margin:0}.panel p{color:var(--muted);line-height:1.6}.profile-public-shell{align-content:start;gap:1rem;width:min(1120px,100% - 2rem);min-height:100vh;margin:0 auto;padding:2rem 0 3rem;display:grid}.profile-public-shell.is-embedded{width:100%;min-height:auto;padding:0}.profile-public-header,.profile-panel,.profile-public-empty{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow)}.profile-public-header{background:linear-gradient(135deg, color-mix(in srgb, var(--surface) 82%, var(--accent) 18%), var(--surface) 58%);gap:1rem;padding:1.35rem;display:grid;overflow:hidden}.profile-public-avatar{object-fit:cover;border:3px solid var(--surface);border-radius:999px;place-items:center;width:5rem;height:5rem;display:grid;box-shadow:0 10px 22px #36201229}.profile-public-avatar-fallback{background:var(--secondary);color:var(--surface);font-size:1.45rem;font-weight:850}.profile-public-heading{min-width:0}.profile-public-brand{color:var(--text);align-items:center;gap:.65rem;font-weight:800;text-decoration:none;display:inline-flex}.profile-public-brand img,.profile-public-empty img{object-fit:contain;border-radius:var(--radius-sm);width:2.5rem;height:2.5rem}.profile-public-header h1{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.75rem;margin:0;font-size:2.2rem;display:flex}.profile-public-auth-link{color:var(--secondary);font-family:Inter,Avenir Next,Segoe UI,sans-serif;font-size:.95rem;font-weight:800}.profile-header-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.45rem;display:inline-flex}.share-button{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-muted);min-height:2.45rem;color:var(--ink);align-items:center;gap:.42rem;padding:.55rem .78rem;font-family:Inter,Avenir Next,Segoe UI,sans-serif;font-size:.88rem;font-weight:850;display:inline-flex}.share-button svg{stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.85px;width:1.05rem;height:1.05rem}.profile-friend-button,.profile-friend-actions button{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--secondary);color:var(--surface);padding:.62rem .82rem;font-family:Inter,Avenir Next,Segoe UI,sans-serif;font-size:.88rem;font-weight:850}.profile-friend-button:disabled{background:var(--surface-muted);color:var(--muted)}.button-with-spinner{justify-content:center;align-items:center;gap:.45rem;display:inline-flex}.inline-button-spinner{border:2px solid;border-right-color:#0000;border-radius:999px;flex:none;width:.85rem;height:.85rem;animation:.7s linear infinite inline-button-spinner}.profile-friend-actions{flex-wrap:wrap;gap:.45rem;display:inline-flex}.profile-friend-actions button:last-child{background:var(--surface-muted);color:var(--ink)}.profile-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.profile-stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);align-content:space-between;gap:.5rem;min-height:5rem;padding:1rem;display:grid;position:relative;overflow:hidden;box-shadow:0 12px 28px #36201214}.profile-stat:after{content:"";background:var(--accent);opacity:.7;height:.25rem;position:absolute;inset:auto 0 0}.profile-stat span,.profile-section-heading span,.profile-muted{color:var(--text-muted)}.profile-stat span{align-items:center;gap:.4rem;font-weight:800;display:inline-flex}.profile-stat-icon{width:1.15rem;height:1.15rem;-webkit-mask:var(--profile-stat-icon) center / contain no-repeat;-webkit-mask:var(--profile-stat-icon) center / contain no-repeat;mask:var(--profile-stat-icon) center / contain no-repeat;background:currentColor;flex:none;display:inline-block}.profile-stat.icon-fire .profile-stat-icon{background:linear-gradient(160deg,#ffcf55 7%,#f06c21 45%,#c92319 88%)}.profile-stat.icon-muted .profile-stat-icon{background:#8f8a84}.profile-stat.has-icon{background:linear-gradient(135deg, color-mix(in srgb, var(--surface) 74%, var(--accent) 26%), var(--surface) 64%)}.profile-stat.has-icon>span{align-items:baseline}.profile-stat strong{font-size:1.6rem;line-height:1.1}.profile-panel{gap:1rem;padding:1rem;display:grid}.profile-section-heading{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.profile-section-heading h2{margin:0 auto 0 0;font-size:1.2rem}.profile-calendar-scroll{--profile-calendar-cell:.75rem;--profile-calendar-gap:.25rem;max-width:100%;padding-bottom:2rem;overflow-x:auto}.profile-calendar-months{min-width:max-content;height:1rem;color:var(--text-muted);margin-bottom:.35rem;font-size:.72rem;font-weight:800;position:relative}.profile-calendar-months span{text-overflow:clip;white-space:nowrap;min-width:0;position:absolute;top:0;overflow:hidden}.profile-calendar{grid-template-rows:repeat(7, var(--profile-calendar-cell));grid-auto-flow:column;grid-auto-columns:var(--profile-calendar-cell);gap:var(--profile-calendar-gap);min-width:max-content;display:grid}.profile-calendar-day{width:var(--profile-calendar-cell);height:var(--profile-calendar-cell);border:1px solid color-mix(in srgb, var(--border), transparent 35%);background:0 0;border-radius:2px;display:block;position:relative}.profile-calendar-day:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.profile-calendar-day.is-current-streak{border-width:.5px;border-color:#000}.profile-calendar-tooltip{z-index:20;border-radius:var(--radius-sm);background:var(--player);width:max-content;max-width:min(18rem,100vw - 2rem);color:var(--player-text);box-shadow:var(--shadow);opacity:0;pointer-events:none;text-align:left;white-space:pre-line;padding:.4rem .55rem;font-size:.78rem;font-weight:700;line-height:1.25;transition:opacity .12s,transform .12s;position:fixed;transform:translate(-50%,-.2rem)}.profile-calendar-day:hover .profile-calendar-tooltip,.profile-calendar-day:focus-visible .profile-calendar-tooltip{opacity:1;transform:translate(-50%)}.profile-activity-list{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.profile-activity-list li{border-top:1px solid var(--border);grid-template-columns:minmax(0,1fr) auto auto;align-items:baseline;gap:.75rem;padding:.75rem 0;display:grid}.profile-book-grid{grid-template-columns:repeat(auto-fill,minmax(13rem,1fr));gap:.65rem;display:grid}.profile-book-card{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);min-width:0;color:inherit;grid-template-columns:2.8rem minmax(0,1fr);align-items:center;gap:.65rem;padding:.55rem;text-decoration:none;display:grid}.profile-book-card img,.profile-book-card>span:first-child{border-radius:var(--radius-sm);background:var(--surface-muted);width:2.8rem;height:2.8rem;color:var(--primary);object-fit:contain;place-items:center;font-family:Lora,Georgia,serif;font-size:1.3rem;font-weight:800;display:grid}.profile-book-card>span:last-child{gap:.15rem;min-width:0;display:grid}.profile-book-card-title-row{align-items:center;gap:.35rem;min-width:0;display:flex}.profile-book-card strong,.profile-book-card em{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.profile-book-card-title-row strong{flex:auto}.profile-book-finished{background:var(--status-finished);flex:none;justify-content:center;align-items:center;width:1rem;height:1rem;display:inline-flex;-webkit-mask:url(/icons/check-circle.svg) 50%/contain no-repeat;mask:url(/icons/check-circle.svg) 50%/contain no-repeat}.profile-book-finished img{display:none}.profile-book-progress-chip{border:1px solid color-mix(in srgb, var(--accent), transparent 45%);background:color-mix(in srgb, var(--accent) 18%, var(--surface));color:var(--primary);border-radius:999px;flex:none;padding:.12rem .34rem;font-size:.72rem;font-weight:850;line-height:1.1}.profile-book-card em{color:var(--muted);font-size:.85rem;font-style:normal}.profile-book-card-meta{min-width:0;color:var(--primary);text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;font-weight:800;overflow:hidden}.profile-book-activity{gap:.65rem;margin:0;padding:0;list-style:none;display:grid}.profile-book-activity li{grid-template-columns:minmax(0,1fr);align-items:center;gap:.75rem;display:grid}.profile-book-activity li>span,.profile-book-activity li>strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:none;overflow:hidden}.profile-share-panel{grid-template-columns:minmax(0,1fr);align-items:center}.profile-share-panel.image-only{justify-items:center}.profile-share-panel>div{justify-items:start;gap:.8rem;min-width:0;display:grid}.profile-share-copy{max-width:32rem;min-height:2.8em;color:var(--text-muted);opacity:0;align-items:center;margin:0;transition:opacity .26s,transform .26s;display:flex;transform:translateY(.2rem)}.profile-share-copy.is-visible{opacity:1;transform:translateY(0)}.profile-share-preview-frame{aspect-ratio:40/21;border:1px solid var(--border);border-radius:var(--radius-sm);background:linear-gradient(110deg,#0000 20%,#fff7e280 42%,#0000 64%) 0 0/220% 100%,radial-gradient(circle at 76% 30%,#d7bd91 0 11%,#0000 12%) 0 0/100% 100%,linear-gradient(145deg,#9c7954,#d7c09a 48%,#806044) 0 0/100% 100%;justify-self:center;width:100%;max-width:34rem;margin:0;animation:1.8s ease-in-out infinite profile-share-placeholder-shimmer;position:relative;overflow:hidden;box-shadow:0 14px 32px #36201224}.profile-share-preview-frame:after{border-radius:calc(var(--radius-sm) * .75);content:"";border:1px solid #452d1b47;transition:opacity .42s;position:absolute;inset:10%}.profile-share-preview{object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity .42s;display:block;position:absolute;inset:0}.profile-share-preview-frame.is-loaded .profile-share-preview{opacity:1}.profile-share-preview-frame.is-loaded{animation:none}.profile-share-preview-frame.is-loaded:after{opacity:0}@keyframes profile-share-placeholder-shimmer{0%{background-position:130% 0,0 0,0 0}to{background-position:-120% 0,0 0,0 0}}@media (prefers-reduced-motion:reduce){.profile-share-preview-frame{animation:none}}.profile-public-empty{place-self:center;justify-items:start;gap:1rem;width:min(24rem,100%);padding:1.5rem;display:grid}.profile-public-empty h1,.profile-muted{margin:0}code{background:var(--surface-muted);border-radius:999px;padding:.12rem .35rem}@media (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))}.profile-public-header{grid-template-columns:14rem minmax(0,1fr);align-items:end}.profile-public-header.has-avatar{grid-template-columns:14rem auto minmax(0,1fr);align-items:end}.profile-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.profile-share-panel{grid-template-columns:minmax(0,.85fr) minmax(20rem,1.15fr)}.profile-share-panel.image-only{grid-template-columns:minmax(20rem,34rem)}.profile-book-card-meta{display:none}.profile-book-activity li{grid-template-columns:minmax(12rem,1fr) minmax(7.5rem,max-content) minmax(4.5rem,max-content)}.profile-book-activity li>span,.profile-book-activity li>strong{display:block}}.app-layout{background:#d8c3a1;min-height:100vh;display:grid}.app-sidebar{color:var(--surface);background:#3a0718;grid-template-rows:auto 1fr auto;gap:1rem;padding:1rem .75rem;display:none}.sidebar-brand{width:100%;color:inherit;align-items:center;gap:.75rem;font-weight:800;text-decoration:none;display:flex}.sidebar-brand>span:not(.logo-streak-mark){white-space:nowrap}.logo-streak-mark{flex:none;width:2.6rem;height:2.6rem;display:inline-block;position:relative}.logo-streak-mark img{object-fit:contain;border-radius:var(--radius-sm);width:100%;height:100%;display:block}.sidebar-brand img{border-radius:var(--radius-sm);flex:0 0 2.6rem;width:2.6rem;height:2.6rem}.streak-badge{--streak-fire:#8f8a84;width:1.45rem;height:1.55rem;color:var(--surface);flex:none;place-items:center;display:inline-grid;position:absolute;bottom:0;right:0}.streak-badge.is-active-today{--streak-fire:linear-gradient(160deg, #ffcf55 7%, #f06c21 45%, #c92319 88%)}.streak-badge-count{z-index:1;color:#fff8ea;text-align:center;text-shadow:0 1px 1px #2d0614e6,0 0 2px #2d0614d9;font-size:.88rem;font-weight:900;line-height:1;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.streak-badge-fire{background:var(--streak-fire);transform-origin:50% 80%;width:100%;height:100%;display:block;-webkit-mask:url(/icons/fire.svg) 50%/contain no-repeat;mask:url(/icons/fire.svg) 50%/contain no-repeat}.streak-badge.is-active-today .streak-badge-fire{animation:.62s cubic-bezier(.2,.8,.2,1) streak-fire-pop}.sidebar-nav{align-content:start;gap:.85rem;display:grid}.sidebar-nav-group,.sidebar-nav-section{gap:.2rem;display:grid}.sidebar-nav-section{border-top:1px solid #fff8ea38;padding-top:.85rem}.sidebar-nav-heading{color:#fff8ea8a;letter-spacing:0;text-transform:uppercase;margin:0 0 .15rem;padding:0 .75rem 0 1rem;font-size:.72rem;font-weight:800}.sidebar-nav button,.sidebar-nav a,.sidebar-footer-nav a{border-radius:var(--radius-sm);color:#fff8eac7;text-align:left;background:0 0;border:1px solid #0000;justify-content:flex-start;align-items:center;gap:.65rem;width:100%;min-height:2.75rem;padding:.65rem .75rem .65rem 1rem;font-weight:700;text-decoration:none;display:flex;position:relative}.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{color:var(--surface);background:#d45a5840}.sidebar-nav button.is-active:before,.sidebar-nav a.is-active:before,.sidebar-footer-nav a.is-active:before{background:var(--accent);content:"";border-radius:999px;width:3px;position:absolute;top:.5rem;bottom:.5rem;left:0}.sidebar-item-icon,.sidebar-source-icon{flex:0 0 1.65rem;width:1.65rem;height:1.65rem}.sidebar-text-icon{border-radius:var(--radius-sm);color:var(--surface);background:#fff8ea29;place-items:center;font-size:.82rem;font-weight:900;display:grid}.sidebar-item-icon,.sidebar-source-icon{object-fit:contain}.sidebar-item-icon{opacity:.82;filter:invert()}.sidebar-source-icon{border-radius:.25rem}.sidebar-footer-nav{align-self:end;display:grid}.sidebar-settings-icon{color:currentColor;text-align:center;opacity:.82;flex:0 0 1.65rem;width:1.65rem;height:1.65rem;font-size:1.35rem;line-height:1.65rem}.workspace{min-width:0;padding-bottom:calc(5rem + env(safe-area-inset-bottom));background:#d8c3a1;display:grid}.snackbar-viewport{z-index:30;pointer-events:none;gap:.6rem;width:min(100vw - 2rem,24rem);display:grid;position:fixed;top:5rem;right:1rem}.snackbar{border:1px solid var(--line);border-left:4px solid var(--secondary);border-radius:var(--radius-sm);background:var(--surface);min-height:3.1rem;color:var(--ink);pointer-events:auto;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem .75rem .75rem .9rem;display:flex;box-shadow:0 18px 38px #3620122e}.snackbar-success{border-left-color:var(--success)}.snackbar-error{border-left-color:var(--danger)}.snackbar-warning{border-left-color:var(--warning)}.snackbar span{overflow-wrap:anywhere;min-width:0;font-weight:800}.snackbar button{border-radius:var(--radius-sm);background:var(--surface-muted);width:1.9rem;height:1.9rem;color:var(--ink);border:0;flex:none;place-items:center;font-weight:900;line-height:1;display:grid}.snackbar button:hover{background:color-mix(in srgb, var(--surface-muted), var(--line) 40%)}.book-search{align-items:center;gap:.5rem;display:flex}.book-search label{font-size:.85rem;font-weight:800}.book-search input{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);width:100%;min-height:2.75rem;color:var(--ink);padding:.75rem .9rem}.account-menu{position:relative}.account-menu-sidebar{align-self:end}.sidebar-profile-button,.mobile-profile-button{background:0 0;border:0;font-weight:800;position:relative}.sidebar-profile-button{border-radius:var(--radius-sm);color:#fff8eadb;text-align:left;grid-template-columns:2.25rem minmax(0,1fr);align-items:center;gap:.65rem;width:100%;min-height:2.9rem;padding:.35rem .55rem;display:grid}.sidebar-profile-button:hover{color:var(--surface);background:#d45a5840}.sidebar-profile-button .avatar-chip{width:2.25rem;height:2.25rem;font-size:.82rem}.sidebar-profile-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.mobile-profile-button{border-radius:var(--radius-sm);min-width:0;min-height:3.35rem;color:var(--muted);place-items:center;gap:.12rem;padding:.3rem .25rem;font-size:.72rem;display:grid}.mobile-profile-button .avatar-chip{width:1.35rem;height:1.35rem;font-size:.62rem}.mobile-profile-button:hover,.mobile-profile-button[aria-expanded=true]{background:color-mix(in srgb, var(--accent) 22%, var(--surface));color:var(--ink)}.mobile-account-menu-header{display:contents}.mobile-account-close,.mobile-account-only{display:none}.user-menu-notification-dot,.nav-notification-dot{background:var(--danger);width:.65rem;height:.65rem;box-shadow:0 0 0 2px var(--surface);content:"";border-radius:999px}.sidebar-profile-button .nav-notification-dot{position:absolute;top:.4rem;left:2.35rem}.mobile-profile-button .nav-notification-dot{position:absolute;top:.42rem;right:calc(50% - 1.05rem);box-shadow:0 0 0 2px #fff8eaf5}.user-menu-popover{z-index:90;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);width:min(22rem,100vw - 2rem);min-width:12rem;box-shadow:var(--shadow);gap:.25rem;padding:.4rem;display:grid;position:absolute;bottom:calc(100% + .5rem);right:0}.account-menu-sidebar .user-menu-popover{bottom:calc(100% + .55rem);left:0;right:auto}.admin-notification-list{border-top:1px solid var(--line);border-bottom:1px solid var(--line);gap:.35rem;padding:.4rem 0;display:grid}.admin-notification{border-radius:var(--radius-sm);background:var(--surface-muted);gap:.55rem;padding:.6rem;display:grid}.admin-notification strong,.admin-notification span{overflow-wrap:anywhere;display:block}.admin-notification strong{color:var(--ink)}.admin-notification span{color:var(--muted);font-size:.85rem}.admin-notification .admin-notification-type{color:var(--primary);text-transform:uppercase;margin-bottom:.2rem;font-size:.72rem;font-weight:900}.admin-notification-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem;display:grid}.user-menu-popover .admin-notification-actions button{text-align:center;padding:.55rem;font-weight:800}.user-menu-profile{border-bottom:1px solid var(--line);grid-template-columns:2.5rem minmax(0,1fr);align-items:center;gap:.65rem;padding:.7rem;display:grid}.user-menu-profile strong,.user-menu-profile span{overflow-wrap:anywhere;display:block}.user-menu-profile .avatar-chip{width:2.5rem;height:2.5rem;font-size:.9rem}.user-menu-profile span{color:var(--muted);font-size:.9rem}.user-menu-popover button,.user-menu-popover a{border-radius:var(--radius-sm);color:var(--ink);text-align:left;background:0 0;border:0;padding:.7rem;text-decoration:none}.user-menu-popover>a,.user-menu-popover>button{align-items:center;gap:.65rem;display:flex}.user-menu-popover button:hover,.user-menu-popover a:hover{background:var(--surface-muted)}.user-menu-item-icon{object-fit:contain;flex:none;width:1.4rem;height:1.4rem;display:block}.content-shell{padding:1rem var(--mobile-page-padding-inline);align-content:start;gap:1rem;display:grid}.mobile-bottom-nav{z-index:28;min-height:calc(4.35rem + env(safe-area-inset-bottom));padding:.35rem .55rem calc(.35rem + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#fff8eaf5;grid-template-columns:repeat(4,minmax(0,1fr));gap:.25rem;display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -14px 34px #36201229}.mobile-bottom-nav a,.mobile-bottom-nav .mobile-profile-button{border-radius:var(--radius-sm);min-width:0;min-height:3.35rem;color:var(--muted);place-items:center;gap:.12rem;padding:.3rem .25rem;font-size:.72rem;font-weight:850;text-decoration:none;display:grid;position:relative}.mobile-bottom-nav .account-menu-mobile{min-width:0;display:grid}.mobile-bottom-nav .mobile-profile-button{width:100%;height:100%}.mobile-bottom-nav .nav-notification-dot{position:absolute;top:.42rem;right:calc(50% - 1.05rem);box-shadow:0 0 0 2px #fff8eaf5}.mobile-bottom-nav a.is-active{background:color-mix(in srgb, var(--accent) 22%, var(--surface));color:var(--ink)}.mobile-bottom-nav img{object-fit:contain;opacity:.72;width:1.35rem;height:1.35rem;display:block}.mobile-bottom-nav a.is-active img,.mobile-bottom-nav .avatar-image{opacity:1}.discover{gap:1.2rem;display:grid}.discover-mobile-search{margin:-1rem calc(-1 * var(--mobile-page-padding-inline)) 0;padding:.75rem var(--mobile-page-padding-inline);z-index:12;border-bottom:1px solid var(--line);background:#d8c3a1f7;display:block;position:sticky;top:0}.discover-mobile-search .book-search input{min-height:3rem}.discover-section{gap:.75rem;display:grid}.discover-section-header{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.discover-section-header h2{margin:0;font-family:Inter,Avenir Next,Segoe UI,sans-serif;font-size:1.08rem;line-height:1.15}.discover-section-header h2 a{color:inherit;text-decoration:none}.discover-section-header h2 a:hover,.discover-section-header h2 a:focus-visible{color:var(--primary);text-underline-offset:.18em;text-decoration:underline}.offline-state{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);gap:.45rem;max-width:42rem;padding:1.1rem;display:grid}.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{gap:.25rem;display:grid}.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{color:var(--muted);margin:0;font-weight:700}.mobile-page-header{justify-content:space-between;align-items:center;gap:1rem;display:flex}.mobile-page-header h1{overflow-wrap:anywhere;min-width:0;margin:0;font-family:Inter,Avenir Next,Segoe UI,sans-serif;font-size:clamp(1.7rem,4vw,2.4rem);line-height:1.1}.mobile-page-header.is-logo-only{justify-content:flex-end}.mobile-page-header-brand{flex:none;align-items:center;gap:.35rem;display:inline-flex}.mobile-page-header-brand .logo-streak-mark{width:2.9rem;height:2.9rem}.mobile-page-header-logo{object-fit:contain;flex:none;width:2.9rem;height:2.9rem}.mobile-streak-badge{color:var(--ink)}@keyframes streak-fire-pop{0%{transform:scale(.82)rotate(-3deg)}55%{transform:scale(1.12)rotate(2deg)}to{transform:scale(1)rotate(0)}}@media (prefers-reduced-motion:reduce){.streak-badge.is-active-today .streak-badge-fire{animation:none}}@media (width<=759px){.discover-mobile-search .book-search button{display:none}.account-menu-mobile .user-menu-popover{inset:0 0 calc(4.35rem + env(safe-area-inset-bottom));z-index:29;background:var(--surface);border:0;border-radius:0;align-content:start;gap:.45rem;width:auto;min-width:0;padding:1rem;position:fixed;overflow-y:auto}.profile-public-shell.is-embedded{padding:1rem var(--mobile-page-padding-inline)}.account-menu-mobile .mobile-account-menu-header{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:.75rem;padding-bottom:.5rem;display:grid}.account-menu-mobile .user-menu-profile{border-bottom:0;padding:0}.account-menu-mobile .mobile-account-close,.account-menu-mobile .mobile-account-only{display:block}.account-menu-mobile .mobile-account-close{background:var(--surface-muted);padding-inline:.85rem;font-weight:850}.account-menu-mobile .user-menu-popover>a,.account-menu-mobile .user-menu-popover>button:not(.mobile-account-close){align-items:center;gap:.75rem;min-height:3.15rem;font-size:1rem;font-weight:850;display:flex}.collection-page-header h1,.collection-page-header .skeleton-title{display:none}}@media (width>=760px){:root{--mobile-page-padding-inline:1rem}.account-menu-mobile,.mobile-page-header{display:none}.discover-mobile-search{background:0 0;border-bottom:0;margin:0;padding:0;position:static}}.collection-grid{grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:.75rem;display:grid}.collection-link{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);min-height:5rem;color:var(--ink);align-content:center;gap:.3rem;padding:.9rem;text-decoration:none;display:grid;box-shadow:0 10px 24px #36201214}.collection-link:hover{border-color:#d45a5880}.collection-link strong{overflow-wrap:anywhere;min-width:0;font-size:1rem;line-height:1.2}.collection-link span{color:var(--muted);font-size:.86rem;font-weight:700}.collection-link-skeleton{pointer-events:none}.collection-link-skeleton .skeleton-line{max-width:100%}.view-filter-search{width:100%;display:block}.view-filter-search input{box-sizing:border-box;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);width:100%;min-height:2.6rem;color:var(--ink);padding:.7rem .85rem}.collection-count-skeleton{width:8.5rem;max-width:100%}.book-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.book-list{gap:.75rem;display:grid}.book-selection-bar{z-index:60;border:1px solid color-mix(in srgb, var(--primary), var(--line) 32%);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--surface) 92%, #fff 8%);gap:.65rem;padding:.75rem;display:grid;position:sticky;top:.75rem;box-shadow:0 16px 34px #2b1d142e}.book-selection-summary,.book-selection-actions{flex-wrap:wrap;align-items:center;gap:.5rem;min-width:0;display:flex}.book-selection-summary{justify-content:space-between}.book-selection-summary strong{color:var(--ink);font-size:.96rem}.book-selection-clear{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);min-height:2.15rem;color:var(--primary);padding:.35rem .65rem;font-size:.84rem;font-weight:850}.book-selection-clear:hover,.book-selection-clear:focus-visible{background:var(--surface-muted)}.book-selection-clear:disabled{cursor:wait;opacity:.62}.book-selection-actions button{min-height:2.35rem;padding:.55rem .75rem;font-size:.84rem;font-weight:850}.book-list-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.book-list-count{color:var(--muted);flex:none;margin:0;font-size:.88rem;font-weight:700}.book-list-mobile-count{display:none}.book-list-controls{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.5rem;min-width:0;display:flex}.book-status-filter{border:1px solid var(--line);background:var(--surface-muted);border-radius:999px;grid-template-columns:repeat(4,minmax(5.7rem,1fr));min-height:2.45rem;padding:.2rem;display:grid}.book-status-filter button{min-width:5.7rem;min-height:2rem;color:var(--muted);white-space:nowrap;background:0 0;border:0;border-radius:999px;padding:.35rem .75rem;font-size:.84rem;font-weight:800}.book-status-filter button.is-active{background:var(--surface);color:var(--ink);box-shadow:0 8px 18px #3620121f}.book-availability-filter{grid-template-columns:repeat(3,minmax(5.7rem,1fr))}.book-availability-toggle{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);min-height:2.45rem;color:var(--ink);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.55rem;padding:.35rem .65rem;font-size:.84rem;font-weight:800;display:inline-flex}.book-availability-toggle input{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.book-availability-switch{border:1px solid var(--line);background:var(--surface-muted);border-radius:999px;width:2.55rem;height:1.35rem;position:relative}.book-availability-switch:after{background:var(--muted);content:"";border-radius:50%;width:.9rem;height:.9rem;transition:background-color .14s,transform .14s;position:absolute;top:.16rem;left:.16rem}.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{flex:none;position:relative}.book-sort-button{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);min-height:2.45rem;display:inline-flex;overflow:hidden}.book-sort-field,.book-sort-direction{min-height:2.45rem;color:var(--ink);background:0 0;border:0;font-weight:800}.book-sort-field{text-overflow:ellipsis;text-align:left;white-space:nowrap;min-width:7.5rem;max-width:9.8rem;padding:.55rem .7rem;overflow:hidden}.book-sort-direction{border-left:1px solid var(--line);width:2.45rem;color:var(--primary);place-items:center;font-size:1.1rem;line-height:1;display:grid}.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{z-index:70;border:1px solid color-mix(in srgb, var(--primary), var(--line) 34%);border-radius:var(--radius-sm);background:var(--surface);width:max-content;min-width:10rem;padding:.3rem;position:absolute;top:calc(100% + .35rem);right:0;box-shadow:0 16px 34px #2b1d1438}.book-sort-menu button{border-radius:calc(var(--radius-sm) - 2px);width:100%;min-height:2.25rem;color:var(--ink);font:inherit;text-align:left;white-space:nowrap;background:0 0;border:0;padding:.5rem .7rem;font-size:.86rem;font-weight:800;display:block}.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}@media (width<=520px){.book-list-header{align-items:stretch}.book-list-controls,.book-status-filter,.book-sort-control,.book-sort-button,.book-sort-field{width:100%}.book-list-controls{justify-content:stretch}.book-sort-button{grid-template-columns:minmax(0,1fr) 2.45rem;display:grid}.book-sort-field{min-width:0;max-width:none}.book-sort-menu{width:auto;min-width:0;max-width:100%;left:0;right:0}.book-sort-menu button{text-overflow:ellipsis;min-width:0;overflow:hidden}.book-list-desktop-count{display:none}.book-list-mobile-count{display:block}.book-status-filter{border-radius:var(--radius-sm);grid-template-columns:repeat(2,minmax(0,1fr))}.book-status-filter button{min-width:0}.book-availability-toggle{justify-content:space-between;width:100%}.book-selection-bar{top:.5rem}.book-selection-summary,.book-selection-actions,.book-selection-actions button{width:100%}}.book-action-menu{z-index:80;border:1px solid color-mix(in srgb, var(--primary), var(--line) 28%);border-radius:var(--radius-sm);background:var(--surface);width:13.75rem;padding:.35rem;position:fixed;box-shadow:0 18px 40px #2b1d143d}.book-action-menu button{border-radius:calc(var(--radius-sm) - 2px);width:100%;min-height:2.8rem;color:var(--ink);font:inherit;text-align:left;background:0 0;border:0;padding:.78rem .9rem;font-size:.92rem;font-weight:850}.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;color:var(--primary);justify-content:center;align-items:center;gap:.28em;display:flex}.search-wave-loader span{background:currentColor;border-radius:999px;width:.72em;height:.72em;animation:.9s ease-in-out infinite search-wave;display:block}.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{opacity:.42;transform:translateY(0)}40%{opacity:1;transform:translateY(-.48em)}}.book-card{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);gap:.75rem;min-width:0;padding:0;display:grid;position:relative;overflow:hidden;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.is-selected{border-color:color-mix(in srgb, var(--secondary), var(--accent) 22%);box-shadow:inset 0 0 0 3px color-mix(in srgb, var(--secondary), transparent 48%), 0 16px 34px #2b1d1433}.book-card.is-selecting .book-card-link{cursor:default}.book-card-link{min-height:100%;color:inherit;gap:.55rem;text-decoration:none;display:grid}.book-card-link:focus-visible{outline:3px solid color-mix(in srgb, var(--accent), transparent 35%);outline-offset:-3px}.book-cover-frame{aspect-ratio:1;background:var(--surface-muted);min-width:0;display:grid;position:relative;overflow:hidden}.book-select-button{z-index:4;width:1.5rem;height:1.5rem;color:var(--surface);opacity:0;background:#2b1d146b;border:2px solid #fff8eae6;border-radius:999px;place-items:center;padding:0;font-size:1rem;font-weight:950;line-height:1;transition:background-color .14s,opacity .14s,transform .14s;display:grid;position:absolute;top:.55rem;left:.55rem;transform:scale(.88);box-shadow:0 8px 18px #2b1d1438}.book-card:hover .book-select-button,.book-card:focus-within .book-select-button,.book-card.is-selecting .book-select-button,.book-select-button:focus-visible{opacity:1;transform:scale(1)}.book-select-button[aria-pressed=true]{border-color:var(--surface);background:var(--secondary);opacity:1;transform:scale(1)}.book-select-button:hover,.book-select-button:focus-visible{background:var(--primary)}.book-cover{object-fit:contain;background:var(--surface-muted);width:100%;height:100%;color:var(--primary);place-items:center;font-family:Lora,Georgia,serif;font-size:2rem;font-weight:800;display:grid}.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{background:var(--surface-muted);position:relative;overflow:hidden}.skeleton-cover:after,.skeleton-line:after{content:"";background:linear-gradient(90deg,#0000,#fff8eab8,#0000);animation:1.25s ease-in-out infinite skeleton-shimmer;position:absolute;inset:0;transform:translate(-100%)}.skeleton-cover{aspect-ratio:1}.skeleton-line{border-radius:999px;height:.78rem;display:block}.skeleton-title{width:82%}.skeleton-meta{width:56%}@keyframes skeleton-shimmer{to{transform:translate(100%)}}.shelf-badge{border-radius:var(--radius-sm);background:var(--success);color:var(--surface);border:1px solid #fff8eab8;padding:.34rem .48rem;font-size:.72rem;font-weight:900;line-height:1;position:absolute;top:.55rem;right:.55rem;box-shadow:0 8px 18px #2b1d1433}.friend-book-badge{background:var(--secondary);min-width:1.75rem;min-height:1.75rem;color:var(--surface);border:1px solid #fff8eab8;border-radius:999px;place-items:center;font-size:.78rem;font-weight:950;line-height:1;display:grid;position:absolute;bottom:.55rem;left:.55rem;box-shadow:0 8px 18px #2b1d1433}.book-card-badge-row{flex-wrap:wrap;align-items:center;gap:.35rem;min-width:0;padding:0 .75rem;display:flex}.book-duration-badge,.book-rating-badge,.book-ready-badge{color:#000;background:#fff;border-radius:999px;align-items:center;gap:.28rem;width:fit-content;min-height:1.55rem;padding:.12rem .42rem;font-size:.88rem;font-weight:950;line-height:1;display:inline-flex;box-shadow:0 7px 14px #2b1d1429}.book-duration-badge img{object-fit:contain;width:.95rem;height:.95rem;display:block}.book-rating-badge{color:var(--primary)}.book-ready-badge{background:var(--success);width:1.55rem;color:var(--surface);justify-content:center;padding:0}.book-ready-badge img{object-fit:contain;filter:invert(96%)sepia(12%)saturate(508%)hue-rotate(321deg)brightness(106%)contrast(104%);width:.78rem;height:.78rem;display:block}.book-status-indicator{border:1px solid #fff8eab8;border-radius:999px;place-items:center;width:2rem;height:2rem;display:grid;position:absolute;bottom:.55rem;right:.55rem;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{object-fit:contain;filter:invert(96%)sepia(12%)saturate(508%)hue-rotate(321deg)brightness(106%)contrast(104%);width:1.08rem;height:1.08rem;display:block}.book-card-body{align-content:start;gap:.22rem;min-width:0;padding:0 .75rem .75rem;display:grid}.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{color:var(--primary);align-items:center;gap:.35rem;margin:0;font-size:.84rem;line-height:1.2;display:inline-flex}.detail-collection-links{flex-wrap:wrap;align-items:center;gap:.25rem;display:inline-flex}.detail-collection-link-item{align-items:center;gap:.25rem;display:inline-flex}.detail-collection-links a{color:inherit;text-underline-offset:.18em;text-decoration-color:#d45a5873}.detail-collection-links a:hover{color:var(--accent)}.book-language-flag{font-size:1.15rem;line-height:1}.progress-label{color:var(--muted);text-transform:capitalize;justify-content:space-between;align-items:center;gap:.75rem;font-size:.88rem;display:flex}.progress-stack{gap:.35rem;display:grid}.progress-track{background:var(--surface-muted);border-radius:999px;height:.55rem;overflow:hidden}.progress-track span{border-radius:inherit;background:var(--accent);height:100%;display:block}.book-progress-track span{background:var(--book-progress-played)}.finished-status{color:var(--status-finished);align-items:center;gap:.4rem;margin:0;font-size:.88rem;font-weight:800;display:inline-flex}.finished-status span{background:var(--status-finished);width:1.05rem;height:1.05rem;color:var(--surface);border-radius:50%;place-items:center;font-size:.76rem;line-height:1;display:inline-grid}.catalog-card-status{border:1px solid var(--line);border-radius:var(--radius-sm);width:fit-content;color:var(--ink);margin:.2rem 0 0;padding:.22rem .45rem;font-size:.78rem;font-weight:800}.catalog-card-status.is-finished{align-items:center;gap:.28rem;display:inline-flex}.finished-check-icon{background:currentColor;flex:none;width:.9rem;height:.9rem;display:inline-block;-webkit-mask:url(/icons/check-circle.svg) 50%/contain no-repeat;mask:url(/icons/check-circle.svg) 50%/contain no-repeat}.finished-check-icon img{display:none}.catalog-card-status.is-catalog_only{background:#34785614;border-color:#34785659}.catalog-card-status.is-unavailable{background:#a1523714;border-color:#a1523759}.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{gap:1.3rem;display:grid}.shelf-group{gap:.8rem;display:grid}.shelf-group h2{margin:0;font-family:Inter,Avenir Next,Segoe UI,sans-serif;font-size:1rem;font-weight:800}.empty-state{border:1px dashed var(--line);border-radius:var(--radius-sm);color:var(--muted);margin:0;padding:1rem}@media (width>=760px){.app-layout{padding-left:var(--sidebar-width);display:block}.app-sidebar{width:var(--sidebar-width);z-index:100;min-height:100vh;display:grid;position:fixed;top:0;bottom:0;left:0}.workspace{padding-bottom:0}.mobile-bottom-nav,.settings-mobile-session{display:none}.book-search{min-width:0}.content-shell,.profile-public-shell.is-embedded{padding:1.5rem}.book-grid{grid-template-columns:repeat(auto-fill,minmax(11rem,14rem));justify-content:space-between}}.detail-page{min-height:calc(100vh - 4rem);padding:1rem var(--mobile-page-padding-inline);background:#d8c3a1}.detail-page>.mobile-page-header{margin-bottom:1rem}.detail-back-link{color:var(--secondary);align-items:center;font-weight:800;text-decoration:none;display:inline-flex}.app-page-back-link{width:fit-content}.detail-page>.app-page-back-link{margin:0 1rem 1rem}.book-detail-layout{gap:1.25rem;max-width:1100px;margin:0 auto;display:grid}.detail-cover{aspect-ratio:1;border-radius:var(--radius-sm);object-fit:contain;background:var(--surface-muted);width:min(100%,22rem);color:var(--primary);place-items:center;font-family:Lora,Georgia,serif;font-size:4rem;font-weight:800;display:grid}.detail-copy{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);align-content:start;gap:1rem;padding:1rem;display:grid}.detail-copy h1{margin:0;font-size:2rem;line-height:1.1}.detail-subtitle,.detail-description{color:var(--muted);margin:0;line-height:1.6}.detail-parent-link{margin:0;font-size:.9rem;font-weight:800}.detail-description p{margin:0 0 .85rem}.detail-description p:last-child{margin-bottom:0}.detail-meta-grid{gap:.75rem;margin:0;display:grid}.detail-meta-grid div{gap:.2rem;display:grid}.detail-meta-grid dt{color:var(--primary);font-size:.78rem;font-weight:800}.detail-meta-grid dd{color:var(--ink);margin:0}.book-rating-list{flex-wrap:wrap;gap:.45rem;display:flex}.book-rating-pill{width:fit-content;color:var(--ink);background:#fff;border:1px solid #825c3d38;border-radius:999px;align-items:center;gap:.32rem;padding:.35rem .58rem;font-size:.9rem;font-weight:800;display:inline-flex}.book-rating-pill>span:first-child{color:var(--primary)}.book-rating-count{color:var(--muted);font-size:.82rem;font-weight:800}.audible-store-links{flex-wrap:wrap;gap:.45rem;display:flex}.audible-store-link{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-muted);width:fit-content;color:var(--ink);align-items:center;gap:.45rem;padding:.45rem .65rem;font-size:.9rem;font-weight:800;text-decoration:none;transition:transform .14s,border-color .14s,background-color .14s;display:inline-flex}.audible-store-link:hover{border-color:var(--accent);background:color-mix(in srgb, var(--accent), var(--surface) 72%);transform:translateY(-1px)}.catalog-availability-list{flex-wrap:wrap;gap:.45rem;display:flex}.catalog-availability-item{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-muted);width:fit-content;color:var(--ink);align-items:center;gap:.4rem;padding:.35rem .55rem;font-size:.88rem;display:inline-flex}.catalog-availability-item.is-catalog_only{background:#34785614;border-color:#34785659}.catalog-availability-item.is-unavailable{background:#a1523714;border-color:#a1523759}.catalog-availability-item code{color:var(--muted);font-family:inherit;font-size:.78rem}.detail-progress{max-width:22rem}.detail-finished-card{border:1px solid color-mix(in srgb, var(--status-finished), transparent 55%);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--status-finished) 12%, var(--surface));gap:.75rem;max-width:24rem;padding:.85rem;display:grid}.detail-finished-card-header{color:var(--status-finished);align-items:center;gap:.55rem;font-weight:900;display:flex}.detail-finished-card-header img{object-fit:contain;width:1.25rem;height:1.25rem}.detail-finished-dates{grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:.6rem;display:grid}.detail-finished-dates label{color:var(--primary);gap:.25rem;font-size:.78rem;font-weight:800;display:grid}.detail-finished-dates input{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);min-width:0;color:var(--ink);font:inherit;padding:.55rem .65rem}.detail-friends-panel{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-muted);gap:.65rem;max-width:34rem;padding:.85rem;display:grid}.detail-friends-panel h2{margin:0;font-size:1rem}.detail-friend-list{flex-wrap:wrap;gap:.4rem;display:flex}.detail-friend-list a{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);align-items:center;gap:.35rem;padding:.35rem .55rem;font-size:.88rem;font-weight:800;line-height:1.1;text-decoration:none;display:inline-flex}.detail-friend-finished-icon{object-fit:contain;flex:none;width:.95rem;height:.95rem}.detail-primary-actions{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.detail-add-button{width:fit-content}.detail-share-button{flex:none}.detail-shelf-panel{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.85rem;max-width:28rem;padding:.85rem;display:flex}.episode-collection{gap:.75rem;padding-top:.25rem;display:grid}.episode-collection-heading{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.episode-collection-heading h2{margin:0;font-size:1.2rem}.episode-collection-heading span{color:var(--muted);font-weight:800}.collection-hierarchy-status,.collection-hierarchy-error,.collection-hierarchy-error p{margin:0}.collection-hierarchy-status{color:var(--muted);font-weight:700}.collection-hierarchy-error{color:var(--danger);gap:.25rem;font-weight:700;display:grid}.collection-hierarchy-error p+p{font-size:.9rem;font-weight:500}.episode-list{border-top:1px solid var(--line);margin:0;padding:0;list-style:none;display:grid}.episode-list-item{border-bottom:1px solid var(--line);grid-template-columns:2rem minmax(0,1fr) auto;align-items:center;gap:.75rem;min-width:0;padding:.75rem 0;display:grid}.episode-number{color:var(--primary);text-align:center;font-weight:900}.episode-copy{gap:.2rem;min-width:0;display:grid}.episode-copy a{color:var(--ink);font-weight:850;text-decoration:none}.episode-copy a:hover{text-decoration:underline}.episode-copy span{color:var(--muted);font-size:.82rem}.episode-actions{align-items:center;gap:.5rem;display:inline-flex}.episode-actions .finished-check-icon{width:1.1rem;height:1.1rem;color:var(--status-finished)}.episode-progress{color:var(--primary);font-size:.85rem;font-weight:850}.detail-icon-action{align-items:center;gap:.45rem;display:inline-flex}.detail-icon-action img{object-fit:contain;width:1.2rem;height:1.2rem}.detail-offline-button{isolation:isolate;position:relative;overflow:hidden}.detail-offline-button:after{content:"";z-index:-1;background:linear-gradient(90deg, var(--accent), color-mix(in srgb, var(--accent), white 24%)) left bottom / var(--offline-download-progress,0%) 100% no-repeat, color-mix(in srgb, var(--accent), var(--surface) 76%);opacity:0;height:.24rem;transition:background-size .22s,opacity .16s;position:absolute;bottom:0;left:0;right:0}.detail-offline-button.is-downloading:after,.detail-offline-button.is-complete:after{opacity:1}.detail-offline-button.is-complete{animation:2s forwards offline-download-complete}@keyframes offline-download-complete{0%{opacity:1;transform:translateY(0)}70%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-.25rem)}}.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}@media (width<=520px){.offline-storage-summary{grid-template-columns:1fr}.offline-persistence-panel{flex-direction:column;align-items:stretch}.offline-book-row{grid-template-columns:3.75rem minmax(0,1fr)}.offline-book-row>img,.offline-book-cover-placeholder{width:3.75rem}.offline-book-row button{grid-column:1/-1;width:100%}.detail-shelf-panel{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;width:100%;max-width:none;display:grid}.detail-shelf-panel button,.detail-shelf-panel a{justify-content:center;width:100%;min-width:0}.detail-play-button{order:1;grid-column:1/-1}.detail-chapters-button{order:2}.detail-offline-button{order:3}.pdf-download-link{order:4}}.pdf-download-link{border:1px solid color-mix(in srgb, #f55342, var(--line) 28%);border-radius:var(--radius-sm);background:var(--surface);height:2.25rem;color:var(--ink);align-items:center;gap:.35rem;padding:.25rem .55rem .25rem .35rem;font-size:.85rem;font-weight:800;text-decoration:none;transition:transform .14s,border-color .14s,background-color .14s;display:inline-flex}.pdf-download-link:hover{background:color-mix(in srgb, #f55342, var(--surface) 88%);border-color:#f55342;transform:translateY(-1px)}.pdf-download-link:focus-visible{outline-offset:2px;outline:3px solid #f5534247}.pdf-download-link img{object-fit:contain;width:1.45rem;height:1.45rem}.pdf-page{min-height:100vh;padding:1.5rem var(--mobile-page-padding-inline) calc(5.25rem + env(safe-area-inset-bottom));align-content:start;gap:1rem;display:grid}.pdf-page-header{justify-content:space-between;align-items:end;gap:1rem;width:min(100%,1040px);margin:0 auto;display:flex}.pdf-page-header h1{margin:.2rem 0 0;font-size:clamp(1.8rem,4vw,2.8rem);line-height:1.05}.pdf-download-button{white-space:nowrap;align-items:center;gap:.45rem;min-height:2.5rem;text-decoration:none;display:inline-flex}.pdf-download-button img{object-fit:contain;width:1.1rem;height:1.1rem}.pdf-viewer-shell{gap:.75rem;width:100%;margin:0 auto;display:grid}.pdf-toolbar{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);align-items:center;gap:.45rem;min-height:3rem;padding:.4rem;display:flex;overflow-x:auto}.pdf-toolbar .subtle-button{white-space:nowrap;min-height:2.15rem;padding:.4rem .65rem}.pdf-page-count,.pdf-scale-button{text-align:center;min-width:4.8rem;font-size:.9rem;font-weight:800}.pdf-toolbar-spacer{flex:auto;min-width:.25rem}.pdf-zoom-button{width:2.25rem}.pdf-canvas-scroll{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-muted);place-items:start center;min-height:65vh;padding:.75rem;display:grid;overflow:auto}.pdf-status{color:var(--muted);margin:1rem 0;font-weight:800}.pdf-canvas{background:#fff;max-width:none;box-shadow:0 .6rem 1.8rem #14120f2e}.pdf-skeleton-page{aspect-ratio:.72;border-radius:var(--radius-sm);width:min(100%,42rem)}@media (width<=620px){.pdf-page-header{flex-direction:column;align-items:start}.pdf-download-button{justify-content:center;width:100%}.pdf-canvas-scroll{min-height:58vh;padding:.5rem}}.detail-unavailable{color:var(--danger);margin:0;font-weight:800}.shelf-state-button{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%);min-width:10.5rem;color:var(--surface);place-items:center;padding:.8rem 1rem;font-weight:800;transition:transform .14s,background-color .14s,border-color .14s;display:inline-grid}.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 var(--mobile-page-padding-inline);background:#d8c3a1}.settings-panel{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);gap:1.25rem;max-width:760px;margin:0 auto;padding:1rem;display:grid}.settings-form{gap:.85rem;display:grid}.settings-form h2,.settings-action-row h2,.settings-modal h2{margin:0;font-size:1.25rem}.settings-form label,.settings-modal label,.language-settings{gap:.45rem;font-weight:700;display:grid}.settings-form input[type=text],.settings-form input[type=email],.settings-form input:not([type]),.settings-form input[type=password],.settings-modal input[type=password],.settings-modal input[type=text],.settings-form select{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);width:100%;color:var(--ink);padding:.8rem .9rem}.settings-action-row{justify-items:start;gap:.6rem;display:grid}.settings-link-row{flex-wrap:wrap;gap:.6rem;display:flex}.settings-profile-link{border-radius:var(--radius-sm);background:var(--surface-muted);width:fit-content;color:var(--ink);align-items:center;gap:.45rem;padding:.7rem .85rem;font-weight:800;text-decoration:none;display:inline-flex}.settings-profile-link img{object-fit:contain;width:1.15rem;height:1.15rem}.settings-profile-link:hover{background:color-mix(in srgb, var(--surface-muted), var(--line) 40%)}.offline-books-panel{max-width:920px}.offline-books-title{align-items:center;gap:.55rem;display:inline-flex}.offline-books-title img{object-fit:contain;width:1.7rem;height:1.7rem}.offline-storage-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;display:grid}.offline-storage-metric{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-muted);gap:.25rem;padding:.85rem;display:grid}.offline-storage-metric span,.offline-book-summary p,.offline-book-summary span{color:var(--muted);font-size:.9rem}.offline-storage-metric strong{color:var(--ink);font-size:1.2rem}.offline-persistence-panel{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-muted);justify-content:space-between;align-items:center;gap:1rem;padding:1rem;display:flex}.offline-persistence-panel h2{margin:0 0 .25rem;font-size:1.15rem}.offline-book-list{gap:.75rem;display:grid}.offline-book-row{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-muted);grid-template-columns:4.5rem minmax(0,1fr) auto;align-items:center;gap:.85rem;padding:.75rem;display:grid}.offline-book-row>img,.offline-book-cover-placeholder{aspect-ratio:2/3;border-radius:var(--radius-xs);background:color-mix(in srgb, var(--surface-muted), var(--line) 45%);object-fit:cover;width:4.5rem}.offline-book-summary{gap:.25rem;min-width:0;display:grid}.offline-book-summary a{color:var(--ink);overflow-wrap:anywhere;font-weight:800;text-decoration:none}.offline-book-summary a:hover{text-decoration:underline}.offline-book-summary p{overflow-wrap:anywhere;margin:0}.friends-panel{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);gap:1rem;width:100%;max-width:760px;margin:0 auto;padding:1rem;display:grid}.friends-panel h1{margin:0;font-size:1.8rem}.friends-list{gap:.65rem;display:grid}.friend-list-item{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-muted);color:var(--ink);grid-template-columns:2.5rem minmax(0,1fr);align-items:center;gap:.75rem;padding:.85rem;text-decoration:none;display:grid}.friend-list-item:hover{background:color-mix(in srgb, var(--surface-muted), var(--line) 35%)}.friend-avatar-mark{width:2.5rem;height:2.5rem;display:inline-block;position:relative}.friend-list-avatar{background:var(--primary);width:2.5rem;height:2.5rem;color:var(--surface);object-fit:cover;border-radius:999px;place-items:center;font-size:.9rem;font-weight:850;display:grid}.friend-streak-badge{width:1.36rem;height:1.46rem;bottom:-.24rem;right:-.42rem}.friend-list-summary{gap:.2rem;display:grid}.friend-list-summary strong,.friend-list-summary span{overflow-wrap:anywhere;min-width:0}.friend-list-summary span{color:var(--muted);font-size:.9rem}.audible-panel{max-width:900px}.audible-create-form{grid-template-columns:minmax(0,1fr);align-items:end}.login-instructions{gap:.75rem;display:grid}.login-instructions h2,.audible-account-card h2{margin:0;font-size:1.1rem}.login-instructions pre{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-muted);white-space:pre-wrap;overflow-wrap:anywhere;max-width:100%;max-height:14rem;margin:0;padding:.85rem;overflow:auto}.audible-account-list{gap:.9rem;display:grid}.audible-account-card{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-muted);gap:.9rem;padding:1rem;display:grid}.audible-account-summary{align-items:center;gap:.9rem;min-width:0;display:flex}.audible-account-region-flag{text-align:left;flex:0 0 3.75rem;font-size:2.75rem;line-height:1}.audible-account-summary>div{min-width:0}.audible-account-summary h2{overflow-wrap:anywhere}.audible-account-status{align-items:center;gap:.25rem;display:flex}.audible-account-status a{color:inherit}.audible-account-status img{width:.95rem;height:.95rem}.audible-account-card label{gap:.45rem;font-weight:700;display:grid}.audible-account-card input{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);width:100%;color:var(--ink);padding:.8rem .9rem}.audible-connect-steps{gap:.85rem;margin:0;padding-left:1.25rem;display:grid}.audible-connect-steps li{padding-left:.25rem}.audible-account-actions{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.audible-account-card .audible-credit-editor{grid-template-columns:minmax(8rem,max-content) 5.5rem max-content;align-items:center;gap:.55rem;min-height:2.6rem;display:grid}.audible-account-card .audible-credit-editor input{min-height:2.55rem;padding:.55rem .65rem}.audible-account-card .audible-credit-editor button{min-height:2.55rem}.audible-remove-button{border:1px solid color-mix(in srgb, var(--danger) 34%, var(--line));border-radius:var(--radius-sm);min-height:2.55rem;color:var(--danger);background:0 0;margin-left:auto;padding:.55rem .8rem;font-weight:800}.audible-remove-button:hover{background:color-mix(in srgb, var(--danger) 9%, transparent)}@media (width<=560px){.audible-account-card .audible-credit-editor{grid-template-columns:minmax(0,1fr) 5.5rem}.audible-account-card .audible-credit-editor button{grid-column:1/-1;justify-self:start}}.audible-account-card .audible-search-toggle{min-height:2.6rem;color:var(--ink);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.55rem;display:flex}.audible-account-card .audible-search-toggle input{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.audible-search-toggle-label{font-weight:800}.audible-search-switch{border:1px solid var(--line);background:var(--surface);border-radius:999px;width:2.9rem;height:1.55rem;transition:background-color .14s,border-color .14s,box-shadow .14s;position:relative}.audible-search-switch:after{background:var(--muted);content:"";border-radius:50%;width:1.05rem;height:1.05rem;transition:background-color .14s,transform .14s;position:absolute;top:.18rem;left:.18rem}.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{border:1px solid var(--line);border-radius:var(--radius-sm);margin:0;padding:.9rem}.language-settings legend{color:var(--primary);padding:0 .35rem;font-weight:800}.language-settings label{color:var(--ink);align-items:center;gap:.55rem;display:flex}.success-text{color:var(--success);margin:0;font-weight:800}.dialog-backdrop{z-index:45;background:#2b1d1461;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.dialog-card{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);width:min(100%,29rem);color:var(--ink);box-shadow:var(--shadow);gap:.9rem;padding:1rem;display:grid}.dialog-heading{justify-content:space-between;align-items:center;gap:1rem;display:flex}.dialog-heading h2{margin:0;font-size:1.25rem}.dialog-heading button{border-radius:var(--radius-sm);background:var(--surface-muted);width:2.25rem;height:2.25rem;color:var(--ink);border:1px solid #0000;place-items:center;padding:0;font-size:1.2rem;font-weight:900;line-height:1;display:grid}.dialog-body{gap:.7rem;display:grid}.dialog-body p{color:var(--muted);margin:0;line-height:1.5}.dialog-body strong{color:var(--ink);overflow-wrap:anywhere}.dialog-actions{flex-wrap:wrap;justify-content:flex-end;gap:.6rem;display:flex}.settings-logout{justify-self:start}.settings-mobile-session{border-top:1px solid var(--line);padding-top:.25rem;display:grid}.settings-modal-backdrop{z-index:40;background:#2b1d145c;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.settings-modal{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);width:min(100%,28rem);box-shadow:var(--shadow);gap:.9rem;padding:1rem;display:grid}.settings-modal header{justify-content:space-between;align-items:center;gap:1rem;display:flex}.settings-modal header button{border-radius:var(--radius-sm);background:var(--surface-muted);width:2.25rem;height:2.25rem;color:var(--ink);border:0;place-items:center;font-size:1.25rem;font-weight:900;line-height:1;display:grid}.settings-modal-actions{flex-wrap:wrap;justify-content:flex-end;gap:.6rem;display:flex}.auth-error-page{background:#d8c3a1;place-items:center;min-height:100vh;padding:1rem;display:grid}.auth-error-panel{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);width:min(100%,32rem);box-shadow:var(--shadow);padding:1.25rem}.auth-error-panel h1{margin:0}.auth-error-panel p:last-child{color:var(--muted);margin-bottom:0}[data-player-active=true] .workspace{padding-bottom:calc(12.8rem + env(safe-area-inset-bottom))}.audiobook-player{right:0;bottom:calc(4.35rem + env(safe-area-inset-bottom));z-index:25;background:var(--player);min-height:8.4rem;color:var(--player-text);border-top:1px solid #fff8ea2e;gap:.55rem;padding:.65rem .85rem;display:grid;position:fixed;left:0;box-shadow:0 -18px 44px #2b1d1447}.player-book{grid-template-columns:2.8rem minmax(0,1fr);align-items:center;gap:.65rem;min-width:0;display:grid}.player-cover{border-radius:var(--radius-sm);object-fit:cover;background:var(--surface-muted);width:2.8rem;height:2.8rem;color:var(--primary);place-items:center;font-family:Lora,Georgia,serif;font-size:1.5rem;font-weight:900;display:grid}.player-title-stack{min-width:0;overflow:visible}.player-title-marquee{gap:.15rem;width:100%;min-width:0;animation:none;display:grid}.player-title-separator{display:none}.player-title-stack .player-title-link,.player-title-stack span{text-overflow:clip;overflow-wrap:anywhere;white-space:normal;min-width:0;overflow:visible}.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-chapter-placeholder{background:linear-gradient(90deg,#fff8ea2e,#d4a24c6b,#fff8ea2e) 0 0/220% 100%;border-radius:999px;width:min(10rem,36vw);height:.72rem;animation:1.15s ease-in-out infinite player-placeholder-sweep;display:inline-block}.player-title-separator{color:#fff8ea73!important}@keyframes player-title-marquee{0%,12%{transform:translate(0)}88%,to{transform:translate(calc(-100% + min(100vw - 5.2rem,100%)))}}.player-main{gap:.28rem;min-width:0;display:grid}.player-progress{cursor:pointer;touch-action:none;align-items:center;min-width:0;height:.9rem;display:flex}.player-progress.is-loading{cursor:wait}.player-progress-track{background:color-mix(in srgb, var(--player-progress-remaining), transparent 34%);border-radius:999px;width:100%;height:.28rem;position:relative}.player-progress-loading-line{border-radius:inherit;background:repeating-linear-gradient(115deg,#d4a24cf5 0 .55rem,#7a431df2 .55rem 1.1rem) 0 0/2.2rem 100%;animation:.75s linear infinite player-loading-stripes;position:absolute;inset:0;overflow:hidden}.player-progress-played{border-radius:inherit;background:var(--player-progress-played);height:100%;position:absolute;top:0;left:0}.player-progress-thumb{border:2px solid var(--player);background:var(--player-progress-played);border-radius:999px;width:.72rem;height:.72rem;position:absolute;top:50%;transform:translate(-50%,-50%);box-shadow:0 4px 12px #00000059}.player-time-row{color:#fff8eab8;font-variant-numeric:tabular-nums;justify-content:space-between;align-items:center;gap:.75rem;font-size:.72rem;font-weight:800;display:flex}.player-time-row button{min-width:0;color:inherit;cursor:pointer;font:inherit;background:0 0;border:0;padding:0}.player-time-row button:hover{color:var(--player-text)}.player-time-row button:focus-visible{outline:2px solid var(--player-progress-played);outline-offset:.18rem}.player-time-remaining{align-items:center;gap:.3rem;min-width:0;display:inline-flex}.player-time-scope-button{place-items:center;display:grid}.player-time-remaining img{object-fit:contain;opacity:.78;filter:invert(96%)sepia(12%)saturate(508%)hue-rotate(321deg)brightness(106%)contrast(104%);flex:none;width:.9rem;height:.9rem;display:block}.player-time-placeholder{background:linear-gradient(90deg,#fff8ea24,#d4a24c57,#fff8ea24) 0 0/220% 100%;border-radius:999px;width:2.6rem;height:.72rem;animation:1.15s ease-in-out infinite player-placeholder-sweep}.player-controls{flex-wrap:nowrap;justify-content:center;align-items:center;gap:.42rem;display:flex}.player-transport-controls,.player-secondary-controls{flex-wrap:nowrap;justify-content:center;align-items:center;gap:.38rem;display:flex}.player-controls button,.player-modal button{border-radius:var(--radius-sm);min-height:2.35rem;color:var(--player-text);background:#fff8ea14;border:1px solid #fff8ea2e;font-weight:900}.player-controls button{padding:.42rem .6rem}.player-controls button:disabled{cursor:wait;opacity:.46}.player-icon-button{place-items:center;width:2.45rem;display:grid;padding:0!important}.player-icon-button img{object-fit:contain;filter:invert(96%)sepia(12%)saturate(508%)hue-rotate(321deg)brightness(106%)contrast(104%);width:1.35rem;height:1.35rem;display:block}.player-chapters-button{align-items:center;gap:.45rem;display:inline-flex}.player-chapters-button img{object-fit:contain;filter:invert(96%)sepia(12%)saturate(508%)hue-rotate(321deg)brightness(106%)contrast(104%);width:1.2rem;height:1.2rem;display:block}.player-chapters-button span{display:none}.player-controls button:hover,.player-modal button:hover,.player-modal button.is-active{background:#d4a24c42;border-color:#d4a24c9e}.player-controls button:disabled:hover{background:#fff8ea14;border-color:#fff8ea2e}.player-play-button{min-width:2.85rem;background:var(--player-play-button)!important;color:var(--player-play-icon)!important}.player-play-button:disabled:hover{background:var(--player-play-button)!important}.player-play-icon-button{place-items:center;width:3.25rem;display:grid;min-height:3.05rem!important;padding:0!important}.player-play-icon-button img{object-fit:contain;width:1.6rem;height:1.6rem;display:block}@keyframes player-loading-stripes{0%{background-position:0 0}to{background-position:2.2rem 0}}@keyframes inline-button-spinner{to{transform:rotate(360deg)}}@keyframes player-placeholder-sweep{0%{background-position:180% 0}to{background-position:-80% 0}}.player-modal-backdrop{z-index:35;box-sizing:border-box;width:100vw;height:100dvh;padding:1rem 1rem calc(1rem + env(safe-area-inset-bottom));background:#2b1d1459;place-items:end center;display:grid;position:fixed;bottom:0;left:0;right:0;overflow:hidden}.player-modal{width:min(100%,34rem);max-height:min(calc(100vh - 2rem - env(safe-area-inset-bottom)), 36rem);max-height:min(calc(100dvh - 2rem - env(safe-area-inset-bottom)), 36rem);box-sizing:border-box;border-radius:var(--radius-sm);background:var(--player);color:var(--player-text);box-shadow:var(--shadow);border:1px solid #fff8ea2e;grid-template-rows:auto minmax(0,1fr);gap:.75rem;padding:.85rem;display:grid;overflow:hidden}.player-modal header{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.player-modal h2{margin:0;font-family:Inter,Avenir Next,Segoe UI,sans-serif;font-size:1rem}.player-modal-note{color:#fff8eab8;margin:0;font-weight:800}.player-modal header button{width:2.3rem;padding:0}.player-option-list{overscroll-behavior:contain;gap:.35rem;min-height:0;display:grid;overflow:auto}.player-option-list button{text-align:left;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:.75rem;height:max-content;padding:.6rem .7rem;scroll-margin-block:1.1rem;display:grid}.player-option-list button span:first-child{overflow-wrap:anywhere;white-space:normal;min-width:0;line-height:1.3}.player-option-list button span:last-child{color:#fff8eaad;font-variant-numeric:tabular-nums;flex:none}.player-speed-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem;display:grid}.player-speed-grid button{padding:.6rem}.app-loading-shell{background:var(--background);place-items:center;min-height:100vh;padding:1rem;display:grid}.app-loading-panel{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);gap:1rem;width:min(28rem,100%);padding:1rem;display:grid}.app-loading-brand{grid-template-columns:2.8rem minmax(0,1fr);align-items:center;gap:.75rem;display:grid}.app-loading-brand .skeleton-cover{border-radius:var(--radius-sm)}.app-loading-heading{width:75%;height:1.4rem}.app-loading-nav{gap:.65rem;display:grid}.app-loading-nav .skeleton-line{width:min(16rem,100%)}.shelf-entry-skeleton .book-list-header .skeleton-title{max-width:11rem;height:1.35rem}.shelf-entry-skeleton .book-list-header .skeleton-meta{max-width:8rem}.profile-public-skeleton .profile-public-brand{width:fit-content}.profile-brand-skeleton-line{width:9rem}.profile-public-avatar-skeleton{border-color:var(--surface);background:var(--surface-muted);height:5rem}.profile-eyebrow-skeleton{width:6rem;margin-bottom:.45rem}.profile-name-skeleton{width:min(18rem,80%);height:1.8rem}.profile-section-title-skeleton{width:11rem;height:1rem}.profile-stat-skeleton .skeleton-title{height:1.2rem}.profile-calendar-skeleton{--profile-calendar-cell:.75rem;--profile-calendar-gap:.25rem}.profile-calendar-skeleton .skeleton-line{width:var(--profile-calendar-cell);height:var(--profile-calendar-cell);border-radius:2px}.profile-book-section-skeleton{overflow:hidden}.profile-book-row-skeleton{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);grid-template-columns:2.8rem minmax(0,1fr);align-items:center;gap:.65rem;padding:.55rem;display:grid}.profile-book-row-skeleton .skeleton-cover{border-radius:var(--radius-sm);width:2.8rem;height:2.8rem}.profile-book-row-skeleton div{gap:.35rem;display:grid}.friend-list-item-skeleton{pointer-events:none}.friend-list-item-skeleton .friend-list-avatar{background:var(--surface);height:2.5rem}.offline-book-row-skeleton{pointer-events:none}.offline-book-row-skeleton .offline-book-size-skeleton{width:7rem}.offline-book-action-skeleton{border-radius:var(--radius-sm);width:5.5rem;height:2.35rem}.audible-account-list-skeleton{gap:.9rem;display:grid}.audible-account-card-skeleton{pointer-events:none}.audible-account-card-skeleton .audible-account-region-flag{background:var(--surface);border-radius:999px;flex-basis:3.25rem;width:3.25rem;height:3.25rem}.audible-account-card-skeleton .audible-account-summary>div{gap:.4rem;width:min(22rem,100%);display:grid}.audible-account-action-skeleton{border-radius:var(--radius-sm);width:9rem;height:2.1rem}.language-options-skeleton{gap:.45rem;display:grid}.language-option-skeleton{align-items:center;gap:.55rem;display:flex}.language-checkbox-skeleton{border-radius:.25rem;flex:none;width:1rem;height:1rem}.book-detail-layout-skeleton{pointer-events:none}.detail-cover-skeleton{border-radius:var(--radius-sm);width:min(100%,22rem)}.detail-author-skeleton{width:8rem}.detail-title-skeleton{width:min(28rem,100%);height:2rem}.detail-subtitle-skeleton{width:min(20rem,75%)}.detail-actions-skeleton{grid-template-columns:repeat(auto-fit,minmax(7rem,max-content))}.detail-action-skeleton{border-radius:var(--radius-sm);width:8rem;height:2.5rem}.detail-meta-label-skeleton{width:5rem;height:.7rem}.detail-meta-value-skeleton{width:min(18rem,70%)}.detail-description-skeleton{gap:.45rem;display:grid}.player-option-list-skeleton{pointer-events:none}.player-option-skeleton{border-radius:var(--radius-sm);background:#fff8ea0f;border:1px solid #fff8ea1f;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:.75rem;padding:.6rem .7rem;display:grid}.player-option-time-skeleton{flex:none;width:3.2rem}@media (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 (width>=760px){.audiobook-player{bottom:0;left:var(--sidebar-width);grid-template-columns:minmax(12rem,18rem) minmax(0,1fr);align-items:center;min-height:8rem;padding:.85rem 1rem 1rem}.player-book{grid-template-columns:3.6rem minmax(0,1fr);gap:.75rem}.player-cover{width:3.6rem;height:3.6rem}.player-title-stack{gap:.15rem;display:grid;overflow:hidden}.player-title-marquee{gap:.15rem;width:auto;min-width:0;animation:none;display:grid}.player-title-separator{display:none}.player-title-stack .player-title-link,.player-title-stack span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.player-controls{flex-wrap:wrap;gap:1.2rem}.player-chapters-button span{display:inline}.player-progress{height:1.5rem}.player-progress-track{height:.42rem}.player-progress-thumb{width:1rem;height:1rem}.player-time-row{font-size:.8rem}[data-player-active=true] .workspace{padding-bottom:9rem}.player-modal-backdrop{padding-left:calc(var(--sidebar-width) + 1rem);place-items:center}}@media (width<=759px){.player-option-list button{scroll-margin-block:1.1rem calc(5.45rem + env(safe-area-inset-bottom))}}
