*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh;padding:2rem}.container{max-width:1200px;margin:0 auto;background:#fff;border-radius:20px;padding:3rem;box-shadow:0 20px 60px #0000004d}h1{text-align:center;color:#333;margin-bottom:2rem;font-size:2.5rem}.form{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:3rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-weight:600;color:#555;font-size:1rem}.file-input{padding:.75rem;border:2px dashed #667eea;border-radius:8px;cursor:pointer;background:#f8f9ff;transition:all .3s ease}.file-input:hover{border-color:#764ba2;background:#f0f1ff}.slider{width:100%;height:8px;border-radius:4px;background:#e0e0e0;outline:none;-webkit-appearance:none}.slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background:#667eea;cursor:pointer;transition:all .3s ease}.slider::-webkit-slider-thumb:hover{background:#764ba2;transform:scale(1.2)}.slider::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:#667eea;cursor:pointer;border:none;transition:all .3s ease}.slider::-moz-range-thumb:hover{background:#764ba2;transform:scale(1.2)}.error{background:#fee;color:#c33;padding:1rem;border-radius:8px;border-left:4px solid #c33}.btn-primary,.btn-secondary{padding:1rem 2rem;border:none;border-radius:8px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 20px #667eea66}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:#28a745;color:#fff;margin-top:1rem}.btn-secondary:hover{background:#218838;transform:translateY(-2px);box-shadow:0 10px 20px #28a74566}.preview-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem}.preview{display:flex;flex-direction:column;gap:1rem}.preview h3{color:#555;font-size:1.3rem;text-align:center}.preview img{width:100%;height:auto;border-radius:12px;box-shadow:0 4px 15px #0000001a;border:1px solid #e0e0e0}@media(max-width:768px){.container{padding:1.5rem}h1{font-size:2rem}.preview-container{grid-template-columns:1fr}}
