/* Tall embossed paper and cast-wax seals, inspired by the supplied reference. */
.envelope-colours{display:flex;justify-content:center;margin:0 0 35px}.envelope-color-picker{display:flex;gap:14px;align-items:center;flex-wrap:wrap;font:13px/1.5 Arial,sans-serif;color:inherit}.envelope-color-picker select{background:#fffdf7;color:#343c2e;border:1px solid #c8c9b8;border-radius:20px;padding:10px 16px;font:inherit;max-width:100%;width:auto}
[data-invitation-theme]{--envelope-paper:#d8e0d5;--wax:#cfaaa0;--wax-light:#f3d8cb;--wax-dark:#987569;--emboss-tint:linear-gradient(#d6e1d5,#d6e1d5)}
[data-invitation-theme="olive-notes"]{--envelope-paper:#7b8050;--wax:#b89850;--wax-light:#ecd498;--wax-dark:#80662f;--emboss-tint:linear-gradient(#8a8e59,#8a8e59)}
[data-invitation-theme="rose-letter"]{--envelope-paper:#f1e8df;--wax:#c9949f;--wax-light:#f7d4d9;--wax-dark:#a4747f;--emboss-tint:linear-gradient(#fff4e9,#fff4e9)}
[data-invitation-theme="midnight-gold"]{--envelope-paper:#333d3c;--wax:#b99a55;--wax-light:#eddaa1;--wax-dark:#80662f;--emboss-tint:linear-gradient(#55645f,#55645f)}
[data-invitation-theme="coastal-vows"]{--envelope-paper:#c8dcd9;--wax:#d7c6a8;--wax-light:#fff0d1;--wax-dark:#a7997d;--emboss-tint:linear-gradient(#cfe8e3,#cfe8e3)}
[data-invitation-theme="modern-vow"]{--envelope-paper:#f4f0e6;--wax:#d7c9aa;--wax-light:#fff6dc;--wax-dark:#a29475;--emboss-tint:linear-gradient(#fffdf4,#fffdf4)}
.envelope-screen{gap:18px;padding:28px 24px 22px;background:#f8f5ef;color:#6a6357;min-height:0}.envelope-intro{font-size:17px;margin:0 0 10px}.envelope-prompt{font-size:10px;letter-spacing:.15em}.envelope-skip{font-size:11px;padding:5px}
.envelope,.theme-art.envelope{position:relative;display:block;width:min(245px,100%);height:auto;aspect-ratio:0.49;min-height:0;margin:0 auto;border:0;border-radius:22px;background-color:var(--envelope-paper);background-image:var(--emboss-tint),url('assets/embossed-floral-paper.png');background-blend-mode:multiply;background-size:cover;box-shadow:0 9px 22px #51443118,inset 0 0 0 1px #fff3;overflow:visible;isolation:isolate;outline:none;transition:transform .3s,box-shadow .3s;color:#514939}
.envelope::after{content:'';position:absolute;inset:0;border-radius:inherit;z-index:2;pointer-events:none;background:linear-gradient(145deg,transparent 49.6%,#fff2 49.9%,transparent 50.4%) left bottom/50% 58% no-repeat,linear-gradient(-145deg,transparent 49.6%,#0001 49.9%,transparent 50.4%) right bottom/50% 58% no-repeat;border:0;box-shadow:inset 0 0 0 1px #fff3}
.envelope-flap{inset:0;height:54%;z-index:3;border-radius:22px 22px 0 0;clip-path:polygon(0 0,100% 0,100% 64%,50% 100%,0 64%);background-color:var(--envelope-paper);background-image:linear-gradient(180deg,#fff1,#0000000a),var(--emboss-tint),url('assets/embossed-floral-paper.png');background-blend-mode:multiply;background-size:100% 100%,100% 100%,100% 185%;backface-visibility:visible;transform-origin:top;transition:transform .65s ease,opacity .4s .35s;filter:drop-shadow(0 3px 2px #302b3b55)}
.envelope-flap::after{content:'';position:absolute;inset:0;background:linear-gradient(35deg,transparent 48.7%,#0004 49%,#fff8 50%,transparent 51%) left bottom/50% 38% no-repeat,linear-gradient(-35deg,transparent 48.7%,#0004 49%,#fff8 50%,transparent 51%) right bottom/50% 38% no-repeat}
.envelope-letter{inset:12% 9% 6%;z-index:0;border:1px solid #c4bfa9;border-radius:7px;background:#fffcf5;color:#6c675b;font:italic 28px/1.3 Georgia,serif;opacity:0;transition:transform .5s .35s,opacity .2s .25s;padding:25px 12px;box-shadow:0 4px 20px #0001;pointer-events:none}
.envelope-seal{top:51%;left:50%;width:90px;height:90px;z-index:5;transform:translate(-50%,-50%) rotate(-8deg);border:0;border-radius:49% 51% 48% 52% / 51% 47% 53% 49%;background:radial-gradient(circle at 48% 45%,transparent 53%,var(--wax-dark) 55%,var(--wax-light) 59%,var(--wax) 63%,var(--wax-light) 70%,var(--wax-dark) 75%),linear-gradient(125deg,var(--wax-light),var(--wax) 40%,var(--wax-dark));box-shadow:2px 4px 5px #45342455,inset 2px 3px 4px var(--wax-light),inset -2px -3px 4px var(--wax-dark);color:var(--wax-dark);text-shadow:0 1px 1px var(--wax-light);display:flex;align-items:center;justify-content:center;flex-direction:column;transition:opacity .2s,transform .3s;pointer-events:none}
.envelope-seal::before{content:'';position:absolute;inset:12px;border:1px solid var(--wax-dark);border-radius:50%;box-shadow:0 1px 1px var(--wax-light),inset 0 1px 1px var(--wax-light);opacity:.65}.envelope .wax-monogram{font:italic 31px/.9 'Segoe Script','Apple Chancery',Georgia,serif;letter-spacing:-5px;max-width:none;padding-right:5px;margin-top:8px;text-transform:none}.envelope .wax-wreath{font:21px/1 Georgia,serif;letter-spacing:0;margin:1px 0 0;max-width:none}.envelope:hover .envelope-seal{box-shadow:2px 5px 7px #45342466,inset 2px 3px 4px var(--wax-light),inset -2px -3px 4px var(--wax-dark);transform:translate(-50%,-50%) rotate(-3deg)}
.opening .envelope-flap{transform:rotateX(175deg);opacity:0}.opening .envelope-letter{opacity:1;z-index:4;transform:translateY(-13%)}.opening .envelope-seal{opacity:0;transform:translate(-50%,-50%) scale(.8)}
.theme-art.envelope{width:100%;max-width:280px;aspect-ratio:.54;height:auto;margin:auto}.theme-art.envelope:hover{transform:translateY(-5px)}.theme-art.envelope .envelope-letter{font-size:28px}.theme-grid{gap:40px 30px}.theme-card>div{max-width:280px;margin:auto}.wip-envelope-dialog{border:0;border-radius:18px;width:min(390px,calc(100% - 24px));max-height:95dvh}.wip-envelope-dialog .envelope{width:min(220px,48vw);max-height:60dvh}.wip-envelope-dialog::backdrop{background:#2c3028d9}
#example .envelope-screen>.envelope{max-height:60dvh;width:min(230px,48vw)}#example .envelope-screen{padding-top:40px}#example{background:#f8f5ef}
@media(max-width:550px){.theme-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 14px}.theme-card h3{font-size:22px}.theme-card p{font-size:12px}.theme-card .state{font-size:8px}.theme-card-actions{gap:12px}.theme-card .preview-link,.theme-choice{font-size:11px}.theme-card .envelope-seal{width:65px;height:65px}.theme-card .wax-monogram{font-size:24px}.theme-card .wax-wreath{font-size:15px}.envelope-intro{font-size:16px}.envelope-screen{padding-inline:20px}.theme-art.envelope{border-radius:14px}.theme-art.envelope .envelope-flap{border-radius:14px 14px 0 0}}
@media(prefers-reduced-motion:reduce){.envelope,.envelope *{transition:none!important}}
/* User colour choices override the theme defaults, never its invitation content. */
.envelope,.theme-art.envelope{background-color:#fff;background-size:100% 100%,220% auto;background-position:center}.envelope-flap{background-color:#fff;background-size:100% 100%,100% 100%,220% auto;background-position:center}
[data-envelope-color="sage"]{--envelope-paper:#d8e0d5;--wax:#cfaaa0;--wax-light:#f3d8cb;--wax-dark:#987569;--emboss-tint:linear-gradient(#d6e1d5,#d6e1d5)}
[data-envelope-color="ivory"]{--envelope-paper:#f4f0e6;--wax:#d7c9aa;--wax-light:#fff6dc;--wax-dark:#a29475;--emboss-tint:linear-gradient(#fffdf4,#fffdf4)}
[data-envelope-color="olive"]{--envelope-paper:#7b8050;--wax:#b89850;--wax-light:#ecd498;--wax-dark:#80662f;--emboss-tint:linear-gradient(#8a8e59,#8a8e59)}
[data-envelope-color="blush"]{--envelope-paper:#efd6d4;--wax:#c9949f;--wax-light:#f7d4d9;--wax-dark:#a4747f;--emboss-tint:linear-gradient(#f2d9d8,#f2d9d8)}
[data-envelope-color="blue"]{--envelope-paper:#b8cfdf;--wax:#dfd8c2;--wax-light:#fff9e5;--wax-dark:#a79d83;--emboss-tint:linear-gradient(#bfd8eb,#bfd8eb)}
[data-envelope-color="lavender"]{--envelope-paper:#d6cbe1;--wax:#d7cbdc;--wax-light:#fff1ff;--wax-dark:#9d89a5;--emboss-tint:linear-gradient(#dbcee9,#dbcee9)}
[data-envelope-color="burgundy"]{--envelope-paper:#693b49;--wax:#b89850;--wax-light:#ecd498;--wax-dark:#80662f;--emboss-tint:linear-gradient(#905265,#905265)}
[data-envelope-color="charcoal"]{--envelope-paper:#414748;--wax:#acb3b6;--wax-light:#e9eeef;--wax-dark:#70797d;--emboss-tint:linear-gradient(#687072,#687072)}
.envelope-screen.playing-opening>.envelope,.envelope-screen.playing-opening>.envelope-intro,.envelope-screen.playing-opening>.envelope-prompt{display:none}
.envelope-opening-video{display:block;width:100%;max-width:900px;height:auto;max-height:75vh;max-height:75dvh;object-fit:contain;border-radius:14px;background:#faf8f2}
.playing-opening .envelope-skip{position:relative;z-index:2;margin-top:16px}
