/*
Theme Name: IFA Market
Theme URI: https://ifa.ai/
Author: 前進智能投顧
Author URI: https://ifa.ai/
Description: 為「個股最新市況」內容網站設計的佈景主題，嚴格遵循 iFa.ai Design System：Cormorant Garamond 標題、Inter 內文、JetBrains Mono 標籤，暖色紙質背景配單一青銅色重點，1px 細線、零圓角。中文級距取自 aurora.ifa.ai 現行實測值。內建個股欄位與產業／策略分類，所有欄位開放 REST API 寫入。
Version: 5.139.0
Requires at least: 6.0
Tested up to: 7.1
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: ifa-market
Tags: custom-logo, custom-menu, featured-images, translation-ready, news, blog

本主題以 GPLv2（或更新版本）授權釋出。
隨附字型 Cormorant Garamond、Inter、JetBrains Mono 採 SIL Open Font License 1.1 授權，
授權條款見 assets/fonts/OFL.txt。
品牌素材（logo、策略圖示）取自 iFa.ai Design System，版權屬前進智能投顧。
*/

/* ═══════════════════════════════════════════════════════════════════════
   1. 設計 token
      名稱與數值完全比照 iFa.ai Design System 的 colors_and_type.css，
      不另外發明色票。
   ═══════════════════════════════════════════════════════════════════════ */
:root {
	/* ── 表面 ── */
	--paper:        rgb(246, 241, 232);   /* 頁面底色 · #F6F1E8 */
	--cream:        rgb(237, 231, 216);   /* 卡片／表頭色帶 */
	--white:        rgb(255, 255, 255);
	--line-soft:    rgb(245, 241, 232);   /* 米色上的細線 */

	/* ── 墨色／文字 ── */
	--ink:          rgb(11, 20, 38);      /* 主文字與深色區塊 · #0B1426 */
	--slate:        rgb(100, 109, 127);   /* 次要文字、說明 */
	--mute:         rgb(168, 178, 199);   /* 第三層／placeholder／停用 */
	--offwhite:     rgb(251, 248, 240);   /* 深色底上的文字 · #FBF8F0 */
	--line:         rgb(214, 207, 191);   /* 細線 */
	--tint:         rgb(243, 243, 242);   /* 表格斑馬列 */

	/* ── 重點色：青銅／金（全站唯一一組重點色）── */
	--bronze:       rgb(176, 141, 62);    /* 預設重點 · #B08D3E */
	--bronze-deep:  rgb(143, 111, 42);    /* hover／按下 · #8F6F2A */
	--bronze-warm:  rgb(212, 182, 106);   /* 深色底上的重點 · #D4B66A */
	--bronze-pale:  rgb(201, 185, 142);   /* 淡色裝飾 · #C9B98E */
	--slate-light:  rgb(168, 178, 199);   /* 深色底上的次要文字 · #A8B2C7（取自 ifa.ai 首頁）*/
	--slate-pale:   rgb(213, 221, 234);   /* 深色底上的重點文字 · #D5DDEA（比 --slate-light 再亮一階）*/
	--cta-brown:    #8F7029;              /* 「取得完整策略」專用（使用者 2026-10-16 指定）*/

	/* ── 語意色（台股慣例：紅漲綠跌）── */
	--up:           #B22B2B;
	--down:         #0F6B43;

	/* ── 字族 ── */
	--font-serif: "Cormorant Garamond", "Noto Serif TC", "Songti TC", Georgia, serif;
	--font-sans:  "Inter", "Noto Sans TC", "PingFang TC", "Microsoft JhengHei", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;
	--font-mono:  "JetBrains Mono", "Noto Sans TC", ui-monospace, SFMono-Regular, Menlo, monospace;
	/* 數字一律跟著內文字體走（使用者 2026-10-22 指定）。
	   兩個例外：標題裡的數字跟著標題用襯線（本來就會繼承，不必另外指定）；
	   日期用等寬，見 --font-mono 與 .is-date。 */
	--font-num:   "Inter", "Noto Sans TC", "PingFang TC", "Microsoft JhengHei", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;

	/* ── 字級（完全比照官方研究報告現行版本）── */
	--fs-title:   28px;   /* 文章主標 */
	--fs-h1:      26px;   /* 章節標題 */
	--fs-h2:      24px;   /* 子章節 */
	--fs-h3:      16px;   /* 小節 */
	--fs-h4:      16px;   /* 標籤式小標 */
	--fs-lead:    14px;
	--chart-w:    800px;   /* 股價區間圖的寬度；手機上不縮，改成左右滑 */
	--fs-body:    14px;
	--fs-callout: 14px;
	--fs-table:   12px;
	--fs-quote:   20px;
	--fs-cap:     12px;
	--fs-note:    12px;

	/* ── 章節編號欄寬（標題加 01／02 編號時，文字起點一致）── */
	--title-indent: 48px;

	/* ── 字距 ── */
	--track-title:  -0.5px;
	--track-mono:   2px;      /* 所有 JetBrains Mono 標籤 */

	/* ── 線寬與圓角 ── */
	--border-w:     1px;      /* 全站唯一線寬 */
	--radius-none:  0;        /* 系統不使用任何圓角 */

	/* ── 陰影：僅用於兩處（深色主按鈕、吸頂列）── */
	--shadow-dark-btn: 0 10px 28px rgba(14, 18, 48, 0.35), 0 4px 10px rgba(14, 18, 48, 0.25);
	--shadow-sticky:   0 6px 18px rgba(11, 20, 38, 0.04);

	/* ── 間距（8pt 節奏）── */
	--space-1: 4px;   --space-2: 8px;   --space-3: 12px;  --space-4: 16px;
	--space-5: 20px;  --space-6: 24px;  --space-8: 32px;  --space-10: 40px;
	--space-12: 48px; --space-16: 64px; --space-20: 80px; --space-25: 100px;

	/* ── 版面 ── */
	--container-max: 1440px;
	--container-pad: 80px;
	--content-w:     1240px;  /* 內容欄 */
	--read-w:        1000px;  /* 長文閱讀欄（比照官方個股研究報告）*/
	--toc-w:         200px;   /* 左側目錄欄 */
	--toc-gap:       64px;    /* 目錄與內容欄的間距 */
	--article-w:     800px;   /* 內文欄：章節標題之外的內容都縮到這個寬度 */
}

/* ═══════════════════════════════════════════════════════════════════════
   2. 字型
      Design System 原本從 Google Fonts 載入；此處改為隨主題內附
      拉丁子集（DS 允許的替代做法，已於 README 標註）。
      中文字型交由使用者裝置的系統字型顯示。
   ═══════════════════════════════════════════════════════════════════════ */
@font-face {
	font-family: "Cormorant Garamond"; font-style: normal; font-weight: 300 700; font-display: swap;
	src: url("assets/fonts/cormorant-garamond-latin.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: "Cormorant Garamond"; font-style: normal; font-weight: 300 700; font-display: swap;
	src: url("assets/fonts/cormorant-garamond-latin-ext.woff2") format("woff2");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
	font-family: "Inter"; font-style: normal; font-weight: 100 900; font-display: swap;
	src: url("assets/fonts/inter-latin.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: "Inter"; font-style: normal; font-weight: 100 900; font-display: swap;
	src: url("assets/fonts/inter-latin-ext.woff2") format("woff2");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
	font-family: "JetBrains Mono"; font-style: normal; font-weight: 100 800; font-display: swap;
	src: url("assets/fonts/jetbrains-mono-latin.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: "JetBrains Mono"; font-style: normal; font-weight: 100 800; font-display: swap;
	src: url("assets/fonts/jetbrains-mono-latin-ext.woff2") format("woff2");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* ═══════════════════════════════════════════════════════════════════════
   3. 基礎
   ═══════════════════════════════════════════════════════════════════════ */
*, *::before, *::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }

body {
	margin: 0;
	background: var(--paper);
	color: var(--ink);
	font-family: var(--font-sans);
	font-size: var(--fs-body);  /* 比照官方研究報告現行版本 */
	line-height: 1.8;
	letter-spacing: 0.005em;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	overflow-wrap: break-word;
}

img, svg, video { max-width: 100%; height: auto; display: block; }

a { color: inherit; text-decoration: none; transition: color .2s ease, border-color .2s ease; }
a:hover { color: var(--bronze-deep); }

button, input, select, textarea { font: inherit; color: inherit; }

hr { border: 0; border-top: var(--border-w) solid var(--line); margin: var(--space-10) 0; }

/* 數字一律等寬對齊 */
.ifam-num, .ifam-quote__value,
.ifam-metrics td, .ifam-content td {
	font-variant-numeric: tabular-nums;
	font-feature-settings: "tnum" 1;
}

.screen-reader-text {
	border: 0; clip-path: inset(50%);
	height: 1px; width: 1px; margin: -1px; padding: 0;
	overflow: hidden; position: absolute !important; word-wrap: normal !important;
}
.screen-reader-text:focus {
	background: var(--white); clip-path: none;
	color: var(--ink); display: block; height: auto; width: auto;
	left: var(--space-2); top: var(--space-2); padding: var(--space-3) var(--space-5);
	z-index: 100000; border: var(--border-w) solid var(--bronze);
}

:focus-visible { outline: var(--border-w) solid var(--bronze-deep); outline-offset: 3px; }

/* ═══════════════════════════════════════════════════════════════════════
   4. 文字
      中文級距取自 aurora.ifa.ai 實測；英文標籤依 Design System。
   ═══════════════════════════════════════════════════════════════════════ */
h1, h2, h3, h4, h5, h6 { margin: 0 0 var(--space-4); color: var(--ink); }

/* 主標題 — 研究報告 doc-title：serif 600 / 28px / 1.12 / -0.02em */
h1 {
	font-family: var(--font-serif); font-weight: 600;
	font-size: var(--fs-title); line-height: 1.5; letter-spacing: -0.02em;
}
/* 章節標題 — 研究報告 h1：serif 500 / 26px / 1.15 / -0.01em */
h2 {
	font-family: var(--font-serif); font-weight: 500;
	font-size: var(--fs-h1); line-height: 1.15; letter-spacing: -0.01em;
}
/* 子章節 — 研究報告 h2：serif 500 / 24px / 1.3 / -0.005em */
h3 {
	font-family: var(--font-serif); font-weight: 500;
	font-size: var(--fs-h2); line-height: 1.3; letter-spacing: -0.005em;
}
/* 小節 — 研究報告 h3：sans 600 / 16px / 1.4 / 0.02em */
h4 {
	font-family: var(--font-sans); font-weight: 600;
	font-size: var(--fs-h3); line-height: 1.4; letter-spacing: 0.02em;
}
/* 標籤式小標 — 研究報告 h4：mono 700 / 16px / 0.18em / 青銅 */
h5 {
	font-family: var(--font-mono); font-weight: 700;
	font-size: var(--fs-h4); line-height: 1.5; letter-spacing: 0.18em;
	text-transform: uppercase; color: var(--bronze);
}
/* mono 標籤 — DS H6 type1 */
h6, .ifam-eyebrow, .ifam-mono-label {
	font-family: var(--font-mono); font-weight: 700;
	font-size: 11px; line-height: 1.5; letter-spacing: var(--track-mono);
	text-transform: uppercase; color: var(--bronze);
	margin: 0 0 var(--space-4); display: block;
}

/* 章節編號（<span class="sec-num">01</span>）：有編號時文字起點對齊，換行不跑掉。
   沒有編號的標題不受影響。 */
h1:has(> .sec-num), h2:has(> .sec-num), h3:has(> .sec-num) {
	padding-left: var(--title-indent);
	text-indent: calc(-1 * var(--title-indent));
}
.sec-num { display: inline-block; width: var(--title-indent); text-indent: 0; }
.ifam-eyebrow--sm { font-size: 12px; font-weight: 400; color: var(--slate); }
.ifam-eyebrow.on-dark, h6.on-dark { color: var(--bronze-warm); }

p { margin: 0 0 var(--space-5); }
p:last-child { margin-bottom: 0; }

strong, b { font-weight: 600; }
em { font-style: italic; }

/* 斜體襯線導語 — DS 的招牌手法 */
.ifam-lede {
	font-family: var(--font-serif); font-weight: 500; font-style: italic;
	font-size: 18px; line-height: 1.6; letter-spacing: var(--track-title);
	color: var(--ink); margin: 0;
}

code, kbd, pre { font-family: var(--font-mono); font-size: 0.9em; letter-spacing: 0; }
code { background: var(--cream); padding: 2px var(--space-1); }
pre {
	background: var(--ink); color: var(--offwhite);
	padding: var(--space-6); overflow-x: auto; line-height: 1.6;
}
pre code { background: none; padding: 0; color: inherit; }

/* ═══════════════════════════════════════════════════════════════════════
   5. 版面容器
   ═══════════════════════════════════════════════════════════════════════ */
.ifam-wrap {
	width: 100%; max-width: calc(var(--content-w) + var(--container-pad) * 2);
	margin: 0 auto; padding: 0 var(--container-pad);
}
.ifam-wrap--read { max-width: calc(var(--read-w) + var(--container-pad) * 2); }

.ifam-section { padding: var(--space-25) 0; }
.ifam-section--tight { padding: var(--space-16) 0; }

.ifam-site { display: flex; flex-direction: column; min-height: 100vh; }
.ifam-main { flex: 1 0 auto; }

/* 點狀色帶 — DS 的招牌分隔motif */
.ifam-dot-band {
	width: 100%; height: 32px;
	background-image: radial-gradient(circle, var(--line) 0.8px, transparent 1.1px);
	background-size: 4px 4px; background-repeat: repeat;
}

/* 細線標題列 */
.ifam-rule-title {
	display: flex; align-items: baseline; gap: var(--space-5);
	margin-bottom: var(--space-8);
}
.ifam-rule-title::after { content: ""; flex: 1; height: var(--border-w); background: var(--line); }
.ifam-rule-title h2, .ifam-rule-title h3 { margin: 0; }

/* ═══════════════════════════════════════════════════════════════════════
   6. 按鈕與連結
   ═══════════════════════════════════════════════════════════════════════ */
.ifam-btn {
	display: inline-flex; align-items: center; gap: var(--space-3);
	padding: var(--space-4) var(--space-5);
	font-family: var(--font-sans); font-weight: 500; font-size: 14px;
	letter-spacing: 0.04em; line-height: 1;
	border: var(--border-w) solid var(--ink);
	background: var(--ink); color: var(--offwhite);
	border-radius: var(--radius-none); cursor: pointer;
	transition: background .15s ease, color .15s ease, border-color .15s ease;
}
.ifam-btn:hover { background: var(--bronze-deep); border-color: var(--bronze-deep); color: var(--offwhite); }
.ifam-btn--glow { box-shadow: var(--shadow-dark-btn); }

.ifam-btn--ghost {
	background: transparent; color: var(--ink); border-color: var(--line);
	font-family: var(--font-mono); font-weight: 500; font-size: 12px;
	letter-spacing: var(--track-mono); text-transform: uppercase;
}
.ifam-btn--ghost:hover { background: transparent; border-color: var(--bronze); color: var(--bronze-deep); }

/* 線框版：墨色細框、透明底，hover 時整顆翻成墨底白字。
   2026-10-22 起「策略詳情」「詳細紀錄」都改用這顆，
   取代原本那種只有底線的文字箭頭連結（.ifam-arrow，已移除）。

   全部用 .ifam-content 開頭是必要的：.ifam-content a 會塞進 color、
   border-bottom（青銅色）與 padding-bottom: 1px，不蓋掉的話按鈕會變成
   底線歪一邊、而且深色底上的字會跟著變成墨色、整顆看不見。 */
.ifam-btn--line,
.ifam-content .ifam-btn--line {
	background: transparent; color: var(--ink);
	border: var(--border-w) solid var(--ink);
	padding: 9px var(--space-5);
	font-weight: 600; letter-spacing: 0.02em; line-height: 1.2;
}
.ifam-btn--line:hover,
.ifam-content .ifam-btn--line:hover {
	background: var(--ink); border-color: var(--ink); color: var(--offwhite);
}
/* 箭頭一律用 mono 的 →／↓。
   weight 與 letter-spacing 都明寫死，不跟著按鈕的粗體與字距跑——
   不然同一個字元在粗體按鈕裡會比較壯、字距大的按鈕後面還會多出空白，
   四顆按鈕的箭頭看起來就不是同一個。 */
.ifam-btn__arrow {
	font-family: var(--font-mono); font-size: 15px; line-height: 1;
	font-weight: 400; letter-spacing: 0;
	transition: transform .18s ease;
}
.ifam-btn:hover .ifam-btn__arrow { transform: translateX(3px); }

/* ═══════════════════════════════════════════════════════════════════════
   7. 頁首
   ═══════════════════════════════════════════════════════════════════════ */
/* 2026-10-22：頁首改為跟著頁面一起捲走，不再吸頂。
   因此半透明底色＋backdrop-filter（本來是讓內容從底下穿過時糊掉）與
   吸頂用的細陰影都沒有意義了，一併拿掉。
   2026-10-27：下方那條細線也拿掉，頁首直接和內容連成一片。 */
.ifam-header {
	background: var(--paper);
}
.ifam-header__inner { display: flex; align-items: center; gap: var(--space-8); height: 70px; }
/* 右上角的行動按鈕：黑底白字，滑過變青銅底（沿用 .ifam-btn 的配色） */
.ifam-header__cta { margin-left: auto; flex: 0 0 auto; padding: var(--space-3) var(--space-5); }

.ifam-brand { display: flex; align-items: center; gap: var(--space-4); flex: 0 0 auto; color: var(--ink); }
.ifam-brand__logo svg, .ifam-brand__logo img { height: 22px; width: auto; }
.ifam-brand__text {
	font-family: var(--font-serif); font-weight: 600; font-size: 24px;
	letter-spacing: 0.01em; line-height: 1; color: var(--ink);
}
.ifam-nav { margin-left: auto; }
.ifam-nav ul { display: flex; align-items: center; gap: var(--space-8); list-style: none; margin: 0; padding: 0; }
.ifam-nav li { position: relative; }
.ifam-nav a {
	font-family: var(--font-sans); font-weight: 500; font-size: 14px;
	letter-spacing: 0.5px; line-height: 21px;
	padding: var(--space-2) 0; display: inline-block;
	border-bottom: var(--border-w) solid transparent;
}
.ifam-nav a:hover { color: var(--bronze-deep); border-bottom-color: var(--bronze-deep); }
.ifam-nav .current-menu-item > a,
.ifam-nav .current_page_item > a { border-bottom-color: var(--bronze); }

.ifam-nav ul ul {
	position: absolute; top: 100%; left: calc(var(--space-5) * -1);
	display: block; min-width: 190px;
	background: var(--white); border: var(--border-w) solid var(--line);
	padding: var(--space-2) 0;
	opacity: 0; visibility: hidden; transform: translateY(4px);
	transition: opacity .2s ease, transform .2s ease, visibility .2s;
}
.ifam-nav li:hover > ul, .ifam-nav li:focus-within > ul { opacity: 1; visibility: visible; transform: translateY(0); }
.ifam-nav ul ul li { display: block; }
.ifam-nav ul ul a { display: block; padding: var(--space-2) var(--space-5); border: 0; }
.ifam-nav ul ul a:hover { background: var(--cream); }

.ifam-nav-toggle {
	display: none; margin-left: auto;
	background: none; border: var(--border-w) solid var(--line);
	padding: var(--space-2) var(--space-3); cursor: pointer; line-height: 0;
}
.ifam-nav-toggle span { display: block; width: 18px; height: 1px; background: var(--ink); margin: var(--space-1) 0; transition: transform .2s ease, opacity .2s ease; }
.ifam-nav-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(5px) rotate(45deg); }
.ifam-nav-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.ifam-nav-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-5px) rotate(-45deg); }

/* ═══════════════════════════════════════════════════════════════════════
   8. 頁尾（白底 — 比照官方個股研究報告與 aurora 現行版本）
   ═══════════════════════════════════════════════════════════════════════ */
.ifam-footer {
	background: var(--white);
	border-top: var(--border-w) solid var(--line);
	padding: var(--space-16) 0 var(--space-8);
	margin-top: auto;
	font-family: var(--font-sans); font-size: 14px; line-height: 22px;
	color: var(--slate);
}
.ifam-footer a { color: var(--ink); }
.ifam-footer a:hover { color: var(--bronze-deep); }
.ifam-footer__top {
	display: grid; grid-template-columns: 2fr 1fr 1fr; gap: var(--space-16);
	padding-bottom: var(--space-12); border-bottom: var(--border-w) solid var(--line);
}
.ifam-footer__brand { display: inline-block; color: var(--ink); margin-bottom: var(--space-5); }
.ifam-footer__brand svg, .ifam-footer__brand img { height: 28px; width: auto; }
.ifam-footer__brand-text { font-family: var(--font-serif); font-weight: 600; font-size: 26px; color: var(--ink); }
.ifam-footer__desc {
	font-family: var(--font-serif); font-style: italic; font-weight: 500;
	font-size: 20px; line-height: 1.5; color: var(--slate);
	max-width: 42ch; margin: var(--space-6) 0 0;
}
.ifam-footer h6 { color: var(--bronze); margin-bottom: var(--space-5); }
.ifam-footer ul { list-style: none; margin: 0; padding: 0; }
.ifam-footer li { margin-bottom: var(--space-3); }
/* 地址：和上面的聯絡方式分開一點，字級比照頁尾本文 */
.ifam-footer__addr {
	margin: var(--space-6) 0 0;
	line-height: 1.7;
	max-width: 22ch;
}
.ifam-footer__bottom {
	display: flex; flex-wrap: wrap; gap: var(--space-4) var(--space-8);
	justify-content: space-between; align-items: flex-start;
	padding-top: var(--space-6);
}
.ifam-footer__legal {
	font-family: var(--font-mono); font-size: 12px; line-height: 20.4px;
	letter-spacing: var(--track-mono); color: var(--slate); max-width: 78ch; margin: 0;
}
.ifam-footer__copy {
	font-family: var(--font-mono); font-size: 12px; line-height: 1.5;
	letter-spacing: var(--track-mono); text-transform: uppercase; color: var(--slate); margin: 0;
}

/* ═══════════════════════════════════════════════════════════════════════
   9. 列表頁
   ═══════════════════════════════════════════════════════════════════════ */
/* 2026-10-28：麵包屑從列表頁拿掉之後，頁首到第一個區塊標題只剩這段內距，
   原本的 64px 顯得太空，縮成 40px。後面幾區的間距由下面那兩條更具體的
   規則負責（區塊之間要留得比開頭多，才看得出是不同區）。 */
.ifam-page-head {
	padding: var(--space-10) 0 var(--space-10);
	display: flex; flex-wrap: wrap; align-items: flex-end;
	justify-content: space-between; gap: var(--space-6) var(--space-10);
}
.ifam-page-head__text { flex: 1 1 440px; min-width: 0; }
.ifam-page-head__aside { flex: 0 0 auto; padding-bottom: var(--space-1); }
.ifam-page-head h1, .ifam-page-head h2 { margin-bottom: var(--space-5); }
/* 第二區的頂距不必和整頁開頭一樣大，否則兩區之間會開一個大洞 */
.ifam-listsec + .ifam-listsec .ifam-page-head { padding-top: var(--space-12); }
.ifam-page-head .ifam-lede { max-width: 56ch; }
/* 市況列表頁的大標題是「大標－副標」一行（使用者 2026-10-30 指定），
   不再是標題一行、說明文一行。副標比大標小一階、用次要色。 */
.ifam-page-head--one { display: block; padding-bottom: var(--space-6); }
.ifam-page-head--one h2 { margin-bottom: 0; }
.ifam-page-head__sub { color: var(--slate); font-weight: 400; }

/* 篩選列 */
.ifam-filters {
	display: flex; flex-direction: column; gap: var(--space-3);
	padding: var(--space-5) 0;
	border-top: var(--border-w) solid var(--line);
	border-bottom: var(--border-w) solid var(--line);
	margin-bottom: var(--space-12);
}
.ifam-filters__row { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2); }
.ifam-filters__label {
	flex: 0 0 84px;
	font-family: var(--font-mono); font-weight: 700; font-size: 12px;
	letter-spacing: var(--track-mono); text-transform: uppercase; color: var(--bronze);
}
.ifam-chip {
	display: inline-flex; align-items: center; gap: var(--space-2);
	padding: var(--space-2) var(--space-4);
	font-family: var(--font-sans); font-size: 14px; line-height: 21px;
	border: var(--border-w) solid var(--line);
	background: transparent; white-space: nowrap;
	transition: background .15s ease, border-color .15s ease, color .15s ease;
}
.ifam-chip:hover { border-color: var(--bronze); color: var(--bronze-deep); }
.ifam-chip.is-active { background: var(--ink); border-color: var(--ink); color: var(--offwhite); }
.ifam-chip.is-active:hover { color: var(--offwhite); }
.ifam-chip__count { font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.06em; color: var(--slate); }
.ifam-chip.is-active .ifam-chip__count { color: var(--mute); }

/* 搜尋 */
.ifam-searchform { display: flex; align-items: stretch; }
.ifam-searchform input[type="search"] {
	border: var(--border-w) solid var(--line); border-right: 0;
	background: var(--white); color: var(--ink);
	padding: var(--space-3) var(--space-4);
	font-family: var(--font-sans); font-size: 14px; width: 240px;
	border-radius: var(--radius-none);
	transition: box-shadow .15s ease, border-color .15s ease;
}
.ifam-searchform input[type="search"]::placeholder { color: var(--mute); }
.ifam-searchform input[type="search"]:focus {
	outline: none; border-color: var(--bronze);
	box-shadow: 0 0 0 3px rgba(176, 141, 62, 0.18);
}
.ifam-searchform button {
	border: var(--border-w) solid var(--ink); background: var(--ink); color: var(--offwhite);
	padding: var(--space-3) var(--space-5);
	font-family: var(--font-mono); font-weight: 500; font-size: 12px;
	letter-spacing: var(--track-mono); text-transform: uppercase;
	border-radius: var(--radius-none); cursor: pointer;
	transition: background .15s ease, border-color .15s ease;
}
.ifam-searchform button:hover { background: var(--bronze-deep); border-color: var(--bronze-deep); }

/* 即時建議：浮在輸入框下方，1px 細線、零圓角，和站上其他元件一致 */
.ifam-searchform__field { position: relative; }
.ifam-suggest {
	position: absolute; left: 0; right: 0; top: 100%; z-index: 40;
	margin: -1px 0 0; padding: 0; list-style: none;
	background: var(--white);
	border: var(--border-w) solid var(--line);
	box-shadow: var(--shadow-sticky);
	max-height: 320px; overflow-y: auto;
}
.ifam-suggest__item + .ifam-suggest__item { border-top: var(--border-w) solid var(--line-soft); }
.ifam-suggest__item a {
	display: flex; align-items: baseline; gap: var(--space-4);
	padding: var(--space-3) var(--space-4);
	border-bottom: 0; color: var(--ink); text-decoration: none;
}
.ifam-suggest__item.is-on a,
.ifam-suggest__item a:hover { background: var(--paper); color: var(--ink); }
.ifam-suggest__code {
	flex: 0 0 auto;
	font-family: var(--font-mono); font-weight: 700; font-size: 12px;
	letter-spacing: var(--track-mono); color: var(--bronze-deep);
}
.ifam-suggest__name { font-size: 14px; }

/* ═══════════════════════════════════════════════════════════════════
   列表頁（投資理念／個股概況／投資入門）
   2026-10-28 依使用者的設計稿改版：區塊之間用點狀色帶分隔，
   投資理念是「深色卡片＋編號清單」，個股概況是表格，投資入門是整頁深色帶。
   類別叫 .ifam-listsec 不叫 .ifam-section：樣式表第 3 節已經有一個通用的
   .ifam-section（上下各 100px 間距），撞名會讓這幾區多出一大段空白。
   ═══════════════════════════════════════════════════════════════════ */

/* 區塊之間的點狀色帶（取代先前那條粗棕線）*/
.ifam-dotband {
	height: 32px;
	background-image: radial-gradient(circle, var(--line) .8px, transparent 1.1px);
	background-size: 4px 4px;
}

/* 棕色小字前面那截短線 */
.ifam-eyebrow--rule { display: flex; align-items: center; gap: var(--space-3); }
.ifam-eyebrow--rule::before {
	content: ""; flex: 0 0 auto;
	width: 40px; height: 1px; background: var(--bronze);
}
.ifam-eyebrow--rule.on-dark::before { background: var(--bronze-warm); }

.ifam-listsec { padding-bottom: var(--space-16); }

/* 沒被任何策略選到時，3.2 底下那五個策略的連結（使用者 2026-11-02 指定）。
   一列一條細線，和站上其他清單一致；滑過去整列轉青銅、箭頭右移。 */
/* 沒被任何策略選到時，3.2 底下的三個策略。
   2026-11-02 使用者指定：兩欄——左邊是圖示＋（編號／策略名），右邊是該策略
   的級距，一列一個、可以點。級距從 ifam_strategy_families() 來，所以
   Momentum 只有一列（只有一檔，2026-11-05 起是 Q30）。 */
.ifam-content .ifam-stratlinks {
	max-width: var(--article-w); margin: var(--space-5) 0 var(--space-8) auto;
	border-top: var(--border-w) solid var(--ink);
}
.ifam-content .ifam-stratlinks__row {
	display: grid; grid-template-columns: 5fr 7fr; gap: var(--space-8);
	align-items: start;
	padding: var(--space-6) 0; border-bottom: var(--border-w) solid var(--line);
}
/* 圖示在最左、文字在右（使用者 2026-11-02 指定） */
.ifam-content .ifam-stratlinks__meta {
	display: flex; align-items: center; gap: var(--space-4);
}
/* 圖示沿用設計稿原圖：墨色線條＋青銅基準線與端點，兩色，不跟 currentColor 走 */
.ifam-content .ifam-stratlinks__icon {
	flex: 0 0 auto; display: block; width: 56px; height: 56px;
}
.ifam-content .ifam-stratlinks__icon svg { display: block; width: 100%; height: 100%; }
.ifam-content .ifam-stratlinks__text { display: block; min-width: 0; }
.ifam-content .ifam-stratlinks__no {
	display: block; margin-bottom: var(--space-2);
	font-family: var(--font-mono); font-weight: 700; font-size: 11px;
	line-height: 1.5; letter-spacing: var(--track-mono);
	text-transform: uppercase; color: var(--bronze);
}
.ifam-content .ifam-stratlinks__name {
	display: block; font-family: var(--font-serif); font-weight: 700;
	font-size: 18px; line-height: 1.3; color: var(--ink);
}
.ifam-content a.ifam-stratlinks__tier {
	display: flex; align-items: center; justify-content: space-between; gap: var(--space-4);
	padding: var(--space-4) 0; border-bottom: var(--border-w) solid var(--line);
	color: var(--ink); font-size: 16px;
	transition: color .2s ease;
}
.ifam-content a.ifam-stratlinks__tier:first-child { padding-top: 0; }
.ifam-content a.ifam-stratlinks__tier:last-child { border-bottom: 0; }
.ifam-content .ifam-stratlinks__arrow {
	flex: 0 0 auto; color: var(--bronze);
	transition: transform .2s ease, color .2s ease;
}
/* hover：整列文字轉青銅，不加底線（使用者 2026-11-02 指定），箭頭加深並右移 */
.ifam-content a.ifam-stratlinks__tier:hover { color: var(--bronze-deep); }
.ifam-content a.ifam-stratlinks__tier:hover .ifam-stratlinks__arrow {
	color: var(--bronze-deep); transform: translateX(6px);
}

/* 手機：兩欄疊成一欄 */
@media (max-width: 640px) {
	.ifam-content .ifam-stratlinks__row { grid-template-columns: 1fr; gap: var(--space-4); }
	.ifam-content .ifam-stratlinks__icon { width: 44px; height: 44px; }
	.ifam-content a.ifam-stratlinks__tier:first-child { padding-top: var(--space-4); }
}

/* ── 投資理念：整頁滿版深色帶，裡面只有一篇文章的大標與導言 ─────
   2026-10-30 使用者指定：這一區只導向一篇文章，原本的主文卡與編號清單
   整組拿掉，大標題本身就是連結。左邊是區塊標題，右邊是大標與導言。 */
.ifam-philo-band {
	position: relative;
	background: var(--ink); color: var(--offwhite);
	/* 上緣的留白：2026-10-30 把 .ifam-page-head 那層標記拿掉時，連它的
	   上內距一起沒了，小字會貼著色帶頂端。數值取和下面「投資入門」一樣
	   （.ifam-basics__grid 的 padding-top），兩條色帶的上緣才一致。 */
	padding-top: var(--space-10);
}
/* 上緣那條由透明漸入青銅再漸出的細線 */
.ifam-philo-band::before {
	content: ""; position: absolute; left: 0; top: 0; right: 0; height: 1px;
	background: linear-gradient(90deg, transparent, var(--bronze), transparent);
}
.ifam-philo-band .ifam-eyebrow { margin-bottom: var(--space-3); }
.ifam-philo-band h2 { color: var(--offwhite); margin-bottom: 0; }

/* 大標與導言整塊往右推到第二欄，欄寬和下面「投資入門」同一組，兩區的
   直線才會對齊；垂直位置不動，還是接在「投資理念」下面。 */
.ifam-philo {
	display: grid; grid-template-columns: 4fr 8fr; gap: var(--space-10);
	margin-top: var(--space-6);
}
.ifam-philo > * { grid-column: 2; }

.ifam-philo__headline {
	display: block;
	font-family: var(--font-serif); font-weight: 700; font-size: 38px;
	line-height: 1.45; letter-spacing: -0.5px; color: var(--offwhite);
}
.ifam-philo__headline em { font-style: normal; color: var(--bronze-warm); }
.ifam-philo__go {
	display: inline-block; margin-left: var(--space-3); color: var(--bronze-warm);
	transition: transform .2s ease, color .2s ease;
}
/* 沒有按鈕了，所以滑過去要看得出能點：白色底線＋箭頭轉白並右移。
   箭頭是 inline-block，底線不會穿過它。 */
.ifam-philo__headline:hover {
	color: var(--offwhite);
	text-decoration: underline; text-decoration-thickness: 1px;
	text-underline-offset: 10px; text-decoration-color: var(--offwhite);
}
.ifam-philo__headline:hover .ifam-philo__go {
	color: var(--offwhite); transform: translateX(8px);
}
.ifam-philo__lede {
	margin: var(--space-5) 0 0; max-width: 52ch;
	font-size: 16px; line-height: 1.95; color: var(--slate-light);
}

/* ── 個股概況：左邊表格、右邊近期熱門 ───────────────────────── */
.ifam-marketgrid {
	display: grid; grid-template-columns: minmax(0, 1fr) 400px;
	gap: var(--space-10); align-items: start;
}
.ifam-marketgrid--solo { grid-template-columns: minmax(0, 1fr); }

/* 搜尋列：就在表格正上方、同寬，按鈕在左邊。
   searchform.php 的 DOM 順序是「輸入框 → 按鈕」（朗讀與 Tab 的合理順序），
   這裡只用 order 把按鈕視覺上移到左邊，不動共用的表單樣版。 */
.ifam-stocksearch { margin-bottom: var(--space-4); }
.ifam-stocksearch .ifam-searchform {
	display: flex; width: 100%;
	border: var(--border-w) solid var(--ink); background: var(--white);
}
.ifam-stocksearch .ifam-searchform button {
	order: -1; flex: 0 0 auto; padding: 0 var(--space-6);
	background: var(--ink); color: var(--offwhite); border: 0;
}
.ifam-stocksearch .ifam-searchform button:hover { background: var(--bronze-deep); }
.ifam-stocksearch .ifam-searchform__field { flex: 1 1 auto; min-width: 0; }
.ifam-stocksearch .ifam-searchform__field input {
	width: 100%; border: 0; background: transparent; padding: var(--space-3) var(--space-4);
}
.ifam-stocksearch .ifam-searchform__field input:focus { outline: none; }

/* 近期熱門：一家公司一列，代號＋名稱靠左、今年 YTD 靠右。漲紅跌綠和個股表格一致。 */
.ifam-hot { border-top: 2px solid var(--ink); padding-top: var(--space-4); }
.ifam-hot__head {
	display: flex; justify-content: space-between; align-items: baseline;
	gap: var(--space-3); margin-bottom: var(--space-4);
}
.ifam-hot h3 { font-size: 17px; font-weight: 700; margin: 0; }
.ifam-hot__col { font-size: 13px; color: var(--slate); white-space: nowrap; font-variant-numeric: tabular-nums; }
.ifam-hot ul { list-style: none; margin: 0; padding: 0; }
.ifam-hot__row {
	display: grid; grid-template-columns: 56px minmax(0, 1fr) auto;
	gap: var(--space-3); align-items: baseline;
	padding: var(--space-3) 0; border-top: var(--border-w) solid var(--line);
}
.ifam-hot__code {
	font-family: var(--font-mono); font-size: 12px; font-weight: 700;
	letter-spacing: var(--track-mono); color: var(--bronze-deep);
}
/* 字型和左邊個股表格的公司名一樣（內文字體、weight 500），只是小一階 */
.ifam-hot__name { font-weight: 500; font-size: 14px; line-height: 22px; transition: color .2s ease; }
.ifam-hot__ytd { font-size: 13px; text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.ifam-hot__ytd b { font-weight: 700; }
.ifam-hot__ytd b.is-up { color: var(--up); }
.ifam-hot__ytd b.is-down { color: var(--down); }
.ifam-hot__row:hover .ifam-hot__name { color: var(--bronze-deep); }

/* 依產業瀏覽：個股區下方，和內容欄同寬（1240px）。
   欄寬交給 auto-fill：1240px 排得下 6 欄，視窗變窄會自動變 5、4、3 欄，不必逐一寫斷點；
   手機另外在下面的 media query 固定兩欄。一格是產業名加一張示意圖，格間一條細線。
   示意圖隨主題走（assets/industry/<代稱>.jpg），不經過媒體庫。 */
.ifam-industries {
	max-width: var(--content-w); margin-top: var(--space-12);
	border-top: 2px solid var(--ink); padding-top: var(--space-4);
}
.ifam-industries h3 { font-size: 17px; font-weight: 700; margin-bottom: var(--space-4); }
.ifam-industries ul {
	display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
	gap: 0 var(--space-6); list-style: none; margin: 0; padding: 0;
}
.ifam-industry {
	display: grid; grid-template-columns: minmax(0, 1fr) 72px;
	gap: var(--space-3); align-items: center;
	padding: var(--space-3) 0; border-top: var(--border-w) solid var(--line);
}
/* 名稱太長就換行，不要用省略號——產業名被切掉看不出是哪一類。
   圖是 54px 高，兩行字（約 44px）還裝得下，所以換行不會把列撐高。 */
.ifam-industry__name {
	font-family: var(--font-serif); font-weight: 600; font-size: 16px; line-height: 1.4;
}
.ifam-industry__ic {
	width: 72px; height: 54px; overflow: hidden; background: var(--cream);
}
.ifam-industry__ic img {
	display: block; width: 100%; height: 100%; object-fit: cover;
	transition: transform .3s ease;
}
.ifam-industry:hover .ifam-industry__name { color: var(--bronze-deep); }
.ifam-industry:hover .ifam-industry__ic img { transform: scale(1.06); }

/* ── 個股概況：表格 ──────────────────────────────────────────── */
.ifam-stocktable {
	background: var(--white); border: var(--border-w) solid var(--line);
	font-variant-numeric: tabular-nums; font-feature-settings: 'tnum' 1;
}
.ifam-stocktable__head,
.ifam-stockrow__link {
	display: grid;
	/* 2026-11-03：原本公司後面還有一欄「一句話」，使用者把它拿掉了，
	   所以七欄變六欄，公司名那欄改吃剩下的空間。 */
	grid-template-columns: 60px 76px minmax(0, 1fr) 112px 84px 24px;
	column-gap: var(--space-3);
	align-items: center;
	padding-left: var(--space-4); padding-right: var(--space-4);
}
.ifam-stocktable__head {
	background: var(--ink); color: var(--bronze-warm); min-height: 44px;
	font-family: var(--font-mono); font-size: 10px;
	letter-spacing: var(--track-mono); text-transform: uppercase;
}
.ifam-stocktable__head .is-num { text-align: right; }

.ifam-stockrow { border-top: var(--border-w) solid var(--line); }
.ifam-stocktable > .ifam-stockrow:first-of-type { border-top: 0; }
.ifam-stockrow__link {
	padding-top: var(--space-4); padding-bottom: var(--space-4);
	color: var(--ink);
	transition: background .2s ease;
}
.ifam-stockrow__link:hover { background: var(--offwhite); }
.ifam-stockrow__link:hover .ifam-stockrow__name { color: var(--bronze); }
.ifam-stockrow__rank {
	font-family: var(--font-mono); font-size: 12px;
	letter-spacing: var(--track-mono); color: var(--slate);
}
/* 名次前面的「市值排名」桌機上藏起來——視覺上表頭已經寫了，
   但讀螢幕的人聽不到 aria-hidden 的表頭，所以是藏起來不是拿掉。 */
.ifam-stockrow__ranklabel {
	border: 0; clip-path: inset(50%);
	height: 1px; width: 1px; margin: -1px; padding: 0;
	overflow: hidden; position: absolute !important;
}
.ifam-stockrow__code {
	font-family: var(--font-mono); font-weight: 700; font-size: 13px;
	letter-spacing: var(--track-mono); color: var(--bronze-deep);
}
.ifam-stockrow__name {
	display: block; font-weight: 500; font-size: 15px; line-height: 22px;
	transition: color .2s ease;
}
.ifam-stockrow__price { text-align: right; font-weight: 500; font-size: 15px; }
.ifam-stockrow__chg { text-align: right; font-size: 14px; font-weight: 500; }
.ifam-stockrow__chg.is-up { color: var(--up); }
.ifam-stockrow__chg.is-down { color: var(--down); }
.ifam-stockrow__arrow { text-align: right; color: var(--bronze); }

/* ── 投資入門：淺色區塊（2026-10-29 與投資理念對調底色）────────────
   底色就是頁面本身的米色，所以不另外設背景；和上一區的分界交給點狀色帶，
   原本那條青銅細線是用來標示深色帶起點的，淺色之後沒有作用，拿掉。 */
.ifam-basics {
	padding-bottom: var(--space-16);
}
.ifam-basics__grid {
	display: grid; grid-template-columns: 4fr 8fr; gap: var(--space-10);
	align-items: start; padding-top: var(--space-10);
}
.ifam-basics__head h2 { color: var(--ink); }
.ifam-basics__head .ifam-lede { color: var(--ink); }
.ifam-basics__list {
	display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 var(--space-10);
	border-top: var(--border-w) solid var(--line);
	margin: 0; padding: 0; list-style: none;
}
.ifam-basics__item { display: flex; margin: 0; }
.ifam-basics__link {
	flex: 1;
	display: grid; grid-template-columns: 40px minmax(0, 1fr);
	gap: var(--space-2); align-items: start;
	padding: var(--space-4) 0;
	border-bottom: var(--border-w) solid var(--line);
	color: var(--ink);
	transition: transform .25s ease;
}
.ifam-basics__link:hover { transform: translateX(8px); }
.ifam-basics__num {
	font-family: var(--font-serif); font-weight: 500; font-size: 22px;
	line-height: 1.1; color: var(--bronze);
	font-variant-numeric: tabular-nums;
}
.ifam-basics__title {
	display: block; font-size: 15px; font-weight: 500; line-height: 22px;
	transition: color .2s ease;
}
.ifam-basics__link:hover .ifam-basics__title { color: var(--bronze-deep); }
.ifam-basics__acts { display: flex; justify-content: flex-end; margin-top: var(--space-4); }
.ifam-basics__more {
	font-family: var(--font-mono); font-size: 11px;
	letter-spacing: var(--track-mono); text-transform: uppercase;
	color: var(--bronze);
	border-bottom: var(--border-w) solid var(--line); padding-bottom: 2px;
}
.ifam-basics__more:hover { color: var(--bronze-deep); border-bottom-color: var(--bronze-deep); }

/* 卡片格線 — 1px 細線、零圓角、白底
   2026-10-27 起列表改用上面的 .ifam-stocklist，以下卡片樣式與
   ifam_render_card() 都沒有版型在用了，先留著不刪。 */
.ifam-grid {
	display: grid;
	/* 固定欄數而不是 auto-fit：auto-fit 會依剩餘寬度自己決定，
	   最後一列只剩一兩張時會被拉得特別寬，整頁看起來不齊。 */
	grid-template-columns: repeat(4, minmax(0, 1fr));
	/* 格線畫在卡片自己身上，不用「底色＋1px 間隙」那招：
	   固定欄數時最後一列可能沒填滿，那招會讓空格變成一整塊線色色塊。 */
	gap: 0;
	border-top: var(--border-w) solid var(--line);
	border-left: var(--border-w) solid var(--line);
}
/* 手機兩欄（使用者 2026-10-22 指定：桌機四欄、手機兩欄，中間不另外分段）*/
@media (max-width: 782px) { .ifam-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
/* 列表卡片：只有股號與標題。右／下邊框接起來就是整張格線。 */
.ifam-card {
	background: var(--white);
	border-right: var(--border-w) solid var(--line);
	border-bottom: var(--border-w) solid var(--line);
	transition: background .15s ease;
}
.ifam-card:hover { background: var(--paper); }

.ifam-card__link {
	display: block;
	padding: var(--space-6) var(--space-8) var(--space-8);
	color: inherit;
}
/* 卡片上方的幾何裝飾（取代配圖）：靠右、滑過時整組淡入一點。
   寬度固定，窄卡片會從左邊被切掉，正好是越左越稀疏的那一端。 */
.ifam-card__deco {
	display: block; margin: 0 0 var(--space-5) auto;
	max-width: 100%; height: auto;
	opacity: 0.85; transition: opacity .18s ease;
}
.ifam-card:hover .ifam-card__deco { opacity: 1; }
.ifam-card__symbol {
	font-family: var(--font-mono); font-weight: 700; font-size: 12px;
	letter-spacing: var(--track-mono); color: var(--bronze-deep);
	display: block; margin-bottom: var(--space-2);
}
.ifam-card__name {
	font-family: var(--font-serif); font-weight: 500; font-size: 18px;
	line-height: 1.5; letter-spacing: 0.36px; margin: 0;
}
.ifam-card:hover .ifam-card__name { color: var(--bronze-deep); }


/* 分類標籤 */
.ifam-tag {
	display: inline-block; padding: var(--space-1) var(--space-3);
	font-family: var(--font-mono); font-weight: 500; font-size: 11px; line-height: 1.5;
	letter-spacing: var(--track-mono); text-transform: uppercase;
	border: var(--border-w) solid var(--bronze-pale);
	color: var(--bronze-deep); background: transparent;
}
.ifam-tag--plain { border-color: var(--line); color: var(--slate); }

/* 漲跌 */
.ifam-rise { color: var(--up); }
.ifam-fall { color: var(--down); }
.ifam-flat { color: var(--slate); }

/* 分頁 */
.ifam-pagination { margin-top: var(--space-16); }
.ifam-pagination .nav-links { display: flex; flex-wrap: wrap; gap: var(--space-2); justify-content: center; align-items: center; }
.ifam-pagination .page-numbers {
	display: inline-flex; align-items: center; justify-content: center;
	min-width: 42px; height: 42px; padding: 0 var(--space-3);
	border: var(--border-w) solid var(--line);
	font-family: var(--font-mono); font-size: 13px; letter-spacing: 0.04em;
	transition: border-color .15s ease, color .15s ease;
}
.ifam-pagination .page-numbers:hover { border-color: var(--bronze); color: var(--bronze-deep); }
.ifam-pagination .page-numbers.current { background: var(--ink); border-color: var(--ink); color: var(--offwhite); }
.ifam-pagination .dots { border-color: transparent; }

.ifam-empty {
	text-align: center; padding: var(--space-20) var(--space-5);
	border: var(--border-w) solid var(--line); background: var(--white);
	color: var(--slate);
}
.ifam-empty h2 { margin-bottom: var(--space-3); }

/* ═══════════════════════════════════════════════════════════════════════
   10. 個股市況內頁（比照 iFa.ai 官方個股研究報告版型）
   ═══════════════════════════════════════════════════════════════════════ */
.ifam-breadcrumb {
	font-family: var(--font-mono); font-size: 11px; letter-spacing: var(--track-mono);
	text-transform: uppercase; color: var(--slate);
	padding: var(--space-8) 0 0;
	display: flex; flex-wrap: wrap; gap: var(--space-2); align-items: center;
}
.ifam-breadcrumb a:hover { color: var(--bronze-deep); }
.ifam-breadcrumb__sep { color: var(--line); }

/* 細線放在「最後更新於」下方收尾。
   這裡原本是 2px 墨線，但正文第一個 h2 本身就帶 2px 上緣墨線，
   兩條並排會變成雙線。 */
.ifam-report-head {
	padding: var(--space-8) 0 14px;
	margin-bottom: var(--space-8);
	border-bottom: var(--border-w) solid var(--line);
}

/* 股號 + 公司名（DS：ticker mono 700 32px；stock-name serif 500 36px）*/
.ifam-report-head__id {
	display: flex; align-items: baseline; flex-wrap: wrap; gap: var(--space-4);
	margin-bottom: var(--space-3);
}
.ifam-ticker {
	font-family: var(--font-mono); font-weight: 700; font-size: 16px;
	letter-spacing: 0.12em; line-height: 1; color: var(--bronze-deep);
}
.ifam-stock-name {
	font-family: var(--font-serif); font-weight: 500; font-size: 22px;
	line-height: 1.1; letter-spacing: -0.01em; color: var(--ink); margin: 0;
}

.ifam-report-head__meta { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-3); margin-bottom: var(--space-6); }

/* 文章標題 — 研究報告 doc-title：serif 600 / 28px / 1.12 / -0.02em */
.ifam-report-head h1 {
	font-family: var(--font-serif); font-weight: 600;
	font-size: var(--fs-title); line-height: 1.5; letter-spacing: -0.02em;
	margin: 0 0 var(--space-3);
}

/* 最後更新 — mono 500 / 11px。細線改到整個 header 的下緣（見上） */
.ifam-report-updated {
	display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
	margin: 0; padding-top: 0;
	border-top: 0;
}
.ifam-report-updated .k,
.ifam-report-updated .v {
	font-family: var(--font-mono); font-weight: 500; font-size: 11px;
	letter-spacing: 0.06em; color: var(--ink); text-transform: none;
}
.ifam-report-updated .v { display: inline-flex; align-items: center; }
.ifam-report-updated .v::before {
	content: ""; display: inline-block; width: 18px; height: var(--border-w);
	background: var(--line); margin-right: 10px;
}

/* 行情面板 */
.ifam-quote {
	display: flex; flex-wrap: wrap; gap: var(--border-w);
	background: var(--line);
	border: var(--border-w) solid var(--line);
	margin: var(--space-10) 0 var(--space-12);
}
.ifam-quote__cell { background: var(--white); padding: var(--space-5) var(--space-6); flex: 1 1 168px; min-width: 0; }
.ifam-quote__cell--primary { background: var(--cream); }
.ifam-quote__label {
	font-family: var(--font-mono); font-weight: 700; font-size: 10px;
	letter-spacing: var(--track-mono); text-transform: uppercase; color: var(--bronze);
	margin-bottom: var(--space-2); display: block;
}
.ifam-quote__value {
	font-family: var(--font-mono); font-weight: 500; font-size: 20px;
	line-height: 1.2; letter-spacing: -0.01em; white-space: nowrap;
	font-variant-numeric: tabular-nums;
}
.ifam-quote__value--text { font-family: var(--font-serif); font-weight: 500; font-size: 18px; letter-spacing: 0.48px; }
.ifam-quote__sub {
	font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.06em;
	color: var(--slate); margin-top: var(--space-2); white-space: nowrap;
}

/* 重點摘要 — 比照 .summary-callout.primary */
.ifam-summary {
	background: var(--cream);
	border: 0;
	padding: 22px 24px;
	margin: 0 0 var(--space-10);
}
.ifam-summary__head {
	font-family: var(--font-mono); font-weight: 600; font-size: 11px;
	letter-spacing: 0.12em; text-transform: uppercase; color: var(--bronze-deep);
	margin: 0 0 var(--space-4);
}
.ifam-summary__body {
	display: grid; grid-template-columns: 22px 1fr; gap: 0;
	font-family: var(--font-sans); font-size: var(--fs-callout); line-height: 1.7;
	color: var(--ink); letter-spacing: 0.005em;
}
.ifam-summary__body::before {
	content: ""; display: block; margin-top: 0.85em;
	width: 12px; height: var(--border-w); background: var(--bronze);
}

/* 長文內容 — 整段比照官方研究報告 .report-body
   編輯器的標題對應：標題2＝章節、標題3＝子章節、標題4＝小節、標題5＝標籤小標 */
.ifam-content {
	font-family: var(--font-sans); color: var(--ink);
	font-size: var(--fs-body); line-height: 1.8; letter-spacing: 0.005em;
}
.ifam-content > * + * { margin-top: var(--space-6); }
/* 第一個元素不帶上緣間距，否則空白範本最上面會多出一大段空隙 */
.ifam-content > *:first-child { margin-top: 0; }
/* 下面的 .ifam-content p { margin: 0 } 權重較高，會把 * + * 的上緣間距吃掉，
   導致表格、圖表、引言後面接段落時完全沒有間距。這條補回來。 */
.ifam-content > * + p { margin-top: var(--space-6); }
.ifam-content > p + p, .ifam-content > p + ul, .ifam-content > p + ol,
.ifam-content > ul + p, .ifam-content > ol + p { margin-top: var(--space-4); }
.ifam-content p { margin: 0; text-wrap: pretty; }
.ifam-content p.lead {
	font-size: var(--fs-lead); line-height: 1.75; letter-spacing: 0.1px;
}
.ifam-content p.note {
	font-style: italic; font-size: var(--fs-note); line-height: 1.6;
	letter-spacing: 0.01em; color: var(--slate);
}

/* 章節（標題 2）— 上方 2px 墨線，線與字距 21px */
.ifam-content h2 {
	font-family: var(--font-serif); font-weight: 500;
	font-size: var(--fs-h1); line-height: 1.5; letter-spacing: -0.01em;
	margin: 72px 0 14px; padding-top: 21px;
	border-top: 2px solid var(--ink);
}
/* H2 右邊帶一行說明小字（例：策略區塊的還原股價註記）。
   標題維持原本的字級與墨線，小字靠右、斜體灰色，手機上折到下一行。 */
.ifam-content h2.ifam-h2--note {
	display: flex; align-items: baseline; justify-content: space-between;
	gap: var(--space-6); flex-wrap: wrap;
}
.ifam-content h2.ifam-h2--note > small {
	flex: 1 1 auto; min-width: 0; text-align: right;
	font-family: var(--font-sans); font-style: italic; font-weight: 400;
	font-size: 13px; line-height: 1.6; letter-spacing: 0; color: var(--slate);
}

/* 子章節（標題 3）— 上下 1px 深青銅線 */
.ifam-content h3 {
	font-family: var(--font-serif); font-weight: 500;
	font-size: var(--fs-h2); line-height: 1.3; letter-spacing: -0.005em;
	margin: 48px 0 14px; padding: 12px 0;
	background: none; color: var(--ink);
	border-top: var(--border-w) solid var(--bronze-deep);
	border-bottom: var(--border-w) solid var(--bronze-deep);
}
/* 小節（標題 4）— 米棕底 */
.ifam-content h4 {
	font-family: var(--font-sans); font-weight: 600;
	font-size: var(--fs-h3); line-height: 1.4; letter-spacing: 0.02em;
	background: var(--cream); color: var(--ink);
	margin: 30px 0 12px; padding: 8px 14px;
	text-transform: none;
}
/* 標籤小標（標題 5）— mono 青銅 */
.ifam-content h5 {
	font-family: var(--font-mono); font-weight: 700;
	font-size: var(--fs-h4); letter-spacing: 0.18em;
	text-transform: uppercase; color: var(--bronze);
	margin: 22px 0 8px;
}
/* 有加 01／02 編號時，標題文字起點一致 */
.ifam-content h2:has(> .sec-num) { padding-left: var(--title-indent); text-indent: calc(-1 * var(--title-indent)); }
.ifam-content h3:has(> .sec-num) { padding-left: var(--title-indent); text-indent: calc(-1 * var(--title-indent)); }

/* 清單 — 項目符號是 12px 青銅短線，不是圓點 */
.ifam-content ul { list-style: none; margin: 0; padding-left: 0; }
.ifam-content ol { margin: 0; padding-left: 20px; }
.ifam-content li { margin: 0; padding: 2px 0; font-size: var(--fs-body); line-height: 1.8; }
.ifam-content ul > li { position: relative; padding-left: 22px; }
.ifam-content ul > li::before {
	content: ""; position: absolute; left: 0; top: 0.9em;
	width: 12px; height: var(--border-w); background: var(--bronze);
}
.ifam-content ol > li::marker {
	font-family: var(--font-mono); font-size: 12px; color: var(--bronze-deep);
}

.ifam-content a {
	color: var(--ink); border-bottom: var(--border-w) solid var(--bronze);
	padding-bottom: 1px;
}
.ifam-content a:hover { color: var(--bronze-deep); }

.ifam-content img { margin: var(--space-8) auto; }
.ifam-content figure { margin: var(--space-10) 0; }
.ifam-content figcaption {
	margin-top: 10px; text-align: left;
	font-family: var(--font-sans); font-style: italic; font-weight: 400;
	font-size: var(--fs-cap); line-height: 1.6; letter-spacing: 0.01em;
	color: var(--slate); text-transform: none;
}

/* 文章內的資料表格：標題（米棕底色塊）與下方註解 */
.ifam-content .ifam-table-title {
	font-family: var(--font-sans); font-weight: 600;
	font-size: var(--fs-h3); line-height: 1.4; letter-spacing: 0.02em;
	background: var(--cream); color: var(--ink);
	margin: var(--space-10) 0 var(--space-3) auto; padding: 8px 14px;
}
/* 標題列右邊帶按鈕時才轉成 flex —— 其他表格的標題維持原樣 */
.ifam-content .ifam-table-title--act {
	display: flex; align-items: center; justify-content: space-between;
	gap: var(--space-4); flex-wrap: wrap;
}


.ifam-content .ifam-table-note {
	margin: var(--space-3) 0 0 auto;
	font-family: var(--font-sans); font-style: italic;
	font-size: var(--fs-note); line-height: 1.6; letter-spacing: 0.01em;
	color: var(--slate);
}
.ifam-content th.is-num { text-align: right; }

/* 表格／圖表之後的段落與清單要明顯拉開，和表格標題上方的 40px 對稱，
   整個表格區塊才不會黏在下一段文字上。
   － 表格自己的註解（.ifam-table-note）屬於表格，維持貼著它。
   － 標題（h2/h3）本來就有更大的上緣間距，不在這裡改。 */
.ifam-content > .ifam-table-scroll + p:not(.ifam-table-note),
.ifam-content > .ifam-table-scroll + ul,
.ifam-content > .ifam-table-scroll + ol,
.ifam-content > .ifam-chart + p:not(.ifam-table-note),
.ifam-content > .ifam-chart + ul,
.ifam-content > .ifam-chart + ol,
.ifam-content > .ifam-table-note + p:not(.ifam-table-note),
.ifam-content > .ifam-table-note + ul,
.ifam-content > .ifam-table-note + ol,
.ifam-content > .ifam-river + p:not(.ifam-table-note),
.ifam-content > .ifam-river + ul,
.ifam-content > .ifam-river + ol,
.ifam-content > .ifam-pe + p:not(.ifam-table-note) { margin-top: var(--space-10); }

/* 股價情境矩陣：列標題是「N 倍」＋底下一行斜體說明 */
.ifam-content .ifam-matrix tbody th {
	text-align: left; padding: 10px 12px;
	border-top: var(--border-w) solid var(--ink);
	background: inherit; font-weight: 400;
}
.ifam-content .ifam-matrix tbody th b { font-weight: 600; display: block; }
.ifam-content .ifam-matrix tbody th i {
	display: block; margin-top: 2px;
	font-style: italic; font-size: 11px; color: var(--slate);
}

/* 本益比一覽（2026-10-16 改版）：表變成一列，數字放大到 14px，日期用灰字 */
.ifam-content .ifam-matrix td.is-num { font-size: 14px; }
.ifam-content .ifam-matrix tbody th b { font-size: 15px; }
/* 進出紀錄的報酬率：台股慣例紅漲綠跌 */
/* ── 本益比河流圖 ─────────────────────────────────────────────────
   伺服器端畫好的靜態 SVG。SVG 用 preserveAspectRatio="none" 橫向撐滿，
   所以刻度文字不放在 SVG 裡，改用右側的 HTML 疊層（和股價走勢圖同一套作法）。 */
.ifam-content .ifam-river { width: var(--chart-w); max-width: 100%; margin-left: auto; }
.ifam-river__chart { position: relative; padding-right: 52px; }
.ifam-river__svg { display: block; width: 100%; height: 260px; }
.ifam-river__grid { stroke: var(--line-soft); stroke-width: 1px; vector-effect: non-scaling-stroke; }
.ifam-river__band {
	fill: none; stroke: var(--bronze); stroke-width: 1px;
	vector-effect: non-scaling-stroke; opacity: 0.55;
}
/* 由低倍數到高倍數逐漸變淡，讓「河道」有層次 */
.ifam-river__band--0 { opacity: 0.85; }
.ifam-river__band--1 { opacity: 0.72; }
.ifam-river__band--2 { opacity: 0.6; }
.ifam-river__band--3 { opacity: 0.48; }
.ifam-river__band--4 { opacity: 0.36; }
.ifam-river__band--5 { opacity: 0.26; }
.ifam-river__price {
	fill: none; stroke: var(--ink); stroke-width: 1.5px; vector-effect: non-scaling-stroke;
}
.ifam-river__ylab {
	position: absolute; top: 0; right: 0; bottom: 0; width: 48px;
	display: flex; flex-direction: column; justify-content: space-between;
	font-family: var(--font-num); font-size: 10px; color: var(--slate); text-align: right;
}
.ifam-river__axis {
	display: flex; justify-content: space-between; padding-right: 52px; margin-top: 6px;
	font-family: var(--font-mono); font-size: 10px; color: var(--slate);
}
.ifam-river__legend {
	display: flex; flex-wrap: wrap; gap: var(--space-4);
	margin-top: var(--space-4); padding-right: 52px;
	font-family: var(--font-mono); font-size: 10px; letter-spacing: var(--track-mono);
	color: var(--slate);
}
.ifam-river__key::before {
	content: ''; display: inline-block; width: 14px; height: 0;
	margin-right: 6px; vertical-align: 3px;
	border-top: 1px solid var(--bronze);
}
.ifam-river__key--price { color: var(--ink); }
.ifam-river__key--price::before { border-top: 1.5px solid var(--ink); }

/* 進出紀錄佔滿右欄（不要 margin-left: auto，那會讓它縮成內容寬度並靠右，
   和左邊的大數字之間就開出一大段空白） */
.ifam-content .ifam-trades-table { width: 100%; }
/* 策略表格上方的「本策略過去一年 N次 選到○○」 */
.ifam-trades__cap {
	margin-bottom: var(--space-3);
	font-family: var(--font-sans); font-size: 13px; color: var(--ink);
}
.ifam-trades__cap b { font-weight: 700; color: var(--bronze-deep); }
/* ── 策略矩陣（x.3 標題下）────────────────────────────────────
   2026-11-03 使用者指定改成**兩欄**，一個家族一列：
   Value 精選30／精選15 → GARP 精選30／精選15 → Momentum（全委限定，一檔）。
   格子直接是 grid 的子層（不再有 __col 那層），所以會自己照順序排。
   Momentum 只有一檔，最後一列右邊就空著，格線缺一角是使用者確認過的。
   每一格一定都在：有選到打勾、沒選到打叉並調淡，一眼看得出中了幾個。 */
.ifam-content .ifam-stratgrid {
	display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
	/* margin 用分寫的，不要用 shorthand——shorthand 會把 margin-left 歸零，
	   蓋掉 .ifam-content > *:not(h2) 的 margin-left: auto，整塊就會往左凸出去。 */
	margin-top: var(--space-6); margin-bottom: var(--space-8);
	/* 格線畫在格子自己的右／下邊框上。原本是「容器底色＋1px 間隙」，
	   但格子要透明之後，那招會讓整格變成線色色塊。 */
	gap: 0;
	border-top: var(--border-w) solid var(--line);
	border-left: var(--border-w) solid var(--line);
}
.ifam-content .ifam-stratgrid__cell {
	display: flex; align-items: center; gap: var(--space-4);
	padding: var(--space-4) var(--space-5);
	background: transparent; color: var(--ink);
	border-right: var(--border-w) solid var(--line);
	border-bottom: var(--border-w) solid var(--line);
	text-decoration: none;
	transition: background-color .15s ease;
}
.ifam-content a.ifam-stratgrid__cell:hover { background: var(--cream); color: var(--ink); }
/* 沒選到的調淡。透明度要下在「內容」上，不能下在整格——
   整格變透明的話，白底會透出容器的線色，那一格看起來像被塗了底色。 */
.ifam-content .ifam-stratgrid__cell.is-miss .ifam-stratgrid__mark,
.ifam-content .ifam-stratgrid__cell.is-miss .ifam-stratgrid__name { opacity: 0.45; }
.ifam-content .ifam-stratgrid__mark { flex: 0 0 auto; display: block; }
.ifam-content .ifam-stratgrid__name {
	font-family: var(--font-mono); font-weight: 700; font-size: 11px;
	letter-spacing: 0.06em; text-transform: uppercase; line-height: 1.5;
}

/* ── 廣告標示 ────────────────────────────────────────────────
   2026-10-27 合規需求：策略實績區塊與 x.3 標題都要標「廣告」。
   棕底白字、mono 小字，和站上其他標籤一致的零圓角。 */
/* 2026-10-27：使用者決定文章裡兩顆廣告 tag 都不要了，markup 已移除，
   樣式先留著——要放回來只要在 .ifam-record 開頭加回
   <span class="ifam-adtag">廣告</span> 那一行。 */
.ifam-content .ifam-adtag {
	display: inline-block; flex: 0 0 auto;
	padding: 3px var(--space-3);
	background: var(--bronze-deep); color: var(--white);
	font-family: var(--font-mono); font-weight: 600; font-size: 11px;
	letter-spacing: var(--track-mono); line-height: 1.5;
	white-space: nowrap; vertical-align: middle;
}
/* 深色區塊裡的那顆靠右上角，所以外層要是定位基準 */
.ifam-content .ifam-record { position: relative; }
.ifam-content .ifam-record .ifam-adtag {
	position: absolute; top: 0; right: 0;
}

/* ── 4.2 營收：月／季／半年／年四個分頁 ───────────────────────
   切換不寫 JavaScript：四顆隱藏的 radio 擺在最前面，靠 :checked ~ 兄弟
   選擇器點亮對應的頁籤與面板。id 是動態產生的，所以規則要用 :nth-of-type
   數位置，不能寫死 id。
   頁籤本身沿用 .ifam-price__tab（價量卡那組），這裡只補「被選中」的樣子——
   那邊是 JS 加 .is-on，這裡沒有 JS，只能用 :checked 兄弟選擇器重寫一次宣告。
   **margin 結尾一定要是 auto**：.ifam-content > *:not(h2) 靠 margin-left: auto
   把每個區塊縮到 800px 的內文欄，用 margin 簡寫會把它蓋成 0，整區就貼到
   最左邊、跟標題對不齊（2026-11-03 踩到，和編輯器那次同一個陷阱）。 */
.ifam-content .ifam-revtabs {
	max-width: var(--article-w);
	margin: var(--space-6) 0 var(--space-8) auto;
}
.ifam-content .ifam-revtabs__radio {
	position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none;
}
/* 頁籤與表格之間的距離，和價量卡的 .ifam-price__head 同一個數值 */
.ifam-content .ifam-revtabs__nav { margin-bottom: var(--space-5); }
.ifam-content .ifam-revtabs__panel { display: none; }
/* 分頁裡每張表上面那個 H4（單季／累積、獲利能力…）：第一個不要再往上推 */
.ifam-content .ifam-revtabs__panel > h4:first-child { margin-top: 0; }
/* 第 N 顆 radio 被選中 → 點亮第 N 個頁籤與第 N 個面板 */
.ifam-content .ifam-revtabs__radio:nth-of-type(1):checked ~ .ifam-revtabs__nav > .ifam-price__tab:nth-child(1),
.ifam-content .ifam-revtabs__radio:nth-of-type(2):checked ~ .ifam-revtabs__nav > .ifam-price__tab:nth-child(2),
.ifam-content .ifam-revtabs__radio:nth-of-type(3):checked ~ .ifam-revtabs__nav > .ifam-price__tab:nth-child(3),
.ifam-content .ifam-revtabs__radio:nth-of-type(4):checked ~ .ifam-revtabs__nav > .ifam-price__tab:nth-child(4),
.ifam-content .ifam-revtabs__radio:nth-of-type(5):checked ~ .ifam-revtabs__nav > .ifam-price__tab:nth-child(5),
.ifam-content .ifam-revtabs__radio:nth-of-type(6):checked ~ .ifam-revtabs__nav > .ifam-price__tab:nth-child(6),
.ifam-content .ifam-revtabs__radio:nth-of-type(7):checked ~ .ifam-revtabs__nav > .ifam-price__tab:nth-child(7),
.ifam-content .ifam-revtabs__radio:nth-of-type(8):checked ~ .ifam-revtabs__nav > .ifam-price__tab:nth-child(8) {
	background: var(--ink); border-color: var(--ink); color: var(--offwhite);
}
.ifam-content .ifam-revtabs__radio:nth-of-type(1):checked ~ .ifam-revtabs__panels > .ifam-revtabs__panel:nth-child(1),
.ifam-content .ifam-revtabs__radio:nth-of-type(2):checked ~ .ifam-revtabs__panels > .ifam-revtabs__panel:nth-child(2),
.ifam-content .ifam-revtabs__radio:nth-of-type(3):checked ~ .ifam-revtabs__panels > .ifam-revtabs__panel:nth-child(3),
.ifam-content .ifam-revtabs__radio:nth-of-type(4):checked ~ .ifam-revtabs__panels > .ifam-revtabs__panel:nth-child(4),
.ifam-content .ifam-revtabs__radio:nth-of-type(5):checked ~ .ifam-revtabs__panels > .ifam-revtabs__panel:nth-child(5),
.ifam-content .ifam-revtabs__radio:nth-of-type(6):checked ~ .ifam-revtabs__panels > .ifam-revtabs__panel:nth-child(6),
.ifam-content .ifam-revtabs__radio:nth-of-type(7):checked ~ .ifam-revtabs__panels > .ifam-revtabs__panel:nth-child(7),
.ifam-content .ifam-revtabs__radio:nth-of-type(8):checked ~ .ifam-revtabs__panels > .ifam-revtabs__panel:nth-child(8) {
	display: block;
}

/* 表格本身就是一般的 .ifam-table（框線、表頭、斑馬紋全部沿用），這裡只加
   欄寬與凍結欄：一欄標題 ＋ 五欄內容剛好滿版（--lab + 5×--col ＋ 外框 ＝ 800），
   超過五欄就左右捲動，第一欄 position: sticky 釘住。 */
.ifam-content .ifam-revtable {
	--lab: 150px; --col: 130px;
	table-layout: fixed;
	width: calc(var(--lab) + var(--col) * var(--cols)); min-width: 100%;
	margin: 0;
}
.ifam-content .ifam-revtable th, .ifam-content .ifam-revtable td { width: var(--col); }
.ifam-content .ifam-revtable th:first-child,
.ifam-content .ifam-revtable td:first-child {
	position: sticky; left: 0; z-index: 1;
	/* 標題欄讓出一條線的寬度（2026-11-03 使用者回報：五欄滿版時底下會冒出
	   一條沒有作用的捲軸）。border-collapse: collapse 之下，表格自己那條外框
	   不算進欄寬裡，150 + 5×130 已經等於 800，再加外框就多出 1px。
	   扣掉之後五欄剛好塞得下；超過五欄照樣捲，那是刻意的。 */
	width: calc(var(--lab) - var(--border-w));
	/* 釘住的那一欄底下會有其他欄捲過去，所以底色一定要是實色，
	   而且右邊補一條線，看得出來是凍結欄。 */
	box-shadow: inset -1px 0 0 var(--ink);
}
.ifam-content .ifam-revtable thead th:first-child { background: var(--ink); }
.ifam-content .ifam-revtable tbody td:first-child { background: var(--white); }
.ifam-content .ifam-revtable tbody tr:nth-child(even) td:first-child { background: var(--tint); }
.ifam-content .ifam-revtable tbody tr:hover td:first-child { background: rgb(246, 240, 224); }

@media (max-width: 860px) {
	.ifam-content .ifam-revtable { --lab: 118px; --col: 104px; }
}

/* ── 4.5 籌碼面：三大法人買賣超（2026-11-03 加）──────────────
   版面參考 info.ifa.ai 的同一張表，外觀照 iFa：墨底白字表頭、1px 細線、
   零圓角，紅買綠賣沿用 --up／--down，不另外加顏色。
   法人名稱與「連買連賣」各跨四列，所以**斑馬紋改成以法人為單位隔組上色**
   （逐列上色會把同一個法人的四列切成兩半）。
   要改一起改：編輯器 ui/styles.css 的 .doc-body .ifam-chips。 */
.ifam-content .ifam-chips { table-layout: fixed; min-width: 720px; margin: 22px 0 0; }
/* 欄寬一定要寫在 <colgroup> 上，不能寫在表頭的 th 上：第一格 th 是
   colspan="2"，table-layout: fixed 會把它的寬度**平均分給前兩欄**，法人名稱
   那欄因此只拿到一半，「三大法人」四個字就撐出格線（2026-11-03 使用者回報）。
   2026-11-03 使用者指定：第一欄加寬、「連買連賣」收窄，省下來的都給第一欄。 */
.ifam-content .ifam-chips col:nth-child(1) { width: 13%; }
.ifam-content .ifam-chips col:nth-child(2) { width: 24%; }
.ifam-content .ifam-chips col:nth-child(3),
.ifam-content .ifam-chips col:nth-child(4),
.ifam-content .ifam-chips col:nth-child(5) { width: 15%; }
.ifam-content .ifam-chips col:nth-child(6) { width: 18%; }
.ifam-content .ifam-chips thead th.is-num { text-align: right; }
/* 「連買連賣」的表頭也靠右，和右邊三欄的表頭一致（2026-11-03 使用者指定）*/
.ifam-content .ifam-chips thead th:last-child { text-align: right; }

/* 每一列都要有線；同一個法人的四列之間用淡線，換法人時才回到墨線 */
.ifam-content .ifam-chips tbody td,
.ifam-content .ifam-chips tbody th {
	border-top: var(--border-w) solid var(--mute);
	padding: 8px 12px; vertical-align: middle;
}
.ifam-content .ifam-chips tbody tr.is-first > * { border-top: var(--border-w) solid var(--ink); }

/* 法人名稱那一欄：mono 小標、置中跨列 */
.ifam-content .ifam-chips__who {
	text-align: left; font-family: var(--font-mono); font-weight: 700;
	font-size: 11px; letter-spacing: var(--track-mono); color: var(--bronze-deep);
	background: var(--cream); white-space: nowrap;
}
.ifam-content .ifam-chips__item { color: var(--slate); white-space: nowrap; }
.ifam-content .ifam-chips__diff { font-weight: 600; }
/* 「不適用」不是數字，用灰色斜體和真的數字區隔（2026-11-03 使用者指定），
   寫法和表格註解（.ifam-table-note）同一套。 */
.ifam-content .ifam-chips__na { color: var(--slate); font-style: italic; }
.ifam-content .ifam-chips__streak {
	text-align: center; font-weight: 600; white-space: nowrap;
}
/* 2026-11-03 使用者指定：跳色全部拿掉。原本是「以法人為單位隔組上色」
   （.ifam-chips__band），四列一跳看起來很怪。現在整張表只靠線分組——
   換法人那一列是墨線、同一個法人的四列之間是淡線，已經分得出來。
   斑馬紋與 hover 是逐列的，會把同一個法人切成兩半，一樣關掉。 */
.ifam-content .ifam-chips tbody tr:nth-child(even) td { background: inherit; }
.ifam-content .ifam-chips tbody tr:hover td { background: inherit; }

@media (max-width: 860px) {
	.ifam-content .ifam-chips { min-width: 640px; }
	.ifam-content .ifam-chips tbody td,
	.ifam-content .ifam-chips tbody th { padding: 7px 8px; }
}

/* ── 技術分析 › 價格行為：K線型態訊號（2026-11-13 加，測試中）──────
   版面照使用者給的設計稿（candle-signal-ui-handoff.zip），數值直接對照行內樣式：
   － 卡片：紙色底（和頁面同色）＋ 1px 細線，不用白底、陰影、圓角。
   － 左欄＝K線圖＋日期小標，寬度 根數 × 40 ＋ 32（--k 由版型寫在容器上）。
   － 右欄＝名稱（18px 襯線 600）＋兩個外框標籤＋三列說明（標籤欄 84px）。
   － 兩個標籤是整頁唯一的圓角（設計稿指定 999px），其餘照 iFa 的零圓角。
   － 方向標籤的字本身就帶箭頭／文字，不只靠顏色。
   收合用 <details>，不寫 JS。
   要改一起改：編輯器 ui/styles.css 的 .doc-body .ifam-candle。 */
.ifam-content .ifam-candle {
	--cd-line: #D6CFBF; --cd-sub: #566074; --cd-gold: #7A5E22; --cd-paper: #F6F1E8;
	margin-top: 22px; display: flex; flex-direction: column; gap: 12px;
	color: var(--ink); font-family: var(--font-sans);
}
.ifam-content .ifam-candle__card {
	display: grid; grid-template-columns: calc(var(--k, 3) * 40px + 32px) minmax(0, 1fr);
	background: var(--cd-paper); border: 1px solid var(--cd-line);
}
.ifam-content .ifam-candle__card--nofig { grid-template-columns: minmax(0, 1fr); }
.ifam-content .ifam-candle__fig {
	border-right: 1px solid var(--cd-line); padding: 14px 16px 12px;
	display: flex; flex-direction: column; gap: 6px; justify-content: space-between; align-items: center;
}
.ifam-content .ifam-candle__fig svg { display: block; max-width: none; }
.ifam-content .ifam-candle__days {
	display: grid; justify-content: center; gap: 0;
	font-size: 12px; line-height: 18px; text-align: center; color: var(--cd-sub);
}
.ifam-content .ifam-candle__days .is-today { color: var(--ink); font-weight: 600; }
.ifam-content .ifam-candle__body { padding: 14px 24px 12px; display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.ifam-content .ifam-candle__head { display: flex; justify-content: space-between; align-items: center; gap: 16px; }
.ifam-content .ifam-candle__name { font-family: var(--font-serif); font-size: 18px; font-weight: 600; line-height: 1.3; }
.ifam-content .ifam-candle__pills { display: flex; align-items: center; gap: 8px; flex: none; }
.ifam-content .ifam-candle__pill {
	border: 1.5px solid currentColor; border-radius: 999px; padding: 2px 12px;
	font-size: 13px; font-weight: 700; line-height: 20px; letter-spacing: 1px;
	white-space: nowrap; color: var(--ink);
}
.ifam-content .ifam-candle__pill.is-up { color: var(--up); }
.ifam-content .ifam-candle__pill.is-down { color: var(--down); }
.ifam-content .ifam-candle__pill.is-stage { color: var(--cd-gold); }
.ifam-content .ifam-candle__rows { display: flex; flex-direction: column; }
.ifam-content .ifam-candle__row {
	display: grid; grid-template-columns: 84px minmax(0, 1fr); gap: 16px;
	padding: 7px 0; border-top: 1px solid var(--cd-line); align-items: baseline;
}
.ifam-content .ifam-candle__k { font-size: 12px; color: var(--cd-sub); }
.ifam-content .ifam-candle__v { font-size: 14px; line-height: 21px; }

/* 同日其他訊號：收合列高 44px；展開後次要卡片緊接在下面、共用一條細線 */
.ifam-content .ifam-candle__more { border: 1px solid var(--cd-line); background: var(--cd-paper); }
.ifam-content .ifam-candle__more > summary {
	list-style: none; cursor: pointer; min-height: 44px; padding: 0 24px;
	display: flex; justify-content: space-between; align-items: center; gap: 16px;
}
.ifam-content .ifam-candle__more > summary::-webkit-details-marker { display: none; }
.ifam-content .ifam-candle__more > summary:focus-visible { outline: 2px solid var(--ink); outline-offset: -2px; }
.ifam-content .ifam-candle__more-main { display: flex; align-items: baseline; gap: 14px; min-width: 0; }
.ifam-content .ifam-candle__more-title { font-size: 14px; font-weight: 600; white-space: nowrap; }
.ifam-content .ifam-candle__more-sum { font-size: 12px; color: var(--cd-sub); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ifam-content .ifam-candle__more-act { display: flex; align-items: center; gap: 6px; font-size: 12px; color: var(--cd-sub); flex: none; }
.ifam-content .ifam-candle__more-act svg { transition: transform 0.15s ease; }
.ifam-content .ifam-candle__more .when-open { display: none; }
.ifam-content .ifam-candle__more[open] .when-open { display: inline; }
.ifam-content .ifam-candle__more[open] .when-closed,
.ifam-content .ifam-candle__more[open] .ifam-candle__more-sum { display: none; }
.ifam-content .ifam-candle__more[open] .ifam-candle__more-act svg { transform: rotate(180deg); }
.ifam-content .ifam-candle__more > .ifam-candle__card { border: 0; border-top: 1px solid var(--cd-line); }

/* 當日無訊號：單列（「最近一次」2026-11-13 使用者要求拿掉） */
.ifam-content .ifam-candle__none {
	background: var(--cd-paper); border: 1px solid var(--cd-line); padding: 14px 24px;
}
.ifam-content .ifam-candle__none-main { display: flex; align-items: baseline; gap: 16px; flex-wrap: wrap; }
.ifam-content .ifam-candle__none-sub { font-size: 14px; line-height: 21px; color: var(--cd-sub); }
.ifam-content .ifam-candle__caption { font-size: 12px; color: var(--cd-sub); }

/* 近期訊號表 */
.ifam-content .ifam-candle__table { table-layout: fixed; min-width: 720px; }
.ifam-content .ifam-candle__table col:nth-child(1) { width: 9%; }
.ifam-content .ifam-candle__table col:nth-child(2) { width: 22%; }
.ifam-content .ifam-candle__table col:nth-child(3) { width: 14%; }
.ifam-content .ifam-candle__table col:nth-child(4) { width: 55%; }
.ifam-content .ifam-candle__table tbody td { vertical-align: top; text-align: left; }
.ifam-content .ifam-candle__date { font-family: var(--font-mono); white-space: nowrap; color: var(--slate); }
.ifam-content .ifam-candle__tname { font-weight: 600; }
.ifam-content .ifam-candle__level { color: var(--slate); }
.ifam-content .ifam-candle__text { font-size: 13px; line-height: 1.7; }

/* 窄螢幕：K線圖移到上面、說明在下面；標題與標籤可以折行；三列說明改成上下排 */
@media (max-width: 860px) {
	.ifam-content .ifam-candle__card { grid-template-columns: minmax(0, 1fr); }
	.ifam-content .ifam-candle__fig { border-right: 0; border-bottom: 1px solid var(--cd-line); }
	.ifam-content .ifam-candle__body { padding: 14px 16px 12px; }
	.ifam-content .ifam-candle__head { flex-wrap: wrap; gap: 8px 16px; }
	.ifam-content .ifam-candle__more > summary { padding: 8px 16px; }
	.ifam-content .ifam-candle__more-main { flex-direction: column; gap: 2px; }
	.ifam-content .ifam-candle__none { padding: 14px 16px; }
	.ifam-content .ifam-candle__table { min-width: 640px; }
}
@media (max-width: 480px) {
	.ifam-content .ifam-candle__row { grid-template-columns: minmax(0, 1fr); gap: 2px; }
}

/* ── 技術分析 › 融資融券（2026-11-13 加）───────────────────────
   兩張表：左邊融資／融券（三欄）、右邊借券賣出（兩欄），桌機 3:2 並排、
   各自貼齊上緣（右表比較短，下面留白，照使用者給的附圖）；手機上下疊。
   表格本身吃 .ifam-content 的共用表格樣式，增減與連增連減的紅綠沿用
   td.is-up／td.is-down，不另外鋪底色。
   要改一起改：編輯器 ui/styles.css 的 .doc-body .ifam-margin。 */
.ifam-content .ifam-margin {
	display: grid; grid-template-columns: 3fr 2fr; gap: var(--space-4);
	/* 只設上緣：左邊的縮排要留給內文欄的共用規則（寫 margin 簡寫會把它蓋成 0，
	   表格就凸到標題左邊去了）。 */
	align-items: start; margin-top: 22px;
}
.ifam-content .ifam-margin__col { min-width: 0; }
/* 只有一張表（查不到借券資料）時不要只佔左邊六成 */
.ifam-content .ifam-margin__col:only-child { grid-column: 1 / -1; }
.ifam-content .ifam-margin__table { table-layout: fixed; width: 100%; margin: 0; }
.ifam-content .ifam-margin__col--3 th:first-child { width: 38%; }
.ifam-content .ifam-margin__col--2 th:first-child { width: 46%; }
.ifam-content .ifam-margin__k { color: var(--slate); white-space: nowrap; }
.ifam-content .ifam-margin__table td.is-num { white-space: nowrap; }
.ifam-content #sec-tech,
.ifam-content #sec-candle,
.ifam-content #sec-margin { scroll-margin-top: var(--space-6); }

@media (max-width: 860px) {
	.ifam-content .ifam-margin { grid-template-columns: 1fr; gap: var(--space-6); }
	.ifam-content .ifam-margin__col--3 th:first-child,
	.ifam-content .ifam-margin__col--2 th:first-child { width: 40%; }
}

/* 重要觀點框（.ifam-kp）2026-11-10 隨 3.1 前言一起移除，樣式也拿掉了。 */
/* ── Part 3 開頭的重點框（.ifam-way）───────────────────────────────
   2026-11-10 使用者給附圖指定：外面一圈網點框（radial-gradient 畫的點陣，不用圖檔），
   裡面米白底；左邊一句重點（em 是兩個策略名稱，青銅色、不斜體），
   右邊一條細線隔開，兩列往下跳的連結（墨底「深入了解」按鈕同日移除、字級縮小）。
   和 h2 一樣用滿整欄寬：選擇器要比 .ifam-content > *:not(h2)（0,1,1）重。
   要改一起改：內容編輯器 ui/styles.css 的 .doc-body .ifam-way。 */
.ifam-content > .ifam-way {
	max-width: none; margin: var(--space-10) 0 0;
	padding: 28px;
	background-color: var(--paper);
	background-image: radial-gradient(circle, rgb(196, 188, 170) 0.8px, transparent 1px);
	background-size: 4px 4px;
}
.ifam-content .ifam-way__inner {
	display: grid; grid-template-columns: minmax(0, 1fr) 240px;
	gap: var(--space-10);
	padding: var(--space-12);
	background: var(--offwhite);
}
/* 句尾的青銅小方塊，取代句號（2026-11-10 使用者指定，仿 The Economist 的文末方塊）。
   原本放在句子上方，挪下來之後空出的高度給「深入瞭解 IFA.ai 的作法」。 */
.ifam-content .ifam-way__end {
	display: inline-block; width: 0.55em; height: 0.55em; margin-left: 0.3em;
	background: var(--bronze); vertical-align: baseline;
}
/* 左欄最下面的「深入瞭解 IFA.ai 的作法 →」：純文字連結，和「策略詳情」同一套樣式。
   .ifam-content a 會加青銅底線，這裡要蓋掉。 */
.ifam-content a.ifam-way__more {
	display: inline-flex; align-items: center; gap: 10px; margin-top: var(--space-5);
	font-family: var(--font-sans); font-size: 14px; font-weight: 600; color: var(--ink);
	text-decoration: none; border-bottom: 0; padding-bottom: 0; white-space: nowrap;
}
.ifam-content a.ifam-way__more:hover { color: var(--bronze-deep); }
.ifam-content a.ifam-way__more:hover .ifam-btn__arrow { transform: translateX(3px); }
.ifam-content .ifam-way__text {
	max-width: 680px;
	font-family: var(--font-serif); font-weight: 700;
	font-size: 17px; line-height: 2.1; color: var(--ink);
}
/* 策略名稱不拆行（不然會斷成「系列策／略」） */
.ifam-content .ifam-way__text em { font-style: normal; color: var(--bronze-deep); white-space: nowrap; }
/* 右欄：左邊一條青銅淡線隔開 */
.ifam-content .ifam-way__side {
	display: flex; flex-direction: column;
	padding-left: var(--space-10);
	border-left: var(--border-w) solid rgb(222, 205, 168);
}
.ifam-content .ifam-way__jump,
.ifam-content a.ifam-way__jump {
	display: block; padding: 0 0 var(--space-3);
	border-bottom: var(--border-w) solid var(--slate);
	color: var(--ink); text-decoration: none;
}
.ifam-content .ifam-way__jump + .ifam-way__jump { margin-top: var(--space-8); }
.ifam-content .ifam-way__label {
	display: block; margin-bottom: var(--space-2);
	font-family: var(--font-sans); font-size: 13px; line-height: 1.4; color: var(--slate);
}
.ifam-content .ifam-way__name {
	display: flex; align-items: baseline; justify-content: space-between; gap: var(--space-3);
	font-family: var(--font-serif); font-weight: 500; font-size: 17px; line-height: 1.4;
}
.ifam-content .ifam-way__arrow {
	font-family: var(--font-mono); font-size: 15px; font-weight: 400; line-height: 1;
	transition: transform .18s ease;
}
.ifam-content .ifam-way__jump:hover { color: var(--bronze-deep); border-bottom-color: var(--bronze-deep); }
.ifam-content .ifam-way__jump:hover .ifam-way__arrow { transform: translateY(3px); }

@media (max-width: 960px) {
	.ifam-content .ifam-way__inner {
		grid-template-columns: minmax(0, 1fr); gap: var(--space-8);
		padding: var(--space-10) var(--space-8);
	}
	.ifam-content .ifam-way__side {
		padding-left: 0; padding-top: var(--space-8);
		border-left: 0; border-top: var(--border-w) solid rgb(222, 205, 168);
	}
}
@media (max-width: 600px) {
	/* 手機上網點框固定 5 顆點寬（點距 4px × 5 ＝ 20px），上下左右一樣（2026-11-10 使用者指定） */
	.ifam-content > .ifam-way { padding: 20px; }
	.ifam-content .ifam-way__inner { padding: var(--space-8) var(--space-5); }
	.ifam-content .ifam-way__text { font-size: 16px; line-height: 1.9; }
	/* 手機上強制換行反而會在很怪的地方斷，交給瀏覽器自己排 */
	.ifam-content .ifam-way__br { display: none; }
}

/* ── 3.1 標題下方：Trending 系列策略的選股邏輯（.ifam-sx）──────────────
   2026-11-10 使用者在設計畫布（方案 C）定稿，結構見 inc/article.php 的 ifam_render_strategy_logic()。
   深色標題列借自方案比較那條 QUANT：墨藍漸層、上緣青銅細線、暖青銅等寬字、右邊菱形。
   分頁不寫 JS：三顆隱藏 radio 在最前面，:checked ~ 兄弟選擇器點亮對應的分頁與說明。
   要改一起改：內容編輯器 ui/styles.css 的 .doc-body .ifam-sx。 */
.ifam-content .ifam-sx { font-family: var(--font-mono); margin-bottom: var(--space-8); }
.ifam-content .ifam-sx__head {
	display: flex; align-items: center; gap: var(--space-4);
	min-height: 40px; box-sizing: border-box; padding: 0 var(--space-6);
	background: linear-gradient(90deg, var(--ink) 0%, rgb(22, 33, 61) 50%, var(--ink) 100%);
	border-top: var(--border-w) solid var(--bronze);
}
.ifam-content .ifam-sx__title {
	flex: 1 1 auto; min-width: 0;
	font-size: 12px; font-weight: 700; letter-spacing: 3px; line-height: 1.4; color: var(--bronze-warm);
}
.ifam-content .ifam-sx__dia {
	flex: 0 0 auto; width: 8px; height: 8px; background: var(--bronze-warm); transform: rotate(45deg);
}
.ifam-content .ifam-sx__box { border: var(--border-w) solid var(--line); border-top: 0; }
.ifam-content .ifam-sx__radio {
	position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none;
}
.ifam-content .ifam-sx__tabs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ifam-content .ifam-sx__tab {
	display: block; min-height: 76px; box-sizing: border-box; padding: 14px var(--space-6);
	background: var(--cream); color: var(--slate); cursor: pointer;
	border-bottom: var(--border-w) solid var(--line);
}
.ifam-content .ifam-sx__tab + .ifam-sx__tab { border-left: var(--border-w) solid var(--line); }
.ifam-content .ifam-sx__tab:hover { color: var(--ink); }
.ifam-content .ifam-sx__no {
	display: block; font-size: 10px; font-weight: 700; letter-spacing: 1.5px; line-height: 1.4; color: var(--bronze-deep);
}
.ifam-content .ifam-sx__name {
	display: block; margin-top: 6px; font-size: 15px; font-weight: 700; letter-spacing: 1px; line-height: 1.3;
}
.ifam-content .ifam-sx__panel {
	display: none; flex-direction: column; gap: var(--space-2);
	padding: var(--space-5) var(--space-6) 22px; background: var(--offwhite);
	font-family: var(--font-sans); font-size: 14px; line-height: 1.75;
}
.ifam-content .ifam-sx__panel p { margin: 0; }
/* 副標：字型、大小、粗細和下面的「策略詳情」一樣（使用者 2026-11-10 指定） */
.ifam-content .ifam-sx__panel .ifam-sx__sub { font-weight: 600; line-height: 1.6; }
/* 第 N 顆 radio 被選中 → 第 N 個分頁變米白底墨色字、和說明區連成一片；顯示第 N 份說明 */
.ifam-content .ifam-sx__radio:nth-of-type(1):checked ~ .ifam-sx__tabs > .ifam-sx__tab:nth-child(1),
.ifam-content .ifam-sx__radio:nth-of-type(2):checked ~ .ifam-sx__tabs > .ifam-sx__tab:nth-child(2),
.ifam-content .ifam-sx__radio:nth-of-type(3):checked ~ .ifam-sx__tabs > .ifam-sx__tab:nth-child(3) {
	background: var(--offwhite); color: var(--ink); border-bottom-color: var(--offwhite); cursor: default;
}
.ifam-content .ifam-sx__radio:nth-of-type(1):checked ~ .ifam-sx__panels > .ifam-sx__panel:nth-child(1),
.ifam-content .ifam-sx__radio:nth-of-type(2):checked ~ .ifam-sx__panels > .ifam-sx__panel:nth-child(2),
.ifam-content .ifam-sx__radio:nth-of-type(3):checked ~ .ifam-sx__panels > .ifam-sx__panel:nth-child(3) {
	display: flex;
}
/* 鍵盤操作：radio 拿到焦點時，在對應分頁畫框 */
.ifam-content .ifam-sx__radio:nth-of-type(1):focus-visible ~ .ifam-sx__tabs > .ifam-sx__tab:nth-child(1),
.ifam-content .ifam-sx__radio:nth-of-type(2):focus-visible ~ .ifam-sx__tabs > .ifam-sx__tab:nth-child(2),
.ifam-content .ifam-sx__radio:nth-of-type(3):focus-visible ~ .ifam-sx__tabs > .ifam-sx__tab:nth-child(3) {
	outline: 2px solid var(--bronze); outline-offset: -2px;
}
/* 「策略詳情」：放在說明最下面靠右的文字連結。
   2026-11-10 使用者指定：拿掉箭頭，改成墨色字＋青銅底線；hover 時字和底線一起變深青銅。
   底線用 border-bottom 畫（比 text-decoration 粗細穩定，和全站內文連結同一套）。 */
.ifam-content a.ifam-sx__more {
	align-self: flex-end; margin-top: 6px;
	font-weight: 600; color: var(--ink); text-decoration: none;
	border-bottom: var(--border-w) solid var(--bronze); padding-bottom: 2px; white-space: nowrap;
	transition: color .15s ease, border-color .15s ease;
}
.ifam-content a.ifam-sx__more:hover { color: var(--bronze-deep); border-bottom-color: var(--bronze-deep); }

/* 3.2 Editor's Select（.ifam-sx--single）：同一套版型，但沒有深色標題列、只有一個分頁，
   分頁右邊空出來的位置用米棕底補滿；說明永遠顯示（沒有 radio）。2026-11-10 使用者指定。 */
.ifam-content .ifam-sx--single .ifam-sx__box { border-top: var(--border-w) solid var(--line); }
.ifam-content .ifam-sx--single .ifam-sx__tab { cursor: default; }
.ifam-content .ifam-sx__tab.is-on { background: var(--offwhite); color: var(--ink); border-bottom-color: var(--offwhite); }
.ifam-content .ifam-sx__fill {
	grid-column: span 2; background: var(--cream);
	border-left: var(--border-w) solid var(--line); border-bottom: var(--border-w) solid var(--line);
}
.ifam-content .ifam-sx--single .ifam-sx__panel { display: flex; }

/* Part 3 最底端的「深入瞭解 IFA.ai 的作法 →」：純文字連結，長相同 .ifam-way__more，字級 15px。
   2026-11-10 原為墨底白字大按鈕，同日使用者改成較不顯眼的這版。
   .ifam-content a 會加青銅底線，這裡要蓋掉。 */
.ifam-content .ifam-method-cta { margin-top: var(--space-8); }
.ifam-content a.ifam-method-cta__link {
	display: inline-flex; align-items: center; gap: 10px;
	font-family: var(--font-sans); font-size: 15px; font-weight: 600; color: var(--ink);
	text-decoration: none; border-bottom: 0; padding-bottom: 0; white-space: nowrap;
}
.ifam-content a.ifam-method-cta__link:hover { color: var(--bronze-deep); }
.ifam-content a.ifam-method-cta__link:hover .ifam-btn__arrow { transform: translateX(3px); }

@media (max-width: 782px) {
	.ifam-content .ifam-sx__head { min-height: 38px; padding: 0 var(--space-4); }
	.ifam-content .ifam-sx__title { letter-spacing: 2px; }
	.ifam-content .ifam-sx__dia { width: 7px; height: 7px; }
	/* 手機分頁縮成「01／VALUE Q」，三欄才放得下 */
	.ifam-content .ifam-sx__pre { display: none; }
	.ifam-content .ifam-sx__tab { min-height: 60px; padding: 10px 12px; }
	.ifam-content .ifam-sx__no { letter-spacing: 1px; }
	.ifam-content .ifam-sx__name { margin-top: 4px; font-size: 13px; letter-spacing: 0.5px; }
	.ifam-content .ifam-sx__panel { padding: 14px 14px 16px; }
	/* 3.2 只有一個分頁：手機上「EDITOR’S SELECT」放不進三分之一，改占三分之二 */
	.ifam-content .ifam-sx--single .ifam-sx__tab { grid-column: span 2; }
	.ifam-content .ifam-sx__fill { grid-column: span 1; }
	.ifam-content .ifam-sx__panel .ifam-sx__sub,
	.ifam-content a.ifam-sx__more { font-size: 13px; }
}

/* ── 合規警語（3.1 最下方）────────────────────────────────────
   2026-10-27 取代原本那段「下列之報酬率已更新至…」。
   2026-11-03 使用者指定：預設收合的原生 <details>（不用 JS，前台與編輯器
   預覽行為一致）。標題列是墨色底、白字、前面一個白色小方塊，右邊一個純
   CSS 畫的「＋」，展開後變成「－」；內容區另外一塊淺灰底，和標題列之間
   留一段距離。原本左邊那條青銅粗邊拿掉了。 */
.ifam-content .ifam-notice {
	max-width: var(--article-w); margin-left: auto;
	margin-top: var(--space-6); margin-bottom: var(--space-8);
	background: transparent;
}
.ifam-content .ifam-notice__head {
	display: flex; align-items: center; gap: var(--space-3);
	margin: 0; padding: var(--space-4) var(--space-5);
	cursor: pointer;
	list-style: none;            /* 拿掉瀏覽器預設的三角形 */
	/* 2026-11-10 使用者指定和策略標題列互換：改成透明底＋墨框墨字，hover 才翻成墨底白字 */
	background: transparent; border: var(--border-w) solid var(--ink);
	font-family: var(--font-mono); font-weight: 700; font-size: 11px;
	letter-spacing: var(--track-mono); color: var(--ink);
	transition: background-color .18s ease, color .18s ease;
}
.ifam-content .ifam-notice__head::-webkit-details-marker { display: none; }
/* hover：整條翻成墨底白字（策略標題列原本的 hover），小方塊與加號跟著變白 */
.ifam-content .ifam-notice__head:hover { background: var(--ink); color: var(--offwhite); }
.ifam-content .ifam-notice__sq {
	flex: 0 0 auto; width: 10px; height: 10px; background: currentColor;
}
.ifam-content .ifam-notice__title { flex: 1 1 auto; }
/* 純 CSS 畫的加號：收合時是「＋」，展開時直線消失變成「－」。
   不用字元或圖示字型，才不會因為系統字型而變成彩色圖案。 */
.ifam-content .ifam-notice__toggle {
	position: relative; flex: 0 0 auto; width: 12px; height: 12px;
}
.ifam-content .ifam-notice__toggle::before,
.ifam-content .ifam-notice__toggle::after {
	content: ""; position: absolute; background: currentColor;
}
.ifam-content .ifam-notice__toggle::before {
	left: 0; right: 0; top: 50%; height: var(--border-w); transform: translateY(-50%);
}
.ifam-content .ifam-notice__toggle::after {
	top: 0; bottom: 0; left: 50%; width: var(--border-w); transform: translateX(-50%);
	transition: opacity .15s ease;
}
.ifam-content .ifam-notice[open] .ifam-notice__toggle::after { opacity: 0; }
/* 內容區直接接在標題列下面（2026-11-03 使用者指定：中間不留間距），
   四邊一條 1px 墨色細框；標題列自己有框（2026-11-10 起），所以上緣不畫，免得變兩條。 */
.ifam-content .ifam-notice__body {
	padding: var(--space-5) var(--space-6);
	background: transparent;     /* 2026-11-10 使用者指定拿掉淺灰底（原本 var(--tint)） */
	border: var(--border-w) solid var(--ink); border-top: 0;
}
.ifam-content .ifam-notice ul { margin: 0; padding: 0; list-style: none; }
.ifam-content .ifam-notice li {
	position: relative; padding-left: var(--space-5);
	font-size: 14px; line-height: 1.8; color: var(--ink);
}
.ifam-content .ifam-notice li::before {
	content: ""; position: absolute; left: 0; top: 0.85em;
	width: 12px; height: var(--border-w); background: var(--bronze-deep);
}
.ifam-content .ifam-notice li + li { margin-top: var(--space-3); }

/* ── 策略區塊 ─────────────────────────────────────────────────────
   2026-10-22：原本左邊有一份固定的策略子目錄，後來 4.3 標題下已經有
   一份可點擊的策略清單，子目錄就拿掉了，整塊回到 --article-w（800px）。 */
.ifam-strat { max-width: var(--article-w); }

/* 策略標題：整塊可點擊，連到該策略的詳情頁。
   2026-11-10 使用者指定和「重要注意事項」互換：這裡改成墨底白字（原本是透明底＋墨框），
   hover 改成深青銅底（和 .ifam-btn 的 hover 同一套）。 */
.ifam-content .ifam-strat__title {
	display: flex; align-items: center; gap: var(--space-4);
	margin: 0 0 var(--space-5);
	/* padding-bottom 要明寫：.ifam-content a 會把它壓成 1px */
	padding: var(--space-3) var(--space-4) var(--space-3) var(--space-5);
	border: var(--border-w) solid var(--ink);
	background: var(--ink);
	font-family: var(--font-mono); font-weight: 700;
	font-size: 13px; letter-spacing: 0.18em;
	text-transform: uppercase; color: var(--offwhite);
	transition: background-color .18s ease, border-color .18s ease, color .18s ease;
}
/* 這裡一定要明寫 color，否則會被通用的 .ifam-content a／a:hover 接管成墨色或青銅色 */
.ifam-content a.ifam-strat__title { color: var(--offwhite); }
/* hover 時整塊維持墨底（2026-11-10 起），只有右邊的「策略詳情」變色——
   深青銅底配淺棕字會看不清楚，所以底色不再跟著翻。 */
.ifam-content a.ifam-strat__title:hover { background: var(--ink); border-color: var(--ink); color: var(--offwhite); }
/* 右邊的「策略詳情」只是標題的一部分，不另外做成按鈕——整塊標題本身就是連結。
   2026-11-10 使用者指定：和說明區的「策略詳情」同一套設計（拿掉箭頭、字下一條底線），
   但這裡在墨底上，所以平常是白字白線，hover 整塊時字和底線一起變淺棕（暖青銅）。
   字體與字距要自己蓋掉標題的 mono／大寫。 */
.ifam-content .ifam-strat__tier { white-space: nowrap; } /* 「精選15」「(全委限定)」不拆行（2026-11-10） */
.ifam-content .ifam-strat__cta {
	margin-left: auto; flex: 0 0 auto;
	font-family: var(--font-sans); font-size: 13px; font-weight: 600;
	letter-spacing: 0.02em; text-transform: none; white-space: nowrap;
	color: var(--offwhite); border-bottom: var(--border-w) solid var(--offwhite); padding-bottom: 2px;
	transition: color .15s ease, border-color .15s ease;
}
.ifam-content a.ifam-strat__title:hover .ifam-strat__cta { color: var(--bronze-warm); border-bottom-color: var(--bronze-warm); }
/* 各策略之間留白；錨點跳轉時不要被固定頁首蓋住 */
.ifam-strat__item { scroll-margin-top: var(--space-6); }
.ifam-strat__item + .ifam-strat__item { margin-top: var(--space-12); }

/* ── 策略進出紀錄 ─────────────────────────────────────────────────
   左欄是策略整體表現（大數字），右欄是這檔被選到的進出紀錄。
   大盤只是參考值，不上色、和日期一樣用灰色小字。 */
.ifam-content .ifam-trades {
	display: grid; grid-template-columns: 200px minmax(0, 1fr);
	gap: var(--space-6); align-items: start;
	max-width: var(--article-w); margin-left: auto;
}
/* 比對不到策略、沒有整體數字時就不留空欄 */
.ifam-content .ifam-trades--plain { display: block; }

/* 數字在上、灰色小標在下 */
.ifam-trades__stat b {
	display: block;
	font-family: var(--font-num); font-size: 20px; font-weight: 700; line-height: 1.2;
	letter-spacing: 0;
}
.ifam-trades__stat .lab {
	display: block; margin-top: var(--space-2);
	font-family: var(--font-mono); font-size: 11px; font-weight: 500;
	letter-spacing: var(--track-mono); color: var(--slate);
}
.ifam-trades__stat b.is-up { color: var(--up); }
.ifam-trades__stat b.is-down { color: var(--down); }
.ifam-trades__stat .sub {
	display: block; margin-top: 14px;
	font-family: var(--font-mono); font-size: 11px; line-height: 1.6;
	letter-spacing: 0.02em; color: var(--slate);
}

/* 極簡表格：沒有底色、沒有外框與直線，只留橫向細線。
   重點是最右邊那一欄報酬率，所以放大、加粗。 */
.ifam-content .ifam-trades-table {
	margin: 0; background: transparent; border: 0;
}
.ifam-content .ifam-trades-table thead th {
	background: transparent; color: var(--slate);
	border: 0; border-bottom: var(--border-w) solid var(--ink);
	font-family: var(--font-mono); font-weight: 500;
	font-size: 10px; letter-spacing: var(--track-mono);
	padding: 0 10px 8px;
}
.ifam-content .ifam-trades-table tbody td {
	background: transparent;
	border: 0; border-bottom: var(--border-w) solid var(--line-soft);
	padding: 11px 10px;
}
.ifam-content .ifam-trades-table tbody tr:nth-child(even) td,
.ifam-content .ifam-trades-table tbody tr:hover td { background: transparent; }
.ifam-content .ifam-trades-table th:first-child,
.ifam-content .ifam-trades-table td:first-child { padding-left: 0; }
.ifam-content .ifam-trades-table th:last-child,
.ifam-content .ifam-trades-table td:last-child { padding-right: 0; }
.ifam-content .ifam-trades-table tbody td:last-child {
	font-size: 15px; font-weight: 600;
}

@media (max-width: 980px) {
	.ifam-content .ifam-trades { display: block; }
	.ifam-trades__stat { padding-top: 0; margin-bottom: var(--space-5); }
}

/* 5.1 的本益比一覽：和 4.2 的矩陣同一份資料、不同版型。
   這裡是四個並排的數字格，年度用 mono 小字、倍數放大，
   不再重複呈現 EPS 與股價。 */
.ifam-content .ifam-pe { width: var(--chart-w); max-width: 100%; margin-left: auto; }
/* 標題沿用表格標題（.ifam-table-title）那一層的樣式。 */
/* 標題底下的共用導語；平均倍數那個數字另外上色加粗。 */
.ifam-content .ifam-pe__lead { margin: 0 0 var(--space-4); }
.ifam-content .ifam-pe__lead b { font-weight: 700; color: var(--bronze-deep); }
.ifam-pe__row {
	display: flex;
	border-top: var(--border-w) solid var(--ink);
	border-bottom: var(--border-w) solid var(--line);
}
.ifam-pe__cell {
	flex: 1 1 0; min-width: 0; padding: 16px 18px 18px;
	display: flex; flex-direction: column; gap: 10px;
}
.ifam-pe__cell:first-child { padding-left: 0; }
.ifam-pe__cell + .ifam-pe__cell { border-left: var(--border-w) solid var(--line); }
.ifam-pe__year {
	font-family: var(--font-mono); font-size: 11px;
	letter-spacing: var(--track-mono); color: var(--slate);
}
.ifam-pe__val {
	font-family: var(--font-num); font-size: 20px; line-height: 1; color: var(--ink);
}
.ifam-pe__val i {
	font-style: normal; font-family: var(--font-sans); font-size: 13px;
	margin-left: 5px; color: var(--slate);
}
/* 手機：四格擠在 335px 裡，原本的左右內距＋2px 字距會讓「2025(A)」斷成兩行、
   「倍」掉到下一行（2026-11-10 使用者指定修）。內距與字距縮小、年度不換行。 */
@media (max-width: 782px) {
	/* 2026-11-10 使用者回饋：靠左排時每格右邊空一大塊、第一格又貼齊左緣，看起來左右不對稱。
	   手機上改成每格內容置中、四格左右內距一致（第一格也不再貼邊）。 */
	.ifam-pe__cell,
	.ifam-pe__cell:first-child { padding: 14px 4px 16px; gap: 8px; align-items: center; }
	.ifam-pe__year { letter-spacing: 0.5px; white-space: nowrap; }
	/* 倍數不強制不換行：360px 的 Android 會擠不下，寧可「倍」掉下一行也不要壓到隔壁格 */
	.ifam-pe__val { font-size: 18px; }
	.ifam-pe__val i { font-size: 12px; margin-left: 3px; }
}

.ifam-content td.is-up,
.ifam-content tbody tr:nth-child(even) td.is-up { color: var(--up); font-weight: 600; }
.ifam-content td.is-down,
.ifam-content tbody tr:nth-child(even) td.is-down { color: var(--down); font-weight: 600; }

/* 安全邊際所在的那一格 */
.ifam-content td.is-hl,
.ifam-content tbody tr:nth-child(even) td.is-hl {
	background: rgba(212, 182, 106, 0.38);
	font-weight: 600; color: var(--bronze-deep);
}

/* 股價區間階梯圖 */
.ifam-content .ifam-chart { margin: 0 0 0 auto; padding: 0; }
.ifam-content .ifam-chart svg { display: block; width: 100%; height: auto; }

/* SVG 圖表內部的字（沿用研究報告產生器的規格，顏色由元素自己帶 fill）*/
.ifam-content .ifam-chart .chart-value {
	font-family: "JetBrains Mono", ui-monospace, monospace;
	font-size: 10px; font-weight: 700;
}
.ifam-content .ifam-chart .chart-note-in { font-family: var(--font-sans); font-size: 10px; fill: var(--slate); }
.ifam-content .ifam-chart .chart-sub-in { font-family: var(--font-sans); font-size: 8px; fill: var(--slate); }
.ifam-content .ifam-chart .chart-anno { font-family: var(--font-sans); font-size: 10px; font-weight: 600; }
.ifam-content .ifam-chart .chart-figtitle-in { font-family: var(--font-sans); font-size: 12px; font-weight: 600; fill: var(--ink); }

/* 引言 — 上下 1px 淡線、左對齊、斜體襯線 */
.ifam-content blockquote {
	margin: 30px 0; padding: 20px 0 20px 120px;
	background: transparent; border: 0;
	border-top: var(--border-w) solid var(--mute);
	border-bottom: var(--border-w) solid var(--mute);
	font-family: var(--font-serif); font-style: italic; font-weight: 500;
	font-size: var(--fs-quote); line-height: 1.6; letter-spacing: -0.005em;
	color: var(--ink); text-align: left; text-wrap: pretty;
}
/* 引言的出處／中譯 */
.ifam-content blockquote .attrib {
	display: block; margin-top: var(--space-2);
	font-family: var(--font-mono); font-style: normal; font-weight: 400;
	font-size: 10px; letter-spacing: 0.12em; color: var(--slate);
}

/* 表格 — 墨色框線、墨底白字表頭、斑馬列 */
/* 行高一定要用**整數 px**，不能用倍數（2026-11-05 使用者回報：手機上每一條
   橫線的粗細看起來不一樣）。原因是倍數會算出小數：12px × 1.55 ＝ 18.6px，
   一列的高度因此是 39.6px，每往下一列，那條 1px 的分隔線就落在不同的小數
   位置上（量到的列頂是 …844、…688、…281、…875…），瀏覽器只好各自去湊
   實體像素——有的畫成 3 個實體像素、有的 4 個還帶灰邊，看起來就粗細不一。
   改成整數後每一列都是 39px，所有分隔線落在同一個位置、粗細一致。
   桌機看不出來是因為實體像素密度較低，誤差被吃掉了。
   這一行同時管到 th 與 td（line-height 會繼承），表頭原本繼承內文的 1.8
   ＝ 21.6px，也是小數。 */
.ifam-content table, .ifam-metrics table {
	width: 100%; border-collapse: collapse; margin: 22px 0;
	font-family: var(--font-sans); font-size: var(--fs-table); line-height: 18px;
	background: var(--white); border: var(--border-w) solid var(--ink);
}
.ifam-content thead th, .ifam-metrics thead th {
	text-align: left; padding: 10px 12px;
	/* 1.5px 會讓表頭那一列的高度帶 .5，底下每一列的分隔線跟著落在小數位置
	   （2026-11-05 修線條粗細不一時一併改）。墨底配墨線本來就看不出差別，
	   而且設計規範只用 1px。 */
	background: var(--ink); border-bottom: var(--border-w) solid var(--ink);
	font-family: var(--font-sans); font-weight: 600;
	font-size: 12px; letter-spacing: 0.04em;
	text-transform: none; color: var(--white); white-space: nowrap;
}
.ifam-content tbody td, .ifam-metrics tbody td {
	padding: 10px 12px; border-top: var(--border-w) solid var(--ink);
	color: var(--ink); font-size: var(--fs-table); vertical-align: top;
}
.ifam-content tbody tr:nth-child(even) td,
.ifam-metrics tbody tr:nth-child(even) td { background: var(--tint); }
.ifam-content tbody tr:hover td,
.ifam-metrics tbody tr:hover td { background: rgba(212, 182, 106, 0.18); }
/* 「關鍵財務指標」的小組標題列（獲利能力／成長性／營運與財務韌性）。
   跨滿整列、淺底、不佔數字欄；字小一階、棕色，和表頭區隔開。 */
/* 選擇器要比斑馬紋那條（.ifam-content tbody tr:nth-child(even) td）更specific，
   否則偶數列的小組標題會被 --tint 蓋掉（2026-11-02 踩到）。 */
.ifam-content tbody tr.ifam-table__group td,
.ifam-content tbody tr.ifam-table__group:nth-child(even) td {
	background: var(--cream); color: var(--bronze-deep);
	font-family: var(--font-mono); font-weight: 700; font-size: 11px;
	letter-spacing: var(--track-mono);
	padding-top: var(--space-2); padding-bottom: var(--space-2);
}
.ifam-content tbody tr.ifam-table__group:hover td { background: var(--cream); }

.ifam-metrics td.is-num, .ifam-content td.is-num {
	font-family: var(--font-num); text-align: right; font-variant-numeric: tabular-nums;
}

/* 日期維持等寬，欄位才會對齊；窄欄時自動寬度會把日期拆行，所以不換行 */
.ifam-content td.is-date, .ifam-metrics td.is-date {
	font-family: var(--font-mono); font-size: 12px; letter-spacing: 0;
	white-space: nowrap;
}
.ifam-metrics th:nth-child(2) { text-align: right; }
.ifam-table-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.ifam-metrics { margin: var(--space-12) 0; }
.ifam-metrics table { margin-top: 0; table-layout: fixed; }
.ifam-metrics th:nth-child(1), .ifam-metrics td:nth-child(1) { width: 46%; }
.ifam-metrics th:nth-child(2), .ifam-metrics td:nth-child(2) { width: 22%; }
.ifam-metrics th:nth-child(3), .ifam-metrics td:nth-child(3) { width: 32%; padding-left: var(--space-8); }

/* ── 內文縮排 ───────────────────────────────────────────────────────
   只有章節標題（h2）維持整欄寬，其餘內容往右縮到 800px，
   讓 h2 的墨線成為整段的上緣、視覺上帶出層次。
   這段要放在上面所有 .ifam-content 規則之後，margin-left 才蓋得過
   各個標題自己的 margin 簡寫。手機版不縮排（見響應式區段）。 */
.ifam-content > *:not(h2) {
	max-width: var(--article-w);
	margin-left: auto;
}

/* ── 股價區間圖：手機上點一下放大 ─────────────────────────────────
   這張圖固定 760 寬，在手機上整張縮小後字會小到看不清楚。 */
.ifam-chart__hint { display: none; }

.ifam-zoom {
	position: fixed; inset: 0; z-index: 200;
	background: var(--paper);
	display: flex; flex-direction: column;
}
.ifam-zoom__bar {
	display: flex; justify-content: flex-end;
	padding: 12px 16px;
	background: var(--paper);
	border-bottom: var(--border-w) solid var(--line);
}
.ifam-zoom__close {
	background: none; cursor: pointer;
	border: var(--border-w) solid var(--line);
	padding: 7px 16px;
	font-family: var(--font-mono); font-weight: 700; font-size: 11px;
	letter-spacing: var(--track-mono); text-transform: uppercase; color: var(--ink);
}
.ifam-zoom__body {
	flex: 1; overflow: auto; -webkit-overflow-scrolling: touch;
	padding: var(--space-5);
}
.ifam-zoom__body svg {
	display: block; width: 900px; max-width: none; height: auto;
}


/* ── 估值方法論：可收合的共用區塊 ───────────────────────────────────
   這段每篇文章都會出現，所以做成可收合（原生 <details>，不用 JS），
   外框也刻意和一般內文不同：青銅細框 + 米色標題列 + 青銅方塊，
   一眼就看得出「這是每篇都有的方法論，不是本篇的分析」。 */
.ifam-content .ifam-method {
	border: var(--border-w) solid var(--bronze-pale);
	background: var(--white);
	max-width: var(--article-w); margin-left: auto;
}
.ifam-content .ifam-method__head {
	display: flex; align-items: flex-start; gap: var(--space-3);
	padding: 12px 16px;
	background: var(--cream);
	cursor: pointer;
	list-style: none;            /* 拿掉瀏覽器預設的三角形 */
}
.ifam-content .ifam-method__head::-webkit-details-marker { display: none; }
.ifam-content .ifam-method__head:hover { background: rgba(212, 182, 106, 0.28); }
.ifam-content .ifam-method__sq {
	width: 10px; height: 10px; flex: 0 0 auto;
	/* 2026-11-06 使用者指定：標題換行時方塊跟著第一行，像項目符號，不對兩行置中。
	   6px ＝（第一行高 22.4px − 方塊 10px）÷ 2；手機行高不同，在下面另外改。 */
	margin-top: 6px;
	background: var(--bronze-deep);
}
.ifam-content .ifam-method__title {
	font-family: var(--font-sans); font-weight: 600;
	font-size: 16px; line-height: 1.4; letter-spacing: 0.02em;
	color: var(--ink);
}
.ifam-content .ifam-method__toggle {
	margin-left: auto; flex: 0 0 auto; align-self: center;
	/* 純 CSS 畫的實心三角形：展開中朝上、收合中朝下。
	   不用字元或圖示字型，才不會因為系統字型而變成彩色圖案。 */
	width: 0; height: 0;
	border-left: 5px solid transparent;
	border-right: 5px solid transparent;
	border-bottom: 6px solid var(--bronze-deep);
}
.ifam-content .ifam-method:not([open]) .ifam-method__toggle {
	border-bottom: 0;
	border-top: 6px solid var(--bronze-deep);
}
.ifam-content .ifam-method__body { padding: 16px 16px 18px; }
/* 內容改成段落後，段落之間要有間距，最後一段不留下緣空白 */
.ifam-content .ifam-method__body > p { margin: 0 0 var(--space-4); }
/* 清單屬於上一段的引導句，所以貼著它；真正要拉開的是清單與下一段。 */
.ifam-content .ifam-method__body > p:has(+ ul) { margin-bottom: var(--space-2); }
.ifam-content .ifam-method__body > ul { margin: 0 0 var(--space-6); }
.ifam-content .ifam-method__body > *:last-child { margin-bottom: 0; }


/* ── 訂閱方案區塊（第三部分最後的共用內容）────────────────────────
   方案卡橫排在上、內容在下。切換不寫 JavaScript：
   三個隱藏的 radio ＋ label，靠 :checked ~ 決定選取樣式與要顯示哪一份內容。
   前台與編輯器預覽用同一套結構，行為一致。 */
/* ── Part 2：最新股價趨勢 ─────────────────────────────────────────────
   只用還原收盤價畫線；沒有交易的日子不在資料裡，所以直接依序畫、不留空隙。
   這一區刻意比內文欄寬（1000px，其他區塊是 800px），圖才看得清楚。
   互動（切區間、hover 顯示日期與收盤價）在 inc/article.php 的 ifam_price_script()。 */
/* .ifam-content > *:not(h2) 會把每個直接子元素壓成 --article-w（800px），
   這一區要 1000px，所以得把 max-width 解開（權重要壓過那條通用規則） */
.ifam-content > .ifam-price,
.ifam-content .ifam-price { width: min(1000px, 100%); max-width: none; margin-left: auto; }

.ifam-content .ifam-price__head {
	/* 多了停止交易標籤之後，窄螢幕上三個元素排不進一列 → 允許換行。
	   平常只有兩個元素、換行不會發生，桌機版面不變。 */
	display: flex; align-items: center; flex-wrap: wrap; gap: var(--space-5);
	margin-bottom: var(--space-5);
}
.ifam-content .ifam-price__tabs { display: flex; gap: 0; }
.ifam-content .ifam-price__tab {
	padding: var(--space-2) var(--space-4);
	font-family: var(--font-mono); font-size: 12px; letter-spacing: var(--track-mono);
	color: var(--slate); background: transparent;
	border: var(--border-w) solid var(--line); border-right: 0; cursor: pointer;
}
.ifam-content .ifam-price__tab:last-child { border-right: var(--border-w) solid var(--line); }
.ifam-content .ifam-price__tab:hover { color: var(--bronze-deep); }
.ifam-content .ifam-price__tab.is-on { background: var(--ink); border-color: var(--ink); color: var(--offwhite); }

/* 2026-11-02 改版（使用者指定）：價量從右欄移到圖的下方，圖因此吃滿整個區塊的
   寬度（原本要讓出 260px 給右欄）。由上到下就是：圖 → 註記 → 價量三組。
   原本包住圖與註記的 .ifam-price__left 一併移除，左右欄沒有了，留著只會讓人誤會。 */
.ifam-content .ifam-price__chart {
	position: relative; border: var(--border-w) solid var(--line); background: var(--white);
	padding: var(--space-4) 54px 0 var(--space-4);
}
.ifam-content .ifam-price__svg { display: block; width: 100%; height: 300px; color: var(--ink); }
.ifam-content .ifam-price__line { stroke: var(--ink); stroke-width: 1.5px; }
.ifam-content .ifam-price__cross { stroke: var(--bronze); stroke-width: 1px; stroke-dasharray: 3 3; }
.ifam-content .ifam-price__dot { fill: var(--bronze-deep); }

/* Y 軸：格線畫在 SVG 裡，刻度文字放 HTML（SVG 非等比縮放，文字會被拉歪） */
.ifam-content .ifam-price__grid { stroke: var(--line-soft); stroke-width: 1px; }
.ifam-content .ifam-price__ylab {
	position: absolute; right: 0; top: var(--space-4); bottom: 26px; width: 54px;
	pointer-events: none;
}
.ifam-content .ifam-price__ylab span {
	position: absolute; left: 8px; transform: translateY(-50%);
	font-family: var(--font-num); font-size: 11px; letter-spacing: 0; color: var(--mute);
}
.ifam-content .ifam-price__axis { position: relative; height: 26px; }
.ifam-content .ifam-price__axis span {
	position: absolute; transform: translateX(-50%); top: 0;
	font-family: var(--font-mono); font-size: 11px; letter-spacing: 0; color: var(--mute);
	white-space: nowrap;
}
.ifam-content .ifam-price__tip {
	position: absolute; pointer-events: none; z-index: 2;
	padding: var(--space-2) var(--space-3);
	background: var(--ink); color: var(--offwhite);
	border: var(--border-w) solid var(--bronze);
	font-family: var(--font-mono); font-size: 11px; letter-spacing: var(--track-mono);
	display: flex; flex-direction: column; gap: 2px; white-space: nowrap;
}
.ifam-content .ifam-price__tip[hidden] { display: none; }
.ifam-content .ifam-price__tip .c { font-size: 14px; color: var(--bronze-warm); }

/* 「更新至 X 收盤」：2026-11-02 起放在圖的右上、和區間切換同一列。 */
.ifam-content .ifam-price__asof {
	margin-left: auto;
	font-family: var(--font-mono); font-size: 11px; letter-spacing: var(--track-mono);
	color: var(--slate);
}

/* 停止交易標籤（2026-11-04 使用者指定）：圖的右上角，紅底白字、零圓角。
   只在停牌期間出現（price.halt），所以平常不會佔位。--up 是台股慣例的紅，
   這裡借來當「注意」用，不是漲跌意涵。 */
.ifam-content .ifam-price__halt {
	font-family: var(--font-mono); font-size: 11px; letter-spacing: var(--track-mono);
	padding: var(--space-1) var(--space-3);
	color: var(--offwhite); background: var(--up);
	border: var(--border-w) solid var(--up);
	white-space: nowrap;
}

/* ── 走勢圖下方：年度報酬率 ＋ 價量四欄 ────────────────────────
   2026-11-04 使用者改版（方案 A 四欄延伸，版型在設計畫布上定稿）：
   順序改成「年度報酬率 → 價量」，價量由三欄變四欄。

   折行用的是 **容器查詢**（@container）不是螢幕寬度：這一塊的可用寬度同時
   受左側目錄影響（桌機有目錄、窄螢幕沒有），用 max-width 判斷永遠對不準。
   容器是 .ifam-price（container-type: inline-size，見下）。 */
.ifam-content .ifam-price { container-type: inline-size; }

/* 小標：左邊一個標題、右邊一條細線填滿版面。
   「年度報酬率」與「11/03當日行情」共用這一組（2026-11-04 使用者指定）。
   價量上面那條線本來是 .ifam-price__stats 的 border-top，現在由這條線負責。 */
.ifam-content .ifam-price__sub {
	display: flex; align-items: center; gap: var(--space-3);
	margin-bottom: var(--space-2); white-space: nowrap;
}
/* 年度報酬率底下接著價量的小標，中間要留白（原本靠 .ifam-price__stats 的
   margin-top，現在那段留白要給小標） */
.ifam-content .ifam-price__years + .ifam-price__sub { margin-top: var(--space-6); }
.ifam-content .ifam-price__sub-label {
	flex: 0 0 auto; font-size: 13px; line-height: 1.5; color: var(--ink);
}
.ifam-content .ifam-price__sub-rule {
	flex: 1 1 auto; height: var(--border-w); background: var(--line);
}

.ifam-content .ifam-price__stats {
	display: grid;
	/* --cols 由 PHP 帶：第四欄整欄沒東西時是 3（見 ifam_render_price()）*/
	grid-template-columns: repeat(var(--cols, 3), minmax(0, 1fr));
	column-gap: var(--space-8);
	margin-top: var(--space-5);
}
.ifam-content .ifam-price__card {
	position: relative; display: flex; flex-direction: column; min-width: 0;
}
/* 欄線畫在欄距正中央（欄距 32px，所以往左 16px），各欄的內容寬度才會完全相同。
   不要用 border-left：那樣線會貼著右邊那欄的字，左右留白不一樣寬。 */
.ifam-content .ifam-price__card + .ifam-price__card::before {
	content: ""; position: absolute; top: 0; bottom: 0; left: calc(var(--space-4) * -1);
	width: var(--border-w); background: var(--line);
}
.ifam-content .ifam-price__card .row {
	display: flex; align-items: baseline; justify-content: space-between; gap: var(--space-2);
	padding: 3px 0;
}
/* 2026-11-04 使用者指定：數字改 14px（和年度報酬率的數字同一級），
   欄位名稱改 12px（先試過 10px，太小）。 */
.ifam-content .ifam-price__card span { font-size: 12px; color: var(--slate); white-space: nowrap; }
.ifam-content .ifam-price__card b {
	font-family: var(--font-num); font-size: 14px; font-weight: 500; white-space: nowrap;
}
.ifam-content .ifam-price__card b.is-up { color: rgb(188, 62, 62); }
.ifam-content .ifam-price__card b.is-down { color: rgb(38, 122, 90); }

/* 跳到 4.5 籌碼面的按鈕：貼著第四欄的底。樣式沿用站上原本那顆「詳細紀錄 ↓」
   （.ifam-record__more）——文字靠左、箭頭靠右、底下一條線，使用者 2026-11-04
   指定要這一款，不是設計畫布上那顆外框按鈕。這裡是淺底，所以線與字用墨色。 */
.ifam-content .ifam-price__acts { margin-top: auto; padding-top: var(--space-2); }
.ifam-content .ifam-price__more {
	display: flex; align-items: center; justify-content: space-between; gap: var(--space-4);
	padding-bottom: var(--space-3);
	border-bottom: var(--border-w) solid var(--ink);
	color: var(--ink); text-decoration: none;
	font-family: var(--font-sans); font-size: 14px; font-weight: 600;
	letter-spacing: 0.08em; line-height: 1.2;
	transition: border-color .18s ease, color .18s ease;
}
.ifam-content .ifam-price__more:hover {
	color: var(--bronze-deep); border-bottom-color: var(--bronze-deep);
}
.ifam-content .ifam-price__more:hover .ifam-btn__arrow { transform: translateY(2px); }
/* 按鈕跳過去時上方留一點喘息空間 */
.ifam-content #sec-chips { scroll-margin-top: var(--space-6); }

/* 年度報酬率（使用者 2026-11-02 加、2026-11-04 改版）：標題自己一列、右邊一條
   細線填滿版面；底下十欄等寬排一列，格與格之間一條細線。漲紅跌綠，色值和
   上面的漲跌幅同一組。 */
.ifam-content .ifam-price__years { margin-top: var(--space-5); }
.ifam-content .ifam-price__yearlist {
	display: grid; grid-template-columns: repeat(10, minmax(0, 1fr));
	list-style: none; margin: 0; padding: 0;
}
.ifam-content .ifam-price__yearlist li {
	margin: 0; min-width: 0; padding: 0 6px; text-align: center;
	border-left: var(--border-w) solid var(--line);
}
.ifam-content .ifam-price__yearlist li:first-child { border-left: 0; }
/* 年份那一列：2026-11-04 使用者試過 12px，改回 10px（價量的欄位名稱維持 12px）*/
.ifam-content .ifam-price__yearlist .y {
	display: block; font-family: var(--font-mono); font-size: 10px;
	letter-spacing: var(--track-mono); color: var(--slate); white-space: nowrap;
}
/* YTD 跟在年份後面；2026-11-04 使用者指定不要換顏色，和年份一樣是灰的 */
.ifam-content .ifam-price__yearlist .y em {
	font-style: normal; color: inherit;
}
.ifam-content .ifam-price__yearlist b {
	display: block; margin-top: 2px;
	font-family: var(--font-num); font-size: 14px; font-weight: 500;
	font-variant-numeric: tabular-nums; white-space: nowrap;
}
.ifam-content .ifam-price__yearlist b.is-up { color: rgb(188, 62, 62); }
.ifam-content .ifam-price__yearlist b.is-down { color: rgb(38, 122, 90); }

/* 放不下四欄就折成兩欄兩列，不縮字（使用者 2026-11-04 指定）。
   第三欄會變成第二列的第一欄，它左邊那條線要拿掉。

   斷點量的是**內文欄自己的寬度**，不是螢幕寬度。設計稿上的斷點（1100／640）
   量的是整個頁面、含左右內距（60／16），換算成內文欄就是 980／608。
   四欄要塞得下最長的那一列（「11/03在外流通股數　140.76 億股」約 221px）：
   (980 − 32×3) ÷ 4 ＝ 221，剛好，所以 980 以下就折。
   正式站的內文欄滿版是 1000px（螢幕 ≥1424px），1366／1280 的筆電約 940，
   會落在兩欄兩列——這是使用者 2026-11-04 決定的行為。 */
@container (max-width: 980px) {
	.ifam-content .ifam-price__stats {
		grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: var(--space-4);
	}
	.ifam-content .ifam-price__card:nth-child(3)::before { display: none; }
	.ifam-content .ifam-price__yearlist .y { letter-spacing: 1px; }
}

/* 手機：價量收成一欄、組與組之間換成橫線；年度報酬率折成五欄兩列。 */
@container (max-width: 608px) {
	.ifam-content .ifam-price__stats {
		grid-template-columns: minmax(0, 1fr); column-gap: 0; row-gap: 0;
	}
	.ifam-content .ifam-price__card + .ifam-price__card {
		margin-top: var(--space-3); padding-top: var(--space-3);
		border-top: var(--border-w) solid var(--line);
	}
	.ifam-content .ifam-price__card + .ifam-price__card::before { display: none; }
	.ifam-content .ifam-price__acts { margin-top: var(--space-3); padding-top: 0; }

	.ifam-content .ifam-price__yearlist { grid-template-columns: repeat(5, minmax(0, 1fr)); }
	.ifam-content .ifam-price__yearlist li { padding: 0 2px 10px; }
	.ifam-content .ifam-price__yearlist li:nth-child(5n+1) { border-left: 0; }
	.ifam-content .ifam-price__yearlist li:nth-child(n+6) {
		padding-top: 10px; padding-bottom: 0;
		border-top: var(--border-w) solid var(--line);
	}
	/* 2026-11-10 使用者指定「2026YTD」寫在同一行（原本手機上 YTD 換到第二行、
	   第一列年份另外撐高 30px 對齊）。字距縮成 1px，360px 寬的手機也放得下。 */
	.ifam-content .ifam-price__yearlist .y { letter-spacing: 1px; }
	.ifam-content .ifam-price__yearlist b { font-size: 13px; }
}

.ifam-content .ifam-price__note {
	font-size: 13px; font-style: italic; line-height: 1.6; color: var(--slate);
	margin: var(--space-3) 0 0;
}
/* x.2「IFA.ai 的量化策略」最後那顆「完整方法論」 */
.ifam-content .ifam-method__acts { margin-top: var(--space-6); }

/* ── 策略實績（走勢圖下方）─────────────────────────────────────────
   參考 ifa.ai 首頁「全權委託管理」那個深色區塊：墨底、左上一道青銅短線、
   mono 小標、重點數字用青銅色。整篇文章只有這一塊是深色，所以很跳。 */
.ifam-content .ifam-record {
	margin-top: var(--space-8);
	background: var(--ink); color: var(--offwhite);
	padding: var(--space-6) var(--space-8);
}
.ifam-content .ifam-record__rule {
	display: block; width: 48px; height: 2px; background: var(--bronze-warm);
}
.ifam-content .ifam-record__text {
	margin: var(--space-4) 0 0;
	font-size: 16px; line-height: 1.7; color: var(--offwhite);
}
/* 日期維持等寬（和表格裡的日期同一套規則）*/
.ifam-content .ifam-record__date {
	font-family: var(--font-mono); font-size: 0.9em; letter-spacing: 0;
}
/* 報酬率接在句尾同一行，放大並上青銅色 */
.ifam-content .ifam-record__ret {
	font-size: 20px; font-weight: 700; color: var(--bronze-warm);
}
/* 每個選到這檔的策略一行，接在主句下面 */
.ifam-content .ifam-record__list {
	/* 緊接在主句下面，和下方按鈕拉開（.ifam-record__acts 那條規則） */
	margin: var(--space-3) 0 0; padding: 0; list-style: none;
}
.ifam-content .ifam-record__list li {
	position: relative; padding: 0 0 0 var(--space-5);
	font-size: 14px; line-height: 1.75; color: var(--slate-light);
}
.ifam-content .ifam-record__list li::before {
	content: ""; position: absolute; left: 0; top: 0.85em;
	width: 12px; height: var(--border-w); background: var(--bronze-warm);
}
.ifam-content .ifam-record__list li + li { margin-top: var(--space-2); }
/* 次數與報酬率用比整行更亮的淡灰——深色底上青銅色太搶，和主句的報酬率打架 */
.ifam-content .ifam-record__list b { font-weight: 700; color: var(--slate-pale); }
.ifam-content .ifam-record__list + .ifam-record__acts { margin-top: var(--space-8); }

/* 兩顆橫桿按鈕並排：字靠左、箭頭靠右，底下一道延伸的細線。
   .ifam-content a 會塞青銅色 border-bottom 與 padding-bottom: 1px 進來，
   所以這兩個都要明寫蓋掉。 */
.ifam-content .ifam-record__acts {
	display: flex; flex-wrap: wrap; gap: var(--space-8);
	margin-top: var(--space-5);
}
.ifam-content .ifam-record__more {
	flex: 1 1 260px; max-width: 360px;
	display: flex; align-items: center; justify-content: space-between;
	padding-bottom: var(--space-3);
	border-bottom: var(--border-w) solid var(--offwhite);
	color: var(--offwhite); text-decoration: none;
	font-family: var(--font-sans); font-size: 14px; font-weight: 600;
	letter-spacing: 0.08em; line-height: 1.2;
	transition: border-color .18s ease, color .18s ease;
}
.ifam-content .ifam-record__more:hover {
	color: var(--bronze-warm); border-bottom-color: var(--bronze-warm);
}
.ifam-content .ifam-record__more:hover .ifam-btn__arrow { transform: translateX(3px); }
/* 往下跳的那顆，箭頭也往下動 */
.ifam-content .ifam-record__more--down:hover .ifam-btn__arrow { transform: translateY(2px); }
/* 按鈕跳過去時上方留一點喘息空間 */
.ifam-content #strat-hits { scroll-margin-top: var(--space-6); }

@media (max-width: 980px) {
	.ifam-content .ifam-price__svg { height: 240px; }
}
/* 價量與年度報酬率的窄版（原本在這裡的 @media max-width: 640px）改用容器查詢，
   和上面那一段放在一起，見 .ifam-price 的 @container。 */

/* 手機：圖拉成滿版，左右各省下版心的內距；Y 軸刻度欄從 54px 縮到 38px。
   原本 335px 的框扣掉 16+54 的內距，真正畫圖的只剩 263px，X 軸月份會疊在一起。
   （X 軸標籤的疏密由 inc/article.php 依實際像素寬度決定，不是寫死的百分比。）*/
@media (max-width: 782px) {
	.ifam-content .ifam-price__chart {
		margin-left: calc(-1 * var(--container-pad));
		margin-right: calc(-1 * var(--container-pad));
		border-left: 0; border-right: 0;
		padding: var(--space-3) 38px 0 var(--space-2);
	}
	.ifam-content .ifam-price__ylab { width: 38px; top: var(--space-3); }
	.ifam-content .ifam-price__ylab span { left: 6px; }
}

/* ── 導流按鈕（訂閱以獲得完整策略）────────────────────────────────────
   2026-10-16 取代三張訂閱方案卡。這是全站最重要的轉換點，所以刻意與其他按鈕不同：
   整段寬、深墨底 + 銅色細框、左側銅色標記、mono 小標＋serif 大字，hover 時整塊翻成銅色。 */
.ifam-content .ifam-cta {
	max-width: var(--article-w); margin: var(--space-10) 0 var(--space-6) auto;
}
.ifam-content .ifam-cta__btn {
	position: relative; display: flex; align-items: center; justify-content: space-between;
	gap: var(--space-5); width: 100%;
	/* 高度對齊進出紀錄表的表頭列（th 內距 10px、整列 43px）*/
	padding: 10px var(--space-8) 10px var(--space-10);
	background: var(--ink); color: var(--offwhite);
	border: var(--border-w) solid var(--cta-brown);
	border-radius: var(--radius-none); text-decoration: none;
	box-shadow: var(--shadow-dark-btn);
	transition: color .18s ease, border-color .18s ease;
}
/* 左側那條銅色標記：和站上其他按鈕最明顯的差別。
   hover 時整條往右延伸蓋滿按鈕，所以文字要墊高一層才不會被蓋住。 */
.ifam-content .ifam-cta__btn::before {
	content: ""; position: absolute; left: 0; top: 0; bottom: 0; z-index: 0;
	width: 4px; background: var(--cta-brown);
	transition: width .18s ease;
}
.ifam-content .ifam-cta__text,
.ifam-content .ifam-cta__arrow { position: relative; z-index: 1; }
.ifam-content .ifam-cta__text {
	font-family: var(--font-serif); font-size: 16px; font-weight: 600; letter-spacing: 0.02em;
	line-height: 1.2;   /* 不要繼承內文的 1.8，否則整塊會比表頭列高 */
}
.ifam-content .ifam-cta__arrow {
	font-family: var(--font-mono); font-size: 18px; line-height: 1.15;
	color: var(--cta-brown); transition: transform .18s ease, color .18s ease;
}
/* 棕底上維持白字（對比也比墨色字好：4.38:1 vs 3.95:1）。
   這裡一定要明寫 color——不寫的話會被通用的 .ifam-content a:hover
   接管成青銅色，變成棕底棕字、整行看不見。 */
.ifam-content .ifam-cta__btn:hover { border-color: var(--cta-brown); color: var(--offwhite); }
.ifam-content .ifam-cta__btn:hover::before { width: 100%; }
.ifam-content .ifam-cta__btn:hover .ifam-cta__arrow { color: var(--offwhite); transform: translateX(4px); }

@media (max-width: 680px) {
	.ifam-content .ifam-cta { max-width: none; }
	.ifam-content .ifam-cta__btn { padding: var(--space-5) var(--space-5) var(--space-5) var(--space-6); }
	.ifam-content .ifam-cta__text { font-size: 15px; }
}

.ifam-content .ifam-plans { max-width: var(--article-w); margin-left: auto; margin-top: var(--space-6); }

/* radio 只負責記住選了哪個方案，不顯示 */
.ifam-content .ifam-plans__pick {
	position: absolute; opacity: 0; width: 0; height: 0; pointer-events: none;
}

.ifam-content .ifam-plans__cards {
	display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px;
}
.ifam-content .ifam-plan {
	position: relative; display: block; cursor: pointer;
	padding: 18px 20px 20px; background: var(--tint);
	transition: background .15s ease;
}
.ifam-content .ifam-plan:hover { background: var(--cream); }
.ifam-content .ifam-plan__name {
	display: block;
	font-family: var(--font-sans); font-weight: 600; font-size: 15px;
	letter-spacing: 0.04em; color: var(--mute);
}
.ifam-content .ifam-plan__row { display: flex; align-items: baseline; gap: 10px; margin-top: 12px; }
.ifam-content .ifam-plan__row .per { font-family: var(--font-sans); font-size: 12px; color: var(--mute); }
.ifam-content .ifam-plan__row .amt {
	margin-left: auto;
	font-family: var(--font-serif); font-weight: 500; font-size: 30px;
	line-height: 1; letter-spacing: 0.01em; color: var(--mute);
}
.ifam-content .ifam-plan__badge {
	display: none; position: absolute; top: 0; right: 0;
	background: var(--bronze-deep); color: var(--white);
	font-family: var(--font-sans); font-weight: 600; font-size: 12px; letter-spacing: 0.08em;
	padding: 7px 14px;
}

.ifam-content .ifam-plans__body { margin-top: var(--space-6); }
.ifam-content .ifam-plans__pane { display: none; }

.ifam-content #ifam-plan-basic:checked ~ .ifam-plans__cards .ifam-plan[for="ifam-plan-basic"] { background: var(--ink); }
.ifam-content #ifam-plan-basic:checked ~ .ifam-plans__cards .ifam-plan[for="ifam-plan-basic"] .ifam-plan__name { color: var(--white); }
.ifam-content #ifam-plan-basic:checked ~ .ifam-plans__cards .ifam-plan[for="ifam-plan-basic"] .per { color: rgba(255, 255, 255, 0.65); }
.ifam-content #ifam-plan-basic:checked ~ .ifam-plans__cards .ifam-plan[for="ifam-plan-basic"] .amt { color: var(--bronze-warm); }
.ifam-content #ifam-plan-basic:checked ~ .ifam-plans__cards .ifam-plan[for="ifam-plan-basic"] .ifam-plan__badge { display: block; }
.ifam-content #ifam-plan-basic:checked ~ .ifam-plans__body .ifam-plans__pane[data-plan="basic"] { display: block; }

.ifam-content #ifam-plan-pro:checked ~ .ifam-plans__cards .ifam-plan[for="ifam-plan-pro"] { background: var(--ink); }
.ifam-content #ifam-plan-pro:checked ~ .ifam-plans__cards .ifam-plan[for="ifam-plan-pro"] .ifam-plan__name { color: var(--white); }
.ifam-content #ifam-plan-pro:checked ~ .ifam-plans__cards .ifam-plan[for="ifam-plan-pro"] .per { color: rgba(255, 255, 255, 0.65); }
.ifam-content #ifam-plan-pro:checked ~ .ifam-plans__cards .ifam-plan[for="ifam-plan-pro"] .amt { color: var(--bronze-warm); }
.ifam-content #ifam-plan-pro:checked ~ .ifam-plans__cards .ifam-plan[for="ifam-plan-pro"] .ifam-plan__badge { display: block; }
.ifam-content #ifam-plan-pro:checked ~ .ifam-plans__body .ifam-plans__pane[data-plan="pro"] { display: block; }

.ifam-content #ifam-plan-premium:checked ~ .ifam-plans__cards .ifam-plan[for="ifam-plan-premium"] { background: var(--ink); }
.ifam-content #ifam-plan-premium:checked ~ .ifam-plans__cards .ifam-plan[for="ifam-plan-premium"] .ifam-plan__name { color: var(--white); }
.ifam-content #ifam-plan-premium:checked ~ .ifam-plans__cards .ifam-plan[for="ifam-plan-premium"] .per { color: rgba(255, 255, 255, 0.65); }
.ifam-content #ifam-plan-premium:checked ~ .ifam-plans__cards .ifam-plan[for="ifam-plan-premium"] .amt { color: var(--bronze-warm); }
.ifam-content #ifam-plan-premium:checked ~ .ifam-plans__cards .ifam-plan[for="ifam-plan-premium"] .ifam-plan__badge { display: block; }
.ifam-content #ifam-plan-premium:checked ~ .ifam-plans__body .ifam-plans__pane[data-plan="premium"] { display: block; }

.ifam-content .ifam-plans__title {
	font-family: var(--font-serif); font-weight: 500; font-size: 20px;
	margin: 0 0 10px; color: var(--ink);
}
.ifam-content .ifam-plans__list {
	list-style: none; margin: 0; padding: 0;
	border: var(--border-w) solid var(--line);
}
.ifam-content .ifam-plans__list li {
	display: flex; align-items: center; gap: 9px;
	margin: 0; padding: 9px 14px;
	border-bottom: var(--border-w) solid var(--line-soft);
	font-family: var(--font-sans); font-size: 13px; line-height: 1.5;
	background: var(--white);
}
.ifam-content .ifam-plans__list li:last-child { border-bottom: 0; }
/* 蓋掉內文清單的青銅短線 */
.ifam-content .ifam-plans__list li::before { content: none; }
.ifam-content .ifam-plans__list li.is-item .label::before {
	content: "—"; color: var(--slate); margin-right: 8px;
}
.ifam-content .ifam-plans__list li.is-group,
.ifam-content .ifam-plans__list li.is-sub {
	background: var(--cream);
	font-family: var(--font-mono); font-weight: 700; font-size: 10px;
	letter-spacing: var(--track-mono); color: var(--bronze-deep);
}
.ifam-content .ifam-plans__list li.is-dark {
	background: var(--ink);
	font-family: var(--font-mono); font-weight: 700; font-size: 10px;
	letter-spacing: var(--track-mono); color: var(--white);
}
.ifam-content .ifam-plans__list small { color: var(--slate); font-size: 11px; }

/* 打勾：深色圓底＋白色勾（用 border 畫，不用字元或圖示字型）*/
.ifam-content .ifam-plans__list .ok {
	margin-left: auto; flex: 0 0 auto; position: relative;
	width: 16px; height: 16px; border-radius: 50%; background: var(--ink);
}
.ifam-content .ifam-plans__list .ok::after {
	content: ""; position: absolute; left: 5px; top: 3px;
	width: 4px; height: 8px;
	border: solid var(--white); border-width: 0 1.6px 1.6px 0;
	transform: rotate(45deg);
}
/* QUANT 那一列右側的青銅菱形 */
.ifam-content .ifam-plans__list .dot {
	margin-left: auto; flex: 0 0 auto;
	width: 9px; height: 9px; background: var(--bronze-warm); transform: rotate(45deg);
}

/* 兩個按鈕平分整列，含中間間距剛好等於上方功能清單的寬度；
   手機上也不換行（nowrap），維持左右並排。 */
.ifam-content .ifam-plans__acts { display: flex; flex-wrap: nowrap; gap: 8px; margin-top: 14px; }
.ifam-content .ifam-plan__btn {
	flex: 1 1 0; min-width: 0; text-align: center;
	display: inline-block; padding: 8px 16px;
	border: var(--border-w) solid var(--ink); background: transparent; color: var(--ink);
	font-family: var(--font-sans); font-weight: 500; font-size: 12.5px; letter-spacing: 0.04em;
	text-decoration: none; white-space: nowrap;
}
.ifam-content .ifam-plan__btn:hover { background: var(--cream); }
.ifam-content .ifam-plan__btn.is-primary {
	background: var(--bronze-deep); border-color: var(--bronze-deep); color: var(--white);
}
.ifam-content .ifam-plan__btn.is-primary:hover { background: var(--ink); border-color: var(--ink); }

@media (max-width: 782px) {
	.ifam-content .ifam-plans { max-width: none; margin-left: 0; }
	.ifam-content .ifam-plans__cards { grid-template-columns: 1fr; }
	.ifam-content .ifam-plan__row .amt { font-size: 26px; }
}

/* 免責聲明 — DS disclaimer-box */
.ifam-disclaimer {
	margin: var(--space-16) 0 0;
	padding: 26px 28px;
	background: rgba(214, 207, 191, 0.25);
	border: var(--border-w) solid var(--line);
}
.ifam-disclaimer__head { display: flex; align-items: center; gap: var(--space-3); margin-bottom: 14px; }
.ifam-disclaimer__sq { width: 10px; height: 10px; background: var(--bronze-deep); flex: 0 0 auto; }
.ifam-disclaimer__title {
	font-family: var(--font-mono); font-weight: 700; font-size: 11px;
	letter-spacing: var(--track-mono); text-transform: uppercase; color: var(--bronze-deep);
}
.ifam-disclaimer p {
	font-family: var(--font-sans); font-size: 13px; line-height: 1.85;
	color: var(--slate); margin: 0 0 var(--space-2);
}
.ifam-disclaimer p:last-child { margin-bottom: 0; }

/* 上下篇 */
.ifam-postnav {
	display: grid; grid-template-columns: 1fr 1fr; gap: var(--border-w);
	background: var(--line);
	border-top: var(--border-w) solid var(--line); border-bottom: var(--border-w) solid var(--line);
	margin-top: var(--space-20);
}
.ifam-postnav--single { grid-template-columns: 1fr !important; }
.ifam-postnav__item { background: var(--paper); padding: var(--space-8); transition: background .15s ease, transform .25s ease; }
.ifam-postnav__item:hover { background: var(--white); }
.ifam-postnav__item--next { text-align: right; }
.ifam-postnav__label {
	font-family: var(--font-mono); font-weight: 700; font-size: 10px;
	letter-spacing: var(--track-mono); text-transform: uppercase; color: var(--bronze);
	display: block; margin-bottom: var(--space-3);
}
.ifam-postnav__title { font-family: var(--font-serif); font-weight: 500; font-size: 24px; line-height: 1.4; }

.ifam-related { padding: var(--space-20) 0 0; }

/* ═══════════════════════════════════════════════════════════════════════
   11. 一般頁面 / 搜尋 / 404 / 留言
   ═══════════════════════════════════════════════════════════════════════ */
/* 單篇文章的預設版型（空白畫布）：只留上下留白，其餘交給使用者排版 */
.ifam-blank { padding: var(--space-16) 0 var(--space-25); }
/* 文章標題 —— 級距與「範本1」的主標一致 */
.ifam-blank__title {
	font-family: var(--font-serif); font-weight: 600;
	font-size: var(--fs-title); line-height: 1.5; letter-spacing: -0.02em;
	margin: 0 0 var(--space-10);
}

.ifam-entry { padding: 0 0 var(--space-25); }
.ifam-entry__thumb { margin: 0 0 var(--space-12); }
.ifam-entry__thumb img { width: 100%; object-fit: cover; }

.ifam-404 { text-align: center; padding: var(--space-25) 0; }
.ifam-404__code {
	font-family: var(--font-serif); font-weight: 400;
	font-size: clamp(80px, 12vw, 160px); line-height: 1;
	color: var(--bronze-pale); margin-bottom: var(--space-5); letter-spacing: -2px;
}
.ifam-404 .ifam-searchform { justify-content: center; margin-top: var(--space-8); }

.ifam-comments { margin-top: var(--space-20); padding-top: var(--space-10); border-top: var(--border-w) solid var(--line); }
.ifam-comments ol { list-style: none; margin: 0; padding: 0; }
.ifam-comments .children { list-style: none; padding-left: var(--space-8); }
.ifam-comments .comment-body { padding: var(--space-5) 0; border-bottom: var(--border-w) solid var(--line-soft); }
.ifam-comments .comment-meta { font-family: var(--font-mono); font-size: 11px; letter-spacing: var(--track-mono); color: var(--slate); margin-bottom: var(--space-3); }
.ifam-comments input[type="text"], .ifam-comments input[type="email"],
.ifam-comments input[type="url"], .ifam-comments textarea {
	width: 100%; padding: var(--space-3) var(--space-4);
	border: var(--border-w) solid var(--line); background: var(--white);
	border-radius: var(--radius-none);
}
.ifam-comments input:focus, .ifam-comments textarea:focus {
	outline: none; border-color: var(--bronze); box-shadow: 0 0 0 3px rgba(176, 141, 62, 0.18);
}
.ifam-comments .submit {
	padding: var(--space-4) var(--space-5); border: var(--border-w) solid var(--ink);
	background: var(--ink); color: var(--offwhite);
	font-family: var(--font-mono); font-size: 12px; letter-spacing: var(--track-mono);
	text-transform: uppercase; border-radius: var(--radius-none); cursor: pointer;
}

/* ═══════════════════════════════════════════════════════════════════════
   12. WordPress 核心樣式
   ═══════════════════════════════════════════════════════════════════════ */
.alignleft { float: left; margin: 0.4em var(--space-8) var(--space-6) 0; }
.alignright { float: right; margin: 0.4em 0 var(--space-6) var(--space-8); }
.aligncenter { margin-left: auto; margin-right: auto; }
.alignwide { max-width: var(--content-w); margin-left: calc(50% - 50vw + var(--container-pad)); margin-right: calc(50% - 50vw + var(--container-pad)); width: auto; }
.alignfull { margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); max-width: 100vw; width: 100vw; }
.wp-caption { max-width: 100%; }
.wp-caption-text { font-family: var(--font-mono); font-size: 11px; letter-spacing: var(--track-mono); text-transform: uppercase; color: var(--slate); text-align: center; margin-top: var(--space-3); }
.sticky, .gallery-caption, .bypostauthor { display: block; }
.wp-block-image { margin: var(--space-8) 0; }
.wp-block-separator { border-top: var(--border-w) solid var(--line); border-bottom: 0; }

/* 對應 theme.json 色票 */
.has-ink-color { color: var(--ink); }
.has-bronze-color { color: var(--bronze); }
.has-slate-color { color: var(--slate); }
.has-ink-background-color { background-color: var(--ink); }
.has-paper-background-color { background-color: var(--paper); }
.has-cream-background-color { background-color: var(--cream); }
.has-white-background-color { background-color: var(--white); }

/* ═══════════════════════════════════════════════════════════════════════
   13. 響應式
   ═══════════════════════════════════════════════════════════════════════ */
@media (max-width: 1280px) {
	:root { --container-pad: 40px; }
}

@media (max-width: 1024px) {
	:root { --container-pad: 28px; --space-25: 72px; }
	.ifam-footer__top { grid-template-columns: 1fr 1fr; gap: var(--space-10); }
}

@media (max-width: 782px) {
	:root { --container-pad: 20px; --space-25: 56px; }

	.ifam-nav-toggle { display: block; }
	.ifam-nav {
		position: absolute; top: 100%; left: 0; right: 0;
		background: var(--white); border-bottom: var(--border-w) solid var(--line);
		padding: var(--space-2) var(--space-5) var(--space-5); display: none;
	}
	.ifam-nav.is-open { display: block; }
	.ifam-nav ul { flex-direction: column; align-items: stretch; gap: 0; }
	.ifam-nav li { border-bottom: var(--border-w) solid var(--line-soft); }
	.ifam-nav a { display: block; padding: 14px 0; font-size: 16px; }
	.ifam-nav ul ul { position: static; opacity: 1; visibility: visible; transform: none; border: 0; background: transparent; padding: 0 0 var(--space-2) var(--space-4); }

	.ifam-quote__cell { flex-basis: 100%; }
	.ifam-quote__value { font-size: 18px; }
	.ifam-stock-name { font-size: 20px; }
	.ifam-report-head h1,
	.ifam-blank__title { font-size: 24px; }
	/* 手機版不縮排，整欄用滿 */
	.ifam-content > *:not(h2) { max-width: none; margin-left: 0; }

	/* 表格限縮在螢幕寬度內，但給足最小寬度讓欄位不要擠成一團，左右滑看 */
	.ifam-table-scroll { max-width: 100%; }
	.ifam-content .ifam-table, .ifam-content table { min-width: 560px; }

	.ifam-content .ifam-chart,
	.ifam-content .ifam-table-title,
	.ifam-content .ifam-table-note,
	.ifam-content .ifam-method { margin-left: 0; max-width: none; }
	/* 手機標題常換成兩三行，行高放寬到 1.5（2026-11-06 使用者指定）；
	   第一行變 24px 高，方塊往下 1px 才會繼續對齊：(24 − 10) ÷ 2 ＝ 7。 */
	.ifam-content .ifam-method__title { line-height: 1.5; }
	.ifam-content .ifam-method__sq { margin-top: 7px; }

	/* 股價區間圖：維持桌機的大小、改成左右滑，
	   縮成一整團的話圖裡的字會小到看不清楚。 */
	.ifam-content .ifam-chart {
		overflow-x: auto; -webkit-overflow-scrolling: touch;
		cursor: zoom-in;
	}
	.ifam-content .ifam-chart svg { width: var(--chart-w); max-width: none; }
	.ifam-chart__hint {
		display: block; margin-top: var(--space-2);
		font-family: var(--font-mono); font-weight: 700; font-size: 10px;
		letter-spacing: var(--track-mono); text-transform: uppercase;
		color: var(--bronze); text-align: right;
	}

	/* 六大策略矩陣在手機收成一欄。DOM 本來就是「同一個家族的 30、15 放一起」，
	   所以收成一欄之後順序自然是 Value 30→15、GARP 30→15、Momentum 30→15。 */
	.ifam-content .ifam-stratgrid { grid-template-columns: minmax(0, 1fr); }
	.ifam-content h2 { font-size: 22px; margin-top: 56px; }
	.ifam-content h3 { font-size: 20px; margin-top: 40px; }
	.ifam-content blockquote { font-size: 18px; padding: 20px 0 20px var(--space-5); text-align: left; }
	.ifam-lede { font-size: 16px; }
	.ifam-postnav { grid-template-columns: 1fr; }
	.ifam-postnav__item--next { text-align: left; }
	.ifam-filters__label { flex-basis: 100%; }
	.ifam-page-head__aside { width: 100%; }
	.ifam-page-head__aside .ifam-searchform { width: 100%; }
	/* 真正要撐開的是包住 input 的 __field（input 不是 form 的 flex 子元素），
	   少了這一行，輸入框會縮回瀏覽器預設的 size 寬度，比下面的表格窄一截。 */
	.ifam-page-head__aside .ifam-searchform__field { flex: 1 1 auto; min-width: 0; }
	.ifam-searchform input[type="search"] { width: 100%; }
	.ifam-footer__top { grid-template-columns: 1fr; gap: var(--space-10); }
	.alignwide, .alignfull { margin-left: 0; margin-right: 0; width: auto; max-width: 100%; }
}

/* 列表頁在窄螢幕：三區都收成單欄，個股表格改成「一列一張小卡」。
   設計稿用的是 container query（@container 900px），但主題沒有建立
   container context，這裡照既有做法用 media query，斷點取 900px。 */
@media (max-width: 900px) {
	/* 個股清單與近期熱門收成單欄，依序是表格、近期熱門、依產業瀏覽 */
	.ifam-marketgrid { grid-template-columns: minmax(0, 1fr); gap: var(--space-12); }

	/* 投資理念：大標回到左緣、字級縮一階 */
	.ifam-philo { grid-template-columns: minmax(0, 1fr); gap: 0; margin-top: var(--space-5); }
	.ifam-philo > * { grid-column: 1; }
	.ifam-philo__headline { font-size: 26px; }

	.ifam-basics__grid { grid-template-columns: 1fr; gap: var(--space-8); }
	.ifam-basics__list { grid-template-columns: 1fr; }

	/* 表格換成每列自成一塊：名次在最左邊，代號、公司、股價、漲跌幅擠同一行。
	   2026-11-03 拿掉「一句話」那一欄之後只剩一行，第二行的 grid-area 一併收掉。
	   橫向很擠，所以左右內距縮一階、欄距用 8px。
	   名次的「市值排名」標籤維持桌機那套藏法（只給讀螢幕的人），
	   畫面上只留數字，排序的依據改由表格上方那行小字交代。 */
	.ifam-stocktable__head { display: none; }
	.ifam-stockrow__link {
		grid-template-columns: 28px auto minmax(0, 1fr) auto auto 14px;
		grid-template-areas: "rank code name price chg arrow";
		row-gap: var(--space-2); column-gap: var(--space-2);
		align-items: baseline;
		padding-left: var(--space-4); padding-right: var(--space-4);
	}
	.ifam-stockrow__rank {
		grid-area: rank;
		font-size: 16px; font-weight: 700; letter-spacing: 0; color: var(--ink);
	}
	.ifam-stockrow__code  { grid-area: code; }
	.ifam-stockrow__cell--name { grid-area: name; min-width: 0; }
	.ifam-stockrow__name {
		overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
	}
	.ifam-stockrow__price { grid-area: price; font-size: 14px; white-space: nowrap; }
	.ifam-stockrow__chg   { grid-area: chg; font-size: 13px; white-space: nowrap; }
	.ifam-stockrow__arrow { grid-area: arrow; }
}

/* 四欄之後每張卡片窄很多，內距跟著縮一階（字級一律 18px，不再分段）*/
@media (max-width: 1280px) {
	.ifam-card__link { padding: var(--space-5) var(--space-6) var(--space-6); }
}
@media (max-width: 480px) {
	/* 依產業瀏覽：手機固定兩欄，不然 32 類一類一列要滑很久 */
	.ifam-industries ul { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 var(--space-4); }
	/* 兩欄時每格只剩 160px，圖縮小才放得下五個字的產業名，不會只掉一個「業」到下一行 */
	.ifam-industry { grid-template-columns: minmax(0, 1fr) 56px; gap: var(--space-2); }
	.ifam-industry__ic { width: 56px; height: 42px; }
	.ifam-card__link { padding: var(--space-4); }
	.ifam-card__deco { margin-bottom: var(--space-4); }
}

/* 列印 */
@media print {
	.ifam-header, .ifam-footer, .ifam-postnav, .ifam-related,
	.ifam-filters, .ifam-nav-toggle, .ifam-dot-band { display: none !important; }
	body { background: #fff; font-size: 12pt; }
	.ifam-quote { break-inside: avoid; }
}

/* ── 左側目錄 ─────────────────────────────────────────────────────
   目錄與內文並排成兩欄。標題、麵包屑橫跨兩欄，左緣和目錄對齊，
   所以標題區塊的寬度 ＝ 目錄寬 ＋ 間距 ＋ 內容寬。
   視窗不夠寬就把目錄收起來，版心退回原本的閱讀欄寬度。 */
.ifam-wrap--toc {
	max-width: calc(var(--read-w) + var(--toc-w) + var(--toc-gap) + var(--container-pad) * 2);
}
.ifam-report__body {
	display: grid;
	grid-template-columns: var(--toc-w) minmax(0, 1fr);
	gap: var(--toc-gap);
	align-items: start;
}

/* 文章本體之後的區塊（額外內文、免責聲明、留言）要跟著內容欄，
   不然會滑到目錄底下，和上面的內文對不齊。 */
.ifam-wrap--toc > .ifam-report__body ~ * {
	margin-left: calc(var(--toc-w) + var(--toc-gap));
}

/* 相關個股在文章版心之外自成一段，用左內距把它推到和內容欄同一個 X，
   寬度也因此和內容欄一致。 */
.ifam-wrap--toc-col {
	max-width: calc(var(--read-w) + var(--toc-w) + var(--toc-gap) + var(--container-pad) * 2);
	padding-left: calc(var(--container-pad) + var(--toc-w) + var(--toc-gap));
}

/* sticky 而非 fixed：捲到 .ifam-report__body 結束（也就是免責聲明之前）
   就自動停住，不會再往下蓋到相關個股。 */
/* ── 左側目錄 ──────────────────────────────────────────────────
   2026-11-04 使用者指定：**完全比照方法論頁的章節目錄**
   （assets/css/methodology.css 的 .toc ── 字級、間距、分隔線、
   第二層那條軸線與亮起來的樣子都照搬）。那支 CSS 只有方法論版型會載入，
   不能直接共用，所以在這裡另寫一份 ifam- 前綴的。
   唯一的差別：這裡的第一層不收合（沒有可展開的東西），所以 chevron 沿用
   原本那個 1px 細線畫的小箭頭，不是方法論那個會轉 180 度的 ↓。 */
.ifam-toc { position: sticky; top: var(--space-6); }
.ifam-toc__label {
	margin: 0 0 var(--space-4);
	font-family: var(--font-mono); font-size: 13px; font-weight: 700;
	line-height: 1.5; letter-spacing: var(--track-mono);
	text-transform: uppercase; color: var(--bronze);
}
.ifam-toc ul { list-style: none; margin: 0; padding: 0; }

/* 第一層：墨色粗體，段與段之間一條細線（第一段不畫線、也不留上緣空白）*/
.ifam-toc__hd {
	display: flex; align-items: flex-start; gap: var(--space-3);
	padding: var(--space-3) 0;
	border-top: var(--border-w) solid var(--line);
}
.ifam-toc > ul > li:first-child .ifam-toc__hd { border-top: 0; padding-top: 0; }
.ifam-toc__hd > a {
	flex: 1 1 auto; min-width: 0;
	border: 0; font-family: var(--font-sans); font-size: 14px; font-weight: 700;
	line-height: 1.5; color: var(--ink); text-decoration: none;
}
.ifam-toc__text { display: block; }

/* ── 收合開關（2026-11-04 使用者指定）──────────────────────────
   右邊那個向下箭頭現在是收合開關，所以**只有帶小節的段落才有箭頭**。
   不寫 JS：一個看不見但仍可用鍵盤操作的 checkbox ＋ label，和 4.3／4.4
   分頁表格的 radio 同一招。預設展開（checked），箭頭朝上；收起來朝下。
   箭頭本身是 1px 細線畫的，比照設計規範，不用圖檔。 */
.ifam-toc__toggle {
	position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none;
}
.ifam-toc__chev {
	flex: none; display: flex; align-items: center; justify-content: center;
	width: 20px; height: 21px;   /* 21px＝第一層那一行的行高，和文字切齊 */
	margin-right: -4px; cursor: pointer; color: var(--slate);
}
.ifam-toc__chev::before {
	content: ""; display: block; width: 6px; height: 6px; margin-top: 3px;
	border-right: 1px solid currentColor; border-bottom: 1px solid currentColor;
	transform: rotate(225deg); transition: transform .2s ease;
}
.ifam-toc__toggle:not(:checked) ~ .ifam-toc__hd .ifam-toc__chev::before {
	margin-top: -3px; transform: rotate(45deg);
}
.ifam-toc__toggle:not(:checked) ~ .ifam-toc__sub { display: none; }
.ifam-toc__chev:hover { color: var(--ink); }
/* 鍵盤操作時看得到焦點（checkbox 本身是看不見的）*/
.ifam-toc__toggle:focus-visible ~ .ifam-toc__hd .ifam-toc__chev {
	outline: var(--border-w) solid var(--bronze-deep); outline-offset: 2px;
}

/* 讀到這一段時整段標題轉青銅色；小節亮著的時候，它所屬的大段落也一起轉
   （:has() 不支援的瀏覽器就只是沒有這個效果，不影響其他部分）*/
.ifam-toc__hd > a:hover .ifam-toc__text,
.ifam-toc__hd > a.is-on .ifam-toc__text,
.ifam-toc__part:has(.ifam-toc__sub a.is-on) .ifam-toc__hd > a .ifam-toc__text { color: var(--bronze-deep); }

/* 第二層：左邊一條細線當軸，項目掛在線上；目前所在的小節把線染成青銅色 */
/* 選擇器要帶著 .ifam-toc 才蓋得過上面那條 `.ifam-toc ul { margin: 0 }`
   （同為 0,1,1 vs 0,1,0，單一 class 會輸），否則小節清單底下不會留白。 */
.ifam-toc .ifam-toc__sub {
	margin: 0 0 var(--space-3);
	border-left: var(--border-w) solid var(--line);
}
.ifam-toc__sub a {
	display: block;
	margin-left: calc(var(--border-w) * -1);
	padding: 7px 0 7px var(--space-4);
	border-left: 2px solid transparent;
	font-family: var(--font-sans); font-size: 14px; line-height: 1.5;
	color: var(--slate); text-decoration: none;
}
.ifam-toc__sub a:hover { color: var(--ink); }
.ifam-toc__sub a.is-on {
	color: var(--ink); font-weight: 500; border-left-color: var(--bronze-deep);
}

/* 內容欄被目錄擠得太窄就收起目錄，整頁退回單欄 */
@media (max-width: 1080px) {
	.ifam-wrap--toc,
	.ifam-wrap--toc-col { max-width: calc(var(--read-w) + var(--container-pad) * 2); }
	.ifam-wrap--toc-col { padding-left: var(--container-pad); }
	.ifam-report__body { display: block; }
	.ifam-wrap--toc > .ifam-report__body ~ * { margin-left: 0; }

	/* 窄螢幕沒有側欄可放，目錄改成內文最上方的一塊（2026-10-29）。
	   位置不用另外搬——它本來就是 .ifam-report__body 的第一個子元素，
	   單欄之後自然落在「最後更新於」與第一個 H2 之間。
	   sticky 要關掉：單欄時會一路黏在畫面上蓋住內文。

	   2026-11-04 使用者指定：白底卡片拿掉——白底、外框與內距全部不要，
	   目錄就和底下的內文同一個寬度、同一條左邊界。分段本來就靠項目之間
	   那幾條細線（和方法論頁一致），不需要再用一個框把它圈起來。 */
	.ifam-toc {
		display: block; position: static;
		margin-bottom: var(--space-8);
		padding: 0; border: 0; background: none;
	}
	/* 字級與間距沿用桌機那一套（和方法論頁一致） */

	.ifam-toc__label { margin-bottom: var(--space-4); }

	/* 2026-11-06 使用者指定：單欄時第一層照常列出，第二層預設收合，
	   點箭頭才展開。HTML 只有一份，checkbox 預設是打勾的（桌機＝展開），
	   所以窄螢幕把意思反過來：打勾＝收合、取消打勾＝展開，不必寫 JS。 */
	.ifam-toc__toggle:checked ~ .ifam-toc__sub { display: none; }
	.ifam-toc__toggle:not(:checked) ~ .ifam-toc__sub { display: block; }
	.ifam-toc__toggle:checked ~ .ifam-toc__hd .ifam-toc__chev::before {
		margin-top: -3px; transform: rotate(45deg);
	}
	.ifam-toc__toggle:not(:checked) ~ .ifam-toc__hd .ifam-toc__chev::before {
		margin-top: 3px; transform: rotate(225deg);
	}
}

/* ── 回到最上方（只在手機出現）──────────────────────────────────
   桌機捲動距離短、又有左側目錄，不需要再放一顆浮動按鈕。 */
.ifam-totop { display: none; }
@media (max-width: 782px) {
	.ifam-totop {
		display: flex; align-items: center; justify-content: center;
		position: fixed; right: var(--space-4); bottom: var(--space-4); z-index: 60;
		width: 44px; height: 44px; padding: 0;
		background: var(--ink); color: var(--offwhite);
		border: var(--border-w) solid var(--bronze);
		border-radius: var(--radius-none); cursor: pointer;
		transition: background-color .15s ease, border-color .15s ease;
	}
	.ifam-totop[hidden] { display: none; }
	.ifam-totop:hover, .ifam-totop:active {
		background: var(--bronze-deep); border-color: var(--bronze-deep);
	}
	/* 箭頭用 1px 細線畫，不進圖檔也不用字型 */
	.ifam-totop__arrow {
		width: 10px; height: 10px; margin-top: 3px;
		border-top: 1px solid currentColor; border-left: 1px solid currentColor;
		transform: rotate(45deg);
	}
}

/* ── 同產業的其他個股（2026-11-02 改版，版型參考 ft.com）──────────
   細線切出的格狀：橫線在每一格的下緣，直線畫在欄距正中央（用 ::after，
   這樣線不會貼著字，留白是對稱的）。零圓角、無陰影，和站上其他區塊一致。
   2026-11-06 使用者指定由兩欄改成一列四檔、每格寬高都縮小：代號疊在公司名上面
   省寬度，字級與上下留白一起收。 */
/* 這一行就是區塊標題（2026-11-02 起不再有襯線大標）。 */
.ifam-peers__kicker {
	flex: none; margin: 0;
	font-family: var(--font-mono); font-size: 12px; font-weight: 700;
	letter-spacing: var(--track-mono); text-transform: uppercase;
	color: var(--ink);
}
.ifam-peers {
	list-style: none; margin: 0; padding: 0;
	display: grid; grid-template-columns: repeat(4, minmax(0, 1fr));
	column-gap: var(--space-6);
	border-top: var(--border-w) solid var(--line);
}
.ifam-peers__item {
	position: relative;
	border-bottom: var(--border-w) solid var(--line);
}
/* 欄距正中央那條直線。2026-11-02 由整格高改成一個字高、垂直置中——
   拉滿整格會讓各欄看起來像被切開的幾張表。每列最後一格、以及整區最後一格右邊不畫。 */
.ifam-peers__item:not(:nth-child(4n)):not(:last-child)::after {
	content: ""; position: absolute; top: 50%; height: 20px; transform: translateY(-50%);
	right: calc(var(--space-6) / -2);
	width: var(--border-w); background: var(--line);
}
.ifam-peers__link {
	display: grid; grid-template-columns: minmax(0, 1fr) auto;
	align-items: center; gap: var(--space-2);
	padding: var(--space-3) 0; border-bottom: 0; text-decoration: none;
}
.ifam-peers__link:hover .ifam-peers__name { color: var(--bronze-deep); }
.ifam-peers__head { grid-column: 1; display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.ifam-peers__code {
	flex: none;
	font-family: var(--font-mono); font-size: 12px; font-weight: 700;
	letter-spacing: var(--track-mono); color: var(--bronze-deep);
}
.ifam-peers__name {
	font-family: var(--font-serif); font-size: 16px; font-weight: 500; line-height: 1.3;
	color: var(--ink); transition: color .2s ease;
}
/* 2026-11-03：原本這裡還有一行「一句話定位」（.ifam-peers__desc），
   使用者把一句話整個拿掉了，所以只剩一列，報價不必再跨兩列。 */
.ifam-peers__quote {
	grid-column: 2; grid-row: 1; align-self: center;
	text-align: right; white-space: nowrap;
}
.ifam-peers__px {
	display: block;
	font-family: var(--font-mono); font-size: 13px; font-weight: 700;
	letter-spacing: var(--track-mono); color: var(--ink);
}
.ifam-peers__chg {
	display: block; margin-top: 2px;
	font-family: var(--font-mono); font-size: 12px; letter-spacing: var(--track-mono);
}
.ifam-peers__chg.is-up { color: var(--up); }
.ifam-peers__chg.is-down { color: var(--down); }
.ifam-peers__all {
	display: inline-flex; align-items: baseline; gap: var(--space-3);
	margin-top: var(--space-6); border-bottom: 0; text-decoration: none;
	font-family: var(--font-sans); font-size: 14px; font-weight: 500;
	letter-spacing: 0.04em; color: var(--bronze-deep);
}
.ifam-peers__all:hover { color: var(--ink); }
/* 平板、手機放不下四欄，收成兩欄：每列只剩奇數格右邊要畫直線。 */
@media (max-width: 782px) {
	.ifam-peers { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ifam-peers__item:not(:nth-child(4n)):not(:last-child):nth-child(even)::after { content: none; }
}