*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;font-family:Arial,sans-serif}body{background:#f0f1f5;color:#161515;display:grid;place-items:center}button,input,textarea,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #e65072;outline-offset:3px}button{border:0}button:disabled{cursor:wait;opacity:.65}[hidden]{display:none!important}#invitation{position:relative;width:min(500px,100vw);height:calc(100dvh - 48px);background:#fff;box-shadow:0 2px 9px #0002;border-radius:5px;overflow:hidden}#scroller{width:100%;height:100%;overflow:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:#b7b7b7 transparent;outline:none}#canvas-space{position:relative;width:100%}#design{position:absolute;top:0;left:0;width:500px;height:6324px;transform-origin:top left;background:#fff;overflow:hidden}.node{position:absolute}.node-content{width:100%;height:100%;box-sizing:border-box}.text-node{height:auto}.text-node .node-content{height:auto;overflow-wrap:break-word}.text-node p{margin:0}.photo{background-position:50% 50%;background-size:cover;background-repeat:no-repeat;width:100%;height:100%}.node.enter .node-content{animation:reveal var(--duration,1.5s) ease-out both}.node[data-motion=slide-right]{--tx:-35px}.node[data-motion=slide-left]{--tx:35px}.node[data-motion=slide-up]{--ty:35px}.node[data-motion=slide-down]{--ty:-35px}.node[data-motion=scale-in]{--zs:.82}@keyframes reveal{from{opacity:0;transform:translate(var(--tx,0px),var(--ty,0px)) scale(var(--zs,1))}to{opacity:1;transform:none}}.calendar{display:grid;grid-template-columns:repeat(7,1fr);grid-template-rows:repeat(5,1fr);width:100%;height:100%}.calendar span{position:relative;display:grid;place-items:center}.calendar img{position:absolute;width:48px;height:48px;object-fit:contain}.calendar b{position:relative;font-weight:normal}.map-wrap{position:relative;height:100%}.map-wrap iframe{width:100%;height:100%;border:0}.map-open{position:absolute;bottom:10px;right:10px;background:#fff;color:#333;border-radius:20px;padding:8px 16px;text-decoration:none;box-shadow:0 1px 6px #0003}.rsvp-form{font:14px Arial;display:flex;flex-direction:column;gap:12px}.rsvp-form h3{font-size:20px;margin:0 0 4px;text-align:center}.rsvp-form label:has(input[type=radio]){display:flex;align-items:center;gap:8px}.rsvp-form input[type=text],.rsvp-form select{border:1px solid #ddd;border-radius:4px;padding:10px;width:100%;background:white;color:#333}.rsvp-form fieldset{border:0;padding:0;margin:0;display:grid;gap:10px}.rsvp-form legend{margin-bottom:10px}.rsvp-form input[type=radio]{accent-color:#ff5f7b}.rsvp-form .primary{border-radius:5px}.countdown{display:flex;gap:14px;height:100%}.countdown div{flex:1;background:white;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;border-radius:10px;box-shadow:0 0 10px #0008}.countdown strong{font-weight:normal}#music{position:absolute;top:12px;right:12px;width:32px;height:32px;padding:0;border-radius:50%;background:#080808;z-index:20;border:1px solid #fff}#music img{width:100%;height:100%;border-radius:50%}#music[aria-pressed=true] img{animation:spin 7s linear infinite}#music .mute-mark{position:absolute;left:3px;top:14px;width:25px;height:2px;background:#fff;transform:rotate(48deg)}#music[aria-pressed=true] .mute-mark{display:none}@keyframes spin{to{transform:rotate(360deg)}}#toolbar{position:absolute;bottom:max(14px,env(safe-area-inset-bottom));left:10px;right:10px;z-index:35;display:flex;align-items:center;justify-content:space-between;gap:8px;color:white}.bar-left,.bar-right{display:flex;align-items:center;gap:8px}.bar-left{min-width:0}.bar-right{flex-shrink:0}.pill,.icon-button{background:#0005;color:white;display:flex;align-items:center;justify-content:center;border-radius:30px;height:38px;padding:0 12px;gap:6px;white-space:nowrap;font-size:14px}.pill img{width:30px;height:30px;object-fit:contain}.pill svg{width:19px;height:19px;flex-shrink:0}.pill em{font-weight:bold;overflow:hidden;text-overflow:ellipsis}#heart-open{padding:0 10px 0 4px}.icon-button{position:relative;width:38px;padding:0;flex-shrink:0}.icon-button img{width:100%;height:100%;object-fit:contain}#rsvp-shortcut{background:none;width:40px;height:40px}#like-count{position:absolute;top:-7px;right:-3px;border-radius:20px;background:#ff5f7b;color:white;font-size:12px;min-width:18px;padding:2px}#toggle-toolbar{position:absolute;right:8px;bottom:85px;background:#ff5f7b;color:#fff;width:36px;height:65px;border-radius:22px;z-index:36;box-shadow:0 3px 8px #0002;padding:0}#toggle-toolbar img{width:36px;height:36px;object-fit:cover;border:1px solid white;border-radius:50%;display:block}#toggle-toolbar span{font-size:27px;line-height:27px;font-weight:300}#wishes{position:absolute;bottom:70px;left:16px;max-width:76%;height:170px;overflow:hidden;z-index:30;pointer-events:none;display:flex;flex-direction:column;justify-content:flex-end;gap:6px;mask-image:linear-gradient(transparent,#000 12%,#000 87%,transparent)}.wish-bubble{flex-shrink:0;max-width:100%;width:fit-content;color:#fff;background:#d5797b77;backdrop-filter:blur(2px);border-radius:18px;font-size:12px;line-height:1.35;padding:6px 11px;animation:wishIn .6s ease-out}.wish-bubble:first-child{opacity:.5}@keyframes wishIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}#hearts{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:80}.flying-heart{position:absolute;bottom:45px;right:10px;color:#ff4d79;font-size:28px;animation:fly 2.2s ease-out forwards;filter:drop-shadow(0 1px 2px #fff)}@keyframes fly{to{transform:translate(var(--drift),-420px) rotate(var(--rotation));opacity:0}}#scrim{position:fixed;inset:0;background:#0006;z-index:40}.sheet{position:fixed;inset:auto 0 24px;margin:0 auto;padding:0;width:min(500px,100vw);max-width:100vw;border:0;border-radius:9px 9px 4px 4px;background:white;color:#667080;box-shadow:0 3px 10px #0002;z-index:70;overflow:hidden}.sheet::backdrop{background:#0006}.sheet header{height:53px;position:relative;text-align:center;padding-top:10px}.sheet h2{font-size:20px;margin:0;font-weight:600;color:#ff506c}.sheet h2:after{content:'';display:block;margin:4px auto;width:18px;height:7px;border-bottom:3px solid #ff8094;border-radius:50%}.close{position:absolute;right:10px;top:6px;background:transparent;color:#b8b8b8;font-size:25px;padding:3px 7px}.close:hover{color:#ee4d70}#gift-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding:0 15px 6px;max-height:245px;overflow:auto;scrollbar-width:thin}.gift-item{border:1px solid transparent;border-radius:11px;background:white;display:flex;flex-direction:column;align-items:center;gap:4px;padding:5px 4px;color:#667080;min-width:0;height:110px;font-size:12px}.gift-item[aria-pressed=true]{background:#fff3f5;border-color:#ff4667}.gift-item:hover{background:#fff4f7}.gift-item img{width:64px;height:64px;object-fit:contain}.gift-item .gift-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.gift-price{color:#9097a3;font-size:10px;display:flex;align-items:center;gap:2px}.gift-price b{color:#ff243f;font-size:17px;line-height:11px}footer{padding:5px 16px 10px;background:#fff;box-shadow:0 -5px 10px #00000005}footer p{font-size:10px;text-align:center;color:#99a0ac;margin:5px 0 12px}#gift-form{display:flex;align-items:center;justify-content:center;gap:10px}#gift-name{width:196px;padding:10px 14px;text-align:center;border:1px solid #ff4f72;border-radius:28px;background:#f8f8f8;font-size:14px;color:#555}input::placeholder,textarea::placeholder{color:#9aa3b2}.primary{color:#fff;background:#f24f70;border:0;border-radius:25px;padding:11px 21px;font-weight:600;font-size:14px}.primary:hover{background:#df3d61}#effect-stage{position:absolute;inset:0;z-index:60;pointer-events:none;display:grid;place-items:center}#gift-canvas{position:absolute;top:50%;left:0;width:100%;height:auto;transform:translateY(-50%)}#gift-banner{position:absolute;left:15px;bottom:395px;z-index:65;display:flex;align-items:center;height:48px;min-width:192px;max-width:85%;border:2px solid #ffd8e0;border-radius:30px;background:linear-gradient(100deg,#ff8ea3,#fc88bd);color:white;padding:4px 42px 4px 4px;animation:bannerIn .5s ease-out;box-shadow:inset 0 0 8px #fff8}.banner-avatar{width:38px;height:38px;border:2px solid #fff;border-radius:50%;display:grid;place-items:center;font-size:24px;background:#ff7894;margin-right:7px}#gift-banner strong{display:block;font-size:14px;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#gift-banner small{font-size:11px;display:block;margin-top:3px;font-weight:bold}#banner-image{position:absolute;width:67px;height:67px;object-fit:contain;right:-9px;top:-12px}@keyframes bannerIn{from{opacity:0;transform:translateX(-100px)}to{opacity:1;transform:none}}.form-content{display:flex;flex-direction:column;gap:12px;padding:12px 24px 22px;font-size:14px}.form-content input,.form-content textarea{border:1px solid #ddd;border-radius:8px;padding:12px;width:100%;color:#333;resize:vertical}.suggestions{display:flex;gap:6px;flex-wrap:wrap}.suggestions button{border-radius:20px;padding:7px 10px;background:#fff0f4;color:#b74461;font-size:12px}.demo-note{font-size:12px;color:#9398a1;line-height:1.5;text-align:center}#toast{position:absolute;bottom:65px;left:50%;transform:translateX(-50%);width:max-content;max-width:90%;background:#333e;color:#fff;font-size:14px;line-height:1.5;text-align:center;padding:12px 18px;border-radius:12px;z-index:90}.toolbar-hidden #toolbar,.toolbar-hidden #wishes{display:none}@media(max-width:520px){#invitation{height:100dvh;border-radius:0;box-shadow:none}.sheet{bottom:0;padding-bottom:env(safe-area-inset-bottom)}#gift-banner{bottom:375px}}@media(max-width:390px){.bar-left,.bar-right{gap:5px}#toolbar{gap:5px;left:7px;right:7px}.pill{font-size:12px;padding:0 9px}.icon-button{width:34px;height:34px}#heart-open{gap:2px}#rsvp-shortcut{width:34px}.gift-item{height:103px}.gift-item img{width:58px;height:58px}#wish-open{max-width:138px}#wishes{max-width:77%}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;scroll-behavior:auto!important}}

.editor-embed{display:block;background:white}.editor-embed #invitation{height:100%;width:500px;border-radius:0;box-shadow:none}.editor-embed #scroller{overflow:hidden}.editor-embed #music,.editor-embed #toolbar,.editor-embed #wishes,.editor-embed #toggle-toolbar{display:none}.editor-embed .node-content{animation:none!important}.editor-embed .node{touch-action:none;cursor:move;user-select:none}.editor-embed .node>*{pointer-events:none}.editor-embed .node.selected{outline:2px solid #f3507b;outline-offset:2px}.editor-embed .node .resize-handle{position:absolute;right:-6px;bottom:-6px;width:12px;height:12px;border:2px solid #ef4d72;background:white;pointer-events:auto;cursor:nwse-resize;z-index:100}.editor-embed #design.grid-on:after{content:"";position:absolute;inset:0;background-image:linear-gradient(#4799ee35 1px,transparent 1px),linear-gradient(90deg,#4799ee35 1px,transparent 1px);background-size:25px 25px;pointer-events:none;z-index:200}

#preview-actions{position:fixed;right:calc(50% + 274px);top:24px;display:grid;gap:6px}#preview-actions a{display:block;text-decoration:none;border-radius:24px;background:#ed4869;color:white;padding:10px 16px;font-size:14px;white-space:nowrap}#preview-actions a+a{background:#999;font-size:12px}.editor-embed #preview-actions{display:none}@media(max-width:880px){#preview-actions{right:auto;left:10px;top:10px;z-index:25;opacity:.85}#preview-actions a{font-size:11px;padding:7px 10px}#preview-actions a+a{display:none}}@media(max-width:520px){#preview-actions{top:53px;left:auto;right:8px}#preview-actions a{font-size:10px;padding:6px 8px}}

#invitation.rsvp-view #wishes{display:none}

@media(max-width:520px){#preview-actions{top:8px;left:50%;right:auto;transform:translateX(-50%)}}

/* Shared smooth wish feed: movement is animated with compositor transforms. */
#wishes{height:190px;gap:6px;max-width:76%;mask-image:linear-gradient(transparent,#000 15%,#000 94%,transparent)}
#wishes .wish-bubble{animation:none;border-radius:10px;padding:5px 10px;line-height:1.35;overflow-wrap:anywhere;backdrop-filter:none;background:rgba(188,94,101,.65)}
#wishes .wish-bubble:first-child{opacity:1}
@media(prefers-reduced-motion:reduce){#wishes .wish-bubble{animation:none!important}}

#wishes{display:block;contain:layout paint;mask-image:linear-gradient(transparent,#000 18%,#000 88%,transparent)}.wish-track{display:flex;flex-direction:column;align-items:flex-start;gap:6px;will-change:transform}#wishes .wish-bubble{flex:none;opacity:1;max-width:100%;background:rgba(213,105,119,.56);border-radius:16px;color:#fff;font-weight:500;line-height:1.4;animation:none;backdrop-filter:none}.wish-bubble strong{font-weight:700}

/* Clear interaction controls with restrained gift attention animation. */
#toolbar .pill,#toolbar .icon-button{background:rgba(24,18,18,.72);border:1px solid #ffffff1c;box-shadow:0 2px 7px #0002;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:#fff;min-height:40px;transition:background .16s,box-shadow .16s;touch-action:manipulation}
#toolbar .pill{font:500 12px/1.2 Inter,Arial,sans-serif;letter-spacing:0}
#toolbar .pill em{font-style:normal;font-weight:500}#toolbar .icon-button{width:40px;height:40px}
#toolbar button:hover{background:rgba(24,18,18,.85)}#toolbar button:focus-visible{outline:2px solid white;outline-offset:3px}
#toolbar button:active{box-shadow:0 0 0 3px #ff759960;background:#70334c}
#gift-open img{animation:lovia-gift-hop 3.6s ease-in-out infinite;transform-origin:50% 85%;will-change:transform}
@keyframes lovia-gift-hop{0%,62%,100%{transform:translateY(0) rotate(0)}68%{transform:translateY(-7px) rotate(-9deg)}74%{transform:translateY(0) rotate(7deg)}80%{transform:translateY(-4px) rotate(-5deg)}86%{transform:translateY(0) rotate(0)}}
#toolbar button.tap-pop{animation:lovia-tap-pop .32s ease-out}
@keyframes lovia-tap-pop{0%{transform:scale(1)}40%{transform:scale(.9)}75%{transform:scale(1.08)}100%{transform:scale(1)}}
#like-count{background:#ff9a28!important;color:white!important;font:600 10px/16px Inter,Arial,sans-serif;min-width:16px;text-align:center;border-radius:6px}
@media(prefers-reduced-motion:reduce){#gift-open img,#toolbar button.tap-pop{animation:none!important}}

.node[data-node^="eq-"] .rsvp-form{font-size:15px;padding:0;gap:5px}.node[data-node^="eq-"] .rsvp-form h3{margin:0 0 7px}.node[data-node^="eq-"] .rsvp-form fieldset{margin:4px 0}

.editor-embed{background:transparent!important}.editor-embed #invitation{width:1500px!important;background:transparent;overflow:visible}.editor-embed #scroller,.editor-embed #canvas-space{overflow:visible}.editor-embed #design{overflow:visible;box-shadow:0 2px 12px #0002}

.editor-embed .source-page{overflow:visible!important}

html:has(body.editor-embed),body.editor-embed{overflow:hidden!important;scrollbar-width:none}.editor-embed::-webkit-scrollbar{display:none}
