@import "https://fonts.googleapis.com/css2?family=Lilita+One&family=Nunito:wght@400;600;700;800&display=swap";
*{box-sizing:border-box;margin:0;padding:0}body{color:#2d4a3e;background:#e6f7ec;min-height:100vh;font-family:Nunito,system-ui,sans-serif;position:relative;overflow:hidden}.bg-scene{z-index:0;background:linear-gradient(170deg,#b6e8c8 0%,#e6f7ec 30%,#fff8e1 60%,#fce4b8 85%,#f7d794 100%);position:fixed;inset:0;overflow:hidden}.wave{opacity:.5;width:110%;position:absolute;bottom:0;left:-5%}.wave svg{width:100%;display:block}.wave-1{animation:7s ease-in-out infinite sway;bottom:-5px}.wave-2{opacity:.3;animation:9s ease-in-out infinite reverse sway;bottom:10px}@keyframes sway{0%,to{transform:translate(0)}50%{transform:translate(20px)}}.bg-photo-stream{z-index:1;pointer-events:none;position:fixed;inset:0;overflow:hidden}.bg-photo-stream>*{pointer-events:auto}.bg-photo{object-fit:cover;opacity:0;will-change:transform;border:3px solid #fff9;border-radius:12px;width:100px;height:100px;position:absolute;box-shadow:0 4px 12px #0000001a}.bg-photo.fall{animation:linear forwards photoFall}.bg-photo.windmill{animation:linear forwards photoWindmill}.bg-photo.drift{animation:linear forwards photoDrift}@keyframes photoFall{0%{opacity:0;transform:translateY(-120px)rotate(0)}5%{opacity:.35}90%{opacity:.35}to{opacity:0;transform:translateY(calc(100vh + 120px))rotate(360deg)}}@keyframes photoWindmill{0%{opacity:0;transform:translateY(-120px)rotate(0)scale(.8)}5%{opacity:.3}90%{opacity:.3}to{opacity:0;transform:translateY(calc(100vh + 120px))rotate(1080deg)scale(.8)}}@keyframes photoDrift{0%{opacity:0;transform:translateY(-120px)translate(0)rotate(-10deg)}5%{opacity:.3}25%{transform:translateY(25vh)translate(40px)rotate(5deg)}50%{transform:translateY(50vh)translate(-30px)rotate(-8deg)}75%{transform:translateY(75vh)translate(20px)rotate(3deg)}90%{opacity:.3}to{opacity:0;transform:translateY(calc(100vh + 120px))translate(-10px)rotate(-5deg)}}.deco{opacity:.5;z-index:2;pointer-events:none;-webkit-user-select:none;user-select:none;font-size:2.5rem;animation:6s ease-in-out infinite bobble;position:fixed}@keyframes bobble{0%,to{transform:translateY(0)rotate(0)}25%{transform:translateY(-15px)rotate(5deg)}50%{transform:translateY(-5px)rotate(-3deg)}75%{transform:translateY(-20px)rotate(3deg)}}.main-content{z-index:10;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex;position:relative}.card{-webkit-backdrop-filter:blur(16px);text-align:center;background:#ffffffd1;border:2px solid #fff9;border-radius:28px;width:100%;max-width:480px;padding:3rem 2.5rem;box-shadow:0 8px 32px #2d4a3e1a,0 2px 8px #2d4a3e0f}.title{color:#1a7a4c;text-shadow:2px 2px #1a7a4c1a;margin-bottom:.1em;font-family:Lilita One,cursive;font-size:clamp(2.2rem,6vw,3.2rem);line-height:1.1}.subtitle{color:#f5a623;text-shadow:1px 1px #f5a62326;margin-bottom:1.5rem;font-family:Lilita One,cursive;font-size:clamp(1.4rem,4vw,2rem)}.prompt{color:#5a8a72;margin-bottom:1.2rem;font-size:1.05rem;font-weight:600;line-height:1.5}.input-wrapper{width:100%;position:relative}input{color:#2d4a3e;text-align:center;letter-spacing:.12em;background:#fff;border:3px solid #b6e8c8;border-radius:16px;outline:none;width:100%;padding:14px 20px;font-family:Nunito,system-ui,sans-serif;font-size:1.2rem;font-weight:700;transition:all .25s}input:focus{border-color:#1a7a4c;box-shadow:0 0 0 4px #1a7a4c1f}input::placeholder{color:#a3c9b5;letter-spacing:.08em;font-weight:600}.success-card{-webkit-backdrop-filter:blur(16px);text-align:center;background:#ffffffd9;border:2px solid #1a7a4c33;border-radius:28px;width:100%;max-width:440px;padding:3rem 2.5rem;box-shadow:0 8px 32px #2d4a3e1a,0 2px 8px #2d4a3e0f}.success-emoji{margin-bottom:1rem;font-size:3rem;animation:.6s ease-out partyBounce}.success-link{color:#fff;letter-spacing:.04em;background:linear-gradient(135deg,#1a7a4c,#2db874);border-radius:16px;padding:16px 48px;font-family:Lilita One,cursive;font-size:1.4rem;text-decoration:none;transition:all .25s;display:inline-block;box-shadow:0 4px 16px #1a7a4c4d}.success-link:hover{transform:translateY(-3px)scale(1.03);box-shadow:0 8px 24px #1a7a4c59}.big-btn{text-align:center;border:3px solid #ffffff80;border-radius:20px;padding:20px 32px;font-family:Nunito,system-ui,sans-serif;font-size:1.2rem;font-weight:800;line-height:1.4;animation:2s ease-in-out infinite btnPulse;display:block;box-shadow:0 6px 20px #1a7a4c59,0 2px 4px #0000001a,inset 0 1px #ffffff40}@keyframes btnPulse{0%,to{box-shadow:0 6px 20px #1a7a4c59,0 2px 4px #0000001a}50%{box-shadow:0 6px 30px #1a7a4c80,0 2px 4px #0000001a,0 0 0 6px #1a7a4c1a}}@keyframes partyBounce{0%{transform:scale(0)}50%{transform:scale(1.3)}70%{transform:scale(.9)}to{transform:scale(1)}}.photo-overlay{z-index:100;-webkit-backdrop-filter:blur(6px);background:#e6f7eccc;justify-content:center;align-items:center;animation:.3s ease-out overlayIn;display:flex;position:fixed;inset:0}@keyframes overlayIn{0%{opacity:0}to{opacity:1}}.photo-popup{border:4px solid #fff;border-radius:24px;max-width:85vw;max-height:80vh;animation:.5s cubic-bezier(.34,1.56,.64,1) popIn;position:relative;overflow:hidden;box-shadow:0 20px 60px #2d4a3e33,0 4px 16px #2d4a3e1a}@keyframes popIn{0%{opacity:0;transform:scale(.3)rotate(-8deg)}to{opacity:1;transform:scale(1)rotate(0)}}.photo-popup img{object-fit:contain;max-width:85vw;max-height:80vh;display:block}.dismiss-btn{color:#fff;cursor:pointer;background:#1a7a4c;border:3px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.1rem;font-weight:800;line-height:1;transition:all .2s;display:flex;position:absolute;top:10px;right:10px;box-shadow:0 2px 8px #0003}.dismiss-btn:hover{background:#e74c3c;transform:scale(1.15)rotate(90deg)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.fade-in-up{animation:.5s ease-out fadeInUp}.anim-delay-1{animation:.5s ease-out .1s both fadeInUp}.anim-delay-2{animation:.5s ease-out .2s both fadeInUp}.anim-delay-3{animation:.5s ease-out .35s both fadeInUp}.bg-photo.poof{pointer-events:none!important;animation:.5s ease-out forwards poofOut!important}@keyframes poofOut{0%{opacity:.35;filter:blur();transform:scale(1)rotate(0)}30%{opacity:.5;transform:scale(1.4)rotate(15deg)}to{opacity:0;filter:blur(12px);transform:scale(2.5)rotate(40deg)}}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-10px)}40%{transform:translate(10px)}60%{transform:translate(-6px)}80%{transform:translate(6px)}}.shake{animation:.45s ease-out shake}.wrong-glow{border-color:#e74c3c!important;box-shadow:0 0 0 4px #e74c3c26!important}
