*{margin:0;padding:0;box-sizing:border-box}body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}.container{background:#fffffff2;backdrop-filter:blur(10px);border-radius:20px;padding:40px;box-shadow:0 20px 40px #0000001a;max-width:600px;width:100%;text-align:center}h1{color:#333;margin-bottom:10px;font-size:2.5em;font-weight:300}.subtitle{color:#666;margin-bottom:30px;font-size:1.1em}.upload-area{border:3px dashed #ddd;border-radius:15px;padding:40px 20px;margin:30px 0;transition:all .3s ease;cursor:pointer;background:#f8fafccc}.upload-area:hover{border-color:#667eea;background:#667eea0d;transform:translateY(-2px)}.upload-area.dragover{border-color:#667eea;background:#667eea1a;transform:scale(1.02)}.upload-icon{font-size:4em;color:#ddd;margin-bottom:20px;transition:color .3s ease}.upload-area:hover .upload-icon{color:#667eea}.upload-text{color:#666;font-size:1.2em;margin-bottom:10px}.upload-subtext{color:#999;font-size:.9em}.subtle{color:#666;font-size:.7em}#fileInput{display:none}.btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:15px 30px;border-radius:25px;font-size:1.1em;cursor:pointer;transition:all .3s ease;margin:10px;box-shadow:0 4px 15px #667eea4d}.btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.btn:disabled{background:#ccc;cursor:not-allowed;transform:none;box-shadow:none}.preview-section{margin:30px 0;display:none}.preview-container{background:#fff;border-radius:10px;padding:20px;box-shadow:0 4px 10px #0000001a}#imagePreview{max-width:100%;max-height:300px;border-radius:8px;box-shadow:0 4px 15px #0000001a}.image-info{margin-top:15px;color:#666;font-size:.9em}.progress-section{margin:20px 0;display:none}.progress-bar{width:100%;height:6px;background:#f0f0f0;border-radius:3px;overflow:hidden;margin-bottom:10px}.progress-fill{height:100%;background:linear-gradient(90deg,#667eea,#764ba2);width:0%;transition:width .3s ease}.status-text{color:#666;font-size:.9em}.error{background:linear-gradient(135deg,#ff6b6b,#ee5a24);color:#fff;padding:15px;border-radius:10px;margin:20px 0;display:none}.success{background:linear-gradient(135deg,#51cf66,#40c057);color:#fff;padding:15px;border-radius:10px;margin:20px 0;display:none}canvas{display:none}@media (max-width: 768px){.container{padding:20px;margin:10px}h1{font-size:2em}}
