
.sc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0 6px}
.sc-card{min-width:0;padding:12px 14px 10px;border:1px solid color-mix(in srgb,var(--tn,var(--acc)) 30%,var(--card));border-top:3px solid var(--tn,var(--acc));border-radius:10px;background:color-mix(in srgb,var(--tn,var(--acc)) 5%,var(--card))}
.sc-card h3{margin:0 0 8px;font:700 calc(.95rem * var(--fz,1))/1.4 var(--ui);color:var(--ink)}
.sc-card p{margin:0 0 6px;font-size:calc(.86rem * var(--fz,1));line-height:1.65;color:var(--ink2)}.sc-card p b{display:block;font:600 max(12px, calc(.7rem * var(--fz,1)))/1.5 var(--ui);letter-spacing:.06em;color:var(--mute)}
.sc-card ul{margin:0;padding-left:1.1em;font-size:max(12px, calc(.84rem * var(--fz,1)));line-height:1.6;color:var(--ink2)}
.sc-kv{margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 12px}
.sc-kv div{min-width:0}.sc-kv dt{font:500 max(12px, calc(.7rem * var(--fz,1)))/1.4 var(--ui);color:var(--mute)}.sc-kv dd{margin:0;font:500 calc(.92rem * var(--fz,1))/1.4 var(--mono);color:var(--ink);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.sc-kv dd .up{color:var(--up)}.sc-kv dd .dn{color:var(--dn)}.sc-kv dd .sg-up{color:var(--up)}.sc-kv dd .sg-dn{color:var(--dn)}
.sc-list{list-style:none;margin:0;padding:0}.sc-list li{display:flex;gap:8px;align-items:baseline;padding:4px 0;border-top:1px dashed var(--hair2);font-size:calc(.88rem * var(--fz,1))}.sc-list li:first-child{border-top:0}
.sc-list li .m{font:400 max(12px, calc(.76rem * var(--fz,1))) var(--ui);color:var(--mute)}
.sc-hist{margin-top:10px;border-top:1px dashed var(--hair2);padding-top:8px}.sc-hist figure{margin:0 0 8px}.sc-hist .tblwrap{margin:0}
.sc-grid:has(> .sc-card:only-child) .sc-card{grid-column:1/-1}
.sc-card .sc-big{font-size:calc(1.04rem * var(--fz,1));line-height:1.85;color:var(--ink)}.sc-card ul.sc-big li{margin:0 0 4px}
@media (max-width:640px){.sc-grid{grid-template-columns:minmax(0,1fr)}}

.gl{margin:4px 0 14px}
.gl-pill{display:inline-flex;gap:10px;flex-wrap:wrap;font:500 calc(var(--fs-12,.78rem) * var(--fz,1))/1.5 var(--ui);color:var(--mute);background:var(--accsoft,color-mix(in srgb,var(--acc) 8%,var(--card)));border-radius:999px;padding:4px 12px;margin:0 0 10px}
.gl-verdict{font:600 calc(1.08rem * var(--fz,1))/1.5 var(--serif,serif);display:flex;flex-wrap:wrap;gap:4px 14px;align-items:center;margin:0 0 8px}
.gl-verdict i,.gl-chg i{display:inline-block;width:11px;height:11px;border-radius:50%;margin-right:5px;vertical-align:1px}
/* 台股慣例：紅＝偏多、綠＝偏空（2026-09-21 使用者「紅色是多頭綠色是空頭」）；顏色取全站漲跌 token，深色模式自動跟著換 */
.gl i.ok,.gl-c.ok{--st:var(--up)}.gl i.warn,.gl-c.warn{--st:var(--warn,#c98a11)}.gl i.bad,.gl-c.bad{--st:var(--dn)}
.gl i.ok,.gl i.warn,.gl i.bad{background:var(--st)}
.gl-chg{display:flex;flex-wrap:wrap;gap:6px 8px;margin:0 0 12px}.gl-chg span{font:400 calc(var(--fs-12,.78rem) * var(--fz,1))/1.5 var(--ui);background:color-mix(in srgb,var(--acc) 7%,var(--card));border-radius:6px;padding:3px 9px;color:var(--ink2)}.gl-chg span b{font-weight:600;color:var(--acc);margin-right:6px}
.gl-g{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.gl-c{min-width:0;background:var(--card);border:1px solid var(--hair);border-top:4px solid var(--st);border-radius:10px;padding:12px 14px 10px;display:grid;gap:7px;align-content:start}
.gl-c h2{margin:0;font:700 calc(.92rem * var(--fz,1))/1.4 var(--ui);letter-spacing:.06em;display:flex;justify-content:space-between;align-items:center;color:var(--ink)}
.gl-c h2 .gl-h>span:last-child{font:500 max(12px, calc(.72rem * var(--fz,1)))/1.4 var(--ui);letter-spacing:.04em;color:var(--st);border:1px solid var(--st);border-radius:999px;padding:0 9px}
.gl-c dl{margin:0;display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 10px;font-size:max(12px, calc(.84rem * var(--fz,1)));line-height:1.45}
.gl-c dt{color:var(--mute);white-space:nowrap}.gl-c dd{margin:0;font-family:var(--mono);font-variant-numeric:tabular-nums;text-align:right;color:var(--ink);overflow-wrap:anywhere}
.gl-c dd .sg-up{color:var(--up)}.gl-c dd .sg-dn{color:var(--dn)}.gl-c dd b.sg-up,.gl-c dd b.sg-dn{font-weight:500}
.gl-c dd .gl-ar{font-style:normal;font-size:max(12px, calc(calc(var(--fs-note) * .8) * var(--fz,1)));margin-right:3px;vertical-align:.08em}
.gl-why{display:block;font:400 max(12px, calc(.7rem * var(--fz,1)))/1.4 var(--ui);color:var(--mute)}
.gl-lock{font-family:var(--ui);color:var(--acc)}
.gl-c .say{margin:2px 0 0;font-size:max(12px, calc(.84rem * var(--fz,1)));line-height:1.6;color:var(--ink2);border-top:1px dashed var(--hair2);padding-top:7px}
.gl-rules{margin:10px 0 0;font-size:max(12px, calc(.8rem * var(--fz,1)));color:var(--mute)}.gl-rules summary{cursor:pointer}.gl-rules p{margin:6px 0 0;line-height:1.6}
.gl-c h2 .gl-h{all:unset;display:flex;justify-content:space-between;align-items:center;width:100%;cursor:default;font:inherit;color:inherit}
html body .ds-glancebox .ds-glance-nm{font:500 max(12px, calc(.78rem * var(--fz,1)))/1.4 var(--ui);color:var(--mute);letter-spacing:.04em}
.gl-more{display:none}
.gl-jump{display:none}
.gl a,.gl button{min-height:40px}
.gl-lock{display:inline-block;padding:8px 0}
/* 桌機個股頁的左欄只有約 600px，三張卡各 194px 會把數字折成兩行——容器不夠寬就改成一欄、讀數兩對一列（容器查詢） */
.gl{container-type:inline-size}
@container (max-width:720px){.gl-g{grid-template-columns:minmax(0,1fr)}.gl-c dl{grid-template-columns:auto minmax(0,1fr) auto minmax(0,1fr)}}
@media (max-width:760px){
 .gl-g{grid-template-columns:minmax(0,1fr);gap:8px}.gl-verdict{font-size:calc(1rem * var(--fz,1))}.gl-c dl{grid-template-columns:auto minmax(0,1fr)}
 .gl-chg{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:2px;margin-right:-16px}.gl-chg::-webkit-scrollbar{display:none}.gl-chg span{flex:0 0 auto;white-space:nowrap}
 .gl-jump{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;position:sticky;top:56px;z-index:30;background:var(--paper,var(--bg,#fff));padding:8px 0;margin:0 -16px;padding-left:16px;border-bottom:1px solid var(--hair)}
 .gl-jump::-webkit-scrollbar{display:none}.gl-jump a{flex:0 0 auto;font:500 max(12px, calc(.82rem * var(--fz,1)))/1 var(--ui);color:var(--ink2);border:1px solid var(--hair);border-radius:999px;padding:0 12px;min-height:36px;display:inline-flex;align-items:center;text-decoration:none;background:var(--card)}
 .gl-c{padding:0 14px}.gl-c h2{min-height:48px}.gl-c h2 .gl-h{cursor:pointer;min-height:48px}
 .gl-c h2 .gl-h::after{content:"";width:8px;height:8px;border-right:1.5px solid var(--mute);border-bottom:1.5px solid var(--mute);transform:rotate(45deg);margin-left:10px;flex:0 0 auto;transition:transform .15s}
 .gl-c.open h2 .gl-h::after{transform:rotate(-135deg)}
 .gl-c .gl-bd{display:none;padding-bottom:12px}.gl-c.open .gl-bd{display:block}
 .gl-c dt{white-space:normal}.gl-c dd{white-space:nowrap}
 .sc-h3,.sec{scroll-margin-top:110px}
}

.sec{scroll-margin-top:84px}
.ns-lead{font-size:calc(1.06rem * var(--fz,1));line-height:1.95;margin:0 0 18px;max-width:66ch}
html body .ns-indline{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;margin:-12px 0 22px;font:400 calc(var(--fs-16) * var(--fz,1))/1.6 var(--ui);color:var(--ink2)}html body .ns-indline>b{font-weight:600;color:var(--mute);margin-right:4px}html body .ns-indline a{color:var(--link,var(--ink));font-weight:600}html body .ns-indline .sg-up,html body .ns-indline .sg-dn{font-family:var(--mono);font-variant-numeric:tabular-nums}
.sc-toc{display:flex;flex-wrap:wrap;gap:6px 8px;align-items:center;margin:10px 0 14px;font-family:var(--ui);font-size:max(12px, calc(.8rem * var(--fz,1)))}.sc-toc .k{color:var(--mute);letter-spacing:.06em;margin-right:2px}.sc-toc a{border:1px solid var(--hair2);border-radius:99px;padding:3px 11px;color:var(--ink2);text-decoration:none;background:var(--card);min-height:30px;display:inline-flex;align-items:center}.sc-toc a:hover{border-color:var(--acc);color:var(--acc)}
.sc-today{margin:4px 0 26px}.sc-h3{font-family:var(--ui);font-size:calc(.9rem * var(--fz,1));font-weight:700;margin:18px 0 8px;letter-spacing:.02em;color:var(--ink)}.sc-today>.sc-h3:first-child{margin-top:4px}
.kn>div[data-tone]{border-top:3px solid var(--tn);background:color-mix(in srgb,var(--tn) 6%,var(--card))}
.ns-toc{background:var(--card);border:1px solid var(--hair2);border-left:3px solid var(--acc);border-radius:0 var(--r) var(--r) 0;padding:16px 20px;margin:8px 0 8px}
.ns-toc h4{font-family:var(--ui);font-size:max(12px, calc(.72rem * var(--fz,1)));letter-spacing:.16em;text-transform:uppercase;color:var(--mute);margin:0 0 9px;font-weight:600}
.ns-toc h4+.row{margin-bottom:14px}
.ns-toc .row{display:flex;flex-wrap:wrap;gap:7px}
.ns-toc a{font-family:var(--ui);font-size:max(12px, calc(.82rem * var(--fz,1)));padding:4px 12px;border:1px solid var(--hair);border-radius:999px;background:var(--paper);white-space:nowrap}
.ns-toc a:hover{border-color:var(--acc);color:var(--acc)}
.ns-toc a b{color:var(--mute);font-weight:400;margin-left:5px;font-variant-numeric:tabular-nums}
.ns-toc p{font-family:var(--ui);font-size:max(12px, calc(.78rem * var(--fz,1)));color:var(--mute);margin:12px 0 0;line-height:1.6}
.ns-nav{list-style:none;margin:0;padding:0}
.ns-nav li{border-bottom:1px solid var(--hair2)}
.ns-nav a{display:flex;justify-content:space-between;gap:10px;padding:7px 0;font-family:var(--ui);font-size:calc(.86rem * var(--fz,1))}
.ns-nav a b{color:var(--mute);font-weight:400;font-variant-numeric:tabular-nums}
.ns-it{border-top:1px solid var(--hair2);padding:16px 0 6px}
.ns-h{display:flex;gap:9px;align-items:center;flex-wrap:wrap;font-family:var(--ui);font-size:max(12px, calc(.74rem * var(--fz,1)));color:var(--mute);margin-bottom:5px}
.ns-h .t{font-family:var(--mono);font-variant-numeric:tabular-nums}
.ns-h .c{color:var(--acc);letter-spacing:.06em}
.ns-it h3{font-family:var(--zh);font-weight:900;font-size:calc(1.12rem * var(--fz,1));line-height:1.45;margin:0 0 8px;max-width:64ch;text-wrap:balance}
.ns-it h3 a::after{content:"\2197";font-family:var(--ui);font-size:.66em;color:var(--mute);margin-left:5px;vertical-align:super}
.ns-it h3 a:hover::after{color:var(--acc)}
.ns-sum{font-size:calc(.98rem * var(--fz,1));line-height:1.85;color:var(--ink2);margin:0 0 8px;max-width:66ch}
a.ns-sid{font-family:var(--mono);font-size:max(12px, calc(.72rem * var(--fz,1)));padding:2px 8px;border-radius:999px;border:1px solid var(--acc);color:var(--acc);font-variant-numeric:tabular-nums;white-space:nowrap}
a.ns-sid:hover{background:var(--acc);color:#fff}
.ns-num{font-family:var(--ui);font-size:max(12px, calc(.8rem * var(--fz,1)));color:var(--mute);font-variant-numeric:tabular-nums;margin:0 0 6px;line-height:1.75}
.ns-num b{font-family:var(--ui);font-size:max(12px, calc(.7rem * var(--fz,1)));letter-spacing:.1em;text-transform:uppercase;color:var(--ink);font-weight:600;margin-right:9px}
.ns-num .tag{margin-right:5px}
.ns-why{font-size:calc(.88rem * var(--fz,1));line-height:1.75;color:var(--mute);border-left:2px solid var(--hair);padding:2px 0 2px 12px;margin:8px 0 0;max-width:64ch}
.ns-rate{background:var(--accsoft);border-left:3px solid var(--acc);border-radius:0 var(--r) var(--r) 0;padding:11px 16px;margin:10px 0 0;font-size:calc(.9rem * var(--fz,1));line-height:1.7;max-width:66ch}
.ns-rate b{font-family:var(--ui);font-size:max(12px, calc(.74rem * var(--fz,1)));letter-spacing:.08em;text-transform:uppercase}
table.mini td.num,table.mini th.num{text-align:right;white-space:nowrap}
table.mini td a{color:var(--acc)}
.ns-note{font-family:var(--ui);font-size:max(12px, calc(.78rem * var(--fz,1)));color:var(--mute);margin:6px 0 0;line-height:1.6}
.ns-wall{background:var(--card);border:1px dashed var(--hair);border-radius:var(--r);padding:20px;text-align:center;margin:26px 0;font-family:var(--ui);font-size:calc(.88rem * var(--fz,1));color:var(--mute)}
.ns-wall .btn{margin-top:12px}
.ns-long .tblwrap{max-height:560px;overflow:auto}
.ns-long table.mini tr:first-child th{position:sticky;top:0;background:var(--paper);z-index:1}
.ns-cap{font-family:var(--ui);font-size:max(12px, calc(.84rem * var(--fz,1)));font-weight:700;margin:16px 0 4px;color:var(--ink)}
td .up{color:#c0392b}td .dn{color:#1e8449}
/* 今日個股 ① 市場段（2026-09-14）：小標與 news_page 的 .na-secttl 同一套；圖卡／熱力圖樣式在 site_design */
.na-secttl{font-family:var(--ui);font-size:max(12px, calc(.72rem * var(--fz,1)));letter-spacing:.16em;text-transform:uppercase;color:var(--mute);border-top:1px solid var(--hair2);padding-top:14px;margin:26px 0 4px}
.hero article>.sec:first-of-type{margin-top:10px}
.hero article .chart{margin:14px 0 18px}
.hero article .ds-heat{margin:8px 0 6px}
.ns-kw{display:flex;flex-wrap:wrap;gap:7px;margin:6px 0 8px}
/* 個股詳細頁「當日整理」的段落（page_stock 從整合報導取出對應主體那一段）*/
.na-meta{font-family:var(--ui);font-size:max(12px, calc(.76rem * var(--fz,1)));color:var(--mute);margin:0 0 14px;letter-spacing:.02em}
.na-seg{border-left:2px solid var(--hair2);padding:2px 0 2px 15px;margin:0 0 18px}
.na-seg h4{font-family:var(--ui);font-size:calc(.92rem * var(--fz,1));font-weight:600;margin:0 0 7px;letter-spacing:.01em}
.na-seg p{margin:0 0 9px;line-height:1.95;max-width:66ch}
.na-seg .na-meta{margin:6px 0 0}
/* 標題卡索引：四個新聞欄目只列標題卡，全文在單篇閱讀頁。
   與主題整理索引（context.html）同一套標記與樣式，兩處是同一種卡。 */
.na-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(460px,1fr));gap:0;margin:18px 0 0;border-top:1.5px solid var(--ink)}
/* 2026-09-14 P3：三欄卡海改兩欄（minmax 310→460：1040px 版心兩欄、手機單欄）；右側 116px 16:9 圖，正文欄才夠寫一行 meta */
.na-card{position:relative;padding:20px 20px 22px 0;border-bottom:1px solid var(--hair2);transition:background .12s;scroll-margin-top:84px}
.na-card:hover{background:var(--card)}
/* 2026-09-14 設計精修 P3／P4：列式卡＝左文右圖，圖一律 16:9（photo_library.thumb_html 出 1280×720 主圖縮放）；
   沒有圖就沒有 .na-thumb（不放字卡、不放占位）；標誌改成標題旁 20px 的 .na-logo。細部樣式由 site_theme／site_design 覆寫。 */
.na-cardrow{display:flex;gap:16px;align-items:flex-start}
.na-thumb{width:116px;height:auto;aspect-ratio:16/9;flex:0 0 116px;object-fit:cover;border-radius:4px;background:var(--hair2)}
.na-logo{width:20px;height:20px;vertical-align:-3px;margin-right:6px;border-radius:3px;object-fit:cover}
.na-body{min-width:0;flex:1}
.na-cardtop{display:flex;gap:9px;align-items:baseline;flex-wrap:wrap;margin-bottom:7px}
.na-cardtop .th{font-family:var(--ui);font-size:max(12px, calc(.7rem * var(--fz,1)));letter-spacing:.12em;text-transform:uppercase;color:var(--acc);font-weight:600}
.na-cardtop .m{font-family:var(--mono);font-size:max(12px, calc(.72rem * var(--fz,1)));color:var(--mute)}
.na-card h2{font-size:calc(1.16rem * (1 + (var(--fz,1) - 1) * .974));line-height:1.38;margin:0 0 7px;text-wrap:balance}
.na-card h2 a{color:var(--ink)}
.na-card:hover h2 a{color:var(--acc)}
.na-card h2 a:after{content:"";position:absolute;inset:0}
.na-card p{font-size:calc(.92rem * var(--fz,1));color:var(--ink2);line-height:1.65;margin:0}
.na-card .sub{margin-top:9px;font-family:var(--mono);font-size:max(12px, calc(.72rem * var(--fz,1)));color:var(--mute)}
@media (min-width:760px){.na-grid{column-gap:34px}}
@media (max-width:480px){.na-thumb{width:96px;flex-basis:96px}}
@media (max-width:560px){
  /* 長表格（165 檔營收速報、328 檔公司速覽）在手機上是兩萬像素的直捲；
     改成面板內捲動，讀者要查就查、不查就往下走。表頭釘住才知道自己在看哪一欄。 */
  .tblwrap{max-height:70vh;overflow:auto}
  .tblwrap table.mini thead th{position:sticky;top:0;background:var(--paper);z-index:1}
  /* 觸控目標：主題晶片、章節連結、代號連結在手機上至少 40px 高 */
  .ns-toc a,.ns-nav a{min-height:40px;display:inline-flex;align-items:center}
  .ns-toc{padding:14px 16px}
  .ns-nav{gap:8px}
  .na-seg{padding-left:12px}
  .na-seg h4{font-size:calc(1rem * var(--fz,1))}
  .na-seg p{font-size:calc(1.04rem * var(--fz,1));line-height:1.95}
  .na-meta{font-size:max(12px, calc(.8rem * var(--fz,1)));line-height:1.7}
  .na-card{padding-right:0}
  .na-card h2{font-size:calc(1.2rem * (1 + (var(--fz,1) - 1) * .945))}
}
/* 2026-09-10 使用者定版：當日主題與產業篩選改為隱藏式選單（<details>），摘要列顯示目前選項 */

.body.sb .sb-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 32px;margin:0;max-width:none}
.body.sb .sb-item{padding:14px 0;border-bottom:1px solid var(--hair2)}
.body.sb .sb-item dt{font-family:var(--ui);font-size:max(12px, calc(.76rem * var(--fz,1)));font-weight:600;color:var(--mute);letter-spacing:.03em;margin:0 0 6px}
.body.sb .sb-item dd{margin:0;font-size:calc(.98rem * var(--fz,1));line-height:1.8}
@media (max-width:720px){.body.sb .sb-grid{grid-template-columns:1fr}}
