*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden}[hidden]{display:none!important}body.birthday-page{--kid-paper:#fff7ee;--kid-ink:#4a5e68;--kid-accent:#8daab2;background:var(--kid-paper);color:var(--kid-ink);font:400 14px/1.5 'Pozivnice Manrope',Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer;color:inherit}img{display:block;max-width:100%}button:focus-visible,a:focus-visible{outline:3px solid var(--kid-accent);outline-offset:5px}.birthday-sr-only{position:absolute;clip:rect(0,0,0,0);width:1px;height:1px;overflow:hidden;white-space:nowrap}
.birthday-stage{position:fixed;inset:8px 0 33px;display:flex;align-items:center;justify-content:center;overflow:hidden}.has-demo-bar .birthday-stage{top:46px}.birthday-card{position:relative;flex:none;width:420px;height:800px;transform:scale(var(--card-scale,.8));transform-origin:center;isolation:isolate;overflow:hidden;border-radius:27px;box-shadow:0 15px 90px #27362c0c;outline:none;opacity:0;transition:opacity .7s}.is-open .birthday-card{opacity:1}.birthday-background{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-3}.birthday-paper-wash{position:absolute;inset:7% 7% 31%;background:radial-gradient(ellipse,var(--kid-paper),transparent 73%);opacity:.45;z-index:-2}
.birthday-text{position:absolute;top:67px;left:36px;right:36px;display:flex;align-items:center;flex-direction:column;gap:16px;text-align:center;z-index:3;transform-origin:top center}.birthday-heading{display:flex;flex-direction:column;align-items:center;gap:9px;width:100%}.birthday-eyebrow{margin:0;letter-spacing:2.1px;font-size:8px;font-weight:700;opacity:.75}.birthday-name{font-family:var(--kid-name-font,'Pozivnice Cormorant Garamond'),Georgia,serif;font-size:var(--kid-name-size,62px);font-weight:var(--kid-name-weight,600);line-height:1.27;margin:0;width:100%;overflow-wrap:anywhere;letter-spacing:-.5px}.birthday-age{display:flex;flex-direction:column;gap:1px;align-items:center;margin:-5px 0 0}.birthday-age>span{font-size:8px;letter-spacing:1.7px;opacity:.75}.birthday-age>div{display:flex;align-items:baseline;justify-content:center;gap:11px}.birthday-age b{font:600 61px/1 'Pozivnice Cormorant Garamond',Georgia,serif;color:var(--kid-accent)}.birthday-age i{font-style:normal;font-size:.75em}.birthday-age strong{font:600 25px/1.2 'Pozivnice Cormorant Garamond',Georgia,serif;letter-spacing:.2px}
.birthday-details{width:100%;border:1px solid color-mix(in srgb,var(--kid-ink) 13%,transparent);background:color-mix(in srgb,var(--kid-paper) 66%,transparent);border-radius:19px;padding:0 20px;box-shadow:0 4px 25px #514b3304}.birthday-date{display:flex;justify-content:center;align-items:center;gap:18px;padding:15px 0 14px;border-bottom:1px solid color-mix(in srgb,var(--kid-ink) 12%,transparent)}.birthday-date small{display:block;font-size:7px;letter-spacing:1.3px;opacity:.72;margin-bottom:5px}.birthday-date strong{font-size:13px;font-weight:700;white-space:nowrap}.birthday-date>span{height:29px;border-left:1px solid color-mix(in srgb,var(--kid-ink) 15%,transparent)}.birthday-location{padding:14px 0 15px;display:flex;flex-direction:column;gap:5px;max-width:100%}.birthday-location strong{font-size:17px;font-weight:700;line-height:1.35;overflow-wrap:anywhere}.birthday-location span{font-size:11px;line-height:1.6;overflow-wrap:anywhere}.birthday-note{font:400 16px/1.35 'Pozivnice Cormorant Garamond',Georgia,serif;margin:0;max-width:310px}.birthday-rsvp{font-size:9px;line-height:1.8;margin:-7px 0 0;max-width:100%}.birthday-rsvp a{font-size:10px;font-weight:700;white-space:nowrap}
.birthday-art-ground{position:absolute;bottom:96px;width:200px;height:24px;border-radius:50%;left:50%;translate:-50% 0;background:radial-gradient(ellipse,color-mix(in srgb,var(--kid-accent) 20%,transparent),transparent 70%);filter:blur(4px);z-index:0}.birthday-mascot{position:absolute;display:flex;flex-direction:column;align-items:center;width:225px;height:225px;left:50%;transform:translateX(-50%);bottom:87px;z-index:2;padding:0;border:0;background:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.birthday-mascot>img{width:100%;height:calc(100% - 19px);object-fit:contain;filter:drop-shadow(0 5px 6px #4d514316);transform-origin:50% 88%}.birthday-mascot>span{font-size:8px;letter-spacing:.5px;opacity:.6;margin-top:5px}.has-photo .birthday-mascot{left:auto;right:15px;transform:none;width:192px;height:211px}.has-photo .birthday-art-ground{left:71%;width:145px}.birthday-photo{position:absolute;bottom:119px;left:46px;width:138px;height:155px;transform:rotate(-6deg);padding:7px 7px 22px;background:#fffdf5;box-shadow:0 7px 15px #3b32221a;z-index:2;border:0;border-radius:5px;transition:transform .2s}.birthday-photo>img{height:100%;width:100%;object-fit:cover;border-radius:2px}.birthday-photo>span{font:12px/18px 'Pozivnice Caveat',cursive;display:block;text-align:center;color:#796854}.birthday-photo:hover,.birthday-photo:focus-visible{transform:rotate(-1deg) translateY(-3px)}
.birthday-actions{position:absolute;bottom:28px;left:31px;right:31px;display:flex;justify-content:center;gap:9px;z-index:5}.birthday-button{display:flex;align-items:center;justify-content:center;gap:8px;min-height:43px;padding:10px 17px;border:1px solid var(--kid-accent);border-radius:999px;font-size:10px;font-weight:700;background:var(--kid-ink);color:var(--kid-paper);text-align:center;transition:translate .2s,box-shadow .2s}.birthday-button.secondary{background:color-mix(in srgb,var(--kid-paper) 87%,transparent);color:var(--kid-ink)}.birthday-button:hover{translate:0 -2px;box-shadow:0 5px 12px #292a3712}.birthday-spark{position:absolute;font-size:24px;opacity:.55;color:var(--kid-accent);pointer-events:none}.spark-one{top:159px;left:23px;transform:rotate(-15deg)}.spark-two{top:247px;right:22px;font-size:17px}
.birthday-footer{position:fixed;bottom:max(5px,env(safe-area-inset-bottom));left:0;right:0;display:flex;align-items:center;justify-content:center;gap:20px;padding:0 12px;z-index:8;min-height:20px}.birthday-credit{font-size:9px;font-weight:800;letter-spacing:1.3px;opacity:.65}.birthday-credit span{font-size:8px;font-weight:400;letter-spacing:.2px}.birthday-footer>button{background:none;border:0;color:inherit;opacity:.75;padding:5px 0;font-size:8px;min-height:24px}.birthday-demo-bar{position:fixed;inset:0 0 auto;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:40px;padding:8px 20px;background:color-mix(in srgb,var(--kid-paper) 90%,transparent);font-size:11px;border-bottom:1px solid color-mix(in srgb,var(--kid-ink) 10%,transparent)}.birthday-demo-bar form{margin:0}.birthday-demo-bar button{border:0;background:transparent;padding:3px;font-size:11px;font-weight:700}
.birthday-opening{position:fixed;inset:0;z-index:10;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:30px;background:var(--kid-paper);transition:opacity .65s,transform .65s;text-align:center}.has-demo-bar .birthday-opening{top:40px}.birthday-opening>img{height:180px;object-fit:contain;margin:16px 0 24px;filter:drop-shadow(0 10px 25px #534e3a0c)}.birthday-opening-stars{font-size:25px;color:var(--kid-accent);letter-spacing:30px;padding-left:30px}.birthday-opening-stars>span{font-size:15px}.birthday-opening-kicker{font-size:9px;letter-spacing:2px;opacity:.8}.birthday-opening p{font:500 48px/1.05 'Pozivnice Cormorant Garamond',Georgia,serif;margin:17px 0 27px;overflow-wrap:anywhere;max-width:100%}.birthday-opening button{display:flex;gap:30px;align-items:center;justify-content:center;background:var(--kid-ink);color:var(--kid-paper);border:0;border-radius:999px;padding:17px 25px;font-size:12px;min-height:51px}.birthday-opening small{font-size:10px;opacity:.7;margin-top:20px}.is-open .birthday-opening{opacity:0;pointer-events:none;transform:scale(1.04)}.just-opened .birthday-text{animation:kids-reveal .8s .1s both}.is-open .birthday-mascot>img{animation:kids-float 7s ease-in-out infinite}.is-open .birthday-spark{animation:kids-twinkle 5s ease-in-out infinite}.is-open .spark-two{animation-delay:1.7s}.is-open .birthday-mascot.is-cheering>img{animation:kids-cheer .75s ease-in-out}.birthday-pop{position:absolute;z-index:7;font-size:24px;color:var(--kid-accent);pointer-events:none;animation:kids-pop 1.2s ease-out both}.motion-paused .birthday-mascot>img,.motion-paused .birthday-spark{animation:none}.motion-suspended *{animation-play-state:paused!important}.theme-space .birthday-paper-wash{opacity:0}.theme-space .birthday-details{background:#20244799;border-color:#fff4d624;box-shadow:none}.theme-space .birthday-photo{background:#fff1d5}.theme-space .birthday-background{filter:saturate(.85)}.theme-space .birthday-art-ground{background:radial-gradient(ellipse,#cfaaed30,transparent 70%)}
.birthday-photo-dialog{padding:12px;border:0;border-radius:18px;width:min(680px,calc(100vw - 36px));max-width:680px;max-height:88dvh;background:var(--kid-paper);color:var(--kid-ink);overflow:hidden;box-shadow:0 25px 100px #0004}.birthday-photo-dialog::backdrop{background:#141820bd;backdrop-filter:blur(6px)}.birthday-photo-dialog>img{width:100%;max-height:78dvh;object-fit:contain;border-radius:10px}.birthday-photo-dialog>button{position:absolute;right:17px;top:17px;width:34px;height:34px;border:0;border-radius:50%;background:var(--kid-paper);color:var(--kid-ink);font-size:25px;box-shadow:0 2px 12px #0002;z-index:2}
.is-landscape .birthday-card{width:820px;height:510px;border-radius:28px}.is-landscape .birthday-background{object-position:center}.is-landscape .birthday-text{top:36px;left:390px;right:42px;gap:12px}.is-landscape .birthday-heading{gap:5px}.is-landscape .birthday-age b{font-size:48px}.is-landscape .birthday-age strong{font-size:22px}.is-landscape .birthday-age>span{font-size:7px}.is-landscape .birthday-date{padding:11px 0}.is-landscape .birthday-location{padding:11px 0 12px}.is-landscape .birthday-location strong{font-size:16px}.is-landscape .birthday-mascot{width:300px;height:310px;left:34px;bottom:80px;transform:none}.is-landscape .has-photo .birthday-mascot{width:220px;height:220px;left:133px;right:auto;bottom:50px}.is-landscape .birthday-photo{left:56px;bottom:211px;width:152px;height:165px;transform:rotate(-7deg)}.is-landscape .birthday-actions{left:390px;right:42px;bottom:28px}.is-landscape .birthday-note{font-size:14px}.is-landscape .birthday-rsvp{font-size:8px}.is-landscape .birthday-rsvp a{font-size:9px}.is-landscape .birthday-spark{top:65px;left:78px}.is-landscape .spark-two{top:350px;left:310px}.is-landscape .birthday-paper-wash{inset:0 0 0 44%;background:linear-gradient(90deg,transparent,var(--kid-paper) 15%);opacity:.9}.is-landscape .birthday-art-ground{left:22%;bottom:80px;width:220px}.is-landscape .has-photo .birthday-art-ground{left:29%;bottom:49px;width:180px}
.birthday-card.is-dense .birthday-text{top:56px;gap:10px}.birthday-card.is-dense .birthday-heading{gap:5px}.birthday-card.is-dense .birthday-age b{font-size:49px}.birthday-card.is-dense .birthday-date{padding-block:11px}.birthday-card.is-dense .birthday-location{padding-block:11px}.birthday-card.is-dense .birthday-location strong{font-size:16px}.birthday-card.is-dense .birthday-note{font-size:15px}.birthday-card.is-dense .birthday-mascot{width:190px;height:195px;bottom:87px}.birthday-card.is-dense.has-photo .birthday-mascot{width:177px;height:190px}.is-landscape .birthday-card.is-dense .birthday-text{top:26px;gap:8px}.is-landscape .birthday-card.is-dense .birthday-mascot{width:280px;height:290px;bottom:80px}.is-landscape .birthday-card.is-dense.has-photo .birthday-mascot{width:205px;height:210px;bottom:50px}
@keyframes kids-reveal{from{opacity:0;translate:0 10px}to{opacity:1;translate:0 0}}@keyframes kids-float{0%,100%{translate:0 0;rotate:-.7deg}50%{translate:0 -5px;rotate:.7deg}}@keyframes kids-twinkle{0%,100%{opacity:.3;scale:.9}50%{opacity:.8;scale:1.1}}@keyframes kids-cheer{0%,100%{translate:0 0;rotate:0}25%{translate:0 -9px;rotate:-5deg}60%{translate:0 -4px;rotate:4deg}}@keyframes kids-pop{from{opacity:0;translate:0 6px;scale:.5}15%{opacity:1}to{opacity:0;translate:0 -58px;scale:1.1}}
@media(max-width:390px){.birthday-credit span{display:none}.birthday-footer{gap:24px}}@media(max-height:540px){.birthday-opening>img{height:110px;margin:0 0 12px}.birthday-opening-stars{display:none}.birthday-opening p{font-size:35px;margin:10px 0 18px}.birthday-opening small{margin-top:10px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.birthday-pop{animation:none;opacity:.8}}
