/* Video envelope entry only. No procedural paper, flaps, wax or extraction. */
.opening-host{isolation:isolate}
.opening-card{position:absolute;inset:0;z-index:1;overflow:hidden;background:var(--invite-paper,#fbf6f0)}
.opening-host:not([data-opening-state=ready]) .opening-card{visibility:hidden;pointer-events:none}
.opening-host:not([data-opening-state=ready]) .reader-scroll-cue{display:none!important}
.opening-video-surface{position:absolute;inset:0;z-index:3;overflow:hidden;background:#e9dfcf;opacity:1;visibility:visible}
.envelope-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.envelope-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;visibility:hidden;pointer-events:none}
.opening-host[data-opening-state=idle] .envelope-poster,.opening-host[data-opening-state=failed] .envelope-poster,.opening-host[data-opening-state=loading][data-opening-started=false] .envelope-poster{visibility:visible}
.opening-light{position:absolute;inset:0;z-index:5;pointer-events:none;opacity:var(--opening-light-opacity,0);overflow:hidden}
.opening-light::before{content:"";position:absolute;inset:-25%;transform:scale(var(--opening-light-scale,.25));transform-origin:50% 50%;filter:blur(10px);background:radial-gradient(ellipse at 50% 50%,#fffef5 0%,#fff9dce6 15%,#ffe6a080 31%,#ffdb7138 47%,transparent 68%),conic-gradient(from 220deg at 50% 50%,transparent 0deg,#ffedb955 16deg,transparent 28deg,#fff7dca6 49deg,transparent 61deg,#fff6d580 86deg,transparent 104deg,#ffeaaa45 126deg,transparent 145deg)}
.opening-light::after{content:"";position:absolute;inset:0;background:#fff9ed;opacity:var(--opening-light-wash,0)}
.opening-host[data-opening-state=ready] .opening-light{opacity:0}
.opening-host[data-opening-state=ready][data-opening-reveal=glow] .opening-light{transition:opacity .7s cubic-bezier(.2,.65,.3,1)}
.opening-start{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;background:transparent;cursor:pointer}
.opening-start:focus-visible{outline-offset:-7px}
.opening-start[hidden]{display:none}
.opening-video-controls{position:absolute;bottom:max(18px,env(safe-area-inset-bottom));inset-inline:12px;display:flex;justify-content:flex-start;gap:8px;pointer-events:none}
.opening-video-controls button{width:44px;height:44px;display:grid;place-items:center;padding:10px;border:1px solid var(--line);border-radius:50%;background:#fffdfceb;color:var(--ink);pointer-events:auto}
.opening-hint{position:absolute;top:24%;inset-inline:10%;margin:0;padding:11px 13px;background:#fffdfce8;color:var(--ink);border-radius:9px;font-size:14px;text-align:center;line-height:1.8}
.opening-host[data-opening-state=ready] .opening-video-surface{opacity:0;visibility:hidden;pointer-events:none}
.opening-host:not([data-opening-state=ready]) .invitation-scroller,.opening-host:not([data-opening-state=ready]) .mini-interior{overflow:hidden}
.benefit-video-mark{position:absolute;inset:0;display:grid;place-items:center;padding-bottom:78px;background:#e9e4d7;color:var(--green)}
.benefit-video-mark svg{width:56px;height:56px;padding:16px;border:1px solid #b3aa9380;border-radius:50%;background:var(--surface)}
@media(prefers-reduced-motion:reduce){.opening-light{display:none}.opening-video-surface,.opening-host[data-opening-state=ready] .opening-video-surface,.opening-host[data-opening-state=ready][data-opening-reveal=glow] .opening-light{transition:none}}

/* A complete design reveals its text over the original running video. */
.opening-host[data-opening-mode=integrated] .opening-card{visibility:visible}
.opening-host[data-opening-mode=integrated] .opening-video-surface{background:transparent}
.opening-host[data-opening-mode=integrated] .integrated-interior-video{width:100%;height:100%;object-fit:cover;object-position:center}
.opening-host[data-opening-mode=integrated]:not([data-opening-state=ready]) .reader-text-surface,
.opening-host[data-opening-mode=integrated]:not([data-opening-state=ready]) .reader-media,
.opening-host[data-opening-mode=integrated]:not([data-opening-state=ready]) .reader-music{visibility:hidden;pointer-events:none}
.opening-host[data-opening-mode=integrated] .opening-light{display:none}
.opening-host[data-opening-mode=integrated] .envelope-poster{object-fit:cover;object-position:center;background:var(--invite-paper,#fbf6f0)}
