:root {
  --ink: #0d2b25;
  --text: #2f4a43;
  --mute: #6c857e;
  --line: #dcebe6;
  --paper: #f5fbf8;
  --white: #ffffff;
  --pri: #1fa07f;
  --pri-deep: #157a5f;
  --accent: #f2a03d;
  --soft: #e3f6ef;
  --soft-2: #fff1dd;
}

/* 动态流：斜置白卡 + 顶部广场胶囊 + 底部频道胶囊条 */
.hv-feed .hero { padding: 46px 0 46px; }
.hv-feed .hero-grid { grid-template-columns: 1fr 1fr; gap: 42px; }
.hv-feed .hero::before { right: -12%; top: -18%; width: 58%; height: 128%;
  background: radial-gradient(circle at 48% 44%, rgba(31,160,127,.20), rgba(242,160,61,.12) 56%, transparent 76%); }
.hv-feed .hero-visual { min-height: 492px; }
.hv-feed .hero-visual::before {
  content: ""; position: absolute; inset: 5% 6% 7% 5%; border-radius: 32px;
  background: linear-gradient(160deg, #e6f7f0, #ffffff 62%, #fff6ea);
  border: 1px solid #d3ece3; rotate: -3deg;
  box-shadow: 0 26px 56px rgba(13,43,37,.10);
}
.hv-feed .hero-visual::after {
  content: "广场 · 动态 · 圈子"; position: absolute; left: 50%; top: 2.5%;
  transform: translateX(-50%); padding: 8px 16px; border-radius: 999px;
  background: #0d2b25; color: #e9fbf4; font-size: 12px; font-weight: 800;
  box-shadow: 0 12px 26px rgba(13,43,37,.18);
}
.hv-feed .hero-glow { width: 72%; opacity: .5; background: radial-gradient(circle at 50% 46%, rgba(31,160,127,.26), rgba(242,160,61,.12) 58%, transparent 76%); }
.hv-feed .stage-phone {
  width: min(194px, 48%); justify-self: center; align-self: start; margin-top: 54px;
  padding: 7px; border-radius: 26px; background: #0d2b25;
  border-color: rgba(13,43,37,.12); rotate: 2.5deg; animation: none;
  box-shadow: 0 24px 48px rgba(13,43,37,.26);
}
.hv-feed .stage-phone img { border-radius: 20px; }
.hv-feed .hero-badge {
  left: 2%; right: auto; top: auto; bottom: 17%; width: 84px; height: 84px;
  border-radius: 50%; background: var(--pri); rotate: -5deg;
  box-shadow: 0 14px 30px rgba(31,160,127,.30);
}
.hv-feed .hero-badge strong { color: #fff; font-size: 25px; }
.hv-feed .hero-badge span { color: rgba(255,255,255,.82); }
.hv-feed .hero-strip {
  left: 5%; right: 4%; bottom: 3%; gap: 7px; justify-content: center;
  padding: 9px 10px; border-radius: 999px;
  background: rgba(255,255,255,.95); border: 1px solid #d3ece3;
  box-shadow: 0 12px 26px rgba(13,43,37,.08);
}
.hv-feed .hero-strip span { background: transparent; color: var(--text); padding: 4px 9px; border-radius: 999px; }
.hv-feed .hero-strip span:first-child { background: var(--pri); color: #fff; }
.fv-lines .feature { border-bottom: 1px dashed var(--line); padding-bottom: 18px; }
.sv-big .showcase { background: #ecf8f3; }

@media (max-width: 640px) {
  .hv-feed .hero-grid { grid-template-columns: 1fr; gap: 16px; }
  .hv-feed .hero-visual { min-height: 446px; }
  .hv-feed .hero-visual::before { inset: 3% 0 4% 0; rotate: 0deg; }
  .hv-feed .hero-visual::after { top: 8px; font-size: 10px; padding: 6px 12px; }
  .hv-feed .stage-phone { width: min(170px, 48%); margin-top: 42px; }
  .hv-feed .hero-badge { display: grid; left: 10px; right: auto; top: auto; bottom: 62px; width: 60px; height: 60px; }
  .hv-feed .hero-badge strong { font-size: 19px; }
  .hv-feed .hero-strip { left: 8px; right: 8px; bottom: 6px; padding: 7px 8px; gap: 4px; }
  .hv-feed .hero-strip span { padding: 3px 7px; font-size: 10px; }
}

