/* ==================================================================
 *  議会報告 記事の表示部品
 *
 *  src/render.py の CSS をテーマへ移したもの。
 *  記事本文（投稿データ）には <style> を含めない。文字だけを保存し、
 *  見え方はすべてこのファイルで決める。あとから一括で調整できる。
 *
 *  要件定義書 第17項（見え方に関するご要望）の対応箇所には ★印 を付す。
 * ================================================================== */

.gikai-report {
	/* 色 */
	--paper: #FFFFFF;
	--ink: #222;
	--ink-mid: #555;
	--ink-soft: #888;
	--line: #E4E4E4;
	--line-soft: #F0F0F0;
	--orange: #F08000;
	--orange-line: #E8912D;
	--orange-bg: #FDF6EE;
	--orange-ink: #B35F00;
	--blue: #2F6FB0;
	--blue-line: #5A93C6;
	--blue-bg: #F1F6FB;
	--blue-ink: #1E5285;
	--green: #4E9A5E;
	--green-bg: #F1F8F2;
	--green-ink: #2F6B3C;
	--quote-bg: #F7F7F5;
	--sum-bg: #FDFAF2;
	--sum-line: #E3C77A;

	/* --- 文字の大きさ ---------------------------------------------
	 * ★② 可視化の文字／★③ ポイントとまとめの文字を大きくする
	 * ★⑤ 答弁の全文は小さくして圧縮する
	 * 比較用に .mk-size-compact（以前の大きさ）を用意している
	 * ------------------------------------------------------------- */
	--f-body:      15.5px;   /* 質問・背景の本文 */
	--f-answer:    13px;     /* ★⑤ 答弁の全文（小さく） */
	--f-point:     15px;     /* ★③ 答弁のポイント */
	--f-point-lbl: 13.5px;
	--f-sum:       15.5px;   /* ★③ まとめ */
	--f-sum-ttl:   16.5px;
	--f-viz-cap:   16px;     /* ★② 可視化の見出し */
	--f-viz-head:  14px;     /* ★② 比較カードの見出し */
	--f-viz-body:  14.5px;   /* ★② 比較カード・フロー図の本文 */
	--f-num-key:   13px;     /* ★② 数値カード */
	--f-num-val:   27px;
	--f-num-note:  12.5px;
	--f-h2:        20px;

	color: var(--ink);
	font-size: var(--f-body);
	line-height: 1.9;
}

/* 以前の大きさ。ご確認いただくための比較用 */
.gikai-report.mk-size-compact {
	--f-body: 14.5px;  --f-answer: 13.5px;
	--f-point: 13px;   --f-point-lbl: 12.5px;
	--f-sum: 14px;     --f-sum-ttl: 14px;
	--f-viz-cap: 14px; --f-viz-head: 12.5px; --f-viz-body: 13.5px;
	--f-num-key: 12px; --f-num-val: 22px;    --f-num-note: 11.5px;
	--f-h2: 19px;
}

.gikai-report * { box-sizing: border-box; }


/* --- 冒頭 -------------------------------------------------------- */

.gikai-report .kaigi { font-size: 13.5px; font-weight: 700; margin: 0 0 12px; }
.gikai-report .intro { font-size: 15px; color: var(--ink-mid); margin: 0 0 6px; line-height: 1.95; }
.gikai-report .intro-note {
	font-size: 12px; color: var(--ink-soft); margin: 0 0 34px;
	padding-bottom: 22px; border-bottom: 1px solid var(--line);
}


/* --- 見出し ------------------------------------------------------ */

.gikai-report h2 {
	font-size: var(--f-h2); margin: 44px 0 18px; font-weight: 700;
	padding-bottom: 9px; border-bottom: 3px solid var(--orange-line); line-height: 1.55;
}
.gikai-report .bg-h {
	font-size: 15.5px; font-weight: 700; margin: 24px 0 8px;
	padding-left: 10px; border-left: 3px solid var(--line); color: var(--ink);
}


/* --- 地の文（背景の説明） ---------------------------------------- */

.gikai-report .talk { margin: 0 0 20px; }
.gikai-report .talk p { margin: 0 0 4px; font-size: var(--f-body); line-height: 1.95; }
.gikai-report .talk p.gap { margin-bottom: 16px; }

.gikai-report .bg-note {
	font-size: 12px; color: var(--ink-soft); margin: 4px 0 20px;
	padding: 8px 12px; background: #FAF9F7; border-left: 3px solid var(--line); line-height: 1.8;
}


/* --- 質問 -------------------------------------------------------- */

.gikai-report .q {
	background: var(--orange-bg); border: 1px solid var(--orange-line);
	border-radius: 6px; padding: 16px 19px; margin: 22px 0;
}
.gikai-report .q .ttl {
	font-size: 15px; font-weight: 700; color: var(--orange-ink);
	margin: 0 0 10px; line-height: 1.7;
}
.gikai-report .q p { margin: 0 0 4px; font-size: var(--f-body); line-height: 1.9; }
.gikai-report .q p:last-child { margin-bottom: 0; }


/* --- 答弁 -------------------------------------------------------- */

.gikai-report .a {
	background: var(--blue-bg); border: 1px solid var(--blue-line);
	border-radius: 6px; padding: 16px 19px; margin: 22px 0;
}
.gikai-report .a .ttl { font-size: 14.5px; font-weight: 700; color: var(--blue-ink); margin: 0 0 12px; }

/* 答弁のポイント ★③ */
.gikai-report .pt {
	background: var(--green-bg); border: 1px solid var(--green);
	border-radius: 5px; padding: 13px 16px; margin: 0 0 13px;
}
.gikai-report .pt .lbl {
	font-size: var(--f-point-lbl); font-weight: 700; color: var(--green-ink); margin: 0 0 6px;
}
.gikai-report .pt p { margin: 0; font-size: var(--f-point); color: var(--green-ink); line-height: 1.9; }

/* 答弁の全文 ★⑤ 小さくして圧縮する */
.gikai-report .a .body { font-size: var(--f-answer); color: var(--ink-mid); line-height: 1.85; margin: 0; }
.gikai-report .a .body p { margin: 0 0 6px; }

/* ★⑤ 折りたたみ。ポイントだけ読んで先へ進める */
.gikai-report details.fold { margin: 0; }
.gikai-report details.fold > summary {
	cursor: pointer; list-style: none;
	display: inline-flex; align-items: center; gap: 6px;
	font-size: 12.5px; font-weight: 700; color: var(--blue-ink);
	padding: 6px 12px; border: 1px solid var(--blue-line); border-radius: 4px;
	background: rgba(255, 255, 255, .7); user-select: none;
}
.gikai-report details.fold > summary::-webkit-details-marker { display: none; }
.gikai-report details.fold > summary::after { content: "＋"; font-size: 12px; }
.gikai-report details.fold[open] > summary::after { content: "－"; }
.gikai-report details.fold[open] > summary { margin-bottom: 11px; }
.gikai-report details.fold > summary:hover { background: #fff; }


/* --- 可視化 ★② ------------------------------------------------- */

.gikai-report .viz { border: 1px solid var(--line); border-radius: 6px; padding: 20px; margin: 28px 0; }
.gikai-report .viz .cap {
	text-align: center; font-size: var(--f-viz-cap); font-weight: 700; margin: 0 0 18px; line-height: 1.6;
}

/* 比較カード */
.gikai-report .cols { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.gikai-report .col { border: 1px solid var(--line); border-radius: 5px; padding: 15px; text-align: center; }
.gikai-report .col.l { border-top: 3px solid var(--orange-line); }
.gikai-report .col.r { border-top: 3px solid var(--blue-line); }
.gikai-report .col .h { font-size: var(--f-viz-head); font-weight: 700; margin: 0 0 9px; line-height: 1.6; }
.gikai-report .col.l .h { color: var(--orange-ink); }
.gikai-report .col.r .h { color: var(--blue-ink); }
.gikai-report .col p { margin: 3px 0; font-size: var(--f-viz-body); line-height: 1.8; }

/* 数値カード */
.gikai-report .nums { display: grid; grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); gap: 12px; }
.gikai-report .num { text-align: center; padding: 6px; }
.gikai-report .num .k { font-size: var(--f-num-key); color: var(--ink-soft); margin: 0 0 6px; line-height: 1.6; }
.gikai-report .num .v { font-size: var(--f-num-val); font-weight: 700; margin: 0; line-height: 1.25; }
.gikai-report .num .v small { font-size: .55em; }
.gikai-report .num .s { font-size: var(--f-num-note); color: var(--ink-soft); margin: 6px 0 0; line-height: 1.65; }

/* フロー図 */
.gikai-report .flow { display: flex; flex-direction: column; align-items: center; gap: 6px; }
.gikai-report .flow .step {
	border: 1px solid var(--line); border-radius: 5px; padding: 11px 17px;
	font-size: var(--f-viz-body); text-align: center; width: 100%; max-width: 440px; line-height: 1.7;
}
.gikai-report .flow .arw { color: var(--ink-soft); font-size: 13px; }


/* --- 締めのことば ------------------------------------------------ */

.gikai-report .quote {
	background: var(--quote-bg); border-radius: 6px; padding: 26px 30px;
	margin: 32px 0; position: relative;
}
.gikai-report .quote::before {
	content: "\201C"; position: absolute; left: 12px; top: 2px; font-size: 44px;
	color: #C9C9C4; line-height: 1; font-family: Georgia, serif;
}
.gikai-report .quote p { margin: 0; font-size: 15px; line-height: 2.0; }


/* --- まとめ ★③ ------------------------------------------------- */

.gikai-report .sum {
	background: var(--sum-bg); border: 1px solid var(--sum-line); border-radius: 6px;
	padding: 20px 24px; margin: 32px 0;
}
.gikai-report .sum .ttl { text-align: center; font-size: var(--f-sum-ttl); font-weight: 700; margin: 0 0 15px; }
.gikai-report .sum ul { margin: 0; padding-left: 21px; }
.gikai-report .sum li { font-size: var(--f-sum); margin: 10px 0; line-height: 1.9; }
.gikai-report .sum .req {
	margin: 17px 0 0; padding-top: 15px; border-top: 1px solid var(--sum-line);
	font-size: var(--f-sum); font-weight: 700; line-height: 1.9;
}


/* --- 強調 ★④ ---------------------------------------------------
 * 下線・太字・背景色のいずれで見せるかをご確認いただく。
 * どこを強調するかは第10項で確定済み（原文の一部を指定し、実在を検証する）。
 * ---------------------------------------------------------------- */

.gikai-report .mk { font-style: normal; font-weight: 600; }

/* 既定：下線＋薄い背景 */
.gikai-report .mk,
.mk-emph-marker .gikai-report .mk {
	border-bottom: 2px solid var(--orange-line);
	background: linear-gradient(transparent 60%, rgba(240, 128, 0, .14) 60%);
}
/* 下線のみ */
.mk-emph-underline .gikai-report .mk {
	border-bottom: 2px solid var(--orange-line);
	background: none;
}
/* 太字のみ */
.mk-emph-bold .gikai-report .mk {
	border-bottom: none; background: none;
	font-weight: 700; color: var(--orange-ink);
}
/* 背景色のみ */
.mk-emph-bg .gikai-report .mk {
	border-bottom: none;
	background: rgba(240, 128, 0, .17);
	padding: 1px 3px; border-radius: 2px;
}


/* --- 要確認 ------------------------------------------------------ */

.gikai-report .review {
	background: #FFF4F4; border: 1px solid #E0A0A0; border-radius: 6px;
	padding: 12px 16px; margin: 20px 0; font-size: 13px; color: #9A3B3B;
}


/* --- 出典 -------------------------------------------------------- */

.gikai-report .src { margin-top: 44px; padding-top: 24px; border-top: 1px solid var(--line); }
.gikai-report .src h3 { font-size: 13.5px; font-weight: 700; margin: 0 0 10px; }
.gikai-report .src .meta { font-size: 12.5px; font-weight: 700; margin: 0 0 8px; }
.gikai-report .src a { color: var(--blue-ink); }
.gikai-report table { width: 100%; border-collapse: collapse; font-size: 12px; }
.gikai-report th {
	text-align: left; padding: 8px; background: #FAFAFA; border: 1px solid var(--line);
	font-weight: 700; font-size: 11.5px; color: var(--ink-mid); white-space: nowrap;
}
.gikai-report td { padding: 9px 8px; border: 1px solid var(--line); vertical-align: top; line-height: 1.75; }
.gikai-report td.c { white-space: nowrap; }
.gikai-report .src .note { font-size: 11.5px; color: var(--ink-soft); margin: 9px 0 0; line-height: 1.8; }

/* 出典の表は行数が多い。既定では折りたたむ */
.gikai-report .src details > summary {
	cursor: pointer; list-style: none; font-size: 12.5px; font-weight: 700;
	color: var(--ink-mid); padding: 7px 0; user-select: none;
}
.gikai-report .src details > summary::-webkit-details-marker { display: none; }
.gikai-report .src details > summary::before { content: "▶ "; font-size: 10px; }
.gikai-report .src details[open] > summary::before { content: "▼ "; }


/* --- 画面が狭いとき ---------------------------------------------- */

@media (max-width: 600px) {
	.gikai-report { --f-body: 15px; --f-h2: 18px; --f-num-val: 23px; --f-viz-cap: 15px; }
	.gikai-report .cols { grid-template-columns: 1fr; }
	.gikai-report th, .gikai-report td { padding: 6px 5px; font-size: 11px; }
	.gikai-report .q, .gikai-report .a { padding: 14px 15px; }
	.gikai-report .quote { padding: 22px 20px 22px 26px; }
	.gikai-report .sum { padding: 17px 16px; }
}
