/*
Theme Name: Red Censor
Description: Block theme for Red Censor. Dark top stage, rounded surfaces, heavy sans headlines, concentric-ring motif taken from the logo. Image-optional cards, series/column taxonomies.
Version: 0.4.6
Requires at least: 6.5
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: redcensor
*/

/* ══ 設計語言（v0.2 重新設計）══
   與 v0.1 的差別不是換色，而是換一套造形規則：
   1. 面，不是線：內容放在白色圓角面板上，底色是暖灰；不再用細線與粗黑線分隔版面。
   2. 深色頂部：導覽列＋首頁焦點／文章標題都在同一塊深色區，往下才進入淺色內容。
   3. 全站黑體：標題 800 字重，內文也是黑體（v0.1 是襯線）。
   4. 同心圓：標誌的圖記拿來當裝飾（區塊標題的小圓點、無圖卡與頁頭的圓環）。
   5. 橘→紅漸層：只用在「要你看這裡」的地方（目前頁、主要按鈕、spotlight 卡）。 */
/* 變數同時定義在 :root 與 body：有些 WordPress 版本把 preset 變數輸出在 body 上（不是 :root），
   只在 :root 定義的話，var() 在 :root 解析時讀不到 preset，整組顏色都會失效 */
:root, body{
  --c-ink:var(--wp--preset--color--ink); --c-ink2:var(--wp--preset--color--ink-2); --c-ink3:var(--wp--preset--color--ink-3);
  --c-rule:var(--wp--preset--color--rule); --c-rule2:var(--wp--preset--color--rule-2);
  --c-paper:var(--wp--preset--color--paper); --c-shell:var(--wp--preset--color--shell); --c-wash:var(--wp--preset--color--wash);
  --c-accent:var(--wp--preset--color--accent); --c-accent-ink:var(--wp--preset--color--accent-ink);
  --c-orange:var(--wp--preset--color--brand-orange); --c-orange-ink:var(--wp--preset--color--orange-ink);
  --night:var(--wp--preset--color--night); --night-2:var(--wp--preset--color--night-2);
  --night-ink:var(--wp--preset--color--night-ink); --night-meta:var(--wp--preset--color--night-meta);
  --night-line:rgba(255,255,255,.14);
  --c-on-ink:#fff;   /* 以 --c-ink 當底色時的文字色；深色模式下 ink 變淺，這個跟著變深 */
  /* 間距代稱用 s-1…：WordPress 產生變數時會把 s1 改寫成 s-1（字母與數字之間加連字號），寫 s1 會讀不到、間距全變 0。
     第二個值是保險：theme.json 沒載入時（例如編輯器 iframe 的某些情況）也有間距 */
  --s1:var(--wp--preset--spacing--s-1, 8px); --s2:var(--wp--preset--spacing--s-2, 16px); --s3:var(--wp--preset--spacing--s-3, 24px);
  --s4:var(--wp--preset--spacing--s-4, 40px); --s5:var(--wp--preset--spacing--s-5, 64px);
  --sans:var(--wp--preset--font-family--sans);
  --t-micro:var(--wp--preset--font-size--micro); --t-meta:var(--wp--preset--font-size--meta); --t-small:var(--wp--preset--font-size--small);
  --t-body:var(--wp--preset--font-size--body); --t-read:var(--wp--preset--font-size--read);
  --t-h4:var(--wp--preset--font-size--title-s); --t-h3:var(--wp--preset--font-size--title-m); --t-h2:var(--wp--preset--font-size--title-l);
  --t-h1:var(--wp--preset--font-size--title-xl); --t-hero:var(--wp--preset--font-size--hero);

  /* 倍率：≥1600px 起整體放大（見檔尾），≤1599px 一律 1 */
  --rc-s:1; --rc-wide:1180px; --rc-measure:680px; --rc-ctl:38px;
  --rc-gutter:clamp(20px, 4vw, 40px);
  --rc-r:16px; --rc-r-lg:24px; --rc-pill:999px;
  --rc-grad:linear-gradient(120deg, var(--c-orange), var(--c-accent));
  --rc-shadow:0 1px 2px rgba(22,19,15,.05), 0 10px 26px -14px rgba(22,19,15,.22);
  --rc-shadow-hi:0 2px 4px rgba(22,19,15,.06), 0 20px 34px -16px rgba(22,19,15,.32);
  /* 同心圓遮罩：套在圓形元素上，底色透出來就是一圈一圈的環 */
  --rc-rings:repeating-radial-gradient(circle closest-side at center, transparent 0, transparent 7.5%, #000 7.5%, #000 11.1%);
}
:where(a,button):focus-visible{ outline:2px solid var(--c-orange); outline-offset:2px; }
:root body{ padding-left:0; padding-right:0; }
.wp-block-post-template{ list-style:none; margin:0; padding:0; }
.wp-block-post-template > li{ margin:0; }
.wp-block-post-featured-image{ margin:0; }
.wp-block-post-featured-image img{ border-radius:var(--rc-r); display:block; width:100%; }
.wp-block-group > *, .rc-main > *{ margin-block:0; }
/* 根層區塊之間不留縫：深色導覽列要直接接上深色舞台／淺色內容 */
.wp-site-blocks > main, .wp-site-blocks > footer{ margin-block-start:0; }

/* ══ 分類固定色（li 的 post class、label、分類頁的 body 都吃得到）══ */
.rc-cat-politics,.category-politics{ --rc-cat:var(--wp--preset--color--cat-politics); }
.rc-cat-economics,.category-economics{ --rc-cat:var(--wp--preset--color--cat-economics); }
.rc-cat-society,.category-society{ --rc-cat:var(--wp--preset--color--cat-society); }
.rc-cat-technology,.category-technology{ --rc-cat:var(--wp--preset--color--cat-technology); }
.rc-cat-opinion,.category-opinion,.rc-cat-opinioncolumn,.category-opinioncolumn{ --rc-cat:var(--wp--preset--color--cat-opinion); }
.rc-cat-environment,.category-environment{ --rc-cat:var(--wp--preset--color--cat-environment); }

/* ══ 共用小元件 ══ */
/* 標籤一律是膠囊：分類＝分類色淡底；專題＝黑底（專題優先，見 functions.php） */
.rc-label{ margin:0; width:fit-content; align-self:flex-start; font-size:calc(11px * var(--rc-s)); font-weight:800; letter-spacing:.12em; text-transform:uppercase; line-height:1; padding:.55em .9em; border-radius:var(--rc-pill); }
.rc-label a{ color:inherit; }
.rc-label--cat{ color:var(--rc-cat, var(--c-ink2)); background:var(--c-wash); background:color-mix(in srgb, var(--rc-cat, var(--c-ink3)) 13%, transparent); }
.rc-label--chip{ background:var(--c-ink); color:var(--c-on-ink); }
.rc-label--chip::before{ content:""; display:inline-block; width:.6em; height:.6em; margin-right:.55em; border-radius:50%; border:.16em solid var(--c-orange); vertical-align:-.06em; }
/* 英文標題用 700（Avenir Next Bold）。800 是 Heavy，英文長標題會糊成一團；全大寫的短標籤與區塊標題才用 800 */
.rc-title{ margin:10px 0 0; font-family:var(--sans); font-size:var(--t-h4); line-height:1.3; font-weight:700; letter-spacing:-.005em; }
.rc-title a{ transition:color .15s; }
.rc-title a:hover{ color:var(--c-accent-ink); }
.rc-deck, .rc-lead-deck{ margin:0; font-size:var(--t-small); line-height:1.65; color:var(--c-ink2); }
.rc-meta, .rc-by, .rc-date{ margin:0; font-size:var(--t-meta); color:var(--c-ink3); font-variant-numeric:tabular-nums; }
.rc-meta{ margin-top:10px; gap:0 .5em; }
.rc-meta > * + *::before{ content:"·"; margin-right:.5em; }
.rc-by a{ color:var(--c-ink2); font-weight:700; }
.rc-date{ margin-top:10px; }
.rc-av{ width:38px; height:38px; border-radius:50%; object-fit:cover; flex:none; box-sizing:border-box; padding:2px; background:var(--rc-grad); }
.rc-av--md{ width:46px; height:46px; } .rc-av--lg{ width:64px; height:64px; padding:3px; } .rc-av--xl{ width:104px; height:104px; padding:4px; }

/* 圓環裝飾：各容器只決定大小、位置、顏色 */
.rc-hero-card:not(:has(.wp-block-post-featured-image))::after,
.rc-card:not(:has(.wp-block-post-featured-image))::after,
.rc-series-card::after, .rc-archhead::after, .rc-serieshead::after, .rc-op-head::after{
  content:""; position:absolute; z-index:0; pointer-events:none; aspect-ratio:1; border-radius:50%;
  background:var(--rc-grad); -webkit-mask:var(--rc-rings); mask:var(--rc-rings);
}

/* ══ 導覽列：深色、單列、捲動時固定在頂端 ══ */
.wp-site-blocks > header.wp-block-template-part{ background:var(--night); color:var(--night-ink); position:sticky; top:var(--wp-admin--admin-bar--height, 0px); z-index:100; box-shadow:0 1px 0 var(--night); }
@media(max-width:600px){ .wp-site-blocks > header.wp-block-template-part{ top:0; } }
.rc-bar{ max-width:calc(var(--rc-wide) + 2 * var(--rc-gutter)); margin-inline:auto; padding:10px var(--rc-gutter); box-sizing:border-box; gap:var(--s2); min-height:calc(64px * var(--rc-s)); }
.rc-bar > *{ margin-block:0; }
.rc-wordmark{ line-height:0; flex:none; display:block; }
.rc-wordmark img{ height:calc(40px * var(--rc-s)); width:auto; display:block; }
@media(max-width:560px){ .rc-wordmark img{ height:34px; } }
.rc-nav{ margin-left:auto; font-size:var(--t-meta); font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--night-ink); }
.rc-nav .wp-block-navigation__container{ gap:2px; }
.rc-nav .wp-block-navigation-item__content{ padding:.7em 1.1em; border-radius:var(--rc-pill); transition:background-color .15s; }
.rc-nav .wp-block-navigation-item__content:hover{ background:rgba(255,255,255,.12); }
.rc-nav .current-menu-item > .wp-block-navigation-item__content{ background:var(--rc-grad); color:#fff; }
@media(max-width:860px){ .rc-nav{ letter-spacing:.04em; } .rc-nav .wp-block-navigation-item__content{ padding:.6em .7em; } }
/* 600–960px：選單還沒收成漢堡，但一列放不下（Environment 比原本的 Opinion 長）——改成第二列，放不下時可橫向捲動 */
@media(min-width:600px) and (max-width:960px){
  .rc-bar.wp-block-group{ flex-wrap:wrap; row-gap:4px; }
  .rc-bar.wp-block-group .wp-block-search{ margin-left:auto; }
  .rc-bar > .rc-nav{ order:3; flex-basis:100%; margin-left:-.7em; overflow-x:auto; justify-content:flex-start; }
  .rc-bar .rc-nav .wp-block-navigation__container{ flex-wrap:nowrap; justify-content:flex-start; margin-left:0; }
}
/* 搜尋：圓形按鈕；展開後的輸入框是半透明膠囊。外框鎖成與按鈕同高，否則按鈕會浮在上方 */
.rc-bar .wp-block-search{ margin:0; flex:none; }
.rc-bar .wp-block-search, .rc-bar .wp-block-search__inside-wrapper{ height:var(--rc-ctl); align-items:center; padding:0; border:0; }
.rc-bar .wp-block-search__inside-wrapper{ gap:6px; background:none; }
.rc-bar .rc-toggle, .rc-bar .wp-block-search__button{ box-sizing:border-box; display:inline-flex; align-items:center; justify-content:center; width:var(--rc-ctl); height:var(--rc-ctl); min-height:0; padding:0; margin:0; border:1.5px solid rgba(255,255,255,.3); border-radius:50%; background:transparent; color:#fff; line-height:0; cursor:pointer; transition:background .15s, border-color .15s; }
.rc-bar .rc-toggle:hover, .rc-bar .wp-block-search__button:hover{ background:var(--rc-grad); border-color:transparent; }
.rc-bar .rc-toggle svg, .rc-bar .wp-block-search__button svg{ width:22px; height:22px; min-width:0; min-height:0; fill:currentColor; }
.rc-bar .wp-block-search__input{ box-sizing:border-box; height:var(--rc-ctl); min-width:0; border:0; border-radius:var(--rc-pill); background:rgba(255,255,255,.12); color:#fff; padding:0 14px; font-size:var(--t-small); font-family:inherit; }
.rc-bar .wp-block-search__input::placeholder{ color:var(--night-meta); }

/* 手機選單（全螢幕展開）：深色、置中、放大 */
:root .rc-nav.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open{ --navigation-layout-justification-setting:center; --navigation-layout-align:center; background-color:var(--night); color:var(--night-ink); padding:var(--s3); }
.rc-nav .is-menu-open .wp-block-navigation__responsive-container-content{ padding-top:var(--s5); justify-content:flex-start; }
.rc-nav .is-menu-open .wp-block-navigation__container{ width:100%; max-width:420px; margin-inline:auto; align-items:stretch !important; gap:10px; }
.rc-nav .is-menu-open .wp-block-navigation-item{ width:100%; justify-content:center; }
.rc-nav .is-menu-open .wp-block-navigation-item__content{ width:100%; padding:16px 8px; text-align:center; justify-content:center; font-size:var(--t-h4); font-weight:800; letter-spacing:.14em; border-radius:var(--rc-r); background:var(--night-2); }
.rc-nav .wp-block-navigation__responsive-container-open, .rc-nav .wp-block-navigation__responsive-container-close{ color:#fff; }

/* ══ 主內容容器 ══ */
.rc-main{ box-sizing:border-box; padding-inline:var(--rc-gutter); padding-bottom:var(--s5); }
.rc-main.wp-block-group > *, .rc-main.wp-block-group > .alignwide{ max-width:var(--rc-wide); }

/* ══ 首頁深色舞台：主稿 1 則＋次稿 3 則 ══
   用 border-image 的 outset 把底色延伸到視窗兩側（單一圖層，不會像 box-shadow 那樣在接縫露出細線），
   內容仍對齊版面寬，也不會產生水平捲軸。 */
.rc-stage{ background:var(--night); color:var(--night-ink); border-image:conic-gradient(var(--night) 0 0) fill 0 / 0 / 0 100vmax; padding:0 0 var(--s5); }
.rc-stage-strip{ display:flex; flex-wrap:wrap; align-items:center; gap:6px 18px; padding:var(--s2) 0 var(--s3); border-top:1px solid var(--night-line); font-size:var(--t-micro); letter-spacing:.18em; text-transform:uppercase; color:var(--night-meta); font-variant-numeric:tabular-nums; }
.rc-stage-strip b{ color:var(--c-orange); font-weight:800; display:inline-flex; align-items:center; gap:.7em; }
.rc-stage-strip b::before{ content:""; width:.62em; height:.62em; border-radius:50%; border:.16em solid var(--c-accent); box-shadow:0 0 0 .14em var(--night), 0 0 0 .28em var(--c-orange); margin-left:.28em; }
.rc-stage-strip .sp{ flex:1; }

.rc-hero-card{ position:relative; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.1fr); gap:var(--s4); align-items:center; }
.rc-hero-card > *{ position:relative; z-index:1; }
.rc-hero-card .wp-block-post-featured-image{ order:2; }
.rc-hero-card .wp-block-post-featured-image img{ border-radius:var(--rc-r-lg); }
.rc-title--hero{ font-size:clamp(30px, 3.6vw, calc(46px * var(--rc-s))); line-height:1.12; letter-spacing:-.015em; margin:16px 0; color:#fff; }
.rc-stage .rc-title a:hover{ color:var(--c-orange); }
.rc-stage .rc-deck{ color:rgba(246,241,234,.8); font-size:var(--t-body); line-height:1.7; }
.rc-stage :is(.rc-meta, .rc-date){ color:var(--night-meta); }
.rc-stage .rc-meta{ margin-top:var(--s2); }
.rc-stage .rc-by a{ color:var(--night-ink); }
.rc-stage .rc-label--cat{ color:var(--c-orange); background:rgba(242,148,65,.16); }
.rc-stage .rc-label--chip{ background:var(--rc-grad); }
.rc-stage .rc-label--chip::before{ border-color:#fff; }
/* 主稿沒有圖：不補示意圖。標題放大佔滿左側，右側是一組大圓環 */
.rc-hero-card:not(:has(.wp-block-post-featured-image)){ grid-template-columns:minmax(0,1fr); padding:var(--s3) 0; min-height:300px; overflow:hidden; }
.rc-hero-card:not(:has(.wp-block-post-featured-image)) .rc-tx{ max-width:62%; }
.rc-hero-card:not(:has(.wp-block-post-featured-image)) .rc-title--hero{ font-size:var(--t-hero); }
.rc-hero-card:not(:has(.wp-block-post-featured-image))::after{ width:min(34%, 420px); right:0; top:50%; transform:translateY(-50%); }
/* 版型 B：大圖滿版在上，標題在下、用最大字級。
   改比例要改 figure：WordPress 把 aspect-ratio 寫在 figure 的行內樣式上，不是 img */
.rc-stage--b .rc-hero-card{ grid-template-columns:minmax(0,1fr); gap:var(--s3); }
.rc-stage--b .rc-hero-card .wp-block-post-featured-image{ order:0; }
.rc-stage--b .rc-hero-card .wp-block-post-featured-image{ aspect-ratio:21/9 !important; }
.rc-stage--b .rc-title--hero{ font-size:var(--t-hero); max-width:18em; }
.rc-stage--b .rc-deck{ max-width:44em; }
@media(max-width:820px){
  .rc-hero-card{ grid-template-columns:minmax(0,1fr); gap:var(--s3); }
  .rc-hero-card .wp-block-post-featured-image{ order:0; }
  .rc-hero-card:not(:has(.wp-block-post-featured-image)){ min-height:0; }
  .rc-hero-card:not(:has(.wp-block-post-featured-image)) .rc-tx{ max-width:none; }
  .rc-hero-card:not(:has(.wp-block-post-featured-image))::after{ width:220px; right:-90px; top:auto; bottom:-90px; transform:none; opacity:.5; }
  .rc-stage--b .rc-hero-card .wp-block-post-featured-image{ aspect-ratio:16/9 !important; }
}

/* 輪播主稿（topslide）：橫向捲動＋scroll-snap，手機直接滑；JS 只負責按鈕、圓點與自動播放。
   只有一則時看起來與單一主稿完全相同（PHP 不輸出控制列） */
.rc-hero{ display:flex; gap:var(--s4); overflow-x:auto; scroll-snap-type:x mandatory; overscroll-behavior-x:contain; scrollbar-width:none; }
.rc-hero::-webkit-scrollbar{ display:none; }
.rc-hero > li{ flex:0 0 100%; min-width:0; scroll-snap-align:start; }
@media(prefers-reduced-motion:no-preference){ .rc-hero{ scroll-behavior:smooth; } }
.rc-slidenav{ display:flex; align-items:center; gap:14px; margin-top:var(--s3); }
.rc-slidebtn{ order:2; box-sizing:border-box; display:inline-flex; align-items:center; justify-content:center; width:var(--rc-ctl); height:var(--rc-ctl); padding:0; border:1.5px solid rgba(255,255,255,.3); border-radius:50%; background:transparent; color:#fff; cursor:pointer; transition:background .15s, border-color .15s; }
.rc-slidebtn[data-rc-slide="prev"]{ margin-left:auto; }
.rc-slidebtn[data-rc-slide="next"]{ order:3; }
.rc-slidebtn:hover{ background:var(--rc-grad); border-color:transparent; }
.rc-slidebtn svg{ width:20px; height:20px; fill:currentColor; }
.rc-dots{ order:0; display:flex; gap:6px; }
/* 圓點是細長條：點擊範圍 24px 高，看得到的只有中間 4px。目前這則的條會在播放時間內由左填滿 */
.rc-dot{ position:relative; width:22px; height:24px; padding:0; border:0; background:none; cursor:pointer; transition:width .3s; }
.rc-dot::before, .rc-dot::after{ content:""; position:absolute; left:0; right:0; top:10px; height:4px; border-radius:var(--rc-pill); }
.rc-dot::before{ background:rgba(255,255,255,.25); }
.rc-dot:hover::before{ background:rgba(255,255,255,.5); }
.rc-dot.is-active{ width:48px; }
.rc-dot.is-active::after{ background:var(--rc-grad); transform-origin:left; }
.rc-stage.is-playing .rc-dot.is-active::after{ animation:rc-dotfill var(--rc-slide-ms, 7s) linear both; }
.rc-stage.is-playing.is-paused .rc-dot.is-active::after{ animation-play-state:paused; }
@keyframes rc-dotfill{ from{ transform:scaleX(0); } to{ transform:scaleX(1); } }
.rc-slidecount{ order:1; font-size:var(--t-micro); font-weight:700; letter-spacing:.14em; color:var(--night-meta); font-variant-numeric:tabular-nums; }
.rc-slidecount b{ color:var(--night-ink); }

/* 次稿：純文字三欄，空心數字 02–04 接在主稿之後 */
.rc-stage .rc-seconds{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--s3) var(--s4); margin-top:var(--s4); counter-reset:rcsec 1; }
.rc-seconds > li{ counter-increment:rcsec; display:grid; grid-template-columns:auto minmax(0,1fr); column-gap:var(--s2); border-top:1px solid var(--night-line); padding-top:var(--s2); }
.rc-seconds > li::before{ content:counter(rcsec, decimal-leading-zero); font-size:var(--t-h2); font-weight:800; line-height:1; color:transparent; -webkit-text-stroke:1.2px var(--c-orange); font-variant-numeric:tabular-nums; }
.rc-second .rc-title{ font-size:var(--t-body); line-height:1.5; color:#fff; }
@media(max-width:820px){ .rc-stage .rc-seconds{ grid-template-columns:minmax(0,1fr); gap:var(--s2); } }

/* ══ 區塊與區塊標題 ══ */
.rc-block{ padding:var(--s5) 0 0; }
.rc-block--first{ padding-top:var(--s4); }
.rc-block-head{ display:flex; align-items:center; gap:var(--s2); margin-bottom:var(--s3); }
.rc-block-head h2{ display:flex; align-items:center; gap:.55em; margin:0; font-size:var(--t-h2); font-weight:800; line-height:1.2; letter-spacing:.02em; text-transform:uppercase; }
/* 小同心圓：紅環＋橘環，就是標誌的縮小版 */
.rc-block-head h2::before, .rc-eh h2::before{ content:""; flex:none; width:.5em; height:.5em; border-radius:50%; border:.13em solid var(--c-accent); box-shadow:0 0 0 .1em var(--c-shell), 0 0 0 .2em var(--c-orange); margin-inline:.2em .1em; }
.rc-block-head :is(a, span){ margin-left:auto; font-size:var(--t-meta); font-weight:700; white-space:nowrap; }
.rc-block-head span{ color:var(--c-ink3); }
.rc-block-head a, .rc-eh a{ padding:.6em 1.2em; border:1.5px solid var(--c-ink); border-radius:var(--rc-pill); transition:background-color .15s, color .15s; }
.rc-block-head a:hover, .rc-eh a:hover{ background:var(--c-ink); color:var(--c-paper); }

/* ══ 卡片：白色圓角面板，圖片貼齊上緣 ══ */
ul.rc-grid4{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:var(--s3); align-items:stretch; }
@media(max-width:1000px){ ul.rc-grid4{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:560px){ ul.rc-grid4{ grid-template-columns:minmax(0,1fr); gap:var(--s2); } }
.rc-grid4 > li{ display:flex; }
.rc-grid4 > li > .rc-card{ flex:1; }
.rc-card{ position:relative; display:flex; flex-direction:column; overflow:hidden; background:var(--c-paper); border-radius:var(--rc-r); box-shadow:var(--rc-shadow); transition:transform .18s, box-shadow .18s; }
.rc-card:hover{ transform:translateY(-3px); box-shadow:var(--rc-shadow-hi); }
.rc-card > *{ position:relative; z-index:1; margin-inline:18px; }
.rc-card > .wp-block-post-featured-image{ margin:0 0 16px; }
.rc-card .wp-block-post-featured-image img{ border-radius:0; }
.rc-card > :first-child:not(.wp-block-post-featured-image){ margin-top:20px; }
/* 核心有 :root :where(.is-layout-flow) > :last-child{margin-block-end:0}（權重 0,2,0），這裡要再高一級 */
.wp-block-group.rc-card > :last-child{ margin-bottom:18px; }
.rc-card .rc-title{ font-size:var(--t-body); line-height:1.5; }
.rc-card .rc-date{ margin-top:auto; padding-top:14px; }
/* 無圖：分類色淡底＋放大標題＋右下圓環；標 spotlight 標籤者改成漸層滿版 */
.rc-card:not(:has(.wp-block-post-featured-image)){ background:var(--c-paper); background:color-mix(in srgb, var(--rc-cat, var(--c-ink)) 9%, var(--c-paper)); }
.rc-card:not(:has(.wp-block-post-featured-image)) .rc-title{ font-size:var(--t-h4); line-height:1.42; margin-top:14px; }
.rc-card:not(:has(.wp-block-post-featured-image))::after{ width:120px; right:-34px; bottom:-34px; background:var(--rc-cat, var(--c-ink)); opacity:.16; }
li.tag-spotlight .rc-card:not(:has(.wp-block-post-featured-image)){ background:var(--rc-grad); color:#fff; }
li.tag-spotlight .rc-card:not(:has(.wp-block-post-featured-image)) :is(.rc-title, .rc-title a, .rc-date){ color:#fff; }
li.tag-spotlight .rc-card:not(:has(.wp-block-post-featured-image)) .rc-label{ color:#fff; background:rgba(255,255,255,.22); }
li.tag-spotlight .rc-card:not(:has(.wp-block-post-featured-image))::after{ background:#fff; opacity:.24; }
@media(max-width:560px){
  .rc-grid4 .rc-card:has(.wp-block-post-featured-image){ display:grid; grid-template-columns:112px minmax(0,1fr); column-gap:14px; align-items:start; padding:12px; }
  .rc-grid4 .rc-card:has(.wp-block-post-featured-image) > *{ margin:0; grid-column:2; }
  .rc-grid4 .rc-card:has(.wp-block-post-featured-image) .wp-block-post-featured-image{ grid-column:1; grid-row:1 / span 3; }
  .rc-grid4 .rc-card:has(.wp-block-post-featured-image) .wp-block-post-featured-image{ aspect-ratio:1 !important; }
  .rc-grid4 .rc-card:has(.wp-block-post-featured-image) .wp-block-post-featured-image img{ border-radius:10px; }
  .rc-grid4 .rc-card:has(.wp-block-post-featured-image) .rc-title{ font-size:var(--t-small); margin-top:8px; }
  .rc-grid4 .rc-card:has(.wp-block-post-featured-image) .rc-date{ padding-top:8px; }
}

/* ══ 專題列：深色大圓角卡，右上角一組圓環 ══ */
.rc-series{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--s3); padding:var(--s5) 0 0; }
@media(max-width:900px){ .rc-series{ grid-template-columns:minmax(0,1fr); } }
.rc-series-card{ position:relative; overflow:hidden; background:var(--night); color:var(--night-ink); padding:var(--s3); border-radius:var(--rc-r-lg); display:flex; flex-direction:column; }
.rc-series-card > *{ position:relative; z-index:1; }
.rc-series-card::after{ width:180px; right:-76px; top:-76px; opacity:.5; }
.rc-series-card a{ color:inherit; }
.rc-series-card .k{ width:fit-content; font-size:calc(11px * var(--rc-s)); letter-spacing:.14em; font-weight:800; line-height:1; padding:.55em .9em; border-radius:var(--rc-pill); background:var(--rc-grad); color:#fff; }
.rc-series-card h3{ font-size:var(--t-h3); margin:var(--s2) 0 8px; line-height:1.3; color:#fff; max-width:80%; }
.rc-series-card p{ margin:0; font-size:var(--t-meta); color:var(--night-meta); }
.rc-series-card .slist{ list-style:none; margin:var(--s3) 0 0; padding:var(--s2); border-radius:var(--rc-r); background:var(--night-2); }
.rc-series-card .slist li{ font-size:var(--t-body); line-height:1.5; font-weight:700; }
.rc-series-card .slist li a:hover{ color:var(--c-orange); }
.rc-series-card .slist li span, .rc-series-card .slist .lbl{ display:block; font-size:var(--t-micro); color:var(--night-meta); font-weight:400; }
.rc-series-card .slist li span{ margin-top:8px; }
.rc-series-card .slist .lbl{ font-style:normal; font-weight:800; letter-spacing:.14em; margin-bottom:8px; color:var(--c-orange); }
.rc-series-card .more{ margin-top:auto; padding-top:var(--s3); font-size:var(--t-meta); font-weight:700; }
.rc-series-card .more a{ display:inline-block; padding:.6em 1.2em; border:1.5px solid rgba(255,255,255,.35); border-radius:var(--rc-pill); transition:background .15s, border-color .15s; }
.rc-series-card .more a:hover{ background:var(--rc-grad); border-color:transparent; }
.rc-series-card .more u{ text-decoration:none; }

/* ══ 條列（專題頁、文章頁文末）：每則各自一張膠囊狀小卡，前面是空心編號 ══
   刻意不做「一欄到底、細線分隔」的清單。 */
ul.rc-list{ display:grid; gap:10px; counter-reset:rcrow; }
.rc-list > li{ counter-increment:rcrow; }
.rc-row{ display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:var(--s3); padding:16px var(--s3); align-items:center; background:var(--c-paper); border-radius:var(--rc-r); box-shadow:var(--rc-shadow); transition:transform .18s, box-shadow .18s; }
.rc-row:hover{ transform:translateY(-2px); box-shadow:var(--rc-shadow-hi); }
.rc-row::before{ content:counter(rcrow, decimal-leading-zero); min-width:1.5em; font-size:var(--t-h2); font-weight:800; line-height:1; color:transparent; -webkit-text-stroke:1.2px var(--c-ink3); font-variant-numeric:tabular-nums; transition:-webkit-text-stroke-color .15s; }
.rc-row:hover::before{ -webkit-text-stroke-color:var(--c-accent); }
.rc-row .rc-title{ font-size:var(--t-h4); line-height:1.42; margin:8px 0 0; }
.rc-row-date{ white-space:nowrap; margin:0; }
.rc-row .rc-by{ display:none; margin-top:6px; }
.rc-list--by .rc-row .rc-by{ display:block; }
@media(max-width:560px){
  .rc-row{ grid-template-columns:auto minmax(0,1fr); gap:6px var(--s2); align-items:start; padding:var(--s2); }
  .rc-row::before{ font-size:var(--t-h3); grid-row:1 / span 2; }
  .rc-row-date{ grid-column:2; }
  .rc-row .rc-title{ font-size:var(--t-body); }
}

/* ══ 首頁分類區的拼貼（Society、Technology）══
   同樣是 5 則純文字，但不排成清單：第 1 則是分類色大磚，其餘 4 則是 2×2 小磚。 */
ul.rc-mosaic{ display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,1fr); grid-auto-rows:1fr; gap:var(--s3); counter-reset:rcrow; }
.rc-mosaic > li{ counter-increment:rcrow; display:flex; }
.rc-mosaic > li:first-child{ grid-row:span 2; }
.rc-mosaic .rc-row{ flex:1; position:relative; overflow:hidden; display:flex; flex-direction:column; align-items:stretch; gap:0; padding:20px; }
.rc-mosaic .rc-row > *{ position:relative; z-index:1; }
.rc-mosaic .rc-row::before{ position:relative; z-index:1; font-size:var(--t-h3); margin-bottom:14px; }
.rc-mosaic .rc-row-body{ flex:1; }
.rc-mosaic .rc-row .rc-title{ font-size:var(--t-body); line-height:1.5; margin-top:10px; }
.rc-mosaic .rc-row-date{ margin-top:var(--s2); }
.rc-mosaic > li:first-child .rc-row{ background:var(--rc-cat, var(--night)); color:#fff; padding:var(--s3); }
.rc-mosaic > li:first-child .rc-row::before{ font-size:var(--t-h1); -webkit-text-stroke-color:rgba(255,255,255,.8); margin-bottom:auto; padding-bottom:var(--s4); }
.rc-mosaic > li:first-child .rc-row-body{ flex:none; }
.rc-mosaic > li:first-child .rc-title{ font-size:var(--t-h2); line-height:1.3; margin-top:14px; }
.rc-mosaic > li:first-child :is(.rc-title a, .rc-date){ color:#fff; }
.rc-mosaic > li:first-child .rc-label--cat{ color:#fff; background:rgba(255,255,255,.2); }
.rc-mosaic > li:first-child .rc-row::after{ content:""; position:absolute; z-index:0; pointer-events:none; width:min(70%, 300px); aspect-ratio:1; right:-18%; top:-18%; border-radius:50%; background:#fff; opacity:.16; -webkit-mask:var(--rc-rings); mask:var(--rc-rings); }
@media(max-width:900px){
  ul.rc-mosaic{ grid-template-columns:repeat(2,minmax(0,1fr)); grid-auto-rows:auto; gap:var(--s2); }
  .rc-mosaic > li:first-child{ grid-row:auto; grid-column:1 / -1; }
  .rc-mosaic > li:first-child .rc-row::before{ padding-bottom:var(--s3); }
}
@media(max-width:480px){ ul.rc-mosaic{ grid-template-columns:minmax(0,1fr); } }

/* ══ 文章頁 ══
   標題區是深色、滿版，與導覽列連成一塊；有主圖時，主圖往上跨進深色區。 */
.rc-article{ box-sizing:border-box; width:100%; max-width:calc(var(--rc-measure) + 2 * var(--rc-gutter)); margin-inline:auto; padding:var(--s4) var(--rc-gutter) var(--s5); }
.rc-article:has(> .rc-arthead){ padding-top:0; }
.rc-arthead{ background:var(--night); color:var(--night-ink); border-image:conic-gradient(var(--night) 0 0) fill 0 / 0 / 0 100vmax; padding:var(--s4) 0 var(--s4); }
.rc-arthead:has(+ .rc-artgrid .rc-figure){ padding-bottom:calc(var(--s4) + var(--s5)); }
.rc-artgrid{ padding-top:var(--s4); }
.rc-arthead .rc-label--cat{ color:var(--c-orange); background:rgba(242,148,65,.16); }
.rc-article-title{ font-size:var(--t-h1) !important; line-height:1.14; letter-spacing:-.015em; font-weight:700 !important; margin:var(--s2) 0 !important; }
.rc-arthead .rc-article-title{ color:#fff; }
.rc-stand{ font-size:var(--t-read); line-height:1.7; margin:0 0 var(--s3); }
.rc-arthead .rc-stand{ color:rgba(246,241,234,.8); }
.rc-artmeta{ display:flex; gap:var(--s2); flex-wrap:wrap; align-items:center; padding-top:var(--s2); border-top:1px solid var(--night-line); font-size:var(--t-meta); color:var(--night-meta); font-variant-numeric:tabular-nums; }
.rc-artmeta .sp{ flex:1; }
.rc-au{ display:flex; align-items:center; gap:10px; }
.rc-au b{ display:block; color:#fff; font-size:var(--t-small); }
.rc-au b a{ color:inherit; }
.rc-share{ display:flex; gap:8px; }
.rc-share a, .rc-share button{ width:38px; height:38px; padding:0; border:1.5px solid rgba(255,255,255,.3); border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:12px; font-weight:700; color:#fff; background:transparent; cursor:pointer; font-family:inherit; transition:background .15s, border-color .15s; }
.rc-share a:hover, .rc-share button:hover{ background:var(--rc-grad); border-color:transparent; }
/* 往上跨進深色區。權重要壓過核心的 :first-child 歸零（0,2,0） */
.rc-artgrid .rc-artmain > .rc-figure{ margin:calc(-1 * (var(--s5) + var(--s4))) 0 var(--s4); position:relative; z-index:1; }
.rc-figure img{ width:100%; height:auto; display:block; border-radius:var(--rc-r); box-shadow:var(--rc-shadow-hi); }
.rc-figure figcaption{ font-size:var(--t-meta); color:var(--c-ink3); margin-top:10px; line-height:1.6; }
/* 無主圖：重點摘要取代主圖位置（有填才顯示），每點前面是漸層圓形編號 */
.rc-artmain > .rc-keypoints{ margin:0 0 var(--s4); }
.rc-keypoints{ background:var(--c-paper); padding:var(--s3); border-radius:var(--rc-r); box-shadow:var(--rc-shadow); }
.rc-keypoints h4{ width:fit-content; font-size:var(--t-micro); letter-spacing:.14em; line-height:1; margin:0 0 var(--s2); padding:.6em 1em; border-radius:var(--rc-pill); background:var(--rc-grad); color:#fff; font-weight:800; }
.rc-keypoints ul{ list-style:none; margin:0; padding:0; counter-reset:rckp; }
.rc-keypoints li{ counter-increment:rckp; display:grid; grid-template-columns:auto minmax(0,1fr); gap:12px; font-size:var(--t-body); line-height:1.65; margin-bottom:12px; color:var(--c-ink); }
.rc-keypoints li::before{ content:counter(rckp); width:1.65em; height:1.65em; border-radius:50%; background:var(--c-ink); color:var(--c-on-ink); font-size:var(--t-meta); font-weight:800; display:flex; align-items:center; justify-content:center; margin-top:.2em; }
.rc-keypoints li:last-child{ margin-bottom:0; }
.rc-body{ font-size:var(--t-read); line-height:1.7; }
.rc-body p{ margin:0 0 1.4em; }
.rc-body :is(h2,h3){ margin:1.8em 0 .7em; line-height:1.35; }
.rc-body a{ text-decoration:underline; text-decoration-color:var(--c-orange); text-decoration-thickness:2px; text-underline-offset:4px; }
.rc-body a:hover{ text-decoration-color:var(--c-accent); color:var(--c-accent-ink); }
.rc-body img{ border-radius:var(--rc-r); }
.rc-body :is(blockquote, .wp-block-pullquote){ position:relative; border:0; margin:var(--s4) 0; padding:var(--s3) var(--s3) var(--s3) calc(var(--s3) + 2.2em); border-radius:var(--rc-r); background:var(--c-wash); font-size:var(--t-h4); line-height:1.65; font-weight:700; color:var(--c-ink); text-align:left; }
.rc-body :is(blockquote, .wp-block-pullquote)::before{ content:"“"; position:absolute; left:var(--s3); top:.12em; font-size:3.2em; line-height:1; font-family:Georgia, serif; color:var(--c-accent); }
.rc-body :is(blockquote, .wp-block-pullquote) p{ margin:0; font-size:inherit; }
.rc-source{ background:var(--c-paper); padding:var(--s2) var(--s3); border-radius:var(--rc-r); box-shadow:var(--rc-shadow); font-size:var(--t-meta); color:var(--c-ink2); margin:var(--s4) 0; }
.rc-source b{ color:var(--c-ink); }
.rc-source a{ margin-left:6px; font-weight:700; color:var(--c-accent-ink); }
.rc-tagrow{ display:flex; gap:8px; flex-wrap:wrap; margin:var(--s4) 0; }
.rc-tagrow a{ font-size:var(--t-meta); font-weight:700; background:var(--c-wash); padding:.55em 1em; border-radius:var(--rc-pill); color:var(--c-ink2); transition:background-color .15s, color .15s; }
.rc-tagrow a::before{ content:"#"; margin-right:.2em; color:var(--c-accent); }
.rc-tagrow a:hover{ background:var(--c-ink); color:var(--c-on-ink); }
.rc-endmod{ margin-top:var(--s5); }
.rc-eh{ display:flex; justify-content:space-between; align-items:center; gap:var(--s2); margin-bottom:var(--s3); }
.rc-eh h2{ display:flex; align-items:center; gap:.55em; font-size:var(--t-h3); margin:0; }
.rc-eh span{ font-size:var(--t-meta); color:var(--c-ink3); display:flex; align-items:center; gap:12px; white-space:nowrap; }
.rc-eh a{ font-weight:700; color:var(--c-ink); }
.rc-endmod ul.rc-grid4{ grid-template-columns:repeat(2,minmax(0,1fr)); }
@media(max-width:560px){ .rc-endmod ul.rc-grid4{ grid-template-columns:minmax(0,1fr); } .rc-eh span{ white-space:normal; } }

/* 寬螢幕（≥1280px，含 iPad Pro 13 橫向）：文章頁改兩欄，不再左右各留一大片空白。
   左欄是內文，欄寬不變（中文一行約 36 字的上限）；右欄放同專題與相關報導，捲動時固定。
   標題區也改成對齊版面寬，標題可以排得更長。右欄沒有內容時（例如沒有專欄的評論）維持單欄置中。 */
@media(min-width:1280px){
  .rc-article:has(.rc-aside > *){ max-width:calc(var(--rc-wide) + 2 * var(--rc-gutter)); }
  .rc-article:has(.rc-aside > *) > *{ max-width:none; }
  .rc-article:has(.rc-aside > *) .rc-article-title{ max-width:21em; }
  .rc-article:has(.rc-aside > *) .rc-stand{ max-width:40em; }
  .rc-article:has(.rc-aside > *) .rc-authorbox{ max-width:var(--rc-measure); }
  .rc-artgrid:has(.rc-aside > *){ display:grid; grid-template-columns:minmax(0, var(--rc-measure)) minmax(0, 1fr); column-gap:var(--s5); align-items:start; }
  .rc-aside{ position:sticky; top:calc(var(--wp-admin--admin-bar--height, 0px) + 64px * var(--rc-s) + var(--s3)); }
  .rc-aside .rc-endmod:first-child{ margin-top:0; }
  .rc-aside .rc-endmod{ margin-top:var(--s4); }
  .rc-aside .rc-eh h2{ font-size:var(--t-h4); }
  /* 右欄較窄：條列把日期收到標題下方；卡片改成橫式小圖 */
  .rc-aside .rc-row{ grid-template-columns:auto minmax(0,1fr); gap:4px var(--s2); align-items:start; padding:var(--s2); }
  .rc-aside .rc-row::before{ font-size:var(--t-h3); grid-row:1 / span 2; }
  .rc-aside .rc-row-date{ grid-column:2; }
  .rc-aside .rc-row .rc-title{ font-size:var(--t-body); }
  .rc-aside ul.rc-grid4{ grid-template-columns:minmax(0,1fr); gap:10px; }
  .rc-aside .rc-card:has(.wp-block-post-featured-image){ display:grid; grid-template-columns:104px minmax(0,1fr); column-gap:14px; align-items:start; padding:12px; }
  .rc-aside .rc-card:has(.wp-block-post-featured-image) > *{ margin:0; grid-column:2; }
  .rc-aside .rc-card:has(.wp-block-post-featured-image) .wp-block-post-featured-image{ grid-column:1; grid-row:1 / span 3; aspect-ratio:1 !important; }
  .rc-aside .rc-card:has(.wp-block-post-featured-image) .wp-block-post-featured-image img{ border-radius:10px; }
  .rc-aside .rc-card:has(.wp-block-post-featured-image) .rc-title{ font-size:var(--t-small); margin-top:8px; }
  .rc-aside .rc-card:has(.wp-block-post-featured-image) .rc-date{ padding-top:6px; }
  .rc-aside .rc-card:not(:has(.wp-block-post-featured-image)) .rc-title{ font-size:var(--t-body); }
}

/* Opinion 文章：作者框放大，放在深色標題區內 */
.rc-authorbox{ padding:0 0 var(--s3); }
.rc-authorbox b{ display:block; font-size:var(--t-body); color:#fff; }
.rc-authorbox span{ font-size:var(--t-meta); color:var(--night-meta); display:block; }
.rc-authorbox p{ margin:8px 0 0; font-size:var(--t-small); color:rgba(246,241,234,.8); line-height:1.65; }
.rc-col{ font-size:var(--t-micro); color:var(--c-accent-ink); text-transform:uppercase; letter-spacing:.14em; font-weight:800; margin:0; display:block; }
.rc-authorbox .rc-col{ color:var(--c-orange); margin-bottom:4px; }
.rc-disclaim{ margin:var(--s3) 0; padding:var(--s2) var(--s3); background:var(--wp--preset--color--op-wash); border-radius:var(--rc-r); font-size:var(--t-meta); color:var(--c-ink2); line-height:1.7; }
.rc-disclaim b{ color:var(--c-ink); }

/* ══ 彙整頁頭：分類色（沒有分類時用深色）的大圓角橫幅 ══ */
.rc-archhead, .rc-serieshead, .rc-op-head{ position:relative; overflow:hidden; box-sizing:border-box; padding:var(--s4); border-radius:var(--rc-r-lg); color:#fff; }
/* 上方留白要壓過核心的 :root :where(.is-layout-constrained) > :first-child{margin-block-start:0}（權重 0,2,0） */
.rc-main.wp-block-group > :is(.rc-archhead, .rc-serieshead, .rc-op-head, .rc-authorhead){ margin-top:var(--s3); }
.rc-archhead > *, .rc-serieshead > *, .rc-op-head > *{ position:relative; z-index:1; }
.rc-archhead{ background:var(--rc-cat, var(--night)); }
.rc-archhead::after, .rc-op-head::after{ width:min(46%, 380px); right:-6%; top:50%; transform:translateY(-50%); background:#fff; opacity:.16; }
.rc-archhead .rc-label{ display:inline-block; color:#fff; background:rgba(255,255,255,.2); }
.rc-archhead h1, .rc-serieshead h1, .rc-op-head h1{ font-size:var(--t-hero); line-height:1.05; font-weight:800; letter-spacing:-.01em; margin:var(--s2) 0 10px; color:#fff; text-transform:uppercase; }
.rc-archdesc, .rc-archdesc p, .rc-serieshead p, .rc-op-head > p{ margin:0; max-width:40em; font-size:var(--t-read); line-height:1.65; color:rgba(255,255,255,.86); }
.rc-count{ font-size:var(--t-meta); margin-top:var(--s2); color:rgba(255,255,255,.72); font-variant-numeric:tabular-nums; }
.rc-main > .wp-block-query.rc-archive-query{ padding-top:var(--s4); }
@media(max-width:560px){ .rc-archhead, .rc-serieshead, .rc-op-head{ padding:var(--s3); } }

/* 分類頁第一頁：最新一則給大版面，後三則是沒有圖的小卡疊在右側，其餘進格線 */
@media(min-width:1001px){
  body:is(.category,.tag):not(.paged) .rc-arch-list{ grid-template-columns:repeat(8,minmax(0,1fr)); }
  body:is(.category,.tag):not(.paged) .rc-arch-list > li{ grid-column:span 2; }
  body:is(.category,.tag):not(.paged) .rc-arch-list > li:nth-child(1){ grid-column:1 / span 5; grid-row:1 / span 3; }
  body:is(.category,.tag):not(.paged) .rc-arch-list > li:nth-child(n+2):nth-child(-n+4){ grid-column:6 / span 3; }
  body:is(.category,.tag):not(.paged) .rc-arch-list > li:nth-child(1) .wp-block-post-featured-image{ aspect-ratio:16/9 !important; }
  body:is(.category,.tag):not(.paged) .rc-arch-list > li:nth-child(1) .rc-title{ font-size:var(--t-h2); line-height:1.3; margin-top:14px; }
  body:is(.category,.tag):not(.paged) .rc-arch-list > li:nth-child(1) .rc-card > *:not(.wp-block-post-featured-image){ margin-inline:var(--s3); }
  body:is(.category,.tag):not(.paged) .rc-arch-list > li:nth-child(n+2):nth-child(-n+4) .wp-block-post-featured-image{ display:none; }
  body:is(.category,.tag):not(.paged) .rc-arch-list > li:nth-child(n+2):nth-child(-n+4) .rc-label{ margin-top:20px; }
  body:is(.category,.tag):not(.paged) .rc-arch-list > li:nth-child(n+2):nth-child(-n+4) .rc-title{ font-size:var(--t-h4); }
}
.rc-loadwrap{ text-align:center; margin-top:var(--s4); }
.rc-loadbtn{ background:var(--rc-grad); border:0; padding:.95em 2.4em; border-radius:var(--rc-pill); font-size:var(--t-small); font-weight:800; letter-spacing:.08em; font-family:inherit; cursor:pointer; color:#fff; box-shadow:var(--rc-shadow); transition:transform .15s, box-shadow .15s; }
.rc-loadbtn:hover{ transform:translateY(-2px); box-shadow:var(--rc-shadow-hi); }
.rc-loadbtn[disabled]{ opacity:.4; cursor:default; transform:none; }
.rc-loadinfo{ font-size:var(--t-meta); color:var(--c-ink3); margin-top:14px; }
/* 分頁：圓形按鈕；窄螢幕折行時數字列與「下一頁」各自成行 */
.rc-pager{ gap:8px; margin-top:var(--s4); font-size:var(--t-small); font-weight:700; flex-wrap:wrap; justify-content:center; row-gap:12px; }
.rc-pager .wp-block-query-pagination-numbers{ display:flex; flex-wrap:wrap; justify-content:center; gap:8px; }
.rc-pager :is(a,.page-numbers){ box-sizing:border-box; min-width:42px; height:42px; display:inline-flex; align-items:center; justify-content:center; padding:0 14px; border-radius:var(--rc-pill); background:var(--c-paper); color:var(--c-ink2); box-shadow:var(--rc-shadow); }
.rc-pager a:hover{ background:var(--c-ink); color:var(--c-on-ink); }
.rc-pager .page-numbers.current{ background:var(--rc-grad); color:#fff; }
.rc-pager .page-numbers.dots{ background:none; box-shadow:none; }
.rc-empty{ padding:var(--s4) 0; color:var(--c-ink2); }

/* 專題頁：深色橫幅＋彩色圓環 */
.rc-serieshead{ background:var(--night); }
.rc-serieshead::after{ width:min(50%, 420px); right:-8%; top:50%; transform:translateY(-50%); opacity:.6; }
.rc-kick{ display:inline-block; font-size:calc(11px * var(--rc-s)); letter-spacing:.14em; font-weight:800; line-height:1; padding:.55em .9em; border-radius:var(--rc-pill); background:var(--rc-grad); color:#fff; }
.rc-serieshead p{ color:rgba(246,241,234,.8); }
.rc-serieshead .rc-count{ color:var(--night-meta); } .rc-serieshead .rc-count b{ color:#fff; }

/* 作者頁：白色面板，頭像外圈是漸層環 */
.rc-authorhead{ display:grid; grid-template-columns:104px minmax(0,1fr); gap:var(--s3); align-items:start; box-sizing:border-box; padding:var(--s4); background:var(--c-paper); border-radius:var(--rc-r-lg); box-shadow:var(--rc-shadow); }
@media(max-width:560px){ .rc-authorhead{ grid-template-columns:minmax(0,1fr); padding:var(--s3); } }
.rc-authorhead h1{ font-size:var(--t-h1); margin:0 0 4px; line-height:1.2; }
.rc-role{ font-size:var(--t-small); color:var(--c-accent-ink); font-weight:700; margin-bottom:10px; }
.rc-authorhead p{ color:var(--c-ink2); margin:0 0 12px; max-width:44em; }
.rc-authorhead .rc-by{ margin-top:4px; }
.rc-authorhead .rc-by a:hover{ color:var(--c-accent-ink); }

/* Opinion 頁：漸層橫幅；作者名冊是一排膠囊；文章卡帶作者頭像 */
.rc-op-head{ background:var(--rc-grad); }
.rc-op-head .k{ width:fit-content; font-size:calc(11px * var(--rc-s)); letter-spacing:.14em; font-weight:800; line-height:1; padding:.55em .9em; border-radius:var(--rc-pill); background:rgba(255,255,255,.22); }
.rc-op-head .rc-disclaim{ margin:var(--s3) 0 0; max-width:52em; background:rgba(255,255,255,.92); color:#4d463e; }
.rc-op-head .rc-disclaim b{ color:#16130f; }
.rc-roster{ display:flex; gap:10px; flex-wrap:wrap; padding:var(--s3) 0 0; }
.rc-roster .p{ display:flex; gap:10px; align-items:center; padding:6px 18px 6px 6px; background:var(--c-paper); border-radius:var(--rc-pill); box-shadow:var(--rc-shadow); transition:transform .15s; }
.rc-roster .p:hover{ transform:translateY(-2px); }
.rc-roster b{ display:block; font-size:var(--t-small); line-height:1.3; } .rc-roster span{ font-size:var(--t-micro); color:var(--c-ink3); }
ul.rc-opgrid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--s3); }
@media(max-width:820px){ ul.rc-opgrid{ grid-template-columns:minmax(0,1fr); gap:var(--s2); } }
.rc-opgrid > li{ display:flex; }
.rc-opcard{ flex:1; display:grid; grid-template-columns:64px minmax(0,1fr); gap:var(--s2); align-content:start; padding:var(--s3); background:var(--c-paper); border-radius:var(--rc-r); box-shadow:var(--rc-shadow); transition:transform .18s, box-shadow .18s; }
.rc-opcard:hover{ transform:translateY(-3px); box-shadow:var(--rc-shadow-hi); }
@media(max-width:520px){ .rc-opcard{ grid-template-columns:48px minmax(0,1fr); padding:var(--s2); } }
.rc-opav .wp-block-post-author__content{ display:none; }
.rc-opav .wp-block-post-author__avatar{ margin:0; }
.rc-opav img{ width:100%; height:auto; aspect-ratio:1; object-fit:cover; display:block; box-sizing:border-box; border-radius:50%; padding:3px; background:var(--rc-grad); }
.rc-opbody > *{ margin-block:0; }
.rc-opcard .rc-au{ display:block; font-size:var(--t-meta); font-weight:700; margin-top:5px; color:var(--c-ink2); }
.rc-opcard .rc-title{ margin:10px 0 8px; line-height:1.42; }
.rc-opsnip{ font-size:var(--t-small); color:var(--c-ink2); margin:0 0 10px !important; line-height:1.65; }
.rc-opcard .rc-date{ margin:0; }

/* ══ 頁尾：深色、滿版 ══ */
.wp-site-blocks > footer.wp-block-template-part{ background:var(--night); color:var(--night-meta); }
.rc-footer{ box-sizing:border-box; max-width:calc(var(--rc-wide) + 2 * var(--rc-gutter)); margin-inline:auto; padding:var(--s5) var(--rc-gutter); gap:var(--s4); font-size:var(--t-meta); }
.rc-footer .rc-wordmark img{ height:calc(46px * var(--rc-s)); }
.rc-footer p{ margin:0; }
/* 說明文字是英文長句：限制行寬，連結保持可辨識 */
.rc-footer .rc-footer-note{ max-width:56ch; margin-top:var(--s3); line-height:1.7; color:var(--night-meta); }
.rc-footer-note a{ color:var(--night-ink); text-decoration:underline; text-decoration-color:var(--c-orange); text-underline-offset:3px; }
.rc-footer-note a:hover{ color:var(--c-orange); }
/* 連結用內距撐開（核心導覽的 gap 不一定生效） */
.rc-footer-nav{ font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--night-ink); }
.rc-footer-nav .wp-block-navigation__container{ gap:8px; }
.rc-footer-nav .wp-block-navigation-item__content{ padding:.7em 1.2em; border:1.5px solid rgba(255,255,255,.22); border-radius:var(--rc-pill); transition:background .15s, border-color .15s; }
.rc-footer-nav .wp-block-navigation-item__content:hover{ background:var(--rc-grad); border-color:transparent; color:#fff; }

/* ══ 寬螢幕：版面寬度與字級跟著倍率 --rc-s 放大（≤1599px 不受影響）══
   內文欄寬基準維持 680px：這是中文內文（約 36 字／行），不能再加寬。 */
@media (min-width:1600px){ :root:root, :root body{ --rc-s:1.15; --rc-wide:1360px; --rc-measure:782px; } }
@media (min-width:2200px){ :root:root, :root body{ --rc-s:1.4;  --rc-wide:1640px; --rc-measure:952px; } }
@media (min-width:3000px){ :root:root, :root body{ --rc-s:1.8;  --rc-wide:2100px; --rc-measure:1224px; } }
@media (min-width:1600px){
  :root:root, :root body{
    --rc-ctl:calc(38px * var(--rc-s));
    --wp--style--global--content-size:var(--rc-measure);
    --wp--style--global--wide-size:var(--rc-wide);
    --wp--preset--font-size--micro:calc(12px * var(--rc-s));
    --wp--preset--font-size--meta:calc(13px * var(--rc-s));
    --wp--preset--font-size--small:calc(15px * var(--rc-s));
    --wp--preset--font-size--body:calc(17px * var(--rc-s));
    --wp--preset--font-size--read:calc(19px * var(--rc-s));
    --wp--preset--font-size--title-s:calc(20px * var(--rc-s));
    --wp--preset--font-size--title-m:calc(25px * var(--rc-s));
    --wp--preset--font-size--title-l:calc(34px * var(--rc-s));
    --wp--preset--font-size--title-xl:calc(48px * var(--rc-s));
    --wp--preset--font-size--hero:calc(68px * var(--rc-s));
  }
}
/* ══ 深色模式 ══
   三態：沒選過＝跟系統；按過切換鈕＝<html data-theme="dark|light">（存在 localStorage，見 functions.php 的 head 內聯腳本）。
   只覆寫 preset 變數，元件一律吃變數。頂部導覽、首頁舞台、文章標題區、頁尾本來就是深色，這裡把它們再壓暗一階，
   讓它們和頁面底色仍分得出來。 */
.rc-toggle{ flex:none; }
.rc-toggle .i-sun{ display:none; }
:root[data-theme="dark"] .rc-toggle .i-sun{ display:block; } :root[data-theme="dark"] .rc-toggle .i-moon{ display:none; }
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]) .rc-toggle .i-sun{ display:block; } :root:not([data-theme="light"]) .rc-toggle .i-moon{ display:none; }
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]), :root:not([data-theme="light"]) body{
    color-scheme:dark;
    --wp--preset--color--paper:#25201c; --wp--preset--color--shell:#1a1613; --wp--preset--color--wash:#302924; --wp--preset--color--op-wash:#33261c;
    --wp--preset--color--ink:#f1ebe3; --wp--preset--color--ink-2:#c7bdb2; --wp--preset--color--ink-3:#958a7e;
    --wp--preset--color--rule:#3d352e; --wp--preset--color--rule-2:#302924;
    --wp--preset--color--accent:#f0384b; --wp--preset--color--accent-ink:#ff7d88; --wp--preset--color--orange-ink:#f5a35d;
    --wp--preset--color--cat-politics:#86a8ff; --wp--preset--color--cat-economics:#4fcaa2; --wp--preset--color--cat-society:#e6a85a;
    --wp--preset--color--cat-technology:#b29bff; --wp--preset--color--cat-opinion:#ff8a6b; --wp--preset--color--cat-environment:#5cc6d6;
    --wp--preset--color--night:#0d0b09; --wp--preset--color--night-2:#211b16;
    --c-on-ink:#16130f;
    --rc-shadow:0 1px 2px rgba(0,0,0,.3), 0 10px 26px -14px rgba(0,0,0,.6);
    --rc-shadow-hi:0 2px 4px rgba(0,0,0,.35), 0 20px 34px -16px rgba(0,0,0,.7);
  }
}
:root[data-theme="dark"], :root[data-theme="dark"] body{
  color-scheme:dark;
  --wp--preset--color--paper:#25201c; --wp--preset--color--shell:#1a1613; --wp--preset--color--wash:#302924; --wp--preset--color--op-wash:#33261c;
  --wp--preset--color--ink:#f1ebe3; --wp--preset--color--ink-2:#c7bdb2; --wp--preset--color--ink-3:#958a7e;
  --wp--preset--color--rule:#3d352e; --wp--preset--color--rule-2:#302924;
  --wp--preset--color--accent:#f0384b; --wp--preset--color--accent-ink:#ff7d88; --wp--preset--color--orange-ink:#f5a35d;
  --wp--preset--color--cat-politics:#86a8ff; --wp--preset--color--cat-economics:#4fcaa2; --wp--preset--color--cat-society:#e6a85a;
  --wp--preset--color--cat-technology:#b29bff; --wp--preset--color--cat-opinion:#ff8a6b; --wp--preset--color--cat-environment:#5cc6d6;
  --wp--preset--color--night:#0d0b09; --wp--preset--color--night-2:#211b16;
  --c-on-ink:#16130f;
  --rc-shadow:0 1px 2px rgba(0,0,0,.3), 0 10px 26px -14px rgba(0,0,0,.6);
  --rc-shadow-hi:0 2px 4px rgba(0,0,0,.35), 0 20px 34px -16px rgba(0,0,0,.7);
}
/* 分類色在深色模式變亮，直接當大面積底色會讓白字看不清：改成分類色和深底的混色 */
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]) :is(.rc-archhead, .rc-mosaic > li:first-child .rc-row){ background:color-mix(in srgb, var(--rc-cat, var(--night)) 34%, var(--c-paper)); }
}
:root[data-theme="dark"] :is(.rc-archhead, .rc-mosaic > li:first-child .rc-row){ background:color-mix(in srgb, var(--rc-cat, var(--night)) 34%, var(--c-paper)); }

@media (prefers-reduced-motion:reduce){ *{ transition:none !important; } }
