body {
  margin: 0;
  background: #1e1e1e;
  color: white;
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  display: flex;
  justify-content: center;
  min-height: 100vh;
  align-items: flex-start;
  padding: 30px;
}

.container {
  background: #2e2e2e;
  padding: 20px;
  border-radius: 8px;
  width: 760px;
  box-sizing: border-box;
}

.buttons-row {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-bottom: 25px;
}

.buttons-row button {
  background-color: #2d2d2d;
  border: 1px solid #444;
  color: white;
  padding: 10px 15px;
  cursor: pointer;
  font-weight: bold;
  border-radius: 4px;
  transition: background-color 0.2s ease;
  min-width: 130px;
}

.buttons-row button.active,
.buttons-row button:hover {
  background-color: #474747;
  border-color: #666;
}

.section {
  display: none;
}

.section.active {
  display: block;
}

/* --- Combiner Styles --- */
.combiner-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 15px 20px;
  justify-items: center;
  margin-bottom: 25px;
}

.combiner-grid .dropzone {
  width: 200px;
  height: 200px;
  background-color: #323232;
  border: 2px dashed #666;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #777;
  font-size: 18px;
  position: relative;
  cursor: pointer;
}

.combiner-grid .dropzone img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  pointer-events: none;
}

.export-controls {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 15px;
  margin-bottom: 20px;
}

.export-controls label {
  font-weight: bold;
  font-size: 14px;
}

.export-controls input {
  width: 80px;
  padding: 5px;
  background: #444;
  border: none;
  border-radius: 3px;
  color: white;
  font-size: 14px;
  text-align: center;
}

/* --- Merger Styles --- */
.merger-channels {
  display: flex;
  justify-content: space-between;
  margin-bottom: 20px;
}

.merger-channel {
  background: #323232;
  border-radius: 5px;
  padding: 10px;
  width: 170px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.merger-channel label {
  font-weight: bold;
  margin-bottom: 6px;
}

.merger-channel .dropzone {
  width: 150px;
  height: 150px;
  background-color: #444;
  border: 2px dashed #666;
  border-radius: 4px;
  margin-bottom: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #888;
  font-size: 16px;
  position: relative;
  cursor: pointer;
}

.merger-channel .dropzone img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  pointer-events: none;
}

.merger-channel input[type="text"] {
  width: 100%;
  padding: 5px;
  border: none;
  border-radius: 3px;
  background: #444;
  color: white;
  margin-bottom: 6px;
  font-size: 14px;
  text-align: center;
}

.merger-channel button {
  width: 100%;
  padding: 6px;
  background: #555;
  border: none;
  color: white;
  border-radius: 3px;
  cursor: pointer;
  font-weight: bold;
  transition: background 0.2s ease;
}

.merger-channel button:hover {
  background: #777;
}

.merger-size-controls {
  display: flex;
  gap: 20px;
  justify-content: center;
  margin-bottom: 20px;
}

.merger-size-controls label {
  font-weight: bold;
}

.merger-size-controls input {
  width: 80px;
  padding: 5px;
  border-radius: 3px;
  border: none;
  background: #444;
  color: white;
  font-size: 14px;
  text-align: center;
}

.merger-button {
  display: flex;
  justify-content: center;
}

.merger-button button {
  background-color: #474747;
  border: none;
  color: white;
  padding: 10px 25px;
  cursor: pointer;
  font-weight: bold;
  border-radius: 5px;
  transition: background-color 0.3s ease;
  min-width: 150px;
}

.merger-button button:hover {
  background-color: #666;
}

/* --- Slicer Styles --- */
.slicer-dropzone {
  width: 400px;
  height: 400px;
  background-color: #323232;
  border: 2px dashed #666;
  border-radius: 5px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #888;
  font-size: 20px;
  cursor: pointer;
  margin: 0 auto 20px auto;
  position: relative;
  overflow: hidden;
}

.slicer-dropzone img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  pointer-events: none;
}

.slicer-button {
  display: flex;
  justify-content: center;
}

.slicer-button button {
  background-color: #474747;
  border: none;
  color: white;
  padding: 10px 25px;
  cursor: pointer;
  font-weight: bold;
  border-radius: 5px;
  transition: background-color 0.3s ease;
  min-width: 150px;
}

.slicer-button button:hover {
  background-color: #666;
}
