body.news-modal-open{overflow:hidden}
.news-preview[hidden]{display:none}
.news-preview{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:24px}
.news-preview-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.55);opacity:0;transition:opacity .18s ease;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}
.news-preview.is-open .news-preview-backdrop{opacity:1}
.news-preview-panel{position:relative;z-index:1;width:min(100%,760px);max-height:min(820px,calc(100dvh - 48px));overflow:auto;border:1px solid #dce4f3;border-radius:24px;background:#fff;color:#101114;box-shadow:0 30px 90px rgba(25,46,92,.25);opacity:0;transform:translateY(14px) scale(.985);transition:opacity .18s ease,transform .18s ease;outline:0}
.news-preview.is-open .news-preview-panel{opacity:1;transform:none}
.news-preview-close{position:absolute;right:18px;top:18px;z-index:2;width:40px;height:40px;border:0;border-radius:50%;background:#f0f4fc;color:#505969;font-size:25px;line-height:1;cursor:pointer}
.news-preview-close:hover{background:#e5ecfa;color:#101114}
.news-preview-content{padding:40px 44px 38px}
.news-preview-meta{display:flex;align-items:center;gap:9px;padding-right:46px;color:#717987;font-size:.78rem;font-weight:750}
.news-preview-meta [data-kind]{border-radius:7px;background:#eaf7f1;color:#126746;padding:5px 9px;font-weight:850}
.news-preview-meta [data-reviewed]{border-radius:7px;background:#eef3ff;color:#2458e6;padding:5px 9px;font-weight:850}
.news-preview-meta time{margin-left:auto;color:#969da9}
.news-preview h2{margin:21px 0 25px;font-size:clamp(1.42rem,3vw,1.82rem);line-height:1.4;letter-spacing:-.045em;font-weight:880}
/* 제목 아래 출처 기관 커버 — 카드 목록의 `.news-cover`를 모달 폭에 맞춰 옮겨 온 것이다.
   출처 클래스(molit·fsc·hf·lh·korea·applyhome·bok)를 그대로 물려받으므로 배경도 같다. */
.news-preview-cover{position:relative;display:flex;align-items:center;justify-content:center;width:340px;max-width:100%;height:190px;margin:0 auto 25px;border:1px solid #e4eaf5;border-radius:16px;overflow:hidden;background:#f3f6fa}
.news-preview-cover[hidden]{display:none}
.news-preview-cover.applyhome{background:
  radial-gradient(circle at 14% 20%,rgba(20,158,216,.17),transparent 40%),
  radial-gradient(circle at 88% 82%,rgba(47,78,130,.13),transparent 43%),
  linear-gradient(135deg,#eefaff 0%,#f8fbfd 50%,#edf3fa 100%)}
.news-preview-cover.lh{background:linear-gradient(135deg,#f5fae9,#eef7fb)}
.news-preview-cover.korea{background:#f6f8fc}
.news-preview-cover.fsc{background:
  radial-gradient(circle at 12% 18%,rgba(206,17,55,.14),transparent 38%),
  radial-gradient(circle at 88% 82%,rgba(29,60,105,.16),transparent 42%),
  linear-gradient(135deg,#f8eef2 0%,#f5f7fb 48%,#e9f1fa 100%)}
.news-preview-cover.hf{background:
  radial-gradient(circle at 14% 20%,rgba(0,164,201,.19),transparent 40%),
  radial-gradient(circle at 88% 82%,rgba(13,94,164,.16),transparent 43%),
  linear-gradient(135deg,#e9fbfd 0%,#f6fbfd 50%,#e8f2fb 100%)}
.news-preview-cover.molit{background:
  radial-gradient(circle at 13% 18%,rgba(227,0,52,.13),transparent 38%),
  radial-gradient(circle at 88% 82%,rgba(0,70,128,.17),transparent 43%),
  linear-gradient(135deg,#f9eef2 0%,#f6f8fb 48%,#e8f1f9 100%)}
.news-preview-cover.bok{background:
  radial-gradient(circle at 14% 20%,rgba(23,167,216,.22),transparent 40%),
  radial-gradient(circle at 88% 82%,rgba(0,88,152,.16),transparent 43%),
  linear-gradient(135deg,#e9f9ff 0%,#f5fbff 50%,#e7f1fb 100%)}
/* 전체 뉴스 목록과 같은 커버 높이·기관별 로고 크기를 쓴다. */
.news-preview-cover img{display:block;max-width:70%;max-height:66%;object-fit:contain}
.news-preview-cover.applyhome img{max-width:76%;max-height:76%}
.news-preview-cover.lh img{width:104px;height:104px}
.news-preview-cover.korea img{width:200px;max-width:64%}
.news-preview-cover.fsc img{width:230px;max-width:68%}
.news-preview-cover.hf img{width:220px;max-width:66%}
.news-preview-cover.molit img{width:230px;max-width:68%}
.news-preview-cover.bok img{width:260px;max-width:76%;max-height:72%}
.news-preview-cover .molit-name{color:#174c88;font-size:1.55rem;font-weight:850;letter-spacing:-.055em}
.news-preview-summary-wrap{padding:25px 26px 27px;border:1px solid #dfe6f3;border-radius:18px;background:#fbfcff;box-shadow:0 8px 26px rgba(36,88,230,.045)}
.news-preview-summary-label{display:flex;align-items:center;gap:7px;margin-bottom:18px;color:#2458e6;font-size:.78rem;font-weight:850;letter-spacing:.035em}
.news-preview-summary-label::before{content:'✦';font-size:.82rem}
.news-preview-points{margin:0;padding-left:21px;color:#343943;font-size:.96rem;line-height:1.84}
.news-preview-points-rest{margin-top:20px}
.news-preview-points[hidden]{display:none}
.news-preview-point{padding-left:4px}
.news-preview-point+.news-preview-point{margin-top:20px}
.news-preview-point::marker{color:#2458e6}
.news-preview-point-label{color:#101114;font-weight:850}
.news-preview-subpoints{margin:8px 0 0;padding-left:21px;color:#555d69;font-size:.92rem;line-height:1.88}
.news-preview-subpoint+.news-preview-subpoint{margin-top:7px}
.news-preview-subpoint::marker{color:#97a8cf;font-size:.78em}
.news-preview-focus{color:#101114;font-weight:850;text-decoration:none;background:linear-gradient(transparent 66%,rgba(43,87,212,.3) 66%);padding:0 1px;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.news-preview-fallback{display:block;margin-top:17px;padding-top:15px;border-top:1px solid #e8edf6;color:#8a5b18;font-size:.76rem;line-height:1.65}
.news-preview-fallback[hidden]{display:none}
.news-preview-details{display:flex;flex-wrap:wrap;gap:7px;margin-top:20px}
.news-preview-details[hidden]{display:none}
.news-preview-detail{border-radius:999px;background:#eef3ff;color:#4d608e;padding:6px 10px;font-size:.76rem;font-weight:750}
.news-preview-ad{display:flex;align-items:center;justify-content:center;margin:0 auto 25px;overflow:hidden}
.news-preview-ad .kakao_ad_area{margin:0 auto;vertical-align:top}
/* 요약 카드 안, 글머리표 사이 320×50. 좁은 화면에서는 소재를 줄이지 않고 **칸을
   카드 밖으로 물려** 320px 자리를 만든다(모바일 −39px = 콘텐츠 패딩 20 + 카드 패딩 19).
   소재에 transform:scale()을 걸면 그 칸이 아예 렌더되지 않는다
   → docs/ads-adfit.md 「카드 안 소재 축소가 렌더를 죽였다」 */
.news-preview-ad-mid{display:block;width:320px;min-width:320px;min-height:50px;margin:24px auto 22px;overflow:visible;text-align:center}
.news-preview-caution{margin-top:23px;padding-top:19px;border-top:1px solid #e7ebf2;color:#7b8390;font-size:.78rem;line-height:1.68}
.news-preview-actions{display:flex;gap:10px;margin-top:24px}
.news-preview-actions button,.news-preview-actions a{display:flex;align-items:center;justify-content:center;min-height:50px;border-radius:13px;font-size:.9rem;font-weight:820;text-decoration:none;cursor:pointer}
.news-preview-later{width:104px;border:1px solid #d8dfeb;background:#fff;color:#555f70}
.news-preview-original{flex:1;background:#2458e6;color:#fff;gap:8px;box-shadow:0 8px 20px rgba(36,88,230,.18)}
.news-preview-original:hover{background:#1e4ccd}
@media(max-width:700px){
  .news-preview{align-items:end;padding:0}
  .news-preview-panel{width:100%;max-height:90dvh;border-radius:24px 24px 0 0}
  .news-preview-content{padding:31px 20px calc(22px + env(safe-area-inset-bottom))}
  .news-preview h2{margin:18px 0 20px;font-size:1.38rem}
  .news-preview-summary-wrap{padding:21px 19px 23px}
  .news-preview-points{font-size:.92rem;line-height:1.8}
  .news-preview-subpoints{font-size:.88rem;line-height:1.84}
  .news-preview-cover{height:176px;margin-bottom:20px}
  .news-preview-ad-mid{width:auto;min-width:0;min-height:50px;margin:20px -39px 18px;overflow:hidden;text-align:center}
  .news-preview-ad-mid .kakao_ad_area{margin:0 auto}
  .news-preview-actions{position:sticky;bottom:0;margin:22px -2px 0;padding-top:6px;background:#fff}
}
@media(prefers-reduced-motion:reduce){.news-preview-backdrop,.news-preview-panel{transition:none}}
