/* A core prototype. The host book, scroll/focus owner and binding never transform. */
.vp-motion-stage { position:fixed; inset:0; z-index:40; overflow:hidden; pointer-events:none; }
/* Flat on purpose: WebKit mis-sorts nested preserve-3d faces, so faces swap by keyframes and paint in DOM order. */
.vp-motion-area { position:absolute; perspective-origin:0 50%; }
.vp-motion-leaf { position:absolute; inset:0; transform-origin:0 50%; will-change:transform; }
.vp-motion-face { position:absolute; inset:0; border-radius:0 14px 14px 0; background:var(--paper,#f7f4eb); overflow:hidden; }
.vp-motion-front { box-shadow:6px 0 15px #40372326; }
.vp-motion-back { opacity:0; transform:scaleX(-1); background:repeating-linear-gradient(8deg,#ede8d9 0 2px,#eae5d6 2px 3px); box-shadow:-6px 0 16px #40372326; }
.vp-motion-back:after { content:''; position:absolute; inset:18px; border:1px solid #c5bda355; border-radius:10px 0 0 10px; }
.vp-motion-shade { position:absolute; inset:0; pointer-events:none; background:linear-gradient(90deg,#3d352780,transparent 75%); }
.vp-motion-binding { position:absolute; left:0; top:0; bottom:0; width:2px; background:#655d4338; pointer-events:none; }
/* Use the existing paper typography, but none of the old turning-leaf geometry. */
.vp-motion-stage .vp-motion-content { position:absolute; inset:0; margin:0; width:100%; height:100%; min-height:0; max-width:none; box-sizing:border-box; overflow:hidden; transform:none; opacity:1; box-shadow:none; background:var(--paper,#f7f4eb); border:0; border-radius:0 14px 14px 0; pointer-events:none; z-index:auto; }
.vp-motion-content *, .vp-motion-content *:before, .vp-motion-content *:after { animation:none !important; transition:none !important; caret-color:transparent; }
/* Maintain SVG map stroke in motion snapshots */
.vp-motion-stage .vp-pixel-map:not(.is-thumbnail) path[data-region] { stroke:#294430; stroke-opacity:.25; stroke-width:.1; }
/* Keep heading and typography aligned with #vpMain in stamps / journal snapshots */
.vp-motion-stage .vp-motion-content[data-page="stamps"] .vp-page-heading h1 { font-size:25px; letter-spacing:1px; }
.vp-motion-stage .vp-motion-content[data-page="stamps"] .vp-page-heading h1 em { display:inline; }
.vp-motion-stage .vp-motion-content[data-page="stamps"] .vp-page-heading { padding-bottom:20px; }
@media(prefers-reduced-motion:reduce) { .vp-motion-stage { display:none; } }

