.safety-notice {
  position: fixed;
  inset: 0;
  z-index: 110;
  display: none;
  place-items: center;
  padding: 16px 12px calc(16px + var(--safe-bottom, 0px));
  background: rgba(5, 6, 16, .78);
  overflow: hidden;
  overscroll-behavior: none;
}
.safety-notice.show { display: grid; }
.safety-notice-panel {
  position: relative;
  width: min(440px, 100%);
  max-height: min(88dvh, 640px);
  overflow: auto;
  overscroll-behavior: contain;
  background: var(--grad-card, linear-gradient(180deg, #1d1d36, #101022));
  border: 1px solid var(--border, rgba(255,255,255,.1));
  border-radius: 20px;
  box-shadow: var(--shadow, 0 18px 45px rgba(0,0,0,.35));
  padding: 22px 20px 20px;
  color: var(--text, #fff);
}
.safety-notice-x {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 40px;
  height: 40px;
  border: 0;
  border-radius: 50%;
  background: rgba(0,0,0,.4);
  color: #fff;
  font-size: 1.35rem;
  line-height: 1;
  cursor: pointer;
}
.safety-notice-icon {
  width: 42px;
  height: 42px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  margin: 0 36px 12px 0;
  background: rgba(255, 47, 146, .14);
  border: 1px solid rgba(255, 77, 109, .35);
  color: #ff6b8a;
}
.safety-notice-icon svg {
  width: 22px;
  height: 22px;
  fill: currentColor;
}
.safety-notice-panel h2 {
  font-family: Syne, Outfit, sans-serif;
  font-size: 1.18rem;
  letter-spacing: -.03em;
  margin: 0 36px 12px 0;
}
.safety-notice-panel p {
  color: var(--muted, #a7a3bd);
  font-size: .92rem;
  line-height: 1.5;
  margin: 0 0 12px;
}
.safety-notice-ok {
  width: 100%;
  margin-top: 6px;
  min-height: 46px;
  border: 0;
  border-radius: 14px;
  cursor: pointer;
  font-weight: 800;
  color: #fff;
  background: var(--grad-btn, linear-gradient(135deg, #ff2f92, #7c3cff));
}
body.safety-notice-open { overflow: hidden; }
@media (max-width: 700px) {
  .safety-notice { padding: 10px 10px calc(10px + var(--safe-bottom, 0px)); }
  .safety-notice-panel { max-height: min(86dvh, 100%); }
}
