/* ============================================================
   The Daily Prophet · 全局设计系统 v3
   贴合参考图：高密度旧报纸 / 英文版式 / 魔法特效强化
   v3 变更：颗粒感调轻、字号整体放大、魔法特效更明显（浮尘微光）
   ============================================================ */

:root {
  --paper: #e6d8b8;
  --paper-dark: #d8c8a0;
  --paper-texture: #c8b890;
  --ink: #120f0b;
  --ink-faded: #5c5345;
  --gold: #c89b00;
  --red: #7a1f1f;
  --sepia: rgba(120, 100, 60, 0.22);
  --rule: #120f0b;
}

* { box-sizing: border-box; margin: 0; padding: 0; }

html { font-size: 18px; }

body {
  background: #232019;
  color: var(--ink);
  font-family: "Playfair Display", Georgia, "Times New Roman", "Noto Serif SC", "Songti SC", "SimSun", serif;
  line-height: 1.55;
  /* v24.2：边距随视口流体缩放，防止窄屏下黑边吃掉内容导致截断 */
  padding: 2rem clamp(1rem, 4.5vw, 4.5rem);
  overflow-x: hidden;
}

/* ---- 响应式兜底（防窄屏横向溢出裁掉右栏）---- */
html, body { width: 100%; }
img, video, svg, canvas { max-width: 100%; height: auto; }
.col-left, .col-center, .col-right { min-width: 0; overflow-wrap: break-word; word-break: break-word; }
.newspaper { max-width: min(2600px, 100%); }

/* ---- 纸张容器：轻度做旧 + 细腻噪点 + 柔内阴影（v3 调轻） ---- */
.newspaper {
  width: 100%;
  max-width: min(2600px, 100%);
  margin: 0 auto;
  background:
    linear-gradient(135deg, rgba(255,250,230,0.14) 0%, transparent 45%),
    radial-gradient(ellipse at 15% 20%, rgba(140,120,70,0.12) 0%, transparent 55%),
    radial-gradient(ellipse at 85% 80%, rgba(130,110,65,0.10) 0%, transparent 55%),
    var(--paper);
  box-shadow:
    0 1px 2px rgba(0,0,0,0.2),
    0 10px 36px rgba(0,0,0,0.45),
    inset 0 0 90px rgba(90,75,45,0.14);
  position: relative;
  padding: 2rem 2.6rem 2.2rem;
  border: 1px solid rgba(0,0,0,0.12);
  overflow: hidden;
}
/* 纸张噪点：opacity 0.45→0.20，频率降低，避免压字 */
.newspaper::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: 0.14;
  background-image: url("data:image/png;base64,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");
  background-size: 320px 320px;
}
.newspaper::after {
  content: "";
  position: absolute;
  inset: 8px;
  pointer-events: none;
  border: 1px solid rgba(18,15,11,0.15);
}

/* ---- 报头 ---- */
.masthead { text-align: center; border-bottom: 4px double var(--ink); padding-bottom: 0.7rem; margin-bottom: 0.6rem; position: relative; }
.masthead-ornament { position: absolute; top: 0.25rem; width: 54px; height: 54px; }
.masthead-ornament.left { left: 0; }
.masthead-ornament.right { right: 0; transform: scaleX(-1); }
.masthead-sub {
  font-family: "Playfair Display", serif;
  font-size: 0.8rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--ink);
  margin-bottom: 0.1rem;
}
.masthead-title {
  font-family: "UnifrakturMaguntia", "Playfair Display", serif;
  font-size: clamp(3.4rem, 9vw, 6.8rem);
  line-height: 0.9;
  letter-spacing: -0.01em;
  color: var(--ink);
  text-shadow: 2px 2px 0 rgba(120,100,60,0.18);
}
.masthead-title .the {
  font-family: "Playfair Display", serif;
  font-style: italic;
  font-size: 0.38em;
  display: inline-block;
  vertical-align: top;
  margin-right: 0.08em;
  color: var(--gold);
  text-shadow: none;
}
.masthead-tagline {
  font-family: "Playfair Display", serif;
  font-size: 0.82rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  margin-top: 0.25rem;
  color: var(--ink-faded);
}

/* ---- 顶部小广告/信息栏 ---- */
.top-bar {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  border-top: 2px solid var(--ink);
  border-bottom: 1px solid var(--ink);
  margin-bottom: 0.75rem;
  position: relative;
  z-index: 2;
}
.top-bar-col {
  padding: 0.4rem 0.55rem;
  border-right: 1px solid var(--ink);
  font-size: 0.72rem;
  line-height: 1.4;
  overflow-wrap: break-word;
  word-break: break-word;
  min-width: 0;
}
.top-bar-col:last-child { border-right: none; }
.top-bar-col strong {
  display: block;
  font-family: "Playfair Display", serif;
  font-weight: 900;
  font-size: 0.84rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin-bottom: 0.15rem;
}
.top-bar-col.banner {
  background: var(--ink);
  color: var(--paper);
  text-align: center;
}
.top-bar-col.banner strong { color: var(--paper); font-size: 0.9rem; }

/* ---- 天气栏：第三方 weather-effects-js（v16）----
     自研木刻气象带已按师傅要求移除（v14 也被否）。改用 c3nk/weather-effects-js：
     纯 DOM、零依赖、5.2KB、无 requestAnimationFrame（只用 CSS @keyframes）。
     两个天然优势正好命中师傅此前的否决点：
       1) 库自己创建的容器就是 position:absolute;inset:0;overflow:hidden
          → 不进文档流，结构上不可能撑高栏；
       2) mount 返回 unmount 函数 → 悬停才挂载、移开即销毁，不悬停零开销。 ---- */
.weather-col { position: relative; z-index: 0; }
.weather-col strong { transition: color 0.4s ease; }
.weather-col:hover strong { color: var(--gold); }

/* 特效舞台：absolute 覆盖层，压在文字之下（父级 z-index:0 已建立层叠上下文） */
.wx-stage {
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  opacity: 0.45;
}
/* 库默认是现代配色（雨=深蓝 / 雪=白 / 太阳=金），这里换成墨色贴合旧报纸。
   用 CSS !important 直接改粒子颜色，而不是给容器加 filter ——
   filter 罩在 130 个动画子元素上会每帧重新合成，正是风扇狂转的典型元凶。 */
.wx-stage i {
  background: #241f16 !important;
}

/* ---- 版次条 ---- */
.edition-bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-top: 1px solid var(--ink);
  border-bottom: 2px solid var(--ink);
  padding: 0.3rem 0;
  margin-bottom: 0.75rem;
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--ink-faded);
  position: relative;
  z-index: 2;
}
.edition-bar span strong { color: var(--ink); }

/* ---- 头版栅格 ---- */
.frontpage {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 1.85fr) minmax(0, 1.15fr);
  gap: clamp(1rem, 2.2vw, 2.8rem);
  align-items: start;
  position: relative;
  z-index: 2;
}
.col-left { grid-column: 1; padding: 0 0.55rem; }
.col-center { grid-column: 2; padding: 0 0.35rem; }
.col-right { grid-column: 3; padding: 0 0.55rem; }
.headline-excl {
  grid-column: 1 / -1;
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
  font-family: "Playfair Display", serif;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  font-size: 1.05rem;
  margin-bottom: 0.1rem;
}
.excl-badge {
  position: relative;
  background: var(--ink);
  color: var(--paper);
  padding: 0.18rem 0.6rem;
  font-size: 0.9em;
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  animation: badge-glow 3s ease-in-out infinite;
}
.excl-badge::before {
  content: "☞";
  font-size: 1.1em;
  transform: rotate(-15deg);
}
/* 性能优化：金光晕改用「静态 box-shadow + 只动 opacity」的伪元素，
   避免每帧重算 box-shadow（原实现是整页最贵的常驻重绘之一） */
.excl-badge::after {
  content: "";
  position: absolute;
  inset: -3px;
  border-radius: 2px;
  box-shadow: 0 0 24px 6px rgba(210,165,0,0.95);
  opacity: 0;
  pointer-events: none;
  animation: badge-halo 3s ease-in-out infinite;
}
@keyframes badge-halo {
  0%, 100% { opacity: 0; }
  50% { opacity: 1; }
}
@keyframes badge-glow {
  0%, 100% { background: var(--ink); }
  50% { background: #2a2208; }
}

.main-headline {
  grid-column: 1 / -1;
  font-family: "Playfair Display", serif;
  font-weight: 900;
  font-size: clamp(2.8rem, 6.5vw, 5.6rem);
  line-height: 0.92;
  text-transform: uppercase;
  text-align: left;
  letter-spacing: -0.02em;
  text-shadow: 2px 2px 0 rgba(120,100,60,0.18);
  border-bottom: 3px solid var(--ink);
  padding-bottom: 0.6rem;
  margin-bottom: 0.7rem;
}
/* 性能优化：标题咒语闪烁由 JS 每 6s 触发一次（只闪 0.6s），
   替代 5s 常驻 text-shadow 动画——大字号 text-shadow 每帧重绘是最贵的一项 */
.main-headline.hex {
  animation: headline-flicker 0.6s ease-in-out 1;
}

/* ---- 三栏正文 ---- */
.column p {
  font-family: "Playfair Display", Georgia, serif;
  font-size: 0.95rem;
  text-align: justify;
  hyphens: auto;
  margin-bottom: 0.6rem;
  line-height: 1.5;
  overflow-wrap: break-word;
  word-break: break-word;
}

/* ---- 巨型装饰首字母 ---- */
.drop-cap::first-letter,
.decorative-initial {
  float: left;
  font-family: "UnifrakturMaguntia", serif;
  font-size: 4rem;
  line-height: 0.78;
  padding-right: 0.18rem;
  margin-top: 0.1rem;
  color: var(--ink);
  font-weight: 400;
}
.decorative-initial.inline {
  float: none;
  display: inline-block;
  font-size: 2.6rem;
  line-height: 0.9;
  vertical-align: baseline;
  margin-right: 0.05em;
}

/* ---- 侧边栏标语（原竖排，因宽屏显得怪异，改为水平横幅） ---- */
.vertical-sidebar {
  margin-bottom: 0.7rem;
}
.vertical-text {
  font-family: "Playfair Display", serif;
  font-weight: 900;
  font-size: 1.45rem;
  line-height: 1.05;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  text-align: center;
  border-top: 3px solid var(--ink);
  border-bottom: 3px solid var(--ink);
  padding: 0.35rem 0.6rem;
  background: rgba(0,0,0,0.04);
}

/* ---- 魔法照片（会动的照片）强化 ---- */
.moving-photo-frame {
  border: 4px solid var(--ink);
  padding: 3px;
  margin-bottom: 0.7rem;
  background: var(--paper-dark);
  position: relative;
  overflow: hidden;
}
.moving-photo-frame::after {
  content: "";
  position: absolute;
  inset: 3px;
  box-shadow: inset 0 0 28px rgba(50,40,25,0.45);
  pointer-events: none;
  z-index: 1;
}
.moving-photo {
  display: block;
  width: 100%;
  aspect-ratio: 4/3;
  filter: grayscale(100%) contrast(1.35) sepia(0.35) brightness(0.92);
  /* 性能优化：移除常驻 filter 动画（magic-flicker 每帧重绘整张大图），
     闪光效果改由 JS 每 3.4s 触发一次 .flash（短暂、间隔长） */
  animation: magic-pan 9s ease-in-out infinite alternate;
  transform-origin: center center;
  will-change: transform;
}
img.moving-photo { object-fit: cover; }
svg.moving-photo { height: auto; }
.moving-photo-frame:hover .moving-photo {
  filter: grayscale(80%) contrast(1.5) sepia(0.5) brightness(1.08);
  animation-play-state: paused;
}
.photo-caption {
  font-size: 0.78rem;
  font-style: italic;
  text-align: center;
  color: var(--ink-faded);
  margin-top: 0.3rem;
}
/* 做旧（vintage）：Route A 取原图时套用——在 .moving-photo 基础做旧之上再压一层
   纸纹/泛黄，强化「旧报纸剪报」感。只作用于真实栅格图（content.js 里 vintage:true）。 */
.moving-photo-frame.vintage img {
  filter: grayscale(100%) sepia(0.5) contrast(1.2) brightness(0.94);
}
.moving-photo-frame.vintage::before {
  content: "";
  position: absolute;
  inset: 3px;
  z-index: 2;
  pointer-events: none;
  background:
    radial-gradient(130% 110% at 50% -10%, rgba(120,92,42,0.12), rgba(0,0,0,0) 55%),
    radial-gradient(90% 90% at 100% 100%, rgba(86,58,18,0.18), rgba(0,0,0,0) 52%),
    repeating-linear-gradient(115deg, rgba(60,44,20,0.05) 0 2px, rgba(0,0,0,0) 2px 5px);
  mix-blend-mode: multiply;
  opacity: 0.92;
}
.moving-photo-frame.vintage:hover .moving-photo {
  filter: grayscale(78%) sepia(0.62) contrast(1.35) brightness(1.05);
}
@keyframes magic-pan {
  0% { transform: scale(1.06) translate(-1.4%, -1.2%); }
  100% { transform: scale(1.2) translate(1.4%, 1.2%); }
}
@keyframes magic-flicker {
  0%, 92%, 100% { filter: grayscale(100%) contrast(1.35) sepia(0.35) brightness(0.92); }
  94% { filter: grayscale(72%) contrast(1.6) sepia(0.55) brightness(1.18); }
  96% { filter: grayscale(100%) contrast(1.3) sepia(0.3) brightness(0.86); }
  98% { filter: grayscale(85%) contrast(1.45) sepia(0.45) brightness(1.05); }
}

/* ---- 消失墨迹（悬停消退） ---- */
.vanishing-text {
  position: relative;
  cursor: pointer;
  transition: opacity 0.5s ease, filter 0.5s ease;
}
.vanishing-text:hover {
  opacity: 0.08;
  filter: blur(1.2px);
}
.vanishing-text::after {
  content: "[The ink is fading…]";
  position: absolute;
  left: 0;
  top: 0;
  opacity: 0;
  font-style: italic;
  font-size: 0.85rem;
  color: var(--ink-faded);
  transition: opacity 0.35s ease;
  pointer-events: none;
}
.vanishing-text:hover::after { opacity: 1; }

/* ---- 预言墨迹（渗开淡入淡出） ---- */
.prophecy-ink {
  position: relative;
  animation: ink-fade 6s ease-in-out infinite;
}
.prophecy-ink::before {
  content: "";
  position: absolute;
  inset: -0.3rem -0.4rem;
  background: radial-gradient(ellipse at center, rgba(90,70,40,0.22) 0%, transparent 70%);
  opacity: 0;
  animation: ink-bleed 6s ease-in-out infinite;
  pointer-events: none;
  z-index: -1;
}
@keyframes ink-fade {
  0%, 16% { opacity: 1; }
  38%, 58% { opacity: 0.3; }
  80%, 100% { opacity: 1; }
}
@keyframes ink-bleed {
  0%, 18% { opacity: 0; transform: scale(0.8); }
  42%, 54% { opacity: 0.8; transform: scale(1.18); }
  78%, 100% { opacity: 0; transform: scale(0.8); }
}

/* ---- 标题闪烁（像被咒语干扰，v3 更明显） ---- */
@keyframes headline-flicker {
  0%, 100% { text-shadow: 2px 2px 0 rgba(120,100,60,0.18); opacity: 1; }
  18% { text-shadow: 5px 0 0 rgba(210,165,0,0.75); opacity: 0.9; }
  36% { text-shadow: -5px 0 0 rgba(210,165,0,0.75); opacity: 1; }
  55% { text-shadow: 3px 0 0 rgba(210,165,0,0.5); opacity: 0.95; }
  75% { text-shadow: -2px 0 0 rgba(210,165,0,0.3); opacity: 1; }
}

/* ---- 栏目标题 ---- */
.sub-headline {
  font-family: "Playfair Display", serif;
  font-weight: 900;
  font-size: 1.35rem;
  line-height: 0.98;
  text-transform: uppercase;
  margin: 0.75rem 0 0.4rem;
  border-top: 1px solid var(--ink);
  padding-top: 0.4rem;
}
.side-headline {
  font-family: "Playfair Display", serif;
  font-weight: 900;
  font-size: 1.05rem;
  text-transform: uppercase;
  line-height: 1.05;
  margin-bottom: 0.3rem;
}

/* ---- 小横幅/专题盒 ---- */
.sub-banner {
  background: var(--ink);
  color: var(--paper);
  padding: 0.5rem 0.6rem;
  margin-bottom: 0.6rem;
  text-align: center;
}
.sub-banner strong {
  display: block;
  font-family: "Playfair Display", serif;
  font-weight: 900;
  font-size: 1.05rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.sub-banner span {
  display: block;
  font-size: 0.68rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.85;
}
.special-box {
  border-top: 3px double var(--ink);
  border-bottom: 3px double var(--ink);
  padding: 0.5rem 0;
  margin-bottom: 0.6rem;
}
.special-label {
  font-size: 0.68rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ink-faded);
  text-align: right;
  display: block;
  margin-bottom: 0.15rem;
}
.special-headline {
  font-family: "Playfair Display", serif;
  font-weight: 900;
  font-size: 1.2rem;
  line-height: 1.05;
  text-transform: uppercase;
  margin-bottom: 0.3rem;
}

/* ---- 主标题下方小字 ---- */
.main-subline {
  grid-column: 1 / -1;
  font-family: "Playfair Display", serif;
  font-style: italic;
  font-size: 1rem;
  text-align: center;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--ink-faded);
  margin-top: -0.4rem;
  margin-bottom: 0.7rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid var(--ink);
}

/* ---- 巨型装饰首字母（独立展示版） ---- */
.decorative-initial.standalone {
  float: none;
  display: inline-block;
  font-size: 4.6rem;
  line-height: 0.95;
  padding: 0;
  margin: 0;
}

/* ---- 旋转徽章 ---- */
.rotating-seal {
  width: 60px;
  height: 60px;
  margin: 0.4rem auto;
  animation: slow-spin 22s linear infinite;
}
@keyframes slow-spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }

/* ---- 页脚导航条 ---- */
.bottom-bar {
  grid-column: 1 / -1;
  border-top: 3px double var(--ink);
  margin-top: 0.8rem;
  padding-top: 0.4rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-family: "Playfair Display", serif;
  font-size: 0.84rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--ink-faded);
  position: relative;
  z-index: 2;
}
.bottom-bar-item { display: inline-flex; align-items: baseline; gap: 0.2rem; }
.bottom-bar-item strong { color: var(--ink); font-size: 1.05em; }

/* ---- 页脚 ---- */
.footer-bar {
  grid-column: 1 / -1;
  border-top: 1px solid var(--ink);
  margin-top: 0.5rem;
  padding-top: 0.4rem;
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
  font-size: 0.74rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--ink-faded);
  position: relative;
  z-index: 2;
}
.footer-bar a {
  color: var(--ink);
  text-decoration: none;
  border-bottom: 1px dotted var(--ink-faded);
}
.footer-bar a:hover {
  color: var(--gold);
  border-bottom-color: var(--gold);
}

/* ---- 魔法抖动（JS 随机注入到部分段落） ---- */
@keyframes magic-shake {
  0%, 95%, 100% { transform: translate(0, 0); }
  96% { transform: translate(0.8px, 0.8px); }
  97% { transform: translate(-0.8px, -0.8px); }
  98% { transform: translate(0.8px, -0.8px); }
  99% { transform: translate(-0.8px, 0.8px); }
}

/* ---- 鼠标悬停高亮咒语痕迹 ---- */
.magic-highlight:hover {
  background: rgba(180,140,40,0.12);
  outline: 1px dashed rgba(90,70,30,0.35);
  outline-offset: 2px;
}

/* ---- 受惊的魔法小精灵文字 ---- */
.sprite-text { line-height: 1.6; }
.sprite-word {
  display: inline-block;
  transition: transform 0.15s ease-out, text-shadow 0.15s ease, color 0.15s ease;
  will-change: transform;
}

/* ---- X 账号外链：默认只显示 @yangxia，hover 展开魔棒彩蛋 ---- */
.x-link {
  color: var(--ink);
  text-decoration: none;
  border-bottom: 1px dotted var(--ink-faded);
  position: relative;
  white-space: nowrap;
}
.x-handle { font-weight: 700; }
.x-wand {
  display: inline-block;
  opacity: 0;
  max-width: 0;
  overflow: hidden;
  vertical-align: middle;
  transition: all 0.35s ease;
  white-space: nowrap;
  color: var(--gold);
  margin-left: 0;
}
.x-link:hover .x-wand {
  opacity: 1;
  max-width: 190px;
  margin-left: 0.35rem;
}
.x-link::before {
  content: "✦";
  display: inline-block;
  opacity: 0;
  transform: rotate(-45deg) scale(0.6);
  margin-right: 0;
  transition: all 0.3s ease;
  color: var(--gold);
}
.x-link:hover::before {
  opacity: 1;
  margin-right: 0.3rem;
  transform: rotate(0deg) scale(1);
  animation: wand-twinkle 0.7s ease-in-out infinite alternate;
}
@keyframes wand-twinkle {
  from { filter: brightness(1); text-shadow: 0 0 0 rgba(230,190,30,0); }
  to { filter: brightness(1.5); text-shadow: 0 0 10px rgba(230,190,30,0.9); }
}

/* ---- 照片周期性闪光（JS 驱动，确保环境禁用 CSS 动画时仍可见） ---- */
.moving-photo.flash {
  filter: grayscale(70%) contrast(1.6) sepia(0.5) brightness(1.28);
}

/* ---- 降低动画偏好：显式重新启用魔法动效，防止被全局规则静音 ---- */
@media (prefers-reduced-motion: reduce) {
  .moving-photo { animation: magic-pan 9s ease-in-out infinite alternate !important; }
  .excl-badge { animation: badge-glow 3s ease-in-out infinite !important; }
  .excl-badge::after { animation: badge-halo 3s ease-in-out infinite !important; }
  .main-headline.hex { animation: headline-flicker 0.6s ease-in-out 1 !important; }
  .prophecy-ink { animation: ink-fade 6s ease-in-out infinite !important; }
  .prophecy-ink::before { animation: ink-bleed 6s ease-in-out infinite !important; }
  .rotating-seal { animation: slow-spin 22s linear infinite !important; }
}

/* ---- 通用行情图：Lupi F2 发丝折线的报纸化版本 ----
     纯手写 SVG、零依赖；颜色全部取自 :root 变量，不另起色板。
     动画只播一次，且元素的默认态就是"完整可见"——万一动画不执行，图依然在。 */
/* 栏内插图（跟新闻走）：上下细线像报纸的分隔框 */
.chart-block {
  margin: 1rem 0 0.9rem;
  padding: 0.7rem 0 0.5rem;
  border-top: 1px solid var(--ink-faded);
  border-bottom: 1px solid var(--ink-faded);
}
.chart-block.wide { grid-column: 1 / -1; }
/* 限宽居中：PC 中栏约 487px（不限，自然撑满栏）；
   移动端降为单栏后宽度可达 750px+，限 560 才不会被拉成 450px 高的长条 */
.chart-svg { display: block; width: 100%; height: auto; max-width: 560px; margin: 0 auto; }
/* 通栏专栏：版心 1213px，限 1040 后高约 370px */
.chart-block.wide .chart-svg { max-width: 1040px; }

.chart-line { stroke-dasharray: 1; stroke-dashoffset: 0; }
.chart-line.dashed { stroke-dasharray: 5 3; }
.chart-draw { animation: chart-draw 1.1s cubic-bezier(0.22, 1, 0.36, 1); }
.chart-fade { animation: chart-fade 0.8s ease; }
.chart-dot { animation: chart-fade 0.6s ease 0.35s; }
@keyframes chart-draw { from { stroke-dashoffset: 1; } }
@keyframes chart-fade { from { opacity: 0; } }

.chart-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 1.1rem;
  margin-top: 0.3rem;
  font-size: 0.62rem;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  color: var(--ink-faded);
}
.chart-key { display: inline-flex; align-items: center; gap: 0.32rem; }

@media (prefers-reduced-motion: reduce) {
  .chart-draw,
  .chart-fade,
  .chart-dot { animation: none; }
}

/* ---- 响应式：宽屏/平板/宽 WebView 先塌成单栏（阈值提到 1024px，
       覆盖托管 WebView 不按 device-width 渲染、导致 840px 媒体查询不触发的情况）---- */
@media (max-width: 1024px) {
  .frontpage { grid-template-columns: 1fr; }
  .col-left, .col-center, .col-right { grid-column: 1 / -1; min-width: 0; width: 100%; }
}
/* ---- 移动端：进一步收窄 padding / 字号 ---- */
@media (max-width: 840px) {
  body { padding: 1rem; }
  .newspaper { padding: 1rem; }
  .top-bar { grid-template-columns: 1fr 1fr; }
  .vertical-text { font-size: 1.2rem; padding: 0.3rem 0.4rem; }
  .main-headline { font-size: clamp(2rem, 9vw, 3.6rem); }
  .bottom-bar { flex-wrap: wrap; gap: 0.3rem; }
}
/* ---- 超窄屏：防止任何残留溢出 ---- */
@media (max-width: 480px) {
  body { padding: 0.5rem; }
  .newspaper { padding: 0.75rem; }
  .top-bar { grid-template-columns: 1fr; }
  .top-bar-col { border-right: none; border-bottom: 1px solid var(--ink); }
  .top-bar-col:last-child { border-bottom: none; }
}
