:root{--ink:#263c32;--muted:#7b827b;--border:#e5e8df;--paper:#fffef9;--accent:#31513e}*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:#fcfcf8;font-size:13px}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button{transition:background .18s,opacity .18s}button:disabled{opacity:.3;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #b0b98a;outline-offset:3px}button:hover:not(:disabled){filter:brightness(.96)}svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.symbols{position:absolute;width:0;height:0}header{height:80px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:26px;padding:0 32px;background:#fffefb}.brand{font-family:Georgia,serif;font-weight:bold;letter-spacing:-2px;font-size:38px;text-decoration:none;color:var(--ink);display:flex;align-items:center;gap:11px}.brand-icon{background:#e9eedf;border-radius:11px;width:37px;height:37px;display:grid;place-items:center}.brand-icon svg{width:23px;height:23px}.brand-dot{color:#9aa878;margin-left:-10px}.divider{height:24px;width:1px;background:var(--border)}.studio-label{font-size:13px;display:flex;align-items:center;gap:13px}.pill{font-size:9px;letter-spacing:1px;background:#f0f2e8;border:1px solid #e2e6d8;padding:5px 7px;border-radius:4px;color:#72805c}.header-actions{margin-left:auto;display:flex;gap:22px;align-items:center}.primary,.outline{display:flex;gap:9px;align-items:center;border-radius:7px;padding:12px 17px;font-weight:600}.primary{background:#304c3b;color:white;border:1px solid #304c3b}.quiet{border:0;background:none;color:#737d72}.outline{background:#fffefb;border:1px solid #dfe3d8}.app{display:flex;min-height:calc(100vh - 80px)}aside{width:248px;flex-shrink:0;border-right:1px solid var(--border);padding:27px 20px 20px;background:#fffefb;display:flex;flex-direction:column;max-height:calc(100vh - 80px)}.aside-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px;font-weight:600}.aside-heading>span:first-child{display:flex;gap:9px;align-items:center}.count{background:#f0f2eb;border-radius:5px;padding:4px 8px;color:#69785f;font-size:11px}.file-card{display:flex;gap:10px;align-items:center;border-bottom:1px solid var(--border);padding-bottom:20px;margin-bottom:18px}.pdf-icon{font-size:9px;font-weight:bold;border:1px solid #dedbcd;border-radius:4px;padding:13px 7px;color:#8a8169;background:#faf8f1}.file-card strong{font-size:12px;display:block;max-width:148px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-card small{display:block;margin-top:7px;color:#969b90;font-size:10px}#thumbs{display:grid;grid-template-columns:1fr 1fr;gap:16px 12px;overflow:auto;align-content:start;padding:3px 5px 8px;flex:1;min-height:120px}.thumb{border:0;background:none;padding:0;display:flex;align-items:center;flex-direction:column;gap:8px;color:#9a9d93;font-size:10px}.thumb img{width:100%;aspect-ratio:3/4;object-fit:contain;background:#eee;box-shadow:0 2px 5px #17271810;border-radius:2px;border:3px solid transparent}.thumb.active img{border-color:#516a44;outline:2px solid #e5ebdb}.thumb.active{color:#3f5936;font-weight:bold}.demo-button{display:flex;align-items:center;gap:8px;border:1px solid var(--border);padding:12px 9px;background:#f7f8f1;border-radius:6px;margin-top:18px;font-size:11px}.demo-button span{margin-left:auto}.local-note{font-size:9px;color:#8e9587;margin-top:15px;text-align:center}.dot{display:inline-block;height:6px;width:6px;border-radius:50%;background:#8d9b69;margin-right:6px}main{min-width:0;flex:1;padding:33px 42px 16px;display:flex;flex-direction:column;height:calc(100vh - 80px);min-height:650px}.document-heading{display:flex;justify-content:space-between;align-items:center;gap:20px}.eyebrow{font-size:9px;letter-spacing:1.8px;color:#89937f;font-weight:600}h1{font-family:Georgia,serif;font-weight:normal;letter-spacing:-.7px;font-size:32px;margin:10px 0 7px;overflow-wrap:anywhere}p{line-height:1.7}.document-heading p{font-size:12px;color:#8b9187;margin:0}.reader-topline{display:flex;justify-content:space-between;align-items:center;margin:25px 0 13px;font-size:10px;color:#868f7d}.ready{display:flex;align-items:center}.appearance{display:flex;align-items:center;gap:8px}.appearance>span{margin-right:6px}.swatch{height:16px;width:16px;border:2px solid #fff;border-radius:50%}.swatch.selected{outline:1px solid #8c9783}.sand{background:#e9e8de}.sage{background:#aebba5}.dark{background:#3e4a43}.stage{position:relative;border-radius:10px 10px 0 0;background:#eeeee5;background-image:radial-gradient(ellipse at center,#f6f5ee,#e7e9df);flex:1;min-height:310px;overflow:hidden;display:flex;align-items:center;justify-content:center;transition:background .2s}.stage[data-theme=sage]{background:#c1cdbc}.stage[data-theme=dark]{background:#34443c}#zoomArea{position:absolute;inset:0;overflow:hidden;overflow:clip;display:grid;place-items:center;padding:28px 70px}#bookMount{position:relative;filter:drop-shadow(0 14px 16px #1c33212b)}.page{background:#fffdf6;overflow:hidden}.page img{width:100%;height:100%;object-fit:contain;user-select:none;pointer-events:none}.page.loading img{visibility:hidden}.page.loading::after{content:"";position:absolute;left:50%;top:50%;width:26px;height:26px;margin:-13px 0 0 -13px;border:2px solid #d3d9c8;border-top-color:#496240;border-radius:50%;animation:spin .8s linear infinite}.page-arrow{z-index:8;position:absolute;top:calc(50% - 19px);width:38px;height:38px;background:#fffefa;border:1px solid #dfe2d6;border-radius:50%;display:grid;place-items:center;box-shadow:0 3px 9px #314d3a08}.page-arrow.left{left:20px}.page-arrow.left svg{transform:rotate(180deg)}.page-arrow.right{right:20px}.toolbar{display:flex;align-items:center;justify-content:space-between;padding:12px 19px;border:1px solid #e4e7dc;border-top:0;border-radius:0 0 10px 10px;background:#fffefb}.tools-left,.page-nav{display:flex;align-items:center;gap:6px}.icon-btn{display:grid;place-items:center;width:30px;height:30px;border:0;background:none;font-size:20px;border-radius:4px}.zoom-label{border:0;background:none;font-size:11px;width:43px;color:#727e69}.tool-divider{height:18px;width:1px;background:var(--border);margin:0 8px}.page-nav{font-size:11px;color:#7e8876;gap:9px}.page-nav input{border:1px solid #e2e6d8;border-radius:5px;background:#f9faf5;width:40px;text-align:center;padding:6px 2px;color:#42553a;appearance:textfield}.page-nav input::-webkit-inner-spin-button{appearance:none}.reader-footer{display:flex;justify-content:space-between;align-items:center;color:#92998b;font-size:10px;padding-top:17px;gap:15px}.reader-footer b{font-weight:normal;margin:0 6px}kbd{font-family:inherit;border:1px solid #dce1d5;padding:1px 4px;border-radius:3px}.tiny-star{font-size:18px;margin-left:8px;color:#8b9b72}.loading{position:absolute;inset:0;z-index:12;background:#eeeee5eF;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:16px}.loading small{color:#8b9482;font-size:11px}.loading[hidden]{display:none}.spinner{height:28px;width:28px;border:2px solid #d3d9c8;border-top-color:#496240;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}#dropOverlay{display:none;position:absolute;inset:10px;z-index:20;border:2px dashed #637c50;border-radius:9px;background:#f3f7e8f5;align-items:center;justify-content:center;flex-direction:column;gap:14px}#dropOverlay svg{height:40px;width:40px}.dragover #dropOverlay{display:flex}.sidebar-hidden aside{display:none}#toast{position:fixed;bottom:26px;left:50%;transform:translateX(-50%);padding:14px 22px;max-width:90vw;background:#283f32;color:white;z-index:100;border-radius:8px;font-size:13px;box-shadow:0 8px 30px #0002}dialog{max-width:510px;width:90%;padding:38px;border:1px solid #e4e6da;border-radius:14px;background:#fffef8;color:var(--ink)}dialog::backdrop{background:#24382e70;backdrop-filter:blur(4px)}dialog h2{font-family:Georgia,serif;font-size:29px;font-weight:normal}dialog li{line-height:1.7;margin-bottom:8px}dialog ol{padding-left:20px}.muted{font-size:12px;color:#87907e}dialog a{color:#395535}.close{position:absolute;right:15px;top:10px;border:0;background:none;font-size:26px}main:fullscreen{background:#fbfcf6;height:100vh;padding:22px 42px;min-height:0}main:fullscreen .stage{min-height:0}body.busy #import,body.busy #demo{pointer-events:none;opacity:.5}@media(max-width:1000px){aside{width:200px;padding:23px 15px}main{padding:27px 25px 16px}.reader-footer>span:last-child{display:none}.studio-label{font-size:12px}.pill{display:none}}@media(max-width:720px){header{height:66px;padding:0 16px;gap:14px}.brand{font-size:32px}.brand-icon{height:30px;width:30px}.studio-label,.divider,.quiet{display:none}.header-actions{gap:0}.primary{font-size:11px;padding:10px 12px}.app{min-height:calc(100dvh - 66px)}aside{display:none;position:absolute;left:0;top:66px;bottom:0;max-height:none;z-index:25;width:215px;box-shadow:8px 0 30px #263c3220}body.mobile-sidebar aside{display:flex}main{height:calc(100dvh - 66px);min-height:580px;padding:23px 16px 14px}.eyebrow{font-size:8px}h1{font-size:27px}.document-heading p{font-size:11px}.document-heading .outline{padding:10px}.outline span{display:none}.reader-topline{margin-top:23px}.stage{min-height:300px}#zoomArea{padding:25px 40px}.page-arrow{width:29px;height:29px}.page-arrow.left{left:6px}.page-arrow.right{right:6px}.toolbar{padding:10px 6px}.tools-left{gap:0}.tool-divider{margin:0 3px}.page-nav{gap:3px}.page-nav label{display:none}.reader-footer{font-size:9px;justify-content:center}.appearance{gap:6px}main:fullscreen{padding:15px}.loading strong{font-size:12px}.loading small{font-size:10px}}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition:none!important}}
#zoomArea{display:flex;align-items:flex-start;justify-content:flex-start}#bookMount{margin:auto;flex-shrink:0}

.view-mode{font-size:9px;border:1px solid #dce2d2;border-radius:4px;padding:3px 6px;margin-right:8px;color:#657b56;white-space:nowrap}
.stage #bookMount{touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;cursor:grab}
.stage[data-dragging="true"] #bookMount{cursor:grabbing}
.stage[data-zoomed="true"] #bookMount{touch-action:pan-x pan-y}
@media(max-width:720px){.ready{font-size:9px}.appearance>span{display:none}.reader-footer{line-height:1.6;text-align:center}.view-mode{font-size:8px;margin-right:6px}main{min-height:0}.stage{min-height:240px}}

.document-actions{display:flex;align-items:center;gap:9px}.document-actions .primary{padding:12px 16px}
.shared-error{position:absolute;inset:0;z-index:22;background:#eeeee5;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:28px}.shared-error[hidden]{display:none}.shared-error strong{font-size:21px}.shared-error p{max-width:420px;color:#708065}.shared-error a{color:#31513e}
#shareDialog{max-width:580px;max-height:90dvh;overflow:auto}#shareDialog h2{line-height:1.2}#shareDialog [hidden]{display:none!important}#shareDialog h3{font-size:14px;font-weight:600;margin-top:24px}.share-policy{background:#f0f3e8;border-radius:7px;padding:13px;font-size:12px;color:#637457}#shareResult label{display:block;font-size:11px;margin-bottom:8px;color:#728067}#shareUrl{width:100%;padding:12px;border:1px solid #dce2d1;border-radius:6px;background:#f7f8f2;color:#405738;font-size:12px}.share-buttons{display:flex;gap:8px;flex-wrap:wrap;margin-top:13px}#shareStatus{font-size:12px;color:#4e6b43;min-height:18px}.revoke{border:0;background:none;color:#98604c;font-size:12px;padding:0;text-decoration:underline}.shared-item{border-top:1px solid #e5e8de;padding:12px 0}.shared-item a,.shared-item>span{display:block;overflow-wrap:anywhere}.shared-item small{display:block;margin-top:6px;color:#8a9480;font-size:10px}#sharedList{max-height:240px;overflow:auto;font-size:12px}.login-link{display:inline-flex;text-decoration:none;color:white}.guest-reader #import,.guest-reader #demo{display:none}.guest-reader .studio-label{visibility:hidden}.guest-reader #localNote{color:#718165}#savedShares[hidden]{display:none}
@media(max-width:720px){.document-actions{gap:6px}.document-actions .primary{padding:10px;font-size:11px}.document-heading{gap:8px}.document-heading h1{font-size:24px}#savedShares{display:block;font-size:10px}#savedShares[hidden]{display:none}#shareDialog{padding:28px 22px}.header-actions{gap:10px}}

/* Shared links expose only the page stage and the reader toolbar. */
.toolbar-right{display:flex;align-items:center;gap:14px}
.reader-theme{display:none;font:inherit;padding:8px 10px;border:1px solid #d8ddd4;border-radius:6px;background:#fff;color:#334037;cursor:pointer}
.shared-view body{overflow:hidden;background:#f0f1ee}
.shared-view body>header,.shared-view #sidebar,.shared-view .document-heading,.shared-view .reader-topline,.shared-view .reader-footer,.shared-view #toggleSidebar,.shared-view .tool-divider,.shared-view #dropOverlay,.shared-view .shared-error a{display:none!important}
.shared-view .app{height:100vh;height:100dvh;min-height:0}
.shared-view #reader,.shared-view #reader:fullscreen{height:100%;min-height:0;width:100%;padding:0;background:#f0f1ee}
.shared-view #stage{border-radius:0;min-height:0;background:#f0f1ee}
.shared-view .toolbar{flex-shrink:0;border:0;border-top:1px solid #dce0da;border-radius:0;padding:12px max(20px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));background:#fafbf9;color:#334037;gap:12px}
.shared-view .reader-theme{display:block}
.shared-view .loading,.shared-view .shared-error{background:#f0f1ee}
.shared-view .page-arrow{background:#fafbf9;border-color:#dce0da;color:#334037}
.shared-view[data-reader-theme="dark"] body,.shared-view[data-reader-theme="dark"] #reader,.shared-view[data-reader-theme="dark"] #stage,.shared-view[data-reader-theme="dark"] .loading,.shared-view[data-reader-theme="dark"] .shared-error{background:#191c20;color:#e7e9ed}
.shared-view[data-reader-theme="dark"] .toolbar{background:#23272c;border-color:#353b42;color:#e7e9ed}
.shared-view[data-reader-theme="dark"] .reader-theme,.shared-view[data-reader-theme="dark"] #pageInput,.shared-view[data-reader-theme="dark"] .page-arrow{background:#2d333a;border-color:#444b54;color:#e7e9ed}
.shared-view[data-reader-theme="dark"] .zoom-label,.shared-view[data-reader-theme="dark"] .page-nav,.shared-view[data-reader-theme="dark"] .loading small,.shared-view[data-reader-theme="dark"] .shared-error p{color:#b9c0c9}
.shared-view[data-reader-theme="dark"] .spinner{border-color:#444b54;border-top-color:#d9dfe7}
.shared-item-actions{display:flex;align-items:center;gap:16px;margin-top:10px}.shared-item-actions>button{font-size:11px;background:transparent;border:0;padding:4px 0;color:#526d43}.shared-item-actions>.revoke{color:#98604c}
@media(max-width:600px){
 .shared-view .toolbar{gap:4px;padding:10px max(7px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(7px,env(safe-area-inset-left))}
 .shared-view .toolbar-right{gap:3px}.shared-view .icon-btn{width:27px;height:34px}.shared-view .zoom-label{width:38px;font-size:10px}
 .shared-view .page-nav{gap:3px;font-size:10px}.shared-view .page-nav label{display:none}.shared-view #pageInput{width:31px}
 .shared-view .tools-left{gap:0}.shared-view .reader-theme{padding:7px 3px;font-size:11px;max-width:67px}
}

#logout[hidden]{display:none!important}

/* Scroll only the enlarged book. Its animated sheets must not resize the scroll area. */
.stage[data-zoomed="true"] #zoomArea { overflow: auto; }
.stage[data-zoomed="true"] #bookMount { contain: paint; }

/* WrapURL: guest download button (shown when the owner allows it) and the sharing option. */
#guestDownload[hidden]{display:none!important}
.share-download{display:flex;align-items:center;gap:8px;font-size:12px;color:#637457;margin:0 0 14px}

/* WrapURL palette for the reader (shared view): neutral slate surfaces, brand blue accents. */
.shared-view body,.shared-view #reader,.shared-view #reader:fullscreen,.shared-view #stage,.shared-view .loading,.shared-view .shared-error{background:#f1f5f9;color:#111827}
.shared-view .toolbar{background:#fff;border-top-color:#e5e7eb;color:#374151}
.shared-view .page-arrow{background:#fff;border-color:#e5e7eb;color:#374151;box-shadow:0 1px 3px rgba(15,23,42,.12)}
.shared-view .page-arrow:hover:not(:disabled){color:#00a3e4;border-color:#00a3e4}
.shared-view .icon-btn:hover:not(:disabled){background:#f3f4f6;color:#00a3e4}
.shared-view .zoom-label,.shared-view .page-nav{color:#6b7280}
.shared-view .page-nav input{background:#f9fafb;border-color:#d1d5db;color:#111827}
.shared-view .reader-theme{border-color:#d1d5db;color:#374151}
.shared-view .spinner{border-color:#e5e7eb;border-top-color:#00a3e4}
.shared-view .loading small,.shared-view .shared-error p{color:#6b7280}
.shared-view button:focus-visible,.shared-view a:focus-visible,.shared-view input:focus-visible,.shared-view select:focus-visible{outline-color:#7dd3fc}
.shared-view[data-reader-theme="dark"] body,.shared-view[data-reader-theme="dark"] #reader,.shared-view[data-reader-theme="dark"] #stage,.shared-view[data-reader-theme="dark"] .loading,.shared-view[data-reader-theme="dark"] .shared-error{background:#0f172a;color:#e5e7eb}
.shared-view[data-reader-theme="dark"] .toolbar{background:#1e293b;border-top-color:#334155;color:#e5e7eb}
.shared-view[data-reader-theme="dark"] .reader-theme,.shared-view[data-reader-theme="dark"] .page-nav input,.shared-view[data-reader-theme="dark"] .page-arrow{background:#334155;border-color:#475569;color:#e5e7eb}
.shared-view[data-reader-theme="dark"] .icon-btn:hover:not(:disabled){background:#334155}
.shared-view[data-reader-theme="dark"] .zoom-label,.shared-view[data-reader-theme="dark"] .page-nav,.shared-view[data-reader-theme="dark"] .loading small,.shared-view[data-reader-theme="dark"] .shared-error p{color:#94a3b8}

/* Swipe view (phones, when the book's owner chose it; swipe-view.js). */
.stage[data-layout=swipe] #zoomArea{padding:12px 0}.stage[data-layout=swipe] #bookMount{filter:none;touch-action:auto;cursor:auto}.swipe{width:100%;height:100%;overflow:hidden;touch-action:pan-y pinch-zoom;user-select:none;-webkit-user-select:none}.swipe-track{position:relative;height:100%;will-change:transform}.swipe-slide{position:absolute;top:0;height:100%;display:flex;align-items:center;justify-content:center;transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden}.swipe-page{position:relative;flex:none;background:#fffdf6;box-shadow:0 6px 14px #1c33211f}.swipe-page img{display:block;width:100%;height:100%;object-fit:contain;user-select:none;pointer-events:none}.swipe-page.loading img{visibility:hidden}.swipe-page.loading::after{content:"";position:absolute;left:50%;top:50%;width:26px;height:26px;margin:-13px 0 0 -13px;border:2px solid #d3d9c8;border-top-color:#496240;border-radius:50%;animation:spin .8s linear infinite}
