/* The application's actual parchment composition and opening sequence. */
.storefront-scroll-stage{display:block;position:relative;isolation:isolate;width:100%;aspect-ratio:3/2;border:0;padding:0;background:transparent;overflow:hidden;color:inherit}
button.storefront-scroll-stage{cursor:pointer}
.storefront-scroll-stage .scroll-sheet{display:block;position:absolute;inset:0;z-index:2;isolation:isolate;transform-origin:center;filter:drop-shadow(0 12px 18px #372b1e29)}
/* The app's parchment has a transparent center over a light lesson canvas. */
.storefront-scroll-stage .scroll-sheet:before{content:"";position:absolute;inset:11% 10% 11% 10%;z-index:0;background:#fffdf5;border-radius:12% / 15%}
/* Cover the legacy canvas's lower bevel in the parchment, below the lesson art. */
.storefront-scroll-stage .scroll-sheet:after{content:"";position:absolute;z-index:2;inset:82% 10% 5% 10%;background:linear-gradient(180deg,transparent 0,#fffdf5 35%,#fffdf5 75%,transparent 100%);-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 6%,#000 94%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 6%,#000 94%,transparent 100%);pointer-events:none}
.storefront-scroll-stage .scroll-bg{position:absolute;inset:0;z-index:1;width:100%;height:100%;object-fit:contain;pointer-events:none}
.storefront-scroll-stage .scroll-art{position:absolute;z-index:3;inset:7.2% 12.8% 8.6% 15.2%;width:72%;height:84.2%;object-fit:contain;mix-blend-mode:multiply;opacity:.91;filter:contrast(1.03) brightness(1.04);pointer-events:none;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 6.5%,#000 93.5%,transparent 100%),linear-gradient(180deg,transparent 0,#000 7%,#000 92%,transparent 100%);-webkit-mask-composite:source-in;mask-image:linear-gradient(90deg,transparent 0,#000 6.5%,#000 93.5%,transparent 100%),linear-gradient(180deg,transparent 0,#000 7%,#000 92%,transparent 100%);mask-composite:intersect}
.storefront-scroll-stage .closed-scroll-throw{position:absolute;z-index:3;left:calc(91% - 12px);top:calc(9.3% + 12px);width:18%;height:30%;object-fit:contain;opacity:0;transform:translate(-50%,-50%) scale(.1);filter:drop-shadow(0 8px 10px #372b1e38);pointer-events:none}
.storefront-scroll-stage.is-opening .scroll-sheet{opacity:0;transform:scaleX(.05);animation:storefront-scroll-open 1900ms cubic-bezier(.16,.72,.14,1) 1160ms forwards}
.storefront-scroll-stage.is-opening .closed-scroll-throw{animation:storefront-scroll-throw 1100ms ease-in-out 60ms forwards}
@keyframes storefront-scroll-open{from{opacity:1;transform:scaleX(.05)}to{opacity:1;transform:scaleX(1)}}
@keyframes storefront-scroll-throw{0%{left:calc(91% - 12px);top:calc(9.3% + 12px);opacity:1;transform:translate(-50%,-50%) scale(.1) rotate(0)}99.9%{left:50%;top:50%;opacity:1;transform:translate(-50%,-50%) scale(1.5) rotate(720deg)}100%{left:50%;top:50%;opacity:0;transform:translate(-50%,-50%) scale(1.5) rotate(720deg)}}
.hero-preview-levels{display:flex;justify-content:center;flex-wrap:wrap;gap:7px;margin:22px 0 8px}
.hero-preview-levels button{border:1px solid #9aabc355;border-radius:6px;padding:5px 11px;font-size:11px;line-height:1.5;background:#ffffff08;color:#d4e0f2}
.hero-preview-levels button[aria-pressed=true]{background:#f4a76b;color:#111b33;border-color:#f4a76b}
.hero-scroll-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;width:95%;margin:8px auto 14px}
.hero-scroll-controls>button{border:1px solid #9aabc355;border-radius:50%;width:38px;height:38px;flex-shrink:0;background:#ffffff12;color:#e1e9f5}
.hero-scroll-controls p{margin:0;min-width:0;line-height:1.5;color:#d4e0f2}
.hero-scroll-controls p span{display:block;font-size:10px;color:#9eaec7;margin-bottom:3px}
.hero-scroll-controls p strong{display:block;font-size:12px;font-weight:600}
.scroll-listen-button{border:1px solid #c5cedd;border-radius:8px;background:#fff;color:#263957;padding:10px 16px;font-size:12px;margin:4px auto 8px;display:block;max-width:100%}
.hero-preview>.scroll-listen-button{background:#f4a76b;border-color:#f4a76b;color:#111b33;font-weight:700}
.scroll-audio-status{display:block;text-align:center;font-size:11px;line-height:1.5;min-height:17px;color:#65748a}
.hero-preview>.scroll-audio-status{color:#aebed7}
.hero-preview>p{margin-top:16px}
.modal-scroll-stage{margin:18px auto 10px}
.dialog-controls p{min-width:0}
@media(max-width:720px){.hero-preview-levels{margin-top:16px}.hero-preview-levels button{padding:7px 12px}.hero-scroll-controls{width:100%}.preview-dialog{padding:16px 12px}.dialog-top{gap:12px}.dialog-top h2{font-size:24px}.preview-close{white-space:normal}.hero-scroll-controls p strong{font-size:11px}}
@media(prefers-reduced-motion:reduce){.storefront-scroll-stage.is-opening .scroll-sheet{opacity:1;transform:none;animation:none}.storefront-scroll-stage .closed-scroll-throw{display:none;animation:none}}
