:root{color-scheme:dark;--navy:#071c35;--gold:#e7bf60;--muted:#a7b6c6;--paper:#f7f9fc}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 50% 30%,#234367 0%,#0c2542 43%,#07192e 85%);color:var(--paper);font-family:Arial,Helvetica,sans-serif;min-height:100vh}button,input{font:inherit}button{cursor:pointer;border:1px solid #54677d;background:#132f4e;color:white;padding:.7rem 1.15rem;border-radius:5px;min-height:44px;font-size:.9rem;transition:background .2s,border-color .2s}button:hover{background:#244768;border-color:var(--gold)}button:disabled{opacity:.35;cursor:default}button:focus-visible,input:focus-visible{outline:3px solid var(--gold);outline-offset:4px}header{height:86px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;border-bottom:1px solid #ffffff1b;background:#06182bb8;gap:20px}.brand{display:flex;align-items:center;gap:12px}.seal{font:32px Georgia,serif;border:1px solid var(--gold);color:var(--gold);width:42px;height:48px;display:grid;place-items:center;border-radius:0 0 16px 16px}.brand strong{font:700 20px Georgia,serif;letter-spacing:2px}.brand div>span{display:block;font-size:13px;color:var(--muted);margin-top:5px}.edition{font-size:13px;letter-spacing:2px;text-align:center}.edition span{display:block;color:var(--gold);font-size:11px;letter-spacing:3px;margin-top:7px}.outlined{background:transparent}main{max-width:1250px;margin:auto;padding:26px 40px 18px}.reader-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;gap:20px}.eyebrow{font-size:11px;letter-spacing:2.2px;color:var(--gold);font-weight:bold}h1{font:normal clamp(22px,2.5vw,31px) Georgia,serif;margin:8px 0 0}.quiet{background:transparent;border-color:#ffffff30}.stage{display:flex;align-items:center;justify-content:center;perspective:1800px;padding:0 9px 10px}.book{position:relative;width:min(100%,calc((100dvh - 350px)*.8));min-width:300px;aspect-ratio:1122/1402;background:white;box-shadow:2px 3px 0 #c6cbd1,5px 5px 0 #e0e3e7,8px 8px 0 #adb5be,0 26px 55px #0009;touch-action:pan-y;isolation:isolate}.book>img{display:block;width:100%;height:100%;object-fit:contain;background:white}.book::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#0002,transparent 1.5%,transparent 98%,#0001);z-index:2}.book .flipping{position:absolute;inset:0;z-index:3;transform-origin:left center;backface-visibility:hidden;animation:turn-next .55s cubic-bezier(.25,.6,.35,1) forwards;filter:drop-shadow(12px 4px 15px #0004)}.book .flipping.back{transform-origin:right center;animation-name:turn-prev}@keyframes turn-next{to{transform:rotateY(-95deg);filter:brightness(.7);opacity:.1}}@keyframes turn-prev{to{transform:rotateY(95deg);filter:brightness(.7);opacity:.1}}#loading{position:absolute;inset:0;display:grid;place-items:center;color:#203b59;background:#f3f6fa}#loading[hidden]{display:none}.caption{text-align:center;margin:16px auto 14px;min-height:46px}.page-label{color:var(--gold);letter-spacing:2px;font-size:11px}.caption h2{font:normal 18px Georgia,serif;margin:7px 0;line-height:1.4}.controls{display:flex;align-items:center;gap:25px;max-width:650px;margin:auto}.controls button{min-width:100px}.controls #next{background:var(--gold);border-color:var(--gold);color:#102b47;font-weight:bold}.progress{flex:1;text-align:center;min-width:60px}.progress label{font-size:13px;color:#d1dce7}input[type=range]{width:100%;height:22px;accent-color:var(--gold);cursor:pointer}.hint{text-align:center;color:var(--muted);font-size:12px;line-height:1.5;margin:13px 0 4px}footer{border-top:1px solid #ffffff15;padding:18px 5vw;display:flex;justify-content:space-between;gap:20px;font-size:10px;letter-spacing:1.5px;color:#96a9bc}footer span{letter-spacing:.5px;white-space:nowrap}dialog{padding:0;border:1px solid #44607b;border-radius:10px;background:#0e2946;color:white;max-height:85dvh;width:min(650px,94vw);box-shadow:0 25px 100px #0009}dialog::backdrop{background:#020b18cb;backdrop-filter:blur(6px)}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px;border-bottom:1px solid #ffffff20;position:sticky;top:0;background:#0e2946;z-index:2}.dialog-head h2{font:normal 26px Georgia,serif;margin:8px 0 0}.close{padding:.5rem .8rem;background:transparent;font-size:14px}#indexList{padding:10px 24px 24px;margin:0;list-style:none}#indexList button{display:flex;text-align:left;align-items:center;gap:18px;background:transparent;border:0;border-bottom:1px solid #ffffff15;border-radius:0;width:100%;padding:16px 8px;line-height:1.4}#indexList button:hover,#indexList button[aria-current=page]{background:#ffffff0c;color:var(--gold)}.index-number{color:var(--gold);font:20px Georgia,serif;min-width:25px}.zoom-dialog{width:96vw;max-width:1500px;max-height:96dvh}.zoom-dialog .dialog-head{padding:12px 20px}.zoom-scroll{height:calc(96dvh - 120px);overflow:auto;background:#d6dde4;overscroll-behavior:contain}.zoom-scroll img{display:block;width:1200px;max-width:none;height:auto;margin:0 auto}.zoom-hint{margin:12px 20px;font-size:13px;color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}#error{text-align:center;background:#532c24;padding:20px}body:has(dialog[open]){overflow:hidden}@media(min-height:1000px){.book{width:min(100%,calc((100dvh - 380px)*.8))}}@media(max-width:650px){header{height:73px;padding:0 16px;gap:8px}.edition{display:none}.brand strong{font-size:17px}.brand div>span{font-size:12px}.seal{width:34px;height:41px;font-size:26px}header button{font-size:13px;padding:8px 10px}main{padding:22px 16px 15px}.reader-heading{margin-bottom:22px;align-items:end;gap:8px}.eyebrow{font-size:9px;letter-spacing:1.3px}h1{font-size:21px}.quiet{font-size:12px;padding:6px 9px;min-width:86px}.stage{padding:0 7px 8px}.book{width:100%;min-width:0}.caption{margin-top:19px}.caption h2{font-size:18px}.controls{gap:12px}.controls button{min-width:83px;padding:9px 10px;font-size:14px}.hint{font-size:11px;max-width:290px;margin:14px auto 0}footer{display:block;font-size:9px;line-height:1.7;text-align:center;padding:18px}footer span{display:block;margin-top:7px}.dialog-head{padding:18px}.dialog-head h2{font-size:23px}#indexList{padding:5px 14px 20px}.zoom-scroll img{width:950px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}

.institution-logo{display:block;width:60px;height:60px;object-fit:contain;background:white;border-radius:4px;flex-shrink:0}@media(max-width:650px){.institution-logo{width:48px;height:48px}.brand{gap:9px}}
