@keyframes envelope-fade-in{0%{opacity:0;transform:scale(.985)}to{opacity:1;transform:scale(1)}}@keyframes envelope-stamp-raise{0%{transform:translate(-50%,-50%)}to{transform:perspective(var(--envelope-stamp-raise-perspective, 400px)) translate3d(-50%,-50%,0) translateY(var(--stamp-raise-target, -150px)) rotateX(var(--envelope-stamp-raise-tilt, 5deg))}}.envelope-invitation{min-height:100vh;min-height:100dvh;--envelope-stage-gradient: linear-gradient( 180deg, var(--envelope-bg-start, #f5f4f0) 0%, var(--envelope-bg-end, #e1dbd3) 100% );background:transparent;color:var(--envelope-ink, var(--ink))}.envelope-stage{min-height:100vh;min-height:100dvh;width:100%;height:100vh;height:100dvh;background:var(--envelope-stage-gradient);position:relative;overflow:hidden;display:flex;align-items:var(--envelope-stage-align, stretch);justify-content:var(--envelope-stage-justify, center);padding:var(--envelope-stage-padding, 0);cursor:pointer;opacity:1;transition:opacity var(--envelope-fade-duration, 1.5s) ease var(--envelope-fade-delay, 1.5s)}.envelope-stage:focus-visible{outline:2px solid var(--envelope-focus-ring, var(--focus-ring));outline-offset:6px}.envelope-stage.is-fading{opacity:0}.envelope-frame{position:relative;width:100%;max-width:var(--envelope-frame-max-width, 1050px);height:100%;background:var( --envelope-frame-background, var(--envelope-frame-surface, transparent) );border-radius:var(--envelope-frame-radius, 0);border:var(--envelope-frame-border, none);box-shadow:var(--envelope-frame-shadow, none);overflow:hidden}.envelope-video{display:block;width:100%;height:100%;object-fit:cover;object-position:center;animation:envelope-fade-in var(--envelope-video-fade-duration, .6s) ease-out;z-index:1;position:relative}.envelope-video-placeholder{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:0}.stamp-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);transform-origin:50% 85%;pointer-events:none;z-index:2;will-change:transform;--stamp-size: var(--envelope-stamp-size, clamp(300px, 55vw, 420px));--stamp-raise-target: calc( var(--stamp-size) * var(--envelope-stamp-raise-factor, -.36) )}.stamp-overlay.is-raising{animation:envelope-stamp-raise var(--envelope-stamp-raise-duration, 3.5s) linear forwards}@media(min-width:1050px){.envelope-frame{-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 var(--envelope-frame-mask-edge, 8%),#000 calc(100% - var(--envelope-frame-mask-edge, 8%)),transparent 100%);mask-image:linear-gradient(90deg,transparent 0%,#000 var(--envelope-frame-mask-edge, 8%),#000 calc(100% - var(--envelope-frame-mask-edge, 8%)),transparent 100%);-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}}@media(prefers-reduced-motion:reduce){.envelope-video{animation:none}.stamp-overlay.is-raising{animation:none;transform:translate(-50%,-50%)}.envelope-stage{transition:none}}.envelope-invitation{--envelope-bg-start: #e8e1df;--envelope-bg-end: #e8e1df;--envelope-ink: var(--ink);--stamp-text-color: #a11714;--stamp-text-shadow: -1px -1px 0 rgba(255, 180, 160, .6), -2px -2px 1px rgba(255, 200, 180, .3), 1px 1px 1px rgba(40, 10, 10, .7), 2px 2px 2px rgba(20, 0, 0, .4), 0 0 1px rgba(60, 15, 15, .5)}html.invitation-scroll-locked,body.invitation-scroll-locked{overflow:hidden}.envelope-layer .envelope-stage,.envelope-layer .envelope-audio-toggle{pointer-events:auto}.envelope-layer .envelope-stage.is-fading{pointer-events:none}.envelope-stage{z-index:2}.envelope-audio-toggle{position:fixed;right:1rem;bottom:1rem;width:2.5rem;height:2.5rem;border:none;border-radius:999px;background:var(--invitation-accent, var(--accent));color:var(--invitation-ink-inverse, #fff);display:inline-flex;align-items:center;justify-content:center;font-size:1.1rem;box-shadow:0 8px 18px var(--invitation-accent-shadow, rgba(0, 0, 0, .22));cursor:pointer;z-index:1}.envelope-audio-toggle:focus-visible{outline:2px solid var(--invitation-focus-ring, var(--focus-ring));outline-offset:2px}.envelope-audio-toggle i{pointer-events:none}
