:root{--maroon:#3a0e17;--maroon2:#5a1623;--gold:#c9a24b;--cream:#f6ecd9}html,body,#root{margin:0;height:100%}body{background:var(--maroon);overflow:hidden;font-family:Georgia,Times New Roman,serif}button{font:inherit;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}.stage{position:relative;height:100vh;height:100dvh;width:100%;overflow:hidden;background:radial-gradient(120% 90% at 50% 30%,var(--maroon2) 0%,var(--maroon) 62%,#240709 100%)}.glow{position:absolute;inset:0;background:radial-gradient(60% 40% at 50% 45%,rgba(201,162,75,.22),transparent 70%);animation:breathe 6s ease-in-out infinite;pointer-events:none}@keyframes breathe{50%{opacity:.55}}.petals{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:1}.spark{position:absolute;border-radius:50%;background:#ffe3a0;box-shadow:0 0 6px 1px #ffd67880;opacity:0;animation:twinkle ease-in-out infinite}@keyframes twinkle{50%{opacity:.55;transform:translateY(-22px)}}.petal{position:absolute;top:-8%;border-radius:0 100%;opacity:0;animation:fall linear infinite;box-shadow:inset -2px -2px 4px #0000001f}.petal.h0{background:linear-gradient(135deg,#ffb23c,#f08a00)}.petal.h1{background:linear-gradient(135deg,#ffd35c,#f2a900)}.petal.h2{background:linear-gradient(135deg,#ffb6c1,#e5708a)}@keyframes fall{0%{transform:translate3d(0,-10vh,0) rotate(0);opacity:0}10%{opacity:.85}50%{transform:translate3d(var(--sway),55vh,0) rotate(200deg)}90%{opacity:.7}to{transform:translate3d(calc(var(--sway) * -1),115vh,0) rotate(420deg);opacity:0}}.jaali{position:absolute;inset:0;opacity:.5;background:url("./jaali-VISIKWN6.svg");pointer-events:none}.doors{position:absolute;inset:0;z-index:6;perspective:1800px;overflow:hidden}.doors.is-opening{pointer-events:none}.doors:after{content:"";position:absolute;inset:0;background:radial-gradient(90% 70% at 50% 50%,transparent 55%,rgba(0,0,0,.55));pointer-events:none;z-index:5}.doorglow{position:absolute;inset:0;background:radial-gradient(38% 70% at 50% 50%,#ffe8aaf2,#f6ecd9d9 45%,#f6ecd900);opacity:0;transition:opacity 1.6s ease .5s}.is-opening .doorglow{opacity:1;animation:fadeGlow 1.4s ease 2.1s forwards}@keyframes fadeGlow{to{opacity:0}}.door{position:absolute;top:0;bottom:0;width:50.2%;border:0;padding:0;background:radial-gradient(120% 80% at 50% 50%,rgba(255,255,255,.05),transparent 60%),url("./door-BPCRS5XA.svg"),linear-gradient(90deg,#4a1220,#350b14 80%,#2c0910);box-shadow:inset 0 0 0 1px #c9a24bd9,inset 0 0 0 10px #2c0910,inset 0 0 0 11px #c9a24b73,inset 0 0 90px #0009;transition:transform 2.4s cubic-bezier(.77,0,.18,1) .6s;backface-visibility:hidden}.door.l{left:0;transform-origin:left center}.door.r{right:0;transform-origin:right center}.is-opening .door.l{transform:rotateY(-100deg)}.is-opening .door.r{transform:rotateY(100deg)}.ring{display:none}.medal{position:absolute;z-index:4;left:50%;top:50%;width:210px;height:170px;margin:-95px 0 0 -105px;border:0;padding:0;background:radial-gradient(ellipse,#2c0910f2 0 60%,#2c091000 72%);display:flex;align-items:center;justify-content:center;transition:opacity 1s ease,transform 1.4s cubic-bezier(.77,0,.18,1)}.mono-svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.m-ring{fill:none;stroke:#d9b45a;stroke-width:1.6;stroke-dasharray:1;stroke-dashoffset:1;animation:draw 2.4s cubic-bezier(.6,0,.2,1) .2s forwards}.m-ring.thin{stroke-width:.7;animation-delay:.6s}.m-dots{opacity:0;animation:fadein 1.2s ease 2s forwards}@keyframes draw{to{stroke-dashoffset:0}}@keyframes fillin{to{fill-opacity:1;stroke-width:.4}}@keyframes fadein{to{opacity:1}}.is-opening .medal{opacity:0;transform:scale(1.2)}.hint{position:absolute;z-index:4;left:0;right:0;top:calc(50% + 110px);text-align:center;margin:0;color:#d9b45a;letter-spacing:.4em;text-transform:uppercase;font-size:11px;opacity:0;animation:fadein 1.6s ease 2.2s forwards;pointer-events:none}.is-opening .hint{opacity:0!important;animation:none;transition:opacity .4s}.viewer{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;perspective:1200px}.viewer .track{transform:scale(1.07);filter:blur(6px);transition:transform 3s cubic-bezier(.2,.7,.2,1) 1.2s,filter 2.4s ease 1.2s}.viewer.is-live .track{transform:none;filter:none}.viewer .controls{opacity:0;transition:opacity 1.4s ease 3s}.viewer.is-live .controls{opacity:1}@keyframes viewerIn{0%{opacity:0;transform:scale(.97)}}.track{flex:1;min-height:0;display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;outline:none;overscroll-behavior-x:contain}.track::-webkit-scrollbar{display:none}.slide{flex:0 0 100%;scroll-snap-align:center;scroll-snap-stop:always;display:flex;align-items:center;justify-content:center;padding:0;box-sizing:border-box;min-width:0;container-type:size;position:relative;overflow:hidden}.card{container-type:inline-size;position:relative;will-change:transform,opacity;width:min(100cqw,80cqh);z-index:1;aspect-ratio:4 / 5;border-radius:6px;overflow:hidden;box-shadow:0 0 0 1px #c9a24b8c,0 24px 60px #0000008c;background:var(--cream)}.card img{display:block;width:100%;height:100%;object-fit:contain;user-select:none;-webkit-user-drag:none}.sheen{position:absolute;inset:0;background:linear-gradient(105deg,transparent 35%,rgba(255,244,214,.2) 50%,transparent 65%);transform:translate(-120%);pointer-events:none}.card.is-active .sheen{animation:sheen 2.4s cubic-bezier(.4,0,.2,1) .5s 1 both}@keyframes sheen{to{transform:translate(120%)}}.card.is-active img{animation:kenburns 16s cubic-bezier(.2,.6,.2,1) both}@keyframes kenburns{0%{transform:scale(1.05)}to{transform:scale(1)}}.controls{position:absolute;left:0;right:0;bottom:0;z-index:5;background:linear-gradient(transparent,#1e060c8c);display:flex;align-items:center;justify-content:center;gap:18px;padding:8px 0 calc(14px + env(safe-area-inset-bottom))}.sound{position:absolute;z-index:7;top:10px;right:10px;width:44px;height:44px;border-radius:50%;border:1px solid rgba(201,162,75,.6);background:#3a0e17b3;font-size:18px;display:flex;align-items:center;justify-content:center;padding:0}.arrow{width:44px;height:44px;border-radius:50%;border:1px solid rgba(201,162,75,.6);background:#ffffff0a;color:var(--gold);font-size:26px;line-height:1;display:flex;align-items:center;justify-content:center;padding:0 0 3px}.arrow:disabled{opacity:.25;cursor:default}.dots{display:flex;gap:4px}.dots button{width:28px;height:44px;border:0;background:none;padding:0;position:relative}.dots button:after{content:"";position:absolute;left:50%;top:50%;width:8px;height:8px;margin:-4px 0 0 -4px;border-radius:99px;background:#c9a24b66;transition:all .4s ease}.dots button.on:after{width:24px;margin-left:-12px;background:var(--gold)}.dots button:after{height:2px!important;margin-top:-1px!important;border-radius:0!important}.arrow.nudge{animation:pulseArrow 1.6s ease-in-out infinite;background:#c9a24b2e}@keyframes pulseArrow{50%{transform:translate(5px);box-shadow:0 0 0 8px #c9a24b1f}}.swipe-unused{position:absolute;right:22px;bottom:84px;margin:0;color:var(--cream);font-size:12px;letter-spacing:.3em;text-transform:uppercase;background:#3a0e17b3;padding:8px 12px;border-radius:99px;animation:nudge 1.8s ease-in-out infinite;pointer-events:none}.swipe:after{content:" \203a"}@keyframes nudge{50%{transform:translate(8px)}}@media(prefers-reduced-motion:reduce){.petals,.glow,.env,.seal,.swipe,.card img,.sheen{animation:none!important}}.rsvp-wrap{position:absolute;left:0;right:0;top:72.5%;z-index:2;text-align:center}.rsvp-btn{position:relative;z-index:2;min-width:140px;height:42px;border-radius:99px;border:1px solid #c9a24b;background:linear-gradient(#5a1623,#3a0e17);color:#f0d584;letter-spacing:.35em;padding-left:.35em;font-size:13px;font-family:inherit;box-shadow:0 6px 18px #3a0e1759,inset 0 0 0 3px #3a0e17,inset 0 0 0 4px #c9a24b8c}.sheet-wrap{position:absolute;inset:0;z-index:9;background:#140408b8;display:flex;align-items:flex-end;justify-content:center;animation:fadein2 .4s ease both}@keyframes fadein2{0%{opacity:0}}.sheet{position:relative;width:min(100%,460px);box-sizing:border-box;background:#f6ecd9;color:#3a0e17;padding:28px 24px calc(84px + env(safe-area-inset-bottom));border-radius:18px 18px 0 0;box-shadow:0 -10px 40px #00000080,inset 0 0 0 1px #c9a24bb3;animation:sheetUp .6s cubic-bezier(.2,.8,.2,1) both;max-height:100%;overflow:auto}@keyframes sheetUp{0%{transform:translateY(40px);opacity:0}}.sheet h2{margin:0 0 4px;font-weight:400;font-size:30px;letter-spacing:.2em;text-align:center;color:#7a5a16}.sheet .sub{margin:0 0 18px;text-align:center;font-style:italic;color:#7a5a16}.sheet label{display:block;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:#7a5a16;margin-bottom:14px}.sheet input{display:block;width:100%;box-sizing:border-box;margin-top:6px;height:48px;border:1px solid #c9a24b;border-radius:8px;background:#fffaf0;padding:0 14px;font:inherit;font-size:17px;color:#3a0e17;letter-spacing:0;text-transform:none}.sheet input:focus{outline:2px solid #c9a24b;outline-offset:1px}.count{display:flex;align-items:center;justify-content:space-between;margin:4px 0 18px;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:#7a5a16}.count div{display:flex;align-items:center;gap:14px}.count b{min-width:22px;text-align:center;font-size:20px;color:#3a0e17;letter-spacing:0}.count button{width:44px;height:44px;border-radius:50%;border:1px solid #c9a24b;background:#fffaf0;color:#3a0e17;font-size:22px;padding:0}.gold{width:100%;height:52px;border:0;border-radius:99px;background:linear-gradient(#5a1623,#3a0e17);color:#f0d584;font-size:15px;letter-spacing:.14em;box-shadow:inset 0 0 0 1px #c9a24b}.gold:disabled{opacity:.45}.x{position:absolute;top:6px;right:10px;width:44px;height:44px;border:0;background:none;font-size:28px;color:#7a5a16;padding:0}.thanks{text-align:center;padding:10px 0 6px}.thanks p{margin:0 0 20px;font-style:italic;color:#7a5a16}.err{color:#9b1c2c;text-align:center;margin:10px 0 0}.wed-extra{position:absolute;left:0;right:0;top:50.5%;z-index:2;text-align:center;color:#3a0e17;pointer-events:none}.cd-title{margin:0 0 1.6cqw;font-style:italic;font-size:4.2cqw;color:#8a6618;letter-spacing:.02em}.cd{display:flex;justify-content:center;gap:2.2cqw}.cd div{min-width:11.5cqw;padding:1.8cqw 0 1.4cqw;border:1px solid rgba(201,162,75,.85);border-radius:1.6cqw;background:#faf3e2e0;box-shadow:inset 0 0 0 2px #fffaecb3}.cd b{display:block;font-weight:400;font-size:6.6cqw;line-height:1;font-variant-numeric:tabular-nums;color:#5a1623}.cd span{display:block;margin-top:1.2cqw;font-size:2.1cqw;letter-spacing:.2em;text-transform:uppercase;color:#8a6618;padding-left:.22em}.rsvp-by{margin:0 0 2.4cqw;font-style:italic;font-size:4cqw;color:#8a6618}.m-glyph.a{animation-delay:1.1s,2.6s}.m-glyph.s{stroke:#e6c473;stroke-width:1.1;paint-order:normal}.bd{position:absolute;inset:-8%;width:116%;height:116%;object-fit:cover;filter:blur(26px) brightness(.8) saturate(1.1);opacity:.95;pointer-events:none;user-select:none}@media(max-width:700px){.card{border-radius:0;box-shadow:0 0 30px #00000059}}.cd-title{font-size:4cqw;margin-bottom:1.4cqw}.cd b{font-size:6cqw}.cd div{min-width:11cqw;padding:1.5cqw 0 1.2cqw}@media(max-width:700px){.card{box-shadow:none;-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 5%,#000 95%,transparent 100%);mask-image:linear-gradient(to bottom,transparent 0,#000 5%,#000 95%,transparent 100%)}.bd{filter:blur(30px) saturate(1.15) brightness(1.02);inset:-10%;width:120%;height:120%;opacity:1}}.m-glyph{fill-opacity:0;stroke:#e6c473;stroke-width:1.4;stroke-dasharray:1;stroke-dashoffset:1}.m-glyph.k{animation:draw 1.8s cubic-bezier(.6,0,.2,1) .5s forwards,fillin 1s ease 2s forwards}.m-glyph.s{animation:draw 1.8s cubic-bezier(.6,0,.2,1) 1.9s forwards,fillin 1s ease 3.4s forwards}.m-k,.m-s{transform-box:fill-box;transform-origin:center;animation:ksOut 1.3s cubic-bezier(.6,0,.3,1) 5s forwards}.m-k{--dx:30px}.m-s{--dx:-30px}@keyframes ksOut{0%{opacity:1;transform:none;filter:none}to{opacity:0;transform:translate(var(--dx)) scale(.3);filter:blur(3px)}}.hint{animation-delay:6.8s!important}.door:after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(70% 40% at 50% 100%,rgba(201,162,75,.18),transparent 70%)}.hint{top:calc(50% + 125px);display:flex;justify-content:center}.hint{color:#f0d584;font-size:12px;letter-spacing:.38em;text-indent:.38em;text-shadow:0 0 10px rgba(240,213,132,.7);animation:fadein 1.2s ease 6.9s forwards,hintPulse 2s ease-in-out 8s infinite!important}@keyframes hintPulse{50%{opacity:.55}}.hint:before{content:""}.bd{display:none!important}@media(max-width:700px){.card{-webkit-mask-image:none!important;mask-image:none!important;border-radius:0;box-shadow:0 0 0 1px #c9a24be6,0 0 0 5px #2c0910,0 0 0 6px #c9a24b73}}.topmono-old{position:absolute;top:0;left:0;right:0;z-index:4;text-align:center;font-family:Cormorant Garamond,Georgia,serif;color:#e6c473;letter-spacing:.35em;font-size:15px;padding-top:18px;pointer-events:none;opacity:.9}.topmono:after{content:"";display:block;width:36px;height:1px;margin:8px auto 0;background:#e6c47399}.controls{background:none}@media(min-aspect-ratio:3/4){.topmono{display:none}}.hint{animation-delay:6.2s!important}.topom{position:absolute;top:0;left:0;right:0;z-index:4;display:flex;justify-content:center;padding-top:calc(14px + env(safe-area-inset-top,0px));pointer-events:none}.om{width:34px;height:36px;overflow:visible;filter:drop-shadow(0 0 6px rgba(240,213,132,.5));animation:omGlow 4s ease-in-out infinite}.om-g{fill:#e6c473;fill-opacity:0;stroke:#e6c473;stroke-width:9;stroke-dasharray:1;stroke-dashoffset:1;animation:draw 2.4s cubic-bezier(.5,0,.2,1) 1s forwards,fillin 1.2s ease 3s forwards}@keyframes omGlow{50%{filter:drop-shadow(0 0 12px rgba(240,213,132,.9))}}@media(min-aspect-ratio:3/4){.topom{display:none}}.st{fill:none;stroke:#e6c473;stroke-width:13;stroke-linejoin:miter;stroke-miterlimit:6;stroke-linecap:butt;stroke-dasharray:1;stroke-dashoffset:1;filter:drop-shadow(0 0 4px rgba(240,213,132,.45))}.m-k .st{animation:draw 1.8s cubic-bezier(.6,0,.2,1) .5s forwards}.m-s .st{animation:draw 1.8s cubic-bezier(.6,0,.2,1) 1.9s forwards}.m-hands .h{stroke:#e6c473;stroke-width:5.4;stroke-dasharray:1;stroke-dashoffset:1;animation:draw 2.4s cubic-bezier(.5,0,.2,1) 5.5s forwards}.m-hands{filter:drop-shadow(0 0 5px rgba(240,213,132,.45))}.hint{animation-delay:8.2s!important}.m-glyph.g2{stroke-width:12}.m-glyph.g2.k{animation:draw 2.2s cubic-bezier(.6,0,.2,1) .5s forwards,fillin2 1s ease 2.4s forwards}.m-glyph.g2.s{animation:draw 2s cubic-bezier(.6,0,.2,1) 2.2s forwards,fillin2 1s ease 3.9s forwards}@keyframes fillin2{to{fill-opacity:1;stroke-width:3}}.m-ring,.m-dots{display:none}.m-div{opacity:0;animation:divIn .8s ease 3.6s forwards,divOut .8s ease 5s forwards}@keyframes divIn{to{opacity:1}}@keyframes divOut{0%{opacity:1}to{opacity:0}}.m-div{display:none}.m-k,.m-s{animation:ksFade 1.4s ease-in-out 4.6s forwards!important;transform:none}@keyframes ksFade{to{opacity:0}}.m-glyph.k{animation:draw 2s cubic-bezier(.45,0,.25,1) .4s forwards,fillin 1s ease 2s forwards!important}.m-glyph.s{animation:draw 2s cubic-bezier(.45,0,.25,1) 2.1s forwards,fillin 1s ease 3.6s forwards!important}.m-hands .h{animation:draw 2.6s cubic-bezier(.45,0,.25,1) 5s forwards!important}.hint{animation-delay:7.7s!important}.m-hands .h{stroke-dasharray:1 2;stroke-dashoffset:1.02}.m-glyph.g2.k{animation:draw 2s cubic-bezier(.45,0,.25,1) .4s forwards,fillin2 1s ease 2s forwards!important}.m-glyph.g2.s{animation:draw 2s cubic-bezier(.45,0,.25,1) 2.1s forwards,fillin2 1s ease 3.6s forwards!important}.m-heart{opacity:0;animation:heartIn .9s ease 4s forwards,ksFade 1.4s ease-in-out 4.8s forwards;filter:drop-shadow(0 0 3px rgba(240,213,132,.5))}@keyframes heartIn{0%{opacity:0}to{opacity:1}}.om.sw{width:38px;height:38px}.sw-g{fill:none;stroke:#e6c473;stroke-width:7;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1 2;stroke-dashoffset:1.02;animation:draw 2.4s cubic-bezier(.5,0,.2,1) 1s forwards}.sw-dots{opacity:0;animation:fadein 1s ease 3s forwards}.ambient{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none}.petals{display:none}.medal{width:230px;height:230px;margin:-115px 0 0 -115px;aspect-ratio:1/1;border-radius:50%;background:radial-gradient(circle closest-side,#2c0910f5 0 86%,#2c091000)}.hint{top:calc(50% + 135px)}@media(max-width:700px){.viewer .track{margin-bottom:24px}.controls{padding:0 0 calc(64px + env(safe-area-inset-bottom,0px))}}@media(max-width:700px){.viewer .track{margin:60px 0 138px}.controls{padding:0 0 calc(62px + env(safe-area-inset-bottom,0px))}.arrow{width:44px;height:44px}}@media(max-width:700px){.viewer .track{margin:0}.controls{justify-content:flex-start;gap:6px;padding:0 0 calc(14px + env(safe-area-inset-bottom,0px)) 14px;right:auto;width:176px}.arrow{width:40px;height:40px;font-size:24px}.dots{gap:0}.dots button{width:20px}.dots button.on:after{width:18px;margin-left:-9px}.dots button:after{width:6px;margin-left:-3px}}@media(max-width:700px){.controls{gap:2px;padding-left:8px;width:160px}.arrow{width:38px;height:38px}.dots button{width:18px}}
