.text-link{display:inline-block;text-decoration:underline;text-underline-offset:3px;font-size:13px;padding:10px 0}.viewer-text-link{align-self:center;color:#a0f1ec}.menu-close{display:none}.skip-link{position:fixed;top:-100px;left:10px;z-index:50;background:#fff;color:#08242d;padding:12px}.skip-link:focus{top:10px}
@media(max-width:860px){.menu-close{display:block;margin-bottom:12px;border:1px solid #527c80;border-radius:6px;padding:8px;background:white;color:#14333d}}
:root{color-scheme:dark;--ink:#061e29;--navy:#08242d;--teal:#17bfb7;--teal2:#64e3df;--muted:#9eb3b8;--paper:#f5f7f7;--sidebar:278px;--ui-bg:#081d27}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;background:#071923;color:#f2f8f8}
body{overflow-x:hidden}button,a{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}
button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--teal2);outline-offset:3px}
.app{display:flex;min-height:100vh}.sidebar{position:sticky;top:0;flex:0 0 var(--sidebar);width:var(--sidebar);height:100vh;overflow-y:auto;overscroll-behavior:contain;background:linear-gradient(155deg,#f7ffff 0%,#e7f5f4 30%,#f6fafa 100%);color:#14333d;border-right:1px solid #b9d0ce;padding:25px 21px 23px;box-shadow:9px 0 30px #00151c44;z-index:8}
.brand{display:flex;align-items:center;gap:12px}.brand-logo{width:94px;height:auto;object-fit:contain}.brand-title{font-weight:800;font-size:14px;letter-spacing:.01em;line-height:1.15}.brand-sub{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#43737a;margin-top:4px}
.rule{height:3px;width:48px;background:var(--teal);margin:29px 0 19px}.eyebrow{font-size:10px;font-weight:800;color:#209e9d;letter-spacing:.15em;text-transform:uppercase}.sidebar h1{font-size:26px;line-height:1.07;letter-spacing:-.065em;margin:8px 0 11px;font-weight:850}.side-intro{font-size:12px;line-height:1.6;color:#526b71;margin:0 0 20px}.side-label{font-size:10px;text-transform:uppercase;font-weight:850;letter-spacing:.13em;color:#53747a;margin:22px 0 10px}
.section-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:5px}.section-button{color:#25454b;background:transparent;border:1px solid transparent;border-radius:10px;text-align:left;padding:11px 10px 10px;display:flex;gap:11px;width:100%;transition:background .16s,border-color .16s}.section-button:hover{background:#d8efed}.section-button.is-active{background:#d4f5f0;border-color:#a3ddda;box-shadow:inset 3px 0 0 var(--teal)}.section-number{font-weight:900;font-size:11px;color:#008f91;opacity:.7;padding-top:2px}.section-name{font-size:12.5px;font-weight:750;display:block}.section-range{font-size:10px;color:#678287;display:block;margin-top:3px}
.side-bottom{border-top:1px solid #c6d9d9;padding-top:20px;margin-top:25px}.download-button{display:flex;gap:9px;align-items:center;justify-content:center;background:var(--ink);color:white;padding:12px 10px;border-radius:10px;font-weight:700;font-size:12px;transition:background .2s}.download-button:hover{background:#147d7b}.side-footnote{font-size:11px;line-height:1.55;color:#617a80;margin-top:12px}
.viewer{position:relative;flex:1;min-width:0;display:flex;flex-direction:column;min-height:100vh;background:radial-gradient(circle at 55% 45%,#1f4950 0,#102e38 46%,#071923 88%)}
.topbar{padding:19px 32px;display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid #d3ffff22;backdrop-filter:blur(10px);background:#03192333;z-index:5}
.top-title{min-width:0}.top-kicker{color:#55d4d0;letter-spacing:.15em;text-transform:uppercase;font-weight:800;font-size:10px}.current-section{font-size:20px;font-weight:800;letter-spacing:-.03em;margin:4px 0 0;line-height:1.2}.top-actions{display:flex;gap:8px;align-items:center}.tool-btn{width:36px;height:36px;background:#edf9f912;color:#e0f3f3;border:1px solid #edf9f92d;display:flex;align-items:center;justify-content:center;border-radius:9px;transition:background .2s}.tool-btn:hover{background:#5ee4dc30}.tool-btn svg{width:18px;height:18px}.menu-btn{display:none}.desktop-download{width:auto;gap:8px;padding:0 14px;font-size:12px;font-weight:750}
.book-area{flex:1;min-height:0;display:flex;justify-content:center;align-items:center;padding:18px 34px 4px;position:relative}.book-shell{--page-h:min(72vh,785px);--page-w:calc(var(--page-h) * .772727);display:flex;justify-content:center;align-items:stretch;position:relative;filter:drop-shadow(0 32px 33px #0007);perspective:2400px}
.book-shell:after{content:"";position:absolute;bottom:-11px;left:2%;right:2%;height:16px;z-index:-1;border-radius:50%;background:#000a;filter:blur(18px)}.book-spine{position:absolute;top:1%;bottom:1%;left:50%;width:13px;transform:translateX(-50%);background:linear-gradient(to right,#001c235e,#f3ffff40 45%,#00141c88);z-index:2;pointer-events:none;border-radius:4px;opacity:.7}
.book-page{width:var(--page-w);height:var(--page-h);background:#fff;color:#111;position:relative;overflow:hidden;border:1px solid #aac0c4;box-shadow:inset -2px 0 10px #0001;transform-style:preserve-3d}.book-page.left{border-radius:4px 0 0 4px;box-shadow:inset -6px 0 12px #0002,8px 0 5px #00101522}.book-page.right{border-radius:0 4px 4px 0;box-shadow:inset 7px 0 12px #0002}.book-page img{display:block;width:100%;height:100%;object-fit:cover;user-select:none;-webkit-user-drag:none}.book-page.empty{border-color:#6e8f96;background:linear-gradient(125deg,#e9f7f6,#fff 43%,#ecf1f1);display:flex;flex-direction:column;justify-content:center;align-items:center;padding:28px;text-align:center}.empty img{width:110px;height:auto;object-fit:contain}.empty h3{font-size:22px;letter-spacing:-.04em;margin:28px 0 10px;color:#082e38}.empty p{font-size:13px;line-height:1.55;color:#628085;margin:0}.empty .teal-stroke{width:62px;height:3px;background:var(--teal);margin:22px 0}
.book-shell.flipping-forward .book-page.right{animation:flip-next .38s cubic-bezier(.4,0,.18,1) forwards;z-index:3;transform-origin:left center;backface-visibility:hidden}.book-shell.flipping-backward .book-page.left{animation:flip-prev .38s cubic-bezier(.4,0,.18,1) forwards;z-index:3;transform-origin:right center;backface-visibility:hidden}
@keyframes flip-next{0%{transform:rotateY(0)}100%{transform:rotateY(-84deg)}}@keyframes flip-prev{0%{transform:rotateY(0)}100%{transform:rotateY(84deg)}}
.edge-btn{position:absolute;z-index:4;top:50%;transform:translateY(-50%);width:43px;height:84px;border:1px solid #dcffff25;background:#071e29ab;color:#e0ffff;border-radius:12px;font-size:27px;display:flex;align-items:center;justify-content:center;transition:background .2s}.edge-btn:hover{background:#1aa9a380}.edge-btn:disabled{opacity:.14;cursor:default}.edge-btn.prev{left:calc(-1 * min(4vw,65px))}.edge-btn.next{right:calc(-1 * min(4vw,65px))}
.bottom{display:flex;align-items:center;justify-content:center;gap:18px;padding:12px 30px 21px;min-height:70px}.pill{display:flex;align-items:center;gap:10px;background:#e5fbf914;border:1px solid #e5fbf92d;border-radius:40px;padding:6px;color:#f8ffff}.pill button{width:33px;height:33px;border-radius:50%;background:#fff1;border:0;color:#d7eded;font-size:18px}.pill button:hover{background:#53d6cf3a}.pill button:disabled{opacity:.25;cursor:default}.page-count{font-size:12px;font-weight:700;letter-spacing:.02em;min-width:105px;text-align:center;white-space:nowrap}.tip{font-size:11px;color:#8fb6ba}.bottom .jump-btn{padding:9px 12px;border:1px solid #e5fbf92d;background:#fff1;border-radius:7px;color:#ebffff;font-size:11px;cursor:pointer}
.mobile-scrim{display:none}.thumb-panel{position:fixed;inset:0;z-index:30;background:#061923f5;padding:22px;overflow:auto;display:none}.thumb-panel.open{display:block}.thumb-head{max-width:1130px;margin:0 auto 22px;display:flex;align-items:center;justify-content:space-between;gap:16px}.thumb-head h2{font-size:22px;margin:0}.thumb-grid{max-width:1130px;margin:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:20px}.thumb{border:1px solid #fff4;border-radius:10px;background:#ffffff0b;color:white;padding:10px;text-align:left;transition:transform .2s,border-color .2s}.thumb:hover,.thumb.active{border-color:var(--teal);transform:translateY(-3px)}.thumb img{display:block;width:100%;height:auto;aspect-ratio:8.5/11;object-fit:contain;background:white;border-radius:3px}.thumb strong{font-size:11px;display:block;line-height:1.35;margin-top:9px}.thumb small{font-size:10px;color:#9bb9bd}.close-btn{background:#fff2;border:1px solid #fff5;color:white;border-radius:8px;padding:9px 14px;font-weight:650}
.zoom-layer{position:fixed;inset:0;z-index:40;display:none;flex-direction:column;background:#020e14f5}.zoom-layer.open{display:flex}.zoom-bar{padding:12px 18px;display:flex;align-items:center;justify-content:space-between;gap:15px;background:#071c26}.zoom-bar strong{font-size:13px}.zoom-scroll{min-height:0;flex:1;overflow:auto;display:flex;align-items:flex-start;justify-content:center;padding:18px}.zoom-scroll img{width:min(100%,920px);height:auto;box-shadow:0 12px 65px #000a;object-fit:contain;max-width:none}.zoom-bar button{padding:9px 12px;color:#fff;background:#ffffff22;border:1px solid #ffffff44;border-radius:8px}
@media(max-width:1320px){:root{--sidebar:251px}.book-shell{--page-h:min(69vh,675px)}.book-area{padding:18px 52px}.edge-btn.prev{left:-43px}.edge-btn.next{right:-43px}}
@media(max-width:1020px){.book-shell{--page-h:min(67vh,620px)}.sidebar{width:228px;flex-basis:228px;padding:20px 15px}.book-area{padding:15px 45px}.tip{display:none}.book-page{border-radius:3px}}
@media(max-width:860px){:root{--sidebar:275px}.sidebar{position:fixed;left:0;top:0;bottom:0;transform:translateX(-110%);transition:transform .22s;z-index:21;width:275px;box-shadow:13px 0 38px #0009}.sidebar.open{transform:translateX(0)}.mobile-scrim.show{display:block;position:fixed;z-index:20;inset:0;background:#000b}.menu-btn{display:flex}.book-shell{--page-h:min(70vh,660px);--page-w:calc(var(--page-h) * .772727)}.book-page.left{display:none}.book-spine{display:none}.book-page.right{border-radius:5px}.topbar{padding:13px 18px}.book-area{padding:14px 48px 5px}.current-section{font-size:16px}.desktop-download{display:none}.edge-btn.prev{left:-42px}.edge-btn.next{right:-42px}}
@media(max-width:590px){.book-shell{--page-h:min(69vh,620px)}.book-area{padding:10px 40px 4px}.bottom{gap:8px;padding:11px 9px 21px}.jump-btn{display:none}.current-section{font-size:14px}.top-kicker{font-size:8px}.topbar{gap:6px}.top-actions{gap:4px}.tool-btn{width:32px;height:32px}.edge-btn{width:32px;height:72px;font-size:20px}.edge-btn.prev{left:-36px}.edge-btn.next{right:-36px}}
@media(max-width:440px){.book-shell{--page-h:min(66vh, calc((100vw - 80px)*1.294))}.book-area{padding:9px 36px}.book-page.right{max-width:calc(100vw - 79px)}.bottom{min-height:75px}.sidebar h1{font-size:24px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important}}
