#drop-zone.reading-corner{position:relative;isolation:isolate;display:block;flex:0 0 240px;min-height:240px;width:auto;margin:auto -23px -24px -31px;padding:0;overflow:hidden;border:0;border-radius:0;background:transparent;text-align:left;transition:background .18s}.reading-corner-books{position:absolute;z-index:-1;left:0;bottom:-3.8px;display:block;width:auto;height:243.8px;max-width:none;pointer-events:none}#drop-zone .reading-corner-copy{position:absolute;top:23px;right:0;display:grid;justify-items:center;gap:9px;width:95px;color:var(--terracotta);text-align:center}#drop-zone .reading-corner-copy>span{font:19px/1.3 var(--serif)}#drop-zone .reading-corner-copy>small{color:var(--ink-soft);font:10px/1.4 var(--sans)}#drop-zone .reading-corner-copy>svg{width:21px;height:21px}#drop-zone.reading-corner:is(:hover,:focus-visible,.drag-over){background:var(--terracotta-wash)}#drop-zone.reading-corner:focus-visible{outline:2px solid var(--terracotta);outline-offset:4px}#drop-zone.reading-corner.drag-over{outline:2px dashed var(--terracotta);outline-offset:4px}body:not(.focus-mode) .workspace{min-height:calc(100vh - var(--header-height))}body.scroll-mode:not(.focus-mode) .workspace{height:calc(100dvh - var(--header-height))}body.scroll-mode #book-contents{padding-bottom:24px}body:has(#original-view:disabled) #chapter-note{display:none}@media(max-width:1100px)and (min-width:821px){#drop-zone.reading-corner{margin-left:-22px;margin-right:-17px}}@media(max-width:820px){body.scroll-mode #book-contents{padding-bottom:22px}body.scroll-mode:not(.focus-mode) .workspace{height:calc(100dvh - var(--header-height))}#drop-zone.reading-corner{flex-basis:240px;width:auto;align-self:stretch;margin:auto -24px -22px}}@media(prefers-reduced-motion:reduce){#drop-zone.reading-corner{transition:none}}.app-header .shelf-shortcut{--shelf-unit: 1px;display:flex;align-items:center;gap:12px;width:auto;height:54px;color:var(--terracotta);border-radius:3px}.app-header .shelf-art{position:relative;display:grid;grid-template-rows:calc(42 * var(--shelf-unit)) calc(12 * var(--shelf-unit));width:calc(144 * var(--shelf-unit));height:calc(54 * var(--shelf-unit));flex:none;pointer-events:none}.app-header .shelf-spines{align-self:end;justify-content:center;height:100%;gap:calc(2 * var(--shelf-unit));padding:0 calc(9 * var(--shelf-unit))}.app-header .shelf-spine{--spine-height: calc(31 * var(--shelf-unit));width:calc(12 * var(--shelf-unit));flex-shrink:0}.app-header .shelf-spine:nth-child(2){--spine-height: calc(40 * var(--shelf-unit));width:calc(16 * var(--shelf-unit))}.app-header .shelf-spine:nth-child(3){--spine-height: calc(35 * var(--shelf-unit));width:calc(13 * var(--shelf-unit))}.app-header .shelf-spine:nth-child(4){--spine-height: calc(33 * var(--shelf-unit));width:calc(13 * var(--shelf-unit))}.app-header .shelf-spine:nth-child(5){--spine-height: calc(39 * var(--shelf-unit));width:calc(16 * var(--shelf-unit))}.app-header .shelf-spine:nth-child(6){--spine-height: calc(34 * var(--shelf-unit));width:calc(12 * var(--shelf-unit))}.app-header .shelf-spine:nth-child(7){--spine-height: calc(38 * var(--shelf-unit));width:calc(8 * var(--shelf-unit))}.app-header .shelf-spine:nth-child(8){--spine-height: calc(30 * var(--shelf-unit));width:calc(13 * var(--shelf-unit));margin-left:calc(3 * var(--shelf-unit));transform:rotate(-12deg)}.app-header .shelf-spine-cover{border-width:1px}.app-header button.shelf-spine{z-index:2;pointer-events:auto}.app-header .shelf-stand{width:100%;height:100%}.app-header .header-actions .shelf-caption.quiet-button{order:-1;position:static;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;width:auto;min-height:44px;padding:0;color:var(--ink-soft);font:italic 13px/1.2 var(--serif);text-align:left;white-space:nowrap;background:transparent}.app-header .shelf-caption:after{content:"";position:absolute;inset:0;z-index:1;cursor:pointer}.app-header .shelf-invitation-line{display:block}.app-header .shelf-invitation-line:nth-child(3){text-decoration:underline;text-underline-offset:4px;text-decoration-color:var(--rule)}.app-header .shelf-caption .count{position:absolute;width:1px;min-width:0;height:1px;overflow:hidden;clip-path:inset(50%)}.app-header .shelf-shortcut:has(.shelf-caption:hover){color:var(--terracotta-dark)}.app-header .shelf-shortcut:has(.shelf-caption:focus-visible){outline:2px solid var(--terracotta);outline-offset:3px}.app-header .shelf-caption:focus-visible{outline:none}.app-header .shelf-tooltip{top:calc(100% + 17px)}.app-header button.shelf-spine:is(:hover,:focus-visible) .shelf-spine-cover{transform:translateY(-3px)}@media(max-width:900px){.app-header .header-motto{display:none}}@media(max-width:500px){.app-header .shelf-shortcut{--shelf-unit: .7px;gap:7px;height:44px}.app-header .header-actions .shelf-caption.quiet-button{font-size:10px}}@media(max-width:365px){.app-header .shelf-shortcut{--shelf-unit: .56px;gap:5px}.app-header .header-actions .shelf-caption.quiet-button{font-size:9px}.app-header .header-actions .primary-button{padding:0 7px;font-size:10px}}@media(prefers-reduced-motion:reduce){.app-header .shelf-spine-cover,.app-header .shelf-tooltip{transition:none}}:root{color-scheme:light;--paper: #eee7d8;--paper-light: #faf6eb;--paper-edge: #e5dbc8;--ink: #392b20;--ink-soft: #655647;--ink-faint: #897d6c;--terracotta: #80553a;--terracotta-dark: #633f2b;--terracotta-wash: #e9dfcf;--moss: #71785a;--rule: #d9cebb;--control: #f6f0e3;--reading-size: 17px;--sidebar-width: 245px;--header-height: 84px;--sans: "Segoe UI", "Segoe UI Variable", system-ui, sans-serif;--serif: Georgia, "Times New Roman", serif;font-family:var(--sans);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--paper);color:var(--ink)}*,*:before,*:after{box-sizing:border-box}html{min-width:0;min-height:100%;background:var(--paper)}body{min-width:0;min-height:100vh;margin:0;background:radial-gradient(ellipse at 72% 18%,rgba(250,246,235,.7),transparent 55%),var(--paper);color:var(--ink)}button,input{font:inherit}button{color:inherit}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,[tabindex="-1"]:focus-visible,.scroll-stage:focus-visible{outline:2px solid var(--terracotta);outline-offset:3px}[hidden]{display:none!important}::selection{color:var(--ink);background:#ded0b8}.skip-link{position:fixed;z-index:100;top:10px;left:12px;padding:10px 14px;transform:translateY(-160%);color:#fff;background:var(--ink);border-radius:2px}.skip-link:focus{transform:translateY(0)}.app-header{position:relative;z-index:12;display:flex;align-items:center;height:var(--header-height);padding:0 clamp(22px,4.2vw,64px);border-bottom:1px solid rgba(87,69,51,.14);background:#faf6ebdb}.brand{display:inline-flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;font:25px/1 var(--serif);letter-spacing:-.055em}.brand svg{width:28px;height:28px;color:var(--terracotta)}.brand-dot{color:var(--terracotta)}.header-motto{margin-left:24px;padding-left:24px;border-left:1px solid var(--rule);color:var(--ink-faint);font:italic 14px var(--serif)}.header-actions{display:flex;align-items:center;gap:10px;margin-left:auto}.quiet-button,.primary-button,.text-button,.icon-button,.view-button,.page-turn,.secondary-button,.danger-button,.chapter-link,.bookmark-button,.shelf-open,.shelf-remove{border:0;cursor:pointer;-webkit-tap-highlight-color:transparent}.quiet-button{min-height:42px;padding:0 13px;border-radius:2px;color:var(--ink-soft);background:transparent;font-size:13px;transition:color .18s,background .18s}.quiet-button:hover{color:var(--ink);background:#4b39270e}.count{display:inline-grid;place-items:center;min-width:19px;height:19px;margin-left:4px;border-radius:50%;color:var(--ink-soft);background:#e7ddcb;font-size:10px}.shelf-shortcut{position:relative;width:104px;flex-shrink:0;color:var(--terracotta)}.shelf-spines{display:flex;align-items:end;justify-content:center;gap:2px;height:29px;padding:0 13px}.shelf-spine{--spine-height: 22px;position:relative;display:flex;align-items:end;width:8px;height:100%;padding:0;border:0;background:transparent;color:inherit}button.shelf-spine{cursor:pointer;-webkit-tap-highlight-color:transparent}.shelf-spine-cover{display:block;width:100%;height:var(--spine-height);border:1.3px solid currentColor;border-radius:1px 1px 0 0;background:var(--paper-light);box-shadow:inset 1px 0 0 var(--terracotta-wash);transform-origin:bottom center;transition:transform .24s cubic-bezier(.2,.8,.2,1),box-shadow .24s}.shelf-spine-cover:before{content:"";display:block;margin-top:4px;border-top:1px solid currentColor;opacity:.55}.shelf-spine:nth-child(2){--spine-height: 29px;width:11px}.shelf-spine:nth-child(3){--spine-height: 26px}.shelf-spine:nth-child(4){--spine-height: 24px;color:var(--moss)}.shelf-spine:nth-child(5){--spine-height: 29px;width:11px}.shelf-spine:nth-child(6){--spine-height: 25px;color:var(--moss)}.shelf-spine:nth-child(7){--spine-height: 29px;width:5px}.shelf-spine:nth-child(8){--spine-height: 23px;margin-left:3px;transform:rotate(-15deg);transform-origin:bottom center}.shelf-stand{display:block;width:104px;height:14px}.header-actions .shelf-caption.quiet-button{display:block;width:100%;min-height:20px;padding:2px 0;color:var(--ink-soft);font-size:10px;white-space:nowrap}.shelf-caption .count{position:absolute;top:-4px;right:-3px;min-width:15px;height:15px;margin:0;font-size:8px}.shelf-tooltip{position:absolute;z-index:2;top:calc(100% + 27px);left:50%;width:max-content;max-width:min(210px,55vw);padding:9px 13px;border:1px solid var(--rule);border-radius:5px;color:var(--ink);background:var(--paper-light);box-shadow:0 5px 18px #392b2018;font:12px/1.45 var(--serif);text-align:center;overflow-wrap:anywhere;pointer-events:none;opacity:0;visibility:hidden;transform:translate(-50%,-4px);transition:opacity .18s,transform .18s,visibility .18s}.shelf-tooltip:before{content:"";position:absolute;top:-4px;left:calc(50% - 4px);width:7px;height:7px;border-top:1px solid var(--rule);border-left:1px solid var(--rule);background:var(--paper-light);transform:rotate(45deg)}button.shelf-spine:is(:hover,:focus-visible){z-index:3}button.shelf-spine:is(:hover,:focus-visible) .shelf-spine-cover{transform:translateY(-6px);box-shadow:1px 4px 5px #392b201a}button.shelf-spine:is(:hover,:focus-visible) .shelf-tooltip{opacity:1;visibility:visible;transform:translate(-50%)}@media(prefers-reduced-motion:reduce){.shelf-spine-cover,.shelf-tooltip{transition:none}}.primary-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px;padding:0 17px;color:#fffaf5;background:var(--terracotta);border-radius:2px;font-size:13px;font-weight:600;transition:background .18s,transform .18s}.primary-button:hover{background:var(--terracotta-dark)}.primary-button:active{transform:translateY(1px)}.workspace{display:grid;grid-template-columns:var(--sidebar-width) minmax(0,1fr);min-height:calc(100vh - var(--header-height) - 44px)}.contents-panel{position:relative;display:flex;flex-direction:column;min-width:0;padding:40px 23px 24px 31px;border-right:1px solid rgba(87,69,51,.13);background-color:#e7decda3;background-image:repeating-linear-gradient(0deg,transparent 0 7px,rgba(128,85,58,.018) 7px 8px),linear-gradient(90deg,#faf6eb2e,#80553a06)}.contents-panel>*{flex-shrink:0}.eyebrow,.small-label{color:var(--ink-faint);font-size:9px;font-weight:700;letter-spacing:.15em}.book-meta{margin:28px 0 29px}.small-label{color:var(--terracotta);letter-spacing:.13em}.book-meta h1{max-width:205px;margin:10px 0 7px;font:29px/1.08 var(--serif);letter-spacing:-.035em}.book-meta p{margin:0;color:var(--ink-faint);font:italic 13px/1.5 var(--serif)}.contents-heading{display:flex;align-items:baseline;justify-content:space-between;padding:0 0 11px;border-bottom:1px solid var(--rule)}.contents-heading h2{margin:0;font:19px var(--serif)}.text-button{padding:5px 3px;color:var(--terracotta);background:transparent;font-size:12px}.text-button:hover{color:var(--terracotta-dark);text-decoration:underline;text-underline-offset:3px}#chapter-list{display:grid;gap:2px;margin-top:9px}.chapter-link{position:relative;display:grid;grid-template-columns:25px minmax(0,1fr) auto;align-items:center;gap:5px;width:100%;min-height:43px;padding:7px 8px 7px 10px;color:var(--ink-soft);text-align:left;background:transparent;border-radius:1px;transition:color .16s,background .16s}.chapter-link:before{position:absolute;inset:7px auto 7px 0;width:2px;content:"";background:transparent}.chapter-link:hover{color:var(--ink);background:#ffffff6b}.chapter-link.active{color:var(--ink);background:#f1e5dcc2}.chapter-link.active:before{background:var(--terracotta)}.chapter-number{color:var(--terracotta);font:13px var(--serif);font-variant-numeric:oldstyle-nums}.chapter-label{overflow:hidden;overflow-wrap:anywhere;font:13px/1.3 var(--serif);text-overflow:ellipsis;white-space:normal}.chapter-page{color:var(--ink-faint);font:10px var(--sans);font-variant-numeric:tabular-nums}.chapter-divider{height:1px;margin:8px;background:var(--rule)}.chapter-note{margin:8px 0 0;color:var(--ink-faint);font-size:10px;line-height:1.55}#chapter-list{display:block;max-height:min(49dvh,560px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;padding:3px;margin-left:-3px}.contents-list{list-style:none;margin:0;padding:0;min-width:0}.contents-row{display:flex;align-items:center;min-width:0}.contents-group{padding-left:12px;margin-left:10px;border-left:1px solid var(--rule)}.contents-disclosure,.contents-disclosure-spacer{flex:0 0 24px;width:24px}.contents-disclosure{border:0;background:transparent;color:var(--ink-soft);cursor:pointer;min-height:42px;padding:0;font:15px var(--sans)}.contents-disclosure:hover{color:var(--terracotta);background:var(--terracotta-wash)}.structure-link{grid-template-columns:minmax(0,1fr) auto;min-width:0;gap:7px;padding-left:7px}.contents-row.active-parent>.structure-link{color:var(--terracotta);font-weight:600}.structure-tools{display:flex;flex-wrap:wrap;align-items:center;column-gap:12px;margin-top:4px}.structure-tools .text-button{min-height:34px;text-align:left;font-size:10px}select:focus-visible{outline:2px solid var(--terracotta);outline-offset:3px}body.dark-paper .contents-disclosure:hover{background:var(--control)}.drop-zone{display:grid;justify-items:center;gap:7px;width:100%;margin-top:auto;padding:17px 10px;border:1px dashed #c9bca8;color:var(--ink-soft);background:#faf6eb6b;cursor:pointer;text-align:center;transition:background .18s,border-color .18s}.drop-zone:hover,.drop-zone.drag-over{border-color:var(--terracotta);background:#faf6ebe6}.drop-zone svg{width:19px;height:19px;color:var(--terracotta)}.drop-zone span{font:15px var(--serif)}.drop-zone small{color:var(--ink-faint);font-size:10px}.privacy-note{display:flex;align-items:center;gap:7px;padding-top:17px;color:var(--ink-faint);font-size:10px}.status-dot{width:6px;height:6px;border-radius:50%;background:var(--moss)}.reader-panel{display:flex;flex-direction:column;min-width:0;padding:16px clamp(24px,4vw,62px) 10px}.reader-toolbar{display:flex;align-items:center;min-height:44px}.view-switch{display:inline-flex;padding:3px;border:1px solid #ddd1bd;background:#faf6eb9e}.view-button{min-height:31px;padding:0 13px;color:var(--ink-faint);background:transparent;font-size:11px;transition:color .16s,background .16s}.view-button:hover{color:var(--ink)}.view-button.active{color:var(--ink);background:var(--paper-light);box-shadow:0 1px 3px #392b201a}.reading-tools{position:relative;display:flex;align-items:center;gap:4px;margin-left:auto}.type-button{min-width:42px;font:18px var(--serif)}.icon-button{display:inline-grid;place-items:center;width:40px;height:40px;color:var(--ink-soft);background:transparent;border-radius:2px;font-size:22px;line-height:1;transition:color .16s,background .16s}.icon-button:hover{color:var(--terracotta);background:#4b39270e}.icon-button svg{width:19px;height:19px}.bookmark-button.is-bookmarked,#bookmark-button.is-bookmarked{color:var(--terracotta)}.bookmark-button.is-bookmarked svg path,#bookmark-button.is-bookmarked svg path{fill:#80553a33}.mobile-contents,.contents-close{display:none}.reading-layout-switch{display:inline-flex;align-items:center;gap:3px;margin-left:12px;padding:2px;border-left:1px solid var(--rule)}.layout-button{min-height:32px;padding:0 11px;border:1px solid transparent;color:var(--ink-faint);background:transparent;cursor:pointer;font-size:10px;transition:color .16s,background .16s,border-color .16s}.layout-button:hover{color:var(--ink)}.layout-button.active{border-color:#d7c9b3;color:var(--ink);background:#faf6ebcc;box-shadow:0 1px 2px #392b200f}.layout-button[aria-pressed=true]{border-color:#d7c9b3;color:var(--ink);background:#faf6ebcc}.reading-caption{display:flex;justify-content:space-between;gap:16px;margin:17px 3px 12px;color:var(--ink-faint);font-size:9px;font-weight:650;letter-spacing:.13em}.reading-caption span:first-child{min-width:0;overflow:hidden;color:var(--terracotta);text-overflow:ellipsis;white-space:nowrap}.reading-caption span:last-child{flex-shrink:0}.book-stage{position:relative;display:grid;flex:1 1 auto;place-items:center;min-height:580px;padding:0 0 3px;overflow:auto}.book-spread{--book-height: clamp(560px, calc(100dvh - 280px) , 960px);position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);width:min(100%,calc(var(--book-height) * 1.36));height:var(--book-height);min-height:0;align-self:center;touch-action:pan-y;filter:drop-shadow(0 13px 18px rgba(47,36,24,.12)) drop-shadow(0 2px 3px rgba(47,36,24,.08))}.paper-page{position:relative;display:flex;flex-direction:column;min-width:0;min-height:0;height:100%;max-height:none;padding:36px clamp(30px,4vw,56px) 22px;overflow:hidden;background:#faf6eb}.left-page{border-right:0;background:linear-gradient(90deg,#faf6eb 0% 94%,#eee5d5)}.right-page{background:linear-gradient(90deg,#eee5d5,#faf6eb 6% 100%)}.page-turn-layer{position:absolute;z-index:5;inset:0;overflow:visible;perspective:1800px;pointer-events:none}.page-turn-reveal{position:absolute;inset-block:0;width:50%;overflow:hidden}.turn-forward .page-turn-reveal{right:0}.turn-backward .page-turn-reveal{left:0}.turn-single .page-turn-reveal{left:0;width:100%}.page-turn-leaf{position:absolute;top:0;bottom:0;width:50%;transform-style:preserve-3d}.turn-forward .page-turn-leaf{left:50%;transform-origin:left center}.turn-backward .page-turn-leaf{left:0;transform-origin:right center}.turn-single .page-turn-leaf{left:0;width:100%;transform-origin:center}.page-turn-face{position:absolute;inset:0;overflow:hidden;backface-visibility:hidden;-webkit-backface-visibility:hidden}.page-turn-front{transform:rotateY(0)}.page-turn-back{transform:rotateY(180deg)}.page-turn-face>.paper-page{width:100%;height:100%;min-height:0;max-height:none;margin:0}.book-spread.is-turning .turn-origin{visibility:hidden}.chapter-title,.page-prose p{overflow-wrap:anywhere}.book-stage:has(.is-turning){overflow:clip}.book-spread.is-turning .page-turn-layer{z-index:6}.book-spread.is-turning .turn-forward .page-turn-reveal,.book-spread.is-turning .turn-backward .page-turn-reveal{box-shadow:inset 0 0 18px #382a1b1c}.page-turn-leaf:after{position:absolute;inset:0;z-index:2;content:"";pointer-events:none;background:linear-gradient(90deg,rgba(52,38,24,.13),transparent 22%,transparent 78%,rgba(52,38,24,.08));opacity:.52}.left-page:after,.right-page:before{position:absolute;z-index:1;top:0;bottom:0;width:12px;content:"";pointer-events:none}.left-page:after{right:0;background:linear-gradient(90deg,transparent,rgba(65,48,31,.055))}.right-page:before{left:0;background:linear-gradient(90deg,rgba(65,48,31,.065),transparent)}.page-running-header{display:flex;flex-shrink:0;justify-content:space-between;gap:14px;margin-bottom:26px;padding-bottom:9px;border-bottom:1px solid #e2d7c4;color:#897d6c;font-size:9px;letter-spacing:.15em;text-transform:uppercase}.page-running-header span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chapter-kicker{display:block;margin:9px 0 11px;color:var(--terracotta);font-size:9px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.chapter-title{max-width:14ch;margin:0;font:36px/1.08 var(--serif);letter-spacing:-.035em}.chapter-ornament{display:flex;align-items:center;gap:8px;width:74px;margin:23px 0 25px;color:var(--terracotta)}.chapter-ornament:before,.chapter-ornament:after{height:1px;flex:1;content:"";background:currentColor;opacity:.55}.page-prose{flex:1;min-height:0;overflow:clip;color:#45372a;font:var(--reading-size)/1.8 var(--serif);letter-spacing:.005em}.book-measure{position:fixed;top:0;left:0;visibility:hidden;pointer-events:none;contain:layout style}.book-measure>.paper-page{position:absolute;inset:0;width:100%;height:100%}body:not(.scroll-mode) .chapter-title{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden}body:not(.scroll-mode) .page-prose .scanned-message{min-height:0;padding-top:16px;gap:12px;font-size:15px}.page-prose p{margin:0 0 1.05em}.page-prose p:last-child{margin-bottom:0}.page-prose p+p{text-indent:1.1em}.drop-cap:first-letter{float:left;margin:.08em .12em 0 0;color:var(--terracotta);font:3.05em/.78 var(--serif)}.page-prose .layout-block{overflow-wrap:anywhere;min-width:0}.page-prose p.layout-block{text-indent:var(--first-indent, 0em);margin:0 0 .9em;padding-inline-start:clamp(0em,var(--source-indent, 0em),15%)}.page-prose .layout-heading{margin:.5em 0 .8em;font:1.35em/1.3 var(--serif);break-after:avoid}.layout-line{display:block;padding-inline-start:calc(clamp(0em,var(--line-indent, 0em),20%) + 1em);text-indent:-1em;white-space:pre-wrap}.layout-line-group,.layout-speech,.layout-unknown,.layout-stage-direction{margin:0 0 .65em}.layout-stage-direction{font-style:italic}.layout-speaker{font-size:.78em;letter-spacing:.035em}.layout-source-notes{flex:0 0 auto;align-self:flex-start;margin-top:8px;font-size:10px}.layout-annotations{margin:12px 0;font:14px/1.6 var(--serif)}.layout-annotations summary{cursor:pointer}.layout-source-notes:focus-visible,.layout-annotations summary:focus-visible{outline:2px solid var(--terracotta);outline-offset:3px}.page-number{display:block;flex-shrink:0;margin-top:auto;padding-top:22px;color:#897d6c;font:10px var(--serif);text-align:center;font-variant-numeric:oldstyle-nums}.end-page{display:grid;flex:1;align-content:center;justify-items:center;min-height:350px;color:var(--ink-soft);text-align:center}.end-mark{color:var(--terracotta);font:29px var(--serif)}.end-page p{max-width:23ch;font:italic 19px/1.5 var(--serif)}.scanned-message{display:grid;flex:1;align-content:center;justify-items:center;gap:14px;min-height:300px;color:var(--ink-faint);text-align:center;font:italic 18px/1.6 var(--serif)}.scanned-message svg{width:34px;height:34px;color:var(--terracotta)}.reader-footer{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;width:min(100%,940px);margin:12px auto 0}.page-turn{display:inline-flex;align-items:center;gap:9px;justify-self:start;min-height:42px;padding:0 8px;color:var(--ink-soft);background:transparent;font-size:12px}.page-turn:hover:not(:disabled){color:var(--terracotta)}.page-turn:last-child{justify-self:end}.page-turn:disabled{opacity:.38;cursor:default}.page-position{display:flex;align-items:center;gap:8px;color:var(--ink-faint);font-size:11px}.page-position input{width:43px;height:32px;padding:0 5px;border:1px solid var(--rule);border-radius:1px;color:var(--ink);background:var(--paper-light);text-align:center;font-variant-numeric:tabular-nums}.progress-row{display:grid;grid-template-columns:minmax(110px,1fr) minmax(100px,2fr) 35px;align-items:center;gap:14px;width:min(100%,640px);margin:6px auto 0;color:var(--ink-faint);font-size:10px}.progress-row>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.progress-row>span:last-child{text-align:right;font-variant-numeric:tabular-nums}.progress-slider{width:100%;height:20px;margin:0;appearance:none;background:transparent;cursor:pointer}.progress-slider::-webkit-slider-runnable-track{height:2px;background:linear-gradient(90deg,var(--terracotta) 0 var(--progress, 0%),#cdbfa9 var(--progress, 0%) 100%)}.progress-slider::-moz-range-track{height:2px;background:#cdbfa9}.progress-slider::-moz-range-progress{height:2px;background:var(--terracotta)}.progress-slider::-webkit-slider-thumb{width:11px;height:11px;margin-top:-4.5px;appearance:none;border:2px solid var(--paper-light);border-radius:50%;background:var(--terracotta);box-shadow:0 0 0 1px var(--terracotta)}.progress-slider::-moz-range-thumb{width:8px;height:8px;border:2px solid var(--paper-light);border-radius:50%;background:var(--terracotta);box-shadow:0 0 0 1px var(--terracotta)}.reader-hint{display:flex;justify-content:center;gap:8px;min-height:28px;padding-top:8px;color:#897d6c;font-size:9px}.hint-divider{color:#c0b6a8}.app-footer{display:flex;justify-content:space-between;align-items:center;min-height:44px;padding:0 clamp(22px,4.2vw,64px);border-top:1px solid rgba(87,69,51,.12);color:#897d6c;background:#faf6eb73;font-size:8px;letter-spacing:.13em}.app-footer .text-button{letter-spacing:0;font-size:11px}body:not(.scroll-mode){--header-height: 64px}body:not(.scroll-mode):not(.focus-mode) .reader-panel{padding-top:10px;padding-bottom:8px}body:not(.scroll-mode) .reader-toolbar{min-height:40px}body:not(.scroll-mode) .reading-caption{margin-top:10px;margin-bottom:8px}body:not(.scroll-mode) .reader-footer{margin-top:8px}body:not(.scroll-mode) .page-turn{min-height:36px}body:not(.scroll-mode) .progress-row{margin-top:4px}body:not(.scroll-mode) .reader-hint{min-height:20px;padding-top:6px}body:not(.scroll-mode) .app-footer{min-height:32px}.original-stage{display:grid;grid-template:minmax(0,1fr) / minmax(0,1fr);place-items:center;width:min(100%,1305px,calc((100dvh - 240px)*1.36));min-height:0;height:clamp(560px,calc(100dvh - 240px),960px);max-height:none;padding:24px;overflow:clip;background:#e8dfd1;box-shadow:inset 0 0 0 1px #4b392714}.original-stage canvas{display:block;width:auto;max-width:100%;height:auto;max-height:100%;object-fit:contain;background:#fff;box-shadow:0 3px 16px #231b1433}.original-stage.zoomed{place-items:start center}.original-stage.zoomed canvas{max-width:none}.scroll-stage{flex:1 1 auto;width:min(100%,800px);min-height:340px;max-height:calc(100dvh - 280px);height:auto;margin:0 auto;padding:10px 12px 24px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;scrollbar-color:#a99980 #e5dccb;scrollbar-width:thin}.scroll-stage::-webkit-scrollbar{width:10px}.scroll-stage::-webkit-scrollbar-track{background:#e5dccb}.scroll-stage::-webkit-scrollbar-thumb{border:2px solid #e5dccb;border-radius:8px;background:#a99980}.scroll-track{width:100%}.scroll-spacer{width:100%;min-height:1px}.scroll-page-slot{display:flex;justify-content:center;width:100%;margin:0 0 28px}.paper-page.scroll-page{width:min(100%,680px);min-height:620px;height:auto;max-height:none;padding:48px clamp(38px,6vw,70px) 32px;overflow:visible;background:var(--paper-light);box-shadow:0 3px 8px #392b2013,0 16px 30px #392b2017}.scroll-page .page-running-header{flex-shrink:0}.scroll-page .page-prose{flex:0 0 auto;min-height:0;overflow:visible;padding-right:0}.scroll-page .page-number{flex-shrink:0;margin-top:auto;padding-top:26px}.scroll-page .scanned-message{min-height:300px}.scroll-page.is-loading .page-prose{min-height:18rem;background:repeating-linear-gradient(180deg,transparent 0 1.7em,rgba(128,85,58,.055) 1.7em calc(1.7em + 1px))}.scroll-original{background:#f1eadc}.scroll-canvas-host{display:grid;place-items:center;width:100%;min-height:420px}.scroll-canvas-host canvas{display:block;width:100%;height:auto;background:#faf6eb;box-shadow:0 2px 12px #392b201f}.scroll-loading{display:grid;place-items:center;width:100%;min-height:360px;color:var(--ink-faint);background:linear-gradient(100deg,#80553a09,#faf6ebcc,#80553a09);font:italic 15px var(--serif)}.scroll-error{padding:24px;color:var(--ink-soft);text-align:center;font:15px/1.6 var(--serif)}.scroll-error .scroll-retry{margin-top:12px}body.scroll-mode .reader-panel{min-height:calc(100vh - var(--header-height) - 44px)}body.scroll-mode .book-stage{display:flex;flex:1 1 auto;flex-direction:column;align-items:stretch;min-height:340px;padding:0;overflow:hidden}body.scroll-mode .scroll-stage{max-height:calc(100dvh - 280px)}body.focus-mode.scroll-mode .scroll-stage{max-height:calc(100dvh - 120px)}body.dark-paper{--paper: #2c251e;--paper-light: #393027;--paper-edge: #4b4033;--ink: #eee3d0;--ink-soft: #cabb9f;--ink-faint: #aa9b82;--terracotta: #c5a37d;--terracotta-dark: #d4b18a;--rule: #55483a;--control: #393027;color-scheme:dark;background:#2c251e}body.dark-paper .primary-button{background:#80553a}body.dark-paper .primary-button:hover{background:#94684b}body.dark-paper .count{color:#eee3d0;background:#544632}body.dark-paper .app-header,body.dark-paper .app-footer{background:#332a21}body.dark-paper .contents-panel{background-color:#342a20;background-image:repeating-linear-gradient(0deg,transparent 0 7px,rgba(220,192,153,.025) 7px 8px)}body.dark-paper .paper-page{color:#eee3d0;background-color:#393027}body.dark-paper .left-page{background:linear-gradient(90deg,#393027 0% 94%,#322820)}body.dark-paper .right-page{background:linear-gradient(90deg,#322820,#393027 6% 100%)}body.dark-paper .page-prose{color:#eee3d0}body.dark-paper .view-switch,body.dark-paper .view-button.active,body.dark-paper .page-position input,body.dark-paper .drop-zone,body.dark-paper .layout-button.active{background-color:#393027}body.dark-paper .chapter-link.active{background:#80553a40}body.dark-paper .original-stage,body.dark-paper .scroll-original{background:#28221c}body.dark-paper .scroll-stage{scrollbar-color:#87745c #41362a}body.dark-paper .scroll-stage::-webkit-scrollbar-track{background:#41362a}body.dark-paper .scroll-stage::-webkit-scrollbar-thumb{border-color:#41362a;background:#87745c}body.dark-paper .scroll-page.is-loading .page-prose{background-image:repeating-linear-gradient(180deg,transparent 0 1.7em,rgba(220,192,153,.09) 1.7em calc(1.7em + 1px))}body.focus-mode .app-header,body.focus-mode .contents-panel,body.focus-mode .app-footer,body.focus-mode .reading-caption,body.focus-mode .progress-row,body.focus-mode .reader-hint{display:none}body.focus-mode .workspace{display:block;min-height:100vh}body.focus-mode .reader-panel{min-height:100vh;padding:18px clamp(18px,5vw,72px) 14px}body.focus-mode .reader-toolbar{position:relative;z-index:4}body.focus-mode .book-stage{min-height:0}body.focus-mode .book-spread{--book-height: clamp(560px, calc(100dvh - 150px) , 960px);width:min(100%,calc(var(--book-height) * 1.36))}body.focus-mode .paper-page{max-height:none}body.focus-mode .paper-page.scroll-page{height:auto;min-height:620px;max-height:none}body.focus-mode .reader-footer{margin-top:12px}body.focus-mode #focus-button:after{content:"Exit focus";position:absolute;right:12px;display:none;padding:5px 8px;color:var(--ink);background:var(--paper-light);font-size:10px}body.focus-mode #focus-button:hover:after,body.focus-mode #focus-button:focus-visible:after{display:block}.modal{width:min(600px,calc(100vw - 32px));max-width:600px;max-height:min(82vh,760px);padding:0;overflow:auto;border:1px solid rgba(87,69,51,.18);color:var(--ink);background:var(--paper-light);box-shadow:0 22px 70px #21191240}.modal:has(.shelf-list){width:min(640px,calc(100vw - 32px));max-width:640px}.modal::backdrop{background:#2820196b;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal-heading{position:sticky;z-index:2;top:0;display:flex;align-items:center;justify-content:space-between;min-height:67px;padding:10px 20px 10px 26px;border-bottom:1px solid var(--rule);background:var(--paper-light)}.modal-heading h2{margin:0;font:25px var(--serif)}.modal-heading .icon-button{font-size:25px}#modal-body{padding:22px 26px 26px}.modal-copy{margin:0 0 18px;color:var(--ink-soft);font:15px/1.65 var(--serif)}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-field{display:grid;gap:6px;margin:0 0 14px;color:var(--ink-soft);font-size:11px;font-weight:600}.form-field input{width:100%;min-width:0;height:40px;padding:0 11px;border:1px solid var(--rule);border-radius:1px;color:var(--ink);background:var(--paper-light);font-size:13px}.text-size-scrubber{cursor:ew-resize;touch-action:none;-webkit-user-select:none;user-select:none}.text-size-scrubber.is-scrubbing{color:var(--terracotta);background:var(--terracotta-wash)}.toolbar-text-size-ruler{position:absolute;z-index:8;top:calc(100% + 8px);right:0;width:190px;padding:10px 12px 9px;border:1px solid var(--rule);color:var(--ink);background:var(--paper-light);box-shadow:0 8px 20px #392b201f}.text-size-ruler-value{display:block;margin-bottom:7px;color:var(--ink-soft);font-size:12px;font-variant-numeric:tabular-nums}.text-size-ruler-track{position:relative;height:15px;border-bottom:1px solid var(--rule);background:repeating-linear-gradient(90deg,var(--rule) 0 1px,transparent 1px 12.5%)}.text-size-ruler-marker{position:absolute;bottom:-4px;left:var(--text-size-position);width:8px;height:8px;border-radius:50%;background:var(--terracotta);box-shadow:0 0 0 2px var(--paper-light);transform:translate(-50%)}.text-size-ruler-bounds{display:flex;justify-content:space-between;margin-top:5px;color:var(--ink-faint);font-size:10px;font-variant-numeric:tabular-nums}input:invalid:not(:placeholder-shown),input[aria-invalid=true]{border-color:#b54d3c;box-shadow:0 0 0 2px #b54d3c1f}.modal-actions{display:flex;justify-content:flex-end;align-items:center;gap:9px;margin-top:22px;padding-top:16px;border-top:1px solid var(--rule)}.secondary-button,.danger-button{min-height:39px;padding:0 14px;border:1px solid var(--rule);color:var(--ink-soft);background:transparent;font-size:12px}.secondary-button:hover{background:#5745330f}.danger-button{border-color:#cfb7a0;color:#80553a}.danger-button:hover{background:#eee1d3}.inline-note{margin:12px 0 0;color:var(--ink-faint);font-size:11px;line-height:1.55}.settings-group{padding:15px 0;border-bottom:1px solid var(--rule)}.settings-group:last-child{border-bottom:0}.settings-group h3{margin:0 0 11px;font:17px var(--serif)}.shelf-list{display:grid;gap:8px}.shelf-item{display:grid;grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:13px;padding:11px;border-bottom:1px solid var(--rule)}.shelf-cover{display:grid;place-items:center;width:42px;height:54px;color:#faf6eb;background:#80553a;box-shadow:2px 2px #d7c8b7;font:11px var(--serif)}.shelf-item:nth-child(3n+2) .shelf-cover{background:#71785a}.shelf-item:nth-child(3n) .shelf-cover{background:#806647}.shelf-info{min-width:0}.shelf-info strong{display:block;overflow:hidden;font:16px var(--serif);text-overflow:ellipsis;white-space:nowrap}.shelf-info small{display:block;margin-top:5px;color:var(--ink-faint);font-size:10px}.shelf-item-actions{display:flex;gap:4px}.shelf-open,.shelf-remove{min-height:35px;padding:0 10px;color:var(--terracotta);background:transparent;font-size:11px}.shelf-open:hover,.shelf-remove:hover{background:#5745330f}.shelf-remove{color:var(--ink-faint)}.empty-shelf{padding:30px 10px;color:var(--ink-faint);text-align:center;font:italic 17px var(--serif)}.loading-block{width:min(100%,360px);margin:16px auto;padding:26px 20px;text-align:center}.loading-block p{color:var(--ink-soft);font:16px/1.5 var(--serif)}.loading-meter{height:3px;overflow:hidden;background:var(--rule)}.loading-meter:before{display:block;width:38%;height:100%;content:"";background:var(--terracotta);animation:loading 1.25s ease-in-out infinite alternate}.toast{position:fixed;z-index:50;right:22px;bottom:22px;max-width:min(360px,calc(100vw - 32px));padding:13px 17px;border-left:3px solid var(--terracotta);color:#fbf7f0;background:#352c24;box-shadow:0 8px 25px #221a132e;font-size:12px;line-height:1.5}@keyframes loading{0%{transform:translate(-35%)}to{transform:translate(225%)}}@media(max-width:1100px){:root{--sidebar-width: 210px}.contents-panel{padding-right:17px;padding-left:22px}.reader-panel{padding-right:28px;padding-left:28px}.book-spread{width:min(100%,calc(var(--book-height) * 1.36))}.paper-page{padding-right:clamp(29px,4.3vw,49px);padding-left:clamp(29px,4.3vw,49px)}.chapter-title{font-size:32px}}@media(max-width:820px){:root{--header-height: 72px}.workspace{display:block;min-height:calc(100vh - var(--header-height) - 44px)}.contents-panel{position:fixed;z-index:20;inset:var(--header-height) auto 0 0;width:min(310px,calc(100vw - 52px));padding:32px 24px 22px;overflow:auto;border-right:1px solid var(--rule);background:var(--paper);box-shadow:14px 0 34px #2b211721;transform:translate(-105%);visibility:hidden;transition:transform .24s ease,visibility .24s}.contents-close{position:absolute;top:12px;right:12px;display:inline-grid}body.contents-open .contents-panel{transform:translate(0);visibility:visible}body.contents-open:after{position:fixed;z-index:19;inset:var(--header-height) 0 0;content:"";background:#271f184d}.mobile-contents{display:inline-flex;align-items:center;margin-right:12px;padding:0 10px}.reader-panel{min-height:calc(100vh - var(--header-height) - 44px);padding:14px 26px 8px}.book-spread{--book-height: clamp(560px, calc(100dvh - 285px) , 960px);grid-template-columns:minmax(0,1fr);width:min(100%,calc(var(--book-height) * .68));height:var(--book-height);min-height:0}body.focus-mode .book-spread{width:min(100%,calc(var(--book-height) * .68))}.paper-page{height:100%;padding:42px clamp(42px,9vw,74px) 28px}.right-page{display:none}.left-page{background:#faf6eb}.left-page:after{display:none}body.dark-paper .left-page{background:#393027}.book-stage{min-height:580px}body.focus-mode .left-page{display:flex}.original-stage{width:min(100%,680px,calc((100dvh - 190px)*.68));height:clamp(560px,calc(100dvh - 190px),960px)}.scroll-stage,body.scroll-mode .scroll-stage{width:100%;min-height:320px;max-height:calc(100dvh - 300px);padding:8px 6px 18px}.paper-page.scroll-page{min-height:500px;padding:38px clamp(25px,7vw,48px) 28px}body.focus-mode.scroll-mode .scroll-stage{max-height:calc(100dvh - 120px)}}@media(max-width:500px){:root{--reading-size: 16px}.app-header{padding:0 14px}.brand{gap:7px;font-size:23px}.brand svg{width:25px;height:25px}.header-motto{display:none}.header-actions{gap:3px}.header-actions .quiet-button{min-height:39px;padding:0 9px;font-size:11px}.header-actions .primary-button{min-height:39px;padding:0 11px;font-size:11px}.reader-panel{padding:9px 10px 7px}.reader-toolbar{display:grid;grid-template-columns:max-content minmax(0,1fr) max-content;align-items:center;gap:3px;min-height:0}.mobile-contents{grid-column:1;grid-row:1;margin-right:4px;padding:0 7px;font-size:10px}.view-switch{grid-column:2;grid-row:1;padding:2px}.view-button{min-height:30px;padding:0 5px;font-size:9px;white-space:nowrap}.reading-tools{grid-column:3;grid-row:1;gap:0;margin-left:0}.reading-tools .icon-button{width:30px;height:36px}.type-button{min-width:30px;padding:0 4px}.reading-layout-switch{grid-column:1 / -1;grid-row:2;justify-self:center;gap:4px;margin:2px 0 0;padding:4px 0 0;border-top:1px solid var(--rule);border-left:0}.layout-button{min-height:31px;padding:0 7px;font-size:9px;white-space:nowrap}.reading-caption{margin-top:12px;font-size:8px}.book-stage{min-height:0}.book-spread{width:min(100%,calc(var(--book-height) * .68));min-height:0}.paper-page{height:100%;padding:32px 25px 26px}.scroll-stage,body.scroll-mode .scroll-stage{max-height:calc(100dvh - 300px)}.paper-page.scroll-page{min-height:500px;max-height:none;padding:32px 22px 26px}body.focus-mode .paper-page.scroll-page{min-height:500px}body.focus-mode.scroll-mode .scroll-stage{max-height:calc(100dvh - 120px)}.page-running-header{margin-bottom:20px}.chapter-title{font-size:clamp(29px,9vw,35px)}.chapter-ornament{margin:18px 0 20px}.page-prose{line-height:1.72}.reader-footer{margin-top:7px}.page-turn{gap:5px;min-height:39px;padding:0 2px;font-size:10px}.page-position{gap:5px;font-size:10px}.page-position input{width:38px;height:30px}.progress-row{grid-template-columns:minmax(65px,1fr) minmax(45px,1.2fr) 30px;gap:8px;margin-top:2px;font-size:9px}.reader-hint{gap:5px;font-size:8px}.app-footer{min-height:40px;padding:0 14px;font-size:7px}.app-footer .text-button{font-size:10px}.modal-heading{min-height:58px;padding:8px 14px 8px 19px}.modal-heading h2{font-size:22px}#modal-body{padding:18px 18px 20px}.field-row{grid-template-columns:1fr;gap:0}.shelf-item{grid-template-columns:38px minmax(0,1fr);gap:10px}.shelf-cover{width:36px;height:48px}.shelf-item-actions{grid-column:2}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.page-turn-layer{perspective:none}.page-turn-leaf:after{display:none}}body.scroll-mode .workspace{height:calc(100dvh - var(--header-height) - 44px);min-height:470px}body.scroll-mode .contents-panel{min-height:0;padding-top:28px;padding-bottom:16px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#a99980 transparent}body.scroll-mode .contents-panel .book-meta{margin-top:18px;margin-bottom:20px}body.scroll-mode .contents-panel .drop-zone{padding-top:12px;padding-bottom:12px}body.scroll-mode .contents-panel .privacy-note{padding-top:12px}body.dark-paper.scroll-mode .contents-panel{scrollbar-color:#87745c transparent}body.scroll-mode .reader-panel{height:100%;min-height:0}body.scroll-mode .book-stage{display:flex;flex-direction:column;flex:1 1 0;min-height:0}body.scroll-mode .scroll-stage{flex:1 1 0;height:100%;min-height:0;max-height:none}body.focus-mode.scroll-mode .workspace{height:100dvh;min-height:420px}@media(max-width:820px){body.scroll-mode .contents-panel{height:auto}}
