*{box-sizing:border-box;margin:0;padding:0}html,body{background:#fcf3ee}.app-root{--hint-ink: #B24470;--ui-dock-a: #ffffff;--ui-dock-b: #fdf1f4;--ui-line: rgba(178, 68, 112, .22);--ui-line-faint: rgba(178, 68, 112, .08);--ui-mark: #E0709A;--ui-mark-glow: rgba(224, 112, 154, .45);--ui-ink: #5E2C3F;--ui-ink-soft: #a07a88;--ui-shadow: rgba(94, 44, 63, .18);--ui-backdrop: rgba(60, 25, 40, .36);--ui-sheet: #ffffff;--ui-sheet-glow: rgba(178, 68, 112, .06);--ui-handle: rgba(178, 68, 112, .3);--ui-close-bg: rgba(255, 255, 255, .9);--ui-close-ink: #B24470;--ui-close-hover-bg: #B24470;--ui-close-hover-ink: #ffffff;--ui-inset: #ffffff;--card-bg: #FCF3EE;--card-info-bg: #FCF3EE;--card-splash-bg: #F7DCE3;--card-accent: #babc95;--card-accent-light: #5E2C3F;--card-accent-soft: #da999a;--card-accent-info: #fefdf9;--batik-pink: #C2477A;--batik-teal: #8E4A66;--batik-gold: #E3A64A;background:#fcf3ee;width:100%;min-height:100vh;font-family:Gaegu,cursive}.wrapper{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;cursor:pointer;background:var(--card-splash-bg);display:flex;align-items:center;justify-content:center;overflow:hidden;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.wrapper{--sheet-w: min(100vw, 100dvh * .4705, 560px);background-color:#feedd6;background-image:linear-gradient(90deg,#feedd6,#feefd3 48%,#fcdfe5 56%,#fbd7e2 76%,#fcdfe5 94%,#feedd6);background-size:calc(var(--sheet-w) * .0604) 100%;background-repeat:repeat-x;background-position:calc(50% - var(--sheet-w) / 2) 0}.wrapper.opening{animation:cardSlideUp .9s cubic-bezier(.4,0,.2,1) forwards}@keyframes cardSlideUp{0%{transform:translateY(0) scale(1);opacity:1}25%{transform:translateY(-18px) scale(1.02);opacity:1}to{transform:translateY(-110vh);opacity:0}}.splash-stage{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.splash-sheet{position:relative;width:var(--sheet-w);aspect-ratio:860 / 1828;container-type:inline-size;padding:0;border:none;background:none;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform .25s ease}.splash-sheet:active{transform:scale(.995)}.splash-sheet-img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.splash-heading{position:absolute;left:16%;right:16%;top:17%;bottom:46%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5cqw;text-align:center}.splash-kicker{font-family:Gaegu,cursive;font-size:clamp(9px,3cqw,14px);letter-spacing:.2em;text-transform:uppercase;color:#8e4a66;line-height:1.6}.splash-names{display:flex;flex-direction:column;align-items:center;gap:1.6cqw;width:100%}.splash-name{font-family:Gaegu,cursive;font-size:clamp(30px,12cqw,60px);font-weight:400;line-height:1.12;color:#c2477a;overflow-wrap:anywhere}.splash-amp{font-family:Gaegu,cursive;font-style:italic;font-size:clamp(15px,5.4cqw,27px);line-height:1;color:#e3a64a}.splash-date{font-family:Gaegu,cursive;font-size:clamp(11px,3.6cqw,17px);letter-spacing:.18em;color:#8e4a66;line-height:1.4}.splash-tap{display:inline-flex;align-items:center;gap:2.2cqw;margin-top:4cqw;font-family:Gaegu,cursive;font-weight:700;font-size:clamp(13px,4.4cqw,21px);letter-spacing:.04em;color:#c2477a;text-shadow:0 1px 0 rgba(255,255,255,.8);animation:splashTapPulse 2.6s ease-in-out infinite}.splash-tap:before,.splash-tap:after{content:"";width:.85em;height:.85em;flex:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 20.5s-7.5-4.6-9.2-9.4C1.6 7.6 3.9 4.5 7 4.5c2 0 3.4 1.1 5 3 1.6-1.9 3-3 5-3 3.1 0 5.4 3.1 4.2 6.6-1.7 4.8-9.2 9.4-9.2 9.4z' fill='%23F4B6C8' stroke='%23E0709A' stroke-width='1.6' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;animation:splashTapHeart 2.6s ease-in-out infinite}.splash-tap:after{animation-delay:1.3s}@keyframes splashTapPulse{0%,to{opacity:.75;transform:translateY(0)}50%{opacity:1;transform:translateY(-1.5px)}}@keyframes splashTapHeart{0%,to{transform:scale(.85)}50%{transform:scale(1.15)}}@media (prefers-reduced-motion: reduce){.splash-tap,.splash-tap:before,.splash-tap:after{animation:none}}.card{max-width:420px;margin:0 auto;background:#fcf3ee;position:relative;overflow:hidden;box-shadow:0 10px 20px #00000030,0 6px 6px #0000003b;padding-bottom:calc(90px + env(safe-area-inset-bottom,0px))}.reveal{opacity:0}.reveal.active{opacity:1}.reveal.active.from-below{animation:revealUp 1.8s cubic-bezier(.22,.9,.3,1) backwards}.reveal.active.from-above{animation:revealDown 1.8s cubic-bezier(.22,.9,.3,1) backwards}@keyframes revealUp{0%{opacity:0;transform:translate3d(0,100px,0) scale(.6)}to{opacity:1;transform:translateZ(0) scale(1)}}@keyframes revealDown{0%{opacity:0;transform:translate3d(0,-100px,0) scale(.6)}to{opacity:1;transform:translateZ(0) scale(1)}}.no-text-anim .reveal{opacity:1;animation:none!important}@media (prefers-reduced-motion: reduce){.reveal.active.from-below,.reveal.active.from-above{animation:revealFade .4s ease both}@keyframes revealFade{0%{opacity:0}to{opacity:1}}}.fade-in-1{animation:growIn .5s ease-in-out both}.fade-in-2{animation:growIn .8s ease-in-out both}.fade-in-3{animation:growIn 1s ease-in-out both}.fade-in-4{animation:growIn 1.2s ease-in-out both}@keyframes growIn{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}.intro{position:relative;z-index:1}.intro-bg{display:block;width:100%;height:auto;position:relative;z-index:0}.intro-content{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:50px;gap:0;z-index:1}.intro-content img{width:50%;margin-bottom:16px}.walimatul{font-size:18px;letter-spacing:2px;color:var(--batik-teal);margin-bottom:32px;text-transform:uppercase;font-size:14px;letter-spacing:3px}.intro-content h2{font-family:Gaegu,cursive;font-size:70px;font-weight:500;color:var(--batik-pink);line-height:1.1;margin:4px 0}.intro-content h3{font-family:Gaegu,cursive;font-size:34px;font-weight:500;color:var(--batik-pink)}.intro-when{display:flex;flex-direction:column;align-items:center;margin-top:32px;width:100%;max-width:82%;color:var(--batik-teal);letter-spacing:2px;line-height:1.35}.intro-day{font-size:12.6px;text-transform:uppercase;margin-bottom:.25em}.intro-date{font-size:18px}.intro-hashtag{margin-top:.45em;font-size:18px;text-align:center;overflow-wrap:anywhere}.info{display:flex;flex-direction:column;align-items:center;padding:50px 0;position:relative;z-index:1}.lace-section{position:relative;width:100%;margin:16px auto;display:flex;flex-direction:column;align-items:center}.lace-details{width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:8px;padding:0 14%}.lace-frame{position:relative;width:100%;aspect-ratio:861 / 1827;container-type:inline-size;margin-top:4px}.lace-frame .lace-item p{font-size:clamp(12px,4.1cqw,18px);line-height:1.55}.lace-frame .lace-divider{width:40%;border-top-color:#e3a0b8;margin:3.2cqw 0}.lace-frame-img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none}.lace-content{position:absolute;top:13%;right:23%;bottom:12%;left:23%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:1.5cqw;overflow:hidden}.lace-item{display:flex;flex-direction:column;align-items:center}.lace-label{font-family:Gaegu,cursive;font-size:28px;color:#c2477a;line-height:1;margin-bottom:8px;margin-top:8px}.lace-item p{font-size:18px;color:#5e2c3f;line-height:1.7;font-weight:400}.lace-divider{width:50%;height:0;border-top:1px solid #5E2C3F;margin:8px 0;align-self:center}.lace-frame .lace-label{font-size:clamp(20px,7.5cqw,38px);line-height:1.15;margin:0 0 3cqw}.event-info{width:95%;text-align:center;position:relative;padding:24px 20px 12px;container-type:inline-size}.event-flower{display:block;width:74%;max-width:310px;height:auto;margin:0 auto 26px}.event-part{margin-bottom:0}.event-part p{font-family:Gaegu,cursive;font-style:italic;font-size:18px;color:#b24470;font-weight:400;letter-spacing:.3px;line-height:1.6}.event-part.one{display:flex;flex-direction:column;align-items:center;gap:0}.parent-names{display:flex;flex-direction:column;align-items:center;margin:20px 0 22px;gap:2px}.parent-names p{font-size:19px;font-style:normal;letter-spacing:.4px;line-height:1.4;font-weight:600;color:#5e2c3f}.parent-names p:nth-child(2){font-family:Gaegu,cursive;font-size:22px;font-weight:400;color:#c2477a}.event-part.two{display:flex;flex-direction:column;align-items:center;margin:8px 0}.event-part.two p{font-family:Gaegu,cursive;letter-spacing:2px;font-size:32px;font-weight:400;font-style:normal;line-height:1.25;color:#6e2f4a}.countdown{text-align:center;padding:24px 0 0}.countdown-title{font-size:13px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:#7a4a5c;margin-bottom:20px}.count-boxes{display:flex;align-items:center;justify-content:center}.count-divider{width:1px;height:48px;background:#e3a0b8;opacity:.55;margin:0 16px}.count-box{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:56px}.count-box h1{font-family:Gaegu,cursive;font-size:30px;font-weight:700;color:#5e2c3f;line-height:1;margin-bottom:6px}.count-box span{font-size:9px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:#a07a88;opacity:.9}.countdown-row{display:flex;flex-direction:column;align-items:center;gap:20px}.mini-cal{width:100%;display:flex;flex-direction:column;align-items:center;padding:24px 8px 8px}.mini-cal-title{font-family:Gaegu,cursive;font-size:11px;font-weight:400;letter-spacing:6px;text-transform:uppercase;color:#7a4a5c;margin-bottom:18px;text-align:center}.mini-cal-row{display:flex;width:100%}.mini-cal-cell{flex:1;display:flex;flex-direction:column;align-items:center;gap:8px}.mini-cal-dow{font-family:Gaegu,cursive;font-size:11px;color:#a07a88;font-weight:400;text-align:center}.mini-cal-day{font-family:Gaegu,cursive;font-size:17px;color:#7a4a5c;font-weight:400;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%}.mini-cal-cell--active .mini-cal-day{border:1.5px dashed #E3A0B8}.mini-cal-stem{display:block;width:0;height:40px;border-left:1.5px dashed #E3A0B8}.mini-cal-script{font-family:Gaegu,cursive;font-size:44px;color:#5e2c3f;line-height:1.1;margin-top:2px;text-align:center}.lace-frame .aturcara-row{display:flex;flex-direction:column;align-items:center;gap:.3cqw;margin-bottom:2.4cqw;font-size:clamp(12px,3.8cqw,19px);color:#5e2c3f;font-weight:400;letter-spacing:.3px;line-height:1.45}.lace-frame .aturcara-row:last-child{margin-bottom:0}.aturcara-label{display:block}.aturcara-time{display:block;color:#9c3a62;font-style:italic}.rsvp-tray{position:relative;width:100%;margin:8px auto 4px;container-type:inline-size}.rsvp-tray-img{display:block;width:100%;height:auto}.rsvp-tray-inner{position:absolute;top:27%;right:27%;bottom:26%;left:29%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.6cqw;text-align:center}.rsvp-tray-title{font-family:Gaegu,cursive;font-size:clamp(18px,6.4cqw,32px);line-height:1;color:#c2477a}.rsvp-tray-text{font-family:Gaegu,cursive;font-style:italic;font-size:clamp(10px,3.2cqw,15px);line-height:1.45;color:#b24470}.rsvp-btn{margin-top:.8cqw;padding:clamp(5px,1.8cqw,10px) clamp(12px,4.4cqw,22px);border:1px solid #B24470;background:#fff9;color:#b24470;font-family:Gaegu,cursive;font-size:clamp(8px,2.6cqw,13px);font-weight:700;letter-spacing:1.4px;white-space:nowrap;text-transform:uppercase;cursor:pointer;transition:background .25s,color .25s}.rsvp-btn:hover{background:#c2477a;color:#fff;border-color:#c2477a}.ucapan-khas{position:relative;align-self:stretch;margin:6px 0 4px;display:flex;flex-direction:column;align-items:center}.ucapan-heart{position:relative;width:100%;aspect-ratio:861 / 940;container-type:inline-size}.ucapan-heart-img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none}.ucapan-khas-content{position:absolute;top:24%;right:24%;bottom:22%;left:24%;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2cqw;text-align:center;overflow:hidden}.ucapan-khas-title{font-family:Gaegu,cursive;font-size:clamp(22px,7.4cqw,38px);color:#c2477a;line-height:1;margin-bottom:1.6cqw}.ucapan-khas-msg{font-family:Gaegu,cursive;font-style:italic;font-size:clamp(12px,3.5cqw,17px);color:#5e2c3f;line-height:1.6}.ucapan-khas-name{font-family:Gaegu,cursive;font-size:clamp(16px,5cqw,25px);color:#c2477a;line-height:1.2}.ucapan-khas-empty{font-family:Gaegu,cursive;font-size:clamp(11px,3.3cqw,16px);color:#8e4a66;font-style:italic;line-height:1.6}.ucapan-khas-controls{display:flex;flex-direction:column;align-items:center;gap:1.8cqw;margin-top:2.4cqw}.ucapan-khas-nav{display:flex;align-items:center;gap:4cqw}.ucapan-khas-nav button{background:none;border:none;font-size:clamp(20px,6cqw,28px);color:#c2477a;cursor:pointer;line-height:1;padding:0 4px;opacity:.9}.ucapan-khas-nav span{font-family:Gaegu,cursive;font-size:clamp(10px,3cqw,14px);color:#8e4a66;opacity:.9}.ucapan-khas-btn{display:flex;align-items:center;gap:1.4cqw;padding:clamp(5px,1.8cqw,9px) clamp(12px,4.4cqw,22px);border:1px solid #C2477A;background:#fff9;color:#c2477a;font-family:Gaegu,cursive;font-size:clamp(11px,3.3cqw,15px);font-style:italic;cursor:pointer;border-radius:2px;transition:background .25s,color .25s}.ucapan-khas-btn:hover{background:#c2477a;color:#fff}.footer{position:fixed;left:50%;transform:translate(-50%);bottom:calc(10px + env(safe-area-inset-bottom,0px));width:100%;max-width:420px;padding:0 12px;z-index:1000;pointer-events:none}.footer .menu{--pad: 5px;pointer-events:auto;list-style:none;position:relative;height:62px;padding:0 var(--pad);display:flex;align-items:center;justify-content:space-around;background:linear-gradient(180deg,var(--ui-dock-a),var(--ui-dock-b));border:1px solid var(--ui-line);border-radius:24px;box-shadow:0 12px 30px var(--ui-shadow),0 2px 6px var(--ui-shadow),inset 0 1px 0 var(--ui-inset)}.footer .menu:before{content:"";position:absolute;top:3px;right:3px;bottom:3px;left:3px;border-radius:21px;border:1px solid var(--ui-line-faint);pointer-events:none}.footer .menu:after{--slot: calc((100% - 2 * var(--pad)) / var(--count, 6));content:"";position:absolute;z-index:2;top:-1px;height:2px;width:26px;left:calc(var(--pad) + var(--slot) * var(--active, 0) + var(--slot) / 2 - 13px);border-radius:0 0 2px 2px;background:linear-gradient(90deg,transparent,var(--ui-mark) 20%,var(--ui-mark) 80%,transparent);box-shadow:0 1px 6px var(--ui-mark-glow);opacity:0;transform:scaleX(.3);transition:left .5s cubic-bezier(.34,1.3,.64,1),opacity .25s ease,transform .35s ease;pointer-events:none}.footer .menu.has-active:after{opacity:1;transform:scaleX(1)}.footer .menu li{position:relative;z-index:1;flex:1 1 0;min-width:0;height:100%;padding:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;cursor:pointer;-webkit-user-select:none;user-select:none;outline:none;-webkit-tap-highlight-color:transparent}.footer .menu li .bx{position:relative;color:var(--ui-ink-soft);font-size:21px;line-height:1;transition:color .3s ease,transform .3s ease}.footer .menu li span{font-family:Gaegu,cursive;font-size:10.5px;line-height:1;letter-spacing:.06em;color:var(--ui-ink-soft);white-space:nowrap;transition:color .3s ease}.footer .menu li:active .bx{transform:scale(.88)}.footer .menu li.active .bx{color:var(--ui-ink);animation:menuIconPop .45s cubic-bezier(.34,1.56,.64,1)}.footer .menu li.active span{color:var(--ui-ink);font-weight:600}@keyframes menuIconPop{0%{transform:scale(.8)}60%{transform:scale(1.12)}to{transform:scale(1)}}.footer .menu li:focus-visible:before{content:"";position:absolute;top:6px;bottom:6px;left:2px;right:2px;border-radius:18px;box-shadow:0 0 0 2px var(--ui-mark)}@media (hover: hover){.footer .menu li:not(.active):hover .bx{color:var(--ui-ink);transform:translateY(-2px)}.footer .menu li:not(.active):hover span{color:var(--ui-ink)}}.footer .menu li .bx.is-playing{color:var(--ui-ink)}.footer .menu li .bx.is-playing:after{content:"";position:absolute;top:-2px;right:-5px;width:6px;height:6px;border-radius:50%;background:var(--ui-mark);animation:footerPlayingDot 1.8s ease-out infinite}@keyframes footerPlayingDot{0%{box-shadow:0 0 0 0 var(--ui-mark-glow)}to{box-shadow:0 0 0 7px transparent}}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:900;background:var(--ui-backdrop);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);opacity:0;visibility:hidden;transition:opacity .35s ease,visibility 0s linear .35s}.sheet-backdrop.show{opacity:1;visibility:visible;transition:opacity .35s ease,visibility 0s}.toggle-menu{position:fixed;left:50%;z-index:2000;bottom:calc(86px + env(safe-area-inset-bottom,0px));width:calc(100% - 24px);max-width:396px;max-height:calc(100dvh - 108px - env(safe-area-inset-bottom,0px));overflow-y:auto;overscroll-behavior:contain;padding:30px 22px 24px;background:radial-gradient(120% 60% at 50% 0%,var(--ui-sheet-glow),transparent 70%),var(--ui-sheet);border:1px solid var(--ui-line);border-radius:26px;box-shadow:0 24px 60px var(--ui-shadow),0 4px 12px var(--ui-shadow);transform:translate(-50%,calc(100% + 120px)) scale(.96);opacity:0;visibility:hidden;transition:transform .5s cubic-bezier(.32,1.25,.5,1),opacity .25s ease,visibility 0s linear .5s}.toggle-menu.open{transform:translate(-50%) scale(1);opacity:1;visibility:visible;transition:transform .5s cubic-bezier(.32,1.25,.5,1),opacity .25s ease,visibility 0s}.toggle-menu:before{content:"";position:absolute;top:10px;left:50%;transform:translate(-50%);width:38px;height:4px;border-radius:4px;background:var(--ui-handle)}.sheet-close{position:absolute;top:12px;right:12px;z-index:1;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:1px solid var(--ui-line);background:var(--ui-close-bg);color:var(--ui-close-ink);font-size:20px;cursor:pointer;transition:background .2s ease,color .2s ease,transform .2s ease}.sheet-close:hover{background:var(--ui-close-hover-bg);color:var(--ui-close-hover-ink);transform:rotate(90deg)}.sheet-close:focus-visible{outline:2px solid var(--ui-mark);outline-offset:2px}.toggle-menu.open .modal-inner>*,.toggle-menu.open .rsvp-form-inner>*{animation:sheetItemIn .5s cubic-bezier(.22,1,.36,1) both}.toggle-menu.open .modal-inner>:nth-child(1),.toggle-menu.open .rsvp-form-inner>:nth-child(1){animation-delay:.08s}.toggle-menu.open .modal-inner>:nth-child(2),.toggle-menu.open .rsvp-form-inner>:nth-child(2){animation-delay:.14s}.toggle-menu.open .modal-inner>:nth-child(3),.toggle-menu.open .rsvp-form-inner>:nth-child(3){animation-delay:.2s}.toggle-menu.open .modal-inner>:nth-child(4),.toggle-menu.open .rsvp-form-inner>:nth-child(4){animation-delay:.26s}.toggle-menu.open .modal-inner>:nth-child(n+5),.toggle-menu.open .rsvp-form-inner>:nth-child(n+5){animation-delay:.32s}@keyframes sheetItemIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion: reduce){.footer .menu li .bx,.footer .menu li span,.footer .menu:after{transition:none}.footer .menu li.active .bx,.footer .menu li .bx.is-playing:after{animation:none}.toggle-menu,.toggle-menu.open{transition:opacity .2s ease,visibility 0s;transform:translate(-50%)}.toggle-menu.open .modal-inner>*,.toggle-menu.open .rsvp-form-inner>*{animation:none}}.modal-inner{display:flex;flex-direction:column;align-items:center;gap:10px}.modal-inner h1{font-family:Gaegu,cursive;font-size:20px;font-weight:400;color:var(--card-accent-light);text-transform:uppercase;letter-spacing:1px;text-align:center;text-indent:1px;margin-bottom:8px}.modal-inner h1:after{content:"✦";display:block;width:150px;margin:9px auto 0;text-indent:0;font-size:9px;line-height:1;color:#e3a0b8;background:linear-gradient(#c3ae8d,#c3ae8d) left center / 58px 1px no-repeat,linear-gradient(#c3ae8d,#c3ae8d) right center / 58px 1px no-repeat}.modal-buttons{display:flex;gap:10px;margin-top:10px}.modal-buttons.col{flex-direction:column;width:100%}.modal-buttons.row{flex-direction:row;justify-content:center}.modal-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 24px;border:none;border-radius:8px;background:var(--card-bg);cursor:pointer;font-size:14px;font-family:Gaegu,cursive;font-weight:600;transition:opacity .2s;min-width:140px}.modal-btn:hover{opacity:.85}.modal-btn .bx{font-size:18px}.google-icon{background:linear-gradient(to bottom left,transparent 49%,#fbbc05 50%) 0 25%/48% 40%,linear-gradient(to top left,transparent 49%,#fbbc05 50%) 0 75%/48% 40%,linear-gradient(-40deg,transparent 53%,#ea4335 54%),linear-gradient(45deg,transparent 46%,#4285f4 48%),#34a853;background-repeat:no-repeat;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.modal-inner.rsvp-form{width:100%;padding:0;align-items:stretch;max-height:70vh;overflow-y:auto}.rsvp-form-inner{display:flex;flex-direction:column;gap:14px;padding:20px 20px 8px}.rsvp-field{display:flex;flex-direction:column;gap:6px}.rsvp-field label{text-align:center;font-family:Gaegu,cursive;font-size:15px;font-weight:600;color:#7a4a5c;letter-spacing:.5px}.rsvp-hint{font-size:11px;font-weight:400;color:#999}.rsvp-field input,.rsvp-field textarea{width:100%;padding:10px 14px;border:1px solid #ddd;border-radius:8px;font-family:Gaegu,cursive;font-size:14px;color:#333;background:#fafafa;outline:none;transition:border .2s}.rsvp-field input:focus,.rsvp-field textarea:focus{border-color:#b24470}.rsvp-field input[type=number]{text-align:center}.rsvp-field textarea{resize:none}.rsvp-attend-row{display:flex;justify-content:center;gap:32px}.rsvp-radio-label{display:flex;flex-direction:row;align-items:center;gap:8px;font-family:Gaegu,cursive;font-size:15px;color:#b24470;cursor:pointer}.rsvp-radio-label input[type=radio]{width:17px;height:17px;accent-color:#C2477A;cursor:pointer}.rsvp-radio-label.selected{color:#c2477a;font-weight:700}.rsvp-submit{width:100%;padding:12px;border:none;border-radius:24px;background:#c2477a;color:#fff;font-family:Gaegu,cursive;font-size:15px;font-weight:700;letter-spacing:1px;cursor:pointer;margin-top:4px;transition:background .2s}.rsvp-submit:hover{background:#8a1750}.modal-inner.wishlist{gap:0;padding:2px 0 6px}.modal-inner.wishlist h1{margin-bottom:4px}.wishlist-note{max-width:270px;font-family:Gaegu,cursive;font-style:italic;font-size:13.5px;line-height:1.65;color:#a07a88;text-align:center;margin:0 0 14px}.wishlist-qr-frame{--tick: #c3ae8d;display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px 14px 10px;border-radius:3px;background:linear-gradient(var(--tick),var(--tick)) 0 0 / 15px 1px no-repeat,linear-gradient(var(--tick),var(--tick)) 0 0 / 1px 15px no-repeat,linear-gradient(var(--tick),var(--tick)) 100% 0 / 15px 1px no-repeat,linear-gradient(var(--tick),var(--tick)) 100% 0 / 1px 15px no-repeat,linear-gradient(var(--tick),var(--tick)) 0 100% / 15px 1px no-repeat,linear-gradient(var(--tick),var(--tick)) 0 100% / 1px 15px no-repeat,linear-gradient(var(--tick),var(--tick)) 100% 100% / 15px 1px no-repeat,linear-gradient(var(--tick),var(--tick)) 100% 100% / 1px 15px no-repeat,linear-gradient(168deg,#fffefb,#fbf5ea);box-shadow:0 4px 14px #35241f1a}.wishlist-qr{width:158px;height:158px;object-fit:contain;border:1px solid rgba(179,155,120,.4);border-radius:2px;background:#fff;margin:0}.wishlist-qr-cap{font-family:Gaegu,cursive;font-style:italic;font-size:12px;letter-spacing:.5px;color:#a07a88}.wishlist-acc{display:flex;flex-direction:column;align-items:center;gap:3px;margin:18px 0 2px;padding:0 22px;width:100%;max-width:290px}.wishlist-bank{font-family:Gaegu,cursive;font-size:12px;letter-spacing:2px;text-transform:uppercase;color:#a07a88}.wishlist-accnum{font-family:Gaegu,cursive;font-size:23px;font-weight:600;letter-spacing:2px;color:#5e2c3f;font-variant-numeric:tabular-nums;line-height:1.25}.wishlist-name{font-family:Gaegu,cursive;font-size:20px;color:#8b632c;line-height:1.3}.wishlist-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:16px}.wishlist-btn{display:inline-flex;align-items:center;gap:6px;padding:9px 16px;border:1px solid #B24470;border-radius:2px;background:#fff9;color:#b24470;font-family:Gaegu,cursive;font-size:14px;letter-spacing:.3px;cursor:pointer;transition:background .25s,color .25s,border-color .25s}.wishlist-btn:hover,.wishlist-btn.primary{background:#b24470;color:#fff}.wishlist-btn.primary:hover{background:#0e4033;border-color:#0e4033}.wishlist-btn.primary.is-copied{background:#c2477a;border-color:#c2477a}.wishlist-btn .bx{font-size:16px;font-style:normal}.modal-inner.calendar p{display:flex;gap:10px;margin-bottom:4px}.modal-inner.calendar p span{font-family:Gaegu,cursive;font-size:15px;color:#000}.modal-inner.location p{font-family:Gaegu,cursive;font-size:15px;color:#000;font-weight:300;line-height:1.5;text-align:center;text-wrap:balance;max-width:320px;margin:0 auto}.modal-inner.music p{font-family:Gaegu,cursive;font-size:15px;color:#000;text-align:center}.music-credit{font-size:13px!important;opacity:.7}.music-visualizer{display:flex;align-items:flex-end;justify-content:center;gap:7px;height:40px;margin:12px 0;width:100%}.vis-bar{display:block;width:8px;border-radius:3px;background:var(--card-accent-soft);opacity:.2;height:6px}.music-visualizer.playing .vis-bar{opacity:.65;animation:visBar 1s ease-in-out infinite alternate}.music-visualizer.playing .vis-bar:nth-child(1){animation-duration:.7s;animation-delay:0s}.music-visualizer.playing .vis-bar:nth-child(2){animation-duration:.9s;animation-delay:.1s}.music-visualizer.playing .vis-bar:nth-child(3){animation-duration:.6s;animation-delay:.2s}.music-visualizer.playing .vis-bar:nth-child(4){animation-duration:1.1s;animation-delay:.05s}.music-visualizer.playing .vis-bar:nth-child(5){animation-duration:.8s;animation-delay:.3s}.music-visualizer.playing .vis-bar:nth-child(6){animation-duration:1s;animation-delay:.15s}.music-visualizer.playing .vis-bar:nth-child(7){animation-duration:.65s;animation-delay:.25s}.music-visualizer.playing .vis-bar:nth-child(8){animation-duration:.85s;animation-delay:.08s}.music-visualizer.playing .vis-bar:nth-child(9){animation-duration:.75s;animation-delay:.18s}@keyframes visBar{0%{height:4px}to{height:34px}}.music-controls{margin-top:12px}.play-btn{display:flex;align-items:center;gap:8px;padding:10px 28px;background:var(--card-bg);border:none;border-radius:100px;cursor:pointer;font-size:15px;font-family:Gaegu,cursive;font-weight:600;transition:opacity .2s}.play-btn .bx{font-size:20px;color:var(--card-accent)}.play-btn:hover{opacity:.85}.contact-list{width:100%;display:flex;flex-direction:column;gap:14px;margin-top:4px}.contact-person{display:flex;align-items:center;justify-content:space-between;width:100%;padding-bottom:12px;border-bottom:1px solid rgba(179,155,120,.35)}.contact-person:last-child{padding-bottom:0;border-bottom:none}.contact-left{display:flex;align-items:center;gap:8px}.contact-info{display:flex;flex-direction:column}.contact-name{font-family:Gaegu,cursive;font-size:16px;color:#000}.contact-relation{font-family:Gaegu,cursive;font-style:italic;font-size:12.5px;letter-spacing:.4px;color:#a07a88;margin-top:1px}.contact-right{display:flex;gap:10px}.contact-right button{background:transparent;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center}.contact-right .bx{font-size:28px;color:#000;transition:opacity .2s}.contact-right button:hover .bx{opacity:.7}.modal-inner.success{flex-direction:row;gap:16px;padding:8px 0;align-items:center;justify-content:flex-start;width:100%}.modal-inner.success .bx{font-size:56px;color:#adff2f}.modal-inner.success p{font-family:Gaegu,cursive;font-size:16px;color:#111;font-weight:300;line-height:1.6}.loading-screen{width:100%;min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--card-bg)}.loading-block{display:flex;flex-direction:column;align-items:center;gap:14px}.loading-heart{font-size:22px;color:var(--card-accent-soft);animation:loadingHeartPulse 1.3s ease-in-out infinite}.loading-script{font-family:Gaegu,cursive;font-size:34px;color:var(--card-accent-light);margin:0}.loading-bar-track{width:180px;height:6px;border-radius:100px;background:var(--card-info-bg);border:1px solid var(--card-accent);overflow:hidden}.loading-bar-fill{height:100%;border-radius:100px;background:var(--card-accent-light);transition:width .2s ease-out}.loading-percent{font-family:Gaegu,cursive;font-size:13px;letter-spacing:1px;color:var(--card-accent-info);margin:0}@keyframes loadingHeartPulse{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}@media (prefers-reduced-motion: reduce){.loading-heart{animation:none}.loading-bar-fill{transition:none}.splash-tap{animation:none;opacity:.9}}@media (max-width: 600px){.card,.footer,.toggle-menu{max-width:100%}}.made-by{display:flex;flex-direction:column;align-items:center;gap:2px;padding:12px 0 22px}.made-by__label{font-family:Gaegu,cursive;font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:#3f7266}.made-by__logo{width:92px;height:auto;opacity:.92;-webkit-user-select:none;user-select:none}.event-intro{white-space:pre-line}.event-part .bismillah{font-family:Amiri,serif;font-size:min(7cqw,28px);line-height:1.6;font-style:normal;letter-spacing:0;white-space:nowrap;color:#5e2c3f;margin:0 0 24px;direction:rtl}.event-part .event-greeting{opacity:.85}.parent-names .parent-amp{font-family:Gaegu,cursive;font-size:24px;font-style:normal;font-weight:400;line-height:1.1;color:#c2477a}.event-part .event-intro{line-height:1.7;max-width:30em;text-wrap:balance}.event-info>.event-part.one:first-of-type{margin-bottom:22px}.event-part .event-connector{font-size:17px;opacity:.8;letter-spacing:.6px}.sparkles{position:fixed;top:0;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:420px;z-index:800;pointer-events:none;overflow:hidden}.sparkle{position:absolute;top:0;left:var(--sp-x);width:var(--sp-size);aspect-ratio:1;opacity:0;animation:spFall var(--sp-dur) linear var(--sp-delay) infinite;will-change:top,transform,opacity}.sp-twinkle{display:block;width:100%;height:100%;animation:spTwinkle var(--sp-tw) ease-in-out infinite}.sparkle svg{display:block;overflow:visible}.sparkle path{fill:#f2b24c;filter:drop-shadow(0 0 3px rgba(255,214,140,.9))}@keyframes spFall{0%{top:-6%;transform:translate(0);opacity:0}8%{opacity:1}30%{transform:translate(14px)}55%{transform:translate(-12px)}80%{transform:translate(10px)}92%{opacity:1}to{top:106%;transform:translate(0);opacity:0}}@keyframes spTwinkle{0%,to{transform:scale(.55) rotate(0);opacity:.55}50%{transform:scale(1.1) rotate(90deg);opacity:1}}.sparkle.s1{--sp-x: 8%;--sp-size: 16px;--sp-dur: 16s;--sp-delay: -2s;--sp-tw: 2.2s}.sparkle.s2{--sp-x: 86%;--sp-size: 12px;--sp-dur: 19s;--sp-delay: -11s;--sp-tw: 1.8s}.sparkle.s3{--sp-x: 52%;--sp-size: 10px;--sp-dur: 21s;--sp-delay: -6s;--sp-tw: 2.6s}.sparkle.s4{--sp-x: 20%;--sp-size: 13px;--sp-dur: 18s;--sp-delay: -14s;--sp-tw: 2s}.sparkle.s5{--sp-x: 74%;--sp-size: 17px;--sp-dur: 23s;--sp-delay: -9s;--sp-tw: 2.8s}.sparkle.s6{--sp-x: 38%;--sp-size: 11px;--sp-dur: 17s;--sp-delay: 1s;--sp-tw: 1.9s}.sparkle.s7{--sp-x: 92%;--sp-size: 12px;--sp-dur: 20s;--sp-delay: 4s;--sp-tw: 2.4s}.sparkle.s8{--sp-x: 4%;--sp-size: 15px;--sp-dur: 22s;--sp-delay: 7s;--sp-tw: 2.1s}.sparkle.s9{--sp-x: 62%;--sp-size: 10px;--sp-dur: 15s;--sp-delay: 9s;--sp-tw: 1.7s}.sparkle.s10{--sp-x: 28%;--sp-size: 14px;--sp-dur: 24s;--sp-delay: 12s;--sp-tw: 2.5s}.sparkle.s11{--sp-x: 82%;--sp-size: 16px;--sp-dur: 19s;--sp-delay: 14s;--sp-tw: 2.3s}.sparkle.s12{--sp-x: 46%;--sp-size: 11px;--sp-dur: 18s;--sp-delay: -16s;--sp-tw: 2s}@media (prefers-reduced-motion: reduce){.sparkles{display:none}}.scroll-hint{position:fixed;z-index:950;right:max(10px,calc(50% - 200px));bottom:calc(90px + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;align-items:center;gap:8px;padding:0;border:0;background:none;color:var(--hint-ink, #A07A88);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:opacity .3s ease,visibility 0s}.scroll-hint.is-up{flex-direction:column-reverse}.scroll-hint.is-hidden{opacity:0;visibility:hidden;transition:opacity .2s ease,visibility 0s linear .2s}.scroll-hint-line{position:relative;width:1px;height:34px;overflow:hidden;background:color-mix(in srgb,var(--hint-ink, #A07A88) 28%,transparent)}.scroll-hint-line i{position:absolute;left:-1.5px;top:0;width:4px;height:4px;border-radius:50%;background:var(--hint-ink, #A07A88);animation:hintDotDown 1.8s cubic-bezier(.45,0,.55,1) infinite}.scroll-hint.is-up .scroll-hint-line i{animation-name:hintDotUp}.scroll-hint-btn{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;border:1px solid color-mix(in srgb,var(--hint-ink, #A07A88) 35%,transparent);background:#ffffffc7;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 4px 12px #0000001a;transition:background .25s ease,color .25s ease,transform .25s ease}.scroll-hint-btn .bx{font-size:20px;line-height:1}@media (hover: hover){.scroll-hint:hover .scroll-hint-btn{background:var(--hint-ink, #A07A88);color:#fff;transform:translateY(2px)}.scroll-hint.is-up:hover .scroll-hint-btn{transform:translateY(-2px)}}.scroll-hint:active .scroll-hint-btn{transform:scale(.92)}.scroll-hint:focus-visible{outline:none}.scroll-hint:focus-visible .scroll-hint-btn{outline:2px solid var(--hint-ink, #A07A88);outline-offset:2px}@keyframes hintDotDown{0%{transform:translateY(-6px);opacity:0}20%{opacity:1}80%{opacity:1}to{transform:translateY(36px);opacity:0}}@keyframes hintDotUp{0%{transform:translateY(36px);opacity:0}20%{opacity:1}80%{opacity:1}to{transform:translateY(-6px);opacity:0}}@media (prefers-reduced-motion: reduce){.scroll-hint-line i{animation:none;top:50%;opacity:1}}.intro-couples.two{display:flex;flex-direction:column;align-items:center;zoom:var(--two-scale, .72);width:100%}.intro-pair{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:center;column-gap:.4em}.intro-pair h2{margin:0!important}.intro-pair-amp,.intro-pair h3{margin:0 .1em!important}.intro-serta,.splash-serta{display:flex;align-items:center;justify-content:center;gap:.7em;font-family:Gaegu,cursive;font-style:italic;line-height:1;opacity:.85}.intro-serta{font-size:30px;margin:.45em 0}.intro-serta:before,.intro-serta:after,.splash-serta:before,.splash-serta:after{content:"";width:3.2em;height:1px;background:currentColor;opacity:.55}.splash-names.two{zoom:var(--two-scale-splash, .95)}.splash-names.two .splash-pair{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:center;column-gap:.3em}.splash-serta{font-size:.42em;margin:.35em 0}.splash-names.two .splash-serta{font-size:clamp(13px,4.2cqw,18px)}.splash-names.two{--two-scale-splash: .85}.splash-names.two .splash-pair{column-gap:.45em}.splash-pair .splash-name,.intro-pair h2{overflow-wrap:normal;white-space:nowrap}.event-connector.event-serta{display:flex;align-items:center;justify-content:center;gap:.7em}.event-connector.event-serta:before,.event-connector.event-serta:after{content:"";width:3.2em;height:1px;background:currentColor;opacity:.55}.intro-couples.two .intro-pair,.splash-names.two .splash-pair{display:grid;grid-template-columns:auto auto;justify-content:center;align-items:baseline;column-gap:.12em;row-gap:0}.intro-couples.two .intro-pair>:first-child,.splash-names.two .splash-pair>:first-child{grid-column:1 / 3;grid-row:1;justify-self:start;margin:0 0 0 -.9em!important}.intro-couples.two .intro-pair>:nth-child(2),.splash-names.two .splash-pair>:nth-child(2){grid-column:1;grid-row:2;justify-self:end;margin:0!important}.intro-couples.two .intro-pair>:nth-child(3),.splash-names.two .splash-pair>:nth-child(3){grid-column:2;grid-row:2;margin:-.3em 0 0!important}.splash-names.two .splash-pair{display:grid}.intro-couples.two .intro-pair,.splash-names.two .splash-pair{grid-template-columns:1fr auto auto 1fr;width:100%;--stagger: .55em}.intro-couples.two .intro-pair>:first-child,.splash-names.two .splash-pair>:first-child{grid-column:1 / 5;justify-self:center;margin:0!important;transform:translate(calc(var(--stagger) * -1))}.intro-couples.two .intro-pair>:nth-child(2),.splash-names.two .splash-pair>:nth-child(2){grid-column:2;transform:translate(var(--stagger))}.intro-couples.two .intro-pair>:nth-child(3),.splash-names.two .splash-pair>:nth-child(3){grid-column:3;transform:translate(var(--stagger))}.intro-serta,.splash-serta{color:#14594a;opacity:1}.hide-rsvp .rsvp-tray,.hide-rsvp .ucapan-khas-btn,.hide-music .music-disc,.menu-empty .footer{display:none!important}.app-root,.wrapper,.toggle-menu{font-synthesis:none}.splash-name,.intro-content h2,.event-part.two p,.lace-label,.rsvp-tray-title,.ucapan-khas-title,.ucapan-khas-name,.mini-cal-script,.splash-amp,.intro-content h3,.parent-names p{font-weight:700;letter-spacing:.3px}.event-part.two p{letter-spacing:.5px}.splash-kicker,.walimatul,.intro-day,.countdown-title,.mini-cal-title,.made-by__label{letter-spacing:.12em}.splash-name,.intro-content h2,.event-part.two p{font-family:Satisfy,cursive;font-weight:400;letter-spacing:0}.name-font-pinyon .event-part.two p{font-family:Pinyon Script,cursive;font-weight:400;font-size-adjust:none}.name-font-montecarlo .event-part.two p{font-family:MonteCarlo,cursive;font-weight:400;font-size-adjust:none;-webkit-text-stroke:0}.name-font-tangerine .event-part.two p{font-family:Tangerine,cursive;font-weight:700;font-size-adjust:.31;-webkit-text-stroke:0}.name-font-satisfy .event-part.two p{font-family:Satisfy,cursive;font-weight:400;font-size-adjust:none;letter-spacing:0;-webkit-text-stroke:0}.name-scaled .event-part.two p{zoom:var(--name-scale, 1)}.name-weight-bold .event-part.two p{-webkit-text-stroke:.55px currentColor}
