*{
  box-sizing:border-box;
}

body{
  margin:0;
  font-family:Arial,sans-serif;
  background:#f8f9fa;
  color:#333;
  line-height:1.6;
}

header{
  background:#007bff;
  color:#fff;
  text-align:center;
  padding:2rem 1rem;
}

header h1{
  margin:0;
  font-size:2.5rem;
}

header p{
  margin-top:10px;
}

main{
  max-width:1200px;
  margin:auto;
  padding:2rem 1rem;
}

section{
  background:#fff;
  margin-bottom:2rem;
  padding:2rem;
  border-radius:12px;
  box-shadow:0 4px 6px rgba(0,0,0,0.1);
}

.section-title{
  text-align:center;
  color:#007bff;
  margin-bottom:1.5rem;
}

.upload-area{
  border:2px dashed #007bff;
  border-radius:12px;
  padding:3rem 2rem;
  text-align:center;
  background:#f8f9ff;
  cursor:pointer;
  display:block;
}

.upload-area:hover{
  background:#e9f3ff;
}

.upload-icon{
  font-size:4rem;
  margin-bottom:1rem;
}

.file-input-offscreen{
  position:absolute;
  left:-9999px;
}

.controls{
  margin-top:2rem;
  text-align:center;
}

select{
  padding:12px;
  border-radius:6px;
  border:1px solid #ccc;
  margin:10px;
}

.btn-primary,
.btn-secondary{
  padding:12px 20px;
  border:none;
  border-radius:6px;
  cursor:pointer;
  font-size:1rem;
  margin:5px;
}

.btn-primary{
  background:#007bff;
  color:#fff;
}

.btn-primary:hover{
  background:#0056b3;
}

.btn-secondary{
  background:#6c757d;
  color:#fff;
}

.preview-section{
  display:none;
}

.preview-section.show{
  display:block;
}

.preview-box{
  text-align:center;
}

.preview-image{
  max-width:300px;
  width:100%;
  border-radius:10px;
  border:2px solid #007bff;
}

.image-info{
  margin-top:1rem;
}

.download-btn{
  display:inline-block;
  text-decoration:none;
}

.requirements-list{
  padding-left:20px;
}

.steps{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
  gap:2rem;
}

.step{
  text-align:center;
}

.step-number{
  width:60px;
  height:60px;
  background:#007bff;
  color:#fff;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  margin:auto;
  font-size:1.5rem;
  font-weight:bold;
}

.faq-item{
  margin-bottom:1rem;
}

.faq-question{
  width:100%;
  text-align:left;
  padding:1rem;
  border:none;
  background:#f1f1f1;
  border-radius:6px;
  cursor:pointer;
  font-weight:bold;
  color:#007bff;
}

.faq-answer{
  display:none;
  padding:1rem;
}

.faq-item.active .faq-answer{
  display:block;
}

footer{
  background:#f1f1f1;
  text-align:center;
  padding:2rem 1rem;
}

@media(max-width:768px){

  header h1{
    font-size:2rem;
  }

  section{
    padding:1.5rem;
  }

  .upload-area{
    padding:2rem 1rem;
  }

}

.upload-area.dragover{
  border-color:#28a745;
  background:#e8f5e8;
}