:root { --publication-navy: #071d3b; --publication-blue: #0b376a; --publication-gold: #e2b635; }
.publication-reader { min-height: 100vh; background: #edf2f7; color: #10213a; padding-bottom: 44px; }
.publication-reader__masthead { position: relative; background: linear-gradient(118deg, #061936, #0b376a); color: #fff; box-shadow: 0 5px 18px rgba(7,29,59,.2); }
.publication-reader__masthead-inner { max-width: 1280px; min-height: 142px; margin: 0 auto; padding: 24px clamp(16px,3vw,36px); display: grid; grid-template-columns: minmax(160px,1fr) minmax(0,2.8fr) minmax(160px,1fr); align-items: center; gap: 18px; }
.publication-reader__back { width: fit-content; color: #f9fbff; text-decoration: none; font-weight: 700; font-size: .86rem; display: inline-flex; align-items: center; gap: 9px; }
.publication-reader__back:hover, .publication-reader__back:focus-visible { color: var(--publication-gold); }
.publication-reader__heading { text-align: center; }.publication-reader__eyebrow,.publication-reader__related-head>div>span { color: var(--publication-gold); text-transform: uppercase; letter-spacing: .13em; font-size: .69rem; font-weight: 800; }
.publication-reader__heading h1 { margin: 6px 0 0; color:#fff; font-size: clamp(1.35rem,2.5vw,2.2rem); line-height: 1.2; }.publication-reader__heading p { margin: 7px 0 0; color:rgba(255,255,255,.72); font-size:.86rem; }
.publication-reader__utility { display: flex; justify-content: flex-end; gap: 8px; }.publication-reader__utility-button,.publication-reader__share button { border: 1px solid rgba(255,255,255,.34); border-radius: 8px; background: rgba(255,255,255,.08); color:#fff; padding:9px 11px; font-size:.82rem; font-weight:700; text-decoration:none; display:inline-flex; gap:7px; align-items:center; cursor:pointer; }
.publication-reader__utility-button:hover,.publication-reader__utility-button:focus-visible { background:var(--publication-gold); color:#071d3b; border-color:var(--publication-gold); }
.publication-reader__share { position:absolute; z-index:15; right:max(16px, calc((100vw - 1280px)/2 + 16px)); top:calc(100% - 12px); width:190px; padding:7px; border:1px solid rgba(7,29,59,.16); border-radius:10px; background:#fff; box-shadow:0 14px 28px rgba(7,29,59,.22); }.publication-reader__share button { width:100%; border:0; border-radius:6px; color:#132a49; background:transparent; padding:9px; }.publication-reader__share button:hover,.publication-reader__share button:focus-visible { background:#edf4fb; }
.publication-reader__workspace { position:relative; max-width:1280px; margin:0 auto; padding:clamp(16px,2.5vw,30px); }.publication-reader__toolbar { min-height:55px; display:flex; justify-content:center; align-items:center; gap:7px; flex-wrap:wrap; padding:8px; border:1px solid #d5dee9; border-radius:12px 12px 0 0; background:#fff; box-shadow:0 5px 12px rgba(17,36,65,.06); }
.publication-reader__toolbar button { min-height:36px; border:1px solid transparent; border-radius:7px; padding:7px 10px; background:#eff4f9; color:#102d52; font-size:.82rem; font-weight:700; cursor:pointer; }.publication-reader__toolbar button:hover,.publication-reader__toolbar button:focus-visible { border-color:#b38a13; background:#fff8de; color:#071d3b; }.publication-reader__toolbar button:disabled { opacity:.4; cursor:not-allowed; }.publication-reader__page-control { display:flex; align-items:center; gap:6px; font-size:.83rem; font-weight:700; color:#29405e; }.publication-reader__page-control input { width:54px; min-height:36px; text-align:center; border:1px solid #c9d5e2; border-radius:7px; font:inherit; color:#102d52; }.publication-reader__toolbar-divider { height:24px; width:1px; background:#d8e0e9; margin:0 2px; }
.publication-reader__status { min-height:28px; padding:9px 12px; color:#496078; text-align:center; font-size:.84rem; }.publication-reader__error { max-width:580px; margin:24px auto; padding:24px; text-align:center; border:1px solid #eeb2b2; border-radius:12px; color:#7f1d1d; background:#fff4f4; }.publication-reader__error i { font-size:1.5rem; }.publication-reader__error p { margin:10px 0 16px; }.publication-reader__error button { border:0; border-radius:7px; padding:9px 14px; color:#fff; background:#9f1c1c; font-weight:700; }
.publication-reader__stage { min-height:clamp(440px,67vh,760px); display:grid; place-items:center; overflow:auto; border:1px solid #cfd9e4; border-top:0; background:radial-gradient(circle at center, #f9fbfd 0, #e7edf3 64%, #dce5ed 100%); }.publication-reader__book-scale { transform-origin:center center; transition:transform .18s ease; }.publication-reader__book { width:min(100%, 960px); min-height:360px; }.publication-reader__book .stf__parent { margin:0 auto; }.publication-reader__book .stf__block { box-shadow:0 16px 30px rgba(7,29,59,.24); }.publication-reader__pdf-page { width:100%; height:100%; background:#fff; overflow:hidden; }.publication-reader__pdf-page canvas { display:block; width:100%; height:100%; }.publication-reader__pdf-page.is-loading { display:grid; place-items:center; color:#566b82; font-size:.83rem; }.publication-reader__pdf-page.is-failed { display:grid; place-items:center; padding:16px; color:#8a1f1f; text-align:center; font-size:.83rem; }.publication-reader__pdf-page.is-failed button { margin-top:8px; border:0; border-radius:5px; padding:6px 9px; color:#fff; background:#8a1f1f; font-weight:700; }.publication-reader__hint { padding:12px; text-align:center; color:#5b6d80; font-size:.79rem; }.publication-reader__hint i { color:#aa8213; margin-right:5px; }
.publication-reader__thumbnails { position:fixed; z-index:1055; top:0; right:0; width:min(340px,88vw); height:100dvh; padding:16px; overflow:auto; color:#10213a; background:#fff; box-shadow:-16px 0 34px rgba(7,29,59,.25); }.publication-reader__thumbnail-head { display:flex; align-items:center; justify-content:space-between; padding-bottom:12px; border-bottom:1px solid #dde4ec; }.publication-reader__thumbnail-head h2 { margin:0; font-size:1.05rem; }.publication-reader__thumbnail-head button { display:grid; width:35px; height:35px; place-items:center; border:0; border-radius:7px; color:#132a49; background:#edf3f8; }.publication-reader__thumbnail-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; padding-top:14px; }.publication-reader__thumbnail { border:1px solid #d7e0e9; border-radius:8px; padding:5px; background:#fff; color:#253c5a; text-align:left; font-size:.76rem; cursor:pointer; }.publication-reader__thumbnail.is-active { border-color:#c29418; box-shadow:0 0 0 2px rgba(226,182,53,.25); }.publication-reader__thumbnail canvas { width:100%; height:auto; display:block; margin-bottom:5px; background:#f2f5f8; }
.publication-reader__related { max-width:1280px; margin:0 auto; padding:0 clamp(16px,2.5vw,30px); }.publication-reader__related-head { display:flex; align-items:end; justify-content:space-between; gap:15px; padding:16px 0; border-top:1px solid #d3dde8; }.publication-reader__related-head h2 { margin:4px 0 0; color:#102d52; font-size:1.26rem; }.publication-reader__related-head>a { color:#0e4c85; font-size:.84rem; font-weight:800; }.publication-reader__related-list { display:grid; grid-template-columns:repeat(auto-fit,minmax(126px,1fr)); gap:14px; }.publication-reader__related-card { min-width:0; color:#102d52; text-decoration:none; font-size:.84rem; font-weight:700; }.publication-reader__related-card img { display:block; width:100%; aspect-ratio:3/4; object-fit:cover; margin-bottom:8px; border:1px solid #ccd8e5; border-radius:8px; box-shadow:0 6px 14px rgba(7,29,59,.1); }.publication-reader__related-card:hover img { transform:translateY(-2px); }
.publication-reader button:focus-visible,.publication-reader a:focus-visible,.publication-reader input:focus-visible { outline:3px solid #d3a928; outline-offset:2px; }
@media(max-width:767.98px){ .publication-reader__masthead-inner { min-height:auto; grid-template-columns:1fr auto; padding:18px 16px; }.publication-reader__back { grid-column:1/-1; }.publication-reader__heading { grid-column:1; text-align:left; }.publication-reader__utility { grid-column:2; align-self:end; }.publication-reader__utility-button span { display:none; }.publication-reader__utility-button { padding:9px; }.publication-reader__share { right:12px; }.publication-reader__workspace { padding:13px 10px; }.publication-reader__toolbar { justify-content:space-between; gap:5px; border-radius:9px 9px 0 0; }.publication-reader__toolbar-divider { display:none; }.publication-reader__toolbar [data-reader-thumbnails] span,.publication-reader__fit { display:none; }.publication-reader__stage { min-height:62vh; }.publication-reader__hint { font-size:.73rem; }.publication-reader__related { padding-inline:14px; }.publication-reader__related-list { display:flex; overflow-x:auto; scroll-snap-type:x mandatory; padding-bottom:8px; }.publication-reader__related-card { flex:0 0 128px; scroll-snap-align:start; } }
@media(prefers-reduced-motion:reduce){ .publication-reader__book-scale,.publication-reader__related-card img { transition:none; } }
