/* Namespaced UI for Flatsome */
#rpgpg-app {
  padding: 0 0 12px 0;
}

/* Card */
#rpgpg-app .rpg-card {
  max-width: 700px;
  margin: 0 auto;
  background: #111827;
  border: 1px solid #1f2937;
  border-radius: 16px;
  padding: 20px;
  box-shadow: 0 10px 30px rgba(0,0,0,.35);
}

/* Title */
#rpgpg-app .rpg-title {
  margin: 0 0 16px;
  font-size: 24px;
  font-weight: 700;
  letter-spacing: .2px;
  text-align: center;
  color: #e5e7eb;
}

/* Generic row */
#rpgpg-app .rpg-row {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
}

/* Buttons */
#rpgpg-app .rpg-btn {
  cursor: pointer;
  padding: 10px 14px;
  border-radius: 12px;
  border: 1px solid #334155;
  background: #0b1220;
  color: #e5e7eb;
  font-weight: 600;
  transition: transform .15s ease;
  text-transform: none;
  letter-spacing: 0;
  box-shadow: none;
}
#rpgpg-app .rpg-btn:hover { background: #0f172a; }

/* Primary button style */
#rpgpg-app .rpg-primary {
  background: #1e40af;
  border-color: #1d4ed8;
}
#rpgpg-app .rpg-primary:hover { background: #1d4ed8; }

/* Segment (length pills) */
#rpgpg-app .rpg-seg {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
#rpgpg-app .rpg-seg .rpg-btn {
  border-radius: 999px;
  font-size: 14px;
  line-height: 1.2;
  padding: 8px 14px;
  min-height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* Field */
#rpgpg-app .rpg-field {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
  margin-top: 14px;
}

/* Output box */
#rpgpg-app .rpg-out {
  font: 600 18px ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  padding: 14px 16px;
  border-radius: 14px;
  border: 1px solid #334155;
  background: #0b1220;
  word-break: break-all;
  user-select: all;
  text-align: center;
  color: #e5e7eb;
}

/* Muted text */
#rpgpg-app .rpg-muted {
  color: #9ca3af;
  opacity: 1;
}

/* Spacer */
#rpgpg-app .rpg-spacer { height: 8px; }

/* Pulse animation */
#rpgpg-app .rpg-btn.rpg-pulse { animation: rpg-pulse .32s ease; }
@keyframes rpg-pulse {
  0% { transform: scale(1); }
  50%{ transform: scale(1.06); }
  100%{ transform: scale(1); }
}

/* Hover for both action buttons */
#rpgpg-app #rpg-regen:hover,
#rpgpg-app #rpg-copy:hover {
  transform: translateY(-1px) scale(1.03);
  box-shadow: 0 6px 18px rgba(0,0,0,.35);
}

/* Active state for regen */
#rpgpg-app #rpg-regen:active {
  transform: translateY(0) scale(0.99);
}

/* Actions container */
#rpgpg-app .rpg-actions {
  margin-top: 16px;
  text-align: center;
}
#rpgpg-app .rpg-actions .rpg-btn {
  display: inline-block;
  margin: 0 8px;
}

/* Footer note */
#rpgpg-app .rpg-foot {
  margin-top: 18px;
  text-align: center;
  font-weight: 400;
  color: #9ca3af;
}

/* Action buttons (Regen + Copy) size */
#rpgpg-app #rpg-regen,
#rpgpg-app #rpg-copy {
  padding: 8px 18px;
  font-size: 16px;
  border-radius: 30px;
  min-height: 44px; /* stable height */
}

/* Checkbox color (native accent) */
#rpgpg-app input[type="checkbox"] {
  accent-color: #1d4ed8;
}

/* Mobile tweak for length pills */
@media (max-width: 480px) {
  #rpgpg-app .rpg-seg .rpg-btn { min-height: 40px; }
}

/* Center checkbox with label + sizing */
#rpgpg-app .rpg-row label.rpg-muted {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
#rpgpg-app .rpg-row input[type="checkbox"] {
  margin: 0;
  inline-size: 16px; /* width */
  block-size: 16px;  /* height */
}
