/* Nucleotide color scheme for genetic sequences */
.nucleotide-a {
  color: #ff6b6b;
  font-weight: 600;
}

.nucleotide-t {
  color: #4ecdc4;
  font-weight: 600;
}

.nucleotide-g {
  color: #45b7d1;
  font-weight: 600;
}

.nucleotide-c {
  color: #96ceb4;
  font-weight: 600;
}

.nucleotide-u {
  color: #feca57;
  font-weight: 600;
}

.nucleotide-n {
  color: #95a5a6;
  font-weight: 400;
}

.nucleotide-dash {
  color: #2c3e50;
  font-weight: 400;
}

/* Sequence display styling */
.sequence-display {
  font-family: 'Courier New', monospace;
  line-height: 1.6;
  letter-spacing: 0.5px;
  word-break: break-all;
  white-space: pre-wrap;
  background-color: #f8f9fa;
  padding: 1rem;
  border-radius: 0.5rem;
  border: 1px solid #e9ecef;
}

.sequence-header {
  font-weight: bold;
  color: #495057;
  margin-bottom: 0.5rem;
  background-color: #e9ecef;
  padding: 0.5rem;
  border-radius: 0.25rem;
}

/* MSA (Multiple Sequence Alignment) Viewer Styles */
.msa-viewer {
  font-family: 'Courier New', monospace;
  font-size: 12px;
  line-height: 1.4;
  background-color: #ffffff;
  border: 1px solid #e5e7eb;
  border-radius: 0.5rem;
  overflow: hidden;
}

.msa-container {
  overflow-x: auto;
  overflow-y: auto;
  max-height: 600px;
}

.msa-row {
  display: flex;
  border-bottom: 1px solid #f3f4f6;
  min-height: 24px;
  align-items: center;
}

.msa-row:hover {
  background-color: #f9fafb;
}

.msa-header {
  flex-shrink: 0;
  width: 200px;
  padding: 4px 8px;
  background-color: #f8fafc;
  border-right: 1px solid #e5e7eb;
  font-weight: 500;
  color: #374151;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.msa-sequence {
  flex: 1;
  padding: 4px 8px;
  font-family: 'Courier New', monospace;
  font-size: 12px;
  letter-spacing: 0.5px;
  white-space: nowrap;
  overflow: hidden;
}

.msa-controls {
  padding: 1rem;
  background-color: #f8fafc;
  border-bottom: 1px solid #e5e7eb;
  display: flex;
  gap: 1rem;
  align-items: center;
  flex-wrap: wrap;
}

.msa-controls label {
  font-size: 14px;
  font-weight: 500;
  color: #374151;
}

.msa-controls input, .msa-controls select {
  padding: 0.25rem 0.5rem;
  border: 1px solid #d1d5db;
  border-radius: 0.25rem;
  font-size: 12px;
}

.msa-stats {
  font-size: 12px;
  color: #6b7280;
}

/* Position ruler */
.msa-ruler {
  display: flex;
  border-bottom: 2px solid #e5e7eb;
  background-color: #f1f5f9;
  font-size: 10px;
  color: #64748b;
}

.msa-ruler-header {
  flex-shrink: 0;
  width: 200px;
  padding: 4px 8px;
  border-right: 1px solid #e5e7eb;
  font-weight: 600;
}

.msa-ruler-positions {
  flex: 1;
  padding: 4px 8px;
  font-family: 'Courier New', monospace;
  font-size: 12px;
  letter-spacing: 0.5px;
  white-space: nowrap;
  overflow: hidden;
}
