.tpl-root{--ib-bg:color-mix(in srgb,var(--tx-card,#fff) 82%,transparent);--ib-fg:var(--tx-ink,#2B2226);--ib-line:var(--tx-line,#E6DCCD);--ib-accent:var(--tx-accent,#8E3B46);--ib-on-accent:var(--tx-on-accent,#fff);--ib-heart:#E0526A;--ib-bubble:#F7D6DC;--ib-bubble-fg:#6E2A34}.ib{position:sticky;bottom:0;height:0;z-index:45;pointer-events:none}.ib-in{position:absolute;left:0;right:0;bottom:0;padding:0 10px calc(10px + env(safe-area-inset-bottom, 0px));opacity:0;transform:translateY(24px);transition:opacity .5s,transform .6s cubic-bezier(.2,.7,.2,1)}.ib.is-on .ib-in{opacity:1;transform:none}.ib.is-on .ib-bar{pointer-events:auto}.ib-bar{position:relative;display:flex;align-items:center;gap:6px;padding:6px;border-radius:999px;background:var(--ib-bg);border:1px solid var(--ib-line);backdrop-filter:blur(14px) saturate(1.2);-webkit-backdrop-filter:blur(14px) saturate(1.2);box-shadow:0 14px 30px -16px rgba(40,25,15,.45);color:var(--ib-fg)}.ib-bar button{font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}.ib-bar button:focus-visible,.ib-bar input:focus-visible{outline:2px solid var(--ib-accent);outline-offset:2px}.ib-rsvp{flex:none;height:40px;padding:0 14px;border:0;border-radius:999px;background:var(--ib-accent);color:var(--ib-on-accent);font-size:12px!important;font-weight:600;letter-spacing:1.5px;transition:transform .2s,filter .2s}.ib-rsvp:hover{filter:brightness(1.08)}.ib-rsvp:active{transform:scale(.95)}.ib-wish{flex:1;min-width:0;display:flex;align-items:center;height:40px;padding:0 4px 0 14px;border-radius:999px;background:color-mix(in srgb,var(--tx-card,#fff) 92%,transparent);border:1px solid var(--ib-line)}.ib-wish input{flex:1;min-width:0;border:0;background:transparent;font:inherit;font-size:14px;color:var(--ib-fg);outline:none}.ib-wish input::placeholder{color:var(--tx-soft,#8C7B6D)}.ib-wish button{flex:none;width:32px;height:32px;border:0;border-radius:50%;display:flex;align-items:center;justify-content:center;background:transparent;color:var(--ib-accent);transition:opacity .2s,transform .2s}.ib-wish button:disabled{opacity:.35;cursor:default}.ib-wish button:not(:disabled):active{transform:scale(.9)}.ib-gift,.ib-heart{flex:none;position:relative;height:40px;border:0;border-radius:999px;display:flex;align-items:center;justify-content:center;gap:4px;background:transparent;color:var(--ib-fg);transition:transform .2s}.ib-heart{min-width:40px;padding:0 8px;color:var(--ib-heart)}.ib-heart b{font-size:12px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--ib-fg)}.ib-heart:active svg{transform:scale(1.35)}.ib-heart svg{transition:transform .18s cubic-bezier(.3,1.6,.5,1)}.ib-gift{width:40px;background:color-mix(in srgb,var(--ib-accent) 12%,transparent);color:var(--ib-accent);animation:ib-wiggle 4s ease-in-out 2s infinite}.ib-gift:active{transform:scale(.92)}.ib-sr{width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.ib-name,.ib-sr{position:absolute}.ib-name{left:6px;right:6px;bottom:calc(100% + 8px);display:flex;align-items:center;gap:8px;padding:8px 8px 8px 14px;border-radius:18px;background:var(--tx-card,#fff);border:1px solid var(--ib-line);box-shadow:0 12px 26px -14px rgba(40,25,15,.45);animation:ib-pop .3s cubic-bezier(.2,.7,.2,1) both}.ib-name span{flex:none;font-size:12px;color:var(--tx-soft,#8C7B6D)}.ib-name input{flex:1;min-width:0;height:34px;border:1px solid var(--ib-line);border-radius:10px;padding:0 10px;font:inherit;font-size:14px;background:transparent;color:var(--ib-fg)}.ib-name-ok{flex:none;height:34px;padding:0 14px;border:0;border-radius:10px;background:var(--ib-accent);color:var(--ib-on-accent);font-size:13px!important;font-weight:600}.ib-bubbles{left:14px;right:70px;bottom:64px;height:190px;margin:0;padding:0;list-style:none;pointer-events:none;mask-image:linear-gradient(0deg,#000 70%,transparent);-webkit-mask-image:linear-gradient(0deg,#000 70%,transparent)}.ib-bub,.ib-bubbles{position:absolute;overflow:hidden}.ib-bub{bottom:0;left:0;max-width:100%;padding:7px 14px;border-radius:999px;background:color-mix(in srgb,var(--ib-bubble) 90%,transparent);color:var(--ib-bubble-fg);font-size:12.5px;line-height:1.35;white-space:nowrap;text-overflow:ellipsis;box-shadow:0 6px 14px -8px rgba(110,42,52,.45);animation:ib-rise 7.6s cubic-bezier(.25,.6,.3,1) forwards}.ib-bub b{font-weight:600;margin-right:2px}.ib-bub b:after{content:":"}.ib-l1{left:22px}.ib-l2{left:8px}@keyframes ib-rise{0%{opacity:0;transform:translateY(18px) scale(.9)}8%{opacity:1;transform:translateY(0) scale(1)}75%{opacity:1}to{opacity:0;transform:translateY(-150px)}}.ib-burst{position:absolute;right:64px;bottom:34px;width:0;height:0;pointer-events:none}.ib-burst i{position:absolute;left:-8px;bottom:0;font-style:normal;font-size:18px;color:var(--ib-heart);text-shadow:0 2px 6px rgba(224,82,106,.35);animation:ib-fly var(--d) cubic-bezier(.2,.6,.35,1) forwards}@keyframes ib-fly{0%{opacity:0;transform:translate(0) scale(.3)}15%{opacity:1;transform:translate(calc(var(--x) * .3),-24px) scale(var(--s))}to{opacity:0;transform:translate(var(--x),-170px) scale(calc(var(--s) * .8)) rotate(calc(var(--x) * .6deg))}}.ib-toast{position:absolute;left:50%;bottom:66px;margin:0;max-width:calc(100% - 40px);padding:8px 14px;border-radius:999px;translate:-50% 0;background:var(--ib-fg);color:var(--tx-card,#fff);font-size:12.5px;text-align:center;opacity:0;transform:translateY(6px);transition:opacity .3s,transform .3s;pointer-events:none}.ib-toast.on{opacity:1;transform:none}@keyframes ib-pop{0%{opacity:0;transform:translateY(8px)}}@keyframes ib-wiggle{0%,88%,to{rotate:0deg}91%{rotate:-12deg}94%{rotate:10deg}97%{rotate:-5deg}}@media (prefers-reduced-motion:reduce){.ib-bub{animation:none;position:relative;display:block;width:fit-content;margin-top:6px;left:0}.ib-bubbles{display:flex;flex-direction:column;justify-content:flex-end}.ib-gift,.ib-name{animation:none}.ib-in{transition:none}}@media (max-width:360px){.ib-rsvp{padding:0 10px}.ib-heart b{display:none}}