/* 새 공지 팝업 (features/notice-popup) v1 — 2026-10-01
   v3 (2026-10-04): 단추마다 width:auto;margin:0 — app.css 전역 button{width:100%;margin-top:8px}가 ✕를 넓혀 머리 「새 공지」가 두 줄로 꺾이던 결함 */
.np-overlay{position:fixed;inset:0;z-index:10050;background:rgba(15,23,42,.45);display:flex;align-items:center;justify-content:center;padding:16px}
.np-pop{width:min(480px,100%);max-height:min(80vh,640px);max-height:min(80dvh,640px);display:flex;flex-direction:column;background:var(--bg-surface,#fff);color:var(--text-primary,#0f172a);
  border:1px solid var(--border-medium,#cbd5e1);border-radius:14px;box-shadow:0 18px 48px rgba(0,0,0,.28);padding:16px 18px;font-size:14px;line-height:1.6}
.np-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.np-tag{white-space:nowrap;font-size:12.5px;font-weight:700;color:var(--accent,#2563eb)}
.np-x{flex:0 0 auto;width:auto;margin:0;border:0;background:transparent;color:inherit;font-size:16px;cursor:pointer;padding:4px 6px;border-radius:6px}
.np-x:hover{background:var(--bg-sunken,#f1f5f9)}
.np-title{margin:6px 0 2px;font-size:17px;line-height:1.4}
.np-meta{font-size:12px;color:var(--text-secondary,#64748b);margin-bottom:10px}
.np-body{white-space:pre-wrap;overflow-wrap:anywhere;overflow:auto;flex:1 1 auto;min-height:0;padding-right:4px}
.np-act{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}
.np-btn{width:auto;margin:0;display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:0 14px;border-radius:9px;border:1px solid var(--border-medium,#cbd5e1);
  background:var(--bg-surface,#fff);color:inherit;font-size:13.5px;text-decoration:none;cursor:pointer}
.np-btn.np-pri{background:var(--accent,#2563eb);border-color:var(--accent,#2563eb);color:#fff}
/* v4 (2026-10-14): 「오늘 하루 닫기」 — 왼쪽 끝에 옅은 글자 단추, 좁은 폰에서는 줄을 넘긴다 */
.np-act{flex-wrap:wrap}
.np-btn.np-day{margin-right:auto;border-color:transparent;background:transparent;color:var(--text-secondary,#64748b);padding:0 6px;font-size:12.5px}
.np-btn.np-day:hover{text-decoration:underline}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]) .np-pop{background:var(--bg-surface,#111827);color:var(--text-primary,#e5e7eb);border-color:var(--border-medium,#374151)}
  :root:not([data-theme="light"]) .np-btn:not(.np-pri){background:var(--bg-surface,#111827)}
}
:root[data-theme="dark"] .np-pop{background:var(--bg-surface,#111827);color:var(--text-primary,#e5e7eb);border-color:var(--border-medium,#374151)}
:root[data-theme="dark"] .np-btn:not(.np-pri){background:var(--bg-surface,#111827)}
@media (max-width:480px){.np-pop{padding:14px}.np-title{font-size:16px}}
