:root{color-scheme:light;--ink:#182f35;--gold:#d3bb81;--paper:#e9e9e7}
*{box-sizing:border-box}
body{margin:0;font:14px/1.5 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink)}
button,input,a{font:inherit;-webkit-tap-highlight-color:transparent}
button{cursor:pointer}
button:disabled{opacity:.35;cursor:default}
button:focus-visible,a:focus-visible,input:focus-visible,#stage:focus-visible,.publication-summary:focus-visible{outline:3px solid #b18b38;outline-offset:3px}
[hidden]{display:none!important}
.reader-body{background:var(--paper);overflow:hidden}
#reader{position:relative;width:100%;height:100dvh;isolation:isolate}
.reader-stage{position:absolute;inset:0;z-index:2;pointer-events:none;display:flex;justify-content:center;align-items:center;overflow:hidden;padding:20px 40px}
.reader-stage #book{width:100%;height:100%}
#book-viewport{flex:none;position:relative}
#book-surface{position:relative;transform-origin:top left}
#book.book-sliding{transition:transform 650ms cubic-bezier(.25,.46,.45,.94)}
.pdf-page{pointer-events:auto;background:white;box-shadow:inset 0 0 20px #00000008;overflow:hidden;display:flex;align-items:center;justify-content:center}
.pdf-page canvas{position:absolute;inset:0;width:100%;height:100%;margin:auto;object-fit:contain;image-rendering:auto}
.pdf-page .page-loading{font:13px system-ui;color:#82908e}
.pdf-link-surface{position:absolute;inset:0;margin:auto;width:100%;max-height:100%;pointer-events:none}
.pdf-link{position:absolute;pointer-events:auto}
.pdf-link:hover{background:#ddb76425}
.reader-zoomed .reader-stage{pointer-events:auto;overflow:auto;align-items:flex-start;justify-content:flex-start;overscroll-behavior:contain;cursor:grab;touch-action:pan-x pan-y}
.reader-zoomed #book{pointer-events:none}
.reader-zoomed .pdf-page{pointer-events:none}
.reader-zoomed .pdf-link{pointer-events:auto}
.reader-zoomed .page-edges{display:none}
.reader-stage.is-panning{cursor:grabbing;user-select:none}
.reader-brand{position:absolute;left:24px;bottom:24px;z-index:15;display:block}
.reader-brand img{display:block;width:150px;height:auto}
.publication-summary{position:absolute;left:24px;top:24px;width:300px;max-height:calc(100% - 150px);overflow:auto;z-index:1;padding:24px 20px;background:#ffffffed;border:1px solid #ffffff;border-radius:8px;box-shadow:0 4px 18px #182f3506}
.publication-summary h1{margin:0 0 10px;font-size:21px;line-height:1.3;font-weight:500;overflow-wrap:anywhere}
.summary-publisher{font-size:12px;color:#75817e;margin:0 0 20px}
.summary-description{font-size:13px;line-height:1.8;color:#667773;white-space:pre-line;overflow-wrap:anywhere;margin:0}
.preview-label{font-size:11px;color:#725d2a;text-transform:uppercase;letter-spacing:.07em;margin:0 0 12px}
.reader-toolbar{position:absolute;left:50%;bottom:calc(24px + env(safe-area-inset-bottom));transform:translateX(-50%);z-index:30;display:flex;flex-direction:column;width:max-content;max-width:calc(100% - 32px);padding:6px;border:1px solid #ffffffd9;border-radius:10px;background:#ffffffed;box-shadow:0 3px 22px #182f351c;backdrop-filter:blur(12px)}
.reader-toolbar button,.reader-toolbar a{border:0;background:none;color:var(--ink);border-radius:6px;min-height:44px;min-width:44px;display:inline-flex;align-items:center;justify-content:center;gap:7px;text-decoration:none;padding:8px 10px}
.reader-toolbar button:hover,.reader-toolbar a:hover{background:#182f3508}
.reader-icon{width:20px;height:20px;flex:none}
.reader-primary{display:flex;justify-content:center;gap:4px;order:2}
.reader-primary button{width:48px}
.reader-primary .reader-icon{width:24px;height:24px}
#zoom-page[aria-pressed="true"] .zoom-plus{display:none}
.reader-toolbar .toolbar-toggle{position:absolute;top:-23px;left:50%;transform:translateX(-50%);min-height:24px;width:44px;padding:2px 8px;border-radius:8px 8px 0 0;background:#ffffffed;border:1px solid #ffffffd9;border-bottom:0}
.toolbar-toggle .reader-icon{width:16px;height:16px}
#toggle-controls[aria-expanded="true"] .reader-icon{transform:rotate(180deg)}
#reader-more{order:1;border-bottom:1px solid #dce2df;padding:5px 6px 6px;margin-bottom:4px}
.reader-secondary{display:flex;align-items:center;justify-content:center;gap:3px;flex-wrap:wrap}
.reader-pagination{display:flex;align-items:center;gap:2px;padding:0 5px;border-left:1px solid #e1e5e2;border-right:1px solid #e1e5e2}
.reader-pagination form{display:flex;align-items:center;gap:6px}
.reader-pagination input{width:48px;height:40px;text-align:center;border:1px solid #dce2df;border-radius:6px;appearance:textfield;-moz-appearance:textfield}
.reader-pagination input::-webkit-inner-spin-button{appearance:none}
.reader-pagination span{color:#7b8882;font-size:12px;white-space:nowrap}
.reader-toolbar .reader-pagination button{padding:6px;min-width:36px}
.reader-hint{text-align:center;margin:4px 0 0;font-size:11px;color:#7b8882}
.reader-zoom-controls{display:flex;justify-content:center;align-items:center;gap:12px;padding:5px 0 0;color:#45615c;font-size:12px}
.reader-zoom-controls label{display:flex;align-items:center;gap:8px}
.reader-zoom-controls input{width:130px;min-height:44px;accent-color:var(--ink)}
.reader-zoom-controls output{min-width:38px;font-variant-numeric:tabular-nums}
.reader-toolbar .reader-zoom-controls button{font-size:12px}
.reader-status{position:absolute;top:24px;left:50%;transform:translateX(-50%);z-index:40;max-width:calc(100% - 32px);padding:10px 16px;background:#ffffffed;border-radius:8px;box-shadow:0 3px 18px #182f3510;text-align:center;font-size:13px}
.reader-ready .reader-status:not(.reader-notice){position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.reader-error{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:40;width:min(500px,calc(100% - 32px));padding:30px;background:white;border:1px solid #deded6;border-radius:12px;text-align:center}
.reader-error h2{font-size:20px}
.reader-error button{padding:12px 20px;min-height:44px}
.page-panel{position:absolute;top:20px;bottom:calc(var(--toolbar-height,120px) + 56px);left:24px;width:270px;background:#fff;border:1px solid #d4ddd7;border-radius:12px;box-shadow:0 10px 40px #102f3530;z-index:35;overflow:auto}
.panel-heading{position:sticky;top:0;background:white;display:flex;align-items:center;justify-content:space-between;padding:10px 16px;z-index:1}
.panel-heading h2{font-size:15px;margin:0}
.panel-heading button{border:0;background:#edf1eb;border-radius:7px;font-size:22px;min-width:44px;min-height:44px}
#page-thumbnails{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:0 16px 16px}
#page-thumbnails button{display:flex;flex-direction:column;align-items:center;border:1px solid #dce2dd;background:#f3f4ef;border-radius:5px;padding:7px;min-height:80px;color:var(--ink)}
#page-thumbnails canvas{max-width:100%;height:auto;background:white}
#page-thumbnails span{padding:6px}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.reader-noscript,.publication-error-page{max-width:650px;padding:30px;margin:20px auto}
.reader-noscript{position:relative;z-index:50;background:white;border-radius:8px}
.publication-error-page a{color:var(--ink)}
#search-dialog{width:min(580px,94vw);max-height:80dvh;border:0;border-radius:12px;color:var(--ink)}
#search-dialog::backdrop,#edge-dialog::backdrop{background:#10252bba}
#search-form{display:flex;gap:8px}
#search-form input{min-width:0;flex:1;padding:12px;border:1px solid #ccd8d3;border-radius:7px}
#search-form button{padding:10px;min-height:44px}
#search-results{display:grid;gap:8px}
#search-results button{padding:14px;text-align:left;background:#f2f4ee;border:1px solid #dce4dc;border-radius:7px}
#search-status{color:#647874}
.page-edges{position:absolute;z-index:5;pointer-events:auto;border:0;padding:0;background:transparent;color:var(--ink);--label-top:35%;touch-action:manipulation}
.edge-sheets{position:absolute;inset:0;width:var(--stack-width);border:1px solid #aab2a7;border-radius:2px;background:repeating-linear-gradient(90deg,#faf9f4 0px,#faf9f4 1px,#aab2a780 1px,#aab2a780 2px);box-shadow:0 3px 6px #142e3530;pointer-events:none}
.page-edges-left .edge-sheets{left:auto;right:0;transform:skewY(-7deg);transform-origin:right center}
.page-edges-right .edge-sheets{transform:skewY(7deg);transform-origin:left center}
.page-edges:hover .edge-sheets,.page-edges:focus-visible .edge-sheets{border-color:#8e733a;background:repeating-linear-gradient(90deg,#fbf5e7 0px,#fbf5e7 1px,#b18b3870 1px,#b18b3870 2px)}
.edge-label{display:none;position:absolute;top:var(--label-top);transform:translateY(-50%);padding:6px 10px;border-radius:6px;background:var(--ink);color:#fff;white-space:nowrap;font-size:12px;box-shadow:0 2px 8px #142e3520;pointer-events:none}
.page-edges-left .edge-label{left:calc(100% + 8px)}
.page-edges-right .edge-label{right:calc(100% + 8px)}
.page-edges:hover .edge-label,.page-edges:focus-visible .edge-label{display:block}
.book-turning .page-edges,.book-centering .page-edges{visibility:hidden}
#edge-dialog{width:min(400px,94vw);border:0;border-radius:12px;color:var(--ink);padding:8px 12px 20px}
#edge-jump{display:grid;gap:14px;padding:8px 12px}
#edge-jump label{display:flex;align-items:center;gap:12px}
#edge-page-number{width:90px;min-height:44px;padding:8px;border:1px solid #ccd8d3;border-radius:7px}
#edge-page-range{width:100%;min-height:44px;accent-color:var(--ink)}
#edge-page-summary{margin:0;color:#647874}
#edge-jump>button{min-height:44px;border:0;border-radius:7px;background:var(--ink);color:white}
@media(max-width:1499px){.reader-brand img{width:80px}}
@media(max-width:650px){
    .reader-stage{padding:12px 20px}
    .reader-brand{left:12px;bottom:calc(16px + env(safe-area-inset-bottom))}
    .reader-brand img{width:80px}
    .reader-toolbar{bottom:calc(16px + env(safe-area-inset-bottom));max-width:calc(100% - 24px)}
    .reader-controls-open .reader-toolbar{width:calc(100% - 24px)}
    .reader-controls-open .reader-brand{visibility:hidden}
    .reader-secondary{gap:0}
    .reader-secondary>button>span,.reader-secondary>a>span{display:none}
    .reader-pagination{padding:0 2px}
    .reader-pagination input{width:38px}
    .reader-pagination span{font-size:11px}
    #reader-more{padding:4px 0 6px}
    .reader-zoom-controls{gap:6px}
    .reader-zoom-controls input{width:90px}
    .publication-summary{left:12px;top:12px;width:min(320px,calc(100% - 24px));max-height:calc(100% - var(--toolbar-height,120px) - 70px);padding:24px 18px}
    .page-panel{left:12px;top:12px;width:min(270px,calc(100% - 24px))}
    .page-edges-left .edge-sheets{right:12px}
    .page-edges-right .edge-sheets{left:12px}
}
@media(max-height:500px){
    .reader-stage{padding-top:10px;padding-bottom:10px}
    .reader-toolbar{bottom:10px}
    .reader-brand{bottom:10px}
    .publication-summary{top:12px;max-height:calc(100% - 100px)}
    .page-panel{top:10px}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}#book.book-sliding{transition:none}}
