/* Front and back cover of a real book (cover-design.js). The board fills its page; every size is a fraction of --W.
   The cover keeps its own colours in both viewer themes. All classes are cv-*: none collides with turn.css. */
#book .cv-board { position: absolute; inset: 0; overflow: hidden; background: var(--field); color: #fff; }
/* phone cover (cover-design.js front()): the board keeps the PDF's proportions, the page's spare height shows a blurred copy of the art */
#book .cv-letter { position: absolute; inset: 0; overflow: hidden; background: var(--field, #2b2420); }
/* round 5: solid bands in the art's edge colours (cover-design.js front); a 1px cream hairline and a soft shadow set the board off */
#book .cv-letter-box { position: absolute; left: 0; right: 0; top: 50%; box-shadow: 0 0 0 1px rgba(255, 246, 227, .22), 0 0 22px rgba(0, 0, 0, .32); }
#book .cv-board img { display: block; -webkit-user-drag: none; user-select: none; }
#book .cv-tex, #book .cv-spine, #book .cv-hinge, #book .cv-glow { position: absolute; pointer-events: none; }
/* paper grain (laminated print) */
#book .cv-tex { inset: 0; opacity: .32; mix-blend-mode: multiply;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .45 0 0 0 0 .4 0 0 0 0 .35 0 0 0 .5 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); }
/* spine wrap and the hinge groove pressed into the board near the spine (mirrored on the back) */
#book .cv-spine { top: 0; bottom: 0; left: 0; width: 4.6%;
  background: linear-gradient(to right, rgba(0, 0, 0, .34), rgba(0, 0, 0, .12) 40%, rgba(255, 255, 255, .1) 80%, rgba(255, 255, 255, 0)); }
#book .cv-hinge { top: 0; bottom: 0; left: 4.8%; width: 2.4%;
  background: linear-gradient(to right, rgba(255, 255, 255, 0), rgba(0, 0, 0, .24) 38%, rgba(0, 0, 0, .1) 55%, rgba(255, 255, 255, .2) 72%, rgba(255, 255, 255, 0)); }
#book .cv-back .cv-spine { left: auto; right: 0; transform: scaleX(-1); }
#book .cv-back .cv-hinge { left: auto; right: 4.8%; transform: scaleX(-1); }
#book .cv-glow { inset: 0; background: linear-gradient(118deg, rgba(255, 255, 255, .16), rgba(255, 255, 255, 0) 32%, rgba(255, 255, 255, 0) 64%, rgba(0, 0, 0, .1)); }

/* ---------- title block ---------- */
#book .cv-tbox { position: absolute; left: 7.5%; right: 4%; display: flex; align-items: center; justify-content: center; text-align: center; }
#book .cv-ttl { display: flex; flex-direction: column; align-items: center; color: #fff; }
#book .cv-t-name { position: relative; display: inline-block; margin-top: .2em; padding-bottom: .14em; font-family: var(--disp); font-weight: var(--disp-w); font-size: calc(var(--W) * .25 * var(--disp-k)); line-height: .98; white-space: nowrap; letter-spacing: .005em; }
#book .cv-t-name .cv-nm { font-size: 1em; text-shadow: 0 .05em 0 var(--field-d); }
#book .cv-t-main { font-size: calc(var(--W) * .15 * var(--disp-k)); white-space: normal; padding-bottom: .04em; }
#book .cv-t-main .cv-nm { display: inline-block; text-wrap: balance; line-height: 1.02; }
#book .cv-t-lead { font-family: "Fredoka", system-ui, sans-serif; font-weight: 500; font-size: calc(var(--W) * .048); letter-spacing: .04em; line-height: 1.1; margin-top: .25em; color: #fff7e8; }
#book .cv-t-sub { font-family: "Fredoka", system-ui, sans-serif; font-weight: 600; font-size: calc(var(--W) * .084); line-height: 1.05; letter-spacing: .01em; white-space: nowrap; margin-top: .06em; }
#book .cv-t-for { font-family: "Fredoka", system-ui, sans-serif; font-weight: 500; font-size: calc(var(--W) * .06); margin-top: .45em; white-space: nowrap; color: #fff7e8; }
#book .cv-t-for b { font-family: var(--disp); font-weight: var(--disp-w); font-size: 1.35em; color: #fff; }

/* hand-drawn accents around the name (em = the name size) */
#book .cv-ac { position: absolute; overflow: visible; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 9; }
#book .cv-rays-l, #book .cv-rays-r { top: .14em; width: .46em; height: .56em; color: var(--accent); }
#book .cv-rays-l { left: -.6em; }
#book .cv-rays-r { right: -.6em; transform: scaleX(-1); }
#book .cv-star { right: -.16em; top: -.24em; width: .3em; height: .3em; color: var(--accent); fill: var(--accent); stroke-width: 6; transform: rotate(14deg); }
#book .cv-spark { left: -.34em; bottom: .02em; width: .2em; height: .2em; fill: #fff; stroke: none; }
#book .cv-dot { left: .02em; top: -.12em; width: .085em; height: .085em; fill: var(--accent); stroke: none; }
#book .cv-t-main .cv-rays-l, #book .cv-t-main .cv-rays-r { top: calc(50% - .3em); }

/* maker's mark and the imprint tab */
#book .cv-mk { display: inline-flex; align-items: center; gap: .32em; white-space: nowrap; }
#book .cv-mk-g { width: 1.3em; height: 1.3em; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linejoin: round; }
#book .cv-mk-t { font-family: "Fredoka", system-ui, sans-serif; font-weight: 600; letter-spacing: .03em; }
#book .cv-tab { position: absolute; bottom: 3.4%; left: 51.75%; transform: translateX(-50%); display: inline-flex; align-items: center; gap: .6em; white-space: nowrap;
  background: var(--field); color: #fff; font-family: "Fredoka", system-ui, sans-serif; font-weight: 500; font-size: calc(var(--W) * .029);
  padding: .42em .95em; border-radius: 99px; box-shadow: 0 1px 0 var(--field-d), 0 3px 8px rgba(0, 0, 0, .22); }
#book .cv-tab.cv-tab-top { bottom: auto; top: 3.4%; }
#book .cv-tab-t { padding-left: .6em; border-left: 1px solid rgba(255, 255, 255, .55); }

/* ---------- V1 colour field ---------- */
#book .cv-v1-art { position: absolute; left: 0; right: 0; bottom: 0; overflow: hidden; }
#book .cv-v1-art img, #book .cv-v3-art img { width: 100%; height: 100%; object-fit: cover; filter: saturate(1.08) contrast(1.03); }
#book .cv-v1-tear { position: absolute; left: 0; width: 100%; overflow: visible; filter: drop-shadow(0 2px 2px rgba(0, 0, 0, .28)); }
#book .cv-v1-tear .cv-fld { fill: var(--field); }
#book .cv-v1-tear .cv-fib { fill: #fbf3e2; }

/* ---------- V2 cloth + picture window ---------- */
#book .cv-v2 { background-color: var(--field);
  background-image: repeating-linear-gradient(0deg, rgba(255, 255, 255, .05) 0 1px, transparent 1px 3px), repeating-linear-gradient(90deg, rgba(0, 0, 0, .07) 0 1px, transparent 1px 3px); }
#book .cv-v2 .cv-tex { opacity: .45; }
#book .cv-v2-plate { position: absolute; background: #fbf3e2; box-shadow: 0 1px 1px rgba(0, 0, 0, .25), 0 calc(var(--W) * .012) calc(var(--W) * .03) calc(var(--W) * -.01) rgba(0, 0, 0, .45); }
#book .cv-win { width: 100%; height: 100%; overflow: hidden; background-repeat: no-repeat; background-color: #e9dcc4; box-shadow: inset 0 0 0 1px rgba(80, 60, 30, .18); }
#book .cv-win img { width: 100%; height: 100%; object-fit: cover; filter: saturate(1.08) contrast(1.03); }
#book .cv-v2-line { position: absolute; border: max(1px, calc(var(--W) * .0035)) solid rgba(255, 240, 214, .5); }
#book .cv-v2-foot { position: absolute; left: 7%; right: 4%; bottom: 0; display: flex; align-items: center; justify-content: center; gap: .6em; color: #fff7e8;
  font-family: "Fredoka", system-ui, sans-serif; font-weight: 500; font-size: calc(var(--W) * .029); white-space: nowrap; }
#book .cv-v2-foot .cv-tab-t { border-left-color: rgba(255, 244, 222, .5); }

/* ---------- V3 full bleed + painted patch ---------- */
#book .cv-v3-art { position: absolute; inset: 0; }
#book .cv-v3-patch { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
#book .cv-v3-patch .cv-p-main { fill: var(--field); }
#book .cv-v3-patch .cv-p-under { fill: var(--accent); }
#book .cv-v3 .cv-v3-tbox { left: auto; right: auto; }
#book .cv-v3 .cv-t-name { margin-top: .14em; padding-bottom: .08em; }
#book .cv-v3 .cv-t-lead { margin-top: .05em; }

/* ---------- back cover ---------- */
#book .cv-col { position: absolute; top: 6%; bottom: 13.5%; left: 6%; right: 9.5%; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; overflow: hidden; }
#book .cv-spot-wrap { position: relative; flex: none; margin-bottom: calc(var(--W) * .055); }
#book .cv-spot { position: relative; }
#book .cv-spot-tear { transform: rotate(-3deg); filter: drop-shadow(0 calc(var(--W) * .01) calc(var(--W) * .012) rgba(0, 0, 0, .35)); }
#book .cv-spot-tear .cv-scrap { width: 100%; height: 100%; background: #fbf3e2; padding: 5%; }
#book .cv-spot-tear .cv-scrap-in { width: 100%; height: 100%; background-repeat: no-repeat; }
#book .cv-spot-arch { background: #fbf3e2; padding: calc(var(--W) * .012); box-shadow: 0 1px 1px rgba(0, 0, 0, .25), 0 calc(var(--W) * .012) calc(var(--W) * .03) calc(var(--W) * -.01) rgba(0, 0, 0, .45); }
/* 06.10: overflow hidden (was visible). The blob mask is looked up by id and the engine keeps a hidden original of every page with the same ids,
   so the mask can be ignored and then the whole picture, much bigger than the spot, spilled over the title and blurb (seen when the spot moved to the face). */
#book .cv-spot-blob svg { display: block; width: 100%; height: 100%; overflow: hidden; filter: drop-shadow(0 calc(var(--W) * .008) calc(var(--W) * .01) rgba(0, 0, 0, .3)); }
#book .cv-b-star { right: calc(var(--W) * -.07); top: calc(var(--W) * -.02); width: calc(var(--W) * .08); height: calc(var(--W) * .08); }
#book .cv-b-spark { left: calc(var(--W) * -.06); bottom: calc(var(--W) * .03); width: calc(var(--W) * .05); height: calc(var(--W) * .05); }
#book .cv-b-title { margin: 0 0 .5em; font-family: var(--disp); font-weight: var(--disp-w); font-size: calc(var(--W) * .066 * var(--disp-k)); line-height: 1.05; max-width: 92%; text-wrap: balance; }
#book .cv-b-blurb { margin: 0; font-family: "Fredoka", system-ui, sans-serif; font-weight: 400; font-size: calc(var(--W) * .04); line-height: 1.45; max-width: 86%; text-wrap: pretty; color: #fffaf0; }
#book .cv-b-love { margin: 1.3em 0 0; font-family: "Fredoka", system-ui, sans-serif; font-weight: 500; font-size: calc(var(--W) * .036); color: #fff7e8; }
#book .cv-b-name { font-family: var(--disp); font-weight: var(--disp-w); font-size: 1.5em; color: #fff; }
#book .cv-b-date { margin: .35em 0 0; font-family: "Fredoka", system-ui, sans-serif; font-weight: 500; font-size: calc(var(--W) * .026); letter-spacing: .16em; text-transform: uppercase; opacity: .85; }
/* the big window back (manifest back_color, cover-design.js bigBack, 09.10): a wide arch with the cover scene, no repeated title */
#book .cv-col-big { top: 5%; bottom: 12%; justify-content: center; }
#book .cv-col-big .cv-spot-wrap { margin-bottom: calc(var(--W) * .06); }
#book .cv-spot-big { box-sizing: border-box; }
#book .cv-col-big .cv-b-star { right: calc(var(--W) * -.045); top: calc(var(--W) * -.035); }
#book .cv-col-big .cv-b-spark { left: calc(var(--W) * -.04); bottom: calc(var(--W) * .05); }
/* 28.10 (Danilo): a landing sample's back star as on prod f75aa1a. The star hangs above the arch and .cv-col (overflow hidden)
   cuts it wherever fit() leaves the column's top; with the 3:4 page that cut moved (more of the tilted star showed). A sample
   back now cuts it exactly at the arch's top on a spread (prod's desktop look) and shows it whole on a phone page (prod's
   phone look). Paint only: nothing moves. */
#book .bd-back[data-sample-back] .cv-col-big .cv-spot-wrap { clip-path: inset(0 -100% -100% -100%); }
#book.is-single .bd-back[data-sample-back] .cv-col-big { overflow: visible; }
#book.is-single .bd-back[data-sample-back] .cv-col-big .cv-spot-wrap { clip-path: none; }
#book .cv-col-big .cv-b-blurb { font-size: calc(var(--W) * .039); line-height: 1.5; max-width: 90%; }
#book .cv-col-big .cv-b-love { margin-top: 1.1em; }
#book .cv-b-foot { position: absolute; left: 4%; right: 7.5%; bottom: 4.5%; display: flex; justify-content: center; color: #fff; font-size: calc(var(--W) * .036); }

/* ---------- V4 "sky" (owner 06.10, default): the art full bleed, the title lettered into its sky ----------
   Ink by the sky's brightness (cv-tone-light: brick ink with a cream glow; cv-tone-dark: cream with a dark glow), a soft
   scrim behind the title zone, a darkened foot under the imprint. Sizes as pdf_export.SKY (fractions of --W). */
#book .cv-v4 { background: #2b2420; }
#book .cv-v4-art { position: absolute; inset: 0; }
#book .cv-v4-art img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 50%; filter: saturate(1.08) contrast(1.03); }
#book .cv-v4-scrim, #book .cv-v4-foot { position: absolute; left: 0; right: 0; pointer-events: none; }
#book .cv-v4-scrim-top { top: 0; }
#book .cv-v4-scrim-bottom { bottom: 0; }
#book .cv-v4-scrim-top.cv-tone-light { background: linear-gradient(to bottom, rgba(255, 248, 234, .30), rgba(255, 248, 234, .15) 60%, rgba(255, 248, 234, 0)); }
#book .cv-v4-scrim-top.cv-tone-dark { background: linear-gradient(to bottom, rgba(20, 12, 16, .42), rgba(20, 12, 16, .21) 60%, rgba(20, 12, 16, 0)); }
#book .cv-v4-scrim-bottom.cv-tone-light { background: linear-gradient(to top, rgba(255, 248, 234, .30), rgba(255, 248, 234, .15) 65%, rgba(255, 248, 234, 0)); }
#book .cv-v4-scrim-bottom.cv-tone-dark { background: linear-gradient(to top, rgba(20, 12, 16, .42), rgba(20, 12, 16, .21) 65%, rgba(20, 12, 16, 0)); }
#book .cv-v4-foot { bottom: 0; height: 16%; background: linear-gradient(to bottom, rgba(20, 12, 16, 0), rgba(20, 12, 16, .45)); }
#book .cv-tone-light { --ink: #78281a; --halo: rgba(255, 248, 234, .92); }
#book .cv-tone-dark { --ink: #fff6e6; --halo: rgba(40, 22, 30, .85); }
#book .cv-v4-tbox { left: 10%; right: 10%; }
#book .cv-v4 .cv-ttl { color: var(--ink); }
#book .cv-v4-name, #book .cv-v4-main { font-family: "Caveat Brush", cursive; font-weight: 400; margin: 0; padding: 0; letter-spacing: 0;
  color: var(--ink); transform: rotate(-3deg); }
#book .cv-v4-name { font-size: calc(var(--W) * .3125); line-height: .8; white-space: nowrap; }
#book .cv-v4-main { font-size: calc(var(--W) * .17); line-height: 1; white-space: normal; }
#book .cv-v4-name .cv-nm, #book .cv-v4-main .cv-nm { text-shadow: 0 0 .03em var(--halo), 0 0 .07em var(--halo), 0 0 .14em var(--halo); }
#book .cv-v4-rest { font-family: "Londrina Solid", "Fredoka", system-ui, sans-serif; font-weight: 400; font-size: calc(var(--W) * .069);
  line-height: 1.2; letter-spacing: 0; margin: 0; white-space: nowrap; color: var(--ink);
  text-shadow: 0 0 .06em var(--halo), 0 0 .14em var(--halo), 0 0 .26em var(--halo); }
#book .cv-v4-for { font-size: calc(var(--W) * .055); }
/* UB-1020 (phone check 20.10; softened in round 2, review m3): the subtitle lines on the cover sat on the plain art at 2.9-3.3:1. A plate of
   the tone's own colour (dark for cream ink, cream for dark ink) lies behind each line. Round 1 drew it as a rounded box and its edge showed as
   a dark strip. Now it is full strength only under the line box itself and fades out over 2em at the sides (a gradient) and .8em above and
   below (a mask), so no edge exists to see; the contrast under the text is the same (gate sampler, WebKit 390: Rosie 6.73, pet 6.32, couple 5.07 p10).
   Without mask support (very old browsers) the plate is left out. The art is not touched. */
#book .cv-tone-dark { --plate-rgb: 24, 14, 20; --plate-a: .46; }
#book .cv-tone-light { --plate-rgb: 255, 248, 234; --plate-a: .5; }
#book .cv-v4-rest { position: relative; isolation: isolate; }
@supports ((mask-image: linear-gradient(#000, #000)) or (-webkit-mask-image: linear-gradient(#000, #000))) {
  #book .cv-v4-rest::before { content: ""; position: absolute; z-index: -1; inset: -.8em -2em; pointer-events: none;
    background: linear-gradient(to right,
      rgba(var(--plate-rgb), 0) 0, rgba(var(--plate-rgb), calc(var(--plate-a) * .15)) .7em, rgba(var(--plate-rgb), calc(var(--plate-a) * .55)) 1.4em,
      rgba(var(--plate-rgb), var(--plate-a)) 2em, rgba(var(--plate-rgb), var(--plate-a)) calc(100% - 2em),
      rgba(var(--plate-rgb), calc(var(--plate-a) * .55)) calc(100% - 1.4em), rgba(var(--plate-rgb), calc(var(--plate-a) * .15)) calc(100% - .7em), rgba(var(--plate-rgb), 0) 100%);
    -webkit-mask-image: linear-gradient(to bottom, transparent 0, rgba(0,0,0,.2) .28em, rgba(0,0,0,.6) .56em, #000 .8em, #000 calc(100% - .8em), rgba(0,0,0,.6) calc(100% - .56em), rgba(0,0,0,.2) calc(100% - .28em), transparent 100%);
    mask-image: linear-gradient(to bottom, transparent 0, rgba(0,0,0,.2) .28em, rgba(0,0,0,.6) .56em, #000 .8em, #000 calc(100% - .8em), rgba(0,0,0,.6) calc(100% - .56em), rgba(0,0,0,.2) calc(100% - .28em), transparent 100%); }
}
#book .cv-v4-imprint { position: absolute; left: 0; right: 0; bottom: 3%; text-align: center; white-space: nowrap;
  font-family: "Londrina Solid", "Fredoka", system-ui, sans-serif; font-weight: 400; font-size: calc(var(--W) * .032); line-height: 1;
  color: #fff6e6; text-shadow: 0 .06em .12em rgba(20, 12, 16, .6); }
/* the PDF measures and draws the title with plain glyph advances (no kerning, no ligatures): the same here, so the fit and the
   line breaks (cover-design.js fitSky) agree to the pixel instead of flipping at a size step on a 1 % kerning difference */
#book .cv-v4-name, #book .cv-v4-main, #book .cv-v4-rest { font-kerning: none; font-variant-ligatures: none; font-feature-settings: "kern" 0, "liga" 0; }
#book .cv-v4-name + .cv-v4-rest { margin-top: .15em; }   /* clear of the name's descenders (pdf_export: the same gap) */
#book .cv-v4-name.cv-desc + .cv-v4-rest { margin-top: .8em; }   /* the descender of g j p q y ("Maya") hangs about a quarter of the name's size below the line */
/* V4 fallback when the art's top is not open sky: the title on its own band in the cloth colour, the art below it. */
#book .cv-v4-band { position: absolute; left: 0; right: 0; top: 0; border-bottom: 1px solid rgba(255, 244, 222, .6);
  box-shadow: 0 calc(var(--H) * .006) calc(var(--H) * .02) rgba(0, 0, 0, .35); }

/* ---------- V5 "scene" (cover v2, owner 08.10; pdf_export SCENE): the story scene full bleed, the title composited ---------- */
#book .cv-v5-art { position: absolute; inset: 0; }
#book .cv-v5-art img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 50%; filter: saturate(1.08) contrast(1.03); }
#book .cv-v5-scrim { position: absolute; left: 0; right: 0; pointer-events: none; }
#book .cv-v5-tbox { left: 0; right: 0; }
#book .cv-v5-ttl { color: #fff6e3; }
/* 19.10 title look (pdf_export._scene_front): the name line (big) in Lilita One gold, the rest in Fredoka Bold cream; a dark
   outline outside the glyphs (paint-order: stroke first; the stroke is 2 x SCENE.stroke em, half of it inside and covered by
   the fill), a hard drop shadow (SCENE.shadow em) in the art's hue and a soft one. Fonts: cover-design.js SCENE comment. */
#book .cv-v5-line { display: block; white-space: nowrap; font-family: "Fredoka", sans-serif; font-weight: 700; color: #fff6e3;
  paint-order: stroke fill; -webkit-text-stroke: .13em var(--ink); text-shadow: 0 .07em 0 var(--ink), 0 .1em .3em rgba(0, 0, 0, .35); letter-spacing: 0;
  font-kerning: none; font-variant-ligatures: none; font-feature-settings: "kern" 0, "liga" 0; }
#book .cv-v5-big { font-family: "Lilita One", "Fredoka", sans-serif; font-weight: 400; line-height: 1; }
#book .cv-v5-hl { color: #f2c230; }   /* pdf_export.scene_accent: the big line whole, a name inside a line, else the first line */
#book .cv-v5-mid { line-height: 1.02; }
#book .cv-v5-small { line-height: 1.15; -webkit-text-stroke-width: .16em; }
#book .cv-v5-sub { position: absolute; left: 0; right: 0; transform: translateY(-80%); text-align: center; white-space: nowrap;
  font-family: "Fredoka", sans-serif; font-weight: 700; font-size: calc(var(--W) * .034); letter-spacing: .04em; color: #fff6e3;
  text-shadow: 0 0 .12em var(--ink), 0 0 .06em var(--ink); }
#book .cv-v5-field { position: absolute; inset: 0; }
#book .cv-v5-frame { position: absolute; background: #fff6e3; box-shadow: 0 calc(var(--W) * .012) calc(var(--W) * .03) rgba(0, 0, 0, .4); box-sizing: border-box; }
#book .cv-v5-pic { width: 100%; height: 100%; overflow: hidden; background: #e9dcc4; }
#book .cv-v5-pic img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 50%; }
#book .cv-v5-col { left: 11%; right: 11%; bottom: auto; justify-content: flex-start; }
#book .cv-v5-plain { justify-content: center; }
#book .cv-v5-orn { position: relative; display: flex; justify-content: center; align-items: center; flex: none; }
#book .cv-v5-orn i { display: block; border-radius: 50%; background: rgba(255, 246, 227, .9); }
#book .cv-v5-orn b { position: absolute; left: 50%; transform: translateX(-50%); height: 1px; background: rgba(255, 246, 227, .55); }
#book .cv-v5-blurb { font-family: "Literata", Georgia, serif; font-size: calc(var(--W) * .034); line-height: 1.5; max-width: 100%; color: #fffaf0; }
#book .cv-v5-love { margin: calc(var(--W) * .03) 0 0; font-family: "Londrina Solid", cursive; font-weight: 400; font-size: calc(var(--W) * .03); color: #fff6e3; white-space: nowrap; }
#book .cv-v5-foot { position: absolute; left: 0; right: 0; bottom: 3.6%; display: flex; justify-content: center; color: #fff6e3; font-size: calc(var(--W) * .03); }
