/* enhance.css — Neo 動態質感加強層（2026-07-22）
   最後載入，疊在 ui-polish 之上。只加動態，不改藝術方向（深午夜藍＋冷電藍為 Boss 定案）。
   捲動進場、連結底線微互動、KPI count-up。（Border Beam 已移除：Boss 判定醜）
   健壯性：進場的隱藏狀態只在 <html class="reveal-ready">（JS 有跑）時生效——JS 沒跑內容照樣顯示，不會永久隱形。
   全部尊重 prefers-reduced-motion。 */

:root {
  --reveal-line: #7da8ff;      /* 沿用 --signal 冷電藍，只用在連結底線 */
  --reveal-ease: cubic-bezier(.2, .8, .2, 1);
}

/* ── 1. 捲動進場（僅在 reveal-ready 時先隱藏，避免 JS 失效時內容消失）── */
.reveal-ready [data-reveal] {
  opacity: 0;
  transform: translateY(22px);
  transition: opacity .7s var(--reveal-ease), transform .7s var(--reveal-ease);
  will-change: opacity, transform;
}
[data-reveal].is-in { opacity: 1; transform: none; }

.reveal-ready [data-reveal-stagger] > * {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity .6s var(--reveal-ease), transform .6s var(--reveal-ease);
}
[data-reveal-stagger].is-in > * { opacity: 1; transform: none; }
[data-reveal-stagger].is-in > *:nth-child(2) { transition-delay: .08s; }
[data-reveal-stagger].is-in > *:nth-child(3) { transition-delay: .16s; }
[data-reveal-stagger].is-in > *:nth-child(4) { transition-delay: .24s; }

/* ── 2. 微互動：連結底線由左展開，取代生硬的 hover 變色 ── */
.light-link, .dark-link {
  position: relative;
  border-bottom-color: transparent !important;
}
.light-link::after, .dark-link::after {
  content: ""; position: absolute; left: 0; bottom: 0; height: 2px; width: 100%;
  background: var(--reveal-line);
  transform: scaleX(0); transform-origin: left;
  transition: transform .4s var(--reveal-ease);
}
.light-link:hover::after, .dark-link:hover::after { transform: scaleX(1); }

/* ── 3. count-up 數字：等寬，收尾不跳版（實際跑動在 enhance.js，只掛 .overview-kpis strong）── */
[data-count], .overview-kpis strong { font-variant-numeric: tabular-nums; }

/* ── 無障礙：使用者要求減少動態，全部收斂成靜態 ── */
@media (prefers-reduced-motion: reduce) {
  .reveal-ready [data-reveal], .reveal-ready [data-reveal-stagger] > * { opacity: 1; transform: none; transition: none; }
  .light-link::after, .dark-link::after { transition: none; }
}
