/* 뉴스데스크 화면(③ 메뉴) CSS — index.html <style>에서 규칙 텍스트 그대로 옮겼다(2026-10-17 ②-6 도메인 완료 기준 1 · features/news/news.css).
   2026-10-18 ③ 화면 이전에서 화면 폴더로 파일째 옮겼다(규칙 바이트·index.html 안 <link> 위치 그대로 → 캐스케이드 순서 동일).
   .news-* · #kbgNewsReader* 선택자 전부(136규칙 · at-규칙 20개 포함). 옮기기 전후 계산 스타일 대조(라이트·다크 × 3폭) 차이 0 — 영상 ②-5와 같은 방식. */

.news-word{cursor:pointer;border-radius:3px;padding:0 1px}

.news-word:hover{background:var(--surface2);text-decoration:underline}

.news-word:focus-visible{outline:2px solid var(--accent);outline-offset:-1px}

.news-gloss{background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:0 12px 40px rgba(0,0,0,.28);padding:12px 14px;max-height:min(60vh,360px);overflow-y:auto;overscroll-behavior:contain}

.news-gloss__head{display:flex;align-items:flex-start;gap:8px;margin-bottom:8px}

.news-gloss__head .news-gloss__word{flex:1;margin:0}

.news-gloss__close{flex:0 0 auto;width:32px;height:32px;border:1px solid var(--border);border-radius:8px;background:var(--surface2);color:var(--text2);font:inherit;font-size:18px;line-height:1;cursor:pointer}

.news-gloss__close:hover{color:var(--text);border-color:var(--accent)}

.news-gloss__close:focus-visible{outline:2px solid var(--accent);outline-offset:2px}

.news-gloss__word{font-size:15px;font-weight:800;color:var(--text);margin-bottom:8px;word-break:break-word}

.news-gloss__act{display:flex;gap:6px;margin-bottom:8px}

.news-gloss__hint{font-size:11px;color:var(--text3);line-height:1.5}

.news-gloss__def{font-size:13px;color:var(--text2);line-height:1.55;margin-bottom:8px;word-break:break-word}

.news-gloss__pos{font-size:11px;font-weight:700;color:var(--accent);font-style:italic}

.news-gloss__def2{font-size:12px;color:var(--text3);line-height:1.5;margin-top:4px}

/* 뉴스 포탈 요소(v6.66) — 토큰 전용. 목록 선두 썸네일(로컬 SVG 폴백) · 상세 히어로 · 읽기 폭 캡. */
.news-thumb{position:relative;flex:0 0 auto;width:56px;height:56px;border-radius:8px;overflow:hidden;background:var(--surface2);border:1px solid var(--border);display:grid;place-items:center;font-size:22px;line-height:1}

.news-thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}

.news-card-main{display:flex;align-items:center;gap:9px;flex:1;min-width:0;cursor:pointer;border-radius:8px}

.news-card-main:hover{background:var(--surface2)}

.news-card-main:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}

.news-row-link{flex:0 0 auto;padding:6px 10px;min-height:40px;min-width:40px;justify-content:center;display:inline-flex;align-items:center;text-decoration:none;font-size:14px}

.news-hero{width:100%;aspect-ratio:16/9;max-height:240px;object-fit:cover;background:var(--surface2);border:1px solid var(--border);border-radius:10px;margin:2px 0 12px;display:block}

.news-read{max-width:600px;margin-inline:auto}

.news-para{margin:0 0 15px;font-size:15px;line-height:1.95;color:var(--text2);white-space:pre-wrap;word-break:break-word}

.news-para:last-of-type{margin-bottom:4px}

/* 국가 섹션 구분자(전체 뷰 그룹핑) — 약어표 .abbr-sec 토큰 레시피 미러(단, position:sticky 제외:
   뉴스 목록은 bounded-scroll 컨테이너가 아니고 상단 칩도 sticky가 아니라 정적 구분자로 둔다). 순수 시각/헤딩. */
.news-sec{display:flex;align-items:center;gap:8px;padding:6px 14px;margin:4px 0 2px;background:var(--surface2);border-bottom:1px solid var(--border);border-radius:6px;font-size:11px;font-weight:800;color:var(--text2);font-variant-numeric:tabular-nums}

.news-sec b{color:var(--text3);font-weight:800}

.news-sec:first-child{margin-top:0}

@media (max-width:600px){ .news-row-link{display:none} .news-thumb{width:48px;height:48px;font-size:19px} .news-hero{max-height:180px} }

/* ── 뉴스 리더 셸(v6.85) — #editModal(스티키 헤드)·.note-modal(오버레이) 검증 레시피 미러. ──
   왜 인라인 cssText에서 클래스로 올렸나: @supports(svh) 폴백은 인라인 스타일에 쓸 수 없다.
   ⚠️ 오버레이가 align-items:center + overflow 미지정이면, 카드가 가시영역보다 커질 때 **위아래가 동시에
      잘리고 위쪽은 어떤 스크롤로도 도달 불가**가 된다(라운드 코너가 안 보인다는 실사용 신고와 일치).
      flex-start + overflow-y:auto + 카드 margin:auto로 바꾸면 짧은 카드는 여전히 중앙, 긴 카드는
      상단부터 스크롤된다 — 뷰포트 단위가 실패해도 상단 도달 불능은 구조적으로 사라진다(2중 방어). */
.news-reader-overlay{position:fixed;inset:0;z-index:1900;background:rgba(0,0,0,.55);display:flex;align-items:flex-start;justify-content:center;padding:12px;overflow-y:auto;overscroll-behavior:contain}

.news-reader-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;max-width:620px;width:96%;margin:auto;max-height:92vh;overflow:auto}

@supports (height:100svh){ .news-reader-card{max-height:92svh} }

.news-reader-bar{display:flex;align-items:center;gap:8px;flex-wrap:nowrap;position:sticky;top:0;z-index:2;background:var(--surface);border-bottom:1px solid var(--border);border-radius:15px 15px 0 0;margin:0 -18px 12px;padding:8px 18px}

.news-reader-bar__src{flex:1 1 auto;min-width:0;font-size:12px;color:var(--text3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

.news-reader-bar .ui-btn{min-height:36px;padding:6px 12px;font-size:12px}

.news-reader-bar .news-reader-close{min-width:44px;min-height:44px}

@media (max-width:600px){ .news-reader-bar .ui-btn,.news-reader-bar .speak-btn{min-height:44px;min-width:44px} }

#kbgNewsReaderCard{padding:0 18px 18px}

#kbgNewsReaderPaneCard{padding:0 18px 16px}

.news-reader-title{font-size:16px;font-weight:800;color:var(--text);line-height:1.4;margin:0 0 4px}

.news-reader-card:focus,.news-reader-card:focus-visible{outline:none}

/* Clinical Study Workspace · News Desk P2 — 콘텐츠가 먼저 보이고, 수집·필터는 보조 도구로 물러난다.
   기사·동기화·리더 계약은 그대로 두고 뉴스 룸 안에서만 새 토큰과 공용 master-detail을 조합한다. */
.news-workspace{container-type:inline-size;display:flex;min-width:0;flex-direction:column;gap:14px;color:var(--ui-text)}

.news-page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px 18px;padding-bottom:14px;border-bottom:1px solid var(--ui-border)}

.news-heading{display:flex;align-items:flex-start;min-width:0;gap:11px}

.news-heading__icon{display:flex;align-items:center;justify-content:center;width:38px;height:38px;flex:0 0 38px;border:1px solid var(--ui-border);border-radius:var(--ui-radius-control);background:var(--ui-primary-soft);color:var(--ui-primary)}

.news-heading__icon .ui-icon{width:20px;height:20px}

.news-heading__copy{min-width:0}

.news-heading__kicker{margin:0 0 2px;color:var(--ui-primary);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}

.news-heading h2{margin:0;color:var(--ui-text);font-size:21px;line-height:1.25;letter-spacing:-.025em}

.news-heading p{max-width:680px;margin:4px 0 0;color:var(--ui-text-secondary);font-size:12px;line-height:1.55;word-break:keep-all;overflow-wrap:anywhere}

.news-head-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex:0 0 auto}

.news-head-actions .ui-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;white-space:nowrap}

.news-head-actions .ui-icon{width:17px;height:17px}

.news-collect-status{margin:0;padding:9px 12px;border:1px solid var(--ui-border);border-radius:var(--ui-radius-control);background:var(--ui-surface-subtle);color:var(--ui-text-secondary);font-size:11.5px;line-height:1.45;overflow-wrap:anywhere}

.news-collect-status[hidden]{display:none}

.news-collect-status--busy{border-color:var(--ui-border-strong);color:var(--ui-primary)}

.news-collect-status--success{border-color:var(--ui-success);color:var(--ui-success)}

.news-collect-status--warning{border-color:var(--ui-warning);color:var(--ui-warning)}

.news-collect-status--error{border-color:var(--ui-danger);color:var(--ui-danger)}

.news-collect-progress-row{display:flex;align-items:baseline;gap:8px}

.news-collect-progress-text{flex:1;min-width:0;overflow-wrap:anywhere}

.news-collect-progress-percent{flex:0 0 auto;font-variant-numeric:tabular-nums;font-weight:800}

.news-collect-progress{margin-top:6px;height:6px;border-radius:999px;background:var(--ui-surface-hover);overflow:hidden}

.news-collect-progress-fill{display:block;height:100%;border-radius:inherit;background:var(--ui-primary);transition:width .2s ease}

@media (prefers-reduced-motion:reduce){.news-collect-progress-fill{transition:none}}

.news-filter-shell{display:flex;min-width:0;flex-direction:column;gap:8px}

.news-quick-filters{display:flex;align-items:stretch;gap:7px;overflow-x:auto;scrollbar-width:thin}

.news-quick-filter{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:112px;min-height:44px;padding:9px 13px;border:1px solid var(--ui-border);border-radius:var(--ui-radius-control);background:var(--ui-surface);color:var(--ui-text-secondary);font:650 12px/1.35 'Noto Sans KR',sans-serif;cursor:pointer;white-space:nowrap}

.news-quick-filter:hover{border-color:var(--ui-border-strong);background:var(--ui-surface-hover);color:var(--ui-text)}

.news-quick-filter.active{border-color:var(--ui-border-strong);background:var(--ui-primary-soft);color:var(--ui-primary)}

.news-quick-filter:focus-visible,.news-filter-drawer>summary:focus-visible,.news-workspace button:focus-visible,.news-workspace a:focus-visible{outline:2px solid var(--ui-focus);outline-offset:2px}

.news-quick-filter .ui-icon{width:16px;height:16px}

.news-quick-filter b{font-size:11px;font-variant-numeric:tabular-nums}

.news-filter-drawer{border:1px solid var(--ui-border);border-radius:var(--ui-radius-control);background:var(--ui-surface-subtle)}

.news-filter-drawer>summary{display:flex;align-items:center;gap:8px;min-height:44px;padding:9px 12px;color:var(--ui-text-secondary);font-size:12px;font-weight:650;cursor:pointer;list-style:none}

.news-filter-drawer>summary::-webkit-details-marker{display:none}

.news-filter-drawer>summary:hover{background:var(--ui-surface-hover);color:var(--ui-text)}

.news-filter-drawer>summary .ui-icon{width:16px;height:16px;color:var(--ui-text-tertiary)}

.news-filter-current{flex:1;min-width:0;overflow:hidden;color:var(--ui-text-tertiary);font-size:11px;font-weight:500;text-overflow:ellipsis;white-space:nowrap;text-align:right}

.news-filter-chevron{transition:transform .16s ease}

.news-filter-drawer[open] .news-filter-chevron{transform:rotate(180deg)}

.news-filter-body{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:13px;padding:12px;border-top:1px solid var(--ui-border)}

.news-filter-group{min-width:0}

.news-filter-label{display:block;margin:0 0 7px;color:var(--ui-text-tertiary);font-size:10px;font-weight:700;letter-spacing:.05em}

.news-filter-options{display:flex;align-items:center;gap:6px;flex-wrap:wrap}

.news-filter-options .lang-filter-chip{min-height:40px;border-color:var(--ui-border-strong);background:var(--ui-surface);color:var(--ui-text-secondary)}

.news-filter-options .lang-filter-chip.active{border-color:var(--ui-border-strong);background:var(--ui-primary-soft);color:var(--ui-primary)}

.news-filter-options .lang-filter-chip:focus-visible{outline:2px solid var(--ui-focus);outline-offset:1px}

.news-freshness{grid-column:1 / -1;margin:0!important;padding-top:2px;color:var(--ui-text-tertiary)!important}

.news-feed-label{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:1px 0 0;color:var(--ui-text-tertiary);font-size:11px}

.news-feed-label b{color:var(--ui-text);font-size:13px}

.news-workspace .lab-split{gap:12px}

.news-workspace .lab-list-pane{flex-basis:clamp(320px,38vw,480px)}

.news-workspace .lab-detail-pane{border:1px solid var(--ui-border);border-radius:var(--ui-radius-card);background:var(--ui-surface)}

.news-workspace .kbg-list{gap:6px}

.news-workspace .lang-card{border-color:var(--ui-border);border-radius:var(--ui-radius-control);background:var(--ui-surface);box-shadow:none}

.news-workspace .lang-card--selected{border-color:var(--ui-border-strong);background:var(--ui-primary-soft);box-shadow:inset 3px 0 0 var(--ui-primary)}

.news-workspace .lang-card__row{gap:10px;padding:9px 10px}

.news-workspace .news-card-main{gap:10px;min-height:58px;padding:2px}

.news-workspace .news-card-main:hover{background:transparent}

.news-card-copy{flex:1;min-width:0}

.news-card-title{display:-webkit-box;overflow:hidden;color:var(--ui-text);font-size:12.5px;font-weight:700;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow-wrap:anywhere}

.news-card-meta{display:flex;align-items:center;gap:5px 7px;min-width:0;margin-top:5px;color:var(--ui-text-tertiary);font-size:10.5px;line-height:1.4;flex-wrap:wrap}

.news-card-meta__source{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

.news-card-status{display:inline-flex;align-items:center;gap:4px;color:var(--ui-primary);font-weight:700}

.news-card-status .ui-icon{width:13px;height:13px;fill:currentColor}

.news-card-field{display:inline-flex;align-items:center;min-height:24px;padding:3px 7px;border:1px solid var(--ui-border);border-radius:999px;background:var(--ui-surface-subtle);color:var(--ui-text-tertiary);font-size:9.5px;font-weight:650;white-space:nowrap}

.news-workspace .news-row-link{min-width:44px;min-height:44px;border-color:transparent;color:var(--ui-text-tertiary)}

.news-workspace .news-row-link .ui-icon{width:16px;height:16px}

.news-workspace .news-thumb{width:52px;height:52px;border-color:var(--ui-border);border-radius:var(--ui-radius-control);background:var(--ui-surface-subtle);color:var(--ui-text-tertiary);font-size:0}

.news-workspace .news-thumb>.ui-icon{width:21px;height:21px}

.news-workspace .news-sec{margin:8px 0 2px;padding:7px 10px;border:0;border-radius:0;background:transparent;color:var(--ui-text-secondary);font-size:10.5px}

.news-workspace .news-sec:not(:first-child){border-top:1px solid var(--ui-border);padding-top:11px}

.news-workspace .kbg-empty{padding:24px 16px;border:1px dashed var(--ui-border-strong);border-radius:var(--ui-radius-card);background:var(--ui-surface-subtle);text-align:center}

.news-empty-icon{display:flex;align-items:center;justify-content:center;width:42px;height:42px;margin:0 auto 10px;border-radius:50%;background:var(--ui-primary-soft);color:var(--ui-primary)}

.news-empty-icon .ui-icon{width:20px;height:20px}

.news-workspace .news-reader-bar{border-color:var(--ui-border);background:var(--ui-surface)}

.news-workspace .news-reader-title{color:var(--ui-text);font-size:18px;line-height:1.5}

.news-workspace .news-reader-bar .ui-icon,.news-reader-card .news-reader-bar .ui-icon{width:16px;height:16px}

@container (max-width:699px){
 .news-page-head{display:grid;grid-template-columns:minmax(0,1fr)}
 .news-head-actions{justify-content:flex-start}
 .news-head-actions .ui-btn>span:last-child{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
 .news-filter-body{grid-template-columns:minmax(0,1fr)}
 .news-freshness{grid-column:auto}
 .news-quick-filter{min-width:104px;flex:1 0 auto}
 .news-workspace .news-card-field{display:none}
 .news-card-meta__source{max-width:145px}
}

@container (max-width:420px){
 .news-heading h2{font-size:19px}
 .news-heading p{font-size:11.5px}
 .news-workspace .news-thumb{width:46px;height:46px}
 .news-workspace .lang-card__row{padding:8px}
 .news-card-meta{gap:4px 6px}
}

.news-freshness{margin-top:6px !important;font-size:11px;color:var(--text3)}

@media (max-width:720px){
.news-freshness{display:none}
}
