/* ============================================================
   공지 알림창 모양 (notice-modal.css)
   ============================================================ */
.nm{ position:fixed; inset:0; z-index:400;
  display:flex; align-items:center; justify-content:center; padding:22px;
  font-family:'Pretendard','Malgun Gothic',sans-serif; }
.nm-dim{ position:absolute; inset:0; background:rgba(60,40,52,.42);
  backdrop-filter:blur(5px); -webkit-backdrop-filter:blur(5px);
  opacity:0; transition:opacity .22s; }
.nm.on .nm-dim{ opacity:1; }

.nm-card{ position:relative; width:min(400px,100%); text-align:center;
  padding:32px 26px 24px; border-radius:26px;
  background:var(--surface,#fff); border:1.5px solid var(--line,#f6dde6);
  box-shadow:0 24px 62px rgba(160,80,120,.24);
  opacity:0; transform:translateY(16px) scale(.96);
  transition:opacity .24s, transform .24s cubic-bezier(.16,1,.3,1); }
.nm.on .nm-card{ opacity:1; transform:none; }
html[data-theme="dark"] .nm-card{ box-shadow:0 24px 62px rgba(0,0,0,.62); }

.nm-ic{ font-size:36px; line-height:1; }
.nm-t{ margin-top:12px; font-family:'Jua',sans-serif; font-weight:400;
  font-size:20px; letter-spacing:-.3px; color:var(--ink,#3f3833); }
.nm-b{ margin-top:11px; font-size:14px; line-height:1.75; white-space:pre-wrap;
  word-break:break-word; color:var(--ink-2,#6b6058); }
.nm-d{ margin-top:12px; font-size:11.5px; font-weight:700; color:var(--ink-3,#b0a9a0); }

.nm-chk{ display:flex; align-items:center; justify-content:center; gap:7px;
  margin-top:20px; cursor:pointer;
  font-size:12.5px; font-weight:700; color:var(--ink-3,#b0a9a0); }
.nm-chk input{ width:16px; height:16px; accent-color:var(--pink,#ff6fa8); cursor:pointer; }

.nm-ok{ width:100%; margin-top:14px; padding:14px; cursor:pointer;
  font-family:inherit; font-size:14.5px; font-weight:800; color:#fff;
  border:none; border-radius:999px;
  background:linear-gradient(135deg,#ff6fa8,#ff96c0);
  box-shadow:0 9px 22px rgba(255,111,168,.3); transition:.16s; }
.nm-ok:hover{ transform:translateY(-1px); }

@media (max-width:430px){
  .nm{ padding:0; align-items:flex-end; }
  .nm-card{ width:100%; border-radius:26px 26px 0 0; padding:28px 20px 20px; }
}
@media (prefers-reduced-motion:reduce){
  .nm-card, .nm-dim{ transition:none; }
}
