/* =============================================================
   Web Report Standard — report.css
   Oval Advance · "one page = one chapter" reading deck
   Static, no build. Pair with report.js. See STANDARD.md.
   ============================================================= */

/* ---------- 1. Tokens ---------- */
:root{
  /* ink scale */
  --ink:#14171a;        /* headings, primary text */
  --ink-2:#3f474e;      /* body */
  --ink-3:#6b747d;      /* captions, meta */
  --line:#e4e2da;       /* hairlines */
  --bg:#f6f5f1;         /* page background */
  --surface:#ffffff;    /* cards, figures */

  /* brand */
  --accent:#0f3d2e;     /* house deep green — chrome, headings accent */
  --accent-2:#1d6b4f;   /* interactive green */
  --accent-soft:#e8efe9;/* tint */

  /* report accents (used sparingly) */
  --red:#c8102e;
  --blue:#1f4e79;
  --warn:#8a5a00;

  /* rhythm */
  /* content column: stays 980 on tablets, grows on wide desktop screens so the
     figures get bigger and the type does not look oversized against the layout */
  --maxw:clamp(980px,78vw,1560px);
  --chrome-h:58px;
  --pager-h:56px;
  --r-sm:10px; --r:14px; --r-lg:20px;
  --s1:8px; --s2:16px; --s3:24px; --s4:32px; --s5:48px; --s6:72px;

  /* type scale (web) */
  --fs-cover:clamp(34px,6.4vw,60px);
  --fs-h2:clamp(22px,3.2vw,30px);
  --fs-h3:17px;
  --fs-lead:clamp(16px,2vw,18px);
  --fs-body:16px;
  --fs-small:13.5px;
  --fs-tag:12px;
}

/* ---------- 2. Base ---------- */
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font-family:"PingFang SC","Microsoft YaHei","Hiragino Sans GB","Noto Sans SC",
              -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  font-size:var(--fs-body);
  line-height:1.72;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  padding-bottom:calc(var(--pager-h) + env(safe-area-inset-bottom,0px));
}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 clamp(18px,4vw,28px)}
a{color:var(--accent-2)}
img{max-width:100%}
:focus-visible{outline:2px solid var(--accent-2);outline-offset:2px;border-radius:4px}

/* ---------- 3. Notice bar + top bar ---------- */
.noticebar{background:var(--accent);color:#d7e8de}
.noticebar-in{padding:7px 0;text-align:center;font-size:11.5px;font-weight:600;letter-spacing:.05em}
.internal-line{margin-top:14px;font-size:11.5px;font-weight:700;letter-spacing:.08em;color:var(--accent);text-transform:none}
em{font-style:italic;color:var(--ink-2)}
.page .lead em,.page .note em,.page .bullets em{color:var(--ink-3)}

.topbar{
  position:sticky;top:0;z-index:60;
  background:color-mix(in srgb,var(--bg) 92%,transparent);
  backdrop-filter:saturate(1.4) blur(10px);
  -webkit-backdrop-filter:saturate(1.4) blur(10px);
  border-bottom:1px solid var(--line);
}
.topbar-inner{display:flex;align-items:center;gap:16px;padding:9px 0;min-height:var(--chrome-h)}
.brand{font-weight:700;font-size:13.5px;color:var(--accent);text-decoration:none;white-space:nowrap;letter-spacing:.01em}
.brand:hover{text-decoration:underline}
.pageno{font-size:12.5px;color:var(--ink-3);font-weight:700;white-space:nowrap;font-variant-numeric:tabular-nums}
.oem{flex:0 0 auto;display:inline-flex;align-items:center;margin-left:4px}
.oem img{display:block;height:14px;width:auto}
.progress{height:3px;background:var(--line)}
.progress span{display:block;height:100%;width:0;background:var(--accent-2);transition:width .3s ease}

.toc{display:flex;gap:4px;overflow-x:auto;flex:1;scrollbar-width:none;-ms-overflow-style:none}
.toc::-webkit-scrollbar{display:none}
.toc a{color:var(--ink-2);text-decoration:none;font-size:13.5px;font-weight:600;padding:6px 11px;border-radius:999px;white-space:nowrap;transition:background .15s,color .15s}
.toc a:hover{background:var(--accent-soft);color:var(--accent)}
.toc a.active{background:var(--accent);color:#fff}

/* ---------- 4. Pages ---------- */
#deck{min-height:60vh}
.page{display:none;padding:var(--s6) 0 var(--s5)}
.page.active{display:block;animation:pageIn .3s cubic-bezier(.2,.7,.3,1)}
@keyframes pageIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.page.active{animation:none}}

.page-tag{font-size:var(--fs-tag);letter-spacing:.16em;text-transform:uppercase;color:var(--accent-2);font-weight:700;margin:0 0 10px}
h1{margin:10px 0 14px}
h2{font-size:var(--fs-h2);line-height:1.24;margin:0 0 18px;letter-spacing:-.01em}
h3{font-size:var(--fs-h3);margin:0 0 8px}
h3.sub{font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin:var(--s5) 0 var(--s2);font-weight:700}
.summary{position:relative;background:var(--accent-soft);border-radius:var(--r-sm);padding:16px 18px 16px 22px;margin:0 0 var(--s4);font-size:var(--fs-lead);line-height:1.62;color:var(--ink)}
.summary::before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:3px;border-radius:3px;background:var(--accent-2)}
.summary b{color:var(--accent)}
.summary .sm-label{display:block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-2);font-weight:700;margin-bottom:6px}
.lead{font-size:var(--fs-lead);color:var(--ink-2);max-width:70ch;margin:0 0 var(--s3)}
p{margin:0 0 12px}
.note{font-size:var(--fs-small);color:var(--ink-3);margin-top:var(--s2);max-width:74ch}
.cn{display:block;font-size:12.5px;color:var(--ink-3);font-weight:400;letter-spacing:.02em;margin-top:2px}

/* ---------- 5. Cover ---------- */
.cover{position:relative;overflow:hidden;background:linear-gradient(158deg,#0f3d2e 0%,#0a2a20 100%);color:#f2f5f1;display:none;align-items:center;min-height:calc(100svh - var(--chrome-h) - var(--pager-h))}
.cover.active{display:flex}
.cover .wrap{position:relative;z-index:2;width:100%}
.cover .rings{position:absolute;top:50%;right:-6%;transform:translateY(-50%);width:min(58vw,560px);aspect-ratio:1;z-index:1;pointer-events:none;opacity:.5}
.cover .rings i{position:absolute;inset:0;margin:auto;border:1px solid #7fbf9f;border-radius:50%}
.cover .rings i:nth-child(1){width:32%;height:32%;opacity:.55}
.cover .rings i:nth-child(2){width:56%;height:56%;opacity:.42}
.cover .rings i:nth-child(3){width:80%;height:80%;opacity:.30}
.cover .rings i:nth-child(4){width:100%;height:100%;opacity:.20}
.eyebrow{font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;color:#9fd0ba;margin:0;font-weight:600}
.cover h1{font-size:var(--fs-cover);line-height:1.06;margin:14px 0 18px;letter-spacing:-.02em;font-weight:700;color:#fff}
.cover-latin{font-weight:700;letter-spacing:.16em;font-size:clamp(14px,2.2vw,20px);color:#9fd0ba;margin:10px 0 4px;text-transform:uppercase}
.cover .rule{width:68px;height:3px;background:var(--red);border-radius:2px;margin:6px 0 22px}
.lede{font-size:clamp(16px,2.1vw,19px);line-height:1.6;color:#d3e3da;max-width:62ch;margin:0}
.cover .meta{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:26px;font-size:13px;color:#a9c4b6}
.meta .warn{color:#ffd9a0}
.cover-cta{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:34px}
.cover-hint{font-size:12.5px;color:#8fb2a1}
body.on-cover .swipezone{opacity:0;pointer-events:none}

/* ---------- 6. Buttons ---------- */
.btn{font:inherit;font-weight:700;font-size:14px;line-height:1;border-radius:999px;padding:12px 22px;cursor:pointer;border:1px solid transparent;transition:background .15s,color .15s,border-color .15s,opacity .15s}
.btn.primary{background:#eaf6ef;color:#0f3d2e}
.btn.primary:hover{background:#fff}
.btn.ghost{background:var(--surface);border-color:var(--line);color:var(--ink-2)}
.btn.ghost:hover:not(:disabled){background:var(--accent-soft);color:var(--accent);border-color:var(--accent-soft)}
.btn:disabled{opacity:.35;cursor:not-allowed}

/* ---------- 7. Pager ---------- */
.pager{position:fixed;left:0;right:0;bottom:0;z-index:60;background:color-mix(in srgb,var(--bg) 93%,transparent);backdrop-filter:saturate(1.4) blur(10px);-webkit-backdrop-filter:saturate(1.4) blur(10px);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom,0px)}
.pager-inner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:7px 0}
.pager .btn{padding:8px 15px;font-size:13px}
.pager-mid{display:flex;flex-direction:row;align-items:center;gap:12px}
.pager-mid .pageno{font-size:12px}
.dots{display:flex;gap:6px}
.dot{width:7px;height:7px;border-radius:50%;border:none;padding:0;background:var(--line);cursor:pointer;transition:background .15s,transform .15s}
.dot:hover{background:var(--accent-2)}
.dot.active{background:var(--accent-2);transform:scale(1.35)}

/* ---------- 8. Stats ---------- */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s2)}
.stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:20px 18px;display:flex;flex-direction:column;gap:6px}
.stat-num{font-size:clamp(24px,3vw,30px);font-weight:700;color:var(--accent);letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.stat-label{font-size:13px;color:var(--ink-2);line-height:1.5}

/* ---------- 9. Grids & cards ---------- */
.grid{display:grid;gap:var(--s2)}
.g4{grid-template-columns:repeat(4,1fr)}
.g3{grid-template-columns:repeat(3,1fr)}
.g2{grid-template-columns:repeat(2,1fr)}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:20px}
.card h3{color:var(--accent)}
.card p{margin:0;font-size:14.5px;color:var(--ink-2)}
.card.hl{background:var(--accent-soft);border-color:var(--accent-2)}
.card.hl p{color:var(--ink)}

/* ---------- 10. Callout ---------- */
.callout{background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--accent-2);border-radius:var(--r-sm);padding:16px 20px;margin:var(--s3) 0;font-size:15px;color:var(--ink-2)}
.callout strong{color:var(--ink)}
.callout.strong{background:var(--accent-soft);border-left-color:var(--accent);color:var(--ink)}

/* ---------- 11. Key-value ---------- */
.kv{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:10px var(--s2)}
.kv li{display:flex;justify-content:space-between;gap:12px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-sm);padding:12px 14px;font-size:14px;color:var(--ink-2)}
.kv li b{color:var(--accent);font-variant-numeric:tabular-nums;white-space:nowrap}

/* ---------- 12. Bullets & timeline ---------- */
.bullets{margin:0;padding-left:20px}
.bullets li{margin:8px 0;color:var(--ink-2);font-size:15px}
.bullets li b{color:var(--ink)}
.bullets.tight li{font-size:14px}
.timeline{list-style:none;margin:0;padding:0 0 0 4px}
.timeline li{position:relative;display:grid;grid-template-columns:96px 1fr;gap:20px;padding:14px 0 14px 24px;border-left:2px solid var(--line)}
.timeline li::before{content:"";position:absolute;left:-7px;top:22px;width:12px;height:12px;border-radius:50%;background:var(--accent-2);border:2px solid var(--bg)}
.t-year{font-weight:700;color:var(--accent);font-size:15px;font-variant-numeric:tabular-nums}
.timeline strong{font-size:16px}
.timeline p{margin:4px 0 0;font-size:14.5px;color:var(--ink-2)}

/* ---------- 13. Table ---------- */
.data{width:100%;border-collapse:collapse;margin-top:var(--s2);font-size:14.5px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-sm);overflow:hidden}
.data th,.data td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:top;font-variant-numeric:tabular-nums}
.data th{background:var(--accent-soft);color:var(--accent);font-size:12.5px;letter-spacing:.02em}
.data tr:last-child td{border-bottom:none}
.data b{color:var(--accent)}
.data td.num,.data th.num{text-align:right}

/* ---------- 14. Figure / map ---------- */
.figure{margin:var(--s4) 0 0}
.figure .frame{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;box-shadow:0 1px 2px rgba(20,23,26,.04)}
.figure img{display:block;width:100%;height:auto;cursor:zoom-in;background:#fff}
.figure figcaption{margin-top:10px;font-size:13px;color:var(--ink-3);line-height:1.6}
.figure figcaption b{color:var(--ink-2)}
.figrow{display:grid;grid-template-columns:1.62fr 1fr;gap:var(--s3);align-items:start;margin-top:var(--s4)}
.figrow .figure{margin-top:0;min-width:0}
.figrow .frame{min-width:0}
.figrow.even{grid-template-columns:1fr 1fr}
.zoomhint{position:absolute;right:12px;bottom:12px;font-size:12.5px;font-weight:600;color:var(--ink);background:color-mix(in srgb,#fff 90%,transparent);border:1px solid var(--line);border-radius:999px;padding:5px 12px;pointer-events:none;box-shadow:0 1px 3px rgba(20,23,26,.10)}

/* ---------- 15. Legend (web-native) ---------- */
.legend{display:flex;flex-direction:column;gap:5px;margin:var(--s2) 0 0;min-width:0}
.legend .lg-title{font-size:12.5px;font-weight:700;color:var(--ink)}
.legend .lg-bar{width:clamp(200px,62%,360px);height:12px;border-radius:3px;border:1px solid var(--line)}
.legend .lg-bar img{display:block;width:100%;height:100%;border-radius:3px}
/* ramps sampled from the source legend bars, so web === print */
.legend.pop .lg-bar{background:linear-gradient(90deg,#fff3b0,#fee794,#fedb7a,#fec35e,#fdab49,#fd933e,#fc7033,#f94928,#e9271f,#d4101f)}
.legend.female .lg-bar{background:linear-gradient(90deg,#fef0ea,#fde1d4,#fccab6,#fcb398,#fc9d7e,#fb8767,#fb7151,#f0533c,#e03228,#c31f1e)}
.legend.male .lg-bar{background:linear-gradient(90deg,#eaf2f9,#d7e6f4,#c8dcef,#b0d1e7,#94c4de,#74b3d8,#58a1ce,#3f8fc4,#2979b9,#1765ab)}
.legend .lg-ticks{display:flex;justify-content:space-between;width:clamp(200px,62%,360px);font-size:11.5px;color:var(--ink-3);font-variant-numeric:tabular-nums}
.legend .lg-cap{font-size:11.5px;color:var(--ink-3)}
.legends{display:grid;grid-template-columns:1fr 1fr;gap:var(--s3) var(--s4);margin:var(--s2) 0 0}
.legends .legend{margin-top:0}

/* ---------- 16. Sources & footer ---------- */
.site-footer{margin-top:var(--s5);padding-top:var(--s3);border-top:1px solid var(--line)}
.site-footer .disclaimer{font-size:13px;color:var(--ink-3);max-width:74ch}
.site-footer .sig{margin-top:16px;font-size:13px;font-weight:700;letter-spacing:.06em;color:var(--accent)}
code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.9em;background:var(--accent-soft);color:var(--accent);padding:1px 6px;border-radius:6px}

/* ---------- 17. Swipe zones ---------- */
.swipezone{position:fixed;top:var(--chrome-h);bottom:var(--pager-h);width:12%;max-width:120px;z-index:50;display:flex;align-items:center;color:var(--ink-3);opacity:.16;transition:opacity .2s;cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:pan-y}
.swipezone:hover{opacity:.5}
.swipezone.left{left:0;justify-content:flex-start;padding-left:10px}
.swipezone.right{right:0;justify-content:flex-end;padding-right:10px}
.swipezone .chev{font-size:30px;line-height:1;font-weight:700}

/* ---------- 18. Lightbox ---------- */
.lightbox{position:fixed;inset:0;z-index:100;background:rgba(12,15,14,.94);display:none;align-items:center;justify-content:center;padding:2vh 2vw}
.lightbox.open{display:flex}
.lightbox img{max-width:100%;max-height:94vh;width:auto;height:auto;border-radius:6px;box-shadow:0 10px 40px rgba(0,0,0,.5)}
.lightbox .lb-close{position:absolute;top:14px;right:18px;font-size:30px;line-height:1;color:#fff;background:none;border:none;cursor:pointer;opacity:.85}
.lightbox .lb-close:hover{opacity:1}
.lightbox .lb-cap{position:absolute;bottom:14px;left:50%;transform:translateX(-50%);color:#d8e2dc;font-size:13px;text-align:center;max-width:80ch;padding:0 16px}

/* ---------- 19. Responsive ---------- */
@media (max-width:900px){
  :root{--chrome-h:54px}
  .figrow{grid-template-columns:1fr}
  .legends{grid-template-columns:1fr}
  .kv{grid-template-columns:repeat(2,1fr)}
  .stats{grid-template-columns:repeat(2,1fr)}
  .g4{grid-template-columns:repeat(2,1fr)}
  .g3{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:600px){
  :root{--pager-h:52px;--s5:32px;--s6:40px}
  body{font-size:15.5px}
  .swipezone{display:none}
  .brand{display:none}
  .topbar .pageno{display:none}
  .oem img{height:12px}
  .cover{min-height:auto;padding:52px 0 44px}
  .cover .rings{display:none}
  .stats,.g4,.g3,.g2{grid-template-columns:1fr}
  .kv{grid-template-columns:1fr}
  .timeline li{grid-template-columns:1fr;gap:4px}
  .data th,.data td{padding:10px 10px;font-size:13.5px}
  .btn{padding:11px 18px;font-size:13.5px}
  .dots{display:none}
  .legend .lg-bar,.legend .lg-ticks{width:100%}
}
/* iPad landscape / tablet: keep map readable */
@media (min-width:601px) and (max-width:1024px){
  .page{padding:52px 0 40px}
}

/* ---------- 19b. Language switch ---------- */
.langbtn{font:inherit;font-weight:700;font-size:12.5px;line-height:1;color:var(--ink-2);background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:7px 13px;cursor:pointer;white-space:nowrap}
.langbtn:hover{background:var(--accent-soft);color:var(--accent);border-color:var(--accent-soft)}
/* inline pairs (topbar, buttons) */
.i-zh{display:none}
body.lang-zh .i-zh{display:inline}
body.lang-zh .i-en{display:none}
/* block pairs (page content) — hide the INACTIVE language only, so the active block
   keeps whatever layout its breakpoint gives it (block in portrait, grid in landscape) */
body:not(.lang-zh) .v.zh{display:none !important}
body.lang-zh .v.en{display:none !important}

/* ---------- 19c. Landscape slide — fit the viewport, no vertical scroll ---------- */
@media (orientation:landscape) and (min-width:600px){
  #deck{min-height:0}
  .page:not(.cover){padding:16px 0 8px}
  .cover{padding:18px 0;min-height:0}
  .cover.active{display:block}
  .cover-cta{margin-top:22px}
  /* landscape: figures fill the left (larger), text column on the right */
  .page:not(.cover) .v{
    display:grid;
    grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);
    grid-template-areas:"fig top" "fig foot";
    column-gap:clamp(16px,2.6vw,38px);
    align-items:start;
  }
  .page:not(.cover) .v > .g-top{grid-area:top;min-width:0}
  .page:not(.cover).no-foot .v > .g-top{grid-row:1 / 3;align-self:center}
  .page:not(.cover) .v > .g-fig{grid-area:fig;min-width:0}
  .page:not(.cover) .v > .g-foot{grid-area:foot;min-width:0}

  .page:not(.cover) .page-tag{margin-bottom:5px}
  .page:not(.cover) h2{font-size:clamp(20px,2.4vw,26px);margin-bottom:8px}
  .page:not(.cover) .summary{margin-bottom:10px;padding:11px 14px 11px 18px;font-size:14.5px;line-height:1.5}
  .page:not(.cover) .figure{margin-top:0}
  .page:not(.cover) .figrow{margin-top:0;gap:16px}
  .page:not(.cover) .legend{margin-top:12px}
  .page:not(.cover) .note{margin-top:10px}
  .page:not(.cover) h3.sub{margin:12px 0 8px}

  /* figures sized by a height budget the engine sets in --figmax */
  .page:not(.cover) .g-fig{display:flex;flex-direction:column;min-height:0}
  .page:not(.cover) .g-fig .figure{margin-top:0}
  /* the engine sets --figw-a / --figw-b to the largest size that still fits the slide,
     so each figure fills its column instead of sitting at its intrinsic size */
  .page:not(.cover) .g-fig .figure img{width:var(--figw-a,auto);max-height:var(--figmax-a,none);max-width:100%;height:auto;margin:0 auto}
  .page:not(.cover) .g-foot .figure img{width:var(--figw-b,auto);max-height:var(--figmax-b,none);max-width:100%;height:auto;margin:0 auto}
  .page:not(.cover) .g-foot .figure{margin-top:0}
  .page:not(.cover) .g-fig > .figure .frame,
  .page:not(.cover) .g-fig .figrow .figure .frame,
  .page:not(.cover) .g-foot .figure .frame{width:max-content;max-width:100%;margin:0 auto}
  .page:not(.cover) .g-fig .figcaption{font-size:11.5px;margin-top:5px}
  .page:not(.cover) .g-fig .figrow{align-items:start}

  .page:not(.cover) .stats{grid-template-columns:repeat(4,1fr);gap:10px}
  .page:not(.cover) .stat{padding:14px}
  .page:not(.cover) .stat-num{font-size:22px}
  .page:not(.cover) .data{margin-top:10px;font-size:13px}
  .page:not(.cover) .data th,.page:not(.cover) .data td{padding:7px 10px}
  .page:not(.cover) .bullets li{margin:5px 0;font-size:14px}
  .page:not(.cover) .site-footer{margin-top:14px}
}

/* very short landscape (phone held sideways): compress type so it still fits */
@media (orientation:landscape) and (max-height:480px){
  .page:not(.cover) h2{font-size:16px;margin-bottom:6px}
  .page:not(.cover) .page-tag{font-size:10.5px;margin-bottom:4px}
  .page:not(.cover) .summary{font-size:12.5px;line-height:1.45;padding:8px 12px 8px 14px;margin-bottom:8px}
  .page:not(.cover) .figcaption,.page:not(.cover) .g-fig .figcaption{font-size:10.5px;margin-top:4px}
  .cover{padding:12px 0}
  .cover h1{font-size:26px;margin:8px 0 10px}
  .cover .lede{font-size:14px}
  .cover .meta{margin-top:12px;font-size:12px}
  .cover-cta{margin-top:12px}
}

/* ---------- 20. Print ---------- */
@media print{
  .topbar,.pager,.swipezone,.lightbox{display:none !important}
  body{padding-bottom:0;background:#fff}
  .page{display:block !important;break-after:page;page-break-after:always}
  .page:last-child{break-after:auto;page-break-after:auto}
  .cover{min-height:auto;color:#f2f5f1 !important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .figure .frame{box-shadow:none}
}
