/* 정책제안서 문서 — .fnc-ppd
 *
 * 100대 정책의 개별 제안서를 웹에 싣는 전용 컴포넌트. 사이트의 다른 글이 산문체인
 * 것과 달리 이 유형만 개조식(□ ○ - 계층 + 명사형 종결)을 유지한다.
 *
 * 기호는 본문 텍스트가 아니라 ::before 로 그린다. 원고에 「□」를 넣으면 복사할 때
 * 딸려 나오고, 스크린리더가 「네모」를 읽고, 기호 체계를 바꿀 때 문서 전부를 고쳐야
 * 한다. content 의 / "" 는 그 기호를 접근성 트리에서 빼는 표기다.
 *
 * 표 문법(figure.fnc-data-table)은 사이트 표준을 그대로 쓰되 규칙은 이 파일이 가진다.
 * 표의 생김새(헤더 면·구분선·열 폭)는 single-report.css 의 `.fnc-report .fnc-report-body`
 * 스코프 안에만 있어서 이 템플릿(page-no-title)에는 닿지 않는다. style.css 는 figure
 * 여백과 캡션만 다룬다. 그래서 처음 발행했을 때 표가 헤더도 선도 없는 맨 텍스트
 * 격자로 나왔다. 값은 표준과 같게 맞춘다 — 헤더 #17463f, 구분선 #d9ded9.
 */

/* 부속 문서와 그리로 가는 길에만 쓰는 색. 팔레트의 tertiary(#9a6a2b)는 큰 면에는
   맞지만 작은 버튼에서는 탁해 보여, 한 단 선명한 앰버를 이 컴포넌트에 둔다.
   흰 글자 대비 4.17:1 — 아이콘·면 용도의 3:1 기준을 넘는다. */
.fnc-ppd { --ppd-rule: color-mix(in srgb, var(--wp--preset--color--primary) 26%, var(--wp--preset--color--outline-variant));
    --ppd-accent: #b8620f;
    color: var(--wp--preset--color--on-surface); counter-reset: ppd-ch; }
.fnc-ppd-wrap { max-width: 880px; margin: 0 auto; padding: 0 var(--wp--preset--spacing--50); }

/* ── 문서 헤더 ────────────────────────────────────────────────── */
.fnc-ppd-head { padding: var(--wp--preset--spacing--60) 0 var(--wp--preset--spacing--50);
    border-bottom: 2px solid var(--wp--preset--color--primary); }
.fnc-ppd-head__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem;
    margin: 0 0 0.9rem; }
.fnc-ppd-id { display: inline-block; padding: 0.22rem 0.6rem; border-radius: 5px;
    background: var(--wp--preset--color--primary); color: #fff;
    font-family: var(--wp--preset--font-family--label); font-size: 0.78rem; font-weight: 800;
    letter-spacing: 0.04em; }
.fnc-ppd-group { font-family: var(--wp--preset--font-family--label); font-size: 0.8rem;
    font-weight: 700; color: var(--wp--preset--color--on-surface-variant); }
.fnc-ppd-head h1 { font-family: var(--wp--preset--font-family--headline);
    font-size: clamp(1.7rem, 3.6vw, 2.5rem); line-height: 1.28; font-weight: 800;
    color: var(--wp--preset--color--on-surface); margin: 0 0 1rem; }
.fnc-ppd-head__status { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem 1.1rem;
    font-family: var(--wp--preset--font-family--label); font-size: 0.8rem; font-weight: 700;
    color: var(--wp--preset--color--outline); margin: 0; }

/* 작성 중 표시 — 문서 끝 「확인 필요 항목」과 쌍을 이룬다. 위에서 예고하고 아래에서
   열거한다. 스크롤하지 않은 독자가 미확정 상태를 놓치지 않게 하는 것이 목적이라
   숨기거나 조건부로 감추지 않는다. */
.fnc-ppd-flag { display: inline-flex; align-items: center; gap: 0.35rem;
    padding: 0.24rem 0.62rem; border-radius: 999px;
    border: 1px solid color-mix(in srgb, var(--wp--preset--color--tertiary) 55%, transparent);
    background: color-mix(in srgb, var(--wp--preset--color--tertiary) 12%, transparent);
    color: color-mix(in srgb, var(--wp--preset--color--tertiary) 78%, #000);
    font-size: 0.78rem; font-weight: 800; }
.fnc-ppd-flag::before { content: "●" / ""; font-size: 0.6em; }

/* ── 상세자료의 히어로 ────────────────────────────────────────── */
/* 두 문서가 같은 얼굴이면 어느 쪽이 본문서인지 알 수 없다. 상세자료만 히어로에
   면을 깔아 부속 문서임을 첫 화면에서 알린다. 녹색은 쓰지 않는다 — 본문서와
   사이트 전체의 기본 색이라 같은 색으로는 위계가 서지 않는다. 제안서에서 이
   문서로 오는 화살표와 같은 --ppd-accent 를 써서 출발점과 도착점을 잇는다. */
.fnc-ppd--detail .fnc-ppd-head {
    padding: var(--wp--preset--spacing--50); border-radius: var(--fnc-radius-md);
    border: 1px solid color-mix(in srgb, var(--ppd-accent) 28%, transparent);
    border-bottom: 3px solid var(--ppd-accent);
    background: linear-gradient(170deg,
        color-mix(in srgb, var(--ppd-accent) 14%, var(--wp--preset--color--surface-container-lowest)) 0%,
        color-mix(in srgb, var(--ppd-accent) 4%, var(--wp--preset--color--surface-container-lowest)) 100%); }
.fnc-ppd--detail .fnc-ppd-id { background: var(--ppd-accent); }

/* 무슨 문서인지 글자로도 말한다. 면만으로는 색을 못 보는 독자에게 전달되지 않는다. */
.fnc-ppd-kind { display: inline-flex; align-items: center; padding: 0.2rem 0.55rem;
    border-radius: 5px;
    border: 1px solid color-mix(in srgb, var(--ppd-accent) 50%, transparent);
    color: color-mix(in srgb, var(--ppd-accent) 80%, #000);
    font-family: var(--wp--preset--font-family--label); font-size: 0.76rem; font-weight: 800;
    letter-spacing: 0.03em; }

/* 면 위에 놓이면서 대비를 잃는 것들을 되돌린다. */
.fnc-ppd--detail .fnc-ppd-flag {
    background: var(--wp--preset--color--surface-container-lowest); }
/* 목차도 상세자료의 색을 따른다. 히어로에서 이어지는 띠로 읽히게 한다. */
.fnc-ppd--detail .fnc-ppd-nav__label {
    color: color-mix(in srgb, var(--ppd-accent) 78%, #000); }
.fnc-ppd--detail .fnc-ppd-toc a {
    border-color: color-mix(in srgb, var(--ppd-accent) 32%, transparent); }
.fnc-ppd--detail .fnc-ppd-toc a::before {
    color: color-mix(in srgb, var(--ppd-accent) 75%, transparent); }
.fnc-ppd--detail .fnc-ppd-toc a:hover, .fnc-ppd--detail .fnc-ppd-toc a:focus-visible {
    border-color: var(--ppd-accent);
    color: color-mix(in srgb, var(--ppd-accent) 82%, #000); }
.fnc-ppd--detail .fnc-ppd-toc a:hover::before,
.fnc-ppd--detail .fnc-ppd-toc a:focus-visible::before {
    color: var(--ppd-accent); }
.fnc-ppd--detail .fnc-ppd-back a {
    color: color-mix(in srgb, var(--ppd-accent) 85%, #000); }

/* ── 목차 ─────────────────────────────────────────────────────── */
/* 히어로 밖에 둔다. 안에 있으면 칩 일곱 개가 헤더의 절반을 먹고 제목·상태와 같은
   무게로 읽혀, 무엇이 이 문서의 이름인지 흐려진다. */
.fnc-ppd-nav { margin: var(--wp--preset--spacing--40) 0 0; }
.fnc-ppd-nav__label { margin: 0 0 0.65rem;
    font-family: var(--wp--preset--font-family--label); font-size: 0.72rem; font-weight: 800;
    letter-spacing: 0.11em; color: var(--wp--preset--color--outline); }
.fnc-ppd-toc { display: flex; flex-wrap: wrap; gap: 0.45rem; margin: 0;
    padding: 0; list-style: none; counter-reset: ppd-toc; }
.fnc-ppd-toc li { counter-increment: ppd-toc; }
.fnc-ppd-toc a::before { content: counter(ppd-toc, upper-roman); margin-right: 0.45rem;
    font-weight: 800; font-size: 0.72rem; letter-spacing: 0.02em;
    color: var(--wp--preset--color--outline); transition: color .15s; }
.fnc-ppd-toc a { display: inline-flex; align-items: baseline;
    padding: 0.42rem 0.85rem; border-radius: 999px;
    border: 1px solid var(--wp--preset--color--outline-variant);
    background: var(--wp--preset--color--surface-container-lowest);
    color: var(--wp--preset--color--on-surface-variant); text-decoration: none;
    font-family: var(--wp--preset--font-family--label); font-size: 0.8rem; font-weight: 700;
    transition: border-color .15s, color .15s, background .15s, transform .15s, box-shadow .15s; }
.fnc-ppd-toc a:hover, .fnc-ppd-toc a:focus-visible {
    border-color: var(--wp--preset--color--primary); color: var(--wp--preset--color--primary);
    transform: translateY(-1px);
    box-shadow: 0 2px 8px color-mix(in srgb, var(--wp--preset--color--on-surface) 10%, transparent); }
.fnc-ppd-toc a:hover::before, .fnc-ppd-toc a:focus-visible::before {
    color: var(--wp--preset--color--primary); }

/* ── 핵심요약 ─────────────────────────────────────────────────── */
/* 결정자가 이것만 읽고 판단하는 경우를 전제한다. 본문보다 크게, 본문과 다른 면으로. */
.fnc-ppd-summary { margin: var(--wp--preset--spacing--60) 0 0;
    padding: var(--wp--preset--spacing--50) var(--wp--preset--spacing--50)
             var(--wp--preset--spacing--50) calc(var(--wp--preset--spacing--50) - 5px);
    border-left: 5px solid var(--wp--preset--color--primary);
    border-radius: 0 var(--fnc-radius-md) var(--fnc-radius-md) 0;
    background: color-mix(in srgb, var(--wp--preset--color--primary) 6%, transparent); }
.fnc-ppd-summary__label { font-family: var(--wp--preset--font-family--label); font-size: 0.76rem;
    font-weight: 800; letter-spacing: 0.09em; color: var(--wp--preset--color--primary);
    margin: 0 0 0.7rem; }
.fnc-ppd-summary p { font-size: 1.06rem; line-height: 1.78;
    color: var(--wp--preset--color--on-surface); margin: 0; max-width: 62ch; }
.fnc-ppd-summary p + p { margin-top: 0.85rem; }

/* ── 주장 ─────────────────────────────────────────────────────── */
/* 요약은 사정을 설명하고 본문은 근거를 편다. 그 사이에 「그래서 무엇을 주장하는가」가
   없으면 독자가 문서 전체를 읽고 스스로 요약해야 한다. 요약보다 눈에 띄어야 하므로
   번호를 크게 세우고 문장은 굵게 둔다. */
.fnc-ppd-claims { margin: var(--wp--preset--spacing--50) 0 0;
    padding: var(--wp--preset--spacing--50); border-radius: var(--fnc-radius-md);
    border: 1px solid color-mix(in srgb, var(--wp--preset--color--primary) 30%, transparent);
    background: color-mix(in srgb, var(--wp--preset--color--primary) 3%, transparent); }
.fnc-ppd-claims__label { font-family: var(--wp--preset--font-family--label); font-size: 0.76rem;
    font-weight: 800; letter-spacing: 0.09em; color: var(--wp--preset--color--primary);
    margin: 0 0 0.9rem; }
.fnc-ppd-claims ol { list-style: none; margin: 0; padding: 0; counter-reset: ppd-claim; }
.fnc-ppd-claims > ol > li { position: relative; counter-increment: ppd-claim;
    padding-left: 2.1rem; margin-bottom: 0.9rem;
    font-size: 1.02rem; line-height: 1.65; font-weight: 700;
    color: var(--wp--preset--color--on-surface); max-width: 64ch; }
.fnc-ppd-claims > ol > li:last-child { margin-bottom: 0; }
.fnc-ppd-claims > ol > li::before { content: counter(ppd-claim); position: absolute; left: 0; top: 0.05em;
    display: grid; place-items: center; width: 1.5rem; height: 1.5rem; border-radius: 50%;
    background: var(--wp--preset--color--primary); color: #fff;
    font-family: var(--wp--preset--font-family--label); font-size: 0.78rem; font-weight: 800; }

/* 제목이 주장을 말하므로 공식 항목명은 그 아래 작게 둔다. */
.fnc-ppd-head__item { font-size: 0.85rem; line-height: 1.6;
    color: var(--wp--preset--color--on-surface-variant); margin: -0.5rem 0 1rem; }

/* 제안서에서는 주장이 페이지의 첫 내용이다. 요약 뒤에 놓였을 때보다 무겁게 세운다. */
.fnc-ppd-claims--lead { margin-top: var(--wp--preset--spacing--60);
    border-width: 2px; background: color-mix(in srgb, var(--wp--preset--color--primary) 5%, transparent); }
.fnc-ppd-claims--lead > ol > li { font-size: 1.08rem; line-height: 1.7; }

/* 주장에 딸린 부연 — 조건·수단은 주장 자체가 아니므로 한 단 낮춰 붙인다.
   번호는 주장에만 붙고 부연에는 붙지 않는다(짧은 가로줄). */
.fnc-ppd-claim__notes { list-style: none; margin: 0.6rem 0 0; padding: 0; }
.fnc-ppd-claim__notes > li { position: relative; margin: 0 0 0.45rem; padding-left: 1rem;
    font-size: 0.94rem; line-height: 1.65; font-weight: 500;
    color: var(--wp--preset--color--on-surface-variant); }
.fnc-ppd-claim__notes > li:last-child { margin-bottom: 0; }
.fnc-ppd-claim__notes > li::before { content: ""; position: absolute; left: 0; top: 0.72em;
    width: 0.45rem; height: 1px;
    background: color-mix(in srgb, var(--wp--preset--color--primary) 55%, transparent); }

/* 전환 원칙 — 주장과 같은 상자 안에 두되 선으로 가른다. 「무엇을 바꾸자는가」와
   「어떤 조건으로 바꾸자는가」는 다른 층위인데, 같은 번호 목록에 섞으면 조건이
   주장 행세를 한다. 그렇다고 별도 절로 떼면 첫 화면이 둘로 갈린다. */
.fnc-ppd-princ { margin-top: 1.15rem; padding-top: 1.05rem;
    border-top: 1px solid color-mix(in srgb, var(--wp--preset--color--primary) 22%, transparent); }
.fnc-ppd-princ__label { margin: 0 0 0.65rem;
    font-family: var(--wp--preset--font-family--label); font-size: 0.72rem; font-weight: 800;
    letter-spacing: 0.11em; color: var(--wp--preset--color--primary); }
.fnc-ppd-princ__list { list-style: none; margin: 0; padding: 0; }
.fnc-ppd-princ__list > li { position: relative; margin: 0 0 0.5rem; padding-left: 1rem;
    font-size: 0.94rem; line-height: 1.65; font-weight: 500;
    color: var(--wp--preset--color--on-surface-variant); }
.fnc-ppd-princ__list > li:last-child { margin-bottom: 0; }
.fnc-ppd-princ__list > li::before { content: ""; position: absolute; left: 0; top: 0.72em;
    width: 0.45rem; height: 1px;
    background: color-mix(in srgb, var(--wp--preset--color--primary) 55%, transparent); }

/* ── 배경 및 이유 ─────────────────────────────────────────────── */
.fnc-ppd-bg { margin-top: var(--wp--preset--spacing--60); }
.fnc-ppd-bg__label { font-family: var(--wp--preset--font-family--headline); font-size: 1.05rem;
    font-weight: 800; color: var(--wp--preset--color--on-surface);
    margin: 0 0 var(--wp--preset--spacing--40); }

/* ── 첨부자료 카드 ────────────────────────────────────────────── */
/* 근거는 이 카드 너머에 있다. 제안서에서 상세자료로 가는 유일한 길이다. */
.fnc-ppd-att { margin-top: var(--wp--preset--spacing--60);
    padding-top: var(--wp--preset--spacing--50); border-top: 1px solid var(--ppd-rule); }
.fnc-ppd-att__label { font-family: var(--wp--preset--font-family--headline); font-size: 1.05rem;
    font-weight: 800; color: var(--wp--preset--color--on-surface);
    margin: 0 0 var(--wp--preset--spacing--40); }
.fnc-ppd-att__grid { display: grid; gap: 0.75rem; }
.fnc-ppd-att__card { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 1rem;
    align-items: center; padding: 1.15rem 1.3rem; border-radius: var(--fnc-radius-md);
    border: 1px solid var(--ppd-rule); background: var(--wp--preset--color--surface-container-lowest);
    text-decoration: none; transition: border-color .15s, background .15s, transform .15s; }
.fnc-ppd-att__card:hover { border-color: var(--wp--preset--color--primary);
    background: color-mix(in srgb, var(--wp--preset--color--primary) 4%, transparent); }
.fnc-ppd-att__card strong { display: block; font-family: var(--wp--preset--font-family--headline);
    font-size: 1rem; font-weight: 800; color: var(--wp--preset--color--on-surface); }
/* 부제는 클래스로 잡는다. `.fnc-ppd-att__card span` 으로 잡으면 같은 카드 안의
   화살표 span 까지 이기고 들어가 회색 0.85rem 으로 덮는다. 실제로 그랬다. */
.fnc-ppd-att__sub { display: block; margin-top: 0.3rem; font-size: 0.85rem; line-height: 1.6;
    color: var(--wp--preset--color--on-surface-variant); }

/* 화살표는 녹색을 쓰지 않는다. 카드도 배경도 녹색 계열이라 면에 묻힌다.
   원 대신 사각형을 쓰는 이유는 글립을 키울 수 있어서다 — 원 안에서는 지름이
   글자 크기를 제한해 화살표가 작아진다. */
.fnc-ppd-att__arrow { display: grid; place-items: center; width: 3.1rem; height: 2.6rem;
    border-radius: 9px; background: var(--ppd-accent); color: #fff;
    font-size: 1.6rem; line-height: 1; margin: 0;
    font-variation-settings: 'wght' 700;
    box-shadow: 0 1px 2px color-mix(in srgb, var(--ppd-accent) 40%, transparent);
    transition: background .15s, transform .15s, box-shadow .15s; }
.fnc-ppd-att__card:hover .fnc-ppd-att__arrow {
    background: color-mix(in srgb, var(--ppd-accent) 85%, #000);
    transform: translateX(3px);
    box-shadow: 0 2px 8px color-mix(in srgb, var(--ppd-accent) 45%, transparent); }

/* ── 상세자료의 되돌아가는 길 ─────────────────────────────────── */
.fnc-ppd-back { margin: 0 0 var(--wp--preset--spacing--40); padding-top: var(--wp--preset--spacing--50); }
.fnc-ppd-back a { font-family: var(--wp--preset--font-family--label); font-size: 0.85rem;
    font-weight: 700; color: var(--wp--preset--color--primary); text-decoration: none; }
.fnc-ppd-back a:hover { text-decoration: underline; }

/* ── 장 ───────────────────────────────────────────────────────── */
/* 장 번호는 CSS 카운터가 만든다. 기호와 같은 이유이고 하나가 더 있다 — 원고에 유니코드
   로마숫자(U+2160 Ⅰ 등)를 쓰면 본문 서체에서 Ⅰ이 세로 막대처럼 보인다. upper-roman 은
   ASCII I·II·V 를 생성해 그 문제가 없고, 장을 넣거나 빼도 번호가 저절로 맞는다. */
.fnc-ppd-ch { padding: var(--wp--preset--spacing--60) 0 0; counter-increment: ppd-ch; }
.fnc-ppd-ch + .fnc-ppd-ch { border-top: 1px solid var(--ppd-rule); }
.fnc-ppd-ch > h2 { display: flex; align-items: baseline; gap: 0.7rem;
    font-family: var(--wp--preset--font-family--headline); font-size: clamp(1.2rem, 2.4vw, 1.55rem);
    font-weight: 800; line-height: 1.35; color: var(--wp--preset--color--on-surface);
    margin: 0 0 var(--wp--preset--spacing--40); }
.fnc-ppd-ch > h2::before { content: counter(ppd-ch, upper-roman) "."; flex: none;
    font-size: 1.3em; font-weight: 800; letter-spacing: 0.02em;
    color: color-mix(in srgb, var(--wp--preset--color--primary) 60%, var(--wp--preset--color--outline)); }

.fnc-ppd-ch h3 { font-family: var(--wp--preset--font-family--headline); font-size: 1.02rem;
    font-weight: 800; line-height: 1.5; color: var(--wp--preset--color--on-surface);
    margin: var(--wp--preset--spacing--40) 0 0.7rem; padding-left: 0.7rem;
    border-left: 3px solid color-mix(in srgb, var(--wp--preset--color--primary) 45%, transparent); }
.fnc-ppd-ch > h2 + h3 { margin-top: 0; }

/* ── 개조식 리스트 ────────────────────────────────────────────── */
/* 계층은 마크업이 정하고 기호는 CSS 가 그린다. 원고에 기호를 넣지 않는다. */
.fnc-ppd-list { list-style: none; margin: 0 0 1rem; padding: 0; }
.fnc-ppd-list li { position: relative; padding-left: 1.5em; font-size: 0.97rem; line-height: 1.75;
    color: var(--wp--preset--color--on-surface-variant); margin-bottom: 0.55rem; max-width: 68ch; }
.fnc-ppd-list li:last-child { margin-bottom: 0; }
.fnc-ppd-list li::before { position: absolute; left: 0; top: 0;
    color: var(--wp--preset--color--primary); font-weight: 700; }
.fnc-ppd-list--sq > li::before { content: "□" / ""; }
.fnc-ppd-list--ci > li::before { content: "○" / ""; font-size: 0.86em; top: 0.12em; }
.fnc-ppd-list--da > li::before { content: "–" / ""; }
/* 기대효과 — 결과를 가리키므로 화살표를 쓴다. 배경(□)과 한눈에 갈린다. */
.fnc-ppd-list--fx > li::before { content: "→" / ""; }
.fnc-ppd-list--fx > li { font-size: 1rem; color: var(--wp--preset--color--on-surface);
    margin-bottom: 0.85rem; }
.fnc-ppd-list--sq > li { font-size: 1rem; color: var(--wp--preset--color--on-surface);
    margin-bottom: 0.85rem; }
.fnc-ppd-list .fnc-ppd-list { margin-top: 0.55rem; margin-bottom: 0; }
.fnc-ppd-ch p { font-size: 0.97rem; line-height: 1.75;
    color: var(--wp--preset--color--on-surface-variant); max-width: 68ch; }

/* ── Ⅴ. 이 제안이 아닌 것 ─────────────────────────────────────── */
/* 오해 차단용이라 다른 장과 확실히 갈라놓는다. 경고색(빨강) 대신 브랜드 딥그린 반전면
   — 이 문서는 위험 고지가 아니라 범위 선언이다. */
.fnc-ppd-not { margin-top: var(--wp--preset--spacing--40);
    padding: var(--wp--preset--spacing--50); border-radius: var(--fnc-radius-md);
    background: color-mix(in srgb, var(--wp--preset--color--primary) 88%, #000); color: #fff; }
.fnc-ppd-not__label { font-family: var(--wp--preset--font-family--label); font-size: 0.74rem;
    font-weight: 800; letter-spacing: 0.09em; color: #cdeec2; margin: 0 0 0.8rem; }
.fnc-ppd-not .fnc-ppd-list li { color: rgba(255,255,255,0.92); }
/* 반전면에서는 모든 기호를 밝은 색으로. primary 그대로 두면 딥그린 위 딥그린이라 안 보인다. */
.fnc-ppd-not .fnc-ppd-list li::before { color: #cdeec2; }
/* ✕ 는 최상위 항목에만. 하위는 그 항목의 설명이지 또 다른 부정이 아니므로
   자기 계층의 기호(○ –)를 그대로 쓴다. */
.fnc-ppd-not > .fnc-ppd-list > li::before { content: "✕" / ""; font-size: 0.9em; }
.fnc-ppd-not p { color: rgba(255,255,255,0.82); }

/* ── 확인 필요 항목 ───────────────────────────────────────────── */
/* 미확정을 숨기지 않는다는 프로젝트 규칙의 표시면. 항목마다 「무엇이 미확정인가」와
   「무엇으로 확인하는가」를 짝으로 둔다 — 미확정만 적으면 독자가 판단할 수 없다. */
.fnc-ppd-open { margin: var(--wp--preset--spacing--60) 0 0;
    padding: var(--wp--preset--spacing--50); border-radius: var(--fnc-radius-md);
    border: 1px dashed color-mix(in srgb, var(--wp--preset--color--tertiary) 58%, transparent);
    background: color-mix(in srgb, var(--wp--preset--color--tertiary) 6%, transparent); }
.fnc-ppd-open__label { display: flex; align-items: center; gap: 0.4rem;
    font-family: var(--wp--preset--font-family--label); font-size: 0.76rem; font-weight: 800;
    letter-spacing: 0.08em; color: color-mix(in srgb, var(--wp--preset--color--tertiary) 78%, #000);
    margin: 0 0 0.9rem; }
.fnc-ppd-open dl { margin: 0; }
.fnc-ppd-open dt { font-size: 0.96rem; font-weight: 700; line-height: 1.7;
    color: var(--wp--preset--color--on-surface); max-width: 68ch; }
.fnc-ppd-open dd { margin: 0.25rem 0 0; padding-left: 0.9rem; font-size: 0.9rem; line-height: 1.7;
    color: var(--wp--preset--color--on-surface-variant); max-width: 68ch;
    border-left: 2px solid color-mix(in srgb, var(--wp--preset--color--tertiary) 40%, transparent); }
.fnc-ppd-open dd + dt { margin-top: 1rem; }

/* ── 표 ───────────────────────────────────────────────────────── */
/* 값은 single-report 표준과 같다. 카드 테두리·둥근 모서리·줄무늬·hover 면은 쓰지 않는다. */
.fnc-ppd figure.fnc-data-table { margin: var(--wp--preset--spacing--50) 0; }
.fnc-ppd figure.fnc-data-table > figcaption.fnc-table-caption {
    font-family: var(--wp--preset--font-family--label); font-size: 0.8rem; font-weight: 700;
    letter-spacing: 0.04em; line-height: 1.5;
    color: var(--wp--preset--color--secondary); margin: 0 0 0.6rem; }
.fnc-ppd figure.fnc-data-table > table { width: 100%; border-collapse: collapse;
    margin: 0; font-size: 0.92rem; }
.fnc-ppd figure.fnc-data-table thead th { background: #17463f; color: #fff; font-weight: 700;
    text-align: left; padding: 0.65rem 0.8rem; border: 0; border-bottom: 1px solid #17463f; }
.fnc-ppd figure.fnc-data-table tbody td { padding: 0.65rem 0.8rem; border: 0;
    border-bottom: 1px solid #d9ded9; vertical-align: top; background: transparent;
    color: var(--wp--preset--color--on-surface-variant); }
/* 마지막 행에도 선을 남겨 표를 닫는다. 선이 없으면 표가 어디서 끝나는지 흐려져
   바로 아래 개조식 목록과 이어져 보인다. 행 사이 선보다 진하게 둔다. */
.fnc-ppd figure.fnc-data-table tbody tr:last-child td { border-bottom: 1px solid #17463f; }
.fnc-ppd figure.fnc-data-table tbody td:first-child {
    color: var(--wp--preset--color--on-surface); font-weight: 600; }
/* 한국어는 어절 단위로 끊는다. 없으면 좁은 칸에서 두 글자가 세로로 부서진다. */
.fnc-ppd figure.fnc-data-table th,
.fnc-ppd figure.fnc-data-table td { word-break: keep-all; overflow-wrap: break-word; }
.fnc-ppd figure.fnc-data-table > table + aside.fnc-source-note { display: block;
    margin: 0.4rem 0 0; font-size: 0.82rem; line-height: 1.6;
    color: var(--wp--preset--color--outline); }

/* ── 참고문헌 ─────────────────────────────────────────────────── */
/* 이 문서는 page 로 발행하므로 아티클 공용 JS 가 참고문헌을 footer 로 옮기지 않는다.
   본문 안에 그대로 두고, 저장소 규칙대로 숨기지 않는다. */
.fnc-ppd-refs { margin-top: var(--wp--preset--spacing--60);
    padding-top: var(--wp--preset--spacing--50); border-top: 1px solid var(--ppd-rule); }
.fnc-ppd-refs h2 { font-family: var(--wp--preset--font-family--headline); font-size: 1.1rem;
    font-weight: 800; color: var(--wp--preset--color--on-surface); margin: 0 0 1rem; }
.fnc-ppd-refs ol { margin: 0; padding-left: 1.3rem; }
.fnc-ppd-refs li { font-size: 0.88rem; line-height: 1.7;
    color: var(--wp--preset--color--on-surface-variant); margin-bottom: 0.6rem;
    overflow-wrap: anywhere; }

/* ── 다루는 항목 ──────────────────────────────────────────────── */
.fnc-ppd-item { display: flex; flex-wrap: wrap; align-items: center; gap: 0.6rem;
    margin: var(--wp--preset--spacing--50) 0 0; padding: 1rem 1.1rem;
    border-radius: var(--fnc-radius-md); border: 1px solid var(--ppd-rule);
    font-size: 0.9rem; color: var(--wp--preset--color--on-surface-variant); }
.fnc-ppd-item a { color: var(--wp--preset--color--primary); font-weight: 700; }

/* ── 반응형 ───────────────────────────────────────────────────── */
@media (max-width: 640px) {
    .fnc-ppd-summary { padding: var(--wp--preset--spacing--40) var(--wp--preset--spacing--40)
        var(--wp--preset--spacing--40) calc(var(--wp--preset--spacing--40) - 5px); }
    .fnc-ppd-summary p { font-size: 1rem; }
    .fnc-ppd-not, .fnc-ppd-open { padding: var(--wp--preset--spacing--40); }
    /* 열이 셋 이상인 표는 좁은 화면에서 넘친다. 세로로 쌓지 않고 가로로 밀어 본다 —
       정책 문서의 표는 행끼리 값을 비교해 읽으므로 열 정렬이 유지돼야 한다. */
    .fnc-ppd figure.fnc-data-table { overflow-x: auto; -webkit-overflow-scrolling: touch; }
    .fnc-ppd figure.fnc-data-table > table { min-width: 34rem; }
    .fnc-ppd-ch > h2 { display: block; }
    .fnc-ppd-ch > h2::before { margin-right: 0.4rem; }
}

/* ── 인쇄 ─────────────────────────────────────────────────────── */
/* 정책 문서는 출력해 회의에 들고 가는 일이 잦다. 목차 칩은 인쇄에서 쓸모가 없고,
   반전면은 잉크만 먹으므로 선으로 바꾼다. */
/* ── 문서 끝의 세 갈래 ────────────────────────────────────────── */
/* 앰버는 이 문서가 부속 문서라는 표시이고, 행동을 부르는 자리는 사이트 공통의
   녹색을 쓴다. 색이 문서의 정체와 행동을 각각 맡는다.
   문서가 확정본이 아니라는 말을 버튼 위에 먼저 둔다 — 「작성 중」 배지가 위에서
   예고한 것을, 읽기를 마친 자리에서 한 번 더 말하고 의견을 청한다. */
.fnc-ppd-cta { margin-top: var(--wp--preset--spacing--60);
    padding: var(--wp--preset--spacing--50); border-radius: var(--fnc-radius-md);
    border: 1px solid color-mix(in srgb, var(--wp--preset--color--primary) 28%, transparent);
    border-top: 3px solid var(--wp--preset--color--primary);
    background: linear-gradient(10deg,
        color-mix(in srgb, var(--wp--preset--color--primary) 9%, var(--wp--preset--color--surface-container-lowest)) 0%,
        color-mix(in srgb, var(--wp--preset--color--primary) 3%, var(--wp--preset--color--surface-container-lowest)) 100%); }
.fnc-ppd-cta__note { margin: 0 auto var(--wp--preset--spacing--40); max-width: 56ch;
    text-align: center; font-size: 0.95rem; line-height: 1.7;
    color: var(--wp--preset--color--on-surface-variant); }
.fnc-ppd-cta__row { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.6rem; }
.fnc-ppd-btn { display: inline-flex; align-items: center; gap: 0.4rem;
    padding: 0.7rem 1.15rem; border-radius: 9px;
    border: 1px solid color-mix(in srgb, var(--wp--preset--color--primary) 45%, transparent);
    background: var(--wp--preset--color--surface-container-lowest);
    color: var(--wp--preset--color--primary); text-decoration: none;
    font-family: var(--wp--preset--font-family--label); font-size: 0.88rem; font-weight: 800;
    transition: background .15s, border-color .15s, transform .15s, box-shadow .15s; }
.fnc-ppd-btn--solid { background: var(--wp--preset--color--primary);
    border-color: var(--wp--preset--color--primary); color: #fff; }
.fnc-ppd-btn__ico { font-size: 1.15rem; line-height: 1; font-variation-settings: 'wght' 600; }
/* 후원은 이 문서에 대한 행동이 아니라 단체에 대한 행동이다. 간격으로 갈라 둔다. */
.fnc-ppd-btn--apart { margin-left: 1.5rem; }
.fnc-ppd-btn:hover, .fnc-ppd-btn:focus-visible {
    border-color: var(--wp--preset--color--primary); transform: translateY(-1px);
    background: color-mix(in srgb, var(--wp--preset--color--primary) 8%, var(--wp--preset--color--surface-container-lowest));
    box-shadow: 0 2px 8px color-mix(in srgb, var(--wp--preset--color--primary) 25%, transparent); }
.fnc-ppd-btn--solid:hover, .fnc-ppd-btn--solid:focus-visible {
    background: color-mix(in srgb, var(--wp--preset--color--primary) 85%, #000); }

@media (max-width: 540px) {
    .fnc-ppd-cta__row { flex-direction: column; }
    .fnc-ppd-btn { justify-content: center; }
    .fnc-ppd-btn--apart { margin-left: 0; margin-top: 0.7rem; }
}

@media print {
    .fnc-ppd-nav, .fnc-ppd-toc, .fnc-ppd-cta { display: none; }
    .fnc-ppd-not { background: none; color: #000; border: 2px solid #000; }
    .fnc-ppd-not__label, .fnc-ppd-not .fnc-ppd-list li, .fnc-ppd-not p { color: #000; }
    .fnc-ppd-not .fnc-ppd-list > li::before { color: #000; }
    .fnc-ppd-ch { break-inside: avoid-page; }
    .fnc-ppd-summary, .fnc-ppd-open { break-inside: avoid-page; }
}
