.modal-overlay {
  position: fixed;
  top: 0; left: 0; width: 100%; height: 100%;
  background: rgba(0,0,0,0.7);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10000;
  animation: fadeInModal 0.3s ease;
}
@keyframes fadeInModal {
    from { opacity: 0; }
    to { opacity: 1; }
}
.modal-content {
  background: var(--color-surface);
  padding: 2rem;
  border-radius: var(--radius);
  max-width: 500px;
  width: 90%;
  color: var(--color-text);
  box-shadow: 0 16px 48px rgba(0,0,0,0.5);
  animation: slideUpModal 0.4s cubic-bezier(0.22, 0.61, 0.36, 1);
}
@keyframes slideUpModal {
    from { opacity: 0; transform: translateY(30px); }
    to { opacity: 1; transform: translateY(0); }
}
.modal-close {
  float: right;
  background: none;
  border: none;
  font-size: 1.8rem;
  cursor: pointer;
  color: var(--color-text-secondary);
  transition: color 0.3s;
  line-height: 1;
}
.modal-close:hover {
  color: var(--color-primary);
}
