:root{--accent:#db267d;--dark:#70214e;--soft:#fff0f7;--paper:#fff9fc;--ink:#55233f;--muted:#90667e;--shine:#ffde79;--world:url('assets/glam-stock.webp');--veil:rgba(79,10,58,.34);--font:Georgia,serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,sans-serif;line-height:1.6;color:var(--ink);background:var(--paper)}[hidden]{display:none!important}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}.world-background{position:fixed;inset:0;background:linear-gradient(var(--veil),var(--veil)),var(--world) center/cover;z-index:-2}.sparkles{position:fixed;inset:0;pointer-events:none;z-index:2;overflow:hidden}.sparkles span{position:absolute;color:#ffefc5;opacity:.65;animation:float 5s ease-in-out infinite;font-size:27px;filter:drop-shadow(0 0 8px #ffe4ae)}.sparkles span:nth-child(1){left:6%;top:18%}.sparkles span:nth-child(2){right:7%;top:28%;animation-delay:1s}.sparkles span:nth-child(3){left:10%;bottom:18%;animation-delay:2s}.sparkles span:nth-child(4){right:10%;bottom:10%;animation-delay:3s;font-size:17px}.party-cover{min-height:100svh;display:flex;align-items:center;justify-content:center;text-align:center;flex-direction:column;padding:45px 24px;color:white;background:linear-gradient(0deg,rgba(43,8,33,.52),transparent 70%);position:relative}.cover-tag,.kicker,.occasion{font-size:9px;letter-spacing:2.5px;font-weight:700}.cover-tag{background:#ffffff20;border:1px solid #ffffff60;padding:9px 16px;border-radius:30px;backdrop-filter:blur(10px)}.cover-icon{font-size:60px;line-height:1;margin:45px 0 15px;color:var(--shine);animation:float 5s ease-in-out infinite}.cover-intro{font:italic 19px var(--font);margin:12px}.party-cover h1{font:400 clamp(32px,6vw,48px)/1.2 var(--font);margin:8px 0 15px;text-shadow:0 3px 20px #33102655}.party-cover h1>span{display:inline-block;font-size:clamp(58px,13vw,96px);color:var(--shine);font-style:italic;overflow-wrap:anywhere}.cover-age{font-size:13px;opacity:.9;margin:5px 0 35px}.open-party,.party-button{display:inline-flex;justify-content:center;align-items:center;gap:25px;border:0;border-radius:50px;padding:16px 25px;background:var(--accent);color:white;font-size:13px;font-weight:700;cursor:pointer;transition:transform .2s;box-shadow:0 8px 25px #38182e17}.open-party{background:var(--shine);color:var(--dark);min-width:230px}.open-party span{font-size:20px;font-weight:400}.open-party:hover,.party-button:hover{transform:translateY(-3px)}.cover-family{font-size:11px;margin:23px 0 40px;opacity:.8}.mini-brand{font-size:9px;opacity:.65;letter-spacing:1px}.party-cover.opening{animation:openout .55s forwards}@keyframes openout{to{opacity:0;transform:scale(1.035)}}@keyframes float{50%{transform:translateY(-10px) rotate(4deg)}}.party-nav{display:flex;align-items:center;justify-content:space-between;position:absolute;z-index:4;top:0;left:0;right:0;padding:20px 6%;color:white;font-size:9px;letter-spacing:1px}.party-nav>a{font-size:21px;letter-spacing:-1px}.party-nav b{color:var(--shine)}.party-nav>span{font-size:8px}.party-nav button{background:#ffffff20;border:1px solid #ffffff60;color:white;border-radius:30px;font-size:10px;padding:8px 12px}.birthday-hero{min-height:100svh;padding:115px 24px 65px;text-align:center;color:white;background:linear-gradient(0deg,#42102d80,transparent 70%);display:flex;align-items:center;justify-content:center;flex-direction:column}.occasion{color:var(--shine);margin-bottom:20px}.birthday-photo{width:135px;height:135px;border-radius:50%;border:5px solid #fff7;box-shadow:0 8px 30px #310c2e44;overflow:hidden;margin-bottom:20px;background:#fff2}.birthday-photo img{width:100%;height:100%;object-fit:cover}.hero-intro{font-size:12px;margin:8px}.birthday-hero h1{font:italic 400 clamp(62px,11vw,110px)/1.1 var(--font);color:#fff;margin:8px 0 18px;text-shadow:0 6px 25px #36072a44;overflow-wrap:anywhere;max-width:100%}.birthday-number{display:flex;align-items:center;gap:15px;color:var(--shine)}.birthday-number span{font-size:9px;letter-spacing:3px}.birthday-number strong{font:400 78px/.95 var(--font)}.birthday-message{max-width:400px;font-size:14px;line-height:1.8;margin:25px auto 15px;text-shadow:0 2px 15px #310c2e66}.party-date{display:flex;gap:20px;font-size:12px;align-items:center;margin:10px 0 27px}.party-date>span:not([data-date-label]){color:var(--shine)}.birthday-hero .party-button{background:var(--shine);color:var(--dark)}.hero-caption{font-size:9px;letter-spacing:2px;margin-top:25px;opacity:.75}.countdown-section{background:var(--paper);text-align:center;padding:65px 25px}.kicker{color:var(--accent)}h2{font:400 38px/1.15 var(--font);margin:18px 0 30px;letter-spacing:-1px}.countdown{display:flex;max-width:440px;margin:auto;gap:10px;justify-content:center}.countdown>div{background:var(--soft);border:1px solid color-mix(in srgb,var(--accent) 12%,transparent);border-radius:15px;flex:1;padding:18px 10px}.countdown strong{display:block;font:400 40px/1.2 var(--font);color:var(--accent)}.countdown span{font-size:8px;letter-spacing:1.5px;color:var(--muted)}.party-details{background:var(--soft);text-align:center;padding:65px 30px}.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:1050px;margin:35px auto 25px}.detail-grid article{padding:28px 24px;background:var(--paper);border-radius:20px;box-shadow:0 5px 20px #34223a04}.detail-icon{font-size:33px;color:var(--accent);display:block;margin:0 0 15px}.detail-grid small{font-size:8px;letter-spacing:2px;color:var(--muted)}.detail-grid h3{font:400 24px/1.3 var(--font);margin:15px 0;color:var(--ink)}.detail-grid p{font-size:13px;color:var(--muted)}.small-note{display:block;font-size:10px;color:var(--muted);line-height:1.7}.secondary{background:var(--soft);color:var(--accent);box-shadow:none;font-size:11px;padding:11px 18px;gap:10px}.calendar-link{font-size:11px;color:var(--accent);border-bottom:1px solid var(--accent);padding-bottom:4px}.party-confirm{background:var(--paper);text-align:center;padding:70px 25px}.party-confirm>p{font-size:13px;max-width:410px;margin:20px auto 27px;color:var(--muted)}.party-confirm h2{margin-bottom:25px}.guest-card{max-width:420px;margin:25px auto}.guest-name{font:italic 27px var(--font)}.guest-card>p:not(.guest-name){font-size:13px;color:var(--muted)}form{text-align:left;margin-top:25px}label{display:block;font-size:11px;color:var(--muted);font-weight:600;margin-bottom:15px}input,select,textarea{display:block;width:100%;border:1px solid color-mix(in srgb,var(--accent) 20%,white);background:white;padding:13px;margin-top:7px;border-radius:9px;font:14px Arial,sans-serif;color:#493342}.guest-card button{width:100%;margin-top:5px}.response-note{background:var(--soft);border-radius:10px;padding:18px}.party-footer{background:var(--dark);text-align:center;color:#fff8;padding:55px 25px}.party-footer>span{font-size:40px;color:var(--shine)}.party-footer h2{color:white;font-style:italic;font-size:35px}.party-footer p{font-size:12px}.party-footer>a{font-size:9px;display:block;margin-top:35px;color:#fff8}.preview-ribbon{position:fixed;top:0;left:0;right:0;text-align:center;background:var(--shine);color:var(--dark);padding:5px;font:700 8px Arial,sans-serif;letter-spacing:1px;z-index:20}body[data-preview="1"] .party-nav{top:23px}button:focus-visible,a:focus-visible{outline:3px solid var(--shine);outline-offset:5px}.theme-heroes{--accent:#d83a3f;--dark:#112d58;--soft:#eaf0fa;--paper:#f9fbff;--ink:#1e3151;--muted:#667995;--shine:#ffdc6f;--world:url('assets/heroes-stock.webp');--veil:rgba(8,22,58,.6);--font:Arial,sans-serif}.theme-heroes .birthday-hero h1,.theme-heroes .party-cover h1>span{font-weight:900;font-style:normal;letter-spacing:-3px;text-transform:uppercase}.theme-heroes .birthday-number strong{font-weight:900;font-style:italic}.theme-heroes .detail-grid article,.theme-heroes .countdown>div{border-radius:5px;border-bottom:4px solid var(--accent)}.theme-heroes .party-button,.theme-heroes .open-party{border-radius:5px}.theme-dino{--accent:#457749;--dark:#203f30;--soft:#e9f0df;--paper:#fffdf3;--ink:#344c33;--muted:#74806a;--shine:#f4da8c;--world:url('assets/dino-stock.webp');--veil:rgba(10,41,28,.48)}.theme-dino .detail-grid article{border-radius:10px 35px 10px 35px}.theme-dino .countdown>div{border-radius:8px 23px}.theme-dino .birthday-number strong{font-weight:bold}.theme-magia{--accent:#93642d;--dark:#252135;--soft:#eee8dc;--paper:#fffaf1;--ink:#4d3928;--muted:#8a7763;--shine:#f0d495;--world:url('assets/magia-stock.webp');--veil:rgba(19,17,39,.58)}.theme-magia .party-cover h1,.theme-magia .birthday-hero h1{letter-spacing:-3px}.theme-magia .countdown>div{border-radius:3px;border:1px solid #bfa76b}.theme-magia .detail-grid article{border-radius:100px 100px 4px 4px}.theme-hielo{--accent:#648fbb;--dark:#334d79;--soft:#eaf4fa;--paper:#fbfdff;--ink:#3e547d;--muted:#7c92b1;--shine:#e4fbff;--world:url('assets/hielo-stock.webp');--veil:rgba(31,58,105,.4)}.theme-hielo .birthday-number strong{color:#ebfbff;text-shadow:0 0 30px #c8edff}.theme-hielo .detail-grid article{border-radius:40px 5px}.theme-hielo .countdown>div{background:linear-gradient(#e0f4ff,#f0edfb)}.theme-gamer{--accent:#7855f0;--dark:#1d163c;--soft:#eeebff;--paper:#faf9ff;--ink:#34265f;--muted:#8577a3;--shine:#a9ffb3;--world:url('assets/gamer-stock.webp');--veil:rgba(22,12,58,.65);--font:Arial,sans-serif}.theme-gamer .birthday-hero h1,.theme-gamer .party-cover h1>span{font-style:normal;font-weight:900;letter-spacing:-3px}.theme-gamer .birthday-number{background:#17102c88;padding:15px 25px;border:1px solid #a9ffb355;border-radius:10px;transform:rotate(-3deg)}.theme-gamer .birthday-number strong{font-weight:900}.theme-gamer .countdown>div{border-radius:8px;box-shadow:4px 4px 0 #c9c0ee}.theme-gamer .party-button,.theme-gamer .open-party{border-radius:9px;box-shadow:4px 4px 0 #36255d}.theme-gamer .detail-grid article{border-radius:8px;border-bottom:4px solid #a99acb}@media(max-width:700px){.detail-grid{grid-template-columns:1fr;max-width:430px;gap:15px}.detail-grid article{padding:28px 25px}.party-cover{padding:40px 20px}.cover-icon{margin-top:40px}.birthday-hero{padding:100px 24px 55px}.party-cover h1{font-size:31px}.party-cover h1>span{font-size:66px}.birthday-hero h1{font-size:70px}.birthday-number strong{font-size:75px}.countdown-section,.party-details,.party-confirm{padding:55px 22px}.countdown strong{font-size:34px}.countdown>div{padding:16px 7px}.countdown span{font-size:7px;letter-spacing:1px}h2{font-size:34px}.party-nav{padding:22px}.party-nav>span{font-size:7px}.birthday-photo{width:120px;height:120px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
