
body {
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  margin: 0;
  background: #0f172a;
  color: #ffffff;
}
header{
  background:#020617;
  border-bottom:1px solid #1f2937;
}

.container{
  max-width:1200px;
  margin:auto;
  padding:0 24px;
}

.nav{
  display:flex;
  align-items:center;
  padding:12px 0;
}

.logo{
  display:flex;
  align-items:center;
  flex-shrink:0;
}

.logo img{
  height:32px;
  width:auto;
  display:block;
}

.nav-links{
  display:flex;
  align-items:center;
  gap:28px;
  margin-left:auto;
}

.nav-links a{
  color:#94a3b8;
  text-decoration:none;
  font-size:16px;
  white-space:nowrap;
}

.hero{
  padding:72px 20px 58px;
  text-align:center;
  background:#0f172a;
}

h1 {
  font-size: 2.1rem;
  margin: 10px auto 10px;
  max-width: 850px;
}

h2 {
  margin-top: 60px;
}

p {
  line-height: 1.7;
  max-width: 800px;
  margin: auto;
  opacity: 0.9;
}

a {
  color: #ef4444;
}
.hero-copy{
  color:#94a3b8;
  max-width:800px;
  margin:0 auto 24px;
}


.hero-btn,
button {
  margin-top: 18px;
  padding: 14px 30px;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  background: #ef4444;
  color: white;
  font-size: 1rem;
}

section {
  padding: 60px 20px;
  max-width: 1100px;
  margin: auto;
}

.grid {
  display: grid;
  gap: 20px;
}

@media (min-width: 768px) {
  .grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

.card {
  background: #111827;
  padding: 25px;
  border-radius: 8px;
}

.card a {
  color: #ef4444;
  text-decoration: none;
  font-weight: bold;
}

footer {
  text-align: center;
  padding: 40px 20px;
  background: #020617;
  opacity: 0.7;
}

.content-section {
  max-width: 800px;
  margin: 0 auto;
  padding: 0 20px;
}

.content-section h2,
.content-section p,
.content-section ul,
.content-section ol {
  max-width: 100%;
}

.content-section ul,
.content-section ol {
  padding-left: 24px;
  margin: 1rem 0;
}


/* Straight creator editor */
.editor-shell {
  width: min(360px, 92vw);
  margin: 16px auto 0;
  position: relative;
}

.editor-frame {
  position: relative;
  width: 100%;
  aspect-ratio: 9 / 16;
  background: #0f172a;
  border: 1px solid #333;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 22px 60px rgba(0,0,0,0.45);
}

#previewCanvas {
  width: 100%;
  height: 100%;
  display: block;
  background: #020617;
}

.upload-zone {
  position: absolute;
  left: 0;
  width: 100%;
  height: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 18px;
  box-sizing: border-box;
  cursor: pointer;
  background: rgba(15,15,15,0.72);
  border: 1px dashed rgba(255,255,255,0.25);
  z-index: 5;
  transition: opacity 0.2s ease;
}

.upload-zone.top {
  top: 0;
  border-left: 0;
  border-right: 0;
  border-top: 0;
}

.upload-zone.bottom {
  bottom: 0;
  border-left: 0;
  border-right: 0;
  border-bottom: 0;
}

.upload-zone.hidden-zone {
  opacity: 0;
  pointer-events: none;
}

.upload-zone strong {
  display: block;
  font-size: 1.05rem;
  margin-bottom: 6px;
  color: #ffffff;
}

.upload-zone span {
  display: block;
  opacity: 0.75;
  font-size: 0.88rem;
}

.split-bar {
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
  height: 14px;
  transform: translateY(-50%);
  background: #ef4444;
  z-index: 8;
  cursor: row-resize;
  border-radius: 999px;
}

.split-bar::after {
  content: "";
  width: 48px;
  height: 4px;
  background: #ffffff;
  opacity: 0.75;
  border-radius: 999px;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%,-50%);
}

.editor-actions {
  display: flex;
  gap: 10px;
  justify-content: center;
  flex-wrap: wrap;
  margin-top: 14px;
}

.secondary-btn {
  background: #111827;
  border: 1px solid #333;
}

.text-row {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 8px;
  margin: 12px auto 0;
}

.text-row input {
  width: 100%;
  border: 1px solid #333;
  border-radius: 6px;
  padding: 12px;
  background: #020617;
  color: #fff;
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  box-sizing: border-box;
}

.progress-wrap {
  display: none;
  margin: 14px auto 0;
  max-width: 360px;
}

.progress-track {
  background: #222;
  border-radius: 999px;
  overflow: hidden;
}

#progressBar {
  height: 16px;
  width: 0%;
  background: #ef4444;
}

#progressText {
  font-size: 0.9rem;
  margin-top: 8px;
  opacity: 0.8;
}

.sticky-export {
  display: none;
}

@media (max-width: 720px) {
  header {
    padding-top: 14px;
  }

  .top-nav {
    justify-content: center;
  }

  .nav-links {
    display: none;
  }

  h1 {
    font-size: 1.55rem;
    margin-top: 6px;
  }

  .hero-copy {
    font-size: 0.92rem;
    margin-bottom: 12px;
  }

  .editor-shell {
    width: min(340px, 94vw);
  }

  .editor-actions #exportBtn {
    display: none;
  }

  .sticky-export {
    display: block;
    position: fixed;
    left: 14px;
    right: 14px;
    bottom: 14px;
    z-index: 50;
  }

  .sticky-export button {
    width: 100%;
    margin: 0;
    box-shadow: 0 14px 40px rgba(0,0,0,0.4);
  }
}

.hero-copy{
  color:#94a3b8;
}

.card{
  border:1px solid #1f2937;
  border-radius:14px;
  transition:transform .2s ease,border-color .2s ease;
}

.card:hover{
  transform:translateY(-2px);
  border-color:#ef4444;
}

.hero-btn,
button{
  font-weight:700;
  border-radius:10px;
}

.editor-frame{
  border:1px solid #1f2937 !important;
  background:#020617 !important;
}

.upload-zone{
  background:rgba(2,6,23,.55) !important;
  backdrop-filter:blur(4px);
}

.upload-zone strong{
  letter-spacing:-0.02em;
}

.text-row input{
  border-radius:10px !important;
  border:1px solid #1f2937 !important;
  background:#111827 !important;
}

.secondary-btn{
  background:#111827 !important;
  border:1px solid #1f2937 !important;
}

.top-nav{
  padding-bottom:10px;
}

section{
  padding-top:72px;
  padding-bottom:72px;
}


/* Media + layout upgrade */
.editor-shell {
  width: min(960px, 94vw) !important;
}

.editor-workspace {
  display: grid;
  grid-template-columns: 260px minmax(300px, 420px);
  gap: 18px;
  justify-content: center;
  align-items: start;
  margin-top: 14px;
}

.editor-left-controls {
  background: #111827;
  border: 1px solid #1f2937;
  border-radius: 16px;
  padding: 16px;
  text-align: left;
}

.control-title {
  font-size: 0.95rem;
  color: #94a3b8;
  margin: 0 0 10px;
}

.side-button {
  width: 100%;
  margin: 0 0 10px;
  text-align: center;
}

.volume-box {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid #1f2937;
}

.volume-box label {
  display: block;
  color: #e5e7eb;
  font-size: 0.9rem;
  margin: 12px 0 6px;
}

.volume-box input[type="range"] {
  width: 100%;
}

.drop-side {
  width: 100%;
}

.text-row {
  grid-template-columns: 1fr !important;
}

@media (max-width: 760px) {
  header {
    min-height: auto;
  }

  .editor-workspace {
    grid-template-columns: 1fr;
  }

  .editor-left-controls {
    order: 2;
  }

  .drop-side {
    order: 1;
  }
}


/* Layout swap + preset controls */
.editor-workspace {
  grid-template-columns: minmax(300px, 420px) 280px !important;
}

.drop-side {
  order: 1;
}

.editor-left-controls {
  order: 2;
}

.preset-box {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid #1f2937;
}

.preset-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}

.preset-option {
  width: 100%;
  margin: 0;
  background: #111827 !important;
  border: 1px solid #1f2937 !important;
  color: #e5e7eb;
}

.preset-option.active {
  border-color: #ef4444 !important;
}

@media (max-width: 760px) {
  .drop-side {
    order: 1;
  }

  .editor-left-controls {
    order: 2;
  }
}


#resolutionPreset {
  width: 100%;
  padding: 12px;
  border-radius: 10px;
  border: 1px solid #1f2937;
  background: #111827;
  color: #e5e7eb;
  font-family: inherit;
  margin-bottom: 4px;
}


#layoutPreset {
  width: 100%;
  padding: 12px;
  border-radius: 10px;
  border: 1px solid #1f2937;
  background: #111827;
  color: #e5e7eb;
  font-family: inherit;
}

.button-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  margin: 14px 0 10px;
}

.mini-action {
  width: 100%;
  margin: 0 !important;
  padding: 11px 8px;
  font-size: 0.9rem;
}

.export-large {
  width: 100%;
  margin: 8px 0 14px !important;
  padding: 15px 18px !important;
  font-size: 1rem;
  font-weight: 800;
}


/* UX polish improvements */
.editor-left-controls{
  box-shadow:0 10px 30px rgba(0,0,0,.18);
}

.upload-zone{
  transition:all .22s ease !important;
}

.upload-zone:hover{
  background:rgba(15,23,42,.82) !important;
  border-color:rgba(239,68,68,.45);
}

.upload-zone strong{
  font-size:1.1rem;
}

.upload-zone.top strong::before{
  content:"🎬 ";
}

.upload-zone.bottom strong::before{
  content:"🎙️ ";
}

.editor-frame{
  transition:transform .25s ease, box-shadow .25s ease;
}

.editor-frame:hover{
  transform:translateY(-2px);
  box-shadow:0 28px 80px rgba(0,0,0,.55);
}

.mini-action,
.export-large,
.secondary-btn,
#layoutPreset,
#resolutionPreset{
  transition:all .18s ease;
}

.mini-action:hover,
.secondary-btn:hover{
  transform:translateY(-1px);
}

.export-large:hover{
  transform:translateY(-2px);
  box-shadow:0 14px 40px rgba(239,68,68,.22);
}

#layoutPreset:focus,
#resolutionPreset:focus,
.text-row input:focus{
  outline:none;
  border-color:#ef4444 !important;
  box-shadow:0 0 0 3px rgba(239,68,68,.12);
}

.text-row{
  margin-top:16px !important;
}

.text-row input{
  padding:14px !important;
}

.control-title{
  letter-spacing:.01em;
  font-weight:600;
}

.volume-box input[type="range"]{
  accent-color:#ef4444;
}

.button-row{
  margin-top:18px !important;
}

.progress-track{
  background:#111827;
}

#progressText{
  color:#94a3b8;
}

@media(max-width:760px){

  .editor-left-controls{
    position:sticky;
    bottom:0;
    z-index:30;
    background:rgba(17,24,39,.96);
    backdrop-filter:blur(10px);
  }

  .editor-workspace{
    gap:14px;
  }
}


/* Crop/reposition polish */
.editor-frame {
  touch-action: none;
}

.media-hint {
  font-size: 0.78rem;
  color: #94a3b8;
  margin-top: 10px;
  text-align: center;
  opacity: 0.85;
}

.export-large {
  margin-top: 18px !important;
}


/* Subtle creator animation polish */
@keyframes softPulse {
  0% { box-shadow: inset 0 0 0 0 rgba(239,68,68,0.12); }
  50% { box-shadow: inset 0 0 0 2px rgba(239,68,68,0.22); }
  100% { box-shadow: inset 0 0 0 0 rgba(239,68,68,0.12); }
}

@keyframes successFade {
  0% { opacity: 0; transform: translate(-50%, -8px); }
  20% { opacity: 1; transform: translate(-50%, 0); }
  80% { opacity: 1; transform: translate(-50%, 0); }
  100% { opacity: 0; transform: translate(-50%, -8px); }
}

@keyframes processingPulse {
  0% { opacity: .72; }
  50% { opacity: 1; }
  100% { opacity: .72; }
}

.upload-zone:not(.hidden-zone) {
  animation: softPulse 2.4s ease-in-out infinite;
}

.upload-zone:active {
  transform: scale(0.985);
}

.upload-zone.upload-success::after {
  content: "Added ✓";
  position: absolute;
  left: 50%;
  top: 18px;
  transform: translateX(-50%);
  background: #111827;
  border: 1px solid #ef4444;
  color: #ffffff;
  padding: 6px 10px;
  border-radius: 999px;
  font-size: 0.8rem;
  font-weight: 700;
  animation: successFade 1.35s ease forwards;
  pointer-events: none;
}

.split-bar {
  transition: box-shadow .18s ease, height .18s ease, width .18s ease, filter .18s ease;
}

.split-bar.dragging {
  filter: brightness(1.12);
  box-shadow: 0 0 0 6px rgba(239,68,68,.14);
}

.export-large.processing,
#exportBtn.processing,
.sticky-export button.processing {
  animation: processingPulse 1s ease-in-out infinite;
  cursor: wait;
}

.editor-frame.media-active {
  box-shadow: 0 28px 80px rgba(0,0,0,.55), 0 0 0 1px rgba(239,68,68,.12);
}


/* ===== MOBILE UX OPTIMIZATION PATCH ===== */
@media (max-width:760px){

  body{
    overflow-x:hidden;
  }

  header{
    min-height:auto;
    padding:12px 12px 110px;
  }

  h1{
    font-size:1.42rem !important;
    line-height:1.2;
    max-width:100%;
    padding:0 4px;
  }

  .hero-copy{
    font-size:.9rem !important;
    line-height:1.55;
    max-width:100%;
    padding:0 6px;
  }

  .editor-shell{
    width:100% !important;
    max-width:100% !important;
    margin-top:14px;
  }

  .editor-workspace{
    grid-template-columns:1fr !important;
    gap:14px !important;
    width:100%;
  }

  .drop-side{
    width:100%;
  }

  .editor-frame{
    width:100%;
    border-radius:16px;
    box-shadow:0 16px 40px rgba(0,0,0,.32) !important;
  }

  .editor-frame:hover{
    transform:none !important;
  }

  .upload-zone{
    padding:14px;
  }

  .upload-zone strong{
    font-size:.96rem !important;
  }

  .upload-zone span{
    font-size:.8rem !important;
  }

  .editor-left-controls{
    position:relative !important;
    bottom:auto !important;
    z-index:auto !important;
    backdrop-filter:none !important;
    padding:14px !important;
    border-radius:14px;
    box-shadow:none !important;
  }

  .control-title{
    font-size:.88rem;
  }

  #resolutionPreset,
  #layoutPreset,
  .text-row input,
  .mini-action,
  .secondary-btn,
  .export-large,
  .sticky-export button{
    min-height:48px;
  }

  .button-row{
    grid-template-columns:1fr 1fr 1fr;
    gap:8px;
  }

  .mini-action{
    font-size:.84rem;
    padding:10px 6px !important;
  }

  .text-row{
    gap:10px;
  }

  .text-row input{
    font-size:16px;
  }

  .volume-box label{
    font-size:.84rem;
  }

  .volume-box input[type="range"]{
    margin-bottom:8px;
  }

  .media-hint{
    font-size:.72rem;
    line-height:1.45;
    padding:0 6px;
  }

 @media (max-width:768px){

  .export-large{
    display:block !important;
    width:100%;
    margin-top:18px !important;
  }

  .sticky-export{
    display:none !important;
  }

}

  .sticky-export{
    display:block !important;
    position:fixed;
    left:12px;
    right:12px;
    bottom:12px;
    z-index:90;
    padding-bottom:env(safe-area-inset-bottom);
  }

  .sticky-export button{
    width:100%;
    margin:0;
    border-radius:14px;
    font-size:1rem;
    font-weight:800;
    box-shadow:0 12px 34px rgba(0,0,0,.34);
  }

  section{
    padding-top:48px !important;
    padding-bottom:48px !important;
    padding-left:16px;
    padding-right:16px;
  }

  .card{
    padding:18px;
    border-radius:14px;
  }

  footer{
    padding-bottom:100px;
  }

  .split-bar{
    touch-action:none;
  }

  .split-bar::after{
    width:56px;
    height:5px;
  }

  .progress-wrap{
    max-width:100%;
  }

  .nav-links{
    display:none !important;
  }

  .top-nav{
    justify-content:center;
  }
}


/* ===== FINAL MOBILE TOUCH + UX PATCH ===== */
@media (max-width:760px){

  .split-bar{
    position:absolute;
  }

  .split-bar::before{
    content:"";
    position:absolute;
    inset:-14px;
  }

  .split-bar.dragging{
    filter:brightness(1.08);
    box-shadow:0 0 0 8px rgba(239,68,68,.16);
  }

  .mini-action,
  .secondary-btn,
  .sticky-export button,
  #layoutPreset,
  #resolutionPreset{
    -webkit-tap-highlight-color:transparent;
  }

  .editor-frame{
    overscroll-behavior:none;
  }

}

@media (hover:none){

  .card:hover,
  .editor-frame:hover,
  .mini-action:hover,
  .secondary-btn:hover,
  .export-large:hover{
    transform:none !important;
  }

  .card:hover{
    border-color:#1f2937 !important;
  }

  .editor-frame:hover,
  .export-large:hover{
    box-shadow:none !important;
  }

}




/* ===== MOBILE FIXES - REACTIONMAKER ===== */
@media (max-width:768px){

  /* Show export button below volume controls */
  .export-large,
  .editor-actions #exportBtn{
    display:block !important;
    width:100%;
    margin-top:18px !important;
  }

  /* Disable broken sticky export system */
  .sticky-export{
    display:none !important;
  }

  /* Prevent horizontal overflow */
  html,body{
    overflow-x:hidden;
  }

  .container{
    padding-left:16px;
    padding-right:16px;
  }

  /* Mobile header */
  .nav{
    flex-wrap:wrap;
    justify-content:center;
    gap:10px;
  }

  .logo{
    width:100%;
    justify-content:center;
  }

  .logo img{
    max-width:180px;
    height:auto !important;
  }

  /* Show navigation links on mobile */
  .nav-links{
    display:flex !important;
    width:100%;
    justify-content:center;
    flex-wrap:wrap;
    gap:12px;
    margin-left:0;
  }

  .nav-links a{
    font-size:14px;
  }
}


/* ===== SYMMETRY & ALIGNMENT SYSTEM PATCH ===== */
.container{
  max-width:1100px;
}

section{
  max-width:1100px;
  margin:0 auto;
  padding:72px 20px;
}

.content-section{
  max-width:1100px;
  margin:0 auto;
  padding:0 20px;
}

.content-section section{
  max-width:720px;
  margin:0;
  padding:56px 0;
}

.content-section h2,
.content-section p,
.content-section ul,
.content-section ol{
  max-width:720px;
  margin-left:0;
}

.content-section p{
  margin:0 0 24px 0;
  line-height:1.8;
}

.content-section ul,
.content-section ol{
  padding-left:24px;
  margin:0 0 24px 0;
  line-height:1.8;
}

.content-section li{
  margin-bottom:10px;
}

@media (max-width:768px){
  .content-section section{
    max-width:100%;
  }

  .content-section h2,
  .content-section p,
  .content-section ul,
  .content-section ol{
    max-width:100%;
  }
}


/* Add this at the VERY END of your existing CSS */

/* ===== SYMMETRY FIX ===== */

p{
  line-height:1.7;
  opacity:.9;
  max-width:none;
  margin:0;
}

.section-intro{
  max-width:760px !important;
  margin:18px 0 36px 0 !important;
  text-align:left;
}

.content-section{
  max-width:1100px;
  margin:0 auto;
  padding:0 20px;
}

.content-section section{
  max-width:720px;
  margin:0;
  padding:56px 0;
}

.content-section h2,
.content-section p,
.content-section ul,
.content-section ol{
  max-width:720px;
  margin-left:0;
  margin-right:0;
}

.content-section p{
  margin-bottom:24px;
  line-height:1.8;
}

.content-section ul,
.content-section ol{
  padding-left:24px;
  margin-bottom:24px;
}

.content-section li{
  margin-bottom:10px;
}
