/* DigiObs in-house flipbook viewer (dg-book). No dependency, no third party, CSP 'self'.
   Without JS the pages are stacked; with JS one page is shown at a time with a page-turn animation. */
.dg-book{--book-bg:#232321;--book-fg:#FAFAFF;--book-accent:#CFF941;--book-muted:#BCB3FF;position:relative;margin:8px 0 28px;color:var(--book-fg)}
.dg-book,.dg-book *{box-sizing:border-box}
.dg-book-stage{position:relative;touch-action:pan-y;background:var(--book-bg);border-radius:18px;overflow:hidden;box-shadow:0 18px 50px rgba(35,35,33,.18)}
.dg-book-page{margin:0;padding:0}
.dg-book-page img{display:block;width:100%;height:auto;background:#fff;-webkit-user-drag:none;user-select:none}
.dg-book-page figcaption{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.dg-book:not(.is-js) .dg-book-page{border-bottom:4px solid var(--book-bg)}
.dg-book:not(.is-js) .dg-book-nav,.dg-book:not(.is-js) .dg-book-bar,.dg-book:not(.is-js) .dg-book-thumbs{display:none}
/* viewer mode */
.dg-book.is-js .dg-book-stage{aspect-ratio:16/9}
.dg-book.is-js .dg-book-page{position:absolute;inset:0;display:none;backface-visibility:hidden;will-change:transform,opacity}
.dg-book.is-js .dg-book-page img{height:100%;object-fit:contain}
.dg-book.is-js .dg-book-page.is-current{display:block;z-index:2}
.dg-book.is-js .dg-book-page.is-preload{display:block;visibility:hidden;z-index:0}
.dg-book.is-js .dg-book-page.is-leaving{display:block;z-index:3;pointer-events:none}
.dg-book-page.anim-in-next{animation:dg-in-next .45s cubic-bezier(.2,.7,.2,1) both;transform-origin:left center}
.dg-book-page.anim-out-next{animation:dg-out-next .45s cubic-bezier(.4,0,.8,.4) both;transform-origin:left center}
.dg-book-page.anim-in-prev{animation:dg-in-prev .45s cubic-bezier(.2,.7,.2,1) both;transform-origin:right center}
.dg-book-page.anim-out-prev{animation:dg-out-prev .45s cubic-bezier(.4,0,.8,.4) both;transform-origin:right center}
@keyframes dg-in-next{from{opacity:0;transform:perspective(2400px) rotateY(-32deg)}to{opacity:1;transform:none}}
@keyframes dg-out-next{from{opacity:1;transform:none}to{opacity:0;transform:perspective(2400px) rotateY(34deg)}}
@keyframes dg-in-prev{from{opacity:0;transform:perspective(2400px) rotateY(32deg)}to{opacity:1;transform:none}}
@keyframes dg-out-prev{from{opacity:1;transform:none}to{opacity:0;transform:perspective(2400px) rotateY(-34deg)}}
@media (prefers-reduced-motion:reduce){.dg-book-page[class*="anim-"]{animation-duration:.01s}}
/* arrows */
.dg-book button.dg-book-nav{margin:0;box-shadow:none;letter-spacing:0;font-size:0;line-height:1;min-height:0;position:absolute;top:50%;z-index:5;transform:translateY(-50%);width:48px;height:48px;border:0;border-radius:999px;background:rgba(35,35,33,.72);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s,opacity .2s;padding:0}
.dg-book button.dg-book-nav svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.dg-book button.dg-book-nav:hover,.dg-book button.dg-book-nav:focus-visible{background:var(--book-accent);color:var(--book-bg);outline:none}
.dg-book button.dg-book-nav[disabled],.dg-book button.dg-book-nav[disabled]:hover{opacity:.25;cursor:default;background:rgba(35,35,33,.72);color:#fff}
.dg-book button.dg-book-prev{left:14px}.dg-book button.dg-book-next{right:14px}
/* bar */
.dg-book-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px 4px 0;color:#232321}
.dg-book-counter{font-size:15px;font-variant-numeric:tabular-nums;color:#737370}
.dg-book-counter b{color:#232321;font-weight:700}
.dg-book-actions{display:flex;gap:10px;flex-wrap:wrap}
.dg-book .dg-book-btn,.dg-book button.dg-book-btn{margin:0;box-shadow:none;letter-spacing:0;text-transform:none;font-family:inherit;min-height:0;display:inline-flex;align-items:center;gap:8px;border:1.5px solid #232321;border-radius:999px;background:#fff;color:#232321;font:inherit;font-size:14px;font-weight:600;padding:9px 16px;cursor:pointer;text-decoration:none;line-height:1;transition:background .2s,color .2s}
.dg-book .dg-book-btn svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.dg-book .dg-book-btn:hover,.dg-book .dg-book-btn:focus-visible,.dg-book button.dg-book-btn:hover,.dg-book button.dg-book-btn:focus-visible{background:#232321;color:#fff;outline:none}
.dg-book .dg-book-btn.dg-book-pdf{background:var(--book-accent);border-color:var(--book-accent)}
.dg-book .dg-book-btn.dg-book-pdf:hover,.dg-book .dg-book-btn.dg-book-pdf:focus-visible{background:#232321;border-color:#232321;color:#fff}
.dg-book .dg-book-btn small{font-weight:400;color:inherit;opacity:.75}
/* thumbnails */
.dg-book-thumbs{display:flex;gap:10px;overflow-x:auto;padding:14px 4px 10px;scroll-snap-type:x proximity;scrollbar-width:thin}
.dg-book button.dg-book-thumb{margin:0;border:0;border-radius:0;box-shadow:none;min-height:0;line-height:1.25;letter-spacing:0;text-transform:none;font-size:12px;font-weight:400;flex:0 0 auto;width:132px;border:0;background:none;padding:0;cursor:pointer;text-align:left;font:inherit;color:#737370;scroll-snap-align:start}
.dg-book button.dg-book-thumb img{display:block;width:132px;height:auto;border-radius:8px;border:2px solid transparent;background:#fff;box-shadow:0 2px 10px rgba(35,35,33,.12);transition:border-color .2s,transform .2s}
.dg-book button.dg-book-thumb span{display:block;font-size:12px;line-height:1.25;margin-top:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dg-book button.dg-book-thumb:hover,.dg-book button.dg-book-thumb:focus{background:none;color:#737370}
.dg-book button.dg-book-thumb:hover img,.dg-book button.dg-book-thumb:focus-visible img{border-color:#BCB3FF;transform:translateY(-2px)}
.dg-book button.dg-book-thumb:focus-visible{outline:none}
.dg-book button.dg-book-thumb[aria-current="true"] img{border-color:#232321}
.dg-book button.dg-book-thumb[aria-current="true"] span{color:#232321;font-weight:700}
/* fullscreen */
.dg-book:fullscreen{background:#111;padding:20px 24px;display:flex;flex-direction:column;justify-content:center;overflow:auto}
.dg-book:fullscreen .dg-book-stage{max-height:calc(100vh - 150px);margin:0 auto;width:auto;aspect-ratio:16/9;max-width:100%;border-radius:12px}
.dg-book:fullscreen .dg-book-bar{color:#fff;max-width:1400px;margin:0 auto;width:100%}
.dg-book:fullscreen .dg-book-counter,.dg-book:fullscreen .dg-book-counter b{color:#fff}
.dg-book:fullscreen .dg-book-btn,.dg-book:fullscreen button.dg-book-btn{background:transparent;border-color:#fff;color:#fff}
.dg-book:fullscreen .dg-book-btn.dg-book-pdf{display:none}
.dg-book:fullscreen .dg-book-thumbs{display:none}
/* page list (summary under the viewer) */
.dg-book-index{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:8px 18px;counter-reset:bookpage}
.dg-book-index li{counter-increment:bookpage;display:flex;gap:10px;align-items:baseline;padding:8px 0;border-bottom:1px solid #E6E6E6;font-size:15px}
.dg-book-index li::before{content:counter(bookpage,decimal-leading-zero);font-weight:700;color:#737370;font-variant-numeric:tabular-nums;font-size:13px;min-width:22px}
.dg-book-index a{color:#232321;text-decoration:none;font-weight:600}
.dg-book-index a:hover{text-decoration:underline}
.dg-book-index small{color:#737370;font-weight:400}
@media (max-width:700px){.dg-book button.dg-book-nav{width:40px;height:40px}.dg-book button.dg-book-prev{left:8px}.dg-book button.dg-book-next{right:8px}.dg-book button.dg-book-thumb{width:104px}.dg-book button.dg-book-thumb img{width:104px}.dg-book-stage{border-radius:12px}}
/* book page layout: the reading column is full width, the lead stays readable */
.dg-content.dg-book-text{max-width:none}
.dg-book-text .dg-lead{max-width:820px}
.dg-book a.dg-book-btn{text-decoration:none;color:#232321}
.dg-book a.dg-book-btn:hover,.dg-book a.dg-book-btn:focus-visible{color:#fff}
.dg-book:fullscreen a.dg-book-btn{color:#fff}
