/* 東盟建築時報 主題 4.5.0–4.5.2（2026-11-12 總編輯「可以上線」）：C 確認版＝B 的色彩與版型＋A 的暖白底＋B 的動畫。
   本檔接在 v4-base.css、v4.css 之後；示範與量測在 demo/v5/（c 版）。五頻道色、階段色、紅漲綠跌沿用既有決定不改色。
   減少動態（prefers-reduced-motion）時全部動畫與轉場關閉；動畫只用 transform／opacity，不造成版面位移。 */

/* ---------- 記號 ---------- */
:root{
  /* 暖白底（A）；面板維持白 */
  --v-bg:#FAF9F6;--v-sunk:#F4F3EF;--v-line:#E4E2DC;--v-line-2:#CFCBC2;
  /* 頻道深色（漸層與深字用） */
  --v5-d-land:#6E3E0A;--v5-d-factory:#123F75;--v5-d-housing:#1C5139;--v5-d-policy:#50275B;--v5-d-data:#08494E;
  /* 暖金：B 款標誌屋頂內線 #9A7425；文字與白字底用加深一階 #86641F（對白底 5.45:1），原色只給色條與細線；深底用 #D8B66A */
  --gold:#86641F;--gold-np:#86641F; /* 舊版元件的金色（#B08A3E 對暖白底 3:1）改用可讀的加深一階 */
  --v5-gold-logo:#9A7425;--v5-gold:#86641F;--v5-gold-l:#D8B66A;--v5-gold-t:#F6EEDC;
  --v5-head:#14110E;--v5-head-2:#231D16;--v5-on-head:#F4ECDD;--v5-on-head-m:#C9BCA5;
  --v5-bar-soft:#D3A574;
  --v5-sd-intent:#8B97A3;--v5-sd-board:#8B97A3;--v5-sd-signed:#5D8BC7;--v5-sd-approved:#1F4F8A;--v5-sd-published:#0E767E;
  --v5-sd-started:#C98A1B;--v5-sd-completed:#3E9A6B;--v5-sd-operating:#2D6A4C;--v5-sd-withdrawn:#B23A2E;--v5-sd-revoked:#A3302A;
  /* 圓角、陰影固定一套 */
  --v5-r1:4px;--v5-r2:8px;--v5-r3:14px;
  --v5-sh1:0 1px 2px rgba(16,24,40,.06),0 1px 3px rgba(16,24,40,.06);
  --v5-sh2:0 4px 10px -2px rgba(16,24,40,.08),0 2px 4px -2px rgba(16,24,40,.06);
  --v5-sh3:0 16px 32px -12px rgba(16,24,40,.22),0 4px 8px -4px rgba(16,24,40,.08);
  /* 動畫（B 的數值，2026-11-12「我想用b的動畫」） */
  --v5-ease:cubic-bezier(.16,1,.3,1);--v5-io:cubic-bezier(.65,0,.35,1);
  --v5-rv-y:28px;--v5-rv-dur:760ms;--v5-stg:70ms;--v5-lift:-5px;--v5-draw:1400ms;--v5-tk-dur:48s;
}
.v-c-land{--v5-cd:var(--v5-d-land)}.v-c-factory{--v5-cd:var(--v5-d-factory)}.v-c-housing{--v5-cd:var(--v5-d-housing)}.v-c-policy{--v5-cd:var(--v5-d-policy)}.v-c-data{--v5-cd:var(--v5-d-data)}
.v5-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);border:0;white-space:nowrap}
.v5-ic,.v5-nic,.v5-hic,.v5-cic,.v5-chic,.v5-eic,.v5-jic,.v5-tpin{fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex:none}

/* ---------- 頂端進度條 ---------- */
.v5-prog{position:fixed;left:0;right:0;top:0;height:3px;z-index:100;pointer-events:none}
.v5-prog i{display:block;height:100%;background:linear-gradient(90deg,var(--v-c-land),var(--v-c-factory),var(--v-c-housing),var(--v-c-policy),var(--v-c-data));transform:scaleX(0);transform-origin:0 50%}

/* ---------- 報頭：桌面捲動時縮小並固定（只用 transform，外框高度不變） ---------- */
.v-acta{background:var(--v5-head);color:var(--v5-on-head-m);border:0}
.v-acta b{color:var(--v5-on-head)}
@media (min-width:761px){
  .v-mast{position:sticky;top:var(--wp-admin--admin-bar--height,0px);z-index:60;background:color-mix(in srgb,var(--v-panel) 94%,transparent);-webkit-backdrop-filter:saturate(1.4) blur(10px);backdrop-filter:saturate(1.4) blur(10px);transition:transform .45s var(--v5-ease),box-shadow .45s var(--v5-ease)}
  .v-mast .v-logo-h{transform-origin:0 50%;transition:transform .45s var(--v5-ease)}
  .v-mast .v-search,.v-mast .v-bar>.v-btn-csv{transition:opacity .3s}
  .v-mast.v5-c{transform:translateY(-22px);box-shadow:var(--v5-sh2)}
  .v-mast.v5-c .v-logo-h{transform:translateY(11px) scale(.74)}
  .v-mast.v5-c .v-search,.v-mast.v5-c .v-bar>.v-btn-csv{opacity:0;pointer-events:none}
}
.v5-nic{width:17px;height:17px;color:var(--v-muted);transition:color .25s}
.v-nav a{position:relative}
.v-nav a::after{content:"";position:absolute;left:12px;right:12px;bottom:-3px;height:3px;border-radius:3px 3px 0 0;background:var(--v5-nc,var(--v-ink));transform:scaleX(0);transition:transform .35s var(--v5-ease)}
.v-nav a:hover::after,.v-nav a.v-on::after{transform:scaleX(1)}
.v-nav a:hover .v5-nic,.v-nav a.v-on .v5-nic{color:var(--v5-nc,var(--v-ink))}
.v-nv-land{--v5-nc:var(--v-c-land)}.v-nv-factory{--v5-nc:var(--v-c-factory)}.v-nv-housing{--v5-nc:var(--v-c-housing)}.v-nv-policy{--v5-nc:var(--v-c-policy)}.v-nv-data,.v-nv-overview{--v5-nc:var(--v-c-data)}
.v-nav a.v-nv-overview{color:var(--v5-gold)}

/* ---------- 匯率列：深色帶、平滑輪播（滑過或聚焦暫停） ---------- */
.v-ticker{background:var(--v5-head);border-bottom:0;overflow:hidden}
.v-ticker-in{align-items:center}
.v-ticker-lab{color:var(--v5-gold-l)}
.v5-tk-vp{flex:1;min-width:0;display:flex;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent);mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent)}
.v5-tk-vp .v-ticker-list{display:flex;flex:none;gap:10px;padding-right:10px;grid-template-columns:none;animation:v5tk var(--v5-tk-dur) linear infinite}
.v5-tk-vp:hover .v-ticker-list,.v5-tk-vp:focus-within .v-ticker-list{animation-play-state:paused}
@keyframes v5tk{to{transform:translateX(-100%)}}
.v5-tk-vp .v-ticker-list li{flex:none;width:auto}
.v-ticker .v-ticker-list a{background:var(--v5-head-2);border-color:#3A3126;color:var(--v5-on-head);white-space:nowrap;padding:6px 12px}
.v-ticker .v-t-k,.v-ticker .v-t-s{color:var(--v5-on-head-m);white-space:nowrap}
.v-ticker .v-t-v{color:#fff}
.v5-t-d{font-size:11px;margin-left:6px;vertical-align:2px}
.v5-t-d.v5-up{color:#FF8A7E}.v5-t-d.v5-dn{color:#7FD1A6}.v5-t-d.v5-eq{color:var(--v5-on-head-m)}
.v-ticker .v-ticker-list li.v-t-cnt a,.v-ticker .v-ticker-list li:last-child a{background:var(--v5-gold);border-color:var(--v5-gold)}
.v-ticker li.v-t-cnt .v-t-k,.v-ticker li.v-t-cnt .v-t-s{color:#FFF6E3}.v-ticker li.v-t-cnt .v-t-v{color:#fff}

/* ---------- 區塊標題、區塊間距 ---------- */
.v-sec-h::before{width:22px;height:6px;border-radius:3px;background:linear-gradient(90deg,var(--v-c-land),var(--v-c-factory),var(--v-c-housing),var(--v-c-policy),var(--v-c-data))}
.v-sec-h{font-size:19px}
.v-blk{margin-top:44px}

/* ---------- 頭條：深色帶 ---------- */
.v-home .v-top{margin-top:0;max-width:none;padding:28px 0 40px;background:radial-gradient(1200px 420px at 15% -10%,color-mix(in srgb,var(--v-c-land) 38%,transparent),transparent 60%),radial-gradient(900px 400px at 95% 110%,color-mix(in srgb,var(--v-c-factory) 40%,transparent),transparent 60%),var(--v5-head)}
.v-home .v-top>*{max-width:var(--v-w);margin-left:auto;margin-right:auto;padding-left:var(--v-g);padding-right:var(--v-g)}
.v-home .v-top>.v-sec-h{color:var(--v5-on-head);margin-bottom:16px}
.v-home .v-top-g{background:transparent;border:0;gap:20px;overflow:visible;padding:0}
.v-home .v-top-g{align-items:stretch}
.v-home .v-top-g>.v-lead{align-self:stretch;display:flex;flex-direction:column;background:var(--v-panel);border-radius:var(--v5-r3);overflow:hidden;box-shadow:var(--v5-sh3);border:0}
/* 4.5.2：頭條卡與右欄等高；主圖（或沒有主圖時的數字卡）撐滿多出的高度，等比例裁切不變形 */
.v5-lead-img{position:relative;flex:1 1 auto;min-height:200px;margin:0;overflow:hidden;background:var(--v-sunk)}
.v5-lead-img a{position:absolute;inset:0;display:block}
.v5-lead-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .8s var(--v5-ease)}
.v-lead:hover .v5-lead-img img{transform:scale(1.03)}
.v5-lead-tag{position:absolute;left:12px;bottom:12px;z-index:1}
.v-home .v-lead-fig.v5-fill{flex:1 1 auto;display:flex;min-height:200px}
.v-home .v-lead-fig.v5-fill .v-numcard{flex:1;grid-template-columns:minmax(0,1fr);align-content:space-evenly;row-gap:0;padding-top:12px;padding-bottom:12px}
.v-home .v-lead-fig.v5-fill .v-numcard>div{border-left:0;padding-left:0}
.v-home .v-lead-fig.v5-fill .v-numcard b{font-size:76px}
.v-home .v-lead-fig.v5-fill .v-numcard em,.v-home .v-lead-fig.v5-fill .v-numcard .v-nc-t{font-size:18px}
.v-home .v-lead-fig.v5-fill .v-numcard p{font-size:13px}
.v-home .v-lead>.v-lead-t,.v-home .v-lead>.v5-lead-rail{flex:none}
.v-home .v-top-side .v-card.v5-compact .v-card-m{display:none}
.v-numcard{position:relative;overflow:hidden;background:linear-gradient(135deg,var(--v5-cd,var(--v-ink)) 0%,var(--v-cc,var(--v-ink)) 100%)}
.v-numcard::after{content:"";position:absolute;right:-40px;top:-40px;width:220px;height:220px;border-radius:50%;border:1px solid rgba(255,255,255,.18);box-shadow:0 0 0 30px rgba(255,255,255,.04),0 0 0 62px rgba(255,255,255,.03);pointer-events:none}
.v-numcard p,.v-numcard em{opacity:1} /* 4.5.0：半透明白字對頻道色未達 AA，改不透明 */
.v-home .v-top-side{gap:12px;align-content:start}
.v-home .v-top-side .v-card{border-radius:var(--v5-r2);border-bottom:0;box-shadow:var(--v5-sh1)}
.v5-lead-rail{margin:0 24px 22px!important;padding-top:14px;border-top:1px solid var(--v-line)}
.v-rail li.v5-done::before{background:var(--v-cc,var(--v-c-land))}

/* ---------- 卡片：頻道色條、滑過浮起 ---------- */
.v-card{position:relative;background:var(--v-panel);border-left:5px solid var(--v-cc);transition:transform .35s var(--v5-ease),box-shadow .35s var(--v5-ease)}
.v-card:hover{transform:translateY(var(--v5-lift));box-shadow:0 18px 34px -14px color-mix(in srgb,var(--v-cc) 55%,transparent),var(--v5-sh1)}
.v-cards .v-card{border-radius:var(--v5-r2);border-left-width:5px;box-shadow:var(--v5-sh1)}

/* ---------- 本月數字：暖金 ---------- */
.v-stat{border-radius:var(--v5-r3);border:0;border-top:3px solid var(--v5-gold-logo);background:linear-gradient(160deg,var(--v5-gold-t),var(--v-panel) 60%);box-shadow:var(--v5-sh1);transition:transform .35s var(--v5-ease),box-shadow .35s var(--v5-ease)}
.v-stat:hover{transform:translateY(var(--v5-lift));box-shadow:var(--v5-sh2)}
.v-stat-v,.v-stat-v b{color:var(--v5-gold)}

/* ---------- 事件表：每列頻道淺底 ---------- */
.v-tbl-wrap{border-radius:var(--v5-r3)}
.v-evt tr[data-ch="land"]{--v-ct:var(--v-t-land);--v-cc:var(--v-c-land)}.v-evt tr[data-ch="factory"]{--v-ct:var(--v-t-factory);--v-cc:var(--v-c-factory)}
.v-evt tr[data-ch="housing"]{--v-ct:var(--v-t-housing);--v-cc:var(--v-c-housing)}.v-evt tr[data-ch="policy"]{--v-ct:var(--v-t-policy);--v-cc:var(--v-c-policy)}
.v-evt tr[data-ch="data"]{--v-ct:var(--v-t-data);--v-cc:var(--v-c-data)}
.v-evt tbody tr[data-ch] td{background:color-mix(in srgb,var(--v-ct) 45%,var(--v-panel));transition:background .25s}
.v-evt tbody tr[data-ch]:hover td{background:var(--v-ct)}
.v-evt tbody tr[data-ch] td:first-child{box-shadow:inset 5px 0 0 var(--v-cc)}

/* ---------- 五個頻道：頻道色漸層標頭＋淺色底 ---------- */
.v-chan{border:0;border-radius:var(--v5-r3);background:linear-gradient(180deg,var(--v-ct) 0%,color-mix(in srgb,var(--v-ct) 50%,var(--v-panel)) 100%);box-shadow:var(--v5-sh1);transition:transform .35s var(--v5-ease),box-shadow .35s var(--v5-ease)}
.v-chan:hover{transform:translateY(var(--v5-lift));box-shadow:var(--v5-sh2)}
.v-chan h3{background:linear-gradient(120deg,var(--v5-cd),var(--v-cc));padding:12px 14px}
.v-chan h3 a{display:flex;align-items:center;gap:8px;color:#fff}
.v5-cic{width:22px;height:22px;color:#fff}
.v-chan h3 span{opacity:1}
.v-chan li{border-bottom-color:color-mix(in srgb,var(--v-cc) 22%,transparent)}

/* ---------- 追蹤中、常青資料：上下兩列 ---------- */
.v-home .v-two{grid-template-columns:minmax(0,1fr);gap:44px}
.v-home .v-two>div{background:transparent;border:0;padding:0}
.v-home .v-track{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.v-home .v-track li{position:relative;display:block;background:var(--v-panel);border-radius:var(--v5-r2);border:0;padding:14px 14px 12px 32px;box-shadow:var(--v5-sh1);font-size:13.5px}
.v-home .v-track li a{display:block;margin:6px 0 8px;font-size:13.5px}
.v-home .v-tk-d{display:block;color:var(--v5-gold)}
.v5-pulse{position:absolute;left:13px;top:20px;width:9px;height:9px;border-radius:50%;background:var(--v5-gold-logo)}
.v5-pulse::after{content:"";position:absolute;inset:0;border-radius:50%;background:var(--v5-gold-logo);animation:v5breathe 1.8s var(--v5-io) infinite}
@keyframes v5breathe{0%{transform:scale(1);opacity:.55}70%,100%{transform:scale(3);opacity:0}}
.v-home .v-ever{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px}
.v-ever a{position:relative;display:flex;flex-direction:column;gap:4px;padding:16px;border:0;border-radius:var(--v5-r2);background:var(--v-panel);box-shadow:var(--v5-sh1);transition:transform .35s var(--v5-ease),box-shadow .35s var(--v5-ease)}
.v-ever a:hover{transform:translateY(var(--v5-lift));box-shadow:var(--v5-sh3)}
.v-home .v-ever li:first-child a{background:var(--v-ink)}
.v-home .v-ever li:first-child b{color:var(--v5-gold-l)}.v-home .v-ever li:first-child span{color:#C9D3DD}.v-home .v-ever li:first-child .v5-eic{color:var(--v5-gold-l)}
.v5-eic{width:26px;height:26px;color:var(--v-c-data)}

/* ---------- 頻道頁頁首：頻道色漸層帶 ---------- */
.v-chead{position:relative;overflow:hidden;color:#fff;border-bottom:0;padding:28px 0 26px;background:linear-gradient(120deg,var(--v5-cd,var(--v-ink)) 0%,var(--v-cc,var(--v-ink)) 100%)}
.v-chead::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(135deg,rgba(255,255,255,.05) 0 2px,transparent 2px 14px);pointer-events:none}
.v-chead::after{content:"";position:absolute;right:-80px;top:-120px;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.1),transparent 65%);pointer-events:none}
.v-chead .v-wrap{position:relative;z-index:1}
/* 頁首帶改深色後，帶內次要文字與連結改淺色（事件庫、今日公告、法規頁等共用頁首） */
.v-chead{--v-muted:#EDE8DF;--v-text:#fff;--v-accent:#fff}
.v-chead.v-c-events{--v5-cd:#14110E}
.v-ui .v-chead a{color:#fff;text-decoration:underline;text-underline-offset:3px}
.v-ui .v-chead a.v-btn-csv{text-decoration:none}
.v-ui .v-chead .v-crumb,.v-ui .v-chead .v-crumb a{color:#fff}
.v-ui .v-chead .v-crumb a{text-decoration:underline}
.v-chead h1{color:#fff}
.v-chead h1::before{display:none}
.v5-chic{width:40px;height:40px;color:#fff}
.v-chead-d{color:#fff}
.v-chead-s div{background:rgba(0,0,0,.16);border:1px solid rgba(255,255,255,.22)}
.v-chead-s dt,.v-chead-s dd,.v-chead-s dd b{color:#fff}
.v-chead-s dd b{font-size:26px;font-weight:600}
.v-chead .v-btn-csv{background:rgba(0,0,0,.22)}
.v5-jump{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.v5-jump a{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 14px;border-radius:999px;background:rgba(0,0,0,.18);border:1px solid rgba(255,255,255,.3);color:#fff;font-weight:700;font-size:14px;transition:background .25s,transform .25s var(--v5-ease)}
.v-ui .v5-jump a,.v-ui .v5-jump a:hover{color:#fff}
.v5-jump a:hover{background:rgba(0,0,0,.3);transform:translateY(-2px)}
.v5-jic{width:18px;height:18px}
.v-cards{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}

/* ---------- 文章頁 ---------- */
.v-rail li.v-now::before{background:var(--v5-gold-logo)}
.v-rail li.v-now{color:var(--v-ink)}
.v-evcard{border-radius:var(--v5-r3);box-shadow:var(--v5-sh2)}
.v5-art-data{margin-top:28px}

/* ---------- 圖表外框 ---------- */
.v5-figs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}
.v5-figs-1{grid-template-columns:minmax(0,1fr)}
.v5-fig{margin:0;background:var(--v-panel);border-radius:var(--v5-r3);padding:20px 22px 14px;box-shadow:var(--v5-sh1);border-top:4px solid var(--v5-fc,var(--v-c-data));min-width:0}
.v5-fig.v5-wide{margin-top:24px}
.v-chpage .v5-fig{--v5-fc:var(--v-cc,var(--v-c-data))}
.v-art .v5-fig{background:var(--v-sunk);box-shadow:none}
.v5-fig-h{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.v5-fig-h h3{font:700 17px/1.4 var(--v-sans);color:var(--v-ink);margin:0}
.v5-fig-u{margin-left:auto;font-size:12px;color:var(--v-muted)}
.v5-fig-c{margin:6px 0 16px!important;font-size:14.5px;color:var(--v-ink);line-height:1.65;padding-left:12px;border-left:3px solid var(--v5-gold-logo)}
.v5-fig-n{font-size:12.5px;color:var(--v-muted);margin:10px 0 0!important;line-height:1.6}
.v5-fig-n a{color:var(--v-accent);text-decoration:underline}
.v5-fig-s{display:flex;flex-wrap:wrap;gap:4px 16px;font-size:12px;color:var(--v-muted);border-top:1px solid var(--v-line);margin:16px 0 0!important;padding-top:10px;line-height:1.55}
.v5-fig-s a{color:inherit;text-decoration:underline}
.v5-fig-t{margin-top:6px;font-size:13px}
.v5-fig-t summary{cursor:pointer;color:var(--v-accent);font-weight:700;list-style:none;display:inline-flex;align-items:center;gap:6px;min-height:40px}
.v5-fig-t summary::-webkit-details-marker{display:none}
.v5-fig-t summary::before{content:"";width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-45deg);transition:transform .25s}
.v5-fig-t[open] summary::before{transform:rotate(45deg)}
.v5-tw{margin-top:4px}
.v5-tbl th{white-space:nowrap}

/* 橫條 */
.v5-hbars{display:grid;gap:10px}
.v5-hb{display:grid;grid-template-columns:10em minmax(0,1fr) 4.2em;align-items:center;gap:12px;font-size:14px}
.v5-hb-l{display:flex;align-items:center;gap:7px;color:var(--v-ink);font-weight:500;line-height:1.35;flex-wrap:wrap}
.v5-hb-l small{font-size:11.5px;color:var(--v-muted);width:100%}
.v5-me{font-style:normal;font-size:11px;font-weight:700;color:#fff;background:var(--v5-gold);padding:2px 6px;border-radius:var(--v5-r1)}
.v5-hic{width:18px;height:18px;color:var(--v-muted)}
.v5-hb-t{height:18px;background:var(--v-sunk);border-radius:0 var(--v5-r1) var(--v5-r1) 0;overflow:hidden}
.v5-hb-t i{display:block;height:100%;width:var(--w);background:var(--c);border-radius:0 var(--v5-r1) var(--v5-r1) 0;transform-origin:0 50%}
.v5-hb-v{text-align:right;font-weight:600;color:var(--v-ink)}
/* 方塊 */
.v5-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:62px;gap:6px;max-width:440px}
.v5-tile{border-radius:var(--v5-r2);display:flex;flex-direction:column;justify-content:center;padding:6px 10px;line-height:1.25;min-width:0;overflow:hidden;transition:transform .3s var(--v5-ease)}
.v5-tile b{font-size:13px;font-weight:700;white-space:nowrap}
.v5-tile .v-num{font-size:20px;font-weight:600}
.v5-tile:hover{transform:scale(1.04)}
.v5-l0{background:var(--v-sunk);color:var(--v-muted);box-shadow:inset 0 0 0 1px var(--v-line)}
.v5-l1{background:#D6E3F3;color:#123F75}.v5-l2{background:#9DBDE3;color:#0D2F58}.v5-l3{background:#3F78BD;color:#fff}.v5-l4{background:#123F75;color:#fff}
.v5-tile.v5-hi{background:var(--v5-gold);color:#fff}
.v5-tile-x{display:flex;align-items:center;gap:3px;font-size:11.5px}
.v5-tpin{width:14px;height:14px}
.v5-tl-lg{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;font-size:12px;color:var(--v-muted);margin:8px 0 0!important}
.v5-sw{display:inline-block;width:14px;height:14px;border-radius:3px}
.v5-sw.v5-l0{box-shadow:inset 0 0 0 1px var(--v-line)}
/* 直條 */
.v5-cols{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;align-items:end;height:200px}
.v5-col{display:flex;flex-direction:column;align-items:center;height:100%;gap:6px}
.v5-col-t{flex:1;width:100%;max-width:64px;display:flex;align-items:flex-end;border-bottom:1px solid var(--v-line-2)}
.v5-col-t i{display:block;width:100%;height:var(--h);min-height:2px;background:var(--v-c-data);border-radius:var(--v5-r1) var(--v5-r1) 0 0;transform-origin:50% 100%}
.v5-col:last-child .v5-col-t i{background:var(--v5-gold-logo)}
.v5-col-v{font-size:18px;font-weight:600;color:var(--v-ink)}
.v5-col-l{font-size:12px;color:var(--v-muted);text-align:center}
/* 前 5 大 */
.v5-rank{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.v5-rk{display:grid;grid-template-columns:30px 1fr;gap:10px;align-items:start}
.v5-rk-n{font-size:20px;font-weight:600;color:var(--v5-gold);line-height:1.4}
.v5-rk-h{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;font-size:14px;color:var(--v-ink);margin:0!important}
.v5-rk-c{font-size:12.5px;color:var(--v-muted)}
.v5-rk-a{font-size:13.5px;margin:3px 0 6px!important;display:flex;flex-wrap:wrap;gap:2px 12px}
.v5-rk-a b{color:var(--v-ink)}
.v5-rk-t{display:block;height:6px;background:var(--v-sunk);border-radius:3px;overflow:hidden}
.v5-rk-t i{display:block;height:100%;width:var(--w);background:var(--c);border-radius:3px;transform-origin:0 50%}
/* 時間軸 */
.v5-tline{list-style:none;margin:0;padding:0;position:relative}
.v5-tline::before{content:"";position:absolute;left:111px;top:6px;bottom:6px;width:2px;background:var(--v-line);transform-origin:50% 0}
.v5-tl-i{display:grid;grid-template-columns:96px 30px minmax(0,1fr);align-items:start;padding:7px 0}
.v5-tl-i time{font-size:13px;color:var(--v-muted);padding-top:2px;text-align:right;padding-right:6px;white-space:nowrap}
.v5-tl-dot{width:14px;height:14px;border-radius:50%;background:var(--v5-sd,#8B97A3);margin:5px 0 0 9px;box-shadow:0 0 0 4px var(--v-panel);position:relative;z-index:1}
.v5-tls-intent .v5-tl-dot{background:var(--v-panel);box-shadow:0 0 0 4px var(--v-panel),inset 0 0 0 2px #8B97A3}
.v5-tls-board{--v5-sd:#8B97A3}.v5-tls-signed{--v5-sd:#5D8BC7}.v5-tls-approved{--v5-sd:#1F4F8A}.v5-tls-published{--v5-sd:#0E767E}.v5-tls-started{--v5-sd:#C98A1B}.v5-tls-completed{--v5-sd:#3E9A6B}.v5-tls-operating{--v5-sd:#2D6A4C}.v5-tls-withdrawn{--v5-sd:#B23A2E}.v5-tls-revoked{--v5-sd:#A3302A}
.v5-tl-b{background:var(--v-sunk);border-radius:var(--v5-r2);padding:10px 14px;transition:transform .3s var(--v5-ease),box-shadow .3s}
.v5-tl-b:hover{transform:translateX(4px);box-shadow:var(--v5-sh2)}
.v5-tl-b p{margin:0!important}
.v5-tl-b a b{color:var(--v-ink)}.v5-tl-c{font-size:12.5px;color:var(--v-muted);margin-left:8px}
.v5-tl-h{font-size:13.5px;margin:2px 0 6px!important;line-height:1.55}
.v5-tl-m{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;font-size:12.5px}
.v5-tl-m .v-amt,.v5-tl-m .v-usd{display:inline;margin-right:6px}
/* 匯率 */
.v5-fxg{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.v5-fx{background:var(--v-sunk);border-radius:var(--v5-r2);padding:14px 14px 10px;transition:transform .3s var(--v5-ease),box-shadow .3s}
.v5-fx:hover{transform:translateY(var(--v5-lift));box-shadow:var(--v5-sh2);background:var(--v-panel)}
.v5-fx-k{font-size:13.5px;font-weight:700;color:var(--v-ink);margin:0!important}.v5-fx-k span{display:block;font-size:11.5px;font-weight:400;color:var(--v-muted)}
.v5-fx-v{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin:4px 0!important}
.v5-fx-v b{font-size:24px;font-weight:600;color:var(--v-ink)}
.v5-fx-c{font-size:13px;font-weight:600}.v5-fx-c.v5-up{color:var(--v-up)}.v5-fx-c.v5-dn{color:var(--v-down)}.v5-fx-c.v5-eq{color:var(--v-muted)}
.v5-fx-n{font-size:11.5px;color:var(--v-muted);margin:4px 0 0!important}
.v5-fx-note{display:flex;align-items:center;background:transparent;border:1px dashed var(--v-line-2);font-size:13px;color:var(--v-text);line-height:1.7}
.v5-fx-note:hover{transform:none;box-shadow:none;background:transparent}
.v5-spark{display:block;width:100%;height:64px;overflow:visible}
.v5-sp-gap{fill:color-mix(in srgb,var(--v-muted) 12%,transparent)}
.v5-sp-d{fill:none;stroke:var(--v-line-2);stroke-width:1.2;stroke-dasharray:3 3;vector-effect:non-scaling-stroke}
.v5-sp-l{fill:none;stroke:var(--v-ink);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:0}
.v5-sp-p{fill:var(--v-panel);stroke:var(--v-muted);stroke-width:1;vector-effect:non-scaling-stroke}
.v5-sp-e{fill:var(--v-panel);stroke-width:2.5;vector-effect:non-scaling-stroke}
.v5-spark.v5-up .v5-sp-e{fill:var(--v-up);stroke:var(--v-up)}.v5-spark.v5-dn .v5-sp-e{fill:var(--v-down);stroke:var(--v-down)}
/* 點圖 */
.v5-dplot{display:grid;gap:4px}
.v5-dp-r{display:grid;grid-template-columns:5em 1fr 9em;align-items:center;gap:12px;font-size:13.5px;min-height:34px}
.v5-dp-l{color:var(--v-ink);font-weight:700}
.v5-dp-a{position:relative;height:26px;border-bottom:1px solid var(--v-line)}
.v5-dp-ax .v5-dp-a{border:0;height:16px}
.v5-dp-tk{position:absolute;bottom:0;transform:translateX(-50%);font-size:11px;color:var(--v-muted)}
.v5-dp-v{font-size:12.5px;color:var(--v-text);line-height:1.35}
.v5-dp-d{position:absolute;top:50%;width:14px;height:14px;border-radius:50%;transform:translate(-50%,-50%);background:var(--v5-gold-logo);box-shadow:0 0 0 2px var(--v-panel)}
.v5-dp-d.v5-dp-tier{width:10px;height:10px;background:var(--v-panel);box-shadow:inset 0 0 0 2px var(--v-c-data),0 0 0 2px var(--v-panel)}
.v5-dp-d.v5-dp-fut{width:12px;height:12px;background:var(--v-panel);box-shadow:inset 0 0 0 2.5px var(--v5-gold-logo),0 0 0 2px var(--v-panel)}
.v5-dp-d.v5-dp-range{width:10px;height:10px;background:var(--v-c-data)}
.v5-dp-rg{position:absolute;top:50%;height:6px;transform:translateY(-50%);background:color-mix(in srgb,var(--v-c-data) 35%,transparent);border-radius:3px}
.v5-dp-nf{position:absolute;inset:0;display:flex;align-items:center;font-size:12.5px;color:var(--v-muted);background:repeating-linear-gradient(135deg,var(--v-sunk) 0 6px,transparent 6px 12px);padding-left:8px;border-radius:var(--v5-r1);line-height:1.3}
.v5-dp-lg{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;font-size:12px;color:var(--v-muted);margin:12px 0 0!important}
.v5-dp-lg .v5-dp-d{position:static;transform:none;display:inline-block;margin-right:-8px;vertical-align:middle}
.v5-dp-rgk{display:inline-block;width:22px;height:6px;border-radius:3px;background:color-mix(in srgb,var(--v-c-data) 35%,transparent);margin-right:-8px}
/* 電價表 */
.v5-pow{width:100%;border-collapse:collapse;font-size:13.5px;line-height:1.6}
.v5-pow th{text-align:left;color:var(--v-ink);padding:10px 12px 10px 0;width:6em;vertical-align:top;border-bottom:1px solid var(--v-line)}
.v5-pow td{padding:10px 0;border-bottom:1px solid var(--v-line)}
.v5-pow p{margin:0!important}.v5-pow small{display:block;color:var(--v-muted);font-size:12px}
/* 購屋矩陣 */
.v5-fom{width:100%;border-collapse:separate;border-spacing:6px;font-size:14px;min-width:520px}
.v5-fom th{text-align:left;font-size:12.5px;color:var(--v-muted);font-weight:700;padding:4px 6px}
.v5-fom tbody th{color:var(--v-ink);font-size:14px;white-space:nowrap}
.v5-fom td{padding:0}
.v5-fo{display:flex;align-items:center;justify-content:center;min-height:40px;border-radius:var(--v5-r2);font-weight:700;font-size:13.5px;transition:transform .25s var(--v5-ease)}
.v5-fo:hover{transform:scale(1.05)}
.v5-fo-yes{background:#2D7A57;color:#fff}.v5-fo-lim{background:#E0A325;color:#2A1B00}.v5-fo-no{background:#A3302A;color:#fff}
.v5-fo-nf{background:repeating-linear-gradient(135deg,var(--v-sunk) 0 6px,var(--v-panel) 6px 12px);color:var(--v-muted);box-shadow:inset 0 0 0 1px var(--v-line)}
.v5-fo-na{background:var(--v-sunk);color:var(--v-muted)}
.v5-fo-lg{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 0!important}
.v5-fo-lg .v5-fo{min-height:30px;padding:0 12px;font-size:12.5px}
/* 法規日曆 */
.v5-cal{list-style:none;margin:0;padding:0;position:relative}
.v5-cal::before{content:"";position:absolute;left:113px;top:0;bottom:0;width:2px;background:var(--v-line)}
.v5-cl-i{display:grid;grid-template-columns:100px 28px 52px 72px minmax(0,1fr);align-items:baseline;padding:9px 0;position:relative;font-size:14px}
.v5-cl-i::before{content:"";position:absolute;left:108px;top:15px;width:12px;height:12px;border-radius:50%;background:var(--v5-kc);box-shadow:0 0 0 3px var(--v-panel)}
.v5-cl-i time{grid-column:1;color:var(--v-ink);font-weight:600;text-align:right;padding-right:12px;white-space:nowrap}
.v5-cl-k{grid-column:3;font-size:12px;font-weight:700;color:#fff;background:var(--v5-kc);border-radius:var(--v5-r1);text-align:center;padding:2px 0}
.v5-cl-c{grid-column:4;font-size:13px;color:var(--v-muted);padding-left:10px}
.v5-cl-i p{grid-column:5;margin:0!important}
.v5-cl-i p a{color:var(--v-ink);font-weight:500}
.v5-cl-i p small{display:block;font-size:12.5px;color:var(--v-muted)}
.v5-k-do{--v5-kc:var(--v-c-policy)}.v5-k-eff{--v5-kc:var(--v-c-data)}.v5-k-exp{--v5-kc:#A3302A}
.v5-cl-i.v5-past .v5-cl-k{background:var(--v-muted)}
.v5-cl-i.v5-past time,.v5-cl-i.v5-past p a{color:var(--v-text);font-weight:400}
.v5-cl-today{position:relative;margin:8px 0;padding:6px 0 6px 128px;font-size:13px;font-weight:700;color:var(--v5-gold)}
.v5-cl-today::before{content:"";position:absolute;left:0;right:0;top:50%;border-top:2px dashed var(--v5-gold-logo)}
.v5-cl-today span{position:relative;background:var(--v-panel);padding:0 10px}

/* 圖表提示 */
.v5-tip{position:fixed;z-index:120;pointer-events:none;background:var(--v-ink);color:#fff;font-size:12.5px;padding:6px 9px;border-radius:var(--v5-r1);box-shadow:var(--v5-sh2);opacity:0;transform:translate(-50%,calc(-100% - 10px));transition:opacity .15s;white-space:nowrap}
.v5-tip.v5-on{opacity:1}
.v5-sp-p,.v5-dp-d{cursor:default}

/* ---------- 階段標微光（每 7 秒依序掃過） ---------- */
.v-stage{position:relative;overflow:hidden;isolation:isolate}
.v-stage::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(105deg,transparent 30%,rgba(255,255,255,.75) 50%,transparent 70%);transform:translateX(-110%);animation:v5shim 7s var(--v5-io) infinite;animation-delay:1.5s}
.v-st-approved::after,.v-st-operating::after,.v-st-revoked::after{background:linear-gradient(105deg,transparent 30%,rgba(255,255,255,.35) 50%,transparent 70%)}
@keyframes v5shim{0%{transform:translateX(-110%)}14%,100%{transform:translateX(110%)}}

/* ---------- 捲動進場（只觸發一次）與圖表畫出 ---------- */
html.v5js .v5-rv,html.v5js .v-stat,html.v5js .v-chan,html.v5js .v-cards .v-card,html.v5js .v-home .v-track li,html.v5js .v-home .v-ever li{opacity:0;transform:translateY(var(--v5-rv-y));transition:opacity var(--v5-rv-dur) var(--v5-ease),transform var(--v5-rv-dur) var(--v5-ease)}
html.v5js .v5-in,html.v5-all .v5-rv,html.v5-all .v-stat,html.v5-all .v-chan,html.v5-all .v-cards .v-card,html.v5-all .v-home .v-track li,html.v5-all .v-home .v-ever li{opacity:1!important;transform:none!important}
html.v5js .v-stat.v5-in:hover,html.v5js .v-chan.v5-in:hover,html.v5js .v-cards .v-card.v5-in:hover{transform:translateY(var(--v5-lift))!important}
html.v5js .v5-fig .v5-hb-t i,html.v5js .v5-fig .v5-rk-t i{transform:scaleX(0);transition:transform var(--v5-draw) var(--v5-ease);transition-delay:calc(var(--i,0) * 90ms + 200ms)}
html.v5js .v5-fig.v5-in .v5-hb-t i,html.v5js .v5-fig.v5-in .v5-rk-t i{transform:scaleX(1)}
html.v5js .v5-fig .v5-col-t i{transform:scaleY(0);transition:transform var(--v5-draw) var(--v5-ease);transition-delay:calc(var(--i) * 120ms + 200ms)}
html.v5js .v5-fig.v5-in .v5-col-t i{transform:scaleY(1)}
html.v5js .v5-fig .v5-sp-l{stroke-dashoffset:1;transition:stroke-dashoffset calc(var(--v5-draw) * 1.3) var(--v5-io);transition-delay:250ms}
html.v5js .v5-fig.v5-in .v5-sp-l{stroke-dashoffset:0}
html.v5js .v5-fig .v5-tile{opacity:0;transform:scale(.85);transition:opacity .5s var(--v5-ease),transform .5s var(--v5-ease);transition-delay:calc(var(--i) * 70ms + 100ms)}
html.v5js .v5-fig.v5-in .v5-tile{opacity:1;transform:none}
html.v5js .v5-fig .v5-dp-d,html.v5js .v5-fig .v5-dp-rg{opacity:0;transition:opacity .5s var(--v5-ease);transition-delay:calc(var(--i,0) * 90ms + 250ms)}
html.v5js .v5-fig.v5-in .v5-dp-d,html.v5js .v5-fig.v5-in .v5-dp-rg{opacity:1}
html.v5js .v5-fig .v5-tline::before{transform:scaleY(0);transition:transform calc(var(--v5-draw) * 1.4) var(--v5-ease)}
html.v5js .v5-fig.v5-in .v5-tline::before{transform:scaleY(1)}
html.v5js .v5-fig .v5-tl-i,html.v5js .v5-fig .v5-rk{opacity:0;transform:translateY(8px);transition:opacity .5s var(--v5-ease),transform .5s var(--v5-ease);transition-delay:calc(var(--i) * 70ms + 200ms)}
html.v5js .v5-fig.v5-in .v5-tl-i,html.v5js .v5-fig.v5-in .v5-rk{opacity:1;transform:none}
html.v5-all .v5-fig *{opacity:1!important}
html.v5-all .v5-fig .v5-hb-t i,html.v5-all .v5-fig .v5-rk-t i,html.v5-all .v5-fig .v5-col-t i,html.v5-all .v5-fig .v5-tile,html.v5-all .v5-fig .v5-tl-i,html.v5-all .v5-fig .v5-rk{transform:none!important}
html.v5-all .v5-fig .v5-sp-l{stroke-dashoffset:0!important}
html.v5-all .v5-fig .v5-tline::before{transform:none!important}
html.v5js .v5-chic path,html.v5js .v5-chic circle{stroke-dasharray:80;stroke-dashoffset:80;animation:v5draw 1.6s var(--v5-ease) .2s forwards}
@keyframes v5draw{to{stroke-dashoffset:0}}

/* ---------- 斷點 ---------- */
@media (max-width:1100px){
  .v-home .v-track{grid-template-columns:repeat(2,minmax(0,1fr))}
  .v5-fxg{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:760px){
  .v-home .v-top{padding:20px 0 28px}
  .v5-lead-img{flex:none;min-height:0;aspect-ratio:16/9}
  .v-home .v-lead-fig.v5-fill{min-height:0}
  .v5-figs{grid-template-columns:minmax(0,1fr)}
  .v5-fig{padding:18px 14px 12px}
  .v5-hb{grid-template-columns:7.5em minmax(0,1fr) 3.4em;gap:8px;font-size:13.5px}
  .v-home .v-track,.v-home .v-ever{grid-template-columns:minmax(0,1fr)}
  .v5-fxg{grid-template-columns:minmax(0,1fr)}
  .v5-dp-r{grid-template-columns:4.2em 1fr;gap:4px 10px}
  .v5-dp-v{grid-column:2;font-size:12px}
  .v5-dp-ax .v5-dp-v{display:none}
  .v5-tline::before{left:7px}
  .v5-tl-i{grid-template-columns:22px minmax(0,1fr);gap:2px 0}
  .v5-tl-i time{grid-column:2;text-align:left;padding:0}
  .v5-tl-dot{grid-row:1/3;grid-column:1;margin:4px 0 0 1px}
  .v5-tl-b{grid-column:2}
  .v5-cal::before{left:6px}
  .v5-cl-i{grid-template-columns:auto auto minmax(0,1fr);padding:9px 0 9px 26px;gap:2px 8px}
  .v5-cl-i::before{left:1px;top:14px}
  .v5-cl-i time{text-align:left;grid-column:1;padding:0}
  .v5-cl-k{grid-column:2;padding:2px 8px}
  .v5-cl-c{grid-column:3;padding-left:0}
  .v5-cl-i p{grid-column:1/-1}
  .v5-cl-today{padding-left:26px}
  .v5-tiles{grid-auto-rows:54px}
  .v5-tile{padding:6px}.v5-tile b{font-size:12.5px}
  .v5-chic{width:32px;height:32px}
  .v5-tk-vp{-webkit-mask-image:none;mask-image:none}
  .v-ticker-lab{display:none}
}

/* ---------- 減少動態：全部關閉 ---------- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  html.v5js .v5-rv,html.v5js .v-stat,html.v5js .v-chan,html.v5js .v-cards .v-card,html.v5js .v-home .v-track li,html.v5js .v-home .v-ever li{opacity:1;transform:none}
  html.v5js .v5-fig .v5-hb-t i,html.v5js .v5-fig .v5-rk-t i,html.v5js .v5-fig .v5-col-t i,html.v5js .v5-fig .v5-tile,html.v5js .v5-fig .v5-tl-i,html.v5js .v5-fig .v5-rk,html.v5js .v5-fig .v5-tline::before{opacity:1;transform:none}
  html.v5js .v5-fig .v5-dp-d,html.v5js .v5-fig .v5-dp-rg{opacity:1}
  html.v5js .v5-fig .v5-sp-l{stroke-dashoffset:0}
  html.v5js .v5-chic path,html.v5js .v5-chic circle{stroke-dashoffset:0}
  .v5-tk-vp{overflow-x:auto;-webkit-mask-image:none;mask-image:none}
  .v5-tk-dup{display:none!important}
  .v-mast,.v-mast .v-logo-h{transform:none!important}
  .v-card:hover,.v-stat:hover,.v-chan:hover,.v-ever a:hover,.v5-fx:hover,.v5-tl-b:hover,.v5-tile:hover,.v5-fo:hover{transform:none!important}
}
/* 4.5.3（11/12 獨立複查 C）：舊 style.css 的 .dots（輪播圓點，絕對定位）會套到分頁的「…」，使它跑到頁尾；分頁省略號恢復一般排列（4.4.9 以前即有） */
span.page-numbers.dots{position:static;display:inline-flex;align-items:center;justify-content:center;gap:0;z-index:auto;padding:6px 4px;border:0;background:none;color:var(--v-muted)}
/* 4.5.4：v4-base 在手機把 .v-btn-csv 全部隱藏（本意只收報頭的下載鈕），連資料頁「下載與建議引用」的按鈕也看不到；引用區塊內的按鈕照常顯示 */
.v-cite .v-btn-csv{display:inline-flex}
/* 4.5.4：長原文（>600 字）先顯示前段，其餘在「展開全部原文」 */
.v-fact-qx{display:inline}
.v-fact-qx summary{display:inline;font:12px/1.6 var(--v-sans);color:var(--v-accent);cursor:pointer;margin-left:4px}
.v-fact-qx[open]{display:block}
.v-fact-qx[open] summary{display:block;margin:4px 0 2px}
.v-fact-q blockquote:has(.v-fact-qx[open]) .v-fact-qd{display:none}
