@import url(https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100..900;1,100..900&display=swap);@import url(https://fonts.googleapis.com/css2?family=Parisienne&family=Playfair+Display:wght@600;700&display=swap);.wedding-upload[data-v-6435b5d9] .dropzone{display:flex;align-items:center;justify-content:center;min-height:0;padding:2rem 1rem;border:2px dashed #d1d5db;border-radius:.75rem;background:#fff;cursor:pointer;transition:border-color .15s,background-color .15s}.wedding-upload[data-v-6435b5d9] .dropzone.dz-drag-hover,.wedding-upload[data-v-6435b5d9] .dropzone:hover{border-color:#6b7280;background:#f9fafb}.wedding-upload.celebration[data-v-6435b5d9] .dropzone{display:block;padding:1.25rem;border:0;border-radius:1rem;box-shadow:0 1px 3px rgba(17,12,10,.07),0 0 0 1px rgba(17,12,10,.04)}.wedding-upload.celebration[data-v-6435b5d9] .dropzone.dz-drag-hover{background:#fdf4f2;box-shadow:0 0 0 2px #e2c6c1}.upload-icon[data-v-6435b5d9]{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:2.75rem;height:2.75rem;border-radius:9999px;background:#f7e7e3;color:#c08984}.upload-icon svg[data-v-6435b5d9]{width:1.5rem;height:1.5rem}.upload-headline[data-v-6435b5d9]{font-family:Playfair Display,Georgia,Times New Roman,serif;font-weight:700;font-size:1.125rem;color:#111827}@media (min-width:640px){.upload-headline[data-v-6435b5d9]{font-size:1.25rem}}.upload-button[data-v-6435b5d9]{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-top:.875rem;padding:.75rem 1.25rem;border-radius:9999px;background:#c88b86;color:#fff;font-weight:600;box-shadow:0 1px 2px rgba(17,12,10,.15)}.wedding-upload.celebration[data-v-6435b5d9] .dropzone:hover .upload-button{background:#bb7c77}.upload-button svg[data-v-6435b5d9]{width:1.25rem;height:1.25rem}.dz-grid[data-v-6435b5d9]{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:.5rem}.wedding-upload[data-v-6435b5d9] .dz-preview{position:relative;aspect-ratio:1/1;border-radius:.5rem;overflow:hidden;background:#9ca3af}.wedding-upload[data-v-6435b5d9] .dz-thumb{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.wedding-upload[data-v-6435b5d9] .dz-file-icon,.wedding-upload[data-v-6435b5d9] .dz-name,.wedding-upload[data-v-6435b5d9] .dz-thumb:not([src]){display:none}.wedding-upload[data-v-6435b5d9] .dz-thumb:not([src])~.dz-file-icon{position:absolute;inset:0;z-index:1;display:flex;align-items:center;justify-content:center;padding-bottom:1.75rem;color:#fff}.wedding-upload[data-v-6435b5d9] .dz-file-icon svg{width:2rem;height:2rem}.wedding-upload[data-v-6435b5d9] .dz-thumb:not([src])~.dz-name{position:absolute;left:.375rem;right:.375rem;bottom:1.125rem;z-index:1;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:.625rem;line-height:1.2;color:#fff;text-align:center;word-break:break-all}.wedding-upload[data-v-6435b5d9] .dz-error .dz-thumb:not([src])~.dz-file-icon,.wedding-upload[data-v-6435b5d9] .dz-error .dz-thumb:not([src])~.dz-name{display:none}.wedding-upload[data-v-6435b5d9] .dz-overlay{position:absolute;inset:0;background:rgba(0,0,0,.35);transition:opacity .3s}.wedding-upload[data-v-6435b5d9] .dz-done .dz-overlay{opacity:0}.wedding-upload[data-v-6435b5d9] .dz-error .dz-overlay{background:rgba(220,38,38,.55)}.wedding-upload[data-v-6435b5d9] .dz-progress{position:absolute;left:.5rem;right:.5rem;bottom:.5rem;height:.25rem;border-radius:9999px;background:hsla(0,0%,100%,.35);overflow:hidden;transition:opacity .3s}.wedding-upload[data-v-6435b5d9] .dz-upload{display:block;width:0;height:100%;border-radius:9999px;background:#fff;transition:width .2s}.wedding-upload[data-v-6435b5d9] .dz-done .dz-upload{width:100%!important;background:#22c55e;transition:width .3s,background-color .3s}.wedding-upload[data-v-6435b5d9] .dz-done .dz-progress{opacity:0;transition:opacity .4s 1s}.wedding-upload[data-v-6435b5d9] .dz-error .dz-progress{opacity:0}.wedding-upload[data-v-6435b5d9] .dz-check{position:absolute;top:.375rem;right:.375rem;display:none;width:1.25rem;height:1.25rem;padding:.125rem;border-radius:9999px;background:#22c55e;color:#fff;box-shadow:0 1px 2px rgba(0,0,0,.3)}.wedding-upload[data-v-6435b5d9] .dz-done:not(.dz-error) .dz-check{display:block}.wedding-upload[data-v-6435b5d9] .dz-error-message{position:absolute;inset:0;display:none;align-items:center;justify-content:center;padding:.375rem;font-size:.7rem;font-weight:500;line-height:1.2;color:#fff;text-align:center}.wedding-upload[data-v-6435b5d9] .dz-error .dz-error-message{display:flex}.like-button[data-v-08b416f3]{display:inline-flex;align-items:center;gap:.25rem;padding:.125rem .25rem;font-weight:600;cursor:pointer;-webkit-tap-highlight-color:transparent}.like-button[data-v-08b416f3]:focus{outline:none}.like-button[data-v-08b416f3]:focus-visible{outline:2px solid currentColor;outline-offset:2px;border-radius:.25rem}.like-button.liked[data-v-08b416f3]{color:#e11d48}.heart-wrap[data-v-08b416f3]{position:relative;width:2rem;height:2rem}.heart[data-v-08b416f3]{position:relative;width:100%;height:100%;fill:transparent;transition:fill .2s,transform .15s}.liked .heart[data-v-08b416f3]{fill:currentColor}.like-button:active .heart[data-v-08b416f3]{transform:scale(.85)}.heart.pop[data-v-08b416f3]{animation:heart-pop-08b416f3 .45s cubic-bezier(.17,.89,.32,1.49)}.heart.shrink[data-v-08b416f3]{animation:heart-shrink-08b416f3 .25s ease}@keyframes heart-pop-08b416f3{0%{transform:scale(.2)}60%{transform:scale(1.25)}to{transform:scale(1)}}@keyframes heart-shrink-08b416f3{50%{transform:scale(.75)}}.burst[data-v-08b416f3]{position:absolute;inset:0;pointer-events:none}.ring[data-v-08b416f3]{position:absolute;inset:0;border-radius:9999px;border:2px solid #fb7185;opacity:0;animation:ring-08b416f3 .5s ease-out}@keyframes ring-08b416f3{0%{transform:scale(.7);border-width:6px;opacity:1}to{transform:scale(1.8);border-width:0;opacity:0}}.burst i[data-v-08b416f3]{position:absolute;left:50%;top:50%;width:6px;height:6px;margin:-3px;border-radius:9999px;background:#f43f5e;opacity:0;animation:particle-08b416f3 .6s ease-out .1s}.burst i[data-v-08b416f3]:nth-of-type(2n){background:#fbbf24}@keyframes particle-08b416f3{0%{transform:rotate(var(--angle)) translateY(-14px) scale(1);opacity:1}to{transform:rotate(var(--angle)) translateY(-30px) scale(.2);opacity:0}}.count[data-v-08b416f3]{display:inline-block;min-width:1ch}.count-enter-active[data-v-08b416f3],.count-leave-active[data-v-08b416f3]{transition:transform .15s,opacity .15s}.count-enter[data-v-08b416f3]{transform:translateY(-.5rem);opacity:0}.count-leave-to[data-v-08b416f3]{transform:translateY(.5rem);opacity:0}@media (prefers-reduced-motion:reduce){.burst i[data-v-08b416f3],.heart.pop[data-v-08b416f3],.heart.shrink[data-v-08b416f3],.ring[data-v-08b416f3]{animation:none}.count-enter-active[data-v-08b416f3],.count-leave-active[data-v-08b416f3]{transition:none}}.pms-celebration[data-v-1d93451a]{background:#fbf7f4}.pms-title[data-v-1d93451a]{font-family:Playfair Display,Georgia,Times New Roman,serif;font-weight:700}.pms-script[data-v-1d93451a]{font-family:Parisienne,Segoe Script,cursive;color:#c08984}.pms-heart[data-v-1d93451a]{margin-left:.15em}.pms-balloons[data-v-1d93451a]{position:absolute;top:-.5rem;right:-1rem;width:9.5rem;pointer-events:none}@media (min-width:640px){.pms-balloons[data-v-1d93451a]{top:0;right:1rem;width:14rem}}.pms-tile[data-v-1d93451a]{border-radius:.75rem;background:#fff;box-shadow:0 1px 2px rgba(17,12,10,.06),0 0 0 1px rgba(17,12,10,.04)}.pms-card[data-v-1d93451a]{margin-top:1.5rem;padding:1rem 1.25rem;border-radius:1rem;background:#fff;box-shadow:0 1px 3px rgba(17,12,10,.07),0 0 0 1px rgba(17,12,10,.04)}.pms-icon[data-v-1d93451a]{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:2.75rem;height:2.75rem;border-radius:9999px;background:#f7e7e3;color:#c08984}.pms-icon svg[data-v-1d93451a]{width:1.5rem;height:1.5rem}.pms-button-outline[data-v-1d93451a],.pms-button[data-v-1d93451a]{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.25rem;border-radius:9999px;font-weight:600;white-space:nowrap}.pms-button[data-v-1d93451a]{width:100%;background:#c88b86;color:#fff;box-shadow:0 1px 2px rgba(17,12,10,.15)}.pms-button[data-v-1d93451a]:hover{background:#bb7c77}.pms-button svg[data-v-1d93451a]{width:1.25rem;height:1.25rem}.pms-button-outline[data-v-1d93451a]{flex-shrink:0;padding:.6rem 1rem;border:1px solid #e2c6c1;color:#c08984;font-size:.875rem}.pms-button-outline[data-v-1d93451a]:hover{background:#fdf4f2}.pms-sticky-bar[data-v-1d93451a]{position:fixed;left:0;right:0;bottom:0;z-index:40;padding:.75rem 1rem calc(.75rem + env(safe-area-inset-bottom));background:rgba(251,247,244,.92);backdrop-filter:blur(6px);box-shadow:0 -1px 3px rgba(17,12,10,.06)}