*{margin:0;padding:0;box-sizing:border-box}body,html{min-height:100vh}body{font-family:Comic Sans MS,cursive,sans-serif;background:linear-gradient(135deg,#ff9a9e,#fecfef 50%,#fecfef);display:flex;align-items:center;justify-content:center;overflow-x:hidden;position:relative}.sakura{position:fixed;color:#ffb7c5;font-size:20px;animation:fall linear infinite;pointer-events:none;z-index:-1}@keyframes fall{0%{transform:translateY(-100vh) rotate(0deg);opacity:1}to{transform:translateY(100vh) rotate(1turn);opacity:0}}.container{text-align:center;padding:20px;max-width:800px;width:100%;background:hsla(0,0%,100%,.1);border-radius:30px;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);border:2px solid hsla(0,0%,100%,.3);box-shadow:0 20px 40px rgba(0,0,0,.1);position:relative;z-index:1;overflow:visible}h1{background:linear-gradient(45deg,#ff6b9d,#c44569,#f8b500);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-size:3.5rem;margin-bottom:1rem;text-shadow:2px 2px 4px rgba(0,0,0,.1);animation:rainbow 3s ease-in-out infinite alternate;font-weight:700}@keyframes rainbow{0%{filter:hue-rotate(0deg)}to{filter:hue-rotate(30deg)}}.subtitle{color:#666;font-size:1.3rem}.main-button,.subtitle{margin-bottom:2rem;font-weight:700}.main-button{background:linear-gradient(45deg,#ff6b9d,#ee5a6f,#f093fb);border:none;border-radius:50%;width:220px;height:220px;font-size:1.5rem;color:#fff;cursor:pointer;transition:all .3s ease;box-shadow:0 15px 35px rgba(238,90,111,.4);position:relative;overflow:hidden;text-shadow:2px 2px 4px rgba(0,0,0,.3)}.main-button:hover{transform:scale(1.05) rotate(2deg);box-shadow:0 20px 45px rgba(238,90,111,.6)}.main-button:active{transform:scale(.95)}.main-button.clicked{animation:bounce-spin .8s ease}@keyframes bounce-spin{0%,to{transform:scale(1) rotate(0deg)}25%{transform:scale(1.1) rotate(-5deg)}50%{transform:scale(1.2) rotate(5deg)}75%{transform:scale(1.1) rotate(-2deg)}}.image-container{position:relative;width:320px;height:320px;margin:0 auto 2rem;border-radius:25px;overflow:hidden;box-shadow:0 15px 35px rgba(0,0,0,.2);opacity:0;transform:translateY(30px);transition:all .6s ease;background:hsla(0,0%,100%,.1);display:flex;align-items:center;justify-content:center;border:3px solid hsla(0,0%,100%,.3)}.image-container.visible{opacity:1;transform:translateY(0)}.anime-image{width:100%;height:100%;object-fit:cover;border-radius:22px}.placeholder-text{color:#666;font-size:1.2rem;text-align:center;font-weight:700}.counter{color:#ff6b9d;font-size:1.8rem;background:rgba(255,107,157,.1);border-radius:15px;border:2px solid rgba(255,107,157,.3)}.counter,.global-counter{margin-bottom:1rem;font-weight:700;text-shadow:2px 2px 4px rgba(0,0,0,.1);padding:10px 20px}.global-counter{color:#667eea;font-size:1.5rem;background:rgba(102,126,234,.1);border-radius:15px;border:2px solid rgba(102,126,234,.3)}.upload-section{background:hsla(0,0%,100%,.2);border-radius:20px;padding:25px;margin-bottom:2rem;border:2px dashed rgba(255,107,157,.5)}.upload-area{cursor:pointer;transition:all .3s ease;padding:20px;border-radius:15px}.upload-area:hover{background:hsla(0,0%,100%,.1);border-color:rgba(255,107,157,.8)}.upload-area.dragover{border-color:#ff6b6b;background:hsla(0,100%,71%,.1)}.upload-button{background:linear-gradient(45deg,#667eea,#764ba2);color:#fff;border:none;padding:12px 25px;border-radius:25px;cursor:pointer;font-size:1.1rem;font-weight:700;transition:all .3s ease}.upload-button:hover{transform:translateY(-3px);box-shadow:0 8px 20px rgba(102,126,234,.4)}.file-input{display:none}.stats{display:flex;justify-content:space-around;margin-top:1.5rem;flex-wrap:wrap;gap:15px}.stat-item{background:linear-gradient(45deg,hsla(0,0%,100%,.2),hsla(0,0%,100%,.1));padding:15px 20px;border-radius:20px;color:#666;font-weight:700;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid hsla(0,0%,100%,.3)}.notification{position:fixed;top:30px;right:30px;padding:18px 25px;border-radius:15px;color:#fff;font-weight:700;z-index:1000;animation:slideInNotif .4s ease;max-width:320px;box-shadow:0 10px 25px rgba(0,0,0,.2)}.notification.success{background:linear-gradient(45deg,#4caf50,#45a049)}.notification.error{background:linear-gradient(45deg,#f44336,#d32f2f)}.notification.warning{background:linear-gradient(45deg,#ff9800,#f57c00)}@keyframes slideInNotif{0%{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}.floating-text{position:fixed;pointer-events:none;font-size:2.5rem;color:#ff6b9d;font-weight:700;animation:float-up 2s ease-out forwards;text-shadow:3px 3px 6px rgba(0,0,0,.3);z-index:100}@keyframes float-up{0%{opacity:1;transform:scale(.8) translateY(0) rotate(-10deg)}50%{transform:scale(1.2) translateY(-60px) rotate(5deg)}to{opacity:0;transform:scale(1) translateY(-120px) rotate(0deg)}}.hearts{position:fixed;pointer-events:none;font-size:2rem;color:#ff69b4;animation:hearts-float 2s ease-out forwards}@keyframes hearts-float{0%{opacity:1;transform:translateY(0) rotate(0deg) scale(.5)}50%{transform:translateY(-80px) rotate(180deg) scale(1.2)}to{opacity:0;transform:translateY(-160px) rotate(1turn) scale(.8)}}.donate-btn{position:fixed;bottom:20px;right:20px;z-index:9999;background:linear-gradient(45deg,#ff6b9d,#f093fb);padding:12px 25px;border-radius:25px;color:#fff!important;font-weight:700;font-size:1.2rem;text-decoration:none;box-shadow:0 6px 18px rgba(0,0,0,.3);transition:all .3s ease;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);display:block;cursor:pointer;margin:0;animation:pulse 2s infinite}@keyframes pulse{0%,to{transform:scale(1);box-shadow:0 8px 25px rgba(255,107,157,.5)}50%{transform:scale(1.1);box-shadow:0 12px 35px rgba(255,107,157,.7)}}.donate-btn:hover{transform:scale(1.1) translateY(-2px);box-shadow:0 15px 40px rgba(255,107,157,.9);animation:none;color:#fff!important}.donate-btn:active{transform:scale(.95)}@media (max-width:768px){.donate-btn{bottom:10px;right:10px;padding:10px 18px;font-size:1rem}}@media (max-width:480px){.donate-btn{font-size:.9rem;padding:8px 16px}}.loading{color:#fff;font-size:1.1rem;margin-top:10px}.loading:after{content:"...";animation:dots 1.5s steps(3) infinite}@keyframes dots{0%,20%{color:transparent;text-shadow:.25em 0 0 transparent,.5em 0 0 transparent}40%{color:#fff;text-shadow:.25em 0 0 transparent,.5em 0 0 transparent}60%{text-shadow:.25em 0 0 #fff,.5em 0 0 transparent}80%,to{text-shadow:.25em 0 0 #fff,.5em 0 0 #fff}}