@import url("https://fonts.cdnfonts.com/css/waltograph");:root{--primary-color:#6366f1;--primary-dark:#4f46e5;--primary-light:#818cf8;--secondary-color:#ec4899;--success-color:#10b981;--warning-color:#f59e0b;--error-color:#ef4444;--text-primary:#1f2937;--text-secondary:#6b7280;--text-light:#9ca3af;--bg-primary:#ffffff;--bg-secondary:#f9fafb;--bg-tertiary:#f3f4f6;--border-color:#e5e7eb;--shadow-sm:0 1px 2px 0 rgba(0,0,0,0.05);--shadow-md:0 4px 6px -1px rgba(0,0,0,0.1),0 2px 4px -1px rgba(0,0,0,0.06);--shadow-lg:0 10px 15px -3px rgba(0,0,0,0.1),0 4px 6px -2px rgba(0,0,0,0.05);--shadow-xl:0 20px 25px -5px rgba(0,0,0,0.1),0 10px 10px -5px rgba(0,0,0,0.04);--radius-sm:0.375rem;--radius-md:0.5rem;--radius-lg:0.75rem;--radius-xl:1rem}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:linear-gradient(135deg,#667eea,#764ba2);color:var(--text-primary);line-height:1.6;min-height:100vh;padding:1rem}.container{max-width:900px;margin:0 auto;animation:fadeIn .6s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.header{text-align:center;margin-bottom:2rem;padding:2rem 1rem}.title{font-size:3rem;font-weight:800;color:var(--bg-primary);margin-bottom:.5rem;text-shadow:2px 2px 4px rgba(0,0,0,.2);letter-spacing:-.02em}.subtitle{font-size:1.25rem;color:rgba(255,255,255,.95);font-weight:400;max-width:600px;margin:0 auto}.main-content{background:var(--bg-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);padding:2.5rem;min-height:400px}.upload-section{animation:slideIn .4s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.upload-area{border:3px dashed var(--border-color);border-radius:var(--radius-lg);padding:4rem 2rem;text-align:center;cursor:pointer;transition:all .3s ease;background:var(--bg-secondary)}.upload-area.drag-over,.upload-area:hover{border-color:var(--primary-color);background:rgba(99,102,241,.05);transform:scale(1.02)}.upload-icon{width:64px;height:64px;margin:0 auto 1.5rem;color:var(--primary-color)}.upload-title{font-size:1.75rem;font-weight:700;color:var(--text-primary);margin-bottom:.75rem}.upload-text{font-size:1.125rem;color:var(--text-secondary);margin-bottom:.5rem}.upload-hint{font-size:.875rem;color:var(--text-light)}.processing-section{animation:slideIn .4s ease-out}.processing-container{text-align:center;padding:3rem 1rem}.spinner{width:80px;height:80px;margin:0 auto 2rem;border:6px solid var(--bg-tertiary);border-top-color:var(--primary-color);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.processing-title{font-size:1.75rem;font-weight:700;color:var(--text-primary);margin-bottom:.75rem}.processing-text{font-size:1.125rem;color:var(--text-secondary);margin-bottom:2rem}.progress-bar{width:100%;max-width:400px;height:8px;background:var(--bg-tertiary);border-radius:999px;margin:0 auto;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,var(--primary-color),var(--primary-light));border-radius:999px;width:0;transition:width .3s ease;animation:progressPulse 1.5s ease-in-out infinite}@keyframes progressPulse{0%,to{opacity:1}50%{opacity:.7}}.result-section{animation:slideIn .4s ease-out}.result-container{text-align:center}.result-title{font-size:1.75rem;font-weight:700;color:var(--text-primary);margin-bottom:1.5rem}.image-container{margin-bottom:1.5rem;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lg)}.result-image{width:100%;height:auto;display:block;animation:imageReveal .6s ease-out}@keyframes imageReveal{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.warning-banner{display:flex;align-items:center;justify-content:center;gap:.75rem;background:rgba(245,158,11,.1);border:1px solid var(--warning-color);border-radius:var(--radius-md);padding:1rem 1.5rem;margin-bottom:2rem;color:#92400e;font-size:.9375rem;font-weight:500}.warning-icon{width:20px;height:20px;flex-shrink:0;color:var(--warning-color)}.button-group{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.error-section{animation:slideIn .4s ease-out}.error-container{text-align:center;padding:3rem 1rem}.error-icon{width:80px;height:80px;margin:0 auto 1.5rem;color:var(--error-color)}.error-title{font-size:1.75rem;font-weight:700;color:var(--text-primary);margin-bottom:.75rem}.error-text{font-size:1.125rem;color:var(--text-secondary);margin-bottom:2rem;max-width:500px;margin-left:auto;margin-right:auto}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.875rem 1.75rem;font-size:1rem;font-weight:600;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all .2s ease;text-decoration:none;outline:none}.btn-icon{width:20px;height:20px}.btn-primary{background:var(--primary-color);color:white;box-shadow:var(--shadow-sm)}.btn-primary:hover{background:var(--primary-dark);box-shadow:var(--shadow-md);transform:translateY(-2px)}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:var(--bg-secondary);color:var(--text-primary);border:2px solid var(--border-color)}.btn-secondary:hover{background:var(--bg-tertiary);border-color:var(--text-light)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.footer{text-align:center;margin-top:2rem;padding:1.5rem;color:rgba(255,255,255,.8);font-size:.875rem}@media (max-width:768px){body{padding:.5rem}.title{font-size:2rem}.subtitle{font-size:1rem}.main-content{padding:1.5rem}.upload-area{padding:3rem 1rem}.upload-icon{width:48px;height:48px}.upload-title{font-size:1.375rem}.upload-text{font-size:1rem}.error-title,.processing-title,.result-title{font-size:1.375rem}.button-group{flex-direction:column;width:100%}.btn{width:100%;justify-content:center}.warning-banner{font-size:.875rem;padding:.875rem 1rem}}@media (max-width:480px){.header{padding:1rem .5rem;margin-bottom:1rem}.title{font-size:1.75rem}.subtitle{font-size:.9375rem}.main-content{padding:1.25rem}.upload-area{padding:2rem 1rem}.error-icon,.spinner{width:60px;height:60px}}.hidden{display:none!important}.text-center{text-align:center}section{transition:opacity .3s ease}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#fafafa;padding:1rem}.login-container{width:100%;max-width:350px;background:white;padding:40px 40px 44px;text-align:center}.disney-header{margin-bottom:12px}.walt-disney-text{font-family:Waltograph,cursive;font-size:4rem;font-weight:400;color:#000;margin:0;line-height:1}.presents-text{font-family:Times New Roman,serif;font-size:.75rem;letter-spacing:.2em;color:#666;margin:4px 0;text-transform:uppercase}.instagram-text{font-family:Waltograph,cursive;font-size:2.5rem;color:#000;margin:0;line-height:1}.tagline{font-size:1rem;color:#737373;margin:16px 0 24px;font-weight:400}.login-form{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.login-input{width:100%;padding:9px 8px 7px;font-size:12px;line-height:16px;background:#fafafa;border:1px solid #dbdbdb;border-radius:3px;outline:none;transition:border-color .2s}.login-input::placeholder{color:#8e8e8e;font-size:12px}.login-input:focus{border-color:#a8a8a8;background:white}.login-button{width:100%;padding:7px 16px;margin-top:8px;background:#0095f6;border:none;border-radius:8px;color:white;font-size:14px;font-weight:600;cursor:pointer;transition:background .2s}.login-button:hover{background:#1877f2}.login-button:active{background:#0095f6;opacity:.7}@media (max-width:450px){.login-page{background:white}.login-container{padding:40px 20px}.instagram-text,.walt-disney-text{font-size:2rem}}