/* =========================================================================
   地緣縱橫・設計 tokens（權威報業：暖象牙 + 深緋紅 + 宋體刊頭）
   移植自 site/index.html。視覺真相來源由 art-director 維護。
   ========================================================================= */
:root{
  --bg:#F8F6F1;            /* 暖象牙底（更淺） */
  --paper:#FDFCF9;         /* 卡片紙 */
  --band:#EFECE4;          /* 區段淺帶 */
  --ink:#211E18;           /* 主文字 */
  --ink-2:#4A4640;         /* 次文字 */
  --ink-dim:#6E6A60;       /* 輔助 */
  --ink-faint:#9C968A;     /* 最弱 */
  --line:#DED9CC;          /* 細線 */
  --line-2:#CEC8B8;        /* 較深線 */
  --accent:#9E1B22;        /* 深緋紅（刊頭/標籤/數字/按鈕） */
  --accent-d:#7E141A;
  --mark:#C8791E;          /* 琥珀（畫重點：重點框／螢光標記） */
  --mark-bg:rgba(200,121,30,.08);
  --cite:#2C6E9B;          /* 引用註腳藍 */
  /* 字體：優先採用 Ghost 後台「自訂字體」設定（--gh-font-*），否則用我們的預設 */
  --serif:var(--gh-font-heading,"Noto Serif TC"),Georgia,"Times New Roman",serif;
  --sans:var(--gh-font-body,"Noto Sans TC"),-apple-system,system-ui,sans-serif;
  --mono:"Space Mono",ui-monospace,monospace;
  --maxw:1240px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--ink);font-family:var(--sans);line-height:1.75;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 32px}
@media(max-width:640px){.wrap{padding:0 18px}}
.en{font-family:var(--sans);letter-spacing:.22em;text-transform:uppercase}
.kicker{font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--accent)}
.rule{height:1px;background:var(--line-2)}

/* ---- utility bar ---- */
.util{border-bottom:1px solid var(--line)}
.util .in{max-width:var(--maxw);margin:0 auto;padding:9px 32px;display:flex;align-items:center;gap:18px;font-family:var(--mono);font-size:11px;letter-spacing:.05em;color:var(--ink-dim)}
.util .sp{margin-left:auto}
.util a{color:var(--ink-2)}.util a:hover{color:var(--accent)}
.util .ic{cursor:pointer}
@media(max-width:680px){.util .hideS{display:none}}

/* ---- masthead ---- */
.mast{text-align:center;padding:22px 32px 18px;border-bottom:2px solid var(--accent)}
.mast .mkick{font-family:var(--sans);font-size:11px;letter-spacing:.2em;color:var(--ink-faint);margin-bottom:13px}
.mast .logo{font-family:var(--serif);font-weight:900;font-size:clamp(34px,4.8vw,54px);letter-spacing:.06em;line-height:1;text-indent:.06em;color:var(--ink)}
.mast .logo b{color:var(--accent)}
.mast .en1{font-family:var(--serif);font-size:clamp(14px,2vw,18px);letter-spacing:.42em;color:var(--ink-2);margin-top:14px;text-indent:.42em}
.mast .tag{font-family:var(--serif);font-style:italic;font-size:15px;letter-spacing:.08em;color:var(--ink-dim);margin-top:14px}

/* ---- nav ---- */
.nav{position:sticky;top:0;z-index:60;background:rgba(244,241,234,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--line-2)}
.nav .in{max-width:var(--maxw);margin:0 auto;padding:0 32px;display:flex;align-items:center;gap:6px;min-height:50px}
.nav .cats{display:flex;gap:2px;overflow-x:auto;scrollbar-width:none}
.nav .cats::-webkit-scrollbar{display:none}
.nav .cat{font-family:var(--sans);font-weight:500;font-size:14px;color:var(--ink-2);padding:14px 13px;white-space:nowrap;border-bottom:2px solid transparent;cursor:pointer}
.nav .cat:hover{color:var(--accent)}
.nav .cat.on{color:var(--ink);border-bottom-color:var(--accent)}
.nav .search{margin-left:auto;display:flex;align-items:center;gap:7px;border:1px solid var(--line-2);border-radius:2px;padding:7px 12px;background:var(--paper)}
.nav .search input{border:none;background:none;outline:none;font-family:var(--sans);font-size:13px;width:150px;color:var(--ink)}
.nav .search input::placeholder{color:var(--ink-faint)}
@media(max-width:760px){.nav .search{display:none}}

/* ---- section heading ---- */
.shead{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin:0 0 24px}
.shead .zh{font-family:var(--serif);font-weight:700;font-size:24px;letter-spacing:.04em;display:block}
.shead .en{display:block;font-size:11px;color:var(--ink-faint);letter-spacing:.18em;text-transform:uppercase;margin-top:5px}
.shead .more{font-family:var(--sans);font-size:13px;color:var(--accent);white-space:nowrap}

/* ---- cover image slot (生成式占位，無 feature_image 時由 main.js 補) ---- */
.imgslot{position:relative;overflow:hidden;background:#cfd3d0}
.imgslot svg{position:absolute;inset:0;width:100%;height:100%}
.imgslot img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.imgslot .note{position:absolute;left:10px;bottom:8px;font-family:var(--mono);font-size:9px;letter-spacing:.1em;color:rgba(255,255,255,.7);z-index:2}

/* ---- lead / cover story ---- */
.lead{display:grid;grid-template-columns:1.05fr .95fr;gap:52px;padding:58px 0 50px;align-items:start}
@media(max-width:860px){.lead{grid-template-columns:1fr;gap:24px}}
.lead .imgslot{aspect-ratio:4/3}
.lead .ct .kk{margin-bottom:18px}
.lead .ct .kk::after{content:"";display:block;width:32px;height:2px;background:var(--accent);margin-top:10px}
.lead .ct h2{font-family:var(--serif);font-weight:900;font-size:clamp(34px,4.6vw,52px);line-height:1.1;margin-bottom:16px}
.lead .ct h2 a{color:inherit}
.lead .ct p.stand{font-family:var(--serif);font-size:17px;line-height:1.9;color:var(--ink-2);margin-bottom:18px}
.lead .ct ul{list-style:none;margin-bottom:20px}
.lead .ct li{position:relative;padding-left:18px;font-size:14.5px;color:var(--ink-2);margin:7px 0}
.lead .ct li::before{content:"";position:absolute;left:0;top:9px;width:7px;height:7px;background:var(--accent);transform:rotate(45deg)}
.lead .ct .meta{font-family:var(--sans);font-size:12.5px;color:var(--ink-faint);display:flex;gap:14px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:14px;margin-bottom:18px}
.btn{display:inline-block;background:var(--accent);color:#fff;font-family:var(--sans);font-weight:500;font-size:14px;padding:11px 22px;border-radius:2px;transition:.15s;border:none;cursor:pointer}
.btn:hover{background:var(--accent-d)}

/* ---- executive brief ---- */
.brief{border-top:1px solid var(--line-2);border-bottom:1px solid var(--line-2);padding:26px 0;display:grid;grid-template-columns:.9fr 1fr 1fr 1fr;gap:28px}
@media(max-width:860px){.brief{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.brief{grid-template-columns:1fr}}
.brief .lbl .en{font-size:11px;font-weight:700;color:var(--ink);letter-spacing:.18em}
.brief .lbl p{font-size:12.5px;color:var(--ink-dim);margin:8px 0 10px;line-height:1.7}
.brief .lbl a{font-family:var(--sans);font-size:13px;color:var(--accent)}
.brief .it .n{font-family:var(--serif);font-weight:700;font-size:30px;color:var(--accent);line-height:1}
.brief .it p{font-family:var(--serif);font-size:15.5px;color:var(--ink);line-height:1.7;margin-top:10px}

/* ---- cards grid ---- */
.sect{padding:66px 0}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:40px 34px}
@media(max-width:860px){.grid3{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.grid3{grid-template-columns:1fr}}
.card .imgslot{aspect-ratio:16/10;margin-bottom:13px}
.card .tag{font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:.06em;color:var(--accent)}
.card h3{font-family:var(--serif);font-weight:700;font-size:20px;line-height:1.32;margin:8px 0}
.card:hover h3{color:var(--accent)}
.card p{font-size:13.5px;color:var(--ink-dim);line-height:1.7}
.card .meta{font-family:var(--sans);font-size:11.5px;color:var(--ink-faint);margin-top:11px;display:flex;gap:12px;flex-wrap:wrap}

/* ---- data brief ---- */
.data{background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.dwrap{display:grid;grid-template-columns:.72fr 4fr;gap:20px;align-items:start}
@media(max-width:860px){.dwrap{grid-template-columns:1fr}}
.dhead .zh{font-family:var(--serif);font-weight:700;font-size:22px}
.dhead .en{display:block;font-size:11px;color:var(--ink-faint);letter-spacing:.18em;text-transform:uppercase;margin:6px 0 16px}
.dhead .more{font-family:var(--sans);font-size:13px;color:var(--accent)}
.dgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
@media(max-width:860px){.dgrid{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.dgrid{grid-template-columns:1fr}}
.dcell{padding:32px 28px;border-right:1px solid var(--line)}
.dcell:last-child{border-right:none}
@media(max-width:860px){.dcell:nth-child(2){border-right:none}}
.dcell .v{font-family:var(--serif);font-weight:900;font-size:42px;color:var(--accent);line-height:1}
.dcell .v small{font-size:18px;font-weight:700}
.dcell .k{font-size:12.5px;color:var(--ink-2);margin:7px 0 3px;font-weight:500}
.dcell .sub{font-family:var(--mono);font-size:10px;color:var(--ink-faint)}
.dcell .chart{margin-top:18px;min-height:120px}

/* ---- explore sections band ---- */
.explore{background:var(--band)}
.exgrid{display:grid;grid-template-columns:.7fr 1fr 1fr 1fr;gap:30px;align-items:start}
@media(max-width:860px){.exgrid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.exgrid{grid-template-columns:1fr}}
.exgrid .head .zh{font-family:var(--serif);font-weight:700;font-size:20px}
.exgrid .head .en{font-size:11px;color:var(--ink-faint);display:block;margin:6px 0 10px}
.exgrid .head a{font-size:13px;color:var(--accent)}
.excol .ic{width:30px;height:30px;color:var(--accent);margin-bottom:10px}
.excol h4{font-family:var(--serif);font-weight:700;font-size:17px;margin-bottom:7px}
.excol h4 a{color:inherit}
.excol p{font-size:13px;color:var(--ink-dim);line-height:1.7}
.excol .cnt{font-family:var(--mono);font-size:11px;color:var(--ink-faint);margin-top:9px}

/* ---- newsletter ---- */
.news{padding:70px 0}
.news .box{display:grid;grid-template-columns:1.2fr 1fr;gap:26px;align-items:center}
@media(max-width:720px){.news .box{grid-template-columns:1fr}}
.news h3{font-family:var(--serif);font-weight:900;font-size:26px;line-height:1.3}
.news p{font-size:14px;color:var(--ink-dim);margin-top:8px}
.news .form{display:flex;gap:0;border:1px solid var(--line-2)}
.news input{flex:1;border:none;background:var(--paper);padding:13px 15px;font-family:var(--sans);font-size:14px;outline:none;color:var(--ink)}
.news .form .btn{border-radius:0}
.news .msg{font-family:var(--mono);font-size:11px;color:#3f7d52;margin-top:8px;min-height:14px}
.news .msg.err{color:var(--accent)}

/* ---- footer ---- */
footer.site{background:var(--bg);border-top:1px solid var(--line-2);color:var(--ink-2)}
.foot{display:grid;grid-template-columns:1.7fr 1fr 1fr auto;gap:30px;padding:46px 0 30px}
@media(max-width:760px){.foot{grid-template-columns:1fr 1fr}}
.foot .flogo{font-family:var(--serif);font-weight:900;font-size:24px;letter-spacing:.2em;color:var(--ink)}
.foot .fen{font-family:var(--serif);font-size:10.5px;letter-spacing:.34em;color:var(--ink-faint);margin:8px 0 10px}
.foot p.desc{font-size:12.5px;color:var(--ink-dim);line-height:1.8;max-width:30ch}
.foot h5{font-family:var(--sans);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:12px}
.foot a{display:block;font-size:13px;color:var(--ink-2);padding:5px 0}
.foot a:hover{color:var(--accent)}
.foot .soc{display:flex;gap:14px}
.foot .soc a{padding:0;color:var(--ink)}.foot .soc svg{width:20px;height:20px}
.fbar{border-top:1px solid var(--line);padding:18px 0;font-family:var(--mono);font-size:11px;color:var(--ink-faint);text-align:center}

/* =========================================================================
   文章頁 / 列表頁（post / tag / author / page）— 延伸自首頁設計系統
   ========================================================================= */
.post{max-width:768px;margin:0 auto;padding:56px 0 40px}
.post .post-head{margin-bottom:30px}
.post .kk{margin-bottom:16px}
.post .kk::after{content:"";display:block;width:32px;height:2px;background:var(--accent);margin-top:10px}
.post h1{font-family:var(--serif);font-weight:900;font-size:clamp(30px,4.4vw,46px);line-height:1.18;letter-spacing:.01em;margin-bottom:16px}
.post .deck{font-family:var(--serif);font-size:18px;line-height:1.9;color:var(--ink-2);margin-bottom:18px}
.post .meta{font-family:var(--sans);font-size:12.5px;color:var(--ink-faint);display:flex;gap:14px;flex-wrap:wrap;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 0}
.post .post-cover{aspect-ratio:16/9;margin:30px 0}
.post-foot{margin-top:48px;padding-top:24px;border-top:1px solid var(--line-2)}
.post-foot .tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px}
.post-foot .tags a{font-family:var(--sans);font-size:12px;font-weight:700;letter-spacing:.04em;color:var(--accent);border:1px solid var(--line-2);border-radius:2px;padding:5px 11px}
.post-foot .tags a:hover{background:var(--accent);color:#fff;border-color:var(--accent)}
.post-foot .author{display:flex;gap:14px;align-items:flex-start}
.post-foot .author .pic{width:46px;height:46px;border-radius:50%;object-fit:cover;background:var(--band);flex:0 0 auto}
.post-foot .author .nm{font-family:var(--serif);font-weight:700;font-size:16px}
.post-foot .author .bio{font-size:13px;color:var(--ink-dim);line-height:1.7;margin-top:3px}

/* ---- prose ---- */
.gh-content{font-family:var(--serif);font-size:18px;line-height:1.95;color:var(--ink)}
.gh-content > * + *{margin-top:1.25em}
.gh-content p{font-size:18px;line-height:1.95}
.gh-content h2{font-family:var(--serif);font-weight:900;font-size:27px;line-height:1.3;margin-top:1.8em}
.gh-content h3{font-family:var(--serif);font-weight:700;font-size:22px;line-height:1.35;margin-top:1.6em}
.gh-content h4{font-family:var(--sans);font-weight:700;font-size:16px;letter-spacing:.04em;margin-top:1.5em}
.gh-content a{color:var(--accent);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.gh-content a:hover{color:var(--accent-d)}
.gh-content ul,.gh-content ol{padding-left:1.4em}
.gh-content li{margin:.5em 0}
.gh-content ul li::marker{color:var(--accent)}
.gh-content blockquote{border-left:3px solid var(--accent);padding:4px 0 4px 22px;margin-left:0;color:var(--ink-2);font-style:italic}
.gh-content img,.gh-content iframe{border-radius:3px}
.gh-content figcaption{font-family:var(--sans);font-size:12.5px;color:var(--ink-faint);text-align:center;margin-top:8px}
.gh-content hr{border:none;border-top:1px solid var(--line-2);margin:2em 0}
.gh-content code{font-family:var(--mono);font-size:.85em;background:var(--band);padding:2px 6px;border-radius:2px}
.gh-content pre{background:var(--ink);color:#F8F6F1;font-family:var(--mono);font-size:14px;line-height:1.7;padding:18px 20px;border-radius:3px;overflow-x:auto}
.gh-content pre code{background:none;padding:0;color:inherit}
.gh-content table{width:100%;border-collapse:collapse;font-family:var(--sans);font-size:14px}
.gh-content th,.gh-content td{border:1px solid var(--line-2);padding:9px 12px;text-align:left}
.gh-content th{background:var(--band);font-weight:700}

/* ---- Koenig（Ghost 編輯器）卡片：寬版／滿版／圖庫 ---- */
.gh-content{position:relative}
.kg-width-wide{position:relative;width:75vw;min-width:100%;margin-left:calc(50% - 50vw);transform:translateX(calc(50vw - 50%))}
.kg-width-full{position:relative;width:100vw;margin-left:calc(50% - 50vw)}
.kg-width-full img{width:100%}
.kg-image{margin-left:auto;margin-right:auto}
.kg-card figcaption,.kg-image-card figcaption{font-family:var(--sans);font-size:12.5px;color:var(--ink-faint);text-align:center;margin-top:8px}
.kg-gallery-container{display:flex;flex-direction:column;margin:0 auto;max-width:1040px;width:100%}
.kg-gallery-row{display:flex;flex-direction:row;justify-content:center}
.kg-gallery-image{margin:6px}
.kg-gallery-image img{display:block;margin:0;width:100%;height:100%}
.kg-bookmark-card{width:100%;margin:0}
.kg-bookmark-container{display:flex;min-height:148px;color:var(--ink);background:var(--paper);box-shadow:0 0 1px rgba(0,0,0,.08);border:1px solid var(--line);border-radius:3px;overflow:hidden}
.kg-bookmark-content{display:flex;flex-direction:column;flex-grow:1;justify-content:flex-start;padding:20px}
.kg-bookmark-title{font-family:var(--sans);font-weight:700;font-size:15px;color:var(--ink)}
.kg-bookmark-description{font-family:var(--sans);font-size:13px;color:var(--ink-dim);margin-top:8px;max-height:44px;overflow:hidden}
.kg-bookmark-metadata{font-family:var(--sans);font-size:13px;color:var(--ink-2);margin-top:14px;display:flex;align-items:center}
.kg-bookmark-thumbnail{position:relative;min-width:33%;max-height:100%}
.kg-bookmark-thumbnail img{width:100%;height:100%;object-fit:cover}
.kg-embed-card{display:flex;flex-direction:column;align-items:center;margin:0 auto}
.kg-callout-card{display:flex;padding:18px 20px;border-radius:3px;background:var(--band)}
.kg-callout-emoji{padding-right:12px;font-size:18px}
.kg-toggle-card{border:1px solid var(--line-2);border-radius:3px;padding:0}
.kg-toggle-heading{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;cursor:pointer}
.kg-product-card .kg-product-card-container{border:1px solid var(--line-2);border-radius:3px;padding:20px}
.kg-header-card{padding:60px 0;text-align:center}
.kg-blockquote-alt{font-family:var(--serif);font-style:italic;font-size:22px;line-height:1.6;text-align:center;color:var(--ink-2)}

/* ---- archive (tag / author / page) ---- */
.archive-head{text-align:center;padding:54px 0 10px;border-bottom:1px solid var(--line)}
.archive-head .kicker{display:block;margin-bottom:12px}
.archive-head h1{font-family:var(--serif);font-weight:900;font-size:clamp(30px,4.4vw,46px);line-height:1.15}
.archive-head p{font-size:14.5px;color:var(--ink-dim);max-width:54ch;margin:14px auto 0;line-height:1.8}

/* ---- pagination ---- */
.pager{display:flex;justify-content:center;gap:18px;align-items:center;padding:40px 0 10px;font-family:var(--sans);font-size:14px}
.pager a{color:var(--accent);border:1px solid var(--line-2);border-radius:2px;padding:9px 18px}
.pager a:hover{background:var(--accent);color:#fff;border-color:var(--accent)}
.pager .page{font-family:var(--mono);font-size:12px;color:var(--ink-dim)}

/* ---- generic page ---- */
.page-body{max-width:768px;margin:0 auto;padding:48px 0}

/* ---- error ---- */
.errpage{text-align:center;padding:90px 0}
.errpage .code{font-family:var(--serif);font-weight:900;font-size:80px;color:var(--accent);line-height:1}
.errpage h1{font-family:var(--serif);font-size:24px;margin:10px 0 18px}

/* =========================================================================
   文章頁：側邊可點目錄（ToC）＋ 本文重點框 ＋ 大引言（pull-quote）
   ========================================================================= */
.post-layout{max-width:1140px;margin:0 auto;padding:56px 0 40px;display:grid;grid-template-columns:232px minmax(0,1fr);gap:60px;align-items:start}
.post-layout .post{max-width:none;margin:0;padding:0}
@media(max-width:960px){.post-layout{grid-template-columns:1fr;gap:0}}

/* 側邊目錄：sticky、左細線、編號 01/02… */
.toc{position:sticky;top:68px;border-right:2px solid var(--line-2);padding-right:18px;order:0}
@media(max-width:960px){.toc{position:static;order:0;border-right:none;padding:18px 0;margin-bottom:6px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}}
.toc .toc-label{font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:14px}
.toc ol{list-style:none;counter-reset:toc;display:flex;flex-direction:column;gap:11px;padding:0;margin:0}
.toc li{counter-increment:toc}
.toc a{display:flex;gap:10px;font-family:var(--sans);font-size:13.5px;line-height:1.5;color:var(--ink-2)}
.toc a::before{content:counter(toc,decimal-leading-zero);font-family:var(--mono);font-size:11px;font-weight:700;color:var(--accent);flex:0 0 auto;padding-top:1px}
.toc a:hover{color:var(--accent)}
.toc a.on{color:var(--ink);font-weight:500}
.post h2[id]{scroll-margin-top:64px}

/* 本文重點框 */
.keypoints{background:var(--paper);border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:2px;padding:20px 24px;margin:28px 0}
.keypoints .kp-label{font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin-bottom:13px}
.keypoints ul{list-style:none;display:flex;flex-direction:column;gap:10px;padding:0;margin:0}
.keypoints li{position:relative;padding-left:18px;font-family:var(--serif);font-size:15.5px;line-height:1.7;color:var(--ink)}
.keypoints li::before{content:"";position:absolute;left:0;top:10px;width:7px;height:7px;background:var(--accent);transform:rotate(45deg)}

/* 大引言（pull-quote）：置中、無邊框、頂部緋紅短線 */
.gh-content blockquote.pullquote{border:none;background:none;text-align:center;font-family:var(--serif);font-weight:700;font-style:normal;font-size:clamp(22px,3vw,30px);line-height:1.55;color:var(--accent);max-width:20em;margin:42px auto;padding:0}
.gh-content blockquote.pullquote::before{content:"";display:block;width:40px;height:3px;background:var(--accent);margin:0 auto 22px}

/* =========================================================================
   文章頁：關鍵數據圖表 ＋ 引用註腳 ＋ 來源小字 ＋ 編號標題 ＋ 畫重點
   ========================================================================= */
/* 關鍵數據條（複用首頁圖表引擎，由 article.js 繪製） */
.fig-strip{margin:30px 0 10px;border-top:1px solid var(--line-2);border-bottom:1px solid var(--line-2);padding:22px 0}
.fig-strip .fig-label{font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin-bottom:18px}
.fig-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(178px,1fr))}
.figc{padding:4px 22px;border-right:1px solid var(--line)}
.figc:last-child{border-right:none}
.figc .v{font-family:var(--serif);font-weight:900;font-size:34px;color:var(--accent);line-height:1}
.figc .v small{font-size:16px;font-weight:700}
.figc .k{font-size:12.5px;color:var(--ink-2);margin:9px 0 3px;font-weight:500;line-height:1.5}
.figc .sub{font-family:var(--mono);font-size:10px;color:var(--ink-faint);line-height:1.4}
.figc .chart{margin-top:14px;min-height:120px}
@media(max-width:680px){.figc{border-right:none;border-bottom:1px solid var(--line);padding:16px 0}.figc:last-child{border-bottom:none}}

/* 編號標題：01／02… 緋紅前綴（只給有錨點的章節 h2） */
.gh-content{counter-reset:sec}
.gh-content h2[id]{counter-increment:sec}
.gh-content h2[id]::before{content:counter(sec,decimal-leading-zero);font-family:var(--mono);font-size:.5em;font-weight:700;color:var(--accent);vertical-align:middle;margin-right:.62em;letter-spacing:.04em}

/* 引用註腳：藍色可點上標，跳到對應來源 */
.gh-content sup.fn{font-family:var(--mono);font-size:.6em;font-weight:700;line-height:0;vertical-align:super;margin-left:1px}
.gh-content sup.fn a{color:var(--cite);text-decoration:none}
.gh-content sup.fn a:hover{color:var(--accent);text-decoration:underline}

/* 畫重點：琥珀重點框（>!）＋ 行內螢光標記（==字==） */
.gh-content blockquote.callout{border-left:4px solid var(--mark);background:var(--mark-bg);font-style:normal;font-weight:700;font-family:var(--serif);font-size:clamp(19px,2.3vw,24px);line-height:1.5;color:var(--ink);padding:18px 24px;margin:34px 0;border-radius:0 2px 2px 0}
.gh-content mark{background:linear-gradient(transparent 56%,rgba(200,121,30,.34) 56%);color:inherit;padding:0 1px;border-radius:1px}

/* 資料來源：獨立小字區，保留原始來源編號、被引用時高亮 */
.post-sources{margin-top:2.6em;padding-top:1.5em;border-top:1px solid var(--line-2)}
.post-sources h2{font-family:var(--serif);font-weight:700;font-size:18px;color:var(--ink-dim);letter-spacing:.02em;margin-bottom:14px}
.post-sources ol{font-family:var(--sans);font-size:12.5px;line-height:1.7;color:var(--ink-dim);padding-left:2.4em;display:flex;flex-direction:column;gap:7px;margin:0}
.post-sources li{scroll-margin-top:80px;padding-left:4px}
.post-sources li::marker{font-family:var(--mono);font-size:11px;color:var(--ink-faint)}
.post-sources a{color:var(--ink-2);text-decoration:underline;text-underline-offset:2px;text-decoration-color:var(--line-2)}
.post-sources a:hover{color:var(--accent);text-decoration-color:var(--accent)}
.post-sources li:target{background:var(--mark-bg);box-shadow:-6px 0 0 var(--mark-bg),6px 0 0 var(--mark-bg)}
