/* 사안형 틀 공용 추가분 (04_GLO ai.css에서 이 페이지에 필요한 것만 남김): styles.css 위에 얹는다 */

/* 경과 분야 태그 */
.tag.t-industry { color: var(--navy); }
.tag.t-incident { color: var(--red); }
.tag.t-gov      { color: var(--series-1); }
.tag.t-congress { color: var(--series-2); }
.tag.t-intl     { color: var(--series-3); }
.tag.t-industry::before { color: var(--navy); }
.tag.t-incident::before { color: var(--red); }
.tag.t-gov::before      { color: var(--series-1); }
.tag.t-congress::before { color: var(--series-2); }
.tag.t-intl::before     { color: var(--series-3); }

/* 발언 진영 */
.q-ind .q-flag  { background: var(--navy); }
.q-gov .q-flag  { background: var(--series-1); }
.q-cgr .q-flag  { background: var(--series-2); }
.q-intl .q-flag { background: var(--series-3); }

/* 주요 내용: 갈래 목록의 날짜, 상세의 요점 */
.item-btn .ai-when {
  font-size: 11.5px; color: var(--ink-3); white-space: nowrap;
  font-variant-numeric: tabular-nums;
}
.ai-points { margin: 14px 0 6px; padding-left: 1.1em; }
.ai-points li { font-size: 14px; line-height: 1.7; color: var(--ink); margin: 0 0 6px; }

/* 향후 전망: 다가오는 일정 */
.ai-sched { list-style: none; margin: 10px 0 0; padding: 0; }
.ai-sched li {
  display: grid; grid-template-columns: 150px 1fr; column-gap: 16px; row-gap: 2px;
  padding: 11px 0; border-top: 1px solid var(--rule);
}
.ai-sched li:first-child { border-top: 0; }
.ai-sched-d {
  grid-row: span 2; font-size: 12.5px; font-weight: 700; color: var(--red);
  font-variant-numeric: tabular-nums;
}
.ai-sched strong { font-size: 14px; }
.ai-sched-s { font-size: 12.5px; line-height: 1.6; color: var(--ink-2); }
@media (max-width: 640px) {
  .ai-sched li { grid-template-columns: 1fr; }
  .ai-sched-d { grid-row: auto; }
}

/* 주요 인사: 진영 배지 */
.badge.a-related { background: var(--paper-sunk); color: var(--ink-2); }

/* 핵심 요약이 3개를 넘으면 줄마다 첫 칸의 왼쪽 괘선을 없앤다 */
@media (min-width: 861px) {
  .keypoints .kp:nth-child(3n+1) { border-left: 0; padding-left: 0; }
  .keypoints .kp:nth-child(n+4) { margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--rule-soft); }
}

/* 2차 개편(자제 → 경쟁): 분야 태그 / 진영 추가 */
.tag.t-military { color: var(--series-5); }
.tag.t-state    { color: var(--series-4); }
.tag.t-politics { color: var(--navy); }
.tag.t-korea    { color: var(--ink-2); }
.tag.t-military::before { color: var(--series-5); }
.tag.t-state::before    { color: var(--series-4); }
.tag.t-politics::before { color: var(--navy); }
.tag.t-korea::before    { color: var(--ink-2); }
.q-mil .q-flag   { background: var(--series-5); }
.q-state .q-flag { background: var(--series-4); }
.q-kr .q-flag    { background: var(--ink-2); }
.q-other .q-flag { background: var(--ink-3); }

/* 주요 인사: 넓은 화면에서 2단 */
#pplAll.ppl-other { max-width: none; display: grid; grid-template-columns: 1fr 1fr; gap: 0 44px; align-items: start; }
@media (max-width: 860px) { #pplAll.ppl-other { grid-template-columns: 1fr; } }
@media print { #pplAll.ppl-other { grid-template-columns: 1fr; } }

/* 주요 내용 갈래 목록: 윗줄(번호 / 갈래 / 기간) + 아랫줄(제목) */
.item-btn.st-btn { display: block; padding: 11px 0 12px; }
.st-top { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; }
.st-grp { font-size: 11px; font-weight: 700; letter-spacing: .02em; color: var(--ink-3); }
.st-when { font-size: 11px; color: var(--ink-3); white-space: nowrap; font-variant-numeric: tabular-nums; }
.st-name { display: block; margin-top: 4px; font-size: 14px; line-height: 1.45; color: var(--ink-2); }
.item-btn.st-btn:hover .st-name { color: var(--ink); }
.item-btn.st-btn[aria-pressed="true"] { padding-left: 12px; }
.item-btn.st-btn[aria-pressed="true"] .st-name { color: var(--ink); font-weight: 700; }
.item-btn.st-btn[aria-pressed="true"] .st-grp { color: var(--navy); }

/* 자율규제 협약: 협약문 인용 진영 */
.q-doc .q-flag { background: var(--ink); }

/* ---------- 04 이전 약속과 비교 ---------- */
.cmp-wrap { overflow-x: auto; border-top: 2px solid var(--rule-heavy); }
.cmp-tbl { width: 100%; border-collapse: collapse; font-size: 13.5px; line-height: 1.6; min-width: 760px; }
.cmp-tbl th, .cmp-tbl td { text-align: left; vertical-align: top; padding: 11px 12px; border-bottom: 1px solid var(--rule); }
.cmp-tbl thead th { border-bottom: 1px solid var(--rule-heavy); }
.cmp-col { display: block; font-size: 14px; font-weight: 800; letter-spacing: -0.02em; color: var(--ink); }
.cmp-sub { display: block; margin-top: 2px; font-size: 11.5px; font-weight: 500; color: var(--ink-3); }
.cmp-rowh { width: 108px; font-size: 12px; font-weight: 800; color: var(--ink-2); white-space: nowrap; }
.cmp-tbl td { color: var(--ink); width: 30%; }
.cmp-tbl .is-now { background: var(--navy-wash); }
.cmp-tbl thead .is-now .cmp-col { color: var(--navy); }
.cmp-tbl td.is-hi { font-weight: 700; box-shadow: inset 3px 0 0 var(--navy); }
.cmp-note { margin: 14px 0 6px; font-size: 14px; line-height: 1.7; color: var(--ink-2); max-width: 60em; }
.cmp-h3 { margin: 30px 0 10px; font-size: 17px; font-weight: 800; letter-spacing: -0.02em; }
.lineage { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--rule); }
.lineage li { display: grid; grid-template-columns: 104px minmax(0, 1fr); gap: 14px; padding: 12px 0; border-bottom: 1px solid var(--rule); }
.lin-d { font-size: 12.5px; font-weight: 700; color: var(--navy); font-variant-numeric: tabular-nums; padding-top: 1px; }
.lin-b strong { font-size: 14.5px; }
.lin-b p { margin: 4px 0 6px; font-size: 13.5px; line-height: 1.65; color: var(--ink-2); }
.lineage li.is-now .lin-b strong { color: var(--navy); }
@media (max-width: 720px) {
  .cmp-tbl { min-width: 0; }
  .cmp-tbl thead { display: none; }
  .cmp-tbl, .cmp-tbl tbody, .cmp-tbl tr, .cmp-tbl th, .cmp-tbl td { display: block; width: auto; }
  .cmp-tbl tr { border-bottom: 1px solid var(--rule-heavy); padding: 6px 0; }
  .cmp-tbl th.cmp-rowh { border: 0; padding: 8px 0 2px; }
  .cmp-tbl td { border: 0; padding: 4px 0 4px 10px; }
  .cmp-tbl td::before { content: attr(data-col); display: block; font-size: 11px; font-weight: 700; color: var(--ink-3); }
  .lineage li { grid-template-columns: 1fr; gap: 2px; }
}
@media print { .cmp-wrap { overflow: visible; } .cmp-tbl { min-width: 0; font-size: 11px; } .cmp-tbl tr, .lineage li { break-inside: avoid; } }

/* ---------- 02 협약문 전문 ---------- */
.acc-box { border-top: 2px solid var(--rule-heavy); }
.acc-h { margin: 0 0 10px; font-size: 17px; font-weight: 800; letter-spacing: -0.02em; }
.acc-h span { margin-left: 8px; font-size: 12px; font-weight: 600; color: var(--ink-3); }
.acc-title { padding: 12px 0; border-bottom: 1px solid var(--rule); }
.acc-title strong { display: block; font-size: 15px; }
.acc-en { display: block; margin-top: 2px; font-size: 12.5px; color: var(--ink-3); }
.acc-row { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; padding: 11px 0; border-bottom: 1px solid var(--rule); }
.acc-row.is-item { background: var(--navy-wash); padding-left: 12px; padding-right: 12px; }
.acc-ko, .acc-orig { margin: 0; font-size: 14px; line-height: 1.72; }
.acc-orig { color: var(--ink); font-size: 14px; order: 1; }
.acc-ko { color: var(--ink-2); font-size: 13.5px; order: 2; }
.acc-n { color: var(--navy); margin-right: 6px; font-variant-numeric: tabular-nums; }
.acc-sign { margin: 12px 0 6px; font-size: 13px; font-weight: 700; color: var(--ink-2); }
.acc-notes { margin: 8px 0 8px; padding-left: 1.1em; }
.acc-notes li { font-size: 13.5px; line-height: 1.7; color: var(--ink-2); margin-bottom: 4px; }
@media (max-width: 720px) { .acc-row { grid-template-columns: 1fr; gap: 6px; } }
@media print { .acc-row { break-inside: avoid; } }

/* ---------- 01 한눈에 보는 요약 ---------- */
.brief { margin: 4px 0 26px; border-top: 2px solid var(--rule-heavy); border-bottom: 1px solid var(--rule); padding: 14px 0 8px; }
.brief-h { font-size: 12px; font-weight: 800; letter-spacing: .08em; color: var(--navy); margin-bottom: 8px; }
.brief-list { list-style: none; margin: 0; padding: 0; }
.brief-list > li { position: relative; padding: 8px 0 8px 18px; border-top: 1px solid var(--rule); }
.brief-list > li:first-child { border-top: 0; }
.brief-list > li::before { content: ''; position: absolute; left: 3px; top: 17px; width: 6px; height: 6px; background: var(--navy); }
.brief-t { margin: 0; font-size: 15px; line-height: 1.72; color: var(--ink); }
.brief-sub { list-style: none; margin: 6px 0 2px; padding: 0; }
.brief-sub li { position: relative; padding: 3px 0 3px 18px; font-size: 14px; line-height: 1.7; color: var(--ink-2); }
.brief-sub li::before { content: '>'; position: absolute; left: 2px; color: var(--ink-3); font-weight: 700; }
.brief-src { display: block; margin-top: 3px; font-size: 11.5px; color: var(--ink-3); }
.brief-src a { color: var(--ink-3); text-decoration: none; border-bottom: 1px dotted var(--rule); }
.brief-src a:hover { color: var(--navy); }
@media print { .brief-list > li { break-inside: avoid; } }

/* ---------- 음성 브리핑 ---------- */
.audio-brief { margin: 18px 0 0; padding: 12px 0; border-top: 1px solid var(--rule); border-bottom: 1px solid var(--rule); display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; }
.ab-h { font-size: 13px; color: var(--ink); flex: 1 1 100%; }
.ab-h b { color: var(--navy); margin-right: 6px; }
.ab-h span { color: var(--ink-3); font-size: 12px; }
.audio-brief audio { flex: 1 1 320px; max-width: 520px; height: 36px; }
.ab-txt { font-size: 12.5px; color: var(--navy-link, var(--navy)); }
@media print { .audio-brief { display: none; } }

/* ---------- 발표 영상 ---------- */
.video-brief { margin: 18px 0 0; padding: 12px 0 4px; border-top: 1px solid var(--rule); }
.vb-play { position: relative; display: block; width: 100%; max-width: 560px; aspect-ratio: 16 / 9; padding: 0; margin: 8px 0 6px; border: 0; background: #000; cursor: pointer; overflow: hidden; }
.vb-play img { width: 100%; height: 100%; object-fit: cover; display: block; opacity: .9; }
.vb-play:hover img { opacity: 1; }
.vb-btn { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 64px; height: 44px; line-height: 44px; font-size: 20px; color: #fff; background: rgba(164, 22, 26, .92); text-align: center; }
.vb-frame { display: block; width: 100%; max-width: 560px; aspect-ratio: 16 / 9; border: 0; margin: 8px 0 6px; background: #000; }
.vb-note { margin: 4px 0 0; font-size: 11.5px; color: var(--ink-3); }
@media print { .vb-play, .vb-frame, .vb-note { display: none; } }

/* =====================================================================
 *  美 법안 통과 과정 페이지 (2026-10-02): 요약 머리표 / 경과 태그 / 영상 / KPI
 * ================================================================== */
.brief-lead { display: inline-block; min-width: 3.4em; margin-right: 8px; color: var(--navy); font-weight: 800; }
.tag.t-senate { color: var(--navy); }
.tag.t-budget { color: var(--series-2); }
.tag.t-ndaa   { color: var(--series-3); }
.tag.t-pres   { color: var(--series-5); }
.tag.t-senate::before { color: var(--navy); }
.tag.t-budget::before { color: var(--series-2); }
.tag.t-ndaa::before   { color: var(--series-3); }
.tag.t-pres::before   { color: var(--series-5); }
.vb-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.vb-item { margin: 0; }
.vb-item .vb-play, .vb-item .vb-frame { max-width: none; }
.vb-item figcaption { font-size: 12.5px; line-height: 1.6; color: var(--ink-2); }
.vb-item figcaption b { color: var(--ink); }
@media (max-width: 720px) { .vb-grid { grid-template-columns: 1fr; } }
@media (min-width: 901px) { #kpis { grid-template-columns: repeat(5, minmax(0, 1fr)); } }
