:root.rsfrand-no-scroll { overflow: hidden; }

.rsfrand-overlay {
  position: fixed;
  inset: 0;
  background: var(--rsfrand-overlay-bg, rgba(0,0,0,.35));
  z-index: 2147483647;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
}

.rsfrand-hidden { display: none; }

.rsfrand-panel {
  width: min(var(--rsfrand-panel-max-width, 680px), 92vw);
  background: var(--rsfrand-panel-bg, #ffffff);
  border: var(--rsfrand-panel-border-width, 1px) solid var(--rsfrand-panel-border-color, rgba(0,0,0,.08));
  border-radius: var(--rsfrand-panel-radius, 18px);
  box-shadow: var(--rsfrand-panel-shadow, 0 10px 30px rgba(0,0,0,.25));
  padding: 22px 24px;
  display: flex;
  align-items: center;
  gap: 14px;
}

.rsfrand-spinner {
  width: var(--rsfrand-spinner-size, 34px);
  height: var(--rsfrand-spinner-size, 34px);
  border-radius: 50%;
  border: 3px solid rgba(0,0,0,.15);
  border-top-color: rgba(0,0,0,.55);
  animation: rsfrand-spin 0.9s linear infinite;
  flex: 0 0 auto;
}

.rsfrand-message {
  color: var(--rsfrand-text-color, #111111);
  font-size: var(--rsfrand-text-size, 14px);
  font-weight: var(--rsfrand-text-weight, 400);
  line-height: 1.35;
}

@keyframes rsfrand-spin {
  to { transform: rotate(360deg); }
}
