:root{font:14px -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#243431;background:#eeeae2;--panel:#fffcf7;--muted:#69736e;--accent:#196c5f}*{box-sizing:border-box}body{margin:0;height:100dvh;display:flex;flex-direction:column;overflow:hidden}body[data-theme=ink]{background:#232b2c;color:#f0f2ed;--panel:#303b3c;--muted:#b1c2bc;--accent:#a7dfbe}body[data-theme=mist]{background:#e7edef;--panel:#f7fafb;--accent:#37697c}header{height:72px;flex-shrink:0;padding:0 26px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #8883;background:var(--panel)}header b{font-size:12px;letter-spacing:2px;display:block;color:var(--accent)}header span{display:block;margin-top:5px;font-weight:500}nav{display:flex;align-items:center;gap:8px}button,a,input{font:inherit}button,nav a{border:1px solid #8884;background:transparent;border-radius:7px;padding:9px 12px;color:inherit;text-decoration:none;cursor:pointer}button:hover,a:hover{background:#8882}button:disabled{opacity:.3;cursor:default}:focus-visible{outline:3px solid #3b9f90;outline-offset:3px}main{flex:1;min-height:0;display:flex;justify-content:center;align-items:center;padding:22px;overflow:hidden}#book{box-shadow:0 14px 40px #0002} .page{background:white;overflow:hidden}.page img{width:100%;height:100%;object-fit:contain;display:block;pointer-events:none}.page::after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 14px #0001;pointer-events:none}footer{min-height:60px;display:flex;align-items:center;justify-content:center;gap:14px;padding:10px 20px;background:var(--panel);border-top:1px solid #8883}footer input{width:55px;text-align:center;border:1px solid #8884;border-radius:5px;padding:6px;color:inherit;background:transparent}.hint{font-size:11px;color:var(--muted)}#links{display:flex;gap:9px;max-width:35%;overflow:auto}#links a{font-size:11px;color:var(--accent);white-space:nowrap}#search-panel{position:absolute;top:80px;left:20px;width:290px;max-height:70vh;overflow:auto;padding:16px;background:var(--panel);box-shadow:0 10px 40px #0003;border-radius:10px;z-index:100}#search{width:100%;padding:10px;border:1px solid #8884;border-radius:6px;background:transparent;color:inherit}#results button{display:block;width:100%;text-align:left;margin-top:8px}#results p{font-size:12px;color:var(--muted)}#zoom-dialog{max-width:96vw;max-height:96vh;border:0;padding:15px;border-radius:8px;background:var(--panel)}#zoom-dialog::backdrop{background:#000b}#zoom-close{position:sticky;top:0;display:block;background:var(--panel)}#zoom-image{display:block;width:auto;max-width:none;height:auto}#status{position:absolute;bottom:75px;left:50%;transform:translateX(-50%);background:var(--panel);padding:6px 14px;border-radius:7px}#status:empty{display:none}[hidden]{display:none!important}@media(max-width:700px){header{height:auto;min-height:80px;gap:12px;padding:12px;flex-wrap:wrap}nav{gap:5px}nav button,nav a{font-size:11px;padding:6px 8px}main{padding:12px}.hint{display:none}footer{padding:8px;gap:6px}#links{max-width:28%}#zoom-image{max-width:200vw}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
.layer-plane{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);pointer-events:none}.interactive-layer{position:absolute;pointer-events:auto;box-sizing:border-box;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden;border:1px solid #ffffff90;border-radius:5px;background:#1671e8;color:white;text-decoration:none;padding:5px;font:500 clamp(10px,1.3vw,18px) system-ui;cursor:pointer;z-index:4}.interactive-layer img{width:100%;height:100%;object-fit:contain}.interactive-layer.layer-image{padding:0;background:transparent;border:0}.interactive-layer.layer-text{background:#ffffffe0;color:#17202b;cursor:default;white-space:pre-wrap}.media-dialog{max-width:85vw;width:800px;border:0;border-radius:14px;padding:18px;background:#17202b;color:white}.media-dialog video{width:100%;max-height:75vh}.media-dialog audio{width:100%}.media-dialog::backdrop{background:#000a}.media-dialog button{float:right;margin-bottom:12px}
/* Navigation tools remain separate from the page-turn canvas. */
header{height:auto;min-height:72px;gap:18px;padding-block:12px}header>div{min-width:120px}nav{justify-content:flex-end;flex-wrap:wrap}nav button,nav a{font-size:12px;padding:8px 10px}#library-panel{position:absolute;top:95px;left:18px;bottom:80px;width:min(340px,calc(100vw - 36px));z-index:99;overflow:auto;background:var(--panel);border:1px solid #8884;border-radius:10px;padding:16px;box-shadow:0 12px 36px #0003}.panel-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:12px}.panel-heading button{padding:3px 10px;font-size:22px}.library-tabs{display:flex;gap:5px;margin-bottom:16px}.library-tabs button{font-size:11px;padding:8px;flex:1}.library-tabs [aria-pressed=true]{background:var(--accent);color:var(--panel)}.thumbnail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.thumbnail-item{padding:7px;display:flex;align-items:center;flex-direction:column;gap:7px}.thumbnail-item[aria-current=true]{outline:2px solid var(--accent);outline-offset:1px}.thumbnail-item img{display:block;max-width:100%;height:145px;object-fit:contain}.thumbnail-item span{font-size:12px}.chapter-item{display:block;width:100%;text-align:start;margin-bottom:7px}.thumbnail-grid+p,#library-items p{line-height:1.6;color:var(--muted);font-size:13px}#share-dialog{width:min(550px,94vw);padding:24px;border:1px solid #8884;border-radius:12px;color:inherit;background:var(--panel)}#share-dialog::backdrop{background:#0008}#share-dialog label{display:block;margin:18px 0 10px;font-weight:500}#share-dialog input,#share-dialog textarea{display:block;width:100%;margin-top:8px;padding:12px;color:inherit;background:transparent;border:1px solid #8885;border-radius:6px;font:12px ui-monospace,monospace}#share-hint{line-height:1.6;color:var(--muted);font-size:13px}#print-pages{display:none}button[aria-pressed=true]{border-color:var(--accent)}
@media(max-width:900px){header{padding:10px 14px;gap:10px}header>div{width:100%}nav{justify-content:flex-start;gap:5px}#library-panel,#search-panel{top:155px;max-height:calc(100dvh - 240px)}nav button,nav a{padding:6px 8px;font-size:11px}}
@media print{body{height:auto;overflow:visible;background:white}body>*{display:none!important}body.print-enabled>#print-pages{display:block!important}#print-pages section{break-after:page;page-break-after:always;height:96vh;display:flex;align-items:center;justify-content:center}#print-pages img{max-width:100%;max-height:96vh;object-fit:contain}@page{margin:5mm}}

.pdf-hotspot{position:absolute;pointer-events:auto;display:block;z-index:3;border:1px solid transparent}.pdf-hotspot:hover,.pdf-hotspot:focus-visible{background:#38a99d22;border-color:var(--accent)}
/* Focused publication view. All icons: Tabler, MIT. */
.tool-icon{font-size:0!important;width:38px;height:38px;min-width:38px;padding:8px!important;display:inline-flex;align-items:center;justify-content:center;border-color:transparent;border-radius:7px}.tool-icon::before{content:"";display:block;width:20px;height:20px;mask:var(--icon) center/contain no-repeat;-webkit-mask:var(--icon) center/contain no-repeat;background:currentColor}.tool-icon:hover{background:#8883}.tool-icon[aria-pressed=true]{background:#5aaea52b;color:var(--accent);border-color:#5aaea550}footer{flex-wrap:wrap;gap:5px}footer nav{justify-content:center;gap:3px;border-left:1px solid #8884;padding-left:14px;margin-left:12px}footer .hint{display:none}.edge-arrow{position:absolute;top:47%;width:46px;height:70px;border:0;background:#0002;font-size:42px;font-weight:200;z-index:5;line-height:1}.edge-arrow:hover{background:#0005}#edge-prev{left:14px}#edge-next{right:14px}#stage{position:relative}#reader-progress{height:2px;background:#8882;flex-shrink:0;order:10}#reader-progress span{display:block;height:100%;background:var(--accent);transition:width .2s}#notes-dialog,#help-dialog{width:min(580px,94vw);max-height:85dvh;overflow:auto;border:1px solid #8884;border-radius:12px;background:var(--panel);color:inherit;padding:24px}#notes-dialog::backdrop,#help-dialog::backdrop{background:#0009}#notes-dialog textarea{width:100%;padding:14px;border:1px solid #8885;border-radius:6px;color:inherit;background:transparent;font:14px/1.6 system-ui}.note-actions{display:flex;gap:8px;margin-top:12px}.note-info,#help-dialog p{font-size:13px;line-height:1.7;color:var(--muted)}#notes-list button{display:block;width:100%;text-align:left;margin-top:8px;line-height:1.5}body.immersive{--panel:#242729;--muted:#aeb6b9;--accent:#6ad3cb;background:#323537;color:#eef0f1}body.immersive header{min-height:48px;height:48px;padding:0 24px;border:0;background:transparent;justify-content:center;position:absolute;inset:0 0 auto;z-index:6;pointer-events:none}body.immersive header>div{display:flex;align-items:center;gap:14px;justify-content:center}body.immersive header b{font-size:10px;letter-spacing:2px;color:#ffffff90}body.immersive header span{font-size:12px;color:#ffffff90;margin:0;font-weight:400}body.immersive #stage{padding:58px 70px 24px;background:radial-gradient(ellipse at 50% 42%,#555b5d55 0,transparent 65%)}body.immersive #book{box-shadow:0 18px 50px #0005}body.immersive footer{min-height:64px;background:#222628eb;border-color:#ffffff12;box-shadow:0 -10px 28px #0001;padding:10px 18px}body.immersive footer input{border:1px solid #ffffff18;background:#ffffff0b;font-size:12px;width:44px;height:32px}body.immersive .edge-arrow{color:#ffffffb0;background:transparent}body.immersive .edge-arrow:disabled{opacity:.12}body.immersive .edge-arrow:hover{background:#ffffff0b}body.immersive #library-panel,body.immersive #search-panel{top:60px;bottom:85px;border-color:#ffffff17;box-shadow:0 18px 60px #0007}body.immersive #status{background:#242729;box-shadow:0 5px 22px #0004;color:#e4ecee}body.immersive #links{max-width:180px}#zoom-dialog{width:96vw;height:94dvh;max-width:96vw;max-height:94dvh;overflow:hidden;padding:0;color:inherit;background:var(--panel);border:1px solid #8884;position:relative;border-radius:10px}#zoom-close{position:absolute;right:14px;top:10px;z-index:12;background:var(--panel)}.zoom-toolbar{height:55px;display:flex;align-items:center;justify-content:center;gap:12px;border-bottom:1px solid #8883}.zoom-toolbar button{font-size:18px;padding:4px 12px}.zoom-toolbar span{font:12px ui-monospace,monospace;min-width:50px;text-align:center}#zoom-scroll{height:calc(100% - 95px);width:100%;overflow:auto;cursor:grab;background:#161a1c;touch-action:pan-x pan-y}#zoom-scroll.selecting{cursor:text}#zoom-content{position:relative;margin:30px auto;min-width:1px;flex-shrink:0}#zoom-content #zoom-image{max-width:none;display:block;pointer-events:none;user-select:none}#zoom-canvas{display:block;background:white;pointer-events:none}#zoom-status{height:40px;line-height:1.5;margin:0;padding:10px 20px;font-size:12px;color:var(--muted);text-align:center}.pdf-text-layer{position:absolute;text-align:initial;inset:0;overflow:hidden;opacity:1;line-height:1;text-size-adjust:none;forced-color-adjust:none;transform-origin:0 0;z-index:2}.pdf-text-layer :is(span,br){color:transparent;position:absolute;white-space:pre;cursor:text;transform-origin:0 0}.pdf-text-layer span.markedContent{top:0;height:0}.pdf-text-layer ::selection{background:#3bbdd766;color:transparent}#zoom-image[hidden],#zoom-canvas[hidden]{display:none!important}
@media(max-width:900px){body.immersive #stage{padding:48px 36px 16px}.edge-arrow{width:30px;font-size:32px}#edge-prev{left:2px}#edge-next{right:2px}footer nav{margin:0;padding-left:6px}.tool-icon{width:34px;height:34px;min-width:34px;padding:7px!important}.tool-icon::before{width:19px;height:19px}#links{display:none}body.immersive footer{padding:8px;gap:3px}.zoom-toolbar{justify-content:flex-start;padding-left:12px;gap:4px}#zoom-close{font-size:12px;right:8px}#zoom-status{font-size:10px}.note-actions{flex-wrap:wrap}}
@media(max-width:600px){footer nav{width:100%;border:0;padding:0;margin:3px 0 0;gap:2px}.tool-icon{min-width:31px;width:31px;height:33px}.tool-icon::before{width:18px;height:18px}body.immersive header{height:40px;padding:0 10px}body.immersive header b{display:none}body.immersive #stage{padding:45px 25px 12px}body.immersive #library-panel,body.immersive #search-panel{top:45px;bottom:120px}#status{bottom:125px;width:max-content;max-width:90vw;font-size:12px}#zoom-content{margin:14px auto}}
#drawing-canvas{position:absolute;inset:0;z-index:3;pointer-events:none;touch-action:none}#drawing-tool{padding:6px 10px;font:12px system-ui;background:var(--panel);color:inherit;border:1px solid #8884;border-radius:5px}#drawing-undo,#drawing-export{font-size:12px}#print-options-dialog{padding:24px;width:min(440px,94vw);border:1px solid #8884;border-radius:12px;background:var(--panel);color:inherit}#print-options-dialog::backdrop{background:#0008}#print-options-dialog label{display:block;margin:16px 0}#print-range{padding:12px;width:100%;border-radius:6px;border:1px solid #8884;color:inherit;background:transparent}#print-options-status{font-size:12px;color:var(--muted)}@media(max-width:650px){#drawing-tool{max-width:80px;padding:4px}#drawing-export{display:none}.zoom-toolbar{gap:2px}.zoom-toolbar button{padding:4px 8px}#zoom-level{min-width:40px}#zoom-close{font-size:0;width:30px;padding:3px}#zoom-close::after{content:'×';font-size:20px}}

#share-qr{float:right;width:130px;height:130px;image-rendering:pixelated;background:white;padding:6px;margin:0 0 12px 16px;border-radius:6px}

/* A closed cover occupies the right leaf of the spread; center that leaf. */
#book{transform:translateX(0);transition:transform .35s ease}
#book.centered-cover{transform:translateX(var(--cover-offset));box-shadow:none}
body.immersive #book.centered-cover{box-shadow:none}
#book.centered-cover .page{box-shadow:0 16px 44px #0005}
@media(prefers-reduced-motion:reduce){#book{transition:none}}

.plain-text-selection{padding:28px;white-space:pre-wrap;font:17px/1.8 system-ui;background:white;color:#17232b;user-select:text}.pdf-text-layer:has(.plain-text-selection){overflow:visible;position:relative}

@font-face{font-family:Inter;src:url(fonts/inter-latin-400-normal.woff2) format('woff2');font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:Inter;src:url(fonts/inter-latin-600-normal.woff2) format('woff2');font-style:normal;font-weight:600;font-display:swap}@font-face{font-family:Inter;src:url(fonts/inter-latin-ext-400-normal.woff2) format('woff2');font-weight:400;font-display:swap;unicode-range:U+0100-024F}@font-face{font-family:Inter;src:url(fonts/inter-latin-ext-600-normal.woff2) format('woff2');font-weight:600;font-display:swap;unicode-range:U+0100-024F}:root{font-family:Inter,-apple-system,BlinkMacSystemFont,system-ui,sans-serif}
body[data-theme=emerald]{background:#073b31;--panel:#052f29;--accent:#a7f3d0;--muted:#a5c9bf;color:#f0fdf7}body[data-theme=navy]{background:#14243a;--panel:#0e192b;--accent:#a5d9f4;--muted:#a7b8cf;color:#edf4ff}body[data-theme=sand]{background:#d3c5ad;--panel:#f6f0e6;--accent:#65543e;--muted:#7d7264;color:#332c24}body.immersive[data-theme=mist]{background:#8ca3a5;--panel:#425959;--accent:#c8f3e6}body.immersive[data-theme=paper]{background:#d9d2c6;--panel:#544d43;--accent:#e9dfc8}body.immersive[data-theme=emerald]{background:#073b31;--panel:#052f29;--accent:#a7f3d0}body.immersive[data-theme=navy]{background:#14243a;--panel:#0e192b;--accent:#a5d9f4}body.immersive[data-theme=sand]{background:#b2a28a;--panel:#514737;--accent:#f3dfbb}

#publication-logo{position:absolute;z-index:8;display:block;max-width:min(42vw,320px);padding:5px;pointer-events:auto}#publication-logo img{display:block;width:auto;max-width:100%;object-fit:contain}body:has(#publication-logo:not([hidden])) header>div{padding-left:100px}@media(max-width:600px){#publication-logo{max-width:35vw}#publication-logo img{max-height:32px}body:has(#publication-logo:not([hidden])) header>div{padding-left:90px}}

/* Complete publication toolbar, including file-based WKWebView previews. */
body.immersive footer{justify-content:center;gap:7px;padding:12px 14px;min-height:76px}
body.immersive footer .tool-icon{width:42px;height:42px;min-width:42px;padding:10px!important;border-radius:9px}
body.immersive footer .tool-icon::before{width:23px;height:23px}
body.immersive footer nav{gap:4px;margin-left:12px;padding-left:16px}
body.immersive footer input{width:48px;height:42px;font-size:15px;-moz-appearance:textfield}
body.immersive footer input::-webkit-inner-spin-button,body.immersive footer input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
body.immersive footer label{font-size:15px;white-space:nowrap}
@media(max-width:1200px){body.immersive footer{gap:3px;padding:8px}body.immersive footer .tool-icon{width:35px;min-width:35px;height:38px;padding:8px!important}body.immersive footer .tool-icon::before{width:21px;height:21px}body.immersive footer nav{gap:2px;padding-left:9px;margin-left:5px}}
@media(max-width:900px){body.immersive footer nav{border:0;margin:0;padding:0;width:100%;justify-content:center;flex-wrap:wrap}body.immersive footer{min-height:104px}}
