.m-app-container {
  padding: 0.75rem;
  max-width: 480px;
  margin: 0 auto;
}
.m-hero {
  text-align: center;
  padding: 1rem 0.5rem;
}
.m-hero h1 {
  font-size: 1.35rem;
  font-weight: 800;
  color: #0f172a;
}
.m-hero p {
  font-size: 0.8rem;
  color: #64748b;
  margin-top: 4px;
}
.m-dual-grid {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.m-dropzone {
  border: 2px dashed #cbd5e1;
  background: #f8fafc;
  border-radius: 12px;
  padding: 1.5rem 1rem;
  text-align: center;
}
.m-anim-box {
  width: 100%;
  aspect-ratio: 16/10;
  border-radius: 12px;
  overflow: hidden;
  background: #0f172a;
  border: 1px solid #e2e8f0;
}
.m-anim-box canvas {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.m-opts {
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  padding: 1rem;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.m-opts select {
  width: 100%;
  padding: 0.6rem;
  border-radius: 8px;
  border: 1px solid #cbd5e1;
  background: white;
  font-size: 0.85rem;
}
.m-action-col {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  margin-top: 1rem;
}
.m-btn-gif {
  background: linear-gradient(135deg, #6366f1 0%, #4f46e5 100%);
  color: white;
  border: none;
  font-size: 0.95rem;
  font-weight: 700;
  padding: 0.85rem;
  border-radius: 12px;
  width: 100%;
}
.m-btn-mp4 {
  background: white;
  border: 1px solid #cbd5e1;
  color: #0f172a;
  font-size: 0.95rem;
  font-weight: 700;
  padding: 0.85rem;
  border-radius: 12px;
  width: 100%;
}
