*{margin:0;padding:0;box-sizing:border-box}html{-webkit-overflow-scrolling:touch}body,html{overflow-y:auto}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:linear-gradient(135deg,#0f0c29,#302b63 50%,#24243e);background-size:200% 200%;background-attachment:fixed;animation:gradientShift 15s ease infinite;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;position:relative;overflow-x:hidden}body:before{width:500px;height:500px;background:radial-gradient(circle,rgba(138,43,226,.15) 0,transparent 70%);top:-250px;right:-250px;animation:float 20s ease-in-out infinite}body:after,body:before{content:"";position:absolute;border-radius:50%}body:after{width:400px;height:400px;background:radial-gradient(circle,rgba(255,20,147,.12) 0,transparent 70%);bottom:-200px;left:-200px;animation:float 15s ease-in-out infinite reverse}@keyframes gradientShift{0%,to{background-position:0 50%}50%{background-position:100% 50%}}@keyframes float{0%,to{transform:translate(0) rotate(0deg)}33%{transform:translate(30px,-30px) rotate(120deg)}66%{transform:translate(-20px,20px) rotate(240deg)}}.container{max-width:650px;width:100%;background:rgba(20,20,30,.85);border-radius:32px;padding:56px;box-shadow:0 30px 90px rgba(0,0,0,.5),inset 0 0 0 1px rgba(138,43,226,.3);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);position:relative;z-index:1;transition:transform .3s ease;border:1px solid rgba(138,43,226,.2);margin:20px auto}.container:hover{transform:translateY(-5px);box-shadow:0 35px 100px rgba(138,43,226,.3),inset 0 0 0 1px rgba(138,43,226,.4)}@media (max-width:768px){.container{padding:32px 24px;border-radius:24px;margin:10px}.container:hover{transform:none}}.title{font-size:52px;font-weight:900;text-align:center;margin-bottom:16px;background:linear-gradient(135deg,#a855f7,#ec4899 50%,#f472b6);background-size:200% 200%;animation:gradientShift 8s ease infinite;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-1px;filter:drop-shadow(0 4px 20px rgba(168,85,247,.5))}.subtitle{text-align:center;color:#a0a0b0;font-size:19px;margin-bottom:48px;font-weight:500;letter-spacing:.3px}.input-group{margin-bottom:32px;position:relative}.input{width:100%;padding:20px 24px;font-size:18px;border:2px solid rgba(138,43,226,.3);border-radius:16px;outline:none;transition:all .4s cubic-bezier(.4,0,.2,1);background:rgba(30,30,45,.6);color:#e0e0e0;font-weight:500}.input:focus{border-color:rgba(168,85,247,.6);box-shadow:0 8px 30px rgba(168,85,247,.3),0 0 0 3px rgba(168,85,247,.1);transform:translateY(-2px);background:rgba(30,30,45,.8)}.input::placeholder{color:#707080;font-weight:400}.button{width:100%;padding:20px;font-size:21px;font-weight:800;color:#fff;background:linear-gradient(135deg,#a855f7,#ec4899 50%,#f472b6);background-size:200% 200%;border:none;border-radius:16px;cursor:pointer;transition:all .4s cubic-bezier(.4,0,.2,1);box-shadow:0 8px 25px rgba(168,85,247,.5);letter-spacing:.5px;position:relative;overflow:hidden}.button:disabled{opacity:.6;cursor:not-allowed;transform:none}.button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.3),transparent);transition:left .5s}.button:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 12px 35px rgba(168,85,247,.7);background-position:100% 50%}.button:hover:not(:disabled):before{left:100%}.button:active:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 20px rgba(168,85,247,.6)}.result{margin-top:48px;padding:40px;background:rgba(30,30,45,.6);border-radius:24px;animation:fadeIn .6s cubic-bezier(.4,0,.2,1);border:2px solid rgba(168,85,247,.3);box-shadow:0 10px 40px rgba(0,0,0,.4)}@keyframes fadeIn{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.result-title{font-size:28px;font-weight:800;color:#e0e0e0;margin-bottom:24px;text-align:center;letter-spacing:-.5px}.stars{display:flex;justify-content:center;gap:12px;margin-bottom:28px;font-size:42px;flex-wrap:wrap}.star{animation:starPop .5s cubic-bezier(.68,-.55,.265,1.55);filter:drop-shadow(0 4px 8px rgba(255,215,0,.5));flex-shrink:0}@keyframes starPop{0%{transform:scale(0) rotate(-180deg);opacity:0}50%{transform:scale(1.3) rotate(10deg)}to{transform:scale(1) rotate(0deg);opacity:1}}.image-container{width:100%;height:350px;border-radius:20px;overflow:hidden;margin-bottom:28px;background:rgba(20,20,30,.8);display:flex;align-items:center;justify-content:center;box-shadow:0 8px 30px rgba(0,0,0,.5);border:3px solid rgba(168,85,247,.3);position:relative}.image-container:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(168,85,247,.15),rgba(236,72,153,.15));opacity:0;transition:opacity .3s}.image-container:hover:before{opacity:1}.result-image{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.image-container:hover .result-image{transform:scale(1.05)}.reason{font-size:19px;line-height:1.8;color:#c0c0d0;padding:24px 28px;background:rgba(40,40,60,.6);border-radius:16px;font-weight:500;box-shadow:0 4px 15px rgba(0,0,0,.3);border:1px solid rgba(168,85,247,.2)}.emoji,.reason{text-align:center}.emoji{font-size:96px;margin-bottom:20px;animation:emojiFloat 3s ease-in-out infinite;filter:drop-shadow(0 4px 12px rgba(168,85,247,.4))}@keyframes emojiFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@media (max-width:768px){.title{font-size:36px}.subtitle{font-size:16px;margin-bottom:32px}.input{padding:16px 20px;font-size:16px}.button{padding:16px;font-size:18px}.result{padding:24px;margin-top:32px}.result-title{font-size:22px}.stars{font-size:32px;gap:8px}.emoji{font-size:72px}.image-container{height:250px}.reason{font-size:16px;padding:20px}}@media (max-width:480px){body{padding:10px}.container{padding:24px 16px}.title{font-size:28px}.subtitle{font-size:14px}.stars{font-size:28px}.emoji{font-size:64px}.image-container{height:200px}}