/* 微信悦读 · H5 移动端样式（品牌色与插件 / 官网 / 小程序一致） */

:root {
  --wre-brand: #2F6BFF;
  --wre-brand-soft: #F0F4FF;
  --wre-bg: #F5F6F8;
  --wre-card: #FFFFFF;
  --wre-text: #1F2430;
  --wre-muted: #8A8F99;
  --wre-line: #EDEFF3;
  --wre-danger: #E5484D;
  --wre-radius: 16px;
  --wre-tabbar-h: 58px;
  /* 全局文字缩放系数（小 0.9 / 标准 1 / 大 1.15 / 特大 1.3；由「我的 → 文字大小」调节） */
  --wre-fs: 1;
  /* 以下面色 / 文字色在「暗色模式」下需翻转（这里给浅色默认值） */
  --wre-card-2: #F7F8FA;
  --wre-soft: #F2F3F5;
  --wre-input-bg: #FBFCFE;
  --wre-fill: #EEF1F6;
  --wre-text-body: #2A2F3A;
  --wre-text-3: #4A5060;
  --wre-danger-soft: #FDF0F0;
  --wre-danger-strong: #B4272B;
  --wre-warn-soft: #FFF8EC;
  --wre-tag-bg: #EAF7EF;
  --wre-tag-fg: #12A150;
  --wre-bar: #C9D8FF;
  --wre-arrow: #C0C4CC;
  --wre-shell-bg: #E4E7EE;
  --wre-muted-2: #A8ADB8;
  --wre-star: #E5A100;
}

/* 暗色模式：由 <html data-theme="dark"> 触发（跟随系统或手动切换，见 src/store.js） */
:root[data-theme="dark"] {
  color-scheme: dark;
  --wre-brand: #4E86FF;
  --wre-brand-soft: #1E2A45;
  --wre-bg: #17181C;
  --wre-card: #22242A;
  --wre-text: #E8EAED;
  --wre-muted: #9AA0AA;
  --wre-line: #33363D;
  --wre-danger: #FF6B6B;
  --wre-card-2: #2A2D34;
  --wre-soft: #2A2D34;
  --wre-input-bg: #1E2025;
  --wre-fill: #363A42;
  --wre-text-body: #DADEE4;
  --wre-text-3: #C2C6CE;
  --wre-danger-soft: #3A2124;
  --wre-danger-strong: #FF9A9A;
  --wre-warn-soft: #3A3220;
  --wre-tag-bg: #17331F;
  --wre-tag-fg: #4ADE80;
  --wre-bar: #3A4A6B;
  --wre-arrow: #6B7076;
  --wre-shell-bg: #0F1013;
  --wre-muted-2: #7A808A;
  --wre-star: #F0C24A;
}

* { box-sizing: border-box; }

html, body {
  margin: 0;
  padding: 0;
  background: var(--wre-bg);
  color: var(--wre-text);
  font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, "PingFang SC", "Microsoft YaHei", sans-serif;
  font-size: calc(15px * var(--wre-fs));
  line-height: 1.5;
  -webkit-text-size-adjust: 100%;
}

/* 顶栏 */
.wre-header {
  position: sticky;
  top: 0;
  z-index: 20;
  background: var(--wre-brand);
  color: #fff;
  padding: calc(env(safe-area-inset-top, 0px) + 12px) 16px 12px;
}
.wre-header__title {
  margin: 0;
  font-size: calc(17px * var(--wre-fs));
  font-weight: 600;
  text-align: center;
}

/* 主区 */
.wre-main {
  min-height: calc(100vh - 48px - var(--wre-tabbar-h));
  padding-bottom: calc(var(--wre-tabbar-h) + env(safe-area-inset-bottom, 0px) + 12px);
}
.wre-page { padding: 12px; }

/* 底部 Tab */
.wre-tabbar {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 30;
  display: flex;
  background: var(--wre-card);
  border-top: 1px solid var(--wre-line);
  padding-bottom: env(safe-area-inset-bottom, 0px);
}
.wre-tab {
  flex: 1;
  border: 0;
  background: transparent;
  color: var(--wre-muted);
  padding: 8px 0 6px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  font-size: calc(11px * var(--wre-fs));
  cursor: pointer;
}
.wre-tab__icon { font-size: calc(18px * var(--wre-fs)); line-height: 1; }
.wre-tab.is-active { color: var(--wre-brand); font-weight: 600; }

/* 卡片 */
.wre-card {
  background: var(--wre-card);
  border-radius: var(--wre-radius);
  padding: 16px;
  margin-bottom: 12px;
  box-shadow: 0 1px 6px rgba(31, 36, 48, 0.04);
}
.wre-card__title {
  font-size: calc(15px * var(--wre-fs));
  font-weight: 600;
  margin-bottom: 12px;
}
.wre-title { font-size: calc(17px * var(--wre-fs)); font-weight: 600; margin-bottom: 8px; }
.wre-muted { color: var(--wre-muted); font-size: calc(13px * var(--wre-fs)); line-height: 1.7; }
.wre-hint { color: var(--wre-muted); font-size: calc(12px * var(--wre-fs)); line-height: 1.6; margin-top: 6px; }
.wre-note { color: var(--wre-muted); font-size: calc(12px * var(--wre-fs)); line-height: 1.7; padding: 4px 4px 12px; }
.wre-note--inline { padding: 4px 0 8px; }
.wre-big { font-size: calc(34px * var(--wre-fs)); font-weight: 700; color: var(--wre-brand); line-height: 1.2; }

/* 按钮 / 输入 */
.wre-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  border: 0;
  background: var(--wre-brand);
  color: #fff;
  border-radius: 12px;
  font-size: calc(15px * var(--wre-fs));
  height: 46px;
  margin-top: 12px;
  cursor: pointer;
}
.wre-btn:disabled { opacity: 0.6; }
.wre-btn--ghost { background: var(--wre-card); color: var(--wre-brand); border: 1px solid var(--wre-brand); }
.wre-btn--danger { background: var(--wre-card); color: var(--wre-danger); border: 1px solid var(--wre-danger); }
.wre-input {
  width: 100%;
  height: 46px;
  border: 1px solid var(--wre-line);
  border-radius: 12px;
  padding: 0 12px;
  font-size: calc(15px * var(--wre-fs));
  margin-top: 12px;
  background: var(--wre-input-bg);
  color: var(--wre-text);
}
.wre-input:focus { outline: 2px solid var(--wre-brand-soft); border-color: var(--wre-brand); }
.wre-status {
  margin-top: 10px;
  display: inline-block;
  background: var(--wre-brand-soft);
  color: var(--wre-brand);
  border-radius: 8px;
  padding: 4px 10px;
  font-size: calc(13px * var(--wre-fs));
}
.wre-status--off { background: var(--wre-soft); color: var(--wre-muted); }
.wre-code {
  margin-top: 10px;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: calc(12px * var(--wre-fs));
  word-break: break-all;
  background: var(--wre-card-2);
  border-radius: 8px;
  padding: 10px;
}
/* 关联小程序的一次性绑定码：放大居中，方便照抄 / 输入 */
.wre-code--bind {
  font-size: calc(30px * var(--wre-fs));
  font-weight: 600;
  letter-spacing: 8px;
  text-align: center;
  color: var(--wre-text);
  padding: 16px 10px;
}
/* 绑定码二维码：白底居中，供小程序「扫一扫」。
   注意：二维码须始终白底深模块才可扫，故这里固定 #fff，不随暗色模式翻转 */
.wre-qr {
  width: fit-content;
  margin: 12px auto 0;
  padding: 10px;
  background: #fff;
  border: 1px solid var(--wre-line);
  border-radius: 10px;
  line-height: 0;
}
.wre-qr svg { display: block; }

/* 周期切换（对齐小程序 .period / .period__item） */
.wre-modes {
  display: flex;
  background: var(--wre-card);
  border-radius: 8px;
  padding: 4px;
  margin-bottom: 12px;
}
.wre-mode {
  flex: 1;
  border: 0;
  background: transparent;
  color: var(--wre-muted);
  border-radius: 6px;
  padding: 0;
  height: 34px;
  font-size: calc(14px * var(--wre-fs));
  cursor: pointer;
}
.wre-mode.is-active { background: var(--wre-brand); color: #fff; font-weight: 600; }

/* 首页顶部入口：每日卡片（微信绿）/ 灵感漫游（紫），对齐小程序 .daily-entry / .wander-entry */
.wre-entries { margin-bottom: 12px; }
.wre-entry {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  border: 0;
  border-radius: 12px;
  padding: 14px 16px;
  margin-bottom: 10px;
  color: #fff;
  font-family: inherit;
  text-align: left;
  cursor: pointer;
}
.wre-entry:last-child { margin-bottom: 0; }
.wre-entry--daily {
  background: linear-gradient(135deg, #07C160 0%, #34D27B 100%);
  box-shadow: 0 4px 12px rgba(7, 193, 96, 0.25);
}
.wre-entry--wander {
  background: linear-gradient(135deg, #7C5CFF 0%, #9C86FF 100%);
  box-shadow: 0 4px 12px rgba(124, 92, 255, 0.25);
}
.wre-entry__main { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.wre-entry__name { font-size: calc(17px * var(--wre-fs)); font-weight: 700; color: #fff; }
.wre-entry__sub { margin-top: 4px; font-size: calc(12px * var(--wre-fs)); color: rgba(255, 255, 255, 0.85); }
.wre-entry__arrow { margin-left: 8px; font-size: calc(22px * var(--wre-fs)); line-height: 1; color: rgba(255, 255, 255, 0.9); }

/* Hero */
.wre-hero__label { color: var(--wre-muted); font-size: calc(13px * var(--wre-fs)); }
.wre-hero__cmp { margin: 4px 0; font-size: calc(13px * var(--wre-fs)); }
.wre-hero__cmp.is-up { color: var(--wre-tag-fg); }
.wre-hero__cmp.is-down { color: var(--wre-danger); }

/* 趋势图 */
.wre-trend {
  display: flex;
  align-items: flex-end;
  gap: 2px;
  height: 72px;
  margin: 6px 0 8px;
}
.wre-bar {
  flex: 1;
  min-width: 2px;
  background: var(--wre-bar);
  border-radius: 2px 2px 0 0;
}
.wre-bar.is-peak { background: var(--wre-brand); }

/* 指标网格 */
.wre-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
  margin: 4px 0 2px;
}
.wre-grid__item { background: var(--wre-card-2); border: 1px solid var(--wre-line); border-radius: 12px; padding: 12px 14px; }
.wre-grid__value { font-size: calc(20px * var(--wre-fs)); font-weight: 700; line-height: 1.25; }
.wre-grid__label { color: var(--wre-muted); font-size: calc(12px * var(--wre-fs)); margin-top: 4px; }

/* 条形行 */
.wre-row { margin-top: 12px; }
.wre-row__head { display: flex; justify-content: space-between; font-size: calc(14px * var(--wre-fs)); margin-bottom: 6px; gap: 8px; }
.wre-track { height: 8px; background: var(--wre-fill); border-radius: 6px; overflow: hidden; }
.wre-track__fill { height: 100%; background: var(--wre-brand); border-radius: 6px; }

/* 排行行 */
.wre-line { display: flex; align-items: baseline; gap: 10px; padding: 9px 0; border-bottom: 1px solid var(--wre-line); }
.wre-line:last-child { border-bottom: 0; }
.wre-line__rank { width: 18px; color: var(--wre-brand); font-weight: 700; }
.wre-line__main { flex: 1; min-width: 0; }
.wre-line__main em { font-style: normal; color: var(--wre-muted); font-size: calc(12px * var(--wre-fs)); margin-left: 6px; }

/* 入口链接 */
.wre-links { padding: 4px 16px; }
.wre-link {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  border: 0;
  background: transparent;
  padding: 14px 0;
  font-size: calc(15px * var(--wre-fs));
  color: var(--wre-text);
  border-bottom: 1px solid var(--wre-line);
  cursor: pointer;
}
.wre-link:last-child { border-bottom: 0; }

/* 外链行（<a> 版）：去下划线、继承字色；主区两行（标题 + 说明），右侧箭头 */
a.wre-link { text-decoration: none; color: var(--wre-text); }
.wre-link__main { display: flex; flex-direction: column; flex: 1; min-width: 0; margin-right: 12px; }
.wre-link__label { font-size: calc(15px * var(--wre-fs)); }
.wre-link__desc { margin-top: 2px; font-size: calc(12px * var(--wre-fs)); color: var(--wre-muted); }
.wre-link__arrow { color: var(--wre-arrow); font-size: calc(18px * var(--wre-fs)); }

/* 小程序入口块：小程序码 + 「搜名字」提示（网页无法直接唤起小程序，故给码与文字引导） */
.wre-qr-block {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 14px 0 2px;
  margin-top: 6px;
  border-top: 1px solid var(--wre-line);
}
.wre-qr-block__title { font-size: calc(14px * var(--wre-fs)); font-weight: 600; margin-bottom: 10px; }
.wre-qr-block__img {
  width: 148px;
  height: 148px;
  border-radius: 10px;
  background: #fff;
  padding: 6px;
  box-shadow: 0 1px 6px rgba(31, 36, 48, 0.08);
}
.wre-qr-block .wre-hint { margin-top: 10px; text-align: left; }

/* 状态块 */
.wre-state { text-align: center; padding: 48px 16px; }
.wre-state__icon { font-size: calc(30px * var(--wre-fs)); }
.wre-state__text { color: var(--wre-muted); margin-top: 10px; }

/* 标签 */
.wre-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.wre-chip {
  background: var(--wre-brand-soft);
  color: var(--wre-brand);
  border-radius: 999px;
  padding: 5px 12px;
  font-size: calc(13px * var(--wre-fs));
}
.wre-chip em { font-style: normal; opacity: 0.7; margin-left: 4px; font-size: calc(12px * var(--wre-fs)); }
.wre-chip--soft { background: var(--wre-soft); color: var(--wre-text); }

/* 人格卡（结构对齐插件 wre-off-persona） */
.wre-persona { text-align: left; }
.wre-persona__head { display: flex; align-items: center; gap: 12px; }
.wre-persona__code {
  flex: 0 0 auto;
  padding: 8px 10px;
  border-radius: 12px;
  background: var(--wre-brand);
  color: #fff;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: calc(18px * var(--wre-fs));
  font-weight: 700;
  letter-spacing: 1px;
}
.wre-persona__titlewrap { min-width: 0; }
.wre-persona__name { font-size: calc(16px * var(--wre-fs)); font-weight: 700; }
.wre-persona__tagline { margin-top: 2px; font-size: calc(12px * var(--wre-fs)); color: var(--wre-muted); }
.wre-persona__figurewrap { flex: 0 0 auto; width: 88px; margin-left: auto; text-align: center; }
.wre-persona__figure { width: 88px; height: 88px; color: var(--wre-brand); }
.wre-persona__figure svg { display: block; width: 100%; height: 100%; }
.wre-persona__figurename { margin-top: 2px; font-size: calc(12px * var(--wre-fs)); line-height: 1.2; color: var(--wre-muted); }
.wre-persona__share { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.wre-persona__share .wre-btn { width: auto; flex: 1; margin-top: 0; height: 40px; font-size: calc(14px * var(--wre-fs)); }
.wre-persona__nicks { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.wre-persona__nick { padding: 3px 10px; border: 1px solid var(--wre-brand); border-radius: 999px; font-size: calc(12px * var(--wre-fs)); color: var(--wre-brand); }
.wre-persona__one {
  margin-top: 10px;
  padding: 8px 10px;
  border-left: 2px solid var(--wre-brand);
  border-radius: 0 12px 12px 0;
  background: var(--wre-card-2);
  font-size: calc(13px * var(--wre-fs));
  line-height: 1.7;
}
.wre-persona__ai {
  margin-top: 10px;
  padding: 10px;
  border: 1px dashed var(--wre-line);
  border-radius: 12px;
  background: var(--wre-card-2);
  font-size: calc(13px * var(--wre-fs));
  line-height: 1.8;
  white-space: pre-wrap;
}
.wre-persona__subtitle { margin: 12px 0 6px; font-size: calc(13px * var(--wre-fs)); font-weight: 600; }
.wre-persona__dims { margin-top: 6px; }
.wre-persona__evidence { margin-top: 4px; }
.wre-persona__boundary {
  margin-top: 12px;
  padding-top: 8px;
  border-top: 1px dashed var(--wre-line);
  font-size: calc(11px * var(--wre-fs));
  line-height: 1.6;
  color: var(--wre-muted);
}

/* 单维进度条 */
.wre-dim { margin-top: 8px; }
.wre-dim__top { display: flex; justify-content: space-between; gap: 8px; font-size: calc(12px * var(--wre-fs)); color: var(--wre-text); }
.wre-dim__top .is-pick { color: var(--wre-brand); font-weight: 600; }
.wre-dim__pct { color: var(--wre-muted); }
.wre-dim__track { position: relative; height: 8px; margin-top: 4px; border-radius: 999px; background: var(--wre-line); overflow: hidden; }
.wre-dim__track i { display: block; height: 100%; border-radius: 999px; background: var(--wre-brand); }
.wre-dim.is-center .wre-dim__track {
  background: linear-gradient(90deg, var(--wre-line) 0%, var(--wre-brand) 50%, var(--wre-line) 100%);
  opacity: 0.5;
}
.wre-dim__track.is-na {
  background: repeating-linear-gradient(45deg, var(--wre-line), var(--wre-line) 4px, var(--wre-card-2) 4px, var(--wre-card-2) 8px);
}
.wre-dim__basis { margin-top: 3px; font-size: calc(11px * var(--wre-fs)); color: var(--wre-muted); }

/* 词语分析 */
.wre-words { margin-top: 6px; }
.wre-words__label { margin: 10px 0 6px; font-size: calc(12px * var(--wre-fs)); font-weight: 600; }
.wre-word-list { margin: 0; padding: 0; list-style: none; }
.wre-word-row { display: flex; align-items: center; gap: 8px; padding: 3px 0; font-size: calc(12px * var(--wre-fs)); }
.wre-word-rank { flex: 0 0 16px; text-align: center; color: var(--wre-muted); }
.wre-word { flex: 0 0 auto; min-width: 40px; font-weight: 600; }
.wre-word-bar { flex: 1 1 auto; height: 6px; border-radius: 999px; background: var(--wre-line); overflow: hidden; }
.wre-word-bar i { display: block; height: 100%; border-radius: 999px; background: var(--wre-brand); }
.wre-word-count { flex: 0 0 28px; text-align: right; color: var(--wre-muted); }
.wre-emotion-bar { display: flex; height: 10px; border-radius: 999px; overflow: hidden; background: var(--wre-line); }
.wre-emotion-bar i { display: block; height: 100%; }
.wre-emotion-bar .is-pos { background: #07c160; }
.wre-emotion-bar .is-neu { background: #9aa0a6; }
.wre-emotion-bar .is-neg { background: #e05a5a; }
.wre-emotion-legend { margin-top: 4px; font-size: calc(11px * var(--wre-fs)); color: var(--wre-muted); }
.wre-cloud {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 4px 10px;
  padding: 8px 10px;
  border: 1px solid var(--wre-line);
  border-radius: 12px;
  background: var(--wre-card-2);
}
.wre-cloud__word { line-height: 1.4; color: var(--wre-brand); }
.wre-words-catch { margin-top: 10px; font-size: calc(12px * var(--wre-fs)); }
.wre-words-catch em { color: var(--wre-brand); font-style: normal; font-weight: 600; }
.wre-chip b { font-weight: 600; margin-left: 2px; }

/* 引用 */
.wre-quote {
  margin: 10px 0 0;
  padding: 10px 12px;
  background: var(--wre-card-2);
  border-left: 3px solid var(--wre-brand);
  border-radius: 8px;
  font-size: calc(14px * var(--wre-fs));
  line-height: 1.7;
}
.wre-quote cite { display: block; margin-top: 6px; color: var(--wre-muted); font-style: normal; font-size: calc(12px * var(--wre-fs)); }
.wre-quote-src { display: block; margin-top: 4px; color: var(--wre-muted); font-size: calc(12px * var(--wre-fs)); }

/* 报告：标题 / 指标卡 / 卡片内块（对齐小程序 report/index.wxss） */
.wre-h1 { font-size: calc(18px * var(--wre-fs)); margin: 20px 0 10px; }
.wre-h2 { font-size: calc(17px * var(--wre-fs)); font-weight: 600; margin: 22px 0 12px; padding-left: 10px; border-left: 3px solid var(--wre-brand); line-height: 1.35; }
.wre-h2:first-child { margin-top: 8px; }
.wre-h3 { font-size: calc(13px * var(--wre-fs)); font-weight: 600; color: var(--wre-muted); letter-spacing: 0.3px; margin: 16px 0 8px; }
/* 报告章节标题（对齐小程序 .sec-title / .sec-title--sub） */
.wre-sec-title { font-size: calc(16px * var(--wre-fs)); font-weight: 700; color: var(--wre-text); margin: 14px 4px 8px; }
.wre-sec-title:first-child { margin-top: 4px; }
.wre-sec-title--sub { font-size: calc(14px * var(--wre-fs)); font-weight: 600; color: var(--wre-text-3); margin: 10px 4px 6px; }
/* 键值行（对齐小程序 .kv__row） */
.wre-kv__row { display: flex; justify-content: space-between; align-items: baseline; padding: 5px 0; font-size: calc(13px * var(--wre-fs)); gap: 10px; }
.wre-kv__row:first-child { padding-top: 0; }
.wre-kv__row:last-child { padding-bottom: 0; }
.wre-kv__row span:first-child { color: var(--wre-muted); flex: none; }
.wre-kv__row span:last-child { color: var(--wre-text); font-weight: 500; max-width: 60%; text-align: right; word-break: break-all; }
/* 指标卡：2 列白底蓝值（对齐小程序 .cards__item） */
.wre-cards { display: flex; flex-wrap: wrap; justify-content: space-between; margin-bottom: 12px; }
.wre-cards__item {
  width: 48%;
  box-sizing: border-box;
  background: var(--wre-card);
  border-radius: 16px;
  padding: 14px 10px;
  margin-bottom: 10px;
  text-align: center;
  box-shadow: 0 1px 6px rgba(31, 36, 48, 0.04);
}
.wre-cards__value { font-size: calc(18px * var(--wre-fs)); font-weight: 700; color: var(--wre-brand); }
.wre-cards__label { font-size: calc(12px * var(--wre-fs)); color: var(--wre-text); margin-top: 4px; }
/* 表格
   表格内边距略小（对齐小程序 .table-card） */
.wre-table-card { padding: 10px 12px; }
.wre-table { margin-top: 8px; }
/* 列宽由 --wre-cols 决定（主列与长文本列按 fr 比例分宽，短数值列 auto 按内容收紧）。
   旧版把所有非主列设成 auto：长文本列（作者 / 分类）会按 max-content 抢完全部宽度，
   把主列挤成「一字一行」。现按列型分宽 + 允许折行，避免竖排错乱。 */
.wre-table__head,
.wre-table__row { display: grid; grid-template-columns: var(--wre-cols, minmax(0, 1fr)); align-items: center; gap: 6px; font-size: calc(13px * var(--wre-fs)); padding: 6px 0; border-bottom: 1px solid var(--wre-line); }
.wre-table__row { position: relative; }
.wre-table__head { color: var(--wre-muted); border-bottom: 1px solid var(--wre-line); font-weight: 600; font-size: calc(12px * var(--wre-fs)); }
.wre-table__head span, .wre-table__row span { min-width: 0; }
/* 主列：承载描述性文字，允许折行，占最宽 */
.wre-table__main { font-weight: 600; overflow-wrap: anywhere; }
/* 长文本列（作者 / 分类等）：与主列按比例分宽，左对齐、允许折行 */
.wre-table__text { text-align: left; color: var(--wre-text); overflow-wrap: anywhere; }
/* 短数值 / 序号列：收紧不换行、右对齐，避免孤字换行与行高抖动 */
.wre-table__cell { text-align: right; white-space: nowrap; color: var(--wre-text-3); }
.wre-table__head .wre-table__cell,
.wre-table__head .wre-table__text { color: var(--wre-muted); }
/* 可用 subgrid 时：把列定义提到整张表上，让表头与各数据行共用同一套列宽，
   数值列左右边界逐行对齐成笔直竖列（不支持 subgrid 的旧内核自动回退为「每行各自栅格」） */
@supports (grid-template-columns: subgrid) {
  .wre-table { display: grid; grid-template-columns: var(--wre-cols, minmax(0, 1fr)); column-gap: 6px; }
  .wre-table__head,
  .wre-table__row { grid-column: 1 / -1; grid-template-columns: subgrid; gap: 0; }
}
/* 行底占比条（对齐小程序 .tbl__bar）：绝对定位，不占栅格列，宽度 = 占比% */
.wre-table__bar { position: absolute; left: 0; bottom: 0; height: 2px; background: var(--wre-brand); opacity: 0.9; border-radius: 2px; }
/* 段落 / 列表（已在卡片内，去掉自身外边距；序号用品牌色） */
.wre-p { font-size: calc(14px * var(--wre-fs)); line-height: 1.8; color: var(--wre-text-body); margin: 0; }
.wre-list { font-size: calc(14px * var(--wre-fs)); line-height: 1.8; color: var(--wre-text-body); padding-left: 22px; margin: 0; }
.wre-list li { margin: 4px 0; }
.wre-list li::marker { color: var(--wre-brand); font-weight: 600; }

/* 书架条目 */
.wre-book { display: flex; align-items: center; gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--wre-line); }
.wre-book:last-child { border-bottom: 0; }
.wre-book__cover { width: 40px; height: 54px; border-radius: 6px; object-fit: cover; background: var(--wre-fill); flex: none; }
.wre-book__cover--ph { display: inline-block; }
.wre-book__meta { flex: 1; min-width: 0; }
.wre-book__title { font-size: calc(14px * var(--wre-fs)); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.wre-tag { font-size: calc(11px * var(--wre-fs)); color: var(--wre-tag-fg); background: var(--wre-tag-bg); border-radius: 6px; padding: 2px 8px; flex: none; }

/* 官方分组（只读）：只列出「组名 + 数量」，不展示组内书目 */
.wre-grouplist { margin-top: 4px; }
.wre-grouprow { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; padding: 9px 0; border-bottom: 1px solid var(--wre-line); font-size: calc(13px * var(--wre-fs)); }
.wre-grouprow:last-child { border-bottom: 0; padding-bottom: 0; }
.wre-grouprow__name { color: var(--wre-text); min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.wre-grouprow__count { color: var(--wre-muted); flex: none; }

/* toast */
.wre-toast {
  position: fixed;
  left: 50%;
  bottom: calc(var(--wre-tabbar-h) + 28px);
  transform: translateX(-50%) translateY(10px);
  background: rgba(31, 36, 48, 0.92);
  color: #fff;
  font-size: calc(13px * var(--wre-fs));
  padding: 10px 16px;
  border-radius: 10px;
  max-width: 82vw;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.2s, transform 0.2s;
  z-index: 50;
}
.wre-toast.is-show { opacity: 1; transform: translateX(-50%) translateY(0); }

/* ---- 二级页面：返回条 ---- */
.wre-back { margin-bottom: 8px; }
.wre-back__btn {
  border: 0;
  background: transparent;
  color: var(--wre-brand);
  font-size: calc(14px * var(--wre-fs));
  padding: 6px 0;
  cursor: pointer;
}
.wre-archive-bar { display: flex; align-items: center; gap: 12px; margin-bottom: 8px; }

/* 按钮行（并排按钮） */
.wre-btn-row { display: flex; gap: 10px; }
.wre-btn-row .wre-btn { flex: 1; }

/* ---- 每日卡片 / 漫游 卡片头 ---- */
.wre-dailycard__date { color: var(--wre-muted); font-size: calc(13px * var(--wre-fs)); }
.wre-dailycard__title { font-size: calc(20px * var(--wre-fs)); font-weight: 700; margin-top: 4px; }
.wre-quote--main { background: var(--wre-brand-soft); }
.wre-note-body { margin-top: 10px; font-size: calc(14px * var(--wre-fs)); line-height: 1.75; }
.wre-summary { margin-top: 10px; font-size: calc(14px * var(--wre-fs)); line-height: 1.8; }
.wre-mine { border-bottom: 1px solid var(--wre-brand); padding-bottom: 1px; }
.wre-ai-error {
  margin-top: 10px;
  background: var(--wre-danger-soft);
  color: var(--wre-danger-strong);
  border-radius: 8px;
  padding: 8px 10px;
  font-size: calc(13px * var(--wre-fs));
  line-height: 1.6;
}

/* ---- 关联 / 素材列表 ---- */
.wre-related { margin-top: 14px; border-top: 1px dashed var(--wre-line); padding-top: 10px; }
.wre-related__title { font-size: calc(13px * var(--wre-fs)); color: var(--wre-muted); margin-bottom: 6px; }
.wre-related__item { padding: 8px 0; border-bottom: 1px solid var(--wre-line); }
.wre-related__item:last-child { border-bottom: 0; }
.wre-related__text { font-size: calc(14px * var(--wre-fs)); line-height: 1.7; }
.wre-related__text.is-clamp {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.wre-related__kind {
  display: inline-block;
  font-size: calc(11px * var(--wre-fs));
  color: var(--wre-brand);
  background: var(--wre-brand-soft);
  border-radius: 6px;
  padding: 1px 8px;
  margin-bottom: 4px;
}
.wre-related__from { color: var(--wre-muted); font-size: calc(12px * var(--wre-fs)); margin-top: 4px; }

/* ---- 外部火花 / 创作种子 ---- */
.wre-block { margin-top: 14px; border-top: 1px dashed var(--wre-line); padding-top: 10px; }
.wre-block__title { font-size: calc(13px * var(--wre-fs)); font-weight: 600; margin-bottom: 8px; }
.wre-spark { background: var(--wre-warn-soft); border-radius: 10px; padding: 10px 12px; margin-bottom: 8px; }
.wre-spark__text { font-size: calc(14px * var(--wre-fs)); line-height: 1.7; }
.wre-spark__source { color: var(--wre-muted); font-size: calc(12px * var(--wre-fs)); margin-top: 4px; }
.wre-seed { font-size: calc(14px * var(--wre-fs)); line-height: 1.7; padding: 6px 0; }
.wre-seed__angle {
  display: inline-block;
  color: var(--wre-brand);
  background: var(--wre-brand-soft);
  border-radius: 6px;
  padding: 1px 8px;
  font-size: calc(12px * var(--wre-fs));
  margin-right: 6px;
}
.wre-link-inline { color: var(--wre-brand); font-size: calc(13px * var(--wre-fs)); cursor: pointer; }
.wre-card__title--row { display: flex; justify-content: space-between; align-items: center; }

/* ---- 往期归档 ---- */
.wre-history { padding: 10px 0; border-bottom: 1px solid var(--wre-line); cursor: pointer; }
.wre-history:last-child { border-bottom: 0; }
.wre-history__head { display: flex; justify-content: space-between; align-items: center; font-size: calc(12px * var(--wre-fs)); color: var(--wre-muted); }
.wre-history__star { color: var(--wre-star); }
.wre-history__title { font-size: calc(14px * var(--wre-fs)); font-weight: 600; margin-top: 2px; }
.wre-history__theme { font-size: calc(12px * var(--wre-fs)); color: var(--wre-muted); margin-top: 2px; }
.wre-history__quote { font-size: calc(13px * var(--wre-fs)); color: var(--wre-muted); margin-top: 4px; }

/* ---- 漫游规则弹层 ---- */
.wre-rules-panel { max-height: 82vh; text-align: left; }
.wre-rules-scroll { overflow-y: auto; }
.wre-table__row.is-on { background: var(--wre-brand-soft); border-radius: 8px; }

/* ---- AI 润色画像 ---- */
.wre-ai-text { font-size: calc(14px * var(--wre-fs)); line-height: 1.85; }
.wre-ai-text p { margin: 0 0 10px; }
.wre-ai-text p:last-child { margin-bottom: 0; }

/* ---- 分享弹层 ---- */
.wre-share-entry { text-align: center; }
.wre-share-entry .wre-btn { margin-top: 0; }
.wre-share-entry .wre-muted { margin-top: 8px; }
.wre-share-mask {
  position: fixed;
  inset: 0;
  z-index: 60;
  background: rgba(0, 0, 0, 0.45);
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding: 16px;
}
.wre-share-panel {
  width: 100%;
  max-width: 480px;
  max-height: 90vh;
  overflow-y: auto;
  background: var(--wre-card);
  border-radius: var(--wre-radius);
  padding: 16px;
  text-align: center;
}
.wre-share-preview img {
  display: block;
  width: auto;
  max-width: 100%;
  max-height: 56vh;
  margin: 0 auto 12px;
  border-radius: 10px;
  box-shadow: 0 4px 16px rgba(31, 36, 48, 0.15);
}

/* ---- 只读分享页（#/s/<code>）---- */
.wre-share-detail__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 14px;
}
.wre-share-detail__brand { font-weight: 700; font-size: calc(15px * var(--wre-fs)); }
.wre-share-detail__badge {
  background: var(--wre-brand-soft);
  color: var(--wre-brand);
  border-radius: 999px;
  padding: 4px 12px;
  font-size: calc(12px * var(--wre-fs));
  font-weight: 600;
}
.wre-share-detail__title {
  font-size: calc(22px * var(--wre-fs));
  font-weight: 700;
  line-height: 1.35;
  margin-bottom: 6px;
}
.wre-share-detail .wre-grid { margin-top: 14px; }
.wre-share-detail .wre-chips { margin-top: 14px; }
.wre-share-detail__footer {
  margin-top: 16px;
  padding-top: 12px;
  border-top: 1px solid var(--wre-line);
  color: var(--wre-muted);
  font-size: calc(12px * var(--wre-fs));
}

/* ---- 语音朗读条 ---- */
.wre-tts-bar {
  position: fixed;
  left: 12px;
  right: 12px;
  bottom: calc(var(--wre-tabbar-h) + 12px);
  z-index: 40;
  display: none;
  align-items: center;
  gap: 8px;
  background: rgba(31, 36, 48, 0.95);
  color: #fff;
  border-radius: 14px;
  padding: 8px 12px;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.2);
}
.wre-tts-bar.is-show { display: flex; }
.wre-tts-bar__btn {
  border: 0;
  background: transparent;
  color: #fff;
  font-size: calc(16px * var(--wre-fs));
  padding: 4px 6px;
  cursor: pointer;
}
.wre-tts-bar__btn--main { font-size: calc(18px * var(--wre-fs)); }
.wre-tts-bar__pos { font-size: calc(12px * var(--wre-fs)); opacity: 0.7; }
.wre-tts-bar__label {
  flex: 1;
  min-width: 0;
  font-size: calc(12px * var(--wre-fs));
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  opacity: 0.85;
}
.is-tts-active { background: rgba(47, 107, 255, 0.1); border-radius: 6px; }

/* ---- 我的账户：身份头 / 已连接列表 ---- */
.wre-account { display: flex; align-items: center; gap: 12px; }
.wre-avatar {
  width: 46px;
  height: 46px;
  flex: none;
  border-radius: 12px;
  overflow: hidden;
  background: var(--wre-brand);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: calc(20px * var(--wre-fs));
  font-weight: 600;
}
.wre-avatar__img { width: 100%; height: 100%; object-fit: cover; display: block; }
.wre-account__meta { flex: 1; min-width: 0; }
.wre-account__name { font-size: calc(17px * var(--wre-fs)); font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.wre-account__id {
  color: var(--wre-muted);
  font-size: calc(12px * var(--wre-fs));
  margin-top: 2px;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
}
.wre-account__out {
  flex: none;
  border: 0;
  background: transparent;
  color: var(--wre-brand);
  font-size: calc(13px * var(--wre-fs));
  padding: 6px 0;
  cursor: pointer;
}
.wre-conn { display: flex; align-items: center; gap: 10px; padding: 11px 0; border-bottom: 1px solid var(--wre-line); }
.wre-conn__main { flex: 1; min-width: 0; }
.wre-conn__name { font-size: calc(14px * var(--wre-fs)); }
.wre-conn__val { font-size: calc(12px * var(--wre-fs)); color: var(--wre-muted); margin-top: 2px; word-break: break-all; }
.wre-conn__val.is-on { color: var(--wre-brand); }
.wre-conn__btn {
  flex: none;
  border: 0;
  background: transparent;
  color: var(--wre-brand);
  font-size: calc(13px * var(--wre-fs));
  padding: 4px 0;
  cursor: pointer;
}
.wre-form { margin-bottom: 10px; padding-bottom: 10px; border-bottom: 1px solid var(--wre-line); }

/* 「更多」链接行箭头（对齐小程序 .settings-link__arrow） */
.wre-link__arrow { color: var(--wre-arrow); font-size: calc(18px * var(--wre-fs)); }

/* 我的资料行（对齐小程序 .profile-row / .profile-avatar / .profile-nick） */
.wre-profile { display: flex; align-items: center; margin-top: 12px; }
.wre-profile__avatar {
  width: 60px;
  height: 60px;
  flex: none;
  border-radius: 30px;
  overflow: hidden;
  background: var(--wre-card-2);
  color: var(--wre-muted);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: calc(13px * var(--wre-fs));
}
.wre-profile__nick {
  flex: 1;
  min-width: 0;
  margin-left: 14px;
  padding: 12px;
  background: var(--wre-card-2);
  border: 0;
  border-radius: 6px;
  font-size: calc(14px * var(--wre-fs));
  color: var(--wre-text);
}
.wre-profile__nick:focus { outline: 2px solid var(--wre-brand-soft); }

/* ---- 宽屏（桌面浏览器 / 大屏预览）：收成居中的手机宽度，避免整页被拉满 ---- */
@media (min-width: 560px) {
  :root { --wre-shell: 480px; }
  body { background: var(--wre-shell-bg); }
  .wre-header,
  .wre-main {
    max-width: var(--wre-shell);
    margin-left: auto;
    margin-right: auto;
  }
  /* 中间「手机列」：给这一列独立背景色，与外侧深一点的灰底区分，形成清晰的手机屏边界；
     min-height 撑到视口底部，避免列底露出外层底色 */
  .wre-main {
    background: var(--wre-bg);
    min-height: calc(100vh - 50px);
    box-shadow: 0 0 0 1px rgba(31, 36, 48, 0.05);
  }
  .wre-header { box-shadow: 0 1px 0 rgba(31, 36, 48, 0.08); }
  /* 保留页面左右留白（24rpx → 12px，与小程序一致），让内容与手机列左右边缘等距对齐 */
  .wre-page { padding: 12px; }
  .wre-tabbar {
    left: 50%;
    right: auto;
    transform: translateX(-50%);
    width: 100%;
    max-width: var(--wre-shell);
  }
  .wre-tts-bar {
    left: 50%;
    right: auto;
    transform: translateX(-50%);
    width: calc(100% - 24px);
    max-width: calc(var(--wre-shell) - 24px);
  }
}

/* ---- 引导页（landing）：未配置 Key 时打开网页看到的第一屏 ---- */
/* 引导页自带顶部导航条，全局蓝色顶栏被隐藏，故这里自己留出刘海安全区 */
.wre-landing { padding: calc(env(safe-area-inset-top, 0px) + 4px) 12px 28px; }
.wre-landing__hero { text-align: center; padding: 14px 2px 6px; }

/* 顶部导航条：logo + 名称 + 明暗切换 + 开始使用 */
.wre-landing__nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin: 8px 0 2px;
  padding: 10px 12px;
  background: var(--wre-card);
  border: 1px solid var(--wre-line);
  border-radius: 14px;
  box-shadow: 0 1px 6px rgba(31, 36, 48, 0.04);
}
.wre-landing__brand { display: flex; align-items: center; gap: 10px; min-width: 0; }
.wre-landing__logo {
  flex: none;
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: var(--wre-brand);
  color: #fff;
  font-size: calc(18px * var(--wre-fs));
  display: flex;
  align-items: center;
  justify-content: center;
}
.wre-landing__brand-text { min-width: 0; }
.wre-landing__brand-name { font-size: calc(15px * var(--wre-fs)); font-weight: 700; line-height: 1.2; color: var(--wre-text); }
.wre-landing__brand-sub {
  margin-top: 2px;
  font-size: calc(11px * var(--wre-fs));
  color: var(--wre-muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.wre-landing__nav-actions { display: flex; align-items: center; gap: 8px; flex: none; }
.wre-landing__theme {
  width: 34px;
  height: 34px;
  padding: 0;
  border: 1px solid var(--wre-line);
  background: var(--wre-card-2);
  border-radius: 50%;
  font-size: calc(15px * var(--wre-fs));
  line-height: 1;
  cursor: pointer;
}
.wre-landing__login {
  height: 34px;
  padding: 0 16px;
  border: 0;
  border-radius: 999px;
  background: var(--wre-brand);
  color: #fff;
  font-size: calc(13px * var(--wre-fs));
  font-weight: 600;
  white-space: nowrap;
  cursor: pointer;
}

/* 「界面示意」预览卡：复用 .wre-grid / .wre-trend 展示用了之后能看到什么 */
.wre-landing__preview {
  margin-top: 16px;
  padding: 14px;
  background: var(--wre-card);
  border: 1px solid var(--wre-line);
  border-radius: 16px;
  box-shadow: 0 1px 6px rgba(31, 36, 48, 0.04);
}
.wre-landing__preview-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 12px; }
.wre-landing__preview-status { font-size: calc(13px * var(--wre-fs)); color: var(--wre-text-3); }
.wre-landing__dot { display: inline-block; width: 8px; height: 8px; margin-right: 6px; border-radius: 50%; background: var(--wre-tag-fg); vertical-align: middle; }
.wre-landing__preview-tag { flex: none; padding: 2px 8px; border: 1px solid var(--wre-line); border-radius: 999px; font-size: calc(11px * var(--wre-fs)); color: var(--wre-muted); }
.wre-landing__unit { margin-left: 3px; font-size: calc(12px * var(--wre-fs)); font-weight: 500; color: var(--wre-muted); }
.wre-landing__title {
  font-size: calc(23px * var(--wre-fs));
  font-weight: 700;
  line-height: 1.4;
  margin: 0 0 12px;
  color: var(--wre-text);
}
.wre-landing__lead {
  font-size: calc(14px * var(--wre-fs));
  line-height: 1.8;
  color: var(--wre-text-3);
  margin: 0 0 16px;
}
.wre-landing__hero .wre-btn { margin-top: 10px; }
.wre-landing__hint {
  margin: 12px 0 0;
  font-size: calc(12px * var(--wre-fs));
  line-height: 1.65;
  color: var(--wre-muted);
}
.wre-landing__sec { margin-top: 26px; }
.wre-landing__sec-title {
  font-size: calc(17px * var(--wre-fs));
  font-weight: 700;
  line-height: 1.3;
  margin: 0 0 12px;
  padding-left: 10px;
  border-left: 4px solid var(--wre-brand);
}
.wre-landing__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
.wre-landing__card {
  background: var(--wre-card);
  border-radius: 14px;
  padding: 14px 12px;
  box-shadow: 0 1px 6px rgba(31, 36, 48, 0.04);
}
.wre-landing__card-icon { font-size: calc(20px * var(--wre-fs)); line-height: 1; }
.wre-landing__card-title { font-size: calc(14px * var(--wre-fs)); font-weight: 600; margin-top: 8px; }
.wre-landing__card-desc { font-size: calc(12px * var(--wre-fs)); line-height: 1.65; color: var(--wre-muted); margin-top: 4px; }

.wre-landing__steps { list-style: none; margin: 0; padding: 0; }
.wre-landing__step {
  display: flex;
  gap: 12px;
  background: var(--wre-card);
  border-radius: 14px;
  padding: 14px;
  margin-bottom: 10px;
  box-shadow: 0 1px 6px rgba(31, 36, 48, 0.04);
}
.wre-landing__step-no {
  flex: none;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: var(--wre-brand);
  color: #fff;
  font-size: calc(14px * var(--wre-fs));
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
}
.wre-landing__step-body { min-width: 0; }
.wre-landing__step-title { font-size: calc(14px * var(--wre-fs)); font-weight: 600; }
.wre-landing__step-desc { font-size: calc(12px * var(--wre-fs)); line-height: 1.65; color: var(--wre-muted); margin-top: 4px; }

.wre-landing__cta { text-align: center; margin-top: 28px; }

/* ---- 「如何获取 Key」图文说明（可折叠；landing / 配置页 / 我的 三处共用） ---- */
.wre-guide {
  margin-top: 12px;
  border: 1px solid var(--wre-line);
  border-radius: 12px;
  background: var(--wre-card-2);
  overflow: hidden;
}
.wre-guide__summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 11px 12px;
  font-size: calc(13px * var(--wre-fs));
  font-weight: 600;
  color: var(--wre-brand);
  cursor: pointer;
  list-style: none;
}
.wre-guide__summary::-webkit-details-marker { display: none; }
.wre-guide__summary::after { content: '▾'; color: var(--wre-muted); font-size: calc(12px * var(--wre-fs)); }
.wre-guide[open] .wre-guide__summary::after { content: '▴'; }
.wre-guide__body { padding: 0 12px 14px; }
.wre-guide__step { margin-top: 12px; }
.wre-guide__row { display: flex; gap: 8px; align-items: flex-start; }
.wre-guide__no {
  flex: none;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: var(--wre-brand);
  color: #fff;
  font-size: calc(12px * var(--wre-fs));
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
}
.wre-guide__text { flex: 1; min-width: 0; font-size: calc(13px * var(--wre-fs)); line-height: 1.7; color: var(--wre-text-body); }
.wre-guide__img {
  display: block;
  width: 62%;
  max-width: 220px;
  margin: 8px 0 0;
  border: 1px solid var(--wre-line);
  border-radius: 10px;
  background: #fff;
}
.wre-guide__tip { margin-top: 14px; font-size: calc(12px * var(--wre-fs)); line-height: 1.65; color: var(--wre-muted); }

/* 「加到手机桌面」说明：分组小标题（复用 .wre-guide 的步骤行样式） */
.wre-guide__group-title {
  font-size: calc(13px * var(--wre-fs));
  font-weight: 600;
  color: var(--wre-text);
  margin-bottom: 4px;
}
/* 首页顶部折叠条：去掉顶部多余间距，与下方入口卡留出间隔 */
.wre-desktop-slot { margin-bottom: 12px; }
.wre-desktop-slot .wre-guide { margin-top: 0; }
/* 「我的」页置顶的桌面安装卡：淡品牌底，与其它卡片区分、突出显示 */
.wre-card--desktop { background: var(--wre-brand-soft); }
