/* ==========================================================================
   ذَرّة | ZARRA — Solubility Rules & Net Ionic Equations Styles
   المرحلة 4: مصفوفة قواعد الذائبية والمعادلات الأيونية الصافية
   ========================================================================== */

.solubility-matrix-outer {
  background: var(--color-bg-surface);
  border: 1px solid var(--color-border-soft);
  border-radius: var(--radius-xl);
  padding: var(--spacing-lg);
  box-shadow: var(--shadow-sm);
  overflow-x: auto;
  margin-bottom: var(--spacing-xl);
}

.solubility-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 6px;
  direction: ltr;
}

.solubility-th-header {
  background: var(--color-bg-surface-soft);
  border: 1px solid var(--color-border-soft);
  border-radius: var(--radius-sm);
  padding: 8px;
  font-family: var(--font-chem-code);
  font-size: 0.85rem;
  font-weight: 700;
  text-align: center;
}

.solubility-cell {
  width: 68px;
  height: 48px;
  border-radius: var(--radius-sm);
  border: 1.5px solid var(--color-border-soft);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  font-size: 0.72rem;
  font-weight: 700;
  cursor: pointer;
  transition: all var(--transition-fast);
  user-select: none;
}

.solubility-cell:hover {
  transform: scale(1.08);
  box-shadow: var(--shadow-sm);
  z-index: 2;
}

.solubility-cell.active-cell {
  outline: 3px solid var(--color-primary);
}

.solubility-cell.cell-soluble {
  background: rgba(184, 216, 194, 0.25);
  border-color: rgba(63, 126, 80, 0.4);
  color: var(--color-mint-dark);
}

.solubility-cell.cell-precipitate {
  background: rgba(233, 75, 103, 0.15);
  border-color: rgba(233, 75, 103, 0.4);
  color: var(--color-primary);
}

/* بطاقة تفاصيل المركب والمعادلة الصافية */
.solubility-detail-card {
  background: var(--color-bg-surface);
  border: 1px solid var(--color-border-soft);
  border-radius: var(--radius-xl);
  padding: var(--spacing-xl);
  box-shadow: var(--shadow-sm);
}

.ionic-equation-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--spacing-sm);
  padding: var(--spacing-md);
  background: var(--color-bg-surface-soft);
  border-radius: var(--radius-md);
  font-family: var(--font-chem-code);
  font-size: 1.15rem;
  direction: ltr;
  margin: var(--spacing-sm) 0;
  flex-wrap: wrap;
}

.spectator-chip {
  padding: 2px 8px;
  border-radius: 4px;
  background: var(--color-bg-surface-soft);
  border: 1px dashed var(--color-text-muted);
  font-size: var(--font-size-xs);
  color: var(--color-text-muted);
  font-family: var(--font-chem-code);
}
