/* modal — used by the skin switcher (and any future modal). */

.iblis-modal[hidden] { display: none; }
.iblis-modal {
  position: fixed; inset: 0;
  z-index: 100;
  display: flex; align-items: center; justify-content: center;
  padding: var(--space-4);
  animation: iblis-fade-in var(--motion-base) var(--ease-standard) both;
}
.iblis-modal-backdrop {
  position: absolute; inset: 0;
  background: rgba(0, 0, 0, 0.65);
  backdrop-filter: blur(6px) saturate(120%);
  -webkit-backdrop-filter: blur(6px) saturate(120%);
}
.iblis-modal-panel {
  position: relative;
  background: linear-gradient(180deg,
    color-mix(in srgb, var(--color-bg-elevated) 100%, white 4%) 0%,
    var(--color-bg-elevated) 100%);
  border: 1px solid var(--color-border-default);
  border-radius: var(--radius-lg);
  box-shadow:
    var(--shadow-lg),
    inset 0 1px 0 rgba(255,255,255,0.05);
  padding: var(--space-5);
  width: 100%; max-width: 720px;
  max-height: calc(100vh - var(--space-8));
  overflow-y: auto;
  animation: iblis-fade-up var(--motion-base) var(--ease-standard) both;
}
.iblis-modal-head {
  display: flex; align-items: center; justify-content: space-between;
  gap: var(--space-3);
  margin-bottom: var(--space-2);
}
.iblis-modal-head h2 { margin: 0; font-size: var(--font-size-lg); }
.iblis-modal-help {
  color: var(--color-text-muted);
  font-size: var(--font-size-sm);
  margin: 0 0 var(--space-4);
}
.iblis-modal-close {
  display: inline-flex; align-items: center; justify-content: center;
  width: 32px; height: 32px;
  background: transparent;
  color: var(--color-text-secondary);
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--radius-sm);
  cursor: pointer;
  transition: background var(--motion-fast), color var(--motion-fast), border-color var(--motion-fast);
}
.iblis-modal-close:hover {
  color: var(--color-text-primary);
  background: var(--color-bg-subtle);
  border-color: var(--color-accent);
}
.iblis-modal-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: var(--space-3);
}
.iblis-modal-foot {
  margin-top: var(--space-4);
  padding-top: var(--space-3);
  border-top: 1px solid var(--color-border-subtle);
  display: flex; align-items: center; justify-content: space-between;
  gap: var(--space-3); flex-wrap: wrap;
}
.iblis-modal-current { color: var(--color-text-muted); font-size: var(--font-size-sm); }
.iblis-modal-current code { font-family: var(--font-mono); color: var(--color-accent); }

body.iblis-modal-open { overflow: hidden; }

/* Skin card vibe paragraph (used by both /skins page and the modal). */
.iblis-skin-vibe {
  color: var(--color-text-secondary);
  font-size: var(--font-size-sm);
  margin: 0;
}
