@import"https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;600;700;800&family=Plus+Jakarta+Sans:wght@300;400;500;600;700&display=swap";:root{--bg-color: #050308;--text-primary: #ffffff;--text-secondary: rgba(255, 255, 255, .75);--text-muted: rgba(255, 255, 255, .45);--primary-purple: #c084fc;--primary-purple-glow: rgba(192, 132, 252, .35);--accent-pink: #f472b6;--accent-pink-glow: rgba(244, 114, 182, .25);--glass-bg: rgba(12, 8, 22, .7);--glass-border: rgba(255, 255, 255, .08);--glass-border-hover: rgba(192, 132, 252, .4);font-family:Plus Jakarta Sans,sans-serif;color-scheme:dark}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-color);color:var(--text-primary);min-height:100vh;overflow-x:hidden;position:relative;display:flex;justify-content:center;align-items:center;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.orb-container{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:-2;overflow:hidden;pointer-events:none}.orb{position:absolute;border-radius:50%;filter:blur(140px);opacity:.4;mix-blend-mode:screen;animation:float 25s infinite ease-in-out}.orb-purple{width:600px;height:600px;background:radial-gradient(circle,#8b5cf6,#8b5cf600 70%);top:-15%;left:-10%;animation-duration:30s}.orb-pink{width:650px;height:650px;background:radial-gradient(circle,#db2777,#db277700 70%);bottom:-20%;right:-10%;animation-duration:35s;animation-delay:-7s}.orb-white{width:400px;height:400px;background:radial-gradient(circle,#ffffff1f,#fff0 70%);top:35%;left:30%;animation-duration:22s;animation-delay:-3s}.starfield{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:-1;pointer-events:none;background-image:radial-gradient(1.5px 1.5px at 30px 40px,#fff,#0000),radial-gradient(2px 2px at 70px 110px,#fff,#0000),radial-gradient(1.5px 1.5px at 120px 60px,#ffffffd9,#0000),radial-gradient(2px 2px at 180px 160px,#fff,#0000),radial-gradient(1.5px 1.5px at 240px 90px,#c084fce6,#0000),radial-gradient(2.5px 2.5px at 290px 240px,#fff,#0000);background-repeat:repeat;background-size:350px 350px;opacity:.3;animation:twinkle 10s infinite linear}@keyframes float{0%,to{transform:translate(0) scale(1)}33%{transform:translate(60px,40px) scale(1.15)}66%{transform:translate(-40px,90px) scale(.9)}}@keyframes twinkle{0%,to{opacity:.25}50%{opacity:.45}}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-color)}::-webkit-scrollbar-thumb{background:#c084fc40;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#c084fc73}input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}.app-wrapper{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;min-height:100vh;padding:40px 20px;z-index:1}.sparkle-icon{position:absolute;color:#fff;opacity:.7;pointer-events:none;filter:drop-shadow(0 0 8px rgba(192,132,252,.8))}.sparkle-1{top:10%;left:15%;animation:sparkle-blink 4s infinite ease-in-out;font-size:24px}.sparkle-2{bottom:15%;right:15%;animation:sparkle-blink 5s infinite ease-in-out;animation-delay:1.5s;font-size:30px}.sparkle-3{top:25%;right:20%;animation:sparkle-blink 3s infinite ease-in-out;animation-delay:.5s;font-size:18px}.sparkle-4{bottom:25%;left:20%;animation:sparkle-blink 4.5s infinite ease-in-out;animation-delay:2.2s;font-size:20px}@keyframes sparkle-blink{0%,to{transform:scale(0) rotate(0);opacity:0}50%{transform:scale(1) rotate(180deg);opacity:.8}}.glass-card{width:100%;max-width:480px;background:var(--glass-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border);border-radius:28px;padding:40px 32px;box-shadow:0 24px 60px #0009,inset 0 1px #ffffff1a,0 0 40px #c084fc26;transition:border-color .4s ease,box-shadow .4s ease;position:relative}.glass-card:before{content:"";position:absolute;inset:0;border-radius:28px;padding:1px;background:linear-gradient(135deg,#ffffff1f,#c084fc1a 40%,#f472b60d 70%,#ffffff08);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}.glass-card:hover{border-color:var(--glass-border-hover);box-shadow:0 24px 60px #0009,inset 0 1px #ffffff26,0 0 50px #c084fc40}.card-header{text-align:center;margin-bottom:32px}.card-title{font-family:Outfit,sans-serif;font-size:32px;font-weight:700;letter-spacing:-.5px;background:linear-gradient(135deg,#fff 20%,#e2d1f9,#c084fc);-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:8px}.card-subtitle{font-size:14px;color:var(--text-secondary);line-height:1.5}.dropzone-container{margin-bottom:24px}.dropzone-label{display:block;font-size:14px;font-weight:500;color:var(--text-secondary);margin-bottom:8px;padding-left:4px}.dropzone-area{position:relative;width:100%;min-height:140px;border:2px dashed rgba(255,255,255,.15);border-radius:20px;background:#ffffff05;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);overflow:hidden}.dropzone-area:hover{border-color:var(--primary-purple);background:#c084fc0d;box-shadow:0 0 20px #c084fc26}.dropzone-icon{font-size:32px;margin-bottom:12px;filter:drop-shadow(0 0 8px rgba(192,132,252,.5));transition:transform .3s ease}.dropzone-area:hover .dropzone-icon{transform:translateY(-4px) scale(1.1)}.dropzone-text{font-size:14px;color:var(--text-secondary);text-align:center;margin-bottom:4px}.dropzone-subtext{font-size:12px;color:var(--text-muted)}.file-selected-info{display:flex;flex-direction:column;align-items:center;justify-content:center}.file-name-display{font-size:15px;font-weight:600;color:#fff;word-break:break-all;text-align:center;margin-bottom:8px;background:#c084fc26;padding:6px 16px;border-radius:100px;border:1px solid rgba(192,132,252,.3);box-shadow:0 0 15px #c084fc1a}.file-change-action{font-size:12px;color:var(--primary-purple);text-decoration:underline;cursor:pointer}.input-group{margin-bottom:28px}.input-label{display:block;font-size:14px;font-weight:500;color:var(--text-secondary);margin-bottom:8px;padding-left:4px}.input-wrapper{position:relative;width:100%}.custom-input{width:100%;height:52px;padding:0 18px;font-size:16px;font-family:inherit;color:#fff;background:#ffffff08;border:1px solid rgba(255,255,255,.12);border-radius:16px;outline:none;transition:all .3s ease}.custom-input::placeholder{color:var(--text-muted)}.custom-input:focus{border-color:var(--primary-purple);background:#c084fc08;box-shadow:0 0 0 1px var(--primary-purple),0 0 20px #c084fc40}.btn-primary{position:relative;width:100%;height:52px;border-radius:16px;background:linear-gradient(135deg,#a855f7,#db2777);border:none;color:#fff;font-size:16px;font-weight:600;cursor:pointer;overflow:hidden;display:flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 8px 25px #a855f759,0 0 15px #db277733;transition:all .3s cubic-bezier(.25,.8,.25,1)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 12px 30px #a855f780,0 0 25px #db27774d}.btn-primary:active{transform:translateY(1px);box-shadow:0 4px 15px #a855f74d}.btn-primary:after{content:"";position:absolute;top:0;left:-50%;width:25%;height:100%;background:linear-gradient(90deg,#fff0,#ffffff4d,#fff0);transform:skew(-25deg);transition:none}.btn-primary:hover:after{animation:shine-sweep 1s ease-in-out}@keyframes shine-sweep{0%{left:-50%}to{left:125%}}.divider{display:flex;align-items:center;text-align:center;margin:32px 0 24px;color:var(--text-muted);font-size:12px}.divider:before,.divider:after{content:"";flex:1;border-bottom:1px solid rgba(255,255,255,.08)}.divider:not(:empty):before{margin-right:12px}.divider:not(:empty):after{margin-left:12px}.btn-secondary{position:relative;width:100%;height:48px;border-radius:16px;background:#ffffff05;border:1px solid rgba(255,255,255,.1);color:var(--text-secondary);font-size:14px;font-weight:500;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .3s ease}.btn-secondary:hover{background:#ffffff0d;color:#fff;border-color:#c084fc66;box-shadow:0 0 15px #c084fc1a}.btn-secondary:active{transform:scale(.98)}
