/* 個股研究總覽（2026-10-09 用戶定案：表格最後一欄「產業動態」改成「研究總覽」膠囊）。
   只新增樣式，不動任何既有版面、顏色或字級規則。 */
.sr-open{display:inline-block;font-size:10px;font-weight:800;line-height:1.9;padding:1px 8px;margin:1px 0;
  border:1px solid #2F6C9E;border-radius:999px;background:#EAF2FA;color:#1F4E73;cursor:pointer;white-space:nowrap}
.sr-open:hover{background:#D8E8F7;border-color:#1F4E73}
.sr-open:focus-visible{outline:2px solid #2F6C9E;outline-offset:1px}
.sr-intro{font-size:12px;line-height:1.7;color:var(--sub);background:rgba(47,108,158,.07);
  border-radius:8px;padding:7px 9px;margin:0 0 12px}
.sr-sec{margin:0 0 15px}
.sr-sec>h4{margin:0 0 7px;font-size:13px;font-weight:800;color:var(--txt);
  border-left:4px solid #2F6C9E;padding-left:8px}
.sr-block{margin:0 0 9px}
.sr-h{font-size:12px;font-weight:800;color:var(--txt);margin:0 0 4px}
.sr-p{font-size:12px;line-height:1.7;color:var(--txt)}
.sr-kv{display:flex;flex-wrap:wrap;gap:3px 14px;font-size:12px;line-height:1.9;color:var(--txt)}
.sr-kvline{display:flex;gap:5px;align-items:baseline}
.sr-k{color:var(--sub);font-size:11px;white-space:nowrap}
.sr-v{font-weight:700;font-variant-numeric:tabular-nums}
.sr-gold{color:#B8860B;font-weight:800}
.sr-chips{display:flex;flex-wrap:wrap;gap:4px;margin:3px 0 6px}
.sr-chip{display:inline-block;font-size:10.5px;border:1px solid var(--line);border-radius:999px;
  padding:0 7px;line-height:1.9;color:var(--txt);background:rgba(47,108,158,.06)}
.sr-ma{display:inline-block;font-size:10px;border:1px solid var(--line);border-radius:4px;
  padding:0 4px;margin:0 2px;color:var(--sub)}
.sr-miss{font-size:12px;line-height:1.7;color:#8A5B00;background:#FFF6E0;border:1px dashed #E0B457;
  border-radius:8px;padding:6px 9px;margin:0 0 6px}
.sr-note{font-size:11px;line-height:1.65;color:var(--sub);margin:6px 0 0}
.sr-a{color:#2F6C9E;text-decoration:underline}
.sr-ul{margin:3px 0 0;padding-left:18px;font-size:12px;line-height:1.75}
.sr-tb td,.sr-tb th{text-align:center}
.sr-tb td:first-child,.sr-tb th:first-child{text-align:left}
.sf-up{color:var(--up)}
.sf-down{color:var(--down)}
@media (max-width:760px){
  .sr-open{font-size:9.5px;padding:1px 6px}
  .sr-kv{display:block}
  .sr-kvline{display:block}
  .sr-k{display:inline-block;min-width:72px}
}
/* 🆕 2026-10-09 用戶指示「僅產業鏈 改變位置」：
   產業鏈連結改放到產業面彈窗最上面、股票名稱旁邊（沿用既有 .indlink 外觀，只補位置）。 */
.pf-chain{margin-left:7px;vertical-align:middle}
/* 🆕 2026-10-09 用戶要求：點基本面數字 → 中央浮動窗看近三年歷史 */
#sfHist{position:fixed;inset:0;z-index:10200;display:none;align-items:center;justify-content:center;background:rgba(8,14,22,.55)}
#sfHist.on{display:flex}
#sfHistCard{width:min(560px,94vw);max-height:86vh;display:flex;flex-direction:column;background:var(--card,#fff);
  border:1px solid var(--line,#d8dfe5);border-radius:12px;overflow:hidden;box-shadow:0 12px 40px rgba(0,0,0,.28)}
#sfHistHead{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;
  border-bottom:1px solid var(--line,#d8dfe5);font-weight:800}
#sfHistClose{border:0;background:transparent;font-size:16px;cursor:pointer;color:var(--sub)}
#sfHistBody{padding:10px 14px 14px;overflow:auto}
.sf-hist{cursor:pointer;text-decoration:underline dotted;text-underline-offset:3px}
.sf-hist:hover{color:#2F6C9E}
.sf-hist-top{font-size:12.5px;color:var(--sub);margin:0 0 6px}
.sf-hist-chart{width:100%;height:80px;display:block;margin:0 0 8px}
.sf-hist-chart path{fill:none;stroke:#2F6C9E;stroke-width:1.6}
.sf-hist-chart text{font-size:9px;fill:var(--sub)}
.sf-hist-tb td,#sfHistBody .sf-hist-tb th{text-align:center}
.sf-hist-tb td:first-child,#sfHistBody .sf-hist-tb th:first-child{text-align:left}
@media(max-width:760px){#sfHistCard{width:96vw}}
/* 🆕 2026-10-09 用戶反映「還是黑色」：可點歷史的數字要一眼看得出來是連結。
   藍色＋虛線底線（跟站上連結同一種藍）；漲跌紅綠的數字保留原色，但一樣有底線。 */
.sf-hist{cursor:pointer;color:#2F6C9E;text-decoration:underline;text-decoration-style:dotted;
  text-decoration-thickness:1px;text-underline-offset:3px;text-decoration-color:#2F6C9E}
.sf-hist.sf-up{color:var(--up);text-decoration-color:var(--up)}
.sf-hist.sf-down{color:var(--down);text-decoration-color:var(--down)}
.sf-hist:hover{text-decoration-style:solid;background:rgba(47,108,158,.10);border-radius:4px}
.sf-hist:focus-visible{outline:2px solid #2F6C9E;outline-offset:2px;border-radius:4px}
/* 🆕 2026-10-09：標籤也可以點（開近三年歷史），用灰字＋底線保持低調；
   數字維持藍色底線；「說明」才是展開白話說明。 */
.sf-hist.sf-hist-label{color:var(--sub);text-decoration-color:var(--sub)}
.sf-hist.sf-hist-label:hover{color:#2F6C9E;text-decoration-color:#2F6C9E;text-decoration-style:solid}
.sf-click-hint{cursor:pointer}
/* 2026-10-09 使用者同意 A+B：同區一張卡，原有數字、說明與色彩保留。 */
.sf-combined-card{padding:9px;border:1px solid var(--line);border-radius:8px;background:var(--card,#fff);cursor:pointer}
.sf-combined-head{font-size:12px;margin-bottom:7px}
.sf-combined-card .sf-metric{border:0;border-radius:0;padding:5px 0;background:transparent;border-top:1px solid var(--line)}
.sf-combined-card:focus-visible{outline:2px solid #2F6C9E;outline-offset:2px}
.sf-combined-card .sf-metric-explanation{cursor:default}
#sfHistCard{width:min(900px,94vw);color:var(--txt)}
#sfHistTabs{display:flex;gap:6px;padding:9px 14px 0;flex-shrink:0}
#sfHistTabs button{border:1px solid var(--line);background:var(--card,#fff);color:var(--sub);border-radius:8px;padding:6px 16px;font:inherit;font-size:13px;cursor:pointer}
#sfHistTabs button[aria-selected="true"]{color:#2F6C9E;border-color:#2F6C9E;background:rgba(47,108,158,.10);font-weight:700}
#sfHistProgress{padding:7px 14px;font-size:11px;color:var(--sub);border-bottom:1px solid var(--line)}
#sfHistBody{min-height:0}
.sf-hist-section{margin-bottom:18px}
.sf-hist-section h4{font-size:13px;margin:0 0 8px;color:var(--txt)}
.sf-hist-table-wrap{max-height:360px;overflow:auto;border:1px solid var(--line);border-radius:6px}
.sf-hist-tb{width:100%;margin:0;white-space:nowrap}
.sf-hist-tb th{position:sticky;top:0;background:var(--card,#fff)}
@media(max-width:760px){#sfHistCard{width:96vw}.sf-combined-card .sf-grid{grid-template-columns:1fr 1fr}}

/* 🆕 2026-10-09 用戶定案：營收／財報只留一個入口「查看最近歷史（6 年）」；
   視窗內一個指標一塊，含走勢圖、變化解讀（白話）與可展開的全部期別。 */
.sf-hist-entry{margin:2px 0 0}
.sf-hist-open{display:inline-block;font-size:12.5px;font-weight:800;color:#1F4E73;background:#EAF2FA;
  border:1px solid #2F6C9E;border-radius:8px;padding:5px 12px;cursor:pointer;font-family:inherit}
.sf-hist-open:hover{background:#D8E8F7;border-color:#1F4E73}
.sf-hist-open:focus-visible{outline:2px solid #2F6C9E;outline-offset:2px}
#sfHistCard{width:min(720px,96vw)}
.sf-block{border-top:1px solid var(--line,#d8dfe5);padding:10px 0 4px}
.sf-block:first-of-type{border-top:0;padding-top:2px}
.sf-block-head{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;font-size:13px}
.sf-block-head b{font-size:13.5px;color:var(--txt)}
.sf-block-head span{color:var(--sub);font-size:12px}
.sf-read{margin:6px 0 4px;padding-left:18px;font-size:12px;line-height:1.75;color:var(--txt)}
.sf-read li{margin:0 0 2px}
.sf-block-table>summary{cursor:pointer;font-size:12px;color:#2F6C9E;margin:4px 0 6px}
.sf-block .sf-hist-chart{height:96px}
@media(max-width:760px){#sfHistCard{width:96vw}.sf-block-head{gap:6px}}
/* 🆕 2026-10-09 用戶定案：像券商 App 的完整表格（年×月、季度×指標），先攤開數據再看解讀。 */
.sf-mx-wrap{margin:2px 0 6px;overflow-x:auto}
.sf-mx{border-collapse:collapse;font-variant-numeric:tabular-nums;font-size:11.5px;min-width:100%}
.sf-mx th,.sf-mx td{border-bottom:1px solid var(--line,#e3e8ee);padding:4px 6px;text-align:right;white-space:nowrap}
.sf-mx thead tr:first-child th{font-size:10.5px;color:var(--sub);font-weight:700;text-align:center}
.sf-mx thead th[title]{cursor:help}
.sf-mx th:first-child{text-align:left;color:var(--sub);font-weight:700;position:sticky;left:0;background:var(--card,#fff)}
.sf-mx td{color:var(--txt)}
.sf-mx tr:hover td{background:rgba(47,108,158,.05)}
.sf-dim{color:var(--sub)}
.sf-read{background:rgba(47,108,158,.05);border-radius:8px;padding:8px 10px 8px 26px;margin:8px 0}
@media(max-width:760px){.sf-mx{font-size:10.5px}.sf-mx th,.sf-mx td{padding:3px 4px}}
/* 🆕 2026-10-09 研究總覽五面向（產業／基本／新聞／技術／籌碼）：一句結論＋偏向，長內容移除 */
.ro-top{font-size:12px;color:var(--sub);margin:0 0 8px}
.ro-dim{border-top:1px solid var(--line,#e3e8ee);padding:8px 0 6px}
.ro-dim:first-of-type{border-top:0}
.ro-head{display:flex;align-items:center;gap:8px;font-size:13px}
.ro-head b{color:var(--txt)}
.ro-tag{font-size:11px;font-weight:800;border-radius:999px;padding:1px 8px;border:1px solid transparent}
.ro-up{color:#c73e46;background:rgba(199,62,70,.10);border-color:rgba(199,62,70,.35)}
.ro-down{color:#14805e;background:rgba(20,128,94,.10);border-color:rgba(20,128,94,.35)}
.ro-mid{color:#647586;background:rgba(100,117,134,.10);border-color:rgba(100,117,134,.35)}
.ro-line{font-size:12.5px;line-height:1.75;color:var(--txt);margin:3px 0 0}
.ro-why{font-size:11.5px;line-height:1.7;color:var(--sub);margin:2px 0 0}
.ro-src{font-size:11px;color:var(--sub)}
/* 🆕 2026-10-10 用戶指示：「點進去後 我要兩顆膠囊 一顆是單月 一顆是累計」
   ⇒ 六年歷史視窗的月營收上方放兩顆膠囊切換單月／累計；只加樣式，不動既有規則。 */
.sf-pill-row{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 8px}
.sf-pill{border:1px solid var(--line,#d8dfe5);background:var(--card,#fff);color:var(--sub,#647586);
  border-radius:999px;padding:4px 16px;font:inherit;font-family:inherit;font-size:12.5px;font-weight:700;cursor:pointer}
.sf-pill:hover{border-color:#2F6C9E;color:#2F6C9E}
.sf-pill[aria-selected="true"]{color:#1F4E73;border-color:#2F6C9E;background:#EAF2FA}
.sf-pill:focus-visible{outline:2px solid #2F6C9E;outline-offset:2px}

/* ============================================================================
   🆕 2026-10-11（第五批・用戶指示，附券商 App 參考範本截圖）
   用戶原話：「以此為參考範本」「年跟年中間要有區隔線」「把億元刪除」「月份行列上下縮短」
             「圖2 每一欄中間要有線區隔」「點一下表頭要有專有名詞白話文介紹」
   依鐵律第 30 條先問再做：用戶選定月營收表「照參考範本改成一年一欄」＋「月明細表也要」，
   財報表頭白話說明用「表頭下方展開一行」。
   實測（390px 改前）：月營收表 12 欄、寬 741 像素（要左右滑）、一列 40 像素；
     一列之所以 40 像素，是因為手機版全站有一條 `td{padding:11px 6px!important}`
     （logo-minimal.css）蓋掉表格自己的 3 到 4 像素設定，文字只佔 17 像素、其餘都是空白。
   ============================================================================ */

/* ---------- 月營收矩陣：一年一欄（營收在上、括號年增率在下） ---------- */
.sf-rev{min-width:0}
.sf-rev th,.sf-rev td{text-align:center}
.sf-rev th:first-child,.sf-rev td:first-child{text-align:left}
/* 年與年之間的分隔線（第一欄是標題欄「營收（年增）」，之後每一欄就是一年） */
.sf-rev tr>*+*{border-left:1px solid var(--line,#e3e8ee)}
.sf-rev .sf-rv{display:block;font-weight:700;font-variant-numeric:tabular-nums;line-height:1.35}
.sf-rev .sf-ry{display:block;font-size:.92em;font-weight:400;line-height:1.3;font-variant-numeric:tabular-nums}
.sf-rev thead th{font-size:10.5px;color:var(--sub);font-weight:700}
/* 一年一欄之後欄數變少、放得下，不需要再黏住第一欄 */
.sf-rev th:first-child{position:static}
.sf-rev-note{font-size:11px;color:var(--sub);margin:2px 0 5px;line-height:1.6}

/* ---------- 月明細（一列一個月：月別／營業收入／月增率／月收盤價） ---------- */
.sf-revd tr>*+*{border-left:1px solid var(--line,#e3e8ee)}
.sf-revd th:first-child,.sf-revd td:first-child{text-align:left}

/* ---------- 財報表：每一欄中間一條線 ---------- */
.sf-fin tr>*+*{border-left:1px solid var(--line,#e3e8ee)}

/* ---------- 表頭點一下展開白話說明 ---------- */
.sf-mx thead th[data-tip]{cursor:pointer;text-decoration:underline dotted rgba(22,36,30,.35);text-underline-offset:3px}
.sf-mx thead th[data-tip].sf-tip-on{background:rgba(47,108,158,.12);color:#2F6C9E}
.sf-tip-row td{background:rgba(47,108,158,.07);text-align:left!important;white-space:normal;font-size:11.5px;line-height:1.7;color:var(--txt);padding:8px 10px}

/* ---------- 月營收兩張表的列高壓縮（一定要 !important 才蓋得掉手機版全站的 td 內距） ---------- */
@media(max-width:900px){
  .sf-rev th,.sf-rev td,
  .sf-revd th,.sf-revd td{padding:3px 7px!important}
}
@media(min-width:901px){
  .sf-rev th,.sf-rev td,
  .sf-revd th,.sf-revd td{padding:3px 8px}
}

/* 2026-10-11 修正追加：這兩張表沒有 <thead>（表頭列就是 tbody 的第一列），
   所以表頭游標與選取樣式不能寫成 .sf-mx thead th[data-tip]（實測選不到）；
   同時把月營收表的值與年增率行高再收緊一點，讓一列更矮。 */
.sf-mx th[data-tip]{cursor:pointer;text-decoration:underline dotted rgba(22,36,30,.35);text-underline-offset:3px}
.sf-mx th[data-tip].sf-tip-on{background:rgba(47,108,158,.12);color:#2F6C9E}
.sf-rev .sf-rv{line-height:1.3}
.sf-rev .sf-ry{line-height:1.25}

/* ============================================================================
   🆕 2026-10-11（第六批・用戶指示）
   「我不知道 30% 算好還是不好，好比身高 181 在台灣算高不高、排名如何。
     你可以就全部的公司做一個排序，在表頭的介紹中加入 告訴我」
   ⇒ 表頭點開的白話說明下面，多一段「這個數字在全市場與同產業排第幾」。
   資料與判定全部由 board_benchmark.py 產生（官方來源、0 元、缺值不補造）。
   ============================================================================ */
.sf-bench{margin-top:9px;padding-top:8px;border-top:1px dashed rgba(22,36,30,.18)}
.sf-bench-row{margin:0 0 8px}
.sf-bench-row + .sf-bench-row{padding-top:8px;border-top:1px dotted rgba(22,36,30,.10)}
.sf-bench-title{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px}
.sf-bench-title b{color:var(--txt,#273646);font-size:12px}
.sf-bench-grade{background:#EAF2FA;color:#2F6C9E;border-radius:999px;padding:1px 9px;font-weight:800;font-size:11px;white-space:nowrap}
.sf-bench-line{font-size:11px;color:var(--sub);line-height:1.7;font-variant-numeric:tabular-nums}
.sf-bench-dim{opacity:.72}
.sf-bench-note{margin-top:7px;font-size:10.5px;color:#8A9AA5;line-height:1.6}
@media(max-width:760px){
  .sf-bench-title b{font-size:11.5px}
  .sf-bench-grade{font-size:10.5px;padding:1px 7px}
  .sf-bench-line{font-size:10.5px}
}

/* 2026-10-11：籌碼面（.sp-tb 表格）的表頭也做成可點，游標與底色沿用財報表那一組樣式。 */
.sp-tb th[data-tip]{cursor:pointer;text-decoration:underline dotted rgba(22,36,30,.35);text-underline-offset:3px}
.sp-tb th[data-tip].sf-tip-on{background:rgba(47,108,158,.12);color:#2F6C9E}
