.notification-toast[data-v-739377ff]{position:fixed;left:50%;z-index:92;display:inline-flex;align-items:center;justify-content:center;gap:10px;max-width:min(820px,calc(100% - 28px));padding:10px 14px;border:1px solid var(--notification-border);border-radius:8px;color:var(--notification-text);background:var(--notification-bg);box-shadow:var(--shadow);font-size:.9rem;font-weight:760;text-align:center;transform:translate(-50%)}.notification-toast-top[data-v-739377ff]{top:calc(66px + env(safe-area-inset-top))}.notification-toast-bottom[data-v-739377ff]{bottom:calc(22px + env(safe-area-inset-bottom))}.notification-toast span[data-v-739377ff]{min-width:0}.notification-toast button[data-v-739377ff]{flex:0 0 auto;min-height:30px;padding:0 10px;border:1px solid var(--notification-border);border-radius:8px;color:var(--notification-text);background:color-mix(in srgb,var(--notification-bg) 72%,#ffffff);font-size:.82rem;font-weight:820;cursor:pointer}.notification-toast button[data-v-739377ff]:hover{background:color-mix(in srgb,var(--notification-bg) 52%,#ffffff)}.notification-toast-large[data-v-739377ff]{width:min(560px,calc(100% - 32px));min-height:58px;padding:14px 16px;gap:14px;font-size:1rem}.notification-toast-large button[data-v-739377ff]{min-height:38px;padding:0 16px;font-size:.92rem}.notification-toast-success[data-v-739377ff]{width:fit-content;--notification-border: color-mix(in srgb, var(--accent) 34%, var(--reader-border, var(--border)));--notification-text: var(--accent-strong);--notification-bg: color-mix(in srgb, var(--reader-surface, var(--surface)) 94%, #dcfce7)}.notification-toast-error[data-v-739377ff]{width:min(820px,calc(100% - 28px));--notification-border: color-mix(in srgb, var(--danger) 38%, var(--reader-border, var(--border)));--notification-text: var(--danger);--notification-bg: color-mix(in srgb, var(--reader-surface, var(--surface)) 94%, #fee2e2)}.notification-toast-stacked[data-v-739377ff]{top:calc(116px + env(safe-area-inset-top))}:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;--bg: #f7f8f5;--surface: #ffffff;--surface-strong: #eef4f1;--text: #17211d;--muted: #66736d;--border: #d8e1dc;--accent: #0f766e;--accent-strong: #0b5f59;--danger: #b42318;--shadow: 0 18px 44px rgb(23 33 29 / 10%)}*{box-sizing:border-box}html{min-height:100%;background:var(--bg)}body{min-width:320px;min-height:100vh;margin:0;color:var(--text);background:var(--bg)}button,input,select,textarea{font:inherit}button{color:inherit}button:disabled{cursor:not-allowed;opacity:.45}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.shelf-page{width:min(1120px,calc(100% - 32px));margin:0 auto;padding:28px 0 56px}.app-header,.reader-toolbar,.section-heading,.import-band,.book-open-area,.player-bar,.control-row,.theme-control{display:flex;align-items:center}.app-header{justify-content:space-between;gap:20px;margin-bottom:28px}.eyebrow{margin:0 0 6px;color:var(--accent-strong);font-size:.76rem;font-weight:800;letter-spacing:0;text-transform:uppercase}h1,h2,h3,p{margin-top:0}h1{margin-bottom:0;font-size:clamp(2.1rem,5vw,4rem);line-height:1;letter-spacing:0}h2{margin-bottom:8px;font-size:1.45rem;line-height:1.18;letter-spacing:0}h3{margin-bottom:8px;font-size:1.1rem}.header-status{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 14px;border:1px solid var(--border);border-radius:999px;color:var(--accent-strong);background:var(--surface);white-space:nowrap}.import-band{justify-content:space-between;gap:18px;padding:22px;border:1px solid var(--border);border-radius:8px;background:var(--surface-strong)}.import-band p,.empty-state p{max-width:620px;margin-bottom:0;color:var(--muted)}.primary-action,.round-action,.icon-button,.theme-control button{border:0;cursor:pointer}.primary-action{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;padding:0 18px;border-radius:8px;color:#fff;background:var(--accent);font-weight:760;text-decoration:none;white-space:nowrap}.primary-action:hover{background:var(--accent-strong)}.error-line{margin:14px 0 0;color:var(--danger);font-weight:700}.library-section{margin-top:34px}.section-heading{justify-content:space-between;gap:16px;margin-bottom:16px}.section-heading h2{margin-bottom:0}.section-heading>span{color:var(--muted);font-weight:700}.empty-state{display:grid;justify-items:center;gap:8px;padding:54px 20px;border:1px dashed var(--border);border-radius:8px;color:var(--muted);text-align:center;background:#ffffff85}.empty-state h3{color:var(--text)}.book-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;padding:0;margin:0;list-style:none}.book-card{display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px;min-height:126px;padding:12px;border:1px solid var(--border);border-radius:8px;background:var(--surface);box-shadow:var(--shadow)}.book-open-area{min-width:0;gap:12px;padding:0;border:0;background:transparent;text-align:left}.book-cover{display:grid;flex:0 0 62px;width:62px;height:82px;place-items:center;border-radius:6px;color:#fff;background:#245c50}.book-info{display:grid;min-width:0;gap:6px}.book-info strong{overflow:hidden;font-size:1rem;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}.book-info span{display:inline-flex;align-items:center;gap:6px;min-width:0;color:var(--muted);font-size:.9rem}.format-chip{flex:0 0 auto;padding:2px 6px;border-radius:6px;color:var(--accent-strong);background:#0f766e1a;font-size:.72rem;line-height:1.2}.icon-button{display:inline-grid;width:40px;height:40px;place-items:center;border-radius:8px;color:var(--text);background:transparent}.icon-button:hover{background:#0f766e1a}.icon-button.danger{color:var(--danger)}.reader-page{min-height:100vh;padding-bottom:104px;background:var(--reader-bg);color:var(--reader-text);--reader-bg: #f7f8f5;--reader-surface: #ffffff;--reader-text: #17211d;--reader-muted: #66736d;--reader-border: #d8e1dc;--reader-active: #e4f3ee}.reader-page.theme-sepia{--reader-bg: #f5efe2;--reader-surface: #fff9ed;--reader-text: #2c251c;--reader-muted: #756957;--reader-border: #e0d2ba;--reader-active: #e7dcc7}.reader-page.theme-dark{color-scheme:dark;--reader-bg: #171b19;--reader-surface: #202622;--reader-text: #eef5ef;--reader-muted: #a9b8b0;--reader-border: #33413a;--reader-active: #263d37}.reader-toolbar{position:sticky;top:0;z-index:10;justify-content:space-between;gap:12px;min-height:calc(64px + env(safe-area-inset-top));padding:calc(10px + env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) 10px max(18px,env(safe-area-inset-left));border-bottom:1px solid var(--reader-border);background:color-mix(in srgb,var(--reader-surface) 94%,transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.reader-title{display:grid;min-width:0;gap:3px;text-align:center}.reader-title strong,.reader-title span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reader-title strong{font-size:.98rem}.reader-title span{color:var(--reader-muted);font-size:.84rem}.reader-tools{display:flex;gap:4px}.chapter-select{max-width:min(260px,28vw);min-height:40px;padding:0 36px 0 12px;border:1px solid var(--reader-border);border-radius:8px;color:var(--reader-text);background:var(--reader-surface);font-size:.9rem;font-weight:680}.settings-panel{position:sticky;top:calc(64px + env(safe-area-inset-top));z-index:9;display:grid;grid-template-columns:minmax(260px,1fr) minmax(260px,1fr) auto;gap:14px;padding:14px max(18px,env(safe-area-inset-right)) 14px max(18px,env(safe-area-inset-left));border-bottom:1px solid var(--reader-border);background:var(--reader-surface)}.control-row{gap:12px;min-width:0}.control-row label{display:inline-flex;align-items:center;gap:7px;min-width:72px;color:var(--reader-muted);font-weight:760}.control-row input{width:100%;accent-color:var(--accent)}.control-row output{min-width:44px;text-align:right;color:var(--reader-muted);font-variant-numeric:tabular-nums}.theme-control{gap:4px;min-width:250px;padding:4px;border:1px solid var(--reader-border);border-radius:8px;background:var(--reader-bg)}.theme-control button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:36px;min-width:76px;padding:0 10px;border-radius:6px;background:transparent;color:var(--reader-muted);font-weight:760}.theme-control button.active{color:var(--reader-text);background:var(--reader-surface)}.reader-progress{position:sticky;top:calc(64px + env(safe-area-inset-top));z-index:8;height:3px;background:transparent}.settings-panel+.reader-progress{top:calc(185px + env(safe-area-inset-top))}.reader-progress span{display:block;height:100%;border-radius:999px;background:var(--accent);transition:width .18s ease}.reader-content{width:min(760px,calc(100% - 32px));margin:0 auto;padding:34px 0 42px}.reader-paragraph{margin:0 0 1.35em;padding:10px 12px;border-radius:8px;color:var(--reader-text);white-space:pre-wrap;overflow-wrap:anywhere;cursor:pointer}.player-bar{position:fixed;right:max(18px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));left:max(18px,env(safe-area-inset-left));z-index:20;justify-content:space-between;gap:16px;width:min(760px,calc(100% - 36px));min-height:72px;margin:0 auto;padding:12px 14px;border:1px solid var(--reader-border, var(--border));border-radius:8px;background:color-mix(in srgb,var(--reader-surface, var(--surface)) 96%,transparent);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.player-meta{display:grid;min-width:0;gap:3px}.player-meta strong{font-size:.98rem}.player-meta span{overflow:hidden;color:var(--reader-muted, var(--muted));font-size:.86rem;text-overflow:ellipsis;white-space:nowrap}.player-actions{display:flex;flex:0 0 auto;align-items:center;gap:6px}.round-action{display:inline-grid;width:48px;height:48px;place-items:center;border-radius:999px;color:#fff;background:var(--accent)}.round-action:hover{background:var(--accent-strong)}.loading-state{display:grid;min-height:100vh;place-content:center;justify-items:center;gap:16px;padding:24px;text-align:center}@media(max-width:760px){.shelf-page{width:min(100% - 24px,1120px);padding-top:20px}.app-header,.import-band{align-items:flex-start;flex-direction:column}.primary-action{width:100%}.book-grid{grid-template-columns:1fr}.reader-toolbar{flex-wrap:wrap;gap:8px}.reader-title{flex:1 1 calc(100% - 96px);text-align:left}.chapter-select{order:3;flex:1 1 100%;max-width:none}.settings-panel{grid-template-columns:1fr}.theme-control{min-width:0}.theme-control button{flex:1 1 0;min-width:0}.player-bar{align-items:stretch;flex-direction:column}.player-actions{justify-content:space-between}}.paged-reader-page{position:relative;height:100dvh;min-height:100dvh;padding:0;overflow:hidden;background:var(--reader-bg);touch-action:pan-y}.brightness-shade{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;pointer-events:none;background:#000;opacity:var(--brightness-shade, 0)}.reader-topbar{position:absolute;top:0;right:0;left:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:calc(58px + env(safe-area-inset-top));padding:calc(8px + env(safe-area-inset-top)) 18px 8px;border-bottom:1px solid var(--reader-border);background:color-mix(in srgb,var(--reader-surface) 92%,transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.reader-topbar .reader-title{flex:1 1 auto}.topbar-spacer{flex:0 0 40px;width:40px;height:40px}.paged-reader{display:flex;flex-direction:column;justify-content:flex-start;width:min(760px,calc(100% - 48px));height:calc(100dvh - 64px);min-height:320px;margin:32px auto;padding:4px 0;overflow:hidden}.chrome-hidden .paged-reader{height:calc(100dvh - 64px);margin-top:32px;margin-bottom:32px}.paged-paragraph{margin:0 0 1.05em;padding:8px 10px;cursor:default}.selection-highlight{color:#0f172a;background:#bfdbfe;-webkit-box-decoration-break:clone;box-decoration-break:clone}.page-edge{position:absolute;top:50%;z-index:18;display:grid;width:44px;height:64px;place-items:center;border:0;border-radius:8px;color:var(--reader-muted);background:transparent;transform:translateY(-50%)}.page-edge:not(:disabled):hover{color:var(--reader-text);background:color-mix(in srgb,var(--reader-surface) 70%,transparent)}.page-edge-left{left:10px}.page-edge-right{right:10px}.chrome-hidden .page-edge{opacity:0;pointer-events:none}.reader-bottom-controls{position:absolute;right:max(14px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom));left:max(14px,env(safe-area-inset-left));z-index:34;display:grid;gap:10px;width:min(820px,calc(100% - 28px));margin:0 auto;padding:12px;border:1px solid var(--reader-border);border-radius:8px;background:color-mix(in srgb,var(--reader-surface) 96%,transparent);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.page-scrubber{display:grid;grid-template-columns:42px 1fr 42px;align-items:center;gap:10px}.page-scrubber span{color:var(--reader-muted);font-size:.82rem;font-variant-numeric:tabular-nums;text-align:center}.page-scrubber input,.sheet-section input{width:100%;accent-color:var(--accent)}.reader-action-row{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}.reader-action-row button,.chapter-item{border:0;cursor:pointer}.reader-action-row button{position:relative;display:grid;min-width:0;min-height:54px;place-items:center;gap:4px;border-radius:8px;color:var(--reader-muted);background:transparent;font-size:.78rem;font-weight:760;overflow:hidden}.reader-action-row button.active,.reader-action-row button:hover{color:var(--reader-text);background:var(--reader-active)}.reader-action-row .play-entry{--playback-border-angle: 0deg;border:2px solid transparent;color:#fff;background:var(--accent)}.reader-action-row .play-entry:hover,.reader-action-row .play-entry.active{color:#fff;background:var(--accent-strong)}.reader-action-row .play-entry.playing,.reader-action-row .play-entry.playing:hover,.reader-action-row .play-entry.playing.active{background:linear-gradient(var(--accent-strong),var(--accent-strong)) padding-box,conic-gradient(from var(--playback-border-angle),#22d3ee,#a78bfa,#f472b6,#facc15,#34d399,#22d3ee) border-box;animation:playback-border-spin 1.45s linear infinite}@property --playback-border-angle{syntax: "<angle>"; inherits: false; initial-value: 0deg;}@keyframes playback-border-spin{to{--playback-border-angle: 360deg}}.reader-action-row .play-entry>svg,.reader-action-row .play-entry>span{position:relative;z-index:1}@supports not (background: conic-gradient(from 1deg,red,blue)){.reader-action-row .play-entry.playing,.reader-action-row .play-entry.playing:hover,.reader-action-row .play-entry.playing.active{border-color:#22d3ee}}.reader-sheet{position:absolute;right:max(14px,env(safe-area-inset-right));bottom:calc(142px + env(safe-area-inset-bottom));left:max(14px,env(safe-area-inset-left));z-index:33;width:min(820px,calc(100% - 28px));margin:0 auto;padding:14px;border:1px solid var(--reader-border);border-radius:8px;background:color-mix(in srgb,var(--reader-surface) 98%,transparent);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);max-height:min(58vh,520px);overflow-y:auto}.sheet-stack{display:grid;gap:12px}.sheet-section{display:grid;grid-template-columns:auto auto 1fr auto auto;align-items:center;gap:10px}.sheet-section label{display:inline-flex;align-items:center;gap:7px;color:var(--reader-muted);font-weight:760;white-space:nowrap}.sheet-section output{min-width:48px;color:var(--reader-muted);font-variant-numeric:tabular-nums;text-align:right}.compact-theme-control{min-width:0}.compact-theme-control button{flex:1 1 0}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:42;background:#00000042}.chapter-drawer{width:min(360px,86vw);height:100%;padding:calc(16px + env(safe-area-inset-top)) 14px 18px max(14px,env(safe-area-inset-left));overflow-y:auto;border-right:1px solid var(--reader-border);background:var(--reader-surface);color:var(--reader-text);box-shadow:18px 0 44px #00000029}.drawer-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.drawer-header{margin-bottom:12px}.drawer-header strong{font-size:1rem}.chapter-item{display:grid;width:100%;gap:4px;min-height:54px;padding:10px 12px;border-radius:8px;color:var(--reader-text);background:transparent;text-align:left}.chapter-item:hover,.chapter-item.active{background:var(--reader-active)}.chapter-item span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chapter-item small{color:var(--reader-muted)}.return-playback-button{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;width:100%;min-height:40px;margin-bottom:10px;padding:0 12px;border:1px solid color-mix(in srgb,var(--accent) 34%,var(--reader-border));border-radius:8px;color:var(--accent-strong);background:color-mix(in srgb,var(--reader-surface) 90%,var(--reader-active));font-size:.86rem;font-weight:800;text-align:left;cursor:pointer}.return-playback-button:hover{background:var(--reader-active)}.return-playback-button span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.return-playback-inline{margin-bottom:0}.playback-sheet-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px}.playback-sheet-header strong{display:block}.playback-sheet-header span{display:block;margin-top:3px;color:var(--reader-muted);font-size:.86rem}.playback-sheet-header .playback-status-pill{display:inline-flex;align-items:center;justify-content:center;min-width:64px;min-height:30px;margin-top:0;padding:6px 10px;border-radius:999px;color:var(--accent-strong);background:var(--reader-active);font-size:.78rem;font-weight:800;text-align:center;white-space:nowrap}.playback-control-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px}.playback-settings-button{justify-self:end}.text-action{display:inline-flex;align-items:center;justify-content:center;gap:6px;flex:0 0 auto;min-height:36px;padding:0 10px;border:1px solid var(--reader-border);border-radius:8px;color:var(--reader-text);background:var(--reader-surface);font-size:.86rem;font-weight:760}.text-action:hover{background:var(--reader-active)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:72;display:grid;place-items:center;padding:18px;background:#00000057}.tts-settings-dialog{display:grid;gap:14px;width:min(640px,100%);max-height:min(760px,calc(100dvh - 36px));overflow-y:auto;padding:16px;border:1px solid var(--reader-border);border-radius:8px;color:var(--reader-text);background:var(--reader-surface);box-shadow:var(--shadow)}.dialog-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.dialog-header strong{display:block;font-size:1rem}.dialog-header span,.voice-setting-section small{color:var(--reader-muted);font-size:.84rem}.voice-mode-tabs{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;padding:4px;border:1px solid var(--reader-border);border-radius:8px;background:var(--reader-bg)}.voice-mode-tabs button{min-height:38px;border:0;border-radius:6px;color:var(--reader-muted);background:transparent;font-weight:760}.voice-mode-tabs button.active,.voice-mode-tabs button:hover{color:var(--reader-text);background:var(--reader-surface)}.voice-setting-section,.clone-upload-panel{display:grid;gap:10px}.voice-setting-section label,.clone-upload-panel label{display:grid;min-width:0;gap:6px}.voice-setting-section label span,.clone-upload-panel label span{color:var(--reader-muted);font-size:.84rem;font-weight:760}.voice-select-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px}.voice-select-row-with-delete{grid-template-columns:minmax(0,1fr) auto auto}.danger-icon-button{color:var(--danger);background:color-mix(in srgb,var(--reader-surface) 88%,#fee2e2)}.danger-icon-button:not(:disabled):hover{background:color-mix(in srgb,var(--reader-active) 72%,#fee2e2)}.tts-provider-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px}.tts-provider-row label,.tts-provider-row span,.tts-config-grid label span{color:var(--reader-muted);font-size:.84rem;font-weight:760}.tts-config-grid small{color:var(--reader-muted);font-size:.78rem;line-height:1.4}.tts-provider-row select,.tts-config-grid select,.tts-config-grid input,.tts-config-grid textarea,.voice-setting-section select,.clone-upload-panel input,.clone-upload-panel textarea{width:100%;min-width:0;border:1px solid var(--reader-border);border-radius:8px;color:var(--reader-text);background:var(--reader-surface)}.tts-provider-row select,.tts-config-grid select,.tts-config-grid input,.voice-setting-section select,.clone-upload-panel input{min-height:38px;padding:0 10px}.tts-config-grid textarea,.clone-upload-panel textarea{resize:vertical;padding:9px 10px}.tts-config-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.tts-config-grid label{display:grid;min-width:0;gap:6px}.tts-wide-field{grid-column:1 / -1}.playback-actions{display:flex;align-items:center;justify-content:center;gap:8px}.playback-actions-divider{width:1px;height:28px;margin:0 2px;background:var(--reader-border)}.rate-button{min-width:44px;height:36px;padding:0 8px;border:1px solid var(--reader-border);border-radius:8px;color:var(--reader-text);background:var(--reader-surface);font-size:.82rem;font-weight:850;font-variant-numeric:tabular-nums;cursor:pointer}.rate-button:hover{background:var(--reader-active)}@media(max-width:760px){.paged-reader{width:min(100% - 34px,760px);height:calc(100dvh - 56px);margin-top:28px;margin-bottom:28px}.chrome-hidden .paged-reader{height:calc(100dvh - 56px);margin-top:28px;margin-bottom:28px}.page-edge{display:none}.tts-provider-row{align-items:stretch;grid-template-columns:1fr}.playback-sheet-header{grid-template-columns:minmax(0,1fr) auto}.tts-config-grid{grid-template-columns:1fr}.modal-backdrop{align-items:end;padding:10px}.tts-settings-dialog{max-height:calc(100dvh - 20px)}.reader-bottom-controls{gap:8px;padding:10px}.page-scrubber{grid-template-columns:34px 1fr 34px}.reader-action-row{gap:4px}.reader-action-row button{min-height:52px;font-size:.72rem}.reader-sheet{bottom:calc(134px + env(safe-area-inset-bottom))}.sheet-section{grid-template-columns:auto 1fr auto}.sheet-section .icon-button{display:none}}
