:root{--bg-light:#f8faf9;--text-green:#1a4f3b;--envelope-green:#2d5a47;--envelope-paper:#f4efe6;--gold:#d4af37;--gold-light:#f1dfb0;--text-dark:#2c3e50;--text-muted:#666}.vinyl-envelope-wrapper{background:var(--bg-light);z-index:9999;cursor:pointer;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:fixed;top:0;left:0}.ve-scene{perspective:1200px;width:100%;max-width:450px;height:300px;position:relative}.ve-envelope{background:var(--envelope-paper);width:100%;height:100%;transform-style:preserve-3d;border-radius:8px;transition:transform .8s cubic-bezier(.4,0,.2,1);position:relative;box-shadow:0 15px 40px #0003}.ve-flap{background:var(--envelope-paper);clip-path:polygon(0 0,50% 100%,100% 0);z-index:7;transform-origin:top;height:60%;transition:transform .8s ease-in-out;position:absolute;top:0;left:0;right:0}.ve-envelope.open .ve-flap{background:var(--envelope-green);z-index:3;transform:rotateX(180deg)}.ve-body{background:var(--envelope-paper);clip-path:polygon(0 0,0 100%,100% 100%,100% 0,50% 60%);z-index:6;position:absolute;inset:0}.ve-wax-seal{z-index:8;width:60px;height:60px;color:var(--gold);background:#628671;border-radius:50%;justify-content:center;align-items:center;font-family:Great Vibes,cursive;font-size:1.8rem;transition:opacity .4s;display:flex;position:absolute;top:55%;left:50%;transform:translate(-50%,-50%);box-shadow:0 5px 15px #0000004d}.ve-envelope.open .ve-wax-seal{opacity:0}.ve-vinyl{z-index:1;background:#111 radial-gradient(circle,#0000 40%,#111 41%,#222 45%,#111 50%,#222 55%,#111 60%);border-radius:50%;justify-content:center;align-items:center;width:140px;height:140px;transition:all 1.2s ease-in-out;display:flex;position:absolute;top:40px;left:40px;box-shadow:0 5px 20px #0006}.ve-envelope.open .ve-vinyl{transform:translate(-100px,-50px)rotate(-45deg)}.ve-vinyl-center{background:var(--envelope-green);border:2px solid var(--gold);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:45px;height:45px;display:flex}.ve-card-preview{z-index:4;text-align:center;background:#fff;border-radius:4px;height:150px;padding:20px;transition:transform 1.2s;position:absolute;bottom:10px;left:10px;right:10px}.ve-envelope.open .ve-card-preview{transform:translateY(-80px)}.ve-hint{letter-spacing:2px;text-transform:uppercase;color:var(--text-green);margin-top:50px;font-size:.9rem;animation:2s infinite pulseHint}@keyframes pulseHint{0%,to{opacity:.6}50%{opacity:1}}body{background-color:var(--bg-light);color:var(--text-dark);width:100%;margin:0;padding:0;font-family:Montserrat,sans-serif;overflow-x:hidden}.invitation-container{box-sizing:border-box;width:100%;max-width:500px;margin:0 auto;padding:30px 12px 60px;position:relative;overflow-x:clip}.invitation-card{z-index:10;box-sizing:border-box;background:#fff url(https://www.transparenttextures.com/patterns/floral-texture.png);border-radius:20px;width:100%;padding:35px 20px;position:relative;box-shadow:0 10px 30px #00000014}.wedding-names{color:var(--text-green);text-align:center;margin:15px auto 10px;font-family:Great Vibes,cursive;font-size:3.5rem;line-height:1.1}.and-symbol{opacity:.6;margin:0 5px;font-size:2rem;display:inline-block}.wedding-date-top{letter-spacing:3px;text-transform:uppercase;color:var(--text-green);text-align:center;font-family:Cormorant Garamond,serif;font-size:1.4rem}.guest-section{text-align:center;flex-direction:column;justify-content:center;align-items:center;margin:1.8rem auto 1rem;padding:0 15px;display:flex}.guest-greeting{color:var(--text-green);text-align:center;letter-spacing:.04em;font-family:Cormorant Garamond,serif;font-size:1.35rem;font-weight:700;animation:3.5s ease-in-out infinite guestGlow;display:inline-block}@keyframes guestGlow{0%,to{text-shadow:0 2px 8px #1a4f3b26;transform:scale(1)}50%{color:var(--gold);text-shadow:0 3px 12px #d4af374d;transform:scale(1.03)}}.invitation-text{color:var(--text-dark);text-align:center;font-family:Cormorant Garamond,serif;font-size:1.15rem;line-height:1.7}.details-grid{grid-template-columns:repeat(1,1fr);gap:16px;margin:30px 0;display:grid}.detail-item{text-align:center;background:#1a4f3b08;border:1px solid #1a4f3b14;border-radius:12px;padding:16px}.detail-icon{color:var(--text-green);justify-content:center;align-items:center;margin-bottom:8px;display:flex}.detail-label{text-transform:uppercase;letter-spacing:2px;color:#888;margin-bottom:4px;font-size:.75rem;font-weight:600}.detail-value{color:var(--text-green);font-family:Cormorant Garamond,serif;font-size:1.25rem;font-weight:700}.italic{opacity:.8;font-style:italic}.footer-divider{background:linear-gradient(90deg,#0000,#1a4f3b33,#0000);width:80%;height:1px;margin:25px auto}.owner-section{text-align:center;flex-direction:column;justify-content:center;align-items:center;width:100%;margin:25px auto 15px;padding:15px;display:flex}.owner-section .owner-divider{background:linear-gradient(90deg, transparent, var(--gold), transparent);width:60px;height:2px;margin:0 auto 10px}.owner-section .sincerely-label{text-transform:uppercase;letter-spacing:3px;color:var(--text-green);text-align:center;margin-bottom:6px;font-family:Montserrat,sans-serif;font-size:.85rem;font-weight:700}.owner-section .owner-name{color:var(--text-green);font-family:Great Vibes,cursive;font-size:2.8rem;font-weight:700;line-height:1.2;animation:3.5s ease-in-out infinite ownerGlow;display:inline-block}@keyframes ownerGlow{0%,to{text-shadow:0 2px 8px #1a4f3b26;transform:scale(1)}50%{color:var(--gold);text-shadow:0 4px 14px #d4af3759;transform:scale(1.03)}}@media (width<=500px){.wedding-names{font-size:2.8rem}.ve-scene{max-width:90%}.invitation-container{padding:15px 8px 40px}.invitation-card{padding:25px 15px}}
