@import "https://fonts.googleapis.com/css2?family=Fredoka:wght@500;600;700&family=Noto+Serif+SC:wght@500;700;900&display=swap";:root{--pink:#ff7db7;--hot:#f74186;--rose:#ef315e;--cream:#fff3df;--yellow:#ffd75c;--ink:#2a2028}*{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100%;margin:0}html.fairytale-lock,html.fairytale-lock body{overscroll-behavior:none;overflow:hidden}body{color:var(--ink);background:var(--pink);font-family:Fredoka,PingFang SC,sans-serif}button,a,input,textarea{color:inherit;font:inherit;-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:0}a{text-decoration:none}img{width:100%;display:block}.fairytale{background:var(--pink);min-height:100svh;overflow:hidden}.fairytale-player{z-index:-10;opacity:.01;pointer-events:none;border:0;width:1px;height:1px;position:fixed}.fairytale-grain{z-index:100;opacity:.12;pointer-events:none;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg viewBox=%270 0 180 180%27 xmlns=%27http://www.w3.org/2000/svg%27%3E%3Cfilter id=%27n%27%3E%3CfeTurbulence type=%27fractalNoise%27 baseFrequency=%27.9%27 numOctaves=%273%27 stitchTiles=%27stitch%27/%3E%3C/filter%3E%3Crect width=%27100%25%27 height=%27100%25%27 filter=%27url%28%23n%29%27 opacity=%27.18%27/%3E%3C/svg%3E");position:fixed;top:0;bottom:0;left:0;right:0}.fairytale-header{z-index:80;min-height:74px;padding:max(14px,env(safe-area-inset-top))4vw 12px;grid-template-columns:1fr auto 1fr;align-items:center;display:grid;position:fixed;top:0;left:0;right:0}.fairytale-logo{color:#fff;text-shadow:0 2px #2a202847;background:0 0;align-items:center;gap:8px;width:max-content;padding:0;font-size:14px;font-weight:700;display:flex}.fairytale-logo svg{width:17px;color:var(--yellow)}.header-chapter{color:#fff;letter-spacing:.25em;text-shadow:0 2px #2a202833;margin:0;font-size:10px;font-weight:700}.music-tools{justify-self:end;gap:7px;display:flex}.music-tools a,.music-tools button{border:2px solid var(--ink);background:var(--cream);min-height:39px;box-shadow:3px 4px 0 var(--ink);border-radius:999px;justify-content:center;align-items:center;display:flex}.music-tools a{gap:7px;padding:0 13px;font-size:11px}.music-tools button{width:41px}.music-tools svg{width:17px}.fairytale-cover{z-index:20;isolation:isolate;background:#ff986b;transition:opacity .7s,visibility .7s,transform 1s cubic-bezier(.16,1,.3,1);position:fixed;top:0;bottom:0;left:0;right:0;overflow:hidden}.fairytale.is-open .fairytale-cover{visibility:hidden;opacity:0;pointer-events:none;transform:scale(1.12)}.fairytale-cover>.cover-picture{z-index:-3;position:absolute;top:0;bottom:0;left:0;right:0}.fairytale-cover>.cover-picture>.cover-art{object-fit:cover;object-position:center;width:100%;height:100%;animation:11s ease-in-out infinite alternate coverBreath}.fairytale-cover:after{z-index:-2;content:"";background:linear-gradient(#ef315e0a,#0000 38%,#76144394);position:absolute;top:0;bottom:0;left:0;right:0}.fairytale-cover-world{z-index:1;pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden}.cover-firework-canvas,.cover-balloon-layer,.cover-auspicious-layer{position:absolute;top:0;bottom:0;left:0;right:0}.cover-balloon-layer{z-index:0;overflow:hidden}.cover-firework-canvas{z-index:1}.cover-auspicious-layer{--meet-shift:-1.3vw;z-index:2;overflow:hidden}.cover-firework-canvas canvas{width:100%;height:100%;display:block}.balloon-float{top:105%;left:var(--balloon-left);aspect-ratio:.9;opacity:0;filter:drop-shadow(0 9px 14px #6f1d4133);will-change:transform,opacity;width:min(6vw,92px);position:absolute;overflow:hidden}.balloon-float>img{max-width:none;height:auto;position:absolute}.balloon-float.is-far{filter:blur(.3px)drop-shadow(0 6px 10px #6f1d4129)}.balloon-float.is-near{z-index:2;width:min(8vw,124px)}.balloon-crop-0{aspect-ratio:.74}.balloon-crop-0>img{width:285%;top:-1%;left:-99%}.balloon-crop-1{aspect-ratio:1.03}.balloon-crop-1>img{width:240%;top:-62%;left:-25%}.balloon-crop-2{aspect-ratio:.88}.balloon-crop-2>img{width:230%;top:-68%;left:-118%}.balloon-crop-3{aspect-ratio:.92}.balloon-crop-3>img{width:240%;top:-136%;left:-33%}.balloon-crop-4{aspect-ratio:.95}.balloon-crop-4>img{width:245%;top:-176%;left:-114%}.is-playing .balloon-float{animation:balloonRise var(--balloon-duration)var(--balloon-delay)linear infinite}.sky-creature{opacity:0;object-fit:contain;filter:drop-shadow(0 8px 12px #701c3e47)drop-shadow(0 0 14px #ffe29147);will-change:transform,opacity;height:auto;position:absolute}.sky-dragon{top:var(--dragon-top);width:max(290px,min(31vw,470px));left:50%}.sky-phoenix{top:var(--phoenix-top);width:max(245px,min(25vw,380px));left:50%}.sky-lovebirds{width:max(145px,min(14vw,220px));margin-left:max(-110px,min(-7vw,-72px));top:38%;left:50%}.is-playing .sky-dragon{animation:dragonFlight 22s var(--parade-delay)linear infinite}.is-playing .sky-phoenix{animation:phoenixFlight 22s var(--parade-delay)linear infinite}.is-playing .sky-lovebirds{animation:.9s cubic-bezier(.16,1,.3,1) 1.2s both lovebirdsReveal,4.6s ease-in-out 2.1s infinite alternate lovebirdsFloat}.vow-centerpiece{z-index:3;aspect-ratio:1;opacity:0;filter:blur(10px)drop-shadow(0 10px 24px #85264c38);width:min(23vw,295px);position:absolute;top:59%;left:50%;transform:translate(-50%,-50%)scale(.08)rotate(-10deg)}.is-playing .vow-centerpiece{animation:1.4s cubic-bezier(.16,1,.3,1) 2.28s both vowBloom}.vow-centerpiece>img{object-fit:contain;width:100%;height:100%}.vow-signature{z-index:4;color:#fff8e8;opacity:0;text-align:center;text-shadow:0 2px 8px #5d1d39ad,0 0 18px #ffe7b1d9;justify-items:center;gap:5px;display:grid;position:absolute;top:49%;left:50%;transform:translate(-50%,-44%)scale(.7)}.is-playing .vow-signature{animation:1.65s ease-out 3.15s both vowSignature}.vow-signature b{white-space:nowrap;letter-spacing:.16em;font:700 max(13px,min(1.35vw,20px))/1 Noto Serif SC,serif}.vow-signature b i{color:#f397b8;font-style:normal}.vow-signature span{white-space:nowrap;color:#f7d8a1;letter-spacing:.21em;font-size:max(7px,min(.72vw,10px))}.cloud{z-index:-1;filter:drop-shadow(0 7px #2a20281a);background:radial-gradient(ellipse at 8% 90%,var(--pink)0 26%,transparent 27%),radial-gradient(ellipse at 24% 82%,var(--pink)0 37%,transparent 38%),radial-gradient(ellipse at 48% 95%,var(--pink)0 36%,transparent 37%),radial-gradient(ellipse at 72% 86%,var(--pink)0 41%,transparent 42%),radial-gradient(ellipse at 93% 96%,var(--pink)0 34%,transparent 35%);height:22vh;position:absolute;left:-5vw;right:-5vw}.cloud--top{top:-14vh;transform:rotate(180deg)}.cloud--bottom{bottom:-9vh}.cover-copy{z-index:3;color:#fff;text-align:center;text-shadow:0 3px #2a202838;width:min(90vw,780px);position:absolute;bottom:9vh;left:50%;transform:translate(-50%)}.cover-copy>p{letter-spacing:.35em;margin:0 0 5px;font-size:12px;font-weight:700}.cover-copy h1{letter-spacing:-.08em;margin:0;font:900 max(52px,min(7vw,104px))/1 Noto Serif SC,serif}.cover-copy h1 i{color:#f5d28a;font-style:normal}.cover-copy>span{letter-spacing:.16em;margin-top:12px;font:700 max(15px,min(1.7vw,23px))/1.5 Noto Serif SC,serif;display:block}.cover-copy button,.open-invite{border:3px solid var(--ink);color:#fff;background:var(--rose);box-shadow:6px 7px 0 var(--ink);border-radius:999px;align-items:center;gap:9px;margin-top:22px;padding:14px 24px;transition:all .2s;display:inline-flex}.cover-copy button:hover,.open-invite:hover{box-shadow:3px 4px 0 var(--ink);transform:translate(2px,2px)}.cover-copy button svg,.open-invite svg{width:20px}.cover-sticker{z-index:4;border:3px solid var(--ink);background:var(--yellow);width:112px;height:112px;box-shadow:6px 7px 0 var(--ink);text-align:center;border-radius:50%;place-items:center;font-size:11px;line-height:1.05;display:grid;position:absolute;top:22%;right:7%;transform:rotate(9deg)}.cover-sticker b{color:var(--rose);font-size:21px}.cover-scroll{z-index:4;color:#fff;letter-spacing:.12em;background:0 0;align-items:center;gap:7px;padding:0;font-size:10px;display:flex;position:absolute;bottom:25px;left:3vw}.cover-scroll svg{width:17px;animation:1.5s ease-in-out infinite nudge}.cover-sparkles{z-index:2;pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0}.cover-sparkles i{clip-path:polygon(50% 0,60% 40%,100% 50%,60% 60%,50% 100%,40% 60%,0 50%,40% 40%);background:#fff;width:10px;height:10px;animation:2.7s ease-in-out infinite sparkle;position:absolute}.cover-sparkles i:first-child{top:20%;left:22%}.cover-sparkles i:nth-child(2){animation-delay:-.8s;top:32%;right:20%}.cover-sparkles i:nth-child(3){animation-delay:-1.6s;bottom:31%;left:17%}.cover-sparkles i:nth-child(4){animation-delay:-2.2s;bottom:22%;right:12%}.comic-experience{z-index:10;visibility:hidden;opacity:0;background:var(--pink);touch-action:none;transition:opacity .65s .25s,visibility .65s;position:fixed;top:0;bottom:0;left:0;right:0;overflow:hidden}.fairytale.is-open .comic-experience{visibility:visible;opacity:1}.fairytale-world,.fairytale-world canvas{width:100%;height:100%}.fairytale-world{position:absolute;top:0;bottom:0;left:0;right:0}.fairytale-world canvas{cursor:grab;touch-action:none;display:block}.fairytale-world canvas:active{cursor:grabbing}.world-loader{z-index:20;color:#fff;background:var(--pink);place-content:center;justify-items:center;gap:12px;transition:opacity .65s,visibility .65s;display:grid;position:absolute;top:0;bottom:0;left:0;right:0}.world-loader svg{width:42px;color:var(--rose);animation:1.1s ease-in-out infinite beat}.world-loader span{letter-spacing:.16em;font-size:11px}.world-loader.is-ready{visibility:hidden;opacity:0}.comic-copy{z-index:8;pointer-events:none;width:min(35vw,510px);animation:.8s cubic-bezier(.16,1,.3,1) both copyIn;position:absolute;top:17vh;left:5vw}.comic-index,.scene-number{border:3px solid var(--ink);color:#fff;background:var(--rose);width:66px;height:66px;box-shadow:5px 6px 0 var(--ink);border-radius:50%;place-items:center;font-size:26px;display:grid}.comic-copy>p{letter-spacing:.24em;margin:25px 0 8px;font-size:11px;font-weight:700}.comic-copy h2{letter-spacing:-.07em;margin:0;font:900 max(45px,min(4.9vw,78px))/1.04 Noto Serif SC,serif}.comic-copy h2 strong{color:#fff;text-shadow:3px 4px 0 var(--rose)}.comic-description{max-width:480px;margin-top:18px;font:500 13px/1.85 Noto Serif SC,serif;display:block}.comic-copy blockquote{border:2px solid var(--ink);background:var(--cream);box-shadow:4px 5px 0 var(--ink);margin:21px 0 0;padding:9px 14px;font-size:12px;display:inline-block;transform:rotate(-2deg)}.comic-bubble{z-index:9;border:3px solid var(--ink);color:#fff;background:var(--rose);max-width:230px;box-shadow:5px 6px 0 var(--ink);text-align:center;pointer-events:none;border-radius:50%;padding:14px 18px;font-size:13px;animation:2.8s cubic-bezier(.16,1,.3,1) both bubbleIn;position:absolute;top:17%;right:4.5%;transform:rotate(5deg)}.comic-bubble b{color:var(--yellow);font-size:22px;display:block}.comic-label{z-index:8;border:3px solid var(--ink);color:#fff;background:var(--rose);box-shadow:4px 5px 0 var(--ink);letter-spacing:.16em;pointer-events:none;padding:10px 16px;font-size:10px;position:absolute;bottom:17%;right:8%;transform:rotate(-5deg)}.open-invite{z-index:12;margin:0;animation:.7s cubic-bezier(.16,1,.3,1) both copyIn;position:absolute;bottom:25%;right:8%}.gesture-hint{z-index:8;letter-spacing:.15em;align-items:center;gap:8px;margin:0;font-size:10px;font-weight:700;display:flex;position:absolute;bottom:27px;left:4vw}.gesture-hint i{border:2px solid var(--ink);border-radius:999px;width:28px;height:38px;display:block}.gesture-hint i:after{content:"";background:var(--ink);border-radius:9px;width:4px;height:9px;margin:6px auto;animation:1.8s ease-in-out infinite wheel;display:block}.comic-controls{z-index:9;bottom:max(18px,env(safe-area-inset-bottom));border:2px solid var(--ink);box-shadow:4px 5px 0 var(--ink);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fff3dfeb;border-radius:999px;grid-template-columns:42px minmax(170px,280px) 42px;align-items:center;gap:12px;padding:8px;display:grid;position:absolute;left:50%;transform:translate(-50%)}.comic-controls button{border:2px solid var(--ink);color:#fff;background:var(--rose);border-radius:50%;place-items:center;width:38px;height:38px;display:grid}.comic-controls button:disabled{opacity:.25}.comic-controls svg{width:18px}.comic-controls>div{gap:6px;display:grid}.comic-controls b{letter-spacing:.15em;text-align:center;font-size:9px}.comic-controls i{background:#e9bdce;border-radius:999px;height:4px;overflow:hidden}.comic-controls em{border-radius:inherit;background:linear-gradient(90deg,var(--hot),var(--yellow));height:100%;transition:width .5s cubic-bezier(.16,1,.3,1);display:block}.chapter-rail{z-index:9;gap:10px;display:grid;position:absolute;top:50%;right:22px;transform:translateY(-50%)}.chapter-rail button{background:#2a20283d;border:2px solid #fff;border-radius:50%;width:9px;height:9px;padding:0;transition:all .25s;box-shadow:0 1px 3px #0003}.chapter-rail button.active{background:var(--yellow);transform:scale(1.7)}.fairy-confetti{z-index:70;pointer-events:none;position:fixed;top:0;bottom:0;left:0;right:0;overflow:hidden}.fairy-confetti i{top:-7vh;left:var(--left);opacity:0;width:12px;height:18px;transform:scale(var(--scale));animation:fall var(--duration)var(--delay)linear infinite;background:#ffd4e1;border-radius:90% 0;position:absolute}.fairy-confetti .confetti-1{background:var(--yellow);border-radius:50%;width:10px;height:10px}.fairy-confetti .confetti-2{clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%);background:#fff}.fairy-transition{z-index:95;visibility:hidden;pointer-events:none;position:fixed;top:0;bottom:0;left:0;right:0}.fairytale.is-open .fairy-transition{animation:1.05s step-end both hideTransition}.fairy-transition i{aspect-ratio:1;background:var(--hot);border-radius:50%;width:54vw;position:absolute;top:50%;transform:translateY(-50%)scale(0)}.fairy-transition i:first-child{left:-15vw}.fairy-transition i:nth-child(2){right:-15vw}.fairytale.is-open .fairy-transition i{animation:.95s cubic-bezier(.65,0,.35,1) both burst}.fairy-transition strong{color:var(--yellow);opacity:0;font-size:80px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.fairytale.is-open .fairy-transition strong{animation:.95s both heartBurst}.invitation-drawer{z-index:120;visibility:hidden;opacity:0;background:#ff8dbd;grid-template-columns:.72fr 1.08fr .82fr;align-items:center;gap:max(24px,min(4vw,65px));padding:100px 5vw 72px;transition:all .6s cubic-bezier(.16,1,.3,1);display:grid;position:fixed;top:0;bottom:0;left:0;right:0;overflow:auto;transform:translateY(7%)}.invitation-drawer.is-open{visibility:visible;opacity:1;transform:none}.drawer-close{z-index:3;top:max(22px,env(safe-area-inset-top));border:3px solid var(--ink);background:var(--cream);width:46px;height:46px;box-shadow:4px 5px 0 var(--ink);border-radius:50%;place-items:center;display:grid;position:fixed;right:24px}.drawer-close svg{width:22px}.finale-heading,.invite-card,.rsvp-card{z-index:2;position:relative}.finale-heading>p{letter-spacing:.23em;margin:25px 0 9px;font-size:11px;font-weight:700}.finale-heading h2{letter-spacing:-.07em;margin:0;font:900 max(40px,min(4vw,68px))/1.04 Noto Serif SC,serif}.finale-heading h2 strong{color:#fff;text-shadow:3px 4px 0 var(--rose)}.finale-heading>span:last-child{margin-top:20px;font:500 13px/1.85 Noto Serif SC,serif;display:block}.invite-card,.rsvp-card{border:4px solid var(--ink);background:var(--cream);box-shadow:11px 13px 0 var(--ink)}.invite-card{transform:rotate(-1.5deg)}.invite-illustration{padding:12px 12px 47px;position:relative}.invite-illustration img{border:3px solid var(--ink);object-fit:cover;object-position:center 34%;height:min(43vh,470px)}.invite-illustration>span{text-align:center;letter-spacing:.12em;font-size:9px;position:absolute;bottom:11px;left:18px;right:18px}.invite-illustration b,.invite-details small{color:var(--rose)}.invite-details{border-top:4px solid var(--ink);background:#fff8ea;padding:21px 23px 24px}.invite-details small{letter-spacing:.2em;font-size:10px}.invite-details h3{margin:7px 0 16px;font:900 max(24px,min(2.3vw,36px))/1.25 Noto Serif SC,serif}.invite-details dl{gap:9px;margin:0;display:grid}.invite-details dl div{grid-template-columns:24px 40px 1fr;align-items:center;gap:5px;display:grid}.invite-details dl svg{width:17px;color:var(--rose)}.invite-details dt{font-size:10px;font-weight:700}.invite-details dd{margin:0;font-size:11px}.invite-actions{gap:8px;margin-top:18px;display:flex}.invite-actions a,.invite-actions button{border:2px solid var(--ink);background:var(--yellow);min-height:40px;box-shadow:3px 4px 0 var(--ink);border-radius:999px;flex:1;justify-content:center;align-items:center;gap:6px;font-size:10px;display:flex}.invite-actions button{color:#fff;background:var(--rose)}.invite-actions svg{width:15px}.rsvp-card{background:#fff8ea;padding:25px;transform:rotate(1.3deg)}.rsvp-title{align-items:center;gap:11px;margin-bottom:16px;display:flex}.rsvp-title>svg{width:33px;color:var(--rose)}.rsvp-title span{color:var(--rose);letter-spacing:.2em;font-size:9px}.rsvp-title h3,.rsvp-success h3{margin:2px 0 0;font:900 25px/1.2 Noto Serif SC,serif}.rsvp-card label{gap:6px;margin-top:12px;font-size:10px;font-weight:700;display:grid}.rsvp-card input,.rsvp-card textarea{border:2px solid var(--ink);background:#fff;border-radius:12px;outline:0;width:100%;font:12px/1.5 inherit}.rsvp-card input{height:41px;padding:0 11px}.rsvp-card textarea{resize:vertical;min-height:68px;padding:9px 11px}.rsvp-card fieldset{border:0;gap:7px;margin:13px 0 0;padding:0;display:flex}.rsvp-card legend{margin-bottom:6px;font-size:10px;font-weight:700}.rsvp-card fieldset button{border:2px solid var(--ink);background:#fff;border-radius:999px;flex:1;min-height:34px;font-size:9px}.rsvp-card fieldset button.selected{color:#fff;background:var(--rose);box-shadow:2px 3px 0 var(--ink)}.rsvp-submit{border:2px solid var(--ink);color:#fff;background:var(--rose);width:100%;min-height:42px;box-shadow:4px 5px 0 var(--ink);border-radius:999px;justify-content:center;align-items:center;gap:8px;margin-top:15px;display:flex}.rsvp-submit svg{width:16px}.rsvp-submit:disabled{opacity:.65}.rsvp-success{text-align:center;place-content:center;min-height:280px;display:grid}.rsvp-success svg{border:3px solid var(--ink);color:#fff;background:var(--rose);border-radius:50%;width:50px;height:50px;margin:0 auto 14px;padding:10px}.rsvp-success p{margin:8px 0 0;font-size:11px}.invitation-drawer footer{text-align:center;letter-spacing:.22em;font-size:9px;position:absolute;bottom:18px;left:0;right:0}.fairytale-toast{z-index:160;border:2px solid var(--ink);color:#fff;background:var(--ink);opacity:0;pointer-events:none;border-radius:999px;padding:12px 20px;transition:all .28s;position:fixed;bottom:28px;left:50%;transform:translate(-50%,25px)}.fairytale-toast.show{opacity:1;transform:translate(-50%)}@keyframes coverBreath{to{transform:scale(1.05)}}@keyframes nudge{50%{transform:translateY(5px)}}@keyframes sparkle{50%{opacity:.45;transform:scale(1.9)rotate(45deg)}}@keyframes vowBloom{0%{opacity:0;filter:blur(10px)drop-shadow(0 10px 24px #85264c38);transform:translate(-50%,-50%)scale(.08)rotate(-10deg)}66%{opacity:.95;filter:blur()drop-shadow(0 12px 25px #85264c47);transform:translate(-50%,-50%)scale(1.08)rotate(2deg)}to{opacity:.88;filter:blur()drop-shadow(0 10px 22px #85264c3d);transform:translate(-50%,-50%)scale(1)rotate(0)}}@keyframes vowSignature{0%{opacity:0;transform:translate(-50%,-44%)scale(.7)}38%{opacity:1;transform:translate(-50%,-50%)scale(1.12)}58%{opacity:.56;transform:translate(-50%,-50%)scale(.96)}76%{opacity:1;transform:translate(-50%,-50%)scale(1.04)}to{opacity:.86;transform:translate(-50%,-50%)scale(1)}}@keyframes balloonRise{0%{transform:translate3d(0,0,0)rotate(-5deg)scale(var(--balloon-scale));opacity:0}7%{opacity:var(--balloon-opacity)}25%{transform:translate3d(12px,-58vh,0)rotate(4deg)scale(var(--balloon-scale))}50%{transform:translate3d(-18px,-112vh,0)rotate(-3deg)scale(var(--balloon-scale));opacity:var(--balloon-opacity)}75%{transform:translate3d(var(--balloon-drift),-166vh,0)rotate(5deg)scale(var(--balloon-scale))}92%{opacity:.4}to{transform:translate3d(-10px,-220vh,0)rotate(-4deg)scale(var(--balloon-scale));opacity:0}}@keyframes dragonFlight{0%,9%{opacity:0;transform:translate(55vw,48vh)rotate(12deg)scale(.58)}14%{opacity:.9}44%,64%{opacity:.9;transform:translate3d(var(--meet-shift),0,0)rotate(-3deg)scale(.86)}72%{opacity:.9;transform:translate(-28%,-4vh)rotate(-5deg)scale(.9)}76%{opacity:.9;transform:translate(-50%,-9vh)rotate(-7deg)scale(.92)}84%{opacity:.9;transform:translate(-50%,-58vh)rotate(-7deg)scale(.92)}84.1%,to{opacity:0;transform:translate(55vw,48vh)rotate(12deg)scale(.58)}}@keyframes phoenixFlight{0%,9%{opacity:0;transform:translate(-68vw,50vh)rotate(-12deg)scaleX(-1)scale(.58)}14%{opacity:.9}44%,64%{opacity:.9;transform:translate3d(calc(-100% - var(--meet-shift)),0,0)rotate(3deg)scaleX(-1)scale(.86)}72%{opacity:.9;transform:translate(-72%,calc(-4vh - 5px))rotate(5deg)scaleX(-1)scale(.9)}76%{opacity:.9;transform:translate(-50%,calc(-9vh - 10px))rotate(7deg)scaleX(-1)scale(.92)}84%{opacity:.9;transform:translate(-50%,calc(-58vh - 10px))rotate(7deg)scaleX(-1)scale(.92)}84.1%,to{opacity:0;transform:translate(-68vw,50vh)rotate(-12deg)scaleX(-1)scale(.58)}}@keyframes lovebirdsReveal{0%{opacity:0;transform:translateY(14px)scale(.72)}to{opacity:.94;transform:translateY(0)scale(1)}}@keyframes lovebirdsFloat{0%{opacity:.94;transform:translateY(-5px)scale(.98)rotate(-1deg)}to{opacity:.94;transform:translateY(7px)scale(1.03)rotate(1.4deg)}}@keyframes copyIn{0%{opacity:0;transform:translateY(35px)rotate(-2deg)}to{opacity:1;transform:none}}@keyframes bubbleIn{0%,18%{opacity:0;transform:rotate(14deg)scale(.2)}32%,82%{opacity:1;transform:rotate(5deg)scale(1)}to{opacity:.92;transform:rotate(5deg)scale(.96)}}@keyframes wheel{0%{opacity:0;transform:translateY(0)}35%{opacity:1}to{opacity:0;transform:translateY(13px)}}@keyframes beat{50%{transform:scale(1.18)rotate(-7deg)}}@keyframes fall{0%{opacity:0;transform:translate3d(0,-8vh,0)rotate(0)scale(var(--scale))}12%{opacity:.75}to{opacity:0;transform:translate3d(var(--drift),115vh,0)rotate(500deg)scale(var(--scale))}}@keyframes burst{0%{transform:translateY(-50%)scale(0)}48%,68%{transform:translateY(-50%)scale(1.55)}to{transform:translateY(-50%)scale(0)}}@keyframes heartBurst{0%,20%{opacity:0;transform:translate(-50%,-50%)scale(.1)}50%{opacity:1;transform:translate(-50%,-50%)scale(1)}to{opacity:0;transform:translate(-50%,-50%)rotate(28deg)scale(1.8)}}@keyframes hideTransition{0%,96%{visibility:visible}to{visibility:hidden}}@media (max-width:720px){.fairytale-header{grid-template-columns:1fr auto;min-height:66px;padding-inline-start:18px;padding-inline-end:18px}.header-chapter{display:none}.fairytale-logo{font-size:13px}.music-tools a{width:41px;padding:0}.music-tools a span{display:none}.fairytale-cover:after{background:linear-gradient(#ef315e08,#0000 33%,#67113ca6)}.fairytale-cover-world{--meet-shift:-2.6vw;mix-blend-mode:normal}.balloon-float{width:13vw;max-width:56px}.balloon-float.is-near{width:17vw;max-width:74px}.sky-dragon{width:220px}.sky-phoenix{width:180px}.sky-lovebirds{width:126px;margin-left:-63px;top:38%}.vow-centerpiece{width:min(42vw,180px);top:61%}.vow-signature{top:50%}.vow-signature b{font-size:11px}.vow-signature span{font-size:7px}.cover-copy{bottom:12vh}.cover-copy h1{font-size:max(42px,min(13vw,62px))}.cover-copy>span{letter-spacing:.11em;padding-inline-start:8vw;padding-inline-end:8vw;font-size:13px}.cover-sticker{width:82px;height:82px;font-size:9px;top:17%;right:5%}.cover-sticker b{font-size:15px}.cover-scroll{display:none}.comic-copy{width:86vw;top:11.5vh;left:7vw}.comic-index{width:50px;height:50px;box-shadow:4px 5px 0 var(--ink);font-size:20px}.comic-copy>p{margin:15px 0 5px;font-size:9px}.comic-copy h2{max-width:76vw;font-size:max(35px,min(10vw,48px))}.comic-description,.comic-copy blockquote{display:none}.comic-bubble{max-width:180px;padding:9px 12px;font-size:10px;top:auto;bottom:22%;right:7vw}.comic-bubble b{font-size:17px}.comic-label{padding:7px 10px;font-size:8px;bottom:28%;left:7vw;right:auto}.open-invite{white-space:nowrap;bottom:20%;right:50%;transform:translate(50%)}.open-invite:hover{transform:translate(calc(50% + 2px),2px)}.gesture-hint{display:none}.comic-controls{bottom:max(15px,env(safe-area-inset-bottom));grid-template-columns:37px minmax(120px,43vw) 37px;gap:7px}.comic-controls button{width:33px;height:33px}.chapter-rail{gap:9px;display:flex;top:auto;bottom:76px;right:50%;transform:translate(50%)}.chapter-rail button{width:7px;height:7px}.invitation-drawer{grid-template-columns:1fr;gap:29px;padding:85px 22px 72px}.drawer-close{top:max(16px,env(safe-area-inset-top));right:17px}.finale-heading h2{font-size:max(39px,min(12vw,56px))}.invite-card,.rsvp-card{box-shadow:8px 9px 0 var(--ink);transform:none}.invite-illustration img{aspect-ratio:4/5;height:auto}.invitation-drawer footer{margin-top:12px;position:static}}@media (prefers-reduced-motion:reduce){.fairytale-cover .cover-art,.fairy-confetti i,.cover-sparkles i,.balloon-float,.sky-creature,.vow-centerpiece,.vow-signature,.world-loader svg,.gesture-hint i:after{animation:none}.balloon-float{display:none}.sky-dragon{opacity:.68;transform:translate(11vw)}.sky-phoenix{opacity:.72;transform:translate(-12vw)}.sky-lovebirds{opacity:.78}.vow-centerpiece{opacity:.74;transform:translate(-50%,-50%)}.vow-signature{opacity:.82;transform:translate(-50%,-50%)}.comic-copy,.comic-bubble,.open-invite{animation-duration:.01ms}}