/* Frame the right page at reading size; the left cover extends naturally past the screen.
   Every leaf stays in the binding; only the shared hinge angle changes. */
.memory-book-reader{--memory-paper:#f3eee2;--memory-ink:#3d4739;--memory-width:min(86vw,345px,calc((100svh - 112px)*.625));--memory-height:calc(var(--memory-width)*1.6);position:absolute;inset:0;z-index:12;color:#eee5d0;background:linear-gradient(180deg,#15251e66,transparent 25%,transparent 75%,#15251e8c);font-family:Arial,sans-serif;touch-action:pan-y;overflow:visible;isolation:isolate}
.memory-book-dedication{position:absolute;top:calc(50% - var(--memory-height)/2 - 32px);left:25px;right:25px;text-align:center;font:400 12px/1.6 Arial,sans-serif;letter-spacing:.04em;text-shadow:0 1px 7px #0c211e}
.memory-book-dedication p{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.memory-book-dedication i{font-style:normal;margin:0 6px;color:#c8b78d}
.memory-book-frame{position:absolute;left:calc(7.5% + var(--memory-width)/2);top:50%;width:var(--memory-width);height:var(--memory-height);transform:translate(-50%,-50%);perspective:4000px;perspective-origin:0 50%;transform-style:preserve-3d;container-type:inline-size;touch-action:pan-y}
.memory-book-ground{position:absolute;left:-53%;top:1%;width:154%;height:100%;border-radius:8px;background:#091a124d;filter:blur(13px);transform:translateY(13px) translateZ(-6px);pointer-events:none}
.memory-book-binding{position:absolute;inset:-3px -4px -5px -5px;border-radius:4px 7px 7px 4px;background:linear-gradient(90deg,#223b2b,#64795a 2%,#36533a 4%,#304d36 98%,#1e3525);box-shadow:0 2px 4px #091c1647;transform:translateZ(-1px)}
.memory-book-paper-edges{position:absolute;inset:2px -2px -3px 1px;border-radius:1px 4px 4px 0;background:repeating-linear-gradient(0deg,#cec7b4 0 1px,#f4f0e4 1px 2px);box-shadow:inset -2px 0 2px #918a742e;transform:translateZ(-.5px)}
.memory-book-leaves{position:absolute;inset:0;transform-style:preserve-3d}
.memory-book-leaf{position:absolute;inset:0;transform-origin:0 50%;transform-style:preserve-3d;--leaf-shade:0;--leaf-curl:0px}
.memory-leaf-front,.memory-leaf-back{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:1px calc(3px + var(--leaf-curl)) calc(3px + var(--leaf-curl)) 1px;overflow:hidden}
.memory-leaf-front{transform:translateZ(.08px)}
.memory-leaf-front:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#3d36293b,transparent 17%,transparent 73%,#fff7 93%,#4b3d2e20);opacity:var(--leaf-shade)}
.memory-page{display:flex;flex-direction:column;gap:10px;padding:17px 15px 20px 20px;background:linear-gradient(90deg,#dcd4c1,#f0ebdf 4%,#f8f4e9 14%,#f5f0e5 94%,#e8e0ce);color:var(--memory-ink);box-shadow:inset 7px 0 9px -7px #6257436b}
.memory-page-heading{flex:0 0 auto;text-align:left;padding:0 1px}
.memory-page-heading>span{display:block;margin-bottom:5px;font:400 clamp(7px,2.25cqw,8px)/1.3 Arial,sans-serif;text-transform:uppercase;letter-spacing:.15em;color:#8d8b75}
.memory-page-heading h2{font:400 clamp(22px,7.8cqw,28px)/1.08 LightSerif,Georgia,serif;letter-spacing:-.025em;color:#3e4939;text-wrap:balance}
.memory-page-photos{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:minmax(0,1.05fr) minmax(0,1fr);gap:10px 10px}
.memory-photo{min-width:0;min-height:0;display:flex;flex-direction:column;gap:5px;margin:0}
.memory-photo-wide{grid-column:1/-1}
.memory-photo-image{position:relative;flex:1;min-height:0;width:100%;border:0;border-radius:1px;background:#d2d3c2;overflow:hidden;box-shadow:0 1px 1px #42442e14}
.memory-photo-image:after{content:'';position:absolute;inset:0;box-shadow:inset 0 0 0 1px #474e3514;pointer-events:none}
.memory-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 34%;user-select:none;-webkit-user-drag:none;pointer-events:none}
.memory-photo-wide img{object-position:50% 30%}
.memory-photo figcaption{flex:0 0 auto;min-height:34px;margin:0;font:400 clamp(14px,4.7cqw,16px)/1.2 LightSerif,Georgia,serif;letter-spacing:-.015em;color:#4b5241}
.memory-page-folio{position:absolute;bottom:6px;right:15px;font:400 8px/1 Arial,sans-serif;letter-spacing:.12em;color:#9d9a83}
.memory-leaf-back{transform:rotateY(180deg) translateZ(.08px);background:repeating-linear-gradient(0deg,#8b806304 0 1px,transparent 1px 4px),linear-gradient(90deg,#e5dcc6,#f4efdf 9%,#efe9d7 90%,#d3cab4);box-shadow:inset 2px 0 5px #655a4229,inset -7px 0 9px -6px #6e61455e}
.memory-back-print{position:absolute;inset:15px 15px 17px 17px;display:flex;align-items:center;justify-content:center;flex-direction:column;border:1px solid #a4966e2b;color:#898268}
.memory-back-print:before,.memory-back-print:after{content:'';position:absolute;left:10%;right:10%;height:1px;background:#a99d7b26}.memory-back-print:before{top:13%}.memory-back-print:after{bottom:13%}
.memory-back-print>span{font:400 7px/1.5 Arial,sans-serif;letter-spacing:.19em;text-transform:uppercase}.memory-back-print>i{width:24px;height:1px;margin:17px 0;background:#a89b724d}.memory-back-print>p{font:italic 14px/1.5 LightSerif,Georgia,serif}.memory-back-print>b{position:absolute;bottom:9px;font:400 8px/1 Arial,sans-serif;letter-spacing:.12em}
.memory-book-turn-shadow{position:absolute;inset:0;z-index:4;pointer-events:none;opacity:0;transform-origin:0 50%;background:linear-gradient(90deg,#3e35254d,transparent 75%);transform:translateZ(.6px);border-radius:2px}
.memory-book-cover{position:absolute;inset:0;transform-origin:0 50%;transform-style:preserve-3d;pointer-events:none}
.memory-book-cover-front,.memory-book-cover-back{position:absolute;inset:0;border-radius:3px 6px 6px 3px;backface-visibility:hidden;-webkit-backface-visibility:hidden;overflow:hidden}
.memory-book-cover-front{background:#304b37;transform:translateZ(.12px);box-shadow:inset 2px 0 4px #1a302a66,2px 0 0 #254231}
.memory-book-cover-front>img{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;display:none}.memory-book-cover.has-cover-image .memory-book-cover-front>img{display:block}.memory-book-cover.has-cover-image .memory-book-cover-fallback{display:none}
.memory-book-cover-fallback{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:22px;text-align:center;color:#d4c18e;background:repeating-linear-gradient(0deg,#fff1 0 1px,transparent 1px 3px),repeating-linear-gradient(90deg,#0001 0 1px,transparent 1px 3px)}
.memory-book-cover-fallback>span{font:400 7px/1.4 Arial,sans-serif;letter-spacing:.18em;text-transform:uppercase}.memory-book-cover-fallback strong{margin:30px 0;font:400 25px/1.2 LightSerif,Georgia,serif}.memory-book-cover-fallback em{font-weight:400}.memory-book-cover-fallback>i{font:italic 13px/1.5 LightSerif,Georgia,serif}
.memory-book-cover-back{background:#365139;border:4px solid #2f4b35;transform:rotateY(180deg) translateZ(.12px);box-shadow:inset 2px 0 4px #132d1b55}
.memory-cover-endpaper{position:absolute;inset:5px 5px 5px 7px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:repeating-linear-gradient(45deg,#84906b10 0 1px,transparent 1px 7px),linear-gradient(90deg,#c9cbb4,#e1e0ca 20%,#d7d8bd);box-shadow:inset 0 0 0 1px #65774b26}
.memory-cover-endpaper>span{text-align:center;font:italic 15px/1.6 LightSerif,Georgia,serif;color:#77815f}.memory-cover-endpaper>i{width:27px;height:1px;background:#8e96744a;margin-top:20px}
.memory-book-spine{position:absolute;left:-4px;top:-2px;bottom:-3px;width:11px;z-index:8;display:flex;flex-direction:column;align-items:center;justify-content:space-around;padding-block:25px;border-radius:3px 0 0 3px;background:linear-gradient(90deg,#1c3827 0,#47613b 18%,#9a9a72 30%,#bcbba0 45%,#696e48 58%,#b5b293 72%,#ebe4d1 100%);box-shadow:-2px 0 3px #142c2344,4px 0 5px #74674726;transform:translateZ(.85px);pointer-events:none}
.memory-book-spine>i{display:block;width:5px;height:2px;background:#c6bca0;border-radius:1px;box-shadow:0 1px 1px #283f2480}
.memory-book-scroll-hint{position:absolute;left:22px;right:22px;bottom:max(26px,env(safe-area-inset-bottom));text-align:center;font:400 11px/1.5 Arial,sans-serif;letter-spacing:.035em;color:#efe3c9;text-shadow:0 1px 7px #10271f}.memory-book-scroll-hint span{display:inline-block;margin-left:7px;color:#d7c28e}
.memory-book-reader.is-opening .memory-book-dedication{visibility:hidden}
@media(max-width:359px),(max-height:620px) and (orientation:portrait){.memory-page{gap:8px;padding:14px 12px 18px 16px}.memory-page-heading>span{margin-bottom:4px}.memory-page-heading h2{font-size:22px}.memory-page-photos{gap:8px}.memory-photo{gap:4px}.memory-photo figcaption{font-size:14px;line-height:1.2;min-height:34px}.memory-page-folio{bottom:5px;font-size:7px}}
@media(orientation:landscape) and (max-height:500px){.memory-page{padding:7px 6px 10px 9px;gap:5px}.memory-page-heading>span{display:none}.memory-page-heading h2{font-size:12px}.memory-page-photos{gap:4px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:minmax(0,1.05fr) minmax(0,1fr)}.memory-photo-wide{grid-column:1/-1}.memory-photo-image{min-height:0}.memory-photo figcaption{display:none}.memory-book-dedication{top:20px;font-size:9px}.memory-book-scroll-hint{bottom:16px;font-size:10px}}
@media(prefers-reduced-motion:reduce){.memory-book-reader *{animation:none!important;transition:none!important}}

/* Four shallow, joined facets bend the active bound sheet during each hand-led turn. */
.memory-book-leaf.is-bending>.memory-leaf-front,.memory-book-leaf.is-bending>.memory-leaf-back{visibility:hidden}
.memory-leaf-slices{position:absolute;inset:0;display:none;transform-style:preserve-3d;pointer-events:none}
.memory-book-leaf.is-bending>.memory-leaf-slices{display:block}
.memory-leaf-slice{position:absolute;left:0;top:0;height:100%;transform-origin:0 50%;transform-style:preserve-3d}
.memory-slice-face{position:absolute;inset:0;overflow:hidden;backface-visibility:hidden;-webkit-backface-visibility:hidden;background:#f3eee2}
.memory-slice-front{transform:translateZ(.12px)}
.memory-slice-back{transform:rotateY(180deg) translateZ(.12px)}
.memory-slice-print{position:absolute;top:0;bottom:0;width:var(--memory-width);height:var(--memory-height);border-radius:0;box-shadow:none;transform:none!important;visibility:visible!important}
.memory-slice-back .memory-slice-print{background:repeating-linear-gradient(0deg,#8b806304 0 1px,transparent 1px 4px),linear-gradient(90deg,#e5dcc6,#f4efdf 9%,#efe9d7 90%,#d3cab4)}
.memory-slice-shading{position:absolute;inset:0;background:linear-gradient(90deg,#61523a1c,#fff4 48%,#4037211f);opacity:var(--bend-shade,0);pointer-events:none;transform:translateZ(.3px)}
.memory-leaf-contact{position:absolute;left:100%;top:90%;width:0;height:0;pointer-events:none}
.memory-back-print{inset:15px 15px 17px 17px;border-color:#9d9b7723}
.memory-back-print:before,.memory-back-print:after{display:none}
.memory-endpaper-sprig{width:38%;height:40%;max-height:150px;fill:#8a92762b;stroke:#727f5b;stroke-width:1;opacity:.55}
.memory-endpaper-sprig path:first-child{fill:none;stroke-width:1.5}
.memory-cover-endpaper{background:repeating-linear-gradient(45deg,#84906b0c 0 1px,transparent 1px 8px),linear-gradient(90deg,#c9cbb4,#e5e3ce 20%,#d7d8bd)}
.memory-cover-endpaper .memory-endpaper-sprig{opacity:.6}

/* A small scrapbook: printed pictures, a little tape, and pencil-soft margins. */
.memory-page{gap:13px;padding:18px 17px 24px 22px;background:repeating-linear-gradient(3deg,#99856704 0 1px,transparent 1px 4px),linear-gradient(90deg,#d9ceb9,#f5eddf 5%,#faf4e8 17%,#f7f0e3 95%,#e8ddc9)}
.memory-page-heading{position:relative;padding-right:27px}
.memory-page-heading>span{color:#998773;letter-spacing:.13em;font-size:7px;margin-bottom:6px}
.memory-page-heading h2{color:#48513e;font-size:clamp(22px,7.5cqw,27px);line-height:1.06}
.memory-page-photos{gap:15px 12px;padding:4px 3px 0;grid-template-rows:minmax(0,1.03fr) minmax(0,1fr)}
.memory-photo{--print-angle:-2deg;position:relative;padding:5px 5px 7px;gap:5px;background:#fffdf6;box-shadow:0 2px 3px #5c493221,0 6px 10px -7px #5b472b60;transform:rotate(var(--print-angle));transform-origin:50% 15%;transition:transform .32s ease,box-shadow .32s ease}
.memory-photo-wide{--print-angle:-1.2deg;width:96%;justify-self:center}
.memory-photo:nth-child(2){--print-angle:1.8deg}
.memory-photo:nth-child(3){--print-angle:-2.1deg}
.memory-photo:before{content:'';position:absolute;z-index:2;left:34%;top:-6px;width:32%;height:12px;transform:rotate(-4deg);background:repeating-linear-gradient(91deg,#f2d8a344 0 2px,#ead3a622 2px 3px),#dfcba8ad;border-inline:1px solid #e2c99f99;box-shadow:0 1px 1px #9b80551a;pointer-events:none}
.memory-photo:nth-child(2):before{left:12%;width:9px;height:9px;top:-3px;border:1px solid #c6ad7e;border-radius:50%;background:radial-gradient(circle at 30% 23%,#f6e4bb,#bca16e 67%,#9c825c);box-shadow:1px 2px 2px #66513233;transform:none}
.memory-photo:nth-child(3):before{left:auto;right:5%;top:-5px;width:40%;transform:rotate(12deg);background-color:#c8d0b0b3}
.memory-photo-image{display:block;appearance:none;padding:0;cursor:pointer;text-align:center;touch-action:pan-y;color:#605443;box-shadow:inset 0 0 0 1px #7e6e4d14}
.memory-photo-image img{transition:opacity .25s ease;object-position:50% 33%}
.memory-photo-wide img{object-position:50% 29%}
.memory-photo-image:focus-visible{outline:2px solid #8b7653;outline-offset:3px}
.memory-photo figcaption{font:500 clamp(18px,6cqw,21px)/1.02 LightHand,LightSerif,Georgia,serif;min-height:37px;letter-spacing:0;color:#75614d;text-align:center}
.memory-photo-note{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:9px 7px;background:repeating-linear-gradient(0deg,transparent 0 20px,#aa997721 20px 21px),#f3ead9;font:500 clamp(18px,6cqw,21px)/1.08 LightHand,LightSerif,Georgia,serif;color:#716149;text-wrap:balance;overflow-wrap:anywhere;box-shadow:inset 0 0 18px #bda47b19}
.memory-photo-note[hidden]{display:none}
.memory-photo.is-note-open{z-index:3;transform:translateY(-3px) rotate(calc(var(--print-angle) + 1deg));box-shadow:0 9px 13px -7px #4638277a}
.memory-photo.is-note-open .memory-photo-image img{opacity:0}
.memory-page-botanical{position:absolute;right:16px;top:16px;width:26px;height:42px;fill:#b9b79a26;stroke:#9a9b7d;stroke-width:1;opacity:.55;pointer-events:none;transform:rotate(13deg)}
.memory-page-folio{bottom:8px;color:#9b8c74;font-size:8px}
.memory-page-folio:before{content:'with love';font:italic 11px/1 LightSerif,Georgia,serif;letter-spacing:0;margin-right:8px;color:#a1977d}
.memory-page.is-arriving>.memory-page-photos>.memory-photo{animation:memory-print-settle .65s ease-out both}
body:is([data-scene-visible=false],[data-page-hidden=true],[data-bridge-active=true]) .memory-page.is-arriving>.memory-page-photos>.memory-photo{animation-play-state:paused}
body:is([data-scene-visible=false],[data-page-hidden=true],[data-bridge-active=true]) .memory-photo{transition:none}
.memory-page.is-arriving>.memory-page-photos>.memory-photo:nth-child(2){animation-delay:.06s}
.memory-page.is-arriving>.memory-page-photos>.memory-photo:nth-child(3){animation-delay:.12s}
@keyframes memory-print-settle{from{transform:translateY(3px) rotate(calc(var(--print-angle) - .6deg));opacity:.93}to{transform:translateY(0) rotate(var(--print-angle));opacity:1}}
.memory-book-reader .memory-book-scroll-hint{bottom:max(17px,env(safe-area-inset-bottom));font-size:12px;line-height:1.4;letter-spacing:0}
.memory-book-reader .memory-book-scroll-hint>span{display:block;font-size:13px;margin:0;color:#f5ead4;animation:none}
.memory-book-scroll-hint small{display:block;margin-top:4px;font:400 10px/1.4 Arial,sans-serif;color:#d8cdb6}
.memory-book-scroll-hint i{font-style:normal;margin-left:3px}
.memory-book-reader.is-opening .memory-book-scroll-hint{opacity:0}
.memory-book-reader.is-turning .memory-photo-image{pointer-events:none}
.memory-leaf-slices .memory-photo{transition:none;animation:none!important}
.memory-leaf-slices .memory-photo-image{pointer-events:none;cursor:default}
@media(max-width:359px),(max-height:620px) and (orientation:portrait){.memory-page{gap:10px;padding:14px 13px 21px 17px}.memory-page-heading{padding-right:22px}.memory-page-heading h2{font-size:21px}.memory-page-heading>span{font-size:6px;margin-bottom:5px}.memory-page-photos{gap:12px 9px;padding-top:3px}.memory-photo{padding:4px 4px 6px;gap:4px}.memory-photo figcaption{font-size:18px;min-height:35px}.memory-photo-note{font-size:18px;line-height:1.05;padding:7px 5px}.memory-page-botanical{right:12px;top:13px;width:22px;height:36px}.memory-book-reader .memory-book-scroll-hint{bottom:12px}.memory-book-reader .memory-book-scroll-hint>span{font-size:12px}.memory-book-scroll-hint small{font-size:9px;margin-top:2px}}
@media(orientation:landscape) and (max-height:500px){.memory-page{padding:8px 7px 12px 10px;gap:5px}.memory-page-heading h2{font-size:13px}.memory-page-heading{padding-right:12px}.memory-page-photos{gap:7px;padding:2px}.memory-photo{padding:3px;gap:0}.memory-page-botanical{width:14px;height:22px;right:7px;top:7px}.memory-page-folio:before{display:none}.memory-photo-note{font-size:10px;padding:4px}.memory-book-reader .memory-book-scroll-hint{bottom:8px}.memory-book-scroll-hint small{display:none}}
@media(prefers-reduced-motion:reduce){.memory-photo,.memory-photo img{transition:none}.memory-page.is-arriving>.memory-page-photos>.memory-photo{animation:none}}

.memory-book-cover-fallback{inset:17% 11%;padding:22px 12px;border:1px solid #ceb991;border-radius:1px;background:repeating-linear-gradient(3deg,#ab977205 0 1px,transparent 1px 4px),#f4ead4;color:#65704e;box-shadow:0 2px 7px #1d332c45,inset 0 0 0 5px #eee1c6;transform:rotate(-1deg)}
.memory-book-cover-fallback:after{content:'♡';position:absolute;bottom:15px;font:400 20px/1 LightSerif,Georgia,serif;color:#a48e65}
.memory-book-cover-fallback strong{margin:23px 0;font-size:clamp(22px,8cqw,29px);line-height:1.12;color:#536246}
.memory-book-cover-fallback>i{font:500 20px/1.15 LightHand,LightSerif,Georgia,serif;color:#9a7b55;margin-bottom:18px}

/* A small upward finger swipe teaches the native scroll, without catching touch. */
.memory-book-reader .memory-book-scroll-hint{pointer-events:none;user-select:none}
.memory-book-reader .memory-book-scroll-hint>[data-book-hint]{animation:none}
.memory-book-reader .memory-book-scroll-hint .memory-book-swipe-guide{display:flex;align-items:center;justify-content:center;gap:6px;height:32px;margin-top:3px;transition:opacity .2s ease;pointer-events:none}
.memory-book-reader .memory-book-scroll-hint .memory-book-swipe-copy{display:block;margin:0;font:400 13px/1.3 Arial,sans-serif;letter-spacing:0;color:#efe2c7;animation:none}
.memory-book-swipe-icon{display:block;flex:0 0 36px;width:36px;height:32px;overflow:visible;fill:none;stroke:#f1dfba;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.memory-book-swipe-arrow{opacity:.6}
.memory-book-swipe-finger{fill:#e9d6b326;transform-box:fill-box;transform-origin:center;animation:memory-book-swipe-up 2.6s ease-in-out infinite}
@keyframes memory-book-swipe-up{0%,15%{transform:translateY(2px);opacity:.45}32%{transform:translateY(2px);opacity:1}66%,78%{transform:translateY(-6px);opacity:1}92%,100%{transform:translateY(-6px);opacity:0}}
.memory-book-reader.is-opening .memory-book-swipe-finger,body[data-scene-visible=false] .memory-book-swipe-finger,body[data-page-hidden=true] .memory-book-swipe-finger,body[data-bridge-active=true] .memory-book-swipe-finger{animation-play-state:paused}
.memory-book-reader[data-swipe-seen=true] .memory-book-swipe-guide{opacity:0;visibility:hidden}
.memory-book-reader[data-swipe-seen=true] .memory-book-swipe-finger{animation:none}
@media(max-width:359px),(max-height:700px) and (orientation:portrait){.memory-book-reader .memory-book-scroll-hint{bottom:8px}.memory-book-reader .memory-book-scroll-hint .memory-book-swipe-guide{height:26px;margin-top:2px;gap:5px}.memory-book-swipe-icon{width:32px;height:26px;flex-basis:32px}.memory-book-reader .memory-book-scroll-hint .memory-book-swipe-copy{font-size:12px}}
@media(prefers-reduced-motion:reduce){.memory-book-swipe-finger{animation:none;transform:none;opacity:1}.memory-book-reader .memory-book-scroll-hint .memory-book-swipe-guide{transition:none}}

/* The optional photo tap uses the same outline hand as the phone. Its absolute
   icon preserves the existing footer height and never covers a photo target. */
.memory-book-reader .memory-book-scroll-hint>.memory-book-tap-guide{position:relative;width:max-content;max-width:100%;height:1.4em;margin:0 auto;line-height:1.4;animation:none}
.memory-book-reader .memory-book-scroll-hint [data-book-hint]{display:block;margin:0;font:inherit;color:inherit;animation:none}
.memory-book-tap-cue{position:absolute;right:calc(100% + 3px);top:50%;width:24px;height:24px;transform:translateY(-50%);overflow:visible;fill:none;stroke:#f1dfba;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;pointer-events:none;visibility:hidden}
.memory-book-tap-finger{fill:#e9d6b326;animation:memory-book-tap-finger 4.8s ease-in-out infinite;animation-play-state:paused}
.memory-book-tap-ripple{transform-box:fill-box;transform-origin:center;opacity:0;animation:memory-book-tap-ripple 4.8s ease-out infinite;animation-play-state:paused}
.memory-book-reader[data-tap-cue-active=true] .memory-book-tap-cue{visibility:visible}
.memory-book-reader[data-tap-cue-active=true] .memory-book-tap-finger,.memory-book-reader[data-tap-cue-active=true] .memory-book-tap-ripple{animation-play-state:running}
@keyframes memory-book-tap-finger{0%,44%,100%{transform:translateY(2px);opacity:.55}10%{transform:translateY(2px);opacity:1}22%,29%{transform:translateY(0);opacity:1}39%{transform:translateY(2px);opacity:.55}}
@keyframes memory-book-tap-ripple{0%,19%,44%,100%{transform:scale(.35);opacity:0}22%{transform:scale(.55);opacity:.85}39%{transform:scale(1.35);opacity:0}}
body[data-scene-visible=false] .memory-book-reader .memory-book-tap-cue,body[data-page-hidden=true] .memory-book-reader .memory-book-tap-cue,body[data-bridge-active=true] .memory-book-reader .memory-book-tap-cue{visibility:hidden}
body[data-scene-visible=false] .memory-book-reader .memory-book-tap-finger,body[data-scene-visible=false] .memory-book-reader .memory-book-tap-ripple,body[data-page-hidden=true] .memory-book-reader .memory-book-tap-finger,body[data-page-hidden=true] .memory-book-reader .memory-book-tap-ripple,body[data-bridge-active=true] .memory-book-reader .memory-book-tap-finger,body[data-bridge-active=true] .memory-book-reader .memory-book-tap-ripple{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.memory-book-tap-finger{animation:none;transform:none;opacity:1}.memory-book-tap-ripple{display:none;animation:none}}
