@font-face{font-family:Fredoka;font-style:normal;font-display:swap;font-weight:400;src:url(./fredoka-latin-400-normal-17JuUzdy.woff2)format("woff2"),url(./fredoka-latin-400-normal-DbXSrOeS.woff)format("woff")}@font-face{font-family:Fredoka;font-style:normal;font-display:swap;font-weight:500;src:url(./fredoka-latin-500-normal-B0JifZgm.woff2)format("woff2"),url(./fredoka-latin-500-normal-BL692wg7.woff)format("woff")}@font-face{font-family:Fredoka;font-style:normal;font-display:swap;font-weight:600;src:url(./fredoka-latin-600-normal-C4zohCW5.woff2)format("woff2"),url(./fredoka-latin-600-normal-CcrEjrB4.woff)format("woff")}@font-face{font-family:Pacifico;font-style:normal;font-display:swap;font-weight:400;src:url(./pacifico-latin-400-normal-7HIToT7q.woff2)format("woff2"),url(./pacifico-latin-400-normal-DArfF-vd.woff)format("woff")}@font-face{font-family:Caveat;font-style:normal;font-display:swap;font-weight:500;src:url(./caveat-latin-500-normal-B9SDL8cy.woff2)format("woff2"),url(./caveat-latin-500-normal-Do9veZfZ.woff)format("woff")}@font-face{font-family:Caveat;font-style:normal;font-display:swap;font-weight:700;src:url(./caveat-latin-700-normal-D8_1Nw6V.woff2)format("woff2"),url(./caveat-latin-700-normal-cPyBTTZN.woff)format("woff")}:root{--plum:#5b2352;--plum-soft:#8a4a7d;--pink:#ff4d94;--pink-2:#ff8fb8;--pink-3:#ffd6e7;--pink-4:#fff0f7;--lav:#b565ff;--lav-2:#e6d4ff;--peach:#ffb38a;--butter:#ffe27a;--paper:#fffaf4;--shadow:0 10px 30px #be327838;--font-body:"Fredoka", system-ui, -apple-system, "Segoe UI", sans-serif;--font-display:"Pacifico", "Brush Script MT", cursive;--font-hand:"Caveat", "Segoe Script", "Bradley Hand", cursive}*,:before,:after{box-sizing:border-box}html{scrollbar-gutter:stable;scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{min-height:100vh;font-family:var(--font-body);color:var(--plum);background:#fff0f7 linear-gradient(#fff0f7 0%,#ffe3f1 22%,#f3e6ff 48%,#ffeadb 74%,#ffdfee 100%);margin:0;font-size:1.05rem;line-height:1.55;overflow-x:clip}body:before{content:"";z-index:-1;pointer-events:none;background-image:radial-gradient(#ff8fb859 2px,#0000 2.5px),radial-gradient(#b565ff2e 2px,#0000 2.5px);background-position:0 0,19px 19px;background-size:38px 38px,38px 38px;position:fixed;inset:0}body:has(dialog[open]){overflow:hidden}body:has(dialog[open]) main *{animation-play-state:paused!important}body:has(dialog[open]) .rain span{animation-play-state:paused!important}body:has(dialog[open]) .fab{animation-play-state:paused!important}img{max-width:100%}button{font:inherit}h1,h2,h3,p{margin:0}main{overflow-x:clip}code{background:#fffc;border-radius:6px;padding:.1em .4em;font-size:.9em}:focus-visible{outline:3px solid var(--lav);outline-offset:3px}.flower{width:100%;height:100%;display:block;overflow:visible}.actions{flex-wrap:wrap;justify-content:center;gap:1rem 1.2rem;margin-top:2rem;display:flex}.btn{cursor:pointer;border:0;border-radius:999px;padding:.85em 1.7em;font-size:1.1rem;font-weight:600;text-decoration:none;transition:transform .18s,box-shadow .18s;display:inline-block}.btn-primary{color:#fff;background:linear-gradient(135deg,#ff5fa2,#ff8a5c);box-shadow:0 6px #d63b7f,0 14px 24px #d63b7f59}.btn-ghost{color:var(--plum);background:#fff;box-shadow:0 6px #f0c4dc,0 14px 24px #d63b7f29}.btn:hover{transform:translateY(-3px)rotate(-1deg)}.btn:active{transform:translateY(4px)}.btn-primary:active{box-shadow:0 2px #d63b7f,0 6px 12px #d63b7f4d}.btn-ghost:active{box-shadow:0 2px #f0c4dc}.hero{text-align:center;place-items:center;min-height:100svh;padding:5rem 1.25rem 4.5rem;display:grid;position:relative;overflow:hidden}.hero-inner{z-index:3;max-width:900px;position:relative}.eyebrow{font-family:var(--font-hand);color:var(--plum-soft);font-size:clamp(1.5rem,4vw,2.2rem);font-weight:700}.title{font-family:var(--font-display);margin:.1em 0 .05em;font-size:clamp(3.4rem,18vw,8.6rem);font-weight:400;line-height:1.08}.word{white-space:nowrap;display:inline-block}.ltr{text-shadow:3px 3px #fff,-3px 3px #fff,3px -3px #fff,-3px -3px #fff,0 10px 18px #c828784d;animation:2.8s ease-in-out infinite hop;animation-delay:calc(var(--i) * 90ms);display:inline-block}@keyframes hop{0%,50%,to{transform:translateY(0)rotate(0)}20%{transform:translateY(-.14em)rotate(-4deg)}35%{transform:translateY(.02em)rotate(2deg)}}.for{font-family:var(--font-display);color:var(--plum-soft);font-size:clamp(1.6rem,5vw,2.8rem)}.for span{color:var(--pink);text-shadow:2px 2px #fff}.sub{max-width:34rem;color:var(--plum-soft);margin:1.2rem auto 0;font-size:clamp(1.1rem,2.6vw,1.35rem)}.hero-flowers{z-index:1;pointer-events:none;position:absolute;inset:0}.hf{width:var(--sz);aspect-ratio:1;animation:1.3s cubic-bezier(.2,1.3,.4,1) both bloomIn;animation-delay:var(--in,0s);position:absolute}.hf .flower{animation:8s ease-in-out infinite sway;animation-delay:var(--sw,0s)}.hf:nth-child(2n) .flower{animation-name:sway2}@keyframes bloomIn{0%{opacity:0;transform:scale(0)rotate(-140deg)}to{opacity:1;transform:none}}@keyframes sway{0%,to{transform:rotate(-5deg)scale(1)}50%{transform:rotate(6deg)scale(1.04)}}@keyframes sway2{0%,to{transform:rotate(6deg)scale(1.03)}50%{transform:rotate(-5deg)scale(1)}}.hf1{--sz:clamp(140px, 30vw, 360px);--in:.1s;top:-5%;left:-6%}.hf2{--sz:clamp(150px, 32vw, 390px);--in:.25s;--sw:-2s;top:-6%;right:-8%}.hf3{--sz:clamp(130px, 28vw, 340px);--in:.4s;--sw:-4s;bottom:-7%;left:-6%}.hf4{--sz:clamp(120px, 26vw, 320px);--in:.55s;--sw:-1s;bottom:-6%;right:-5%}.hf5{--sz:clamp(56px, 9vw, 130px);--in:.7s;--sw:-3s;top:46%;left:2%}.hf6{--sz:clamp(56px, 9vw, 130px);--in:.8s;--sw:-5s;top:30%;right:3%}.hf7{--sz:clamp(50px, 7vw, 100px);--in:.9s;bottom:20%;right:17%}.hf8{--sz:clamp(50px, 7vw, 100px);--in:1s;--sw:-6s;top:12%;left:24%}@media (width<=700px){.hf7,.hf8{display:none}.hf5{top:58%;left:-2%}.hf6{top:20%;right:-1%}}.floaters{z-index:2;pointer-events:none;position:absolute;inset:0}.floaty{width:var(--s);opacity:.85;animation:3.6s ease-in-out infinite twinkle;animation-delay:var(--d);position:absolute}.floaty svg{width:100%;height:auto;display:block}@keyframes twinkle{0%,to{opacity:.3;transform:translateY(0)scale(.7)rotate(0)}50%{opacity:1;transform:translateY(-14px)scale(1.1)rotate(20deg)}}.section{z-index:2;max-width:1100px;margin:0 auto;padding:clamp(3rem,8vw,6rem) 1.25rem;position:relative}.section-head{text-align:center;margin-bottom:clamp(2.6rem,6vw,4rem)}.section-head h2{font-family:var(--font-display);color:var(--pink);text-shadow:3px 3px #fff,0 8px 16px #ff4d9433;margin:.5rem 0 .4rem;font-size:clamp(2.2rem,7vw,3.8rem);font-weight:400;line-height:1.2}.section-head p{max-width:34rem;color:var(--plum-soft);margin:0 auto;font-size:1.2rem}.preview-hint{box-shadow:var(--shadow);background:#fff;border-radius:999px;padding:.5rem 1rem;display:inline-block;margin-top:1.2rem!important;font-size:.95rem!important}.flower-row{justify-content:center;align-items:center;gap:.35rem;display:flex}.flower-row .flower{flex:none;width:46px;height:46px;animation:6s ease-in-out infinite sway}.flower-row .flower:nth-of-type(2){width:58px;height:58px;animation-delay:-2s}.flower-row .flower:nth-of-type(3){animation-delay:-4s}.sprig{flex:none;width:clamp(56px,16vw,110px);overflow:visible}.sprig.flip{transform:scaleX(-1)}.reveal{opacity:0;transition:opacity .7s ease var(--d,0s), transform .9s cubic-bezier(.2, 1.3, .4, 1) var(--d,0s);transform:translateY(30px)scale(.94)}.reveal.in{opacity:1;transform:none}.wish-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));gap:4rem 1.8rem;padding-top:2.4rem;display:grid}.wish-card{--accent:var(--pink-2);text-align:center;border:3px dashed var(--accent);height:100%;box-shadow:var(--shadow);transform:rotate(var(--tilt,0));background:#fff;border-radius:30px;padding:3.8rem 1.5rem 1.8rem;transition:transform .35s cubic-bezier(.2,1.4,.4,1);position:relative}.wish-grid>:nth-child(3n+2) .wish-card{--accent:#c99bff}.wish-grid>:nth-child(3n) .wish-card{--accent:var(--peach)}.wish-card:hover{transform:rotate(0)translateY(-8px)}.wish-flower{filter:drop-shadow(0 6px 8px #a0286440);width:96px;height:96px;margin-left:-48px;position:absolute;top:-48px;left:50%}.wish-flower .flower{transition:transform .7s cubic-bezier(.2,1.4,.4,1)}.wish-card:hover .flower{transform:rotate(80deg)scale(1.12)}.wish-card h3{font-family:var(--font-display);color:var(--pink);margin-bottom:.5rem;font-size:1.55rem;font-weight:400}.wish-card p{color:var(--plum-soft)}.scene{margin:0 auto clamp(2.5rem,6vw,4.5rem)}.fig{margin:0}.polaroid{transform:rotate(var(--tilt,0));background:#fff;border-radius:8px;padding:12px 12px 0;transition:transform .35s cubic-bezier(.2,1.4,.4,1),box-shadow .3s;position:relative;box-shadow:0 10px 26px #78285a38}.polaroid:hover{z-index:3;transform:rotate(0)scale(1.04)translateY(-4px);box-shadow:0 18px 36px #78285a4d}.ph-frame{width:100%;aspect-ratio:var(--ar,4/5);background:var(--pink-3);cursor:zoom-in;border:0;border-radius:4px;padding:0;display:block;position:relative;overflow:hidden}.ph-frame img{object-fit:cover;object-position:50% 30%;width:100%;height:100%;transition:transform .7s;display:block}.polaroid:hover .ph-frame img{transform:scale(1.06)}.ph-frame.placeholder{cursor:default;background:radial-gradient(circle at 30% 20%,#fff 0,#0000 50%),linear-gradient(150deg,#ffd6e7,#ead8ff);place-items:center;display:grid}.ph-frame.placeholder .flower{aspect-ratio:1;width:58%;height:auto;animation:7s ease-in-out infinite sway}.ph-frame.placeholder span{font-family:var(--font-hand);color:var(--plum-soft);font-size:1.4rem;position:absolute;bottom:8%}.polaroid figcaption,.cap-space{text-align:center;min-height:3.2rem;font-family:var(--font-hand);color:var(--plum);padding:.55rem .4rem .7rem;font-size:1.55rem;font-weight:700;line-height:1.15}.cap-space{min-height:1.6rem;padding:0}.tape{z-index:2;background:repeating-linear-gradient(45deg,#ffbedce6 0 9px,#fffc 9px 18px);width:88px;height:27px;margin-left:-44px;position:absolute;top:-13px;left:50%;transform:rotate(-4deg);box-shadow:0 1px 3px #00000026}.tape.t1{background:repeating-linear-gradient(45deg,#d6beffe6 0 9px,#fffc 9px 18px);transform:rotate(3deg)}.tape.t2{background:repeating-linear-gradient(45deg,#ffdcaae6 0 9px,#fffc 9px 18px);transform:rotate(-1deg)}.sticker{z-index:2;aspect-ratio:1;pointer-events:none;filter:drop-shadow(0 3px 4px #0003);width:clamp(48px,9vw,72px);transition:transform .6s cubic-bezier(.2,1.4,.4,1);position:absolute}.s0{top:-26px;right:-22px}.s1{bottom:22px;left:-26px}.s2{bottom:18px;right:-24px}.s3{top:-22px;left:-24px}.polaroid:hover .sticker{transform:rotate(60deg)scale(1.15)}.collage{columns:2;column-gap:clamp(1.2rem,4vw,2.4rem);max-width:820px}.collage .fig{break-inside:avoid;width:100%;margin-bottom:clamp(1.4rem,4vw,2.4rem);display:inline-block}.collage .fig:nth-child(2n){margin-top:clamp(1rem,4vw,2.6rem)}.strip{grid-template-columns:repeat(3,1fr);gap:clamp(1rem,3vw,2rem);max-width:980px;display:grid}.strip .fig:nth-child(2){margin-top:clamp(.8rem,3vw,2rem)}@media (width<=600px){.s0{top:-18px;right:-10px}.s1{bottom:22px;left:-12px}.s2{bottom:18px;right:-10px}.s3{top:-18px;left:-10px}.note-flower{right:-8px}.bn-l{left:-16px}.bn-r{right:-16px}.strip{grid-template-columns:repeat(2,1fr)}.strip .fig:last-child:nth-child(odd){grid-column:1/-1;justify-self:center;width:62%}.polaroid{padding:8px 8px 0}.polaroid figcaption{font-size:1.3rem}}.feature{grid-template-columns:minmax(0,420px) minmax(0,1fr);justify-content:center;align-items:center;gap:clamp(1.6rem,5vw,4rem);max-width:980px;display:grid}.feature.flip{grid-template-columns:minmax(0,1fr) minmax(0,420px)}.feature.flip .fig{order:2}@media (width<=760px){.feature,.feature.flip{grid-template-columns:minmax(0,1fr);max-width:440px}.feature.flip .fig{order:0}}.note-card{box-shadow:var(--shadow);background:#fffbe8 repeating-linear-gradient(#0000 0 33px,#ffe1ee 33px 34px);border-radius:10px 28px;padding:2.6rem 1.8rem 2.4rem;position:relative;transform:rotate(-1.6deg)}.feature.flip .note-card{transform:rotate(1.6deg)}.washi{background:repeating-linear-gradient(-45deg,#bef0d7f2 0 9px,#ffffffd9 9px 18px);width:110px;height:28px;margin-left:-55px;position:absolute;top:-14px;left:50%;transform:rotate(2deg);box-shadow:0 1px 3px #00000026}.note-card h3{font-family:var(--font-display);color:var(--pink);margin-bottom:.4rem;font-size:1.7rem;font-weight:400}.note-card p{font-family:var(--font-hand);font-size:clamp(1.5rem,3.4vw,1.9rem);font-weight:500;line-height:1.3}.note-flower{filter:drop-shadow(0 4px 5px #0003);width:92px;height:92px;position:absolute;bottom:-30px;right:-22px}.banner{text-align:center;max-width:900px;box-shadow:var(--shadow);background:linear-gradient(120deg,#ffd0e4,#e9d4ff 55%,#ffe0cc);border-radius:44px;margin:clamp(3rem,8vw,5.5rem) auto;padding:2.6rem clamp(3.4rem,11vw,7rem);position:relative}.banner:before{content:"";pointer-events:none;border:3px dashed #ffffffe6;border-radius:34px;position:absolute;inset:10px}.banner p{font-family:var(--font-display);color:var(--plum);text-shadow:2px 2px #fffc;font-size:clamp(1.35rem,3.8vw,2.3rem);line-height:1.45}.bn{filter:drop-shadow(0 5px 6px #8c1e5a40);width:clamp(72px,15vw,132px);height:clamp(72px,15vw,132px);margin-top:calc(clamp(72px,15vw,132px)/-2);position:absolute;top:50%}.bn-l{left:calc(clamp(72px,15vw,132px)/-3)}.bn-r{right:calc(clamp(72px,15vw,132px)/-3)}.bn .flower{animation:6s ease-in-out infinite sway}.bn-r .flower{animation-name:sway2}.finale{z-index:2;text-align:center;padding:3rem 1.25rem 4rem;position:relative}.bouquet{justify-content:center;align-items:flex-end;max-width:720px;margin:0 auto 1rem;display:flex}.bq{aspect-ratio:1;filter:drop-shadow(0 8px 10px #8c1e5a38);flex:none;width:clamp(80px,22vw,190px);margin:0 clamp(-30px,-3vw,-12px)}.bq .flower{animation:7s ease-in-out infinite sway}.bq1{width:clamp(64px,17vw,140px);margin-bottom:4%}.bq2{z-index:2;width:clamp(72px,20vw,170px);margin-bottom:8%;position:relative}.bq3{z-index:3;width:clamp(96px,27vw,230px);margin-bottom:14%;position:relative}.bq4{z-index:2;width:clamp(72px,20vw,170px);margin-bottom:8%;position:relative}.bq5{width:clamp(64px,17vw,140px);margin-bottom:4%}.bq2 .flower{animation-delay:-1.5s}.bq3 .flower{animation-delay:-3s}.bq4 .flower{animation-delay:-4.5s}.bq5 .flower{animation-delay:-6s}.finale h2{font-family:var(--font-display);color:var(--pink);text-shadow:3px 3px #fff,0 10px 20px #ff4d9440;font-size:clamp(2.5rem,9vw,5.2rem);font-weight:400;line-height:1.15}.finale p{max-width:44rem;font-family:var(--font-hand);margin:1rem auto 0;font-size:clamp(1.6rem,4vw,2.2rem);font-weight:500;line-height:1.3}.footer{z-index:2;text-align:center;color:var(--plum-soft);padding:1rem 1.25rem 6rem;position:relative}.rain{z-index:8;pointer-events:none;position:fixed;inset:0;overflow:hidden}.rain span{width:var(--s);opacity:.85;animation:fall var(--dur) linear var(--delay) infinite;position:absolute;top:-40px}.rain svg,.confetti svg{width:100%;height:auto;display:block;overflow:visible}@keyframes fall{0%{transform:translateY(-5vh)rotate(0)}50%{transform:translate3d(var(--sway), 55vh, 0) rotate(calc(var(--spin) / 2))}to{transform:translate3d(calc(var(--sway) * -.4), 108vh, 0) rotate(var(--spin))}}.bloom{z-index:9;pointer-events:none;filter:drop-shadow(0 4px 6px #a028644d);width:64px;height:64px;position:fixed}.confetti{z-index:50;pointer-events:none;will-change:transform, opacity;position:fixed}.fab{right:max(16px, env(safe-area-inset-right));bottom:max(16px, env(safe-area-inset-bottom));z-index:20;cursor:pointer;background:linear-gradient(135deg,#ff5fa2,#ff8a5c);border:0;border-radius:50%;width:62px;height:62px;font-size:1.8rem;line-height:1;transition:transform .5s cubic-bezier(.2,1.6,.4,1);position:fixed;transform:scale(0);box-shadow:0 5px #d63b7f,0 12px 22px #d63b7f66}.fab.show{animation:3.2s ease-in-out 1s infinite wiggle;transform:scale(1)}.fab.show:hover{animation:none;transform:scale(1.12)rotate(-8deg)}@keyframes wiggle{0%,86%,to{transform:scale(1)rotate(0)}90%{transform:scale(1.08)rotate(-10deg)}94%{transform:scale(1.08)rotate(10deg)}98%{transform:scale(1.08)rotate(-6deg)}}dialog{color:inherit;background:0 0;border:0;padding:0;overflow:visible}dialog::backdrop{-webkit-backdrop-filter:blur(6px);background:#5b235280;animation:.4s both fadeIn}dialog.closing::backdrop{animation:.38s both fadeOut}@keyframes fadeIn{0%{opacity:0}}@keyframes fadeOut{to{opacity:0}}.dlg-close{top:max(14px, env(safe-area-inset-top));right:max(14px, env(safe-area-inset-right));z-index:5;width:46px;height:46px;color:var(--pink);cursor:pointer;background:#fff;border:0;border-radius:50%;font-size:1.2rem;transition:transform .2s;position:fixed;box-shadow:0 4px 14px #00000040}.dlg-close:hover{transform:rotate(90deg)scale(1.08)}.card-dialog{width:100%;max-width:none;height:100%;max-height:none;margin:0}.card-dialog[open]{place-items:center;display:grid}.card-pop{--h:min(560px, 76dvh);--w:min(86vw, calc(var(--h) * .74));perspective:1800px;outline:none}.card-dialog[open] .card-pop{animation:1s cubic-bezier(.2,1,.3,1) both cardPop}.card-dialog.closing .card-pop{animation:.38s cubic-bezier(.5,0,.8,.4) both cardOut}@keyframes cardPop{0%{opacity:0;transform:translateY(45vh)scale(.15)rotate(-16deg)}55%{opacity:1;transform:translateY(-3vh)scale(1.07)rotate(3deg)}75%{transform:translateY(0)scale(.97)rotate(-1deg)}to{opacity:1;transform:none}}@keyframes cardOut{to{opacity:0;transform:translateY(35vh)scale(.25)rotate(12deg)}}.card{width:var(--w);height:var(--h);will-change:transform;transform-style:preserve-3d;transition:transform 1.1s cubic-bezier(.5,0,.2,1);position:relative}@media (width>=900px){.card.open{transform:translateX(calc(var(--w) / 2))}}.card-base{isolation:isolate;background:var(--paper);border-radius:6px 22px 22px 6px;position:absolute;inset:0;overflow:hidden;box-shadow:0 30px 60px #3c0a3273,inset 14px 0 18px -10px #783c5a4d}.card-base:before{content:"";border:2px dashed var(--pink-3);pointer-events:none;border-radius:4px 14px 14px 4px;position:absolute;inset:12px 12px 12px 18px}.paper{height:100%;padding:calc(var(--h) * .075) calc(var(--w) * .11) calc(var(--h) * .08) calc(var(--w) * .13);font-family:var(--font-hand);font-weight:500;font-size:clamp(1.2rem, calc(var(--h) * .04), 1.65rem);color:var(--plum);outline:none;line-height:1.3;position:relative;overflow-y:auto}.paper p+p{margin-top:.6em}.paper .greet{font-family:var(--font-display);color:var(--pink);margin-bottom:.4em;font-size:1.5em;line-height:1.2}.paper .signoff{margin-top:1em}.paper .from{font-family:var(--font-display);color:var(--pink);font-size:1.3em}.paper .from .heart{vertical-align:-.05em;width:.8em;display:inline-block}.paper-flower{width:calc(var(--w) * .48);aspect-ratio:1;opacity:.85;pointer-events:none;position:absolute;bottom:-34px;right:-34px}.card-cover{will-change:transform;transform-origin:0;transform-style:preserve-3d;cursor:pointer;outline-offset:6px;transition:transform 1.1s cubic-bezier(.5,0,.2,1),opacity .5s;position:absolute;inset:0;transform:translateZ(1px)}.card.open .card-cover{pointer-events:none;transform:translateZ(1px)rotateY(-180deg)}.face{isolation:isolate;backface-visibility:hidden;position:absolute;inset:0;overflow:hidden}@media (width<=899px){.card.open .card-cover{opacity:0;transition:transform 1s cubic-bezier(.5,0,.2,1),opacity .5s .35s;transform:translateZ(1px)rotateY(-165deg)}}.cover-front{background:radial-gradient(circle at 28% 18%,#ffffff80 0,#0000 46%),linear-gradient(160deg,#ff9cc6,#ff62a2 52%,#b565ff);border-radius:6px 22px 22px 6px;box-shadow:0 30px 60px #3c0a3273}.cover-front:before{content:"";border:3px dashed #fffc;border-radius:4px 14px 14px 4px;position:absolute;inset:12px}.cover-bouquet{justify-content:center;align-items:center;height:46%;display:flex;position:absolute;top:9%;left:4%;right:4%}.cover-bouquet .flower{aspect-ratio:1;flex:none;width:42%;height:auto;margin:0 -7%;animation:6s ease-in-out infinite sway}.card.open .cover-bouquet .flower,.card.open .tap-hint{animation-play-state:paused}.cover-bouquet .flower:nth-child(2){z-index:2;width:54%;margin-top:-6%;animation-delay:-2s;position:relative}.cover-bouquet .flower:nth-child(3){animation-delay:-4s}.cover-title{text-align:center;font-family:var(--font-display);font-size:calc(var(--w) * .125);color:#fff;text-shadow:0 3px #be286e8c,0 10px 18px #0000002e;line-height:1.1;position:absolute;bottom:25%;left:6%;right:6%}.cover-name{text-align:center;font-family:var(--font-hand);font-weight:700;font-size:calc(var(--w) * .08);color:#fffffff2;position:absolute;bottom:16%;left:6%;right:6%}.tap-hint{color:var(--pink);white-space:nowrap;background:#fff;border-radius:999px;padding:.35em 1.1em;font-size:.95rem;font-weight:600;animation:1.7s ease-in-out infinite pulse;position:absolute;bottom:5.5%;left:50%;transform:translate(-50%)}@keyframes pulse{0%,to{transform:translate(-50%)scale(1)}50%{transform:translate(-50%)scale(1.09)}}.cover-back{text-align:center;background:#fff3f9;border-radius:22px 6px 6px 22px;flex-direction:column;justify-content:center;align-items:center;padding:12%;display:flex;transform:rotateY(180deg);box-shadow:inset -14px 0 18px -10px #783c5a4d}.cover-back h3{font-family:var(--font-display);font-weight:400;font-size:calc(var(--w) * .11);color:var(--pink);position:relative}.cover-back p{font-family:var(--font-hand);font-weight:500;font-size:clamp(1.2rem, calc(var(--h) * .04), 1.6rem);margin-top:.4em;line-height:1.3;position:relative}.cb{aspect-ratio:1;position:absolute}.cb1{width:68%;top:-14%;left:-20%}.cb2{width:66%;bottom:-12%;right:-22%}.lightbox{width:100%;max-width:none;height:100%;max-height:none;margin:0}.lightbox[open]{grid-template-columns:auto minmax(0,1fr) auto;place-items:center;gap:.6rem;padding:1rem;display:grid}.lightbox::backdrop{background:#3c1437e0}.lightbox figure{flex-direction:column;align-items:center;gap:.7rem;min-width:0;margin:0;display:flex}.lightbox[open] figure{animation:.45s cubic-bezier(.2,1.3,.4,1) both lbIn}@keyframes lbIn{0%{opacity:0;transform:scale(.85)rotate(-3deg)}}.lightbox img{background:var(--pink-3);border:10px solid #fff;border-radius:10px;max-width:100%;max-height:78dvh;display:block;box-shadow:0 20px 50px #0006}.lightbox figcaption{font-family:var(--font-hand);color:#fff;text-align:center;min-height:1.2em;font-size:1.8rem;font-weight:700}.lb-nav{color:#fff;cursor:pointer;background:linear-gradient(135deg,#ff5fa2,#ff8a5c);border:0;border-radius:50%;width:48px;height:48px;padding:0 0 4px;font-size:2rem;line-height:1;box-shadow:0 4px #d63b7f}.lb-nav:active{transform:translateY(3px);box-shadow:0 1px #d63b7f}@media (width<=600px){.lb-nav{width:38px;height:38px;font-size:1.6rem}.lightbox img{border-width:6px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:1ms!important;transition-delay:0s!important;animation-duration:1ms!important;animation-iteration-count:1!important}.reveal{opacity:1;transform:none}}
