.page{background:radial-gradient(900px 620px at 0 0,#ffd3e1bf,#0000 58%),radial-gradient(780px 560px at 100% 0,#ffe4d2d1,#0000 54%),radial-gradient(680px 500px at 50% 100%,#ffd6e499,#0000 60%),linear-gradient(#fff7fa 0%,#fff4ef 100%);justify-content:center;align-items:center;min-height:100dvh;padding:clamp(1rem,3vw,2.5rem);display:flex;position:relative;overflow:hidden auto}.page:before,.page:after{content:"";pointer-events:none;position:fixed;inset:0}.page:before{opacity:.55;background-image:radial-gradient(circle,#ffffffb8 0 1.6px,#0000 1.8px);background-size:28px 28px}.page:after{mix-blend-mode:soft-light;background:radial-gradient(130px 94px at 12% 18%,#ffffffd1,#0000 74%),radial-gradient(180px 130px at 84% 26%,#ffffffb8,#0000 78%),radial-gradient(150px 116px at 50% 86%,#ffffff9e,#0000 80%)}.shell{z-index:1;width:min(100%,42rem);position:relative}.card{text-align:center;background:linear-gradient(#fffffff7,#fffbfcf0);border:1px solid #ffffffc2;border-radius:2rem;flex-direction:column;align-items:center;gap:1.15rem;padding:clamp(1.6rem,4vw,3rem);animation:.46s ease-out card-in;display:flex;position:relative;box-shadow:0 24px 80px #aa58792e,inset 0 1px #ffffffe6}.card:before{content:"";pointer-events:none;border:1px solid #ffd5e2ad;border-radius:1.45rem;position:absolute;inset:.72rem}.celebration{gap:1.25rem}.badge{color:var(--ink-strong);letter-spacing:.18em;text-transform:uppercase;background:linear-gradient(120deg,#ffd1e0eb,#ffe7d4f2);border-radius:999px;justify-content:center;align-items:center;padding:.46rem 1.1rem;font-size:.74rem;font-weight:800;display:inline-flex;box-shadow:inset 0 1px #ffffffb3}.gif-wrap{place-items:center;width:100%;margin:.1rem 0 .35rem;display:grid;position:relative}.gif-wrap:before{content:"";aspect-ratio:1;filter:blur(2px);background:radial-gradient(circle at 30% 30%,#ffe1ecf5,#ffc9dc8f 60%,#0000 72%);border-radius:46% 54% 60% 40%/40% 42% 58% 60%;width:clamp(14rem,44vw,19rem);animation:7s ease-in-out infinite halo-drift;position:absolute}.gif-frame{background:#fff;border:10px solid #ffffffeb;border-radius:1.7rem;width:clamp(11rem,34vw,13.5rem);animation:5s ease-in-out infinite float;position:relative;box-shadow:0 18px 48px #e178993d}.celebration .gif-frame{width:clamp(12.5rem,38vw,16rem)}.title{letter-spacing:-.04em;text-wrap:balance;max-width:8ch;color:var(--ink-strong);margin:0;font-family:Fraunces,serif;font-size:clamp(2.5rem,6vw,4.4rem);font-weight:700;line-height:.96}.celebration .title{max-width:none}.subtitle{max-width:30rem;color:var(--ink-soft);margin:0;font-size:clamp(1rem,2.2vw,1.08rem);line-height:1.45}.celebration-text{max-width:24rem;color:var(--ink-strong);font-weight:700}.button-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:.9rem;width:min(100%,34rem);margin-top:.35rem;display:flex}.yes-button,.no-button{--button-scale:1;letter-spacing:.01em;text-align:center;white-space:normal;cursor:pointer;touch-action:manipulation;max-width:100%;min-height:3.4rem;transform:scale(var(--button-scale));transform-origin:50%;border:1px solid #0000;border-radius:999px;flex:0 auto;justify-content:center;align-items:center;padding:.9rem 1.45rem;font-family:Manrope,sans-serif;font-size:1rem;font-weight:800;line-height:1.1;transition:transform .18s,box-shadow .18s,background-color .18s,border-color .18s;display:inline-flex}.yes-button{color:#fff9fc;background:linear-gradient(135deg,#cb2f64,#931b48);box-shadow:0 16px 32px #cb2f6447}.yes-button:hover{transform:translateY(-2px) scale(var(--button-scale));box-shadow:0 18px 36px #cb2f6457}.no-button{color:var(--ink-strong);background:#fffc;border-color:#e7aabfc2;box-shadow:0 10px 24px #92546c14}.no-button:hover{transform:translateY(-2px) scale(var(--button-scale));background:#fff7faf5;box-shadow:0 14px 28px #92546c24}.yes-button:focus-visible,.no-button:focus-visible,.name-input:focus-visible{outline:none}.yes-button:focus-visible{box-shadow:0 0 0 4px #ffffffe6,0 0 0 7px #cb2f6442,0 16px 32px #cb2f6452}.no-button:focus-visible{box-shadow:0 0 0 4px #ffffffe6,0 0 0 7px #bf81963d,0 14px 28px #92546c24}.name-field{text-align:center;flex-direction:column;align-items:center;gap:.48rem;width:min(100%,18rem);display:flex}.name-field>span:first-child{color:var(--ink-soft);font-size:.92rem;font-weight:700}.name-input{width:100%;color:var(--ink-strong);background:#ffffffe6;border:1px solid #ffbed3d1;border-radius:1rem;padding:.82rem .95rem;font-family:Manrope,sans-serif;font-size:1rem;transition:border-color .18s,box-shadow .18s;box-shadow:inset 0 1px 2px #69374a14}.name-input:focus{border-color:#e66894cc;box-shadow:0 0 0 4px #e6689424}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes halo-drift{0%,to{transform:rotate(0)scale(1)}50%{transform:rotate(6deg)scale(1.03)}}@keyframes card-in{0%{opacity:0;transform:translateY(18px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@media (prefers-reduced-motion:reduce){.card,.gif-wrap:before,.gif-frame{animation:none}.yes-button,.no-button,.name-input{transition:none}}@media (width<=720px){.page{align-items:flex-start}.card{border-radius:1.75rem;gap:1rem;padding:1.35rem 1.05rem 1.6rem}.card:before{border-radius:1.22rem;inset:.56rem}.title{max-width:7ch;font-size:clamp(2.35rem,13vw,3.6rem)}.subtitle{font-size:.98rem}.button-row{flex-direction:column;width:100%}.gif-wrap:before{width:min(80vw,19rem)}.gif-frame{width:min(58vw,13rem)}.celebration .gif-frame{width:min(64vw,15rem)}}@media (width<=420px){.page{padding:.75rem}.badge{letter-spacing:.14em;font-size:.68rem}.title{font-size:clamp(2rem,13vw,3rem)}.response-note{min-height:0;font-size:.94rem}.yes-button,.no-button{width:100%;min-height:3.15rem;font-size:.97rem}}.resize{resize:both}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ink-strong:#2f1b2b;--ink-soft:#6d3c51;--rose-100:#ffe0ea;--rose-200:#ffc5d8;--peach-200:#ffd8c7;--base-bg:#fff6f9}html{min-height:100%}*{box-sizing:border-box}body{min-height:100dvh;color:var(--ink-strong);background-color:var(--base-bg);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;margin:0;font-family:Manrope,sans-serif;line-height:1.5;overflow-x:hidden}#root{min-height:100dvh}img{max-width:100%;display:block}button,input{font-family:inherit}
