/* 45 — pop-up messages from the server team (console → Players → Message). */
.sg45-bg {
  position: fixed;
  inset: 0;
  z-index: 300; /* above the dungeon run (200) and the ready notices (250) */
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
  background: radial-gradient(ellipse at 50% 40%, rgba(20, 18, 14, 0.55), rgba(6, 6, 5, 0.82));
  backdrop-filter: blur(2px);
  animation: sg45-fade 0.25s ease-out both;
}
.sg45-card {
  position: relative;
  width: min(30rem, 100%);
  max-height: calc(100vh - 32px);
  overflow: auto;
  border-radius: 14px;
  border: 1px solid rgba(214, 176, 92, 0.38);
  background:
    linear-gradient(180deg, rgba(226, 196, 140, 0.07), transparent 38%),
    linear-gradient(180deg, rgba(36, 34, 28, 0.98), rgba(20, 19, 16, 0.98));
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.6), inset 0 1px 0 rgba(255, 255, 255, 0.05);
  color: #e8e4d6;
  padding: 22px 22px 18px;
  animation: sg45-in 0.38s cubic-bezier(0.2, 0.9, 0.25, 1.05) both;
}
.sg45-seal {
  width: 44px;
  height: 44px;
  margin: -2px auto 10px;
  border-radius: 999px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(214, 176, 92, 0.55);
  background: radial-gradient(circle at 50% 38%, rgba(226, 196, 140, 0.35), rgba(120, 80, 30, 0.15) 65%), #1b1a16;
  color: #e2c48c;
  font: 700 20px Cinzel, Georgia, serif;
}
.sg45-eyebrow {
  text-align: center;
  font-family: 'Alegreya SC', Cinzel, Georgia, serif;
  font-size: 11px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #c9b48a;
}
.sg45-title {
  text-align: center;
  margin: 4px 0 12px;
  font: 700 19px/1.25 Cinzel, Georgia, serif;
  letter-spacing: 0.03em;
  color: #f1ead8;
}
.sg45-text {
  font-family: 'Alegreya Sans', Georgia, serif;
  font-size: 15px;
  line-height: 1.5;
  color: #d6d1c2;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  border-top: 1px solid rgba(171, 169, 155, 0.18);
  border-bottom: 1px solid rgba(171, 169, 155, 0.18);
  padding: 12px 2px;
}
.sg45-foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 14px; }
.sg45-from { font-family: 'Alegreya Sans', Georgia, serif; font-size: 13px; color: #a9a490; font-style: italic; }
.sg45-ok {
  font: 700 13px Cinzel, Georgia, serif;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #16150f;
  background: linear-gradient(180deg, #e8c98f, #c9a35f);
  border: 0;
  border-radius: 8px;
  padding: 9px 18px;
  cursor: pointer;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.35);
}
.sg45-ok:hover { filter: brightness(1.06); }
.sg45-ok:focus-visible { outline: 2px solid #f1ead8; outline-offset: 2px; }
.sg45-more { font-size: 12px; color: #a9a490; text-align: center; margin-top: 8px; }
@keyframes sg45-fade { from { opacity: 0; } to { opacity: 1; } }
@keyframes sg45-in { from { opacity: 0; transform: translateY(10px) scale(0.97); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .sg45-bg, .sg45-card { animation: none; } }
