@import url("https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;1,9..40,300&display=swap");

/* ═══════════════════════════════════════════════════════
   TAROT ARCANA — Rider-Waite Light
   米白底 · 深褐線稿 · 磚紅 · 舊金 · 鐵藍
   ═══════════════════════════════════════════════════════ */

:root {
  --bg:           #f0e8d6;
  --bg-soft:      #e8ddc8;
  --bg-card:      #f7f1e4;
  --ink:          #1c130a;
  --ink-dim:      rgba(28,19,10,0.58);
  --ink-ghost:    rgba(28,19,10,0.28);
  --gold:         #9a6e20;
  --gold-line:    rgba(154,110,32,0.4);
  --gold-pale:    rgba(212,104,138,0.12);
  --crimson:      #7a2520;
  --steel:        #3d5a6e;
  --line:         rgba(28,19,10,0.16);
  --line-strong:  rgba(28,19,10,0.28);
  --shadow:       0 8px 32px rgba(28,19,10,0.14);
  --radius:       0px;
  --content-width: 700px;
  --font-serif:   "Noto Serif TC","Georgia","Songti TC",serif;
  --font-sans:    "DM Sans","Noto Sans TC","PingFang TC","Microsoft JhengHei",sans-serif;
  --font-display: "Noto Serif TC","Georgia",serif;
}

*,*::before,*::after { box-sizing: border-box; }

html {
  scroll-snap-type: y mandatory;
  scroll-padding-top: 0;
  overscroll-behavior-y: contain;
  scroll-behavior: smooth;
}

body {
  margin: 0;
  font-family: var(--font-sans);
  color: var(--ink);
  background: #f5edf0;
  line-height: 1.9;
  letter-spacing: 0.025em;
  overflow-x: hidden;
}


/* ── 進度條 ── */
.progress-bar {
  position: fixed; top: 0; left: 0; height: 2px; width: 0%;
  background: linear-gradient(90deg, var(--crimson), var(--gold));
  z-index: 9999;
  box-shadow: 0 1px 6px rgba(122,37,32,0.4);
}

/* ── Ambient off ── */
.ambient,.wave { display: none; }

/* ── Top actions ── */
.top-actions {
  position: fixed; right: 22px; bottom: 22px;
  z-index: 50; display: flex; flex-direction: column; gap: 8px;
}
.pill-button {
  border: 1px solid var(--line-strong);
  color: var(--ink-dim); background: rgba(240,232,214,0.92);
  backdrop-filter: blur(8px); border-radius: 1px;
  padding: 9px 13px; cursor: pointer;
  font-family: var(--font-sans); font-size: 0.8rem; letter-spacing: 0.06em;
  transition: color 0.2s, border-color 0.2s, background 0.2s;
  box-shadow: var(--shadow);
}
.pill-button:hover {
  color: var(--crimson); border-color: var(--crimson);
  background: #fff9f0;
}

/* ── HERO ── */
header.hero {
  min-height: 100svh; scroll-snap-align: start;
  display: grid; place-items: center;
  padding: 80px 32px 64px;
  position: relative; overflow: hidden;
  background: var(--bg-card);
  border-bottom: 2px solid var(--ink);
}

/* 塔羅牌上下裝飾橫線 */
header.hero::before {
  content: "";
  position: absolute; top: 28px; left: 28px; right: 28px; height: 1px;
  background: linear-gradient(90deg, transparent, var(--line-strong), var(--gold), var(--line-strong), transparent);
}
header.hero::after {
  content: "";
  position: absolute; bottom: 28px; left: 28px; right: 28px; height: 1px;
  background: linear-gradient(90deg, transparent, var(--line-strong), var(--gold), var(--line-strong), transparent);
}

.hero-card {
  width: min(860px,100%);
  border: 1px solid var(--line-strong);
  border-radius: 0;
  background: rgba(255,252,245,0.7);
  box-shadow: 4px 4px 0 rgba(28,19,10,0.08), var(--shadow);
  padding: clamp(32px,5.5vw,68px);
  position: relative;
}
/* 四角裝飾 */
.hero-card::before,.hero-card::after {
  content: "✦"; position: absolute;
  color: var(--gold); font-size: 0.7rem; opacity: 0.8;
  background: var(--bg-card); padding: 0 6px;
}
.hero-card::before { top: -9px; left: 50%; transform: translateX(-50%); }
.hero-card::after  { bottom: -9px; left: 50%; transform: translateX(-50%); }

.kicker {
  display: inline-flex; gap: 12px; align-items: center;
  color: var(--gold); font-weight: 600;
  letter-spacing: 0.24em; font-size: 0.68rem;
  text-transform: uppercase; font-family: var(--font-sans);
}
.kicker::before,.kicker::after {
  content: ""; width: 36px; height: 1px;
  background: linear-gradient(90deg, var(--gold), transparent);
}
.kicker::after { background: linear-gradient(270deg, var(--gold), transparent); }

h1 {
  font-family: var(--font-display);
  font-size: clamp(2rem,4.8vw,4.8rem);
  line-height: 1.13; margin: 20px 0 24px;
  letter-spacing: 0.01em; color: var(--ink); font-weight: 700;
}

.byline {
  color: var(--ink-dim); border-top: 1px solid var(--line);
  padding-top: 16px; font-size: 0.86rem; letter-spacing: 0.06em;
}

.scroll-cue {
  position: absolute; bottom: 44px; left: 50%;
  transform: translateX(-50%); color: var(--ink-ghost);
  font-size: 0.68rem; letter-spacing: 0.2em; text-transform: uppercase;
  display: flex; align-items: center; gap: 10px;
}
.scroll-cue span {
  width: 16px; height: 26px; border: 1px solid var(--gold-line);
  border-radius: 99px; display: inline-flex; justify-content: center; padding-top: 4px;
}
.scroll-cue span::after {
  content: ""; width: 2px; height: 6px;
  background: var(--gold); border-radius: 99px;
  animation: wheel 1.6s ease infinite;
}
@keyframes wheel {
  0%   { transform: translateY(0); opacity: 1; }
  100% { transform: translateY(8px); opacity: 0; }
}

/* ── LAYOUT ── */
.layout { width: min(1060px,calc(100% - 36px)); margin: 0 auto; padding: 0 0 72px; }
.article-shell { min-width: 0; }
.article-section,.quote-panel,.resource-panel {
  width: min(var(--content-width),100%); margin-inline: auto;
}

/* ── ARTICLE SECTION ── */
.article-section {
  min-height: 100svh;
  padding: clamp(60px,9vh,104px) 0;
  border-bottom: 1px solid var(--line);
  scroll-snap-align: start; scroll-snap-stop: always;
  display: flex; flex-direction: column; justify-content: center;
  opacity: 0; filter: blur(5px);
  transition: opacity 0.55s ease, filter 0.55s ease;
  position: relative; overflow: hidden;
}
.article-section.is-visible { opacity: 1; filter: blur(0); }
.article-section > * { transform: none !important; }

/* ── TYPOGRAPHY ── */
.lead {
  font-family: var(--font-serif);
  font-size: clamp(1.18rem,1.9vw,1.55rem);
  line-height: 1.95; color: var(--ink);
}

.section-label {
  display: inline-block; color: var(--crimson);
  font-size: 0.66rem; font-weight: 600;
  letter-spacing: 0.28em; margin-bottom: 12px;
  text-transform: uppercase; font-family: var(--font-sans);
  border-bottom: 1px solid rgba(122,37,32,0.3);
  padding-bottom: 2px;
}

h2 {
  font-family: var(--font-display);
  font-size: clamp(1.55rem,2.7vw,2.3rem);
  line-height: 1.28; margin: 0 0 18px;
  color: var(--ink); font-weight: 700; letter-spacing: 0.01em;
}

p {
  font-size: 1.02rem; margin: 0 0 1.2em;
  color: rgba(28,19,10,0.84);
  text-align: justify; text-justify: inter-ideograph;
}

/* 首字下沉 */
.article-section > p:first-of-type::first-letter,
.expert-main > p:first-of-type::first-letter,
.video-main > p:first-of-type::first-letter {
  font-size: 3.2em; float: left;
  line-height: 0.78; margin: 0.1em 0.18em 0 0;
  font-family: var(--font-display); color: var(--crimson);
}

/* ── 引言框 ── */
.quote-panel {
  margin: 32px 0; padding: clamp(22px,4vw,36px);
  border-top: 2px solid var(--ink); border-bottom: 2px solid var(--ink);
  border-left: none; border-right: none;
  background: rgba(212,104,138,0.06);
  position: relative;
}
.quote-panel::before {
  content: "✦"; position: absolute; top: -10px; left: 50%;
  transform: translateX(-50%); color: var(--gold); font-size: 0.7rem;
  background: #fdf0f3; padding: 0 8px;
}
.quote-panel blockquote {
  margin: 0; font-family: var(--font-display);
  font-size: clamp(1.25rem,2.3vw,1.85rem);
  line-height: 1.62; color: var(--ink); font-style: italic;
}
.quote-panel cite {
  display: block; margin-top: 14px; color: var(--gold);
  font-style: normal; font-size: 0.8rem; letter-spacing: 0.12em;
}

/* ── tooltip ── */
.tooltip-term {
  position: relative; display: inline-block;
  border-bottom: 1px dotted var(--gold);
  padding: 0 0.15em; color: var(--gold);
  background: transparent; box-shadow: none;
  cursor: help; font-size: inherit; font-weight: 600;
  transition: border-color 0.16s;
}
.tooltip-term::before { display: none; }
.tooltip-term::after {
  content: attr(data-tooltip);
  position: absolute; left: 50%; bottom: calc(100% + 10px);
  width: min(290px,74vw); transform: translateX(-50%) translateY(4px);
  padding: 12px 16px; border: 1px solid var(--line-strong);
  background: var(--bg-card); color: var(--ink-dim);
  font-size: 0.86rem; font-weight: 400; line-height: 1.65;
  opacity: 0; pointer-events: none;
  transition: opacity 0.2s, transform 0.2s; z-index: 20; white-space: normal;
  box-shadow: 3px 3px 0 rgba(212,104,138,0.20);
}
.tooltip-term:hover::after,.tooltip-term:focus::after {
  opacity: 1; transform: translateX(-50%) translateY(0);
}

/* ── resource panel ── */
.resource-panel { margin-top: 38px; padding: 26px; border: 1px solid var(--line-strong); background: var(--bg-card); }
.resource-panel h3 { margin: 0 0 10px; font-family: var(--font-display); font-size: 1.35rem; color: var(--ink); }
.resource-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; margin-top: 14px; }
.resource-item { background: rgba(28,19,10,0.03); padding: 14px; border: 1px solid var(--line); }
.resource-item strong { display: block; color: var(--ink); margin-bottom: 4px; }
.resource-item span { color: var(--ink-dim); font-size: 0.88rem; }

/* ── CHART ── */
.chart-card { width: min(800px,calc(100vw - 36px)); margin: 24px auto 0; font-family: var(--font-sans); }
.chart-title { margin: 0 0 16px; text-align: center; font-family: var(--font-display); font-size: clamp(1.35rem,2.3vw,1.9rem); font-weight: 700; color: var(--ink); }
.chart-inner { width: min(740px,100%); }
.podcast-chart { display: grid; grid-template-columns: 68px minmax(0,1fr); gap: 12px; align-items: stretch; }
.chart-y-wrap { display: grid; grid-template-columns: 22px 1fr; gap: 8px; align-items: stretch; }
.y-axis-label { writing-mode: vertical-rl; text-orientation: upright; text-align: center; font-size: 0.86rem; color: var(--ink-dim); letter-spacing: 0.06em; }
.y-axis { height: 300px; display: flex; flex-direction: column; justify-content: space-between; align-items: flex-end; font-size: 0.86rem; color: var(--ink-dim); padding-top: 2px; }
.chart-main { position: relative; height: 300px; border-bottom: 1.5px solid var(--ink); border-left: 1.5px solid rgba(28,19,10,0.2); margin-bottom: 40px; overflow: visible; }
.grid-line { position: absolute; left: 0; right: 0; border-top: 1px solid rgba(28,19,10,0.08); }
.grid-line.g1{top:0%}.grid-line.g2{top:16.666%}.grid-line.g3{top:33.333%}
.grid-line.g4{top:50%}.grid-line.g5{top:66.666%}.grid-line.g6{top:83.333%}.grid-line.g7{top:100%}
.bars { position: absolute; inset: 0; display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 7px; align-items: end; padding: 0 3px; }
.bar-group { position: relative; height: 100%; display: flex; flex-direction: column; justify-content: flex-end; align-items: center; }
.bar { width: 52%; max-width: 46px; height: 0; background: linear-gradient(180deg, var(--steel) 0%, #8a5aa0 100%); border-radius: 1px 1px 0 0; box-shadow: 1px 0 0 rgba(28,19,10,0.2); transition: height 1s cubic-bezier(0.18,0.88,0.28,1.05); }
.highlight-bar .bar { background: linear-gradient(180deg, var(--crimson) 0%, #a03060 100%); box-shadow: 1px 0 0 rgba(28,19,10,0.2),0 0 16px rgba(122,37,32,0.18); }
.highlight-bar .bar-label { color: var(--crimson); font-weight: 700; }
.article-section.is-visible .bar { height: var(--grow-bar,0%); }
.bar-label { position: absolute; top: calc(100% + 9px); left: 50%; transform: translateX(-50%); text-align: center; font-size: 0.82rem; color: var(--ink-dim); word-break: keep-all; white-space: nowrap; }

/* chart scroll */
.chart-scroll-scene { min-height: 220vh; position: relative; padding: 0; }
.chart-sticky-stage { min-height: 100svh; position: sticky; top: 0; display: flex; flex-direction: column; justify-content: center; padding: clamp(60px,9vh,104px) 0; }
.chart-sticky-stage > * { width: 100%; }
.chart-scroll-scene .chart-card { margin-top: 24px; }
.chart-scroll-scene .bar { height: var(--grow-bar,0%); transition: height 0.08s linear; }

/* horizontal chart */
.horizontal-chart-scene { min-height: 260vh; display: block; width: min(1060px,calc(100% - 36px)); margin-inline: auto; }
.horizontal-chart-scene .chart-sticky-stage { min-height: 100svh; padding: clamp(40px,6vh,68px) 0; align-items: center; justify-content: center; }
.horizontal-chart-scene .chart-card { width: min(1020px,calc(100vw - 36px)); margin-inline: auto; }
.horizontal-chart-scene .chart-inner { width: min(920px,100%); margin-inline: auto; }
.horizontal-chart { display: block; width: 100%; margin-inline: auto; }
.horizontal-chart .hchart-main { --label-col:248px; --row-gap:8px; position: relative; width: 100%; height: auto; padding: 0 0 56px 0; border: 0; margin: 0 auto; overflow: visible; }
.horizontal-chart .hchart-rows { position: relative; z-index: 2; display: grid; gap: var(--row-gap); height: auto; padding: 0; }
.horizontal-chart .hbar-row { display: grid; grid-template-columns: var(--label-col) minmax(0,1fr); gap: 16px; align-items: center; min-height: 28px; }
.horizontal-chart .hbar-label { align-self: center; justify-self: end; text-align: right; color: var(--ink-dim); font-size: 0.96rem; font-weight: 400; line-height: 1.2; word-break: keep-all; }
.horizontal-chart .hbar-track { width: 100%; height: 19px; display: flex; align-items: stretch; }
.horizontal-chart .hbar-fill { width: var(--grow-bar,0%); height: 100%; border-radius: 0 1px 1px 0; background: linear-gradient(90deg, rgba(61,90,110,0.4) 0%, var(--steel) 100%); box-shadow: 1px 0 0 rgba(28,19,10,0.12); transition: width 0.08s linear; }
.horizontal-chart .highlight-hbar .hbar-fill { background: linear-gradient(90deg, rgba(122,37,32,0.35) 0%, var(--crimson) 100%); }
.horizontal-chart .hchart-grid-layer { position: absolute; left: calc(var(--label-col) + 16px); right: 0; top: 0; bottom: 56px; pointer-events: none; z-index: 1; }
.horizontal-chart .hchart-grid-line { position: absolute; top: 0; bottom: 0; border-left: 1px solid rgba(28,19,10,0.08); }
.horizontal-chart .hchart-grid-line.g0{left:0%}.horizontal-chart .hchart-grid-line.g1{left:16.666%}
.horizontal-chart .hchart-grid-line.g2{left:33.333%}.horizontal-chart .hchart-grid-line.g3{left:50%}
.horizontal-chart .hchart-grid-line.g4{left:66.666%}.horizontal-chart .hchart-grid-line.g5{left:83.333%}
.horizontal-chart .hchart-grid-line.g6{left:100%}
.horizontal-chart .hchart-axis-line { position: absolute; left: calc(var(--label-col)+16px); right: 0; bottom: 42px; border-top: 1.5px solid var(--ink); }
.horizontal-chart .hchart-x-axis { position: absolute; left: calc(var(--label-col)+16px); right: 0; bottom: 18px; top: auto; display: flex; justify-content: space-between; align-items: center; transform: none; color: var(--ink-dim); font-size: 0.86rem; }
.horizontal-chart .hchart-axis-label { position: absolute; left: calc(var(--label-col)+16px); right: 0; bottom: -10px; margin: 0; text-align: center; color: var(--ink-dim); font-size: 0.86rem; letter-spacing: 0.08em; }
.horizontal-chart-scene h2 { text-align: center; margin-bottom: 22px; }
.horizontal-chart-scene .section-label { text-align: center; display: block; }
.hchart-labels { height: 272px; padding-top: 2px; }
.hchart-rows { height: 272px; }

/* ── PODCAST BADGE ── */
.podcast-show-badge {
  position: fixed; top: 0; left: 0; z-index: 120;
  width: 144px; display: flex; flex-direction: column; align-items: center;
  gap: 8px; padding: 11px 11px 12px;
  border-right: 1px solid var(--line-strong); border-bottom: 1px solid var(--line-strong);
  border-radius: 0; background: rgba(247,241,228,0.97);
  backdrop-filter: blur(12px); cursor: pointer;
  box-shadow: 2px 2px 0 rgba(28,19,10,0.08);
  transition: transform 0.42s cubic-bezier(0.2,0.86,0.2,1);
}
.podcast-show-badge.is-collapsed { transform: translateX(calc(-100% + 30px)); }
.podcast-show-badge::before,.podcast-show-badge.is-collapsed::before { display: none; }
.podcast-show-badge::after {
  content: "展開"; position: absolute; right: 7px; top: 50%; bottom: auto; padding: 0;
  border-radius: 0; color: var(--gold); background: transparent; border: 0; box-shadow: none;
  font-size: 0.66rem; font-weight: 700; letter-spacing: 0.1em;
  writing-mode: vertical-rl; text-orientation: mixed; white-space: nowrap;
  opacity: 0; transform: translateY(-50%); pointer-events: none; transition: opacity 0.2s;
}
.podcast-show-badge.is-collapsed::after { opacity: 1; }
.podcast-show-badge img { display: block; width: 100%; aspect-ratio: 1/1; object-fit: contain; border-radius: 1px; border: 1px solid var(--line-strong); }
.podcast-show-badge .show-title { width: 100%; text-align: center; color: var(--gold); font-family: var(--font-sans); font-size: 0.76rem; font-weight: 700; letter-spacing: 0.04em; line-height: 1.3; white-space: nowrap; }
.podcast-show-badge.is-collapsed img,
.podcast-show-badge.is-collapsed .show-title { opacity: 0; pointer-events: none; }

/* ── VIDEO PAGE ── */
.video-page { width: min(1060px,100%); }
.video-layout { width: 100%; display: grid; grid-template-columns: minmax(0,1fr) minmax(290px,1fr); gap: clamp(26px,5vw,56px); align-items: center; }
.video-main { min-width: 0; }
.video-placeholder { min-height: 280px; display: grid; place-items: center; border: 1px solid var(--line-strong); background: rgba(28,19,10,0.03); color: var(--ink-ghost); text-align: center; padding: 24px; box-shadow: 3px 3px 0 rgba(212,104,138,0.20); }
.video-placeholder span { display: block; color: var(--crimson); font-size: 0.68rem; font-weight: 700; letter-spacing: 0.18em; text-transform: uppercase; margin-bottom: 10px; }
.video-placeholder strong { display: block; font-family: var(--font-display); font-size: clamp(1.1rem,2vw,1.45rem); line-height: 1.5; color: var(--ink); }

/* ── EXPERT PAGE ── */
.expert-page { width: min(1060px,100%); }
.expert-layout { width: 100%; display: grid; grid-template-columns: minmax(0,3.2fr) minmax(270px,1.2fr); gap: clamp(22px,3vw,40px); align-items: center; }
.expert-main { min-width: 0; }
.expert-panel { min-width: 0; align-self: center; border-left: 2px solid var(--line); padding-left: 20px; }
.expert-panel-title { margin: 0 0 10px; color: var(--crimson); font-size: 0.7rem; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase; }
.expert-card-list { display: grid; gap: 7px; }
.expert-card { width: 100%; min-height: 50px; display: grid; grid-template-columns: 30px minmax(0,1fr); gap: 8px; align-items: center; padding: 7px 10px; border: 1px solid var(--line-strong); border-radius: 0; color: var(--ink); background: var(--bg-card); cursor: pointer; text-align: left; transition: background 0.16s, border-color 0.16s, box-shadow 0.16s; box-shadow: 0 2px 10px rgba(194,77,120,0.08); }
.expert-card:hover,.expert-card.is-open { background: #fff9f0; border-color: var(--gold); box-shadow: 0 4px 14px rgba(194,77,120,0.14); }
.expert-avatar { width: 30px; height: 30px; border-radius: 50%; border: 1px solid rgba(122,37,32,0.35); background: rgba(122,37,32,0.07); }
.expert-card-copy { min-width: 0; }
.expert-name { color: var(--ink); font-size: 0.84rem; line-height: 1.2; font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.expert-quote { margin-top: 2px; color: var(--ink-dim); font-size: 0.7rem; line-height: 1.3; display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden; }
.expert-detail { display: none; grid-column: 1/-1; min-height: 68px; margin-top: 4px; padding: 10px; border-top: 1px solid var(--line); color: var(--ink-dim); font-size: 0.76rem; line-height: 1.6; }
.expert-card.is-open .expert-detail { display: block; }

/* ── GAME ── */
.game-page { width: min(1060px,88vw) !important; }
.game-page .podcast-game-embed { width: min(88vw,calc(78vh*16/9),1060px) !important; aspect-ratio: 16/9; height: auto !important; margin: 0 auto !important; padding: 0 !important; border: 0 !important; overflow: visible !important; background: transparent !important; box-shadow: none !important; }
.game-page .podcast-game-embed iframe { width: 100% !important; height: 100% !important; display: block; border: 1.5px solid var(--line-strong) !important; background: #fff; box-shadow: 4px 4px 0 rgba(212,104,138,0.20),var(--shadow); }
.podcast-game-embed { width: min(700px,100%); margin: 32px auto 0; border: 1px solid var(--line-strong); background: var(--bg-card); box-shadow: 3px 3px 0 rgba(28,19,10,0.08); }
.podcast-game-embed iframe { display: block; width: 100%; height: 740px; border: 0; background: transparent; }
.studio-game-page { width: min(1060px,92vw); }
.studio-game-embed { width: 100%; margin: 0 auto; border: 1px solid var(--line-strong); background: var(--bg-card); box-shadow: 3px 3px 0 rgba(28,19,10,0.08); }
.studio-game-embed iframe { display: block; width: 100%; height: 800px; border: 0; background: transparent; }

/* ── READER QUESTION ── */
.reader-question-card { width: min(800px,100%); margin-inline: auto; padding: clamp(26px,4vw,42px); border: 1px solid var(--line-strong); background: var(--bg-card); box-shadow: 4px 4px 0 rgba(28,19,10,0.08); position: relative; }
.reader-question-card::before { content: "✦"; position: absolute; top: -9px; left: 50%; transform: translateX(-50%); color: var(--gold); font-size: 0.7rem; background: #fdf0f3; padding: 0 8px; }
.reader-question-card .question-kicker { display: inline-flex; align-items: center; gap: 10px; color: var(--crimson); font-size: 0.66rem; font-weight: 600; letter-spacing: 0.24em; text-transform: uppercase; margin-bottom: 12px; }
.reader-question-card .question-kicker::before { content: ""; width: 22px; height: 1px; background: var(--crimson); opacity: 0.5; }
.reader-question-card h3 { margin: 0 0 12px; color: var(--ink); font-family: var(--font-display); font-size: clamp(1.25rem,2.3vw,1.72rem); line-height: 1.36; }
.reader-question-card .question-note { margin: 0 0 18px; color: var(--ink-dim); font-size: 0.93rem; text-align: left; }
.question-options { display: grid; gap: 9px; }
.question-option { width: 100%; display: grid; grid-template-columns: 26px minmax(0,1fr); gap: 11px; align-items: start; padding: 12px 15px; border: 1px solid var(--line); background: rgba(28,19,10,0.02); text-align: left; cursor: pointer; transition: border-color 0.16s, background 0.16s; color: var(--ink); }
.question-option:hover,.question-option.is-selected { border-color: var(--gold); background: rgba(212,104,138,0.06); }
.option-letter { width: 26px; height: 26px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: var(--crimson); font-weight: 700; font-size: 0.78rem; line-height: 1; }
.option-text { padding-top: 2px; font-size: 0.95rem; line-height: 1.65; }
.question-feedback { display: none; margin-top: 14px; padding: 13px 17px; border-left: 3px solid var(--gold); background: rgba(212,104,138,0.06); color: var(--ink-dim); font-size: 0.93rem; line-height: 1.75; }
.question-feedback.is-visible { display: block; animation: feedbackRise 0.28s ease both; }
@keyframes feedbackRise { from{opacity:0;transform:translateY(5px)} to{opacity:1;transform:translateY(0)} }

/* ── back to top ── */
#backToTop { width: 40px; height: 40px; padding: 0; display: inline-grid; place-items: center; }
.back-to-top-icon { width: 17px; height: 17px; display: block; stroke: currentColor; stroke-width: 1.8; fill: none; stroke-linecap: round; stroke-linejoin: round; }

/* ── article link ── */
.article-link { color: var(--steel); font-weight: 600; text-decoration-line: underline; text-decoration-color: rgba(61,90,110,0.4); text-decoration-thickness: 1px; text-underline-offset: 0.26em; transition: color 0.16s,text-decoration-color 0.16s; }
.article-link:hover,.article-link:focus { color: var(--crimson); text-decoration-color: var(--crimson); outline: none; }

/* ── podcast cover gallery ── */
.podcast-cover-gallery-page { width: min(1020px,100%); }
.podcast-cover-gallery { width: min(980px,100%); margin: 0 auto; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: clamp(14px,2.4vw,22px); align-items: stretch; }
.podcast-cover-card { position: relative; overflow: hidden; border: 1px solid var(--line-strong); background: var(--bg-card); box-shadow: 3px 3px 0 rgba(28,19,10,0.09); transform: translateY(14px); opacity: 0; transition: transform 0.65s ease,opacity 0.65s ease,border-color 0.18s,box-shadow 0.18s; }
.article-section.is-visible .podcast-cover-card { transform: translateY(0); opacity: 1; }
.article-section.is-visible .podcast-cover-card:nth-child(2) { transition-delay: 0.1s; }
.article-section.is-visible .podcast-cover-card:nth-child(3) { transition-delay: 0.2s; }
.podcast-cover-card:hover { border-color: var(--gold); box-shadow: 4px 4px 0 rgba(154,110,32,0.2); }
.podcast-cover-card img { display: block; width: 100%; aspect-ratio: 1/1; object-fit: cover; }
.podcast-cover-caption { padding: 13px 15px 15px; color: var(--ink); font-family: var(--font-display); font-size: clamp(0.98rem,1.4vw,1.16rem); font-weight: 600; line-height: 1.4; text-align: center; border-top: 1px solid var(--line); background: rgba(28,19,10,0.02); }

/* ── MAP ── */
#section-map { min-height: 145svh !important; justify-content: flex-start !important; padding: clamp(50px,7vh,80px) 0 !important; overflow: visible; scroll-snap-align: start; scroll-snap-stop: always; }
#map-wrap { position: sticky; top: clamp(24px,5vh,50px); background: var(--bg-card); border: 1px solid var(--line-strong); padding: 22px 26px; box-shadow: 3px 3px 0 rgba(28,19,10,0.08); }
#map-pod-num { font-size: 50px; line-height: 1; font-weight: 700; color: var(--steel); margin-bottom: 14px; }
#map-rad-num { font-size: 50px; line-height: 1; font-weight: 700; color: var(--crimson); margin-bottom: 14px; }

/* ── FOOTER ── */
footer { width: min(900px,calc(100% - 36px)); margin: 0 auto 60px; color: var(--ink-ghost); border-top: 1px solid var(--line); padding-top: 22px; font-size: 0.86rem; letter-spacing: 0.04em; }

/* ── CENTER-STAGE scrollytelling ── */
body.center-stage-ready .layout { width: 100%; max-width: none; margin: 0; padding-bottom: 0; }
body.center-stage-ready .article-shell { width: 100%; min-width: 0; }
body.center-stage-ready .article-section { width: 100% !important; min-height: 100vh; margin: 0 !important; padding: 0 !important; border-bottom: 0 !important; opacity: 1 !important; filter: none !important; display: block !important; pointer-events: auto; }
body.center-stage-ready .article-section:not(.chart-scroll-scene) > .stage-content { position: fixed !important; left: 50% !important; top: 50% !important; width: min(var(--content-width),calc(100vw - 44px)); max-height: 86vh; overflow: visible; opacity: 0; visibility: hidden; transform: translate(-50%,-50%) !important; filter: blur(0); pointer-events: none; z-index: 70; transition: opacity 0.75s cubic-bezier(0.4,0,0.2,1), visibility 0s linear 0.75s; will-change: opacity; }
body.center-stage-ready .article-section:not(.chart-scroll-scene).is-center-active > .stage-content { opacity: 1; visibility: visible; filter: blur(0); pointer-events: auto; z-index: 72; transition: opacity 0.75s cubic-bezier(0.4,0,0.2,1), visibility 0s linear 0s; }
body.center-stage-ready .article-section:not(.chart-scroll-scene).is-leaving > .stage-content { opacity: 0; visibility: visible; pointer-events: none; z-index: 71; transition: opacity 0.75s cubic-bezier(0.4,0,0.2,1), visibility 0s linear 0.75s; }
body.center-stage-ready .reader-question-section > .stage-content,
body.center-stage-ready .podcast-cover-gallery-page > .stage-content,
body.center-stage-ready .game-page > .stage-content,
body.center-stage-ready .expert-page > .stage-content { width: min(1020px,calc(100vw - 44px)); }
body.center-stage-ready .article-section:not(.chart-scroll-scene) > .stage-content > p,
body.center-stage-ready .article-section:not(.chart-scroll-scene) > .stage-content > h2,
body.center-stage-ready .article-section:not(.chart-scroll-scene) > .stage-content > .section-label { width: min(var(--content-width),100%); margin-left: auto; margin-right: auto; }
body.center-stage-ready .chart-scroll-scene { position: relative; opacity: 1 !important; filter: none !important; pointer-events: auto; padding: 0 !important; }
body.center-stage-ready .map-scroll-scene { background: var(--bg-card) !important; }
body.center-stage-ready .chart-scroll-scene .chart-sticky-stage { opacity: 0; visibility: hidden; transform: none !important; filter: blur(0); pointer-events: none; transition: opacity 0.75s cubic-bezier(0.4,0,0.2,1), visibility 0s linear 0.75s; }
body.center-stage-ready .chart-scroll-scene.is-center-active .chart-sticky-stage { opacity: 1; visibility: visible; filter: blur(0); pointer-events: auto; transition: opacity 0.75s cubic-bezier(0.4,0,0.2,1), visibility 0s linear 0s; }
body.center-stage-ready .article-section > * { transform: none !important; }

/* hover overrides — no layout shift inside snapped pages */
.podcast-cover-card:hover,.question-option:hover,.question-option.is-selected,.expert-card:hover,.expert-card.is-open { transform: none; }

/* ── RESPONSIVE ── */
@media (max-width:900px) {
  .podcast-show-badge { width: 120px; }
  .resource-grid { grid-template-columns:1fr; }
  .podcast-chart { grid-template-columns:50px minmax(0,1fr); gap:10px; }
  .chart-main,.y-axis { height:255px; }
  .chart-main { margin-bottom:32px; }
  .bars { gap:4px; }
  .bar { width:48%; max-width:34px; }
  .bar-label { font-size:0.78rem; }
  .chart-scroll-scene { min-height:200vh; }
  .horizontal-chart .hchart-main { --label-col:188px; }
  .horizontal-chart .hbar-label { font-size:0.84rem; }
  .horizontal-chart .hbar-track { height:17px; }
}
@media (max-width:820px) {
  .video-page { width:min(var(--content-width),100%); }
  .video-layout { grid-template-columns:1fr; gap:24px; }
  .video-placeholder { min-height:190px; }
}
@media (max-width:760px) {
  .expert-page { width:min(var(--content-width),100%); }
  .expert-layout { grid-template-columns:1fr; gap:20px; }
  .expert-panel { width:100%; border-left:0; padding-left:0; border-top:1px solid var(--line); padding-top:16px; }
  .expert-card-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .podcast-cover-gallery { width:min(380px,100%); grid-template-columns:1fr; }
  #map-wrap { position:relative; top:auto; }
  #section-map { min-height: calc(100svh + 480px) !important; }
  body.center-stage-ready .article-section:not(.chart-scroll-scene) > .stage-content { width:min(91vw,700px); max-height:88vh; }
  body.center-stage-ready .article-section:not(.chart-scroll-scene) > .stage-content > p { font-size:0.95rem; }
}
@media (max-width:640px) {
  header.hero::before { top:16px; left:16px; right:16px; }
  header.hero::after  { bottom:16px; left:16px; right:16px; }
  .podcast-show-badge { width:100px; gap:5px; padding:7px 7px 8px; }
  .podcast-show-badge .show-title { font-size:0.6rem; }
  .podcast-show-badge.is-collapsed { transform:translateX(calc(-100% + 26px)); }
  .podcast-game-embed { width:100%; margin-top:26px; }
  .podcast-game-embed iframe { height:660px; }
  .expert-card-list { grid-template-columns:1fr; }
  .reader-question-card { padding:18px 14px; }
  .question-option { grid-template-columns:24px minmax(0,1fr); gap:8px; padding:11px 12px; }
  .option-letter { width:24px; height:24px; font-size:0.74rem; }
  .option-text { font-size:0.9rem; }
  .game-page { width:min(100%,calc(100vw - 24px)) !important; }
  .game-page .podcast-game-embed { width:min(100%,calc(88vh*9/16)) !important; aspect-ratio:9/16; }
  body { line-height:1.82; }
  p { font-size:0.97rem; }
  .chart-scroll-scene { min-height:185vh; }
  .chart-sticky-stage { padding:50px 0; }
  .chart-main,.y-axis { height:205px; }
  .chart-main { margin-bottom:30px; }
  .bar { width:44%; max-width:22px; }
  .horizontal-chart .hchart-main { --label-col:138px; }
  .horizontal-chart .hbar-row { gap:7px; }
  .horizontal-chart .hchart-grid-layer,.horizontal-chart .hchart-axis-line,.horizontal-chart .hchart-x-axis,.horizontal-chart .hchart-axis-label { left:calc(var(--label-col)+7px); }
  .horizontal-chart .hbar-label { font-size:0.74rem; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  .article-section,.article-section.is-visible,.podcast-cover-card,.question-feedback { transition:none !important; animation:none !important; filter:none !important; opacity:1 !important; }
}

/* ════════════════════════════════════════
   TAROT ADDENDUM
   ════════════════════════════════════════ */

/* ── h2長標題不折行，左對齊自然換行 ── */
h2 {
  word-break: keep-all;
  overflow-wrap: break-word;
  white-space: normal;
  text-align: left;
}
.horizontal-chart-scene h2 { text-align: center; }

/* ── 塔羅框：共用mixin ── */
.tarot-frame {
  position: relative;
  border: 1px solid var(--line-strong);
  background: var(--bg-card);
  box-shadow: 4px 4px 0 rgba(28,19,10,0.08);
}
.tarot-frame::before,
.tarot-frame::after {
  content: "";
  position: absolute;
  width: 18px; height: 18px;
  border-color: var(--gold);
  border-style: solid;
  pointer-events: none;
  z-index: 2;
}
.tarot-frame::before {
  top: -1px; left: -1px;
  border-width: 2px 0 0 2px;
}
.tarot-frame::after {
  bottom: -1px; right: -1px;
  border-width: 0 2px 2px 0;
}

/* ── 圖表包裹加塔羅框 ── */
.chart-card {
  border: 1px solid var(--line-strong);
  background: var(--bg-card);
  box-shadow: 4px 4px 0 rgba(28,19,10,0.08);
  padding: 28px 24px 24px;
  position: relative;
}
.chart-card::before,
.chart-card::after {
  content: "";
  position: absolute;
  width: 20px; height: 20px;
  border-color: var(--gold);
  border-style: solid;
  pointer-events: none;
  z-index: 2;
}
.chart-card::before { top: -1px; left: -1px; border-width: 2px 0 0 2px; }
.chart-card::after  { bottom: -1px; right: -1px; border-width: 0 2px 2px 0; }

/* 圖表頂部標題區分隔線 */
.chart-title {
  padding-bottom: 14px;
  border-bottom: 1px solid var(--line);
  margin-bottom: 20px;
}

/* ── 地圖section整體 ── */
#section-map {
  background: var(--bg-card) !important;
}

/* map-wrap：塔羅框 */
#map-wrap {
  background: rgba(247,241,228,0.85) !important;
  border: 1px solid var(--line-strong) !important;
  border-radius: 0 !important;
  backdrop-filter: none !important;
  box-shadow: 4px 4px 0 rgba(28,19,10,0.09);
  position: relative;
}
#map-wrap::before,
#map-wrap::after {
  content: "";
  position: absolute;
  width: 20px; height: 20px;
  border-color: var(--gold);
  border-style: solid;
  pointer-events: none;
  z-index: 2;
}
#map-wrap::before { top: -1px; left: -1px; border-width: 2px 0 0 2px; }
#map-wrap::after  { bottom: -1px; right: -1px; border-width: 0 2px 2px 0; }

/* 地圖SVG路徑顏色 — 覆蓋JS預設 */
#tw-map-svg path {
  stroke: rgba(28,19,10,0.25) !important;
}

/* 地圖圖例badge */
#map-legend > div {
  color: var(--ink) !important;
  font-size: 0.86rem !important;
  font-weight: 600 !important;
}
#map-legend span[style*="background"] {
  border-radius: 0 !important;
  border: 1px solid rgba(28,19,10,0.2) !important;
}

/* 地圖右欄字色 */
#map-region-name { color: var(--ink) !important; }
#map-wrap [style*="color:rgba(255,255,255"] {
  color: var(--ink-dim) !important;
}
#map-wrap [style*="color:#8ed8ff"],
#map-wrap [style*="color: #8ed8ff"] {
  color: var(--steel) !important;
}
#map-wrap [style*="color:#c24d78"],
#map-wrap [style*="color: #c24d78"] {
  color: var(--crimson) !important;
}

/* 地圖bar（podcast bar）*/
#map-bar-pod {
  background: linear-gradient(90deg, rgba(61,90,110,0.4), var(--steel)) !important;
  border-radius: 0 !important;
}
#map-bar-rad {
  background: linear-gradient(90deg, rgba(122,37,32,0.35), var(--crimson)) !important;
  border-radius: 0 !important;
}
/* bar track */
#map-wrap [style*="background:rgba(255,255,255,0.1)"] {
  background: rgba(28,19,10,0.08) !important;
  border-radius: 0 !important;
}

/* 地圖SVG海域文字 */
#tw-map-svg text {
  fill: var(--ink-ghost) !important;
}

/* 地圖捲動提示文字 */
#map-wrap [style*="color:rgba(255,255,255,0.25)"],
#map-wrap [style*="color:rgba(255,255,255,0.34)"],
#map-wrap [style*="color:rgba(255,255,255,0.35)"] {
  color: var(--ink-ghost) !important;
}
/* 標題字 */
#map-wrap [style*="color:#c24d78"] {
  color: var(--ink) !important;
}
#map-wrap [style*="color:rgba(255,255,255,0.92)"] {
  color: var(--ink-dim) !important;
}
/* ↓ 向下捲動提示 */
#map-placeholder {
  color: var(--ink-ghost) !important;
}

/* ── 小遊戲頁面：塔羅框 ── */
.game-page .podcast-game-embed,
.studio-game-embed {
  border: 1px solid var(--line-strong) !important;
  border-radius: 0 !important;
  background: var(--bg-card) !important;
  box-shadow: 4px 4px 0 rgba(28,19,10,0.09) !important;
  position: relative;
}
/* 四角 */
.game-page .podcast-game-embed::before,
.game-page .podcast-game-embed::after,
.studio-game-embed::before,
.studio-game-embed::after {
  content: "";
  position: absolute;
  width: 18px; height: 18px;
  border-color: var(--gold);
  border-style: solid;
  pointer-events: none;
  z-index: 3;
}
.game-page .podcast-game-embed::before,
.studio-game-embed::before {
  top: -1px; left: -1px; border-width: 2px 0 0 2px;
}
.game-page .podcast-game-embed::after,
.studio-game-embed::after {
  bottom: -1px; right: -1px; border-width: 0 2px 2px 0;
}
/* game iframe border override */
.game-page .podcast-game-embed iframe {
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* 獨立game-page embed (非game-page class的podcast-game-embed) */
.article-section:not(.game-page) .podcast-game-embed {
  position: relative;
}
.article-section:not(.game-page) .podcast-game-embed::before,
.article-section:not(.game-page) .podcast-game-embed::after {
  content: "";
  position: absolute;
  width: 18px; height: 18px;
  border-color: var(--gold);
  border-style: solid;
  pointer-events: none;
  z-index: 3;
}
.article-section:not(.game-page) .podcast-game-embed::before {
  top: -1px; left: -1px; border-width: 2px 0 0 2px;
}
.article-section:not(.game-page) .podcast-game-embed::after {
  bottom: -1px; right: -1px; border-width: 0 2px 2px 0;
}

/* ── 地圖bar數字大字覆蓋inline style ── */
#map-pod-num { color: var(--steel) !important; }
#map-rad-num { color: var(--crimson) !important; }

/* 圖例分隔線 */
#map-wrap [style*="border-top:1px solid rgba(255,255,255,0.12)"] {
  border-top-color: var(--line) !important;
}

/* ── 水平圖表外框（horizontal-chart-scene的chart-card已有框，但加強外層）── */
.horizontal-chart-scene .chart-card {
  padding: 32px 28px 28px;
}

/* ── 第一個chart (vertical bar) 外層chart-scroll-scene加框感 ── */
.chart-sticky-stage {
  padding-left: 0;
  padding-right: 0;
}

/* section label — 確保顏色正確 */
.chart-sticky-stage .section-label {
  color: var(--crimson);
}

/* ── 小遊戲section背景稍微加深以凸顯外框 ── */
.game-page {
  background: #f9e6ec;
}


/* ════════════════════════════════
   PATCH v4
   ════════════════════════════════ */

/* ── 所有互動區塊統一比例：以第一張圖表為準 ──
   第一張圖表是chart-scroll-scene（min-height:220vh, sticky stage 100svh）
   地圖、遊戲也對齊到一個畫面高度顯示 */

/* 地圖：縮減為單頁高度 */
#section-map {
  min-height: 100svh !important;
  justify-content: center !important;
}
#section-map > *:not(#map-wrap) { width: min(700px, 100%); margin-inline: auto; }
#map-wrap {
  width: min(900px, calc(100% - 32px)) !important;
  margin: 0 auto !important;
  top: auto !important;
  position: relative !important;
}

/* 遊戲：iframe高度配合單頁 */
.game-page { min-height: 100svh; }
.game-page .podcast-game-embed {
  width: min(700px, calc(100vw - 40px)) !important;
  aspect-ratio: unset !important;
  height: min(72vh, 560px) !important;
}
.game-page .podcast-game-embed iframe {
  height: 100% !important;
}

/* ── 第二張圖表：獨立標題 ── */
.chart-title-standalone {
  font-family: var(--font-display);
  font-size: clamp(1.35rem, 2.6vw, 2rem);
  font-weight: 700;
  color: var(--ink);
  margin: 0 0 16px;
  text-align: left;
  line-height: 1.28;
  letter-spacing: 0.01em;
  word-break: keep-all;
  width: min(1040px, calc(100vw - 40px));
  margin-inline: auto;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--line);
}

/* ── 地圖圖例：縮小字級 + 單行 ── */
#map-legend {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 6px 14px !important;
  margin-bottom: 18px !important;
  overflow-x: auto;
}
#map-legend > div {
  font-size: 0.75rem !important;
  font-weight: 600 !important;
  gap: 5px !important;
  white-space: nowrap;
  flex-shrink: 0;
}
#map-legend span[style*="width:22px"] {
  width: 14px !important;
  height: 14px !important;
}

/* ── center-stage模式下game-page比例保持 ── */
body.center-stage-ready .game-page .podcast-game-embed {
  width: min(680px, calc(100vw - 44px)) !important;
  height: min(70vh, 540px) !important;
  aspect-ratio: unset !important;
}

/* ── 第二張圖表center-stage標題顯示 ── */
body.center-stage-ready .horizontal-chart-scene > .chart-sticky-stage > .chart-title-standalone {
  width: min(1040px, calc(100vw - 44px));
}


/* ════════════════════════════════════
   PATCH v5 — 7:5外框系統 + 地圖重整
   ════════════════════════════════════ */

/* ── 7:5通用塔羅外框容器 ── */
.tarot-card-section {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  padding: clamp(32px,5vh,64px) clamp(20px,4vw,48px) !important;
}

.tarot-card-wrap {
  width: 100%;
  max-width: min(900px, calc(100vw - 40px));
  aspect-ratio: 7 / 5;
  border: 1px solid var(--line-strong);
  background: var(--bg-card);
  box-shadow: 4px 4px 0 rgba(28,19,10,0.09);
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

/* 四角金線 */
.tarot-card-wrap::before,
.tarot-card-wrap::after {
  content: "";
  position: absolute;
  width: 20px; height: 20px;
  border-color: var(--gold);
  border-style: solid;
  pointer-events: none;
  z-index: 10;
}
.tarot-card-wrap::before { top: -1px; left: -1px; border-width: 2px 0 0 2px; }
.tarot-card-wrap::after  { bottom: -1px; right: -1px; border-width: 0 2px 2px 0; }

/* ── 地圖全頁鎖定模式（覆蓋所有舊規則）── */
#section-map {
  min-height: calc(100svh + 560px) !important;
  position: relative !important;
  background: var(--bg-card) !important;
  overflow: visible !important;
  /* 清除舊規則設定的flex對齊和padding */
  justify-content: flex-start !important;
  padding: 0 !important;
  display: block !important;
}

/* 地圖sticky stage：全頁高，垂直置中，padding適當 */
.map-sticky-stage {
  min-height: 100svh !important;
  padding: clamp(12px,2.5vh,36px) clamp(16px,3vw,40px) !important;
  justify-content: center !important;
  align-items: center !important;
}

/* map-sticky-stage下的地圖卡片：寬度上限、撐高 */
.map-sticky-stage > .tarot-card-wrap {
  width: min(900px, calc(100vw - 32px)) !important;
  max-width: min(900px, calc(100vw - 32px)) !important;
  max-height: calc(100svh - clamp(24px,5vh,72px)) !important;
  flex: 0 0 auto !important;
}
/* map-scroll-area與spacers已由JS scroll-progress計算，不需額外CSS */

/* tarot-card-wrap在地圖sticky stage內：撐滿可用高度 */
.map-sticky-stage .tarot-card-wrap {
  flex: 1;
  height: 100%;
  max-height: calc(100svh - 80px);
  aspect-ratio: unset;
}
.map-sticky-stage .map-inner-layout {
  height: 100%;
}
.map-sticky-stage .map-svg-col {
  height: 100%;
}
.map-sticky-stage .map-svg-col svg {
  max-height: calc(100svh - 120px);
}

.map-card-wrap {
  padding: 0;
}

.map-inner-layout {
  display: grid;
  grid-template-columns: 42% 1fr;
  height: 100%;
  flex: 1;
  overflow: hidden;
}

.map-svg-col {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 12px 6px 12px 12px;
  border-right: 1px solid var(--line);
  overflow: hidden;
}
.map-svg-col svg {
  height: 100%;
  max-height: 100%;
  width: auto;
  display: block;
}

.map-data-col {
  display: flex;
  flex-direction: column;
  padding: 14px 16px 10px;
  overflow: hidden;
  gap: 0;
}

.map-card-title {
  font-family: var(--font-display);
  font-size: clamp(0.88rem, 1.6vw, 1.15rem);
  font-weight: 700;
  color: var(--ink);
  line-height: 1.3;
  margin-bottom: 8px;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--line);
}

/* 圖例：強制單行、小字 */
#map-legend {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 4px 10px !important;
  margin-bottom: 10px !important;
  overflow-x: auto;
  padding-bottom: 2px;
}
#map-legend > div {
  font-size: 0.68rem !important;
  font-weight: 600 !important;
  gap: 4px !important;
  white-space: nowrap;
  flex-shrink: 0;
  color: var(--ink) !important;
}
#map-legend span[style*="width:22px"],
#map-legend span[style*="width: 22px"] {
  width: 12px !important;
  height: 12px !important;
  border-radius: 0 !important;
  border: 1px solid rgba(28,19,10,0.2) !important;
}

.map-placeholder-txt {
  color: var(--ink-ghost);
  font-size: 0.78rem;
  flex: 1;
  display: flex;
  align-items: center;
}

.map-region-name {
  font-size: clamp(0.82rem,1.4vw,1rem);
  font-weight: 700;
  color: var(--ink);
  margin-bottom: 8px;
  line-height: 1.4;
}

.map-stat-label {
  font-size: 0.66rem;
  font-weight: 700;
  color: var(--ink-dim);
  letter-spacing: .06em;
  text-transform: uppercase;
  margin-bottom: 3px;
}

#map-pod-num {
  font-size: clamp(1.8rem,4vw,2.6rem) !important;
  line-height: 1;
  font-weight: 700;
  color: var(--steel) !important;
  margin-bottom: 6px;
  text-shadow: none !important;
}
#map-rad-num {
  font-size: clamp(1.8rem,4vw,2.6rem) !important;
  line-height: 1;
  font-weight: 700;
  color: var(--crimson) !important;
  margin-bottom: 6px;
  text-shadow: none !important;
}

.map-bar-track {
  width: 100%;
  height: 6px;
  background: rgba(28,19,10,0.08);
  margin-bottom: 10px;
  overflow: hidden;
}
#map-bar-pod {
  height: 100%;
  background: linear-gradient(90deg, rgba(61,90,110,0.4), var(--steel)) !important;
  border-radius: 0 !important;
}
#map-bar-rad {
  height: 100%;
  background: linear-gradient(90deg, rgba(122,37,32,0.35), var(--crimson)) !important;
  border-radius: 0 !important;
}

.map-divider {
  border-top: 1px solid var(--line);
  margin-bottom: 10px;
}

.map-source {
  font-size: 0.62rem;
  color: var(--ink-ghost);
  margin-top: auto;
  padding-top: 6px;
  border-top: 1px solid var(--line);
}

/* scroll spacers隱藏在外框內 */
#map-scroll-area {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  pointer-events: none;
  height: 0; overflow: hidden;
}
/* 讓scroll spacers仍可觸發IntersectionObserver */
#map-wrap { position: relative; }

/* ── 遊戲：7:5外框 ── */
.game-page {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  padding: clamp(32px,5vh,64px) clamp(20px,4vw,48px) !important;
  min-height: 100svh;
  background: #f9e6ec;
}

.game-page .podcast-game-embed {
  width: 100% !important;
  max-width: min(900px, calc(100vw - 40px)) !important;
  aspect-ratio: 7 / 5 !important;
  height: auto !important;
  border: 1px solid var(--line-strong) !important;
  border-radius: 0 !important;
  background: var(--bg-card) !important;
  box-shadow: 4px 4px 0 rgba(28,19,10,0.09) !important;
  position: relative;
  overflow: hidden;
}

.game-page .podcast-game-embed::before,
.game-page .podcast-game-embed::after {
  content: "";
  position: absolute;
  width: 20px; height: 20px;
  border-color: var(--gold);
  border-style: solid;
  pointer-events: none;
  z-index: 3;
}
.game-page .podcast-game-embed::before { top: -1px; left: -1px; border-width: 2px 0 0 2px; }
.game-page .podcast-game-embed::after  { bottom: -1px; right: -1px; border-width: 0 2px 2px 0; }

.game-page .podcast-game-embed iframe {
  width: 100% !important;
  height: 100% !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  display: block;
}

/* ── 第一張圖表（vertical bar）：7:5外框 ── */
.chart-scroll-scene:not(.horizontal-chart-scene) .chart-sticky-stage {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  padding: clamp(28px,4vh,56px) clamp(20px,4vw,48px) !important;
}

.chart-scroll-scene:not(.horizontal-chart-scene) .chart-card {
  width: 100% !important;
  max-width: min(900px, calc(100vw - 40px)) !important;
  aspect-ratio: 7 / 5;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 22px 24px 20px !important;
  box-sizing: border-box;
  overflow: hidden;
}

.chart-scroll-scene:not(.horizontal-chart-scene) .chart-title {
  padding-bottom: 10px;
  margin-bottom: 14px;
  font-size: clamp(1.1rem, 1.8vw, 1.5rem);
}

.chart-scroll-scene:not(.horizontal-chart-scene) .chart-inner {
  flex: 1;
  width: 100% !important;
  display: flex;
  flex-direction: column;
  justify-content: center;
  overflow: hidden;
}

.chart-scroll-scene:not(.horizontal-chart-scene) .chart-main,
.chart-scroll-scene:not(.horizontal-chart-scene) .y-axis {
  height: clamp(140px, 26cqh, 220px);
}

/* ── 第二張圖表（horizontal bar）：7:5外框 ── */
.horizontal-chart-scene .chart-sticky-stage {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  padding: clamp(28px,4vh,52px) clamp(20px,4vw,48px) !important;
}

.horizontal-chart-scene .chart-card {
  width: 100% !important;
  max-width: min(900px, calc(100vw - 40px)) !important;
  aspect-ratio: 7 / 5;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 20px 22px 18px !important;
  box-sizing: border-box;
  overflow: hidden;
}

.chart-title-standalone {
  width: 100% !important;
  max-width: min(900px, calc(100vw - 40px)) !important;
  font-size: clamp(1.1rem, 1.8vw, 1.5rem) !important;
  margin-bottom: 12px !important;
}

.horizontal-chart-scene .chart-inner {
  flex: 1;
  width: 100% !important;
  display: flex;
  flex-direction: column;
  justify-content: center;
  overflow: hidden;
}

/* hbar行高自適應7:5框 */
.horizontal-chart .hchart-main {
  --label-col: min(200px, 30%);
  padding-bottom: 44px;
}
.horizontal-chart .hbar-track { height: clamp(10px, 1.8vh, 18px); }
.horizontal-chart .hbar-label { font-size: clamp(0.72rem, 1.2vw, 0.96rem); }

/* center-stage下的比例保持 */
body.center-stage-ready .chart-scroll-scene:not(.horizontal-chart-scene) .chart-card,
body.center-stage-ready .horizontal-chart-scene .chart-card {
  max-width: min(860px, calc(100vw - 44px)) !important;
}
body.center-stage-ready .game-page .podcast-game-embed {
  max-width: min(860px, calc(100vw - 44px)) !important;
}

/* 覆蓋舊patch中地圖的sticky/relative設定 */
#map-wrap {
  position: relative !important;
  top: auto !important;
  width: 100% !important;
  height: 100% !important;
}

/* scroll spacer讓地圖仍可偵測捲動 */
#section-map {
  min-height: 160svh !important;
}
#section-map .tarot-card-wrap {
  position: sticky !important;
  top: clamp(24px,5vh,48px) !important;
}
#map-scroll-area {
  position: relative !important;
  height: auto !important;
  overflow: visible !important;
  width: min(700px, 100%);
  margin: 0 auto;
  pointer-events: none;
}


/* ════════════════════════════
   FIX: 地圖 & 第二圖表標題
   ════════════════════════════ */

/* 地圖section：sticky卡片 + 外部spacers */
#section-map {
  min-height: 160svh !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  padding: clamp(32px,5vh,56px) clamp(20px,4vw,48px) 0 !important;
}

/* 地圖卡片sticky */
#section-map .tarot-card-wrap {
  position: sticky !important;
  top: clamp(20px,4vh,40px) !important;
  width: 100% !important;
  max-width: min(900px, calc(100vw - 40px)) !important;
  aspect-ratio: 7 / 5 !important;
  flex-shrink: 0;
  overflow: hidden;
}

/* scroll spacers：在外框外，給IntersectionObserver觸發用 */
#map-scroll-area {
  position: relative !important;
  height: auto !important;
  overflow: visible !important;
  pointer-events: none;
  padding-top: 8px;
}

/* 地圖inner layout撐滿卡片 */
.map-inner-layout {
  width: 100%;
  height: 100%;
  display: grid;
  grid-template-columns: 42% 1fr;
  overflow: hidden;
}

/* 第二張圖表：chart-title-standalone已廢棄，清除 */
.chart-title-standalone { display: none !important; }

/* 確保h3.chart-title在水平圖表內樣式與第一張一致 */
.horizontal-chart-scene .chart-title {
  font-family: var(--font-display);
  font-size: clamp(1.1rem, 1.8vw, 1.5rem);
  font-weight: 700;
  color: var(--ink);
  margin: 0 0 14px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--line);
  text-align: center;
  letter-spacing: 0.01em;
  line-height: 1.3;
  word-break: keep-all;
}


/* ── 地圖SVG不截邊 ── */
.map-svg-col {
  overflow: visible !important;
}
.map-svg-col svg {
  overflow: visible !important;
  width: 100% !important;
  height: auto !important;
  max-height: 100% !important;
}
.map-inner-layout {
  overflow: visible !important;
}
#section-map .tarot-card-wrap {
  overflow: visible !important;
}

/* ── 地圖左欄加寬，給台灣島更多空間 ── */
.map-inner-layout {
  grid-template-columns: 48% 1fr !important;
}

/* ── 地圖外框：改為7:6容納直向地圖，左欄38% ── */
#section-map .tarot-card-wrap {
  aspect-ratio: 7 / 6 !important;
  max-width: min(960px, calc(100vw - 40px)) !important;
}
.map-inner-layout {
  grid-template-columns: 38% 1fr !important;
}
.map-svg-col svg {
  width: 100% !important;
  height: 100% !important;
  max-height: none !important;
}

/* ── 視差滾動影片 ── */
#scroll-video-section {
  /* 滾動距離 = sticky撐開高度，控制播放速度 */
  height: 400vh;
  position: relative;
  /* 不參與scroll-snap */
  scroll-snap-align: none;
}

#scroll-video-sticky {
  position: sticky;
  top: 0;
  height: 100vh;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--bg-card);
  overflow: hidden;
}

#scroll-video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* 四角塔羅裝飾（pointer-events:none不干擾影片） */
.sv-corner {
  position: absolute;
  width: 36px;
  height: 36px;
  border-color: var(--gold);
  border-style: solid;
  pointer-events: none;
  z-index: 2;
  opacity: 0.7;
}
.sv-tl { top: 28px; left: 28px; border-width: 2px 0 0 2px; }
.sv-br { bottom: 28px; right: 28px; border-width: 0 2px 2px 0; }

/* ── 影片滿版修正 ── */
#scroll-video-sticky {
  top: 0 !important;
  left: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  padding: 0 !important;
  margin: 0 !important;
  background: #fdf0f3;
}

#scroll-video {
  position: absolute;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center;
}

/* section本身也要寬滿版 */
#scroll-video-section {
  width: 100vw;
  margin-left: calc(-50vw + 50%);
  scroll-snap-align: none !important;
}

/* 四角裝飾隨之放大 */
.sv-tl { top: 32px !important; left: 32px !important; }
.sv-br { bottom: 32px !important; right: 32px !important; }

/* ── 影片顯示修正：確保不被任何層遮蓋 ── */
#scroll-video-section {
  position: relative;
  z-index: 0;
}
#scroll-video-sticky {
  z-index: 1;
  background: #fdf0f3 !important;
}
#scroll-video {
  z-index: 2;
  opacity: 1 !important;
  visibility: visible !important;
}
.sv-corner { z-index: 3; }

/* ── 影片section：強制在center-stage fixed層之上 ── */
#scroll-video-section {
  position: relative;
  z-index: 80 !important; /* 高於center-stage fixed content (z-index:70) */
  scroll-snap-align: none !important;
  scroll-snap-stop: normal !important;
}

#scroll-video-sticky {
  position: sticky !important;
  top: 0 !important;
  left: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  z-index: 80 !important;
  background: #fdf0f3 !important;
  margin: 0 !important;
  padding: 0 !important;
}

#scroll-video {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  z-index: 81 !important;
  opacity: 1 !important;
  visibility: visible !important;
  display: block !important;
}

/* ── 影片section：全版顯示 ── */
.video-scroll-section {
  /* center-stage會把它當成一個section，min-height給足夠滾動空間 */
  min-height: 100vh !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: #fdf0f3 !important;
  border-bottom: none !important;
}

/* center-stage模式：stage-content裡的video全版 */
body.center-stage-ready .video-scroll-section > .stage-content {
  width: 100vw !important;
  height: 100vh !important;
  max-height: 100vh !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: #fdf0f3;
}

#scroll-video {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
}

/* 四角裝飾 */
body.center-stage-ready .video-scroll-section > .stage-content .sv-corner {
  position: absolute;
  z-index: 10;
}

/* ── 影片：fixed overlay + scroll trigger ── */

/* trigger div：佔據滾動空間，不可見 */
#scroll-video-section {
  height: 300vh;
  position: relative;
  z-index: 0;
  scroll-snap-align: none !important;
  scroll-snap-stop: normal !important;
  background: transparent;
  pointer-events: none;
}

/* 影片：fixed全版覆蓋 */
#scroll-video {
  position: fixed !important;
  inset: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  object-fit: cover !important;
  object-position: center !important;
  z-index: 200 !important;
  display: block !important;
  background: #fdf0f3;
  transition: opacity 0.3s ease;
  pointer-events: none;
}

/* 四角裝飾 */
.sv-corner {
  position: fixed !important;
  z-index: 201 !important;
  width: 36px;
  height: 36px;
  border-color: var(--gold);
  border-style: solid;
  pointer-events: none;
  opacity: 0.75;
}
.sv-tl { top: 28px !important; left: 28px !important; border-width: 2px 0 0 2px; }
.sv-br { bottom: 28px !important; right: 28px !important; border-width: 0 2px 2px 0; }

/* center-stage模式：fixed層自然在所有fixed content之上 */

/* ── 影片預設隱藏，JS控制顯示 ── */
#scroll-video {
  opacity: 0 !important;
}
.sv-corner {
  opacity: 0;
  transition: opacity 0.3s ease;
}


/* ── SECTION 1-2 expert cards: filled viewpoints ── */
#section-1-2 .expert-card {
  min-height: 56px;
}

#section-1-2 .expert-quote {
  -webkit-line-clamp: 2;
  line-height: 1.34;
}

#section-1-2 .expert-detail {
  max-height: min(36vh, 280px);
  overflow: auto;
}


/* ══════════════════════════════════════════════
   最終覆蓋：三個全頁鎖定圖表場景
   （此區塊需位於所有其他規則之後）
   ══════════════════════════════════════════════ */

/* ─ 1. 年齡分佈圖（chart-scroll-scene #section-1）─ */
#section-1.chart-scroll-scene {
  min-height: 220vh;
}

/* ─ 2. 地圖（map-scroll-scene #section-map）─ */
#section-map {
  /* 覆蓋所有舊版min-height、flex、padding設定 */
  min-height: calc(100svh + 580px) !important;
  display: block !important;
  position: relative !important;
  padding: 0 !important;
  overflow: visible !important;
  background: var(--bg-card) !important;
  /* 重置舊的flex屬性 */
  flex-direction: unset !important;
  align-items: unset !important;
  justify-content: unset !important;
}

/* 地圖卡片恢復非sticky，由 .chart-sticky-stage提供sticky */
#section-map .tarot-card-wrap {
  position: relative !important;
  top: unset !important;
  aspect-ratio: unset !important;
  max-width: min(880px, calc(100vw - 32px)) !important;
  width: min(880px, calc(100vw - 32px)) !important;
  height: auto !important;
  max-height: calc(100svh - 48px) !important;
  overflow: hidden !important;
}

/* map-inner-layout：保持grid佈局，高度由父容器決定 */
#section-map .map-inner-layout {
  height: calc(100svh - 48px) !important;
  max-height: calc(100svh - 48px) !important;
  grid-template-columns: 40% 1fr !important;
  overflow: hidden !important;
}

/* map-svg-col高度配合inner-layout */
#section-map .map-svg-col {
  overflow: hidden !important;
}
#section-map .map-svg-col svg {
  overflow: visible !important;
  width: 100% !important;
  height: auto !important;
  max-height: 100% !important;
}

/* map-scroll-area隱藏（不需要） */
#map-scroll-area {
  display: none !important;
}

/* ─ 3. 反感內容水平圖（horizontal-chart-scene #section-5-2-chart）─ */
#section-5-2-chart.chart-scroll-scene {
  min-height: 260vh;
}

/* ─ 手機版調整 ─ */
@media (max-width: 760px) {
  #section-map {
    min-height: calc(100svh + 500px) !important;
  }
  #section-map .tarot-card-wrap {
    max-height: calc(100svh - 32px) !important;
  }
  #section-map .map-inner-layout {
    height: calc(100svh - 32px) !important;
    max-height: calc(100svh - 32px) !important;
    grid-template-columns: 44% 1fr !important;
  }
}

@media (max-width: 640px) {
  #section-map {
    min-height: calc(100svh + 480px) !important;
  }
  #section-map .tarot-card-wrap,
  #section-map .map-inner-layout {
    max-height: calc(100svh - 24px) !important;
    height: calc(100svh - 24px) !important;
  }
  #section-map .map-inner-layout {
    /* 行動端改為直排 */
    grid-template-columns: 1fr !important;
    grid-template-rows: 55% 1fr !important;
  }
  #section-map .map-svg-col {
    border-right: none !important;
    border-bottom: 1px solid var(--line) !important;
  }
}





/* ── 指定頁面版面修正：避免跨頁露出、遊戲卡垂直置中 ── */

/* Reader Checkpoint 01：
   維持一頁一視窗，避免下一頁「聲音媒介打破時空限制」露到前一頁。 */
#question-listening-moment {
  min-height: 100svh !important;
  padding-top: clamp(48px, 8vh, 88px) !important;
  padding-bottom: clamp(48px, 8vh, 88px) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}

/* 圖表頁：保留單頁高度，但取消原本滾動場景的長空白。 */
#section-1,
#section-5-2-chart {
  min-height: 100svh !important;
}

#section-1 .chart-sticky-stage,
#section-5-2-chart .chart-sticky-stage {
  position: relative !important;
  top: auto !important;
  min-height: auto !important;
}

#section-1 .bar {
  height: var(--target-bar, 0%) !important;
  transition: none !important;
}

#section-5-2-chart {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}

#section-5-2-chart .hbar-fill {
  width: var(--target-bar, 0%) !important;
  transition: none !important;
}

/* 聲音靈魂小物：整頁垂直置中，避免卡片偏上。 */
#podcast-soul-quiz-page {
  min-height: 100svh !important;
  padding-top: clamp(44px, 7vh, 76px) !important;
  padding-bottom: clamp(44px, 7vh, 76px) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* 若該頁內層卡片原本靠上，強制取消多餘位移。 */
#podcast-soul-quiz-page > * {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}


/* ════════════════════════════════════════════════════════════════════
   TAROT ARCANA ENHANCED — 塔羅牌典雅升級補丁
   Rider-Waite-inspired decorative system
   ════════════════════════════════════════════════════════════════════ */

/* ── 強化CSS變數 ── */
:root {
  --gold-deep:        #7a5518;
  --gold-bright:      #c8932a;
  --gold-shimmer:     #e4b84a;
  --crimson-dark:     #5a1c18;
  --crimson-glow:     rgba(122,37,32,0.12);
  --parchment:        #f4ead4;
  --parchment-aged:   #e8d8b4;
  --ink-rich:         #120c06;
  --border-ornate:    rgba(154,110,32,0.6);
  --pattern-subtle:   rgba(212,104,138,0.06);
}

/* ══ 全域字體與質感強化 ══ */
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+TC:wght@300;400;500;700;900&family=Cinzel+Decorative:wght@400;700&family=IM+Fell+English+SC&display=swap');

body {
  /* 加入更複雜的羊皮紙紋理 */
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='320' height='320'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.72' numOctaves='5' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='320' height='320' filter='url(%23n)' opacity='0.055'/%3E%3C/svg%3E"),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='60'%3E%3Crect width='60' height='60' fill='none'/%3E%3Cpath d='M0 30 L60 30 M30 0 L30 60' stroke='rgba(154,110,32,0.025)' stroke-width='0.5'/%3E%3C/svg%3E");
}

/* ══ 進度條強化 ══ */
.progress-bar {
  height: 3px;
  background: linear-gradient(90deg,
    var(--crimson-dark),
    var(--crimson),
    var(--gold-bright),
    var(--gold-shimmer),
    var(--gold-bright),
    var(--crimson)
  );
  background-size: 200% 100%;
  animation: shimmerBar 3s ease-in-out infinite;
  box-shadow: 0 0 12px rgba(200,147,42,0.5), 0 0 4px rgba(122,37,32,0.4);
}

@keyframes shimmerBar {
  0%   { background-position: 0% 50%; }
  50%  { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}

/* ══ HERO英雄區強化 ══ */
header.hero {
  background:
    radial-gradient(ellipse 80% 60% at 50% 30%, rgba(212,104,138,0.06) 0%, transparent 70%),
    var(--bg-card);
  position: relative;
}

/* 頂部多層裝飾線 */
header.hero::before {
  height: 3px;
  background:
    linear-gradient(90deg,
      transparent 0%,
      var(--gold-line) 8%,
      var(--gold-bright) 35%,
      var(--gold-shimmer) 50%,
      var(--gold-bright) 65%,
      var(--gold-line) 92%,
      transparent 100%);
  top: 18px;
  box-shadow: 0 1px 0 rgba(212,104,138,0.15), 0 -1px 0 rgba(212,104,138,0.08);
}

header.hero::after {
  height: 3px;
  background:
    linear-gradient(90deg,
      transparent 0%,
      var(--gold-line) 8%,
      var(--gold-bright) 35%,
      var(--gold-shimmer) 50%,
      var(--gold-bright) 65%,
      var(--gold-line) 92%,
      transparent 100%);
  bottom: 18px;
  box-shadow: 0 1px 0 rgba(212,104,138,0.15), 0 -1px 0 rgba(212,104,138,0.08);
}

/* Hero第二層邊框線 */
header.hero .hero-card::before {
  content: none;
}

header.hero .hero-card::after {
  content: none;
}

/* Hero Card更典雅的四角 */
.hero-card {
  position: relative;
}

.hero-card::before,
.hero-card::after {
  display: none;
}

/* 新增四個角的裝飾 */
.hero-card {
  --corner-size: 28px;
  --corner-thickness: 1.5px;
  --corner-color: var(--gold);
}

.hero-card {
  box-shadow:
    4px 4px 0 rgba(28,19,10,0.08),
    0 16px 48px rgba(28,19,10,0.12),
    inset 0 0 0 1px rgba(212,104,138,0.15);
  border-color: rgba(154,110,32,0.4);
}

/* 在hero card之前/之後加入塔羅角落裝飾 */
.hero-card {
  background: linear-gradient(
    160deg,
    rgba(255,252,248,0.9) 0%,
    rgba(253,240,243,0.85) 40%,
    rgba(244,234,212,0.85) 100%
  );
}

/* 塔羅星標記 ── hero kicker强化 */
.kicker {
  font-family: 'IM Fell English SC', 'Noto Serif TC', serif;
  font-size: 0.72rem;
  letter-spacing: 0.3em;
  color: var(--gold-deep);
}

.kicker::before,
.kicker::after {
  width: 48px;
  background: linear-gradient(90deg, var(--gold-bright), transparent);
  opacity: 0.7;
}
.kicker::after {
  background: linear-gradient(270deg, var(--gold-bright), transparent);
}

/* H1更典雅 */
h1 {
  font-weight: 900;
  text-shadow: 0 2px 8px rgba(28,19,10,0.08);
  letter-spacing: -0.01em;
}

/* Byline裝飾線 */
.byline {
  border-top: none;
  position: relative;
  padding-top: 20px;
}
.byline::before {
  content: "✦ ─────── ✦";
  display: block;
  text-align: center;
  color: var(--gold-line);
  font-size: 0.7rem;
  letter-spacing: 0.2em;
  margin-bottom: 10px;
}

/* 滾動提示強化 */
.scroll-cue {
  font-family: 'IM Fell English SC', serif;
  color: var(--gold);
  letter-spacing: 0.25em;
}

.scroll-cue span {
  border-color: var(--gold-bright);
  box-shadow: 0 0 8px rgba(200,147,42,0.2);
}

/* ══ SECTION LABEL強化 ══ */
.section-label {
  font-family: 'Cinzel Decorative', 'Noto Serif TC', serif;
  font-size: 0.58rem;
  letter-spacing: 0.32em;
  color: var(--crimson);
  border-bottom: none;
  padding-bottom: 0;
  position: relative;
  padding: 0 20px;
}
.section-label::before,
.section-label::after {
  content: "✦";
  font-size: 0.55rem;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  color: var(--crimson);
  opacity: 0.6;
}
.section-label::before { left: 0; }
.section-label::after  { right: 0; }

/* ══ H2標題 強化 ══ */
h2 {
  font-weight: 700;
  position: relative;
}

/* ══ 引言框 典雅升級 ══ */
.quote-panel {
  background:
    linear-gradient(135deg, rgba(154,110,32,0.05) 0%, transparent 50%),
    rgba(154,110,32,0.04);
  border-top: 1.5px solid var(--gold-line);
  border-bottom: 1.5px solid var(--gold-line);
  box-shadow:
    inset 4px 0 0 rgba(212,104,138,0.15),
    inset -4px 0 0 rgba(212,104,138,0.15);
}

.quote-panel blockquote {
  font-size: clamp(1.3rem, 2.4vw, 1.95rem);
  color: var(--crimson-dark);
  text-shadow: 0 1px 4px rgba(90,28,24,0.06);
}

.quote-panel cite {
  color: var(--gold-deep);
  font-family: 'IM Fell English SC', serif;
  letter-spacing: 0.15em;
}

/* ══ 圖表卡片 強化 ══ */
.chart-card {
  background:
    radial-gradient(ellipse 70% 50% at 50% 0%, rgba(154,110,32,0.04) 0%, transparent 60%),
    var(--bg-card);
  border: 1px solid rgba(154,110,32,0.35);
  box-shadow:
    6px 6px 0 rgba(28,19,10,0.08),
    0 16px 40px rgba(212,104,138,0.20),
    inset 0 0 0 1px rgba(154,110,32,0.1);
}

/* 圖表四角──更精緻的花邊 */
.chart-card::before,
.chart-card::after {
  width: 24px;
  height: 24px;
  border-color: var(--gold-bright);
  border-width: 2px;
  opacity: 0.85;
}

/* 圖表標題區 */
.chart-title {
  font-family: 'Noto Serif TC', serif;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-align: center;
  color: var(--ink-rich);
  padding-bottom: 16px;
  border-bottom: 1px solid var(--gold-line);
  position: relative;
}

.chart-title::after {
  content: "◆";
  position: absolute;
  bottom: -7px;
  left: 50%;
  transform: translateX(-50%);
  font-size: 0.6rem;
  color: var(--gold-bright);
  background: var(--bg-card);
  padding: 0 8px;
}

/* ══ 長條圖 強化 ══ */
.bar {
  background: linear-gradient(
    180deg,
    var(--steel) 0%,
    rgba(61,90,110,0.8) 50%,
    #1e3040 100%
  );
  box-shadow:
    2px 0 0 rgba(28,19,10,0.15),
    inset -1px 0 0 rgba(255,255,255,0.08),
    0 0 0 1px rgba(61,90,110,0.3);
}

.highlight-bar .bar {
  background: linear-gradient(
    180deg,
    var(--gold-bright) 0%,
    var(--crimson) 40%,
    #a03060 100%
  );
  box-shadow:
    2px 0 0 rgba(28,19,10,0.2),
    inset -1px 0 0 rgba(255,255,255,0.12),
    0 0 16px rgba(200,147,42,0.25),
    0 0 6px rgba(122,37,32,0.2);
}

/* ══ 地圖卡片 強化 ══ */
.tarot-card-wrap {
  border: 1px solid rgba(154,110,32,0.4);
  background:
    radial-gradient(ellipse 60% 40% at 25% 20%, rgba(154,110,32,0.04) 0%, transparent 70%),
    var(--bg-card);
  box-shadow:
    6px 6px 0 rgba(28,19,10,0.09),
    0 16px 48px rgba(28,19,10,0.12),
    inset 0 0 0 1px rgba(212,104,138,0.08);
}

.tarot-card-wrap::before,
.tarot-card-wrap::after {
  border-color: var(--gold-bright);
  opacity: 0.9;
}

/* ══ Reader Question強化 ══ */
.reader-question-card {
  background:
    linear-gradient(145deg, rgba(154,110,32,0.04) 0%, transparent 40%),
    var(--bg-card);
  border-color: rgba(154,110,32,0.4);
  box-shadow:
    6px 6px 0 rgba(28,19,10,0.09),
    0 16px 40px rgba(212,104,138,0.20),
    inset 0 0 0 1px rgba(212,104,138,0.08);
}

.reader-question-card h3 {
  font-weight: 700;
  letter-spacing: 0.02em;
}

/* 選項按鈕強化 */
.question-option {
  border-color: rgba(212,104,138,0.20);
  background: rgba(154,110,32,0.02);
  transition: all 0.22s cubic-bezier(0.2, 0.8, 0.2, 1);
}

.question-option:hover,
.question-option.is-selected {
  border-color: var(--gold-bright);
  background:
    linear-gradient(135deg, rgba(212,104,138,0.08) 0%, rgba(154,110,32,0.03) 100%);
  box-shadow: 3px 3px 0 rgba(212,104,138,0.15);
  transform: translate(-1px, -1px);
}

/* 選項字母標記 */
.option-letter {
  background: linear-gradient(135deg, var(--crimson), var(--crimson-dark));
  box-shadow: 1px 1px 0 rgba(28,19,10,0.2);
  font-family: 'IM Fell English SC', serif;
}

/* 回饋區 */
.question-feedback {
  border-left: 3px solid var(--gold-bright);
  background:
    linear-gradient(90deg, rgba(212,104,138,0.08) 0%, transparent 60%);
}

/* ══ Expert Card強化 ══ */
.expert-card {
  border-color: rgba(212,104,138,0.20);
  transition: all 0.22s cubic-bezier(0.2, 0.8, 0.2, 1);
}

.expert-card:hover,
.expert-card.is-open {
  border-color: var(--gold-bright);
  box-shadow: 0 4px 14px rgba(194,77,120,0.14);
  background: linear-gradient(135deg, rgba(154,110,32,0.05) 0%, #fff9f0 100%);
}

.expert-avatar {
  border-color: rgba(154,110,32,0.45);
  box-shadow: 0 0 0 1px rgba(212,104,138,0.15);
}

/* ══ Podcast Badge強化 ══ */
.podcast-show-badge {
  border-right-color: rgba(154,110,32,0.3);
  border-bottom-color: rgba(212,104,138,0.28);
  background:
    linear-gradient(160deg, rgba(247,241,228,0.98) 0%, rgba(240,232,214,0.98) 100%);
  box-shadow:
    3px 3px 0 rgba(28,19,10,0.08),
    0 8px 24px rgba(28,19,10,0.12);
}

.podcast-show-badge img {
  border-color: rgba(154,110,32,0.35);
  box-shadow: 0 0 0 1px rgba(212,104,138,0.15);
}

.podcast-show-badge .show-title {
  color: var(--gold-deep);
  font-family: 'Noto Serif TC', serif;
  font-weight: 700;
}

/* ══ Pill Button強化 ══ */
.pill-button {
  background:
    linear-gradient(145deg, rgba(247,241,228,0.96) 0%, rgba(240,232,214,0.94) 100%);
  border-color: rgba(212,104,138,0.28);
  font-family: 'IM Fell English SC', serif;
  letter-spacing: 0.08em;
}

.pill-button:hover {
  border-color: var(--crimson);
  background: linear-gradient(145deg, #fff9f0 0%, #fff3e8 100%);
  box-shadow: 3px 3px 0 rgba(122,37,32,0.15), var(--shadow);
}

/* ══ 文章段落首字下沉 強化 ══ */
.article-section > p:first-of-type::first-letter,
.expert-main > p:first-of-type::first-letter,
.video-main > p:first-of-type::first-letter {
  font-family: 'Noto Serif TC', 'Georgia', serif;
  font-size: 3.8em;
  font-weight: 900;
  color: var(--crimson);
  text-shadow: 1px 1px 0 rgba(90,28,24,0.2);
  float: left;
  line-height: 0.75;
  margin: 0.08em 0.14em 0 0;
}

/* ══ 文章連結 強化 ══ */
.article-link {
  color: var(--gold-deep);
  text-decoration-color: rgba(154,110,32,0.5);
  font-weight: 700;
  position: relative;
}

.article-link:hover,
.article-link:focus {
  color: var(--crimson);
  text-decoration-color: var(--crimson);
}

/* ══ 地圖卡片標題 強化 ══ */
.map-card-title {
  font-family: 'Noto Serif TC', serif;
  font-weight: 700;
  color: var(--ink);
  border-bottom-color: var(--gold-line);
  position: relative;
}

.map-card-title::after {
  content: "";
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 40%;
  height: 1px;
  background: linear-gradient(90deg, var(--gold-bright), transparent);
}

/* ══ 地圖統計數字 強化 ══ */
#map-pod-num,
#map-rad-num {
  font-family: 'Noto Serif TC', serif;
  font-weight: 900;
}

/* ══ 圖例標記 典雅化 ══ */
#map-legend > div {
  font-family: 'Noto Serif TC', serif;
}

/* ══ 水平圖表 強化 ══ */
.horizontal-chart .hbar-fill {
  background: linear-gradient(
    90deg,
    rgba(61,90,110,0.35) 0%,
    var(--steel) 100%
  );
  box-shadow: 1px 0 0 rgba(212,104,138,0.20);
}

.horizontal-chart .highlight-hbar .hbar-fill {
  background: linear-gradient(
    90deg,
    rgba(154,110,32,0.3) 0%,
    var(--gold-bright) 100%
  );
  box-shadow: 1px 0 0 rgba(154,110,32,0.2);
}

.horizontal-chart .hbar-label {
  font-family: 'Noto Serif TC', serif;
  font-weight: 400;
}

/* ══ 影片佔位框 強化 ══ */
.video-placeholder {
  border-color: rgba(212,104,138,0.28);
  background:
    repeating-linear-gradient(
      45deg,
      transparent,
      transparent 30px,
      rgba(154,110,32,0.02) 30px,
      rgba(154,110,32,0.02) 31px
    ),
    rgba(28,19,10,0.02);
  box-shadow: 4px 4px 0 rgba(28,19,10,0.07);
  position: relative;
}

.video-placeholder::before {
  content: "✦";
  position: absolute;
  top: 16px;
  right: 20px;
  color: var(--gold-line);
  font-size: 0.7rem;
}

.video-placeholder::after {
  content: "✦";
  position: absolute;
  bottom: 16px;
  left: 20px;
  color: var(--gold-line);
  font-size: 0.7rem;
}

.video-placeholder span {
  font-family: 'Cinzel Decorative', 'Noto Serif TC', serif;
  letter-spacing: 0.22em;
  font-size: 0.6rem;
  color: rgba(122,37,32,0.7);
}

.video-placeholder strong {
  font-family: 'Noto Serif TC', serif;
  color: var(--ink);
  font-weight: 600;
}

/* ══ Tooltip強化 ══ */
.tooltip-term {
  color: var(--gold-deep);
  border-bottom-color: var(--gold-bright);
  font-weight: 700;
}

.tooltip-term::after {
  background:
    linear-gradient(145deg, #fff9f2 0%, var(--bg-card) 100%);
  border-color: rgba(154,110,32,0.35);
  box-shadow: 4px 4px 0 rgba(212,104,138,0.20);
  font-family: 'Noto Serif TC', serif;
}

/* ══ Resource Panel強化 ══ */
.resource-panel {
  border-color: rgba(212,104,138,0.28);
  background:
    linear-gradient(145deg, rgba(154,110,32,0.04) 0%, transparent 50%),
    var(--bg-card);
  position: relative;
}

.resource-panel::before,
.resource-panel::after {
  content: "";
  position: absolute;
  width: 18px;
  height: 18px;
  border-color: var(--gold-bright);
  border-style: solid;
  pointer-events: none;
  z-index: 2;
}
.resource-panel::before { top: -1px; left: -1px; border-width: 2px 0 0 2px; }
.resource-panel::after  { bottom: -1px; right: -1px; border-width: 0 2px 2px 0; }

.resource-panel h3 {
  font-family: 'Noto Serif TC', serif;
  font-weight: 700;
  color: var(--crimson-dark);
}

.resource-item {
  border-color: rgba(212,104,138,0.20);
  background: rgba(154,110,32,0.02);
  transition: border-color 0.2s, box-shadow 0.2s;
}
.resource-item:hover {
  border-color: var(--gold-bright);
  box-shadow: 2px 2px 0 rgba(212,104,138,0.12);
}

/* ══ 底部Footer強化 ══ */
footer {
  border-top-color: var(--gold-line);
  position: relative;
}
footer::before {
  content: "✦ ─────────────────────── ✦";
  display: block;
  text-align: center;
  color: var(--gold-line);
  font-size: 0.6rem;
  letter-spacing: 0.1em;
  margin-bottom: 16px;
}

/* ══ 地圖source文字 ══ */
.map-source {
  font-family: 'IM Fell English SC', serif;
  letter-spacing: 0.05em;
}

/* ══ 整體章節過渡 強化 ══ */
.article-section {
  transition: opacity 0.65s cubic-bezier(0.4, 0, 0.2, 1),
              filter 0.65s cubic-bezier(0.4, 0, 0.2, 1);
}

.article-section.is-visible {
  opacity: 1;
  filter: blur(0);
}

/* ══ Podcast Cover Gallery強化 ══ */
.podcast-cover-card {
  border-color: rgba(212,104,138,0.28);
  box-shadow: 4px 4px 0 rgba(212,104,138,0.20);
}

.podcast-cover-card:hover {
  border-color: var(--gold-bright);
  box-shadow: 5px 5px 0 rgba(154,110,32,0.22);
}

.podcast-cover-caption {
  font-family: 'Noto Serif TC', serif;
  border-top-color: var(--gold-line);
  background: linear-gradient(180deg, rgba(154,110,32,0.03) 0%, transparent 100%);
}

/* ══ 水平圖表場景section label置中 ══ */
.horizontal-chart-scene .section-label {
  text-align: center;
  display: block;
}

/* ══ h2前的裝飾符號 ══ */
h2::before {
  display: none;
}

/* ══ 地圖方塊統計 ── 分隔線 ══ */
.map-divider {
  border-top-color: var(--gold-line);
  opacity: 0.6;
}

/* ══ 地圖stat label ══ */
.map-stat-label {
  font-family: 'IM Fell English SC', serif;
  letter-spacing: 0.1em;
}

/* ══ Bar track ══ */
.map-bar-track {
  border-radius: 0;
  background: rgba(212,104,138,0.08);
}

/* ══ 地圖區域名稱 ══ */
.map-region-name {
  font-family: 'Noto Serif TC', serif;
  font-weight: 700;
  color: var(--crimson-dark) !important;
  position: relative;
  padding-left: 12px;
}

.map-region-name::before {
  content: "◆";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  font-size: 0.55rem;
  color: var(--gold-bright);
}

/* ══ 地圖placeholder text ══ */
#map-placeholder {
  font-family: 'IM Fell English SC', serif;
  font-size: 0.8rem !important;
  letter-spacing: 0.1em;
  color: var(--ink-ghost) !important;
}

/* ══ 背景 — 在超大螢幕加細微暗角 ══ */
body::after {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: -1;
  background: radial-gradient(
    ellipse 120% 120% at 50% 50%,
    transparent 60%,
    rgba(28,19,10,0.04) 100%
  );
}

/* ══ center-stage ready模式 — stage content強化顯示 ══ */
body.center-stage-ready .article-section:not(.chart-scroll-scene) > .stage-content {
  transition: opacity 0.45s cubic-bezier(0.4, 0, 0.2, 1),
              filter 0.45s cubic-bezier(0.4, 0, 0.2, 1),
              visibility 0s linear 0.45s;
}

body.center-stage-ready .article-section:not(.chart-scroll-scene).is-center-active > .stage-content {
  transition: opacity 0.45s cubic-bezier(0.4, 0, 0.2, 1),
              filter 0.45s cubic-bezier(0.4, 0, 0.2, 1),
              visibility 0s linear 0s;
}

/* ══ 地圖卡片 — 左側SVG欄邊框 ══ */
.map-svg-col {
  border-right: 1px solid var(--gold-line);
}

/* ══ 圖表section背景微強化 ══ */
.chart-scroll-scene {
  background: transparent;
}

/* ══ 水平圖label字重 ══ */
.horizontal-chart .hbar-label {
  font-weight: 500;
}

.horizontal-chart .highlight-hbar .hbar-label {
  color: var(--crimson);
  font-weight: 700;
}

/* ══ 外框卡片 — 左右兩條輔助線讓視覺更典雅 ══ */
.chart-card {
  position: relative;
}

.chart-card::before,
.chart-card::after {
  z-index: 3;
}

/* ══ 閃光動畫 — 金色角落 ══ */
@keyframes cornerGlow {
  0%,100% { opacity: 0.85; }
  50%      { opacity: 1; box-shadow: 0 0 8px rgba(200,147,42,0.5); }
}

.tarot-card-wrap::before,
.tarot-card-wrap::after,
.chart-card::before,
.chart-card::after,
.reader-question-card::before {
  animation: cornerGlow 4s ease-in-out infinite;
}

.tarot-card-wrap::after,
.chart-card::after {
  animation-delay: 2s;
}

/* ══ 地圖卡片 — inner grid改善 ══ */
@media (max-width: 640px) {
  .map-card-title {
    font-size: 0.82rem;
  }
}

/* ══ Expert Panel標題 ══ */
.expert-panel-title {
  font-family: 'Cinzel Decorative', 'Noto Serif TC', serif;
  font-size: 0.6rem;
  letter-spacing: 0.22em;
}

/* ══ Expert Card Name ══ */
.expert-name {
  font-family: 'Noto Serif TC', serif;
  font-weight: 700;
}

/* ══ Expert Quote ══ */
.expert-quote {
  font-family: 'Noto Serif TC', serif;
  font-style: italic;
}

/* ══ Expert Detail ══ */
.expert-detail {
  font-family: 'Noto Serif TC', serif;
  line-height: 1.75;
}

/* ══ 影片區四角裝飾 ══ */
.sv-corner {
  border-color: var(--gold-bright) !important;
  opacity: 0.8;
}

/* ══ 最終：back-to-top按鈕 ══ */
.back-to-top-icon {
  stroke: var(--gold-deep);
}

#backToTop:hover .back-to-top-icon {
  stroke: var(--crimson);
}



/* PATCH: 修正沈宗倫頁面版面，避免no-expert-panel把三欄內容擠成700px */
#section-5-2 > .stage-content {
  width: min(1180px, calc(100vw - 64px)) !important;
  max-height: 88vh !important;
  overflow: visible !important;
}
#section-5-2 .expert-layout.no-expert-panel {
  grid-template-columns: 1fr !important;
  justify-content: center !important;
  width: 100% !important;
  max-width: 1180px !important;
  margin: 0 auto !important;
}
#section-5-2 .expert-main {
  width: 100% !important;
  min-width: 0 !important;
}
#section-5-2 .shen-feature-layout {
  width: 100% !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: minmax(0, 760px) minmax(250px, 320px) !important;
  grid-template-areas:
    "main figure"
    "note figure" !important;
  column-gap: clamp(44px, 5vw, 84px) !important;
  row-gap: 24px !important;
  align-items: end !important;
}
#section-5-2 .shen-main-text {
  grid-area: main !important;
  position: static !important;
  inset: auto !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  width: 100% !important;
  max-width: 760px !important;
  margin: 0 !important;
  transform: none !important;
  align-self: start !important;
}
#section-5-2 .shen-main-text p {
  margin: 0 !important;
  color: rgba(58,26,46,0.84) !important;
  font-size: clamp(0.98rem, 1.08vw, 1.08rem) !important;
  line-height: 1.95 !important;
  letter-spacing: 0.022em !important;
  text-align: justify !important;
  text-justify: inter-ideograph !important;
}
#section-5-2 .shen-note-box {
  grid-area: note !important;
  position: relative !important;
  display: block !important;
  width: clamp(500px, 43vw, 620px) !important;
  min-height: 128px !important;
  height: 128px !important;
  margin: -30px 0 76px clamp(200px, calc(14vw - 10px), 290px) !important;
  padding: 16px 20px 34px !important;
  border: none !important;
  background: rgba(255,228,238,0.92) !important;
  box-shadow: 0 4px 16px rgba(194,77,120,0.10) !important;
  cursor: pointer !important;
  overflow: visible !important;
  z-index: 3 !important;
}
#section-5-2 .shen-note-box::before {
  content: none !important;
  display: none !important;
}
#section-5-2 .shen-note-part {
  position: static !important;
  inset: auto !important;
  display: none !important;
  opacity: 1 !important;
  transform: none !important;
  pointer-events: none !important;
}
#section-5-2 .shen-note-part.is-active {
  display: block !important;
}
#section-5-2 .shen-note-part p {
  margin: 0 !important;
  color: rgba(58,26,46,0.88) !important;
  font-size: 0.79rem !important;
  line-height: 1.62 !important;
  text-align: justify !important;
  text-justify: inter-ideograph !important;
}
#section-5-2 .shen-note-hint {
  position: absolute !important;
  right: 20px !important;
  bottom: 12px !important;
  left: auto !important;
  color: rgba(194,77,120,0.80) !important;
  font-size: 0.66rem !important;
  letter-spacing: 0.1em !important;
  line-height: 1 !important;
}
#section-5-2 .shen-note-box.is-second-active .shen-note-hint {
  right: 20px !important;
  left: auto !important;
}
#section-5-2 .shen-note-counter {
  position: absolute !important;
  left: 20px !important;
  bottom: 12px !important;
  color: rgba(58,26,46,0.55) !important;
  font-size: 0.72rem !important;
  line-height: 1 !important;
}
#section-5-2 .shen-note-pagebox.is-active {
  color: #d4688a !important;
  font-weight: 700 !important;
}
#section-5-2 .shen-figure {
  grid-area: figure !important;
  justify-self: end !important;
  align-self: end !important;
  width: 100% !important;
  max-width: 320px !important;
  z-index: 1 !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-end !important;
}
#section-5-2 .shen-figure img {
  display: block !important;
  width: min(100%, 320px) !important;
  max-height: min(63vh, 450px) !important;
  object-fit: contain !important;
  object-position: bottom center !important;
  border: 0 !important;
  box-shadow: none !important;
}
#section-5-2 .shen-caption {
  width: 100% !important;
  margin: 14px 0 0 !important;
  padding-top: 10px !important;
  border-top: 1px solid var(--line) !important;
  color: var(--ink-dim) !important;
  font-size: 0.78rem !important;
  line-height: 1.45 !important;
  text-align: center !important;
  letter-spacing: 0.04em !important;
}
/* 專家小卡：觀點重點不使用斜體 */
.expert-quote {
  font-style: normal !important;
}
@media (max-width: 1100px) {
  #section-5-2 > .stage-content {
    width: min(1040px, calc(100vw - 44px)) !important;
  }
  #section-5-2 .shen-feature-layout {
    grid-template-columns: minmax(0, 1fr) minmax(220px, 280px) !important;
    column-gap: 34px !important;
  }
  #section-5-2 .shen-main-text {
    max-width: 100% !important;
  }
  #section-5-2 .shen-note-box {
    width: clamp(430px, 44vw, 560px) !important;
    margin-left: clamp(120px, calc(11.5vw - 10px), 190px) !important;
  }
}
@media (max-width: 900px) {
  #section-5-2 > .stage-content {
    width: min(91vw, 720px) !important;
    max-height: 88vh !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    padding-right: 4px !important;
  }
  #section-5-2 .shen-feature-layout {
    grid-template-columns: 1fr !important;
    grid-template-areas:
      "figure"
      "main"
      "note" !important;
    gap: 16px !important;
    max-width: 700px !important;
  }
  #section-5-2 .shen-figure {
    justify-self: center !important;
    align-self: center !important;
  }
  #section-5-2 .shen-figure img {
    width: auto !important;
    max-width: min(68vw, 260px) !important;
    max-height: 230px !important;
  }
  #section-5-2 .shen-main-text p {
    font-size: 0.95rem !important;
    line-height: 1.84 !important;
  }
  #section-5-2 .shen-note-box {
    width: 100% !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: 18px 20px 44px !important;
  }
  #section-5-2 .shen-note-part p {
    font-size: 0.84rem !important;
    line-height: 1.7 !important;
  }
  #section-5-2 .shen-note-hint {
    right: 20px !important;
    bottom: 15px !important;
  }
  #section-5-2 .shen-note-counter {
    left: 20px !important;
    bottom: 13px !important;
  }
}
@media (max-width: 640px) {
  #section-5-2 .shen-feature-layout {
    gap: 14px !important;
  }
  #section-5-2 .shen-figure img {
    max-height: 190px !important;
  }
  #section-5-2 .shen-main-text p,
  #section-5-2 .shen-note-part p {
    font-size: 0.9rem !important;
    line-height: 1.76 !important;
  }
}
@media (max-width: 900px) {
  #section-5-2 > .stage-content {
    width: min(91vw, 720px) !important;
    max-height: 88vh !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    padding-right: 4px !important;
  }
  #section-5-2 .shen-feature-layout {
    grid-template-columns: 1fr !important;
    grid-template-areas:
      "figure"
      "main"
      "note" !important;
    gap: 16px !important;
    max-width: 700px !important;
  }
  #section-5-2 .shen-figure {
    align-self: center !important;
  }
  #section-5-2 .shen-figure img {
    width: auto !important;
    max-width: min(68vw, 260px) !important;
    max-height: 230px !important;
  }
  #section-5-2 .shen-main-text p {
    font-size: 0.94rem !important;
    line-height: 1.82 !important;
  }
  #section-5-2 .shen-note-box {
    padding: 18px 20px 44px !important;
  }
  #section-5-2 .shen-note-hint {
    right: 20px !important;
    bottom: 15px !important;
  }
  #section-5-2 .shen-note-counter {
    left: 20px !important;
    bottom: 13px !important;
  }
}
@media (max-width: 640px) {
  #section-5-2 .shen-feature-layout {
    gap: 14px !important;
  }
  #section-5-2 .shen-figure img {
    max-height: 190px !important;
  }
  #section-5-2 .shen-main-text p,
  #section-5-2 .shen-note-part p {
    font-size: 0.9rem !important;
    line-height: 1.76 !important;
  }
}

/* PATCH v7: 整體邊界外擴、全站字級加一；段落首字維持原大小感 */
:root {
  --content-width: 980px;
}
html {
  font-size: 17px;
}
.layout {
  width: min(1560px, calc(100% - 6px)) !important;
}
.article-section,
.quote-panel,
.resource-panel {
  width: min(var(--content-width), 100%) !important;
}
.chart-card {
  width: min(1120px, calc(100vw - 6px)) !important;
}
.chart-inner {
  width: min(1040px, 100%) !important;
}
#section-5-2 > .stage-content {
  width: min(1560px, calc(100vw - 6px)) !important;
}
#section-5-2 .expert-layout.no-expert-panel {
  max-width: 1560px !important;
}
#section-5-2 .shen-feature-layout {
  grid-template-columns: minmax(0, 980px) minmax(260px, 350px) !important;
}
#section-5-2 .shen-main-text {
  max-width: 980px !important;
}
.article-section > p:first-of-type::first-letter,
.expert-main > p:first-of-type::first-letter,
.video-main > p:first-of-type::first-letter {
  font-size: 3.01em !important;
}
@media (max-width: 900px) {
  .layout {
    width: min(100% - 24px, 760px) !important;
  }
  #section-5-2 > .stage-content {
    width: min(97vw, 900px) !important;
  }
}



/* PATCH v10: 地圖頁版面改為參考圖的相對位置與大小 */
#section-map .chart-sticky-stage.map-sticky-stage {
  min-height: 100svh !important;
  padding: clamp(18px, 3vh, 36px) clamp(18px, 2vw, 30px) !important;
}
#section-map .tarot-card-wrap.map-card-wrap {
  position: relative !important;
  width: min(980px, calc(100vw - 48px)) !important;
  max-width: min(980px, calc(100vw - 48px)) !important;
  height: min(720px, calc(100svh - 70px)) !important;
  max-height: min(720px, calc(100svh - 70px)) !important;
  padding: 116px 28px 24px !important;
  overflow: hidden !important;
  background: rgba(253,240,243,0.50) !important;
}
#section-map .map-inner-layout {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 41% 59% !important;
  align-items: stretch !important;
  height: 100% !important;
  max-height: 100% !important;
  overflow: hidden !important;
}
#section-map .map-data-col {
  position: static !important;
  padding: 88px 18px 16px 20px !important;
  overflow: hidden !important;
}
#section-map .map-card-title {
  position: absolute !important;
  top: 8px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  width: min(560px, 72%) !important;
  margin: 0 !important;
  padding: 0 0 16px !important;
  border-bottom: 3px solid rgba(205, 175, 96, 0.65) !important;
  text-align: center !important;
  font-family: var(--font-display) !important;
  font-size: clamp(1.65rem, 3vw, 2.55rem) !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: 0.02em !important;
  color: #3a1a2e !important;
  z-index: 4 !important;
  background: transparent !important;
}
#section-map .map-svg-col {
  padding: 36px 18px 18px 10px !important;
  border-right: 1px solid rgba(195, 175, 138, 0.85) !important;
  justify-content: center !important;
  align-items: center !important;
}
#section-map .map-svg-col svg {
  width: auto !important;
  height: 100% !important;
  max-height: 530px !important;
  max-width: 100% !important;
}
#section-map #map-legend {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: flex-start !important;
  gap: 8px 14px !important;
  margin: 0 0 16px !important;
  padding-bottom: 0 !important;
  overflow: visible !important;
}
#section-map #map-legend > div {
  font-size: 0.96rem !important;
  font-weight: 600 !important;
  gap: 7px !important;
}
#section-map .map-placeholder-txt {
  font-size: 1rem !important;
  align-items: flex-start !important;
  padding-top: 18px !important;
}
#section-map .map-region-name {
  font-size: clamp(1.25rem, 2vw, 1.85rem) !important;
  margin-bottom: 16px !important;
  line-height: 1.42 !important;
}
#section-map .map-stat-label {
  font-size: 1.02rem !important;
  margin-bottom: 10px !important;
  letter-spacing: 0.08em !important;
}
#section-map #map-pod-num,
#section-map #map-rad-num {
  font-size: clamp(3.2rem, 6vw, 4.8rem) !important;
  line-height: 0.95 !important;
  margin-bottom: 10px !important;
  font-weight: 700 !important;
}
#section-map .map-bar-track {
  height: 10px !important;
  margin-bottom: 16px !important;
  background: rgba(255,228,238,0.45) !important;
}
#section-map .map-divider {
  border-top: 1px solid rgba(200, 185, 150, 0.85) !important;
  margin-bottom: 16px !important;
}
#section-map .map-source {
  margin-top: auto !important;
  padding-top: 10px !important;
  font-size: 0.82rem !important;
}
@media (max-width: 900px) {
  #section-map .tarot-card-wrap.map-card-wrap {
    width: min(96vw, 860px) !important;
    max-width: min(96vw, 860px) !important;
    height: min(700px, calc(100svh - 40px)) !important;
    max-height: min(700px, calc(100svh - 40px)) !important;
    padding: 102px 18px 18px !important;
  }
  #section-map .map-card-title {
    width: min(520px, 84%) !important;
    font-size: clamp(1.45rem, 3.2vw, 2.05rem) !important;
  }
  #section-map .map-inner-layout {
    grid-template-columns: 40% 60% !important;
  }
  #section-map .map-data-col {
    padding: 78px 12px 14px 16px !important;
  }
  #section-map #map-pod-num,
  #section-map #map-rad-num {
    font-size: clamp(2.7rem, 5vw, 3.9rem) !important;
  }
}
@media (max-width: 640px) {
  #section-map .tarot-card-wrap.map-card-wrap {
    height: auto !important;
    max-height: calc(100svh - 20px) !important;
    padding: 86px 14px 14px !important;
  }
  #section-map .map-card-title {
    position: static !important;
    transform: none !important;
    width: 100% !important;
    margin: 0 0 12px !important;
  }
  #section-map .map-inner-layout {
    grid-template-columns: 1fr !important;
    grid-template-rows: 48% 1fr !important;
  }
  #section-map .map-svg-col {
    padding: 8px 0 14px !important;
    border-right: none !important;
    border-bottom: 1px solid rgba(195, 175, 138, 0.85) !important;
  }
  #section-map .map-data-col {
    padding: 12px 4px 6px !important;
  }
}



/* PATCH v11: 修正地圖頁標題與圖例、內容區錯位問題 */
#section-map .tarot-card-wrap.map-card-wrap {
  width: min(1080px, calc(100vw - 56px)) !important;
  max-width: min(1080px, calc(100vw - 56px)) !important;
  height: min(790px, calc(100svh - 64px)) !important;
  max-height: min(790px, calc(100svh - 64px)) !important;
  padding: 0 22px 22px !important;
}
#section-map .map-inner-layout {
  display: grid !important;
  grid-template-columns: 40% 60% !important;
  height: 100% !important;
  max-height: 100% !important;
  padding-top: 128px !important;
  box-sizing: border-box !important;
  align-items: stretch !important;
  position: relative !important;
}
#section-map .map-card-title {
  top: 18px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  width: min(760px, 76%) !important;
  padding: 0 0 14px !important;
  margin: 0 !important;
  font-size: clamp(1.75rem, 2.8vw, 2.6rem) !important;
  line-height: 1.15 !important;
  letter-spacing: 0.01em !important;
  text-align: center !important;
  border-bottom: 3px solid rgba(205, 175, 96, 0.72) !important;
  z-index: 5 !important;
}
#section-map .map-svg-col {
  padding: 20px 18px 18px 14px !important;
  border-right: 1px solid rgba(195, 175, 138, 0.85) !important;
}
#section-map .map-svg-col svg {
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: 470px !important;
}
#section-map .map-data-col {
  padding: 10px 18px 12px 22px !important;
  overflow: hidden !important;
}
#section-map #map-legend {
  flex-wrap: wrap !important;
  gap: 8px 12px !important;
  margin: 0 0 14px !important;
  justify-content: flex-start !important;
}
#section-map #map-legend > div {
  font-size: 0.84rem !important;
  gap: 6px !important;
}
#section-map .map-region-name {
  font-size: clamp(1.08rem, 1.8vw, 1.6rem) !important;
  margin-bottom: 12px !important;
}
#section-map .map-stat-label {
  font-size: 0.88rem !important;
  margin-bottom: 8px !important;
}
#section-map #map-pod-num,
#section-map #map-rad-num {
  font-size: clamp(3rem, 5vw, 4.35rem) !important;
  margin-bottom: 8px !important;
}
#section-map .map-bar-track {
  height: 10px !important;
  margin-bottom: 14px !important;
}
#section-map .map-divider {
  margin-bottom: 14px !important;
}
#section-map .map-source {
  margin-top: 14px !important;
  padding-top: 8px !important;
}
@media (max-width: 900px) {
  #section-map .tarot-card-wrap.map-card-wrap {
    width: min(96vw, 920px) !important;
    max-width: min(96vw, 920px) !important;
    height: min(760px, calc(100svh - 40px)) !important;
    max-height: min(760px, calc(100svh - 40px)) !important;
    padding: 0 16px 16px !important;
  }
  #section-map .map-inner-layout {
    padding-top: 116px !important;
    grid-template-columns: 39% 61% !important;
  }
  #section-map .map-card-title {
    width: min(680px, 84%) !important;
    font-size: clamp(1.5rem, 2.9vw, 2.2rem) !important;
  }
  #section-map .map-svg-col svg {
    max-height: 420px !important;
  }
  #section-map #map-pod-num,
  #section-map #map-rad-num {
    font-size: clamp(2.6rem, 4.6vw, 3.8rem) !important;
  }
}
@media (max-width: 640px) {
  #section-map .tarot-card-wrap.map-card-wrap {
    padding: 0 12px 12px !important;
  }
  #section-map .map-inner-layout {
    padding-top: 94px !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: 42% 1fr !important;
  }
  #section-map .map-card-title {
    top: 12px !important;
    width: calc(100% - 8px) !important;
    font-size: 1.4rem !important;
  }
  #section-map .map-svg-col {
    padding: 8px 0 12px !important;
    border-right: none !important;
    border-bottom: 1px solid rgba(195, 175, 138, 0.85) !important;
  }
  #section-map .map-data-col {
    padding: 10px 4px 4px !important;
  }
}



/* PATCH v12: 地圖頁底部白色滾動層隱形 */
body.center-stage-ready .map-scroll-scene,
#section-map,
#section-map .chart-sticky-stage.map-sticky-stage {
  background: transparent !important;
}

/* 若有捲動用的隱藏spacer / scroll-area，統一隱形 */
#section-map #map-scroll-area,
#section-map .map-scroll-area,
#section-map [id^="map-step"],
#section-map [class*="spacer"] {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  opacity: 0 !important;
}

/* 防止sticky容器或其偽元素形成白色覆層 */
#section-map .map-sticky-stage::before,
#section-map .map-sticky-stage::after {
  content: none !important;
  display: none !important;
}



/* PATCH v13: 地圖外框與標題級距對齊表格卡片 */
#section-map .tarot-card-wrap.map-card-wrap {
  background:
    radial-gradient(ellipse 70% 50% at 50% 0%, rgba(154,110,32,0.04) 0%, transparent 60%),
    var(--bg-card) !important;
  border: 1px solid rgba(154,110,32,0.35) !important;
  box-shadow:
    6px 6px 0 rgba(28,19,10,0.08),
    0 16px 40px rgba(212,104,138,0.20),
    inset 0 0 0 1px rgba(154,110,32,0.1) !important;
}
#section-map .tarot-card-wrap.map-card-wrap::before,
#section-map .tarot-card-wrap.map-card-wrap::after {
  width: 24px !important;
  height: 24px !important;
  border-color: var(--gold-bright) !important;
  border-width: 2px !important;
  opacity: 0.85 !important;
}

#section-map .map-card-title {
  font-family: 'Noto Serif TC', serif !important;
  font-size: clamp(1.35rem, 2.3vw, 1.9rem) !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em !important;
  line-height: 1.2 !important;
  color: var(--ink-rich) !important;
  padding-bottom: 16px !important;
  border-bottom: 1px solid var(--gold-line) !important;
}
#section-map .map-card-title::after {
  content: '◆' !important;
  position: absolute !important;
  bottom: -7px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  width: auto !important;
  height: auto !important;
  font-size: 0.6rem !important;
  color: var(--gold-bright) !important;
  background: var(--bg-card) !important;
  padding: 0 8px !important;
}

@media (max-width: 900px) {
  #section-map .map-card-title {
    font-size: clamp(1.28rem, 2.5vw, 1.75rem) !important;
  }
}
@media (max-width: 640px) {
  #section-map .map-card-title {
    font-size: 1.25rem !important;
  }
}



/* PATCH v14: 地圖外框尺寸與圖表卡片完全對齊 */
#section-map .chart-sticky-stage.map-sticky-stage {
  padding: clamp(28px,4vh,56px) clamp(20px,4vw,48px) !important;
  align-items: center !important;
  justify-content: center !important;
}
#section-map .tarot-card-wrap.map-card-wrap {
  width: 100% !important;
  max-width: min(900px, calc(100vw - 40px)) !important;
  aspect-ratio: 7 / 5 !important;
  height: auto !important;
  max-height: none !important;
  padding: 22px 24px 20px !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}
#section-map .map-inner-layout {
  height: 100% !important;
  max-height: 100% !important;
  padding-top: 102px !important;
  box-sizing: border-box !important;
}
#section-map .map-card-title {
  width: min(640px, 72%) !important;
}
@media (max-width: 900px) {
  #section-map .tarot-card-wrap.map-card-wrap {
    max-width: min(900px, calc(100vw - 40px)) !important;
    padding: 20px 22px 18px !important;
  }
  #section-map .map-inner-layout {
    padding-top: 96px !important;
  }
  #section-map .map-card-title {
    width: min(600px, 82%) !important;
  }
}
@media (max-width: 640px) {
  #section-map .tarot-card-wrap.map-card-wrap {
    padding: 16px 14px 14px !important;
  }
  #section-map .map-inner-layout {
    padding-top: 84px !important;
  }
}



/* PATCH v15: 地圖外框維持圖表卡尺寸，內容等比例縮放，避免變形 */
#section-map .chart-sticky-stage.map-sticky-stage {
  padding: clamp(28px,4vh,56px) clamp(20px,4vw,48px) !important;
  align-items: center !important;
  justify-content: center !important;
}
#section-map .tarot-card-wrap.map-card-wrap {
  width: 100% !important;
  max-width: min(900px, calc(100vw - 40px)) !important;
  aspect-ratio: 7 / 5 !important;
  height: auto !important;
  max-height: none !important;
  padding: 22px 24px 20px !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  position: relative !important;
}
#section-map .map-scale-viewport {
  position: absolute !important;
  inset: 22px 24px 20px 24px !important;
  overflow: hidden !important;
}
#section-map .map-scale-stage {
  position: absolute !important;
  width: 800px !important;
  height: 540px !important;
  left: 50% !important;
  top: 50% !important;
  transform-origin: center center !important;
}
#section-map .map-inner-layout {
  width: 800px !important;
  height: 540px !important;
  max-height: none !important;
  padding-top: 86px !important;
  box-sizing: border-box !important;
  display: grid !important;
  grid-template-columns: 39% 61% !important;
  align-items: stretch !important;
  position: relative !important;
}
#section-map .map-card-title {
  top: 8px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  width: 600px !important;
  margin: 0 !important;
  font-size: 1.55rem !important;
  line-height: 1.18 !important;
  text-align: center !important;
}
#section-map .map-svg-col {
  padding: 18px 18px 12px 8px !important;
  border-right: 1px solid rgba(195, 175, 138, 0.85) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
#section-map .map-svg-col svg {
  width: auto !important;
  height: 100% !important;
  max-height: 350px !important;
  max-width: 100% !important;
}
#section-map .map-data-col {
  padding: 10px 14px 8px 20px !important;
  overflow: hidden !important;
}
#section-map #map-legend {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px 12px !important;
  margin: 0 0 12px !important;
}
#section-map #map-legend > div {
  font-size: 0.86rem !important;
}
#section-map .map-region-name {
  font-size: 1.12rem !important;
  margin-bottom: 10px !important;
  line-height: 1.45 !important;
}
#section-map .map-stat-label {
  font-size: 0.9rem !important;
  margin-bottom: 8px !important;
}
#section-map #map-pod-num,
#section-map #map-rad-num {
  font-size: 4rem !important;
  line-height: 0.95 !important;
  margin-bottom: 8px !important;
}
#section-map .map-bar-track {
  height: 10px !important;
  margin-bottom: 14px !important;
}
#section-map .map-divider {
  margin-bottom: 14px !important;
}
#section-map .map-source {
  margin-top: 10px !important;
  padding-top: 8px !important;
  font-size: 0.8rem !important;
}
@media (max-width: 900px) {
  #section-map .tarot-card-wrap.map-card-wrap {
    padding: 20px 22px 18px !important;
  }
  #section-map .map-scale-viewport {
    inset: 20px 22px 18px 22px !important;
  }
}
@media (max-width: 640px) {
  #section-map .tarot-card-wrap.map-card-wrap {
    padding: 16px 14px 14px !important;
  }
  #section-map .map-scale-viewport {
    inset: 16px 14px 14px 14px !important;
  }
}




/* PATCH v16: 地圖卡外框與上方圖表卡同尺寸，避免flex狀態下縮小 */
#section-map .chart-sticky-stage.map-sticky-stage {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
#section-map .tarot-card-wrap.map-card-wrap {
  width: min(900px, calc(100vw - 40px)) !important;
  max-width: min(900px, calc(100vw - 40px)) !important;
  min-width: min(900px, calc(100vw - 40px)) !important;
  flex: 0 0 auto !important;
  align-self: center !important;
  aspect-ratio: 7 / 5 !important;
  height: auto !important;
}
@media (max-width: 900px) {
  #section-map .tarot-card-wrap.map-card-wrap {
    width: min(900px, calc(100vw - 40px)) !important;
    max-width: min(900px, calc(100vw - 40px)) !important;
    min-width: min(900px, calc(100vw - 40px)) !important;
  }
}
@media (max-width: 640px) {
  #section-map .tarot-card-wrap.map-card-wrap {
    width: min(900px, calc(100vw - 28px)) !important;
    max-width: min(900px, calc(100vw - 28px)) !important;
    min-width: min(900px, calc(100vw - 28px)) !important;
  }
}



/* PATCH v18: 專家小卡文字強制齊行 */
.expert-card-copy {
  min-width: 0;
  text-align: justify !important;
  text-justify: inter-ideograph !important;
}
.expert-name,
.expert-quote,
.expert-detail {
  text-align: justify !important;
  text-justify: inter-ideograph !important;
}
.expert-quote,
.expert-detail {
  text-align-last: justify !important;
}
.expert-detail::after {
  content: "";
  display: inline-block;
  width: 100%;
}



/* PATCH v19: 創作者影響力頁——雙人物照片與補充觀點 */
#section-5-3 .impact-feature-layout {
  width: 100% !important;
}
#section-5-3 .impact-main-text {
  width: 100% !important;
  max-width: 980px !important;
  margin: 0 auto !important;
}
#section-5-3 .impact-main-text p {
  margin: 0 !important;
  color: rgba(58,26,46,0.84) !important;
  font-size: clamp(0.98rem, 1.08vw, 1.08rem) !important;
  line-height: 1.95 !important;
  letter-spacing: 0.022em !important;
  text-align: justify !important;
  text-justify: inter-ideograph !important;
}
#section-5-3 .impact-figures-row {
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-end !important;
  gap: clamp(28px, 3vw, 44px) !important;
  margin-top: 34px !important;
  width: 100% !important;
}
#section-5-3 .impact-person {
  display: flex !important;
  align-items: flex-end !important;
  gap: 18px !important;
  flex: 1 1 0 !important;
}
#section-5-3 .impact-person-left {
  justify-content: flex-start !important;
}
#section-5-3 .impact-person-right {
  justify-content: flex-end !important;
}
#section-5-3 .impact-figure {
  width: 100% !important;
  max-width: 220px !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  flex: 0 0 auto !important;
}
#section-5-3 .impact-figure img {
  display: block !important;
  width: 100% !important;
  max-width: 220px !important;
  max-height: min(48vh, 360px) !important;
  object-fit: contain !important;
  object-position: bottom center !important;
}
#section-5-3 .impact-caption {
  width: 100% !important;
  margin: 12px 0 0 !important;
  padding-top: 10px !important;
  border-top: 1px solid var(--line) !important;
  color: var(--ink-dim) !important;
  font-size: 0.78rem !important;
  line-height: 1.45 !important;
  text-align: center !important;
  letter-spacing: 0.04em !important;
}
#section-5-3 .impact-note-box {
  position: relative !important;
  display: block !important;
  width: clamp(320px, 23vw, 360px) !important;
  min-height: 176px !important;
  height: 176px !important;
  margin: 0 0 74px !important;
  padding: 16px 20px 36px !important;
  border: none !important;
  background: rgba(255,228,238,0.92) !important;
  box-shadow: 0 4px 16px rgba(194,77,120,0.10) !important;
  cursor: pointer !important;
  overflow: hidden !important;
  z-index: 2 !important;
  flex: 0 0 auto !important;
}
#section-5-3 .impact-note-part {
  display: none !important;
}
#section-5-3 .impact-note-part.is-active {
  display: block !important;
}
#section-5-3 .impact-note-part p {
  margin: 0 !important;
  color: rgba(58,26,46,0.88) !important;
  font-size: 0.79rem !important;
  line-height: 1.62 !important;
  text-align: justify !important;
  text-justify: inter-ideograph !important;
}
#section-5-3 .impact-note-hint {
  position: absolute !important;
  right: 20px !important;
  bottom: 12px !important;
  color: rgba(194,77,120,0.80) !important;
  font-size: 0.66rem !important;
  letter-spacing: 0.1em !important;
  line-height: 1 !important;
}
#section-5-3 .impact-note-counter {
  position: absolute !important;
  left: 20px !important;
  bottom: 12px !important;
  color: rgba(58,26,46,0.55) !important;
  font-size: 0.72rem !important;
  line-height: 1 !important;
}
#section-5-3 .impact-note-pagebox.is-active {
  color: #d4688a !important;
  font-weight: 700 !important;
}
@media (max-width: 1240px) {
  #section-5-3 .impact-figure {
    max-width: 200px !important;
  }
  #section-5-3 .impact-figure img {
    max-width: 200px !important;
    max-height: min(45vh, 330px) !important;
  }
  #section-5-3 .impact-note-box {
    width: clamp(290px, 24vw, 330px) !important;
    min-height: 188px !important;
    height: 188px !important;
    margin-bottom: 58px !important;
  }
}
@media (max-width: 980px) {
  #section-5-3 .impact-figures-row {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 28px !important;
  }
  #section-5-3 .impact-person,
  #section-5-3 .impact-person-right,
  #section-5-3 .impact-person-left {
    justify-content: space-between !important;
  }
  #section-5-3 .impact-note-box {
    margin-bottom: 28px !important;
  }
}
@media (max-width: 720px) {
  #section-5-3 .impact-person,
  #section-5-3 .impact-person-right,
  #section-5-3 .impact-person-left {
    flex-direction: column !important;
    align-items: center !important;
    gap: 12px !important;
  }
  #section-5-3 .impact-person-right {
    flex-direction: column-reverse !important;
  }
  #section-5-3 .impact-note-box {
    width: min(92vw, 360px) !important;
    min-height: 176px !important;
    height: 176px !important;
    margin: 0 !important;
  }
}




/* PATCH v20: 皓嵐與原慶補充框上下錯開，避免重疊 */
#section-5-3 .impact-person-left .impact-note-box {
  margin-bottom: 132px !important;
  z-index: 3 !important;
}
#section-5-3 .impact-person-right .impact-note-box {
  margin-bottom: 18px !important;
  z-index: 2 !important;
}

@media (max-width: 1240px) {
  #section-5-3 .impact-person-left .impact-note-box {
    margin-bottom: 112px !important;
  }
  #section-5-3 .impact-person-right .impact-note-box {
    margin-bottom: 10px !important;
  }
}

@media (max-width: 980px) {
  #section-5-3 .impact-person-left .impact-note-box,
  #section-5-3 .impact-person-right .impact-note-box {
    margin-bottom: 28px !important;
  }
}

@media (max-width: 720px) {
  #section-5-3 .impact-person-left .impact-note-box,
  #section-5-3 .impact-person-right .impact-note-box {
    margin-bottom: 0 !important;
  }
}



/* PATCH v21: 兩個補充框再進一步錯開，避免殘留重疊 */
#section-5-3 .impact-person-left .impact-note-box {
  margin-bottom: 190px !important;
  z-index: 3 !important;
}
#section-5-3 .impact-person-right .impact-note-box {
  margin-bottom: -18px !important;
  z-index: 2 !important;
}

@media (max-width: 1240px) {
  #section-5-3 .impact-person-left .impact-note-box {
    margin-bottom: 162px !important;
  }
  #section-5-3 .impact-person-right .impact-note-box {
    margin-bottom: -10px !important;
  }
}

@media (max-width: 980px) {
  #section-5-3 .impact-person-left .impact-note-box,
  #section-5-3 .impact-person-right .impact-note-box {
    margin-bottom: 28px !important;
  }
}

@media (max-width: 720px) {
  #section-5-3 .impact-person-left .impact-note-box,
  #section-5-3 .impact-person-right .impact-note-box {
    margin-bottom: 0 !important;
  }
}



/* PATCH v22: 確保創作者補充框可點擊切換 */
#section-5-3 .impact-note-box,
#section-5-3 .impact-note-box * {
  pointer-events: auto !important;
}
#section-5-3 .impact-note-box {
  user-select: none !important;
}
#section-5-3 .impact-note-part,
#section-5-3 .impact-note-part p {
  pointer-events: auto !important;
}




/* PATCH v24: 修正皓嵐補充框內文與頁數重疊 */
#section-5-3 .impact-person-left .impact-note-box {
  min-height: 208px !important;
  height: 208px !important;
  padding-bottom: 44px !important;
}
#section-5-3 .impact-person-left .impact-note-part p {
  line-height: 1.6 !important;
}

@media (max-width: 1240px) {
  #section-5-3 .impact-person-left .impact-note-box {
    min-height: 218px !important;
    height: 218px !important;
    padding-bottom: 46px !important;
  }
}

@media (max-width: 980px) {
  #section-5-3 .impact-person-left .impact-note-box {
    min-height: 208px !important;
    height: 208px !important;
  }
}

@media (max-width: 720px) {
  #section-5-3 .impact-person-left .impact-note-box {
    min-height: 198px !important;
    height: 198px !important;
    padding-bottom: 44px !important;
  }
}



/* PATCH v26: 胡安然頁——右下人物照與補充觀點框 */
#section-3-2 .hu-feature-layout {
  width: 100% !important;
}
#section-3-2 .hu-main-text {
  width: 100% !important;
  max-width: 1020px !important;
  margin: 0 auto !important;
}
#section-3-2 .hu-main-text p {
  margin: 0 !important;
  color: rgba(58,26,46,0.84) !important;
  font-size: clamp(0.98rem, 1.08vw, 1.08rem) !important;
  line-height: 1.95 !important;
  letter-spacing: 0.022em !important;
  text-align: justify !important;
  text-justify: inter-ideograph !important;
}
#section-3-2 .hu-bottom-row {
  display: flex !important;
  justify-content: flex-end !important;
  align-items: flex-end !important;
  gap: 28px !important;
  margin-top: 34px !important;
  width: 100% !important;
}
#section-3-2 .hu-figure {
  width: 100% !important;
  max-width: 260px !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  flex: 0 0 auto !important;
}
#section-3-2 .hu-figure img {
  display: block !important;
  width: 100% !important;
  max-width: 260px !important;
  max-height: min(50vh, 380px) !important;
  object-fit: contain !important;
  object-position: bottom center !important;
}
#section-3-2 .hu-caption {
  width: 100% !important;
  margin: 12px 0 0 !important;
  padding-top: 10px !important;
  border-top: 1px solid var(--line) !important;
  color: var(--ink-dim) !important;
  font-size: 0.78rem !important;
  line-height: 1.45 !important;
  text-align: center !important;
  letter-spacing: 0.04em !important;
}
#section-3-2 .hu-note-box {
  position: relative !important;
  display: block !important;
  width: clamp(360px, 31vw, 440px) !important;
  min-height: 228px !important;
  height: 228px !important;
  margin: 0 0 82px !important;
  padding: 18px 22px 44px !important;
  border: none !important;
  background: rgba(255,228,238,0.92) !important;
  box-shadow: 0 4px 16px rgba(194,77,120,0.10) !important;
  cursor: pointer !important;
  overflow: hidden !important;
  z-index: 2 !important;
  flex: 0 0 auto !important;
  user-select: none !important;
}
#section-3-2 .hu-note-box, #section-3-2 .hu-note-box * {
  pointer-events: auto !important;
}
#section-3-2 .hu-note-part {
  display: none !important;
}
#section-3-2 .hu-note-part.is-active {
  display: block !important;
}
#section-3-2 .hu-note-part p {
  margin: 0 !important;
  color: rgba(58,26,46,0.88) !important;
  font-size: 0.81rem !important;
  line-height: 1.64 !important;
  text-align: justify !important;
  text-justify: inter-ideograph !important;
}
#section-3-2 .hu-note-hint {
  position: absolute !important;
  right: 22px !important;
  bottom: 14px !important;
  color: rgba(194,77,120,0.80) !important;
  font-size: 0.66rem !important;
  letter-spacing: 0.1em !important;
  line-height: 1 !important;
}
#section-3-2 .hu-note-counter {
  position: absolute !important;
  left: 22px !important;
  bottom: 14px !important;
  color: rgba(58,26,46,0.55) !important;
  font-size: 0.72rem !important;
  line-height: 1 !important;
}
#section-3-2 .hu-note-pagebox.is-active {
  color: #d4688a !important;
  font-weight: 700 !important;
}
@media (max-width: 1120px) {
  #section-3-2 .hu-note-box {
    width: clamp(330px, 36vw, 400px) !important;
    min-height: 238px !important;
    height: 238px !important;
    margin-bottom: 66px !important;
  }
  #section-3-2 .hu-figure {
    max-width: 232px !important;
  }
  #section-3-2 .hu-figure img {
    max-width: 232px !important;
  }
}
@media (max-width: 820px) {
  #section-3-2 .hu-bottom-row {
    flex-direction: column !important;
    align-items: flex-end !important;
    gap: 16px !important;
  }
  #section-3-2 .hu-note-box {
    margin-bottom: 0 !important;
  }
}
@media (max-width: 640px) {
  #section-3-2 .hu-main-text p {
    font-size: 0.96rem !important;
  }
  #section-3-2 .hu-note-box {
    width: min(92vw, 400px) !important;
    min-height: 246px !important;
    height: 246px !important;
  }
  #section-3-2 .hu-figure {
    max-width: 210px !important;
  }
  #section-3-2 .hu-figure img {
    max-width: 210px !important;
  }
}




/* PATCH v29: 內克頁——左下人物照與補充觀點框 */
#section-4-2 .nick-feature-layout {
  width: 100% !important;
}
#section-4-2 .nick-main-text {
  width: 100% !important;
  max-width: 1020px !important;
  margin: 0 auto !important;
}
#section-4-2 .nick-main-text p {
  margin: 0 !important;
  color: rgba(58,26,46,0.84) !important;
  font-size: clamp(0.98rem, 1.08vw, 1.08rem) !important;
  line-height: 1.95 !important;
  letter-spacing: 0.022em !important;
  text-align: justify !important;
  text-justify: inter-ideograph !important;
}
#section-4-2 .nick-bottom-row {
  display: flex !important;
  justify-content: flex-start !important;
  align-items: flex-end !important;
  gap: 28px !important;
  margin-top: 34px !important;
  width: 100% !important;
}
#section-4-2 .nick-figure {
  width: 100% !important;
  max-width: 260px !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  flex: 0 0 auto !important;
}
#section-4-2 .nick-figure img {
  display: block !important;
  width: 100% !important;
  max-width: 260px !important;
  max-height: min(54vh, 420px) !important;
  object-fit: contain !important;
  object-position: bottom center !important;
}
#section-4-2 .nick-caption {
  width: 100% !important;
  margin: 12px 0 0 !important;
  padding-top: 10px !important;
  border-top: 1px solid var(--line) !important;
  color: var(--ink-dim) !important;
  font-size: 0.78rem !important;
  line-height: 1.45 !important;
  text-align: center !important;
  letter-spacing: 0.04em !important;
}
#section-4-2 .nick-note-box {
  position: relative !important;
  display: block !important;
  width: clamp(400px, 36vw, 500px) !important;
  min-height: 232px !important;
  height: 232px !important;
  margin: 0 0 84px !important;
  padding: 18px 22px 44px !important;
  border: none !important;
  background: rgba(255,228,238,0.92) !important;
  box-shadow: 0 4px 16px rgba(194,77,120,0.10) !important;
  cursor: pointer !important;
  overflow: hidden !important;
  z-index: 2 !important;
  flex: 0 0 auto !important;
  user-select: none !important;
}
#section-4-2 .nick-note-box, #section-4-2 .nick-note-box * {
  pointer-events: auto !important;
}
#section-4-2 .nick-note-part {
  display: none !important;
}
#section-4-2 .nick-note-part.is-active {
  display: block !important;
}
#section-4-2 .nick-note-part p {
  margin: 0 !important;
  color: rgba(58,26,46,0.88) !important;
  font-size: 0.81rem !important;
  line-height: 1.64 !important;
  text-align: justify !important;
  text-justify: inter-ideograph !important;
}
#section-4-2 .nick-note-hint {
  position: absolute !important;
  right: 22px !important;
  bottom: 14px !important;
  color: rgba(194,77,120,0.80) !important;
  font-size: 0.66rem !important;
  letter-spacing: 0.1em !important;
  line-height: 1 !important;
}
#section-4-2 .nick-note-counter {
  position: absolute !important;
  left: 22px !important;
  bottom: 14px !important;
  color: rgba(58,26,46,0.55) !important;
  font-size: 0.72rem !important;
  line-height: 1 !important;
}
#section-4-2 .nick-note-pagebox.is-active {
  color: #d4688a !important;
  font-weight: 700 !important;
}
@media (max-width: 1120px) {
  #section-4-2 .nick-note-box {
    width: clamp(360px, 40vw, 450px) !important;
    min-height: 246px !important;
    height: 246px !important;
    margin-bottom: 70px !important;
  }
  #section-4-2 .nick-figure {
    max-width: 236px !important;
  }
  #section-4-2 .nick-figure img {
    max-width: 236px !important;
  }
}
@media (max-width: 820px) {
  #section-4-2 .nick-bottom-row {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 16px !important;
  }
  #section-4-2 .nick-note-box {
    margin-bottom: 0 !important;
  }
}
@media (max-width: 640px) {
  #section-4-2 .nick-main-text p {
    font-size: 0.96rem !important;
  }
  #section-4-2 .nick-note-box {
    width: min(92vw, 430px) !important;
    min-height: 260px !important;
    height: 260px !important;
  }
  #section-4-2 .nick-figure {
    max-width: 220px !important;
  }
  #section-4-2 .nick-figure img {
    max-width: 220px !important;
  }
}




/* PATCH v30: CHAPTER 02 Sky補充小卡 */
#section-2 .sky-feature-layout, #section-3-3 .sky-feature-layout {
  width: 100% !important;
}
#section-2 .sky-main-text, #section-3-3 .sky-main-text {
  width: 100% !important;
  max-width: 1020px !important;
  margin: 0 auto !important;
}
#section-2 .sky-main-text p, #section-3-3 .sky-main-text p {
  margin: 0 !important;
  color: rgba(58,26,46,0.84) !important;
  font-size: clamp(0.98rem, 1.08vw, 1.08rem) !important;
  line-height: 1.95 !important;
  letter-spacing: 0.022em !important;
  text-align: justify !important;
  text-justify: inter-ideograph !important;
}
#section-2 .sky-bottom-row, #section-3-3 .sky-bottom-row {
  display: flex !important;
  justify-content: flex-start !important;
  align-items: flex-end !important;
  gap: 34px !important;
  margin-top: 34px !important;
  width: 100% !important;
}
#section-2 .sky-cover-figure, #section-3-3 .sky-cover-figure {
  width: 100% !important;
  max-width: 340px !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  flex: 0 0 auto !important;
}
#section-2 .sky-cover-frame, #section-3-3 .sky-cover-frame {
  width: 100% !important;
  max-width: 340px !important;
  padding: 12px !important;
  border: 1px solid rgba(204, 169, 96, 0.48) !important;
  background: rgba(255,228,238,0.45) !important;
  box-shadow: 0 14px 30px rgba(22, 18, 10, 0.08) !important;
}
#section-2 .sky-cover-frame, #section-3-3 .sky-cover-frame img {
  display: block !important;
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: cover !important;
  object-position: center !important;
}
#section-2 .sky-caption, #section-3-3 .sky-caption {
  width: 100% !important;
  margin: 12px 0 0 !important;
  padding-top: 10px !important;
  border-top: 1px solid var(--line) !important;
  color: var(--ink-dim) !important;
  font-size: 0.78rem !important;
  line-height: 1.45 !important;
  text-align: center !important;
  letter-spacing: 0.04em !important;
}
#section-2 .sky-note-box, #section-3-3 .sky-note-box {
  position: relative !important;
  display: block !important;
  width: clamp(390px, 35vw, 500px) !important;
  min-height: 216px !important;
  height: 216px !important;
  margin: 0 0 70px !important;
  padding: 18px 22px 44px !important;
  border: none !important;
  background: rgba(255,228,238,0.92) !important;
  box-shadow: 0 4px 16px rgba(194,77,120,0.10) !important;
  cursor: pointer !important;
  overflow: hidden !important;
  z-index: 2 !important;
  flex: 0 0 auto !important;
  user-select: none !important;
}
#section-2 .sky-note-part, #section-3-3 .sky-note-part {
  display: none !important;
}
#section-2 .sky-note-part, #section-3-3 .sky-note-part.is-active {
  display: block !important;
}
#section-2 .sky-note-part, #section-3-3 .sky-note-part p {
  margin: 0 !important;
  color: rgba(58,26,46,0.88) !important;
  font-size: 0.82rem !important;
  line-height: 1.68 !important;
  text-align: justify !important;
  text-justify: inter-ideograph !important;
}
#section-2 .sky-note-hint, #section-3-3 .sky-note-hint {
  position: absolute !important;
  right: 22px !important;
  bottom: 14px !important;
  color: rgba(194,77,120,0.80) !important;
  font-size: 0.66rem !important;
  letter-spacing: 0.1em !important;
  line-height: 1 !important;
}
#section-2 .sky-note-counter, #section-3-3 .sky-note-counter {
  position: absolute !important;
  left: 22px !important;
  bottom: 14px !important;
  color: rgba(58,26,46,0.55) !important;
  font-size: 0.72rem !important;
  line-height: 1 !important;
}
#section-2 .sky-note-pagebox.is-active, #section-3-3 .sky-note-pagebox.is-active {
  color: #d4688a !important;
  font-weight: 700 !important;
}
@media (max-width: 1120px) {
  #section-2 .sky-note-box, #section-3-3 .sky-note-box {
    width: clamp(360px, 40vw, 450px) !important;
    min-height: 230px !important;
    height: 230px !important;
    margin-bottom: 52px !important;
  }
  #section-2 .sky-cover-figure, #section-3-3 .sky-cover-figure, #section-2 .sky-cover-frame, #section-3-3 .sky-cover-frame {
    max-width: 300px !important;
  }
}
@media (max-width: 820px) {
  #section-2 .sky-bottom-row, #section-3-3 .sky-bottom-row {
    flex-direction: column !important;
    align-items: flex-start !important;
  }
  #section-2 .sky-note-box, #section-3-3 .sky-note-box {
    margin-bottom: 0 !important;
  }
}
@media (max-width: 640px) {
  #section-2 .sky-main-text p, #section-3-3 .sky-main-text p {
    font-size: 0.96rem !important;
  }
  #section-2 .sky-cover-figure, #section-3-3 .sky-cover-figure, #section-2 .sky-cover-frame, #section-3-3 .sky-cover-frame {
    max-width: 280px !important;
  }
  #section-2 .sky-note-box, #section-3-3 .sky-note-box {
    width: min(92vw, 430px) !important;
    min-height: 248px !important;
    height: 248px !important;
  }
}



/* v38 quiz height fix: shrink iframe to actual content so no extra beige block remains */
#podcast-soul-quiz-page {
  min-height: auto !important;
  height: auto !important;
  padding-top: clamp(44px, 7vh, 76px) !important;
  padding-bottom: clamp(44px, 7vh, 76px) !important;
  align-items: center !important;
  justify-content: center !important;
}

#podcast-soul-quiz-page .podcast-game-embed {
  width: 100% !important;
  max-width: min(900px, calc(100vw - 40px)) !important;
  aspect-ratio: auto !important;
  height: auto !important;
  overflow: hidden !important;
  background: transparent !important;
}

#podcast-soul-quiz-page .podcast-game-embed iframe {
  display: block !important;
  width: 100% !important;
  height: 420px !important;
  min-height: 420px !important;
  background: transparent !important;
}



/* v39: 移除遊戲頁外層深咖啡色底，並把遊戲重新置中 */
.game-page,
#podcast-soul-quiz-page {
  background: transparent !important;
}

#podcast-soul-quiz-page {
  min-height: 100svh !important;
  height: auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding-top: clamp(44px, 7vh, 76px) !important;
  padding-bottom: clamp(44px, 7vh, 76px) !important;
}

#podcast-soul-quiz-page .podcast-game-embed {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  background: transparent !important;
}




/* v41: 遊戲高度由JS依內容精準調整；此處只作載入前備援 */
#podcast-soul-quiz-page .podcast-game-embed iframe {
  height: 620px !important;
  min-height: 620px !important;
}

#podcast-soul-quiz-page .podcast-game-embed {
  max-height: none !important;
}



/* v44吳至潔邊界提醒區塊（依參考圖重新排版） */
.boundary-risk-feature {
  margin-top: clamp(34px, 5vw, 56px);
  position: relative;
  min-height: 560px;
  padding-right: clamp(260px, 22vw, 360px);
}

.boundary-risk-cards {
  display: flex;
  flex-direction: column;
  gap: 20px;
  width: min(100%, 980px);
}

.boundary-risk-card {
  background: #8f372d;
  color: #3a1a2e;
  border-radius: 0;
  padding: 24px 28px 26px;
  box-shadow: none;
  position: relative;
  z-index: 2;
  overflow: visible;
}

.boundary-risk-card:nth-child(1) {
  width: min(100%, 980px);
}

.boundary-risk-card:nth-child(2) {
  width: min(100%, 880px);
}

.boundary-risk-card:nth-child(3) {
  width: min(100%, 820px);
}

.boundary-risk-card h4 {
  margin: 0 0 12px;
  font-size: 0.98rem;
  line-height: 1.56;
  color: rgba(58,26,46,0.75);
  letter-spacing: 0.01em;
  font-weight: 700;
}

.boundary-risk-card p {
  margin: 0;
  color: rgba(58,26,46,0.90);
  font-size: 0.82rem;
  line-height: 1.72;
  text-align: justify;
}

.boundary-risk-card p + p {
  margin-top: 12px;
}

.boundary-risk-figure {
  margin: 0;
  position: absolute;
  right: 0;
  bottom: 0;
  width: clamp(210px, 20vw, 320px);
  display: flex;
  flex-direction: column;
  align-items: center;
  z-index: 1;
}

.boundary-risk-figure img {
  display: block;
  width: 100%;
  max-height: 420px;
  object-fit: contain;
  object-position: bottom center;
  border: none;
  box-shadow: none;
  background: transparent;
}

.boundary-risk-figure figcaption {
  display: none;
}

@media (max-width: 1280px) {
  .boundary-risk-feature {
    min-height: 520px;
    padding-right: 280px;
  }

  .boundary-risk-card:nth-child(1),
  .boundary-risk-card:nth-child(2),
  .boundary-risk-card:nth-child(3) {
    width: 100%;
  }
}

@media (max-width: 1080px) {
  .boundary-risk-feature {
    min-height: 0;
    padding-right: 0;
    display: grid;
    gap: 24px;
  }

  .boundary-risk-cards {
    width: 100%;
  }

  .boundary-risk-card:nth-child(1),
  .boundary-risk-card:nth-child(2),
  .boundary-risk-card:nth-child(3) {
    width: 100%;
  }

  .boundary-risk-figure {
    position: static;
    width: min(100%, 280px);
    justify-self: end;
  }
}

@media (max-width: 720px) {
  .boundary-risk-card {
    padding: 18px 18px 20px;
  }

  .boundary-risk-card h4 {
    font-size: 0.92rem;
  }

  .boundary-risk-card p {
    font-size: 0.8rem;
    line-height: 1.7;
  }
}



/* v47：吳至潔隱憂區塊改為固定底頁＋滑動切換單一卡片 */
.boundary-risk-scroll-scene {
  margin-top: clamp(34px, 5vw, 56px);
  position: relative !important;
  min-height: 270vh !important;
  padding-right: 0 !important;
}

.boundary-risk-sticky-stage {
  position: sticky;
  top: clamp(82px, 9vh, 118px);
  min-height: calc(100vh - 130px);
  display: grid;
  grid-template-columns: minmax(0, 1fr) clamp(230px, 21vw, 330px);
  column-gap: clamp(28px, 5vw, 70px);
  align-items: end;
}

.boundary-risk-card-stage {
  position: relative;
  min-height: 380px;
}

.boundary-risk-card {
  position: absolute !important;
  left: 0;
  bottom: 0;
  width: min(100%, 940px) !important;
  background: #8f372d;
  color: #3a1a2e;
  border-radius: 0;
  padding: 24px 28px 26px;
  box-shadow: none;
  z-index: 2;
  opacity: 0;
  transform: translateY(26px);
  pointer-events: none;
  transition: opacity 0.32s ease, transform 0.38s ease;
}

.boundary-risk-card[data-risk-card="1"] {
  width: min(100%, 860px) !important;
}

.boundary-risk-card[data-risk-card="2"] {
  width: min(100%, 800px) !important;
}

.boundary-risk-card.is-active {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

.boundary-risk-card h4 {
  margin: 0 0 12px;
  font-size: 0.98rem;
  line-height: 1.56;
  color: rgba(58,26,46,0.75);
  letter-spacing: 0.01em;
  font-weight: 700;
}

.boundary-risk-card p {
  margin: 0;
  color: rgba(58,26,46,0.90);
  font-size: 0.82rem;
  line-height: 1.72;
  text-align: justify;
}

.boundary-risk-card p + p {
  margin-top: 12px;
}

.boundary-risk-figure {
  position: static !important;
  margin: 0;
  align-self: end;
  justify-self: end;
  width: 100% !important;
  max-width: clamp(230px, 21vw, 330px);
  display: flex;
  flex-direction: column;
  align-items: center;
  z-index: 1;
}

.boundary-risk-figure img {
  display: block;
  width: 100%;
  max-height: 430px;
  object-fit: contain;
  object-position: bottom center;
  border: none;
  box-shadow: none;
  background: transparent;
}

.boundary-risk-figure figcaption {
  display: none;
}

.boundary-risk-steps {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.boundary-risk-step {
  min-height: 90vh;
}

@media (max-width: 1080px) {
  .boundary-risk-scroll-scene {
    min-height: 0 !important;
  }

  .boundary-risk-sticky-stage {
    position: static;
    min-height: 0;
    display: grid;
    grid-template-columns: 1fr;
    row-gap: 24px;
  }

  .boundary-risk-card-stage {
    min-height: 0;
    display: grid;
    gap: 20px;
  }

  .boundary-risk-card,
  .boundary-risk-card[data-risk-card="1"],
  .boundary-risk-card[data-risk-card="2"] {
    position: static !important;
    width: 100% !important;
    opacity: 1;
    transform: none;
    pointer-events: auto;
  }

  .boundary-risk-figure {
    justify-self: end;
    width: min(100%, 280px) !important;
  }

  .boundary-risk-steps {
    display: none;
  }
}

@media (max-width: 720px) {
  .boundary-risk-card {
    padding: 18px 18px 20px;
  }

  .boundary-risk-card h4 {
    font-size: 0.92rem;
  }

  .boundary-risk-card p {
    font-size: 0.8rem;
    line-height: 1.7;
  }
}




/* v48：修復吳至潔隱憂區塊——整頁固定、卡片在頁內切換、縮短正文與卡片距離 */
#section-6-2 {
  width: min(1180px, calc(100vw - 72px)) !important;
  min-height: 300vh !important;
  padding: 0 !important;
  justify-content: flex-start !important;
  overflow: visible !important;
  border-bottom: none !important;
}

#section-6-2 > .expert-layout {
  position: sticky !important;
  top: 0 !important;
  min-height: 100svh !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
}

#section-6-2 .expert-main {
  width: 100% !important;
  max-width: 1180px !important;
}

#section-6-2 .expert-main > p {
  margin: 0 auto 42px !important;
  max-width: 1040px !important;
  font-size: clamp(1.02rem, 1.08vw, 1.12rem) !important;
  line-height: 1.95 !important;
}

#section-6-2 .boundary-risk-scroll-scene,
#section-6-2 .boundary-risk-feature {
  margin-top: 0 !important;
  min-height: auto !important;
  height: auto !important;
  padding-right: 0 !important;
  position: relative !important;
}

#section-6-2 .boundary-risk-sticky-stage {
  position: relative !important;
  top: auto !important;
  min-height: 390px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) clamp(230px, 20vw, 320px) !important;
  column-gap: clamp(36px, 5vw, 78px) !important;
  align-items: end !important;
  width: 100% !important;
}

#section-6-2 .boundary-risk-card-stage {
  position: relative !important;
  min-height: 300px !important;
  align-self: end !important;
}

#section-6-2 .boundary-risk-card {
  position: absolute !important;
  left: 0 !important;
  bottom: 0 !important;
  width: min(100%, 820px) !important;
  padding: 24px 30px 26px !important;
  opacity: 0 !important;
  transform: translateY(26px) !important;
  pointer-events: none !important;
  transition: opacity 0.28s ease, transform 0.36s ease !important;
}

#section-6-2 .boundary-risk-card[data-risk-card="1"] {
  width: min(100%, 760px) !important;
}

#section-6-2 .boundary-risk-card[data-risk-card="2"] {
  width: min(100%, 700px) !important;
}

#section-6-2 .boundary-risk-card.is-active {
  opacity: 1 !important;
  transform: translateY(0) !important;
  pointer-events: auto !important;
}

#section-6-2 .boundary-risk-card h4 {
  font-size: 0.98rem !important;
  line-height: 1.56 !important;
}

#section-6-2 .boundary-risk-card p {
  font-size: 0.82rem !important;
  line-height: 1.72 !important;
}

#section-6-2 .boundary-risk-figure {
  position: static !important;
  align-self: end !important;
  justify-self: end !important;
  width: clamp(230px, 20vw, 320px) !important;
  max-width: none !important;
}

#section-6-2 .boundary-risk-figure img {
  width: 100% !important;
  max-height: 390px !important;
  object-fit: contain !important;
  object-position: bottom center !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

#section-6-2 .boundary-risk-steps {
  display: none !important;
}

@media (max-width: 1080px) {
  #section-6-2 {
    min-height: auto !important;
    padding: clamp(60px,9vh,104px) 0 !important;
  }

  #section-6-2 > .expert-layout {
    position: static !important;
    min-height: auto !important;
  }

  #section-6-2 .boundary-risk-sticky-stage {
    display: grid !important;
    grid-template-columns: 1fr !important;
    row-gap: 24px !important;
    min-height: 0 !important;
  }

  #section-6-2 .boundary-risk-card-stage {
    display: grid !important;
    gap: 20px !important;
    min-height: 0 !important;
  }

  #section-6-2 .boundary-risk-card,
  #section-6-2 .boundary-risk-card[data-risk-card="1"],
  #section-6-2 .boundary-risk-card[data-risk-card="2"] {
    position: static !important;
    width: 100% !important;
    opacity: 1 !important;
    transform: none !important;
    pointer-events: auto !important;
  }

  #section-6-2 .boundary-risk-figure {
    justify-self: end !important;
    width: min(100%, 280px) !important;
  }
}




/* v51：修復空白問題，並以最後控制器處理「上下替換＋避免一次跳兩張」 */
#section-6-2 {
  min-height: 360vh !important;
}

#section-6-2 .boundary-risk-card {
  opacity: 0 !important;
  transform: translateY(42px) !important;
  transition:
    opacity 0.34s ease,
    transform 0.48s cubic-bezier(0.22, 0.72, 0.26, 1) !important;
  will-change: opacity, transform;
}

#section-6-2 .boundary-risk-card.is-before {
  transform: translateY(-42px) !important;
}

#section-6-2 .boundary-risk-card.is-after {
  transform: translateY(42px) !important;
}

#section-6-2 .boundary-risk-card.is-active {
  opacity: 1 !important;
  transform: translateY(0) !important;
  pointer-events: auto !important;
}

#section-6-2 .boundary-risk-card:not(.is-active) {
  pointer-events: none !important;
}




/* v52：修復section-6-2因高度過高無法觸發is-visible導致整頁空白 */
#section-6-2 {
  min-height: 300vh !important;
  opacity: 1 !important;
  filter: none !important;
}

#section-6-2 .expert-layout,
#section-6-2 .expert-main,
#section-6-2 .boundary-risk-feature,
#section-6-2 .boundary-risk-sticky-stage {
  opacity: 1 !important;
  filter: none !important;
}



/* v53：微調吳至潔頁面版位，對齊參考佈局 */
#section-6-2 .expert-main > p {
  margin: 0 auto 22px !important;
  max-width: 1080px !important;
}

#section-6-2 .boundary-risk-scroll-scene,
#section-6-2 .boundary-risk-feature {
  margin-top: 6px !important;
}

#section-6-2 .boundary-risk-sticky-stage {
  min-height: 320px !important;
  grid-template-columns: minmax(0, 1fr) clamp(240px, 18.5vw, 300px) !important;
  column-gap: clamp(18px, 3vw, 34px) !important;
  align-items: start !important;
}

#section-6-2 .boundary-risk-card-stage {
  min-height: 250px !important;
  align-self: start !important;
}

#section-6-2 .boundary-risk-card {
  top: 0 !important;
  bottom: auto !important;
  width: min(100%, 700px) !important;
  padding: 24px 32px 24px !important;
}

#section-6-2 .boundary-risk-card[data-risk-card="1"] {
  width: min(100%, 700px) !important;
}

#section-6-2 .boundary-risk-card[data-risk-card="2"] {
  width: min(100%, 700px) !important;
}

#section-6-2 .boundary-risk-figure {
  align-self: start !important;
  justify-self: start !important;
  width: clamp(240px, 18.5vw, 300px) !important;
  margin-top: 6px !important;
}

#section-6-2 .boundary-risk-figure img {
  max-height: 340px !important;
}


/* v54：吳至潔頁面微調 */
#section-6-2 .boundary-risk-figure {
  margin-left: -20px !important;
}

#section-6-2 .boundary-risk-card {
  left: 20px !important;
  top: 10px !important;
}


/* v55：吳至潔頁面再微調 */
#section-6-2 .boundary-risk-figure {
  margin-left: -70px !important;
}

#section-6-2 .boundary-risk-card {
  left: 50px !important;
}

#section-6-2 .boundary-risk-figure figcaption {
  display: block !important;
  margin-top: 10px;
  color: #c24d78;
  font-size: 0.95rem;
  line-height: 1.4;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-align: center;
  white-space: nowrap;
}



/* v56：吳至潔頭銜樣式比照其他人物照片caption */
#section-6-2 .boundary-risk-figure figcaption {
  display: block !important;
  width: 100% !important;
  margin: 12px 0 0 !important;
  padding-top: 10px !important;
  border-top: 1px solid var(--line) !important;
  color: var(--ink-dim) !important;
  font-size: 0.78rem !important;
  line-height: 1.45 !important;
  font-weight: 400 !important;
  text-align: center !important;
  letter-spacing: 0.04em !important;
  white-space: nowrap !important;
}




/* v57：專家小卡取消強制齊行，改為左側對齊 */
.expert-card,
.expert-card-copy,
.expert-name,
.expert-quote,
.expert-detail {
  text-align: left !important;
  text-align-last: auto !important;
  text-justify: auto !important;
}

.expert-detail::after {
  content: none !important;
  display: none !important;
}




/* v58：吳至潔頁面位置微調 */
#section-6-2 .boundary-risk-figure {
  margin-left: -90px !important;
}

#section-6-2 .boundary-risk-card {
  left: 70px !important;
}




/* v59：補充框再往右20px */
#section-6-2 .boundary-risk-card {
  left: 90px !important;
}




/* v61：修正吳至潔補充觀點切換卡頓與殘影 */
#section-6-2 {
  opacity: 1 !important;
  filter: none !important;
}

#section-6-2 .boundary-risk-card-stage {
  overflow: hidden !important;
}

#section-6-2 .boundary-risk-card {
  visibility: hidden !important;
  opacity: 0 !important;
  z-index: 1 !important;
  pointer-events: none !important;
  transition: none !important;
  will-change: transform, opacity;
}

#section-6-2 .boundary-risk-card.is-before {
  transform: translateY(-48px) !important;
}

#section-6-2 .boundary-risk-card.is-after {
  transform: translateY(48px) !important;
}

#section-6-2 .boundary-risk-card.is-active {
  visibility: visible !important;
  opacity: 1 !important;
  z-index: 3 !important;
  pointer-events: auto !important;
  transform: translateY(0) !important;
  transition:
    transform 0.42s cubic-bezier(0.22, 0.72, 0.26, 1),
    opacity 0.18s ease !important;
}

#section-6-2 .boundary-risk-card.is-active[data-enter-direction="up"] {
  animation: boundaryRiskEnterUp 0.42s cubic-bezier(0.22, 0.72, 0.26, 1) both;
}

#section-6-2 .boundary-risk-card.is-active[data-enter-direction="down"] {
  animation: boundaryRiskEnterDown 0.42s cubic-bezier(0.22, 0.72, 0.26, 1) both;
}

@keyframes boundaryRiskEnterUp {
  from { opacity: 0; transform: translateY(48px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes boundaryRiskEnterDown {
  from { opacity: 0; transform: translateY(-48px); }
  to { opacity: 1; transform: translateY(0); }
}




/* v62：吳至潔補充觀點穩定版；移除閃爍與殘影 */
#section-6-2 .boundary-risk-card-stage {
  overflow: hidden !important;
}

#section-6-2 .boundary-risk-card {
  visibility: hidden !important;
  opacity: 0 !important;
  z-index: 1 !important;
  pointer-events: none !important;
  animation: none !important;
  transition:
    opacity 0.18s ease,
    transform 0.34s cubic-bezier(0.22, 0.72, 0.26, 1) !important;
  will-change: transform, opacity;
}

#section-6-2 .boundary-risk-card.is-before {
  transform: translateY(-44px) !important;
}

#section-6-2 .boundary-risk-card.is-after {
  transform: translateY(44px) !important;
}

#section-6-2 .boundary-risk-card.is-active {
  visibility: visible !important;
  opacity: 1 !important;
  z-index: 3 !important;
  pointer-events: auto !important;
  transform: translateY(0) !important;
  animation: none !important;
}

/* 覆蓋v61的data-enter-direction keyframe動畫，避免滑動時反覆重播造成閃爍 */
#section-6-2 .boundary-risk-card.is-active[data-enter-direction="up"],
#section-6-2 .boundary-risk-card.is-active[data-enter-direction="down"] {
  animation: none !important;
}




/* v65：讓section-3-3的「也」套用與其他頁相同的首字下沉效果 */
#section-3-3 .sky-main-text > p:first-of-type::first-letter {
  font-size: 3.2em;
  float: left;
  line-height: 0.78;
  margin: 0.1em 0.18em 0 0;
  font-family: var(--font-display);
  color: var(--crimson);
}




/* v66：修正section-3-3首字「也」偏細，補上與其他首字更接近的粗度 */
#section-3-3 .sky-main-text > p:first-of-type::first-letter {
  font-family: var(--font-display) !important;
  font-weight: 700 !important;
  color: var(--crimson) !important;
}




/* v67：重新比對全站首字下沉規則，讓section-3-3的「也」完全使用同一套樣式 */
#section-3-3 .sky-main-text > p:first-of-type::first-letter {
  font-family: 'Noto Serif TC', 'Georgia', serif !important;
  font-size: 3.01em !important;
  font-weight: 900 !important;
  color: var(--crimson) !important;
  text-shadow: 1px 1px 0 rgba(90,28,24,0.2) !important;
  float: left !important;
  line-height: 0.75 !important;
  margin: 0.08em 0.14em 0 0 !important;
}




/* v70：在CHAPTER 02第一段下方插入《善嵐慶女》播放器，並保留所有專家圖片 */
#section-2 .shanlan-player-slot {
  width: min(820px, 100%);
  margin: 28px auto 0;
  position: relative;
}

#section-2 .shanlan-player-frame {
  display: block;
  width: 100%;
  height: 138px;
  border: 0;
  background: transparent;
  overflow: hidden;
}

@media (max-width: 760px) {
  #section-2 .shanlan-player-slot {
    margin-top: 22px;
  }

  #section-2 .shanlan-player-frame {
    height: 132px;
  }
}




/* v71：把亨利受訪影片插入Podcast訪談影片預留區 */
.video-placeholder-filled {
  padding: 0 !important;
  overflow: hidden !important;
  background: #fdf0f3 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.video-placeholder-filled::before,
.video-placeholder-filled::after {
  pointer-events: none !important;
}

.video-placeholder-filled .interview-video {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 100% !important;
  object-fit: cover !important;
  background: #fdf0f3 !important;
}

.video-placeholder-filled .interview-video::-webkit-media-controls-panel {
  background: rgba(253,240,243, 0.72);
}




/* v72：縮小intro-2右側影片尺寸，比例接近參考圖 */
#intro-2 .video-layout {
  grid-template-columns: minmax(0, 1fr) 320px !important;
  gap: clamp(30px, 4vw, 52px) !important;
  align-items: center !important;
}

#intro-2 .video-placeholder.video-placeholder-filled {
  width: 320px !important;
  max-width: 100% !important;
  height: 450px !important;
  min-height: 450px !important;
  justify-self: center !important;
  align-self: center !important;
}

#intro-2 .video-placeholder.video-placeholder-filled .interview-video {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

@media (max-width: 900px) {
  #intro-2 .video-layout {
    grid-template-columns: 1fr !important;
  }

  #intro-2 .video-placeholder.video-placeholder-filled {
    width: min(320px, 100%) !important;
    height: 450px !important;
    min-height: 450px !important;
    margin-inline: auto !important;
  }
}



/* Tarot refresh v74: core palette lives in inline patch in index.html to ensure highest priority. */



/* v77：保留塔羅風格，但修正人物照片去背與位置，不再讓透明PNG被白底/外框破壞 */
.shen-figure img,
.impact-figure img,
.hu-figure img,
.nick-figure img,
.boundary-risk-figure img {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  object-fit: contain !important;
}

.expert-avatar {
  background-color: transparent !important;
  background-size: cover !important;
  background-position: center !important;
}

.podcast-cover-card img,
.sky-cover-frame img {
  object-fit: cover !important;
}

/* 再次明確取消漸層，避免後續樣式覆蓋回去 */
body, main, section, article, aside, figure, div,
.hero-card, .quote-panel, .resource-panel, .reader-question-card,
.question-option, .podcast-cover-card, .expert-card, .shen-note-box,
.video-placeholder, .podcast-show-badge, .impact-feature-card,
.impact-quote-box, .metric-card, .stat-card, .info-card {
  background-image: none !important;
}



/* v78 portrait transparency fix: remove all portrait frames/wrappers */
.shen-figure,
.impact-figure,
.hu-figure,
.nick-figure,
.boundary-risk-figure,
#section-5-2 .shen-figure,
#section-5-3 .impact-figure,
#section-3-2 .hu-figure,
#section-4-2 .nick-figure,
#section-6-2 .boundary-risk-figure {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  outline: none !important;
  padding: 0 !important;
}

.shen-figure img,
.impact-figure img,
.hu-figure img,
.nick-figure img,
.boundary-risk-figure img,
#section-5-2 .shen-figure img,
#section-5-3 .impact-figure img,
#section-3-2 .hu-figure img,
#section-4-2 .nick-figure img,
#section-6-2 .boundary-risk-figure img {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  outline: none !important;
  filter: none !important;
}

.shen-caption,
.impact-caption,
.hu-caption,
.nick-caption,
#section-5-2 .shen-caption,
#section-5-3 .impact-caption,
#section-3-2 .hu-caption,
#section-4-2 .nick-caption {
  border-top: none !important;
  padding-top: 0 !important;
}

.expert-avatar,
.expert-avatar img,
.expert-card .expert-avatar {
  border: none !important;
  box-shadow: none !important;
  outline: none !important;
  background-color: transparent !important;
}


/* v81：專家小卡樣式更新 */
.expert-card {
  background: #fff2f6 !important;
  background-image: none !important;
  color: #3a1a2e !important;
  border-color: #3a1a2e !important;
  box-shadow: 0 4px 20px rgba(194,77,120,0.10) !important;
}

.expert-card:hover,
.expert-card.is-open,
.expert-card:focus-visible {
  background: #fff2f6 !important;
  background-image: none !important;
  border-color: #3a1a2e !important;
  box-shadow: 3px 3px 0 rgba(212,104,138,0.08) !important;
  outline: none !important;
}

.expert-avatar {
  border: 1px solid rgba(212,104,138,0.4) !important;
  box-shadow: 0 0 0 1px rgba(212,104,138,0.15) !important;
  background-color: rgba(212,104,138,0.08) !important;
}

.expert-name {
  color: #3a1a2e !important;
}

.expert-quote {
  color: #d4688a !important;
}

.expert-detail {
  color: #3a1a2e !important;
  border-top: 1px solid rgba(212,104,138,0.20) !important;
}


/* v82：修正專家小卡首頁底色與hover狀態 */
.expert-panel .expert-card,
.expert-card-list .expert-card {
  background: #fff2f6 !important;
  background-color: #3a1a2e !important;
  background-image: none !important;
  color: #3a1a2e !important;
  border: 1px solid #fff2f6 !important;
  box-shadow: 0 4px 20px rgba(194,77,120,0.10) !important;
}

.expert-panel .expert-card .expert-name,
.expert-card-list .expert-card .expert-name {
  color: #3a1a2e !important;
}

.expert-panel .expert-card .expert-quote,
.expert-card-list .expert-card .expert-quote {
  color: #d4688a !important;
}

.expert-panel .expert-card .expert-detail,
.expert-card-list .expert-card .expert-detail {
  color: #3a1a2e !important;
  border-top: 1px solid rgba(212,104,138,0.20) !important;
}

.expert-panel .expert-card:hover,
.expert-panel .expert-card:focus-visible,
.expert-card-list .expert-card:hover,
.expert-card-list .expert-card:focus-visible {
  background: #fde8f1 !important;
  background-color: #fde8f1 !important;
  border-color: #d4688a !important;
  box-shadow: 4px 4px 0 rgba(121, 68, 58, 0.16) !important;
  outline: none !important;
}

.expert-panel .expert-card.is-open,
.expert-card-list .expert-card.is-open {
  background: #fff2f6 !important;
  background-color: #3a1a2e !important;
  border-color: #3a1a2e !important;
  box-shadow: 0 6px 24px rgba(194,77,120,0.14) !important;
}

.expert-panel .expert-card.is-open:hover,
.expert-panel .expert-card.is-open:focus-visible,
.expert-card-list .expert-card.is-open:hover,
.expert-card-list .expert-card.is-open:focus-visible {
  background: #ffeaf2 !important;
  background-color: #3a1a2e !important;
  border-color: #d4688a !important;
  box-shadow: 0 6px 22px rgba(194,77,120,0.16) !important;
}

.expert-panel .expert-card .expert-avatar,
.expert-card-list .expert-card .expert-avatar {
  border: 1px solid rgba(212,104,138,0.4) !important;
  box-shadow: 0 0 0 1px rgba(212,104,138,0.18) !important;
  background-color: rgba(212,104,138,0.06) !important;
}


/* v83：加強專家小卡hover視覺提示 */
.expert-panel .expert-card,
.expert-card-list .expert-card {
  transition:
    background-color 0.18s ease,
    border-color 0.18s ease,
    box-shadow 0.18s ease,
    transform 0.18s ease !important;
}

.expert-panel .expert-card:hover,
.expert-panel .expert-card:focus-visible,
.expert-card-list .expert-card:hover,
.expert-card-list .expert-card:focus-visible {
  background: #fde0ec !important;
  background-color: #fde0ec !important;
  border-color: #d4688a !important;
  box-shadow: 0 8px 28px rgba(194,77,120,0.18) !important;
  transform: translateY(-4px) scale(1.012) !important;
  outline: none !important;
}

.expert-panel .expert-card:hover .expert-name,
.expert-panel .expert-card:focus-visible .expert-name,
.expert-card-list .expert-card:hover .expert-name,
.expert-card-list .expert-card:focus-visible .expert-name {
  color: #3a1a2e !important;
}

.expert-panel .expert-card:hover .expert-quote,
.expert-panel .expert-card:focus-visible .expert-quote,
.expert-card-list .expert-card:hover .expert-quote,
.expert-card-list .expert-card:focus-visible .expert-quote {
  color: #c24d78 !important;
}

.expert-panel .expert-card.is-open:hover,
.expert-panel .expert-card.is-open:focus-visible,
.expert-card-list .expert-card.is-open:hover,
.expert-card-list .expert-card.is-open:focus-visible {
  background: #fde8f1 !important;
  background-color: #fde8f1 !important;
  border-color: #d4688a !important;
  box-shadow: 0 8px 28px rgba(194,77,120,0.20) !important;
  transform: translateY(-4px) scale(1.01) !important;
}


/* v85：讓專家小卡右側也能看見陰影，保留空間感 */
.expert-panel .expert-card-list,
.expert-card-list {
  padding-right: 8px !important;
  padding-bottom: 8px !important;
  overflow: visible !important;
}

.expert-panel,
.expert-panel .expert-card,
.expert-card-list .expert-card {
  overflow: visible !important;
}


/* v86：縮小專家小卡hover / open陰影，保留右側空間感但更收斂 */
.expert-panel .expert-card:hover,
.expert-panel .expert-card:focus-visible,
.expert-card-list .expert-card:hover,
.expert-card-list .expert-card:focus-visible {
  box-shadow: 0 6px 22px rgba(194,77,120,0.16) !important;
}

.expert-panel .expert-card.is-open:hover,
.expert-panel .expert-card.is-open:focus-visible,
.expert-card-list .expert-card.is-open:hover,
.expert-card-list .expert-card.is-open:focus-visible {
  box-shadow: 0 6px 22px rgba(194,77,120,0.18) !important;
}


/* v87：底部credit改為左右分欄 */
footer .footer-credit-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  width: 100%;
  color: var(--ink-ghost);
  font-size: 0.86rem;
  line-height: 1.8;
  letter-spacing: 0.04em;
}

footer .footer-credit-left {
  text-align: left;
}

footer .footer-credit-right {
  text-align: right;
  white-space: nowrap;
}

@media (max-width: 760px) {
  footer .footer-credit-row {
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
  }
  footer .footer-credit-right {
    text-align: left;
    white-space: normal;
  }
}


/* v88：將署名整合進最後一頁，無須再往下滑 */
#ending-2 {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  box-sizing: border-box;
  padding-top: 18vh;
  padding-bottom: 54px;
}

#ending-2 > p {
  width: min(var(--content-width), calc(100% - 72px));
  margin: auto auto 0;
}

#ending-2 .ending-inline-credit {
  width: min(1080px, calc(100% - 72px));
  margin: auto auto 0;
  padding-top: 18px;
  border-top: 1px solid var(--line);
}

footer[aria-hidden="true"] {
  display: none !important;
}

@media (max-width: 760px) {
  #ending-2 {
    padding-top: 14vh;
    padding-bottom: 36px;
  }
  #ending-2 > p,
  #ending-2 .ending-inline-credit {
    width: min(100%, calc(100% - 32px));
  }
}


/* v89：吳至潔補充觀點改為白底紅框 */
.expert-card.expert-card-wu,
.expert-panel .expert-card.expert-card-wu,
.expert-card-list .expert-card.expert-card-wu {
  background: #fffdf8 !important;
  background-color: #3a1a2e !important;
  border: 2px solid #8b3a3a !important;
  box-shadow: 2px 2px 0 rgba(139, 58, 58, 0.12) !important;
}

.expert-card.expert-card-wu .expert-name,
.expert-panel .expert-card.expert-card-wu .expert-name,
.expert-card-list .expert-card.expert-card-wu .expert-name {
  color: #8b3a3a !important;
}

.expert-card.expert-card-wu .expert-quote,
.expert-panel .expert-card.expert-card-wu .expert-quote,
.expert-card-list .expert-card.expert-card-wu .expert-quote {
  color: #7c6751 !important;
}

.expert-card.expert-card-wu .expert-detail,
.expert-panel .expert-card.expert-card-wu .expert-detail,
.expert-card-list .expert-card.expert-card-wu .expert-detail {
  color: #42352c !important;
  border-top: 1px solid rgba(139, 58, 58, 0.26) !important;
}

.expert-card.expert-card-wu:hover,
.expert-card.expert-card-wu:focus-visible,
.expert-card.expert-card-wu.is-open,
.expert-panel .expert-card.expert-card-wu:hover,
.expert-panel .expert-card.expert-card-wu:focus-visible,
.expert-panel .expert-card.expert-card-wu.is-open,
.expert-card-list .expert-card.expert-card-wu:hover,
.expert-card-list .expert-card.expert-card-wu:focus-visible,
.expert-card-list .expert-card.expert-card-wu.is-open {
  background: #fffaf2 !important;
  background-color: #3a1a2e !important;
  border-color: #8b3a3a !important;
  box-shadow: 3px 3px 0 rgba(139, 58, 58, 0.16) !important;
}


/* v90：修正「吳至潔補充觀點」——改為白底紅框（僅套用在section-6-2頁面） */
#section-6-2 .boundary-risk-card,
#section-6-2 .boundary-risk-card[data-risk-card="1"],
#section-6-2 .boundary-risk-card[data-risk-card="2"] {
  background: #fffdf8 !important;
  background-color: #3a1a2e !important;
  border: 2px solid #8b3a3a !important;
  box-shadow: none !important;
}

#section-6-2 .boundary-risk-card h4 {
  color: #8b3a3a !important;
}

#section-6-2 .boundary-risk-card p {
  color: #4c3b31 !important;
}


/* v91：修正section-6-2的隱憂一、隱憂三下半部被截掉 */
#section-6-2 .boundary-risk-sticky-stage {
  min-height: 460px !important;
  align-items: end !important;
}

#section-6-2 .boundary-risk-card-stage {
  min-height: 460px !important;
  overflow: visible !important;
}

#section-6-2 .boundary-risk-card,
#section-6-2 .boundary-risk-card[data-risk-card="1"],
#section-6-2 .boundary-risk-card[data-risk-card="2"] {
  max-height: none !important;
  overflow: visible !important;
}


/* v92：ending後新增Podcaster生存戰互動遊戲頁 */
#podcast-survival-game-page {
  width: min(980px, calc(100% - 40px));
  margin-inline: auto;
  padding-top: clamp(56px, 8vh, 92px);
  padding-bottom: clamp(64px, 9vh, 108px);
}

#podcast-survival-game-page .game-page-intro {
  width: min(760px, 100%);
  margin: 0 auto 26px;
  text-align: center;
}

#podcast-survival-game-page .section-label {
  margin-bottom: 10px;
}

#podcast-survival-game-page h2 {
  margin-bottom: 10px;
}

#podcast-survival-game-page .game-page-note {
  margin: 0 auto;
  max-width: 700px;
  color: rgba(28,19,10,0.72);
  text-align: center;
}

#podcast-survival-game-page .podcast-game-embed {
  width: min(980px, 100%);
  margin: 0 auto;
  overflow: hidden;
}

#podcast-survival-game-page iframe {
  display: block;
  width: 100%;
  min-height: 960px;
  border: 0;
  background: #f5f1e8;
}

@media (max-width: 900px) {
  #podcast-survival-game-page {
    width: min(100%, calc(100% - 20px));
  }
  #podcast-survival-game-page iframe {
    min-height: 1120px;
  }
}


/* v93：將新增互動遊戲縮放至與其他滿版頁接近的視覺比例 */
#podcast-survival-game-page {
  width: min(980px, calc(100% - 40px));
  margin-inline: auto;
  padding-top: clamp(40px, 6vh, 72px);
  padding-bottom: clamp(52px, 7vh, 84px);
}

#podcast-survival-game-page .game-page-intro {
  margin: 0 auto 18px;
}

#podcast-survival-game-page .podcast-game-embed {
  width: fit-content;
  max-width: 100%;
  margin: 0 auto;
  overflow: hidden;
  position: relative;
}

#podcast-survival-game-page iframe {
  display: block;
  border: 0;
  background: #f5f1e8;
  position: absolute;
  top: 0;
  left: 50%;
}

@media (max-width: 900px) {
  #podcast-survival-game-page {
    width: min(100%, calc(100% - 20px));
    padding-top: 28px;
    padding-bottom: 44px;
  }

  #podcast-survival-game-page .game-page-intro {
    margin-bottom: 14px;
  }
}


/* v94：互動遊戲頁再縮小、並修正偏移 */
#podcast-survival-game-page {
  width: min(940px, calc(100% - 48px));
  margin-inline: auto;
}
#podcast-survival-game-page .game-page-intro {
  width: min(760px, 100%);
  margin: 0 auto 14px;
}
#podcast-survival-game-page .podcast-game-embed {
  position: relative;
  overflow: hidden;
  margin: 0 auto;
}
#podcast-survival-game-page iframe {
  position: absolute;
  top: 0;
  left: 0;
  border: 0;
  background: #f5f1e8;
}
@media (max-width: 900px) {
  #podcast-survival-game-page {
    width: min(100%, calc(100% - 20px));
  }
}

/* v95：副標縮成一行，並把遊戲整體上移 */
#podcast-survival-game-page {
  padding-top: clamp(18px, 3vh, 30px);
  padding-bottom: clamp(40px, 6vh, 72px);
}
#podcast-survival-game-page .game-page-intro {
  width: min(880px, 100%);
  margin: 0 auto 8px;
}
#podcast-survival-game-page h2 {
  margin-bottom: 8px;
}
#podcast-survival-game-page .section-label {
  margin-bottom: 6px;
}
#podcast-survival-game-page .game-page-note {
  max-width: none;
  width: 100%;
  white-space: nowrap;
  font-size: 0.92rem;
  line-height: 1.35;
  letter-spacing: 0;
}
#podcast-survival-game-page .podcast-game-embed {
  margin-top: 0;
}
@media (max-width: 900px) {
  #podcast-survival-game-page {
    padding-top: 18px;
    padding-bottom: 40px;
  }
  #podcast-survival-game-page .game-page-intro {
    width: min(100%, 760px);
    margin-bottom: 10px;
  }
  #podcast-survival-game-page .game-page-note {
    white-space: normal;
    font-size: 0.9rem;
    line-height: 1.6;
  }
}


/* v96：互動遊戲再縮小，並固定為一頁式顯示 */
#podcast-survival-game-page {
  padding-top: clamp(10px, 2vh, 22px) !important;
  padding-bottom: clamp(28px, 4vh, 54px) !important;
  width: min(900px, calc(100% - 48px)) !important;
}
#podcast-survival-game-page .game-page-intro {
  margin-bottom: 6px !important;
}
#podcast-survival-game-page .section-label {
  margin-bottom: 4px !important;
  font-size: 0.68rem !important;
}
#podcast-survival-game-page h2 {
  margin-bottom: 4px !important;
  font-size: clamp(2rem, 3.6vw, 3rem) !important;
  line-height: 1.05 !important;
}
#podcast-survival-game-page .game-page-note {
  font-size: 0.84rem !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
}
#podcast-survival-game-page .podcast-game-embed {
  margin-top: 0 !important;
  overflow: hidden !important;
}
#podcast-survival-game-page iframe {
  overflow: hidden !important;
}


/* v106 Spotify dark theme */
:root {
  --bg: #fdf0f3 !important;
  --bg-soft: #fff7f9 !important;
  --bg-card: #fff7f9 !important;
  --ink: #ffffff !important;
  --ink-dim: rgba(255,255,255,0.72) !important;
  --ink-ghost: rgba(255,255,255,0.42) !important;
  --gold: #c24d78 !important;
  --gold-line: rgba(129,169,112,0.42) !important;
  --gold-pale: rgba(129,169,112,0.12) !important;
  --crimson: #c24d78 !important;
  --steel: #b3b3b3 !important;
  --line: rgba(255,255,255,0.10) !important;
  --line-strong: rgba(255,255,255,0.20) !important;
}
/* end v106 Spotify dark theme */

/* PATCH v102: restore light paragraph text on dark feature sections */
#section-2 .sky-main-text p,
#section-3-2 .hu-main-text p,
#section-3-3 .sky-main-text p,
#section-4-2 .nick-main-text p,
#section-5-2 .shen-main-text p,
#section-5-3 .impact-main-text p {
  color: rgba(58,26,46, 230, 0.94) !important;
}


/* PATCH v115: 專家補充觀點頁拆為兩步驟 */
.article-section.expert-two-step-intro {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.article-section.expert-two-step-intro .expert-two-step-text-shell {
  width: min(100%, 1060px) !important;
  min-height: 66vh !important;
  margin: 0 auto !important;
  padding: clamp(16px, 3vw, 36px) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.article-section.expert-two-step-intro .expert-two-step-text-inner {
  width: min(100%, 1020px) !important;
}

.article-section.expert-two-step-intro .expert-two-step-text-inner p {
  margin: 0 !important;
  color: rgba(58,26,46, 228, 0.94) !important;
  font-size: clamp(1rem, 1.16vw, 1.12rem) !important;
  line-height: 1.95 !important;
  letter-spacing: 0.022em !important;
  text-align: justify !important;
  text-justify: inter-ideograph !important;
}

.article-section.expert-two-step-detail .hu-main-text,
.article-section.expert-two-step-detail .sky-main-text,
.article-section.expert-two-step-detail .nick-main-text,
.article-section.expert-two-step-detail .impact-main-text {
  display: none !important;
}

.article-section.expert-two-step-detail .expert-layout,
.article-section.expert-two-step-detail .expert-main {
  width: 100% !important;
  min-height: 100% !important;
  height: 100% !important;
}

.article-section.expert-two-step-detail .hu-feature-layout,
.article-section.expert-two-step-detail .sky-feature-layout,
.article-section.expert-two-step-detail .nick-feature-layout,
.article-section.expert-two-step-detail .impact-feature-layout {
  width: 100% !important;
  min-height: 68vh !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}

.article-section.expert-two-step-detail .hu-bottom-row,
.article-section.expert-two-step-detail .sky-bottom-row,
.article-section.expert-two-step-detail .nick-bottom-row,
.article-section.expert-two-step-detail .impact-figures-row {
  margin-top: 0 !important;
  width: 100% !important;
  justify-content: center !important;
  align-items: flex-end !important;
}

.article-section.expert-two-step-detail .impact-figures-row {
  gap: clamp(20px, 4vw, 56px) !important;
}

@media (max-width: 900px) {
  .article-section.expert-two-step-intro .expert-two-step-text-inner p {
    font-size: 0.98rem !important;
  }

  .article-section.expert-two-step-detail .hu-feature-layout,
  .article-section.expert-two-step-detail .sky-feature-layout,
  .article-section.expert-two-step-detail .nick-feature-layout,
  .article-section.expert-two-step-detail .impact-feature-layout {
    min-height: auto !important;
  }
}
/* END PATCH v115 */


/* PATCH v116: 補充觀點頁改乳白底與矩形底框 */
.article-section.expert-two-step-detail {
  background: #f5efe5 !important;
}

.article-section.expert-two-step-detail .hu-bottom-row,
.article-section.expert-two-step-detail .sky-bottom-row,
.article-section.expert-two-step-detail .nick-bottom-row,
.article-section.expert-two-step-detail .impact-figures-row {
  gap: clamp(26px, 3.8vw, 52px) !important;
  align-items: flex-end !important;
}

.article-section.expert-two-step-detail .hu-caption,
.article-section.expert-two-step-detail .sky-caption,
.article-section.expert-two-step-detail .nick-caption,
.article-section.expert-two-step-detail .impact-caption {
  color: #51563c !important;
  border-top-color: rgba(81, 86, 60, 0.24) !important;
}

.article-section.expert-two-step-detail .hu-note-box,
.article-section.expert-two-step-detail .sky-note-box,
.article-section.expert-two-step-detail .nick-note-box,
.article-section.expert-two-step-detail .impact-note-box {
  position: relative !important;
  display: block !important;
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
  cursor: pointer !important;
  user-select: none !important;
  isolation: isolate !important;
}

.article-section.expert-two-step-detail .hu-note-box::before,
.article-section.expert-two-step-detail .sky-note-box::before,
.article-section.expert-two-step-detail .nick-note-box::before,
.article-section.expert-two-step-detail .impact-note-box::before {
  content: "";
  position: absolute;
  inset: 0;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100% 100%;
  z-index: -1;
}

.article-section.expert-two-step-detail .note-rect-1::before { background-image: url("images/note-rect-1.png") !important; }
.article-section.expert-two-step-detail .note-rect-2::before { background-image: url("images/note-rect-2.png") !important; }
.article-section.expert-two-step-detail .note-rect-3::before { background-image: url("images/note-rect-3.png") !important; }
.article-section.expert-two-step-detail .note-rect-4::before { background-image: url("images/note-rect-4.png") !important; }

#section-3-2 .hu-note-box {
  width: clamp(340px, 29vw, 410px) !important;
  aspect-ratio: 1244 / 1245 !important;
  min-height: 340px !important;
  height: auto !important;
  margin: 0 0 8px !important;
  padding: 34px 34px 56px !important;
}

#section-3-3 .sky-note-box {
  width: clamp(390px, 34vw, 500px) !important;
  aspect-ratio: 1112 / 624 !important;
  min-height: 218px !important;
  height: auto !important;
  margin: 0 0 10px !important;
  padding: 28px 34px 54px !important;
}

#section-4-2 .nick-note-box {
  width: clamp(405px, 35vw, 515px) !important;
  aspect-ratio: 1179 / 676 !important;
  min-height: 230px !important;
  height: auto !important;
  margin: 0 0 10px !important;
  padding: 30px 36px 56px !important;
}

#section-5-3 .impact-note-box {
  width: clamp(290px, 22vw, 350px) !important;
  aspect-ratio: 1112 / 624 !important;
  min-height: 178px !important;
  height: auto !important;
  margin: 0 0 8px !important;
  padding: 24px 26px 48px !important;
}

.article-section.expert-two-step-detail .hu-note-part,
.article-section.expert-two-step-detail .sky-note-part,
.article-section.expert-two-step-detail .nick-note-part,
.article-section.expert-two-step-detail .impact-note-part {
  display: none !important;
}
.article-section.expert-two-step-detail .hu-note-part.is-active,
.article-section.expert-two-step-detail .sky-note-part.is-active,
.article-section.expert-two-step-detail .nick-note-part.is-active,
.article-section.expert-two-step-detail .impact-note-part.is-active {
  display: block !important;
}

.article-section.expert-two-step-detail .hu-note-part p,
.article-section.expert-two-step-detail .sky-note-part p,
.article-section.expert-two-step-detail .nick-note-part p,
.article-section.expert-two-step-detail .impact-note-part p {
  margin: 0 !important;
  color: #2e3a24 !important;
  font-size: 0.86rem !important;
  line-height: 1.7 !important;
  text-align: justify !important;
  text-justify: inter-ideograph !important;
}
#section-5-3 .impact-note-part p {
  font-size: 0.79rem !important;
  line-height: 1.62 !important;
}

.article-section.expert-two-step-detail .hu-note-hint,
.article-section.expert-two-step-detail .sky-note-hint,
.article-section.expert-two-step-detail .nick-note-hint,
.article-section.expert-two-step-detail .impact-note-hint {
  position: absolute !important;
  right: 30px !important;
  bottom: 20px !important;
  color: #566844 !important;
  font-size: 0.68rem !important;
  letter-spacing: 0.06em !important;
}
#section-5-3 .impact-note-hint {
  right: 24px !important;
  bottom: 16px !important;
  font-size: 0.62rem !important;
}

.article-section.expert-two-step-detail .hu-note-counter,
.article-section.expert-two-step-detail .sky-note-counter,
.article-section.expert-two-step-detail .nick-note-counter,
.article-section.expert-two-step-detail .impact-note-counter {
  position: absolute !important;
  left: 30px !important;
  bottom: 20px !important;
  color: #566844 !important;
  font-size: 0.92rem !important;
  letter-spacing: 0.02em !important;
}
#section-5-3 .impact-note-counter {
  left: 24px !important;
  bottom: 16px !important;
  font-size: 0.82rem !important;
}

.article-section.expert-two-step-detail .hu-note-pagebox,
.article-section.expert-two-step-detail .sky-note-pagebox,
.article-section.expert-two-step-detail .nick-note-pagebox,
.article-section.expert-two-step-detail .impact-note-pagebox,
.article-section.expert-two-step-detail .hu-note-slash,
.article-section.expert-two-step-detail .sky-note-slash,
.article-section.expert-two-step-detail .nick-note-slash,
.article-section.expert-two-step-detail .impact-note-slash {
  color: #6b7c57 !important;
}
.article-section.expert-two-step-detail .hu-note-pagebox.is-active,
.article-section.expert-two-step-detail .sky-note-pagebox.is-active,
.article-section.expert-two-step-detail .nick-note-pagebox.is-active,
.article-section.expert-two-step-detail .impact-note-pagebox.is-active {
  color: #2f3d22 !important;
  font-weight: 700 !important;
}

@media (max-width: 900px) {
  #section-3-2 .hu-note-box,
  #section-3-3 .sky-note-box,
  #section-4-2 .nick-note-box,
  #section-5-3 .impact-note-box {
    width: min(100%, 520px) !important;
  }

  #section-5-3 .impact-note-box {
    width: min(100%, 420px) !important;
  }
}
/* END PATCH v116 */


/* PATCH v117: 專家補充頁深色底與放大矩形 */
body {
  background-color: #3a1a2e;
  background-image: url("images/site-bg-dark.png"), url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)' opacity='0.035'/%3E%3C/svg%3E") !important;
  background-size: cover, auto !important;
  background-position: center center, left top !important;
  background-repeat: no-repeat, repeat !important;
}

.article-section.expert-two-step-detail,
.article-section.expert-two-step-intro {
  background: url("images/site-bg-dark.png") center center / cover no-repeat !important;
}

.article-section.expert-two-step-detail .hu-caption,
.article-section.expert-two-step-detail .sky-caption,
.article-section.expert-two-step-detail .nick-caption,
.article-section.expert-two-step-detail .impact-caption {
  color: rgba(58,26,46, 228, 0.9) !important;
  border-top-color: rgba(212,104,138,0.18) !important;
}

#section-3-2 .hu-note-box,
#section-3-3 .sky-note-box,
#section-4-2 .nick-note-box,
#section-5-3 .impact-note-box {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  outline: none !important;
  overflow: visible !important;
  z-index: 1 !important;
}

#section-3-2 .hu-note-box::before,
#section-3-3 .sky-note-box::before,
#section-4-2 .nick-note-box::before,
#section-5-3 .impact-note-box::before {
  z-index: 0 !important;
}

#section-3-2 .hu-note-box > *,
#section-3-3 .sky-note-box > *,
#section-4-2 .nick-note-box > *,
#section-5-3 .impact-note-box > * {
  position: relative !important;
  z-index: 1 !important;
}

#section-3-2 .hu-note-box {
  width: clamp(430px, 34vw, 490px) !important;
  aspect-ratio: 1244 / 1245 !important;
  min-height: 430px !important;
  margin: 0 0 8px !important;
  padding: 42px 42px 68px !important;
}

#section-3-3 .sky-note-box {
  width: clamp(500px, 40vw, 590px) !important;
  aspect-ratio: 1112 / 624 !important;
  min-height: 280px !important;
  margin: 0 0 10px !important;
  padding: 34px 40px 60px !important;
}

#section-4-2 .nick-note-box {
  width: clamp(540px, 42vw, 630px) !important;
  aspect-ratio: 1179 / 676 !important;
  min-height: 310px !important;
  margin: 0 0 10px !important;
  padding: 36px 42px 62px !important;
}

#section-5-3 .impact-note-box {
  width: clamp(330px, 25vw, 390px) !important;
  aspect-ratio: 1112 / 624 !important;
  min-height: 198px !important;
  margin: 0 0 8px !important;
  padding: 26px 30px 50px !important;
}

.article-section.expert-two-step-detail .hu-note-part p,
.article-section.expert-two-step-detail .sky-note-part p,
.article-section.expert-two-step-detail .nick-note-part p,
.article-section.expert-two-step-detail .impact-note-part p {
  color: rgba(58,26,46, 232, 0.96) !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.12) !important;
}

#section-3-2 .hu-note-part p {
  font-size: 0.9rem !important;
  line-height: 1.72 !important;
}
#section-3-3 .sky-note-part p,
#section-4-2 .nick-note-part p {
  font-size: 0.9rem !important;
  line-height: 1.72 !important;
}
#section-5-3 .impact-note-part p {
  font-size: 0.82rem !important;
  line-height: 1.65 !important;
}

.article-section.expert-two-step-detail .hu-note-hint,
.article-section.expert-two-step-detail .sky-note-hint,
.article-section.expert-two-step-detail .nick-note-hint,
.article-section.expert-two-step-detail .impact-note-hint,
.article-section.expert-two-step-detail .hu-note-counter,
.article-section.expert-two-step-detail .sky-note-counter,
.article-section.expert-two-step-detail .nick-note-counter,
.article-section.expert-two-step-detail .impact-note-counter,
.article-section.expert-two-step-detail .hu-note-pagebox,
.article-section.expert-two-step-detail .sky-note-pagebox,
.article-section.expert-two-step-detail .nick-note-pagebox,
.article-section.expert-two-step-detail .impact-note-pagebox,
.article-section.expert-two-step-detail .hu-note-slash,
.article-section.expert-two-step-detail .sky-note-slash,
.article-section.expert-two-step-detail .nick-note-slash,
.article-section.expert-two-step-detail .impact-note-slash {
  color: rgba(194,77,120, 167, 0.95) !important;
}

.article-section.expert-two-step-detail .hu-note-pagebox.is-active,
.article-section.expert-two-step-detail .sky-note-pagebox.is-active,
.article-section.expert-two-step-detail .nick-note-pagebox.is-active,
.article-section.expert-two-step-detail .impact-note-pagebox.is-active {
  color: #c24d78 !important;
}

@media (max-width: 1100px) {
  #section-3-3 .sky-note-box,
  #section-4-2 .nick-note-box {
    width: min(100%, 560px) !important;
  }
}

@media (max-width: 900px) {
  #section-3-2 .hu-note-box,
  #section-3-3 .sky-note-box,
  #section-4-2 .nick-note-box,
  #section-5-3 .impact-note-box {
    width: min(100%, 92vw) !important;
  }
}
/* END PATCH v117 */


/* PATCH v118: 全頁深色底與去除專家框 */
html,
body,
header.spotify-home,
header.hero,
main,
.layout,
.article-shell,
footer {
  background-color: #3a1a2e !important;
  background-image: url("images/site-bg-dark.png"), url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)' opacity='0.035'/%3E%3C/svg%3E") !important;
  background-size: cover, auto !important;
  background-position: center center, left top !important;
  background-repeat: no-repeat, repeat !important;
}

.article-section,
.quote-panel,
.resource-panel,
.spotify-home,
.spotify-library,
.spotify-hero-strip {
  background-color: transparent !important;
}

.article-section.expert-two-step-detail,
.article-section.expert-two-step-intro {
  background: transparent !important;
}

.article-section.expert-two-step-detail .hu-note-box,
.article-section.expert-two-step-detail .sky-note-box,
.article-section.expert-two-step-detail .nick-note-box,
.article-section.expert-two-step-detail .impact-note-box {
  background: transparent !important;
  box-shadow: none !important;
  border: none !important;
  outline: none !important;
}

.article-section.expert-two-step-detail .hu-note-box::before,
.article-section.expert-two-step-detail .sky-note-box::before,
.article-section.expert-two-step-detail .nick-note-box::before,
.article-section.expert-two-step-detail .impact-note-box::before {
  content: none !important;
  display: none !important;
}

.article-section.expert-two-step-detail .note-rect-1 {
  background: url("images/note-rect-1.png") center / 100% 100% no-repeat !important;
}
.article-section.expert-two-step-detail .note-rect-2 {
  background: url("images/note-rect-2.png") center / 100% 100% no-repeat !important;
}
.article-section.expert-two-step-detail .note-rect-3 {
  background: url("images/note-rect-3.png") center / 100% 100% no-repeat !important;
}
.article-section.expert-two-step-detail .note-rect-4 {
  background: url("images/note-rect-4.png") center / 100% 100% no-repeat !important;
}

#section-3-2 .hu-note-box {
  width: clamp(560px, 42vw, 620px) !important;
  aspect-ratio: 1244 / 1245 !important;
  min-height: 560px !important;
  height: auto !important;
  padding: 48px 48px 88px !important;
  margin: 0 0 8px !important;
}
#section-3-3 .sky-note-box {
  width: clamp(620px, 48vw, 720px) !important;
  aspect-ratio: 1112 / 624 !important;
  min-height: 360px !important;
  height: auto !important;
  padding: 40px 48px 70px !important;
  margin: 0 0 10px !important;
}
#section-4-2 .nick-note-box {
  width: clamp(700px, 52vw, 800px) !important;
  aspect-ratio: 1179 / 676 !important;
  min-height: 410px !important;
  height: auto !important;
  padding: 40px 50px 74px !important;
  margin: 0 0 10px !important;
}
#section-5-3 .impact-note-box {
  width: clamp(430px, 30vw, 500px) !important;
  aspect-ratio: 826 / 1175 !important;
  min-height: 612px !important;
  height: auto !important;
  padding: 40px 34px 74px !important;
  margin: 0 0 8px !important;
}

#section-3-2 .hu-note-part p,
#section-3-3 .sky-note-part p,
#section-4-2 .nick-note-part p,
#section-5-3 .impact-note-part p {
  margin: 0 !important;
  color: rgba(58,26,46, 232, 0.96) !important;
  font-size: 0.88rem !important;
  line-height: 1.7 !important;
  text-shadow: 0 1px 2px rgba(212,104,138,0.08) !important;
}
#section-5-3 .impact-note-part p {
  font-size: 0.85rem !important;
  line-height: 1.68 !important;
}

.article-section.expert-two-step-detail .hu-note-hint,
.article-section.expert-two-step-detail .sky-note-hint,
.article-section.expert-two-step-detail .nick-note-hint,
.article-section.expert-two-step-detail .impact-note-hint,
.article-section.expert-two-step-detail .hu-note-counter,
.article-section.expert-two-step-detail .sky-note-counter,
.article-section.expert-two-step-detail .nick-note-counter,
.article-section.expert-two-step-detail .impact-note-counter,
.article-section.expert-two-step-detail .hu-note-pagebox,
.article-section.expert-two-step-detail .sky-note-pagebox,
.article-section.expert-two-step-detail .nick-note-pagebox,
.article-section.expert-two-step-detail .impact-note-pagebox,
.article-section.expert-two-step-detail .hu-note-slash,
.article-section.expert-two-step-detail .sky-note-slash,
.article-section.expert-two-step-detail .nick-note-slash,
.article-section.expert-two-step-detail .impact-note-slash {
  color: rgba(194,77,120, 167, 0.95) !important;
}

@media (max-width: 1200px) {
  #section-3-2 .hu-note-box { width: min(90vw, 580px) !important; }
  #section-3-3 .sky-note-box { width: min(92vw, 660px) !important; }
  #section-4-2 .nick-note-box { width: min(94vw, 720px) !important; }
  #section-5-3 .impact-note-box { width: min(82vw, 470px) !important; }
}
@media (max-width: 900px) {
  #section-3-2 .hu-note-box,
  #section-3-3 .sky-note-box,
  #section-4-2 .nick-note-box,
  #section-5-3 .impact-note-box {
    width: min(92vw, 620px) !important;
  }
}
/* END PATCH v118 */


/* ══════════════════════════════════════════════════════════════════
   PINK ZEN THEME OVERRIDE — v1.0
   柔光玫瑰 · 薄荷白霧 · 清新靜謐
   ══════════════════════════════════════════════════════════════════ */

/* ── 重新定義所有CSS變數 ── */
:root {
  --bg:           #fdf0f3;
  --bg-soft:      #f9e6ec;
  --bg-card:      #fff7f9;
  --ink:          #3a1a2e;
  --ink-dim:      rgba(58,26,46,0.58);
  --ink-ghost:    rgba(58,26,46,0.28);
  --gold:         #d4688a;
  --gold-line:    rgba(212,104,138,0.4);
  --gold-pale:    rgba(212,104,138,0.10);
  --crimson:      #c24d78;
  --steel:        #9b6fa8;
  --line:         rgba(212,104,138,0.18);
  --line-strong:  rgba(212,104,138,0.30);
  --shadow:       0 8px 40px rgba(194,77,120,0.10);
  --radius:       16px;
  --zen-glow:     radial-gradient(ellipse 60% 55% at 50% 46%, rgba(255,182,206,0.55) 0%, rgba(255,210,225,0.28) 45%, transparent 78%);
  --zen-rose:     #e8a0b8;
  --zen-blush:    #fce8ef;
  --zen-mist:     #f0e8f5;
  --zen-petal:    #ff85aa;
  --font-serif:   "Noto Serif TC","Georgia","Songti TC",serif;
  --font-sans:    "DM Sans","Noto Sans TC","PingFang TC","Microsoft JhengHei",sans-serif;
  --font-display: "Noto Serif TC","Georgia",serif;
}

/* ── 全站背景：柔粉漸層 + 靜謐光暈 ── */
html,
body,
header.spotify-home,
header.hero,
main,
.layout,
.article-shell,
footer {
  background-color: #3a1a2e !important;
  background-image: none !important;
}

body {
  background-color: #3a1a2e !important;
  background-image:
    radial-gradient(ellipse 80% 60% at 50% -10%, rgba(255,182,206,0.38) 0%, transparent 60%),
    radial-gradient(ellipse 60% 50% at 80% 90%, rgba(220,170,230,0.22) 0%, transparent 55%),
    radial-gradient(ellipse 50% 40% at 10% 70%, rgba(255,200,218,0.18) 0%, transparent 50%) !important;
  background-attachment: fixed !important;
  color: var(--ink) !important;
}

/* ── 進度條：玫瑰漸層 ── */
.progress-bar {
  background: linear-gradient(90deg, #f4a0be, #e06090, #c04878) !important;
  box-shadow: 0 1px 8px rgba(200,72,120,0.35) !important;
}

/* ── 浮動按鈕 ── */
.pill-button {
  border: 1px solid var(--line-strong) !important;
  color: var(--ink-dim) !important;
  background: rgba(253,240,243,0.94) !important;
  backdrop-filter: blur(12px) !important;
  border-radius: 24px !important;
  box-shadow: 0 4px 20px rgba(194,77,120,0.12) !important;
}
.pill-button:hover {
  color: var(--crimson) !important;
  border-color: var(--crimson) !important;
  background: #fff2f5 !important;
  box-shadow: 0 6px 24px rgba(194,77,120,0.18) !important;
}

/* ── HERO ── */
header.hero {
  background: transparent !important;
  border-bottom: 1px solid var(--line) !important;
  position: relative;
  overflow: hidden;
}

header.hero::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background:
    radial-gradient(ellipse 70% 70% at 50% 40%, rgba(255,180,205,0.50) 0%, rgba(255,210,225,0.25) 45%, transparent 72%) !important;
  pointer-events: none !important;
  z-index: 0 !important;
  height: 100% !important;
  width: 100% !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  border: none !important;
}

header.hero::after {
  content: "" !important;
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 1px !important;
  background: linear-gradient(90deg, transparent, var(--gold-line), var(--zen-rose), var(--gold-line), transparent) !important;
  top: auto !important;
  width: 100% !important;
}

.hero-card {
  border: 1px solid rgba(212,104,138,0.25) !important;
  border-radius: 20px !important;
  background: rgba(255,247,249,0.75) !important;
  backdrop-filter: blur(16px) !important;
  box-shadow: 0 8px 48px rgba(194,77,120,0.12), 0 2px 12px rgba(194,77,120,0.08) !important;
  position: relative !important;
  z-index: 1 !important;
}

.hero-card::before,
.hero-card::after {
  color: var(--gold) !important;
  background: transparent !important;
}

/* ── kicker裝飾線 ── */
.kicker {
  color: var(--gold) !important;
  letter-spacing: 0.2em !important;
}
.kicker::before {
  background: linear-gradient(90deg, var(--gold), transparent) !important;
}
.kicker::after {
  background: linear-gradient(270deg, var(--gold), transparent) !important;
}

/* ── 捲動提示 ── */
.scroll-cue {
  color: var(--ink-ghost) !important;
}
.scroll-cue span {
  border-color: var(--gold-line) !important;
}
.scroll-cue span::after {
  background: var(--gold) !important;
}

/* ── SECTION背景：每個區塊有微妙光暈 ── */
.article-section {
  background: transparent !important;
  border-bottom-color: var(--line) !important;
}

.article-section.is-visible {
  opacity: 1 !important;
  filter: blur(0) !important;
}

/* ── 標題文字 ── */
h1, h2, h3 {
  color: var(--ink) !important;
}

h1 {
  letter-spacing: -0.01em !important;
}

/* ── 首字下沉：玫瑰色 ── */
.article-section > p:first-of-type::first-letter,
.expert-main > p:first-of-type::first-letter,
.video-main > p:first-of-type::first-letter {
  color: var(--crimson) !important;
}

/* ── section-label ── */
.section-label {
  color: var(--crimson) !important;
  border-bottom-color: rgba(194,77,120,0.3) !important;
}

/* ── 引言框 ── */
.quote-panel {
  border-top-color: var(--line-strong) !important;
  border-bottom-color: var(--line-strong) !important;
  background: rgba(212,104,138,0.06) !important;
  border-radius: 0 !important;
}
.quote-panel::before {
  color: var(--gold) !important;
  background: #fdf0f3 !important;
}
.quote-panel blockquote {
  color: var(--ink) !important;
}
.quote-panel cite {
  color: var(--gold) !important;
}

/* ── tooltip ── */
.tooltip-term {
  border-bottom-color: var(--gold-line) !important;
  color: var(--crimson) !important;
}
.tooltip-term::after {
  border-color: var(--line-strong) !important;
  background: var(--bg-card) !important;
  color: var(--ink-dim) !important;
  border-radius: 12px !important;
  box-shadow: 0 8px 32px rgba(194,77,120,0.12) !important;
}

/* ── 資源區塊 ── */
.resource-panel {
  border-color: var(--line-strong) !important;
  background: var(--bg-card) !important;
  border-radius: 16px !important;
  box-shadow: var(--shadow) !important;
}
.resource-panel h3 {
  color: var(--ink) !important;
}
.resource-item {
  background: rgba(212,104,138,0.04) !important;
  border-color: var(--line) !important;
  border-radius: 10px !important;
}
.resource-item strong {
  color: var(--ink) !important;
}
.resource-item span {
  color: var(--ink-dim) !important;
}

/* ── 圖表 ── */
.chart-card {
  border-color: var(--line-strong) !important;
  background: var(--bg-card) !important;
  box-shadow: 0 6px 32px rgba(194,77,120,0.10) !important;
  border-radius: 16px !important;
}
.chart-card::before,
.chart-card::after {
  border-color: var(--gold) !important;
}
.chart-title {
  color: var(--ink) !important;
  border-bottom-color: var(--line) !important;
}
.chart-main {
  border-bottom-color: var(--ink) !important;
  border-left-color: rgba(58,26,46,0.2) !important;
}
.y-axis-label,
.y-axis,
.bar-label {
  color: var(--ink-dim) !important;
}
.grid-line {
  border-top-color: rgba(212,104,138,0.10) !important;
}
.bar {
  background: linear-gradient(180deg, var(--steel) 0%, #8a5aa0 100%) !important;
  box-shadow: 1px 0 0 rgba(58,26,46,0.1) !important;
}
.highlight-bar .bar {
  background: linear-gradient(180deg, var(--crimson) 0%, #a03060 100%) !important;
  box-shadow: 1px 0 0 rgba(58,26,46,0.1), 0 0 18px rgba(194,77,120,0.25) !important;
}
.highlight-bar .bar-label {
  color: var(--crimson) !important;
}

/* horizontal chart */
.horizontal-chart .hbar-label {
  color: var(--ink-dim) !important;
}
.horizontal-chart .hbar-fill {
  background: linear-gradient(90deg, rgba(155,111,168,0.4) 0%, var(--steel) 100%) !important;
}
.horizontal-chart .highlight-hbar .hbar-fill {
  background: linear-gradient(90deg, rgba(194,77,120,0.35) 0%, var(--crimson) 100%) !important;
}
.horizontal-chart .hchart-grid-line {
  border-left-color: rgba(212,104,138,0.10) !important;
}
.horizontal-chart .hchart-axis-line {
  border-top-color: var(--ink) !important;
}
.horizontal-chart .hchart-x-axis,
.horizontal-chart .hchart-axis-label {
  color: var(--ink-dim) !important;
}

/* ── podcast badge ── */
.podcast-show-badge {
  border-color: var(--line-strong) !important;
  background: rgba(253,240,243,0.97) !important;
  backdrop-filter: blur(16px) !important;
  border-radius: 0 0 16px 0 !important;
  box-shadow: 2px 2px 16px rgba(194,77,120,0.10) !important;
}
.podcast-show-badge .show-title {
  color: var(--gold) !important;
}
.podcast-show-badge::after {
  color: var(--gold) !important;
}

/* ── video placeholder ── */
.video-placeholder {
  border-color: var(--line-strong) !important;
  background: rgba(212,104,138,0.03) !important;
  border-radius: 12px !important;
  box-shadow: 0 4px 20px rgba(194,77,120,0.08) !important;
}
.video-placeholder span {
  color: var(--crimson) !important;
}
.video-placeholder strong {
  color: var(--ink) !important;
}

/* ── 專家面板 ── */
.expert-panel {
  border-left-color: var(--line) !important;
}
.expert-panel-title {
  color: var(--crimson) !important;
}
.expert-card {
  border-color: var(--line-strong) !important;
  background: var(--bg-card) !important;
  border-radius: 12px !important;
  box-shadow: 0 2px 12px rgba(194,77,120,0.08) !important;
  transition: background 0.2s, border-color 0.2s, box-shadow 0.2s !important;
}
.expert-card:hover,
.expert-card.is-open {
  background: #fff0f5 !important;
  border-color: var(--gold) !important;
  box-shadow: 0 6px 24px rgba(194,77,120,0.16) !important;
}
.expert-avatar {
  border-color: rgba(194,77,120,0.35) !important;
  background: rgba(194,77,120,0.07) !important;
}
.expert-name {
  color: var(--ink) !important;
}
.expert-quote {
  color: var(--ink-dim) !important;
}
.expert-detail {
  border-top-color: var(--line) !important;
  color: var(--ink-dim) !important;
}

/* ── 讀者問答卡 ── */
.reader-question-card {
  border-color: var(--line-strong) !important;
  background: var(--bg-card) !important;
  border-radius: 18px !important;
  box-shadow: 0 8px 40px rgba(194,77,120,0.10) !important;
}
.reader-question-card::before {
  color: var(--gold) !important;
  background: #fdf0f3 !important;
}
.reader-question-card .question-kicker {
  color: var(--crimson) !important;
}
.reader-question-card .question-kicker::before {
  background: var(--crimson) !important;
}
.reader-question-card h3 {
  color: var(--ink) !important;
}
.reader-question-card .question-note {
  color: var(--ink-dim) !important;
}
.question-option {
  border-color: var(--line) !important;
  background: rgba(212,104,138,0.02) !important;
  border-radius: 10px !important;
  color: var(--ink) !important;
}
.question-option:hover,
.question-option.is-selected {
  border-color: var(--gold) !important;
  background: rgba(212,104,138,0.07) !important;
}
.option-letter {
  background: var(--crimson) !important;
  color: #3a1a2e !important;
}
.option-text {
  color: var(--ink) !important;
}
.question-feedback {
  border-left-color: var(--gold) !important;
  background: rgba(212,104,138,0.06) !important;
  color: var(--ink-dim) !important;
  border-radius: 0 10px 10px 0 !important;
}

/* ── podcast cover gallery ── */
.podcast-cover-card {
  border-color: var(--line-strong) !important;
  background: var(--bg-card) !important;
  border-radius: 14px !important;
  box-shadow: 0 4px 20px rgba(194,77,120,0.10) !important;
  overflow: hidden !important;
}
.podcast-cover-card:hover {
  border-color: var(--gold) !important;
  box-shadow: 0 8px 32px rgba(194,77,120,0.18) !important;
}
.podcast-cover-card img {
  border-radius: 0 !important;
}
.podcast-cover-caption {
  color: var(--ink) !important;
  border-top-color: var(--line) !important;
  background: rgba(212,104,138,0.02) !important;
}

/* ── article link ── */
.article-link {
  color: var(--steel) !important;
  text-decoration-color: rgba(155,111,168,0.4) !important;
}
.article-link:hover,
.article-link:focus {
  color: var(--crimson) !important;
  text-decoration-color: var(--crimson) !important;
}

/* ── 地圖區塊 ── */
#section-map {
  background: var(--bg-card) !important;
}
#map-wrap {
  background: rgba(255,247,249,0.90) !important;
  border-color: var(--line-strong) !important;
  border-radius: 16px !important;
  box-shadow: 0 6px 32px rgba(194,77,120,0.10) !important;
}
#map-wrap::before,
#map-wrap::after {
  border-color: var(--gold) !important;
}
#map-pod-num {
  color: var(--steel) !important;
}
#map-rad-num {
  color: var(--crimson) !important;
}
#map-bar-pod {
  background: linear-gradient(90deg, rgba(155,111,168,0.4), var(--steel)) !important;
  border-radius: 4px !important;
}
#map-bar-rad {
  background: linear-gradient(90deg, rgba(194,77,120,0.35), var(--crimson)) !important;
  border-radius: 4px !important;
}
#tw-map-svg path {
  stroke: rgba(212,104,138,0.25) !important;
}
#map-region-name {
  color: var(--ink) !important;
}
#map-legend > div {
  color: var(--ink) !important;
}

/* ── 遊戲iframe ── */
.podcast-game-embed,
.studio-game-embed {
  border-color: var(--line-strong) !important;
  background: var(--bg-card) !important;
  border-radius: 16px !important;
  box-shadow: 0 6px 32px rgba(194,77,120,0.10) !important;
}
.podcast-game-embed::before,
.podcast-game-embed::after,
.studio-game-embed::before,
.studio-game-embed::after {
  border-color: var(--gold) !important;
}
.game-page .podcast-game-embed iframe {
  border-radius: 0 !important;
}

/* ── tarot frame → zen frame ── */
.tarot-frame {
  border-color: var(--line-strong) !important;
  background: var(--bg-card) !important;
  box-shadow: 0 6px 32px rgba(194,77,120,0.10) !important;
  border-radius: 16px !important;
}
.tarot-frame::before,
.tarot-frame::after {
  border-color: var(--gold) !important;
}
.tarot-card-wrap {
  border-color: var(--line-strong) !important;
  background: var(--bg-card) !important;
  box-shadow: 0 6px 32px rgba(194,77,120,0.10) !important;
  border-radius: 20px !important;
}
.tarot-card-wrap::before,
.tarot-card-wrap::after {
  border-color: var(--gold) !important;
}

/* ── footer ── */
footer {
  border-top-color: var(--line) !important;
  color: var(--ink-ghost) !important;
}

/* ── 文字段落p ── */
p {
  color: rgba(58,26,46,0.84) !important;
}

/* ── center-stage: 深色背景圖改換 ── */
.article-section.expert-two-step-detail,
.article-section.expert-two-step-intro {
  background: linear-gradient(135deg, #fcedf3 0%, #f0e0f0 50%, #fce8f0 100%) !important;
}

/* 深色expert-two-step段落文字 */
.article-section.expert-two-step-detail .hu-note-part p,
.article-section.expert-two-step-detail .sky-note-part p,
.article-section.expert-two-step-detail .nick-note-part p,
.article-section.expert-two-step-detail .impact-note-part p,
#section-3-2 .hu-note-part p,
#section-3-3 .sky-note-part p,
#section-4-2 .nick-note-part p,
#section-5-3 .impact-note-part p {
  color: rgba(58,26,46,0.88) !important;
  text-shadow: none !important;
}

.article-section.expert-two-step-detail .hu-note-hint,
.article-section.expert-two-step-detail .sky-note-hint,
.article-section.expert-two-step-detail .nick-note-hint,
.article-section.expert-two-step-detail .impact-note-hint,
.article-section.expert-two-step-detail .hu-note-counter,
.article-section.expert-two-step-detail .sky-note-counter,
.article-section.expert-two-step-detail .nick-note-counter,
.article-section.expert-two-step-detail .impact-note-counter,
.article-section.expert-two-step-detail .hu-note-pagebox,
.article-section.expert-two-step-detail .sky-note-pagebox,
.article-section.expert-two-step-detail .nick-note-pagebox,
.article-section.expert-two-step-detail .impact-note-pagebox,
.article-section.expert-two-step-detail .hu-note-slash,
.article-section.expert-two-step-detail .sky-note-slash,
.article-section.expert-two-step-detail .nick-note-slash,
.article-section.expert-two-step-detail .impact-note-slash {
  color: var(--crimson) !important;
}

.article-section.expert-two-step-detail .hu-note-pagebox.is-active,
.article-section.expert-two-step-detail .sky-note-pagebox.is-active,
.article-section.expert-two-step-detail .nick-note-pagebox.is-active,
.article-section.expert-two-step-detail .impact-note-pagebox.is-active {
  color: var(--ink) !important;
}

/* ── expert頁caption ── */
.article-section.expert-two-step-detail .hu-caption,
.article-section.expert-two-step-detail .sky-caption,
.article-section.expert-two-step-detail .nick-caption,
.article-section.expert-two-step-detail .impact-caption {
  color: var(--ink-dim) !important;
  border-top-color: var(--line) !important;
}

/* ── shen-note-box (深色note box改為粉色) ── */
#section-5-2 .shen-note-box {
  background: rgba(255,228,238,0.92) !important;
  box-shadow: 0 8px 28px rgba(194,77,120,0.14) !important;
  border-radius: 14px !important;
}
#section-5-2 .shen-note-part p {
  color: rgba(58,26,46,0.88) !important;
  text-shadow: none !important;
}
#section-5-2 .shen-note-hint {
  color: var(--crimson) !important;
}
#section-5-2 .shen-note-counter {
  color: var(--ink-dim) !important;
}
#section-5-2 .shen-note-pagebox.is-active {
  color: var(--ink) !important;
}
#section-5-2 .shen-caption {
  border-top-color: var(--line) !important;
  color: var(--ink-dim) !important;
}

/* ── haolan/yuanqing/impact影響力框 ── */
.article-section.is-center-active .haolan-note-box,
.article-section.is-center-active .yuanqing-note-box {
  background: rgba(255,228,238,0.92) !important;
  border-radius: 14px !important;
  box-shadow: 0 8px 28px rgba(194,77,120,0.14) !important;
}

/* ── chart-title-standalone ── */
.chart-title-standalone {
  color: var(--ink) !important;
  border-bottom-color: var(--line) !important;
}

/* ── 地圖inline color overrides ── */
#map-wrap [style*="color:rgba(255,255,255"] {
  color: var(--ink-dim) !important;
}
#map-wrap [style*="color:#8ed8ff"],
#map-wrap [style*="color: #8ed8ff"] {
  color: var(--steel) !important;
}
#map-wrap [style*="color:#c24d78"],
#map-wrap [style*="color: #c24d78"] {
  color: var(--crimson) !important;
}
#map-wrap [style*="color:#c24d78"] {
  color: var(--ink) !important;
}
#map-wrap [style*="color:rgba(255,255,255,0.92)"] {
  color: var(--ink-dim) !important;
}
#map-placeholder {
  color: var(--ink-ghost) !important;
}
#map-wrap [style*="background:rgba(255,255,255,0.1)"] {
  background: rgba(212,104,138,0.10) !important;
  border-radius: 4px !important;
}
#map-wrap [style*="border-top:1px solid rgba(255,255,255,0.12)"] {
  border-top-color: var(--line) !important;
}

/* ── back-to-top ── */
#backToTop {
  border-color: var(--line-strong) !important;
  color: var(--ink-dim) !important;
}

/* ── section背景：超淺玫瑰光暈，隔頁感 ── */
.article-section:nth-child(even) {
  background: rgba(212,104,138,0.02) !important;
}

/* ── 環境光氛圍圈（全頁裝飾）── */
body::before {
  content: "";
  position: fixed;
  top: -20vh;
  right: -10vw;
  width: 50vw;
  height: 50vw;
  background: radial-gradient(circle, rgba(255,180,205,0.20) 0%, transparent 70%);
  pointer-events: none;
  z-index: 0;
  border-radius: 50%;
}

body::after {
  content: "";
  position: fixed;
  bottom: -15vh;
  left: -8vw;
  width: 42vw;
  height: 42vw;
  background: radial-gradient(circle, rgba(210,165,230,0.18) 0%, transparent 65%);
  pointer-events: none;
  z-index: 0;
  border-radius: 50%;
}

/* ── 全域transition平滑化 ── */
* {
  transition-timing-function: cubic-bezier(0.32, 0, 0.2, 1) !important;
}

/* ── 卡片hover轉為圓角 + 光暈浮起 ── */
.expert-card,
.podcast-cover-card,
.reader-question-card,
.resource-item {
  transition: box-shadow 0.25s, border-color 0.25s, transform 0.25s !important;
}
.expert-card:hover,
.podcast-cover-card:hover {
  transform: translateY(-2px) !important;
}

/* ── ink text overrides for dark hardcoded colors ── */
[style*="color: #2e3a24"],
[style*="color:#2e3a24"],
[style*="color: #566844"],
[style*="color:#566844"],
[style*="color: #6b7c57"],
[style*="color:#6b7c57"],
[style*="color: #2f3d22"],
[style*="color:#2f3d22"] {
  color: var(--ink-dim) !important;
}

/* ── 讓quote panel更柔和 ── */
.quote-panel blockquote {
  font-style: italic !important;
}

/* ── back to top icon ── */
.back-to-top-icon {
  stroke: currentColor !important;
}

/* ── 整體選取顏色 ── */
::selection {
  background: rgba(212,104,138,0.25) !important;
  color: var(--ink) !important;
}

/* ══════════════════════════════════════════════════════════════════
   END PINK ZEN THEME
   ══════════════════════════════════════════════════════════════════ */

/* ══════════════════════════════════════════════════════════════════
   PINK ZEN — INLINE DARK BACKGROUND OVERRIDES
   ══════════════════════════════════════════════════════════════════ */

/* 深色navy背景 (rgba 48, 56, 70) → 粉霧色 */
[style*="background: rgba(48, 56, 70"],
[style*="background:rgba(48,56,70"],
[style*="background: rgba(48,56,70"] {
  background: rgba(255,228,238,0.92) !important;
}

/* 深灰/黑色背景 → 白霧 */
[style*="background: #fdf0f3"],
[style*="background:#fdf0f3"],
[style*="background-color: rgba(15, 17, 23"],
[style*="background-color:rgba(15,17,23"] {
  background: rgba(253,240,243,0.95) !important;
}

/* 段落inline深色 → 淡玫瑰 */
[style*="background: rgba(250, 246, 237"],
[style*="background:rgba(250,246,237"] {
  background: rgba(255,236,245,0.5) !important;
}

/* 舊金色rgba(216,205,178) 背景 → 柔玫瑰 */
[style*="background: rgba(216, 205, 178"],
[style*="background:rgba(216,205,178"] {
  background: rgba(255,228,238,0.45) !important;
}

/* 強制所有頁面全域body背景色 */
html { background-color: #3a1a2e !important; }

/* ── 確保center-stage模式下body全站底色 ── */
body.center-stage-ready {
  background-color: #3a1a2e !important;
  background-image:
    radial-gradient(ellipse 80% 60% at 50% -10%, rgba(255,182,206,0.38) 0%, transparent 60%),
    radial-gradient(ellipse 60% 50% at 80% 90%, rgba(220,170,230,0.22) 0%, transparent 55%),
    radial-gradient(ellipse 50% 40% at 10% 70%, rgba(255,200,218,0.18) 0%, transparent 50%) !important;
}

/* ── 所有深色expert-note框修正 ── */
[class*="note-box"],
[class*="-note-box"] {
  background: rgba(255,228,238,0.90) !important;
  border-radius: 14px !important;
  box-shadow: 0 8px 28px rgba(194,77,120,0.12) !important;
  border-color: rgba(212,104,138,0.25) !important;
}

[class*="note-part"] p,
[class*="-note-part"] p {
  color: rgba(58,26,46,0.88) !important;
  text-shadow: none !important;
}

[class*="note-hint"],
[class*="note-counter"],
[class*="note-pagebox"],
[class*="note-slash"] {
  color: var(--crimson) !important;
}

[class*="note-pagebox"].is-active {
  color: var(--ink) !important;
  font-weight: 700 !important;
}

/* ── INLINE color白色文字 → 深粉 ── */
[style*="color: rgba(58,26,46,228"],
[style*="color:rgba(58,26,46,228"],
[style*="color: rgba(58,26,46, 232"],
[style*="color:rgba(58,26,46,232"],
[style*="color: rgba(58,26,46, 228"],
[style*="color: rgba(58,26,46,232"] {
  color: rgba(58,26,46,0.88) !important;
}

/* gold label overrides */
[style*="color: rgba(194,77,120, 167"],
[style*="color:rgba(194,77,120,167"],
[style*="color: rgba(223, 190, 110"],
[style*="color:rgba(223,190,110"],
[style*="color: #d4688a"],
[style*="color:#d4688a"],
[style*="color: #c24d78"],
[style*="color:#c24d78"] {
  color: var(--crimson) !important;
}

/* ── haolan / yuanqing intro頁inline深色 ── */
[style*="color: rgba(58,26,46, 228, 0.9)"],
[style*="color: rgba(58,26,46,243,0.94)"] {
  color: var(--ink-dim) !important;
}

/* caption divider */
[class*="caption"] {
  color: var(--ink-dim) !important;
  border-top-color: var(--line) !important;
}

/* ══════════════════════════════════════════════════════════════════
   END INLINE OVERRIDES
   ══════════════════════════════════════════════════════════════════ */

/* ══════════════════════════════════════════════════════════════════
   PINK ZEN — IMAGE RECOLOR & FINAL TEXT FIXES
   ══════════════════════════════════════════════════════════════════ */

/* ── Chart image PNG recolor (dark olive green → pink zen) ──
   The PNG has dark olive-green background (#3d5c3a type)
   Filter: invert the dark to light, then hue-rotate to pink range */
.replacement-chart-image {
  filter: hue-rotate(130deg) saturate(0.6) brightness(1.3) !important;
  border-radius: 16px !important;
}

/* ── Expert card PNG (dark tarot style) — soft rose tint overlay via mix-blend-mode ── */
.expert-card-img,
img[src*="expert-card"] {
  filter: sepia(0.3) hue-rotate(280deg) saturate(0.7) brightness(1.15) !important;
  border-radius: 12px !important;
}

/* ── Force all text to be visible — catch-all ink override ── */
body, body * {
  --ink: #3a1a2e;
}

/* All h1-h6 dark */
h1, h2, h3, h4, h5, h6 {
  color: #3a1a2e !important;
}

/* Paragraphs */
p, li, span, div, label, td, th {
  color: inherit;
}

/* ── Note boxes: ensure light bg + dark text ── */
[class*="note-box"] {
  background: rgba(255,228,238,0.90) !important;
  border-radius: 14px !important;
  box-shadow: 0 8px 28px rgba(194,77,120,0.12) !important;
}

[class*="note-part"] p,
[class*="note-part"] span {
  color: #3a1a2e !important;
  text-shadow: none !important;
}

/* ── Floating expert cards (the full-page tarot card overlay sections) ── */
.floating-expert-card {
  background: rgba(255,240,247,0.95) !important;
  border-color: rgba(212,104,138,0.30) !important;
  border-radius: 16px !important;
  box-shadow: 0 8px 40px rgba(194,77,120,0.14) !important;
  color: #3a1a2e !important;
}

.floating-expert-name,
.floating-expert-role,
.floating-expert-quote,
.floating-expert-detail {
  color: #3a1a2e !important;
}

/* ── has-floating-experts section background ── */
.article-section.expert-page.has-floating-experts {
  background: linear-gradient(to bottom, #fce8ef 0 48px, #fff7f9 48px calc(100% - 48px), #fce8ef calc(100% - 48px) 100%) !important;
}
.article-section.expert-page.has-floating-experts.is-expert-selected {
  background: linear-gradient(to bottom, #fce8ef 0 48px, #fde0ec 48px calc(100% - 48px), #fce8ef calc(100% - 48px) 100%) !important;
}

/* ── Player card full recolor ── */
.player-card {
  background: #fff7f9 !important;
  border: 1px solid rgba(212,104,138,0.25) !important;
  border-radius: 16px !important;
  box-shadow: 0 8px 32px rgba(194,77,120,0.12) !important;
  color: #3a1a2e !important;
}

.player-card * {
  color: inherit !important;
}

.track-title, .show-name, .player-source, .time-row {
  color: #3a1a2e !important;
}

.episode-label {
  color: #c24d78 !important;
  background: rgba(194,77,120,0.10) !important;
  border-color: rgba(194,77,120,0.35) !important;
  border-radius: 999px !important;
}

.progress-track {
  background: rgba(212,104,138,0.18) !important;
  border-radius: 999px !important;
}

.progress-thumb {
  background: #c24d78 !important;
  border-color: #fff7f9 !important;
}

.meter {
  background: rgba(212,104,138,0.12) !important;
}

/* ── Spotify-style home header if present ── */
.spotify-home,
.spotify-hero-strip,
.spotify-library {
  background: transparent !important;
  color: #3a1a2e !important;
}

.spotify-home *,
.spotify-hero-strip *,
.spotify-library * {
  color: inherit !important;
}

/* ── chapter title cards ── */
.chapter-title-card {
  color: #3a1a2e !important;
}

.chapter-title-card .section-label {
  color: #c24d78 !important;
}

/* ── map section text fixes ── */
#map-region-name,
#map-legend,
#map-legend *,
#map-placeholder {
  color: #3a1a2e !important;
}

/* ── Back to top button ── */
#backToTop, .top-actions button {
  background: rgba(253,240,243,0.94) !important;
  border-color: rgba(212,104,138,0.30) !important;
  color: #3a1a2e !important;
  border-radius: 50% !important;
}

/* ── intro sequence overlay text ── */
.intro-text, .intro-overlay, [class*="intro"] p {
  color: #3a1a2e !important;
}

/* ── scrollbar styling ── */
* {
  scrollbar-color: rgba(212,104,138,0.40) rgba(212,104,138,0.08) !important;
}

/* ══════════════════════════════════════════════════════════════════
   END IMAGE RECOLOR & FINAL TEXT FIXES
   ══════════════════════════════════════════════════════════════════ */


/* v92：點擊專家小卡後，改為深紫底＋淺色字 */
.expert-panel .expert-card.is-open,
.expert-card-list .expert-card.is-open {
  background: #1a1330 !important;
  background-color: #1a1330 !important;
  background-image: none !important;
  border-color: #1a1330 !important;
  box-shadow: none !important;
  color: #f3edf8 !important;
}

.expert-panel .expert-card.is-open .expert-name,
.expert-card-list .expert-card.is-open .expert-name,
.expert-panel .expert-card.is-open .expert-quote,
.expert-card-list .expert-card.is-open .expert-quote,
.expert-panel .expert-card.is-open .expert-detail,
.expert-card-list .expert-card.is-open .expert-detail {
  color: #f3edf8 !important;
}

.expert-panel .expert-card.is-open .expert-detail,
.expert-card-list .expert-card.is-open .expert-detail {
  border-top: 1px solid rgba(243, 237, 248, 0.18) !important;
}

.expert-panel .expert-card.is-open:hover,
.expert-panel .expert-card.is-open:focus-visible,
.expert-card-list .expert-card.is-open:hover,
.expert-card-list .expert-card.is-open:focus-visible {
  background: #1a1330 !important;
  background-color: #1a1330 !important;
  border-color: #1a1330 !important;
  box-shadow: none !important;
  transform: none !important;
  outline: none !important;
}

/* intro-remove-middle-purple-block-v1 */


/* 移除三頁中間淡紫／粉紫色塊，改回透明底，避免中央矩形背景 */
html body section.article-section.expert-page.expert-two-step-intro[data-source-section="section-3-3"],
html body section.article-section.expert-page.expert-two-step-intro[data-source-section="section-4-2"],
html body section.article-section.expert-page.expert-two-step-intro[data-source-section="section-5-3"] {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}
html body section.article-section.expert-page.expert-two-step-intro[data-source-section="section-3-3"]::before,
html body section.article-section.expert-page.expert-two-step-intro[data-source-section="section-3-3"]::after,
html body section.article-section.expert-page.expert-two-step-intro[data-source-section="section-4-2"]::before,
html body section.article-section.expert-page.expert-two-step-intro[data-source-section="section-4-2"]::after,
html body section.article-section.expert-page.expert-two-step-intro[data-source-section="section-5-3"]::before,
html body section.article-section.expert-page.expert-two-step-intro[data-source-section="section-5-3"]::after,
html body section.article-section.expert-page.expert-two-step-intro[data-source-section="section-3-3"] .expert-two-step-text-shell,
html body section.article-section.expert-page.expert-two-step-intro[data-source-section="section-4-2"] .expert-two-step-text-shell,
html body section.article-section.expert-page.expert-two-step-intro[data-source-section="section-5-3"] .expert-two-step-text-shell,
html body section.article-section.expert-page.expert-two-step-intro[data-source-section="section-3-3"] .expert-two-step-text-inner,
html body section.article-section.expert-page.expert-two-step-intro[data-source-section="section-4-2"] .expert-two-step-text-inner,
html body section.article-section.expert-page.expert-two-step-intro[data-source-section="section-5-3"] .expert-two-step-text-inner,
html body section.article-section.expert-page.expert-two-step-intro[data-source-section="section-3-3"] .expert-two-step-text-inner p,
html body section.article-section.expert-page.expert-two-step-intro[data-source-section="section-4-2"] .expert-two-step-text-inner p,
html body section.article-section.expert-page.expert-two-step-intro[data-source-section="section-5-3"] .expert-two-step-text-inner p {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}



/* ===== v199：全站靜態紙張質感 ===== */

/*
  策略：靜態PNG噪點（128×128，固定種子），
  以background-image直接疊在各元素的background-color上。
  不使用任何overlay / z-index蓋層，不影響閱讀。
*/
:root {
  --pz-grain: url("data:image/png;base64,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");
}

/* ── 全站body底色 + 紙紋 ── */
html, body {
  background-color: #f5edf0 !important;
  background-image: var(--pz-grain) !important;
  background-repeat: repeat !important;
  background-size: 200px 200px !important;
  background-attachment: fixed !important;
}

/* ── 移除之前錯誤的body::before overlay ── */
body::before {
  display: none !important;
  content: none !important;
}

/* ── 所有色塊、卡片、面板：把紙紋叠在自身背景色上 ── */
.article-section,
.stage-content,
.hero-card,
.expert-card,
.expert-panel,
.expert-detail,
.expert-two-step-intro,
.expert-two-step-detail,
.chart-card,
.map-card-wrap,
.boundary-risk-card,
.boundary-risk-figure,
.resource-panel,
.resource-item,
.quote-panel,
.reader-question-card,
.question-option,
.question-feedback,
.pill-button,
.podcast-cover-card,
.tarot-card-wrap,
.tarot-frame,
.sky-cover-frame,
[class*="note-box"],
[class*="note-pagebox"],
[class*="note-part"],
[class*="caption-box"],
[class*="detail-box"],
[class*="info-card"] {
  background-image: var(--pz-grain) !important;
  background-repeat: repeat !important;
  background-size: 180px 180px !important;
  background-blend-mode: luminosity !important;
}

header.hero {
  background-image: var(--pz-grain) !important;
  background-repeat: repeat !important;
  background-size: 200px 200px !important;
  background-blend-mode: luminosity !important;
}

/* ── 圖片、影片、iframe不加紙紋 ── */
.podcast-game-embed,
.studio-game-embed,
.video-placeholder,
.video-placeholder-filled,
.video-main,
iframe,
img,
svg,
canvas,
.expert-avatar,
#survival-cover-overlay {
  background-image: none !important;
}

/* ===== /v199 ===== */

/* ===== v200：深色↔淺色section漸層過渡 ===== */

/*
  策略：在每個深色section的頂部和底部
  用 ::before / ::after加上從背景色→透明的漸層遮罩，
  讓深色和相鄰淺色之間自然融合，不出現硬切線。
  position: relative已存在（nuclear-tab-v1000有設）。
*/

/* section-4-2：深紫 #201430 */
#section-4-2.pz-dark-tab-page {
  overflow: visible !important;
}
#section-4-2.pz-dark-tab-page::before,
#section-4-2.pz-dark-tab-page::after {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  pointer-events: none;
  z-index: 2;
}
/* 頂部：淺粉 #f5edf0 → 深紫 #201430 */
#section-4-2.pz-dark-tab-page::before {
  top: 0;
  height: 120px;
  background: linear-gradient(to bottom,
    #f5edf0 0%,
    rgba(248, 237, 242, 0.85) 20%,
    rgba(42, 26, 62, 0.6) 60%,
    #201430 100%
  );
}
/* 底部：深紫 #201430 → 淺粉 #f5edf0 */
#section-4-2.pz-dark-tab-page::after {
  bottom: 0;
  height: 120px;
  background: linear-gradient(to top,
    #f5edf0 0%,
    rgba(248, 237, 242, 0.85) 20%,
    rgba(42, 26, 62, 0.6) 60%,
    #201430 100%
  );
}

/* section-5-3：深玫瑰紫 #2a1022 */
#section-5-3.pz-dark-tab-page {
  overflow: visible !important;
}
#section-5-3.pz-dark-tab-page::before,
#section-5-3.pz-dark-tab-page::after {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  pointer-events: none;
  z-index: 2;
}
/* 頂部：淺粉 #f5edf0 → 深玫瑰紫 */
#section-5-3.pz-dark-tab-page::before {
  top: 0;
  height: 120px;
  background: linear-gradient(to bottom,
    #f5edf0 0%,
    rgba(248, 237, 242, 0.85) 20%,
    rgba(52, 20, 42, 0.6) 60%,
    #2a1022 100%
  );
}
/* 底部：深玫瑰紫 → 淺粉 #f5edf0 */
#section-5-3.pz-dark-tab-page::after {
  bottom: 0;
  height: 120px;
  background: linear-gradient(to top,
    #f5edf0 0%,
    rgba(248, 237, 242, 0.85) 20%,
    rgba(52, 20, 42, 0.6) 60%,
    #2a1022 100%
  );
}

/* 讓漸層的content area不被 ::before/::after遮到 */
#section-4-2.pz-dark-tab-page .pz-tab-page-inner,
#section-5-3.pz-dark-tab-page .pz-tab-page-inner {
  position: relative;
  z-index: 3;
}

/* ── Podcast Player Widget ── */
.pz-podcast-player {
  background: transparent !important;
  scroll-snap-align: none !important;
  scroll-snap-stop: normal !important;
}
.pz-podcast-player * {
  color: inherit;
}

/* ───────────────────────────────────────────────
   expert-two-step-detail（深色section中的內頁）
   底部加漸層，接到後面的深色tab page
   ─────────────────────────────────────────────── */
.article-section.expert-two-step-detail {
  position: relative !important;
}
.article-section.expert-two-step-detail::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 80px;
  pointer-events: none;
  z-index: 2;
  /* 從detail頁自身底色過渡到深色tab page頂色 */
  background: linear-gradient(to bottom,
    transparent 0%,
    rgba(32, 20, 48, 0.25) 100%
  );
}

/* ===== /v200 ===== */

/* ===== v200：漸層過渡 — 在section前後補丁 ===== */
/*
  原本的v200 ::before/::after在某些頁面布局下
  因overflow: hidden或scroll-snap被截斷而失效。
  改用「前後補丁」方式：在深色section的「前」一個相鄰
  的淺色section底部加漸層，使兩個section在視覺上銜接。
  
  深色section:
    #section-4-2 → background: #201430 (深紫)
    #section-5-3 → background: #2a1022 (深玫瑰紫)
  
  淺色body/section: ~#f5edf0
*/

/* 讓pz-dark-tab-page不截斷overflow */
.article-section.pz-dark-tab-page,
#section-4-2.pz-dark-tab-page,
#section-5-3.pz-dark-tab-page {
  overflow: visible !important;
  position: relative !important;
}

/* 深色section頂部：由淺入深 */
#section-4-2.pz-dark-tab-page::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 140px;
  pointer-events: none;
  z-index: 5;
  background: linear-gradient(
    to bottom,
    #f5edf0 0%,
    rgba(245, 237, 240, 0.7) 30%,
    rgba(32, 20, 48, 0.5) 70%,
    #201430 100%
  );
}

/* 深色section底部：由深入淺 */
#section-4-2.pz-dark-tab-page::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 140px;
  pointer-events: none;
  z-index: 5;
  background: linear-gradient(
    to top,
    #f5edf0 0%,
    rgba(245, 237, 240, 0.7) 30%,
    rgba(32, 20, 48, 0.5) 70%,
    #201430 100%
  );
}

/* section-5-3頂部 */
#section-5-3.pz-dark-tab-page::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 140px;
  pointer-events: none;
  z-index: 5;
  background: linear-gradient(
    to bottom,
    #f5edf0 0%,
    rgba(245, 237, 240, 0.7) 30%,
    rgba(42, 16, 34, 0.5) 70%,
    #2a1022 100%
  );
}

/* section-5-3底部 */
#section-5-3.pz-dark-tab-page::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 140px;
  pointer-events: none;
  z-index: 5;
  background: linear-gradient(
    to top,
    #f5edf0 0%,
    rgba(245, 237, 240, 0.7) 30%,
    rgba(42, 16, 34, 0.5) 70%,
    #2a1022 100%
  );
}

/* 確保內容在漸層之上 */
#section-4-2.pz-dark-tab-page .pz-tab-page-inner,
#section-5-3.pz-dark-tab-page .pz-tab-page-inner {
  position: relative;
  z-index: 10;
}

/* expert-two-step-intro過渡頁的底部也加淡入深色的漸層 */
.article-section.expert-page.expert-two-step-intro {
  position: relative !important;
  overflow: visible !important;
}

.article-section.expert-page.expert-two-step-intro::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 60px;
  pointer-events: none;
  z-index: 5;
  background: linear-gradient(
    to bottom,
    transparent 0%,
    rgba(32, 20, 48, 0.3) 100%
  );
}

/* ===== /v200 ===== */


/* data-patch="video-pages-match-first-interview-v206" */


/* v206：讓第二、第三個YouTube影片頁的文字欄、影片位置與第一個影片頁一致 */
/* v206：讓第二、第三個YouTube影片頁的文字欄、影片位置與第一個影片頁一致 */
html body #intro-2.video-page > .stage-content,
html body #section-1-3.video-page > .stage-content,
html body #section-3.video-page > .stage-content {
  width: min(980px, calc(100vw - 44px)) !important;
  max-width: min(980px, calc(100vw - 44px)) !important;
  overflow: visible !important;
}

html body #intro-2 .video-layout,
html body #section-1-3 .video-layout,
html body #section-3 .video-layout {
  display: grid !important;
  width: 100% !important;
  grid-template-columns: minmax(0, 1fr) var(--pz-video-w, 320px) !important;
  column-gap: clamp(30px, 4vw, 52px) !important;
  row-gap: 24px !important;
  align-items: center !important;
}

html body #intro-2 .video-main,
html body #section-1-3 .video-main,
html body #section-3 .video-main {
  min-width: 0 !important;
  width: auto !important;
  max-width: none !important;
  justify-self: stretch !important;
  align-self: center !important;
}

html body #intro-2 .video-main > p,
html body #section-1-3 .video-main > p,
html body #section-3 .video-main > p {
  margin-bottom: 0 !important;
}

html body #intro-2 .video-placeholder.pz-yt-slot,
html body #section-1-3 .video-placeholder.pz-yt-slot,
html body #section-3 .video-placeholder.pz-yt-slot {
  justify-self: end !important;
  align-self: center !important;
  margin: 0 !important;
}

@media (max-width: 900px) {
  html body #intro-2 .video-layout,
  html body #section-1-3 .video-layout,
  html body #section-3 .video-layout {
    grid-template-columns: 1fr !important;
    justify-items: center !important;
    row-gap: 24px !important;
  }
  html body #intro-2 .video-main,
  html body #section-1-3 .video-main,
  html body #section-3 .video-main {
    width: min(620px, 100%) !important;
    justify-self: center !important;
  }
  html body #intro-2 .video-placeholder.pz-yt-slot,
  html body #section-1-3 .video-placeholder.pz-yt-slot,
  html body #section-3 .video-placeholder.pz-yt-slot {
    justify-self: center !important;
    margin: 0 auto !important;
  }
}





/* v231：專家小卡展開頁的內文標題 */
/* v231：專家小卡展開頁的內文標題 */
#pz-expert-inline-v224 .v224-copy-title {
  display: block !important;
  margin: 0 0 18px !important;
  color: #CAAE6E !important;
  font-family: "Noto Serif TC", "Source Han Serif TC", "Songti TC", "PMingLiU", serif !important;
  font-size: clamp(1.55rem, 2.25vw, 2.35rem) !important;
  font-weight: 900 !important;
  line-height: 1.35 !important;
  letter-spacing: 0.05em !important;
  text-align: left !important;
  text-shadow: 0 2px 14px rgba(255,255,255,.12), 0 10px 28px rgba(0,0,0,.28) !important;
}
#pz-expert-inline-v224 .v224-copy-title:empty {
  display: none !important;
}
.article-section.expert-page.has-floating-experts .expert-selected-title {
  display: block !important;
  margin: 0 0 18px !important;
  color: #CAAE6E !important;
  font-family: "Noto Serif TC", "Source Han Serif TC", "Songti TC", "PMingLiU", serif !important;
  font-size: clamp(1.45rem, 2.1vw, 2.2rem) !important;
  font-weight: 900 !important;
  line-height: 1.35 !important;
  letter-spacing: 0.045em !important;
  text-align: left !important;
}
.article-section.expert-page.has-floating-experts .expert-selected-title:empty {
  display: none !important;
}
@media (max-width: 760px) {
  #pz-expert-inline-v224 .v224-copy-title,
  .article-section.expert-page.has-floating-experts .expert-selected-title {
    font-size: 1.22rem !important;
    margin-bottom: 12px !important;
    line-height: 1.38 !important;
  }
}



/* v232：一般展開小卡內文也顯示標題 */
.expert-detail[data-detail-title]::before {
  content: attr(data-detail-title) !important;
  display: block !important;
  margin: 0 0 10px !important;
  color: #CAAE6E !important;
  font-family: "Noto Serif TC", "Source Han Serif TC", "Songti TC", "PMingLiU", serif !important;
  font-size: 1.02rem !important;
  font-weight: 900 !important;
  line-height: 1.42 !important;
  letter-spacing: 0.04em !important;
}


/* PATCH v233: force expert-expanded title color */
.article-section.expert-page.has-floating-experts .expert-selected-title,
#pz-expert-inline-v224 .v224-copy-title,
.expert-detail[data-detail-title]::before {
  color: #CAAE6E !important;
}


/* global-ming-font-v19-css */
:root {
  --ming-font-stack: "Noto Serif TC", "Songti TC", "PMingLiU", "MingLiU", "Songti SC", "Source Han Serif TC", "Source Han Serif", serif;
}
html, body,
h1, h2, h3, h4, h5, h6,
p, span, div, a, li, ul, ol,
label, small, strong, em, blockquote,
figcaption, table, thead, tbody, tfoot, tr, th, td,
section, article, header, footer, nav,
button, input, textarea, select, option {
  font-family: var(--ming-font-stack) !important;
}
::placeholder {
  font-family: var(--ming-font-stack) !important;
}


/* data-patch="section-1-3-remove-video-v45" */
html body #section-1-3 .video-layout.video-layout--text-only {
  display: block !important;
  width: 100% !important;
}

html body #section-1-3 .video-layout.video-layout--text-only .video-main {
  width: min(760px, 100%) !important;
  max-width: min(760px, 100%) !important;
  margin: 0 auto !important;
}

html body #section-1-3 .video-layout.video-layout--text-only .video-main > p {
  margin-bottom: 0 !important;
}

/* BODY INTERACTION LAYER */

/* ═══════════════ 打字機效果 ═══════════════ */
.typewriter-text {
  position: relative;
  font-family: "Noto Serif TC", serif;
  color: rgba(58,26,46,0.92);
  line-height: 2.05;
  letter-spacing: 0.03em;
}
.typewriter-text.is-typing::after {
  content: "";
  display: inline-block;
  width: 0.6em; height: 1.05em;
  margin-left: 0.08em;
  vertical-align: -0.12em;
  border-right: 2px solid rgba(194,77,120,0.75);
  animation: typewriterCaret 0.85s steps(1) infinite;
}
.typewriter-text.is-complete::after { display: none; }
@keyframes typewriterCaret {
  0%, 49%   { opacity: 1; }
  50%, 100% { opacity: 0; }
}

/* ── reduced motion 降級 ── */
@media (prefers-reduced-motion: reduce) {
  .typewriter-text.is-typing::after { animation: none; opacity: 0; }
}


/* =========================================================
   PAPER STRIP COMPONENT — 可直接貼進你的網站 CSS
   適用風格：舊紙、撕邊紙條、手貼註解、引言紙條
   會自動沿用你網站現有的 --font-serif / --ink / --line 等變數
   ========================================================= */

:root {
  --paper-strip-bg: #f4f0e8;
  --paper-strip-bg-2: #e8e2d7;
  --paper-strip-ink: rgba(28, 19, 10, 0.74);
  --paper-strip-line: rgba(28, 19, 10, 0.08);
  --paper-strip-shadow: rgba(28, 19, 10, 0.12);
}

.paper-strip {
  --strip-bg: var(--paper-strip-bg);
  --strip-bg-2: var(--paper-strip-bg-2);
  --strip-ink: var(--paper-strip-ink);
  position: relative;
  display: block;
  width: fit-content;
  max-width: min(760px, 100%);
  margin: 22px 0;
  padding: 16px 36px;
  color: var(--strip-ink);
  font-family: var(--font-serif, "Noto Serif TC", "Songti TC", "PMingLiU", serif);
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.85;
  letter-spacing: 0.07em;
  text-align: left;
  background:
    radial-gradient(circle at 13% 28%, rgba(255,255,255,0.42) 0 1px, transparent 2px),
    radial-gradient(circle at 48% 72%, rgba(28,19,10,0.045) 0 1px, transparent 2px),
    radial-gradient(circle at 82% 42%, rgba(255,255,255,0.25) 0 1px, transparent 2px),
    repeating-linear-gradient(8deg, rgba(28,19,10,0.018) 0, rgba(28,19,10,0.018) 1px, transparent 1px, transparent 7px),
    linear-gradient(180deg, var(--strip-bg) 0%, var(--strip-bg-2) 100%);
  border: 1px solid var(--paper-strip-line);
  clip-path: polygon(0.8% 7%, 4% 3%, 9% 5%, 14% 2%, 20% 5%, 27% 3%, 34% 4%, 42% 2%, 49% 5%, 56% 3%, 63% 4%, 70% 2%, 78% 4%, 86% 3%, 94% 5%, 99.2% 3%, 98.8% 93%, 94% 96%, 88% 95%, 80% 98%, 73% 95%, 66% 97%, 59% 95%, 51% 98%, 44% 96%, 36% 97%, 29% 95%, 21% 98%, 14% 95%, 7% 97%, 1.2% 94%);
  filter: drop-shadow(0 7px 11px var(--paper-strip-shadow)) drop-shadow(0 1px 0 rgba(255,255,255,0.42));
  transform: rotate(-0.7deg);
  transform-origin: 50% 50%;
}
.paper-strip > * { position: relative; z-index: 2; }
.paper-strip .paper-strip-text { display: block; }
.paper-strip .paper-strip-text::before { content: ""; position: absolute; inset: -12px -24px; z-index: -1; pointer-events: none; background: radial-gradient(circle at 0% 0%, rgba(28,19,10,0.07), transparent 38%), radial-gradient(circle at 100% 100%, rgba(28,19,10,0.05), transparent 36%); opacity: 0.42; }
.paper-strip--sm { padding: 10px 24px; font-size: 0.88rem; line-height: 1.75; letter-spacing: 0.06em; }
.paper-strip--lg { padding: 22px 44px; font-size: clamp(1.04rem, 1.55vw, 1.18rem); line-height: 1.9; }
.paper-strip--wide { width: min(760px, 100%); }
.paper-strip--narrow { max-width: min(520px, 100%); }
.paper-strip--left { margin-left: 0; margin-right: auto; text-align: left; }
.paper-strip--center { margin-left: auto; margin-right: auto; text-align: center; }
.paper-strip--right { margin-left: auto; margin-right: 0; text-align: left; }
.paper-strip--tilt-1 { transform: rotate(-1.4deg); }
.paper-strip--tilt-2 { transform: rotate(0.8deg); }
.paper-strip--tilt-3 { transform: rotate(-0.4deg); }
.paper-strip--tilt-4 { transform: rotate(1.2deg); }
.paper-strip--warm { --strip-bg: #f5efe4; --strip-bg-2: #e9dfd1; }
.paper-strip--pink { --strip-bg: #f5e8ec; --strip-bg-2: #ead8df; }
.paper-strip--pale-gold { --strip-bg: #f1ead8; --strip-bg-2: #e4d6bb; }
.paper-strip--taped { overflow: visible; }
.paper-strip--taped::before, .paper-strip--taped::after { content: ""; position: absolute; top: -8px; z-index: 4; width: 56px; height: 18px; background: repeating-linear-gradient(-8deg, rgba(255,255,255,0.22) 0, rgba(255,255,255,0.22) 2px, transparent 2px, transparent 6px), rgba(204, 185, 139, 0.38); border: 1px solid rgba(28, 19, 10, 0.05); box-shadow: 0 1px 2px rgba(28, 19, 10, 0.08); backdrop-filter: blur(1px); clip-path: polygon(2% 12%, 10% 0, 22% 8%, 34% 0, 48% 8%, 60% 0, 74% 8%, 86% 0, 98% 10%, 100% 90%, 88% 100%, 76% 92%, 62% 100%, 50% 92%, 38% 100%, 25% 92%, 12% 100%, 0 88%); }
.paper-strip--taped::before { left: 28px; transform: rotate(-5deg); }
.paper-strip--taped::after { right: 28px; transform: rotate(6deg); }
.paper-strip-title { color: rgba(122, 37, 32, 0.82); font-size: clamp(1rem, 1.8vw, 1.25rem); font-weight: 700; letter-spacing: 0.1em; }
.paper-strip-quote { color: rgba(28, 19, 10, 0.78); font-size: clamp(1.05rem, 1.7vw, 1.25rem); }
.paper-strip-quote .quote-mark { color: rgba(122, 37, 32, 0.7); font-size: 1.12em; }
.paper-strip-hint { color: rgba(28, 19, 10, 0.62); font-size: 0.88rem; }
.paper-strip-hint strong { color: rgba(122, 37, 32, 0.78); font-weight: 700; }
.paper-strip.is-clickable { cursor: pointer; transition: transform 0.22s ease, filter 0.22s ease; }
.paper-strip.is-clickable:hover { transform: rotate(-0.2deg) translateY(-2px); filter: drop-shadow(0 10px 14px rgba(28, 19, 10, 0.15)) drop-shadow(0 1px 0 rgba(255,255,255,0.42)); }
@media (max-width: 640px) { .paper-strip { max-width: calc(100vw - 36px); padding: 13px 24px; font-size: 0.92rem; line-height: 1.75; letter-spacing: 0.055em; } .paper-strip--lg { padding: 18px 28px; font-size: 1rem; } .paper-strip--taped::before, .paper-strip--taped::after { width: 44px; height: 15px; top: -7px; } .paper-strip--taped::before { left: 22px; } .paper-strip--taped::after { right: 22px; } }
@media (prefers-reduced-motion: reduce) { .paper-strip.is-clickable { transition: none; } .paper-strip.is-clickable:hover { transform: none; } }


/* v67：最底端署名依「我想」字位精準對齊，從「國」對齊「我」、「立」對齊「想」 */
#ending-2 .ending-final-credit,
#podcast-listen-page .ending-final-credit,
.article-shell .article-section #ending-2 .ending-final-credit,
.article-shell .article-section #podcast-listen-page .ending-final-credit {
  display: block !important;
  width: fit-content !important;
  max-width: min(100%, calc(100% - 24px)) !important;
  margin: clamp(28px, 4vh, 42px) auto 0 0 !important;
  padding: 0 !important;
  border-top: 0 !important;
  box-sizing: border-box !important;
  font-family: var(--font-serif, "Noto Serif TC", "Songti TC", "PMingLiU", serif) !important;
  font-size: 1.02rem !important;
  font-weight: 400 !important;
  line-height: 2.05 !important;
  letter-spacing: 0.03em !important;
  color: rgba(58,26,46,0.92) !important;
  text-align: left !important;
  white-space: normal !important;
  justify-content: flex-start !important;
  align-items: flex-start !important;
  gap: 0 !important;
  margin-left: var(--ending-credit-flow-left, 0px) !important;
}

@media (max-width: 760px) {
  #ending-2 .ending-final-credit,
  #podcast-listen-page .ending-final-credit {
    font-size: 0.95rem !important;
    line-height: 1.95 !important;
    max-width: min(100%, calc(100% - 16px)) !important;
  }
}


/* v137：沈宗倫紫色小卡加入紙張質感，參考深紫色紙質背景 */
.shen-v54-note {
  position: relative !important;
  overflow: hidden !important;
  isolation: isolate !important;
  background-color: #5c5278 !important;
  background-image:
    linear-gradient(rgba(88, 79, 117, 0.84), rgba(88, 79, 117, 0.84)),
    url('images/backgrounds/bg-impact-wine-watercolor.png') !important;
  background-size: cover, cover !important;
  background-position: center center, center center !important;
  background-repeat: no-repeat, no-repeat !important;
  box-shadow: 0 18px 36px rgba(67,38,61,0.14), inset 0 0 0 1px rgba(255,255,255,0.05) !important;
}
.shen-v54-note::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
  background:
    radial-gradient(circle at 20% 18%, rgba(255,255,255,0.08), transparent 26%),
    radial-gradient(circle at 78% 70%, rgba(255,255,255,0.05), transparent 28%),
    radial-gradient(circle at 50% 50%, rgba(0,0,0,0.04), transparent 60%) !important;
  opacity: 0.9 !important;
  z-index: 0 !important;
}
.shen-v54-note > * {
  position: relative !important;
  z-index: 1 !important;
}


/* v138：加強沈宗倫卡片紙質感（明顯可見） */
.shen-law-note,
.shen-v54-note {
  position: relative !important;
  overflow: hidden !important;
  isolation: isolate !important;
  background-color: #65577f !important;
  background-image:
    linear-gradient(rgba(98, 83, 127, 0.58), rgba(86, 72, 114, 0.58)),
    url('images/backgrounds/bg-story-boundary-purple-watercolor.png') !important;
  background-size: cover, cover !important;
  background-position: center center, center center !important;
  background-repeat: no-repeat, no-repeat !important;
  background-blend-mode: multiply, normal !important;
  box-shadow: 0 18px 40px rgba(74, 55, 95, 0.18), inset 0 0 0 1px rgba(255,255,255,0.05) !important;
}
.shen-law-note::before,
.shen-v54-note::before {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
  background:
    radial-gradient(circle at 18% 20%, rgba(255,255,255,0.12), transparent 22%),
    radial-gradient(circle at 80% 72%, rgba(255,255,255,0.08), transparent 26%),
    repeating-linear-gradient(0deg, rgba(255,255,255,0.03) 0 2px, rgba(255,255,255,0.00) 2px 6px),
    repeating-linear-gradient(90deg, rgba(0,0,0,0.025) 0 1px, rgba(255,255,255,0.00) 1px 5px),
    linear-gradient(180deg, rgba(255,255,255,0.07), rgba(255,255,255,0.02) 24%, rgba(0,0,0,0.04) 100%) !important;
  opacity: 1 !important;
  z-index: 0 !important;
}
.shen-law-note > *,
.shen-v54-note > * {
  position: relative !important;
  z-index: 1 !important;
}
.shen-law-note p,
.shen-v54-note p {
  color: rgba(250, 245, 251, 0.96) !important;
}






/* v143：保留 v142 的位置與比例，使用 images/backgrounds/purple_card.jpg 作為底圖，
   並加上更明顯的紙紋疊層與低透明紫色遮罩。 */
html body .shen-law-note,
html body .shen-v54-note,
html body #section-5-2-v54 .shen-v54-note,
html body #section-5-2-shen.shen-flow-page .shen-v54-note {
  position: relative !important;
  overflow: hidden !important;
  isolation: isolate !important;
  background-color: #5f5678 !important;
  background-image:
    linear-gradient(
      180deg,
      rgba(58, 46, 84, 0.12),
      rgba(72, 59, 101, 0.10)
    ),
    url('images/backgrounds/purple_card.jpg') !important;
  background-size: cover, cover !important;
  background-position: center center, center center !important;
  background-repeat: no-repeat, no-repeat !important;
  background-blend-mode: normal, normal !important;
  box-shadow:
    0 16px 36px rgba(73, 56, 96, 0.16),
    inset 0 0 0 1px rgba(255,255,255,0.04) !important;
}

/* 明顯紙紋層 */
html body .shen-law-note::before,
html body .shen-v54-note::before,
html body #section-5-2-v54 .shen-v54-note::before,
html body #section-5-2-shen.shen-flow-page .shen-v54-note::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
  z-index: 0 !important;
  background:
    radial-gradient(circle at 18% 20%, rgba(255,255,255,0.10), transparent 24%),
    radial-gradient(circle at 82% 76%, rgba(0,0,0,0.08), transparent 28%),
    radial-gradient(circle at 48% 44%, rgba(255,255,255,0.05), transparent 38%),
    repeating-linear-gradient(
      0deg,
      rgba(255,255,255,0.035) 0px,
      rgba(255,255,255,0.035) 2px,
      rgba(255,255,255,0.00) 2px,
      rgba(255,255,255,0.00) 7px
    ),
    repeating-linear-gradient(
      90deg,
      rgba(0,0,0,0.025) 0px,
      rgba(0,0,0,0.025) 1px,
      rgba(255,255,255,0.00) 1px,
      rgba(255,255,255,0.00) 5px
    ),
    linear-gradient(
      180deg,
      rgba(255,255,255,0.09) 0%,
      rgba(255,255,255,0.02) 28%,
      rgba(0,0,0,0.06) 100%
    ) !important;
  mix-blend-mode: soft-light !important;
  opacity: 0.95 !important;
}

/* 低透明紫色覆蓋層，保留紙感但避免底圖過花 */
html body .shen-law-note::after,
html body .shen-v54-note::after,
html body #section-5-2-v54 .shen-v54-note::after,
html body #section-5-2-shen.shen-flow-page .shen-v54-note::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
  z-index: 0 !important;
  background: linear-gradient(
    180deg,
    rgba(88, 74, 118, 0.10),
    rgba(71, 58, 100, 0.14)
  ) !important;
  mix-blend-mode: multiply !important;
  opacity: 0.65 !important;
}

/* 讓文字內容浮在紋理上方 */
html body .shen-law-note > *,
html body .shen-v54-note > *,
html body #section-5-2-v54 .shen-v54-note > *,
html body #section-5-2-shen.shen-flow-page .shen-v54-note > * {
  position: relative !important;
  z-index: 1 !important;
}

/* 文字維持白色、清楚可讀 */
html body .shen-law-note p,
html body .shen-v54-note p,
html body #section-5-2-v54 .shen-v54-note p,
html body #section-5-2-shen.shen-flow-page .shen-v54-note p {
  color: rgba(250,245,251,0.97) !important;
}




/* v52：最後這頁改為真正的垂直置中 */
#ending-2 {
  min-height: 100vh !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
#ending-2 > p,
#ending-2 .typewriter-text {
  width: min(var(--content-width), calc(100% - 72px)) !important;
  margin: 0 auto !important;
}
@media (max-width: 760px) {
  #ending-2 > p,
  #ending-2 .typewriter-text {
    width: min(100%, calc(100% - 32px)) !important;
  }
}
