/* ═══════════════════════════════════════════════
   市场温度仪表盘 — 站点风格 + 原型布局
   tokens: --primary-color / --bg-color / --sa-topbar-max-width
   ═══════════════════════════════════════════════ */

body.md-page {
  --sa-topbar-max-width: 1600px;
  --md-primary: var(--primary-color, #1a56a7);
  --md-bg: var(--bg-color, #f6f7fb);
  --md-card: #fff;
  --md-text: #1a2330;
  --md-muted: #8c8c8c;
  --md-faint: #bfbfbf;
  --md-border: #e8eaed;
  --md-soft: #f0f1f5;
  --md-up: #cf1322;
  --md-down: #389e0d;
  --md-warn: var(--warning-color, #FAAD14);
  background: var(--md-bg);
}

@media (min-width: 1680px) {
  body.md-page { --sa-topbar-max-width: 1720px; }
}
@media (min-width: 1920px) {
  body.md-page { --sa-topbar-max-width: 1840px; }
}
@media (max-width: 720px) {
  body.md-page { --sa-topbar-max-width: 100%; }
}

body.md-page > .sa-page-shell,
body.md-page .sa-page-shell.md-shell {
  max-width: var(--sa-topbar-max-width, 1600px);
  margin: 0 auto;
  padding-top: 12px;
  padding-bottom: 40px;
  /* 左右 gutter 由 --sa-topbar-px 提供，勿再硬编码 */
}

.md-up { color: var(--md-up) !important; }
.md-down { color: var(--md-down) !important; }

.md-badge {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: 12px; color: var(--md-muted);
  background: var(--md-soft); border-radius: 999px;
  padding: 4px 10px; white-space: nowrap;
}
.md-badge i { color: var(--md-primary); font-size: 11px; }
.md-badge.is-ok { color: var(--md-down); background: #f6ffed; }
.md-badge.is-ok i { color: var(--md-down); }
.md-badge.is-err { color: var(--md-up); background: #fff1f0; }
.md-badge.is-err i { color: var(--md-up); }

body.md-page .sa-toolbar-btn.active {
  background: #e8f0fe;
  color: var(--md-primary);
  border-color: #c5d4eb;
}

.md-card {
  background: var(--md-card);
  border-radius: 12px;
  border: 1px solid rgba(15, 23, 42, 0.04);
  box-shadow: 0 2px 12px rgba(15, 23, 42, 0.045);
  padding: 18px 20px;
  margin-bottom: 0;
}
.md-card-head {
  font-size: 14px; font-weight: 700; color: var(--md-text); margin-bottom: 14px;
  display: flex; align-items: center; gap: 8px; flex-wrap: wrap;
}
.md-card-head i { color: var(--md-primary); font-size: 14px; }
.md-card-sub { font-size: 12px; color: var(--md-muted); font-weight: 400; }

/* ── 模块导航 ── */
.md-subnav {
  display: flex; gap: 4px; overflow-x: auto; -webkit-overflow-scrolling: touch;
  margin-bottom: 12px; padding-bottom: 2px;
  scrollbar-width: thin;
}
.md-subnav-item {
  flex: 0 0 auto; padding: 7px 12px; border-radius: 8px;
  font-size: 13px; font-weight: 500; color: var(--md-muted);
  text-decoration: none; white-space: nowrap;
  transition: background .2s, color .2s;
}
.md-subnav-item:hover { background: #e8f0fe; color: var(--md-primary); }
.md-subnav-item.is-active {
  background: var(--md-primary); color: #fff; font-weight: 600;
}

/* ── 标题 ── */
.md-title-area { padding: 4px 2px 14px; }
.md-title-row { display: flex; align-items: center; gap: 12px; margin-bottom: 6px; flex-wrap: wrap; }
.md-title { font-size: 22px; font-weight: 800; color: var(--md-text); margin: 0; letter-spacing: -0.02em; }
.md-title-badge {
  font-size: 12px; font-weight: 600; color: var(--md-primary);
  background: #e8f0fe; border-radius: 6px; padding: 2px 10px;
}
.md-title-sub { font-size: 13px; color: var(--md-muted); margin-bottom: 4px; line-height: 1.5; }
.md-title-time { font-size: 12px; color: var(--md-faint); }

/* ── 首屏双列 ── */
.md-hero-grid {
  display: grid;
  grid-template-columns: minmax(320px, 0.9fr) minmax(0, 1.4fr);
  gap: 16px;
  margin-bottom: 14px;
}

.md-hero-panel { display: flex; flex-direction: column; gap: 14px; }
.md-hero-value-block { display: flex; align-items: baseline; gap: 2px; }
.md-hero-value {
  font-size: 52px; font-weight: 800; color: var(--md-primary); line-height: 1;
  font-variant-numeric: tabular-nums;
  transition: color .3s;
}
.md-hero-unit { font-size: 20px; font-weight: 600; color: var(--md-primary); }
.md-hero-zone {
  display: inline-flex; align-self: flex-start;
  font-size: 14px; font-weight: 700; padding: 4px 12px;
  border-radius: 6px; background: #fffbe6; color: var(--md-warn);
}
.md-hero-meta { display: flex; align-items: center; gap: 18px; }
.md-hero-meta-item { display: flex; flex-direction: column; gap: 2px; }
.md-hero-meta-label { font-size: 12px; color: var(--md-faint); }
.md-hero-meta-val { font-size: 14px; font-weight: 600; color: #595959; }
.md-hero-meta-divider { width: 1px; height: 28px; background: var(--md-border); }

.md-zone-bar {
  display: grid; grid-template-columns: 1fr 1fr; gap: 6px;
}
.md-zone-item {
  display: flex; align-items: center; gap: 6px;
  font-size: 12px; color: #595959; padding: 8px 10px;
  background: var(--md-soft); border: 1px solid transparent;
  border-radius: 8px; cursor: pointer; text-align: left;
  transition: all .2s; font-family: inherit;
}
.md-zone-item:hover { border-color: #c5d4eb; }
.md-zone-item.active {
  background: #fff;
  font-weight: 700;
  color: var(--md-text);
  border-color: var(--zone-active-color, var(--md-warn));
  box-shadow: inset 0 -2px 0 0 var(--zone-active-color, var(--md-warn));
}
.md-zone-item.is-preview {
  outline: 2px dashed var(--zone-active-color, var(--md-primary));
  outline-offset: 0;
}
.md-zone-dot { width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; }

.md-insight-block {
  background: #f8fafc; border-left: 3px solid var(--md-primary);
  border-radius: 0 8px 8px 0; padding: 10px 12px;
}
.md-insight-label {
  font-size: 12px; font-weight: 600; color: var(--md-primary);
  margin-bottom: 6px; display: flex; align-items: center; gap: 6px;
}
.md-insight-text {
  font-size: 14px; font-weight: 600; color: var(--md-text); line-height: 1.65;
}

.md-char-head { font-size: 13px; font-weight: 700; color: var(--md-text); }
.md-char-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.md-char-card {
  background: var(--md-soft); border: 1px solid var(--md-border); border-radius: 10px;
  padding: 12px 10px; text-align: center; transition: all .25s;
  opacity: 0.48; filter: grayscale(0.55);
}
.md-char-card.active {
  background: #fff; border-color: var(--md-primary);
  box-shadow: 0 2px 8px rgba(26, 86, 167, 0.12);
  opacity: 1; filter: none;
}
.md-char-card:focus-visible {
  outline: 2px solid var(--md-primary); outline-offset: 2px;
}
.md-char-icon { font-size: 16px; color: var(--md-faint); margin-bottom: 6px; }
.md-char-card.active .md-char-icon { color: var(--md-primary); }
.md-char-label { font-size: 13px; font-weight: 700; color: var(--md-muted); margin-bottom: 2px; }
.md-char-card.active .md-char-label { color: var(--md-text); }
.md-char-desc { font-size: 11px; color: var(--md-faint); line-height: 1.4; }
.md-char-card.active .md-char-desc { color: #595959; }

/* ── K线 ── */
.md-kline-card { min-width: 0; overflow: hidden; }
.md-kline-tools {
  margin-left: auto; display: flex; align-items: center; gap: 12px; flex-wrap: wrap;
}
.md-range-group {
  display: inline-flex; background: var(--md-soft); border-radius: 8px; padding: 2px;
}
.md-range-btn {
  border: 0; background: transparent; color: var(--md-muted);
  font-size: 12px; font-weight: 600; padding: 5px 10px; border-radius: 6px;
  cursor: pointer; font-family: inherit; min-height: 28px;
}
.md-range-btn:hover { color: var(--md-primary); }
.md-range-btn.is-active {
  background: #fff; color: var(--md-primary);
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.08);
}
.md-kline-corner { display: flex; gap: 14px; flex-wrap: wrap; }
.md-corner-item { font-size: 12px; color: var(--md-muted); font-weight: 400; }
.md-corner-item span { font-weight: 600; }
.md-kline-chart {
  width: 100%; height: 380px;
  overflow: hidden;
  position: relative;
  border-radius: 0 0 8px 8px;
}
.md-kline-warmup {
  text-align: center; padding: 48px 0; color: var(--md-faint); font-size: 14px;
}

/* ── 胶囊 ── */
.md-capsules { display: flex; gap: 8px; margin-bottom: 14px; flex-wrap: wrap; }
.md-capsule {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 8px 14px; border-radius: 999px; min-height: 36px;
  border: 1px solid var(--md-border); background: #fff;
  font-size: 13px; font-weight: 500; color: #595959;
  cursor: pointer; transition: all .2s; font-family: inherit;
}
.md-capsule:hover { border-color: var(--md-primary); color: var(--md-primary); }
.md-capsule.active {
  background: var(--md-primary); border-color: var(--md-primary); color: #fff;
  box-shadow: 0 2px 8px rgba(26, 86, 167, 0.25);
}
.md-capsule-dot { width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; }
.md-capsule.active .md-capsule-dot { background: #fff !important; }
.md-capsule-reset {
  margin-left: auto; color: var(--md-primary); border-style: dashed;
}
.md-capsule-reset:hover { background: #e8f0fe; }

/* ── 中部四卡 ── */
.md-mid-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 14px;
}
.md-mid-card { min-width: 0; }
.md-phase-name { font-size: 16px; font-weight: 700; color: var(--md-text); margin-bottom: 8px; line-height: 1.4; }
.md-phase-hint { font-size: 13px; color: var(--md-muted); line-height: 1.6; }

.md-thermo-value {
  font-size: 28px; font-weight: 800; color: var(--md-primary);
  font-variant-numeric: tabular-nums; margin-bottom: 10px;
}
.md-thermo-bar-wrap { padding: 4px 0 18px; }
.md-thermo-bar {
  position: relative; height: 18px; border-radius: 999px; overflow: visible;
  background: linear-gradient(90deg,
    #389e0d 0%, #389e0d 10%,
    #1a56a7 10%, #1a56a7 25%,
    #FAAD14 25%, #FAAD14 50%,
    #cf1322 50%, #cf1322 100%);
}
.md-thermo-fill {
  position: absolute; top: 0; left: 0; height: 100%; border-radius: 999px;
  background: rgba(255, 255, 255, 0.28); transition: width .55s ease;
}
.md-thermo-tick {
  position: absolute; top: -3px; width: 1px; height: 24px;
  background: rgba(255, 255, 255, 0.75); transform: translateX(-50%);
}
.md-thermo-tick-label {
  position: absolute; top: 24px; transform: translateX(-50%);
  font-size: 10px; color: var(--md-faint); white-space: nowrap;
}
.md-thermo-pointer {
  position: absolute; top: -7px; width: 3px; height: 32px; background: var(--md-text);
  border-radius: 2px; transition: left .55s ease; transform: translateX(-50%);
  z-index: 2;
}
.md-thermo-pointer::after {
  content: ''; position: absolute; top: -5px; left: 50%; transform: translateX(-50%);
  width: 0; height: 0;
  border-left: 5px solid transparent; border-right: 5px solid transparent;
  border-top: 6px solid var(--md-text);
}
.md-thermo-meta { display: flex; gap: 20px; margin-top: 8px; flex-wrap: wrap; }
.md-thermo-meta-item { display: flex; flex-direction: column; gap: 2px; }
.md-thermo-meta-label { font-size: 12px; color: var(--md-faint); }
.md-thermo-meta-val { font-size: 13px; font-weight: 600; color: #595959; }

.md-score-value-row { display: flex; align-items: baseline; gap: 2px; }
.md-score-value { font-size: 36px; font-weight: 800; color: var(--md-primary); line-height: 1; }
.md-score-max { font-size: 14px; font-weight: 600; color: var(--md-faint); }
.md-score-level {
  display: inline-block; font-size: 12px; font-weight: 600; color: var(--md-primary);
  background: #e8f0fe; border-radius: 6px; padding: 2px 10px; margin-top: 8px;
}
.md-score-meta { display: flex; gap: 18px; margin-top: 12px; flex-wrap: wrap; }
.md-score-meta-item { display: flex; flex-direction: column; gap: 2px; }
.md-score-meta-label { font-size: 12px; color: var(--md-faint); }
.md-score-meta-val { font-size: 13px; font-weight: 600; color: #595959; }

.md-sent-value-row { display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; }
.md-sent-value { font-size: 36px; font-weight: 800; color: var(--md-text); line-height: 1; }
.md-sent-label {
  font-size: 13px; font-weight: 600; color: var(--md-muted);
  background: var(--md-soft); border-radius: 6px; padding: 2px 10px;
}
.md-sent-meta { display: flex; gap: 18px; margin-top: 12px; flex-wrap: wrap; }
.md-sent-meta-item { display: flex; flex-direction: column; gap: 2px; }
.md-sent-meta-label { font-size: 12px; color: var(--md-faint); }
.md-sent-meta-val { font-size: 13px; font-weight: 600; color: #595959; }
.md-sent-structure {
  font-size: 12px; color: var(--md-muted); margin-top: 10px;
  padding-top: 10px; border-top: 1px solid var(--md-soft);
}

.md-hud-inline {
  display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px;
}
.md-hud-pill {
  font-size: 11px; color: var(--md-muted); background: var(--md-bg);
  border-radius: 999px; padding: 3px 8px; display: inline-flex; gap: 4px;
}
.md-hud-pill b { font-weight: 700; color: var(--md-text); }
.md-hud-pill.md-up b { color: var(--md-up); }
.md-hud-pill.md-down b { color: var(--md-down); }

/* ── 底部三列 ── */
.md-bottom-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr) minmax(0, 1fr);
  gap: 14px;
  margin-bottom: 8px;
}
.md-bottom-left { display: flex; flex-direction: column; gap: 14px; min-width: 0; }

.md-dimensions { display: flex; flex-direction: column; gap: 8px; }
.md-dim-row {
  display: flex; align-items: center; gap: 10px; width: 100%;
  padding: 6px 8px; margin: 0; border: 1px solid transparent;
  border-radius: 8px; background: transparent; cursor: pointer;
  font-family: inherit; text-align: left; transition: background .2s, border-color .2s;
}
.md-dim-row:hover { background: #f8fafc; }
.md-dim-row.is-active {
  background: #e8f0fe; border-color: #c5d4eb;
}
.md-dim-name { font-size: 13px; font-weight: 600; color: #595959; width: 64px; flex-shrink: 0; }
.md-dim-bar {
  flex: 1; height: 8px; background: var(--md-soft); border-radius: 4px; overflow: hidden;
}
.md-dim-fill {
  height: 100%; border-radius: 4px; transition: width .55s ease;
  background: var(--md-primary);
}
.md-dim-score {
  font-size: 12px; font-weight: 700; color: var(--md-text); width: 48px; text-align: right;
  font-variant-numeric: tabular-nums;
}
.md-score-total {
  font-size: 13px; color: #595959; margin-top: 12px;
  padding-top: 12px; border-top: 1px solid var(--md-soft);
}
.md-score-total b { font-size: 17px; color: var(--md-primary); }

.md-five-day-chart { width: 100%; height: 150px; }
.md-five-day-text { font-size: 13px; color: #595959; margin-top: 8px; }
.md-five-day-status { font-size: 13px; color: var(--md-primary); font-weight: 600; margin-top: 4px; }

.md-radar-card { text-align: center; min-width: 0; overflow: hidden; }
.md-radar { width: 100%; height: 360px; overflow: hidden; }
.md-radar-hint {
  font-size: 12px; color: #64748b; margin-top: -4px; font-weight: 500;
}
.md-radar-hint.is-active { color: #1a56a7; font-weight: 600; }

.md-advice-stack { display: flex; flex-direction: column; gap: 10px; }
.md-advice-sub {
  background: var(--md-bg); border: 1px solid var(--md-border);
  border-radius: 10px; padding: 12px 14px;
}
.md-advice-sub-head {
  font-size: 13px; font-weight: 700; color: var(--md-primary); margin-bottom: 8px;
  display: flex; align-items: center; gap: 6px; flex-wrap: wrap;
}
.md-advice-sub-head i { font-size: 13px; }
.md-advice-sub-head .fa-star { color: #d48806; }
.md-advice-link {
  margin-left: auto; font-size: 12px; font-weight: 500;
  color: var(--md-muted); text-decoration: none;
}
.md-advice-link:hover { color: var(--md-primary); }
.md-etf-asof {
  font-size: 11px; font-weight: 600; color: var(--md-primary);
  background: #e8f0fe; border-radius: 999px; padding: 1px 8px;
}
.md-advice-sub-val { font-size: 14px; font-weight: 600; color: var(--md-text); line-height: 1.55; }
.md-advice-sub-text { font-weight: 500; font-size: 13px; }

.md-etf-sector,
.md-theme-row {
  display: flex; align-items: center; justify-content: space-between; gap: 8px;
  padding: 4px 0; font-size: 13px;
}
.md-etf-sector + .md-etf-sector,
.md-theme-row + .md-theme-row { border-top: 1px dashed var(--md-border); }
.md-etf-sector-name,
.md-theme-name { font-weight: 600; color: var(--md-text); }
.md-etf-sector a { color: inherit; text-decoration: none; }
.md-etf-sector a:hover { color: var(--md-primary); text-decoration: underline; }
.md-etf-sector-chg { font-variant-numeric: tabular-nums; font-weight: 700; }
.md-theme-meta { font-size: 12px; color: var(--md-muted); font-weight: 500; }

.md-theme-card {
  display: block;
  text-decoration: none;
  color: inherit;
  padding: 10px 0 8px;
  border-top: 1px dashed var(--md-border);
}
.md-theme-card:first-child { border-top: 0; padding-top: 2px; }
.md-theme-card:hover .md-theme-title { color: var(--md-primary); }
.md-theme-title {
  font-size: 15px;
  font-weight: 700;
  color: var(--md-text);
  line-height: 1.4;
  letter-spacing: -0.01em;
}
.md-theme-scoreline {
  margin-top: 4px;
  font-size: 13px;
  font-weight: 500;
  color: var(--md-muted);
  line-height: 1.45;
}
.md-theme-leaders {
  margin-top: 4px;
  font-size: 13px;
  font-weight: 600;
  color: var(--md-text);
  line-height: 1.45;
}
.md-theme-summary {
  margin-top: 6px;
  font-size: 12.5px;
  font-weight: 500;
  color: var(--md-muted);
  line-height: 1.55;
}
.md-theme-empty {
  font-size: 13px;
  font-weight: 500;
  color: var(--md-muted);
}

.md-disclaimer {
  text-align: center; font-size: 12px; color: var(--md-faint); line-height: 1.8;
  padding: 20px 12px 8px; margin-top: 8px;
}

.md-shell.is-loading { opacity: 0.55; pointer-events: none; transition: opacity .2s; }
.md-shell { transition: opacity .2s; }

/* ── 离屏导出：固定桌面宽，不受当前视口/手机端媒体查询影响 ── */
.md-export-host {
  position: fixed;
  left: -16000px;
  top: 0;
  z-index: -1;
  pointer-events: none;
  box-sizing: border-box;
  width: 1280px;
  padding: 18px 20px 16px;
  background: var(--md-bg, #f6f7fb);
  color: var(--md-text, #1a2330);
  font-family: "DIN Alternate", "Tabular Numbers", "PingFang SC", "Microsoft YaHei", sans-serif;
}
.md-export-host .md-export-meta {
  margin: 0 0 12px;
  font-size: 12px;
  color: var(--md-muted, #8c8c8c);
  line-height: 1.5;
}
.md-export-host .md-export-body {
  background: transparent;
}
.md-export-host .md-shell {
  max-width: none;
  width: 100%;
  margin: 0;
  padding: 0;
}
.md-export-host .md-hero-grid {
  display: grid !important;
  grid-template-columns: minmax(320px, 0.9fr) minmax(0, 1.4fr) !important;
}
.md-export-host .md-mid-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}
.md-export-host .md-bottom-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr) minmax(0, 1fr) !important;
}
.md-export-host .md-advice-card {
  grid-column: auto !important;
}
.md-export-host .md-zone-bar {
  grid-template-columns: 1fr 1fr !important;
}
.md-export-host .md-title {
  font-size: 22px !important;
  line-height: 1.25 !important;
}
.md-export-host .md-card {
  padding: 18px 20px !important;
}
.md-export-host .md-card-head {
  font-size: 14px !important;
  gap: 8px !important;
  margin-bottom: 14px !important;
}
.md-export-host .md-card-head i {
  font-size: 14px !important;
}
.md-export-host .md-char-icon {
  font-size: 16px !important;
  margin-bottom: 6px !important;
}
.md-export-host .md-hero-value {
  font-size: 52px !important;
}
.md-export-host .md-kline-chart {
  height: 380px !important;
}
.md-export-host .md-radar {
  height: 360px !important;
}
.md-export-host .md-five-day-chart {
  height: 150px !important;
}
.md-export-host .md-kline-tools {
  width: auto !important;
  margin-left: auto !important;
}
.md-export-host .md-capsule-reset {
  margin-left: auto;
  width: auto;
}
.md-export-host .md-export-chart-snap {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: #fff;
}
.md-export-host a,
.md-export-host button {
  pointer-events: none !important;
  cursor: default !important;
}
.md-export-host .md-export-foot {
  margin: 14px 0 0;
  font-size: 11px;
  color: var(--md-faint, #bfbfbf);
  line-height: 1.5;
}

/* ── 响应式 ── */
@media (max-width: 1180px) {
  .md-hero-grid { grid-template-columns: 1fr; }
  .md-mid-grid { grid-template-columns: 1fr 1fr; }
  .md-bottom-grid { grid-template-columns: 1fr 1fr; }
  .md-advice-card { grid-column: 1 / -1; }
}
@media (max-width: 768px) {
  body.md-page .sa-page-shell.md-shell {
    padding-top: 8px;
    padding-bottom: calc(28px + env(safe-area-inset-bottom, 0px));
  }

  /* 顶栏：标题截断可控、badge/按钮不挤占 */
  body.md-page .sa-site-bar__title {
    max-width: min(42vw, 9.5em);
    font-size: clamp(14px, 3.9vw, 16px);
    line-height: 1.2;
  }
  body.md-page .sa-site-bar__title--stagger {
    overflow: hidden;
    text-overflow: ellipsis;
  }
  body.md-page .sa-site-bar__actions {
    gap: 6px;
    min-width: 0;
  }
  body.md-page .md-badge {
    max-width: min(34vw, 9.5em);
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: 11px;
    padding: 3px 8px;
    gap: 4px;
  }
  body.md-page .md-badge i {
    font-size: 10px;
    flex-shrink: 0;
  }
  body.md-page .sa-toolbar-btn-label { display: none; }
  body.md-page .sa-toolbar-btn {
    padding: 0 8px;
    min-width: 32px;
  }
  body.md-page .sa-toolbar-btn i { font-size: 13px; }

  /* 页内主标题：可换行、字号随屏宽 */
  .md-title-area { padding: 2px 0 10px; }
  .md-title-row {
    gap: 8px;
    align-items: center;
    margin-bottom: 4px;
  }
  .md-title {
    font-size: clamp(17px, 5vw, 20px);
    line-height: 1.25;
    min-width: 0;
    flex: 1 1 auto;
    overflow-wrap: anywhere;
    word-break: break-word;
    letter-spacing: -0.01em;
  }
  .md-title-badge {
    flex-shrink: 0;
    font-size: 11px;
    padding: 2px 8px;
    border-radius: 5px;
  }
  .md-title-sub {
    font-size: 12px;
    line-height: 1.55;
    margin-bottom: 2px;
  }
  .md-title-time { font-size: 11px; }

  /* 模块导航更紧凑 */
  .md-subnav {
    gap: 3px;
    margin-bottom: 8px;
    margin-left: -2px;
    margin-right: -2px;
    padding-left: 2px;
    padding-right: 2px;
  }
  .md-subnav-item {
    padding: 6px 10px;
    font-size: 12px;
    border-radius: 7px;
  }

  /* 卡片头 / 图标：缩小字号与间距，避免图标抢视觉 */
  .md-card {
    padding: 14px;
    border-radius: 10px;
  }
  .md-card-head {
    font-size: 13px;
    font-weight: 700;
    gap: 6px;
    margin-bottom: 10px;
    line-height: 1.35;
    min-width: 0;
  }
  .md-card-head i {
    font-size: 12px;
    width: 1.15em;
    text-align: center;
    flex-shrink: 0;
    line-height: 1;
  }
  .md-advice-sub { padding: 10px 12px; border-radius: 8px; }
  .md-advice-sub-head {
    font-size: 12px;
    gap: 5px;
    margin-bottom: 6px;
  }
  .md-advice-sub-head i {
    font-size: 12px;
    flex-shrink: 0;
    width: 1.1em;
    text-align: center;
  }
  .md-insight-label {
    font-size: 11px;
    gap: 5px;
  }
  .md-insight-label i {
    font-size: 11px;
    flex-shrink: 0;
  }
  .md-insight-text { font-size: 13px; line-height: 1.6; }

  /* 特点卡图标适配 */
  .md-char-grid { gap: 6px; }
  .md-char-card {
    padding: 10px 8px;
    border-radius: 8px;
  }
  .md-char-icon {
    font-size: 14px;
    margin-bottom: 4px;
    line-height: 1;
  }
  .md-char-label { font-size: 12px; margin-bottom: 1px; }
  .md-char-desc { font-size: 10px; line-height: 1.35; }

  .md-hero-value { font-size: clamp(34px, 11vw, 42px); }
  .md-hero-unit { font-size: 16px; }
  .md-hero-zone { font-size: 14px; }
  .md-hero-meta { gap: 12px; }
  .md-hero-meta-val { font-size: 13px; }
  .md-hero-grid { gap: 10px; margin-bottom: 10px; }
  .md-hero-panel { gap: 12px; }

  .md-zone-item {
    font-size: 12px;
    padding: 8px 10px;
    gap: 6px;
    min-height: 40px;
  }
  .md-zone-dot { width: 7px; height: 7px; }

  .md-kline-chart { height: 260px; }
  .md-radar { height: 280px; }
  .md-mid-grid {
    grid-template-columns: 1fr;
    gap: 10px;
    margin-bottom: 10px;
  }
  .md-bottom-grid {
    grid-template-columns: 1fr;
    gap: 10px;
  }
  .md-capsule-reset { margin-left: 0; width: 100%; justify-content: center; }
  .md-kline-tools { width: 100%; margin-left: 0; gap: 8px; }
  .md-zone-bar { grid-template-columns: 1fr; }
  .md-capsules { gap: 6px; margin-bottom: 10px; }
  .md-capsule {
    padding: 6px 10px;
    font-size: 12px;
    min-height: 32px;
    gap: 5px;
  }
  .md-capsule-dot { width: 7px; height: 7px; }

  .md-score-value { font-size: 30px; }
  .md-thermo-value { font-size: 24px; }
  .md-hud-inline { gap: 6px; }
  .md-hud-pill { font-size: 11px; padding: 4px 8px; }
  .md-disclaimer {
    font-size: 11px;
    padding: 14px 8px 4px;
    line-height: 1.65;
  }
}

@media (max-width: 380px) {
  .md-title { font-size: 16px; }
  .md-title-badge { font-size: 10px; padding: 1px 6px; }
  body.md-page .sa-site-bar__title { max-width: min(38vw, 8em); }
  .md-char-label { font-size: 11px; }
  .md-card { padding: 12px; }
}
