.envelope-overlay{z-index:9999;-webkit-backdrop-filter:blur(16px);perspective:1200px;background:radial-gradient(circle,#fdfaf5f7 0%,#f3ede2fa 100%);justify-content:center;align-items:center;transition:opacity .9s cubic-bezier(.4,0,.2,1),visibility .9s;display:flex;position:fixed;inset:0;overflow:hidden}.envelope-overlay.mode-no-invitation{-webkit-backdrop-filter:none;background:radial-gradient(circle at top,#fffdf9 0%,#f7f0e3 50%,#e9dec9 100%);min-height:100dvh;padding:3rem 1.5rem;position:relative;overflow-y:auto}.envelope-overlay.phase-expand{opacity:0;pointer-events:none;visibility:hidden;transition:opacity 1.1s cubic-bezier(.4,0,.2,1),visibility 1.1s}.envelope-scene{flex-direction:column;justify-content:center;align-items:center;width:100%;max-width:800px;margin:auto;transition:transform .8s cubic-bezier(.3,1,.4,1);display:flex}.mode-auto-open.phase-open .envelope-scene,.mode-auto-open.phase-reveal .envelope-scene,.mode-auto-open.phase-lift .envelope-scene,.mode-auto-open.phase-expand .envelope-scene{transform:translateY(14vh)}.envelope-wrapper{aspect-ratio:1.45;perspective:1500px;width:clamp(320px,75vmin,520px);transform-style:preserve-3d;-webkit-transform-style:preserve-3d;filter:drop-shadow(0 20px 40px #503c1e26)drop-shadow(0 6px 12px #503c1e14);transition:transform 1s cubic-bezier(.22,1,.36,1),filter 1s;-webkit-transition:-webkit-transform 1s cubic-bezier(.22,1,.36,1),filter 1s;position:relative}.mode-auto-open.phase-float .envelope-wrapper{animation:4s ease-in-out infinite gentle-float}.mode-auto-open.phase-open .envelope-wrapper,.mode-auto-open.phase-reveal .envelope-wrapper,.mode-auto-open.phase-lift .envelope-wrapper,.mode-auto-open.phase-expand .envelope-wrapper{filter:drop-shadow(0 14px 28px #503c1e1f);transform:scale(.75)}.mode-no-invitation .envelope-wrapper{width:clamp(300px,75vw,460px);margin-bottom:2.5rem;animation:5s ease-in-out infinite gentle-float}.envelope-back{z-index:1;background:linear-gradient(160deg,#dfd0b5 0%,#d4c3a5 100%);border-radius:6px 6px 14px 14px;position:absolute;inset:0;overflow:hidden;transform:translate(0,0);box-shadow:inset 0 0 30px #3c2d142e}.envelope-back:after{content:"";pointer-events:none;background:repeating-linear-gradient(45deg,#ffffff05 0 2px,#0000 2px 4px);position:absolute;inset:0}.envelope-pocket{z-index:3;pointer-events:none;transform-style:preserve-3d;-webkit-transform-style:preserve-3d;border-radius:6px 6px 14px 14px;position:absolute;inset:0;overflow:hidden;transform:translateZ(10px)}.pocket-flap-left{clip-path:polygon(0 0,0 100%,100% 50%);filter:brightness(.98);background:linear-gradient(135deg,#efe4d0 0%,#e3d3ba 100%);width:53%;position:absolute;top:0;bottom:0;left:0}.pocket-flap-right{clip-path:polygon(100% 0,100% 100%,0 50%);filter:brightness(.95);background:linear-gradient(225deg,#ebd8be 0%,#ded0b7 100%);width:53%;position:absolute;top:0;bottom:0;right:0}.pocket-flap-bottom{clip-path:polygon(0 100%,50% 0,100% 100%);filter:drop-shadow(0 -3px 8px #5a411e1f);background:linear-gradient(#e5d5bd 0%,#f5ebd8 100%);height:56%;position:absolute;bottom:0;left:0;right:0}.pocket-flap-bottom:before{content:"";background:linear-gradient(#c9973e26 0%,#0000 20%);position:absolute;inset:0}.envelope-flap-top{transform-origin:top;height:56%;transform-style:preserve-3d;-webkit-transform-style:preserve-3d;transition:transform .9s cubic-bezier(.2,.8,.3,1),z-index 0s .25s,opacity .8s;z-index:4;-webkit-transition:-webkit-transform .9s cubic-bezier(.2,.8,.3,1),z-index 0s .25s,opacity .8s;position:absolute;top:0;left:0;right:0;transform:translateZ(15px)rotateX(0)}.phase-open .envelope-flap-top,.phase-reveal .envelope-flap-top,.phase-lift .envelope-flap-top,.phase-expand .envelope-flap-top{z-index:1;transform:translateZ(-5px)rotateX(-179deg)}.envelope-back,.envelope-pocket{transition:transform 1s cubic-bezier(.4,0,.2,1),opacity .9s;-webkit-transition:-webkit-transform 1s cubic-bezier(.4,0,.2,1),opacity .9s}.phase-expand .envelope-back{opacity:0;pointer-events:none;transform:translateY(180px)}.phase-expand .envelope-pocket{opacity:0;pointer-events:none;transform:translate3d(0,180px,10px)}.phase-expand .envelope-flap-top{opacity:0;pointer-events:none;transform:translate3d(0,180px,-5px)rotateX(-179deg)}.flap-front,.flap-back{backface-visibility:hidden;clip-path:polygon(0 0,50% 100%,100% 0);position:absolute;inset:0}.flap-front{filter:drop-shadow(0 4px 12px #3c2d142e);background:linear-gradient(#f2e6cf 0%,#e2d1b5 100%)}.flap-back{background:linear-gradient(#e4d5ba 0%,#d3c2a4 100%);transform:rotateY(180deg);box-shadow:inset 0 -4px 12px #3c2d141f}.envelope-seal{z-index:5;background:radial-gradient(circle at 35% 30%,#f0d585 0%,#dbb66a 30%,#c9973e 65%,#9e7326 90%,#755216 100%);border-radius:50%;justify-content:center;align-items:center;width:clamp(54px,10vmin,76px);height:clamp(54px,10vmin,76px);transition:transform .5s cubic-bezier(.4,0,.2,1),opacity .4s;display:flex;position:absolute;top:54%;left:50%;transform:translate(-50%,-50%)scale(1);box-shadow:0 6px 20px #5a411459,0 2px 6px #0003,inset 0 2px 6px #fff5b480,inset 0 -4px 8px #462d0a66}.seal-ring{pointer-events:none;border:1.5px dashed #8a5f1966;border-radius:50%;position:absolute;inset:4px}.seal-text{font-family:var(--font-serif);color:#fffaf0;text-shadow:0 1px 3px #50320f99,0 0 2px #0000004d;letter-spacing:.08em;font-size:clamp(15px,2.8vmin,20px);font-weight:700}.mode-no-invitation .envelope-seal{animation:3s ease-in-out infinite seal-pulse}.phase-prepare .envelope-seal,.phase-open .envelope-seal,.phase-reveal .envelope-seal,.phase-lift .envelope-seal,.phase-expand .envelope-seal{opacity:0;transform:translate(-50%,-50%)scale(.2)}.envelope-card-container{z-index:2;transition:transform 1.2s cubic-bezier(.22,1,.36,1),opacity .9s;height:clamp(90px,13vmin,115px);transform-style:preserve-3d;-webkit-transform-style:preserve-3d;-webkit-transition:-webkit-transform 1.2s cubic-bezier(.22,1,.36,1),opacity .9s;position:absolute;bottom:8%;left:12%;right:12%;transform:translateZ(2px)scale(1)}.mode-no-invitation .envelope-card-container{display:none}.phase-reveal .envelope-card-container{z-index:2;transform:translate3d(0,-90%,25px)scale(1.06)}.phase-lift .envelope-card-container{z-index:10;transform:translate3d(0,-190%,50px)scale(1.15)}.phase-expand .envelope-card-container{z-index:10;opacity:.96;transform:translate3d(0,-120%,80px)scale(6)}.card-panel{height:100%;transform-style:preserve-3d;-webkit-transform-style:preserve-3d;position:absolute;left:0;right:0}.card-panel-3{background:linear-gradient(135deg,#faf8f5 0%,#f5ecd7 50%,#e8eed6 100%);border:1px solid #c9973e47;border-top:none;border-radius:0 0 8px 8px;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;padding:.8rem;display:flex;position:relative;box-shadow:0 12px 35px -6px #37280f38,inset 0 0 20px #ffffffb3}.card-panel-2{transform-origin:bottom;transition:transform .9s cubic-bezier(.2,.8,.3,1) .3s;-webkit-transition:-webkit-transform .9s cubic-bezier(.2,.8,.3,1) .3s;bottom:99.5%;transform:rotateX(179deg)}.card-panel-1{transform-origin:bottom;transition:transform .9s cubic-bezier(.2,.8,.3,1) .7s;z-index:10;-webkit-transition:-webkit-transform .9s cubic-bezier(.2,.8,.3,1) .7s;bottom:99.5%;transform:rotateX(179deg)}.phase-reveal .card-panel-2,.phase-lift .card-panel-2,.phase-expand .card-panel-2,.phase-reveal .card-panel-1,.phase-lift .card-panel-1,.phase-expand .card-panel-1{transform:rotateX(0)}.card-face{backface-visibility:hidden;transform-style:preserve-3d;-webkit-transform-style:preserve-3d;background:linear-gradient(135deg,#faf8f5 0%,#f5ecd7 50%,#e8eed6 100%);border:1px solid #c9973e47;flex-direction:column;justify-content:center;align-items:center;padding:.8rem;display:flex;position:absolute;inset:0}.card-face-front{transform:translateZ(1px)}.card-panel-2 .card-face-front{border-top:1px dashed #c9973e33;border-bottom:1px dashed #c9973e33}.card-panel-1 .card-face-front{border-bottom:1px dashed #c9973e33;border-radius:8px 8px 0 0}.card-face-back{border-radius:inherit;background:linear-gradient(150deg,#f7f1e5 0%,#eee4d1 100%);transform:rotateX(180deg)translateZ(1px);box-shadow:inset 0 0 16px #785a281f}.sheet-hero-bg{pointer-events:none;background:radial-gradient(circle at 50% 30%,#c9973e14 0%,#0000 70%);position:absolute;inset:0}.card-invite-text{color:#5c7a5e;text-transform:uppercase;letter-spacing:.28em;margin:0 0 .3rem;font-size:clamp(.65rem,1.5vmin,.8rem);font-weight:600}.card-names{font-family:var(--font-serif);color:#3d5e40;letter-spacing:-.02em;margin:0;font-size:clamp(1.3rem,3.8vmin,2.1rem);font-weight:700}.card-subtitle{font-family:var(--font-serif);color:#3d5e40;justify-content:center;align-items:center;min-height:1.3em;margin:0;font-size:clamp(1rem,2.6vmin,1.4rem);font-weight:600;display:flex}.typing-cursor{color:#c9973e;-webkit-user-select:none;user-select:none;margin-left:2px;font-weight:300;animation:.7s infinite typing-blink;display:inline-block}@keyframes typing-blink{0%,to{opacity:1}50%{opacity:0}}.card-heart{color:#c9973e;margin-top:.25rem;font-size:clamp(1rem,2.6vmin,1.3rem);animation:2s infinite gentle-beat}.card-date{font-family:var(--font-serif);color:#3d5e40;margin:0 0 .25rem;font-size:clamp(.9rem,2.4vmin,1.2rem);font-weight:600}.card-venue{color:#6a6a62;letter-spacing:.06em;margin:0;font-size:clamp(.7rem,1.7vmin,.9rem);font-weight:500}.no-inv-content{text-align:center;z-index:10;width:100%;max-width:440px;animation:.8s ease-out .2s both fadeIn}.no-inv-title{font-family:var(--font-serif);color:#3d5e40;letter-spacing:-.02em;margin:0 0 .75rem;font-size:clamp(2rem,6vmin,2.8rem);font-weight:700}.no-inv-text{color:#6a6a62;margin:0 0 1.75rem;font-size:1.05rem;line-height:1.6}.no-inv-error{color:#b84343;background:#fdf3f3;border:1px solid #fabdbd;border-radius:12px;margin:-.5rem 0 1.5rem;padding:.75rem 1rem;font-size:.9rem;font-weight:500}.no-inv-form{flex-direction:column;align-items:center;gap:1rem;width:100%;display:flex}.no-inv-input{text-align:center;color:#3a3a3a;background:#fff;border:2px solid #ded6c6;border-radius:50px;outline:none;width:100%;max-width:320px;padding:.9rem 1.4rem;font-size:1.05rem;transition:all .25s;box-shadow:0 2px 10px #00000005}.no-inv-input:focus{border-color:#c9973e;box-shadow:0 0 0 4px #c9973e26,0 4px 12px #0000000d}.no-inv-input::placeholder{color:#b5ad9e}.no-inv-button{color:#fff;cursor:pointer;letter-spacing:.03em;background:#3d5e40;border:none;border-radius:50px;width:100%;max-width:240px;padding:.95rem 2rem;font-size:1rem;font-weight:600;transition:all .25s cubic-bezier(.2,.8,.3,1);box-shadow:0 4px 14px #3d5e4040}.no-inv-button:hover:not(:disabled){background:#4a6d4d;transform:translateY(-2px);box-shadow:0 6px 20px #3d5e4059}.no-inv-button:active:not(:disabled){transform:translateY(0)scale(.98)}.no-inv-button:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.rewatch-button{z-index:100;-webkit-backdrop-filter:blur(12px);color:#5c7a5e;cursor:pointer;background:#fffffff2;border:1px solid #dcd4c6e6;border-radius:50px;align-items:center;gap:.5rem;padding:.65rem 1.25rem;font-size:.85rem;font-weight:500;transition:all .25s;display:flex;position:fixed;bottom:1.75rem;right:1.75rem;box-shadow:0 4px 16px #00000014}.rewatch-button:hover{color:#3d5e40;background:#fff;border-color:#c9973e;transform:translateY(-2px);box-shadow:0 6px 24px #c9973e40}.rewatch-button:active{transform:translateY(0)scale(.96)}@keyframes gentle-float{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-10px)rotate(.4deg)}}@keyframes seal-pulse{0%,to{box-shadow:0 6px 20px #5a411459,0 2px 6px #0003,inset 0 2px 6px #fff5b480,inset 0 -4px 8px #462d0a66}50%{box-shadow:0 6px 28px #c9973e8c,0 0 16px #c9973e40,inset 0 2px 6px #fff5b499,inset 0 -4px 8px #462d0a66}}@keyframes gentle-beat{0%,to{transform:scale(1)}50%{transform:scale(1.12)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}@media (max-width:520px){.envelope-wrapper{width:clamp(290px,92vw,400px)}.mode-auto-open.phase-open .envelope-scene,.mode-auto-open.phase-reveal .envelope-scene,.mode-auto-open.phase-lift .envelope-scene,.mode-auto-open.phase-expand .envelope-scene{transform:translateY(18vh)}.phase-reveal .envelope-card-container{transform:translate3d(0,-88%,25px)scale(1.06)}.phase-lift .envelope-card-container{transform:translate3d(0,-165%,50px)scale(1.15)}.phase-expand .envelope-card-container{transform:translate3d(0,-100%,80px)scale(5)}.rewatch-button{padding:.55rem 1rem;bottom:1.25rem;right:1.25rem}}@media (max-height:650px){.mode-auto-open.phase-open .envelope-scene,.mode-auto-open.phase-reveal .envelope-scene{transform:translateY(24vh)}.envelope-wrapper{width:clamp(260px,60vmin,440px)}}@media (prefers-reduced-motion:reduce){.mode-auto-open.phase-float .envelope-wrapper,.mode-no-invitation .envelope-seal,.card-heart{animation:none}.envelope-flap-top,.card-panel-2,.card-panel-1,.envelope-card-container,.envelope-seal,.envelope-wrapper,.envelope-scene{transition-duration:10ms!important}}
