.compress-progress-segment {
  height: 4px;
  flex-grow: 1;
  border-radius: 999px;
}

.compress-progress-segment.is-active {
  background-color: #000;
}

.compress-progress-segment.is-inactive {
  background-color: #d1d5db;
}

#compress-dropzone.is-dragging #compress-dropzone-panel {
  border-color: #000;
  background-color: #fffef2;
}

.compress-mode-option {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  padding: 0.875rem;
  min-height: 5rem;
  box-sizing: border-box;
  border-radius: 0.5rem;
  border: 1px solid #e5e7eb;
  cursor: pointer;
  transition: background-color 0.2s ease, box-shadow 0.2s ease;
}

.compress-mode-option:hover {
  background-color: #f9fafb;
}

.compress-mode-option.is-active {
  background-color: #fff;
  box-shadow: inset 0 0 0 1px rgba(255, 215, 0, 0.78), 0 1px 2px rgba(0, 0, 0, 0.05);
}

.compress-mode-option input {
  margin-top: 0.2rem;
}

.compress-profile-item {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.4rem 0.7rem;
  align-items: start;
  border: 1px solid #e5e7eb;
  border-radius: 0.5rem;
  padding: 0.875rem;
  min-height: 5rem;
  box-sizing: border-box;
  background: #fff;
  transition: box-shadow 0.2s ease;
}

.compress-profile-item:has(input:checked) {
  box-shadow: inset 0 0 0 1px rgba(255, 215, 0, 0.78), 0 1px 2px rgba(0, 0, 0, 0.05);
}

.compress-profile-item input {
  margin-top: 0.2rem;
}

.compress-profile-item .compress-mode-title,
.compress-profile-item .compress-mode-note {
  grid-column: 2;
}

.compress-mode-title {
  display: block;
  font-size: 0.875rem;
  font-weight: 700;
  color: #000;
}

.compress-mode-note {
  display: block;
  margin-top: 0.2rem;
  font-size: 0.75rem;
  color: #6b7280;
}

.compress-upload-spinner {
  display: inline-flex;
  animation: compress-spin 0.9s linear infinite;
}

@keyframes compress-spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
