/* A quiet, fixed reading surface; chrome never changes pagination geometry. */
.immersive-reader{--paper:#faf7ef;--text:#343a34;background:var(--paper);color:var(--text)}
.reader[data-theme=white]{--paper:#fff;--text:#282d29}
.reader[data-theme=sage]{--paper:#e6ecdf;--text:#2e3c30}
.reader[data-theme=gray]{--paper:#e8e7e3;--text:#363735}
.reader[data-theme=night]{--paper:#242725;--text:#d3d8ce}
.immersive-reader .reader-top{position:absolute;top:0;left:0;right:0;height:58px;min-height:0;border:0;background:var(--paper);z-index:3;transition:opacity .18s,visibility .18s}
.immersive-reader .reader-heading{max-width:65%;font-size:12px;opacity:.65}
.immersive-reader .reader-scroll{position:absolute;inset:66px clamp(24px,5vw,86px) 68px;flex:none;overflow-y:auto;overscroll-behavior:contain;background:transparent;outline:none}
.immersive-reader .reading-page{max-width:780px;margin:0 auto;padding:0 0 32px;color:var(--text);overflow-wrap:anywhere}
.immersive-reader .reading-page h1{font-size:1.35em;line-height:1.6;margin:0 0 1.3em;break-after:avoid}
.immersive-reader .reading-page p{margin:0 0 1em;orphans:2;widows:2;}
.reader-illustration{margin:24px 0;display:flex;justify-content:center;align-items:center;break-inside:avoid}
.reader-illustration img{display:block;max-width:100%;max-height:calc(100dvh - 150px);object-fit:contain}
.immersive-reader .reader-scroll.is-paginated{overflow:hidden;scroll-behavior:auto}
.immersive-reader .is-paginated .reading-page{height:var(--page-height);max-width:none;width:100%;padding:0;margin:0;column-width:var(--column-width);column-gap:var(--column-gap);column-fill:auto;overflow:visible}
.is-paginated .reader-illustration{height:var(--page-height);width:100%;margin:0;break-before:column;break-after:column;}
.is-paginated .reader-illustration img{max-height:100%;max-width:100%;width:auto;height:auto}
.pagination-tail{position:absolute;top:0;width:1px;height:1px;pointer-events:none}
.immersive-reader:has([data-columns="2"]):after{content:'';position:absolute;top:68px;bottom:70px;left:50%;width:1px;background:linear-gradient(transparent,#7d80771b,transparent);pointer-events:none}
.immersive-reader .reader-bottom{position:absolute;bottom:0;left:50%;transform:translateX(-50%);border:0;background:var(--paper);width:min(620px,calc(100% - 140px));height:58px;min-height:58px;padding:8px 5px 15px;gap:12px;transition:opacity .18s,visibility .18s;z-index:3}
.immersive-reader .reader-progress{width:auto;flex:1;text-align:center;font-size:11px;color:var(--text);opacity:.7;line-height:1.8;white-space:nowrap}
.immersive-reader .reader-progress .progress{width:100%;max-width:180px;margin:5px auto 0}
.immersive-reader .reader-bottom>button{min-width:36px;min-height:36px;padding:0}
.reader-menu-button{position:absolute;bottom:17px;right:25px;z-index:5;width:44px;height:44px;border:1px solid #8883;border-radius:50%;background:var(--paper);box-shadow:0 3px 16px #00000008;transition:opacity .18s,visibility .18s}
.immersive-reader.controls-hidden .reader-top,.immersive-reader.controls-hidden .reader-bottom,.immersive-reader.controls-hidden .reader-menu-button{opacity:0;visibility:hidden;pointer-events:none}
.reader-tap-hint{position:absolute;bottom:25px;left:50%;transform:translateX(-50%);font-size:11px;letter-spacing:1px;white-space:nowrap;opacity:0;pointer-events:none;animation:readerHint 4s both;color:var(--text)}
@keyframes readerHint{0%,65%{opacity:.5}100%{opacity:0}}
.reader-dimmer{position:absolute;inset:0;background:#000;opacity:var(--dim,0);pointer-events:none;z-index:2}
.immersive-reader .reader-panel{top:auto;bottom:76px;right:24px;width:min(420px,calc(100vw - 32px));max-height:calc(100dvh - 110px);padding:22px;background:var(--paper);color:var(--text);border:1px solid #8883;border-radius:22px;box-shadow:0 16px 70px #0002;z-index:6}
.reader-panel-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;gap:12px}
.reader-panel-title h3{margin:0;font-size:20px}
.reader-panel .control{margin:18px 0}.reader-panel .control .tiny{line-height:1.7;margin-top:8px}
.reader-panel .segmented{gap:4px;background:#8881;border-radius:12px;padding:4px}
.reader-panel .segmented button{border-radius:9px;min-height:36px;font-size:12px;padding:7px 6px;color:var(--text);background:none}
.reader-panel .segmented button.active{background:#526754;color:#fff}
.reader-panel input[type=number]{background:transparent;color:inherit}
.reader-font-details summary{padding:14px 0;cursor:pointer;font-size:13px}
.reader-font-details .reader-font-list{margin-top:10px}
#reset-type{margin-top:14px;opacity:.7}
@media(max-width:600px){.immersive-reader .reader-scroll{inset:59px 24px 62px}.immersive-reader .reader-panel{right:16px;bottom:69px}.immersive-reader .reader-progress{font-size:9px;white-space:normal}.reader-menu-button{right:14px;bottom:12px;width:38px;height:38px}.immersive-reader .reader-bottom{width:calc(100% - 110px)}}
@media(prefers-reduced-motion:reduce){.reader-tap-hint{animation:none;opacity:.4}.reader-top,.reader-bottom,.reader-menu-button{transition:none!important}}

.immersive-reader .reader-scroll:not(.is-paginated) .reading-page{column-count:auto!important}

.is-paginated[data-columns="2"] .cover-page:before{content:"";display:block;height:var(--page-height);break-after:column}

.reader-motion-snapshot{position:absolute;overflow:hidden;background:var(--paper);pointer-events:none;z-index:2;backface-visibility:hidden;contain:layout paint;will-change:transform,opacity}
.reader-motion-snapshot .reader-scroll{background:var(--paper)}
.immersive-reader .reader-scroll{background:var(--paper)}
.reader-panel .segmented:has([data-choice=effect]){display:grid;grid-template-columns:repeat(3,1fr)}
.repair-note{padding:14px 18px;margin-top:20px;background:#8a996514;border:1px solid #8a99652b;border-radius:8px;font-size:13px;line-height:1.8}
