/* 情智源 H5 首页 v15：clean css
   说明：
   - 已移除多轮迭代留下的重复覆盖样式。
   - 同一组件只保留一处基础定义，响应式只在媒体查询中做必要调整。
   - 保留用户指定的 circle-arrow / book-btn 精确值。
*/

:root {
  --page-w: 430px;
  --blue: #2d67d1;
  --blue-light: #65afff;
  --deep: #0c2550;
  --gold: #d79a1e;
  --gold-light: #ffd579;
  --soft: #f4f9ff;
  --line: #dce9f8;
  --shadow: 0 12px 26px rgba(53, 106, 173, .13);
  --shadow-soft: 0 8px 18px rgba(65, 105, 158, .09);
}

* {
  box-sizing: border-box;
  -webkit-tap-highlight-color: transparent;
}

html,
body {
  margin: 0;
  min-height: 100%;
  font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", Arial, sans-serif;
  color: var(--deep);
  background: linear-gradient(180deg, #eff7ff 0%, #eaf4ff 46%, #f7fbff 100%);
}

body {
  display: flex;
  justify-content: center;
}

button {
  padding: 0;
  border: 0;
  color: inherit;
  font-family: inherit;
  background: none;
  cursor: pointer;
}

img {
  display: block;
  max-width: 100%;
}

/* App Shell */
.app-shell {
  position: relative;
  width: min(100vw, var(--page-w));
  min-height: 100vh;
  margin: 0 auto;
  padding: 14px 8px 112px;
  overflow: hidden;
  background:
    radial-gradient(circle at 76% 10%, rgba(255, 222, 135, .34), transparent 27%),
    radial-gradient(circle at 25% 3%, rgba(126, 193, 255, .2), transparent 30%),
    linear-gradient(180deg, #f8fcff 0%, #eef7ff 57%, #fbfdff 100%);
  box-shadow: 0 0 0 1px rgba(188, 216, 242, .65), 0 24px 80px rgba(20, 57, 112, .12);
}

.app-shell::before {
  content: "";
  position: absolute;
  left: -60px;
  right: -60px;
  top: 272px;
  height: 170px;
  pointer-events: none;
  background:
    linear-gradient(168deg, transparent 18%, rgba(121, 181, 246, .16) 32%, transparent 43%),
    linear-gradient(174deg, transparent 35%, rgba(247, 193, 71, .24) 43%, transparent 55%);
}

/* Header */
.app-header {
  position: relative;
  z-index: 6;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 8px;
  min-height: 55px;
  padding-top: 8px;
}

.brand-logo {
  width: 252px;
  max-width: calc(100% - 118px);
  height: auto;
  object-fit: contain;
  object-position: left center;
  filter: drop-shadow(0 4px 4px rgba(64, 108, 175, .08));
}

.archive-pill {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  gap: 4px;
  height: 36px;
  margin-top: 4px;
  padding: 0 12px;
  border: 1px solid #cfe0f6;
  border-radius: 18px;
  color: #234e85;
  font-size: 14px;
  font-weight: 700;
  white-space: nowrap;
  background: rgba(255, 255, 255, .86);
  box-shadow: var(--shadow-soft);
}

.archive-pill img {
  width: 18px;
  height: 18px;
}

.archive-pill em {
  margin-left: 1px;
  color: #6d8bb4;
  font-size: 18px;
  font-style: normal;
}

/* Hero */
.hero {
  position: relative;
  z-index: 1;
  height: 216px;
  padding-top: 6px;
}

.hero::after {
  content: "";
  position: absolute;
  right: -28px;
  top: 142px;
  z-index: 2;
  width: 285px;
  height: 92px;
  pointer-events: none;
  border-radius: 50%;
  background: linear-gradient(170deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, .78) 48%, rgba(255, 255, 255, .06) 72%);
}

.hero-copy {
  position: relative;
  z-index: 3;
  width: 100%;
}

.hero h1 {
  max-width: 58%;
  margin: 4px 0 8px;
  color: #0a2757;
  font-size: 24px;
  line-height: 1.23;
  font-weight: 900;
  letter-spacing: 0;
  text-shadow: 0 1px 0 rgba(255, 255, 255, .55);
}

.hero p {
  max-width: 58%;
  margin: 8px 0 14px;
  color: #465976;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 1.1px;
  white-space: nowrap;
}

.hero-child {
  position: absolute;
  right: -10px;
  top: 6px;
  z-index: 1;
  width: 220px;
  height: 240px;
  max-width: 54%;
  object-fit: cover;
  opacity: .82;
  border-radius: 0 0 0 26px;
  mix-blend-mode: multiply;
}

.hero-actions {
  position: relative;
  z-index: 4;
  display: flex;
  align-items: center;
  gap: 12px;
  width: 330px;
  max-width: 82%;
  margin-top: 0;
}

.cta {
  flex: 1 1 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-width: 154px;
  height: 66px;
  padding: 0 11px 0 14px;
  border-radius: 16px;
  text-align: left;
  box-shadow: 0 12px 18px rgba(30, 99, 205, .18);
  transition: .18s ease;
}

.cta-primary {
  min-width: 156px;
  color: #fff;
  border: 1px solid rgba(255, 255, 255, .6);
  background: linear-gradient(135deg, #8fd0ff 0%, #2165df 100%);
}

.cta-gold {
  min-width: 152px;
  color: #8a5608;
  border: 1px solid rgba(218, 153, 31, .58);
  background: linear-gradient(135deg, #fff9de 0%, #ffd579 100%);
  box-shadow: 0 12px 20px rgba(193, 138, 37, .14);
}

.cta strong {
  display: block;
  font-size: 18px;
  line-height: 1.1;
  font-weight: 800;
  white-space: nowrap;
}

.cta small {
  display: block;
  margin-top: 6px;
  font-size: 9.5px;
  white-space: nowrap;
}

.cta img {
  flex: 0 0 34px;
  width: 34px;
  height: 34px;
}

/* Core Cards */
.core-grid {
  position: relative;
  z-index: 5;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-top: 8px;
}

.feature-card {
  position: relative;
  min-height: 176px;
  padding: 15px 12px 14px 14px;
  overflow: hidden;
  border: 1px solid #d6e7f9;
  border-radius: 18px;
  background: rgba(255, 255, 255, .82);
  box-shadow: var(--shadow);
}

.feature-card::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(135deg, rgba(255, 255, 255, .85), rgba(255, 255, 255, .28));
}

.gene-card {
  background: linear-gradient(135deg, #f8fcff 0%, #ecf7ff 100%);
}

.mind-card {
  border-color: #efd8ab;
  background: linear-gradient(135deg, #fffdf8 0%, #fff2d7 100%);
}

.feature-content {
  position: relative;
  z-index: 2;
  width: 64%;
}

.feature-title-line {
  display: flex;
  align-items: center;
  gap: 5px;
}

.feature-title-line h2 {
  margin: 0;
  color: #082a61;
  font-size: 19px;
  line-height: 1.08;
  font-weight: 900;
  letter-spacing: .5px;
  white-space: nowrap;
}

.mind-card .feature-title-line h2 {
  color: #8a570b;
}

.feature-title-line span {
  border-radius: 9px;
  color: #2f66c4;
  font-size: 10px;
  line-height: 17px;
  font-weight: 700;
  background: #e0ecff;
}

.mind-card .feature-title-line span {
  color: #8c5b10;
  background: #fff1d6;
}

.feature-card p {
  margin: 8px 0 7px;
  color: #385070;
  font-size: 12px;
  white-space: nowrap;
}

.feature-card ul {
  margin: 0;
  padding: 0;
  color: #2a4b77;
  font-size: 12px;
  line-height: 1.55;
  list-style: none;
}

.feature-card li::before {
  content: "✓";
  margin-right: 7px;
  color: #1b70e3;
  font-weight: 900;
}

.mind-card li::before {
  color: #b07b16;
}

.feature-illus {
  position: absolute;
  z-index: 1;
  pointer-events: none;
  opacity: .9;
}

.feature-illus.dna {
  right: -6px;
  bottom: 8px;
  width: 128px;
}

.feature-illus.brain {
  right: -5px;
  bottom: 10px;
  width: 132px;
}

.circle-arrow,
.circle-arrow.gold {
  position: absolute !important;
  left: 0px !important;
  bottom: -42px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 30px !important;
  height: 30px !important;
  padding: 0 !important;
  border: 1px solid #c8ddf8;
  border-radius: 50%;
  color: #2d67d1;
  font-size: 17px !important;
  line-height: 1 !important;
  text-align: center !important;
  text-indent: 1px !important;
  background: #fff;
  box-shadow: 0 6px 12px rgba(43, 96, 174, .15);
}

.circle-arrow.gold {
  color: #a86d12;
  border-color: #ead0a1;
}

/* Service Module */
.service-panel {
  margin-top: 13px;
  padding: 15px 12px 16px;
  border: 1px solid #d7e7f7;
  border-radius: 18px;
  background: rgba(255, 255, 255, .86);
  box-shadow: var(--shadow);
}

.section-title,
.mini-title,
.recommend-head {
  display: flex;
  align-items: center;
}

.section-title {
  height: 20px;
  gap: 8px;
}

.section-title h2,
.mini-title h2,
.recommend-head h2 {
  margin: 0;
  color: #12305f;
  font-size: 17px;
  font-weight: 900;
}

.section-title i {
  display: block;
  width: 28px;
  height: 2px;
  border-radius: 2px;
  background: linear-gradient(90deg, #f4b332, transparent);
}

.service-row {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  justify-items: center;
  gap: 12px 4px;
  margin-top: 15px;
}

.service-item {
  grid-column: span 3;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 7px;
  width: 100%;
  min-height: 82px;
  color: #132d55;
  font-size: 12px;
  font-weight: 800;
}

.service-item:nth-child(5) {
  grid-column: 2 / span 3;
}

.service-item:nth-child(6) {
  grid-column: 5 / span 3;
}

.service-item:nth-child(7) {
  grid-column: 8 / span 3;
}

.service-item img {
  width: 52px;
  height: 52px;
  object-fit: contain;
  filter: drop-shadow(0 8px 12px rgba(39, 91, 165, .17));
}

.service-item span {
  line-height: 1.15;
  white-space: nowrap;
}

/* Dashboard */
.dashboard {
  display: grid;
  grid-template-columns: .96fr 1.04fr;
  gap: 10px;
  align-items: stretch;
  margin-top: 13px;
}

.card-soft {
  overflow: hidden;
  border: 1px solid #d8e8f8;
  border-radius: 16px;
  background: rgba(255, 255, 255, .82);
  box-shadow: var(--shadow-soft);
}

.growth-card {
  min-height: 232px;
  padding: 14px 10px 12px;
}

.mini-title {
  gap: 5px;
}

.mini-title span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 15px;
  height: 15px;
  border: 1px solid #9eb6d3;
  border-radius: 50%;
  color: #6985a6;
  font-size: 11px;
}

.growth-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  min-height: 170px;
  margin-top: 8px;
}

.radar-wrap {
  display: flex;
  justify-content: center;
  width: 100%;
}

.radar-wrap img {
  width: 146px;
  margin: 0 auto;
}

.score-wrap {
  display: grid;
  grid-template-columns: auto auto auto;
  grid-template-areas:
    "label score unit"
    "stars stars stars"
    "button button button";
  align-items: end;
  justify-content: center;
  column-gap: 6px;
  row-gap: 3px;
  width: auto;
  margin: 6px auto 0;
  text-align: center;
}

.score-wrap span {
  grid-area: label;
  align-self: end;
  color: #193961;
  font-size: 11px;
  white-space: nowrap;
}

.score-wrap strong {
  grid-area: score;
  color: #d79518;
  font-size: 34px;
  line-height: .95;
  font-weight: 900;
}

.score-wrap em {
  grid-area: unit;
  align-self: end;
  margin: 0;
  color: #697b91;
  font-size: 9px;
  font-style: normal;
  white-space: nowrap;
}

.stars {
  grid-area: stars;
  justify-self: center;
  margin: 2px 0;
  color: #f0ac19;
  font-size: 11px;
  letter-spacing: 0;
  white-space: nowrap;
}

.data-btn {
  grid-area: button;
  justify-self: center;
  display: flex;
  align-items: center;
  gap: 4px;
  height: 24px;
  padding: 0 8px;
  border: 1px solid #efca87;
  border-radius: 13px;
  color: #8b5d13;
  font-size: 9px;
  font-weight: 800;
  white-space: nowrap;
  background: #fffdfa;
}

.data-btn img {
  width: 12px;
  height: 12px;
}

.recommend-card {
  min-height: 224px;
  padding: 13px 8px;
}

.recommend-head {
  justify-content: space-between;
}

.recommend-head h2 {
  font-size: 16px;
}

.recommend-head h2::after {
  content: "";
  display: inline-block;
  width: 22px;
  height: 2px;
  margin-left: 7px;
  vertical-align: middle;
  background: linear-gradient(90deg, #f0af2b, transparent);
}

.recommend-head a {
  color: #7b91ad;
  font-size: 11px;
  font-weight: 600;
  text-decoration: none;
}

.recommend-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 8px;
}

.recommend-item {
  position: relative;
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr);
  gap: 7px;
  align-items: center;
  min-height: 52px;
  padding: 5px 6px;
  overflow: hidden;
  border: 1px solid #edf3fb;
  border-radius: 11px;
  text-align: left;
  background: rgba(255, 255, 255, .72);
}

.recommend-item img {
  width: 58px;
  height: 44px;
  object-fit: cover;
  border-radius: 8px;
}

.recommend-item span {
  min-width: 0;
  padding-right: 12px;
}

.recommend-item b {
  display: block;
  overflow: visible;
  color: #153461;
  font-size: 11px;
  line-height: 1.18;
  white-space: normal;
  text-overflow: clip;
}

.recommend-item small {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  margin-top: 3px;
  color: #73869e;
  font-size: 8.5px;
  line-height: 1.15;
  white-space: normal;
}

.recommend-item i {
  position: absolute;
  right: 5px;
  bottom: 5px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  color: #a06407;
  font-size: 8px;
  font-style: normal;
  background: #ffd46e;
}

/* Mentor */
.mentor-card {
  display: grid;
  grid-template-columns: 88px 1fr 103px;
  align-items: center;
  gap: 7px;
  height: 108px;
  margin-top: 13px;
  padding: 0 11px;
  position: relative;
}

.mentor-avatar {
  position: relative;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  height: 94px;
}

.mentor-avatar img {
  position: absolute;
  bottom: 0;
  width: 78px;
  height: 92px;
  object-fit: cover;
  object-position: top center;
}

.mentor-avatar span {
  position: absolute;
  bottom: 4px;
  left: 11px;
  height: 22px;
  padding: 0 12px;
  border-radius: 12px;
  color: #805109;
  font-size: 10px;
  line-height: 22px;
  font-weight: 700;
  background: linear-gradient(180deg, #fff6dc, #f3c96c);
  box-shadow: 0 5px 10px rgba(189, 128, 19, .16);
}

.mentor-copy {
  min-width: 0;
}

.mentor-copy h2 {
  margin: 0;
  color: #8a570b;
  font-size: 19px;
  font-weight: 900;
}

.mentor-copy p {
  margin: 7px 0 9px;
  color: #405777;
  font-size: 11.5px;
  white-space: nowrap;
}

.mentor-tags {
  display: flex;
  flex-wrap: nowrap;
  gap: 10px;
  color: #557092;
  font-size: 9.5px;
  white-space: nowrap;
}

.mentor-tags span {
  white-space: nowrap;
}

.mentor-tags span::before {
  content: "✓";
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 12px;
  height: 12px;
  margin-right: 3px;
  border: 1px solid #e4a124;
  border-radius: 50%;
  color: #d99611;
  font-size: 8px;
}

.mentor-action {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 9px;
}

.book-btn {
  width: 103px !important;
  min-width: 103px !important;
  height: 40px !important;
  border: 1px solid #e2ad43;
  border-radius: 13px;
  color: #9a6410;
  font-size: 15px !important;
  line-height: 10px;
  font-weight: 800;
  white-space: nowrap;
  background: linear-gradient(180deg, #fff6d9, #ffd579);
  box-shadow: 0 8px 14px rgba(178, 122, 25, .16);
}

.mentor-action small {
  color: #405b7b;
  font-size: 10px;
  white-space: nowrap;
}

.mentor-action b {
  color: #d98d09;
}

/* Interaction */
.tap-target {
  transition: transform .16s ease, filter .16s ease, box-shadow .16s ease;
}

.tap-target:active,
.tap-target.is-pressed {
  transform: scale(.965);
  filter: saturate(1.08);
}

/* Desktop Preview */
@media (min-width: 430px) {
  body {
    padding: 16px 0;
  }

  .app-shell {
    min-height: 844px;
    border-radius: 28px;
  }

  .bottom-nav {
    border-radius: 22px;
  }
}

/* Small Phones */
@media (max-width: 400px) {
  .app-shell {
    padding: 14px 8px 110px;
  }

  .brand-logo {
    width: 244px;
    max-width: calc(100% - 116px);
  }

  .hero-actions {
    width: 322px;
  }

  .cta {
    min-width: 150px;
  }

  .dashboard {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .growth-card,
  .recommend-card {
    min-height: auto;
  }
}

@media (max-width: 374px) {
  .brand-logo {
    width: 232px;
    max-width: calc(100% - 110px);
  }

  .hero h1 {
    max-width: 60%;
    font-size: 23px;
  }

  .hero p {
    max-width: 60%;
    font-size: 12px;
  }

  .hero-actions {
    width: 300px;
    max-width: 84%;
    gap: 8px;
  }

  .cta {
    min-width: 144px;
    padding: 0 10px 0 12px;
  }

  .cta strong {
    font-size: 16px;
  }

  .cta img {
    width: 30px;
    height: 30px;
  }

  .service-item img {
    width: 44px;
    height: 44px;
  }

  .service-item span {
    font-size: 10px;
  }
}


/* v17 mobile：官网元素 + 首屏按钮下移修正 */
.hero-actions {
  margin-top: 50px;
}

.official-panel {
  margin-top: 13px;
  padding: 15px 12px 14px;
  border-radius: 18px;
}

.official-intro {
  margin: 10px 0 12px;
  color: #4b6385;
  font-size: 12px;
  line-height: 1.55;
}

.official-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
}

.official-item {
  min-width: 0;
  overflow: hidden;
  border: 1px solid #e2edf9;
  border-radius: 13px;
  background: rgba(255, 255, 255, .76);
  box-shadow: 0 6px 14px rgba(65, 105, 158, .06);
}

.official-item img {
  width: 100%;
  height: 52px;
  object-fit: cover;
  border-bottom: 1px solid #edf4fb;
}

.official-item b,
.official-item span {
  display: block;
  padding: 0 7px;
}

.official-item b {
  margin-top: 7px;
  color: #12305f;
  font-size: 12px;
  font-weight: 900;
}

.official-item span {
  margin: 4px 0 8px;
  color: #6b7f9b;
  font-size: 9.5px;
  line-height: 1.25;
}

@media (max-width: 400px) {
  .hero-actions {
    margin-top: 26px;
  }
}

@media (max-width: 374px) {
  .official-grid {
    gap: 6px;
  }
  .official-item img {
    height: 46px;
  }
  .official-item b {
    font-size: 11px;
  }
  .official-item span {
    font-size: 9px;
  }
}


/* v18：手机端官网元素改为“成长体系”提炼模块，去掉实体空间展示图 */
.system-panel {
  margin-top: 13px;
  padding: 15px 12px 14px;
  border-radius: 18px;
  position: relative;
  overflow: hidden;
}

.system-panel::before {
  content: "";
  position: absolute;
  inset: -30px -20px auto auto;
  width: 150px;
  height: 150px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(247, 191, 56, .22), transparent 62%);
  pointer-events: none;
}

.system-intro {
  position: relative;
  z-index: 1;
  margin: 10px 0 12px;
  color: #4b6385;
  font-size: 12px;
  line-height: 1.55;
}

.system-core {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 112px;
  gap: 9px;
  align-items: stretch;
}

.system-main {
  padding: 12px 12px 11px;
  border: 1px solid rgba(203, 222, 246, .9);
  border-radius: 15px;
  background:
    linear-gradient(135deg, rgba(255,255,255,.9), rgba(238,247,255,.75)),
    radial-gradient(circle at 88% 10%, rgba(99, 156, 236, .16), transparent 42%);
}

.system-main em {
  display: block;
  color: #7a91b3;
  font-size: 9px;
  font-style: normal;
  font-weight: 800;
  letter-spacing: .8px;
}

.system-main b {
  display: block;
  margin: 6px 0 5px;
  color: #12305f;
  font-size: 15px;
  font-weight: 900;
}

.system-main span {
  display: block;
  color: #617793;
  font-size: 10.5px;
  line-height: 1.45;
}

.shop-entry {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
  padding: 0 11px;
  border: 1px solid rgba(224, 173, 67, .65);
  border-radius: 15px;
  color: #8a570b;
  text-decoration: none;
  background: linear-gradient(150deg, #fff7db 0%, #ffd579 100%);
  box-shadow: 0 10px 18px rgba(193, 138, 37, .12);
}

.shop-entry strong {
  font-size: 15px;
  line-height: 1;
  white-space: nowrap;
}

.shop-entry small {
  margin-top: 8px;
  color: #9b6a14;
  font-size: 9px;
  line-height: 1.25;
}

.shop-entry i {
  position: absolute;
  right: 9px;
  top: 9px;
  font-style: normal;
  font-size: 18px;
}

.system-mini-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 6px;
  margin-top: 10px;
}

.system-mini-grid span {
  color: #567092;
  font-size: 9.5px;
  font-weight: 700;
}

.system-mini-grid b {
  color: #d29516;
  font-size: 20px;
  line-height: 1;
  font-weight: 900;
}

@media (max-width: 374px) {
  .system-core {
    grid-template-columns: 1fr;
  }

  .shop-entry {
    min-height: 64px;
  }

  .system-mini-grid {
    gap: 5px;
  }
}


/* v19：手机端“体系模块”重新设计：不展示实体空间，改为内容入口 + 详情页入口 */
.system-panel {
  margin-top: 13px;
  padding: 15px 12px 14px;
  border-radius: 20px;
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 88% 8%, rgba(244, 191, 50, .18), transparent 34%),
    linear-gradient(145deg, rgba(255,255,255,.92), rgba(239,247,255,.78));
}

.system-panel::before {
  content: "";
  position: absolute;
  right: -34px;
  top: -34px;
  width: 138px;
  height: 138px;
  border-radius: 50%;
  background: conic-gradient(from 90deg, rgba(244,191,50,.34), rgba(83,111,179,.12), rgba(244,191,50,.28));
  opacity: .7;
  animation: systemRotate 14s linear infinite;
}

.system-intro {
  position: relative;
  z-index: 1;
  margin: 10px 0 12px;
  color: #4b6385;
  font-size: 12px;
  line-height: 1.55;
}

.system-feature-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 9px;
}

.system-feature {
  min-height: 128px;
  padding: 13px 12px;
  border: 1px solid rgba(206, 224, 247, .95);
  border-radius: 16px;
  text-decoration: none;
  overflow: hidden;
  position: relative;
}

.system-feature::after {
  content: "";
  position: absolute;
  right: -24px;
  bottom: -24px;
  width: 78px;
  height: 78px;
  border-radius: 50%;
  background: rgba(255,255,255,.42);
}

.balance-feature {
  background:
    radial-gradient(circle at 90% 18%, rgba(83, 111, 179, .18), transparent 36%),
    linear-gradient(145deg, #fafdff, #edf7ff);
}

.map-feature {
  border-color: rgba(225, 174, 68, .48);
  background:
    radial-gradient(circle at 90% 18%, rgba(244,191,50,.24), transparent 36%),
    linear-gradient(145deg, #fffdf5, #fff1d1);
}

.system-feature em {
  display: block;
  color: #7a91b3;
  font-size: 8.5px;
  font-style: normal;
  font-weight: 900;
  letter-spacing: .8px;
}

.system-feature b {
  display: block;
  margin: 7px 0 6px;
  color: #12305f;
  font-size: 15px;
  line-height: 1.15;
  font-weight: 900;
}

.map-feature b {
  color: #8a570b;
}

.system-feature span {
  display: block;
  color: #607795;
  font-size: 10.2px;
  line-height: 1.38;
}

.system-feature i {
  display: inline-flex;
  margin-top: 9px;
  color: #2d67d1;
  font-size: 10px;
  font-style: normal;
  font-weight: 900;
}

.map-feature i {
  color: #b47b17;
}

.system-mini-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 7px;
  margin-top: 10px;
}

.system-mini-grid a {
  height: 56px;
  border: 1px solid #e2edf9;
  border-radius: 14px;
  color: #567092;
  text-decoration: none;
  font-size: 9.5px;
  font-weight: 800;
  background: rgba(255,255,255,.76);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  transition: transform .18s ease, box-shadow .18s ease;
}

.system-mini-grid a:active {
  transform: scale(.97);
}

.system-mini-grid b {
  color: #d29516;
  font-size: 22px;
  line-height: 1;
  font-weight: 900;
}

.system-mini-grid span {
  margin-top: 3px;
}

.shop-strip {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 10px;
  min-height: 58px;
  padding: 0 13px;
  border: 1px solid rgba(224, 173, 67, .62);
  border-radius: 16px;
  color: #8a570b;
  text-decoration: none;
  background: linear-gradient(135deg, #fff8dd, #ffd675);
  box-shadow: 0 10px 18px rgba(193, 138, 37, .12);
}

.shop-strip b,
.shop-strip small {
  display: block;
}

.shop-strip b {
  font-size: 15px;
  line-height: 1;
}

.shop-strip small {
  margin-top: 6px;
  color: #9a6a14;
  font-size: 9.5px;
}

.shop-strip i {
  font-style: normal;
  font-size: 12px;
  font-weight: 900;
}

@keyframes systemRotate {
  to { transform: rotate(360deg); }
}

@media (max-width: 374px) {
  .system-feature-grid {
    grid-template-columns: 1fr;
  }

  .system-feature {
    min-height: 108px;
  }

  .system-mini-grid {
    gap: 5px;
  }

  .system-mini-grid a {
    height: 52px;
  }
}


/* v20：修复手机端 5/3/2/1 区域，取消“圆角套圆角”的低级重复感，改为能量流式入口 */
.system-mini-grid {
  position: relative !important;
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 0 !important;
  margin: 14px 0 8px !important;
  padding: 10px 4px 6px !important;
  border-radius: 0 !important;
  background: transparent !important;
}

.system-mini-grid::before {
  content: "";
  position: absolute;
  left: 12%;
  right: 12%;
  top: 31px;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(83, 111, 179, .08), rgba(244, 191, 50, .62), rgba(83, 111, 179, .08));
}

.system-mini-grid a {
  position: relative !important;
  z-index: 1 !important;
  height: auto !important;
  min-height: 58px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: #405b84 !important;
  text-decoration: none !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  background: transparent !important;
  box-shadow: none !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  transition: transform .18s ease, filter .18s ease !important;
}

.system-mini-grid a::before {
  content: "";
  width: 34px;
  height: 34px;
  margin-bottom: 4px;
  border-radius: 50%;
  background: radial-gradient(circle at 36% 28%, #fff, #fff6d8 55%, #f2be3c 100%);
  box-shadow: 0 7px 14px rgba(207, 148, 24, .16);
}

.system-mini-grid b {
  position: absolute;
  top: 5px;
  color: #d29516 !important;
  font-size: 20px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
}

.system-mini-grid span {
  margin-top: 0 !important;
  white-space: nowrap;
}

.system-mini-grid a:active {
  transform: translateY(1px) scale(.96);
}

.system-mini-grid a:hover {
  filter: saturate(1.08);
}

@media (max-width: 374px) {
  .system-mini-grid {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .system-mini-grid span {
    font-size: 9px;
  }
}


/* v22：仅优化手机端“情智源赋能体系”区域；不改未提到模块 */
.system-panel { position: relative; overflow: hidden; }
.brand-ip-group {
  position: absolute;
  right: 10px;
  top: 14px;
  z-index: 0;
  width: 118px;
  height: 84px;
  pointer-events: none;
  opacity: .9;
}
.brand-ip-group .ip-girl {
  position: absolute;
  right: 18px;
  bottom: -4px;
  width: 46px;
  filter: drop-shadow(0 8px 12px rgba(58,86,132,.14));
}
.brand-ip-group .ip-blue,
.brand-ip-group .ip-pink {
  position: absolute;
  width: 34px;
  filter: drop-shadow(0 7px 10px rgba(58,86,132,.12));
  animation: ipFloat 3.4s ease-in-out infinite;
}
.brand-ip-group .ip-blue { left: 20px; top: 10px; }
.brand-ip-group .ip-pink { right: 0; top: 2px; animation-delay: .7s; }
.system-panel .section-title,
.system-panel .system-intro,
.system-panel .system-feature-grid,
.system-panel .system-mini-grid,
.system-panel .shop-strip { position: relative; z-index: 1; }
.system-intro { padding-right: 96px; }

/* 5/3/2/1：取消小圆角框和圆形底座，改成轻量能量轴 */
.system-mini-grid {
  position: relative !important;
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 0 !important;
  margin: 15px 0 8px !important;
  padding: 7px 0 4px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.system-mini-grid::before {
  content: "";
  position: absolute;
  left: 8%;
  right: 8%;
  top: 20px;
  height: 2px;
  background: linear-gradient(90deg, rgba(83,111,179,.12), rgba(244,191,50,.7), rgba(83,111,179,.12));
}
.system-mini-grid a {
  position: relative !important;
  z-index: 1;
  height: 54px !important;
  min-height: 54px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #465e84 !important;
  text-decoration: none !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  font-weight: 800 !important;
  font-size: 10px !important;
}
.system-mini-grid a::before {
  content: "";
  width: 9px;
  height: 9px;
  margin: 9px 0 5px;
  border-radius: 2px;
  background: #f4bf32;
  transform: rotate(45deg);
  box-shadow: 0 0 0 4px rgba(244,191,50,.16);
}
.system-mini-grid b {
  order: -1;
  color: #d29516 !important;
  font-size: 22px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
}
.system-mini-grid span {
  margin-top: 0 !important;
  white-space: nowrap;
}

/* 商城入口：取消内层大圆角框，改为扁平功能入口 */
.shop-strip {
  min-height: 50px !important;
  margin-top: 8px !important;
  padding: 0 3px 0 12px !important;
  border: 0 !important;
  border-top: 1px solid rgba(224,173,67,.45) !important;
  border-radius: 0 !important;
  color: #8a570b !important;
  background: linear-gradient(90deg, rgba(255,246,211,.88), rgba(255,255,255,0)) !important;
  box-shadow: none !important;
}
.shop-strip::before {
  content: "";
  width: 4px;
  height: 28px;
  margin-right: 9px;
  border-radius: 999px;
  background: linear-gradient(180deg, #f4bf32, #d29516);
}
.shop-strip i { min-width: 78px; text-align: right; }
@keyframes ipFloat { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-4px); } }
@media (max-width: 374px) {
  .brand-ip-group { width: 104px; transform: scale(.92); transform-origin: top right; }
  .system-intro { padding-right: 84px; }
}


/* v23：按要求微调 */
.brand-ip-group .ip-blue {
  left: 20px !important;
  top: 10px !important;
}

.system-mini-grid span {
  background: none !important;
  border: 0 !important;
  border-radius: 0 !important;
}

.recommend-item {
  color: inherit;
  text-decoration: none;
}

.recommend-head a {
  text-decoration: none;
}


/* v27：手机端导师咨询防重叠 + 单列时成长状态左右布局
   只追加修正，不改其它模块结构。 */

/* 一对一导师咨询：缩小头像列，释放中间文案空间，避免与右侧按钮重叠 */
.mentor-card {
  grid-template-columns: 74px minmax(0, 1fr) 103px !important;
  gap: 6px !important;
  padding: 0 10px !important;
  overflow: hidden !important;
}

.mentor-avatar {
  height: 88px !important;
}

.mentor-avatar img {
  width: 66px !important;
  height: 82px !important;
}

.mentor-avatar span {
  left: 4px !important;
  bottom: 4px !important;
  height: 20px !important;
  padding: 0 9px !important;
  line-height: 20px !important;
  font-size: 9px !important;
}

.mentor-copy {
  min-width: 0 !important;
  overflow: hidden !important;
}

.mentor-copy h2 {
  font-size: 18px !important;
  line-height: 1.15 !important;
  white-space: nowrap !important;
}

.mentor-copy p {
  max-width: 100% !important;
  margin: 6px 0 8px !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.mentor-tags {
  min-width: 0 !important;
  gap: 8px !important;
  overflow: hidden !important;
}

.mentor-tags span {
  flex: 0 0 auto !important;
}

.mentor-action {
  min-width: 103px !important;
  align-items: flex-end !important;
}

.mentor-action small {
  max-width: 103px !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

/* 400px 以下时，成长状态总览会变成单列，雷达图和成长指数改成左右布局，减少空白 */
@media (max-width: 400px) {
  .growth-card {
    min-height: 178px !important;
    padding: 14px 12px 12px !important;
  }

  .growth-inner {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    align-items: center !important;
    column-gap: 8px !important;
    min-height: 118px !important;
    margin-top: 8px !important;
  }

  .radar-wrap {
    width: 100% !important;
    justify-content: center !important;
  }

  .radar-wrap img {
    width: 156px !important;
    max-width: 100% !important;
    margin: 0 auto !important;
  }

  .score-wrap {
    margin: 0 auto !important;
    align-self: center !important;
  }

  .score-wrap strong {
    font-size: 38px !important;
  }

  .data-btn {
    height: 26px !important;
    padding: 0 10px !important;
  }

  .mentor-card {
    grid-template-columns: 70px minmax(0, 1fr) 100px !important;
    gap: 5px !important;
    height: 104px !important;
    padding: 0 9px !important;
  }

  .mentor-avatar img {
    width: 62px !important;
    height: 78px !important;
  }

  .mentor-copy h2 {
    font-size: 17px !important;
  }

  .mentor-copy p {
    font-size: 11px !important;
  }

  .mentor-tags {
    gap: 6px !important;
    font-size: 9px !important;
  }

  .book-btn {
    width: 100px !important;
    min-width: 100px !important;
  }

  .mentor-action {
    min-width: 100px !important;
  }

  .mentor-action small {
    max-width: 100px !important;
    font-size: 9px !important;
  }
}

@media (max-width: 374px) {
  .growth-inner {
    grid-template-columns: .95fr 1.05fr !important;
    column-gap: 4px !important;
  }

  .radar-wrap img {
    width: 140px !important;
  }

  .score-wrap strong {
    font-size: 34px !important;
  }

  .mentor-card {
    grid-template-columns: 62px minmax(0, 1fr) 94px !important;
    gap: 4px !important;
    padding: 0 8px !important;
  }

  .mentor-avatar img {
    width: 56px !important;
    height: 72px !important;
  }

  .mentor-avatar span {
    left: 0 !important;
    padding: 0 7px !important;
    font-size: 8px !important;
  }

  .mentor-copy h2 {
    font-size: 16px !important;
  }

  .mentor-tags {
    gap: 5px !important;
    font-size: 8.5px !important;
  }

  .book-btn {
    width: 94px !important;
    min-width: 94px !important;
    font-size: 14px !important;
  }

  .mentor-action {
    min-width: 94px !important;
  }

  .mentor-action small {
    max-width: 94px !important;
  }
}


/* v28：修复真机与 F12 手机模式表现不一致
   原因：真机 WebView 的 CSS 视口通常是 390/393px，会命中旧的 max-width:400 规则，
   旧规则把成长状态总览和精选内容推荐改成单列。这里强制 375px 及以上保持两列。 */

/* 大部分主流手机：375 / 390 / 393 / 414 / 430 都保持两列 */
@media (min-width: 375px) {
  .dashboard {
    display: grid !important;
    grid-template-columns: .96fr 1.04fr !important;
    gap: 10px !important;
    align-items: stretch !important;
  }

  .growth-card,
  .recommend-card {
    min-height: 224px !important;
  }

  /* 两列状态下，成长总览恢复紧凑竖向排布，避免内部被 v27 的 max-width:400 横排规则影响 */
  .growth-inner {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    min-height: 170px !important;
    margin-top: 8px !important;
  }

  .radar-wrap {
    display: flex !important;
    justify-content: center !important;
    width: 100% !important;
  }

  .radar-wrap img {
    width: 146px !important;
    margin: 0 auto !important;
  }

  .score-wrap {
    margin: 6px auto 0 !important;
  }

  .score-wrap strong {
    font-size: 34px !important;
  }
}

/* 极窄屏再单列，避免 320/360 这类屏幕挤爆 */
@media (max-width: 374px) {
  .dashboard {
    grid-template-columns: 1fr !important;
  }

  .growth-inner {
    display: grid !important;
    grid-template-columns: .95fr 1.05fr !important;
    column-gap: 4px !important;
    align-items: center !important;
    min-height: 118px !important;
  }

  .radar-wrap img {
    width: 140px !important;
  }
}


/* v29：外链与核心标签移除后的样式修正 */
a.cta,
a.feature-card,
a.service-item {
  text-decoration: none;
}

/* 去掉“核心”两个字后，标题行保持自然对齐 */
.feature-title-line {
  gap: 0 !important;
}

/* 成长总览在单独一行时：雷达图左，综合成长指数右 */
@media (max-width: 374px) {
  .growth-card {
    min-height: 176px !important;
    padding: 14px 12px 12px !important;
  }

  .growth-inner {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    align-items: center !important;
    column-gap: 8px !important;
    min-height: 116px !important;
    margin-top: 8px !important;
  }

  .radar-wrap {
    width: 100% !important;
    justify-content: center !important;
  }

  .radar-wrap img {
    width: 142px !important;
    max-width: 100% !important;
    margin: 0 auto !important;
  }

  .score-wrap {
    margin: 0 auto !important;
    align-self: center !important;
  }

  .score-wrap strong {
    font-size: 36px !important;
  }
}


/* v30：针对真机反馈的三处问题做最终覆盖修复
   1）外链 a 标签文字下划线彻底清除
   2）成长总览单行时内部固定左右布局
   3）导师咨询文案与预约按钮彻底分栏，避免重叠 */

/* 1. 外链下划线修复：a 标签的 text-decoration 会传递给内部文本，必须同时清理父级和子级 */
a.external-link,
a.external-link:link,
a.external-link:visited,
a.external-link:hover,
a.external-link:active,
a.cta,
a.feature-card,
a.service-item,
a.recommend-item,
a.external-link *,
a.cta *,
a.feature-card *,
a.service-item *,
a.recommend-item * {
  text-decoration: none !important;
  -webkit-text-decoration-line: none !important;
  text-decoration-line: none !important;
}

a.feature-card {
  display: block !important;
  color: inherit !important;
}

a.service-item,
a.cta,
a.recommend-item {
  color: inherit !important;
}

/* 2. 真机宽度下成长总览/精选内容通常已经是上下排列；
      这时成长总览内部必须左雷达图、右指数，不能再竖向堆叠 */
@media (max-width: 430px) {
  .dashboard {
    grid-template-columns: 1fr !important;
  }

  .growth-card {
    min-height: 208px !important;
    padding: 16px 14px 14px !important;
  }

  .growth-inner {
    display: grid !important;
    grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr) !important;
    align-items: center !important;
    column-gap: 8px !important;
    min-height: 142px !important;
    margin-top: 8px !important;
  }

  .radar-wrap {
    width: 100% !important;
    min-width: 0 !important;
    display: flex !important;
    justify-content: center !important;
  }

  .radar-wrap img {
    width: 174px !important;
    max-width: 100% !important;
    margin: 0 auto !important;
  }

  .score-wrap {
    min-width: 0 !important;
    margin: 0 auto !important;
    align-self: center !important;
    justify-content: center !important;
    column-gap: 5px !important;
  }

  .score-wrap span {
    font-size: 13px !important;
  }

  .score-wrap strong {
    font-size: 48px !important;
  }

  .score-wrap em {
    font-size: 11px !important;
  }

  .stars {
    font-size: 12px !important;
    margin: 3px 0 !important;
  }

  .data-btn {
    height: 28px !important;
    padding: 0 12px !important;
    font-size: 10px !important;
  }
}

/* 3. 一对一导师咨询：头像缩小、按钮列固定，中间文案只在自己的列内省略 */
.mentor-card {
  display: grid !important;
  grid-template-columns: 68px minmax(0, 1fr) 94px !important;
  gap: 7px !important;
  height: 104px !important;
  padding: 0 10px !important;
  align-items: center !important;
  overflow: hidden !important;
}

.mentor-avatar {
  width: 68px !important;
  height: 86px !important;
  min-width: 68px !important;
}

.mentor-avatar img {
  width: 60px !important;
  height: 78px !important;
  object-fit: cover !important;
  object-position: top center !important;
}

.mentor-avatar span {
  left: 0 !important;
  bottom: 3px !important;
  height: 20px !important;
  padding: 0 8px !important;
  line-height: 20px !important;
  font-size: 9px !important;
  white-space: nowrap !important;
}

.mentor-copy {
  min-width: 0 !important;
  width: 100% !important;
  overflow: hidden !important;
  padding-right: 0 !important;
}

.mentor-copy h2 {
  margin: 0 !important;
  font-size: 18px !important;
  line-height: 1.15 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.mentor-copy p {
  width: 100% !important;
  max-width: 100% !important;
  margin: 6px 0 8px !important;
  font-size: 11px !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.mentor-tags {
  max-width: 100% !important;
  min-width: 0 !important;
  gap: 5px !important;
  overflow: hidden !important;
  flex-wrap: nowrap !important;
  font-size: 8.5px !important;
}

.mentor-tags span {
  flex: 0 0 auto !important;
  white-space: nowrap !important;
}

.mentor-action {
  width: 94px !important;
  min-width: 94px !important;
  max-width: 94px !important;
  align-items: stretch !important;
  justify-content: center !important;
  gap: 6px !important;
  overflow: hidden !important;
}

.book-btn {
  width: 94px !important;
  min-width: 94px !important;
  height: 38px !important;
  font-size: 14px !important;
  line-height: 1 !important;
  border-radius: 13px !important;
  padding: 0 !important;
}

.mentor-action small {
  display: block !important;
  width: 94px !important;
  max-width: 94px !important;
  font-size: 8.5px !important;
  line-height: 1.2 !important;
  text-align: right !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: clip !important;
}

/* 极窄屏再进一步压缩，优先保证不重叠 */
@media (max-width: 374px) {
  .radar-wrap img {
    width: 154px !important;
  }

  .score-wrap strong {
    font-size: 42px !important;
  }

  .mentor-card {
    grid-template-columns: 58px minmax(0, 1fr) 88px !important;
    gap: 5px !important;
    padding: 0 8px !important;
  }

  .mentor-avatar {
    width: 58px !important;
    min-width: 58px !important;
  }

  .mentor-avatar img {
    width: 54px !important;
    height: 72px !important;
  }

  .mentor-copy h2 {
    font-size: 16px !important;
  }

  .mentor-copy p {
    font-size: 10px !important;
  }

  .mentor-tags {
    gap: 4px !important;
    font-size: 8px !important;
  }

  .mentor-action,
  .mentor-action small,
  .book-btn {
    width: 88px !important;
    min-width: 88px !important;
    max-width: 88px !important;
  }

  .book-btn {
    font-size: 13px !important;
  }
}


/* v31：字体尺寸精准修正
   1）成长状态总览单独一行时，综合成长指数与分数恢复为原左右两列时的大小
   2）首页主标题改为 22px */
.hero-title,
.hero-copy h1,
.hero-content h1 {
  font-size: 22px !important;
}

/* 当前项目首页主标题实际为 hero h1 / slogan h1 时，也统一限制 */
.hero h1,
.hero-section h1,
.hero-text h1,
.main-title {
  font-size: 22px !important;
}

/* 覆盖 v30 中 max-width:430 下把分数放大的规则 */
@media (max-width: 430px) {
  .score-wrap span {
    font-size: 11px !important;
  }

  .score-wrap strong {
    font-size: 34px !important;
  }

  .score-wrap em {
    font-size: 9px !important;
  }

  .stars {
    font-size: 11px !important;
    margin: 2px 0 !important;
  }

  .data-btn {
    height: 24px !important;
    padding: 0 8px !important;
    font-size: 9px !important;
  }
}

/* 极窄屏也保持同一套字号，不再额外放大 */
@media (max-width: 374px) {
  .score-wrap strong {
    font-size: 34px !important;
  }

  .score-wrap span {
    font-size: 11px !important;
  }

  .score-wrap em {
    font-size: 9px !important;
  }
}


/* v32：只修复用户指定的两处，不改其它模块
   1）恢复“身心脑平衡术 / 5321赋能体系”为同一行两列
   2）基因密码 / 情智解码卡片标题缩小 1px */

/* 避免旧的 max-width 规则把两张体系卡改成上下两行 */
.system-feature-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

/* 两列时略微收紧内部，防止小屏仍被挤成两行 */
.system-feature {
  min-width: 0 !important;
}

.system-feature b {
  font-size: 14px !important;
}

/* 基因密码、情智解码两张大卡标题缩小 1px */
.feature-card .feature-title-line h2 {
  font-size: calc(var(--feature-title-size, 22px) - 1px) !important;
}

/* 如果部分浏览器不支持 calc + var，给出固定兜底 */
.gene-card .feature-title-line h2,
.mind-card .feature-title-line h2 {
  font-size: 21px !important;
}

/* 极窄屏仍保持两列，但进一步压缩体系卡文字，避免换行 */
@media (max-width: 374px) {
  .system-feature-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 7px !important;
  }

  .system-feature {
    min-height: 118px !important;
    padding: 12px 9px !important;
  }

  .system-feature b {
    font-size: 13px !important;
  }

  .system-feature span {
    font-size: 9.5px !important;
  }

  .gene-card .feature-title-line h2,
  .mind-card .feature-title-line h2 {
    font-size: 20px !important;
  }
}

/* v34：智脑觉醒首页重组
   按“情智源体系 → 脑力测评 → 基因解码 → 腹部情志解码 → 导师咨询 → 案例笔记 → 精选内容”重排，
   保持当前蓝金轻量风格，不做简单列表堆叠。 */
.hero h1,
.hero-copy h1,
.hero-title,
.hero-content h1 {
  max-width: 59% !important;
  font-size: 22px !important;
  white-space: nowrap !important;
}

.hero p {
  max-width: 62% !important;
  font-size: 12px !important;
  letter-spacing: .4px !important;
}

.hero-actions {
  margin-top: 50px !important;
}

.gene-card .feature-title-line h2,
.mind-card .feature-title-line h2,
.feature-card .feature-title-line h2 {
  font-size: 20px !important;
}

.section-system-first {
  margin-top: 8px !important;
}

.journey-panel,
.case-panel,
.content-hub {
  position: relative;
  z-index: 5;
  margin-top: 13px;
  padding: 15px 12px 16px;
  border-radius: 20px;
}

.journey-panel {
  overflow: hidden;
  background:
    radial-gradient(circle at 90% 8%, rgba(244, 191, 50, .2), transparent 32%),
    linear-gradient(145deg, rgba(255,255,255,.9), rgba(239,247,255,.82));
}

.journey-panel::before {
  content: "";
  position: absolute;
  left: -58px;
  bottom: -46px;
  width: 138px;
  height: 138px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(101,175,255,.2), transparent 64%);
  pointer-events: none;
}

.journey-intro {
  position: relative;
  z-index: 1;
  margin: 10px 0 10px;
  color: #4b6385;
  font-size: 12px;
  line-height: 1.58;
}

.journey-flow {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: auto 1fr auto 1fr auto;
  align-items: center;
  gap: 7px;
  margin: 8px 2px 12px;
}

.journey-flow span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 50px;
  height: 24px;
  border: 1px solid rgba(226, 174, 68, .42);
  border-radius: 999px;
  color: #8a570b;
  font-size: 10px;
  font-weight: 900;
  background: rgba(255, 247, 221, .82);
}

.journey-flow i {
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(83,111,179,.12), rgba(244,191,50,.62), rgba(83,111,179,.12));
}

.journey-cards {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 10px;
}

.journey-card {
  width: 100%;
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr) 70px;
  align-items: center;
  gap: 9px;
  min-height: 92px;
  padding: 11px 10px;
  border: 1px solid #dbeaf8;
  border-radius: 17px;
  color: #12305f;
  text-align: left;
  text-decoration: none !important;
  background: rgba(255,255,255,.78);
  box-shadow: 0 8px 18px rgba(65,105,158,.08);
}

.journey-blue {
  background:
    radial-gradient(circle at 94% 12%, rgba(79,145,235,.14), transparent 36%),
    linear-gradient(135deg, rgba(255,255,255,.9), rgba(236,247,255,.86));
}

.journey-gene {
  background:
    radial-gradient(circle at 94% 12%, rgba(97, 171, 255, .16), transparent 36%),
    linear-gradient(135deg, rgba(255,255,255,.92), rgba(239,250,255,.86));
}

.journey-gold {
  border-color: rgba(226, 174, 68, .42);
  background:
    radial-gradient(circle at 94% 12%, rgba(244,191,50,.2), transparent 36%),
    linear-gradient(135deg, #fffdf8, #fff2d6);
}

.journey-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 54px;
  height: 54px;
  border-radius: 18px;
  background: rgba(255,255,255,.75);
  box-shadow: inset 0 0 0 1px rgba(211, 229, 248, .78), 0 8px 13px rgba(47,93,160,.08);
}

.journey-icon img {
  width: 38px;
  height: 38px;
  object-fit: contain;
}

.journey-copy {
  min-width: 0;
}

.journey-copy em {
  display: block;
  color: #8396b2;
  font-size: 8.5px;
  font-style: normal;
  font-weight: 900;
  letter-spacing: .55px;
}

.journey-copy b {
  display: block;
  margin: 4px 0 4px;
  color: #102f61;
  font-size: 17px;
  line-height: 1.08;
  font-weight: 900;
  white-space: nowrap;
}

.journey-gold .journey-copy b {
  color: #8a570b;
}

.journey-copy span {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  color: #607795;
  font-size: 10.5px;
  line-height: 1.35;
}

.journey-card > strong {
  justify-self: end;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 66px;
  height: 28px;
  border-radius: 999px;
  color: #fff;
  font-size: 10px;
  line-height: 1;
  font-weight: 900;
  white-space: nowrap;
  background: linear-gradient(135deg, #65afff, #2d67d1);
  box-shadow: 0 8px 14px rgba(45,103,209,.14);
}

.journey-gene > strong {
  background: linear-gradient(135deg, #78c5ff, #536fb3);
}

.journey-gold > strong {
  color: #8a570b;
  background: linear-gradient(135deg, #fff2c4, #ffd579);
  box-shadow: 0 8px 14px rgba(193,138,37,.12);
}

.case-panel {
  background:
    radial-gradient(circle at 88% 0%, rgba(101,175,255,.14), transparent 28%),
    rgba(255,255,255,.84);
}

.case-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 9px;
  margin-top: 10px;
}

.case-note {
  position: relative;
  min-height: 78px;
  padding: 12px 13px 11px 76px;
  border: 1px solid #e3eef9;
  border-radius: 15px;
  overflow: hidden;
  background: linear-gradient(135deg, rgba(255,255,255,.92), rgba(242,248,255,.75));
}

.case-note::before {
  content: "";
  position: absolute;
  left: 14px;
  top: 17px;
  width: 42px;
  height: 42px;
  border-radius: 16px;
  background: radial-gradient(circle at 35% 28%, #fff, #fff1c9 58%, #f2be3c 100%);
  box-shadow: 0 8px 14px rgba(207, 148, 24, .12);
}

.case-note span {
  position: absolute;
  left: 10px;
  top: 29px;
  width: 50px;
  color: #8a570b;
  font-size: 9px;
  line-height: 1;
  font-weight: 900;
  text-align: center;
  z-index: 1;
}

.case-note b {
  display: block;
  color: #12305f;
  font-size: 14px;
  line-height: 1.25;
  font-weight: 900;
}

.case-note p {
  margin: 5px 0 0;
  color: #657895;
  font-size: 10.5px;
  line-height: 1.35;
}

.content-hub {
  margin-bottom: 4px;
  background:
    radial-gradient(circle at 12% 0%, rgba(244,191,50,.16), transparent 30%),
    linear-gradient(145deg, rgba(255,255,255,.88), rgba(239,247,255,.78));
}

.audio-list {
  display: grid;
  gap: 9px;
  margin-top: 10px;
}

.audio-card {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr) 34px;
  align-items: center;
  gap: 10px;
  min-height: 72px;
  padding: 8px 9px;
  border: 1px solid #e2edf9;
  border-radius: 15px;
  background: rgba(255,255,255,.78);
}

.audio-card img {
  width: 64px;
  height: 54px;
  border-radius: 12px;
  object-fit: cover;
}

.audio-info {
  min-width: 0;
}

.audio-info em {
  display: inline-flex;
  align-items: center;
  height: 18px;
  padding: 0 8px;
  border-radius: 999px;
  color: #8a570b;
  font-size: 9px;
  font-style: normal;
  font-weight: 900;
  background: #fff2cf;
}

.audio-info b {
  display: block;
  overflow: hidden;
  margin: 4px 0 2px;
  color: #12305f;
  font-size: 13px;
  line-height: 1.18;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.audio-info span {
  display: block;
  color: #6d829f;
  font-size: 9px;
}

.audio-wave {
  display: flex;
  align-items: end;
  gap: 3px;
  height: 12px;
  margin-top: 3px;
}

.audio-wave i {
  display: block;
  width: 3px;
  border-radius: 999px;
  background: linear-gradient(180deg, #65afff, #ffd579);
}

.audio-wave i:nth-child(1) { height: 5px; }
.audio-wave i:nth-child(2) { height: 9px; }
.audio-wave i:nth-child(3) { height: 12px; }
.audio-wave i:nth-child(4) { height: 7px; }
.audio-wave i:nth-child(5) { height: 10px; }

.audio-card button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  color: #8a570b;
  font-size: 13px;
  font-weight: 900;
  background: linear-gradient(135deg, #fff3c8, #ffd579);
  box-shadow: 0 8px 14px rgba(193,138,37,.12);
}

.building-toast {
  position: fixed;
  left: 50%;
  bottom: 104px;
  z-index: 999;
  transform: translate(-50%, 18px);
  opacity: 0;
  pointer-events: none;
  min-width: 154px;
  padding: 11px 16px;
  border-radius: 999px;
  color: #fff;
  font-size: 13px;
  font-weight: 800;
  text-align: center;
  background: rgba(18, 48, 95, .92);
  box-shadow: 0 12px 26px rgba(18,48,95,.18);
  transition: opacity .22s ease, transform .22s ease;
}

.building-toast.show {
  opacity: 1;
  transform: translate(-50%, 0);
}

@media (max-width: 374px) {
  .hero h1,
  .hero-copy h1 {
    max-width: 61% !important;
    font-size: 20px !important;
  }

  .hero p {
    max-width: 62% !important;
    font-size: 11px !important;
  }

  .journey-card {
    grid-template-columns: 48px minmax(0, 1fr) 60px;
    gap: 7px;
    padding: 10px 8px;
  }

  .journey-icon {
    width: 48px;
    height: 48px;
    border-radius: 16px;
  }

  .journey-icon img {
    width: 34px;
    height: 34px;
  }

  .journey-card > strong {
    width: 58px;
    font-size: 9px;
  }

  .journey-copy b {
    font-size: 16px;
  }

  .journey-copy span {
    font-size: 10px;
  }

  .audio-card {
    grid-template-columns: 58px minmax(0, 1fr) 32px;
    gap: 8px;
  }

  .audio-card img {
    width: 58px;
  }
}

/* v40_shop_path_final: based on user uploaded style(63).css
   - 首页不直接使用宣传海报/真实案例截图作为图标
   - 情智源体系去价格，恢复蓝色/粉色大脑 IP
   - 商城入口修复排版，不再挤压错位
   - 减少圆角矩形堆叠，使用线性/能量轴/图标化结构 */
.system-panel-neo {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 84% 18%, rgba(244,191,50,.14), transparent 18%),
    linear-gradient(180deg, #f8fbff 0%, #eef5ff 100%) !important;
}
.system-intro-neo {
  padding-right: 88px !important;
}
.brand-ip-group-neo {
  top: 12px !important;
  right: 8px !important;
  width: 106px !important;
  height: 74px !important;
  opacity: .95 !important;
  z-index: 1 !important;
}
.brand-ip-group-neo .ip-blue,
.brand-ip-group-neo .ip-pink {
  width: 32px !important;
}
.brand-ip-group-neo .ip-blue { left: 16px !important; top: 12px !important; }
.brand-ip-group-neo .ip-pink { right: 4px !important; top: 2px !important; }
.system-neo-head {
  position: relative;
  z-index: 2;
  margin-top: 10px;
  padding: 10px 0 12px;
}
.system-neo-head::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1px;
  background: linear-gradient(90deg, rgba(83,111,179,.14), rgba(83,111,179,.6), rgba(83,111,179,.08));
}
.system-neo-head span {
  display: inline-block;
  color: #9a6d16;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .8px;
}
.system-neo-head h3 {
  margin: 6px 0 4px;
  color: #12305f;
  font-size: 25px;
  line-height: 1.08;
}
.system-neo-head p {
  margin: 0;
  color: #536fb3;
  font-size: 11px;
  line-height: 1.55;
  font-weight: 800;
}
.system-neo-list {
  position: relative;
  z-index: 2;
  margin-top: 10px;
}
.system-neo-item {
  display: grid;
  grid-template-columns: 30px minmax(0,1fr);
  gap: 10px;
  align-items: start;
  padding: 10px 0;
  border-bottom: 1px dashed rgba(124, 152, 201, .42);
  background: transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
.system-neo-item:last-child { border-bottom: 0; }
.system-neo-item em {
  width: 28px;
  height: 28px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 15px;
  line-height: 1;
  font-style: normal;
  font-weight: 900;
  box-shadow: 0 10px 18px rgba(18,48,95,.10);
}
.system-neo-item.item-five em { background: linear-gradient(135deg, #5e8cff, #355fc7); }
.system-neo-item.item-three em { background: linear-gradient(135deg, #8a77ff, #536fb3); }
.system-neo-item.item-two em { background: linear-gradient(135deg, #ffc44d, #d79a17); }
.system-neo-item.item-one em { background: linear-gradient(135deg, #7dc8e9, #4fa3d1); }
.system-neo-item b {
  display: block;
  color: #18376d;
  font-size: 14px;
  line-height: 1.25;
}
.system-neo-item span {
  display: block;
  margin-top: 4px;
  color: #5f7798;
  font-size: 11px;
  line-height: 1.6;
}
.system-neo-tags {
  position: relative;
  z-index: 2;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 10px;
}
.system-neo-tags span {
  padding: 4px 0;
  color: #557195;
  font-size: 11px;
  font-weight: 800;
}
.system-neo-tags span::before {
  content: "◆";
  margin-right: 4px;
  color: #f0b320;
  font-size: 10px;
}
.shop-entry-clean {
  appearance: none;
  width: 100%;
  display: grid !important;
  grid-template-columns: 74px minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  min-height: 56px;
  margin-top: 8px;
  padding: 10px 12px;
  border: 0 !important;
  border-top: 1px solid rgba(224,173,67,.42) !important;
  border-radius: 0 !important;
  background: linear-gradient(90deg, rgba(255,245,206,.94), rgba(255,255,255,.24)) !important;
  box-shadow: none !important;
  text-align: left;
}
.shop-entry-clean strong {
  display: block;
  color: #8a570b;
  font-size: 18px !important;
  line-height: 1 !important;
  white-space: nowrap;
}
.shop-entry-clean span {
  display: block;
  min-width: 0;
  color: #8e6414;
  font-size: 11px;
  line-height: 1.45;
}
.shop-entry-clean em {
  color: #9a6d16;
  font-size: 13px;
  font-style: normal;
  font-weight: 900;
  white-space: nowrap;
}
.case-panel-neo {
  background: linear-gradient(180deg, #fbfdff 0%, #f4f9ff 100%) !important;
}
.case-grid-abstract {
  gap: 10px;
}
.case-note-abstract {
  display: grid !important;
  grid-template-columns: 68px minmax(0,1fr);
  gap: 12px;
  align-items: center;
  min-height: auto;
  padding: 12px 2px 12px 0 !important;
  border: 0 !important;
  border-bottom: 1px dashed rgba(124,152,201,.38) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.case-note-abstract:last-child { border-bottom: 0 !important; }
.case-note-abstract::before { display: none !important; }
.case-icon-badge {
  width: 62px;
  height: 62px;
  border-radius: 18px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: #fff;
  box-shadow: 0 12px 22px rgba(49,94,168,.14);
}
.note-heal .case-icon-badge { background: linear-gradient(135deg, #688ef0, #4f6ec6); }
.note-vision .case-icon-badge { background: linear-gradient(135deg, #f0b742, #d18f11); }
.note-sleep .case-icon-badge { background: linear-gradient(135deg, #6cb6d8, #4f8ec6); }
.case-icon-badge em {
  font-style: normal;
  font-size: 24px;
  line-height: 1;
  font-weight: 900;
}
.case-icon-badge span {
  margin-top: 5px;
  color: rgba(255,255,255,.92);
  font-size: 10px;
  font-weight: 800;
}
.case-grid-abstract .case-copy span {
  position: static;
  display: inline-flex;
  width: auto;
  padding: 4px 8px;
  border-radius: 999px;
  color: #8a570b;
  font-size: 9px;
  background: #fff2cf;
}
.case-grid-abstract .case-copy b {
  display: block;
  margin-top: 8px;
  color: #1c3870;
  font-size: 16px;
  line-height: 1.32;
}
.case-grid-abstract .case-copy p {
  margin-top: 6px;
  color: #5f7798;
  font-size: 11px;
  line-height: 1.55;
}
@media (max-width: 374px) {
  .system-intro-neo { padding-right: 78px !important; }
  .brand-ip-group-neo { width: 94px !important; }
  .system-neo-head h3 { font-size: 22px; }
  .shop-entry-clean { grid-template-columns: 60px minmax(0,1fr); }
  .shop-entry-clean em { grid-column: 2; }
  .case-note-abstract { grid-template-columns: 62px minmax(0,1fr); gap: 10px; }
  .case-icon-badge { width: 58px; height: 58px; }
}


/* v37: link cleanup + system icon replacement + content-related case icons */
a,
a:link,
a:visited,
a:hover,
a:active,
a *,
.audio-card,
.audio-card *,
.case-note,
.case-note *,
.recommend-head a,
.article-link,
.article-link * {
  text-decoration: none !important;
  -webkit-text-decoration-line: none !important;
  text-decoration-line: none !important;
}
.system-neo-item em {
  background: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  overflow: visible !important;
}
.system-neo-item em img {
  width: 34px;
  height: 34px;
  object-fit: contain;
  filter: drop-shadow(0 8px 12px rgba(45, 93, 166, .16));
}
.system-neo-item {
  grid-template-columns: 38px minmax(0, 1fr) !important;
}
.case-icon-badge {
  background: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}
.case-icon-badge img {
  width: 62px;
  height: 62px;
  display: block;
}
.case-grid-abstract .case-copy b,
.case-grid-abstract .case-copy p {
  text-decoration: none !important;
}
@media (max-width: 374px) {
  .system-neo-item em img { width: 32px; height: 32px; }
  .case-icon-badge img { width: 56px; height: 56px; }
}


/* v38: shop link + uploaded system girl + hero child replacement */
.brand-ip-group-neo {
  right: 16px !important;
  top: 8px !important;
  width: 78px !important;
  height: 88px !important;
  z-index: 2 !important;
  opacity: 1 !important;
}
.brand-ip-group-neo .ip-blue,
.brand-ip-group-neo .ip-pink {
  display: none !important;
}
.system-girl-crown {
  position: absolute;
  right: 0;
  top: 0;
  width: 68px;
  height: auto;
  object-fit: contain;
  filter: drop-shadow(0 10px 16px rgba(69, 89, 132, .16));
  animation: ipFloat 3.4s ease-in-out infinite;
}
.system-panel-neo::after {
  content: "";
  position: absolute;
  right: -18px;
  top: 38px;
  width: 118px;
  height: 118px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(244,191,50,.18), transparent 68%);
  pointer-events: none;
}
.shop-entry-clean {
  color: #8a570b !important;
  text-decoration: none !important;
}
.shop-entry-clean,
.shop-entry-clean * {
  text-decoration: none !important;
  -webkit-text-decoration-line: none !important;
  text-decoration-line: none !important;
}
.hero-child {
  object-fit: contain !important;
  object-position: center top !important;
  mix-blend-mode: normal !important;
  opacity: 1 !important;
  border-radius: 0 !important;
}
@media (max-width: 374px) {
  .brand-ip-group-neo {
    width: 68px !important;
    right: 12px !important;
  }
  .system-girl-crown { width: 60px; }
}


/* v40：路径卡片统一 + 商城入口按子轩堂图标重排 */
.journey-gold {
  border-color: #dbeaf8 !important;
  background:
    radial-gradient(circle at 94% 12%, rgba(97, 171, 255, .16), transparent 36%),
    linear-gradient(135deg, rgba(255,255,255,.92), rgba(239,250,255,.86)) !important;
}
.journey-gold .journey-copy b {
  color: #102f61 !important;
}
.journey-gold > strong {
  color: #fff !important;
  background: linear-gradient(135deg, #78c5ff, #536fb3) !important;
  box-shadow: 0 8px 14px rgba(83,111,179,.14) !important;
}
.shop-entry-card {
  width: 100% !important;
  display: grid !important;
  grid-template-columns: 78px minmax(0, 1fr) auto !important;
  gap: 14px !important;
  align-items: center !important;
  min-height: 116px !important;
  margin-top: 14px !important;
  padding: 16px 16px !important;
  border: 1px solid #dbeaf8 !important;
  border-radius: 24px !important;
  background:
    radial-gradient(circle at 2% 10%, rgba(244,191,50,.14), transparent 34%),
    linear-gradient(135deg, rgba(255,255,255,.96), rgba(245,250,255,.92)) !important;
  box-shadow: 0 12px 28px rgba(65,105,158,.08) !important;
  color: #12305f !important;
  text-align: left !important;
}
.shop-entry-card .shop-logo-wrap {
  width: 76px;
  height: 76px;
  border-radius: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  box-shadow: 0 12px 22px rgba(18,48,95,.08);
}
.shop-entry-card .shop-logo {
  width: 58px;
  height: 58px;
  object-fit: contain;
}
.shop-entry-card .shop-copy {
  min-width: 0;
}
.shop-entry-card .shop-copy strong {
  display: block;
  color: #102f61 !important;
  font-size: 22px !important;
  line-height: 1.08 !important;
  font-weight: 900 !important;
  white-space: nowrap;
}
.shop-entry-card .shop-copy span {
  display: block;
  margin-top: 7px;
  color: #5f7798 !important;
  font-size: 13px !important;
  line-height: 1.42 !important;
}
.shop-entry-card .shop-tags {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 10px;
  flex-wrap: wrap;
}
.shop-entry-card .shop-tags i {
  color: #315c9e;
  font-size: 13px;
  line-height: 1;
  font-style: normal;
  font-weight: 900;
  border-bottom: 1px solid rgba(49,92,158,.18);
}
.shop-entry-card em {
  justify-self: end;
  color: #8a570b !important;
  font-size: 18px !important;
  line-height: 1 !important;
  font-style: normal !important;
  font-weight: 900 !important;
  white-space: nowrap !important;
}
@media (max-width: 374px) {
  .shop-entry-card {
    grid-template-columns: 64px minmax(0, 1fr) !important;
    gap: 12px !important;
    min-height: 108px !important;
    padding: 14px !important;
  }
  .shop-entry-card .shop-logo-wrap { width: 64px; height: 64px; border-radius: 20px; }
  .shop-entry-card .shop-logo { width: 50px; height: 50px; }
  .shop-entry-card em { grid-column: 2; justify-self: start; margin-top: 6px; font-size: 15px !important; }
}

/* v40 shop-only: use 11.zip 商城入口内容与扁平样式，保留商城跳转链接 */
.shop-entry-band {
  width: 100% !important;
  display: grid !important;
  grid-template-columns: 58px minmax(0, 1fr) auto !important;
  gap: 12px !important;
  align-items: center !important;
  margin-top: 13px !important;
  padding: 15px 14px !important;
  border: 1px solid rgba(222,235,248,.92) !important;
  border-radius: 18px !important;
  background: linear-gradient(135deg,#fff9ec,#f4f9ff) !important;
  box-shadow: 0 12px 24px rgba(77,114,170,.10) !important;
  color: inherit !important;
  text-align: left !important;
  text-decoration: none !important;
  appearance: none !important;
}
.shop-entry-band,
.shop-entry-band * {
  text-decoration: none !important;
  -webkit-text-decoration-line: none !important;
  text-decoration-line: none !important;
}
.shop-entry-band .shop-logo-wrap {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 58px !important;
  height: 58px !important;
  border-radius: 18px !important;
  background: #fff !important;
  box-shadow: 0 10px 22px rgba(61,104,171,.08) !important;
}
.shop-entry-band .shop-logo-wrap img {
  width: 44px !important;
  height: 44px !important;
  object-fit: contain !important;
}
.shop-entry-band .shop-content { min-width: 0 !important; }
.shop-entry-band .shop-content strong {
  display: block !important;
  color: #12305f !important;
  font-size: 18px !important;
  line-height: 1.1 !important;
  font-weight: 900 !important;
}
.shop-entry-band .shop-content span {
  display: block !important;
  margin-top: 4px !important;
  color: #607795 !important;
  font-size: 11px !important;
  line-height: 1.45 !important;
}
.shop-entry-band .shop-tags {
  display: flex !important;
  gap: 6px !important;
  flex-wrap: wrap !important;
  margin-top: 8px !important;
}
.shop-entry-band .shop-tags em {
  font-style: normal !important;
  color: #4c6690 !important;
  font-size: 9px !important;
  font-weight: 800 !important;
  padding-bottom: 2px !important;
  border-bottom: 1px dashed rgba(83,111,179,.24) !important;
}
.shop-entry-band > i {
  color: #8a570b !important;
  font-size: 12px !important;
  font-style: normal !important;
  font-weight: 900 !important;
  white-space: nowrap !important;
}
@media (max-width: 374px) {
  .shop-entry-band {
    grid-template-columns: 48px minmax(0, 1fr) auto !important;
    gap: 8px !important;
  }
  .shop-entry-band .shop-logo-wrap {
    width: 48px !important;
    height: 48px !important;
    border-radius: 16px !important;
  }
  .shop-entry-band .shop-logo-wrap img {
    width: 38px !important;
    height: 38px !important;
  }
}
.nav-item{border:0;background:none;text-decoration:none;cursor:pointer}

/* v0.3.0 动态案例 */
.case-cover-badge{overflow:hidden;background:#fff}.case-cover-badge img{width:100%;height:100%;object-fit:cover}.case-note-empty{display:block;cursor:default}


/* v0.3.11 homepage: collapsed 5321 and mentor entrance */
.header-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  flex:0 0 auto;
}
.mentor-login-pill{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  gap:4px;
  height:36px;
  margin-top:4px;
  padding:0 13px;
  border-radius:18px;
  color:#fff;
  font-size:14px;
  font-weight:900;
  white-space:nowrap;
  background:linear-gradient(135deg,#5e7fd0,#c69b28);
  box-shadow:0 10px 20px rgba(58,83,150,.18);
}
.mentor-login-pill em{
  font-style:normal;
  font-size:18px;
  color:#fff;
}
.cta-mentor{
  min-width:152px;
  color:#fff;
  border:1px solid rgba(255,255,255,.65);
  background:linear-gradient(135deg,#3f5f9f 0%,#c39a2d 100%);
}
.cta-mentor img{width:28px;height:28px;object-fit:contain;filter:brightness(0) invert(1);}
.system-toggle{
  position:relative;
  z-index:3;
  width:100%;
  height:42px;
  margin:10px 0 2px;
  border-radius:14px;
  background:linear-gradient(135deg,#edf4ff,#fff9e5);
  border:1px solid rgba(111,143,212,.28);
  color:#244981;
  font-weight:900;
  box-shadow:0 10px 22px rgba(80,108,173,.08);
}
.system-panel.is-collapsed .system-neo-list,
.system-panel.is-collapsed .system-neo-tags{
  display:none !important;
}
.system-panel.is-collapsed{
  padding-bottom:12px;
}
@media(max-width:720px){
  .app-header{align-items:flex-start;}
  .brand-logo{max-width:calc(100% - 132px);}
  .header-actions{flex-direction:column;gap:5px;align-items:flex-end;}
  .mentor-login-pill,.archive-pill{height:32px;margin-top:0;padding:0 10px;font-size:12px;}
  .hero-actions{width:100%;max-width:100%;display:grid;grid-template-columns:1fr 1fr;gap:9px;}
  .hero-actions .cta-mentor{grid-column:1 / -1;height:52px;}
  .cta{min-width:0;height:58px;}
}


/* v0.3.12 homepage refine */
.mentor-login-top{
  color:#fff !important;
  border-color:rgba(255,255,255,.7) !important;
  background:linear-gradient(135deg,#627fc8,#b99935) !important;
}
.mentor-login-top img{
  width:18px;
  height:18px;
  object-fit:contain;
  filter:brightness(0) invert(1);
}
.mentor-login-top em{color:#fff !important;}
.system-title-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  min-width:0;
}
.system-title-row h3{
  flex:1 1 auto;
  min-width:0;
  margin:0 !important;
}
.system-title-row .system-toggle{
  flex:0 0 auto;
}
.system-toggle{
  width:auto !important;
  min-width:58px;
  height:30px !important;
  margin:0 !important;
  padding:0 12px;
  border-radius:999px !important;
  background:linear-gradient(135deg,#eef5ff,#fff5d6) !important;
  border:1px solid rgba(111,143,212,.30) !important;
  color:#244981 !important;
  font-size:13px;
  font-weight:900;
  box-shadow:none !important;
}
.system-panel.is-collapsed .system-neo-list,
.system-panel.is-collapsed .system-neo-tags{
  display:none !important;
}
@media(max-width:720px){
  .brand-logo{max-width:calc(100% - 108px) !important;}
  .archive-pill.mentor-login-top{height:32px;margin-top:4px;padding:0 10px;font-size:12px;}
  .hero-actions{width:330px;max-width:82%;display:flex !important;grid-template-columns:none !important;gap:12px;}
  .hero-actions .cta{height:66px;}
  .system-title-row{gap:8px;}
  .system-toggle{height:28px !important;min-width:52px;padding:0 10px;font-size:12px;}
}


/* v0.3.13：首页 5321 体系精简合并 + 家长服务双入口 */
.system-panel-compact {
  padding: 0 !important;
}

.system-panel-compact .system-compact-head {
  position: relative;
  z-index: 2;
  min-height: 112px;
  padding: 15px 104px 14px 14px;
}

.system-panel-compact .system-compact-en {
  display: block;
  color: #9a6d16;
  font-size: 9px;
  line-height: 1;
  font-weight: 900;
  letter-spacing: .9px;
}

.system-panel-compact .system-compact-title {
  margin-top: 5px;
}

.system-panel-compact .system-compact-title h2 {
  color: #12305f;
  font-size: 20px;
  line-height: 1.25;
  white-space: nowrap;
}

.system-panel-compact .system-compact-title i {
  width: 24px;
}

.system-panel-compact .system-compact-head > p {
  margin: 8px 0 0;
  color: #536f9b;
  font-size: 10px;
  line-height: 1.55;
  font-weight: 700;
}

.system-panel-compact .brand-ip-group-neo {
  top: 8px !important;
  right: 17px !important;
  width: 74px !important;
  height: 76px !important;
}

.system-panel-compact .system-girl-crown {
  right: 1px;
  width: 64px;
}

.system-panel-compact .system-toggle {
  position: absolute !important;
  right: 16px;
  bottom: 12px;
  z-index: 4;
}

.system-panel-compact .system-neo-list {
  margin: 0 14px;
  padding-top: 7px;
  border-top: 1px solid rgba(83, 111, 179, .16);
}

.system-panel-compact .system-neo-tags {
  margin: 4px 14px 14px;
}

.system-panel-compact.is-collapsed {
  padding-bottom: 0 !important;
}

.parent-service-panel {
  position: relative;
  z-index: 5;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  min-height: 82px;
  margin-top: 13px;
  padding: 9px 7px;
  border-color: rgba(255, 255, 255, .9);
  border-radius: 20px;
  background: linear-gradient(110deg, rgba(255,255,255,.94), rgba(247,242,255,.94));
  box-shadow: 0 12px 24px rgba(77, 92, 153, .11);
}

.parent-service-panel::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 20px;
  bottom: 20px;
  width: 1px;
  background: linear-gradient(180deg, transparent, rgba(117, 123, 190, .2), transparent);
}

.parent-service-item {
  appearance: none;
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr) 12px;
  gap: 8px;
  align-items: center;
  min-width: 0;
  padding: 5px 8px;
  border: 0;
  color: inherit;
  text-align: left;
  background: transparent;
  cursor: pointer;
}

.parent-service-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 14px;
}

.parent-survey .parent-service-icon {
  color: #326bd2;
  background: linear-gradient(145deg, #edf6ff, #dcecff);
  box-shadow: 0 8px 16px rgba(53, 109, 210, .12);
}

.parent-classroom .parent-service-icon {
  color: #8769ed;
  background: linear-gradient(145deg, #f1eaff, #dfd1ff);
  box-shadow: 0 8px 16px rgba(126, 91, 222, .14);
}

.parent-service-icon img {
  display: block;
  width: 50px;
  height: 50px;
  object-fit: contain;
}

.parent-service-copy {
  min-width: 0;
}

.parent-service-copy strong,
.parent-service-copy small {
  display: block;
  white-space: nowrap;
}

.parent-service-copy strong {
  color: #163366;
  font-size: 15px;
  line-height: 1.2;
  font-weight: 900;
}

.parent-service-copy small {
  margin-top: 5px;
  overflow: hidden;
  color: #6c7f9c;
  font-size: 9px;
  line-height: 1.2;
  text-overflow: ellipsis;
}

.parent-service-item > i {
  color: #396bdd;
  font-size: 24px;
  line-height: 1;
  font-style: normal;
  font-weight: 400;
}

@media (max-width: 374px) {
  .system-panel-compact .system-compact-head {
    padding-right: 91px;
  }

  .system-panel-compact .system-compact-title h2 {
    font-size: 18px;
  }

  .system-panel-compact .brand-ip-group-neo {
    right: 12px !important;
    width: 66px !important;
  }

  .system-panel-compact .system-girl-crown {
    width: 58px;
  }

  .system-panel-compact .system-toggle {
    right: 12px;
  }

  .parent-service-panel {
    padding-right: 4px;
    padding-left: 4px;
  }

  .parent-service-item {
    grid-template-columns: 39px minmax(0, 1fr) 8px;
    gap: 5px;
    padding-right: 5px;
    padding-left: 5px;
  }

  .parent-service-icon {
    width: 38px;
    height: 38px;
    border-radius: 12px;
  }

  .parent-service-icon img {
    width: 44px;
    height: 44px;
  }

  .parent-service-copy strong {
    font-size: 14px;
  }

  .parent-service-item > i {
    font-size: 20px;
  }
}


/* v0.3.15：首页首屏整图轮播 */
.home-slider {
  position: relative;
  overflow: hidden;
  width: calc(100% + 16px);
  height: auto;
  aspect-ratio: 9 / 5;
  margin-left: -8px;
  padding-top: 0;
  touch-action: pan-y;
}

.home-slider::after {
  display: none;
}

.home-slider-track,
.home-slide {
  position: absolute;
  inset: 0;
}

.home-slide {
  z-index: 1;
  overflow: hidden;
  opacity: 0;
  visibility: hidden;
  transition: opacity .45s ease, visibility .45s ease;
}

.home-slide.is-active {
  z-index: 2;
  opacity: 1;
  visibility: visible;
}

.home-slide-fallback {
  padding-top: 6px;
}

.home-slide-fallback::after {
  content: "";
  position: absolute;
  right: -28px;
  top: 142px;
  z-index: 2;
  width: 285px;
  height: 92px;
  pointer-events: none;
  border-radius: 50%;
  background: linear-gradient(170deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.78) 48%, rgba(255,255,255,.06) 72%);
}

.home-slide-image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.home-slide.has-copy::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(90deg, rgba(244,248,255,.78) 0%, rgba(244,248,255,.25) 58%, rgba(244,248,255,0) 82%);
}

.home-slide-copy {
  position: absolute;
  left: 14px;
  top: 50%;
  z-index: 3;
  width: 62%;
  transform: translateY(-50%);
}

.home-slide-copy h2 {
  margin: 0;
  color: #0a2757;
  font-size: 24px;
  line-height: 1.24;
  font-weight: 900;
  letter-spacing: 0;
  text-shadow: 0 1px 2px rgba(255,255,255,.72);
}

.home-slide-copy p {
  max-width: 100% !important;
  margin: 9px 0 0 !important;
  color: #465976;
  font-size: 12px !important;
  line-height: 1.5;
  letter-spacing: .3px !important;
  white-space: normal !important;
  text-shadow: 0 1px 2px rgba(255,255,255,.72);
}

.home-slide-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 82px;
  height: 32px;
  margin-top: 13px;
  padding: 0 15px;
  border: 1px solid rgba(255,255,255,.7);
  border-radius: 16px;
  color: #fff !important;
  font-size: 12px;
  line-height: 1;
  font-weight: 800;
  text-decoration: none !important;
  background: linear-gradient(135deg, #70bdf8, #416ed8);
  box-shadow: 0 8px 18px rgba(49,94,168,.2);
}

.home-slide-hit {
  position: absolute;
  inset: 0;
  z-index: 4;
  font-size: 0;
}

.home-slider-dots {
  position: absolute;
  left: 14px;
  bottom: 8px;
  z-index: 6;
  display: flex;
  align-items: center;
  gap: 6px;
}

.home-slider-dots[hidden] {
  display: none;
}

.home-slider-dots button {
  width: 7px;
  height: 7px;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: rgba(113,142,183,.35);
  transition: width .25s ease, background .25s ease;
}

.home-slider-dots button.is-active {
  width: 22px;
  background: #4d8df2;
}

@media (max-width: 374px) {
  .home-slide-copy {
    left: 12px;
    width: 65%;
  }

  .home-slide-copy h2 {
    font-size: 21px;
  }

  .home-slide-copy p {
    font-size: 11px !important;
  }
}

/* v0.4.6 首页导师登录状态 */
.mentor-login-top.is-logged-in span{
  display:block;
  max-width:76px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
