/* =====================================================================
   旺來新聞站 · 共用美術層 wl-ui.css  (v1, 2026-09-24)
   ---------------------------------------------------------------------
   疊在各頁原本 <style> 之後載入，只負責「質感」：色彩、漸層、陰影、
   圓角、圖示、動態。刻意不改任何尺寸／排版（padding、字級、格線），
   手機版與「我是長輩」字級的版面邏輯全部沿用原本各頁的設定。
   想退回原樣：把各頁 <head> 裡引用本檔的那一行拿掉即可。
   ===================================================================== */

/* ---------- 1. 主題色票（三主題各自一組） ---------- */
:root{
  --gold-rgb:232,193,90;
  --bg-rgb:11,11,13;
  --logo-grad:linear-gradient(180deg,#FBEBB5 0%,#E8C15A 52%,#B48A33 100%);
  --btn-grad:linear-gradient(180deg,#F3D57E 0%,#E1B64C 55%,#C79A3A 100%);
  --surface:linear-gradient(180deg,rgba(255,255,255,.035) 0%,rgba(255,255,255,.008) 100%);
  --edge:rgba(232,193,90,.14);
  --edge-hi:rgba(232,193,90,.42);
  --shadow:0 1px 0 rgba(255,255,255,.035) inset,0 10px 28px -12px rgba(0,0,0,.65);
  --shadow-hi:0 1px 0 rgba(255,255,255,.05) inset,0 16px 36px -14px rgba(0,0,0,.75),0 0 0 1px rgba(232,193,90,.10);
  --bg-glow:radial-gradient(1100px 520px at 50% -200px,rgba(232,193,90,.11),transparent 70%);
  --on-gold:#17120A;
}
html[data-theme="light"]{
  --gold-rgb:150,112,28;
  --bg-rgb:246,240,224;
  --logo-grad:linear-gradient(180deg,#A9842C 0%,#7A5E17 60%,#5C460F 100%);
  --btn-grad:linear-gradient(180deg,#B8923A 0%,#8C6B1C 100%);
  --surface:linear-gradient(180deg,#FFFFFF 0%,#FFFCF4 100%);
  --edge:rgba(150,112,28,.18);
  --edge-hi:rgba(150,112,28,.45);
  --shadow:0 1px 2px rgba(80,60,15,.05),0 8px 22px -14px rgba(80,60,15,.22);
  --shadow-hi:0 2px 4px rgba(80,60,15,.06),0 14px 30px -14px rgba(80,60,15,.30);
  --bg-glow:radial-gradient(1100px 520px at 50% -220px,rgba(214,170,70,.22),transparent 70%);
  --on-gold:#FFFBEF;
}
html[data-theme="white"]{
  --gold-rgb:34,35,38;
  --bg-rgb:244,245,247;
  --logo-grad:linear-gradient(180deg,#4A4B50 0%,#222326 60%,#0E0F10 100%);
  --btn-grad:linear-gradient(180deg,#3A3B40 0%,#18191B 100%);
  --surface:linear-gradient(180deg,#FFFFFF 0%,#FCFCFD 100%);
  --edge:rgba(30,32,36,.10);
  --edge-hi:rgba(154,130,85,.55);
  --shadow:0 1px 2px rgba(20,24,32,.05),0 8px 22px -14px rgba(20,24,32,.18);
  --shadow-hi:0 2px 4px rgba(20,24,32,.06),0 14px 30px -14px rgba(20,24,32,.26);
  --bg-glow:radial-gradient(1100px 520px at 50% -220px,rgba(255,255,255,.9),transparent 70%);
  --on-gold:#FFFFFF;
}
html[data-theme="red"]{
  --gold-rgb:242,199,92;
  --bg-rgb:28,7,9;
  --logo-grad:linear-gradient(180deg,#FFE7A8 0%,#F2C75C 52%,#C08E2E 100%);
  --btn-grad:linear-gradient(180deg,#F8D77E 0%,#E7B64A 55%,#C9973A 100%);
  --surface:linear-gradient(180deg,rgba(255,220,200,.045) 0%,rgba(255,220,200,.01) 100%);
  --edge:rgba(242,199,92,.16);
  --edge-hi:rgba(242,199,92,.45);
  --shadow:0 1px 0 rgba(255,255,255,.04) inset,0 10px 28px -12px rgba(10,0,0,.7);
  --shadow-hi:0 1px 0 rgba(255,255,255,.06) inset,0 16px 36px -14px rgba(10,0,0,.8),0 0 0 1px rgba(242,199,92,.12);
  --bg-glow:radial-gradient(1100px 560px at 50% -200px,rgba(214,38,48,.30),transparent 70%);
  --on-gold:#2A0A0C;
}

/* ---------- 2. 基底：字型、背景光暈、數字對齊 ---------- */
body{
  font-family:-apple-system,BlinkMacSystemFont,"PingFang TC","Noto Sans TC","Microsoft JhengHei",sans-serif;
  background-color:var(--bg);
  background-image:var(--bg-glow);
  background-repeat:no-repeat;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;
}
::selection{background:rgba(var(--gold-rgb),.32);color:var(--text);}
:focus-visible{outline:2px solid var(--gold);outline-offset:2px;border-radius:6px;}
.mkt .val,.mkt .chg,.stamp,.up,.down,td.num,.sn,.stc,.ntime,.day .mk,.tile .cd,.rec .d,#count{
  font-variant-numeric:tabular-nums;
}

/* ---------- 3. 頁首：LOGO、標題、場次、設定 ---------- */
.brand{
  box-shadow:0 0 0 2px rgba(var(--gold-rgb),.55),0 0 22px rgba(var(--gold-rgb),.28);
}
.logo{
  background:var(--logo-grad);
  -webkit-background-clip:text;background-clip:text;
  color:transparent;-webkit-text-fill-color:transparent;
  letter-spacing:3px;
}
.logo small{
  -webkit-text-fill-color:var(--muted);color:var(--muted);
  letter-spacing:2px;font-weight:500;
}
.stamp{
  padding:3px 13px;border-radius:999px;
  border:1px solid rgba(var(--gold-rgb),.34);
  background:rgba(var(--gold-rgb),.08);
  letter-spacing:.5px;white-space:nowrap;
}
.oline{letter-spacing:.3px;}
.setbtn{
  display:inline-flex;align-items:center;gap:6px;
  background:rgba(var(--gold-rgb),.08);
  border-color:rgba(var(--gold-rgb),.45);
  transition:border-color .2s,background .2s,box-shadow .2s;
}
.setbtn:hover{background:rgba(var(--gold-rgb),.14);box-shadow:0 0 0 3px rgba(var(--gold-rgb),.10);}
.setbtn svg,.wl-ic{width:1.05em;height:1.05em;flex:none;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.setpanel{
  border-radius:16px;
  border-color:rgba(var(--gold-rgb),.38);
  background:var(--surface),var(--card);
  box-shadow:0 22px 60px -18px rgba(0,0,0,.7),0 0 0 1px rgba(var(--gold-rgb),.08);
}
.setrow>span{letter-spacing:1.5px;}
.fs-chip{border-radius:999px;transition:all .18s;}
.fs-chip:hover{color:var(--gold);border-color:var(--gold);}
.fs-chip.on{background:var(--btn-grad);color:var(--on-gold);border-color:transparent;box-shadow:0 3px 12px -3px rgba(var(--gold-rgb),.55);}

/* ---------- 4. 公告列、聲明框 ---------- */
.annc{
  border-radius:12px;
  border:1px solid rgba(var(--gold-rgb),.32);
  border-left:3px solid var(--gold);
  background:linear-gradient(90deg,rgba(var(--gold-rgb),.14),rgba(var(--gold-rgb),.03) 70%),var(--card);
  box-shadow:var(--shadow);
}
.notice{
  border-radius:12px;
  border-color:rgba(var(--gold-rgb),.36);
  background:linear-gradient(90deg,rgba(var(--gold-rgb),.10),rgba(var(--gold-rgb),.02));
}
.nok{border-radius:999px;transition:all .18s;}
.nok:hover{background:rgba(var(--gold-rgb),.12);}

/* ---------- 5. 區塊標題 ---------- */
h2{display:flex;align-items:center;flex-wrap:wrap;gap:4px 10px;letter-spacing:2.5px;}
h2::before{
  content:"";flex:none;width:4px;height:1.05em;border-radius:4px;
  background:var(--logo-grad);
  box-shadow:0 0 12px rgba(var(--gold-rgb),.45);
}
h2 .muted{font-weight:400;}
.sect-head{color:var(--gold-dim);font-weight:700;letter-spacing:1.5px;}

/* ---------- 6. 卡片質感（全站共用） ---------- */
.card,.mkt .m,details.stkbox,details.srcbox,.day,.tile,.rec,.intro,.wishbox,.dev,#detail,.obox,#thanks{
  background:var(--surface),var(--card);
  border-color:var(--edge);
  border-radius:14px;
  box-shadow:var(--shadow);
  transition:border-color .22s,box-shadow .22s,transform .22s;
}
.card:hover,details.stkbox:hover,.day:hover,.rec:hover{border-color:var(--edge-hi);box-shadow:var(--shadow-hi);}
.dev{box-shadow:none;background:rgba(var(--gold-rgb),.04);}

/* 大盤速覽：頂端金色髮絲線＋漲跌箭頭 */
.mkt .m{position:relative;overflow:hidden;}
.mkt .m::before{
  content:"";position:absolute;left:16px;right:16px;top:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(var(--gold-rgb),.65),transparent);
}
.mkt .m:hover{border-color:var(--edge-hi);box-shadow:var(--shadow-hi);transform:translateY(-1px);}
.mkt .lbl{letter-spacing:1.5px;}
.mkt .val{letter-spacing:.3px;}
.mkt .chg.up::before{content:"▲ ";font-size:.72em;vertical-align:1px;}
.mkt .chg.down::before{content:"▼ ";font-size:.72em;vertical-align:1px;}

/* ---------- 7. 最強族群／月營收 摺疊清單 ---------- */
details.stkbox[open]{border-color:var(--edge-hi);}
details.stkbox summary::after{transition:transform .2s;}
.sn{background:rgba(var(--gold-rgb),.10);border-color:rgba(var(--gold-rgb),.45);}
ol.sectlist>li:first-child .sn{
  background:var(--btn-grad);color:var(--on-gold);border-color:transparent;
  box-shadow:0 0 12px rgba(var(--gold-rgb),.45);
}
ul.stklist li{border-bottom-style:solid;border-bottom-color:rgba(var(--gold-rgb),.08);}
ul.stklist li:hover .stn{color:var(--gold);}

/* ---------- 8. 新聞卡、摘要清單、分類標籤 ---------- */
.cat{
  background:rgba(var(--gold-rgb),.12);
  border-color:rgba(var(--gold-rgb),.38);
  font-weight:700;letter-spacing:1px;
}
.news-title{line-height:1.55;}
.news-body{line-height:1.8;margin-top:7px;}
.ntime{opacity:.9;}
ul.sum-list li{position:relative;padding-left:16px;border-bottom-style:solid;border-bottom-color:rgba(var(--gold-rgb),.09);}
ul.sum-list li::before{
  content:"";position:absolute;left:0;top:1.05em;width:6px;height:6px;border-radius:50%;
  background:var(--gold);box-shadow:0 0 8px rgba(var(--gold-rgb),.6);
}
ul.prelist li{border-bottom-style:solid;border-bottom-color:rgba(var(--gold-rgb),.08);}
ul.prelist a{transition:color .15s;}
a.ref{font-weight:700;}
.tag{background:rgba(var(--gold-rgb),.08);border-color:rgba(var(--gold-rgb),.38);}

details.more>summary{
  border-style:solid;border-color:rgba(var(--gold-rgb),.28);
  background:rgba(var(--gold-rgb),.05);border-radius:12px;letter-spacing:1px;
  transition:all .2s;
}
details.more>summary:hover{background:rgba(var(--gold-rgb),.10);}
details.srcbox summary{letter-spacing:.5px;}

/* ---------- 9. 按鈕 ---------- */
.obtn,#wsend{
  background:var(--btn-grad);color:var(--on-gold);
  box-shadow:0 8px 22px -8px rgba(var(--gold-rgb),.6);
  transition:transform .15s,box-shadow .2s,filter .2s;
}
.obtn:hover,#wsend:hover{filter:brightness(1.06);box-shadow:0 10px 26px -8px rgba(var(--gold-rgb),.75);}
.obtn:active,#wsend:active{transform:scale(.98);}
.obtn.o2{background:rgba(var(--gold-rgb),.06);color:var(--gold);box-shadow:none;}
.thbtn,.devbtn,#more{
  background:rgba(var(--gold-rgb),.07);
  border-color:rgba(var(--gold-rgb),.45);
  transition:all .2s;
}
.thbtn:hover,.devbtn:hover:not(:disabled),#more:hover{
  background:rgba(var(--gold-rgb),.14);
  box-shadow:0 0 0 3px rgba(var(--gold-rgb),.10),0 8px 20px -10px rgba(var(--gold-rgb),.6);
}

/* ---------- 10. 輸入框、篩選 ---------- */
#q,#wname,#wmsg{transition:border-color .2s,box-shadow .2s;}
#q:focus,#wname:focus,#wmsg:focus{box-shadow:0 0 0 3px rgba(var(--gold-rgb),.18);}
.flt{border-radius:999px;transition:all .18s;}
.flt.on{background:var(--btn-grad);color:var(--on-gold);border-color:transparent;box-shadow:0 3px 12px -3px rgba(var(--gold-rgb),.55);}

/* ---------- 11. 回憶過去／個股報告／速查 專屬元件 ---------- */
.day a.rep{border-radius:999px;background:rgba(var(--gold-rgb),.07);transition:all .18s;}
.day a.rep:hover{background:rgba(var(--gold-rgb),.16);}
.tile:hover,.tile.on{transform:translateY(-2px);border-color:var(--edge-hi);box-shadow:var(--shadow-hi);}
.rec{border-left:3px solid rgba(var(--gold-rgb),.55);}

/* ---------- 12. 底部 APP 導覽列 ---------- */
nav.bnav{
  background:rgba(var(--bg-rgb),.74);
  -webkit-backdrop-filter:blur(18px) saturate(160%);
  backdrop-filter:blur(18px) saturate(160%);
  border-top:1px solid rgba(var(--gold-rgb),.18);
  box-shadow:0 -10px 30px -12px rgba(0,0,0,.55);
}
nav.bnav a{position:relative;gap:3px;background:none;transition:color .2s,transform .15s;}
nav.bnav a:hover{color:var(--text);}
nav.bnav a:active{transform:scale(.93);}
nav.bnav a .ic{display:flex;align-items:center;justify-content:center;}
nav.bnav a .ic svg{width:1.1em;height:1.1em;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;}
nav.bnav a.on{color:var(--gold);background:none;}
nav.bnav a.on .ic svg{filter:drop-shadow(0 0 6px rgba(var(--gold-rgb),.6));}
nav.bnav a.on::before{
  content:"";position:absolute;top:-7px;left:30%;right:30%;height:2px;border-radius:2px;
  background:var(--gold);box-shadow:0 0 12px rgba(var(--gold-rgb),.9);
}

/* ---------- 13. 彈窗（首次導覽、外開提示） ---------- */
.ovl{background:rgba(0,0,0,.62);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);}
.obox{border-radius:20px;border-color:rgba(var(--gold-rgb),.45);box-shadow:0 30px 80px -20px rgba(0,0,0,.8),0 0 0 1px rgba(var(--gold-rgb),.1);}
.ot{letter-spacing:2px;}

/* ---------- 14. 頁尾、捲軸 ---------- */
footer{border-top-color:rgba(var(--gold-rgb),.16);}
*{scrollbar-width:thin;scrollbar-color:rgba(var(--gold-rgb),.35) transparent;}
::-webkit-scrollbar{width:8px;height:8px;}
::-webkit-scrollbar-thumb{background:rgba(var(--gold-rgb),.28);border-radius:8px;}
::-webkit-scrollbar-track{background:transparent;}

/* ---------- 15. 手機版頁首：場次膠囊不換行後，讓線上人數自動掉到下一行 ---------- */
@media (max-width:720px){
  .head-right{flex-wrap:wrap;row-gap:6px;}
  .oline{white-space:nowrap;}
  .stamp{padding:2px 10px;}
}
html.mob .head-right{flex-wrap:wrap;row-gap:6px;}
html.mob .oline{white-space:nowrap;}
html.mob .stamp{padding:2px 10px;}

/* 米白主題：導覽列與彈窗陰影改成暖色淡影，避免一條黑帶 */
html[data-theme="light"] nav.bnav{box-shadow:0 -8px 24px -16px rgba(80,60,15,.35);}
html[data-theme="light"] .setpanel,html[data-theme="light"] .obox{box-shadow:0 18px 44px -18px rgba(80,60,15,.35),0 0 0 1px rgba(150,112,28,.10);}
html[data-theme="light"] .ovl{background:rgba(60,45,10,.35);}
html[data-theme="white"] nav.bnav{box-shadow:0 -8px 24px -16px rgba(20,24,32,.25);}
html[data-theme="white"] .setpanel,html[data-theme="white"] .obox{box-shadow:0 18px 44px -18px rgba(20,24,32,.28),0 0 0 1px rgba(20,24,32,.06);}
html[data-theme="white"] .ovl{background:rgba(20,24,32,.30);}

/* ---------- 16. 尊重「減少動態」系統設定 ---------- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{transition:none!important;animation:none!important;}
}

/* ---------- 17. 線上人數列（五頁共用） ---------- */
.oline{color:var(--muted);font-size:.8rem;white-space:nowrap;}
.oline b{color:var(--down);font-weight:700;}
.head-right{row-gap:6px;}

/* ---------- 18. 本週行事曆 ---------- */
.calbox{padding-top:6px;padding-bottom:6px;}
.calday{display:flex;gap:16px;align-items:flex-start;padding:10px 0;border-bottom:1px solid rgba(var(--gold-rgb),.09);}
.calday:last-child{border-bottom:none;}
.cald{min-width:74px;flex:none;color:var(--gold);font-weight:800;font-size:1.02rem;font-variant-numeric:tabular-nums;line-height:1.3;}
.cald small{display:block;color:var(--muted);font-weight:400;font-size:.72rem;letter-spacing:1px;margin-top:2px;}
.calday.today .cald{color:var(--text);}
.calday.today .cald small{color:var(--gold);font-weight:700;}
.calday.off .cald{color:var(--muted);}
.calev{flex:1;min-width:0;}
.calev>div{padding:2px 0;font-size:.9rem;line-height:1.7;}
.calnote{display:block;color:var(--muted);font-size:.78rem;margin-top:1px;}

/* ---------- 19. 券商共識追蹤／資料交集 ---------- */
#csList{margin-top:2px;}
.csnote{color:var(--muted);font-size:.75rem;line-height:1.75;margin:10px 2px 0;}
a.cslink{color:var(--gold-dim);text-decoration:none;font-size:.82rem;font-weight:700;}
a.cslink:hover{color:var(--gold);}
.ovi{padding:9px 0;font-size:.9rem;line-height:1.75;border-bottom:1px solid rgba(var(--gold-rgb),.09);}
.ovi:last-child{border-bottom:none;}
.ovi b{color:var(--text);}
.rgbox{margin:4px 0 12px;padding:10px 14px;border-radius:12px;background:rgba(var(--gold-rgb),.06);
  border:1px solid rgba(var(--gold-rgb),.22);font-size:.88rem;line-height:1.8;}
.rgbox b{color:var(--gold);}
.rgbox .muted{font-size:.78rem;}

/* ---------- 20. 自選股：星號、分頁切換、加入按鈕 ---------- */
.tile{position:relative;}
.star{position:absolute;top:6px;right:6px;z-index:3;width:30px;height:30px;border-radius:50%;
  border:none;background:none;cursor:pointer;color:var(--muted);padding:0;
  display:flex;align-items:center;justify-content:center;transition:color .18s,background .18s,transform .15s;}
.star svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linejoin:round;}
.star:hover{color:var(--gold);background:rgba(var(--gold-rgb),.12);}
.star:active{transform:scale(.88);}
.star.on{color:var(--gold);}
.star.on svg{fill:currentColor;filter:drop-shadow(0 0 5px rgba(var(--gold-rgb),.55));}
.vtabs{display:flex;gap:6px;flex:none;}
.vtab{cursor:pointer;border:1px solid rgba(var(--gold-rgb),.38);background:rgba(var(--gold-rgb),.05);color:var(--gold-dim);
  border-radius:999px;padding:6px 14px;font-size:.85rem;font-weight:700;font-family:inherit;white-space:nowrap;transition:all .18s;}
.vtab b{font-variant-numeric:tabular-nums;margin-left:2px;}
.vtab:hover{color:var(--gold);border-color:var(--gold);}
.vtab.on{background:var(--btn-grad);color:var(--on-gold);border-color:transparent;box-shadow:0 3px 12px -3px rgba(var(--gold-rgb),.55);}
button.wbtn{display:inline-flex;align-items:center;gap:6px;cursor:pointer;font-family:inherit;background:rgba(var(--gold-rgb),.07);}
button.wbtn svg{width:1em;height:1em;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linejoin:round;}
button.wbtn.on svg{fill:currentColor;}
button.wbtn.on{background:rgba(var(--gold-rgb),.16);}

/* ---------- 21. 首頁「我的自選」卡片 ---------- */
.wgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px;}
.wcard{position:relative;background:var(--surface),var(--card);border:1px solid var(--edge);border-radius:14px;
  padding:12px 14px 12px;box-shadow:var(--shadow);transition:border-color .22s,box-shadow .22s;}
.wcard.act{border-color:rgba(var(--gold-rgb),.38);}
.wcard:hover{border-color:var(--edge-hi);box-shadow:var(--shadow-hi);}
.wcard .star{top:8px;right:8px;}
.wtop{padding-right:30px;}
.wname{color:var(--text);text-decoration:none;font-weight:800;font-size:1rem;}
.wname:hover{color:var(--gold);}
.wtags{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 6px;font-size:.8rem;}
.wtag{display:inline-block;padding:2px 10px;border-radius:999px;font-size:.75rem;font-weight:700;
  background:rgba(var(--gold-rgb),.10);border:1px solid rgba(var(--gold-rgb),.32);color:var(--gold);}
.wtag.hot{background:rgba(255,90,90,.10);border-color:rgba(255,90,90,.35);color:var(--up);}
.wtag.cal{background:none;color:var(--muted);border-color:var(--line);}
.wlast{color:var(--muted);font-size:.8rem;line-height:1.6;border-top:1px solid rgba(var(--gold-rgb),.09);padding-top:6px;}
.wempty{text-align:center;padding:22px 18px;}
.wempty .wet{color:var(--gold);font-weight:800;letter-spacing:1px;margin-bottom:6px;}
.wempty .muted{font-size:.85rem;line-height:1.8;max-width:560px;margin:0 auto;}
a.wgo{display:inline-block;margin-top:12px;padding:8px 22px;border-radius:999px;text-decoration:none;font-weight:800;font-size:.9rem;
  background:var(--btn-grad);color:var(--on-gold);box-shadow:0 8px 22px -8px rgba(var(--gold-rgb),.6);}
@media (max-width:720px){ .vtabs{width:100%;} .vtab{flex:1;} .wgrid{grid-template-columns:1fr;} }
html.mob .vtabs{width:100%;} html.mob .vtab{flex:1;} html.mob .wgrid{grid-template-columns:1fr;}

/* ---------- 22. NEW 標記、自選摺疊 ---------- */
.newb{display:inline-block;vertical-align:middle;margin-left:6px;padding:1px 7px 0;border-radius:999px;
  font-size:.62rem;font-weight:900;letter-spacing:1px;line-height:1.6;font-style:normal;
  background:var(--btn-grad);color:var(--on-gold);-webkit-text-fill-color:var(--on-gold);
  box-shadow:0 0 10px rgba(var(--gold-rgb),.55);animation:newglow 2.4s ease-in-out infinite;}
h2 .newb{margin-left:0;font-size:.6rem;letter-spacing:1.2px;}
.vtab .newb{margin-left:5px;}
.vtab.on .newb{background:var(--on-gold);color:var(--gold);-webkit-text-fill-color:var(--gold);box-shadow:none;}
nav.bnav a .newdot{position:absolute;top:-2px;right:calc(50% - 26px);margin:0;padding:0 5px;font-size:.52rem;line-height:1.5;}
@keyframes newglow{0%,100%{box-shadow:0 0 6px rgba(var(--gold-rgb),.35);}50%{box-shadow:0 0 14px rgba(var(--gold-rgb),.8);}}
details.wmore{margin-top:10px;}
details.wmore>summary{margin-bottom:0;}
details.wmore[open]>summary{margin-bottom:10px;}

/* ---------- 23. 許願池／回憶過去 子分頁 ---------- */
.subtabs{display:flex;gap:6px;margin:4px 0 16px;padding:4px;border-radius:999px;background:var(--card);
  border:1px solid var(--edge);box-shadow:var(--shadow);width:max-content;max-width:100%;}
.subtabs a{padding:6px 18px;border-radius:999px;color:var(--muted);text-decoration:none;font-weight:800;
  font-size:.88rem;letter-spacing:1px;white-space:nowrap;}
.subtabs a.on{background:var(--btn-grad);color:var(--on-gold);box-shadow:0 4px 14px -6px rgba(var(--gold-rgb),.7);}
.subtabs a:not(.on):hover{color:var(--gold);}

/* ---------- 24. 營收佈告欄：導覽列上的「新月份」小圖示 ---------- */
nav.bnav a .revdot{position:absolute;top:-3px;right:calc(50% - 30px);padding:0 5px;border-radius:999px;
  font-size:.55rem;font-weight:900;line-height:1.55;letter-spacing:.5px;font-style:normal;
  background:var(--up);color:#fff;-webkit-text-fill-color:#fff;border:1.5px solid var(--bg);
  box-shadow:0 0 10px rgba(255,80,80,.55);animation:revpop 1.8s ease-in-out infinite;}
@keyframes revpop{0%,100%{transform:scale(1);}50%{transform:scale(1.12);}}

/* ---------- 25. 子分頁上的外部小站（旺來開運所）：紫色標示，跟站內金色分頁區隔 ---------- */
.subtabs a.ext{color:#C9A2FF;border:1px solid rgba(185,140,255,.55);margin-left:2px;}
.subtabs a.ext:hover{color:#E2CCFF;background:rgba(185,140,255,.12);}
html[data-theme="light"] .subtabs a.ext,html[data-theme="white"] .subtabs a.ext{color:#7B3FC4;border-color:rgba(123,63,196,.45);}
html[data-theme="light"] .subtabs a.ext:hover,html[data-theme="white"] .subtabs a.ext:hover{background:rgba(123,63,196,.08);color:#5E2A9E;}
.subtabs a.ext.life{color:#6fd391;border-color:rgba(76,175,110,.6);}
.subtabs a.ext.life:hover{color:#9be8b4;background:rgba(76,175,110,.12);}
html[data-theme="light"] .subtabs a.ext.life,html[data-theme="white"] .subtabs a.ext.life{color:#2e7d4a;border-color:rgba(46,125,74,.5);}

/* =====================================================================
   26. 體驗層（搭配 wl-pro.js）：Masthead、章節節奏、桌機兩欄、動態
   ===================================================================== */
:root{--num:"Inter","SF Pro Display",-apple-system,"Segoe UI",Roboto,"Helvetica Neue",sans-serif;}
.logo{margin:0;}
.skip{position:absolute;left:-999px;top:8px;z-index:300;background:var(--gold);color:var(--on-gold);padding:8px 16px;border-radius:999px;font-weight:800;text-decoration:none;}
.skip:focus{left:12px;}
.mkt .val,.stamp,.h-num,.h-chg,.hm b,.ntime,.rv .amt,.rv .pc{font-family:var(--num);}
.live{display:inline-block;width:8px;height:8px;border-radius:50%;background:#35d07f;box-shadow:0 0 0 3px rgba(53,208,127,.18);vertical-align:.08em;margin-right:6px;animation:livep 2.4s ease-in-out infinite;}
@keyframes livep{0%,100%{box-shadow:0 0 0 3px rgba(53,208,127,.18);}50%{box-shadow:0 0 0 6px rgba(53,208,127,.05);}}
.ntc-ic{width:1em;height:1em;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;vertical-align:-.14em;margin-right:4px;}

/* Masthead */
.hero{position:relative;overflow:hidden;display:grid;grid-template-columns:1fr;gap:16px;margin:6px 0 30px;padding:22px 20px 18px;
  border-radius:22px;border:1px solid var(--edge);background:var(--surface),var(--card);box-shadow:var(--shadow-hi);}
.hero::before{content:"";position:absolute;right:-18%;top:-55%;width:70%;height:150%;pointer-events:none;
  background:radial-gradient(closest-side,rgba(var(--gold-rgb),.16),transparent 70%);}
.hero>*{position:relative;}
.h-eye{display:flex;align-items:center;gap:8px;font-size:.76rem;color:var(--muted);letter-spacing:1.5px;}
.h-eye .dot{width:8px;height:8px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 4px rgba(var(--gold-rgb),.14);}
.h-eye .dot.up{background:var(--up);box-shadow:0 0 0 4px rgba(255,90,90,.14);}
.h-eye .dot.dn{background:var(--down);box-shadow:0 0 0 4px rgba(61,214,140,.14);}
.h-title{margin-top:14px;color:var(--gold);font-weight:800;font-size:.86rem;letter-spacing:4px;}
.h-num{margin-top:2px;font-weight:800;font-size:clamp(3.1rem,13vw,5.8rem);line-height:.98;letter-spacing:-.03em;color:var(--text);font-variant-numeric:tabular-nums;}
.h-chg{margin-top:10px;font-weight:700;font-size:1.02rem;letter-spacing:.3px;}
.h-chg.up{color:var(--up);} .h-chg.down{color:var(--down);}
.spark{display:block;width:100%;height:auto;overflow:visible;}
.sp-line{stroke:rgb(var(--gold-rgb));stroke-width:2.4;stroke-linejoin:round;stroke-linecap:round;}
.sp-dot{fill:rgb(var(--gold-rgb));filter:drop-shadow(0 0 6px rgba(var(--gold-rgb),.9));}
.h-cap{margin-top:6px;text-align:right;font-size:.68rem;color:var(--muted);letter-spacing:1px;}
.h-mini{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding-top:14px;border-top:1px solid var(--edge);}
.hm{display:flex;flex-direction:column;gap:2px;min-width:0;}
.hm .hk{font-size:.68rem;color:var(--muted);letter-spacing:1px;}
.hm b{font-size:1.02rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.hm i{font-style:normal;font-size:.72rem;font-family:var(--num);font-weight:700;white-space:nowrap;}
.hm i.up{color:var(--up);} .hm i.down{color:var(--down);}
@media (min-width:760px){
  .hero{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:end;column-gap:40px;padding:34px 38px 26px;}
  .h-mini{grid-column:1/-1;gap:24px;}
  .hm b{font-size:1.2rem;}
}
html.mob .hero{grid-template-columns:1fr;padding:22px 20px 18px;}

/* 章節節奏 */
.sec{scroll-margin-top:80px;}
body.home h2::before{display:none;}
.sec-no{font-family:var(--num);font-size:.66rem;font-weight:700;letter-spacing:1px;color:var(--gold);padding:3px 8px 2px;border:1px solid var(--edge-hi);border-radius:999px;line-height:1.3;}
body.home h2 .muted,body.home h2>span.muted{flex-basis:100%;font-size:.72rem !important;letter-spacing:.3px !important;margin-top:-2px;}
body.home .sect-head{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;color:var(--gold);font-size:1.02rem;letter-spacing:2px;margin:34px 0 12px;}
.pro-ic{width:1.15em;height:1.15em;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none;}
body.home .sec>h2{margin-top:38px;}

/* 捲入淡入 */
html.pro .rvl{opacity:0;transform:translateY(18px);}
html.pro .rvl.in{opacity:1;transform:none;transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1);}
@media (prefers-reduced-motion:reduce){html.pro .rvl{opacity:1;transform:none;}*{animation-duration:.001ms !important;transition-duration:.001ms !important;}}

/* 卡片互動 */
@media (hover:hover){
  .card,.mkt .m,details.stkbox,.tile,.rec,.rv[data-c]{transition:transform .25s cubic-bezier(.2,.7,.2,1),box-shadow .25s,border-color .25s;}
  .mkt .m:hover,.tile:hover,.rec:hover{transform:translateY(-2px);border-color:var(--edge-hi);box-shadow:var(--shadow-hi);}
}

/* 桌機：主欄＋側欄、頂部浮動導覽 */
@media (min-width:1100px){
  html:not(.mob) body.home .wrap{max-width:1240px;}
  html:not(.mob) .pro-grid{display:grid;grid-template-columns:400px minmax(0,1fr);column-gap:48px;align-items:start;}
  html:not(.mob) .pro-rail .mkt{grid-template-columns:repeat(2,minmax(0,1fr));}
  html:not(.mob) .pro-rail .sec:first-child>h2,html:not(.mob) .pro-main .sec:first-child>h2{margin-top:6px;}
  html:not(.mob) .pro-rail{padding-right:44px;border-right:1px solid var(--edge);}
}
@media (min-width:1360px){
  html:not(.mob) nav.bnav{top:16px;bottom:auto;left:50%;right:auto;transform:translateX(-50%);width:auto;gap:2px;padding:6px;
    border:1px solid var(--edge);border-radius:999px;background:rgba(var(--bg-rgb),.72);box-shadow:var(--shadow);}
  html:not(.mob) nav.bnav a{flex-direction:row;gap:8px;max-width:none;padding:8px 16px;border-radius:999px;font-size:.78rem;}
  html:not(.mob) nav.bnav a.on{background:rgba(var(--gold-rgb),.14);}
  html:not(.mob) nav.bnav a.on::before{display:none;}
  html:not(.mob) nav.bnav a .newdot{top:-6px;right:-2px;}
  html:not(.mob) body{padding-bottom:40px;}
  /* 內頁欄寬較窄：頂部浮動導覽放在頁首上方，避免蓋住 LOGO 與右上角資訊 */
  html:not(.mob) body:not(.home){padding-top:64px;}
}
body.home header .stamp{display:none;}
body.home .annc{margin:-12px 0 26px;}
@media (max-width:720px){
  .setbtn{padding:8px 11px;font-size:0;gap:0;} .setbtn .wl-ic{width:18px;height:18px;margin:0;}
  body.home header{padding-top:14px;}
  body.home .notice.mini{margin:8px 0 12px;}
}
body.home .mkt .m.in-hero{display:none;}
body.home .mkt{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
@media (min-width:1360px){ html:not(.mob) nav.bnav{background:rgba(var(--bg-rgb),.86);backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);} }
.sect-head .sh-sub{flex-basis:100%;font-size:.72rem;font-weight:400;letter-spacing:.3px;color:var(--muted);margin-top:-2px;}
@media (min-width:1360px){ html:not(.mob) .head-right{flex-direction:column !important;align-items:flex-end !important;gap:6px !important;} }
footer{margin-top:72px;padding:34px 0 20px;font-size:.78rem;line-height:2;color:var(--muted);}
footer b{color:var(--gold);letter-spacing:1px;}
footer .thbtn{margin-bottom:16px;}

/* =====================================================================
   27. 市場脈動列（取代大數字看板）：六個指標同大小，一眼掃完
   ===================================================================== */
.hero{display:none !important;}
body.home .sec.pulsed{display:none;}
.pulse{margin:4px 0 26px;}
.p-head{display:flex;align-items:center;gap:10px;margin-bottom:10px;font-size:.78rem;color:var(--muted);letter-spacing:1px;}
.p-head b{color:var(--text);font-weight:700;font-family:var(--num);letter-spacing:.5px;}
.p-head .p-lab{margin-left:auto;color:var(--gold);font-weight:800;letter-spacing:3px;font-size:.72rem;}
.p-dot{width:7px;height:7px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 4px rgba(var(--gold-rgb),.14);}
.p-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;}
.pt{position:relative;overflow:hidden;min-width:0;padding:11px 12px 10px;border-radius:14px;border:1px solid var(--edge);
  background:var(--surface),var(--card);box-shadow:var(--shadow);display:flex;flex-direction:column;gap:2px;}
.pt::after{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--edge-hi);opacity:.6;}
.pt.up::after{background:var(--up);opacity:.85;} .pt.down::after{background:var(--down);opacity:.85;}
.pk{font-size:.68rem;color:var(--muted);letter-spacing:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.pv{font-family:var(--num);font-size:1.12rem;font-weight:800;color:var(--text);letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.25;}
.pc{font-family:var(--num);font-size:.72rem;font-weight:700;color:var(--muted);white-space:nowrap;}
.pt.up .pc{color:var(--up);} .pt.down .pc{color:var(--down);}
.ps{position:absolute;right:8px;bottom:8px;width:42%;height:22px;opacity:.9;pointer-events:none;}
.ps .psl{fill:none;stroke:rgb(var(--gold-rgb));stroke-width:1.6;vector-effect:non-scaling-stroke;stroke-linejoin:round;}
.ps .psa{fill:rgba(var(--gold-rgb),.12);}
.p-note{display:block;width:100%;margin-top:8px;padding:0;border:0;background:none;text-align:left;cursor:pointer;font-family:inherit;
  font-size:.68rem;color:var(--muted);line-height:1.6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.p-note.open{white-space:normal;}
.p-note:hover{color:var(--text);}
@media (min-width:760px){ .p-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;} .pt{padding:14px 14px 12px;} .pv{font-size:1.25rem;} }
html.mob .p-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;}
html.mob .pt{padding:11px 12px 10px;} html.mob .pv{font-size:1.12rem;}
@media (hover:hover){ .pt{transition:transform .25s cubic-bezier(.2,.7,.2,1),border-color .25s;} .pt:hover{transform:translateY(-2px);border-color:var(--edge-hi);} }
@media (max-width:759px){ .pv{font-size:clamp(.92rem,4.3vw,1.12rem);letter-spacing:-.025em;text-overflow:clip;} .pt{padding:10px 10px 9px;} }
html.mob .pv{font-size:clamp(.92rem,4.3vw,1.12rem);letter-spacing:-.025em;text-overflow:clip;}
.oline .ol-today b{font-family:var(--num);color:var(--text);font-weight:700;}
.oline.ol-low .ol-on{display:none;}
.oline.ol-low .ol-today .sep{display:none;}
@media (min-width:1360px){ html:not(.mob) body:not(.home) .oline{max-width:250px;white-space:normal;text-align:right;line-height:1.5;} }
@media (min-width:1360px){ html:not(.mob) nav.bnav a .revdot{top:-7px;right:-4px;} }

/* ---------- 28. 研究專題橫幅 ---------- */
a.feat{position:relative;display:grid;gap:6px;margin:4px 0 22px;padding:18px 20px 16px;border-radius:18px;text-decoration:none;color:var(--text);overflow:hidden;
  background:linear-gradient(135deg,rgba(var(--gold-rgb),.20),rgba(var(--gold-rgb),.04) 55%),var(--card);
  border:1px solid rgba(var(--gold-rgb),.55);box-shadow:var(--shadow-hi);}
a.feat::after{content:"";position:absolute;right:-60px;top:-60px;width:220px;height:220px;border-radius:50%;background:radial-gradient(closest-side,rgba(var(--gold-rgb),.28),transparent);pointer-events:none;}
a.feat .f-eye{display:flex;align-items:center;gap:8px;font-size:.72rem;font-weight:800;letter-spacing:3px;color:var(--gold);}
a.feat .f-eye em{font-style:normal;font-size:.6rem;letter-spacing:1px;padding:1px 7px;border-radius:99px;background:var(--btn-grad);color:var(--on-gold);}
a.feat .f-title{font-size:1.12rem;font-weight:900;letter-spacing:1px;line-height:1.45;}
a.feat .f-desc{font-size:.84rem;color:var(--muted);line-height:1.7;}
a.feat .f-cta{justify-self:start;margin-top:4px;font-size:.84rem;font-weight:800;color:var(--on-gold);background:var(--btn-grad);padding:6px 16px;border-radius:99px;}
a.feat.big{padding:26px 26px 22px;margin:6px 0 30px;}
a.feat.big .f-title{font-size:clamp(1.25rem,3.6vw,1.7rem);}
a.feat.big .f-desc{font-size:.92rem;max-width:760px;}
@media (hover:hover){a.feat{transition:transform .25s cubic-bezier(.2,.7,.2,1),box-shadow .25s;} a.feat:hover{transform:translateY(-2px);}}

/* ---------- 29. 浮誇主題 data-theme="fx"（2026-10-10）：水藍霓虹、會流動、會發光 ---------- */
html[data-theme="fx"]{
  --bg:#021821;--card:#062833;--card2:#0A3442;--line:#0F5468;
  --gold:#3DE8FF;--gold-dim:#22B4D8;--text:#F0FEFF;--muted:#9FD7E4;
  --up:#FF6B86;--down:#5BFFB0;--bgt:rgba(2,24,33,.86);
  --gold-rgb:61,232,255;--bg-rgb:2,24,33;
  --fx-rainbow:linear-gradient(90deg,#3DE8FF,#A6FFF6,#FFFFFF,#7CF0FF,#2FA8FF,#5BFFD8,#3DE8FF);
  --logo-grad:var(--fx-rainbow);
  --btn-grad:linear-gradient(135deg,#7CF8FF 0%,#3DE8FF 45%,#1E9BFF 100%);
  --surface:linear-gradient(160deg,rgba(61,232,255,.10) 0%,rgba(30,155,255,.05) 60%,rgba(255,255,255,.01) 100%);
  --edge:rgba(61,232,255,.35);
  --edge-hi:rgba(166,255,246,.85);
  --shadow:0 0 0 1px rgba(61,232,255,.25),0 0 22px -6px rgba(61,232,255,.55),0 14px 30px -16px rgba(0,0,0,.8);
  --shadow-hi:0 0 0 1px rgba(166,255,246,.7),0 0 34px -4px rgba(61,232,255,.7),0 0 60px -10px rgba(30,155,255,.6);
  --bg-glow:radial-gradient(900px 520px at 15% -10%,rgba(61,232,255,.30),transparent 60%),radial-gradient(800px 500px at 90% 0%,rgba(30,155,255,.28),transparent 60%);
  --on-gold:#FFFFFF;
}
html[data-theme="fx"] body{background-color:#021821;}
/* 背景極光：慢慢變色流動 */
html[data-theme="fx"] body::before{content:"";position:fixed;inset:-20%;z-index:-2;pointer-events:none;
  background:radial-gradient(40% 35% at 20% 25%,rgba(61,232,255,.38),transparent 70%),
             radial-gradient(35% 30% at 80% 20%,rgba(30,155,255,.36),transparent 70%),
             radial-gradient(45% 40% at 60% 85%,rgba(91,255,216,.28),transparent 70%),
             radial-gradient(30% 25% at 10% 90%,rgba(166,255,246,.22),transparent 70%);
  filter:blur(30px) saturate(1.4);animation:fxAurora 18s ease-in-out infinite alternate;}
/* 星星閃爍 */
html[data-theme="fx"] body::after{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.9;
  background-image:radial-gradient(1.5px 1.5px at 12% 18%,#fff,transparent),radial-gradient(1px 1px at 33% 72%,#fff,transparent),
    radial-gradient(1.8px 1.8px at 58% 30%,#A6FFF6,transparent),radial-gradient(1.2px 1.2px at 77% 64%,#3DE8FF,transparent),
    radial-gradient(1.6px 1.6px at 88% 12%,#FFFFFF,transparent),radial-gradient(1px 1px at 46% 92%,#fff,transparent),
    radial-gradient(1.4px 1.4px at 6% 55%,#5BFFD8,transparent),radial-gradient(1.2px 1.2px at 68% 8%,#fff,transparent);
  animation:fxTwinkle 3.2s ease-in-out infinite;}
@keyframes fxAurora{0%{transform:translate(0,0) rotate(0deg);filter:blur(30px) hue-rotate(0deg) saturate(1.4);}
  100%{transform:translate(-4%,3%) rotate(8deg);filter:blur(30px) hue-rotate(28deg) saturate(1.5);}}
@keyframes fxTwinkle{0%,100%{opacity:.35}50%{opacity:1}}
@keyframes fxFlow{0%{background-position:0% 50%}100%{background-position:200% 50%}}
@keyframes fxHue{0%{filter:hue-rotate(0deg)}100%{filter:hue-rotate(360deg)}}
@keyframes fxPulse{0%,100%{box-shadow:var(--shadow)}50%{box-shadow:var(--shadow-hi)}}
/* 彩虹流動字：LOGO、大標題、區塊標題 */
html[data-theme="fx"] .logo,html[data-theme="fx"] .pro-hero h1,html[data-theme="fx"] h1,html[data-theme="fx"] h2{
  background:var(--fx-rainbow);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent !important;
  -webkit-text-fill-color:transparent;animation:fxFlow 6s linear infinite;filter:drop-shadow(0 0 10px rgba(61,232,255,.5));}
html[data-theme="fx"] h2 .muted,html[data-theme="fx"] h2 small,html[data-theme="fx"] h2 span{-webkit-text-fill-color:var(--muted);}
html[data-theme="fx"] h2::before{background:var(--fx-rainbow) !important;background-size:200% 100% !important;animation:fxFlow 4s linear infinite;box-shadow:0 0 12px rgba(61,232,255,.85);}
/* 卡片：霓虹框＋呼吸發光 */
html[data-theme="fx"] .card,html[data-theme="fx"] .mkt .m,html[data-theme="fx"] details.stkbox,html[data-theme="fx"] details.srcbox,
html[data-theme="fx"] .day,html[data-theme="fx"] .tile,html[data-theme="fx"] .rec,html[data-theme="fx"] .intro,html[data-theme="fx"] .wishbox,
html[data-theme="fx"] .wcard,html[data-theme="fx"] .rv,html[data-theme="fx"] .sbox,html[data-theme="fx"] a.feat{
  border-color:rgba(61,232,255,.45) !important;animation:fxPulse 4.5s ease-in-out infinite;}
html[data-theme="fx"] .card:hover,html[data-theme="fx"] details.stkbox:hover,html[data-theme="fx"] .tile:hover,html[data-theme="fx"] .rv:hover,html[data-theme="fx"] .wcard:hover{
  transform:translateY(-3px) scale(1.01);border-color:rgba(166,255,246,.95) !important;box-shadow:var(--shadow-hi);}
/* 數字：漲跌發光 */
html[data-theme="fx"] .up{text-shadow:0 0 10px rgba(255,107,134,.75);}
html[data-theme="fx"] .down{text-shadow:0 0 10px rgba(91,255,176,.7);}
html[data-theme="fx"] .mkt .val{text-shadow:0 0 14px rgba(61,232,255,.6);}
/* 按鈕、選中狀態：彩虹漸層 */
html[data-theme="fx"] .fs-chip.on,html[data-theme="fx"] .flt.on,html[data-theme="fx"] .subtabs a.on,html[data-theme="fx"] .fchips button.on{
  background:var(--fx-rainbow) !important;background-size:200% 100% !important;animation:fxFlow 3s linear infinite;color:#01303d !important;border-color:transparent !important;
  box-shadow:0 0 16px rgba(61,232,255,.75);font-weight:900;}
/* 底部導覽列：玻璃＋彩虹頂邊 */
html[data-theme="fx"] nav.bnav{background:rgba(6,40,51,.72) !important;border-color:rgba(61,232,255,.5) !important;box-shadow:0 0 30px -6px rgba(61,232,255,.6),0 -1px 0 rgba(166,255,246,.45) inset;}
html[data-theme="fx"] nav.bnav a.on{color:#fff !important;text-shadow:0 0 10px #3DE8FF;}
html[data-theme="fx"] nav.bnav a.on .ic svg{filter:drop-shadow(0 0 6px #A6FFF6);}
html[data-theme="fx"] ::selection{background:#3DE8FF;color:#01303d;}
html[data-theme="fx"] a{text-shadow:0 0 0 transparent;}
html[data-theme="fx"] .newb{box-shadow:0 0 10px rgba(61,232,255,.8);}
/* 主題按鈕本身：「浮誇」永遠是彩虹字 */
.fs-chip[data-t="fx"]:not(.on){background:linear-gradient(90deg,#1E9BFF,#3DE8FF,#5BFFD8,#3DE8FF,#1E9BFF);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;font-weight:900;border-color:#3DE8FF;}
/* 🍍 撒花 */
.fx-pine{position:fixed;top:-40px;z-index:9999;pointer-events:none;font-size:26px;animation:fxFall linear forwards;}
@keyframes fxFall{to{transform:translateY(110vh) rotate(720deg);opacity:.2}}
@media (prefers-reduced-motion:reduce){
  html[data-theme="fx"] *,html[data-theme="fx"] body::before,html[data-theme="fx"] body::after{animation:none !important;}
  .fx-pine{display:none;}
}

/* ---------- 30. 券商摘要重點強化（wl-sum.js 產生的結構） ---------- */
ul.sum-list li.sl-card{padding:12px 0 12px 16px;}
.sl-h{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;margin-bottom:4px;}
.sl-nm{font-size:1.18rem;font-weight:900;letter-spacing:1px;color:var(--gold) !important;text-decoration:none;border-bottom:none !important;}
.sl-nm:hover{text-decoration:underline;}
.sl-cd{font-family:Inter,ui-monospace,monospace;font-size:.72rem;font-weight:700;color:var(--muted);border:1px solid var(--line);border-radius:6px;padding:1px 7px;}
.sl-badge{font-size:.7rem;font-weight:900;letter-spacing:1px;border-radius:999px;padding:2px 10px;color:var(--muted);border:1px solid var(--line);}
.sl-badge.up{color:#fff;background:var(--up);border-color:var(--up);}
.sl-badge.dn{color:#fff;background:var(--down);border-color:var(--down);}
.sl-b{font-size:.92rem;line-height:1.85;color:var(--text);}
.sl-tp{color:var(--gold);font-weight:900;font-size:1.05em;}
.sl-n{color:var(--text);font-weight:800;}
.sl-rt{display:inline-block;font-weight:900;padding:0 7px;margin:0 2px;border-radius:5px;border:1px solid var(--line);font-size:.9em;}
.sl-rt.up{color:var(--up);border-color:rgba(255,90,90,.45);background:rgba(255,90,90,.08);}
.sl-rt.dn{color:var(--down);border-color:rgba(60,200,120,.45);background:rgba(60,200,120,.08);}
.sl-up{color:var(--up);font-weight:900;}
.sl-dn{color:var(--down);font-weight:900;}
