*,:before,:after{box-sizing:border-box}body{background:#fff9f0;margin:0;font-family:Nunito,sans-serif}#root{width:100%;min-height:100vh}.app{background:radial-gradient(at 30% 20%,#ffe8d6 0%,#fff9f0 45%,#fef3e2 100%);justify-content:center;align-items:center;min-height:100vh;padding:24px;transition:background .6s;display:flex;position:relative;overflow:hidden}.app:before,.app:after{content:"";pointer-events:none;z-index:0;border-radius:50%;position:absolute}.app:before{background:radial-gradient(circle,#ffd6b8 0%,#0000 70%);width:380px;height:380px;animation:8s ease-in-out infinite alternate blob-drift;top:-80px;left:-80px}.app:after{background:radial-gradient(circle,#fce4ff 0%,#0000 70%);width:300px;height:300px;animation:10s ease-in-out infinite alternate-reverse blob-drift;bottom:-60px;right:-60px}@keyframes blob-drift{0%{transform:translate(0)scale(1)}to{transform:translate(30px,20px)scale(1.08)}}.rainbow-bg{background:linear-gradient(135deg,#ff595e,#ff924c,#ffca3a,#8ac926,#1982c4,#6a4c93,#ff595e) 0 0/400% 400%;animation:3s linear infinite pride-wave}.rainbow-bg:before,.rainbow-bg:after{display:none}@keyframes pride-wave{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}.card{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);text-align:center;z-index:1;background:#ffffffe6;border-radius:28px;width:100%;max-width:440px;padding:52px 60px 48px;animation:.55s cubic-bezier(.34,1.56,.64,1) both card-in;position:relative;box-shadow:0 4px 6px #0000000a,0 12px 40px #ffa0642e,0 0 0 1.5px #ffc8a059}@keyframes card-in{0%{opacity:0;transform:translateY(28px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.rainbow-bg .card{animation:none;box-shadow:0 8px 48px #0000002e,0 0 0 2px #ffffff80}.card:before{content:"✦  ✦  ✦";letter-spacing:6px;color:#ffb699;margin-bottom:20px;font-size:10px;display:block}.card-title{color:#3d2b1f;letter-spacing:-.5px;margin:0 0 10px;font-family:Pacifico,cursive;font-size:2.1rem;font-weight:400;line-height:1.2}.card-sub{color:#b08070;letter-spacing:.3px;margin:0 0 32px;font-size:.95rem;font-weight:600}form{flex-direction:column;gap:14px;display:flex}input{color:#3d2b1f;text-align:center;background:#fff5ee;border:2px solid #ffd4b8;border-radius:50px;outline:none;padding:14px 20px;font-family:Nunito,sans-serif;font-size:1.05rem;font-weight:600;transition:border-color .2s,box-shadow .2s}input::placeholder{color:#d4a898;font-weight:400}input:focus{border-color:#ff9a6c;box-shadow:0 0 0 4px #ff9a6c26}.btn{color:#fff;cursor:pointer;letter-spacing:.3px;background:linear-gradient(135deg,#ff9a6c,#ff6b4a);border:none;border-radius:50px;padding:14px 28px;font-family:Nunito,sans-serif;font-size:1rem;font-weight:700;transition:transform .15s,box-shadow .15s;box-shadow:0 4px 16px #ff6b4a59}.btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #ff6b4a73}.btn:active{transform:translateY(0)}.hello-name{color:#3d2b1f;margin:0 0 28px;font-family:Pacifico,cursive;font-size:2.5rem;font-weight:400;line-height:1.2}.hello-wave{transform-origin:70% 80%;font-size:2.5rem;animation:1.2s ease-in-out infinite wave;display:inline-block}@keyframes wave{0%,to{transform:rotate(0)}20%{transform:rotate(18deg)}40%{transform:rotate(-8deg)}60%{transform:rotate(14deg)}80%{transform:rotate(-4deg)}}.justin-title{background:linear-gradient(90deg,#ff595e,#ff924c,#ffca3a,#8ac926,#1982c4,#6a4c93,#ff595e) 0 0/300% 100%;-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0 0 16px;font-family:Pacifico,cursive;font-size:2.2rem;font-weight:400;line-height:1.25;animation:2s linear infinite rainbow-text-scroll}@keyframes rainbow-text-scroll{0%{background-position:0%}to{background-position:300%}}.justin-sub{color:#3d2b1f;margin:0 0 32px;font-size:1.15rem;font-weight:700;line-height:1.5}.btn-again{background:linear-gradient(135deg,#a855f7,#6a4c93);box-shadow:0 4px 16px #6a4c9359}.btn-again:hover{box-shadow:0 6px 20px #6a4c9373}
