.envelope-overlay{z-index:9999;-webkit-backdrop-filter:blur(16px);perspective:1200px;background-color:#1c2a1e;background-image:radial-gradient(circle,#14201673 0%,#0a120ccc 100%),url(/eucalyptus-bg.jpg);background-position:50%;background-size:cover;justify-content:center;align-items:center;width:100%;height:100%;transition:opacity .8s cubic-bezier(.4,0,.2,1),visibility .8s;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;transition:opacity .78s cubic-bezier(.35,0,.25,1)}.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{transform:translateY(18vh)}.mode-auto-open.phase-lift .envelope-scene{transform:translateY(10vh)}.mode-auto-open.phase-expand .envelope-scene{transition:transform .75s cubic-bezier(.18,.85,.25,1);transform:translateY(0)}.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{filter:drop-shadow(0 14px 28px #503c1e1f);transform:scale(.75)}.mode-auto-open.phase-expand .envelope-wrapper{filter:none;transition:filter .18s ease-out;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:2px 2px 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:2px 2px 14px 14px;position:absolute;inset:0;overflow:hidden}.pocket-flap-left,.pocket-flap-right,.pocket-flap-bottom{filter:drop-shadow(0 -3px 8px #3c2d1414);position:absolute}.pocket-flap-left{clip-path:polygon(0 0,0 100%,100% 50%);background:linear-gradient(120deg,#ebdcc3 0%,#dec9ad 100%);border-top-left-radius:2px;border-bottom-left-radius:14px;width:54%;top:0;bottom:0;left:0;transform:translateZ(3px)}.pocket-flap-right{clip-path:polygon(100% 0,100% 100%,0 50%);background:linear-gradient(240deg,#e8d7bd 0%,#d9c4a8 100%);border-top-right-radius:2px;border-bottom-right-radius:14px;width:54%;top:0;bottom:0;right:0;transform:translateZ(4px)}.pocket-flap-bottom{clip-path:polygon(0 100%,100% 100%,50% 0);filter:drop-shadow(0 -4px 10px #3c2d141f);background:linear-gradient(#decbae 0%,#f0e1c8 100%);border-bottom-right-radius:14px;border-bottom-left-radius:14px;height:58%;bottom:0;left:0;right:0;transform:translateZ(5px)}.pocket-flap-bottom:after{content:"";background:linear-gradient(#c9973e26 0%,#0000 20%);position:absolute;inset:0}.envelope-flap-top{transform-origin:top;height:57%;transform-style:preserve-3d;-webkit-transform-style:preserve-3d;transition:transform .85s cubic-bezier(.2,.8,.3,1),z-index 0s .25s,opacity .7s;z-index:4;-webkit-transition:-webkit-transform .85s cubic-bezier(.2,.8,.3,1),z-index 0s .25s,opacity .7s;position:absolute;top:-1px;left:0;right:0;transform:translateZ(6px)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,.envelope-flap-top{transition:opacity .65s,transform .65s cubic-bezier(.4,0,.2,1);-webkit-transition:opacity .65s,-webkit-transform .65s cubic-bezier(.4,0,.2,1)}.phase-expand .envelope-back,.phase-expand .envelope-pocket,.phase-expand .envelope-flap-top,.phase-expand .envelope-seal{pointer-events:none;transform:scale(.88);opacity:0!important;transition:opacity .18s ease-out,transform .2s ease-out!important;-webkit-transition:opacity .18s ease-out,-webkit-transform .2s ease-out!important}.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{aspect-ratio:1;z-index:5;pointer-events:none;filter:drop-shadow(0 4px 10px #5a411440);justify-content:center;align-items:center;width:20%;height:auto;transition:opacity .4s;display:flex;position:absolute;top:56%;left:50%;transform:translate(-50%,-50%)}.seal-image{object-fit:contain;-webkit-user-select:none;user-select:none;pointer-events:none;width:100%;height:100%}.phase-prepare .envelope-seal,.phase-open .envelope-seal,.phase-reveal .envelope-seal,.phase-lift .envelope-seal,.phase-expand .envelope-seal{opacity:0}.envelope-card-container{aspect-ratio:870/1260;z-index:2;width:clamp(210px,44vmin,310px);transform-style:preserve-3d;-webkit-transform-style:preserve-3d;transform-origin:50%;transition:transform 1.1s cubic-bezier(.25,1,.35,1),opacity .65s,filter .65s;pointer-events:none;-webkit-transition:-webkit-transform 1.1s cubic-bezier(.25,1,.35,1),opacity .65s,filter .65s;position:absolute;top:50%;left:50%;transform:translate3d(-50%,-46%,2px)rotate(90deg)scale(.82)}.mode-no-invitation .envelope-card-container{display:none}.phase-reveal .envelope-card-container{z-index:2;transform:translate3d(-50%,-70%,15px)rotate(20deg)scale(1.08)}.phase-lift .envelope-card-container{z-index:30;pointer-events:auto;transform:translate3d(-50%,-66%,80px)rotate(0)scale(1.82)}@media (min-width:900px) and (min-height:800px){.phase-lift .envelope-card-container{transform:translate3d(-50%,-68%,80px)rotate(0)scale(1.95)}.phase-expand .envelope-card-container{transform:translate3d(-50%,-50%,460px)rotate(0)scale(5.4)}}@media (max-height:680px){.phase-lift .envelope-card-container{transform:translate3d(-50%,-64%,80px)rotate(0)scale(1.45)}.phase-expand .envelope-card-container{transform:translate3d(-50%,-50%,340px)rotate(0)scale(3.6)}}.phase-expand .envelope-card-container{opacity:0;pointer-events:none;transition:transform .75s cubic-bezier(.18,.85,.25,1),opacity .7s cubic-bezier(.45,0,.7,.4);-webkit-transition:-webkit-transform .75s cubic-bezier(.18,.85,.25,1),opacity .7s cubic-bezier(.45,0,.7,.4);transform:translate3d(-50%,-50%,420px)rotate(0)scale(4.8)}.phase-expand .envelope-card-single{filter:drop-shadow(0 40px 90px #08100926);transition:filter .65s}.envelope-card-single{filter:drop-shadow(0 20px 42px #08100985)drop-shadow(0 6px 14px #08100952);width:100%;height:100%;transform-style:preserve-3d;-webkit-transform-style:preserve-3d;background:0 0;border-radius:0;transition:transform .3s,filter .3s;position:relative;overflow:visible}.phase-lift .envelope-card-single:hover{filter:drop-shadow(0 26px 52px #0810099e)drop-shadow(0 10px 20px #08100961);transform:translateY(-4px)scale(1.01)}.envelope-card-crop{border-radius:3px;width:100%;height:100%;position:relative;overflow:hidden;transform:translateZ(0);-webkit-mask-image:url(/paper-sheet-extracted.png);mask-image:url(/paper-sheet-extracted.png);-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.envelope-card-image{object-fit:fill;-webkit-user-select:none;user-select:none;pointer-events:none;width:124.138%;max-width:none;height:127.937%;max-height:none;display:block;position:absolute;top:-15.4762%;left:-12.069%}.envelope-affordance-wrap{white-space:nowrap;pointer-events:auto;cursor:pointer;z-index:100;opacity:0;animation:.7s cubic-bezier(.2,.8,.3,1) .4s forwards affordance-fade-in;position:fixed;bottom:clamp(16px,3.5vh,32px);left:50%;transform:translate(-50%)}.envelope-affordance-wrap.is-dismissing{pointer-events:none;transition:opacity .18s ease-out,transform .18s ease-out;transform:translate(-50%,14px)scale(.92);opacity:0!important}@keyframes affordance-fade-in{0%{opacity:0;transform:translate(-50%,14px)}to{opacity:1;transform:translate(-50%)}}.envelope-affordance-pill{-webkit-backdrop-filter:blur(14px);color:#2b3a2a;letter-spacing:.02em;-webkit-user-select:none;user-select:none;background:#ffffffe6;border:1px solid #c9973e80;border-radius:9999px;align-items:center;gap:.55rem;padding:.65rem 1.4rem;font-family:inherit;font-size:clamp(.85rem,2vmin,.98rem);font-weight:600;transition:transform .2s,background .2s,box-shadow .2s;animation:2.4s ease-in-out infinite affordance-pulse;display:inline-flex;box-shadow:0 10px 25px #32281429,0 2px 8px #32281414}.envelope-affordance-pill:hover{background:#fffffffa;border-color:#c9973eb3;transform:scale(1.05);box-shadow:0 14px 32px #3228143d}.affordance-sparkle{color:#c9973e;font-size:1rem}.affordance-arrow{color:#5c7a5e;font-size:.95rem;font-weight:700;animation:1.5s infinite affordance-bounce}@keyframes affordance-pulse{0%,to{box-shadow:0 10px 25px #32281429,0 0 #c9973e66}50%{box-shadow:0 12px 28px #32281438,0 0 0 8px #c9973e00}}@keyframes affordance-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(3px)}}.envelope-debug-badge{z-index:10000;color:#e5d0a6;letter-spacing:.05em;pointer-events:none;background:#141e14e0;border:1px solid #c9973e;border-radius:8px;padding:6px 14px;font-family:monospace;font-size:.78rem;position:fixed;top:16px;right:16px;box-shadow:0 4px 12px #0003}.envelope-loading-wrap{white-space:nowrap;pointer-events:none;z-index:100;animation:.5s cubic-bezier(.2,.8,.3,1) forwards loading-fade-in;position:fixed;bottom:clamp(24px,5vh,44px);left:50%;transform:translate(-50%)}.envelope-loading-wrap.is-hiding{transition:opacity .38s,transform .38s;transform:translate(-50%,8px)scale(.96);opacity:0!important}@keyframes loading-fade-in{0%{opacity:0;transform:translate(-50%,12px)scale(.96)}to{opacity:1;transform:translate(-50%)scale(1)}}.envelope-loading-pill{-webkit-backdrop-filter:blur(16px);color:#f5ecd7;letter-spacing:.03em;-webkit-user-select:none;user-select:none;background:#142016d9;border:1px solid #c9973e73;border-radius:9999px;align-items:center;gap:.65rem;padding:.65rem 1.4rem;font-family:inherit;font-size:clamp(.82rem,2vmin,.94rem);font-weight:500;display:inline-flex;box-shadow:0 10px 28px #0006,0 0 16px #c9973e1f}.envelope-spinner{border:2px solid #c9973e4d;border-top-color:#c9973e;border-radius:50%;flex-shrink:0;width:16px;height:16px;animation:.85s linear infinite envelope-spin}@keyframes envelope-spin{to{transform:rotate(360deg)}}.envelope-loading-text{color:#f5ecd7;text-shadow:0 1px 2px #00000080}.envelope-overlay.is-loading-assets .envelope-wrapper{animation:4s ease-in-out infinite gentle-float}.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}@keyframes gentle-float{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-10px)rotate(.4deg)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}@media (max-width:640px){.envelope-wrapper{width:clamp(290px,84vw,360px)}.mode-auto-open.phase-open .envelope-scene,.mode-auto-open.phase-reveal .envelope-scene{transform:translateY(16vh)}.mode-auto-open.phase-lift .envelope-scene{transform:translateY(10vh)}.mode-auto-open.phase-expand .envelope-scene{transition:transform .75s cubic-bezier(.18,.85,.25,1);-webkit-transition:-webkit-transform .75s cubic-bezier(.18,.85,.25,1);transform:translateY(0)}.phase-reveal .envelope-card-container{transform:translate3d(-50%,-70%,15px)rotate(20deg)scale(1.08)}.phase-lift .envelope-card-container{transform:translate3d(-50%,-64%,80px)rotate(0)scale(1.74)}.phase-expand .envelope-card-container{opacity:0;transform:translate3d(-50%,-50%,360px)rotate(0)scale(4.2)}}@media (max-height:650px){.mode-auto-open.phase-open .envelope-scene,.mode-auto-open.phase-reveal .envelope-scene,.mode-auto-open.phase-lift .envelope-scene{transform:translateY(22vh)}.mode-auto-open.phase-expand .envelope-scene{transition:transform .75s cubic-bezier(.18,.85,.25,1);transform:translateY(0)}.phase-expand .envelope-card-container{transform:translate3d(-50%,-50%,320px)rotate(0)scale(3.6)}.envelope-wrapper{width:clamp(260px,60vmin,440px)}}@media (prefers-reduced-motion:reduce){.mode-auto-open.phase-float .envelope-wrapper{animation:none}.envelope-flap-top,.envelope-card-container,.envelope-seal,.envelope-wrapper,.envelope-scene{transition-duration:10ms!important}}
