#announcementOverlay{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,0.75);
  display:flex;
  align-items:center;
  justify-content:center;
  z-index:999999;
  backdrop-filter: blur(4px);
}

#announcementOverlay.isClosing{
  opacity:0;
  transition: opacity .18s ease;
}

.announcementBox{
  background:#111827;
  color:#fff;
  width:90%;
  max-width:420px;
  padding:28px 26px;
  border-radius:12px;
  text-align:center;
  position:relative;
  box-shadow:0 10px 40px rgba(0,0,0,0.6);
}

.announcementBox h2{ margin:0 0 10px; }
.announcementBox p{ margin:0; line-height:1.45; }

.closeAnnouncement{
  position:absolute;
  top:10px;
  right:12px;
  font-size:26px;
  line-height:26px;
  background:transparent;
  border:0;
  color:#fff;
  cursor:pointer;
  padding:4px 6px;
}

#announcementOk{
  margin-top:18px;
  padding:10px 26px;
  border:0;
  background:#3b82f6;
  color:#fff;
  border-radius:8px;
  cursor:pointer;
  font-weight:600;
}

#announcementOk:hover{ background:#2563eb; }