/* =========================================================================
   infact.tw — 檔案／報導風 設計系統
   現代查核報導風：暖紙感、墨色、單一赭紅強調（政治中立，避開藍綠）
   思源宋體（標題）+ 思源黑體（內文）+ Newsreader（拉丁編輯字）
   ========================================================================= */

/* ---------- Design tokens ---------- */
:root {
  /* 色彩 — 暖紙 / 墨 / 赭紅 / 石板灰 / 琥珀警示 */
  --paper:      #f6f1e7;
  --paper-2:    #efe8da;
  --paper-card: #fbf8f1;
  --ink:        #1f1ب1a; /* placeholder */
  --ink:        #211d18;
  --ink-soft:   #4a443b;
  --ink-mute:   #6f685c;
  --hair:       #d7cdba;
  --hair-soft:  #e4dccb;
  --accent:     #9c3d2a;  /* 赭紅 / 檔案紅墨 */
  --accent-dk:  #7c2f20;
  --accent-tint:#f0e2d6;
  --slate:      #3a3f44;  /* 日軍欄／次強調（冷灰，非藍） */
  --slate-soft: #5c636a;
  --taupe:      #8a7c66;  /* 國軍欄（暖灰） */
  --amber:      #b9802a;  /* 警示／謠言 */
  --amber-tint: #f5ead2;
  --verify:     #4a6ب; /* placeholder */
  --verify:     #496a52;  /* 已查證（沉綠，僅用於勾選，克制） */
  --verify-tint:#e6ede4;

  /* 字型 */
  --serif: "Noto Serif TC", "Songti TC", serif;
  --sans:  "Noto Sans TC", system-ui, -apple-system, "PingFang TC", "Microsoft JhengHei", sans-serif;
  --latin: "Newsreader", Georgia, serif;

  /* 字級（流體） */
  --fs-kicker: .78rem;
  --fs-body:   1.075rem;
  --fs-lead:   clamp(1.18rem, 1.05rem + .7vw, 1.42rem);
  --fs-h3:     clamp(1.2rem, 1.05rem + .8vw, 1.55rem);
  --fs-h2:     clamp(1.55rem, 1.2rem + 1.7vw, 2.4rem);
  --fs-title:  clamp(2.1rem, 1.3rem + 4.4vw, 4.6rem);
  --fs-num:    clamp(2.2rem, 1.4rem + 3.4vw, 3.6rem);

  /* 版面 */
  --measure: 40rem;
  --rail: 16rem;
  --gap: clamp(1.4rem, 3.5vw, 3.2rem);
  --radius: 3px;
  --shadow: 0 1px 2px rgba(33,29,24,.05), 0 12px 30px -18px rgba(33,29,24,.28);
  --shadow-lg: 0 30px 60px -32px rgba(33,29,24,.45);
}

/* 修正 token（移除上方 placeholder 行的影響） */
:root { --ink: #211d18; --verify: #496a52; }

/* ---------- Reset ---------- */
*,*::before,*::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce){ html{ scroll-behavior:auto; } }
body {
  margin: 0;
  font-family: var(--sans);
  font-size: var(--fs-body);
  line-height: 1.85;
  color: var(--ink);
  background-color: var(--paper);
  background-image:
    radial-gradient(circle at 18% 12%, rgba(156,61,42,.04), transparent 42%),
    radial-gradient(circle at 88% 0%, rgba(58,63,68,.045), transparent 38%);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  overflow-x: hidden;
}
/* 細緻紙紋（SVG noise） */
body::before {
  content:""; position: fixed; inset: 0; z-index: -1; pointer-events: none;
  opacity: .5;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.035'/%3E%3C/svg%3E");
}
img { max-width: 100%; height: auto; display: block; }
a { color: var(--accent); text-underline-offset: .18em; text-decoration-thickness: .06em; }
a:hover { color: var(--accent-dk); }
::selection { background: var(--accent); color: var(--paper); }
hr { border: 0; border-top: 1px solid var(--hair); margin: 2.4rem 0; }

/* ---------- 站台頂欄 ---------- */
.site-bar {
  position: sticky; top: 0; z-index: 60;
  display: flex; align-items: center; justify-content: space-between;
  gap: 1rem; padding: .7rem clamp(1rem, 4vw, 2.4rem);
  background: rgba(246,241,231,.86);
  backdrop-filter: saturate(140%) blur(10px);
  border-bottom: 1px solid var(--hair);
}
.brand { display: flex; align-items: baseline; gap: .55rem; text-decoration: none; color: var(--ink); }
.brand__mark { font-family: var(--latin); font-weight: 600; font-size: 1.18rem; letter-spacing: -.01em; }
.brand__mark b { color: var(--accent); }
.brand__tag { font-size: .72rem; letter-spacing: .22em; color: var(--ink-mute); text-transform: uppercase; }
.site-bar__right { font-size: .78rem; color: var(--ink-mute); letter-spacing: .04em; }
.site-bar__right a { color: var(--ink-soft); text-decoration: none; }
.site-bar__right a:hover { color: var(--accent); }

/* ---------- Hero / 報頭 ---------- */
.hero {
  max-width: 72rem; margin: 0 auto; padding: clamp(2.6rem,7vw,5.5rem) clamp(1.1rem,4vw,2.4rem) clamp(1.4rem,3vw,2.2rem);
}
.hero__kicker {
  display: inline-flex; align-items: center; gap: .6rem;
  font-family: var(--latin); font-style: italic; font-size: .95rem; color: var(--accent);
  letter-spacing: .02em; margin-bottom: 1.4rem;
}
.hero__kicker::before { content:""; width: 2.2rem; height: 1px; background: var(--accent); display:inline-block; }
.hero__title {
  font-family: var(--serif); font-weight: 900; font-size: var(--fs-title);
  line-height: 1.04; letter-spacing: -.015em; margin: 0 0 1.1rem;
  text-wrap: balance;
}
.hero__title .em { color: var(--accent); }
.hero__dek {
  font-size: var(--fs-lead); line-height: 1.65; color: var(--ink-soft);
  max-width: 46rem; margin: 0 0 2rem; font-weight: 350;
}
.hero__meta {
  display: flex; flex-wrap: wrap; align-items: center; gap: .6rem 1.4rem;
  padding-top: 1.4rem; border-top: 1px solid var(--hair);
  font-size: .82rem; color: var(--ink-mute); letter-spacing: .03em;
}
.hero__meta b { color: var(--ink-soft); font-weight: 600; }

/* 三方查證徽章 */
.verify-badge {
  display: inline-flex; align-items: center; gap: .5rem;
  padding: .34rem .7rem .34rem .55rem; border: 1px solid var(--hair);
  border-radius: 999px; background: var(--paper-card); font-size: .78rem; color: var(--ink-soft);
}
.verify-badge .dot { width: .5rem; height: .5rem; border-radius: 50%; background: var(--verify); box-shadow: 0 0 0 3px var(--verify-tint); }
.verify-badge b { font-weight: 700; color: var(--ink); }

/* ---------- 主版面：目錄側欄 + 內文 ---------- */
.layout {
  max-width: 72rem; margin: 0 auto; padding: 1rem clamp(1.1rem,4vw,2.4rem) 4rem;
  display: grid; grid-template-columns: 1fr; gap: var(--gap);
}
@media (min-width: 60rem){
  .layout { grid-template-columns: var(--rail) minmax(0,1fr); gap: clamp(2rem,5vw,4.5rem); }
}

/* 目錄 */
.toc { font-size: .86rem; }
@media (min-width: 60rem){
  .toc { position: sticky; top: 4.2rem; align-self: start; max-height: calc(100vh - 5.5rem); overflow:auto; }
}
.toc__title { font-family: var(--latin); font-style: italic; color: var(--ink-mute); font-size: .85rem; margin: 0 0 .8rem; letter-spacing: .03em; }
.toc__list { list-style: none; margin: 0; padding: 0; display: grid; gap: .15rem; }
.toc__link {
  display: flex; gap: .6rem; align-items: baseline;
  text-decoration: none; color: var(--ink-mute); padding: .32rem .55rem .32rem .7rem;
  border-left: 2px solid var(--hair-soft); border-radius: 0 var(--radius) var(--radius) 0;
  line-height: 1.35; transition: color .2s, border-color .2s, background .2s;
}
.toc__link .n { font-family: var(--latin); font-size: .78rem; color: var(--accent); opacity: .65; min-width: 1.1rem; }
.toc__link:hover { color: var(--ink); background: var(--paper-2); }
.toc__link.is-active { color: var(--accent-dk); border-color: var(--accent); font-weight: 600; }
.toc__link.is-active .n { opacity: 1; }

/* 行動版目錄收合 */
.toc-toggle { display: none; }
@media (max-width: 59.99rem){
  .toc {
    border: 1px solid var(--hair); border-radius: var(--radius); background: var(--paper-card);
    overflow: hidden;
  }
  .toc-toggle {
    display: flex; width: 100%; align-items: center; justify-content: space-between;
    background: none; border: 0; font: inherit; cursor: pointer; color: var(--ink);
    padding: .8rem 1rem; font-weight: 600;
  }
  .toc-toggle .chev { transition: transform .25s; color: var(--ink-mute); }
  .toc[aria-expanded="false"] .toc__inner { display: none; }
  .toc[aria-expanded="true"] .toc-toggle .chev { transform: rotate(180deg); }
  .toc__inner { padding: 0 .6rem .8rem; }
  .toc__title { display: none; }
}

/* ---------- 內文容器 ---------- */
.content { min-width: 0; }
.content > * { max-width: var(--measure); }
.content .full { max-width: none; }

/* ---------- 章節 ---------- */
.sec { position: relative; padding-top: clamp(2.4rem, 5vw, 3.8rem); margin-top: clamp(1rem,2vw,1.6rem); scroll-margin-top: 4.5rem; }
.sec + .sec { border-top: 1px solid var(--hair); }
.sec__num {
  position: absolute; top: clamp(1.1rem,3vw,2rem); left: -.2rem; z-index: 0;
  font-family: var(--latin); font-weight: 500; font-size: var(--fs-num);
  color: var(--accent); opacity: .14; line-height: 1; pointer-events: none;
}
.kicker {
  font-family: var(--latin); font-style: italic; color: var(--accent);
  font-size: .95rem; letter-spacing: .02em; margin: 0 0 .5rem; position: relative; z-index: 1;
}
.sec__title {
  font-family: var(--serif); font-weight: 700; font-size: var(--fs-h2);
  line-height: 1.18; letter-spacing: -.01em; margin: 0 0 1.2rem; position: relative; z-index: 1;
  text-wrap: balance;
}
.sub {
  font-family: var(--serif); font-weight: 600; font-size: var(--fs-h3);
  line-height: 1.3; margin: 2.4rem 0 .9rem;
}

/* ---------- 散文 ---------- */
.prose p { margin: 0 0 1.15rem; }
.prose .lead { font-size: var(--fs-lead); line-height: 1.7; color: var(--ink-soft); font-weight: 350; }
.prose strong { font-weight: 700; color: var(--ink); }
.prose em { font-style: normal; background: linear-gradient(transparent 62%, var(--accent-tint) 62%); padding: 0 .05em; }
.prose ul, .prose ol { margin: 0 0 1.2rem; padding-left: 1.3rem; }
.prose li { margin: .35rem 0; padding-left: .2rem; }
.prose li::marker { color: var(--accent); }
.prose a { font-weight: 500; }

/* 註腳引用上標 */
.fn { font-family: var(--latin); font-size: .72em; vertical-align: .45em; color: var(--accent); text-decoration: none; padding: 0 .1em; font-weight: 600; }
.fn:hover { text-decoration: underline; }

/* ---------- Callout / 方法論盒 ---------- */
.callout {
  background: var(--paper-card); border: 1px solid var(--hair);
  border-left: 3px solid var(--accent); border-radius: var(--radius);
  padding: 1.3rem 1.5rem; margin: 1.8rem 0; box-shadow: var(--shadow);
}
.callout__label {
  font-family: var(--latin); font-style: italic; color: var(--accent); font-size: .9rem;
  margin: 0 0 .5rem; display: flex; align-items: center; gap: .5rem;
}
.callout p:last-child { margin-bottom: 0; }
.callout--method { border-left-color: var(--slate); }
.callout--method .callout__label { color: var(--slate); }

/* 三方查證流程條 */
.verify-strip { display: grid; gap: .8rem; margin: 1rem 0 0; }
@media (min-width: 34rem){ .verify-strip { grid-template-columns: repeat(3,1fr); } }
.vstep { background: var(--paper); border: 1px solid var(--hair); border-radius: var(--radius); padding: .85rem 1rem; }
.vstep b { display:block; font-size: .95rem; color: var(--ink); }
.vstep span { font-size: .8rem; color: var(--ink-mute); }
.vstep .src { font-family: var(--latin); font-weight: 600; color: var(--accent); font-style: italic; }

/* ---------- 時間軸 ---------- */
.timeline { position: relative; margin: 1.6rem 0 1rem; padding-left: 1.6rem; }
.timeline::before { content:""; position: absolute; left: 5px; top: .4rem; bottom: .4rem; width: 2px; background: linear-gradient(var(--accent), var(--hair)); }
.tl { position: relative; padding: 0 0 1.5rem 1.1rem; }
.tl::before { content:""; position: absolute; left: -1.6rem; top: .42rem; width: 12px; height: 12px; border-radius: 50%; background: var(--paper); border: 2px solid var(--accent); box-shadow: 0 0 0 4px var(--paper); }
.tl__year { font-family: var(--latin); font-weight: 600; font-size: 1.15rem; color: var(--accent-dk); letter-spacing: .01em; }
.tl__year .approx { color: var(--ink-mute); font-style: italic; font-size: .8em; }
.tl__body { margin: .15rem 0 0; color: var(--ink-soft); font-size: .98rem; }
.tl__body b { color: var(--ink); }
.tl--dispute::before { border-color: var(--amber); background: var(--amber-tint); }

/* ---------- 並列比較表（核心視覺） ---------- */
.compare { margin: 1.6rem 0; }
.compare__head { display: grid; grid-template-columns: 1fr 1fr; gap: .8rem; margin-bottom: .6rem; }
.cmp-col {
  border-radius: var(--radius); padding: .9rem 1rem; color: var(--paper);
  position: relative; overflow: hidden;
}
.cmp-col h4 { margin: 0; font-family: var(--serif); font-weight: 700; font-size: 1.05rem; line-height: 1.25; }
.cmp-col span { font-size: .76rem; opacity: .85; letter-spacing: .03em; }
.cmp-col--roc { background: linear-gradient(135deg, #8a7c66, #6f6149); }
.cmp-col--jp  { background: linear-gradient(135deg, #3a3f44, #24282c); }
.cmp-table { width: 100%; border-collapse: collapse; font-size: .92rem; }
.cmp-table th, .cmp-table td { text-align: left; vertical-align: top; padding: .8rem .85rem; border-bottom: 1px solid var(--hair-soft); }
.cmp-table tr:nth-child(even) { background: rgba(239,232,218,.4); }
.cmp-table .dim { font-weight: 700; color: var(--ink); width: 22%; font-size: .85rem; white-space: nowrap; }
.cmp-table td.roc { width: 39%; }
.cmp-table td.jp  { width: 39%; color: var(--ink-soft); }
.cmp-table .roc { box-shadow: inset 3px 0 0 rgba(138,124,102,.5); }
.cmp-table .jp  { box-shadow: inset 3px 0 0 rgba(58,63,68,.5); }
@media (max-width: 44rem){
  .cmp-table .dim { white-space: normal; }
  /* 行動版：每個面向轉為堆疊卡 */
  .compare__head { position: sticky; top: 3.4rem; z-index: 5; }
  .cmp-table, .cmp-table tbody, .cmp-table tr, .cmp-table td { display: block; width: 100% !important; }
  .cmp-table thead { display: none; }
  .cmp-table tr { margin-bottom: 1rem; border: 1px solid var(--hair); border-radius: var(--radius); overflow: hidden; background: var(--paper-card); }
  .cmp-table tr:nth-child(even){ background: var(--paper-card); }
  .cmp-table .dim { background: var(--paper-2); width: 100% !important; }
  .cmp-table td::before { content: attr(data-l); display:block; font-size:.7rem; letter-spacing:.08em; text-transform:uppercase; color: var(--ink-mute); margin-bottom: .2rem; }
  .cmp-table td.dim::before { display:none; }
}

/* ---------- 數據卡 ---------- */
.stat-grid { display: grid; gap: 1rem; margin: 1.6rem 0; }
@media (min-width: 40rem){ .stat-grid.cols-3 { grid-template-columns: repeat(3,1fr); } .stat-grid.cols-2 { grid-template-columns: repeat(2,1fr); } }
.stat { background: var(--paper-card); border: 1px solid var(--hair); border-radius: var(--radius); padding: 1.2rem 1.3rem; box-shadow: var(--shadow); }
.stat__n { font-family: var(--latin); font-weight: 600; font-size: var(--fs-num); line-height: 1; color: var(--accent-dk); letter-spacing: -.01em; }
.stat__n small { font-size: .42em; color: var(--ink-mute); font-weight: 500; }
.stat__l { font-weight: 700; margin: .5rem 0 .25rem; font-size: .98rem; }
.stat__d { font-size: .82rem; color: var(--ink-mute); line-height: 1.55; }

/* ---------- 立場 × 性別 堆疊長條 ---------- */
.genderbar { margin: 1.6rem 0; display: grid; gap: 1rem; }
.gbar__label { display: flex; justify-content: space-between; align-items: baseline; gap: .6rem; font-size: .92rem; font-weight: 700; margin-bottom: .4rem; }
.gbar__label span { color: var(--ink-mute); font-weight: 500; font-family: var(--latin); }
.gbar__track { display: flex; height: 2.1rem; border-radius: var(--radius); overflow: hidden; background: var(--paper-2); border: 1px solid var(--hair); font-size: .8rem; }
.gbar__track .seg { display: flex; align-items: center; justify-content: center; color: #fff; white-space: nowrap; min-width: 0; overflow: hidden; font-weight: 600; }
.seg-m { background: #565d64; }  /* 男：石墨灰 */
.seg-f { background: #9c3d2a; }  /* 女：赭紅 */
.seg-o { background: #8a6d1f; }  /* 其他／不確定：赭黃 */
.glegend { display: flex; gap: 1.2rem; flex-wrap: wrap; font-size: .8rem; color: var(--ink-mute); margin-top: .2rem; }
.glegend i { display: inline-block; width: .85rem; height: .85rem; border-radius: 2px; margin-right: .35rem; vertical-align: -1px; }
.gbar__note { font-size: .82rem; color: var(--ink-mute); margin: .2rem 0 0; }

/* ---------- 辯護 / 批判 兩欄 ---------- */
.procon { display: grid; gap: 1rem; margin: 1.6rem 0; }
@media (min-width: 46rem){ .procon { grid-template-columns: 1fr 1fr; } }
.pc { border: 1px solid var(--hair); border-radius: var(--radius); padding: 1.2rem 1.35rem; background: var(--paper-card); }
.pc__h { font-family: var(--serif); font-weight: 700; font-size: 1.05rem; margin: 0 0 .8rem; display: flex; align-items: center; gap: .55rem; padding-bottom: .6rem; border-bottom: 1px solid var(--hair); }
.pc--pro .pc__h { color: var(--slate); }
.pc--con .pc__h { color: var(--accent-dk); }
.pc__h .tag { font-family: var(--latin); font-style: italic; font-size: .8rem; font-weight: 500; margin-left: auto; color: var(--ink-mute); }
.pc ul { margin: 0; padding-left: 1.1rem; }
.pc li { margin: .55rem 0; font-size: .95rem; color: var(--ink-soft); }
.pc li b { color: var(--ink); }

/* ---------- 事實 / 謠言 卡 ---------- */
.claim { border: 1px solid var(--hair); border-radius: var(--radius); padding: 1.15rem 1.3rem; margin: 1.1rem 0; background: var(--paper-card); position: relative; box-shadow: var(--shadow); }
.claim__tag { display: inline-flex; align-items: center; gap: .4rem; font-size: .74rem; font-weight: 700; letter-spacing: .05em; padding: .2rem .6rem; border-radius: 999px; margin-bottom: .6rem; text-transform: uppercase; font-family: var(--sans); }
.claim--rumor { border-left: 3px solid var(--amber); }
.claim--rumor .claim__tag { background: var(--amber-tint); color: #8a5e18; }
.claim--fact { border-left: 3px solid var(--verify); }
.claim--fact .claim__tag { background: var(--verify-tint); color: #345140; }
.claim__q { font-weight: 700; color: var(--ink); margin: 0 0 .4rem; font-size: 1rem; }
.claim__a { margin: 0; color: var(--ink-soft); font-size: .95rem; }
.claim__a b { color: var(--ink); }

/* ---------- 引言 ---------- */
.pquote { margin: 2rem 0; padding: 0 0 0 1.4rem; border-left: 3px solid var(--accent); }
.pquote p { font-family: var(--serif); font-style: italic; font-size: clamp(1.2rem,1.05rem+.7vw,1.5rem); line-height: 1.55; color: var(--ink); margin: 0 0 .6rem; font-weight: 500; }
.pquote cite { font-style: normal; font-size: .85rem; color: var(--ink-mute); display: block; }
.pquote cite b { color: var(--ink-soft); font-weight: 600; }

/* ---------- 圖片 ---------- */
.figure { margin: 2rem 0; }
.figure img { border-radius: var(--radius); box-shadow: var(--shadow-lg); width: 100%; }
.figcap { margin: .6rem 0 0; font-size: .82rem; color: var(--ink-mute); line-height: 1.55; display: flex; flex-wrap: wrap; gap: .3rem .7rem; }
.figcap .credit { font-family: var(--latin); font-style: italic; }
.figcap .credit a { color: var(--ink-mute); }

/* ---------- 來源列表 ---------- */
.sources { margin-top: 1rem; counter-reset: src; }
.sources ol { list-style: none; margin: 0; padding: 0; }
.sources li { counter-increment: src; position: relative; padding: .55rem 0 .55rem 2.2rem; border-bottom: 1px solid var(--hair-soft); font-size: .85rem; color: var(--ink-soft); line-height: 1.5; }
.sources li::before { content: counter(src); position: absolute; left: 0; top: .5rem; font-family: var(--latin); font-weight: 600; color: var(--accent); font-size: .82rem; width: 1.7rem; text-align: right; }
.sources a { word-break: break-word; }
.tier { display:inline-block; font-size:.68rem; letter-spacing:.06em; text-transform:uppercase; color: var(--ink-mute); border:1px solid var(--hair); border-radius:3px; padding:0 .3rem; margin-left:.3rem; }

/* ---------- 結語盒 ---------- */
.verdict { background: linear-gradient(180deg, var(--paper-card), var(--paper-2)); border: 1px solid var(--hair); border-top: 3px solid var(--accent); border-radius: var(--radius); padding: clamp(1.4rem,3vw,2.2rem); margin: 2rem 0; box-shadow: var(--shadow); }
.verdict h3 { font-family: var(--serif); margin: 0 0 .8rem; font-size: var(--fs-h3); }

/* ---------- 頁尾 ---------- */
.foot { border-top: 1px solid var(--hair); background: var(--paper-2); }
.foot__in { max-width: 72rem; margin: 0 auto; padding: 2.4rem clamp(1.1rem,4vw,2.4rem); display: grid; gap: 1rem; }
.foot__brand { font-family: var(--latin); font-weight: 600; font-size: 1.1rem; }
.foot__brand b { color: var(--accent); }
.foot p { margin: 0; font-size: .82rem; color: var(--ink-mute); line-height: 1.7; max-width: 48rem; }
.foot a { color: var(--ink-soft); }

/* ---------- 進場動態 ---------- */
[data-reveal] { opacity: 0; transform: translateY(16px); transition: opacity .7s ease, transform .7s cubic-bezier(.2,.7,.2,1); }
[data-reveal].in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce){ [data-reveal]{ opacity:1; transform:none; transition:none; } }

/* 進度條 */
.progress { position: fixed; top: 0; left: 0; height: 2px; background: var(--accent); width: 0; z-index: 70; transition: width .1s linear; }

/* ---------- 工具 ---------- */
.note { font-size: .82rem; color: var(--ink-mute); }
.center { text-align: center; }
.hl { color: var(--accent-dk); font-weight: 700; }
