@import url("https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/static/pretendard.css");

/* ==========================================================================
   정책과 나 — 디자인 토큰 시스템 (Design Tokens)
   ========================================================================== */
:root {
  /* ------------------------------------------------------------------------
     1. Color Hierarchy System (위계별 색상 체계)
     ------------------------------------------------------------------------ */
  /* Level 1: Primary Emphasis (최상위 주목도 — 핵심 앵커 & 타이틀) */
  --color-ink-primary: #0f172a;       /* Headings (h1~h4), key numbers, active dark fills */
  --color-accent-primary: #175cd3;     /* Brand anchor point, active nav underlines, stat bar (Refined Sapphire) */
  --color-border-strong: #0f172a;      /* Primary report table header/footer rules (2px/1.5px) */
  --color-ink-inverse: #ffffff;       /* Contrast text on solid dark backgrounds */

  /* Level 2: Secondary Content & Structure (중간 주목도 — 본문 서술 & 컴포넌트 구조) */
  --color-ink-secondary: #334155;     /* Body narrative copy, table data cells */
  --color-border-default: #e2e8f0;     /* Table perimeter, card outlines, input borders */
  --color-accent-dark: #1542a6;        /* Interactive link & button hovers */
  --color-border-focus: #175cd3;       /* Accessibility focus ring */

  /* Level 3: Tertiary Supporting & Metadata (하위 주목도 — 보조 정보 & 미세 구분선) */
  --color-ink-muted: #64748b;         /* Timestamps, agency meta, table th, unit labels */
  --color-ink-faint: #94a3b8;         /* Inactive controls, placeholder text, graph guides */
  --color-border-hairline: #edf2f7;    /* Subtle table row dividers, hairline separators */

  /* Level 4: Spatial Surfaces & Layers (공간 레이어 위계 — 베이스와 깊이감) */
  --color-bg-page: #ffffff;            /* Base canvas */
  --color-bg-subtle: #f8fafc;          /* Capsule tracks, unselected chips, table th fill */
  --color-bg-muted: #f1f5f9;           /* Hover fills, subtle backgrounds */
  --color-bg-elevated: #ffffff;        /* Popovers, modal dialogs */
  --color-bg-overlay: rgba(15, 23, 42, 0.45); /* Modal backdrop */
  /* Masthead Soft Light Slate Theme Tokens (밝고 정갈한 소프트 라이트 슬레이트 테마) */
  --color-bg-header: rgba(248, 250, 252, 0.95); /* #f8fafc - 눈부심 없는 밝은 페일 슬레이트 */
  --color-header-ink: var(--color-ink-primary);  /* #0f172a - 짙은 잉크 텍스트 */
  --color-header-ink-muted: var(--color-ink-muted); /* #64748b - 차분한 보조 링크 */
  --color-header-dot: var(--color-accent-primary); /* #175cd3 - 시그니처 사파이어 블루 앵커 도트 */
  --color-header-border: var(--color-border-default); /* #e2e8f0 - 단정한 하단 분할선 */
  --color-header-tab-hover: var(--color-bg-muted); /* #f1f5f9 - 탭 호버 소프트 채움 */
  --color-header-tab-active: #e2e8f0;            /* #e2e8f0 - 활성 탭 소프트 캡슐 */
  --color-ink-tab-subtle: #cbd5e1;              /* Secondary silver-white text on active dark tabs */

  /* Level 5: Semantic & Functional Status (상태 및 의미론적 기능 색상) */
  --color-accent-soft: #eff8ff;        /* Soft accent fill & badge backgrounds */

  /* AI Caution & Disclosure (호박색 소프트 틴트) */
  --color-caution-bg: #fffbeb;
  --color-caution-border: #fde68a;
  --color-caution-ink: #b45309;

  /* Citizen Sentiment Feedback (찬성 / 반대 / 유보) */
  --color-approve-bg: #eff8ff;
  --color-approve-border: #b2ccff;
  --color-approve-ink: #175cd3;

  --color-reject-bg: #fef2f2;
  --color-reject-border: #fca5a5;
  --color-reject-ink: #b91c1c;

  --color-neutral-bg: #f8fafc;
  --color-neutral-border: #cbd5e1;
  --color-neutral-ink: #0f172a;

  /* Success Confirmation */
  --color-success-ink: #059669;

  /* Data Graphics (국가 지표 데이터 시각화 — 브랜드 키 액센트 Blue 일원화) */
  --color-spark-line: var(--color-accent-primary); /* #175cd3 */
  --color-spark-axis: var(--color-border-default); /* #e2e8f0 */
  --color-spark-dot: var(--color-accent-primary);  /* #175cd3 */

  /* ------------------------------------------------------------------------
     2. Line & Border Hierarchy System (라인 & 테두리 위계 체계)
     ------------------------------------------------------------------------ */
  /* Border Widths (선의 굵기 스케일) */
  --border-width-hairline: 1px;        /* Level 4: Subtle table rows, hairline borders */
  --border-width-default: 1px;         /* Level 3: Standard element & component borders */
  --border-width-accent: 3px;          /* Level 2: Vertical callout accent bars */
  --border-width-accent-sub: 2.5px;    /* Level 2: Subtle vertical answer bars */
  --border-width-strong: 2px;          /* Level 1: Report heavy anchor rules */
  --border-width-strong-sub: 1.5px;    /* Level 1: Report header/footer sub-rules */
  --border-width-focus: 2px;           /* Level 5: Accessibility focus ring */

  /* ------------------------------------------------------------------------
     3. Typography System (타이포그래피 체계)
     ------------------------------------------------------------------------ */
  --font-family-base: "Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Roboto, "Helvetica Neue", "Segoe UI", "Apple SD Gothic Neo", "Noto Sans KR", sans-serif;
  --font-family-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;

  /* Type Scale */
  --text-3xl: 28px;     /* Main section headings (h1) */
  --text-2xl: 24px;     /* Sub-section headings (h2) */
  --text-xl: 21px;      /* Article titles (h3) */
  --text-title-sm: 18px; /* Brand logo, article index numeral (01, 02) */
  --text-lg: 17px;      /* Lead copy, dialog titles */
  --text-base: 15px;    /* Standard reading body text */
  --text-subhead: 14.5px; /* Harmonized article section subheadings */
  --text-md: 14px;      /* Nav links, metric units, table row headers, impact answer text */
  --text-sm: 13.5px;    /* Table content, input controls, chips */
  --text-body-sm: 13px; /* Table column headers, dialog text, modal details */
  --text-pill: 12.5px;  /* Pill button text, save buttons */
  --text-xs: 12px;      /* Table headings, metadata, source links */
  --text-badge-meta: 11.5px; /* Source popover triggers, external source badge */
  --text-2xs: 11px;     /* Badges, tags, graph axis labels */
  --text-3xs: 10px;     /* Micro chart axis labels, tiny icons */
  --text-caret: 8.5px;  /* Dropdown trigger caret indicator (▾) */
  --text-title-xs: 16px; /* Compact numeral index in mobile */
  --metric-val: 29px;   /* National indicator headline figures */
  --metric-val-mobile: 26px; /* National indicator headline figures in mobile */

  /* Leading (Line Heights / 줄간격 위계 체계) */
  --leading-none: 1.0;         /* 1.0 - 단위, 고정형 인라인 요소 */
  --leading-tight: 1.25;       /* 1.25 - 대형 제목(h1, h2), 배지 */
  --leading-snug: 1.4;         /* 1.4 - 안건 제목(h3), 안건 소제목(--text-subhead) */
  --leading-normal: 1.6;       /* 1.6 - 데이터 표 본문(th/td), 인풋, 팝오버, 답변 */
  --leading-relaxed: 1.75;     /* 1.75 - 긴 호흡의 기사 서술 본문(p) */
  --leading-metric: 36px;      /* 36px - 지표 대형 수치 전용 줄간격 */
  --leading-metric-mobile: 34px; /* 34px - 모바일 지표 대형 수치 줄간격 */

  /* Font Weights */
  --weight-regular: 400;
  --weight-medium: 500;
  --weight-semibold: 600;
  --weight-bold: 700;
  --weight-heavy: 800;

  /* Letter Spacing */
  --tracking-tight: -0.025em;
  --tracking-normal: -0.015em;
  --tracking-wide: 0.02em;

  /* Primitive Spacing Scale (4px 기준 기본 스케일) */
  --space-0-5: 2px;
  --space-1: 4px;
  --space-1-5: 6px;
  --space-2: 8px;
  --space-2-5: 10px;
  --space-3: 12px;
  --space-3-5: 14px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-7: 28px;
  --space-8: 32px;
  --space-9: 36px;       /* 기사 및 주요 블록 수직 대칭 여백 (9 * 4px) */
  --space-10: 40px;      /* 대 타이틀 및 섹션 간격 */
  --space-12: 48px;
  --space-15: 60px;
  --space-16: 64px;
  --space-20: 80px;      /* 상단 네비게이션 스크롤 오프셋 */

  --container-max-width: 1100px;

  /* ------------------------------------------------------------------------
     4-B. Semantic Layout & Component Spacing (시맨틱 레이아웃 및 컴포넌트 간격 체계)
     ------------------------------------------------------------------------ */
  /* Section & Article Rhythm (대구획 및 기사 수직 리듬) */
  --space-weekly-section-pt: var(--space-7);  /* 28px - 대한민국 주요 지표 섹션 상단 패딩 */
  --space-council-section-pt: var(--space-15); /* 60px - 국무회의 브리핑 섹션 상단 패딩 */
  --space-heading-gap: var(--space-2-5);      /* 10px - 타이틀-일자/메타 인라인 간격 */
  --space-article-pad: var(--space-9);        /* 36px - 안건 기사 상하 대칭 패딩 및 하이라이트 여백 */
  --space-article-first-pt: var(--space-15);  /* 60px - 첫 번째 안건(01번) 상단 여백 (표와의 간격) */
  --space-article-first-pt-mobile: var(--space-10); /* 40px - 첫 번째 안건(01번) 모바일 상단 여백 */
  --space-section-gap: var(--space-10);       /* 40px - 대 타이틀 및 주요 섹션 간격 */
  --space-section-pb: var(--space-3);         /* 12px - 대 타이틀 하단 경계선 패딩 */
  --space-section-mb: var(--space-4);         /* 16px - 대 타이틀 하단 여백 */
  --space-scroll-offset: var(--space-20);     /* 80px - 고정 헤더 스크롤 오프셋 */

  /* Subheading Vertical Rhythm (안건 소제목 수직 리듬 체계) */
  --space-problem-heading-mt: var(--space-6); /* 24px - '어떤 문제인가요?' 소제목 상단 여백 (기사 제목과의 간격 확대) */
  --space-measure-heading-mt: var(--space-6); /* 24px - '조치·계획' 소제목 상단 여백 (문제 본문과의 간격) */
  --space-measure-heading-mb: var(--space-2-5); /* 10px - '조치·계획' 소제목 하단 여백 (표와의 간격) */
  --space-impact-heading-mt: var(--space-6);  /* 24px - '이 정책, 나에게 어떤 영향이 있을까요?' 소제목 상단 여백 */
  --space-impact-heading-mb: var(--space-3);  /* 12px - '이 정책, 나에게 어떤 영향이 있을까요?' 소제목 하단 여백 */
  --subhead-margin-top: var(--space-5);       /* 20px - 이전 콘텐츠와의 확실한 분리 여백 */
  --subhead-margin-bottom: var(--space-3);    /* 12px - 소제목과 하단 콘텐츠/인터랙티브 컨트롤 간의 쾌적한 호흡 (기존 8px에서 상향) */
  --space-subhead-to-content: var(--space-3); /* 12px - 소제목 하위 기본 요소 간격 시맨틱 별칭 */
  --space-subhead-to-pills: var(--space-3-5); /* 14px - 소제목과 알약 선택 칩 그룹 간 최적 호흡 여백 */
  --space-subhead-to-feedback: var(--space-2); /* 8px - 시민 의견 소제목과 투표 알약 버튼 간 여백 */

  /* Interactive Pill & Control Rhythm (알약 및 인터랙티브 컨트롤 간격 체계) */
  --space-pill-gap: var(--space-2);           /* 8px - 알약 버튼 상호 간 수평/수직 그리드 간격 */
  --space-answer-top: var(--space-4);         /* 16px - 답변 콜아웃 상단 여백 (알약 버튼과의 최적 여백) */
  --space-feedback-pills-top: var(--space-2); /* 8px - 시민 의견 투표 버튼 상단 여백 */

  /* Table Internal Spacing & Rhythms (데이터 표 및 헤딩 간격 체계) */
  --space-table-heading-mb: var(--space-2);   /* 8px - 표 타이틀 헤딩 하단 여백 */
  --space-toc-margin-top: var(--space-2);     /* 8px - 안건 요약 표 상단 여백 */
  --space-toc-margin-bottom: var(--space-6);  /* 24px - 안건 요약 표 하단 여백 */
  --space-table-cell-py: 11px;                /* 표 셀 상하 패딩 */
  --space-table-cell-px: var(--space-3);      /* 12px - 표 셀 좌우 패딩 */

  /* Micro Spacing & Dedicated Paddings (미세 간격 및 전용 패딩 체계) */
  --space-micro: 3px;                      /* 3px - 아이콘-텍스트 인라인 미세 간격 */
  --gap-badge-icon: 3px;                   /* 3px - 배지 내부 아이콘 간격 */
  --gap-trigger-icon: 3.5px;               /* 3.5px - 팝오버 트리거 화살표 간격 */
  --badge-pad-stat: 1px 7px;               /* 지표 참고 배지 패딩 */
  --badge-pad-trigger: 0 var(--space-2);   /* 원문 팝오버 트리거 배지 패딩 (0 8px) */
  --card-pad-popover: var(--space-3-5) var(--space-4); /* 14px 16px - 툴팁 내부 패딩 */
  --btn-pad-save: var(--space-1-5) var(--space-4);     /* 6px 16px - 저장 버튼 패딩 */
  --popover-item-pad: var(--space-1-5) var(--space-2-5); /* 6px 10px - 팝오버 링크 항목 패딩 */

  /* ------------------------------------------------------------------------
     5. Shape & Radii (반경 체계)
     ------------------------------------------------------------------------ */
  --radius-xs: 4px;
  --radius-sm: 6px;
  --radius-md: 10px;
  --radius-lg: 14px;
  --radius-full: 9999px;

  /* ------------------------------------------------------------------------
     6. Pill & Chip UI System (알약 및 캡슐 UI 체계 - 완전 단일화)
     ------------------------------------------------------------------------ */
  --pill-h: 32px;                       /* 모든 알약(지표 탭, 페르소나 칩, 투표 버튼) 단일 높이 */
  --pill-h-lg: var(--pill-h);           /* 하위 호환 */
  --pill-h-md: var(--pill-h);           /* 하위 호환 */
  --pill-h-sm: var(--pill-h);           /* 하위 호환 */
  --tab-h-council: 38px;                /* 국무회의 세그먼트 탭 데스크톱 높이 */
  --tab-h-council-mobile: 34px;         /* 국무회의 세그먼트 탭 모바일 높이 */

  --pill-pad: 0 var(--space-3-5);       /* 0 14px - 모든 알약 단일 패딩 */
  --pill-pad-lg: var(--pill-pad);
  --pill-pad-md: var(--pill-pad);
  --pill-pad-sm: var(--pill-pad);
  --pill-font-size: var(--text-sm);     /* 13px - 모든 알약 단일 폰트 크기 */
  --pill-font-weight: var(--weight-medium); /* 500 - 모든 알약 기본 굵기 */

  /* ------------------------------------------------------------------------
     7. Badge & Tag System (배지 및 식별 라벨 위계 체계 - 완전 단일화)
     ------------------------------------------------------------------------ */
  --badge-radius: var(--radius-xs);     /* 4px - 모든 배지는 단정한 사각 라운드 공유 */
  --badge-h-md: 26px;                   /* Level 1: 숫자 순번 앵커 배지 높이 */
  --badge-h-sm: 22px;                   /* Level 2 & 3: 분류 메타 / AI 배지 표준 높이 (22px 통일) */
  --badge-h-meta: 22px;                 /* Level 2 & 3: 분류 메타 / 출처 배지 / 원문 팝오버 트리거 표준 높이 */
  --badge-pad-index: 2px 8px;           /* Level 1: 숫자 순번 앵커 배지 패딩 */
  --badge-pad-meta: 0 7px;              /* Level 2 & 3: 고정 높이(22px) 대응 좌우 패딩 */

  /* ------------------------------------------------------------------------
     8. Transitions (전환 체계)
     ------------------------------------------------------------------------ */
  --transition-fast: 0.15s ease;
  --transition-normal: 0.2s ease;

  /* ------------------------------------------------------------------------
     9. Elevation & Shadows (심도 및 그림자 체계)
     ------------------------------------------------------------------------ */
  --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.05);
  --shadow-md: 0 2px 6px rgba(15, 23, 42, 0.18);
  --shadow-lg: 0 10px 25px -5px rgba(15, 23, 42, 0.1), 0 8px 10px -6px rgba(15, 23, 42, 0.04);

  /* ------------------------------------------------------------------------
     10. Component Dimensions (컴포넌트 규격 체계)
     ------------------------------------------------------------------------ */
  --header-height: var(--space-15);        /* 60px - 상단 마스트헤드 높이 */
  --nav-dot-size: var(--space-2);          /* 8px - 브랜드 로고 앵커 블루 도트 */
  --subhead-dash-w: 8px;                    /* 8px - 문제 인식 소제목 대시(-) 너비 */
  --subhead-dash-h: 2px;                    /* 2px - 문제 인식 소제목 대시(-) 두께 */
  --color-subhead-dash: var(--color-ink-primary); /* #0f172a - 검정색 대시 */
  --sparkline-height: 64px;                /* 64px - 지표 스파크라인 SVG 높이 */
  --stat-card-header-h: 48px;              /* 48px - 지표 카드 헤더 고정 높이 */
  --stat-card-header-h-mobile: 52px;       /* 52px - 지표 카드 모바일 헤더 높이 */
  --stat-card-chart-h: 76px;               /* 76px - 지표 스파크라인 컨테이너 높이 */
  --blur-backdrop: 10px;                   /* 10px - 헤더 백드롭 블러 */
  --popover-offset: 5px;                   /* 5px - 원문 팝오버 상단 오프셋 */
  --table-col-agenda-w: 280px;              /* 280px - 안건/주제 요약 표 1열 통일 너비 (안건=주제 완벽 동기화) */
  --table-col-label-w: 140px;              /* 140px - 조치계획 표 레이블 컬럼 너비 */
  --table-col-label-min-w: 110px;          /* 110px - 조치계획 표 레이블 컬럼 최소 너비 */
  --popover-min-w: 240px;                  /* 240px - 원문 팝오버 최소 너비 */
  --popover-max-w: 300px;                  /* 300px - 원문 팝오버 최대 너비 */
  --popover-modal-w: 340px;                /* 340px - AI 분석 설명 툴팁 너비 */
  --dialog-max-w: 640px;                   /* 640px - 지표 상세 모달 최대 너비 */
  --textarea-min-h: 76px;                  /* 76px - 시민 의견 작성 텍스트에어리어 최소 높이 */

  /* Backward Compatibility Aliases */
  --ink: var(--color-ink-primary);
  --ink-secondary: var(--color-ink-secondary);
  --muted: var(--color-ink-muted);
  --line: var(--color-border-default);
  --line-light: var(--color-border-hairline);
  --line-strong: var(--color-border-strong);
  --accent: var(--color-accent-primary);
  --accent-soft: var(--color-accent-soft);
  --bg-page: var(--color-bg-page);
  --bg-subtle: var(--color-bg-subtle);
  --bg-muted: var(--color-bg-muted);
}

/* ==========================================================================
   CSS Reset & Base Styles
   ========================================================================== */
*, *::before, *::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: var(--space-scroll-offset);
}

body {
  margin: 0;
  background: var(--color-bg-page);
  color: var(--color-ink-primary);
  font-family: var(--font-family-base);
  font-size: var(--text-base);
  line-height: var(--leading-relaxed);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  letter-spacing: var(--tracking-normal);
  word-break: keep-all;
}

a {
  color: inherit;
  text-decoration: none;
  transition: color var(--transition-fast);
}

button, input, textarea {
  font-family: inherit;
}

button {
  cursor: pointer;
  background: transparent;
  border: none;
}

button:focus-visible,
a:focus-visible,
summary:focus-visible,
textarea:focus-visible {
  outline: var(--border-width-focus) solid var(--color-border-focus);
  outline-offset: var(--space-micro);
}

.sr-only {
  position: absolute;
  width: var(--border-width-hairline);
  height: var(--border-width-hairline);
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* ==========================================================================
   Masthead / Sticky Header
   ========================================================================== */
body > header {
  height: var(--header-height);
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: var(--border-width-hairline) solid var(--color-header-border);
  padding: 0 max(var(--space-7), calc((100vw - var(--container-max-width)) / 2));
  background: var(--color-bg-header);
  backdrop-filter: blur(var(--blur-backdrop));
  -webkit-backdrop-filter: blur(var(--blur-backdrop));
  position: sticky;
  top: 0;
  z-index: 50;
}

.brand {
  font-weight: var(--weight-heavy);
  font-size: var(--text-title-sm);
  display: flex;
  align-items: center;
  gap: var(--space-2);
  color: var(--color-header-ink);
  letter-spacing: var(--tracking-tight);
}

.brand::before {
  content: "";
  display: inline-block;
  width: var(--nav-dot-size);
  height: var(--nav-dot-size);
  background: var(--color-header-dot);
  border-radius: var(--radius-full);
}

header nav {
  display: flex;
  align-items: center;
  gap: var(--space-1);
  font-size: var(--text-md);
  font-weight: var(--weight-medium);
}

header nav a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: var(--space-1-5) var(--space-3);
  border-radius: var(--radius-sm);
  color: var(--color-header-ink-muted);
  text-decoration: none;
  line-height: 1;
  transition: color var(--transition-fast), background-color var(--transition-fast);
}

header nav a:hover {
  color: var(--color-header-ink);
  background: var(--color-header-tab-hover);
}

header nav a.active {
  color: var(--color-header-ink);
  font-weight: var(--weight-bold);
  background: var(--color-header-tab-active);
}

header nav a:focus-visible {
  outline: var(--border-width-focus) solid var(--color-border-focus);
  outline-offset: 2px;
}

/* ==========================================================================
   Main Layout & Section Headings
   ========================================================================== */
main {
  max-width: var(--container-max-width);
  margin: auto;
  padding: 0 var(--space-7) var(--space-15);
}

section[id] {
  padding-top: var(--space-6);
}

#weekly {
  padding-top: var(--space-weekly-section-pt);
}

#council {
  padding-top: var(--space-council-section-pt);
}

.section-heading {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: var(--space-4);
  margin-bottom: var(--space-4);
  padding-bottom: 0;
  border-bottom: none;
  flex-wrap: wrap;
}

.section-heading h1,
.section-heading h2,
.council-title {
  font-size: var(--text-3xl);
  letter-spacing: var(--tracking-tight);
  line-height: var(--leading-tight);
  margin: 0;
  font-weight: var(--weight-heavy);
  color: var(--color-ink-primary);
}

.heading-group {
  display: inline-flex;
  align-items: baseline;
  gap: var(--space-heading-gap);
  flex-wrap: wrap;
}

.council-meta {
  display: inline-flex;
  align-items: center;
  gap: var(--space-heading-gap);
}

.indicators-updated,
.council-updated {
  font-size: var(--text-xs);
  font-weight: var(--weight-medium);
  color: var(--color-ink-muted);
  white-space: nowrap;
}

.council-archive-link {
  font-size: var(--text-xs);
  font-weight: var(--weight-semibold);
  color: var(--color-ink-secondary);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: var(--space-0-5);
  transition: color var(--transition-fast);
  white-space: nowrap;
}

.council-archive-link:hover {
  color: var(--color-accent-primary);
  text-decoration: underline;
}

.local-note {
  font-size: var(--text-xs);
  color: var(--color-ink-muted);
  margin: var(--space-3-5) 0 0;
  line-height: var(--leading-normal);
}

/* ==========================================================================
   Council Meeting Full Tab Bar (국무회의 회차 세그먼트 탭 내비게이션)
   - 사용자 피드백 반영: 세그먼트 트랙 내에서 비활성 탭은 선명한 '흰색(White)' 카드,
     활성 탭은 '다크 솔리드(Black Slate)'로 주목도를 극대화하고 색상 난립(검정/회색/파랑)을 완전 정돈
   ========================================================================== */


/* ==========================================================================
   Council Meeting Tab Navigation (국무회의 회차 탭 내비게이션 - 심플 언더라인)
   ========================================================================== */
.council-rounds {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  width: 100%;
  margin: var(--space-3) 0 var(--space-6);
  padding: 0;
  background: transparent;
  border: none;
  overflow-x: auto;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
  box-sizing: border-box;
}

.council-rounds::-webkit-scrollbar {
  display: none;
}

.council-rounds a,
.council-rounds .council-tab {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: var(--space-1-5);
  padding: var(--space-2) var(--space-3-5);
  font-size: var(--text-sm);
  font-weight: var(--weight-medium);
  color: var(--color-ink-secondary);
  background: var(--color-bg-page);
  border: var(--border-width-default) solid var(--color-border-default);
  border-radius: var(--radius-xs);
  text-decoration: none;
  white-space: nowrap;
  flex-shrink: 0;
  box-sizing: border-box;
  transition: color var(--transition-fast), border-color var(--transition-fast), background-color var(--transition-fast);
}

.council-rounds .round-name {
  font-weight: inherit;
  color: inherit;
}

.council-rounds .round-date,
.council-rounds time {
  font-size: var(--text-xs);
  font-variant-numeric: tabular-nums;
  color: var(--color-ink-muted);
  font-weight: var(--weight-normal);
  transition: color var(--transition-fast);
}

.council-rounds a:hover {
  color: var(--color-ink-primary);
  border-color: var(--color-ink-secondary);
  background: var(--color-bg-subtle);
}

.council-rounds a:hover .round-date {
  color: var(--color-ink-secondary);
}

/* 활성 탭 (Active Tab: 사각 테두리 & 솔리드 잉크 강조) */
.council-rounds a[aria-current="page"] {
  background: var(--color-ink-primary);
  color: var(--color-ink-inverse);
  border-color: var(--color-ink-primary);
  border-radius: var(--radius-xs);
  font-weight: var(--weight-bold);
  box-shadow: var(--shadow-sm);
}

.council-rounds a[aria-current="page"] .round-name {
  color: var(--color-ink-inverse);
}

.council-rounds a[aria-current="page"] .round-date,
.council-rounds a[aria-current="page"] time {
  color: var(--color-ink-tab-subtle);
  font-weight: var(--weight-medium);
}

/* ==========================================================================
   Part 1: 대한민국 주요 지표 (National Indicators)
   ========================================================================== */
.tabbed-dashboard {
  display: block;
}

.dashboard-anchor {
  scroll-margin-top: var(--space-scroll-offset);
}

/* Filter Tab Pills */
.metric-tablist {
  display: flex;
  gap: var(--space-2);
  border-bottom: none;
  margin-bottom: var(--space-5);
  overflow-x: auto;
  scrollbar-width: none;
}

.metric-tablist::-webkit-scrollbar {
  display: none;
}

.metric-tablist button {
  height: var(--pill-h);
  padding: var(--pill-pad);
  border: var(--border-width-default) solid var(--color-border-default);
  background: var(--color-bg-page);
  border-radius: var(--radius-full);
  color: var(--color-ink-muted);
  font-family: inherit;
  font-size: var(--pill-font-size);
  font-weight: var(--pill-font-weight);
  white-space: nowrap;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  cursor: pointer;
  user-select: none;
  line-height: 1;
  transition: background-color var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast);
}

.metric-tablist button:hover {
  background: var(--color-bg-subtle);
  color: var(--color-ink-primary);
  border-color: var(--color-ink-muted);
}

.metric-tablist button[aria-selected="true"] {
  background: var(--color-ink-primary);
  color: var(--color-ink-inverse);
  border-color: var(--color-ink-primary);
  font-weight: var(--weight-semibold);
}

.metric-tablist button:focus-visible {
  outline: var(--border-width-focus) solid var(--color-border-focus);
  outline-offset: 2px;
}

/* Metric Cards Grid */
.tab-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  column-gap: var(--space-6);
  row-gap: 0;
  align-items: stretch;
}

.tab-metrics > .compact-indicator {
  display: grid;
  grid-template-rows: var(--stat-card-header-h) var(--stat-card-chart-h) auto auto;
  align-content: start;
  align-items: start;
  padding: var(--space-5) 0 var(--space-3-5);
  border-bottom: none;
  background: transparent;
  min-width: 0;
}

.tab-metrics .compact-name {
  margin: 0;
  min-width: 0;
}

.tab-metrics .compact-name h4 {
  font-size: var(--text-base);
  line-height: var(--leading-snug);
  margin: 0 0 var(--space-1);
  font-weight: var(--weight-bold);
  color: var(--color-ink-primary);
  letter-spacing: var(--tracking-tight);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.tab-metrics .compact-name small {
  font-size: var(--text-xs);
  line-height: var(--leading-tight);
  min-height: 0;
  margin: 0;
  color: var(--color-ink-muted);
  display: block;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.tab-metrics .compact-number {
  display: flex;
  flex-direction: column;
  gap: var(--space-micro);
  margin: 0;
  min-height: 0;
}

.tab-metrics .compact-number strong {
  font-size: var(--metric-val);
  line-height: var(--leading-metric);
  margin: 0;
  letter-spacing: var(--tracking-tight);
  font-weight: var(--weight-heavy);
  color: var(--color-ink-primary);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.tab-metrics .compact-number strong .metric-unit {
  font-size: var(--text-md);
  display: inline;
  margin-left: var(--space-micro);
  font-weight: var(--weight-semibold);
  letter-spacing: var(--tracking-normal);
  color: var(--color-ink-secondary);
}

.tab-metrics .compact-number > span {
  font-size: var(--text-xs);
  line-height: var(--leading-normal);
  margin: 0;
  color: var(--color-ink-muted);
  font-weight: var(--weight-medium);
}

/* Trend Sparklines (SVG) */
.tab-metrics .trend-spark {
  height: auto;
  min-height: 0;
  margin: var(--space-1-5) 0 0;
}

.tab-metrics .trend-spark svg {
  display: block;
  width: 100%;
  height: var(--sparkline-height);
  overflow: visible;
}

.tab-metrics .trend-spark > div {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: var(--space-2);
  min-height: var(--space-3-5);
  margin: var(--space-2) 0 0;
}

.tab-metrics .trend-spark small {
  display: inline;
  font-size: var(--text-2xs);
  line-height: var(--leading-tight);
  white-space: nowrap;
  margin: 0;
  color: var(--color-ink-muted);
}

.tab-metrics .compact-links {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: center;
  gap: var(--space-2);
  margin: var(--space-2-5) 0 0;
  padding-top: 0;
  border-top: none;
  min-height: var(--space-6);
  font-size: var(--text-badge-meta);
  color: var(--color-ink-muted);
}

.tab-metrics .compact-links > span,
.tab-metrics .compact-status {
  width: auto;
  min-width: 0;
  line-height: var(--leading-normal);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  color: var(--color-ink-muted);
  font-size: var(--text-badge-meta);
}

.tab-metrics .compact-links > a.source-badge {
  display: inline-flex;
  align-items: center;
  gap: var(--gap-badge-icon);
  height: var(--badge-h-meta);
  padding: var(--badge-pad-meta);
  border-radius: var(--badge-radius);
  background: var(--color-bg-subtle);
  border: var(--border-width-default) solid var(--color-border-default);
  color: var(--color-ink-secondary);
  font-size: var(--text-2xs);
  font-weight: var(--weight-medium);
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
  flex-shrink: 0;
  transition: all var(--duration-fast) var(--ease-standard);
}

.tab-metrics .compact-links > a.source-badge .source-arrow {
  font-size: var(--text-3xs);
  opacity: 0.75;
  transition: transform var(--duration-fast) var(--ease-standard);
}

.tab-metrics .compact-links > a.source-badge:hover {
  background: var(--color-accent-soft);
  border-color: var(--color-approve-border);
  color: var(--color-accent-primary);
  text-decoration: none;
}

.tab-metrics .compact-links > a.source-badge:hover .source-arrow {
  opacity: 1;
  transform: translate(calc(var(--space-0-5) / 2), calc(-1 * var(--space-0-5) / 2));
}

.tab-metrics .compact-links > a:not(.source-badge) {
  white-space: nowrap;
  line-height: var(--leading-normal);
  text-underline-offset: var(--space-micro);
  color: var(--color-accent-primary);
  font-weight: var(--weight-semibold);
  flex-shrink: 0;
}

.tab-metrics .compact-links > a:not(.source-badge):hover {
  text-decoration: underline;
}

.pair-summary {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: var(--space-20);
  margin: var(--space-1-5) 0 0;
  font-size: var(--text-2xs);
}

.pair-summary span,
.pair-summary small {
  font-size: var(--text-2xs);
  color: var(--color-ink-muted);
}

.pair-summary b {
  font-size: var(--text-md);
  font-weight: var(--weight-semibold);
  color: var(--color-ink-primary);
  margin: var(--space-1) 0;
}

.tab-caution {
  font-size: var(--text-xs);
  color: var(--color-ink-muted);
  margin: var(--space-3-5) 0 0;
}

/* ==========================================================================
   Executive Tables (보고서형 표 표준: TOC, Measure Table, Highlights Table)
   ========================================================================== */

/* 1. 안건 요약 표 (Table of Contents - 보고서형 표 표준 스타일) */
.report-toc {
  width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
  margin: var(--space-toc-margin-top) 0 var(--space-toc-margin-bottom);
  background: transparent;
  border-top: var(--border-width-strong) solid var(--color-border-strong);
  border-bottom: var(--border-width-strong-sub) solid var(--color-border-strong);
  font-size: var(--text-sm);
  line-height: var(--leading-normal);
}

.report-toc thead {
  display: table-header-group;
  background: transparent;
  border-bottom: var(--border-width-strong-sub) solid var(--color-border-strong);
}

.report-toc thead th {
  padding: var(--space-2-5) var(--space-3);
  font-size: var(--text-xs);
  font-weight: var(--weight-bold);
  color: var(--color-ink-primary);
  text-align: left;
  border: none;
  white-space: nowrap;
}

.report-toc thead th:first-child,
.report-toc tbody th:first-child {
  padding-left: 0;
  width: var(--table-col-agenda-w);
}

.report-toc:not(.highlight-table) thead th:first-child,
.report-toc:not(.highlight-table) tbody th:first-child {
  white-space: nowrap;
}

.report-toc thead th:last-child,
.report-toc tbody td:last-child {
  padding-right: 0;
}

.report-toc tbody tr {
  border-bottom: var(--border-width-hairline) solid var(--color-border-hairline);
  background: transparent;
}

.report-toc tbody tr:last-child {
  border-bottom: none;
}

.report-toc tbody th {
  padding: var(--space-2-5) var(--space-table-cell-px) var(--space-2-5) 0;
  border: none;
  font-size: var(--text-sm);
  font-weight: var(--weight-semibold);
  vertical-align: middle;
  text-align: left;
  width: var(--table-col-agenda-w);
}

.report-toc:not(.highlight-table) tbody th {
  white-space: nowrap;
}

.report-toc tbody td {
  padding: var(--space-2-5) var(--space-table-cell-px);
  border: none;
  font-size: var(--text-sm);
  line-height: var(--leading-normal);
  color: var(--color-ink-secondary);
  vertical-align: middle;
}

.report-toc tbody th a {
  color: var(--color-ink-secondary);
  text-decoration: none;
  display: inline;
  vertical-align: middle;
  transition: color var(--transition-fast);
}

.report-toc:not(.highlight-table) tbody th a {
  white-space: nowrap;
}

.report-toc tbody th a:hover {
  color: var(--color-ink-primary);
  text-decoration: underline;
}

.report-toc .agenda-kind {
  background: var(--color-bg-page);
  color: var(--color-ink-muted);
  border-color: var(--color-border-hairline);
  font-weight: var(--weight-normal);
}

/* 법령안 태그 (안건 뱃지 - Level 2 Meta: 기사 제목 앞 및 요약 표) */
.agenda-kind {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: var(--badge-h-meta);
  padding: var(--badge-pad-meta);
  margin-right: var(--space-1-5);
  background: var(--color-bg-subtle);
  color: var(--color-ink-secondary);
  border: var(--border-width-hairline) solid var(--color-border-hairline);
  border-radius: var(--badge-radius);
  font-size: var(--text-2xs);
  font-weight: var(--weight-semibold);
  line-height: 1;
  vertical-align: middle;
  transform: translateY(-1px);
  flex-shrink: 0;
}

/* 2. 이번 주 함께 볼 발표 (Weekly Highlights) */
.weekly-highlights {
  margin: var(--space-article-pad) 0 0;
  background: transparent;
  border: none;
  padding: 0;
}

.highlight-heading {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin-bottom: var(--space-table-heading-mb);
  padding-bottom: 0;
  border-bottom: none;
}

.highlight-heading h3 {
  font-size: var(--text-base);
  font-weight: var(--weight-bold);
  margin: 0;
  color: var(--color-ink-primary);
}

.highlight-heading time {
  font-size: var(--text-xs);
  color: var(--color-ink-muted);
  font-weight: var(--weight-medium);
}

.highlight-table {
  width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
  margin-bottom: 0;
  border-top: var(--border-width-strong) solid var(--color-border-strong);
  border-bottom: var(--border-width-strong-sub) solid var(--color-border-strong);
}

.highlight-table thead {
  display: table-header-group;
  background: transparent;
  border-bottom: var(--border-width-strong-sub) solid var(--color-border-strong);
}

.highlight-table thead th {
  padding: var(--space-2-5) var(--space-3);
  font-size: var(--text-xs);
  font-weight: var(--weight-bold);
  color: var(--color-ink-primary);
  text-align: left;
  border: none;
  white-space: nowrap;
}

.highlight-table thead th:first-child,
.highlight-table tbody th:first-child {
  padding-left: 0;
  width: var(--table-col-agenda-w);
}

.highlight-table thead th:last-child,
.highlight-table tbody td:last-child {
  padding-right: 0;
}

.highlight-table tbody tr {
  border-bottom: var(--border-width-hairline) solid var(--color-border-hairline);
  background: transparent;
}

.highlight-table tbody tr:last-child {
  border-bottom: none;
}

.highlight-table tbody th {
  padding: var(--space-3) var(--space-3) var(--space-3) 0;
  border: none;
  font-size: var(--text-sm);
  font-weight: var(--weight-bold);
  vertical-align: top;
  width: var(--table-col-agenda-w);
  white-space: normal;
  word-break: keep-all;
}

.highlight-table tbody td {
  padding: var(--space-3) var(--space-3);
  border: none;
  font-size: var(--text-sm);
  line-height: var(--leading-normal);
  color: var(--color-ink-secondary);
  vertical-align: top;
}

.highlight-target {
  display: inline-block;
  font-size: var(--text-xs);
  font-weight: var(--weight-semibold);
  color: var(--color-accent-primary);
  background: var(--color-accent-soft);
  padding: var(--badge-pad-stat);
  border-radius: var(--radius-xs);
  margin-bottom: var(--space-1);
}

.highlight-table p {
  margin: 0;
}

.highlight-plans {
  margin: var(--space-1-5) 0 0;
  padding-left: var(--text-title-sm);
  font-size: var(--text-sm);
  color: var(--color-ink-muted);
}

/* 3. 조치·계획 표 (Key Measures Table - 상하 외곽선 제거) */
.measure-table {
  width: 100%;
  border-collapse: collapse;
  margin: 0 0 var(--space-3-5);
  font-size: var(--text-md);
  line-height: var(--leading-normal);
  border-top: none;
  border-bottom: none;
  background: transparent;
}

.measure-table tbody {
  display: table-row-group;
}

.measure-table tr {
  display: table-row;
  border-bottom: var(--border-width-hairline) solid var(--color-border-hairline);
  background: transparent;
}

.measure-table tr:last-child {
  border-bottom: none;
}

.measure-table tbody th {
  display: table-cell;
  width: var(--table-col-label-w);
  min-width: var(--table-col-label-min-w);
  padding: var(--space-table-cell-py) var(--space-table-cell-px) var(--space-table-cell-py) 0;
  vertical-align: top;
  font-size: var(--text-sm);
  font-weight: var(--weight-bold);
  color: var(--color-ink-primary);
  line-height: var(--leading-normal);
  background: transparent;
  border: none;
  text-align: left;
}

.measure-table tbody td {
  display: table-cell;
  padding: var(--space-table-cell-py) 0 var(--space-table-cell-py) var(--space-table-cell-px);
  vertical-align: top;
  font-size: var(--text-md);
  line-height: var(--leading-normal);
  color: var(--color-ink-secondary);
  background: transparent;
  border: none;
  text-align: left;
}

/* ==========================================================================
   Article Narrative (안건 본문 브리핑 기사 - 독립 안건 체계)
   ========================================================================== */
.report-article {
  position: relative;
  padding-left: 0;
  padding-top: var(--space-article-pad);
  padding-bottom: var(--space-article-pad);
  margin: 0;
  border-top: var(--border-width-default) solid var(--color-border-default);
  scroll-margin-top: var(--space-scroll-offset);
}

/* 첫 번째 안건 상단 여백 (시맨틱 토큰화 적용) */
.report-article:first-of-type {
  border-top: none;
  margin: 0;
  padding-top: var(--space-article-first-pt);
}

.report-topic {
  display: flex;
  align-items: baseline;
  gap: var(--space-2-5);
  margin-bottom: var(--space-3-5);
}

/* 안건 순번 타이포그래피 (신문·보고서형 순번: 박스 없는 단정한 볼드 숫자) */
.report-topic > span {
  display: inline-block;
  font-size: var(--text-title-sm);
  font-weight: var(--weight-heavy);
  color: var(--color-accent-primary);
  font-variant-numeric: tabular-nums;
  line-height: 1;
  letter-spacing: var(--tracking-tight);
  flex-shrink: 0;
  padding: 0;
  margin: 0;
  background: transparent;
  border: none;
  border-radius: 0;
}

.report-topic h3 {
  font-size: var(--text-xl);
  line-height: var(--leading-snug);
  font-weight: var(--weight-heavy);
  letter-spacing: var(--tracking-tight);
  margin: 0;
  color: var(--color-ink-primary);
}

/* --------------------------------------------------------------------------
   Article Content & Sub-headings Harmonization (안건 본문 및 소제목 위계 체계)
   모든 안건 내 소제목은 동일한 폰트 크기(--text-subhead), 굵기, 색상, 상하 여백 규칙을 공유합니다.
   (타임라인 수직선 및 원형 앵커 노드를 전면 제거하여 단정하고 절제된 인쇄 기사 스타일 준수)
   -------------------------------------------------------------------------- */
.agenda-timeline {
  position: relative;
  padding-left: 0;
  margin-top: var(--space-2);
}

/* --------------------------------------------------------------------------
   Article Sub-headings Harmonization (소제목 위계 체계 일원화)
   모든 안건 내 소제목은 동일한 폰트 크기(--text-subhead), 굵기, 색상, 상하 여백 규칙을 공유합니다.
   -------------------------------------------------------------------------- */
.problem-heading,
.measure-heading,
.impact-heading,
.report-feedback h4 {
  position: relative;
  font-size: var(--text-md);
  font-weight: var(--weight-bold);
  line-height: var(--leading-snug);
  letter-spacing: var(--tracking-normal);
  display: flex;
  align-items: center;
  gap: var(--space-2);
  flex-wrap: wrap;
}

/* 1. 문제 인식 (Problem Recognition - 시맨틱 토큰화 적용) */
.problem-heading {
  margin: var(--space-problem-heading-mt) 0 var(--space-subhead-to-content) !important;
  color: var(--color-ink-primary);
}

.problem-heading::before,
.measure-heading::before {
  content: '';
  display: inline-block;
  width: var(--subhead-dash-w);
  height: var(--subhead-dash-h);
  border-radius: var(--border-width-hairline);
  background: var(--color-subhead-dash);
  box-shadow: none;
  flex-shrink: 0;
}

/* 2. 정부 대책 (Government Measure - 상하 분할선 제거 및 시맨틱 여백) */
.measure-heading {
  margin: var(--space-measure-heading-mt) 0 var(--space-measure-heading-mb) !important;
  padding-top: 0;
  border-top: none;
  color: var(--color-ink-primary);
}

/* 3. 시민 영향 (Citizen Impact - 브랜드 사파이어 블루 색상 차별화 및 시맨틱 여백) */
.impact-heading {
  margin: var(--space-impact-heading-mt) 0 var(--space-impact-heading-mb) !important;
  padding-top: 0;
  border-top: none;
  color: var(--color-accent-primary);
}

/* 4. 시민 의견 (Citizen Feedback - 시맨틱 토큰화 적용) */
.report-feedback h4 {
  margin: var(--subhead-margin-top) 0 var(--space-subhead-to-feedback) !important;
  color: var(--color-ink-primary);
}

.problem-heading h4,
.impact-heading h4 {
  font-size: inherit;
  font-weight: inherit;
  color: inherit;
  line-height: inherit;
  letter-spacing: inherit;
  margin: 0 !important;
  padding: 0;
}

/* AI Analysis Tags (AI 배지 회색 단일화) */
.problem-tag,
.problem-tag.inferred,
.impact-ai {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: var(--badge-h-meta);
  box-sizing: border-box;
  padding: var(--badge-pad-meta);
  border-radius: var(--badge-radius);
  font-size: var(--text-2xs);
  font-weight: var(--weight-semibold);
  letter-spacing: 0.02em;
  background: var(--color-bg-subtle);
  border: var(--border-width-hairline) solid var(--color-border-default);
  color: var(--color-ink-muted);
  cursor: pointer;
  list-style: none;
  line-height: 1;
  vertical-align: middle;
  transition: background-color var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast);
}

.problem-tag:hover,
.problem-tag.inferred:hover,
.impact-ai:hover,
.ai-explanation[open] > .problem-tag,
.ai-explanation[open] > .problem-tag.inferred,
.ai-explanation[open] > .impact-ai {
  background: var(--color-bg-muted);
  color: var(--color-ink-primary);
  border-color: var(--color-ink-muted);
}

.problem-tag:focus-visible,
.impact-ai:focus-visible {
  outline: var(--border-width-focus) solid var(--color-border-focus);
  outline-offset: 1px;
}

.problem-tag::-webkit-details-marker,
.problem-tag.inferred::-webkit-details-marker,
.impact-ai::-webkit-details-marker {
  display: none;
}

.ai-explanation {
  display: inline-flex;
  align-items: center;
  align-self: center;
  position: relative;
  vertical-align: middle;
}

.ai-explanation > summary {
  list-style: none;
  cursor: pointer;
}

.ai-explanation > summary::-webkit-details-marker {
  display: none;
}

.problem-info-content {
  position: absolute;
  left: 0;
  top: var(--space-7);
  width: min(var(--popover-modal-w), 80vw);
  z-index: 30;
  background: var(--color-bg-elevated);
  border: var(--border-width-default) solid var(--color-border-default);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-lg);
  padding: var(--card-pad-popover);
  font-size: var(--text-body-sm);
  line-height: var(--leading-normal);
  color: var(--color-ink-secondary);
}

.report-article p:not(.impact-answer),
.agenda-timeline > p:not(.impact-answer) {
  font-size: var(--text-base);
  line-height: var(--leading-relaxed);
  color: var(--color-ink-primary);
  font-weight: var(--weight-medium);
  margin: var(--space-1-5) 0 var(--space-4);
  width: 100%;
}

/* Stat Callout */
.report-stat {
  display: inline-flex;
  align-items: baseline;
  gap: var(--space-2);
  font-size: var(--text-md);
  line-height: var(--leading-normal);
  margin: var(--space-1) 0 var(--space-1-5);
  padding: var(--space-2) var(--space-4);
  background: transparent;
  border-left: var(--border-width-accent) solid var(--color-accent-primary);
  color: var(--color-ink-secondary);
}

.report-stat::before {
  content: "📊";
  font-size: var(--text-body-sm);
}

.stat-reference {
  display: inline-flex;
  align-items: center;
  gap: var(--space-0-5);
  font-size: var(--text-xs);
  font-weight: var(--weight-medium);
  color: var(--color-accent-primary);
  background: var(--color-accent-soft);
  border: var(--border-width-hairline) solid var(--color-approve-border);
  padding: var(--badge-pad-stat);
  border-radius: var(--radius-sm);
  text-decoration: none;
  margin-left: var(--space-1);
  transition: all var(--transition-fast);
}

.stat-reference:hover {
  background: var(--color-accent-primary);
  color: var(--color-ink-inverse);
}

/* Subhead Accessories & Source References */
.measure-agency {
  font-size: var(--text-xs);
  font-weight: var(--weight-medium);
  color: var(--color-ink-muted);
  align-self: center;
}

.evidence-badge {
  display: inline-flex;
  align-items: center;
  gap: var(--gap-trigger-icon);
  height: var(--badge-h-meta);
  padding: var(--badge-pad-trigger);
  border: var(--border-width-default) solid var(--color-border-default);
  border-radius: var(--radius-sm);
  font-size: var(--text-badge-meta);
  font-weight: var(--weight-medium);
  letter-spacing: -0.01em;
  color: var(--color-ink-secondary);
  background: var(--color-bg-subtle);
  cursor: pointer;
  text-decoration: none;
  transition: all var(--transition-fast);
  line-height: 1;
  vertical-align: middle;
  align-self: center;
}

.evidence-badge:hover {
  background: var(--color-accent-soft);
  border-color: var(--color-approve-border);
  color: var(--color-accent-primary);
}

.reference-note {
  display: inline-flex;
  align-items: center;
  position: relative;
  vertical-align: middle;
  align-self: center;
  font-size: var(--text-xs);
}

.reference-note summary {
  display: inline-flex;
  align-items: center;
  gap: var(--gap-trigger-icon);
  height: var(--badge-h-meta);
  padding: var(--badge-pad-trigger);
  border: var(--border-width-default) solid var(--color-border-default);
  border-radius: var(--badge-radius);
  font-size: var(--text-badge-meta);
  font-weight: var(--weight-medium);
  letter-spacing: -0.01em;
  color: var(--color-ink-secondary);
  background: var(--color-bg-subtle);
  cursor: pointer;
  list-style: none;
  user-select: none;
  line-height: 1;
  transition: background var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast);
  vertical-align: middle;
}

.reference-note summary::-webkit-details-marker {
  display: none;
}

.reference-note summary .trigger-icon {
  font-size: var(--text-caret);
  line-height: 1;
  color: var(--color-ink-muted);
  transition: transform var(--transition-fast), color var(--transition-fast);
  display: inline-block;
}

.reference-note summary:hover {
  background: var(--color-accent-soft);
  border-color: var(--color-approve-border);
  color: var(--color-accent-primary);
}

.reference-note summary:hover .trigger-icon {
  color: var(--color-accent-primary);
}

.reference-note[open] summary {
  background: var(--color-accent-soft);
  border-color: var(--color-approve-border);
  color: var(--color-accent-primary);
}

.reference-note[open] summary .trigger-icon {
  transform: rotate(180deg);
  color: var(--color-accent-primary);
}

.reference-popover {
  position: absolute;
  left: 0;
  top: calc(100% + var(--popover-offset));
  min-width: var(--popover-min-w);
  max-width: var(--popover-max-w);
  background: var(--color-bg-elevated);
  border: var(--border-width-default) solid var(--color-border-default);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-lg);
  padding: var(--space-1-5);
  z-index: 40;
  display: flex;
  flex-direction: column;
  gap: var(--space-0-5);
  text-align: left;
}

.reference-popover span {
  display: block;
  padding: var(--popover-item-pad);
  font-size: var(--text-2xs);
  font-weight: var(--weight-medium);
  color: var(--color-ink-muted);
  border-bottom: var(--border-width-hairline) solid var(--color-border-hairline);
  margin-bottom: var(--space-0-5);
}

.reference-popover a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--popover-item-pad);
  border-radius: var(--radius-sm);
  color: var(--color-ink-primary);
  font-size: var(--text-xs);
  font-weight: var(--weight-medium);
  text-decoration: none;
  transition: background var(--transition-fast), color var(--transition-fast);
}

.reference-popover a:hover {
  background: var(--color-accent-soft);
  color: var(--color-accent-primary);
  text-decoration: none;
}


/* ==========================================================================
   Citizen Impact (시민 영향 분석)
   ========================================================================== */
.policy-impact {
  width: 100%;
  background: transparent;
  border: none;
  padding: 0;
  margin: 0;
}

.impact-specific-caution {
  margin: var(--space-2) 0 0;
  padding-top: var(--space-2);
  border-top: var(--border-width-hairline) solid var(--color-border-hairline);
  font-size: var(--text-xs);
  color: var(--color-ink-secondary);
}

.impact-options {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-pill-gap);
  margin: var(--space-subhead-to-pills) 0 0;
}

.impact-options button {
  height: var(--pill-h);
  padding: var(--pill-pad);
  background: var(--color-bg-page);
  border: var(--border-width-default) solid var(--color-border-default);
  border-radius: var(--radius-full);
  font-family: inherit;
  font-size: var(--pill-font-size);
  font-weight: var(--pill-font-weight);
  color: var(--color-ink-muted);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  box-sizing: border-box;
  user-select: none;
  line-height: 1;
  transition: background-color var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast);
}

.impact-options button:hover {
  background: var(--color-bg-subtle);
  color: var(--color-ink-primary);
  border-color: var(--color-ink-muted);
}

.impact-options button[aria-pressed="true"] {
  background: var(--color-ink-primary);
  color: var(--color-ink-inverse);
  border-color: var(--color-ink-primary);
  font-weight: var(--weight-semibold);
}

.impact-options button:focus-visible {
  outline: var(--border-width-focus) solid var(--color-border-focus);
  outline-offset: 2px;
}

.report-article .impact-answer,
.impact-answer {
  font-size: var(--text-md);
  line-height: var(--leading-normal);
  color: var(--color-ink-secondary);
  font-weight: var(--weight-normal);
  margin: var(--space-answer-top) 0 0 !important;
  padding: var(--space-1) 0 var(--space-1) var(--space-3);
  border-left: var(--border-width-accent-sub) solid var(--color-accent-primary);
}

/* ==========================================================================
   Citizen Feedback & Opinion (시민 의견 수렴)
   ========================================================================== */
.report-feedback {
  width: 100%;
  background: transparent;
  border: none;
  padding: 0;
  margin: var(--subhead-margin-top) 0 0;
}

.feedback {
  display: inline-flex;
  align-items: center;
  gap: var(--space-pill-gap);
  margin: var(--space-feedback-pills-top) 0 0;
  flex-wrap: wrap;
}

.vote {
  height: var(--pill-h);
  padding: var(--pill-pad);
  border: var(--border-width-default) solid var(--color-border-default);
  background: var(--color-bg-page);
  border-radius: var(--radius-full);
  font-family: inherit;
  font-size: var(--pill-font-size);
  font-weight: var(--pill-font-weight);
  color: var(--color-ink-muted);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  box-sizing: border-box;
  user-select: none;
  line-height: 1;
  transition: background-color var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast);
}

.vote:hover {
  background: var(--color-bg-subtle);
  color: var(--color-ink-primary);
  border-color: var(--color-ink-muted);
}

.vote:focus-visible {
  outline: var(--border-width-focus) solid var(--color-border-focus);
  outline-offset: 2px;
}

/* Semantic Sentiment States (시민 의견 투표 선택 상태) */
.vote[data-choice="찬성"][aria-pressed="true"] {
  background: var(--color-approve-bg);
  border-color: var(--color-approve-border);
  color: var(--color-approve-ink);
  font-weight: var(--weight-semibold);
}

.vote[data-choice="반대"][aria-pressed="true"] {
  background: var(--color-reject-bg);
  border-color: var(--color-reject-border);
  color: var(--color-reject-ink);
  font-weight: var(--weight-semibold);
}

.vote[data-choice="중립"][aria-pressed="true"],
.vote[data-choice="판단 유보"][aria-pressed="true"] {
  background: var(--color-neutral-bg);
  border-color: var(--color-neutral-border);
  color: var(--color-neutral-ink);
  font-weight: var(--weight-semibold);
}

.vote:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

.vote-status {
  font-size: var(--text-xs);
  color: var(--color-ink-muted);
  font-weight: var(--weight-medium);
  margin-left: var(--space-1);
}

/* Comment Box Details */
.comment-box {
  margin: var(--space-2) 0 0;
  border: none;
  padding: 0;
}

.comment-box summary {
  cursor: pointer;
  font-size: var(--text-xs);
  font-weight: var(--weight-semibold);
  color: var(--color-ink-secondary);
  list-style: none;
  display: inline-flex;
  align-items: center;
  gap: var(--space-1);
  padding: var(--space-micro) var(--space-2-5);
  border-radius: var(--radius-xs);
  border: var(--border-width-default) solid var(--color-border-default);
  transition: all var(--transition-fast);
}

.comment-box summary:hover {
  background: var(--color-bg-subtle);
  border-color: var(--color-ink-secondary);
  color: var(--color-ink-primary);
}

.comment-box summary::-webkit-details-marker {
  display: none;
}

textarea {
  display: block;
  width: 100%;
  max-width: 100%;
  min-height: var(--textarea-min-h);
  resize: vertical;
  border: var(--border-width-default) solid var(--color-border-default);
  border-radius: var(--radius-xs);
  padding: var(--space-2-5) var(--space-3);
  background: var(--color-bg-page);
  font-size: var(--text-sm);
  line-height: var(--leading-normal);
  color: var(--color-ink-primary);
  margin-top: var(--space-2);
}

textarea:focus {
  border-color: var(--color-border-focus);
  outline: var(--border-width-focus) solid var(--color-border-focus);
  outline-offset: var(--border-width-hairline);
}

.save-comment,
.october-save {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: var(--pill-h);
  border: 0;
  background: var(--color-ink-primary);
  color: var(--color-ink-inverse);
  font-family: inherit;
  font-size: var(--pill-font-size);
  font-weight: var(--weight-semibold);
  padding: 0 var(--space-4);
  border-radius: var(--radius-xs);
  cursor: pointer;
  margin-top: var(--space-2);
  line-height: 1;
  transition: opacity var(--transition-fast);
}

.save-comment:hover,
.october-save:hover {
  opacity: 0.88;
}

.save-comment:focus-visible,
.october-save:focus-visible {
  outline: var(--border-width-focus) solid var(--color-border-focus);
  outline-offset: 2px;
}

/* ==========================================================================
   Modals & Toast
   ========================================================================== */
dialog {
  border: var(--border-width-default) solid var(--color-border-default);
  border-radius: var(--radius-md);
  max-width: var(--dialog-max-w);
  width: calc(100% - var(--space-8));
  max-height: 88vh;
  padding: var(--space-8);
  color: var(--color-ink-primary);
  background: var(--color-bg-page);
}

dialog::backdrop {
  background: var(--color-bg-overlay);
}

.close {
  position: absolute;
  right: var(--space-4);
  top: var(--space-3-5);
  font-size: var(--text-2xl);
  line-height: 1;
  background: transparent;
  border: 0;
  color: var(--color-ink-muted);
  cursor: pointer;
  padding: var(--space-1);
  border-radius: var(--radius-xs);
  transition: color var(--transition-fast);
}

.close:hover {
  color: var(--color-ink-primary);
}

.close:focus-visible {
  outline: var(--border-width-focus) solid var(--color-border-focus);
  outline-offset: 2px;
}

.toast {
  position: fixed;
  bottom: var(--space-6);
  left: 50%;
  transform: translateX(-50%);
  padding: var(--space-2-5) var(--space-5);
  color: var(--color-ink-inverse);
  background: var(--color-ink-primary);
  font-size: var(--text-body-sm);
  font-weight: var(--weight-medium);
  border-radius: var(--radius-full);
  opacity: 0;
  pointer-events: none;
  z-index: 100;
  transition: opacity var(--transition-normal);
}

.toast.show {
  opacity: 1;
}

/* ==========================================================================
   Footer & Copyright Notice (저작권 및 공공누리 제1유형 고지)
   ========================================================================== */
.report-footer {
  border-top: var(--border-width-default) solid var(--color-border-default);
  background: var(--color-bg-subtle);
  color: var(--color-ink-muted);
  font-size: var(--text-xs);
  line-height: var(--leading-relaxed);
  padding: var(--space-10) 0 var(--space-15);
  margin-top: var(--space-10);
}

.footer-container {
  max-width: var(--container-max-width);
  margin: 0 auto;
  padding: 0 var(--space-7);
}

.footer-brand-row {
  display: flex;
  align-items: baseline;
  gap: var(--space-2);
  margin-bottom: var(--space-4);
}

.footer-brand {
  font-size: var(--text-md);
  font-weight: var(--weight-heavy);
  color: var(--color-ink-primary);
  letter-spacing: var(--tracking-tight);
}

.footer-brand-sub {
  font-size: var(--text-xs);
  color: var(--color-ink-muted);
}

.footer-kogl {
  display: flex;
  align-items: flex-start;
  gap: var(--space-3);
  margin-bottom: var(--space-4);
}

.footer-badges {
  display: flex;
  flex-direction: column;
  gap: var(--space-1);
  flex-shrink: 0;
  margin-top: 2px;
}

.kogl-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: var(--badge-h-meta);
  padding: var(--badge-pad-meta);
  font-size: var(--text-2xs);
  font-weight: var(--weight-bold);
  color: var(--color-ink-primary);
  background: var(--color-bg-page);
  border: var(--border-width-default) solid var(--color-border-default);
  border-radius: var(--radius-xs);
  white-space: nowrap;
  flex-shrink: 0;
  line-height: 1;
}

.footer-kogl-desc {
  flex: 1;
}

.footer-kogl-text {
  margin: 0 0 var(--space-1-5);
  color: var(--color-ink-secondary);
  font-size: var(--text-xs);
  line-height: var(--leading-relaxed);
}

.footer-kogl-text strong {
  color: var(--color-ink-primary);
  font-weight: var(--weight-semibold);
}

.footer-kogl-subtext {
  margin: 0;
  color: var(--color-ink-muted);
  font-size: var(--text-2xs);
  line-height: var(--leading-relaxed);
}

.footer-meta-row {
  padding-top: var(--space-3-5);
  border-top: var(--border-width-hairline) solid var(--color-border-hairline);
}

.footer-links {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  margin: 0 0 var(--space-2);
  font-size: var(--text-xs);
  font-weight: var(--weight-semibold);
}

.footer-links a {
  color: var(--color-ink-primary);
  text-decoration: none;
  transition: color var(--transition-fast);
}

.footer-links a:hover {
  color: var(--color-accent-primary);
  text-decoration: underline;
}

.footer-divider {
  color: var(--color-ink-faint);
}

.footer-legal-notice {
  margin: var(--space-2) 0;
  color: var(--color-ink-muted);
  font-size: var(--text-2xs);
  line-height: var(--leading-normal);
}

.footer-legal-notice a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.footer-source-tag {
  margin-top: var(--space-2-5);
  font-size: var(--text-2xs);
  color: var(--color-ink-muted);
}

.footer-source-tag a {
  color: var(--color-ink-secondary);
  text-decoration: none;
}

.footer-source-tag a:hover {
  text-decoration: underline;
}

/* ==========================================================================
   Responsive Adaptations
   ========================================================================== */
@media (max-width: 960px) {
  .tab-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: var(--space-5);
  }
}

@media (max-width: 650px) {
  body > header {
    padding: var(--space-3) var(--space-4);
  }
  main {
    padding: 0 var(--space-4) var(--space-15);
  }
  .section-heading {
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-2);
  }
  .heading-group {
    align-items: baseline;
    gap: var(--space-2);
  }
  .section-heading h1,
  .section-heading h2,
  .council-title {
    font-size: var(--text-2xl);
  }
  .council-rounds {
    gap: var(--space-2);
    margin-bottom: var(--space-4);
    padding: 0;
  }
  .council-rounds a,
  .council-rounds .council-tab {
    padding: var(--space-1-5) var(--space-2-5);
    font-size: var(--text-sm);
    gap: var(--space-1);
  }
  .council-rounds a .round-date,
  .council-rounds a time {
    font-size: var(--text-2xs);
  }
  .tab-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: var(--space-4);
  }
  .tab-metrics > .compact-indicator {
    grid-template-rows: var(--stat-card-header-h-mobile) var(--stat-card-chart-h) auto auto;
    padding: var(--space-4) 0 var(--space-3);
  }
  .tab-metrics .compact-number strong {
    font-size: var(--metric-val-mobile);
    line-height: var(--leading-metric-mobile);
  }
  .tab-metrics .trend-spark > div {
    flex-wrap: wrap;
    column-gap: var(--space-1-5);
    row-gap: var(--space-0-5);
  }
  .tab-metrics .compact-links {
    flex-wrap: wrap;
    column-gap: var(--space-1-5);
    row-gap: var(--space-0-5);
  }
  .report-article {
    padding-left: 0;
    margin: 0;
    padding-top: var(--space-6);
    padding-bottom: var(--space-6);
  }
  .report-article:first-of-type {
    margin: 0;
    padding-top: var(--space-article-first-pt-mobile);
  }
  .report-topic {
    gap: var(--space-2);
  }
  .report-topic > span {
    font-size: var(--text-title-xs);
    padding: 0;
    height: auto;
    background: transparent;
    border: none;
  }
  .report-toc,
  .highlight-table {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .report-topic h3 {
    font-size: var(--text-title-sm);
  }
  .measure-table {
    display: block;
  }
  .measure-table tbody {
    display: block;
  }
  .measure-table tr {
    display: block;
    padding: var(--space-2-5) 0;
    border-bottom: var(--border-width-hairline) solid var(--color-border-hairline);
  }
  .measure-table tr:last-child {
    border-bottom: none;
  }
  .measure-table tbody th {
    display: block;
    width: 100%;
    padding: 0 0 var(--space-1) 0;
    font-size: var(--text-sm);
  }
  .measure-table tbody td {
    display: block;
    padding: 0;
    font-size: var(--text-md);
    line-height: var(--leading-normal);
  }
  .report-footer {
    padding: var(--space-6) 0 var(--space-10);
  }
  .footer-container {
    padding: 0 var(--space-4);
  }
  .footer-kogl {
    flex-direction: column;
    gap: var(--space-2);
  }
  .footer-badges {
    flex-direction: row;
    flex-wrap: wrap;
    gap: var(--space-1-5);
  }
}

/* Responsive policy tables: preserve row grouping without horizontal scrolling. */
.report-toc :is(th,td), .measure-table :is(th,td) {
  overflow-wrap: anywhere;
  word-break: normal;
}
@media (min-width: 641px) and (max-width: 960px) {
  .report-toc { --table-col-agenda-w: 38%; }
  .report-toc:not(.highlight-table) :is(thead th:first-child,tbody th,tbody th a) {
    white-space: normal;
  }
}
@media (max-width: 640px) {
  .report-toc, .highlight-table { display: table; table-layout: fixed; overflow: visible; }
  .report-toc thead {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
    border: 0;
  }
  .report-toc tbody { display: block; }
  .report-toc tbody tr { display: block; padding: 14px 0; }
  .report-toc tbody th:first-child, .report-toc tbody td:last-child {
    display: block;
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    padding: 0;
    text-align: left;
  }
  .report-toc tbody td:last-child { margin-top: 6px; }
  .report-toc:not(.highlight-table) :is(tbody th,tbody th a) { white-space: normal; }
  .measure-table tbody th { box-sizing: border-box; min-width: 0; }
}

.opinion-result { margin:10px 0 0; font-size:12px; line-height:1.6; color:var(--color-ink-muted); }
[data-opinion-id] .feedback { flex-wrap:wrap; }
[data-opinion-id] .vote { white-space:normal; }

/* Each metric distinguishes the data period from the official publication date. */
.metric-release { margin-top:6px; color:var(--color-ink-muted); font-size:11px; line-height:1.5; overflow-wrap:anywhere; }
.tab-metrics > .compact-indicator { position:relative; }
.metric-source { flex-shrink:0; }
.metric-source > summary { display:inline-flex; align-items:center; gap:4px; cursor:pointer; list-style:none; border:1px solid var(--color-border-default); border-radius:var(--badge-radius); background:var(--color-bg-subtle); color:var(--color-ink-secondary); padding:3px 7px; font-size:11px; white-space:nowrap; }
.metric-source > summary::-webkit-details-marker { display:none; }
.metric-source > summary:hover { background:var(--color-accent-soft); }
.metric-source > summary:focus-visible { outline:2px solid var(--color-ink-primary); outline-offset:3px; }
.metric-source-content { position:absolute; top:100%; left:0; right:0; z-index:10; box-sizing:border-box; padding:12px; border:1px solid var(--color-border-default); border-radius:6px; background:var(--color-bg-page,#fff); box-shadow:0 4px 16px #00000014; font-size:12px; line-height:1.6; overflow-wrap:anywhere; white-space:normal; }
.metric-source-content p { margin:6px 0; }
.metric-source-content a { display:block; margin-top:6px; text-decoration:underline; text-underline-offset:3px; color:var(--color-ink-secondary); }
.metric-source[open] { z-index:11; }
.metric-source-content { max-height:260px; overflow:auto; }
@media (max-width:360px) {
  .tab-metrics .compact-number strong { font-size:24px; }
  .tab-metrics .compact-number strong .metric-unit { font-size:11px; }
  .tab-metrics .trend-spark small { white-space:normal; overflow-wrap:anywhere; min-width:0; }
}

/* Keep only the data period and publication date under each chart. */
.tab-metrics .compact-links { align-items:flex-start; }
.metric-caption { display:flex; flex-direction:column; gap:4px; min-width:0; }
.metric-caption .compact-status,.metric-caption .metric-release { display:block; margin:0; font-size:11px; line-height:1.5; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.metric-caption .compact-status { color:var(--color-ink-muted); }

.metric-caption .metric-range { display:block; margin:0; font-size:11px; line-height:1.5; color:var(--color-ink-muted); white-space:normal; word-break:keep-all; overflow-wrap:anywhere; }

/* Accuracy notice above the footer navigation divider. */
.footer-ai-notice {
  margin: var(--space-3-5) 0;
  color: #000;
}
