@font-face{font-family:Baloo\ 2;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/1d3bc6cf8ffd57a1-s.woff2) format("woff2");unicode-range:u+0900-097f,u+1cd0-1cf9,u+200c-200d,u+20a8,u+20b9,u+20f0,u+25cc,u+a830-a839,u+a8e0-a8ff,u+11b00-11b09}@font-face{font-family:Baloo\ 2;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/86fbc9d8e118e1a5-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Baloo\ 2;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/643504413c165422-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Baloo\ 2;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/a65324f02aa278dc-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Baloo\ 2;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/1d3bc6cf8ffd57a1-s.woff2) format("woff2");unicode-range:u+0900-097f,u+1cd0-1cf9,u+200c-200d,u+20a8,u+20b9,u+20f0,u+25cc,u+a830-a839,u+a8e0-a8ff,u+11b00-11b09}@font-face{font-family:Baloo\ 2;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/86fbc9d8e118e1a5-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Baloo\ 2;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/643504413c165422-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Baloo\ 2;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/a65324f02aa278dc-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Baloo\ 2;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/1d3bc6cf8ffd57a1-s.woff2) format("woff2");unicode-range:u+0900-097f,u+1cd0-1cf9,u+200c-200d,u+20a8,u+20b9,u+20f0,u+25cc,u+a830-a839,u+a8e0-a8ff,u+11b00-11b09}@font-face{font-family:Baloo\ 2;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/86fbc9d8e118e1a5-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Baloo\ 2;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/643504413c165422-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Baloo\ 2;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/a65324f02aa278dc-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Baloo\ 2;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/1d3bc6cf8ffd57a1-s.woff2) format("woff2");unicode-range:u+0900-097f,u+1cd0-1cf9,u+200c-200d,u+20a8,u+20b9,u+20f0,u+25cc,u+a830-a839,u+a8e0-a8ff,u+11b00-11b09}@font-face{font-family:Baloo\ 2;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/86fbc9d8e118e1a5-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Baloo\ 2;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/643504413c165422-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Baloo\ 2;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/a65324f02aa278dc-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Baloo\ 2;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/1d3bc6cf8ffd57a1-s.woff2) format("woff2");unicode-range:u+0900-097f,u+1cd0-1cf9,u+200c-200d,u+20a8,u+20b9,u+20f0,u+25cc,u+a830-a839,u+a8e0-a8ff,u+11b00-11b09}@font-face{font-family:Baloo\ 2;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/86fbc9d8e118e1a5-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Baloo\ 2;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/643504413c165422-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Baloo\ 2;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/a65324f02aa278dc-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Baloo\ 2 Fallback;src:local("Arial");ascent-override:112.55%;descent-override:54.71%;line-gap-override:0.00%;size-adjust:95.78%}.__className_b4e888{font-family:Baloo\ 2,Baloo\ 2 Fallback;font-style:normal}.__variable_b4e888{--font-baloo:"Baloo 2","Baloo 2 Fallback"}:root{--pink-1:#ffd6e8;--pink-2:#ff9ec4;--pink-3:#ff6fa5;--pink-4:#ff4f8b;--purple:#c86dd7;--cream:#fff5fa;--ink:#6a2c4d}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}body,html{margin:0;padding:0;height:100%;overflow:hidden}body{font-family:var(--font-baloo),"Segoe UI",system-ui,sans-serif;color:var(--ink);background:linear-gradient(160deg,#ffe5f1,#ffd0e6 35%,#ffc0dd 70%,#ffb3d9);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.stage{height:100dvh;display:flex;align-items:center;justify-content:center;padding:24px;overflow:hidden}.card,.stage{position:relative;width:100%}.card{z-index:5;max-width:440px;background:rgba(255,255,255,.55);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:2px solid rgba(255,255,255,.8);border-radius:30px;padding:36px 26px 40px;text-align:center;box-shadow:0 18px 50px rgba(255,79,139,.28);animation:pop-in .6s cubic-bezier(.18,1.25,.4,1) both}.kicker{font-size:1.05rem;font-weight:600;letter-spacing:.5px;color:var(--pink-4);margin:0 0 6px}.title{font-size:2rem;font-weight:800;line-height:1.15;margin:0 0 14px;color:var(--ink)}.title.big{font-size:2.6rem}.subtitle{font-size:1.15rem;font-weight:500;line-height:1.5;margin:0 auto 24px;max-width:340px;color:#8a3a63}.emoji-hero{font-size:5rem;line-height:1;display:inline-block;margin-bottom:8px;animation:bounce 1.8s ease-in-out infinite;filter:drop-shadow(0 8px 14px rgba(255,79,139,.25))}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;cursor:pointer;font-family:inherit;font-weight:700;font-size:1.15rem;color:#fff;padding:15px 34px;border-radius:999px;background:linear-gradient(135deg,var(--pink-3),var(--pink-4));box-shadow:0 10px 22px rgba(255,79,139,.45);transition:transform .15s ease,box-shadow .15s ease,filter .15s ease;touch-action:manipulation}.btn:hover{transform:translateY(-2px) scale(1.04);filter:brightness(1.05)}.btn:active{transform:translateY(1px) scale(.98)}.btn.ghost{background:linear-gradient(135deg,var(--purple),var(--pink-3))}.btn-row{display:flex;gap:16px;justify-content:center;align-items:center;flex-wrap:wrap;margin-top:8px}.btn-yes{transition:transform .25s cubic-bezier(.18,1.4,.4,1),box-shadow .25s ease}.btn-no{background:linear-gradient(135deg,#b8b8c8,#8d8da3);box-shadow:0 8px 16px rgba(80,80,100,.35);transition:transform .18s ease}.btn-no.loose{position:fixed;z-index:40;margin:0}.photo-wrap{margin:4px auto 18px;width:200px;height:200px;border-radius:24px;padding:8px;background:linear-gradient(135deg,#fff,#ffe3f0);box-shadow:0 14px 30px rgba(255,79,139,.3);transform:rotate(-3deg);animation:sway 4s ease-in-out infinite}.photo-wrap img{width:100%;height:100%;object-fit:cover;border-radius:18px;display:block}.photo-caption{font-size:.95rem;color:var(--pink-4);font-weight:600;margin-top:6px}.bg-hearts{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden}.bg-hearts span{position:absolute;bottom:-60px;font-size:1.6rem;opacity:.75;animation:rise linear infinite}.celebrate .title{background:linear-gradient(90deg,#ff4f8b,#c86dd7,#ff7eb3);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:wiggle 1.2s ease-in-out infinite}.ring{font-size:4.5rem;animation:spin-pop 2s ease-in-out infinite;display:inline-block}.music-btn{position:fixed;top:16px;right:16px;z-index:50;width:46px;height:46px;border-radius:50%;border:none;cursor:pointer;font-size:1.3rem;background:rgba(255,255,255,.7);box-shadow:0 6px 14px rgba(255,79,139,.3);display:grid;place-items:center}.dots{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);display:flex;gap:8px;z-index:6}.dots i{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.6);transition:all .3s ease}.dots i.on{background:var(--pink-4);transform:scale(1.3)}.hint{font-size:.85rem;color:#a85a7d;margin-top:18px;font-weight:500}.cert-saved-note{font-size:.78rem;font-style:italic;color:#b07a96;margin:12px auto 0;max-width:300px;line-height:1.4;opacity:.9}@keyframes pop-in{0%{opacity:0;transform:scale(.85) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-16px)}}@keyframes sway{0%,to{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}@keyframes rise{0%{transform:translateY(0) scale(.8);opacity:0}10%{opacity:.8}90%{opacity:.8}to{transform:translateY(-110vh) scale(1.1);opacity:0}}@keyframes wiggle{0%,to{transform:rotate(-2deg) scale(1)}50%{transform:rotate(2deg) scale(1.04)}}@keyframes spin-pop{0%,to{transform:rotate(-12deg) scale(1)}50%{transform:rotate(12deg) scale(1.18)}}.seal{position:relative;width:130px;height:130px;margin:10px auto 6px;border:none;border-radius:50%;cursor:pointer;display:grid;place-items:center;background:radial-gradient(circle at 50% 50%,#fff 54%,transparent 55%),conic-gradient(var(--pink-4) var(--p,0deg),#ffd6e8 0deg);box-shadow:0 12px 26px rgba(255,79,139,.4);touch-action:none;-moz-user-select:none;user-select:none;-webkit-user-select:none;transition:transform .1s ease}.seal:active{transform:scale(.96)}.seal-inner{font-size:3rem;pointer-events:none;animation:bounce 1.8s ease-in-out infinite}.cert-card{max-width:460px;padding:18px}.certificate{position:relative;background:linear-gradient(160deg,#fffdf6,#fff4e8);border:3px double #c9a24b;border-radius:14px;padding:22px 20px 26px;box-shadow:inset 0 0 0 2px #f0e2c0,0 10px 24px rgba(150,110,40,.25);font-family:Georgia,Times New Roman,serif;color:#5a4326;animation:cert-in .7s cubic-bezier(.18,1.2,.4,1) both}.cert-kicker{margin:0 0 10px;font-size:1.05rem;letter-spacing:1px;color:#b8860b;font-weight:700}.cert-text{margin:4px 0;font-size:.95rem;font-style:italic}.cert-names{margin:8px 0;font-size:1.7rem;font-weight:700;color:#7a1f3d;line-height:1.2}.cert-names .amp{color:#c9a24b;margin:0 4px}.cert-date{margin:6px 0;font-size:1.15rem;font-weight:700;color:#5a4326}.cert-place{display:flex;align-items:center;justify-content:center;gap:4px;margin:4px 0 10px}.cert-place-input{border:none;border-bottom:1.5px dashed #c9a24b;background:transparent;font-family:inherit;font-style:italic;font-size:.95rem;text-align:center;color:#5a4326;padding:2px 4px;width:60%;outline:none}.cert-sign{margin-top:12px}.cert-sign-label{display:block;font-size:.85rem;font-style:italic;color:#8a7350;margin-top:2px}.cert-seal{position:absolute;right:14px;bottom:10px;font-size:2.4rem;filter:drop-shadow(0 2px 3px rgba(150,110,40,.4))}.sigpad{position:relative;display:inline-block}.sigpad canvas{width:100%;max-width:320px;height:84px;background:rgba(255,255,255,.7);border-bottom:2px solid #7a1f3d;border-radius:8px 8px 0 0;touch-action:none;cursor:crosshair}.sig-clear{position:absolute;top:4px;right:6px;font-size:.72rem;border:none;background:rgba(122,31,61,.1);color:#7a1f3d;border-radius:999px;padding:2px 9px;cursor:pointer;font-family:var(--font-baloo),sans-serif}.cert-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:16px}.cert-actions .btn{font-size:1rem;padding:12px 22px}.btn:disabled{opacity:.45;cursor:not-allowed;filter:grayscale(.3);transform:none}.rabbit-scene{position:relative;z-index:5;width:100%;text-align:center}.rabbit-text{font-size:1.4rem;font-weight:700;color:var(--ink)}.rabbit-sub{font-size:1.05rem;color:#a85a7d;font-weight:600}.rabbit-run{position:relative;height:130px;margin:6px 0;animation:steal 3.2s cubic-bezier(.5,0,.5,1) forwards;will-change:transform}.bunny-bob{display:inline-block;animation:bob .24s ease-in-out infinite}.bunny-svg{width:150px;height:120px;overflow:visible;filter:drop-shadow(0 6px 6px rgba(120,80,60,.18))}.bunny-legs{transform-box:fill-box;transform-origin:center;animation:legspin .26s linear infinite}.bunny-ear{transform-box:fill-box;transform-origin:bottom center;animation:earflop .32s ease-in-out infinite}.bunny-ear.ear-front{animation-delay:.08s}.bunny-scroll{animation:scrolljiggle .3s ease-in-out infinite}.bunny-dust circle,.bunny-scroll{transform-box:fill-box;transform-origin:center}.bunny-dust circle{animation:dust .5s ease-out infinite}.bunny-dust circle:nth-child(2){animation-delay:.15s}.bunny-dust circle:nth-child(3){animation-delay:.3s}.bunny-streaks line{animation:streak .3s linear infinite}.bunny-streaks line:nth-child(2){animation-delay:.1s}.bunny-streaks line:nth-child(3){animation-delay:.2s}@keyframes steal{0%{transform:translateX(-110vw)}34%{transform:translateX(-4vw)}46%{transform:translateX(-4vw)}to{transform:translateX(115vw)}}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(-9px)}}@keyframes legspin{to{transform:rotate(1turn)}}@keyframes earflop{0%,to{transform:rotate(-7deg)}50%{transform:rotate(9deg)}}@keyframes scrolljiggle{0%,to{transform:rotate(-4deg)}50%{transform:rotate(3deg)}}@keyframes dust{0%{opacity:.85;transform:scale(.4)}to{opacity:0;transform:scale(1.7)}}@keyframes streak{0%{opacity:0}50%{opacity:.9}to{opacity:0}}@keyframes cert-in{0%{opacity:0;transform:scale(.8) rotate(-3deg)}to{opacity:1;transform:scale(1) rotate(0)}}@media (max-width:380px){.title{font-size:1.7rem}.title.big{font-size:2.1rem}.emoji-hero{font-size:4rem}.photo-wrap{width:170px;height:170px}.cert-names{font-size:1.4rem}}@media (prefers-reduced-motion:reduce){*{animation-duration:1ms!important}}