/* 情報室 — 列表與文章頁，延續 site.css 的色彩與字級 token */

/* ---- 層次 token ----
   不新增品牌主色，全部由封版三色（藏藍 #1B2A4A／金 #C6A052／米白 #F4EFE4）
   以透明度與明暗衍生。深淺主題各給一組，寫法比照 site.css 的三段式：
   :root 為淺色基底，prefers-color-scheme 覆蓋，data-theme 屬性選擇器最後勝出。 */
:root{
  --rp-thead-bg:var(--navy);            /* 表頭：藏藍大色塊，對應封版規範主色用法 */
  --rp-thead-fg:#EDE6D6;
  --rp-stripe:rgba(27,42,74,.030);      /* 隔列：極淡藏藍 */
  --rp-row-hover:rgba(198,160,82,.10);  /* 滑過：極淡金 */
  --rp-strip-bg:var(--navy);            /* 重點報告頂帶 */
  --rp-pill-bg:var(--navy);             /* 分類 active */
  --rp-pill-fg:#EDE6D6;
  --rp-strip-fg:#EDE6D6;
  --rp-key-bg:rgba(198,160,82,.085);    /* 結論卡：淡金，僅單卡不做大面積底色 */
  --rp-key-line:rgba(198,160,82,.40);
  --rp-quiet-bg:rgba(27,42,74,.035);    /* 限制卡：安靜的藏藍薄霧 */
}
@media (prefers-color-scheme:dark){
  :root{
    --rp-thead-bg:color-mix(in srgb,var(--navy-deep) 62%,#000); /* 藏藍暗階 */
    --rp-thead-fg:var(--gold-lt);
    --rp-stripe:rgba(244,239,228,.04);
    --rp-row-hover:rgba(198,160,82,.12);
    --rp-strip-bg:color-mix(in srgb,var(--gold) 15%,var(--navy-deep));
    --rp-pill-bg:var(--cream);
    --rp-pill-fg:var(--navy);
    --rp-strip-fg:var(--cream);
    --rp-key-bg:rgba(198,160,82,.13);
    --rp-key-line:rgba(198,160,82,.50);
    --rp-quiet-bg:color-mix(in srgb,var(--navy-deep) 55%,transparent);
  }
}
:root[data-theme="light"]{
  --rp-thead-bg:var(--navy);--rp-thead-fg:#EDE6D6;
  --rp-stripe:rgba(27,42,74,.030);--rp-row-hover:rgba(198,160,82,.10);
  --rp-strip-bg:var(--navy);--rp-strip-fg:#EDE6D6;
  --rp-pill-bg:var(--navy);--rp-pill-fg:#EDE6D6;
  --rp-key-bg:rgba(198,160,82,.085);--rp-key-line:rgba(198,160,82,.40);
  --rp-quiet-bg:rgba(27,42,74,.035);
}
:root[data-theme="dark"]{
  --rp-thead-bg:color-mix(in srgb,var(--navy-deep) 62%,#000);--rp-thead-fg:var(--gold-lt);
  --rp-stripe:rgba(244,239,228,.04);--rp-row-hover:rgba(198,160,82,.12);
  --rp-strip-bg:color-mix(in srgb,var(--gold) 15%,var(--navy-deep));--rp-strip-fg:var(--cream);
  --rp-pill-bg:var(--cream);--rp-pill-fg:var(--navy);
  --rp-key-bg:rgba(198,160,82,.13);--rp-key-line:rgba(198,160,82,.50);
  --rp-quiet-bg:color-mix(in srgb,var(--navy-deep) 55%,transparent);
}

.jr-head{padding:clamp(70px,9vw,110px) 0 0}
.jr-count{font-family:var(--sans);font-size:.74rem;letter-spacing:.2em;color:var(--text-mute);margin-top:18px}

.jr-wrap{padding:44px 0 clamp(70px,9vw,110px)}
.jr-list{display:flex;flex-direction:column;border-top:1px solid var(--line)}

.jr-item{
  display:grid;grid-template-columns:132px 1fr auto;gap:clamp(16px,3vw,38px);
  align-items:baseline;padding:clamp(24px,3vw,32px) 0;
  border-bottom:1px solid var(--line);text-decoration:none;color:inherit;
  transition:background-color .25s ease;
}
.jr-item:hover{background-color:color-mix(in srgb,var(--accent) 6%,transparent)}
.jr-item:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
@media(max-width:720px){
  .jr-item{grid-template-columns:1fr;gap:8px;padding:24px 0}
  .jr-item .jr-go{display:none}
}
.jr-date{font-family:var(--serif);font-size:.9rem;color:var(--text-mute);letter-spacing:.06em;white-space:nowrap}
.jr-date b{display:block;font-size:1.5rem;color:var(--accent-strong);font-weight:600;line-height:1.2}
.jr-body h3{font-family:var(--serif);font-size:clamp(1.08rem,2.2vw,1.34rem);font-weight:600;margin:0;line-height:1.5}
.jr-body p{color:var(--text-soft);font-size:.9rem;margin:8px 0 0;line-height:1.75}
.jr-go{font-family:var(--sans);font-size:.76rem;letter-spacing:.14em;color:var(--accent-strong);white-space:nowrap}

/* ---- 文章頁 ---- */
.art{padding:clamp(60px,8vw,92px) 0 clamp(60px,8vw,96px)}
.art-back{font-family:var(--sans);font-size:.76rem;letter-spacing:.12em;color:var(--text-mute);
  text-decoration:none;display:inline-block;margin-bottom:30px}
.art-back:hover{color:var(--accent-strong)}
.art-col{max-width:720px;margin-inline:auto}
.art-kicker{font-family:var(--sans);font-size:.68rem;letter-spacing:.24em;text-transform:uppercase;color:var(--accent-strong)}
.art-title{font-family:var(--serif);font-size:clamp(1.7rem,4.2vw,2.5rem);font-weight:600;
  line-height:1.35;margin:14px 0 16px;text-wrap:balance}
.art-date{font-family:var(--sans);font-size:.78rem;letter-spacing:.1em;color:var(--text-mute);
  padding-bottom:26px;border-bottom:1px solid var(--line);margin-bottom:34px}

.art-body h2{font-family:var(--serif);font-size:1.34rem;font-weight:600;margin:46px 0 4px;
  padding-bottom:12px;border-bottom:1px solid var(--line)}
.art-body h2:first-child{margin-top:0}
.art-body h3{font-family:var(--serif);font-size:1.1rem;font-weight:600;margin:32px 0 10px;line-height:1.55}
.art-body p{font-size:1rem;line-height:1.95;color:var(--text-soft);margin:0 0 18px;letter-spacing:.01em}
.art-body hr{border:0;border-top:1px solid var(--line);margin:40px 0}

/* 資料欄位（媒體來源、重點摘要、CJ觀察…） */
.art-meta{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;margin:0 0 16px;
  padding:16px 18px;border-left:2px solid var(--line);background:color-mix(in srgb,var(--panel) 60%,transparent)}
.art-meta dt{font-family:var(--sans);font-size:.68rem;letter-spacing:.16em;color:var(--text-mute);
  white-space:nowrap;padding-top:.35em}
.art-meta dd{margin:0;font-size:.92rem;line-height:1.8;color:var(--text-soft)}
.art-meta.solo{grid-template-columns:auto 1fr}

/* 資料風險等級標註 */
.art-note{font-family:var(--sans);font-size:.8rem;line-height:1.8;color:var(--text-mute);
  border:1px solid var(--line);border-radius:2px;padding:13px 16px;margin:0 0 20px;
  background:color-mix(in srgb,var(--accent) 4%,transparent)}
.art-note b{color:var(--accent-strong);font-weight:600;letter-spacing:.04em}

.art-foot{margin-top:52px;padding-top:30px;border-top:1px solid var(--line)}
.art-foot p{font-family:var(--sans);font-size:.83rem;line-height:1.85;color:var(--text-mute);margin:0 0 22px}
.art-nav{display:flex;gap:12px;flex-wrap:wrap}

.art-cta{margin-top:44px;border:1px solid var(--line);border-radius:2px;padding:32px 30px;
  background:var(--panel);text-align:center}
.art-cta h3{font-family:var(--serif);font-size:1.3rem;font-weight:600;margin:0 0 10px}
.art-cta p{color:var(--text-soft);font-size:.92rem;margin:0 0 22px}

/* ---- 內容分類（每日情報／週報／月報／季報）---- */
/* 只有一種型別時 assets/journal.js 會把整列隱藏，不顯示無意義的選擇 */
.jr-tabs{display:flex;flex-wrap:wrap;gap:clamp(6px,1.2vw,10px);margin:0 0 10px}
.jr-tab{
  appearance:none;background:none;cursor:pointer;
  display:inline-flex;align-items:baseline;gap:7px;
  font-family:var(--sans);font-size:.84rem;letter-spacing:.1em;color:var(--text-mute);
  padding:9px 15px;border:1px solid transparent;border-radius:2px;
  transition:color .2s ease,background-color .2s ease,border-color .2s ease;
}
.jr-tab:hover{color:var(--text-soft);border-color:var(--line)}
.jr-tab:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
/* active 用藏藍實心，比原本的金色細底線好認得多 */
.jr-tab[aria-selected="true"]{
  background:var(--rp-pill-bg);border-color:var(--rp-pill-bg);
  color:var(--rp-pill-fg);
}
.jr-tab-n{font-size:.72rem;letter-spacing:.04em;color:var(--text-mute);opacity:.8}
/* 計數字跟著 pill 的前景色走，深淺主題各自都有足夠對比 */
.jr-tab[aria-selected="true"] .jr-tab-n{color:color-mix(in srgb,var(--rp-pill-fg) 68%,transparent);opacity:1}

/* 型別標籤。每日情報是預設內容不加標籤，只有深度報告需要一眼分辨 */
.jr-badge{
  display:inline-block;font-family:var(--sans);font-size:.7rem;letter-spacing:.16em;
  color:var(--accent-strong);background:rgba(198,160,82,.10);
  border:1px solid color-mix(in srgb,var(--accent) 45%,transparent);
  border-radius:2px;padding:4px 10px;margin-bottom:9px;
}

/* 該分類還沒有內容時的說明，不放假資料也不留空白 */
.jr-empty{
  border:1px solid var(--line);border-radius:2px;padding:clamp(34px,6vw,54px) 30px;
  text-align:center;background:color-mix(in srgb,var(--panel) 50%,transparent);
}
.jr-empty p{margin:0;color:var(--text-mute);font-size:.88rem;line-height:1.9}
.jr-empty-h{font-family:var(--serif);font-size:1.16rem;color:var(--text-soft);margin-bottom:8px !important}

/* ---- 本期重點報告 ---- */
/* 沒有週／月／季報時整區 hidden，不留空框 */
.jr-featured{margin-bottom:clamp(34px,5vw,52px)}
.jr-feat-h{
  font-family:var(--sans);font-size:.78rem;letter-spacing:.24em;text-transform:uppercase;
  color:var(--accent-strong);margin:0 0 16px;font-weight:500;
}
/* 頂部藏藍帶把重量壓在卡片上緣，下面才是米白內容，
   讓它一眼就是「本期重點」，而不是放大的普通卡片。
   --fp 是左右內距，頂帶用負 margin 出血到卡片邊緣，不需要額外包一層 div。 */
.jr-feat{
  --fp:clamp(24px,3.2vw,34px);
  display:block;text-decoration:none;color:inherit;overflow:hidden;
  border:1px solid var(--line);border-radius:2px;
  padding:0 var(--fp) clamp(26px,3.4vw,34px);
  background:var(--panel);transition:border-color .25s ease;
}
.jr-feat:hover{border-color:color-mix(in srgb,var(--accent) 55%,var(--line))}
.jr-feat:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.jr-feat-top{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  margin:0 calc(var(--fp) * -1) clamp(22px,2.6vw,28px);
  padding:14px var(--fp);
  background:var(--rp-strip-bg);border-bottom:2px solid var(--accent);
}
.jr-feat-top .jr-badge{
  margin-bottom:0;color:var(--gold-lt);background:rgba(198,160,82,.14);
  border-color:color-mix(in srgb,var(--gold-lt) 42%,transparent);
}
.jr-feat-period{
  font-family:var(--sans);font-size:.78rem;letter-spacing:.14em;
  color:var(--rp-strip-fg);opacity:.8;
}
.jr-feat h3{
  font-family:var(--serif);font-size:clamp(1.34rem,3vw,1.76rem);font-weight:600;
  line-height:1.45;margin:0;text-wrap:balance;color:var(--text);
}
.jr-feat p{color:var(--text-soft);font-size:.98rem;line-height:1.85;margin:14px 0 0}
.jr-feat .jr-go{margin-top:22px;display:inline-block;font-size:.82rem}

/* ---- 報告類文章頁 ---- */
/* 每日情報（.art--daily）不套用以下規則，既有 13 篇文章的版面完全不動。 */
.art--weekly .art-kicker,
.art--monthly .art-kicker,
.art--quarterly .art-kicker{letter-spacing:.28em}

/* 報告的 H2 是章節分界，原本只有文字＋細線，掃視時分不出段落。
   改成金色短標記＋藏藍實字＋兩段式底線，只靠 ::before/::after，不需改 HTML。 */
.art--weekly .art-body h2,
.art--monthly .art-body h2,
.art--quarterly .art-body h2{
  position:relative;color:var(--text);
  padding:0 0 13px 17px;margin:56px 0 20px;
  border-bottom:1px solid var(--line);
}
.art--weekly .art-body h2::before,
.art--monthly .art-body h2::before,
.art--quarterly .art-body h2::before{
  content:"";position:absolute;left:0;top:.16em;height:1.06em;width:3px;
  background:var(--accent);
}
/* 底線左段加粗成金色，讓章節起點有一個明確的視覺錨點 */
.art--weekly .art-body h2::after,
.art--monthly .art-body h2::after,
.art--quarterly .art-body h2::after{
  content:"";position:absolute;left:0;bottom:-1px;width:64px;height:2px;
  background:var(--accent);
}
.art--weekly .art-body h2:first-child,
.art--monthly .art-body h2:first-child,
.art--quarterly .art-body h2:first-child{margin-top:0}
/* 報告內文比每日情報長，字再放大一點並拉開段距 */
.art--weekly .art-body > p,
.art--monthly .art-body > p,
.art--quarterly .art-body > p{font-size:1.04rem;line-height:2;margin-bottom:22px}

/* ---- 報告用區塊（表格／來源／結論與限制）---- */
/* 每日情報用不到這些，只有週／月／季報會出現 */

.art-table{margin:0 0 26px;padding:0}
.art-table figcaption{
  font-family:var(--sans);font-size:.8rem;letter-spacing:.12em;color:var(--accent-strong);
  margin-bottom:10px;padding-left:11px;position:relative;line-height:1.6;
}
.art-table figcaption::before{
  content:"";position:absolute;left:0;top:.28em;bottom:.28em;
  width:2px;background:var(--accent);
}
/* 寬表在窄螢幕自己橫向捲，頁面本身不跟著捲 */
.art-table-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:2px}
.art-table table{border-collapse:collapse;width:100%;min-width:min(100%,520px)}
.art-table th,.art-table td{
  padding:13px 18px;text-align:left;font-size:.94rem;line-height:1.65;
  border-bottom:1px solid var(--line);white-space:nowrap;
}
/* 表頭改藏藍實底反白，資料區一眼分得出來從哪裡開始 */
.art-table thead th{
  font-family:var(--sans);font-size:.8rem;letter-spacing:.08em;
  color:var(--rp-thead-fg);background:var(--rp-thead-bg);
  font-weight:500;white-space:nowrap;padding:12px 18px;
  /* 金色分隔線：淺色主題是收邊細節，深色主題下藏藍表頭與藏藍頁底幾乎同色，靠這條線分界 */
  border-bottom:2px solid var(--accent);
}
.art-table tbody th{font-weight:600;color:var(--text)}
.art-table tbody td{color:var(--text-soft)}
/* 隔列與滑過都用極淡的品牌色建立節奏；數值本身不做任何好壞判斷的著色。
   隔列掛在儲存格而不是 <tr>：Chrome 在切換 data-theme 時不會重算 <tr> 的
   background-color（同元素的其他屬性正常），造成主題切換後隔列停在舊值。 */
.art-table tbody tr:nth-child(even) > th,
.art-table tbody tr:nth-child(even) > td{background-color:var(--rp-stripe)}
.art-table tbody tr{transition:background-color .18s ease}
.art-table tbody tr:hover{background:var(--rp-row-hover)}
.art-table tbody tr:last-child th,.art-table tbody tr:last-child td{border-bottom:0}
/* 解讀類表格的第二欄是長句，不該被強制單行 */
.art-table td:last-child{white-space:normal;min-width:16em}
/* 選擇器要比 .art-body p 更明確，否則 font-size 與 color 會被內文規則蓋掉。
   這是本輪才發現的既有問題：註記原本一直是以內文的 16px 與內文色在顯示。 */
.art-body .art-table-note{
  font-family:var(--sans);font-size:.88rem;line-height:1.8;color:var(--text-mute);margin:11px 0 0;
}

/* 資料來源與期別 */
.art-source{
  display:grid;grid-template-columns:auto 1fr;gap:9px 20px;margin:0 0 24px;
  padding:20px 22px;border:1px solid var(--line);border-left:3px solid var(--accent);
  border-radius:2px;background:var(--rp-quiet-bg);
}
.art-source dt{
  font-family:var(--sans);font-size:.84rem;letter-spacing:.06em;color:var(--text);
  font-weight:600;white-space:nowrap;
}
.art-source dd{
  margin:0;font-family:var(--sans);font-size:.84rem;letter-spacing:.04em;color:var(--text-soft);
}

/* 結論與限制 */
.art-callout{
  border:1px solid var(--line);border-radius:2px;padding:22px 24px;margin:0 0 28px;
  background:var(--panel);
}
.art-callout h3{
  font-family:var(--sans);font-size:.76rem;letter-spacing:.22em;font-weight:500;
  color:var(--accent-strong);margin:0 0 12px;
}
.art-callout p{margin:0;font-size:.98rem;line-height:1.9;color:var(--text-soft)}
.art-callout ul{margin:0;padding-left:1.2em}
.art-callout li{font-size:.92rem;line-height:1.85;color:var(--text-soft);margin-bottom:7px}
.art-callout li:last-child{margin-bottom:0}

/* 結論是整篇的答案，做成真正的重點卡：金色左緣＋淡金底＋襯線大字。
   金只用在邊框、標題與極淡底色，維持封版規範「金不做大面積底色」。 */
.art-callout--answer{
  border-color:var(--rp-key-line);border-left:3px solid var(--accent);
  background:var(--rp-key-bg);padding:clamp(24px,3vw,30px) clamp(24px,3vw,30px);
  margin-bottom:34px;
}
.art-callout--answer h3{
  display:flex;align-items:center;gap:11px;color:var(--accent-strong);
  font-size:.78rem;margin-bottom:14px;
}
.art-callout--answer h3::after{
  content:"";flex:1;height:1px;background:var(--rp-key-line);
}
.art-callout--answer p{
  font-family:var(--serif);font-size:clamp(1.1rem,1.9vw,1.2rem);
  line-height:1.85;color:var(--text);
}
/* 限制是收尾的提醒，維持安靜 */
.art-callout--limit{background:var(--rp-quiet-bg);border-left:3px solid var(--line)}

/* ---- 行動版 ----
   不是把桌機樣式等比縮小：小螢幕只縮空間，字級維持可讀，
   表格內距略收但仍比原本寬，避免橫捲時每格擠成一團。 */
@media(max-width:600px){
  .jr-tabs{gap:6px}
  .jr-tab{padding:8px 12px;font-size:.8rem}
  .jr-feat h3{font-size:1.3rem}
  .jr-feat p{font-size:.95rem}
  .jr-feat-top{padding:12px var(--fp)}
  .jr-feat-period{font-size:.74rem}

  .art--weekly .art-body h2,
  .art--monthly .art-body h2,
  .art--quarterly .art-body h2{margin:44px 0 16px;padding-left:14px;font-size:1.26rem}
  .art--weekly .art-body > p,
  .art--monthly .art-body > p,
  .art--quarterly .art-body > p{font-size:1.02rem;line-height:1.95}

  .art-table th,.art-table td{padding:12px 14px;font-size:.9rem}
  .art-table thead th{padding:11px 14px;font-size:.78rem}
  .art-table td:last-child{min-width:13em}
  .art-callout{padding:20px 18px}
  .art-callout--answer{padding:22px 20px}
  .art-source{padding:18px 16px;gap:8px 14px}
}
