.reader-dialog{--r-bg:#091d25;--r-panel:#0d252e;--r-text:#e3e8df;--r-muted:#9bb3b1;--r-line:#aecac228;--r-accent:#abd9ce;--reader-size:20px;width:1440px;height:calc(100dvh - 36px);overflow:hidden;background:var(--r-bg);color:var(--r-text)}.reader-dialog[open]{display:flex;flex-direction:column}.reader-dialog[data-theme=paper]{--r-bg:#faf9f4;--r-panel:#efeee7;--r-text:#262b27;--r-muted:#5f6c64;--r-line:#334b3f25;--r-accent:#256d60;color-scheme:light}.reader-dialog[data-theme=sand]{--r-bg:#eee3cc;--r-panel:#e4d7bd;--r-text:#373528;--r-muted:#6e6854;--r-line:#655c3d30;--r-accent:#526c44;color-scheme:light}.reader-dialog:fullscreen,.reader-dialog.expanded{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;inset:0;margin:0;border-radius:0}.reader-top{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 24px;background:var(--r-panel);border-bottom:1px solid var(--r-line);flex:none}.reader-brand{display:flex;align-items:center;gap:12px;font-family:var(--serif);font-size:22px;line-height:1.25}.reader-brand small{display:block;font:9px/1.5 var(--sans);color:var(--r-muted);margin-top:3px}.reader-top-actions{display:flex;align-items:center;gap:15px}.reader-top-actions a{font-size:10px;padding:8px}.reader-top-actions button{font-size:24px;min-width:40px;min-height:40px;border-radius:50%;border:1px solid var(--r-line)}.reader-top-actions button:hover{background:var(--r-line)}.reader-layout{display:flex;flex:1;min-height:0;min-width:0;position:relative}.reader-toc{flex:0 0 270px;width:270px;padding:25px 20px;overflow:auto;overscroll-behavior:contain;border-right:1px solid var(--r-line);background:var(--r-panel)}.reader-toc-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;font-family:var(--serif);font-size:23px}.reader-toc-head button{display:none;min-height:38px;min-width:38px;font-size:25px}.reader-search{display:block;margin-bottom:20px}.reader-search span{display:block;font-size:9px;color:var(--r-muted);margin-bottom:8px}.reader-search input{width:100%;min-width:0;background:var(--r-bg);border:1px solid var(--r-line);border-radius:3px;padding:11px;color:var(--r-text);font-size:11px}.reader-search input::placeholder{color:var(--r-muted)}.reader-toc nav{display:flex;flex-direction:column;gap:4px}.reader-toc nav button{padding:11px 10px;text-align:left;line-height:1.4;font-family:var(--serif);font-size:17px;border-left:2px solid transparent;border-radius:0 3px 3px 0;min-height:45px;overflow-wrap:anywhere}.reader-toc nav button span{display:block;font:8px/1.5 var(--sans);letter-spacing:.08em;color:var(--r-muted);margin-bottom:3px}.reader-toc nav button[aria-current=true]{border-color:var(--r-accent);background:var(--r-line)}.reader-toc nav button:hover{background:var(--r-line)}.reader-toc>p{font-size:9px;line-height:1.7;color:var(--r-muted);margin:25px 10px 0}.reader-main{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;position:relative}.reader-toolbar{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:10px 25px;border-bottom:1px solid var(--r-line);flex:none;background:var(--r-bg)}.reader-index-toggle{display:none;font-size:11px;min-height:36px}.reader-type-controls{display:flex;align-items:center;gap:7px}.reader-type-controls button{font-family:var(--serif);font-size:17px;padding:6px;min-width:37px;min-height:36px}.reader-type-controls span{font-size:10px;color:var(--r-muted);min-width:15px;text-align:center}.reader-themes{display:flex;gap:7px}.reader-themes button{font-size:9px;padding:6px 9px;display:flex;gap:6px;align-items:center;border:1px solid transparent;border-radius:20px;min-height:33px}.reader-themes button[aria-pressed=true]{border-color:var(--r-accent)}.reader-themes i{height:11px;width:11px;border-radius:50%;border:1px solid #8888;background:#091d25}.reader-themes [data-reader-theme=paper] i{background:#faf9f4}.reader-themes [data-reader-theme=sand] i{background:#eee3cc}.reading-scroll{overflow:auto;flex:1;min-height:0;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--r-muted) var(--r-bg)}.reading-text{width:calc(100% - 100px);max-width:680px;margin:auto;padding:65px 0 45px;font-family:var(--serif);font-size:var(--reader-size);line-height:1.8;overflow-wrap:anywhere;hyphens:auto;color:var(--r-text)}.reading-text>p{margin-bottom:1.1em}.reading-heading{margin-bottom:40px;text-align:center}.reading-heading>p{font:9px/1.7 var(--sans);letter-spacing:.17em;color:var(--r-accent);text-transform:uppercase}.reading-heading h2{font-family:var(--serif);font-size:clamp(32px,3.5vw,54px);line-height:1.2;letter-spacing:-.02em;font-weight:400;color:var(--r-text);margin:22px 0}.reading-heading h2:focus{outline:none}.reading-ornament{display:block;font-size:26px;color:var(--r-accent)}.reading-scene{text-align:center;letter-spacing:.4em;margin:35px 0;color:var(--r-accent)}.reading-nav{max-width:750px;width:calc(100% - 70px);margin:0 auto 50px;display:flex;align-items:center;justify-content:space-between;gap:15px;border-top:1px solid var(--r-line);padding-top:25px}.reading-nav button{border:1px solid var(--r-line);font-size:11px;padding:12px 16px;border-radius:3px;min-width:100px}.reading-nav button:hover:not(:disabled){background:var(--r-line)}.reading-nav span{font-size:9px;color:var(--r-muted)}.reader-position{padding:12px 25px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--r-line);font-size:9px;color:var(--r-muted);background:var(--r-panel);flex:none}.reader-progress{flex:1;height:2px;background:var(--r-line);max-width:250px}.reader-progress span{display:block;width:0;height:100%;background:var(--r-accent)}.reader-loading{font-size:20px}.reader-error h2{font-size:35px}.reader-error p{font-family:var(--sans);font-size:13px;color:var(--r-muted)}.reader-error a{display:inline-block;text-decoration:underline;color:var(--r-accent);margin:10px 15px 10px 0;font:13px var(--sans)}.reader-error button{display:block;background:var(--r-accent);color:var(--r-bg);font:12px var(--sans);padding:13px 20px;margin-top:20px;border-radius:3px}
@media(min-width:1000px){.reader-dialog[data-index-hidden=true] .reader-toc{display:none}.reader-index-toggle{display:block}.reader-toc-head button{display:block}}
@media(max-width:999px){.reader-index-toggle{display:block}.reader-toc{position:absolute;left:0;top:0;bottom:0;width:285px;max-width:calc(100% - 35px);z-index:4;box-shadow:25px 0 55px #0005;display:none}.reader-dialog.toc-open .reader-toc{display:block}.reader-toc-head button{display:block}.reading-text{max-width:660px;width:calc(100% - 80px)}.reader-toolbar{padding-inline:20px}.reader-themes button{padding-inline:7px}.reader-dialog .reader-brand{font-size:20px}}
@media(max-width:600px){.reader-dialog{width:100vw;height:100dvh;max-height:100dvh;max-width:100vw;margin:0;inset:0;border:0;border-radius:0}.reader-top{padding:11px 15px;padding-top:max(11px,env(safe-area-inset-top));gap:10px}.reader-brand{gap:9px}.reader-dialog .reader-brand{font-size:20px}.reader-brand small{font-size:8px}.reader-top-actions{gap:4px}.reader-top-actions a{font-size:9px;padding:5px}.reader-top-actions button{font-size:23px;min-width:35px;min-height:35px}.reader-brand .brand-orbit{display:none}.reader-toolbar{padding:9px 13px;gap:6px;flex-wrap:wrap}.reader-index-toggle{font-size:10px;padding:5px}.reader-type-controls{gap:0}.reader-type-controls button{min-width:32px;font-size:17px}.reader-type-controls span{font-size:9px}.reader-themes{gap:2px}.reader-themes button{padding:6px;min-height:32px}.reader-themes button span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.reader-themes i{width:15px;height:15px}.reading-text{width:calc(100% - 42px);padding:42px 0 30px;line-height:1.75;font-size:var(--reader-size)}.reading-heading{margin-bottom:30px}.reading-heading h2{font-size:37px}.reading-heading>p{font-size:8px}.reading-nav{width:calc(100% - 42px);gap:9px;flex-wrap:wrap;padding-top:20px;margin-bottom:35px}.reading-nav button{font-size:10px;padding:11px 13px;min-width:95px}.reading-nav span{font-size:8px;flex:1;text-align:center}.reader-position{padding:11px 15px;padding-bottom:max(11px,env(safe-area-inset-bottom));font-size:8px;gap:10px;flex-wrap:wrap}.reader-progress{max-width:none;min-width:60px}.reader-position>span:last-child{font-size:7px}.reader-toc{padding:20px}.reader-toc nav button{font-size:17px}.reader-top-actions [data-reader-full]{display:none}}
.reader-audio{flex:none;border-bottom:1px solid var(--r-line);padding:12px 25px 0;background:var(--r-panel);font-family:var(--sans);position:relative}.audio-main{display:flex;align-items:center;gap:15px;min-width:0}.audio-play{min-width:110px;min-height:42px;padding:10px 15px;background:var(--r-accent);color:var(--r-bg);font-size:12px;font-weight:600;border-radius:3px;white-space:nowrap}.audio-skip{display:flex;gap:3px}.audio-skip button{min-width:33px;min-height:38px;font-size:24px;line-height:1;border:1px solid var(--r-line);border-radius:3px}.audio-now{min-width:0;flex:1}.audio-now>span{font-size:10px;display:block;line-height:1.5}.audio-now small{font-size:9px;color:var(--r-muted);display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;margin-top:2px}.audio-rate{display:flex;align-items:center;gap:8px;font-size:9px;color:var(--r-muted)}.audio-rate select,.audio-options select{background:var(--r-bg);color:var(--r-text);border:1px solid var(--r-line);border-radius:3px;font-family:var(--sans);font-size:12px;padding:9px 8px;max-width:100%;min-height:38px}.audio-settings{font-size:10px;margin-top:6px}.audio-settings>summary{cursor:pointer;min-height:30px;display:flex;gap:8px;align-items:center;color:var(--r-muted);width:max-content;list-style:none}.audio-settings>summary::-webkit-details-marker{display:none}.audio-settings[open]>summary{color:var(--r-accent)}.audio-options{display:grid;grid-template-columns:1.15fr 1fr;gap:25px;padding:15px 0 20px;max-height:35dvh;overflow:auto;border-top:1px solid var(--r-line);scrollbar-width:thin}.audio-options>div{min-width:0}.audio-options label[for]{display:block;font-size:10px;color:var(--r-text);margin-bottom:8px}.audio-options select{width:100%;font-size:11px}.audio-options p{font-size:10px;line-height:1.7;color:var(--r-muted);margin:9px 0}.audio-checks{display:flex;flex-direction:column;gap:9px;margin-block:15px}.audio-checks label{display:flex;align-items:center;gap:7px;font-size:10px}.audio-checks input{accent-color:var(--r-accent);width:15px;height:15px;flex:none}.audio-here,.progress-tools button{min-height:38px;border:1px solid var(--r-line);border-radius:3px;padding:9px 12px;font-size:10px;text-align:left}.audio-here:hover,.progress-tools button:hover{background:var(--r-line)}.progress-tools strong{font-family:var(--serif);font-size:22px;font-weight:400}.progress-tools>button{color:var(--r-accent);margin:5px 0 10px}.progress-tools>div{display:flex;gap:6px;flex-wrap:wrap}.reading-text [data-paragraph]{transition:background .2s,box-shadow .2s;border-radius:2px}.reading-text .is-speaking{background:var(--r-line);box-shadow:-9px 0 0 -7px var(--r-accent);outline:none}.reading-heading .is-speaking{color:var(--r-accent)}.reader-audio[data-state=playing] .audio-play{box-shadow:0 0 0 3px var(--r-line)}
@media(max-width:760px){.reader-audio{padding:10px 14px 0}.audio-main{gap:8px;flex-wrap:wrap}.audio-play{min-width:100px;min-height:40px;font-size:11px;padding-inline:12px}.audio-skip button{min-width:30px;min-height:35px;font-size:22px}.audio-now{order:4;flex-basis:100%;display:flex;justify-content:space-between;gap:15px}.audio-now>span{font-size:9px}.audio-now small{font-size:8px;margin:0;max-width:45%;align-self:center}.audio-rate{margin-left:auto;font-size:8px;gap:5px}.audio-rate select{font-size:11px;min-height:35px;padding:7px}.audio-settings{margin-top:0}.audio-settings>summary{font-size:9px;min-height:28px}.audio-options{grid-template-columns:1fr;gap:20px;max-height:34dvh}.audio-options p,.audio-checks label{font-size:11px}.audio-options select{font-size:12px}.audio-checks{gap:12px}.audio-here,.progress-tools button{font-size:11px;min-height:42px}}
@media(max-width:350px){.audio-play{min-width:92px;padding-inline:9px}.audio-rate>span{display:none}.audio-skip button{min-width:30px}.audio-now{flex-direction:column;gap:0}.audio-now small{max-width:100%;align-self:flex-start}}
