:root{--bg: #f4ede0;--surface: #ffffff;--surface-2: #ebe2cf;--border: #e3e6eb;--text: #1a1d22;--text-muted: #5b6471;--accent: #28505a;--accent-hover: #1a3a44;--accent-soft: rgba(40, 80, 90, .1);--warm-accent: #b5841a;--warm-accent-soft: rgba(181, 132, 26, .12);--cream: #f4ede0;--cream-2: #ebe2cf;--highlight: #fff3a8;--highlight-text: #1a1d22;--danger: #d64545;--ok: #2e9e5b;--ok-hover: #268a4f;--bar-bg: #e3e6eb;--shadow: 0 1px 2px rgba(15, 20, 30, .04), 0 8px 24px rgba(15, 20, 30, .06);--radius: 12px;--radius-sm: 8px}@media (prefers-color-scheme: dark){:root{--bg: #1a2228;--surface: #181b21;--surface-2: #232c33;--border: #2a2f38;--text: #e8ebf0;--text-muted: #9aa3b2;--accent: #6fa9b5;--accent-hover: #84bec9;--accent-soft: rgba(111, 169, 181, .18);--warm-accent: #e0a064;--warm-accent-soft: rgba(224, 160, 100, .16);--cream: #1a2228;--cream-2: #232c33;--highlight: #5a4b16;--highlight-text: #fff5c2;--danger: #ff6a6a;--ok: #3fbf76;--ok-hover: #57cf89;--bar-bg: #2a2f38;--shadow: 0 1px 2px rgba(0, 0, 0, .25), 0 8px 24px rgba(0, 0, 0, .35)}}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased;height:100%}body{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh;height:100vh;height:100dvh;overflow:hidden;padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation}input,textarea,select,button{font-family:inherit}.app-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;padding-top:max(12px,env(safe-area-inset-top));border-bottom:1px solid var(--border);background:var(--surface);flex-shrink:0}.app-header h1{margin:0;font-size:17px;font-weight:600;letter-spacing:-.01em}.app-header h1.brand-logo{font-size:0;line-height:0;display:inline-flex;align-items:center;flex-shrink:0}.app-header h1.brand-logo svg{width:36px;height:36px;border-radius:8px;display:block}.header-doc-title{flex:1;min-width:0;margin:0 12px;padding:4px 4px 4px 12px;background:var(--surface-2, #f1ede5);border:1px solid var(--border);border-radius:8px;font-size:14px;font-weight:600;color:var(--text);display:flex;align-items:center;gap:6px}.header-doc-title[hidden]{display:none}.header-doc-title-text{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center}.header-doc-title-close,.header-doc-title-save{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:none;background:transparent;border-radius:6px;color:var(--text-muted, #888);cursor:pointer;transition:background .15s,color .15s}.header-doc-title-close:hover,.header-doc-title-save:hover{background:#0000000f;color:var(--text, #222)}.header-doc-title-save.saved{color:var(--accent, #2c6ce0)}.header-doc-title-save.saved:hover{color:var(--accent, #2c6ce0);background:#2c6ce01a}.app-header-actions{display:flex;gap:4px;align-items:center}.app-main{width:100%;max-width:880px;margin:0 auto;padding:12px 16px 0;display:flex;flex-direction:column;gap:12px;flex:1;min-height:0;overflow:hidden}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px}.input-card,.playback-card{flex-shrink:0}.reading-card{flex:1;min-height:0;display:flex;flex-direction:column}.tabs{display:flex;gap:4px;padding:4px;background:var(--surface-2);border-radius:var(--radius-sm);margin-bottom:16px}.tab{flex:1;border:none;background:transparent;padding:8px 12px;border-radius:6px;color:var(--text-muted);font-weight:500;font-size:14px;transition:background .12s,color .12s}.tab:hover{color:var(--text)}.tab.active{background:var(--surface);color:var(--text);box-shadow:0 1px 2px #00000014}textarea,input[type=text],input[type=url],input[type=password],select{width:100%;padding:10px 12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:16px;outline:none;transition:border-color .12s,box-shadow .12s}textarea:focus,input:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}textarea{resize:vertical;min-height:140px;line-height:1.5}.panel-actions{display:flex;justify-content:flex-end;margin-top:12px}.url-row{display:flex;gap:8px}.url-row input{flex:1}.panel-status{margin-top:10px;font-size:13px;color:var(--text-muted);min-height:18px}.panel-status.error{color:var(--danger)}.btn{border:1px solid var(--border);background:var(--surface);color:var(--text);padding:8px 16px;border-radius:var(--radius-sm);font-size:14px;font-weight:500;transition:background .12s,border-color .12s}.btn:hover{background:var(--surface-2)}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.apple-signin{background:#000;color:#fff;border-color:#000;font-size:17px;font-weight:500;padding:12px 16px;letter-spacing:-.01em}.btn.apple-signin:hover{background:#000}.auth-divider{display:flex;align-items:center;gap:.6rem;color:var(--muted, #888);font-size:.85rem;margin:.25rem 0}.auth-divider:before,.auth-divider:after{content:"";flex:1 1 auto;height:1px;background:var(--border)}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:var(--radius-sm);transition:background .12s,border-color .12s}.icon-btn:hover{background:var(--surface-2)}.icon-btn.lg{width:44px;height:44px;background:var(--accent);border-color:var(--accent);color:#fff}.icon-btn.lg:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.icon-btn.play-main{width:60px;height:60px;border-radius:50%;background:var(--accent);border-color:var(--accent);color:#fff}.icon-btn.play-main:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.icon-btn.play-main svg{width:28px;height:28px}.icon-btn.play-main.is-ready{background:var(--ok);border-color:var(--ok)}.icon-btn.play-main.is-ready:hover{background:var(--ok-hover);border-color:var(--ok-hover)}.icon-btn.play-main.is-waiting{background:var(--danger);border-color:var(--danger)}.icon-btn.play-main.is-waiting:hover{filter:brightness(1.08)}.icon-btn.small{width:30px;height:30px;position:relative;flex-shrink:0}.icon-btn.small.danger{background:var(--danger);border-color:var(--danger);color:#fff}.icon-btn.small.danger:hover{filter:brightness(.95);background:var(--danger)}.icon-btn.small:disabled{opacity:.4;cursor:not-allowed}.delete-count{position:absolute;top:-4px;right:-4px;background:var(--surface);color:var(--danger);border:1px solid var(--danger);border-radius:8px;font-size:10px;font-weight:700;line-height:1;padding:1px 4px;min-width:14px;text-align:center}.icon-btn.small .ai-progress-label{display:none}.icon-btn.small.progress{width:auto;min-width:30px;padding:0 8px;font-size:11px;font-weight:600;white-space:nowrap}.icon-btn.small.progress svg{display:none}.icon-btn.small.progress .ai-progress-label{display:inline}.dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:32px 16px;border:2px dashed var(--border);border-radius:var(--radius-sm);color:var(--text-muted);text-align:center;cursor:pointer;transition:border-color .12s,background .12s,color .12s}.dropzone:hover,.dropzone.dragover{border-color:var(--accent);background:var(--accent-soft);color:var(--text)}.dropzone-label{font-size:14px;font-weight:500}.dropzone-hint{font-size:12px;opacity:.8}.reading-header{display:grid;grid-template-columns:1fr auto;align-items:start;column-gap:8px;row-gap:4px;margin-bottom:8px}.reading-meta{grid-column:1;grid-row:1;font-size:13px;color:var(--text-muted);min-width:0}.reading-meta strong{display:block;font-size:16px;color:var(--text);font-weight:600;margin-bottom:2px}.resume-debug{grid-column:1 / -1;grid-row:2;font-size:12px;color:var(--text-muted);font-style:italic}.resume-elsewhere{display:flex;align-items:center;gap:8px;width:100%;text-align:left;margin:6px 0 10px;padding:8px 12px;background:var(--surface-2, #f5f5f5);border:1px solid var(--border, #e0e0e0);border-radius:8px;color:var(--text);font-size:13px;cursor:pointer;font:inherit}.resume-elsewhere[hidden]{display:none}.resume-elsewhere:hover{background:var(--surface-3, #ececec)}.resume-elsewhere:focus-visible{outline:2px solid var(--accent, #2c6ce0);outline-offset:2px}.resume-elsewhere .resume-elsewhere-body{flex:1;min-width:0}.resume-elsewhere .resume-elsewhere-action{font-weight:600;color:var(--accent, #2c6ce0);margin-left:8px}.resume-elsewhere-dismiss{flex-shrink:0;background:transparent;border:none;color:var(--text-muted, #888);font-size:20px;line-height:1;padding:2px 8px;border-radius:4px;cursor:pointer}.resume-elsewhere-dismiss:hover{background:var(--surface-3, #ececec);color:var(--text)}.input-card-clean-row{display:flex;justify-content:flex-end;margin-top:10px}.btn.ai-clean-action{display:inline-flex;align-items:center;gap:6px}.btn.ai-clean-action .ai-progress-label:not(:empty){margin-left:4px;font-variant-numeric:tabular-nums;opacity:.8}.reading-header{display:none!important}.end-of-doc-banner{display:flex;justify-content:center;margin:12px 0 4px}.end-of-doc-banner[hidden]{display:none}.end-of-doc-restart{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:var(--accent, #2c6ce0);color:#fff;border:none;cursor:pointer;box-shadow:0 1px 3px #00000026}.end-of-doc-restart:hover{filter:brightness(1.05)}.end-of-doc-restart:focus-visible{outline:2px solid var(--text);outline-offset:2px}.btn.small{padding:4px 10px;font-size:12px;flex-shrink:0}.reading-actions{grid-column:2;grid-row:1;display:flex;align-items:center;gap:4px;justify-content:flex-end}.actions-menu{display:flex;align-items:center;gap:4px}.actions-menu[hidden]{display:none}.actions-toggle-icon,.toggle-chevron{transition:transform .15s ease}[aria-expanded=true] .actions-toggle-icon,[aria-expanded=true] .toggle-chevron{transform:rotate(180deg)}.btn.danger{background:var(--danger);border-color:var(--danger);color:#fff}.btn.danger:hover{filter:brightness(.95)}.reading-text{flex:1;min-height:0;overflow-y:auto;font-size:16px;line-height:1.7;padding-right:4px}.reading-text .sentence{padding:1px 2px;border-radius:3px;transition:background .15s}.reading-text .sentence.active{background:var(--highlight);color:var(--highlight-text)}.reading-text .reading-block{margin:0 0 .8em}.reading-text .reading-block:last-child{margin-bottom:0}.reading-text .reading-block-heading{font-weight:700;line-height:1.3;margin:1.4em 0 .5em;color:var(--text, #222)}.reading-text .reading-block-heading-1{font-size:1.7em;margin-top:1.6em}.reading-text .reading-block-heading-2{font-size:1.4em;margin-top:1.4em}.reading-text .reading-block-heading-3{font-size:1.2em}.reading-text .reading-block-heading-4,.reading-text .reading-block-heading-5,.reading-text .reading-block-heading-6{font-size:1.1em;font-weight:600}.reading-text>.reading-block:first-child{margin-top:0}.reading-text .reading-block-list-item{padding-left:1.4em;margin:.2em 0;text-indent:-.8em;position:relative}.reading-text .reading-block-list-item:before{content:"• ";color:var(--text-muted, #888)}.reading-text .reading-block-list-depth-1{padding-left:2.8em}.reading-text .reading-block-list-depth-2{padding-left:4.2em}.reading-text .reading-block-list-depth-3{padding-left:5.6em}.reading-text .reading-block-list-depth-4{padding-left:7em}.reading-text .reading-block-list-depth-5{padding-left:8.4em}.reading-text .reading-block-quote{margin:1em 0;padding:.3em 0 .3em 1em;font-style:italic;color:var(--text, #222);border-left:3px solid var(--accent, #4a90e2);opacity:.92}.reading-text .reading-block-verse{padding-left:1.2em;font-family:Georgia,Times New Roman,serif;line-height:1.5}.reading-text .reading-block-skip{font-style:italic;color:var(--text-muted, #888);font-size:.9em;margin:.5em 0}.reading-text.reading-faith{font-family:Georgia,Times New Roman,serif;line-height:1.7}.reading-text.reading-faith .reading-block-heading-1{text-align:center;font-size:2.2em;font-weight:700;letter-spacing:.04em;text-transform:uppercase;margin:2em 0 1.2em;padding-bottom:.4em;border-bottom:2px solid var(--border, rgba(0, 0, 0, .15))}.reading-text.reading-faith>.reading-block-heading-1:first-child{margin-top:.5em}.reading-text.reading-faith .reading-block-heading-2{font-size:1.6em;font-weight:600;text-align:left;margin:1.6em 0 .8em;color:var(--accent, #4a90e2);letter-spacing:.02em}.reading-text.reading-faith .reading-block-heading-3,.reading-text.reading-faith .reading-block-heading-4,.reading-text.reading-faith .reading-block-heading-5,.reading-text.reading-faith .reading-block-heading-6{font-size:1.1em;font-weight:600;font-style:italic;text-align:center;color:var(--text-muted, #555);margin:1em 0 .4em}.reading-text.reading-faith .reading-block-paragraph{margin:.35em 0;padding-left:2.2em;text-indent:-2.2em;text-align:left}.reading-text.reading-faith .reading-block-paragraph .sentence:first-child{font-weight:500}.reading-text.reading-faith .reading-block-verse{margin:.35em 0;padding-left:2.2em;text-indent:-2.2em;font-family:inherit;line-height:1.7}.reading-card.editing .reading-text{cursor:pointer;-webkit-user-select:none;user-select:none}.in-text-search{flex:1;min-height:0;display:flex;flex-direction:column;gap:.5rem}.in-text-search[hidden],.reading-text[hidden]{display:none}.in-text-search-bar{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2)}.in-text-search-bar:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.in-text-search-icon{color:var(--text-muted);flex-shrink:0}.in-text-search-bar input[type=search]{flex:1;min-width:0;background:transparent;border:none;outline:none;color:var(--text);font-size:16px;padding:.25rem 0}.in-text-search-bar input[type=search]::-webkit-search-cancel-button{-webkit-appearance:none;-moz-appearance:none;appearance:none}.in-text-search-count{color:var(--text-muted);font-size:.85rem;white-space:nowrap}.in-text-search-results{flex:1;min-height:0;overflow-y:auto;margin:0;padding:0;list-style:none}.in-text-search-results .result{padding:.65rem .75rem;border-bottom:1px solid var(--border);cursor:pointer;font-size:15px;line-height:1.5;display:block;width:100%;text-align:left;background:none;border-left:none;border-right:none;border-top:none;color:var(--text)}.in-text-search-results .result:hover,.in-text-search-results .result:focus-visible{background:var(--accent-soft);outline:none}.in-text-search-results .result mark{background:var(--highlight);color:var(--highlight-text);padding:0 1px;border-radius:2px}.in-text-search-results .result .result-loc{display:block;font-size:.75rem;color:var(--text-muted);margin-top:.15rem}.in-text-search-empty{padding:1.5rem .75rem;color:var(--text-muted);text-align:center;font-size:.95rem}.in-text-search-results .bible-ref-result{background:#4a90e214;border-left:3px solid var(--accent, #4a90e2);padding:.6rem .75rem;margin-bottom:.5rem}.in-text-search-results .bible-ref-result .result-label{font-weight:600;color:var(--accent, #4a90e2);font-size:.85rem;margin-bottom:.3rem}.in-text-search-results .bible-ref-result .result-snippet{font-size:.95rem;color:var(--text, #222)}.reading-card.editing .reading-text .sentence:hover{background:var(--surface-2)}.reading-text .sentence.marked{background:#d645451f;outline:1.5px solid var(--danger);text-decoration:line-through;text-decoration-color:var(--danger)}.playback-card{padding-bottom:env(safe-area-inset-bottom);border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom:0}@media (hover: hover) and (pointer: fine){.app-main{padding-bottom:12px}.playback-card{padding-bottom:16px;border-bottom-left-radius:var(--radius);border-bottom-right-radius:var(--radius);border-bottom:1px solid var(--border)}}.playback-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.playback-side{display:flex;align-items:center;gap:6px;flex:1;min-width:0}.playback-side-left{justify-content:flex-start}.playback-side-right{justify-content:flex-end}.playback-center{display:flex;align-items:center;gap:12px}.playback-scrub-row{display:flex;align-items:center;gap:8px;margin-top:12px}.speed-control,.voice-control{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-muted)}.speed-control{flex:1;min-width:180px}.speed-control input[type=range]{flex:1;accent-color:var(--accent)}.speed-value{font-variant-numeric:tabular-nums;min-width:44px;color:var(--text)}.chapter-control{display:flex;align-items:center;gap:8px;flex:1;min-width:140px;font-size:13px;color:var(--text-muted)}.chapter-control input[type=range]{flex:1;accent-color:var(--accent)}.chapter-control input[type=range]:disabled{opacity:.5;cursor:not-allowed}.chapter-label{font-variant-numeric:tabular-nums;min-width:64px;text-align:right;color:var(--text)}.voice-control{min-width:180px}.voice-control select{flex:1}.playback-meta{margin-top:10px;font-size:12px;color:var(--text-muted);min-height:16px}.settings-drawer[hidden]{display:none}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f141e66;z-index:20;animation:fade-in .15s ease-out}.drawer-panel{position:fixed;top:0;right:0;bottom:0;width:min(420px,100vw);background:var(--surface);border-left:1px solid var(--border);z-index:21;display:flex;flex-direction:column;animation:slide-in .2s ease-out}.drawer-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;padding-top:max(16px,env(safe-area-inset-top));border-bottom:1px solid var(--border)}.drawer-header h2{margin:0;font-size:16px;font-weight:600}.drawer-body{padding:20px;padding-bottom:max(20px,calc(20px + env(safe-area-inset-bottom)));overflow-y:auto;flex:1}.version-badge{display:flex;align-items:baseline;gap:8px;margin:0 0 18px;padding:8px 12px;background:#0000000a;border-radius:8px;font-size:12px}.version-badge .version-label{color:#0000008c;text-transform:uppercase;letter-spacing:.04em;font-weight:600}.version-badge .version-value{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:600;color:var(--brand, #28505a)}.setting-group{margin-bottom:24px}.setting-group h3{margin:0 0 10px;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.radio-row[hidden]{display:none}.radio-row{display:flex;gap:10px;padding:10px;border:1px solid var(--border);border-radius:var(--radius-sm);margin-bottom:8px;cursor:pointer;transition:border-color .12s,background .12s}.radio-row:hover{border-color:var(--accent)}.radio-row input[type=radio]{margin-top:3px;accent-color:var(--accent)}.radio-row strong{display:block;font-weight:500;font-size:14px}.radio-row small{display:block;margin-top:2px;color:var(--text-muted);font-size:12px}.setting-hint{margin-top:6px;font-size:12px;color:var(--text-muted)}.field-label{display:block;margin-top:12px;margin-bottom:4px;font-size:12px;font-weight:500;color:var(--text-muted)}.field-label:first-child{margin-top:0}.quota-line{margin-top:10px;padding:8px 10px;background:var(--surface-2);border-radius:6px;font-size:12px;color:var(--text-muted);font-variant-numeric:tabular-nums;min-height:30px}.shortcut-list{list-style:none;padding:0;margin:0;font-size:13px;color:var(--text-muted)}.shortcut-list li{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px solid var(--border)}.shortcut-list li:last-child{border-bottom:none}kbd{display:inline-block;padding:1px 6px;background:var(--surface-2);border:1px solid var(--border);border-radius:4px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;color:var(--text)}.toast-host{position:fixed;bottom:16px;left:50%;transform:translate(-50%);z-index:30;display:flex;flex-direction:column;gap:8px;pointer-events:none}.toast{background:var(--surface);color:var(--text);border:1px solid var(--border);box-shadow:var(--shadow);padding:10px 14px;border-radius:var(--radius-sm);font-size:13px;pointer-events:auto;animation:fade-in .15s ease-out}.toast.error{border-color:var(--danger);color:var(--danger)}.toast.warn{border-color:#d4a017;color:#8a6a10;background:#fff7e0}.polish-banner{position:fixed;top:0;left:0;right:0;z-index:1000;background:var(--accent, #4a90e2);color:#fff;padding:8px 16px;font-size:13px;text-align:center;box-shadow:0 2px 6px #00000026;animation:fade-in .15s ease-out}.polish-banner[hidden]{display:none}.toast-action{margin-left:.6rem;background:#0000000f;border:1px solid rgba(0,0,0,.15);border-radius:4px;padding:.25rem .6rem;font-size:.85rem;cursor:pointer;white-space:nowrap}.toast-action:hover{background:#0000001f}@keyframes slide-in{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.cache-summary{font-size:.85rem;color:var(--muted, #888);margin-bottom:.5rem;line-height:1.4}.cache-summary .cache-saved{color:var(--accent, #2563eb);font-weight:600}.cache-summary .cache-warn{color:var(--warn, #c97a00);font-weight:500}.cache-list{list-style:none;padding:0;margin:0 0 .5rem;max-height:280px;overflow-y:auto;border:1px solid rgba(0,0,0,.08);border-radius:6px}.cache-list:empty{display:none}.cache-list li{display:flex;align-items:flex-start;gap:.5rem;padding:.5rem .6rem;border-bottom:1px solid rgba(0,0,0,.06)}.cache-list li:last-child{border-bottom:none}.cache-list .cache-info{flex:1;min-width:0;font-size:.85rem}.cache-list .cache-title{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cache-list .cache-meta{color:var(--muted, #888);font-size:.75rem;margin-top:.15rem}.cache-list .cache-delete{background:none;border:none;color:var(--muted, #888);cursor:pointer;font-size:1rem;padding:0 .25rem;line-height:1}.cache-list .cache-delete:hover{color:var(--danger, #c0392b)}.cache-empty{font-size:.85rem;color:var(--muted, #888);font-style:italic}.cap-dialog{border:1px solid rgba(0,0,0,.15);border-radius:8px;padding:1rem 1.25rem;max-width:28rem;font-family:inherit}.cap-dialog::backdrop{background:#0006}.cap-dialog-msg{margin:0 0 1rem;line-height:1.4}.cap-dialog-actions{display:flex;gap:.5rem;justify-content:flex-end;flex-wrap:wrap}.cap-dialog-actions button{padding:.5rem .85rem;border:1px solid rgba(0,0,0,.2);background:#fff;border-radius:5px;cursor:pointer;font:inherit}.cap-dialog-actions button.primary{background:var(--accent, #2563eb);color:#fff;border-color:var(--accent, #2563eb)}.cap-dialog-actions button.danger{background:var(--danger, #c0392b);color:#fff;border-color:var(--danger, #c0392b)}.cap-dialog-actions button.danger:disabled{background:#00000014;color:#00000059;border-color:#00000026;cursor:not-allowed}.cap-dialog-actions button:hover:not(:disabled){filter:brightness(.95)}.cap-dialog-input{width:100%;box-sizing:border-box;padding:.5rem .6rem;margin:0 0 .75rem;border:1px solid rgba(0,0,0,.2);border-radius:5px;font:inherit}.tracker-month{font-weight:500;margin-bottom:.4rem;font-size:.85rem}.tracker-row{display:flex;justify-content:space-between;font-size:.85rem;padding:.2rem 0;border-bottom:1px dashed rgba(0,0,0,.06)}.tracker-row:last-child{border-bottom:none}.tracker-row .tracker-used{color:var(--muted, #888);font-variant-numeric:tabular-nums}.cap-row{display:flex;gap:.5rem;align-items:center;margin-bottom:.3rem}.cap-row input{flex:1;min-width:0}.radio-row.row-disabled{opacity:.55;cursor:not-allowed}.radio-row.row-disabled input{cursor:not-allowed}#diagnostic-log-settings summary{cursor:pointer;list-style:revert}.diag-log-actions{display:flex;gap:.5rem;align-items:center;margin:.5rem 0;flex-wrap:wrap}.diag-log-count{font-size:12px;color:var(--text-dim, #888);margin-left:auto}.diag-log-view{max-height:320px;overflow:auto;background:var(--surface-2);border:1px solid var(--border);border-radius:4px;padding:.5rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;line-height:1.4;white-space:pre-wrap;word-break:break-all;margin:0}#btn-mark.flash{background:var(--accent, #4caf80);color:#fff;transition:background .15s,color .15s}.input-card.collapsed{display:none}#playback-extras{margin-top:10px;padding-top:10px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:10px}#playback-extras[hidden]{display:none}.extras-voice-row{display:flex;flex-wrap:wrap;gap:10px}.extras-voice-row .voice-control{flex:1;min-width:180px}.saved-drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f141e66;z-index:25;opacity:0;transition:opacity .2s ease-out}.saved-drawer-backdrop.open{opacity:1}.saved-drawer-backdrop[hidden]{display:none}.saved-drawer{position:fixed;left:0;right:0;bottom:0;max-height:min(80vh,720px);background:var(--surface);border-top:1px solid var(--border);border-radius:16px 16px 0 0;box-shadow:0 -10px 32px #0000002e;z-index:26;display:flex;flex-direction:column;transform:translateY(100%);transition:transform .25s ease-out}.saved-drawer.open{transform:translateY(0)}.saved-drawer[hidden]{display:none}.saved-drawer-header{position:relative;display:flex;align-items:center;justify-content:space-between;padding:18px 20px 12px;border-bottom:1px solid var(--border)}.saved-drawer-header h2{margin:0;font-size:16px;font-weight:600}.saved-drawer-handle{position:absolute;top:6px;left:50%;transform:translate(-50%);width:36px;height:4px;border-radius:2px;background:var(--border)}.saved-drawer-body{padding:16px 20px 20px;padding-bottom:max(20px,calc(20px + env(safe-area-inset-bottom)));overflow-y:auto;flex:1}.saved-add-row{display:flex;gap:8px;margin-bottom:8px}.saved-add-row input{flex:1;min-width:0}#saved-add-status{min-height:18px;margin-bottom:12px}.saved-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.saved-item{display:flex;align-items:stretch;gap:4px;border:1px solid var(--border);border-radius:10px;background:var(--surface);overflow:hidden}.saved-item-main{flex:1;text-align:left;background:transparent;border:none;padding:10px 12px;cursor:pointer;display:flex;flex-direction:column;gap:4px;min-width:0}.saved-item-main:hover{background:#28505a0f}.saved-item-title{font-weight:600;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.saved-item-meta{font-size:12px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.saved-item-remove{align-self:center;margin-right:6px;color:var(--text-muted)}.saved-empty{margin:16px 0 0;font-size:13px;color:var(--text-muted);text-align:center}.saved-empty[hidden]{display:none}.library-section{margin-top:32px;padding-top:24px;border-top:1px solid var(--border, rgba(255, 255, 255, .1))}.saved-filter-row{display:flex;gap:6px;margin-bottom:12px;padding:0;list-style:none}.saved-filter-btn{flex-shrink:0;padding:6px 12px;border:1px solid var(--border, rgba(0, 0, 0, .1));border-radius:6px;background:var(--surface, rgba(0, 0, 0, .02));color:var(--text, #222);font:inherit;font-size:12px;font-weight:500;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.saved-filter-btn:hover:not(:disabled){background:#2c6ce014;border-color:var(--accent, #2c6ce0)}.saved-filter-btn.active{background:var(--accent, #2c6ce0);border-color:var(--accent, #2c6ce0);color:#fff}.saved-filter-btn:disabled{opacity:.45;cursor:default}.saved-filter-empty{list-style:none;padding:16px 4px;font-size:13px;color:var(--text-muted, #777);font-style:italic}.saved-item-badge{display:inline-block;margin-left:8px;padding:2px 8px;border-radius:999px;background:var(--accent, #2c6ce0);color:#fff;font-size:10px;font-weight:600;letter-spacing:.02em;text-transform:uppercase;vertical-align:middle}.saved-item-unread .saved-item-main{border-left:3px solid var(--accent, #2c6ce0);padding-left:10px}.saved-section-heading{margin-top:16px;padding:8px 4px 4px;font-size:12px;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--text-muted, #777);border-top:1px solid var(--border, rgba(0, 0, 0, .08));list-style:none}.library-tabs{display:flex;flex-wrap:wrap;gap:4px;margin:12px 0 16px;padding-bottom:8px;border-bottom:1px solid var(--border, rgba(0, 0, 0, .08));position:sticky;top:0;background:var(--bg, white);z-index:2}.library-tab{background:transparent;border:1px solid transparent;border-radius:6px;padding:6px 12px;font-size:13px;color:var(--text-muted, #666);cursor:pointer;white-space:nowrap;transition:background .1s ease,color .1s ease}.library-tab:hover{background:#0000000a;color:var(--text, #222)}.library-tab.active{background:var(--accent, #4a90e2);color:#fff;border-color:var(--accent, #4a90e2)}.library-tab.active:hover{background:var(--accent, #4a90e2);color:#fff}.library-tab.library-tab-saved{color:#d44a4a}.library-tab.library-tab-saved:hover{background:#d44a4a14;color:#d44a4a}.library-tab.library-tab-saved.active{background:#d44a4a;border-color:#d44a4a;color:#fff}.library-tab.library-tab-saved.active:hover{background:#d44a4a;color:#fff}.library-tab.library-tab-wishlist{color:#7c4ed7}.library-tab.library-tab-wishlist:hover{background:#7c4ed714}.library-tab.library-tab-wishlist.active{background:#7c4ed7;border-color:#7c4ed7;color:#fff}.library-tab.library-tab-wishlist.active:hover{background:#7c4ed7;color:#fff}.library-tab.library-tab-sponsors{color:#b5841a}.library-tab.library-tab-sponsors:hover{background:#b5841a14}.library-tab.library-tab-sponsors.active{background:#b5841a;border-color:#b5841a;color:#fff}.library-tab.library-tab-sponsors.active:hover{background:#b5841a;color:#fff}.library-subtabs{display:flex;flex-wrap:wrap;gap:4px;margin:6px 0 12px;padding-bottom:8px;border-bottom:1px solid rgba(0,0,0,.06)}.library-subtab{background:transparent;border:1px solid rgba(0,0,0,.08);border-radius:999px;padding:3px 10px;font-size:12px;color:var(--text-muted, #666);cursor:pointer;white-space:nowrap;transition:background .1s ease,color .1s ease,border-color .1s ease}.library-subtab:hover{background:#00000008;color:var(--text, #222)}.library-subtab.active{background:var(--text, #222);color:#fff;border-color:var(--text, #222)}.library-subtab.active:hover{background:var(--text, #222);color:#fff}.library-subtabs-secondary{margin-top:-6px;padding-left:12px;padding-bottom:6px;border-bottom:none;border-left:2px solid rgba(0,0,0,.06);margin-left:2px}.library-subtabs-secondary .library-subtab{font-size:11.5px;padding:2px 9px}.library-drawer{border:1px solid rgba(0,0,0,.06);border-radius:8px;margin-bottom:6px;overflow:hidden;background:var(--surface, #fff)}.library-drawer.open{border-color:#0000001f;background:var(--surface, #fff)}.library-drawer-header{display:flex;align-items:center;gap:8px;width:100%;padding:10px 14px;background:transparent;border:none;cursor:pointer;text-align:left;font-size:14px;font-weight:500;color:var(--text, #222);transition:background .1s ease}.library-drawer-header:hover{background:#00000006}.library-drawer.open>.library-drawer-header{background:#00000008;font-weight:600}.library-drawer-chevron{display:inline-block;width:8px;height:8px;border-right:2px solid var(--text-muted, #666);border-bottom:2px solid var(--text-muted, #666);transform:rotate(-45deg);transition:transform .15s ease;margin-right:4px;flex-shrink:0}.library-drawer.open>.library-drawer-header .library-drawer-chevron{transform:rotate(45deg)}.library-drawer-label{flex:1;min-width:0}.library-drawer-count{color:var(--text-muted, #666);font-weight:400;font-size:12.5px;flex-shrink:0}.library-drawer-body{padding:10px 14px 14px;border-top:1px solid rgba(0,0,0,.05)}.library-drawer-body .library-category-title{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.library-drawer-body>.library-category-tagline:first-child,.library-drawer-body>.library-category>.library-category-tagline:first-child{margin-top:0}.library-drawer.library-drawer-saved.open>.library-drawer-header{color:#d44a4a}.library-drawer.library-drawer-wishlist.open>.library-drawer-header{color:#7c4ed7}.library-drawer.library-drawer-sponsors.open>.library-drawer-header{color:#b5841a}.library-drawer-primary{margin-bottom:4px;border-radius:6px}.library-drawer-primary>.library-drawer-header{padding:8px 12px;font-size:13px}.library-drawer-primary>.library-drawer-body{padding:8px 12px 12px}.library-drawer-secondary{margin-bottom:3px;margin-left:8px;border-radius:5px}.library-drawer-secondary>.library-drawer-header{padding:6px 10px;font-size:12px}.library-drawer-secondary>.library-drawer-body{padding:6px 10px 10px}.library-chapter-group{margin-top:14px}.library-chapter-heading{font-size:12.5px;font-weight:600;color:var(--text-muted, #666);text-transform:uppercase;letter-spacing:.04em;margin:0 0 6px;padding:0 4px}.sponsors-empty{padding:20px;border:1px solid rgba(181,132,26,.25);border-radius:12px;background:#b5841a0a;text-align:center}.sponsors-empty-title{margin:0 0 10px;font-size:16px;font-weight:700;color:#b5841a;letter-spacing:.01em}.sponsors-empty-body{margin:0 0 14px;font-size:13px;line-height:1.5;color:var(--text)}.sponsors-empty-offer{margin:0 0 16px;font-size:13px;line-height:1.5;color:var(--text)}.sponsors-empty-cta{display:inline-block;padding:10px 18px;border-radius:8px;background:#b5841a;color:#fff;font-size:13px;font-weight:600;text-decoration:none;transition:background .15s}.sponsors-empty-cta:hover{background:#9a700f}.sponsors-list{margin:16px 0 0;padding:0;list-style:none;display:grid;gap:8px}.sponsors-list-header{margin:18px 0 8px;font-size:13px;font-weight:600;color:var(--text-muted, #666);text-transform:uppercase;letter-spacing:.04em}.sponsor-item{padding:10px 12px;border:1px solid var(--border, rgba(0,0,0,.08));border-radius:10px;background:var(--surface, #fff);display:grid;grid-template-columns:1fr auto;gap:6px 12px}.sponsor-item-name{font-weight:600;color:var(--text)}.sponsor-item-amount{font-weight:700;color:#b5841a}.sponsor-item-message{grid-column:1 / -1;font-size:13px;color:var(--text-muted);font-style:italic}.sponsor-form{margin:12px 0 20px;padding:14px;background:var(--surface-2, rgba(0, 0, 0, .03));border:1px solid rgba(181,132,26,.25);border-radius:12px;display:grid;gap:10px}.sponsor-form-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.sponsor-amounts{gap:6px}.sponsor-form-label{font-size:13px;font-weight:600;margin-right:4px}.sponsor-amount-btn{padding:6px 12px;border-radius:999px;border:1px solid var(--border, rgba(0,0,0,.15));background:var(--surface, #fff);font-size:13px;font-weight:600;cursor:pointer;transition:background .12s,border-color .12s,color .12s}.sponsor-amount-btn:hover{border-color:#b5841a;color:#b5841a}.sponsor-amount-btn.selected{background:#b5841a;color:#fff;border-color:#b5841a}.sponsor-amount-custom{flex:1 1 90px;min-width:90px;padding:6px 10px;border-radius:999px;border:1px solid var(--border, rgba(0,0,0,.15));background:var(--surface, #fff);font-size:13px;color:var(--text)}.sponsor-display-name,.sponsor-message{flex:1;padding:8px 12px;border-radius:8px;border:1px solid var(--border, rgba(0,0,0,.15));background:var(--surface, #fff);font-size:14px;color:var(--text)}.sponsor-form-actions{justify-content:flex-end}.sponsor-anon-label{margin-right:auto;font-size:13px;color:var(--text-muted, #666);display:inline-flex;align-items:center;gap:6px;cursor:pointer}.sponsor-submit-btn{background:#b5841a;border-color:#b5841a}.sponsor-submit-btn:hover{background:#9a700f;border-color:#9a700f}.sponsor-form-status{font-size:13px;color:var(--text-muted, #666);min-width:0}.sponsor-explainer{margin:12px 0 16px;padding:12px 14px;background:#b5841a0d;border:1px solid rgba(181,132,26,.18);border-radius:10px;color:var(--text);font-size:13px;line-height:1.55}.sponsor-explainer p{margin:0 0 6px}.sponsor-explainer p:last-child{margin:0}.sponsor-explainer-fine{color:var(--text-muted, #666);font-size:12px}.sponsor-controls{display:flex;gap:8px;margin:14px 0 10px;flex-wrap:wrap}.sponsor-search{flex:1 1 200px;min-width:0;padding:8px 12px;border:1px solid var(--border, rgba(0,0,0,.15));border-radius:999px;background:var(--surface, #fff);color:var(--text);font-size:14px}.sponsor-sort{padding:8px 12px;border:1px solid var(--border, rgba(0,0,0,.15));border-radius:999px;background:var(--surface, #fff);color:var(--text);font-size:14px}.sponsorable-list{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}.sponsorable-card{display:grid;grid-template-columns:56px 1fr auto;gap:12px;align-items:center;padding:12px;background:var(--surface, #fff);border:1px solid var(--border, rgba(0,0,0,.08));border-radius:12px}.sponsorable-cover{width:56px;height:84px;background:var(--surface-2, rgba(0,0,0,.04));border-radius:6px;overflow:hidden}.sponsorable-cover img{width:100%;height:100%;object-fit:cover;display:block}.sponsorable-cover-ph{width:100%;height:100%;background:var(--cream, #f4ede0);color:var(--brand, #28505a);font-size:10px;font-weight:700;text-align:center;padding:4px;display:flex;align-items:center;justify-content:center;line-height:1.2;word-break:break-word}.sponsorable-body{min-width:0}.sponsorable-title{font-weight:600;color:var(--text);font-size:14px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.sponsorable-byline{color:var(--text-muted, #666);font-size:12px;margin-top:2px}.sponsorable-meta{margin-top:6px;display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:11px}.sponsorable-kind{padding:2px 8px;border-radius:999px;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.sponsorable-kind-library{background:#28505a1f;color:var(--brand, #28505a)}.sponsorable-kind-wishlist{background:#b5841a26;color:#b5841a}.sponsorable-length{color:var(--text-muted, #666)}.sponsorable-right{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.sponsorable-price{font-weight:700;color:var(--brand, #28505a);font-size:16px}.sponsorable-btn{padding:6px 14px;background:#b5841a;border-color:#b5841a;color:#fff;font-size:13px}.sponsorable-btn:hover{background:#9a700f;border-color:#9a700f}.sponsor-inline-form{grid-column:1 / -1;margin-top:12px;padding-top:12px;border-top:1px dashed var(--border, rgba(0,0,0,.08));display:flex;flex-direction:column;gap:8px}.sponsor-inline-form input[type=text]{padding:8px 12px;border:1px solid var(--border, rgba(0,0,0,.15));border-radius:8px;background:var(--surface, #fff);color:var(--text);font-size:14px}.sponsor-inline-form .sponsor-anon-label{font-size:13px;color:var(--text-muted, #666);display:inline-flex;gap:6px;align-items:center;cursor:pointer}.sponsor-confirm-btn{background:var(--brand, #28505a);border-color:var(--brand, #28505a);align-self:flex-start}.sponsor-recent-wrap{margin:24px 0 16px}.sponsor-recent-carousel{display:flex;gap:12px;overflow-x:auto;padding:6px 0 12px;scrollbar-width:thin}.sponsor-recent-carousel::-webkit-scrollbar{height:6px}.sponsor-recent-carousel::-webkit-scrollbar-thumb{background:var(--border, rgba(0,0,0,.15));border-radius:3px}.sponsor-recent-item{flex:0 0 120px;display:flex;flex-direction:column;gap:4px}.sponsor-recent-cover{width:120px;height:180px;background:var(--surface-2, rgba(0,0,0,.04));border-radius:8px;overflow:hidden;box-shadow:0 1px 3px #0000001a}.sponsor-recent-cover img{width:100%;height:100%;object-fit:cover}.sponsor-recent-cover-ph{width:100%;height:100%;background:var(--cream, #f4ede0);color:var(--brand, #28505a);font-size:12px;font-weight:700;text-align:center;padding:8px;display:flex;align-items:center;justify-content:center;line-height:1.25;word-break:break-word}.sponsor-recent-title{font-size:12px;font-weight:600;color:var(--text);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.sponsor-recent-thanks{font-size:11px;color:#b5841a;font-style:italic}.sponsor-open-fallback{margin:24px 0 0;padding:12px;background:var(--surface-2, rgba(0, 0, 0, .03));border:1px solid var(--border, rgba(0,0,0,.08));border-radius:12px}.sponsor-open-summary{font-weight:600;color:var(--text-muted, #666);cursor:pointer;font-size:13px;padding:4px 0}.sponsor-open-summary:hover{color:var(--text)}.sponsor-open-intro{font-size:13px;color:var(--text-muted, #666);margin:8px 0 12px}.sponsor-open-form{margin-top:0;padding-top:0}.wishlist-admin-row{margin-top:6px;display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:11px}.wishlist-admin-estimate{padding:2px 8px;border-radius:999px;background:#2e9e5b21;color:var(--ok, #2e9e5b);font-weight:600}.wishlist-admin-btn{padding:3px 10px;border:1px dashed #b5841a;border-radius:999px;background:transparent;color:#b5841a;font-size:11px;font-weight:600;cursor:pointer}.wishlist-admin-btn:hover:not(:disabled){background:#b5841a1a}.wishlist-admin-btn:disabled{opacity:.5;cursor:not-allowed}.sponsor-recent-fulfill{margin-top:4px;padding:4px 10px;border:1px dashed #b5841a;border-radius:999px;background:transparent;color:#b5841a;font-size:11px;font-weight:600;cursor:pointer}.sponsor-recent-fulfill:hover:not(:disabled){background:#b5841a1a}.sponsor-recent-fulfill:disabled{opacity:.5;cursor:not-allowed}.wishlist-rights-badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;margin-top:4px}.wishlist-rights-cleared{background:#2e9e5b21;color:var(--ok, #2e9e5b)}.wishlist-rights-pending{background:#0000000f;color:var(--text-muted, #666)}.wishlist-rights-rejected{background:#d645451f;color:var(--danger, #d64545)}.sponsor-recent-item.status-authorized .sponsor-recent-cover{outline:2px solid #b5841a;outline-offset:2px}.sponsor-recent-item.status-charge-failed .sponsor-recent-cover{outline:2px solid var(--danger, #d64545);outline-offset:2px}.sponsor-recent-item.status-authorized .sponsor-recent-thanks{color:#b5841a;font-style:normal;font-weight:600}.sponsor-recent-item.status-charge-failed .sponsor-recent-thanks{color:var(--danger, #d64545);font-style:normal;font-weight:600}.sponsor-disclaimer{margin:4px 0 0;padding:6px 8px;background:#00000008;border-left:3px solid var(--border, rgba(0,0,0,.15));font-size:11px;color:var(--text-muted, #666);line-height:1.4}.wishlist-form{margin:12px 0 20px;padding:12px;background:var(--surface-2, rgba(0, 0, 0, .03));border-radius:8px;display:flex;flex-direction:column;gap:8px}.wishlist-form-row{display:flex;gap:8px}.wishlist-form-row-split{flex-direction:row}.wishlist-form-row-split .wishlist-input{flex:1;min-width:0}.wishlist-input{width:100%;padding:8px 10px;border:1px solid var(--border, rgba(0, 0, 0, .12));border-radius:6px;font-size:14px;font-family:inherit;background:var(--surface, white);color:var(--text, #222)}.wishlist-input:focus{outline:none;border-color:#7c4ed7;box-shadow:0 0 0 3px #7c4ed726}.wishlist-form-actions{align-items:center;justify-content:space-between}.wishlist-form-status{font-size:.85rem;color:var(--text-muted, #777)}.wishlist-submit-btn{background:#7c4ed7;color:#fff;border:none;padding:8px 16px;border-radius:6px;font-weight:600;cursor:pointer}.wishlist-submit-btn:hover{background:#6a3fc2}.wishlist-submit-btn:disabled{opacity:.5;cursor:not-allowed}.wishlist-list{list-style:none;padding:0;margin:0}.wishlist-item{display:flex;gap:12px;padding:10px 0;border-bottom:1px solid var(--border, rgba(0, 0, 0, .06))}.wishlist-vote-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:56px;padding:6px;background:transparent;border:1px solid var(--border, rgba(0, 0, 0, .12));border-radius:6px;color:var(--text-muted, #888);cursor:pointer;line-height:1.1;transition:background .1s ease,color .1s ease,border-color .1s ease}.wishlist-vote-btn:hover{background:#7c4ed714;border-color:#7c4ed7;color:#7c4ed7}.wishlist-vote-btn.voted{background:#7c4ed7;border-color:#7c4ed7;color:#fff}.wishlist-vote-btn .vote-star{font-size:1.1rem;line-height:1}.wishlist-vote-btn .vote-count{font-size:.75rem;font-weight:600;margin-top:2px}.wishlist-item-meta{flex:1;min-width:0}.wishlist-item-title{font-weight:600;color:var(--text, #222);font-size:15px;margin-bottom:2px}.wishlist-item-author{font-size:13px;color:var(--text-muted, #777)}.wishlist-item-note{font-size:12px;color:var(--text-muted, #888);font-style:italic;margin-top:4px}.wishlist-item-link{font-size:12px;color:#7c4ed7;text-decoration:none;margin-top:4px;display:inline-block}.wishlist-item-link:hover{text-decoration:underline}.library-item{position:relative}.library-save-btn{position:absolute;top:8px;right:8px;background:transparent;border:none;padding:6px;cursor:pointer;color:var(--text-muted, #888);border-radius:6px;z-index:1;line-height:0;transition:background .1s ease,color .1s ease,transform .1s ease}.library-save-btn:hover{background:#0000000d;color:#d44a4a}.library-save-btn:active{transform:scale(.92)}.library-save-btn.saved{color:#d44a4a}.library-save-btn.saved:hover{background:#d44a4a1a}.library-info-btn{position:absolute;top:8px;right:38px;background:transparent;border:none;padding:6px;cursor:pointer;color:var(--text-muted, #888);border-radius:6px;z-index:1;line-height:0;transition:background .1s ease,color .1s ease,transform .1s ease}.library-info-btn:hover{background:#0000000d;color:var(--text, #222)}.library-info-btn:active{transform:scale(.92)}.library-detail-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:1100;padding:24px;animation:library-detail-fade .15s ease-out}@keyframes library-detail-fade{0%{opacity:0}to{opacity:1}}.library-detail-card{background:var(--surface, #fff);color:var(--text, #222);border-radius:14px;max-width:520px;width:100%;max-height:calc(100vh - 48px);overflow-y:auto;padding:28px 24px 24px;position:relative;box-shadow:0 20px 60px #00000059}.library-detail-close{position:absolute;top:10px;right:12px;background:transparent;border:none;font-size:22px;line-height:1;color:var(--text-muted, #666);cursor:pointer;padding:6px 10px;border-radius:6px}.library-detail-close:hover{background:#0000000d;color:var(--text, #222)}.library-detail-cover{width:160px;height:240px;margin:0 auto 18px;border-radius:6px;overflow:hidden;background:#0000000f;box-shadow:0 6px 18px #0000002e}.library-detail-cover img{width:100%;height:100%;object-fit:cover;display:block}.library-detail-title{margin:0 0 4px;font-size:20px;font-weight:700;line-height:1.25;text-align:center}.library-detail-byline{margin:0 0 16px;font-size:13px;color:var(--text-muted, #666);text-align:center}.library-detail-description{margin:0 0 14px;font-size:14px;line-height:1.55;color:var(--text, #333)}.library-detail-no-description{color:var(--text-muted, #888);font-style:italic}.library-detail-attribution{margin:0 0 18px;font-size:11.5px;color:var(--text-muted, #888);font-style:italic}.library-detail-listen{display:block;width:100%;background:var(--accent, #2563eb);color:#fff;border:none;border-radius:8px;padding:12px;font-size:15px;font-weight:600;cursor:pointer;margin-top:8px;transition:background .15s ease,transform .05s ease}.library-detail-listen:hover{filter:brightness(1.08)}.library-detail-listen:active{transform:scale(.99)}.library-detail-speak{display:block;width:100%;background:transparent;color:var(--text-muted, #555);border:1px solid rgba(0,0,0,.12);border-radius:8px;padding:9px;font-size:13px;cursor:pointer;margin-top:8px;transition:background .1s ease,color .1s ease,border-color .1s ease}.library-detail-speak:hover{background:#00000008;color:var(--text, #222);border-color:#0003}.newsletter-alias-row{display:flex;align-items:center;gap:8px;margin:8px 0 12px;flex-wrap:wrap}.newsletter-alias-address{flex:1;min-width:200px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px;padding:8px 10px;background:#0000000a;border:1px solid rgba(0,0,0,.08);border-radius:6px;-webkit-user-select:all;user-select:all;word-break:break-all}.newsletter-instructions{font-size:12.5px;color:var(--text-muted, #666);line-height:1.5;margin-top:8px}.newsletter-instructions p{margin:6px 0}.newsletter-instructions ol{margin:4px 0 8px;padding-left:20px}.newsletter-instructions li{margin:3px 0}.newsletter-fineprint{font-size:11.5px;font-style:italic;opacity:.85}.billing-intro{font-size:13px;line-height:1.5;color:var(--text, #333);margin:6px 0 12px}.billing-cycle-toggle{display:inline-flex;border:1px solid rgba(0,0,0,.12);border-radius:999px;overflow:hidden;margin:4px 0 14px}.billing-cycle-btn{background:transparent;border:none;padding:6px 14px;font-size:12.5px;color:var(--text-muted, #666);cursor:pointer;transition:background .1s ease,color .1s ease}.billing-cycle-btn:hover{background:#0000000a;color:var(--text, #222)}.billing-cycle-btn.active{background:var(--text, #222);color:#fff}.billing-tier-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.billing-tier-card{border:1px solid rgba(0,0,0,.1);border-radius:10px;padding:14px;background:var(--surface, #fff);display:flex;flex-direction:column;gap:4px}.billing-tier-name{font-size:14px;font-weight:600;color:var(--text, #222)}.billing-tier-price{font-size:22px;font-weight:700;color:var(--accent, #2563eb);line-height:1.1}.billing-tier-chars{font-size:12px;color:var(--text-muted, #666)}.billing-tier-blurb{font-size:12px;color:var(--text-muted, #666);line-height:1.45;margin:4px 0 10px;flex:1}.billing-tier-subscribe{width:100%}.billing-active{display:flex;flex-direction:column;gap:8px}.billing-status-line{font-size:13.5px;color:var(--text, #222)}.billing-period{font-size:12px;color:var(--text-muted, #666);margin:0}.billing-period-cancelling{color:#b45309;font-weight:500}.billing-pending{font-size:12px;color:#b45309;font-weight:500;margin:4px 0 0}.billing-badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;margin-right:6px;vertical-align:1px}.billing-badge-active{background:#16a34a;color:#fff}.billing-badge-trial{background:#f59e0b;color:#fff}.saved-drawer[data-mode=library] .saved-add-row,.saved-drawer[data-mode=library] #saved-add-status,.saved-drawer[data-mode=library] .saved-list,.saved-drawer[data-mode=library] .saved-empty,.saved-drawer[data-mode=library] #drawer-switch-to-library,.saved-drawer[data-mode=saved] #public-library-section,.saved-drawer[data-mode=saved] #drawer-switch-to-saved{display:none!important}.drawer-switch-link{display:block;margin:16px 0 8px;padding:10px 12px;font-size:13px;text-align:center;background:#00000008;border:1px solid rgba(0,0,0,.08);border-radius:8px;color:var(--text, #222);text-decoration:none;cursor:pointer}.drawer-switch-link:hover{background:#0000000d}@media (max-width: 480px){.library-detail-overlay{padding:12px}.library-detail-card{padding:22px 18px 18px;border-radius:12px}.library-detail-cover{width:132px;height:198px}.library-detail-title{font-size:18px}}.literature-letter-jump{display:flex;flex-wrap:wrap;gap:2px;margin:12px 0 16px;padding:6px 4px;background:var(--bg, white);border:1px solid var(--border, rgba(0, 0, 0, .08));border-radius:6px;position:sticky;top:44px;z-index:1}.letter-jump-btn{background:transparent;border:none;padding:4px 6px;font-size:12px;font-weight:600;color:var(--accent, #4a90e2);cursor:pointer;border-radius:3px;min-width:22px}.letter-jump-btn:hover:not(:disabled){background:#4a90e21f}.letter-jump-btn.letter-jump-empty,.letter-jump-btn:disabled{color:var(--text-muted, #aaa);opacity:.4;cursor:default}.literature-author-group{margin-top:18px;scroll-margin-top:96px}.literature-author-name{margin:0 0 6px;padding:4px 0;font-size:14px;font-weight:600;color:var(--text, #222);border-bottom:1px solid var(--border, rgba(0, 0, 0, .08))}.faith-tradition-group{margin-top:20px;scroll-margin-top:96px}.faith-tradition-name{margin:0 0 8px;padding:6px 0 4px;font-size:15px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--accent, #4a90e2);border-bottom:2px solid var(--border, rgba(0, 0, 0, .08))}.chapter-dialog{width:min(560px,92vw);max-height:80vh;border:1px solid var(--border, rgba(0, 0, 0, .1));border-radius:10px;padding:0;background:var(--surface, white);color:var(--text, #222);box-shadow:0 8px 32px #0003}.chapter-dialog::backdrop{background:#0006}.chapter-dialog-header{position:sticky;top:0;background:inherit;border-bottom:1px solid var(--border, rgba(0, 0, 0, .08));padding:12px 16px;display:flex;align-items:center;justify-content:space-between;z-index:1}.chapter-dialog-title{margin:0;font-size:15px;font-weight:600}.chapter-dialog-close{background:transparent;border:none;cursor:pointer;padding:4px;color:var(--text-muted, #777)}.chapter-list{list-style:none;padding:8px 0;margin:0;overflow-y:auto;max-height:calc(80vh - 56px)}.chapter-item{margin:0}.chapter-item-btn{display:block;width:100%;background:transparent;border:none;text-align:left;padding:8px 16px;font-size:14px;color:var(--text, #222);cursor:pointer;border-radius:0;transition:background .1s ease}.chapter-item-btn:hover{background:#0000000d}.chapter-item.active .chapter-item-btn{background:#4a90e21f;color:var(--accent, #4a90e2);font-weight:600}.chapter-item.chapter-level-1 .chapter-item-btn{padding-left:16px;font-weight:600}.chapter-item.chapter-level-2 .chapter-item-btn{padding-left:28px}.chapter-item.chapter-level-3 .chapter-item-btn{padding-left:40px;font-size:13px;color:var(--text-muted, #666)}.library-heading{margin:0 0 12px;font-size:15px;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--text-muted)}.library-search-row{display:flex;gap:8px;margin:0 0 16px;align-items:stretch}.library-sort{flex-shrink:0;padding:8px 10px;border:1px solid var(--border, rgba(255, 255, 255, .1));border-radius:8px;background:var(--surface, rgba(255, 255, 255, .03));color:inherit;font:inherit;font-size:13px;cursor:pointer}.library-sort:focus{outline:none;border-color:#ffffff4d}.library-search{width:100%;padding:8px 12px;margin:0;border:1px solid var(--border, rgba(255, 255, 255, .1));border-radius:8px;background:var(--surface, rgba(255, 255, 255, .03));color:inherit;font:inherit;font-size:13px;box-sizing:border-box}.library-search:focus{outline:none;border-color:#ffffff4d}.library-book{margin:12px 0 16px}.library-book-title{margin:0 0 6px;font-size:13px;font-weight:600;color:var(--text-muted);letter-spacing:.02em}.library-source{margin-bottom:24px}.library-source-title{margin:0 0 4px;font-size:14px;font-weight:600}.library-source-tagline{margin:0 0 10px;font-size:12px;color:var(--text-muted);line-height:1.4}.library-items{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.library-item-btn{width:100%;text-align:left;background:transparent;border:1px solid var(--border, rgba(255, 255, 255, .1));border-radius:10px;padding:10px 12px;color:inherit;cursor:pointer;display:flex;flex-direction:row;align-items:flex-start;gap:12px;font:inherit;transition:background .15s ease,border-color .15s ease}.library-item-btn:hover,.library-item-btn:focus-visible{background:#ffffff0d;border-color:#ffffff40;outline:none}.library-item-thumb{flex-shrink:0;width:56px;height:84px;border-radius:4px;overflow:hidden;background:#0000000f}.library-item-thumb img{width:100%;height:100%;object-fit:cover;display:block}.library-item-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.library-item-title{font-size:14px;font-weight:500;line-height:1.3}.library-item-byline{font-size:12px;color:var(--text-muted)}.library-item-description{font-size:12px;color:var(--text-muted);line-height:1.4;margin-top:4px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.library-item-meta{font-size:11px;color:var(--text-muted);margin-top:4px}.library-empty{margin:8px 0 0;font-size:12px;color:var(--text-muted);line-height:1.4}.library-empty[hidden]{display:none}.library-category{margin-bottom:24px}.library-category-title{margin:0 0 4px;font-size:15px;font-weight:700;letter-spacing:.01em}.library-category-tagline{margin:0 0 10px;font-size:12px;color:var(--text-muted);line-height:1.4}.library-book-card .library-item-btn{border-style:dashed}.library-book-header{display:flex;flex-direction:column;gap:4px;padding-bottom:10px;margin-bottom:12px;border-bottom:1px solid var(--border, rgba(255, 255, 255, .1))}.library-back-btn{align-self:flex-start;background:transparent;border:none;padding:4px 0;color:var(--accent, var(--brand, #2563eb));font-size:13px;font-weight:500;cursor:pointer}.library-back-btn:hover,.library-back-btn:focus-visible{text-decoration:underline;outline:none}.library-book-meta .library-book-title{margin:0;font-size:16px;font-weight:700;color:inherit;letter-spacing:0}.library-book-byline{margin:2px 0 0;font-size:12px;color:var(--text-muted)}.library-continue{padding-bottom:4px;border-bottom:1px solid var(--border, rgba(255, 255, 255, .08));margin-bottom:20px}.library-continue-card .library-item-btn{position:relative;border-style:solid}.library-continue-cat{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:2px}.library-progress{margin-top:8px;height:4px;background:#ffffff14;border-radius:2px;overflow:hidden}.library-progress-bar{height:100%;background:var(--accent, var(--brand, #2563eb));transition:width .2s ease}.library-content-matches{margin-top:18px;padding-top:12px;border-top:1px solid var(--border, rgba(255, 255, 255, .08))}.library-subheader{margin:0 0 8px;font-size:12px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.library-content-snippet{margin-top:4px;font-size:12px;color:var(--text-muted);line-height:1.45;font-style:italic;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.library-content-snippet mark{background:var(--accent, var(--brand, #2563eb));color:#fff;padding:0 2px;border-radius:2px;font-style:normal}
