.skip-link{position:fixed;top:10px;left:10px;z-index:150;padding:8px 14px;border-radius:8px;background:var(--panel);color:var(--text);text-decoration:none;font-size:var(--ui-size-md);transform:translateY(-200%)}.skip-link:focus-visible{transform:none;outline:var(--focus-ring);outline-offset:2px}.sr-announce{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;clip-path:inset(50%);overflow:hidden;white-space:nowrap}.key{display:inline-flex;align-items:center;justify-content:center;height:var(--key-size);min-width:var(--key-size);padding:0;flex:0 0 auto;position:relative;color:var(--key-ink);background:transparent;border:1.5px solid var(--key-border);border-radius:var(--key-radius);box-shadow:0 1.5px 0 .5px var(--key-border);cursor:pointer;text-decoration:none;transition:transform var(--motion-fast) ease,background-color var(--motion-fast) ease}.key>svg{display:block;width:16px;height:16px}@media(hover:hover)and (pointer:fine){.key:hover:not(:disabled):not(.is-on):not(.is-playing){background:var(--key-hover-bg)}}.key:active:not(:disabled),.key.is-pressed,.key.is-key-pressed{transform:translateY(1px)}.key:disabled{cursor:not-allowed;opacity:var(--state-disabled-opacity)}.key.is-on,.key.is-playing{color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent);border-color:var(--accent);box-shadow:0 1.5px 0 .5px var(--accent)}.key:focus-visible{outline:var(--focus-ring);outline-offset:3px;box-shadow:none}.login-card{width:min(360px,100%);background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:40px 32px;text-align:center;box-shadow:var(--shadow)}.login-card h1{margin:0 0 8px;font-family:var(--display-font);font-size:28px;font-weight:700;letter-spacing:-.01em}.login-tagline{margin:0 0 32px;color:var(--muted);font-size:var(--ui-size-sm);line-height:var(--ui-line-normal)}.login-error{margin:-16px 0 24px;color:var(--danger);font-size:var(--ui-size-xs);line-height:var(--ui-line-tight)}.login-error[hidden],.google-button[hidden]{display:none}.google-button+.google-button{margin-top:12px}.google-button{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:12px 16px;border:1px solid var(--border);border-radius:var(--key-radius);background:var(--bg);color:var(--text);font-size:var(--ui-size-body);font-weight:var(--ui-weight-semibold);text-decoration:none;transition:transform var(--motion-press) ease,border-color var(--motion-fast) ease}.google-button:hover{border-color:var(--accent)}.google-button:active{transform:translateY(1px)}.google-button:focus-visible{outline:var(--focus-ring);outline-offset:3px}.google-button[aria-disabled=true]{opacity:var(--state-disabled-opacity)}.google-button svg{flex:none}.field{width:100%;padding:12px 16px;border:1px solid var(--border);border-radius:var(--key-radius);background:var(--bg);color:var(--text);font-family:var(--ui-font);font-size:var(--ui-size-body)}.field::placeholder{color:var(--muted);opacity:1}.field:focus-visible{outline:var(--focus-ring);outline-offset:3px}.field:disabled{opacity:var(--state-disabled-opacity);cursor:default}.review-access{margin-top:12px;display:grid;gap:12px}.review-access[hidden]{display:none}.review-access .field{text-align:center}.login-legal-links{display:flex;justify-content:center;gap:8px;margin:24px 0 0;color:var(--muted);font-size:var(--ui-size-xs);line-height:var(--ui-line-normal)}.login-legal-links a{color:inherit;text-underline-offset:3px}.login-legal-links a:hover{color:var(--text)}.login-legal-links a:focus-visible{outline:var(--focus-ring);outline-offset:3px;border-radius:2px}@media(pointer:coarse){.press-lift:active:not(:disabled),.press-lift.is-pressed:not(:disabled){transform:scale(var(--state-press-scale));transition:transform var(--motion-press) ease}}.kchip{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 5px;background:var(--panel-strong);border:1px solid var(--border);border-radius:6px;font-size:11px;font-weight:var(--ui-weight-semibold);line-height:1;color:var(--muted)}.ltip{position:absolute;top:calc(100% + 10px);left:50%;transform:translate(-50%) translateY(-2px);display:flex;align-items:center;gap:9px;padding:7px 7px 7px 11px;background:var(--panel);border-radius:var(--key-radius);box-shadow:0 4px 18px #00000029,0 0 0 1px var(--border);font-family:var(--ui-font);font-size:12.5px;font-weight:var(--ui-weight-medium);color:var(--text);white-space:nowrap;pointer-events:none;opacity:0;transition:opacity var(--tip-fade) ease,transform var(--tip-fade) ease;z-index:20}.key:hover .ltip{opacity:1;transform:translate(-50%);transition-delay:var(--tip-delay)}.key[aria-haspopup=menu][aria-expanded=true] .ltip,.is-tip-suppressed .ltip{display:none}.kthen{color:var(--muted);font-size:11px}.ktag{position:absolute;top:-19px;left:50%;transform:translate(-50%) translateY(3px);display:inline-flex;align-items:center;justify-content:center;min-width:17px;height:17px;padding:0 4px;background:var(--panel);border:1px solid var(--border);border-radius:5px;box-shadow:0 1px 2px #0000001f;font-family:var(--ui-font);font-size:9.5px;font-style:normal;font-weight:650;line-height:1;color:var(--muted);opacity:0;transition:opacity var(--motion-slow) ease,transform var(--motion-slow) ease;pointer-events:none}body.shortcuts-tagged .ktag{opacity:1;transform:translate(-50%)}.lang-pill{display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border:1.5px solid var(--border);border-radius:var(--radius-pill);background:transparent;color:var(--text);font-size:var(--ui-size-md);font-weight:var(--ui-weight-semibold);cursor:pointer;transition:border-color var(--motion-fast) ease,background-color var(--motion-fast) ease}.lang-pill:hover,.lang-pill:focus-visible{border-color:var(--muted);background:var(--control-bg)}.lang-pill:focus-visible{outline:var(--focus-ring);outline-offset:2px}.lang-pill.is-pressed{border-color:var(--accent)}.lang-pill-globe{width:15px;height:15px}.lang-pill-chevron{font-size:9px;color:var(--muted)}.menu-row{position:relative;display:flex;align-items:center;width:100%;border:0;background:none;color:var(--text);font-family:var(--ui-font);text-align:left;cursor:pointer}.menu-row-label{flex:1 1 auto}.menu-row-ann{margin-left:auto;color:var(--muted);white-space:nowrap}.menu-row-keys{margin-left:auto;padding-left:16px;display:inline-flex;align-items:center;gap:3px}.menu-row-check{margin-left:auto;color:var(--accent);font-weight:var(--ui-weight-semibold)}.menu-row.is-selected .menu-row-label{font-weight:var(--ui-weight-semibold)}.menu-row-icon{flex:none;display:block;width:24px;height:24px;background-color:var(--text);-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.menu-row-chevron{flex:none;color:var(--muted)}.menu-heading{margin:0;color:var(--muted);font-size:var(--ui-size-xs)}.sheet-items .menu-row{gap:16px;min-height:60px;padding:0 22px;border-top:1px solid var(--border);font-size:16px}.menu-theme-row{--settings-panel: var(--panel);display:flex;align-items:center;justify-content:space-between;gap:16px;color:var(--text);font-family:var(--ui-font)}.menu-theme-row .theme-options{gap:14px}.menu-theme-row .theme-button{white-space:nowrap;line-height:1}.menu-theme-row .menu-row-label{align-self:flex-start;line-height:28px}.tile-menu .menu-theme-row{--swatch-ring-gap: 1.5px;--swatch-ring: 3px;padding:8px 10px;font-size:var(--ui-size-sm)}.tile-menu .menu-theme-row .menu-row-label{line-height:20px}.tile-menu .menu-theme-row .theme-options{gap:12px}.tile-menu .menu-theme-row .theme-button{gap:5px;font-size:var(--ui-size-xs);font-weight:var(--ui-weight-medium)}.tile-menu .menu-theme-row .theme-swatch{width:20px;height:20px}.sheet-items .menu-theme-row{min-height:60px;padding:10px 22px;border-top:1px solid var(--border);font-size:16px}.sheet-items .menu-row:active,.sheet-items .menu-row.is-pressed{background:var(--state-press-fill)}.sheet-items .menu-row:focus-visible{outline:none;box-shadow:inset 0 0 0 2px var(--accent)}.sheet-items .menu-row-ann{flex:none;font-size:var(--ui-size-sm)}.sheet-items .menu-row-ann+.menu-row-check{margin-left:10px}.sheet-items .menu-heading{padding:14px 22px 4px;font-weight:var(--ui-weight-semibold);letter-spacing:.08em;text-transform:uppercase}.sheet-items .menu-divider{height:8px;border-bottom:1px solid var(--border);margin-bottom:-1px}.tile-menu .menu-row{gap:10px;padding:8px 10px;border-radius:8px;font-size:var(--ui-size-sm)}.tile-menu .menu-row>svg{width:15px;height:15px;flex:0 0 auto;color:var(--muted)}.tile-menu .menu-row-label{white-space:nowrap}.tile-menu .menu-row-ann{padding-left:12px;font-size:var(--ui-size-xs)}.tile-menu .menu-row-ann+.menu-row-check{margin-left:8px}.tile-menu .menu-row-chevron{width:12px;height:12px;margin-left:auto}.tile-menu .menu-row:hover,.tile-menu .menu-row.is-sub-open{background:var(--control-hover)}.tile-menu .menu-row:focus-visible{outline:var(--focus-ring);outline-offset:2px}.tile-menu .menu-row:active,.tile-menu .menu-row.is-pressed{background:var(--state-press-fill)}.tile-menu .menu-divider{height:1px;flex:0 0 auto;background:var(--border);margin:5px 8px}.tile-menu .menu-heading{padding:6px 10px 5px;max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menu-row.has-sub>.tile-submenu{display:none;position:absolute;left:calc(100% + 2px);top:-6px;min-width:176px}.tile-menu.flip-sub .menu-row.has-sub>.tile-submenu{left:auto;right:calc(100% + 2px)}.menu-row.has-sub:hover>.tile-submenu,.menu-row.has-sub:focus-within>.tile-submenu,.menu-row.has-sub.is-sub-open>.tile-submenu{display:flex}.bd-manage .menu-row{gap:10px;min-height:42px;padding:9px 2px;border-radius:8px;font:inherit;font-size:13.5px}.bd-manage .menu-row>svg{flex:none;width:16px;height:16px;color:var(--muted)}.bd-manage .menu-row-label{flex:none}.bd-manage .menu-row-ann{padding-left:12px;font-size:var(--ui-size-sm);overflow:hidden;text-overflow:ellipsis}@media(hover:hover)and (pointer:fine){.bd-manage .menu-row:hover{background:var(--control-hover)}.bd-manage .menu-row.danger:hover{background:color-mix(in srgb,var(--danger),transparent 92%)}}.bd-manage .menu-row:active,.bd-manage .menu-row.is-pressed{background:var(--state-press-fill)}.bd-manage .menu-row:focus-visible{outline:var(--focus-ring);outline-offset:2px}.menu-row.danger{color:var(--danger)}.menu-row.danger>svg{color:var(--danger)}.tile-menu .menu-row.danger:hover{background:color-mix(in srgb,var(--danger),transparent 92%)}.tile-menu .menu-row.is-flash,.tile-menu .menu-row.is-flash:hover{background:var(--accent);color:var(--bg)}.tile-menu .menu-row.is-flash>svg{color:var(--bg)}.tile-menu .menu-row.is-flash .kchip{background:transparent;border-color:color-mix(in srgb,var(--bg) 45%,transparent);color:var(--bg)}.tile-menu .menu-row.is-flash .kthen{color:color-mix(in srgb,var(--bg) 70%,transparent)}.menu-confirm-text{margin:0;color:var(--text)}.menu-confirm-text strong{font-weight:650}.tile-menu .menu-confirm{padding:10px 11px 9px;max-width:250px}.tile-menu .menu-confirm-text{font-size:var(--ui-size-sm);line-height:1.5}.menu-confirm-row{display:flex;gap:8px;justify-content:flex-end;margin-top:12px}.menu-confirm-row button{border-radius:var(--radius-button);padding:7px 13px;font-family:var(--ui-font);font-size:var(--ui-size-sm);font-weight:var(--ui-weight-semibold);cursor:pointer}.menu-confirm-cancel{border:1px solid var(--border);background:var(--panel);color:var(--text)}.menu-confirm-cancel:hover{border-color:var(--muted)}@media(hover:hover)and (pointer:fine){.menu-confirm-commit:hover{border-color:color-mix(in srgb,var(--danger) 84%,var(--panel));background:color-mix(in srgb,var(--danger) 84%,var(--panel))}.menu-confirm-commit.proceed:hover{border-color:color-mix(in srgb,var(--accent) 84%,var(--panel));background:color-mix(in srgb,var(--accent) 84%,var(--panel))}}.menu-confirm-commit{border:1px solid var(--danger);background:var(--danger);color:var(--bg)}.menu-confirm-commit.proceed{border-color:var(--accent);background:var(--accent)}.menu-confirm-cancel:focus-visible,.menu-confirm-commit:focus-visible{outline:var(--focus-ring);outline-offset:2px}.menu-confirm-cancel:active,.menu-confirm-cancel.is-pressed,.menu-confirm-commit:active,.menu-confirm-commit.is-pressed{opacity:var(--state-press-opacity)}.bd-manage .menu-confirm-text{margin:8px 0 12px;font-size:13.5px;line-height:1.45}.confirm-inline .menu-confirm-text{font-size:var(--ui-size-sm);line-height:1.5}.confirm-inline .menu-confirm-row{margin-top:10px}.confirm-inline .menu-confirm-row button{min-height:34px}.processing-bar{position:absolute;left:0;right:0;bottom:0;height:4px;overflow:hidden;background:color-mix(in srgb,var(--accent),transparent 78%)}.processing-bar-inline{position:static;width:100%;border-radius:var(--radius-pill);margin-top:6px}.processing-bar-fill{height:100%;background:var(--accent);transition:width var(--motion-fast) ease}.empty-state{max-width:520px;margin:12vh auto 0;padding:28px;background:var(--panel);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow);font-family:var(--ui-font);font-size:var(--ui-size-md);line-height:var(--ui-line-normal)}.empty-state h3{margin:0 0 8px;font-family:var(--display-font);font-size:var(--ui-size-title);font-weight:400;line-height:var(--ui-line-tight)}.empty-state p{margin:0}.empty-state-action{margin-top:16px;min-height:44px;padding:0 18px;border:1px solid var(--border);border-radius:var(--radius-button);background:transparent;color:var(--accent);font-family:var(--ui-font);font-size:var(--ui-size-md);font-weight:var(--ui-weight-semibold);cursor:pointer}.empty-state-action:focus-visible{outline:var(--focus-ring);outline-offset:2px}@media(hover:hover)and (pointer:fine){.empty-state-action:hover{border-color:var(--accent)}}.empty-state-action:active{opacity:var(--state-press-opacity)}.pdf-preparing-status{margin-top:2px;font-weight:var(--ui-weight-medium)}.pdf-preparing .processing-bar{position:static;width:100%;margin:10px 0 14px;border-radius:var(--radius-pill)}.pdf-preparing-hint{color:var(--muted)}.pdf-preparing-back{margin-top:14px}.pdf-preparing-back a{color:var(--accent);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.15em}.pdf-preparing-back a:focus-visible{outline:var(--focus-ring);outline-offset:2px;border-radius:3px}@media(hover:hover)and (pointer:fine){.pdf-preparing-back a:hover{color:var(--accent-strong)}}.processing-bar.is-indeterminate .processing-bar-fill{width:30%;transition:none;animation:processing-sweep 1.4s ease-in-out infinite}@keyframes processing-sweep{0%{transform:translate(-110%)}to{transform:translate(440%)}}@media(prefers-reduced-motion:reduce){.processing-bar.is-indeterminate .processing-bar-fill{animation:none;width:100%;opacity:.5}}.mobile-speed-backdrop{position:fixed;inset:0;z-index:57}.mobile-speed-backdrop:not([hidden]){display:block}.mobile-speed-picker{position:fixed;z-index:58;flex-direction:column;min-width:132px;padding:4px;background:var(--panel);border:1px solid var(--border);border-radius:12px;box-shadow:0 8px 28px color-mix(in srgb,#000,transparent 78%);max-height:calc(100dvh - 16px);overflow-y:auto}.mobile-speed-picker:not([hidden]){display:flex;transform-origin:bottom right;animation:mobile-speed-pop var(--motion-fast) ease}@keyframes mobile-speed-pop{0%{opacity:0;transform:scale(.96) translateY(4px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.mobile-speed-picker:not([hidden]){animation:none}}.mobile-read-lang-picker:not([hidden]){transform-origin:bottom left}.mobile-read-lang-picker button{font-variant-numeric:normal}.mobile-speed-picker button{appearance:none;-webkit-appearance:none;display:grid;grid-template-columns:16px 1fr;align-items:center;gap:8px;width:100%;min-height:44px;padding-inline:12px;color:var(--text);background:none;border:0;border-radius:8px;font-family:var(--ui-font);font-size:16px;font-weight:var(--ui-weight-semibold);text-align:left;font-variant-numeric:tabular-nums;cursor:pointer}.picker-check{visibility:hidden;color:var(--accent);font-size:13px;line-height:1;text-align:center}.mobile-speed-picker button:hover,.mobile-speed-picker button:focus-visible{outline:none;background:color-mix(in srgb,var(--text),transparent 92%)}.mobile-speed-picker button:focus-visible{box-shadow:inset 0 0 0 2px var(--accent)}.mobile-speed-picker button:active,.mobile-speed-picker button.is-pressed{opacity:var(--state-press-opacity)}.mobile-speed-picker button.is-selected{color:var(--accent);font-weight:700;background:color-mix(in srgb,var(--accent),transparent 92%)}.mobile-speed-picker button.is-selected .picker-check{visibility:visible}.mobile-speed-picker.mobile-reader-font-picker{transform-origin:top right;min-width:176px}.mobile-reader-font-picker button,.mobile-reader-font-picker button.is-selected{font-variant-numeric:normal;font-weight:400}.mobile-reader-font-picker button.reader-font-face[data-reader-font=georgia]{font-family:Georgia Pro,Georgia,Times New Roman,serif}.mobile-reader-font-picker button.reader-font-face[data-reader-font=literata]{font-family:Literata Text,Literata,Georgia Pro,Georgia,serif}.mobile-reader-font-picker button.reader-font-face[data-reader-font=noto-sans]{font-family:Noto Sans,Helvetica Neue,Helvetica,Arial,sans-serif}.app-notice{position:fixed;left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + 24px);transform:translate(-50%) translateY(8px);max-width:min(92vw,30rem);padding:9px 14px;border-radius:12px;background:var(--bg);color:var(--text);border:1px solid var(--border);box-shadow:var(--shadow);font-family:var(--ui-font);font-size:var(--ui-size-md);line-height:1.35;text-align:center;opacity:0;transition:opacity .24s ease,transform .24s ease;pointer-events:none;z-index:90}.app-notice.is-visible{opacity:1;transform:translate(-50%) translateY(0)}.app-notice.audiobook-skip-notice{pointer-events:auto;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px 8px;width:min(92vw,21rem);padding:10px 12px 12px;text-align:left;transition:opacity .24s ease,transform .24s ease,bottom .2s ease}.audiobook-skip-notice span{color:var(--muted)}.audiobook-skip-notice .notice-dismiss{position:relative;display:grid;place-items:center;width:28px;height:28px;padding:0;border:0;border-radius:8px;background:transparent;color:var(--muted);line-height:1;cursor:pointer}.audiobook-skip-notice .notice-dismiss:after{content:"";position:absolute;inset:-8px}.audiobook-skip-notice .notice-action{grid-column:1 / -1;min-height:44px;padding:0 14px;border:1px solid var(--border);border-radius:var(--radius-button);background:transparent;color:var(--accent);font-family:var(--ui-font);font-size:var(--ui-size-md);font-weight:var(--ui-weight-semibold);cursor:pointer}.audiobook-skip-notice .notice-dismiss:focus-visible,.audiobook-skip-notice .notice-action:focus-visible{outline:var(--focus-ring);outline-offset:2px}@media(hover:hover)and (pointer:fine){.audiobook-skip-notice .notice-dismiss:hover{color:var(--text)}.audiobook-skip-notice .notice-action:hover{border-color:var(--accent)}}.audiobook-skip-notice .notice-dismiss:active,.audiobook-skip-notice .notice-dismiss.is-pressed,.audiobook-skip-notice .notice-action:active,.audiobook-skip-notice .notice-action.is-pressed{opacity:var(--state-press-opacity)}.audiobook-intro-progress{position:fixed;z-index:30;display:flex;align-items:center;gap:8px;pointer-events:none}.audiobook-intro-progress .intro-track{width:140px;height:3px;border-radius:2px;background:var(--border);overflow:hidden}.audiobook-intro-progress .intro-fill{display:block;height:100%;background:var(--accent);transition:width .16s linear}.audiobook-intro-progress .intro-count{font-family:var(--ui-font);font-size:var(--ui-size-xs);font-variant-numeric:tabular-nums;color:var(--muted);line-height:1}.audiobook-intro-progress .intro-skip{pointer-events:auto;position:relative;border:1px solid var(--border);border-radius:var(--radius-button);background:transparent;color:var(--text);font-family:var(--ui-font);font-size:var(--ui-size-xs);font-weight:var(--ui-weight-semibold);line-height:1;padding:5px 8px;cursor:pointer}.audiobook-intro-progress .intro-skip:after{content:"";position:absolute;inset:-10px}@media(hover:hover)and (pointer:fine){.audiobook-intro-progress .intro-skip:hover{border-color:var(--muted)}}.audiobook-intro-progress .intro-skip:focus-visible{outline:var(--focus-ring);outline-offset:2px}.audiobook-intro-progress .intro-skip:active,.audiobook-intro-progress .intro-skip.is-pressed{opacity:var(--state-press-opacity)}.upload-pill{position:fixed;right:14px;bottom:calc(14px + env(safe-area-inset-bottom,0px));z-index:60;padding:7px 12px;border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--panel);color:var(--muted);font-family:var(--ui-font);font-size:var(--ui-size-sm);line-height:var(--ui-line-tight);box-shadow:var(--shadow);pointer-events:none}@media(prefers-reduced-motion:reduce){.key,.ltip,.ktag{transition:none}}body.sheet-open{overflow:hidden}.sheet{position:fixed;inset:0;z-index:80;display:flex;align-items:flex-end;justify-content:center}.sheet[hidden]{display:none}.sheet-scrim{position:absolute;inset:0;background:#0000006b;opacity:0;transition:opacity var(--motion-slow) ease}.sheet.is-open .sheet-scrim{opacity:1}.sheet-panel{position:relative;width:100%;max-width:560px;padding:8px 0 calc(10px + env(safe-area-inset-bottom,0px));background:var(--panel);border-radius:16px 16px 0 0;box-shadow:0 -12px 40px #00000047;transform:translateY(100%);transition:transform .26s cubic-bezier(.32,.72,0,1);touch-action:pan-y}.sheet-items{overflow-y:auto;max-height:calc(100vh - 140px);max-height:calc(100dvh - 140px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));overscroll-behavior:contain;touch-action:pan-y}.sheet.is-open .sheet-panel{transform:translateY(0)}.sheet-handle{width:38px;height:4px;margin:0 auto 12px;border-radius:var(--radius-pill);background:var(--border);touch-action:none}.sheet-title{touch-action:none;margin:0 0 12px;text-align:center;color:var(--muted);font-family:var(--display-font);font-size:14px;line-height:1.2}.sheet-title.is-heading{position:relative;margin-bottom:8px;color:var(--text);font-size:17px}@media(prefers-reduced-motion:reduce){.sheet-scrim,.sheet-panel{transition:none}}.tile-menu{position:absolute;z-index:70;min-width:236px;display:flex;flex-direction:column;padding:5px;border:1px solid var(--border);border-radius:12px;background:var(--panel);box-shadow:var(--shadow)}.tile-menu-scroll{overflow-y:auto;overscroll-behavior:contain}.library-header{display:grid;grid-template-columns:1fr auto auto;grid-template-areas:"brand actions account";align-items:center;gap:8px 20px;padding:var(--key-inset-top) clamp(16px,4vw,40px) 14px;background:var(--bg)}.library-brand{grid-area:brand;display:flex;align-items:center;height:var(--key-size);margin:0;font-family:var(--display-font);font-size:22px;font-weight:700;letter-spacing:-.01em}.library-brand-screen{display:none}.library-brand-action{color:inherit;-webkit-text-fill-color:currentColor;text-decoration:none;cursor:pointer;touch-action:manipulation;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}.library-brand-action:hover,.library-brand-action:active{color:inherit;-webkit-text-fill-color:currentColor;text-decoration:none}.library-brand-action:focus-visible{outline:var(--focus-ring);outline-offset:4px}.library-actions{grid-area:actions;display:flex;align-items:center;gap:10px}.menu-anchor{position:relative;display:inline-flex;flex:0 0 auto}.tile-menu-anchored{top:calc(100% + 6px);right:0;left:auto}@keyframes menu-key-strike{28%{transform:translateY(2px)}}#addMenuKey[aria-expanded=true],.account-button[aria-expanded=true]{animation:menu-key-strike .26s cubic-bezier(.25,.7,.3,1)}.account-button[aria-expanded=true] .account-avatar,.account-button[aria-expanded=true] .account-initial{box-shadow:0 0 0 1.5px var(--accent)}#addMenuKey svg{transition:transform .26s cubic-bezier(.3,.8,.3,1.15)}#addMenuKey[aria-expanded=true] svg{transform:rotate(45deg)}@keyframes menu-rise{0%{opacity:0;transform:translateY(7px)}}.tile-menu-anchored{animation:menu-rise .22s cubic-bezier(.2,.8,.25,1)}.tile-menu-anchored.is-closing{animation:none;opacity:0;transform:translateY(7px);transition:opacity .13s ease-in,transform .13s ease-in;pointer-events:none}@media(prefers-reduced-motion:reduce){#addMenuKey[aria-expanded=true],.account-button[aria-expanded=true],.tile-menu-anchored{animation:none}#addMenuKey svg,.tile-menu-anchored.is-closing{transition:none}}.library-search{display:inline-flex;align-items:center;height:var(--key-size);width:var(--key-size);flex:0 0 auto;position:relative;border:1.5px solid var(--key-border);border-radius:var(--key-radius);box-shadow:0 1.5px 0 .5px var(--key-border);background:transparent;transition:width .28s cubic-bezier(.4,0,.2,1),background-color var(--motion-fast) ease}@media(hover:hover)and (pointer:fine){.library-search:not(.is-open):hover{background:var(--key-hover-bg)}}.library-search.is-open{width:230px;border-color:var(--accent);box-shadow:0 1.5px 0 .5px var(--accent);background:var(--panel)}.library-search-key{display:inline-flex;align-items:center;justify-content:center;width:calc(var(--key-size) - 3px);height:100%;padding:0;border:0;background:none;color:var(--key-ink);cursor:pointer;flex:0 0 auto}.library-search-key svg{display:block;width:16px;height:16px}.library-search-key:focus-visible{outline:var(--focus-ring);outline-offset:3px}.library-search.is-open .library-search-key{color:var(--accent)}.library-search-input{flex:1 1 auto;min-width:0;padding:0 8px 0 0;border:0;outline:none;background:none;color:var(--text);font-family:var(--ui-font);font-size:var(--ui-size-md);opacity:0;visibility:hidden;transition:opacity var(--motion-slow) ease,visibility 0s .28s}.library-search.is-open .library-search-input{opacity:1;visibility:visible;transition:opacity var(--motion-slow) ease 80ms,visibility 0s}.library-search-input::placeholder{color:var(--muted)}.library-search-input::-webkit-search-cancel-button,.library-search-input::-webkit-search-decoration{-webkit-appearance:none}.library-search-clear{display:none;width:26px;padding:0 8px 0 0;border:0;background:none;color:var(--muted);font-size:16px;line-height:1;cursor:pointer;flex:0 0 auto}.library-search-clear:hover{color:var(--text)}.library-search-clear:focus-visible{outline:var(--focus-ring);outline-offset:2px;border-radius:4px}.library-search-key:active,.library-search-key.is-pressed,.library-search-clear:active,.library-search-clear.is-pressed{color:var(--text);transform:scale(var(--state-press-scale));transition:color var(--motion-fast) ease,transform var(--motion-press) ease}.library-search.is-open.has-text .library-search-clear{display:flex;align-items:center;justify-content:center}@media(pointer:coarse){.library-search.is-open.has-text .library-search-clear{width:44px;min-height:44px;padding:0}}.library-search:hover .ltip{opacity:1;transform:translate(-50%);transition-delay:var(--tip-delay)}.library-search.is-open .ltip,.library-search.is-open .ktag{display:none}@media(prefers-reduced-motion:reduce){.library-search,.library-search-input,.library-search.is-open .library-search-input{transition:none}}.search-empty{margin:clamp(40px,14vh,120px) auto 0;max-width:420px;text-align:center;color:var(--muted);font-size:var(--ui-size-md)}.add-menu-button{grid-area:add;display:none;align-items:center;justify-content:center;width:48px;height:48px;padding:0;border:0;background:transparent;color:var(--accent);cursor:pointer;transition:color var(--motion-fast) ease}.add-menu-button:active,.add-menu-button.is-pressed{color:var(--accent-strong);transform:scale(var(--state-press-scale));transition:color var(--motion-fast) ease,transform var(--motion-press) ease}.add-menu-button:focus-visible{outline:var(--focus-ring);outline-offset:3px}.add-menu-icon{display:block;width:32px;height:32px;background-color:currentColor;-webkit-mask:url(/icons/plus.svg) center / contain no-repeat;mask:url(/icons/plus.svg) center / contain no-repeat}.account-chip{grid-area:account;display:flex;align-items:center;justify-content:flex-end}body.account-unknown .account-chip{visibility:hidden}.account-avatar{width:var(--key-size);height:var(--key-size);border-radius:50%;flex:none;transition:box-shadow var(--motion-fast) ease}.account-initial{display:none;align-items:center;justify-content:center;width:var(--key-size);height:var(--key-size);flex:none;border-radius:50%;background:color-mix(in srgb,var(--text),transparent 86%);color:var(--text);font-size:14px;font-weight:var(--ui-weight-medium);line-height:1;transition:box-shadow var(--motion-fast) ease}.account-button:has(.account-avatar[hidden]) .account-initial{display:inline-flex}.account-button{display:inline-flex;align-items:center;justify-content:center;padding:2px;border:0;background:transparent;cursor:pointer;transition:transform var(--motion-press) ease}.account-button:active,.account-button.is-pressed{transform:translateY(1px)}.account-button:focus-visible{outline:none}.account-button:focus-visible .account-avatar,.account-button:focus-visible .account-initial{outline:var(--focus-ring);outline-offset:3px}@media(hover:hover)and (pointer:fine){.account-button:hover:not([aria-expanded=true]) .account-avatar,.account-button:hover:not([aria-expanded=true]) .account-initial{box-shadow:0 0 0 1.5px color-mix(in srgb,var(--text) 45%,transparent)}}@media(pointer:coarse){.account-button:active,.account-button.is-pressed{transform:scale(var(--state-press-scale))}}.library-scrim{position:fixed;top:0;left:0;right:0;z-index:40;height:env(safe-area-inset-top,0px);background:linear-gradient(to top,transparent,color-mix(in srgb,var(--bg) 90%,transparent));pointer-events:none}.library-up{position:fixed;right:8px;bottom:calc(env(safe-area-inset-bottom,0px) + 8px);z-index:40;display:none;align-items:center;justify-content:center;width:72px;height:72px;padding:0;border:0;background:transparent;color:var(--accent);cursor:pointer;opacity:0;pointer-events:none;transition:opacity var(--motion-fast) ease;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.library-up.is-visible{opacity:1;pointer-events:auto;transition:opacity 60ms ease}.library-up-circle{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border:1px solid var(--muted);border-radius:50%;background:var(--panel);box-shadow:0 6px 18px #00000024;transition:transform var(--motion-press) ease,border-color var(--motion-fast) ease}@media(hover:hover)and (pointer:fine){.library-up:hover .library-up-circle{border-color:var(--accent)}}.library-up:active .library-up-circle,.library-up.is-pressed .library-up-circle{color:var(--accent-strong);transform:scale(var(--state-press-scale))}.library-up:focus-visible{outline:none}.library-up:focus-visible .library-up-circle{outline:var(--focus-ring);outline-offset:3px}@media(hover:none){.account-button{min-height:48px}}@media(max-width:560px){.library-header{position:fixed;top:0;left:0;right:0;z-index:41;grid-template-columns:1fr auto auto;grid-template-areas:"brand add account";align-items:center;gap:0 4px;padding:calc(env(safe-area-inset-top,0px) + 6px) 6px 2px 16px;background:none;opacity:var(--library-header-fade, 1)}.library-brand{height:auto;font-size:30px;font-weight:400;letter-spacing:0}.library-brand-full{display:none}.library-brand-screen{display:inline}.library-actions{display:none}.add-menu-button{display:inline-flex;width:56px;height:56px}.add-menu-icon{width:42px;height:42px}.account-chip{justify-self:end;min-width:0}.account-button{min-width:56px;min-height:56px;justify-content:center;padding:6px}.account-avatar,.account-initial{width:40px;height:40px}.account-initial{font-size:18px}.library-up{display:inline-flex}}.download-tray{display:flex;flex-direction:column;gap:8px}.download-tray:not(:empty){margin:0 0 16px}.empty-library{margin:clamp(40px,14vh,120px) auto 0;max-width:420px;text-align:center;color:var(--muted)}.empty-library h2{color:var(--text);margin:0 0 8px;font-family:var(--display-font);font-size:var(--ui-size-reader-heading);font-weight:400;line-height:var(--ui-line-tight)}.empty-library p{margin:0;font-size:var(--ui-size-md);line-height:var(--ui-line-normal)}.library-status{margin:0 0 16px;padding:10px 14px;border:1px solid var(--border);border-radius:10px;background:var(--panel);color:var(--text);font-size:var(--ui-size-md)}.download-row{padding:10px 14px;border:1px solid var(--border);border-radius:10px;background:var(--panel)}.download-row-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-size:var(--ui-size-md)}.download-row-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.download-row-status{flex:none;opacity:.7;font-variant-numeric:tabular-nums}.download-row.is-error .processing-bar-fill{background:var(--danger)}.book-cover-placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:12px;text-align:center;color:var(--muted);font-size:var(--ui-size-md);line-height:var(--ui-line-normal);font-family:var(--reader-font)}.book-cover-placeholder.generated-cover{flex-direction:column;justify-content:flex-start;gap:8px;padding:16px 14px;text-align:left;color:#f6f2e8;background:linear-gradient(150deg,var(--cover-a, #444),var(--cover-b, #222));text-shadow:0 1px 2px rgba(0,0,0,.28)}.generated-cover-title{font-family:var(--display-font);font-size:var(--ui-size-title);font-weight:var(--ui-weight-medium);line-height:1.3;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}.generated-cover-author{font-family:var(--reader-font);font-size:var(--ui-size-sm);line-height:var(--ui-line-tight);opacity:.82;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.bd-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;width:100%;min-height:44px;padding:10px 16px;border:1px solid var(--border);border-radius:var(--radius-button);background:var(--panel);color:var(--text);font:inherit;font-size:var(--ui-size-md);font-weight:var(--ui-weight-semibold);text-decoration:none;cursor:pointer;font-variant-numeric:tabular-nums;transition:border-color var(--motion-fast) ease,background-color var(--motion-fast) ease}.bd-btn.primary{background:var(--text);border-color:var(--text);color:var(--bg)}.bd-btn.danger{color:var(--danger);border-color:color-mix(in srgb,var(--danger),transparent 55%)}@media(hover:hover)and (pointer:fine){.bd-btn:hover:not(:disabled){border-color:var(--muted);background:var(--control-hover)}.bd-btn.primary:hover:not(:disabled){background:color-mix(in srgb,var(--text) 82%,var(--panel));border-color:color-mix(in srgb,var(--text) 82%,var(--panel))}.bd-btn.danger:hover:not(:disabled){border-color:var(--danger);background:color-mix(in srgb,var(--danger),transparent 92%)}}.bd-btn:active,.bd-btn.is-pressed{opacity:var(--state-press-opacity)}.bd-btn:disabled{opacity:var(--state-disabled-opacity);cursor:not-allowed}.bd-btn.is-inline{width:auto;align-self:flex-start}.bd-btn-sub{font-weight:var(--ui-weight-medium);font-size:var(--ui-size-sm);color:var(--muted)}.bd-btn.primary .bd-btn-sub{color:color-mix(in srgb,var(--bg),transparent 25%)}.bd-btn:focus-visible{outline:var(--focus-ring);outline-offset:2px}.bd-manage{margin-top:20px;border-top:1px solid var(--border);padding-top:10px}.bd-swap{padding-top:4px}.bd-swap-heading{margin:4px 2px 8px;font-size:var(--ui-size-sm);color:var(--muted);font-variant-numeric:tabular-nums}.bd-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:14px 12px;align-items:end;padding:2px 2px 10px}.bd-gallery-item{display:block;width:100%;margin:0;padding:0;border:0;border-radius:8px;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.bd-gallery-item .book-cover{aspect-ratio:var(--cover-ratio, 2 / 3);box-shadow:0 4px 14px #00000024;transition:opacity var(--motion-fast) ease}.bd-gallery-item[aria-pressed=true] .book-cover{outline:2px solid var(--accent);outline-offset:2px}.bd-gallery-item:active .book-cover,.bd-gallery-item.is-pressed .book-cover{opacity:var(--state-press-opacity)}.bd-gallery-item:focus-visible{outline:var(--focus-ring);outline-offset:2px}.bd-gallery-cap{margin:6px 0 0;font-size:var(--ui-size-sm);line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bd-gallery-dims{display:block;color:var(--muted);font-variant-numeric:tabular-nums}.bd-gallery-match{margin:2px 0 0;font-size:var(--ui-size-xs);color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bd-sides{margin:16px 0 0;border-top:1px solid var(--border)}.bd-side{position:relative;display:flex;align-items:center;gap:12px;width:100%;min-height:52px;padding:0 2px;border:0;border-radius:8px;background:none;color:var(--text);font:var(--ui-size-body)/1.3 var(--ui-font);text-align:left;cursor:pointer}.bd-side+.bd-side{border-top:1px solid color-mix(in srgb,var(--border),transparent 45%)}.bd-side .card-glyph{width:20px;height:20px;margin-left:2px}.bd-side-name{flex:none}.bd-side-value{flex:1;min-width:0;display:flex;justify-content:flex-end;gap:8px;color:var(--muted);font-size:var(--ui-size-md);font-variant-numeric:tabular-nums;white-space:nowrap}.bd-side-fact{min-width:0;overflow:hidden;text-overflow:ellipsis}.bd-side-sub{color:var(--muted)}.bd-side-act{color:var(--accent);font-weight:var(--ui-weight-medium)}.bd-side .menu-row-chevron{flex:none;color:var(--muted)}.bd-side.is-open-side .menu-row-chevron{color:var(--accent)}@media(hover:hover)and (pointer:fine){.bd-side:hover{background:var(--control-hover)}}.bd-side:active,.bd-side.is-pressed{background:var(--state-press-fill)}.bd-side:focus-visible{outline:var(--focus-ring);outline-offset:2px}.bd-side+.bd-side:before{content:"";position:absolute;left:13px;top:-13px;width:0;height:26px;border-left:2px dotted color-mix(in srgb,var(--muted),transparent 55%)}.bd-sides[data-link=synced] .bd-side+.bd-side:before{border-left:2px solid var(--accent)}.bd-sides[data-link=poor] .bd-side+.bd-side:before{border-left:2px dashed var(--accent)}.bd-sides[data-link=syncing] .bd-side+.bd-side:before{width:2px;border:0;background:repeating-linear-gradient(to bottom,var(--accent) 0 4px,transparent 4px 8px);background-size:100% 8px;animation:bd-link-dash .6s linear infinite}@keyframes bd-link-dash{to{background-position:0 8px}}@media(prefers-reduced-motion:reduce){.bd-sides[data-link=syncing] .bd-side+.bd-side:before{animation:none}}.bd-sides[data-link=synced] .card-glyph,.bd-sides[data-link=syncing] .card-glyph,.bd-sides[data-link=poor] .card-glyph{color:var(--accent)}.bd-sides-note{margin:8px 2px 0;font-size:var(--ui-size-sm);color:var(--muted);line-height:1.4}.bd-note-link{padding:0;border:0;background:none;color:var(--accent);font:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.15em;cursor:pointer}@media(hover:hover)and (pointer:fine){.bd-note-link:hover{color:var(--accent-strong)}}.bd-note-link:active,.bd-note-link.is-pressed{color:var(--accent-strong)}.bd-note-link:focus-visible{outline:var(--focus-ring);outline-offset:2px;border-radius:3px}.bd-sides.is-static{margin:4px 0 10px;border-top:0}.bd-sides.is-static .bd-side{cursor:default;min-height:44px}.bd-sides.is-static .bd-side-name{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--display-font)}.bd-sides.is-static .bd-side-value{flex:1 0 auto}.book-card{display:flex;flex-direction:column;gap:0;text-decoration:none;color:inherit;border-radius:12px}.book-grid>.is-moving{z-index:2}.book-card.is-just-ready{animation:book-just-ready 2.6s ease-out}@keyframes book-just-ready{0%{box-shadow:0 0 0 3px color-mix(in srgb,var(--accent),transparent 20%)}65%{box-shadow:0 0 0 3px color-mix(in srgb,var(--accent),transparent 20%)}to{box-shadow:0 0 0 3px color-mix(in srgb,var(--accent),transparent 100%)}}@media(prefers-reduced-motion:reduce){.book-card.is-just-ready{animation:none}}.add-card{gap:8px}.book-cover-link{display:block;width:100%;padding:0;border:0;border-radius:3px 12px 12px 3px;background:none;font:inherit;text-align:inherit;text-decoration:none;color:inherit;cursor:pointer}.book-cover{position:relative;aspect-ratio:2 / 3;border-radius:3px 12px 12px 3px;overflow:hidden;border:1px solid var(--border);background:var(--panel-strong);box-shadow:0 6px 18px #00000014}.book-cover-cell{aspect-ratio:2 / 3;container-type:size;display:flex;align-items:flex-end;justify-content:flex-start}.book-cover-cell .book-cover{aspect-ratio:var(--cover-ratio, 2 / 3);width:min(100%,calc(100cqh * var(--cover-ratio, .6667)));height:auto;line-height:0}.book-cover-cell .book-cover.is-square{--cover-ratio: 1;border-radius:6px}.book-cover-cell .book-cover.is-unsized:has(>img.is-ready){aspect-ratio:auto;width:auto}.book-cover-cell .book-cover.is-unsized img.is-ready{width:auto;height:auto;max-width:calc(100cqw - 2px);max-height:calc(100cqh - 2px)}.book-cover-link:hover .book-cover{border-color:var(--accent)}.book-cover-link:active,.book-cover-link.is-pressed{opacity:.92}.book-cover-link:active .book-cover,.book-cover-link.is-pressed .book-cover{border-color:var(--accent)}.book-cover-link:focus-visible,.book-card-meta:focus-visible,.book-cover-link.is-cursor{outline:var(--focus-ring);outline-offset:2px}.book-cover-link.is-cursor .book-cover{border-color:var(--accent)}.book-card-meta{display:flex;align-items:center;gap:9px;width:calc(100% + 10px);padding:8px 5px;min-height:44px;margin:0 -5px;border:0;border-radius:8px;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.book-card-meta:active,.book-card-meta.is-pressed{opacity:var(--state-press-opacity)}.book-card-meta-text{flex:1 1 auto;min-width:0}.book-card-title{margin:0 0 1px;font-family:var(--display-font);font-size:var(--ui-size-body);font-weight:400;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color var(--motion-fast) ease}.book-card-chevron{flex:none;width:17px;height:17px;color:var(--muted);transition:color var(--motion-fast) ease}@media(hover:hover)and (pointer:fine){.book-card-meta:hover .book-card-title,.book-card-meta:hover .book-author,.book-card-meta:hover .card-join-time,.book-card-meta:hover .book-card-chevron{color:var(--accent)}}.card-join{display:flex;align-items:center;gap:0;color:var(--text)}.card-glyph{flex:none;display:block;width:13px;height:13px;background-color:currentColor;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.card-glyph-book{-webkit-mask-image:url(/icons/book.svg);mask-image:url(/icons/book.svg)}.card-glyph-audio{-webkit-mask-image:url(/icons/headphones.svg);mask-image:url(/icons/headphones.svg)}.card-join-line{flex:none;width:6px;height:0;margin:0 2px;border-top:1.5px solid var(--accent)}.card-join[data-link=syncing] .card-join-line{height:1.5px;border:0;background:repeating-linear-gradient(to right,var(--accent) 0 3px,transparent 3px 6px);background-size:6px 100%;animation:card-join-dash .6s linear infinite}@keyframes card-join-dash{to{background-position:6px 0}}@media(prefers-reduced-motion:reduce){.card-join[data-link=syncing] .card-join-line{animation:none}}.card-join[data-link=poor] .card-join-line{border-top-style:dashed}.card-join-time{margin-left:6px;color:var(--muted);font-size:var(--ui-size-xs);font-variant-numeric:tabular-nums;transition:color var(--motion-fast) ease}.book-cover img{width:100%;height:100%;object-fit:contain;display:block;opacity:0;transition:opacity var(--motion-fast) ease}.book-cover img.is-ready{opacity:1}.book-progress{position:absolute;left:0;right:0;bottom:0;height:3px;background:color-mix(in srgb,var(--panel),transparent 35%)}.book-progress-fill{height:100%;background:var(--accent)}.book-card-audio .processing-bar{position:static;width:100%;border-radius:var(--radius-pill)}.book-title{margin:0;font-family:var(--display-font);font-size:var(--ui-size-body);font-weight:400;transition:color var(--motion-fast) ease;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.book-card .book-author{margin:0;font-size:var(--ui-size-sm);color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-variant-numeric:tabular-nums;transition:color var(--motion-fast) ease}.book-status{margin:0;font-size:var(--ui-size-sm);color:var(--accent);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.eta-text{margin:0;font-size:var(--ui-size-sm);color:var(--muted)}.audiobook-tile-body{display:flex;flex-direction:column;gap:6px;align-items:flex-start}.audiobook-status{margin:0;font-size:var(--ui-size-sm);color:var(--muted)}.audiobook-match-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.audiobook-match-select{--select-ink: var(--text);--select-bg: var(--bg);--select-mark: var(--muted);flex:1 1 220px;border:1px solid var(--border);border-radius:8px;font-family:var(--ui-font)}.audiobook-match-select:focus-visible{outline:var(--focus-ring);outline-offset:2px}.add-tile{position:relative;aspect-ratio:2 / 3;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:0;border:1.5px dashed var(--border);border-radius:3px 12px 12px 3px;background:transparent;color:var(--muted);cursor:pointer;transition:border-color var(--motion-fast) ease,background-color var(--motion-fast) ease}.add-tile:hover,.add-tile:focus-visible{border-color:var(--muted);background:var(--control-bg)}.add-tile:focus-visible{outline:var(--focus-ring);outline-offset:2px}.add-tile.is-pressed{border-color:var(--accent)}.add-tile-plus{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;border:1px solid var(--border);background:var(--panel);color:var(--text);box-shadow:0 1px 3px #00000014}.add-tile-plus svg{width:18px;height:18px}.add-tile-label{font-size:var(--ui-size-sm);font-weight:var(--ui-weight-semibold)}.book-card-audio .book-cover-placeholder{font-family:var(--ui-font)}body.details-open{overflow:hidden}.book-details{position:fixed;inset:0;z-index:74}.book-details[hidden]{display:none}.book-details-scrim{position:absolute;inset:0;background:#0000006b;opacity:0;transition:opacity var(--motion-slow) ease}.book-details.is-open .book-details-scrim{opacity:1}.book-details-panel{position:relative;display:flex;flex-direction:column;background:var(--panel);outline:none}.book-details-bar{display:flex;align-items:center;justify-content:space-between;flex:none;min-height:48px;padding:6px 10px}.bd-back,.bd-close{display:inline-flex;align-items:center;gap:4px;border:0;background:none;color:var(--text);font:inherit;font-size:var(--ui-size-md);padding:8px 10px;border-radius:9px;cursor:pointer}.bd-close svg{width:17px;height:17px}@media(hover:hover)and (pointer:fine){.bd-back:hover,.bd-close:hover{background:var(--key-hover-bg)}}.bd-back:active,.bd-back.is-pressed,.bd-close:active,.bd-close.is-pressed{background:var(--state-press-fill)}.bd-back:focus-visible,.bd-close:focus-visible{outline:var(--focus-ring);outline-offset:2px}.book-details-body{flex:1;min-height:0;overflow-y:auto;padding:4px 22px calc(24px + env(safe-area-inset-bottom,0px))}.bd-head{display:flex;gap:16px;align-items:flex-start}.bd-cover{flex:none;width:88px}.bd-cover .book-cover{box-shadow:0 4px 14px #00000024}.bd-headtext{min-width:0}.bd-title{margin:2px 0 0;font-family:var(--display-font);font-size:var(--ui-size-reader-heading);font-weight:700;letter-spacing:-.01em;line-height:1.18}.bd-author{display:flex;align-items:center;gap:5px;margin:5px 0 0;font-size:13.5px;color:var(--muted)}.bd-author .bd-author-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bd-progress{margin:14px 0 0;font-size:12.5px;color:var(--muted);font-variant-numeric:tabular-nums}.bd-actions{display:flex;flex-direction:column;gap:8px;margin-top:14px}@property --offline-progress{syntax: "<number>"; inherits: false; initial-value: 0;}.bd-offline[data-state=downloading]{background:linear-gradient(to right,color-mix(in srgb,var(--accent),transparent 82%) calc(var(--offline-progress, 0) * 100%),transparent calc(var(--offline-progress, 0) * 100%)) var(--panel);transition:--offline-progress var(--offline-glide, .24s) linear}.bd-offline[data-state=done]{color:var(--accent);border-color:color-mix(in srgb,var(--accent),transparent 60%);background:color-mix(in srgb,var(--accent),transparent 92%);cursor:default}.bd-offline[data-state=done] svg{width:14px;height:14px}.bd-manage .menu-row.bd-export-live{background:linear-gradient(to right,color-mix(in srgb,var(--accent),transparent 82%) calc(var(--export-progress, 0) * 100%),transparent calc(var(--export-progress, 0) * 100%));cursor:default}.bd-manage .menu-row.bd-export-live .menu-row-ann{font-variant-numeric:tabular-nums}.bd-manage .menu-row.bd-export-live.is-failed .menu-row-ann{color:var(--danger)}.bd-manage-head{display:flex;align-items:center;gap:7px;min-height:30px;width:auto;margin:0 0 2px;padding:2px 10px 2px 0;border:0;border-radius:8px;background:none;color:var(--text);font:inherit;text-align:left}.bd-manage-head-chevron{flex:none;display:inline-flex;visibility:hidden}.bd-manage-head-chevron svg{width:16px;height:16px}.bd-manage-head-title{font-size:var(--ui-size-xs);font-weight:var(--ui-weight-semibold);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.bd-manage-head.is-back{cursor:pointer}.bd-manage-head.is-back .bd-manage-head-chevron{visibility:visible}@media(hover:hover)and (pointer:fine){.bd-manage-head.is-back:hover{background:var(--control-hover)}}.bd-manage-head.is-back:active,.bd-manage-head.is-back.is-pressed{background:var(--state-press-fill)}.bd-manage-head.is-back:focus-visible{outline:var(--focus-ring);outline-offset:2px}@media(max-width:560px){.book-details-scrim{display:none}.book-details-panel{position:absolute;inset:0;background:var(--bg);transform:translate(100%);transition:transform .26s cubic-bezier(.32,.72,0,1)}.book-details.is-open .book-details-panel{transform:translate(0)}.book-details-bar{min-height:0;padding:env(safe-area-inset-top,0px) 6px 2px;background:var(--bg);border-bottom:1px solid color-mix(in srgb,var(--border),transparent 20%);box-shadow:var(--bar-shadow)}.bd-back{display:grid;place-items:center;width:48px;height:48px;padding:0;border-radius:var(--key-radius)}.bd-back-icon{display:block;width:var(--mobile-icon-size);height:var(--mobile-icon-size);background-color:currentColor;-webkit-mask:url(/icons/back.svg) center / contain no-repeat;mask:url(/icons/back.svg) center / contain no-repeat}.bd-close{display:none}.book-details-body{padding-top:18px}}@media(min-width:561px){.book-details{display:flex;align-items:center;justify-content:center;padding:48px 24px}.book-details-panel{width:min(680px,100%);height:min(620px,100%);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow);opacity:0;transform:translateY(8px);transition:opacity var(--motion-fast) ease,transform var(--motion-fast) ease}.book-details.is-open .book-details-panel{opacity:1;transform:translateY(0)}.bd-back{display:none}.book-details-bar{justify-content:flex-end}.book-details-body{display:grid;grid-template-columns:186px 1fr;gap:0 24px;align-content:start;padding:8px 26px 26px}.bd-head{display:contents}.bd-cover{grid-column:1;grid-row:1 / span 6;width:186px}.bd-headtext,.bd-progress,.bd-actions,.bd-sides,.bd-sides-note,.bd-manage,.processing-bar-inline{grid-column:2}.bd-title{font-size:23px}.bd-author{font-size:15px}.bd-actions{flex-direction:row;flex-wrap:wrap}.bd-actions .bd-btn{width:auto;min-width:120px}}@media(prefers-reduced-motion:reduce){.book-details-scrim,.book-details-panel{transition:none}}.word-gloss-popover{position:fixed;z-index:60;max-width:280px;padding:6px 10px;background:var(--panel);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow);font-family:var(--ui-font);font-size:.92rem;line-height:1.35;color:var(--text);pointer-events:none}.word-gloss-term{font-weight:var(--ui-weight-semibold)}.word-gloss-term.is-empty{font-weight:400;color:var(--muted, color-mix(in srgb, var(--text), transparent 40%))}.word-gloss-definition{margin-top:3px;font-size:.82rem;color:var(--muted, color-mix(in srgb, var(--text), transparent 40%))}.word-gloss-note{margin-top:5px;padding-top:4px;border-top:1px solid var(--border);font-size:.82rem;color:var(--muted, color-mix(in srgb, var(--text), transparent 40%))}.word-gloss-term.is-skeleton,.word-gloss-definition.is-skeleton{border-radius:4px;background:linear-gradient(90deg,color-mix(in srgb,var(--text),transparent 88%) 25%,color-mix(in srgb,var(--text),transparent 78%),color-mix(in srgb,var(--text),transparent 88%) 75%);background-size:240% 100%;animation:word-gloss-shimmer 1.4s ease-in-out infinite}.word-gloss-term.is-skeleton{width:7ch;height:.92rem}.word-gloss-definition.is-skeleton{width:18ch;height:.82rem}@keyframes word-gloss-shimmer{0%{background-position:120% 0}to{background-position:-120% 0}}@media(prefers-reduced-motion:reduce){.word-gloss-term.is-skeleton,.word-gloss-definition.is-skeleton{animation:none}}.footnote-popover{position:fixed;z-index:60;max-width:min(420px,calc(100vw - 16px));max-height:min(50vh,360px);overflow-y:auto;padding:12px 16px;background:var(--panel);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow);font-family:var(--reader-font);font-size:.95rem;line-height:1.5;color:var(--text)}.footnote-popover .footnote-note-source{margin:0 0 4px}.footnote-popover .footnote-note-translation{margin:0 0 12px;color:var(--muted, var(--text))}.footnote-popover .footnote-note-translation:last-child{margin-bottom:0}.footnote-popover .footnote-note-image{max-width:100%;height:auto}.footnote-popover .footnote-note-empty{margin:0;color:var(--muted, var(--text));font-style:italic;font-family:var(--ui-font)}.mobile-floating-controls,.mobile-header,.mobile-header-actions{display:contents}.mobile-audio-toggle,.mobile-back-button,.sidebar-toggle .settings-icon{display:none}.reader{height:100%;padding:calc(var(--reader-controls-space) + var(--reader-block-space)) var(--reader-inline-space) var(--reader-block-space);overflow:hidden;font-family:var(--reader-font);font-size:var(--reader-size);font-weight:var(--reader-weight);-webkit-text-stroke:var(--reader-stroke) currentColor;line-height:var(--reader-line);text-rendering:optimizeLegibility;font-kerning:normal}.reader.reader-page-scroll{overflow-y:auto}.reader.reader-page-scroll .bilingual-page{height:auto;min-height:calc(100% - var(--reader-page-bottom-reserve))}.bilingual-page{display:grid;grid-template-columns:minmax(0,340px) minmax(0,340px);justify-content:center;align-content:start;gap:14px 14px;height:calc(100% - var(--reader-page-bottom-reserve));max-width:734px;margin:0 auto;overflow:visible}@keyframes page-enter-next{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}@keyframes page-enter-prev{0%{opacity:0;transform:translate(-16px)}to{opacity:1;transform:translate(0)}}.bilingual-page.is-entering-next{animation:page-enter-next var(--motion-slow) ease-out}.bilingual-page.is-entering-prev{animation:page-enter-prev var(--motion-slow) ease-out}.reader-scrim{display:none}@media(prefers-reduced-motion:reduce){.bilingual-page.is-entering-next,.bilingual-page.is-entering-prev{animation:none}}body.translation-disabled .bilingual-page{grid-template-columns:minmax(0,1fr);max-width:660px}body.translation-disabled .english-block{display:none}.cover-page{display:grid;place-items:center;height:calc(100% - var(--reader-page-bottom-reserve));max-width:816px;margin:0 auto}.cover-page img{display:block;max-width:min(100%,430px);max-height:100%;object-fit:contain;box-shadow:0 18px 48px #0000002e}.parallel-block{min-width:0;margin-inline:-4px;padding-inline:4px}.image-block{grid-column:1 / -1;justify-self:center;min-width:0;max-width:100%;margin:0 0 1.1em}.math-block{grid-column:1 / -1;justify-self:center;min-width:0;max-width:100%;margin:.2em 0 1.1em;font-size:1.02em}.math-block .math-scroll{overflow-x:auto;text-align:center}.image-block.is-pending{width:min(100%,430px);min-height:min(46vh,220px);border-radius:4px;background:color-mix(in srgb,currentColor 7%,transparent)}.image-block.is-pending img{width:100%;height:min(46vh,220px)}.image-block img{display:block;margin:0 auto;max-width:100%;max-height:46vh;object-fit:contain;border-radius:4px}body[data-theme=dark] .image-block img{filter:brightness(.82) contrast(1.05)}body[data-theme=sepia] .image-block img{filter:sepia(.12)}body[data-theme=night] .image-block img{filter:var(--image-tint)}[data-action=open-image]{cursor:zoom-in}[data-action=open-image]:focus-visible{outline:var(--focus-ring);outline-offset:3px}.image-lightbox{position:fixed;top:0;left:0;z-index:160;box-sizing:border-box;width:100%;height:var(--app-height, 100vh);display:flex;align-items:center;justify-content:center;padding:calc(env(safe-area-inset-top,0px) + 12px) calc(env(safe-area-inset-right,0px) + 12px) calc(env(safe-area-inset-bottom,0px) + 12px) calc(env(safe-area-inset-left,0px) + 12px);background:#000000e6;cursor:zoom-out;touch-action:manipulation;overscroll-behavior:contain;-webkit-user-select:none;user-select:none}.image-lightbox:not([hidden]){animation:image-lightbox-in .16s ease-out}@keyframes image-lightbox-in{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){.image-lightbox:not([hidden]){animation:none}}.image-lightbox-image{display:block;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;cursor:default}.image-lightbox.is-failed .image-lightbox-image{display:none}.image-lightbox-close{position:absolute;top:calc(env(safe-area-inset-top,0px) + 10px);right:calc(env(safe-area-inset-right,0px) + 10px);display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid var(--border);border-radius:50%;background:var(--panel);color:var(--text);cursor:pointer}.image-lightbox-close svg{width:18px;height:18px}.image-lightbox-close:focus-visible{outline:var(--focus-ring);outline-offset:2px}.image-lightbox-status{position:absolute;bottom:calc(env(safe-area-inset-bottom,0px) + 16px);left:50%;transform:translate(-50%);max-width:calc(100% - 32px);margin:0;padding:8px 14px;border:1px solid var(--border);border-radius:8px;background:var(--panel);color:var(--text);font-family:var(--ui-font);font-size:var(--ui-size-body);line-height:1.4;text-align:center}.image-lightbox-status:empty{display:none}body[data-theme=dark] .image-lightbox-image{filter:brightness(.82) contrast(1.05)}body[data-theme=sepia] .image-lightbox-image{filter:sepia(.12)}body[data-theme=night] .image-lightbox-image:not([data-night-exempt]){filter:var(--image-tint)}.reader :is(h3,h4,h5,h6),.reader p{overflow-wrap:anywhere}.reader :is(h3,h4,h5,h6){margin:0 0 12px;font-family:var(--display-font);font-size:var(--ui-size-reader-heading);font-weight:600;line-height:var(--ui-line-tight)}.reader :is(h3,h4,h5,h6)[data-level="1"]{font-size:calc(var(--ui-size-reader-heading) * 1.12);margin-bottom:16px}.reader :is(h3,h4,h5,h6)[data-level="4"],.reader :is(h3,h4,h5,h6)[data-level="5"],.reader :is(h3,h4,h5,h6)[data-level="6"]{font-size:calc(var(--ui-size-reader-heading) * .82)}.reader :is(h3,h4,h5,h6).heading-subtitle{font-size:calc(var(--ui-size-reader-heading) * .78);color:var(--muted);margin-top:-6px}.reader .internal-link,.reader .internal-link-word{color:var(--accent);cursor:pointer}.reader .internal-link{width:fit-content;margin-inline-end:auto}.reader .internal-link-word{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.15em}@media(hover:hover)and (pointer:fine){.reader .internal-link:hover,.reader .internal-link-word:hover{color:var(--accent-strong)}}.reader .internal-link:active,.reader .internal-link-word:active{color:var(--accent-strong)}.reader .internal-link:focus-visible{outline:var(--focus-ring);outline-offset:2px;border-radius:3px}.reader p.scene-break-block{text-align:center;letter-spacing:.4em;color:var(--muted);margin:1.2em 0}.reader p{margin:0 0 1.1em;hyphens:auto;-webkit-hyphens:auto}body.text-justify .reader p{text-align:justify}.reader p.is-continuation{text-indent:0}.bilingual-page>p:has(+p.is-continuation),.bilingual-page>p:has(+.english-block+p.is-continuation),.bilingual-page>.english-block:has(+p.is-continuation){margin-bottom:0}.english-block.is-loading{color:transparent;user-select:none}.english-block.is-unavailable{color:var(--muted);font-style:italic}.english-block.is-loading .skeleton-text{background:linear-gradient(100deg,color-mix(in srgb,var(--muted),transparent 88%) 40%,color-mix(in srgb,var(--muted),transparent 80%),color-mix(in srgb,var(--muted),transparent 88%) 60%);background-size:400% 100%;border-radius:4px;-webkit-box-decoration-break:clone;box-decoration-break:clone;animation:skeleton-shimmer 2s ease-in-out infinite}@keyframes skeleton-shimmer{0%{background-position:100% 50%}to{background-position:0% 50%}}@media(prefers-reduced-motion:reduce){.english-block.is-loading .skeleton-text{animation:none}}.word{margin:0 1px;padding:0 1px;border-radius:4px;transition:color .1s ease}.word.is-reading-enter{transition:color .1s ease}.word:hover,.word.is-aligned{background:color-mix(in srgb,var(--accent),transparent 88%);color:var(--text)}.word:focus-visible{outline:var(--focus-ring);outline-offset:1px}.word.is-fragment-active{background:color-mix(in srgb,var(--accent),transparent 78%);color:var(--text)}body.line-highlight-off .word.is-fragment-active{background:none;color:inherit}@media(hover:hover)and (pointer:fine){body.line-highlight-off .word.is-fragment-active:is(:hover,.is-aligned){background:color-mix(in srgb,var(--accent),transparent 88%);color:var(--text)}}.word.is-fragment-active.is-read-pending{color:color-mix(in srgb,var(--text),transparent 25%)}.word.mapped-word,.word.mapped-word+.word-gap,.word-gap:has(+.word.mapped-word){cursor:pointer}@media(hover:hover)and (pointer:fine){.word,.word-gap{position:relative}.word:after,.word-gap:after{content:"";position:absolute;inset:-.24em 0}}.word.glossed-word{cursor:pointer}.word.is-segment-lit{background:color-mix(in srgb,var(--accent),transparent 88%);color:var(--text)}.word.is-word-aligned{background:color-mix(in srgb,var(--accent),transparent 55%);color:var(--text)}.word.is-word-playhead{background:color-mix(in srgb,var(--accent),transparent 55%);color:var(--text);outline:var(--focus-ring);outline-offset:1px}.word.is-word-seek{background:color-mix(in srgb,var(--accent),transparent 55%)}.word.is-word-seek.is-word-seek-fading{background:transparent;transition:background-color .28s ease}.word.is-fragment-active.is-word-seek.is-word-seek-fading{background:color-mix(in srgb,var(--accent),transparent 78%)}.footnote-marker{position:relative;vertical-align:super;font-size:.7em;line-height:0;cursor:pointer;user-select:none;color:var(--accent);padding:0 .15em}@media(pointer:coarse){.footnote-marker:before{content:"";position:absolute;inset:-10px -8px}}.footnote-marker:after{content:attr(data-fn-label)}.footnote-marker:hover{color:color-mix(in srgb,var(--accent),var(--text) 30%)}.footnote-marker:focus-visible{outline:var(--focus-ring);outline-offset:1px;border-radius:3px}.footnote-marker:active{color:color-mix(in srgb,var(--accent),var(--text) 30%);opacity:var(--state-press-opacity)}.page-toolbar{--page-control-size: 50px;--page-rail-height: 14px;--page-toolbar-inset: var(--panel-pad-x);grid-row:4;display:grid;grid-template-columns:minmax(0,1fr);align-items:start;height:calc(var(--page-control-size) + 12px);min-height:calc(var(--page-control-size) + 12px);padding:0 var(--page-toolbar-inset);background:var(--bg)}.page-progress{grid-column:1;grid-row:1;position:relative;height:var(--page-control-size);min-width:0}.page-progress-rail{position:absolute;top:50%;left:0;height:var(--page-rail-height);width:100%;min-width:0;border-radius:var(--radius-pill);cursor:pointer;transform:translateY(-50%);touch-action:none}.page-progress-rail:before{position:absolute;top:50%;left:0;width:100%;height:1px;background:color-mix(in srgb,var(--muted),transparent 48%);border-radius:1px;content:"";transform:translateY(-50%);transition:background-color var(--motion-fast) ease}.page-progress-rail:after{content:"";position:absolute;inset:-8px 0 -18px}.page-progress-dot{position:absolute;top:50%;left:0;width:6px;height:6px;background:var(--accent);border-radius:50%;transform:translate(-50%,-50%);pointer-events:none;transition:transform var(--motion-fast) ease}.page-progress-rail:focus-visible{outline:var(--focus-ring);outline-offset:6px}@media(hover:hover)and (pointer:fine){.page-progress-rail:hover:before{background:var(--muted)}.page-progress-rail:hover .page-progress-dot{transform:translate(-50%,-50%) scale(2.2)}}.page-progress-preview{position:absolute;bottom:calc(100% + 8px);left:0;transform:translate(-50%);padding:5px 8px;background:var(--panel);border-radius:var(--key-radius);box-shadow:0 4px 18px #00000029,0 0 0 1px var(--border);color:var(--text);font-family:var(--ui-font);font-size:12.5px;font-weight:var(--ui-weight-medium);font-variant-numeric:tabular-nums;line-height:1;white-space:nowrap;pointer-events:none;z-index:20;opacity:0;transition:opacity var(--motion-fast) ease}.page-progress-preview.is-open,.page-progress-ghost.is-open{opacity:1;transition:none}.page-progress-ghost{position:absolute;top:50%;left:0;width:6px;height:6px;border-radius:50%;background:color-mix(in srgb,var(--accent),transparent 60%);transform:translate(-50%,-50%) scale(2.2);pointer-events:none;opacity:0;transition:opacity var(--motion-fast) ease}.page-status{transition:opacity var(--motion-fast) ease}@media(hover:hover)and (pointer:fine){.page-toolbar:has(.page-progress-rail:hover) .page-status{opacity:0}}@media(hover:none),(pointer:coarse){.page-progress-preview,.page-progress-ghost{display:none}}.page-progress-rail.is-dragging{cursor:grabbing}.page-progress-rail.is-disabled{cursor:default;opacity:var(--state-disabled-opacity)}.page-progress-dot[hidden],.page-progress-fill{display:none}#pageStatus{grid-column:1;grid-row:1;justify-self:center;align-self:start;margin-top:4px;min-height:0;color:var(--muted);font-size:var(--ui-size-page);font-weight:var(--ui-weight-semibold);line-height:var(--ui-line-tight);font-variant-numeric:tabular-nums;pointer-events:none;text-align:center;white-space:nowrap}.return-page-button{position:fixed;left:50%;bottom:140px;z-index:140;min-height:34px;padding:7px 12px;color:var(--text);background:var(--panel);border:1px solid color-mix(in srgb,var(--border),transparent 18%);border-radius:var(--radius-pill);box-shadow:var(--floating-shadow);font-family:var(--ui-font);font-size:var(--ui-size-sm);font-weight:var(--ui-weight-semibold);line-height:var(--ui-line-tight);transform:translate(-50%);white-space:nowrap}@media(hover:hover)and (pointer:fine){.return-page-button:hover{border-color:var(--muted)}}.return-page-button:focus-visible{outline:var(--focus-ring);outline-offset:2px}.return-page-button[hidden]{display:none}.mobile-bottom-chrome{grid-row:3;display:flex;flex-direction:column;gap:8px;padding:10px clamp(12px,5vw,32px) 6px;background:var(--bg);border-top:1px solid color-mix(in srgb,var(--border),transparent 45%);transition:opacity .1s ease,visibility 0s}@media(hover:hover)and (pointer:fine){.mobile-bottom-chrome .mobile-transport{transition:transform var(--motion-modal) cubic-bezier(.4,0,.2,1)}}.mobile-transport{display:grid;grid-template-columns:1fr auto 1fr;column-gap:24px;align-items:center;pointer-events:auto}.mobile-transport-main{grid-column:2;display:flex;align-items:center;justify-content:center;gap:24px}.mobile-transport .mobile-pp,.mobile-transport .mobile-skip,.mobile-transport .mobile-speed,.mobile-transport .mobile-read-lang{appearance:none;-webkit-appearance:none;display:grid;place-items:center;padding:0;background:none;border:0;cursor:pointer;touch-action:manipulation;transition:opacity var(--motion-press) ease}.mobile-transport .mobile-pp{width:52px;height:52px;color:var(--text)}.mobile-transport .mobile-skip{width:44px;height:44px;color:var(--muted)}.mobile-transport .mobile-speed{grid-column:3;justify-self:start;min-width:56px;height:44px;padding-inline:6px;color:var(--accent);font-family:var(--ui-font);font-size:17px;font-weight:700;font-variant-numeric:tabular-nums}.mobile-transport .mobile-read-lang{grid-column:1;grid-row:1;justify-self:end;min-width:44px;height:44px;padding-inline:6px;color:var(--accent);font-family:var(--ui-font);font-size:15px;font-weight:700;letter-spacing:.04em}.mobile-transport .mobile-pp:active,.mobile-transport .mobile-pp.is-pressed,.mobile-transport .mobile-skip:active,.mobile-transport .mobile-skip.is-pressed,.mobile-transport .mobile-speed:active,.mobile-transport .mobile-speed.is-pressed,.mobile-transport .mobile-read-lang:active,.mobile-transport .mobile-read-lang.is-pressed{opacity:var(--state-press-opacity)}.mobile-transport .mobile-pp:disabled,.mobile-transport .mobile-skip:disabled,.mobile-transport .mobile-speed:disabled,.mobile-transport .mobile-read-lang:disabled{opacity:var(--state-disabled-opacity);cursor:default}@media(hover:hover)and (pointer:fine){.mobile-transport .mobile-pp:hover:not(:disabled),.mobile-transport .mobile-skip:hover:not(:disabled),.mobile-transport .mobile-speed:hover:not(:disabled),.mobile-transport .mobile-read-lang:hover:not(:disabled){background:var(--key-hover-bg);border-radius:var(--key-radius)}}.mobile-transport .mobile-pp:focus-visible,.mobile-transport .mobile-skip:focus-visible,.mobile-transport .mobile-speed:focus-visible,.mobile-transport .mobile-read-lang:focus-visible{outline:var(--focus-ring);outline-offset:2px;border-radius:var(--key-radius)}.mobile-transport .transport-icon{display:block;background-color:currentColor;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.mobile-pp .transport-icon{width:30px;height:30px;-webkit-mask-image:url(/icons/play.svg);mask-image:url(/icons/play.svg)}.mobile-pp[aria-pressed=true] .transport-icon{-webkit-mask-image:url(/icons/pause.svg);mask-image:url(/icons/pause.svg)}.mobile-pp.is-pending{position:relative}.mobile-pp.is-pending .transport-icon{opacity:.35}.mobile-pp.is-pending:after{content:"";position:absolute;inset:6px;border-radius:50%;border:2px solid transparent;border-top-color:currentColor;opacity:.7;animation:pp-pending-spin .9s linear infinite}@keyframes pp-pending-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.mobile-pp.is-pending:after{animation:pp-pending-pulse 1.2s ease-in-out infinite alternate;border-color:currentColor;border-top-color:currentColor}@keyframes pp-pending-pulse{0%{opacity:.15}to{opacity:.5}}}.mobile-skip .transport-icon{width:26px;height:26px}#mobileSkipBack .transport-icon{-webkit-mask-image:url(/icons/play-back.svg);mask-image:url(/icons/play-back.svg)}#mobileSkipFwd .transport-icon{-webkit-mask-image:url(/icons/play-forward.svg);mask-image:url(/icons/play-forward.svg)}body{--settings-panel: var(--bg);--settings-knob: #fff;--settings-control: #f1f2ef;--settings-border: var(--border);--settings-text: var(--text);--settings-muted: var(--muted);--settings-subtle: var(--muted);--settings-choice: #4a4a46;--settings-choice-border: #b3b2ac;--settings-subtitle: var(--muted);--settings-switch-off: #d3d2cc;--settings-control-divider: rgba(0, 0, 0, .08);--settings-swatch-border: rgba(0, 0, 0, .1);--settings-knob-shadow: 0 1px 3px rgba(0, 0, 0, .22);--settings-shadow: 0 1px 3px rgba(0, 0, 0, .06), 0 12px 32px rgba(0, 0, 0, .05);--settings-press: .68}.sidebar{position:sticky;top:0;display:flex;flex-direction:column;height:100vh;padding:0;overflow:auto;color:var(--settings-text);background:var(--settings-panel);border-right:1px solid var(--settings-border);box-shadow:var(--settings-shadow);transition:opacity var(--motion-slow) ease,transform var(--motion-slow) ease,visibility var(--motion-slow) ease}body[data-theme=sepia]{--settings-panel: var(--bg);--settings-control: #ebe0ca;--settings-border: #ddd0b8;--settings-text: #2c2418;--settings-muted: #74674f;--settings-subtle: #74674f;--settings-choice: #4f432f;--settings-choice-border: #b8aa90;--settings-subtitle: #74674f;--settings-switch-off: #d6c8ae;--settings-control-divider: rgba(44, 36, 24, .1);--settings-swatch-border: rgba(44, 36, 24, .16);--settings-shadow: 0 1px 3px rgba(64, 48, 26, .08), 0 12px 32px rgba(64, 48, 26, .06)}body[data-theme=dark]{--settings-panel: var(--bg);--settings-control: #2a302d;--settings-border: #39423d;--settings-text: #eff3ec;--settings-muted: #a5b0a7;--settings-subtle: #7f8b83;--settings-choice: #d8ded6;--settings-choice-border: #67736c;--settings-subtitle: #828d86;--settings-switch-off: #46504a;--settings-control-divider: rgba(255, 255, 255, .08);--settings-swatch-border: rgba(255, 255, 255, .14);--settings-knob-shadow: 0 1px 3px rgba(0, 0, 0, .38);--settings-shadow: 0 1px 3px rgba(0, 0, 0, .22), 0 12px 32px rgba(0, 0, 0, .18)}body[data-theme=night]{--settings-panel: var(--bg);--settings-knob: #ffc400;--settings-control: #2b2100;--settings-border: #4c3a00;--settings-text: #ffc400;--settings-muted: #d5a400;--settings-subtle: #a67f00;--settings-choice: #e9b300;--settings-choice-border: #7a5e00;--settings-subtitle: #a67f00;--settings-switch-off: #4c3a00;--settings-control-divider: rgba(255, 196, 0, .12);--settings-swatch-border: rgba(255, 196, 0, .18);--settings-knob-shadow: 0 1px 3px rgba(0, 0, 0, .5);--settings-shadow: 0 1px 3px rgba(0, 0, 0, .3), 0 12px 32px rgba(0, 0, 0, .24)}.book-sidebar-info h2,.book-sidebar-info p{margin:0}.pb-pause{opacity:0;transform:scale(.55)}#pageSpeechButton .pb-tri,#pageSpeechButton .pb-pause{transition:transform .22s cubic-bezier(.4,0,.2,1),opacity var(--motion-slow) ease;transform-box:fill-box;transform-origin:center}#pageSpeechButton.is-on .pb-tri{transform:scale(.55);opacity:0}#pageSpeechButton.is-on .pb-pause{transform:scale(1);opacity:1}.l-eq{opacity:0}#playSegmentButton .l-line,#playSegmentButton .l-eq{transition:opacity var(--motion-slow) ease}#playSegmentButton.is-playing .l-line{opacity:0}#playSegmentButton.is-playing .l-eq{opacity:1}#playSegmentButton.is-playing .l-eq rect{animation:eq-bounce .7s ease-in-out infinite;transform-box:fill-box;transform-origin:center}#playSegmentButton.is-playing .l-eq rect:nth-child(2){animation-delay:.12s}#playSegmentButton.is-playing .l-eq rect:nth-child(3){animation-delay:.24s}@keyframes eq-bounce{0%,to{transform:scaleY(.4)}50%{transform:scaleY(1)}}.sidebar-content{display:flex;flex-direction:column;min-height:0;opacity:1;transition:opacity var(--motion-fast) ease}.sidebar-scrim{display:none}.book-sidebar-info{display:grid;gap:5px;padding:calc(var(--key-inset-top) + var(--key-size) + 18px) var(--panel-pad-x) 20px;background:transparent;border:0;border-radius:0}.book-sidebar-info .book-author,.book-meta{color:var(--settings-muted);font-size:13px;font-weight:var(--ui-weight-medium);line-height:var(--ui-line-normal)}.book-meta{color:var(--settings-subtle);margin-top:4px;font-variant-numeric:tabular-nums}.book-sidebar-info h2{color:var(--settings-text);font-family:var(--display-font);font-size:20px;font-weight:700;letter-spacing:0;line-height:1.22;text-wrap:pretty}.settings-controls{display:flex;flex-direction:column;padding:8px 20px 36px}.settings-controls button:disabled,.settings-controls select:disabled{cursor:not-allowed;opacity:var(--state-disabled-opacity)}.control{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--settings-text)}.control>span,.control-label,.switch-label{color:var(--settings-text);font-size:var(--ui-size-body);font-weight:var(--ui-weight-medium);line-height:var(--ui-line-normal)}.control-row{min-height:52px}.translation-settings-panel{display:flex;flex-direction:column;gap:16px;margin:8px 0 12px}.translation-conditional{display:flex;flex-direction:column;gap:4px}.translation-conditional.is-entering{animation:settingsReveal .22s ease}@keyframes settingsReveal{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.translation-settings-panel .control{display:grid;justify-content:stretch;gap:9px}.translation-settings-panel .control-label{color:var(--settings-muted);font-size:12px;font-weight:var(--ui-weight-semibold)}.sidebar-divider{height:1px;background:var(--settings-border)}.switch-row{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:52px;padding:0;background:transparent;border:0;color:inherit;text-align:left;cursor:pointer}.switch{position:relative;flex:none;width:46px;height:28px;border-radius:14px;background:var(--settings-switch-off);box-shadow:inset 0 0 0 1px var(--settings-muted);transition:background var(--motion-slow) ease}.knob{position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:var(--settings-knob);border:0;box-shadow:var(--settings-knob-shadow);transition:transform var(--motion-slow) ease}[role=switch][aria-checked=true] .switch{background:var(--accent);box-shadow:none}[role=switch][aria-checked=true] .knob{transform:translate(18px)}@media(prefers-reduced-motion:reduce){.knob{transition:none}.translation-conditional.is-entering{animation:none}}.switch-row.is-pressed,.translation-mode-button.is-pressed,.theme-button.is-pressed,.font-size-segmented button.is-pressed,.offline-prepare-button.is-pressed{opacity:var(--settings-press)}@media(hover:hover)and (pointer:fine){.switch-row:hover .switch-label,.theme-button:hover,.translation-mode-button:hover{color:var(--accent)}.theme-button:hover .theme-swatch{box-shadow:0 0 0 2px var(--settings-panel),0 0 0 4px color-mix(in srgb,var(--settings-text) 45%,transparent)}.translation-mode-button:hover:before{border-color:var(--settings-text)}.font-size-segmented button:hover:not(:disabled),.segmented button:hover:not(:disabled){color:var(--accent);background:var(--key-hover-bg)}.offline-prepare-button:hover:not(:disabled):not([data-state=downloading]){background:color-mix(in srgb,var(--accent),transparent 84%)}.offline-prepare-button[data-action=remove]:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 84%,var(--settings-panel))}}.control select,.audiobook-match-select,.reader-font-trigger{appearance:none;-webkit-appearance:none;min-width:0;min-height:44px;padding:0 38px 0 14px;color:var(--select-ink);background-color:var(--select-bg);background-image:linear-gradient(45deg,transparent 50%,var(--select-mark) 50%),linear-gradient(135deg,var(--select-mark) 50%,transparent 50%);background-position:calc(100% - 19px) 50%,calc(100% - 14px) 50%;background-size:6px 6px,6px 6px;background-repeat:no-repeat;border-radius:4px;font-size:var(--ui-size-body);font-weight:var(--ui-weight-medium);line-height:var(--ui-line-tight);box-shadow:none;cursor:pointer;transition:background var(--motion-fast) ease,outline-color var(--motion-fast) ease}.control select{--select-ink: var(--settings-text);--select-bg: var(--settings-control);--select-mark: var(--settings-subtle);width:100%;height:44px;border:0}.control select:hover,.audiobook-match-select:hover,.reader-font-trigger:hover{background-color:color-mix(in srgb,var(--select-bg),var(--select-ink) 4%)}.control select:focus-visible,.segmented button:focus-visible,.switch-row:focus-visible,.translation-mode-button:focus-visible,.font-size-segmented button:focus-visible,.theme-button:focus-visible,.offline-prepare-button:focus-visible{outline:var(--focus-ring);outline-offset:2px;box-shadow:none}.segmented button:focus-visible,.font-size-segmented button:focus-visible{outline-offset:-2px}.translation-mode-list{display:flex;flex-direction:column}.translation-mode-button{position:relative;display:flex;align-items:center;gap:10px;width:100%;min-height:34px;padding:0;background:transparent;border:0;color:var(--settings-choice);font-size:14px;font-weight:var(--ui-weight-medium);text-align:left;cursor:pointer}.translation-mode-button:before{content:"";box-sizing:border-box;flex:none;width:17px;height:17px;border:1.7px solid var(--settings-choice-border);border-radius:50%;transition:border-color .15s ease}.translation-mode-button:after{content:"";position:absolute;top:50%;left:4px;width:9px;height:9px;border-radius:50%;background:transparent;transform:translateY(-50%);transition:background .15s ease}body[data-translation-mode=full] .translation-mode-button[data-translation-mode=full],body:not([data-translation-mode]) .translation-mode-button[data-translation-mode=full],body[data-translation-mode=active] .translation-mode-button[data-translation-mode=active]{color:var(--accent);font-weight:var(--ui-weight-semibold)}body[data-translation-mode=full] .translation-mode-button[data-translation-mode=full]:before,body:not([data-translation-mode]) .translation-mode-button[data-translation-mode=full]:before,body[data-translation-mode=active] .translation-mode-button[data-translation-mode=active]:before{border-color:var(--accent)}body[data-translation-mode=full] .translation-mode-button[data-translation-mode=full]:after,body:not([data-translation-mode]) .translation-mode-button[data-translation-mode=full]:after,body[data-translation-mode=active] .translation-mode-button[data-translation-mode=active]:after{background:var(--accent)}.segmented{display:inline-flex;gap:10px;min-height:40px;padding:0;background:transparent;border:0;border-radius:0}.segmented button{min-height:36px;padding-inline:8px;color:var(--settings-muted);background:transparent;border:0;border-radius:4px;font-size:13px;font-weight:var(--ui-weight-medium)}.segmented button:hover{color:var(--accent)}body[data-line-height="1.4"] .line-height-button[data-line-height="1.4"],body[data-line-height="1.58"] .line-height-button[data-line-height="1.58"],body:not([data-line-height]) .line-height-button[data-line-height="1.58"],body[data-line-height="1.8"] .line-height-button[data-line-height="1.8"]{color:var(--accent)}.reader-font-face[data-reader-font=georgia]{font-family:Georgia Pro,Georgia,Times New Roman,serif}.reader-font-face[data-reader-font=literata]{font-family:Literata Text,Literata,Georgia Pro,Georgia,serif}.reader-font-face[data-reader-font=noto-sans]{font-family:Noto Sans,Helvetica Neue,Helvetica,Arial,sans-serif}.reader-font-button[aria-pressed=true]{color:var(--accent)}.reader-font-trigger{display:none;--select-ink: var(--settings-text);--select-bg: var(--settings-control);--select-mark: var(--settings-subtle);flex:none;min-width:132px;border:0;text-align:left}.reader-font-trigger:focus-visible{outline:var(--focus-ring);outline-offset:2px}.font-size-segmented{display:inline-flex;align-items:stretch;height:40px;overflow:hidden;background:var(--settings-control);border-radius:4px}.font-size-segmented button{display:grid;place-items:center;width:44px;padding:0;color:var(--settings-text);background:transparent;border:0;font-size:15px;font-weight:var(--ui-weight-semibold)}.font-size-segmented button:last-child{font-size:18px}.font-size-segmented button:disabled{cursor:not-allowed;opacity:var(--state-disabled-opacity)}.font-size-value{display:grid;place-items:center;min-width:46px;padding-inline:8px;color:var(--settings-text);border-inline:1px solid var(--settings-control-divider);font-size:16px;font-weight:700;font-variant-numeric:tabular-nums;text-align:center}.theme-control{min-height:72px}.theme-options{display:flex;gap:18px}.theme-button{display:flex;flex-direction:column;align-items:center;gap:7px;padding:0;color:var(--settings-muted);background:transparent;border:0;font-size:12px;font-weight:var(--ui-weight-semibold);cursor:pointer}.theme-swatch{flex:none;width:28px;height:28px;border-radius:4px;box-shadow:inset 0 0 0 1px var(--settings-swatch-border);transition:box-shadow .15s ease}.theme-swatch[data-theme-swatch=light]{background:#fff}.theme-swatch[data-theme-swatch=sepia]{background:#e7d8b8}.theme-swatch[data-theme-swatch=dark]{background:#211f1c}.theme-swatch[data-theme-swatch=night]{background:linear-gradient(135deg,#0d0600 0 50%,#ffc400 50% 100%)}body[data-theme=night] .theme-swatch:not([data-theme-swatch=night]){filter:var(--image-tint)}body:not([data-theme]) .theme-button[data-theme=light],body[data-theme=light] .theme-button[data-theme=light],body[data-theme=sepia] .theme-button[data-theme=sepia],body[data-theme=dark] .theme-button[data-theme=dark],body[data-theme=night] .theme-button[data-theme=night]{color:var(--accent)}body:not([data-theme]) .theme-button[data-theme=light] .theme-swatch,body[data-theme=light] .theme-button[data-theme=light] .theme-swatch,body[data-theme=sepia] .theme-button[data-theme=sepia] .theme-swatch,body[data-theme=dark] .theme-button[data-theme=dark] .theme-swatch,body[data-theme=night] .theme-button[data-theme=night] .theme-swatch{box-shadow:0 0 0 var(--swatch-ring-gap, 2px) var(--settings-panel),0 0 0 var(--swatch-ring, 4px) var(--accent)}.offline-control{align-items:stretch;flex-direction:column;justify-content:flex-start;gap:10px;min-height:0;padding:12px 0 0}.offline-copy{display:grid;gap:2px}.offline-copy small{color:var(--settings-subtitle);font-size:12px;font-weight:400}.offline-prepare-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;width:100%;min-width:0;min-height:44px;height:auto;padding:10px 12px;overflow:visible;color:var(--accent);background:color-mix(in srgb,var(--accent),transparent 92%);border:0;border-radius:var(--radius-button);font:inherit;font-size:14px;font-weight:var(--ui-weight-semibold);line-height:var(--ui-line-tight);text-align:center;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;white-space:normal;cursor:pointer;transition:background var(--motion-slow) ease,color var(--motion-slow) ease,opacity var(--motion-fast) ease}.offline-prepare-button:before{content:"";flex:none;width:14px;height:14px;background:currentColor;-webkit-mask:center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8 2.5v6.7'/%3E%3Cpath d='m5.3 6.8 2.7 2.8 2.7-2.8'/%3E%3Cpath d='M2.8 11.3v1.1c0 .8.6 1.4 1.4 1.4h7.6c.8 0 1.4-.6 1.4-1.4v-1.1'/%3E%3C/svg%3E") center / contain no-repeat}.offline-prepare-button[data-state=downloading]{color:var(--accent);background:linear-gradient(to right,color-mix(in srgb,var(--accent),transparent 65%) calc(var(--offline-progress, 0) * 100%),color-mix(in srgb,var(--accent),transparent 92%) calc(var(--offline-progress, 0) * 100%));transition:--offline-progress var(--offline-glide, .24s) linear}.offline-prepare-button[data-action=remove]{color:var(--bg);background:var(--accent)}.offline-prepare-button[data-action=remove]:before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m20 6-11 11-5-5'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m20 6-11 11-5-5'/%3E%3C/svg%3E")}.offline-prepare-button:disabled{color:var(--settings-subtle);cursor:not-allowed;opacity:var(--state-disabled-opacity)}.reader-controls{position:fixed;top:var(--key-inset-top);right:var(--reader-inline-space);z-index:20;display:flex;align-items:flex-start}.reader-controls-content{display:flex;align-items:flex-start;transition:opacity var(--motion-modal) ease,transform var(--motion-modal) cubic-bezier(.4,0,.2,1),visibility 0s}.reader-controls-content+.key-group{transition:border-left-color var(--motion-modal) ease}.shortcut-icons{display:flex;align-items:flex-start}.key-group{display:flex;gap:10px}.key-group:not([hidden])+.key-group,.reader-controls-content+.key-group{margin-left:18px;padding-left:18px;border-left:1px solid var(--border)}body.sidebar-collapsed .sidebar{opacity:0;overflow:hidden;pointer-events:none;transform:translate(-100%);visibility:hidden}body.reader-controls-collapsed .reader-controls-content{visibility:hidden;opacity:0;transform:translate(10px);transition:opacity var(--motion-modal) ease,transform var(--motion-modal) cubic-bezier(.4,0,.2,1),visibility 0s linear var(--motion-modal)}body.reader-controls-collapsed .reader-controls-content+.key-group{border-left-color:transparent}body.reader-controls-collapsed .controls-toggle-button .q-ch{transform:rotate(180deg)}body.reader-controls-collapsed .controls-toggle-button .q-bar{transform:translate(1.4px);opacity:.35}.library-key .ltip{left:-6px;transform:translateY(-2px)}.library-key:hover .ltip{transform:none}.controls-toggle-button .ltip{left:auto;right:-6px;transform:translateY(-2px)}.controls-toggle-button:hover .ltip{transform:none}.sidebar-toggle .ltip{left:-6px;transform:translateY(-2px)}.sidebar-toggle:hover .ltip{transform:none}.controls-toggle-button .q-ch{transition:transform var(--motion-modal) cubic-bezier(.4,0,.2,1);transform-box:fill-box;transform-origin:center}.controls-toggle-button .q-bar{transition:transform var(--motion-modal) ease,opacity var(--motion-modal) ease;transform-box:fill-box}body.reader-controls-collapsed .mobile-bottom-chrome{visibility:hidden;opacity:0;transition:opacity var(--motion-modal) ease,visibility 0s linear var(--motion-modal)}@media(hover:hover)and (pointer:fine){body.reader-controls-collapsed .mobile-bottom-chrome .mobile-transport{transform:translateY(6px)}}body.translation-disabled .mobile-transport .mobile-read-lang{display:none}@media(pointer:coarse){.mobile-floating-controls{display:contents}.mobile-header{position:fixed;top:0;right:0;left:0;z-index:140;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:env(safe-area-inset-top,0px) 6px 2px;background:var(--bg);border-bottom:1px solid color-mix(in srgb,var(--border),transparent 20%);box-shadow:var(--bar-shadow);opacity:1;visibility:visible;transition:opacity 0ms}.mobile-header-actions{display:flex;align-items:center;gap:4px}.mobile-header .sidebar-toggle,.mobile-header .mobile-back-button,.mobile-header .mobile-audio-toggle{position:static;display:grid;place-items:center;width:48px;height:48px;padding:0;color:var(--text);background:transparent;border:0;border-radius:var(--key-radius);box-shadow:none;opacity:1;pointer-events:auto;touch-action:manipulation;transition:opacity .16s ease,transform var(--motion-press) ease}.mobile-header .mobile-back-button:focus-visible,.mobile-header .mobile-audio-toggle:focus-visible{outline:var(--focus-ring);outline-offset:3px}.mobile-header .mobile-audio-toggle:disabled{opacity:var(--state-disabled-opacity);cursor:default}.mobile-header .sidebar-toggle>svg{display:none}.mobile-header .sidebar-toggle:after{content:none}.mobile-header .sidebar-toggle .settings-icon{display:block}.mobile-header .back-icon,.mobile-header .settings-icon,.mobile-header .audio-icon{display:block;width:var(--mobile-icon-size);height:var(--mobile-icon-size);background-color:currentColor;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;transition:opacity var(--motion-press) ease}.mobile-header .back-icon{-webkit-mask-image:url(/icons/back.svg);mask-image:url(/icons/back.svg)}.mobile-header .settings-icon{-webkit-mask-image:url(/icons/settings.svg);mask-image:url(/icons/settings.svg)}.mobile-header .audio-icon{-webkit-mask-image:url(/icons/audio.svg);mask-image:url(/icons/audio.svg)}.mobile-audio-toggle[aria-pressed=false] .audio-icon{-webkit-mask-image:url(/icons/no-audio.svg);mask-image:url(/icons/no-audio.svg)}.mobile-header .sidebar-toggle:active .settings-icon,.mobile-header .sidebar-toggle.is-pressed .settings-icon,.mobile-header .mobile-back-button:active .back-icon,.mobile-header .mobile-back-button.is-pressed .back-icon,.mobile-header .mobile-audio-toggle:active .audio-icon,.mobile-header .mobile-audio-toggle.is-pressed .audio-icon{opacity:var(--state-press-opacity)}.mobile-audio-toggle[aria-pressed=false]{color:var(--muted)}.mobile-audio-toggle[aria-pressed=true] .audio-icon{background-color:var(--accent)}.mobile-bottom-chrome{position:fixed;left:0;right:0;bottom:0;z-index:54;padding:12px clamp(12px,5vw,32px) calc(46px + env(safe-area-inset-bottom,0px));background:color-mix(in srgb,var(--bg),transparent 8%);border-top:1px solid color-mix(in srgb,var(--border),transparent 20%);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);pointer-events:none;opacity:1;visibility:visible;transition:opacity 0ms}.mobile-transport{column-gap:0}.mobile-transport .mobile-read-lang{justify-self:start}.mobile-transport .mobile-speed{justify-self:end}.sidebar{position:fixed;inset:0 0 auto auto;z-index:60;width:min(var(--sidebar-width),86vw);height:var(--app-height);padding-top:calc(58px + env(safe-area-inset-top,0px));border-right:0;border-bottom:1px solid var(--border)}.sidebar-scrim{display:block;position:fixed;inset:0;z-index:50;background:#0000006b;opacity:0;pointer-events:none;transition:opacity var(--motion-slow) ease}.book-sidebar-info{padding-top:16px}.switch-row{min-height:60px}.switch-label{font-size:17px}.settings-controls>.control>span,.settings-controls>.switch-row>.switch-label{font-size:17px}.settings-controls .control{display:flex;gap:12px}.translation-settings-panel .control{display:grid;gap:9px}.translation-mode-button{min-height:44px}.font-size-segmented{height:44px}.reader-font-control .segmented{display:none}.reader-font-trigger{display:inline-block}.offline-prepare-button,.confirm-inline .menu-confirm-row button,.audiobook-match-select{min-height:44px}.control select{font-size:16px}.segmented{gap:10px;min-height:44px}.segmented button{flex:1 1 0;min-height:44px;font-size:var(--ui-size-body)}.segmented button:active,.segmented button.is-pressed{color:var(--accent);transform:scale(var(--state-press-scale));transition:color var(--motion-press) ease,transform var(--motion-press) ease}.reader-controls{display:none}.empty-state{width:min(100%,320px);margin-top:8vh;padding:18px}.return-page-button:active,.return-page-button.is-pressed{opacity:var(--state-press-opacity)}.return-page-button{left:max(10px,env(safe-area-inset-left,0px));bottom:calc(var(--mobile-bottom-chrome-height) + 8px);min-height:28px;padding:4px 9px;font-size:var(--ui-size-xs);transform:none;transition:bottom var(--motion-modal) ease}.page-toolbar{--page-control-size: 18px;--page-rail-height: 22px;position:absolute;right:0;bottom:env(safe-area-inset-bottom,0px);left:0;z-index:55;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-end;gap:2px;height:47px;min-height:47px;margin:0;padding:0;background:transparent;pointer-events:none}.page-progress{grid-column:auto;height:var(--page-rail-height);min-width:0;margin:0 clamp(28px,8vw,44px);pointer-events:auto;transition:margin var(--motion-modal) ease}.page-progress-rail{top:50%;height:100%}.page-progress-rail:before{height:3px;border-radius:var(--radius-pill);transition:height var(--motion-modal) ease}.page-progress-fill{display:block;position:absolute;top:50%;left:0;width:0;height:3px;border-radius:var(--radius-pill);background:var(--accent);opacity:.2;transform:translateY(-50%);pointer-events:none;transition:height var(--motion-modal) ease}.page-progress-dot{width:16px;height:16px;transition:width var(--motion-modal) ease,height var(--motion-modal) ease}#pageStatus{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom,0px));z-index:55;margin:0;transform:translate(-50%);text-align:center;transition:opacity 0ms}body.sidebar-collapsed:not(.mobile-chrome-hidden):not(.mobile-audio-off) .page-toolbar{border-top:1px solid color-mix(in srgb,var(--border),transparent 45%)}body.mobile-chrome-hidden .page-progress{pointer-events:none;margin:0}body.mobile-chrome-hidden .page-progress-rail:before{height:1px}body.mobile-chrome-hidden .page-progress-fill{height:1px}body.mobile-chrome-hidden .page-progress-dot{width:5px;height:5px}body.mobile-chrome-hidden.sidebar-collapsed #pageStatus{opacity:0;transition:opacity .14s ease}body.scroll-reading.mobile-chrome-hidden.sidebar-collapsed .page-toolbar{opacity:0;visibility:hidden;pointer-events:none;transition:opacity .14s ease,visibility 0s linear .14s}body.sidebar-collapsed .sidebar{transform:translate(100%)}body:not(.sidebar-collapsed) .sidebar-scrim{opacity:1;pointer-events:auto}body.sidebar-collapsed .sidebar{border-bottom:0}body.reader-controls-collapsed .mobile-bottom-chrome{visibility:visible;opacity:1;transform:none}body.mobile-chrome-hidden .mobile-bottom-chrome,body:not(.sidebar-collapsed) .mobile-bottom-chrome{opacity:0;visibility:hidden;transition:opacity .14s ease,visibility 0s linear .14s}body.mobile-chrome-hidden.sidebar-collapsed .mobile-bottom-chrome:has(.mobile-pp.is-pending){opacity:1;visibility:visible;transition:opacity .14s ease,visibility 0s linear 0s}body.mobile-audio-off .mobile-transport{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}body.mobile-audio-off .mobile-transport :is(#mobileReadLang,#mobilePlayPause,#mobileSpeed){display:none}body.mobile-audio-off .mobile-bottom-chrome{padding-top:0}body.mobile-chrome-hidden.sidebar-collapsed .mobile-header,body.mobile-header-hidden.sidebar-collapsed .mobile-header{opacity:0;visibility:hidden;transition:opacity .14s ease,visibility 0s linear .14s}.reader{height:100%;min-height:0;padding-top:max(10px,env(safe-area-inset-top,0px));padding-bottom:calc(30px + env(safe-area-inset-bottom,0px));overflow:hidden;overscroll-behavior-y:contain;touch-action:none;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}body.at-active .reader{-webkit-touch-callout:default;-webkit-user-select:text;user-select:text}body.scroll-reading .reader{overflow-y:auto;touch-action:pan-y;overscroll-behavior-y:contain;overflow-anchor:none;-webkit-overflow-scrolling:touch;scrollbar-width:none}body.scroll-reading .reader::-webkit-scrollbar{display:none}body.scroll-reading .bilingual-page{height:auto;min-height:100%;padding-bottom:45vh}body.scroll-reading .cover-page{height:100%;flex:none}body.scroll-reading .scroll-reserve{display:block;width:100%;flex:none;pointer-events:none}body.scroll-reading.mobile-audio-off .word.is-fragment-active{background:none;color:inherit}body.scroll-reading .reader-scrim{display:block;position:fixed;top:0;left:0;right:0;z-index:40;height:env(safe-area-inset-top,0px);background:linear-gradient(to top,transparent,color-mix(in srgb,var(--bg) 90%,transparent));pointer-events:none}.reader-panel{height:var(--app-height);min-height:0;overflow:hidden}.reader :is(h3,h4,h5,h6){font-size:var(--ui-size-title)}.cover-page{height:100%;max-width:100%}.bilingual-page{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px 12px;height:100%;max-width:100%;overflow:visible;padding-bottom:0}body.translation-disabled .bilingual-page{grid-template-columns:minmax(0,1fr)}.parallel-block{margin-inline:0;padding-inline:0}.image-block img{max-height:calc(var(--app-height, 100vh) * .46)}.english-block{color:var(--muted)}.english-block.is-loading{min-height:1.58em}.word:hover:not(:focus-visible):not(.is-word-playhead),.word:focus:not(:focus-visible):not(.is-word-playhead),.word:active:not(:focus-visible):not(.is-word-playhead){outline:0;-webkit-tap-highlight-color:transparent}.word:not(.is-fragment-active):not(.is-word-aligned):not(.is-segment-lit):not(.is-word-playhead):hover,.word:not(.is-fragment-active):not(.is-word-aligned):not(.is-segment-lit):not(.is-word-playhead):focus,.word:not(.is-fragment-active):not(.is-word-aligned):not(.is-segment-lit):not(.is-word-playhead):active,.word.is-aligned:not(.is-fragment-active):not(.is-word-aligned):not(.is-segment-lit):not(.is-word-playhead){background:transparent;color:inherit}.word{-webkit-tap-highlight-color:transparent}.word.is-press-lift{display:inline-block;transform:scale(var(--state-press-scale));transition:transform var(--motion-press) ease}.ltip,.ktag{display:none}}.key-prompt{position:absolute;left:18px;bottom:calc(env(safe-area-inset-bottom,0px) + var(--reader-notice-clearance));z-index:50;color:var(--muted);font-family:var(--ui-font);font-size:var(--ui-size-sm);line-height:var(--ui-line-tight);letter-spacing:.02em;white-space:nowrap;opacity:0;transition:opacity .14s ease;pointer-events:none}.key-prompt.is-visible{opacity:1}.key-prompt.is-missed{opacity:.75}.opening-cue{--opening-cue-delay: .4s;display:none}body.restoring-book .opening-cue{position:absolute;inset:0;display:grid;place-items:center;color:var(--muted);font-family:var(--ui-font);font-size:var(--ui-size-title);pointer-events:none;opacity:0;animation:opening-cue-in var(--motion-slow, .18s) ease-out var(--opening-cue-delay) forwards}@keyframes opening-cue-in{to{opacity:1}}.opening-cue-progress{display:inline-block;min-width:3.5ch;text-align:left}@media(prefers-reduced-motion:reduce){body.restoring-book .opening-cue{animation-duration:1ms}}.sidebar-toggle .p-div{transition:transform var(--motion-slow) ease}body.sidebar-collapsed .sidebar-toggle .p-div{transform:translate(-4.5px)}@media(prefers-reduced-motion:reduce){.controls-toggle-button .q-ch,.controls-toggle-button .q-bar,.reader-controls-content,.reader-controls-content+.key-group,#pageSpeechButton .pb-tri,#pageSpeechButton .pb-pause,#playSegmentButton .l-line,#playSegmentButton .l-eq,.sidebar-toggle .p-div,body.reader-controls-collapsed .reader-controls-content{transition:none}#playSegmentButton.is-playing .l-eq rect{animation:none}}@media(prefers-reduced-motion:reduce){.mobile-bottom-chrome,.mobile-bottom-chrome .mobile-transport,body.reader-controls-collapsed .mobile-bottom-chrome,body.reader-controls-collapsed .mobile-bottom-chrome .mobile-transport,body.mobile-chrome-hidden .mobile-bottom-chrome,body:not(.sidebar-collapsed) .mobile-bottom-chrome,body.mobile-chrome-hidden.sidebar-collapsed .mobile-bottom-chrome:has(.mobile-pp.is-pending){transform:none;transition:none}}@media(prefers-reduced-motion:reduce){.return-page-button,.page-progress,.page-progress-rail:before,.page-progress-fill,.page-progress-dot,body.mobile-chrome-hidden.sidebar-collapsed #pageStatus,body.scroll-reading.mobile-chrome-hidden.sidebar-collapsed .page-toolbar,body.mobile-chrome-hidden.sidebar-collapsed .mobile-header,body.mobile-header-hidden.sidebar-collapsed .mobile-header{transition:none}}
