:root{--paper:#f6f4ed;--surface:#fffefa;--ink:#243d33;--muted:#53685c;--line:#c8d3c8;--accent:#77521c;--wash:#e9eee5;color-scheme:light}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 system-ui,-apple-system,"PingFang SC",sans-serif}body[data-theme=white]{--paper:#fff;--surface:#fff;--line:#bdcbbf}body[data-theme=night]{color-scheme:dark;--paper:#18271f;--surface:#23382d;--ink:#edf2e8;--muted:#c1cdbf;--line:#577260;--accent:#e4c484;--wash:#30483a}[hidden]{display:none!important}a{color:inherit;text-underline-offset:4px}button,input,select{font:inherit;color:var(--ink)}button,.button,input,select{min-height:44px;padding:8px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}button,.button{cursor:pointer}button[aria-pressed=true],.primary{background:var(--ink);color:var(--paper)}button:disabled,[aria-disabled=true]{opacity:.55;cursor:default}a.button{display:inline-flex;align-items:center;text-decoration:none}.button.primary{border-color:var(--ink)}:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.skip{position:absolute;top:-200px}.skip:focus{top:8px;left:8px;z-index:100;background:var(--surface);padding:12px}header,main,footer{max-width:1280px;margin:auto;padding:18px 24px}header{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line)}header a{display:inline-flex;align-items:center;min-height:44px}nav,.tools,.pagination,.theme,.volume-links{display:flex;align-items:center;gap:8px;flex-wrap:wrap}h1,h2{font-family:"Songti SC","Noto Serif CJK SC",serif;font-weight:500;line-height:1.4}h1{font-size:clamp(28px,4vw,44px);margin:12px 0}h2{font-size:24px}p{margin:.6rem 0 1rem}.muted,.small{color:var(--muted)}.small{font-size:14px}.eyebrow{font-size:12px;letter-spacing:.12em;color:var(--accent)}.notice{padding:16px 18px;background:var(--wash);border:1px solid var(--line);border-radius:14px}.book-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:24px}.book-card{padding:24px;border:1px solid var(--line);border-radius:18px;background:var(--surface);overflow-wrap:anywhere}.book-card h2{margin-top:0}.book-card dl{font-size:14px}.book-card dt{font-weight:650}.book-card dd{margin:0 0 10px}.metadata{border:1px solid var(--line);border-radius:12px;padding:12px 16px;margin:16px 0;background:var(--surface);overflow-wrap:anywhere}summary{min-height:44px;cursor:pointer;padding:8px 0}.reader-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.reader-title p{margin-bottom:4px}.pagination{justify-content:space-between;padding:12px 0}.page-label{margin:0;font-variant-numeric:tabular-nums}.jump-form{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.jump-form input{width:88px}.tools{padding:12px 0;justify-content:space-between}.zoom-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.zoom-tools input{width:140px;min-height:44px}.zoom-tools output{font-size:14px;font-variant-numeric:tabular-nums}.image-stage{width:100%;max-height:calc(100dvh - 200px);min-height:220px;overflow:auto;border:1px solid var(--line);background:#e3ded1;border-radius:12px;overscroll-behavior:contain;touch-action:pan-x pan-y;scrollbar-gutter:stable}.image-stage img{display:block;width:100%;max-width:100%;height:auto;user-select:none;-webkit-user-drag:none}.image-stage[data-zoomed=true]{cursor:grab}.image-stage[data-dragging=true]{cursor:grabbing}.volume-links a{display:inline-flex;min-height:44px;align-items:center;padding:8px 12px;border:1px solid var(--line);border-radius:10px}.volume-links a[aria-current]{background:var(--ink);color:var(--paper)}#image-status{min-height:1.7em}footer{border-top:1px solid var(--line);font-size:14px;margin-top:24px}.privacy-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:20px}.reader-note{max-width:70ch}.book-count{font-variant-numeric:tabular-nums}.error{border:2px solid var(--accent);padding:16px;border-radius:12px}#original-zoom-label{min-width:130px}
@media(max-width:700px){header,main,footer{padding:14px 16px}.book-grid{grid-template-columns:minmax(0,1fr)}.reader-head{display:block}.tools{gap:16px}.zoom-tools{width:100%}.image-stage{max-height:65dvh;min-height:180px}.book-card{padding:20px}.pagination .button{padding-inline:12px}.theme{gap:6px}.theme button{min-width:52px}.jump-form{width:100%}.privacy-tools{align-items:flex-start}.notice{padding:14px}}
@media(max-width:360px){header,main,footer{padding-inline:10px}.zoom-tools input{width:100px}.pagination{gap:8px}.pagination .page-label{width:100%;order:-1;text-align:center}.book-card{padding:16px}}
@media(prefers-reduced-motion:no-preference){button,.button{transition:background-color .15s ease,border-color .15s ease}button:active,.button:active{transform:translateY(1px)}}@media(forced-colors:active){button[aria-pressed=true],[aria-current]{outline:2px solid Highlight}.image-stage{border:2px solid CanvasText}}

.reader-caption{margin:.4rem 0}.volume-links{flex-wrap:nowrap;overflow-x:auto;padding-bottom:5px}.volume-links a{flex-shrink:0;white-space:nowrap;font-size:14px}.metadata>.notice{margin-top:8px}.reader-head h1{margin-bottom:6px}
/* Image-reader-only canvas: catalogue layout and image pixels remain unchanged. */
body[data-original-reader=true]{height:100vh;height:100dvh;overflow:hidden}
body[data-original-reader=true]>header,body[data-original-reader=true]>footer{display:none}
body[data-original-reader=true] #originals-app{position:relative;max-width:none;width:100%;height:100%;padding:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:0}
.reader-toolbar{grid-row:1;display:flex;align-items:center;gap:8px;padding:6px 12px;border-bottom:1px solid var(--line);background:var(--surface);min-width:0}
.reader-back{white-space:nowrap;min-height:44px;display:inline-flex;align-items:center;font-size:14px}
.reader-toolbar .pagination{flex:1;padding:0;min-width:0;flex-wrap:nowrap;gap:8px}
.reader-toolbar .pagination .button{white-space:nowrap;padding:6px 10px}
.reader-toolbar .page-label{font-size:14px;white-space:nowrap;text-align:center}
body[data-original-reader=true] .image-stage{grid-row:2;height:100%;max-height:none;min-height:0;border:0;border-radius:0;scrollbar-gutter:auto}
body[data-original-reader=true] .image-stage img{max-width:none}
.reader-status{grid-row:3;display:flex;gap:10px;align-items:center;justify-content:space-between;padding:4px 12px;background:var(--surface);border-top:1px solid var(--line);min-width:0}
.reader-status p{margin:0;font-size:12px;line-height:1.4;overflow-wrap:anywhere}
.reader-status a{font-size:12px;flex-shrink:0;max-width:35%;overflow-wrap:anywhere}
.reader-status button{font-size:12px;padding:4px 8px}
.reader-settings{position:absolute;z-index:5;right:8px;top:60px;width:min(650px,calc(100% - 16px));max-height:calc(100dvh - 120px);overflow:auto;overscroll-behavior:contain;padding:12px 18px;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:0 8px 28px #0002}
.immersive-enhanced .reader-settings:not([open]){display:none}
body[data-original-reader=true] .privacy-tools{margin:12px 0 0}
body[data-original-reader=true] #originals-app>.privacy-tools{position:absolute;top:100%;visibility:hidden}
.reader-settings .privacy-tools{visibility:visible}
body[data-original-reader=true] noscript{position:absolute;bottom:60px;left:8px;right:8px;pointer-events:none}
body[data-original-reader=true] noscript p{padding:5px;font-size:12px}
.image-stage[aria-busy=true]{cursor:progress}

.image-stage[data-zoom="100"] img{width:100%}
.image-stage[data-zoom="125"] img{width:125%}
.image-stage[data-zoom="150"] img{width:150%}
.image-stage[data-zoom="175"] img{width:175%}
.image-stage[data-zoom="200"] img{width:200%}
.image-stage[data-zoom="225"] img{width:225%}
.image-stage[data-zoom="250"] img{width:250%}
.image-stage[data-zoom="275"] img{width:275%}
.image-stage[data-zoom="300"] img{width:300%}
.image-stage[data-zoom="325"] img{width:325%}
.image-stage[data-zoom="350"] img{width:350%}
.image-stage[data-zoom="375"] img{width:375%}
.image-stage[data-zoom="400"] img{width:400%}
@media(max-width:700px){.reader-toolbar{gap:5px;padding:5px 8px;flex-wrap:wrap}.reader-toolbar .pagination{order:2;flex-basis:100%}.reader-toolbar .page-label{width:auto;order:initial;font-size:13px}.reader-toolbar .button{font-size:14px}.reader-toolbar #original-more{margin-left:auto}.reader-settings{top:110px;max-height:calc(100dvh - 160px)}.reader-status{padding:4px 8px;gap:6px}.reader-status a{max-width:30%}}
