
/* ===== Web 端底座（小程序 → 浏览器 补齐） ===== */
html { font-size: calc(100vw / 7.5); -webkit-text-size-adjust: 100%; }
@media (min-width: 560px) { html { font-size: 74.66px; } }   /* 大屏封顶，相当于 560px 视口 */
*, *::before, *::after { box-sizing: border-box; }
body { margin: 0; padding: 0; width: 100%; }
view, scroll-view, swiper, swiper-item, block { display: block; }
text { display: inline; }
img { display: block; max-width: 100%; }
a { text-decoration: none; color: inherit; }
button { font: inherit; border: 0; background: none; padding: 0; cursor: pointer; }
/* swiper 用横向滚动模拟 */
swiper { overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
swiper::-webkit-scrollbar { display: none; }
swiper-item { flex: 0 0 auto; scroll-snap-align: start; }
/* scroll-view 横向滚动 */
scroll-view[scroll-x] { overflow-x: auto; overflow-y: hidden; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
scroll-view[scroll-x]::-webkit-scrollbar { display: none; }


/* ===== app.wxss（小程序全局设计系统 v3） ===== */
/* ============================================================
   荒野熊户外学校 · 设计系统 v3「山野杂志」
   ------------------------------------------------------------
   与 v2 的差别：
   1. 排版先行 —— 极小的大写字距标签 ↔ 极大的衬线标题/数字，拉开对比；
   2. 去卡片化 —— 默认用细线与留白分区，卡片只留给真正需要浮起的单元；
   3. 全出血 —— 实景图铺满、深色引言通栏，制造杂志内页的呼吸感；
   4. 单线图标 —— 不再用 emoji 色块（见文件末尾 ICON-BLOCK）。
   所有 v2 的类名保持可用，旧页面不会破。
   ============================================================ */

body {
  /* ---- 墨 ---- */
  --wb-ink-900: #101613;
  --wb-ink: #161c19;
  --wb-ink-2: #4d554f;
  --wb-muted: #8a918b;
  --wb-faint: #aeb4ae;

  /* ---- 绿 ---- */
  --wb-green: #14352b;
  --wb-green-deep: #0a1d16;
  --wb-green-2: #1f4a3a;
  --wb-green-3: #326b56;
  --wb-green-4: #4e9174;
  --wb-green-mist: #e7eee8;
  --wb-green-wash: #f0f5f1;

  /* ---- 纸 ---- */
  --wb-paper: #f2efe7;
  --wb-paper-2: #fbf9f4;
  --wb-card: #fdfcf8;
  --wb-sand: #e6dcc6;

  /* ---- 线（细线是本设计的主角） ---- */
  --wb-hair: rgba(22, 28, 25, 0.11);
  --wb-hair-soft: rgba(22, 28, 25, 0.06);
  --wb-hair-dark: rgba(255, 255, 255, 0.16);
  --wb-line: #e4ded1;
  --wb-line-soft: #eee9de;

  /* ---- 金 / 陶 ---- */
  --wb-gold: #c9a227;
  --wb-gold-2: #e2c765;
  --wb-gold-soft: #faf2d8;
  --wb-gold-ink: #7a6008;
  --wb-clay: #b4674a;
  --wb-clay-soft: #f8ece5;
  --wb-red: #b3261e;

  /* ---- 圆角 ---- */
  --wb-radius-xl: 0.34rem;
  --wb-radius: 0.22rem;
  --wb-radius-sm: 0.14rem;
  --wb-radius-xs: 0.1rem;
  --wb-sheet: 0.52rem;

  /* ---- 阴影（克制：默认靠细线，浮起才给影） ---- */
  --sh-1: 0 0.01rem 0.02rem rgba(22, 28, 25, 0.03);
  --sh-2: 0 0.08rem 0.24rem rgba(22, 28, 25, 0.07);
  --sh-3: 0 0.16rem 0.48rem rgba(22, 28, 25, 0.13);
  --sh-green: 0 0.1rem 0.24rem rgba(20, 53, 43, 0.22);
  --sh-gold: 0 0.1rem 0.24rem rgba(201, 162, 39, 0.26);

  /* ---- 字号梯度 ---- */
  --t-kicker: 0.2rem;
  --t-label: 0.23rem;
  --t-body: 0.28rem;
  --t-lead: 0.3rem;
  --t-h3: 0.33rem;
  --t-h2: 0.42rem;
  --t-h1: 0.54rem;
  --t-display: 0.7rem;
  --t-num: 1.04rem;

  /* ---- 间距节奏 ---- */
  --s-1: 0.08rem;
  --s-2: 0.16rem;
  --s-3: 0.24rem;
  --s-4: 0.32rem;
  --s-5: 0.44rem;
  --s-6: 0.6rem;
  --s-7: 0.8rem;

  /* ---- 纹样 ---- */
  --ridge: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 750 230' preserveAspectRatio='none'%3E%3Cpath d='M0 150 L84 96 L150 128 L234 62 L320 132 L410 84 L492 130 L572 92 L652 138 L750 100 L750 230 L0 230 Z' fill='%23ffffff' fill-opacity='0.07'/%3E%3Cpath d='M0 180 L76 144 L166 172 L256 122 L346 176 L436 140 L526 180 L616 144 L706 182 L750 162 L750 230 L0 230 Z' fill='%23ffffff' fill-opacity='0.055'/%3E%3Cpath d='M0 208 L96 186 L192 206 L288 182 L384 208 L480 188 L576 210 L672 190 L750 206 L750 230 L0 230 Z' fill='%23000000' fill-opacity='0.06'/%3E%3C/svg%3E");
  --ridge-gold: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 750 230' preserveAspectRatio='none'%3E%3Cpath d='M0 150 L84 96 L150 128 L234 62 L320 132 L410 84 L492 130 L572 92 L652 138 L750 100 L750 230 L0 230 Z' fill='%23c9a227' fill-opacity='0.16'/%3E%3Cpath d='M0 180 L76 144 L166 172 L256 122 L346 176 L436 140 L526 180 L616 144 L706 182 L750 162 L750 230 L0 230 Z' fill='%23c9a227' fill-opacity='0.1'/%3E%3C/svg%3E");
  --paw: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cg fill='%2314352b'%3E%3Cellipse cx='50' cy='63' rx='21' ry='18'/%3E%3Cellipse cx='24' cy='41' rx='8.6' ry='10.6'/%3E%3Cellipse cx='42' cy='29' rx='8.2' ry='10.2'/%3E%3Cellipse cx='60' cy='29' rx='8.2' ry='10.2'/%3E%3Cellipse cx='77' cy='42' rx='8.6' ry='10.6'/%3E%3C/g%3E%3C/svg%3E");
  /* 纸面颗粒：给大色块一点触感，避免"塑料感" */
  --grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='0.5'/%3E%3C/svg%3E");

  background: var(--wb-paper);
  color: var(--wb-ink);
  font-family: -apple-system, "PingFang SC", "Helvetica Neue", Helvetica, sans-serif;
  font-size: var(--t-body);
  line-height: 1.68;
  -webkit-font-smoothing: antialiased;
}

.serif {
  font-family: "Songti SC", "STSong", "Noto Serif SC", Georgia, serif;
}

.page {
  min-height: 100vh;
  box-sizing: border-box;
  padding-bottom: 0.4rem;
}

.pad {
  padding: 0 0.32rem;
}

.safe-bottom {
  padding-bottom: calc(0.4rem + env(safe-area-inset-bottom));
}

/* ============================================================
   推送与反馈
   ============================================================ */

.press {
  transform: scale(0.976);
  opacity: 0.9;
}

.tapable {
  transition: transform 0.16s ease, opacity 0.16s ease, box-shadow 0.2s ease;
}

/* ============================================================
   细线 —— 本设计系统最基础的排版元素
   ============================================================ */

.rule {
  height: 0.02rem;
  background: var(--wb-hair);
  margin: var(--s-3) 0;
}

.rule-soft {
  height: 0.02rem;
  background: var(--wb-hair-soft);
  margin: var(--s-2) 0;
}

.rule-short {
  width: 0.64rem;
  height: 0.04rem;
  background: var(--wb-gold);
  border-radius: 9.99rem;
  margin: var(--s-3) 0;
}

.rule-inset {
  height: 0.02rem;
  background: var(--wb-hair-soft);
  margin: var(--s-3) 0;
}

.divider {
  height: 0.02rem;
  background: var(--wb-hair);
  margin: var(--s-3) 0;
}

.divider-soft {
  height: 0.02rem;
  background: var(--wb-hair-soft);
  margin: var(--s-2) 0;
}

/* ============================================================
   排版
   ============================================================ */

.kicker {
  font-size: var(--t-kicker);
  letter-spacing: 0.08rem;
  font-weight: 600;
  color: var(--wb-muted);
  text-transform: uppercase;
}

.kicker-gold {
  color: var(--wb-gold-ink);
}

.kicker-light {
  color: rgba(242, 246, 243, 0.66);
}

.eyebrow {
  font-size: var(--t-kicker);
  letter-spacing: 0.06rem;
  color: var(--wb-muted);
  text-transform: uppercase;
  font-weight: 600;
}

.display {
  font-family: "Songti SC", "STSong", "Noto Serif SC", Georgia, serif;
  font-size: var(--t-display);
  line-height: 1.14;
  letter-spacing: -0.01rem;
  font-weight: 700;
  color: var(--wb-ink-900);
}

.display-sm {
  font-family: "Songti SC", "STSong", "Noto Serif SC", Georgia, serif;
  font-size: 0.52rem;
  line-height: 1.2;
  letter-spacing: -0.005rem;
  font-weight: 700;
  color: var(--wb-ink-900);
}

.h1 {
  font-size: var(--t-h1);
  font-weight: 700;
  letter-spacing: -0.005rem;
  line-height: 1.22;
}

.h2 {
  font-size: var(--t-h2);
  font-weight: 700;
  letter-spacing: -0.003rem;
  line-height: 1.28;
}

.h3 {
  font-size: var(--t-h3);
  font-weight: 600;
  line-height: 1.4;
}

.body {
  font-size: var(--t-body);
  color: var(--wb-ink-2);
  line-height: 1.72;
}

.lead {
  font-size: var(--t-lead);
  line-height: 1.7;
  color: var(--wb-ink-2);
}

.muted {
  color: var(--wb-muted);
  font-size: 0.26rem;
}

.small {
  font-size: 0.24rem;
}

.tiny {
  font-size: 0.21rem;
}

.strong {
  font-weight: 600;
}

.center {
  text-align: center;
}

.num {
  font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum";
}

.tnum {
  font-variant-numeric: tabular-nums;
}

/* ============================================================
   数字：整个设计最响的音量
   ============================================================ */

.num-huge {
  font-size: var(--t-num);
  font-weight: 700;
  line-height: 0.92;
  letter-spacing: -0.04rem;
  font-variant-numeric: tabular-nums;
  color: var(--wb-green);
}

.num-huge .u {
  font-size: 0.24rem;
  font-weight: 600;
  letter-spacing: 0.01rem;
  margin-left: 0.08rem;
  color: var(--wb-muted);
}

.num-xl {
  font-size: 0.76rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.02rem;
  font-variant-numeric: tabular-nums;
}

.num-lg {
  font-size: 0.52rem;
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -0.01rem;
  font-variant-numeric: tabular-nums;
}

.num-md {
  font-size: 0.38rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}

.num-unit {
  font-size: 0.24rem;
  font-weight: 400;
  margin-left: 0.06rem;
  opacity: 0.62;
}

/* 数字横排：无卡片、只用细线分隔（首页 / 成长册主用） */
.stat-line {
  display: flex;
  align-items: flex-end;
  padding: var(--s-4) 0 var(--s-3);
}

.sl-item {
  flex: 1;
  position: relative;
  padding-left: 0.02rem;
}

.sl-item + .sl-item {
  padding-left: 0.28rem;
}

.sl-item + .sl-item::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.06rem;
  bottom: 0.06rem;
  width: 0.02rem;
  background: var(--wb-hair);
}

.sl-num {
  font-size: 0.68rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.03rem;
  color: var(--wb-green);
  font-variant-numeric: tabular-nums;
}

.sl-u {
  font-size: 0.21rem;
  font-weight: 600;
  color: var(--wb-muted);
  margin-left: 0.06rem;
  letter-spacing: 0.01rem;
}

.sl-label {
  margin-top: 0.12rem;
  font-size: 0.21rem;
  letter-spacing: 0.03rem;
  color: var(--wb-muted);
}

/* 旧版数字条（部分页面仍在用） */
.stat-strip {
  display: flex;
  padding: 0.28rem 0;
}

.ss-item {
  flex: 1;
  text-align: center;
  position: relative;
}

.ss-item + .ss-item::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.08rem;
  bottom: 0.08rem;
  width: 0.02rem;
  background: var(--wb-hair);
}

.ss-num {
  font-size: 0.44rem;
  font-weight: 700;
  color: var(--wb-green);
  line-height: 1.15;
  font-variant-numeric: tabular-nums;
}

.ss-unit {
  font-size: 0.21rem;
  color: var(--wb-muted);
  margin-left: 0.04rem;
  font-weight: 500;
}

.ss-label {
  margin-top: 0.06rem;
  font-size: 0.22rem;
  color: var(--wb-muted);
  letter-spacing: 0.01rem;
}

/* ============================================================
   Hero：全出血实景 + 编排式标题
   ============================================================ */

.hero {
  position: relative;
  overflow: hidden;
  background-color: var(--wb-green);
  background-image:
    radial-gradient(120% 76% at 8% -6%, rgba(78, 145, 116, 0.5) 0%, rgba(78, 145, 116, 0) 62%),
    radial-gradient(86% 62% at 102% 2%, rgba(201, 162, 39, 0.2) 0%, rgba(201, 162, 39, 0) 58%),
    linear-gradient(168deg, #0a1d16 0%, #14352b 46%, #23503f 100%);
  color: #eef4f0;
  padding: 0.52rem 0.32rem 0.96rem;
}

.hero::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  background-image: var(--grain);
  opacity: 0.06;
  pointer-events: none;
}

.hero-flat {
  background-image:
    radial-gradient(120% 76% at 8% -6%, rgba(78, 145, 116, 0.4) 0%, rgba(78, 145, 116, 0) 62%),
    linear-gradient(168deg, #0a1d16 0%, #14352b 60%, #1f4a3a 100%);
}

.hero-eyebrow {
  font-size: var(--t-kicker);
  letter-spacing: 0.06rem;
  text-transform: uppercase;
  color: rgba(226, 199, 101, 0.86);
  font-weight: 600;
}

.hero-title-lg {
  margin-top: 0.22rem;
  font-family: "Songti SC", "STSong", "Noto Serif SC", Georgia, serif;
  font-size: 0.66rem;
  font-weight: 700;
  line-height: 1.18;
  letter-spacing: -0.01rem;
  color: #fff;
}

.hero-lead {
  margin-top: 0.18rem;
  font-size: 0.26rem;
  line-height: 1.78;
  color: rgba(238, 244, 240, 0.76);
}

.hero-rule {
  width: 0.56rem;
  height: 0.03rem;
  background: var(--wb-gold-2);
  margin: 0.26rem 0;
}

.hero-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.08rem;
  padding: 0.1rem 0.24rem;
  border-radius: 9.99rem;
  font-size: 0.22rem;
  font-weight: 600;
  color: #fff;
  background: rgba(255, 255, 255, 0.12);
  border: 0.02rem solid rgba(255, 255, 255, 0.2);
}

.brand-eyebrow {
  display: flex;
  align-items: center;
  gap: 0.12rem;
}

/* hero 内的数字排（邀请 / 签到页在用） */
.hero-stats {
  display: flex;
  margin-top: 0.34rem;
  padding-top: 0.26rem;
  border-top: 0.02rem solid rgba(255, 255, 255, 0.18);
}

.hero-stat {
  flex: 1;
  position: relative;
}

.hero-stat + .hero-stat {
  padding-left: 0.26rem;
}

.hero-stat + .hero-stat::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.1rem;
  bottom: 0.1rem;
  width: 0.02rem;
  background: rgba(255, 255, 255, 0.16);
}

.hero-stat .n {
  font-size: 0.64rem;
  font-weight: 700;
  color: #fff;
  line-height: 1;
  letter-spacing: -0.02rem;
  font-variant-numeric: tabular-nums;
}

.hero-stat .u {
  font-size: 0.21rem;
  font-weight: 600;
  color: rgba(238, 244, 240, 0.66);
  margin-left: 0.06rem;
}

.hero-stat .l {
  margin-top: 0.12rem;
  font-size: 0.21rem;
  letter-spacing: 0.03rem;
  color: rgba(238, 244, 240, 0.62);
}

.eyebrow-mark {
  width: 0.64rem;
  height: 0.34rem;
  flex-shrink: 0;
}

/* 深色 hero 上的最小操作按钮 */
.hero-mini-btn {
  font-size: 0.22rem;
  letter-spacing: 0.01rem;
  color: rgba(242, 246, 243, 0.9);
  padding: 0.1rem 0.22rem;
  border-radius: 9.99rem;
  border: 0.02rem solid rgba(255, 255, 255, 0.24);
}

/* ---- 通用工具 ---- */

.avatar-img {
  width: 76%;
  height: 76%;
}

.footer-brand {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.14rem;
  margin: 0.72rem 0 0.44rem;
}

.footer-logo {
  width: 0.96rem;
  height: 0.88rem;
  opacity: 0.85;
}

.footer-brand .footer-note {
  margin: 0;
}

.footer-note {
  text-align: center;
  font-size: 0.2rem;
  color: var(--wb-faint);
  letter-spacing: 0.03rem;
  margin: 0.64rem 0 0.44rem;
}

/* ============================================================
   纸面与卡片（克制使用）
   ============================================================ */

.card {
  background: var(--wb-card);
  border-radius: var(--wb-radius);
  padding: var(--s-4);
  margin: var(--s-3) 0;
  border: 0.02rem solid var(--wb-hair-soft);
  box-shadow: none;
  box-sizing: border-box;
  transition: transform 0.16s ease, background 0.2s ease;
}

.card-flat {
  box-shadow: none;
  background: transparent;
  border: 0.02rem solid var(--wb-hair);
}

.card-paper {
  background: var(--wb-paper-2);
  border-color: var(--wb-hair-soft);
}

.card-lift {
  box-shadow: var(--sh-2);
  border-color: transparent;
}

.card-dark {
  background-color: var(--wb-green);
  background-image:
    radial-gradient(110% 90% at 100% 0%, rgba(78, 145, 116, 0.4) 0%, rgba(78, 145, 116, 0) 60%),
    linear-gradient(160deg, #16382d 0%, #14352b 55%, #0a1d16 100%);
  color: #e9f1ec;
  border-color: transparent;
  box-shadow: var(--sh-2);
}

.card-accent {
  position: relative;
  overflow: hidden;
}

.card-accent::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 0.06rem;
  background: var(--wb-gold);
}

.card-accent-soft::before {
  background: var(--wb-green-3);
}

/* 上浮纸面：从实景下方升起的整块内容区 */
.sheet {
  position: relative;
  z-index: 2;
  margin-top: -0.56rem;
  background: var(--wb-paper);
  border-radius: var(--wb-sheet) var(--wb-sheet) 0 0;
  padding: var(--s-5) 0 var(--s-3);
}

.sheet-tight {
  margin-top: -0.4rem;
}

/* ============================================================
   全出血实景卡（首页活动 / 相册用）
   ============================================================ */

.photo-card {
  position: relative;
  overflow: hidden;
  border-radius: var(--wb-radius);
  margin: var(--s-4) 0;
  background: var(--wb-green-2);
  transition: transform 0.18s ease;
}

.photo-card-img {
  width: 100%;
  height: 4.4rem;
  display: block;
}

.photo-card-scrim {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  background:
    linear-gradient(180deg, rgba(10, 29, 22, 0.5) 0%, rgba(10, 29, 22, 0) 34%),
    linear-gradient(0deg, rgba(10, 29, 22, 0.88) 0%, rgba(10, 29, 22, 0.34) 46%, rgba(10, 29, 22, 0) 72%);
}

.photo-card-body {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 0 0.3rem 0.28rem;
  color: #fff;
}

.photo-date {
  position: absolute;
  right: 0.26rem;
  top: 0.24rem;
  font-size: 0.21rem;
  letter-spacing: 0.01rem;
  font-weight: 600;
  padding: 0.08rem 0.18rem;
  border-radius: 9.99rem;
  background: rgba(250, 249, 245, 0.94);
  color: var(--wb-green);
}

.photo-kicker {
  font-size: 0.2rem;
  letter-spacing: 0.05rem;
  color: rgba(242, 246, 243, 0.82);
  font-weight: 600;
}

.photo-title {
  margin-top: 0.1rem;
  font-family: "Songti SC", "STSong", "Noto Serif SC", Georgia, serif;
  font-size: 0.42rem;
  font-weight: 700;
  line-height: 1.24;
  letter-spacing: -0.005rem;
  color: #fff;
  text-shadow: 0 0.02rem 0.12rem rgba(0, 0, 0, 0.3);
}

.photo-foot {
  margin-top: 0.2rem;
  padding-top: 0.18rem;
  border-top: 0.02rem solid rgba(255, 255, 255, 0.22);
  display: flex;
  align-items: baseline;
  justify-content: space-between;
}

.photo-meta {
  font-size: 0.22rem;
  color: rgba(242, 246, 243, 0.84);
  letter-spacing: 0.005rem;
}

.photo-price {
  font-size: 0.36rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  color: #fff;
  line-height: 1;
}

.photo-price .cur {
  font-size: 0.22rem;
  margin-right: 0.02rem;
}

.photo-price .unit {
  font-size: 0.2rem;
  font-weight: 400;
  color: rgba(242, 246, 243, 0.7);
  margin-left: 0.06rem;
}

/* 旧版活动卡（活动列表等页面仍在用） */
.act-card {
  padding: 0;
  overflow: hidden;
  margin: var(--s-3) 0;
}

.act-media {
  position: relative;
  height: 3.3rem;
  overflow: hidden;
  border-radius: var(--wb-radius) var(--wb-radius) 0 0;
}

.act-body {
  padding: 0.26rem 0.28rem 0.28rem;
}

.act-badge {
  margin-left: 0.16rem;
  flex-shrink: 0;
}

.act-meta {
  margin-top: 0.1rem;
  font-size: 0.23rem;
  color: var(--wb-muted);
  display: flex;
  align-items: center;
  gap: 0.08rem;
}

.act-meta-ico {
  font-size: 0.2rem;
  color: var(--wb-green-3);
}

.act-route {
  margin-top: 0.18rem;
}

.act-foot {
  margin-top: 0.24rem;
  padding-top: 0.22rem;
  border-top: 0.02rem solid var(--wb-hair-soft);
}

.fallback-scene {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.fs-ico {
  font-size: 0.62rem;
  opacity: 0.85;
}

.fs-name {
  margin-top: 0.14rem;
  color: rgba(255, 255, 255, 0.9);
  font-size: 0.26rem;
  letter-spacing: 0.08rem;
  font-weight: 600;
}

.price {
  font-size: 0.38rem;
  font-weight: 700;
  color: var(--wb-clay);
  font-variant-numeric: tabular-nums;
  line-height: 1;
}

.price-cur {
  font-size: 0.24rem;
  margin-right: 0.02rem;
}

.price-unit {
  font-size: 0.2rem;
  color: var(--wb-muted);
  font-weight: 400;
  margin-left: 0.06rem;
}

/* ============================================================
   图标导轨（替掉 emoji 色块宫格）
   ============================================================ */

.rail {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin: var(--s-3) 0 0;
}

.rail-cell {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.14rem;
  padding: 0.3rem 0.08rem 0.28rem;
  transition: opacity 0.15s ease;
}

/* 细线网格：竖线在第 2、3 列左侧，横线在中排下沿 */
.rail-cell::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0.24rem;
  bottom: 0.24rem;
  width: 0.02rem;
  background: var(--wb-hair-soft);
}

.rail-cell:nth-child(3n + 1)::after {
  display: none;
}

.rail-cell:nth-child(n + 4):before {
  content: "";
  position: absolute;
  left: 0.16rem;
  right: 0.16rem;
  top: 0;
  height: 0.02rem;
  background: var(--wb-hair-soft);
}

.rail-name {
  font-size: 0.25rem;
  font-weight: 600;
  color: var(--wb-ink);
  letter-spacing: 0.005rem;
}

.rail-sub {
  margin-top: -0.06rem;
  font-size: 0.19rem;
  color: var(--wb-faint);
  letter-spacing: 0.01rem;
}

/* ============================================================
   条目行（我的 / 设置类列表）
   ============================================================ */

.entry {
  display: flex;
  align-items: center;
  gap: 0.24rem;
  padding: 0.3rem 0;
  border-top: 0.02rem solid var(--wb-hair-soft);
  transition: opacity 0.15s ease;
}

.entry:first-child {
  border-top: none;
}

.entry-title {
  font-size: 0.3rem;
  color: var(--wb-ink);
  font-weight: 500;
}

.entry-sub {
  margin-top: 0.06rem;
  font-size: 0.22rem;
  color: var(--wb-muted);
}

.entry-chev {
  color: var(--wb-faint);
  font-size: 0.28rem;
  font-weight: 300;
}

/* 旧版列表行 */
.list-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.3rem 0;
  border-bottom: 0.02rem solid var(--wb-hair-soft);
}

.list-row:last-child {
  border-bottom: none;
}

.list-cell {
  display: flex;
  align-items: center;
  gap: 0.24rem;
  padding: 0.26rem 0;
  border-bottom: 0.02rem solid var(--wb-hair-soft);
  transition: opacity 0.15s ease;
}

.list-cell:last-child {
  border-bottom: none;
}

.cell-ico {
  width: 0.68rem;
  height: 0.68rem;
  border-radius: var(--wb-radius-sm);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.32rem;
  flex-shrink: 0;
  background: var(--wb-green-mist);
}

.cell-chev {
  color: var(--wb-faint);
  font-size: 0.28rem;
  font-weight: 300;
}

.cell-title {
  font-size: 0.29rem;
  color: var(--wb-ink);
}

.cell-sub {
  margin-top: 0.04rem;
  font-size: 0.21rem;
  color: var(--wb-muted);
}

.tone-hill { background: linear-gradient(150deg, #e6f0e9, #d3e4d9); }
.tone-forest { background: linear-gradient(150deg, #dcebe1, #c3dccd); }
.tone-sun { background: linear-gradient(150deg, #fdf1d6, #f6e2ad); }
.tone-clay { background: linear-gradient(150deg, #f9ece5, #f1d8ca); }
.tone-gold { background: linear-gradient(150deg, #fbf2d6, #f2e0a6); }
.tone-ink { background: linear-gradient(150deg, #e2eae4, #cddbd2); }

/* ============================================================
   按钮
   ============================================================ */

.btn {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 0.88rem;
  border-radius: 9.99rem;
  font-size: 0.29rem;
  font-weight: 600;
  border: none;
  line-height: 1;
  box-sizing: border-box;
  letter-spacing: 0.02rem;
  transition: transform 0.14s ease, opacity 0.14s ease;
}

.btn::after {
  border: none;
}

.btn-primary {
  background: linear-gradient(140deg, #23503f 0%, #14352b 100%);
  color: #fff;
  box-shadow: var(--sh-green);
}

.btn-gold {
  background: linear-gradient(140deg, #e2c765 0%, #c9a227 100%);
  color: #3a2c05;
  box-shadow: var(--sh-gold);
}

.btn-ghost {
  background: transparent;
  color: var(--wb-green);
  border: 0.02rem solid var(--wb-hair);
}

.btn-soft {
  background: var(--wb-green-mist);
  color: var(--wb-green);
}

.btn-sm {
  height: 0.62rem;
  font-size: 0.25rem;
  padding: 0 0.26rem;
  letter-spacing: 0.01rem;
  box-shadow: none;
}

.btn-block {
  width: 100%;
}

.btn[disabled] {
  opacity: 0.45;
}

/* 文字链接 */
.more-link {
  font-size: 0.23rem;
  color: var(--wb-green-3);
  letter-spacing: 0.01rem;
  font-weight: 500;
}

/* ============================================================
   标签 / 徽标
   ============================================================ */

.tag {
  display: inline-flex;
  align-items: center;
  padding: 0.06rem 0.16rem;
  border-radius: var(--wb-radius-xs);
  font-size: 0.21rem;
  font-weight: 600;
  background: var(--wb-green-mist);
  color: var(--wb-green);
  letter-spacing: 0.01rem;
}

.tag-gold {
  background: var(--wb-gold-soft);
  color: var(--wb-gold-ink);
}

.tag-clay {
  background: var(--wb-clay-soft);
  color: var(--wb-clay);
}

.tag-line {
  background: transparent;
  border: 0.02rem solid var(--wb-hair);
  color: var(--wb-muted);
  font-weight: 500;
}

.tag-soft {
  background: rgba(255, 255, 255, 0.14);
  color: #fff;
  border: 0.02rem solid rgba(255, 255, 255, 0.2);
}

.lv-badge {
  font-size: 0.2rem;
  font-weight: 700;
  color: #3a2c05;
  background: var(--wb-gold-2);
  padding: 0.04rem 0.14rem;
  border-radius: var(--wb-radius-xs);
  letter-spacing: 0.01rem;
}

.lv-name {
  font-size: 0.23rem;
  letter-spacing: 0.02rem;
}

.mini-metric {
  display: inline-flex;
  align-items: baseline;
  padding: 0.06rem 0.14rem;
  border-radius: var(--wb-radius-xs);
  background: transparent;
  border: 0.02rem solid var(--wb-hair-soft);
  font-size: 0.22rem;
  color: var(--wb-ink-2);
  font-weight: 500;
}

.mm-n {
  font-size: 0.25rem;
  font-weight: 700;
  color: var(--wb-green);
  margin-right: 0.03rem;
}

.mm-u {
  font-size: 0.19rem;
  color: var(--wb-muted);
  margin-left: 0.02rem;
}

/* ============================================================
   分段 / 筛选
   ============================================================ */

.pill-tabs {
  display: flex;
  gap: 0;
  background: transparent;
  border-radius: 0;
  padding: 0;
  border: 0.02rem solid var(--wb-hair);
  overflow: hidden;
}

.pill-tab {
  padding: 0.12rem 0.26rem;
  font-size: 0.23rem;
  color: var(--wb-ink-2);
  border-radius: 0;
  letter-spacing: 0.01rem;
  transition: background 0.2s ease, color 0.2s ease;
}

.pill-tab + .pill-tab {
  border-left: 0.02rem solid var(--wb-hair);
}

.pill-tab.active {
  background: var(--wb-green);
  color: #fff;
  font-weight: 600;
}

.filter-bar {
  position: sticky;
  top: 0;
  z-index: 10;
  background: var(--wb-paper);
  padding: 0.18rem 0 0.14rem;
}

.filter-scroll {
  white-space: nowrap;
  padding: 0 0.32rem;
}

.filter-chip {
  display: inline-block;
  padding: 0.12rem 0.28rem;
  margin-right: 0.12rem;
  border-radius: 9.99rem;
  background: transparent;
  color: var(--wb-ink-2);
  font-size: 0.24rem;
  border: 0.02rem solid var(--wb-hair);
  letter-spacing: 0.01rem;
}

.filter-chip.active {
  background: var(--wb-green);
  color: #fff;
  border-color: var(--wb-green);
  font-weight: 600;
}

.chip-row {
  display: flex;
  gap: 0.14rem;
  flex: 1;
  flex-wrap: wrap;
}

.chip {
  padding: 0.1rem 0.28rem;
  border-radius: 9.99rem;
  border: 0.02rem solid var(--wb-hair);
  font-size: 0.25rem;
  color: var(--wb-ink-2);
  background: transparent;
  transition: background 0.18s ease, color 0.18s ease;
}

.chip.active {
  background: var(--wb-green);
  color: #fff;
  border-color: var(--wb-green);
}

/* ============================================================
   进度
   ============================================================ */

.progress {
  height: 0.12rem;
  border-radius: 9.99rem;
  background: var(--wb-hair-soft);
  overflow: hidden;
}

.progress-fill {
  height: 100%;
  border-radius: 9.99rem;
  background: var(--wb-green);
  transition: width 0.6s cubic-bezier(0.22, 0.61, 0.36, 1);
}

.progress-fill.gold {
  background: var(--wb-gold);
}

.progress-thin {
  height: 0.08rem;
}

/* ============================================================
   区块标题（编辑排版式）
   ============================================================ */

.section {
  margin: var(--s-6) 0.32rem 0;
}

.section-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 0.2rem;
  margin-bottom: var(--s-3);
  padding-bottom: 0.18rem;
  border-bottom: 0.02rem solid var(--wb-hair);
}

.section-title {
  font-family: "Songti SC", "STSong", "Noto Serif SC", Georgia, serif;
  font-size: var(--t-h2);
  font-weight: 700;
  color: var(--wb-ink-900);
  letter-spacing: -0.005rem;
  line-height: 1.2;
}

.section-title .idx {
  font-size: 0.21rem;
  letter-spacing: 0.03rem;
  color: var(--wb-gold-ink);
  font-weight: 600;
  display: block;
  margin-bottom: 0.08rem;
  font-family: -apple-system, "PingFang SC", sans-serif;
}

/* ============================================================
   引言（通栏深色）
   ============================================================ */

.quote-block {
  position: relative;
  overflow: hidden;
  background-color: var(--wb-green);
  background-image:
    radial-gradient(120% 120% at 92% 6%, rgba(78, 145, 116, 0.42) 0%, rgba(78, 145, 116, 0) 62%),
    linear-gradient(158deg, #16382d 0%, #14352b 52%, #0a1d16 100%);
  color: #e9f1ec;
  padding: var(--s-6) 0.32rem;
}

.quote-block::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 2.3rem;
  background-image: var(--ridge);
  background-repeat: no-repeat;
  background-position: bottom center;
  background-size: 100% 100%;
  pointer-events: none;
}

.quote-card {
  position: relative;
  overflow: hidden;
  padding: 0.4rem 0.34rem 0.36rem;
}

.quote-mark {
  position: absolute;
  right: 0.26rem;
  top: 0;
  font-size: 1.5rem;
  line-height: 1;
  color: rgba(201, 162, 39, 0.14);
}

.quote-eyebrow {
  font-size: 0.2rem;
  letter-spacing: 0.05rem;
  color: rgba(226, 199, 101, 0.9);
  font-weight: 600;
}

.quote-text {
  margin-top: 0.18rem;
  font-family: "Songti SC", "STSong", "Noto Serif SC", Georgia, serif;
  font-size: 0.46rem;
  font-weight: 700;
  line-height: 1.42;
  color: #fff;
  letter-spacing: -0.005rem;
}

.quote-line {
  width: 0.48rem;
  height: 0.03rem;
  background: rgba(226, 199, 101, 0.7);
  margin: 0.26rem 0 0.18rem;
}

.quote-sub {
  position: relative;
  font-size: 0.24rem;
  line-height: 1.74;
  color: rgba(233, 241, 236, 0.74);
}

/* ============================================================
   勋章 / 奖章
   ============================================================ */

.medal {
  position: relative;
  width: 1.12rem;
  height: 1.12rem;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.46rem;
  margin: 0 auto;
}

.medal::before {
  content: "";
  position: absolute;
  left: -0.09rem;
  right: -0.09rem;
  top: -0.09rem;
  bottom: -0.09rem;
  border-radius: 50%;
  border: 0.02rem solid currentColor;
  opacity: 0.24;
}

.medal-owned {
  box-shadow: 0 0.08rem 0.2rem rgba(20, 53, 43, 0.18), inset 0 -0.04rem 0.1rem rgba(0, 0, 0, 0.09);
}

.medal-locked {
  opacity: 0.42;
}

/* ============================================================
   时间轴
   ============================================================ */

.tl {
  position: relative;
  padding-left: 0.4rem;
}

.tl::before {
  content: "";
  position: absolute;
  left: 0.05rem;
  top: 0.16rem;
  bottom: 0.16rem;
  width: 0.02rem;
  background: var(--wb-hair);
}

.tl-item {
  position: relative;
  padding-bottom: var(--s-4);
}

.tl-dot {
  position: absolute;
  left: -0.4rem;
  top: 0.16rem;
  width: 0.12rem;
  height: 0.12rem;
  border-radius: 50%;
  background: var(--wb-green-3);
  box-shadow: 0 0 0 0.06rem var(--wb-paper);
}

.tl-dot-gold {
  background: var(--wb-gold);
}

/* ============================================================
   头像
   ============================================================ */

.avatar {
  width: 1.2rem;
  height: 1.2rem;
  border-radius: 50%;
  background: linear-gradient(150deg, #eaf1eb, #dde8e0);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.48rem;
  overflow: hidden;
  flex-shrink: 0;
}

.avatar-sm { width: 0.72rem; height: 0.72rem; font-size: 0.32rem; }
.avatar-xs { width: 0.56rem; height: 0.56rem; font-size: 0.26rem; }
.avatar-md { width: 1.08rem; height: 1.08rem; font-size: 0.46rem; }
.avatar-lg { width: 1.36rem; height: 1.36rem; font-size: 0.58rem; }

.avatar-ring {
  box-shadow: 0 0 0 0.03rem rgba(255, 255, 255, 0.3);
}

.avatar img {
  width: 100%;
  height: 100%;
}

/* ============================================================
   图片
   ============================================================ */

.cover {
  width: 100%;
  height: 3.2rem;
  border-radius: var(--wb-radius);
  background: var(--wb-green-mist);
  display: block;
}

.cover-sm {
  width: 2rem;
  height: 1.5rem;
  border-radius: var(--wb-radius-sm);
  background: var(--wb-green-mist);
  flex-shrink: 0;
}

.media {
  position: relative;
  width: 100%;
  height: 3.4rem;
  overflow: hidden;
  background: var(--wb-green-mist);
}

.media-img {
  width: 100%;
  height: 100%;
  display: block;
}

.media-scrim {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1.5rem;
  background: linear-gradient(180deg, rgba(12, 32, 25, 0) 0%, rgba(12, 32, 25, 0.62) 100%);
}

.media-scene {
  position: absolute;
  left: 0.28rem;
  bottom: 0.22rem;
  color: #fff;
  font-size: 0.24rem;
  letter-spacing: 0.03rem;
  font-weight: 600;
  text-shadow: 0 0.02rem 0.08rem rgba(0, 0, 0, 0.35);
}

.media-chip {
  position: absolute;
  left: 0.24rem;
  top: 0.24rem;
  padding: 0.08rem 0.18rem;
  border-radius: 9.99rem;
  background: rgba(250, 249, 245, 0.94);
  color: var(--wb-green);
  font-size: 0.21rem;
  font-weight: 700;
  letter-spacing: 0.01rem;
}

.media-fallback {
  background-color: var(--wb-green-2);
  background-image:
    var(--ridge),
    linear-gradient(150deg, #23503f 0%, #14352b 100%);
  background-repeat: no-repeat, no-repeat;
  background-position: bottom center, center;
  background-size: 100% 100%, 100% 100%;
}

/* ============================================================
   空态 / 骨架 / 表单 / 其它
   ============================================================ */

.empty {
  padding: 0.72rem 0.24rem;
  text-align: center;
  color: var(--wb-muted);
}

.empty-mark {
  width: 1.08rem;
  height: 1.08rem;
  margin: 0 auto 0.24rem;
  border-radius: 50%;
  background-color: transparent;
  background-image: var(--paw);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 0.68rem 0.68rem;
  opacity: 0.16;
}

.empty-emoji {
  font-size: 0.56rem;
  margin-bottom: 0.14rem;
  opacity: 0.5;
}

.empty-txt {
  font-size: 0.28rem;
  color: var(--wb-ink-2);
  margin-bottom: 0.08rem;
}

.skeleton {
  background: linear-gradient(100deg, #eae6dc 30%, #f6f3ec 50%, #eae6dc 70%);
  background-size: 400% 100%;
  border-radius: var(--wb-radius-xs);
  animation: wb-shimmer 1.3s ease-in-out infinite;
}

.sk-line { height: 0.26rem; margin-bottom: 0.18rem; }
.sk-block { height: 2.4rem; border-radius: var(--wb-radius); }

@keyframes wb-shimmer {
  0% { background-position: 100% 0; }
  100% { background-position: 0 0; }
}

.paper-note {
  position: relative;
  background: var(--wb-paper-2);
  border-left: 0.06rem solid var(--wb-clay);
  border-radius: 0 var(--wb-radius-sm) var(--wb-radius-sm) 0;
  padding: 0.24rem 0.26rem;
  font-size: 0.28rem;
  color: #4b3a2f;
  line-height: 1.76;
}

.paper-note-gold {
  border-left-color: var(--wb-gold);
}

.footer-bar {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(251, 249, 244, 0.97);
  border-top: 0.02rem solid var(--wb-hair);
  padding: 0.2rem 0.32rem calc(0.2rem + env(safe-area-inset-bottom));
  display: flex;
  align-items: center;
  gap: 0.2rem;
  z-index: 20;
}

.footer-space {
  height: calc(1.6rem + env(safe-area-inset-bottom));
}

.form-row {
  display: flex;
  align-items: center;
  padding: 0.28rem 0;
  border-bottom: 0.02rem solid var(--wb-hair-soft);
}

.form-row-last {
  border-bottom: none;
  padding-bottom: 0.08rem;
}

.form-label {
  width: 1.9rem;
  font-size: 0.28rem;
  color: var(--wb-ink-2);
  flex-shrink: 0;
}

.form-input {
  flex: 1;
  font-size: 0.28rem;
  min-height: 0.44rem;
  color: var(--wb-ink);
}

.dot-gold {
  width: 0.1rem;
  height: 0.1rem;
  border-radius: 50%;
  background: var(--wb-gold);
  margin: 0.15rem 0.16rem 0 0;
  flex-shrink: 0;
}

.note-line {
  font-size: 0.27rem;
  color: var(--wb-ink-2);
  line-height: 1.74;
}

.dim {
  opacity: 0.45;
}

/* ============================================================
   布局工具
   ============================================================ */

.row {
  display: flex;
  align-items: center;
}

.row-between {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.row-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}

.wrap { flex-wrap: wrap; }
.grow { flex: 1; min-width: 0; }

.gap-8 { gap: 0.08rem; }
.gap-12 { gap: 0.12rem; }
.gap-16 { gap: 0.16rem; }
.gap-18 { gap: 0.18rem; }
.gap-20 { gap: 0.2rem; }
.gap-24 { gap: 0.24rem; }

.grid-2 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.2rem;
}

.grid-3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.2rem;
}

.ellipsis {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.ellipsis-2 {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* 悬浮数字条容器（部分旧页面） */
.strip-card {
  padding: 0.04rem 0.08rem;
  border-radius: var(--wb-radius);
}

/* 旧版六宫格磁贴（其它页面仍在用，样式保留） */
.tile-grid {
  margin-top: 0.28rem;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.18rem;
}

.tile {
  background: var(--wb-card);
  border-radius: var(--wb-radius-sm);
  padding: 0.24rem 0.12rem 0.2rem;
  text-align: center;
  border: 0.02rem solid var(--wb-hair-soft);
  box-sizing: border-box;
  transition: transform 0.16s ease, opacity 0.16s ease;
}

.tile-ico {
  width: 0.76rem;
  height: 0.76rem;
  margin: 0 auto;
  border-radius: var(--wb-radius-sm);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.36rem;
  background: var(--wb-green-mist);
}

.tile-t {
  margin-top: 0.14rem;
  font-size: 0.25rem;
  font-weight: 600;
  color: var(--wb-green);
}

.tile-s {
  margin-top: 0.02rem;
  font-size: 0.19rem;
  color: var(--wb-muted);
  letter-spacing: 0.01rem;
}

/* ============================================================
   叠压（必须放在最后，才能压过 .card 的 margin）
   ============================================================ */

.overlap {
  margin-top: -0.64rem;
  position: relative;
  z-index: 3;
}

.overlap-sm {
  margin-top: -0.44rem;
  position: relative;
  z-index: 3;
}

.overlap-lg {
  margin-top: -0.88rem;
  position: relative;
  z-index: 3;
}

/* 纯线空态（跨页面复用：首页 / 成长册 / 我的 / 活动列表） */
.empty-plain {
  border-top: 0.02rem solid var(--wb-hair);
}

/* 圆形插画里的品牌单线图标（替代 emoji：教练台 / 部落 / 学校页） */
.illu-ico {
  width: 0.6rem;
  height: 0.6rem;
}

.illu-ico-sm {
  width: 0.54rem;
  height: 0.54rem;
}

/* ===== ICON-BLOCK:BEGIN（由 _tmp/gen_icons.py 生成，勿手改） ===== */

/* 单线图标：尺寸用 .ico 控制，颜色用 .ico-white / .ico-gold / .ico-soft 覆盖 */
.ico {
  width: 0.6rem;
  height: 0.6rem;
  flex-shrink: 0;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

.ico-xs { width: 0.4rem; height: 0.4rem; }
.ico-sm { width: 0.48rem; height: 0.48rem; }
.ico-lg { width: 0.76rem; height: 0.76rem; }
.ico-xl { width: 0.96rem; height: 0.96rem; }

body {
  --ic-route: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%2314352b'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M2.5%2018.5C6.5%2018.5%207.5%207.5%2012%207.5s5.5%209%209.5%209'/%3E%3Ccircle%20cx='3.2'%20cy='18.5'%20r='1.4'/%3E%3Ccircle%20cx='20.8'%20cy='16.5'%20r='1.4'/%3E%3C/svg%3E");
  --ic-map: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%2314352b'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M3%2010.2l5.6-2.4%206.8%202.4%205.6-2.4v9.8l-5.6%202.4-6.8-2.4L3%2020Z'/%3E%3Cpath%20d='M8.6%207.8v9.8M15.4%2010.2v9.8'/%3E%3Cpath%20d='M7%208.8c2.2-2.5%203.1-3.7%203.1-5.1a3.1%203.1%200%201%200-6.2%200c0%201.4.9%202.6%203.1%205.1Z'/%3E%3Ccircle%20cx='7'%20cy='3.9'%20r='1.1'/%3E%3Cpath%20d='M9.8%2011.2c2.8.4%203.8%201.5%204.2%202.7.4%201.3%201.9%202.2%204.1%202.3'%20stroke-dasharray='2%202.2'/%3E%3Ccircle%20cx='19.6'%20cy='16.4'%20r='1'/%3E%3C/svg%3E");
  --ic-book: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%2314352b'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M12%206.2C10%204.7%206.6%204.6%204%205.6v13.2c2.6-1%206-1%208%20.6%202-1.6%205.4-1.6%208-.6V5.6c-2.6-1-6-.9-8%20.6Z'/%3E%3Cpath%20d='M12%206.2v13.2'/%3E%3C/svg%3E");
  --ic-gift: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%2314352b'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M4.5%209.5h15V19a2%202%200%200%201-2%202h-11a2%202%200%200%201-2-2Z'/%3E%3Cpath%20d='M3%206h18v3.5H3zM12%206v15'/%3E%3Cpath%20d='M12%206c-1.5-3.2-5.2-2.6-4.2.2M12%206c1.5-3.2%205.2-2.6%204.2.2'/%3E%3C/svg%3E");
  --ic-tent: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%2314352b'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M12%204%202.6%2020h18.8Z'/%3E%3Cpath%20d='M12%2012.4%2015.4%2020h-6.8Z'/%3E%3C/svg%3E");
  --ic-medal: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%2314352b'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Ccircle%20cx='12'%20cy='9.6'%20r='5.8'/%3E%3Cpath%20d='M8.6%2014.8%207%2021l5-2.6L17%2021l-1.6-6.2'/%3E%3C/svg%3E");
  --ic-board: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%2314352b'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M5%205h14v16H5z'/%3E%3Cpath%20d='M9%203.4h6V6H9zM8.6%2011h7M8.6%2015h7'/%3E%3C/svg%3E");
  --ic-user: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%2314352b'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Ccircle%20cx='12'%20cy='8.2'%20r='3.6'/%3E%3Cpath%20d='M4.6%2020c1.6-4%205.2-5.6%207.4-5.6s5.8%201.6%207.4%205.6'/%3E%3C/svg%3E");
  --ic-team: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%2314352b'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Ccircle%20cx='12'%20cy='6'%20r='3'/%3E%3Cpath%20d='M7.2%2020c.3-4.3%202.3-6.5%204.8-6.5s4.5%202.2%204.8%206.5'/%3E%3Ccircle%20cx='5.2'%20cy='9.2'%20r='2.3'/%3E%3Cpath%20d='M1.6%2019.4c.5-3.3%201.9-5%203.7-5%201.1%200%202%20.5%202.7%201.4'/%3E%3Ccircle%20cx='18.8'%20cy='9.2'%20r='2.3'/%3E%3Cpath%20d='M22.4%2019.4c-.5-3.3-1.9-5-3.7-5-1.1%200-2%20.5-2.7%201.4'/%3E%3C/svg%3E");
  --ic-compass: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%2314352b'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Ccircle%20cx='12'%20cy='12'%20r='9'/%3E%3Cpath%20d='M15.6%208.4%2013.4%2013.4%208.4%2015.6%2010.6%2010.6Z'/%3E%3C/svg%3E");
  --ic-bear: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%2314352b'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Ccircle%20cx='5.4'%20cy='6.6'%20r='2.8'/%3E%3Ccircle%20cx='18.6'%20cy='6.6'%20r='2.8'/%3E%3Ccircle%20cx='12'%20cy='13.6'%20r='7.8'/%3E%3Ccircle%20cx='9'%20cy='12.4'%20r='1'/%3E%3Ccircle%20cx='15'%20cy='12.4'%20r='1'/%3E%3Ccircle%20cx='12'%20cy='15.4'%20r='1'/%3E%3Cpath%20d='M10.2%2017.8c.5.6%201.1.9%201.8.9s1.3-.3%201.8-.9'/%3E%3C/svg%3E");
  --ic-pin: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%2314352b'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M12%2021.2c5-6.2%207-8.6%207-11.7a7%207%200%201%200-14%200c0%203.1%202%205.5%207%2011.7Z'/%3E%3Ccircle%20cx='12'%20cy='9.4'%20r='2.6'/%3E%3C/svg%3E");
  --ic-mountain: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%2314352b'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M2%2019.4%208.6%206.6l4.4%207.6%203-5.2L22%2019.4Z'/%3E%3C/svg%3E");
  --ic-camera: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%2314352b'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M4%208.6h3.2L8.8%206h6.4l1.6%202.6H20v10.2H4Z'/%3E%3Ccircle%20cx='12'%20cy='13.4'%20r='3.2'/%3E%3C/svg%3E");
  --ic-ticket: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%2314352b'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M3.6%207h16.8v3.2a1.8%201.8%200%200%200%200%203.6V17H3.6v-3.2a1.8%201.8%200%200%200%200-3.6Z'/%3E%3C/svg%3E");
  --ic-arrow: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%2314352b'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M14.6%205.4H19v13.2h-4.4'/%3E%3Cpath%20d='M4.6%2012H15M11.6%208.6%2015%2012l-3.4%203.4'/%3E%3C/svg%3E");
  --ic-info: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%2314352b'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Ccircle%20cx='12'%20cy='12'%20r='9'/%3E%3Cpath%20d='M12%2010.8v6'/%3E%3Ccircle%20cx='12'%20cy='7.6'%20r='1'/%3E%3C/svg%3E");
  --ic-phone: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%2314352b'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M4.9%206.4c0-1%20.8-1.8%201.8-1.8h2.2l1.5%203.7-1.9%201.3a10.3%2010.3%200%200%200%204.1%204.1l1.3-1.9%203.7%201.5v2.2c0%201-.8%201.8-1.8%201.8C10.7%2017.3%204.9%2011.4%204.9%206.4Z'/%3E%3Cpath%20d='M14.4%204.2a5.4%205.4%200%200%201%205.4%205.4'/%3E%3C/svg%3E");
  --ic-ruler: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%2314352b'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M2.5%209h19v6h-19z'/%3E%3Cpath%20d='M6.5%209v2.6M10.5%209v3.6M14.5%209v2.6M18.5%209v3.6'/%3E%3C/svg%3E");
  --ic-scale: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%2314352b'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M4.4%206.6h15.2a1.6%201.6%200%200%201%201.6%201.6v9.6a1.6%201.6%200%200%201-1.6%201.6H4.4a1.6%201.6%200%200%201-1.6-1.6V8.2a1.6%201.6%200%200%201%201.6-1.6Z'/%3E%3Cpath%20d='M8.2%2014.4a4.4%204.4%200%200%201%207.6%200'/%3E%3Cpath%20d='M12%2014.4v-3.6'/%3E%3C/svg%3E");
  --ic-search: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%2314352b'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Ccircle%20cx='11'%20cy='11'%20r='6.4'/%3E%3Cpath%20d='m20.4%2020.4-4.9-4.9'/%3E%3C/svg%3E");
  --ic-play: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%2314352b'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M9.2%206.4%2018.2%2012l-9%205.6Z'/%3E%3C/svg%3E");
  --ic-video: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%2314352b'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M3.4%206.6h11.2a1.6%201.6%200%200%201%201.6%201.6v7.6a1.6%201.6%200%200%201-1.6%201.6H3.4a1.6%201.6%200%200%201-1.6-1.6V8.2a1.6%201.6%200%200%201%201.6-1.6Z'/%3E%3Cpath%20d='m16.2%2011%205.6-3.2v8.4L16.2%2013Z'/%3E%3C/svg%3E");
  --ic-service: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%2314352b'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M3.8%2011.5c0-4%203.7-7.3%208.2-7.3s8.2%203.3%208.2%207.3-3.7%207.3-8.2%207.3c-1%200-2-.2-2.9-.5L4.8%2020.4l1.3-3.5a7.1%207.1%200%200%201-2.3-5.4Z'/%3E%3Cpath%20d='M9.1%2010.6v2.4M12%2010.6v2.4M14.9%2010.6v2.4'/%3E%3C/svg%3E");
  --ic-feedback: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%2314352b'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M13.6%203.8H6.4A1.6%201.6%200%200%200%204.8%205.4v13.2a1.6%201.6%200%200%200%201.6%201.6h10.8a1.6%201.6%200%200%200%201.6-1.6V9.4Z'/%3E%3Cpath%20d='M13.6%203.8v5.6h6.2'/%3E%3Cpath%20d='M8.4%2013h7M8.4%2016.4h4.6'/%3E%3C/svg%3E");
}

.ico-white {
  --ic-route: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23f2f6f3'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M2.5%2018.5C6.5%2018.5%207.5%207.5%2012%207.5s5.5%209%209.5%209'/%3E%3Ccircle%20cx='3.2'%20cy='18.5'%20r='1.4'/%3E%3Ccircle%20cx='20.8'%20cy='16.5'%20r='1.4'/%3E%3C/svg%3E");
  --ic-map: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23f2f6f3'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M3%2010.2l5.6-2.4%206.8%202.4%205.6-2.4v9.8l-5.6%202.4-6.8-2.4L3%2020Z'/%3E%3Cpath%20d='M8.6%207.8v9.8M15.4%2010.2v9.8'/%3E%3Cpath%20d='M7%208.8c2.2-2.5%203.1-3.7%203.1-5.1a3.1%203.1%200%201%200-6.2%200c0%201.4.9%202.6%203.1%205.1Z'/%3E%3Ccircle%20cx='7'%20cy='3.9'%20r='1.1'/%3E%3Cpath%20d='M9.8%2011.2c2.8.4%203.8%201.5%204.2%202.7.4%201.3%201.9%202.2%204.1%202.3'%20stroke-dasharray='2%202.2'/%3E%3Ccircle%20cx='19.6'%20cy='16.4'%20r='1'/%3E%3C/svg%3E");
  --ic-book: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23f2f6f3'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M12%206.2C10%204.7%206.6%204.6%204%205.6v13.2c2.6-1%206-1%208%20.6%202-1.6%205.4-1.6%208-.6V5.6c-2.6-1-6-.9-8%20.6Z'/%3E%3Cpath%20d='M12%206.2v13.2'/%3E%3C/svg%3E");
  --ic-gift: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23f2f6f3'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M4.5%209.5h15V19a2%202%200%200%201-2%202h-11a2%202%200%200%201-2-2Z'/%3E%3Cpath%20d='M3%206h18v3.5H3zM12%206v15'/%3E%3Cpath%20d='M12%206c-1.5-3.2-5.2-2.6-4.2.2M12%206c1.5-3.2%205.2-2.6%204.2.2'/%3E%3C/svg%3E");
  --ic-tent: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23f2f6f3'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M12%204%202.6%2020h18.8Z'/%3E%3Cpath%20d='M12%2012.4%2015.4%2020h-6.8Z'/%3E%3C/svg%3E");
  --ic-medal: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23f2f6f3'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Ccircle%20cx='12'%20cy='9.6'%20r='5.8'/%3E%3Cpath%20d='M8.6%2014.8%207%2021l5-2.6L17%2021l-1.6-6.2'/%3E%3C/svg%3E");
  --ic-board: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23f2f6f3'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M5%205h14v16H5z'/%3E%3Cpath%20d='M9%203.4h6V6H9zM8.6%2011h7M8.6%2015h7'/%3E%3C/svg%3E");
  --ic-user: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23f2f6f3'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Ccircle%20cx='12'%20cy='8.2'%20r='3.6'/%3E%3Cpath%20d='M4.6%2020c1.6-4%205.2-5.6%207.4-5.6s5.8%201.6%207.4%205.6'/%3E%3C/svg%3E");
  --ic-team: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23f2f6f3'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Ccircle%20cx='12'%20cy='6'%20r='3'/%3E%3Cpath%20d='M7.2%2020c.3-4.3%202.3-6.5%204.8-6.5s4.5%202.2%204.8%206.5'/%3E%3Ccircle%20cx='5.2'%20cy='9.2'%20r='2.3'/%3E%3Cpath%20d='M1.6%2019.4c.5-3.3%201.9-5%203.7-5%201.1%200%202%20.5%202.7%201.4'/%3E%3Ccircle%20cx='18.8'%20cy='9.2'%20r='2.3'/%3E%3Cpath%20d='M22.4%2019.4c-.5-3.3-1.9-5-3.7-5-1.1%200-2%20.5-2.7%201.4'/%3E%3C/svg%3E");
  --ic-compass: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23f2f6f3'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Ccircle%20cx='12'%20cy='12'%20r='9'/%3E%3Cpath%20d='M15.6%208.4%2013.4%2013.4%208.4%2015.6%2010.6%2010.6Z'/%3E%3C/svg%3E");
  --ic-bear: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23f2f6f3'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Ccircle%20cx='5.4'%20cy='6.6'%20r='2.8'/%3E%3Ccircle%20cx='18.6'%20cy='6.6'%20r='2.8'/%3E%3Ccircle%20cx='12'%20cy='13.6'%20r='7.8'/%3E%3Ccircle%20cx='9'%20cy='12.4'%20r='1'/%3E%3Ccircle%20cx='15'%20cy='12.4'%20r='1'/%3E%3Ccircle%20cx='12'%20cy='15.4'%20r='1'/%3E%3Cpath%20d='M10.2%2017.8c.5.6%201.1.9%201.8.9s1.3-.3%201.8-.9'/%3E%3C/svg%3E");
  --ic-pin: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23f2f6f3'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M12%2021.2c5-6.2%207-8.6%207-11.7a7%207%200%201%200-14%200c0%203.1%202%205.5%207%2011.7Z'/%3E%3Ccircle%20cx='12'%20cy='9.4'%20r='2.6'/%3E%3C/svg%3E");
  --ic-mountain: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23f2f6f3'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M2%2019.4%208.6%206.6l4.4%207.6%203-5.2L22%2019.4Z'/%3E%3C/svg%3E");
  --ic-camera: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23f2f6f3'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M4%208.6h3.2L8.8%206h6.4l1.6%202.6H20v10.2H4Z'/%3E%3Ccircle%20cx='12'%20cy='13.4'%20r='3.2'/%3E%3C/svg%3E");
  --ic-ticket: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23f2f6f3'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M3.6%207h16.8v3.2a1.8%201.8%200%200%200%200%203.6V17H3.6v-3.2a1.8%201.8%200%200%200%200-3.6Z'/%3E%3C/svg%3E");
  --ic-arrow: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23f2f6f3'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M14.6%205.4H19v13.2h-4.4'/%3E%3Cpath%20d='M4.6%2012H15M11.6%208.6%2015%2012l-3.4%203.4'/%3E%3C/svg%3E");
  --ic-info: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23f2f6f3'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Ccircle%20cx='12'%20cy='12'%20r='9'/%3E%3Cpath%20d='M12%2010.8v6'/%3E%3Ccircle%20cx='12'%20cy='7.6'%20r='1'/%3E%3C/svg%3E");
  --ic-phone: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23f2f6f3'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M4.9%206.4c0-1%20.8-1.8%201.8-1.8h2.2l1.5%203.7-1.9%201.3a10.3%2010.3%200%200%200%204.1%204.1l1.3-1.9%203.7%201.5v2.2c0%201-.8%201.8-1.8%201.8C10.7%2017.3%204.9%2011.4%204.9%206.4Z'/%3E%3Cpath%20d='M14.4%204.2a5.4%205.4%200%200%201%205.4%205.4'/%3E%3C/svg%3E");
  --ic-ruler: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23f2f6f3'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M2.5%209h19v6h-19z'/%3E%3Cpath%20d='M6.5%209v2.6M10.5%209v3.6M14.5%209v2.6M18.5%209v3.6'/%3E%3C/svg%3E");
  --ic-scale: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23f2f6f3'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M4.4%206.6h15.2a1.6%201.6%200%200%201%201.6%201.6v9.6a1.6%201.6%200%200%201-1.6%201.6H4.4a1.6%201.6%200%200%201-1.6-1.6V8.2a1.6%201.6%200%200%201%201.6-1.6Z'/%3E%3Cpath%20d='M8.2%2014.4a4.4%204.4%200%200%201%207.6%200'/%3E%3Cpath%20d='M12%2014.4v-3.6'/%3E%3C/svg%3E");
  --ic-search: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23f2f6f3'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Ccircle%20cx='11'%20cy='11'%20r='6.4'/%3E%3Cpath%20d='m20.4%2020.4-4.9-4.9'/%3E%3C/svg%3E");
  --ic-play: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23f2f6f3'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M9.2%206.4%2018.2%2012l-9%205.6Z'/%3E%3C/svg%3E");
  --ic-video: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23f2f6f3'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M3.4%206.6h11.2a1.6%201.6%200%200%201%201.6%201.6v7.6a1.6%201.6%200%200%201-1.6%201.6H3.4a1.6%201.6%200%200%201-1.6-1.6V8.2a1.6%201.6%200%200%201%201.6-1.6Z'/%3E%3Cpath%20d='m16.2%2011%205.6-3.2v8.4L16.2%2013Z'/%3E%3C/svg%3E");
  --ic-service: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23f2f6f3'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M3.8%2011.5c0-4%203.7-7.3%208.2-7.3s8.2%203.3%208.2%207.3-3.7%207.3-8.2%207.3c-1%200-2-.2-2.9-.5L4.8%2020.4l1.3-3.5a7.1%207.1%200%200%201-2.3-5.4Z'/%3E%3Cpath%20d='M9.1%2010.6v2.4M12%2010.6v2.4M14.9%2010.6v2.4'/%3E%3C/svg%3E");
  --ic-feedback: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23f2f6f3'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M13.6%203.8H6.4A1.6%201.6%200%200%200%204.8%205.4v13.2a1.6%201.6%200%200%200%201.6%201.6h10.8a1.6%201.6%200%200%200%201.6-1.6V9.4Z'/%3E%3Cpath%20d='M13.6%203.8v5.6h6.2'/%3E%3Cpath%20d='M8.4%2013h7M8.4%2016.4h4.6'/%3E%3C/svg%3E");
}

.ico-gold {
  --ic-route: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23c9a227'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M2.5%2018.5C6.5%2018.5%207.5%207.5%2012%207.5s5.5%209%209.5%209'/%3E%3Ccircle%20cx='3.2'%20cy='18.5'%20r='1.4'/%3E%3Ccircle%20cx='20.8'%20cy='16.5'%20r='1.4'/%3E%3C/svg%3E");
  --ic-map: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23c9a227'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M3%2010.2l5.6-2.4%206.8%202.4%205.6-2.4v9.8l-5.6%202.4-6.8-2.4L3%2020Z'/%3E%3Cpath%20d='M8.6%207.8v9.8M15.4%2010.2v9.8'/%3E%3Cpath%20d='M7%208.8c2.2-2.5%203.1-3.7%203.1-5.1a3.1%203.1%200%201%200-6.2%200c0%201.4.9%202.6%203.1%205.1Z'/%3E%3Ccircle%20cx='7'%20cy='3.9'%20r='1.1'/%3E%3Cpath%20d='M9.8%2011.2c2.8.4%203.8%201.5%204.2%202.7.4%201.3%201.9%202.2%204.1%202.3'%20stroke-dasharray='2%202.2'/%3E%3Ccircle%20cx='19.6'%20cy='16.4'%20r='1'/%3E%3C/svg%3E");
  --ic-book: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23c9a227'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M12%206.2C10%204.7%206.6%204.6%204%205.6v13.2c2.6-1%206-1%208%20.6%202-1.6%205.4-1.6%208-.6V5.6c-2.6-1-6-.9-8%20.6Z'/%3E%3Cpath%20d='M12%206.2v13.2'/%3E%3C/svg%3E");
  --ic-gift: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23c9a227'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M4.5%209.5h15V19a2%202%200%200%201-2%202h-11a2%202%200%200%201-2-2Z'/%3E%3Cpath%20d='M3%206h18v3.5H3zM12%206v15'/%3E%3Cpath%20d='M12%206c-1.5-3.2-5.2-2.6-4.2.2M12%206c1.5-3.2%205.2-2.6%204.2.2'/%3E%3C/svg%3E");
  --ic-tent: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23c9a227'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M12%204%202.6%2020h18.8Z'/%3E%3Cpath%20d='M12%2012.4%2015.4%2020h-6.8Z'/%3E%3C/svg%3E");
  --ic-medal: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23c9a227'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Ccircle%20cx='12'%20cy='9.6'%20r='5.8'/%3E%3Cpath%20d='M8.6%2014.8%207%2021l5-2.6L17%2021l-1.6-6.2'/%3E%3C/svg%3E");
  --ic-board: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23c9a227'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M5%205h14v16H5z'/%3E%3Cpath%20d='M9%203.4h6V6H9zM8.6%2011h7M8.6%2015h7'/%3E%3C/svg%3E");
  --ic-user: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23c9a227'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Ccircle%20cx='12'%20cy='8.2'%20r='3.6'/%3E%3Cpath%20d='M4.6%2020c1.6-4%205.2-5.6%207.4-5.6s5.8%201.6%207.4%205.6'/%3E%3C/svg%3E");
  --ic-team: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23c9a227'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Ccircle%20cx='12'%20cy='6'%20r='3'/%3E%3Cpath%20d='M7.2%2020c.3-4.3%202.3-6.5%204.8-6.5s4.5%202.2%204.8%206.5'/%3E%3Ccircle%20cx='5.2'%20cy='9.2'%20r='2.3'/%3E%3Cpath%20d='M1.6%2019.4c.5-3.3%201.9-5%203.7-5%201.1%200%202%20.5%202.7%201.4'/%3E%3Ccircle%20cx='18.8'%20cy='9.2'%20r='2.3'/%3E%3Cpath%20d='M22.4%2019.4c-.5-3.3-1.9-5-3.7-5-1.1%200-2%20.5-2.7%201.4'/%3E%3C/svg%3E");
  --ic-compass: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23c9a227'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Ccircle%20cx='12'%20cy='12'%20r='9'/%3E%3Cpath%20d='M15.6%208.4%2013.4%2013.4%208.4%2015.6%2010.6%2010.6Z'/%3E%3C/svg%3E");
  --ic-bear: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23c9a227'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Ccircle%20cx='5.4'%20cy='6.6'%20r='2.8'/%3E%3Ccircle%20cx='18.6'%20cy='6.6'%20r='2.8'/%3E%3Ccircle%20cx='12'%20cy='13.6'%20r='7.8'/%3E%3Ccircle%20cx='9'%20cy='12.4'%20r='1'/%3E%3Ccircle%20cx='15'%20cy='12.4'%20r='1'/%3E%3Ccircle%20cx='12'%20cy='15.4'%20r='1'/%3E%3Cpath%20d='M10.2%2017.8c.5.6%201.1.9%201.8.9s1.3-.3%201.8-.9'/%3E%3C/svg%3E");
  --ic-pin: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23c9a227'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M12%2021.2c5-6.2%207-8.6%207-11.7a7%207%200%201%200-14%200c0%203.1%202%205.5%207%2011.7Z'/%3E%3Ccircle%20cx='12'%20cy='9.4'%20r='2.6'/%3E%3C/svg%3E");
  --ic-mountain: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23c9a227'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M2%2019.4%208.6%206.6l4.4%207.6%203-5.2L22%2019.4Z'/%3E%3C/svg%3E");
  --ic-camera: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23c9a227'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M4%208.6h3.2L8.8%206h6.4l1.6%202.6H20v10.2H4Z'/%3E%3Ccircle%20cx='12'%20cy='13.4'%20r='3.2'/%3E%3C/svg%3E");
  --ic-ticket: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23c9a227'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M3.6%207h16.8v3.2a1.8%201.8%200%200%200%200%203.6V17H3.6v-3.2a1.8%201.8%200%200%200%200-3.6Z'/%3E%3C/svg%3E");
  --ic-arrow: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23c9a227'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M14.6%205.4H19v13.2h-4.4'/%3E%3Cpath%20d='M4.6%2012H15M11.6%208.6%2015%2012l-3.4%203.4'/%3E%3C/svg%3E");
  --ic-info: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23c9a227'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Ccircle%20cx='12'%20cy='12'%20r='9'/%3E%3Cpath%20d='M12%2010.8v6'/%3E%3Ccircle%20cx='12'%20cy='7.6'%20r='1'/%3E%3C/svg%3E");
  --ic-phone: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23c9a227'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M4.9%206.4c0-1%20.8-1.8%201.8-1.8h2.2l1.5%203.7-1.9%201.3a10.3%2010.3%200%200%200%204.1%204.1l1.3-1.9%203.7%201.5v2.2c0%201-.8%201.8-1.8%201.8C10.7%2017.3%204.9%2011.4%204.9%206.4Z'/%3E%3Cpath%20d='M14.4%204.2a5.4%205.4%200%200%201%205.4%205.4'/%3E%3C/svg%3E");
  --ic-ruler: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23c9a227'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M2.5%209h19v6h-19z'/%3E%3Cpath%20d='M6.5%209v2.6M10.5%209v3.6M14.5%209v2.6M18.5%209v3.6'/%3E%3C/svg%3E");
  --ic-scale: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23c9a227'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M4.4%206.6h15.2a1.6%201.6%200%200%201%201.6%201.6v9.6a1.6%201.6%200%200%201-1.6%201.6H4.4a1.6%201.6%200%200%201-1.6-1.6V8.2a1.6%201.6%200%200%201%201.6-1.6Z'/%3E%3Cpath%20d='M8.2%2014.4a4.4%204.4%200%200%201%207.6%200'/%3E%3Cpath%20d='M12%2014.4v-3.6'/%3E%3C/svg%3E");
  --ic-search: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23c9a227'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Ccircle%20cx='11'%20cy='11'%20r='6.4'/%3E%3Cpath%20d='m20.4%2020.4-4.9-4.9'/%3E%3C/svg%3E");
  --ic-play: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23c9a227'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M9.2%206.4%2018.2%2012l-9%205.6Z'/%3E%3C/svg%3E");
  --ic-video: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23c9a227'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M3.4%206.6h11.2a1.6%201.6%200%200%201%201.6%201.6v7.6a1.6%201.6%200%200%201-1.6%201.6H3.4a1.6%201.6%200%200%201-1.6-1.6V8.2a1.6%201.6%200%200%201%201.6-1.6Z'/%3E%3Cpath%20d='m16.2%2011%205.6-3.2v8.4L16.2%2013Z'/%3E%3C/svg%3E");
  --ic-service: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23c9a227'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M3.8%2011.5c0-4%203.7-7.3%208.2-7.3s8.2%203.3%208.2%207.3-3.7%207.3-8.2%207.3c-1%200-2-.2-2.9-.5L4.8%2020.4l1.3-3.5a7.1%207.1%200%200%201-2.3-5.4Z'/%3E%3Cpath%20d='M9.1%2010.6v2.4M12%2010.6v2.4M14.9%2010.6v2.4'/%3E%3C/svg%3E");
  --ic-feedback: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23c9a227'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M13.6%203.8H6.4A1.6%201.6%200%200%200%204.8%205.4v13.2a1.6%201.6%200%200%200%201.6%201.6h10.8a1.6%201.6%200%200%200%201.6-1.6V9.4Z'/%3E%3Cpath%20d='M13.6%203.8v5.6h6.2'/%3E%3Cpath%20d='M8.4%2013h7M8.4%2016.4h4.6'/%3E%3C/svg%3E");
}

.ico-soft {
  --ic-route: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%238b918c'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M2.5%2018.5C6.5%2018.5%207.5%207.5%2012%207.5s5.5%209%209.5%209'/%3E%3Ccircle%20cx='3.2'%20cy='18.5'%20r='1.4'/%3E%3Ccircle%20cx='20.8'%20cy='16.5'%20r='1.4'/%3E%3C/svg%3E");
  --ic-map: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%238b918c'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M3%2010.2l5.6-2.4%206.8%202.4%205.6-2.4v9.8l-5.6%202.4-6.8-2.4L3%2020Z'/%3E%3Cpath%20d='M8.6%207.8v9.8M15.4%2010.2v9.8'/%3E%3Cpath%20d='M7%208.8c2.2-2.5%203.1-3.7%203.1-5.1a3.1%203.1%200%201%200-6.2%200c0%201.4.9%202.6%203.1%205.1Z'/%3E%3Ccircle%20cx='7'%20cy='3.9'%20r='1.1'/%3E%3Cpath%20d='M9.8%2011.2c2.8.4%203.8%201.5%204.2%202.7.4%201.3%201.9%202.2%204.1%202.3'%20stroke-dasharray='2%202.2'/%3E%3Ccircle%20cx='19.6'%20cy='16.4'%20r='1'/%3E%3C/svg%3E");
  --ic-book: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%238b918c'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M12%206.2C10%204.7%206.6%204.6%204%205.6v13.2c2.6-1%206-1%208%20.6%202-1.6%205.4-1.6%208-.6V5.6c-2.6-1-6-.9-8%20.6Z'/%3E%3Cpath%20d='M12%206.2v13.2'/%3E%3C/svg%3E");
  --ic-gift: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%238b918c'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M4.5%209.5h15V19a2%202%200%200%201-2%202h-11a2%202%200%200%201-2-2Z'/%3E%3Cpath%20d='M3%206h18v3.5H3zM12%206v15'/%3E%3Cpath%20d='M12%206c-1.5-3.2-5.2-2.6-4.2.2M12%206c1.5-3.2%205.2-2.6%204.2.2'/%3E%3C/svg%3E");
  --ic-tent: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%238b918c'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M12%204%202.6%2020h18.8Z'/%3E%3Cpath%20d='M12%2012.4%2015.4%2020h-6.8Z'/%3E%3C/svg%3E");
  --ic-medal: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%238b918c'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Ccircle%20cx='12'%20cy='9.6'%20r='5.8'/%3E%3Cpath%20d='M8.6%2014.8%207%2021l5-2.6L17%2021l-1.6-6.2'/%3E%3C/svg%3E");
  --ic-board: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%238b918c'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M5%205h14v16H5z'/%3E%3Cpath%20d='M9%203.4h6V6H9zM8.6%2011h7M8.6%2015h7'/%3E%3C/svg%3E");
  --ic-user: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%238b918c'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Ccircle%20cx='12'%20cy='8.2'%20r='3.6'/%3E%3Cpath%20d='M4.6%2020c1.6-4%205.2-5.6%207.4-5.6s5.8%201.6%207.4%205.6'/%3E%3C/svg%3E");
  --ic-team: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%238b918c'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Ccircle%20cx='12'%20cy='6'%20r='3'/%3E%3Cpath%20d='M7.2%2020c.3-4.3%202.3-6.5%204.8-6.5s4.5%202.2%204.8%206.5'/%3E%3Ccircle%20cx='5.2'%20cy='9.2'%20r='2.3'/%3E%3Cpath%20d='M1.6%2019.4c.5-3.3%201.9-5%203.7-5%201.1%200%202%20.5%202.7%201.4'/%3E%3Ccircle%20cx='18.8'%20cy='9.2'%20r='2.3'/%3E%3Cpath%20d='M22.4%2019.4c-.5-3.3-1.9-5-3.7-5-1.1%200-2%20.5-2.7%201.4'/%3E%3C/svg%3E");
  --ic-compass: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%238b918c'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Ccircle%20cx='12'%20cy='12'%20r='9'/%3E%3Cpath%20d='M15.6%208.4%2013.4%2013.4%208.4%2015.6%2010.6%2010.6Z'/%3E%3C/svg%3E");
  --ic-bear: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%238b918c'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Ccircle%20cx='5.4'%20cy='6.6'%20r='2.8'/%3E%3Ccircle%20cx='18.6'%20cy='6.6'%20r='2.8'/%3E%3Ccircle%20cx='12'%20cy='13.6'%20r='7.8'/%3E%3Ccircle%20cx='9'%20cy='12.4'%20r='1'/%3E%3Ccircle%20cx='15'%20cy='12.4'%20r='1'/%3E%3Ccircle%20cx='12'%20cy='15.4'%20r='1'/%3E%3Cpath%20d='M10.2%2017.8c.5.6%201.1.9%201.8.9s1.3-.3%201.8-.9'/%3E%3C/svg%3E");
  --ic-pin: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%238b918c'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M12%2021.2c5-6.2%207-8.6%207-11.7a7%207%200%201%200-14%200c0%203.1%202%205.5%207%2011.7Z'/%3E%3Ccircle%20cx='12'%20cy='9.4'%20r='2.6'/%3E%3C/svg%3E");
  --ic-mountain: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%238b918c'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M2%2019.4%208.6%206.6l4.4%207.6%203-5.2L22%2019.4Z'/%3E%3C/svg%3E");
  --ic-camera: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%238b918c'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M4%208.6h3.2L8.8%206h6.4l1.6%202.6H20v10.2H4Z'/%3E%3Ccircle%20cx='12'%20cy='13.4'%20r='3.2'/%3E%3C/svg%3E");
  --ic-ticket: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%238b918c'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M3.6%207h16.8v3.2a1.8%201.8%200%200%200%200%203.6V17H3.6v-3.2a1.8%201.8%200%200%200%200-3.6Z'/%3E%3C/svg%3E");
  --ic-arrow: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%238b918c'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M14.6%205.4H19v13.2h-4.4'/%3E%3Cpath%20d='M4.6%2012H15M11.6%208.6%2015%2012l-3.4%203.4'/%3E%3C/svg%3E");
  --ic-info: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%238b918c'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Ccircle%20cx='12'%20cy='12'%20r='9'/%3E%3Cpath%20d='M12%2010.8v6'/%3E%3Ccircle%20cx='12'%20cy='7.6'%20r='1'/%3E%3C/svg%3E");
  --ic-phone: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%238b918c'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M4.9%206.4c0-1%20.8-1.8%201.8-1.8h2.2l1.5%203.7-1.9%201.3a10.3%2010.3%200%200%200%204.1%204.1l1.3-1.9%203.7%201.5v2.2c0%201-.8%201.8-1.8%201.8C10.7%2017.3%204.9%2011.4%204.9%206.4Z'/%3E%3Cpath%20d='M14.4%204.2a5.4%205.4%200%200%201%205.4%205.4'/%3E%3C/svg%3E");
  --ic-ruler: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%238b918c'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M2.5%209h19v6h-19z'/%3E%3Cpath%20d='M6.5%209v2.6M10.5%209v3.6M14.5%209v2.6M18.5%209v3.6'/%3E%3C/svg%3E");
  --ic-scale: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%238b918c'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M4.4%206.6h15.2a1.6%201.6%200%200%201%201.6%201.6v9.6a1.6%201.6%200%200%201-1.6%201.6H4.4a1.6%201.6%200%200%201-1.6-1.6V8.2a1.6%201.6%200%200%201%201.6-1.6Z'/%3E%3Cpath%20d='M8.2%2014.4a4.4%204.4%200%200%201%207.6%200'/%3E%3Cpath%20d='M12%2014.4v-3.6'/%3E%3C/svg%3E");
  --ic-search: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%238b918c'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Ccircle%20cx='11'%20cy='11'%20r='6.4'/%3E%3Cpath%20d='m20.4%2020.4-4.9-4.9'/%3E%3C/svg%3E");
  --ic-play: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%238b918c'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M9.2%206.4%2018.2%2012l-9%205.6Z'/%3E%3C/svg%3E");
  --ic-video: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%238b918c'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M3.4%206.6h11.2a1.6%201.6%200%200%201%201.6%201.6v7.6a1.6%201.6%200%200%201-1.6%201.6H3.4a1.6%201.6%200%200%201-1.6-1.6V8.2a1.6%201.6%200%200%201%201.6-1.6Z'/%3E%3Cpath%20d='m16.2%2011%205.6-3.2v8.4L16.2%2013Z'/%3E%3C/svg%3E");
  --ic-service: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%238b918c'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M3.8%2011.5c0-4%203.7-7.3%208.2-7.3s8.2%203.3%208.2%207.3-3.7%207.3-8.2%207.3c-1%200-2-.2-2.9-.5L4.8%2020.4l1.3-3.5a7.1%207.1%200%200%201-2.3-5.4Z'/%3E%3Cpath%20d='M9.1%2010.6v2.4M12%2010.6v2.4M14.9%2010.6v2.4'/%3E%3C/svg%3E");
  --ic-feedback: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%238b918c'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M13.6%203.8H6.4A1.6%201.6%200%200%200%204.8%205.4v13.2a1.6%201.6%200%200%200%201.6%201.6h10.8a1.6%201.6%200%200%200%201.6-1.6V9.4Z'/%3E%3Cpath%20d='M13.6%203.8v5.6h6.2'/%3E%3Cpath%20d='M8.4%2013h7M8.4%2016.4h4.6'/%3E%3C/svg%3E");
}

.ico-route { background-image: var(--ic-route); }
.ico-map { background-image: var(--ic-map); }
.ico-book { background-image: var(--ic-book); }
.ico-gift { background-image: var(--ic-gift); }
.ico-tent { background-image: var(--ic-tent); }
.ico-medal { background-image: var(--ic-medal); }
.ico-board { background-image: var(--ic-board); }
.ico-user { background-image: var(--ic-user); }
.ico-team { background-image: var(--ic-team); }
.ico-compass { background-image: var(--ic-compass); }
.ico-bear { background-image: var(--ic-bear); }
.ico-pin { background-image: var(--ic-pin); }
.ico-mountain { background-image: var(--ic-mountain); }
.ico-camera { background-image: var(--ic-camera); }
.ico-ticket { background-image: var(--ic-ticket); }
.ico-arrow { background-image: var(--ic-arrow); }
.ico-info { background-image: var(--ic-info); }
.ico-phone { background-image: var(--ic-phone); }
.ico-ruler { background-image: var(--ic-ruler); }
.ico-scale { background-image: var(--ic-scale); }
.ico-search { background-image: var(--ic-search); }
.ico-play { background-image: var(--ic-play); }
.ico-video { background-image: var(--ic-video); }
.ico-service { background-image: var(--ic-service); }
.ico-feedback { background-image: var(--ic-feedback); }

/* ===== ICON-BLOCK:END ===== */

/* ===== PAGE-SHARED：学校 / 师资 / 定制 三页共用（about 页自带同值副本，不冲突） ===== */

.about-hero {
  padding-bottom: 1.08rem;
}

.ab-note {
  margin-top: 0.22rem;
  padding-left: 0.22rem;
  border-left: 0.03rem solid var(--wb-hair);
  font-size: 0.22rem;
  color: var(--wb-muted);
  line-height: 1.7;
}

/* --- 教练行 --- */

.coach-avatar {
  width: 0.84rem;
  height: 0.84rem;
  flex-shrink: 0;
  margin-right: 0.24rem;
  border-radius: 50%;
  background: var(--wb-green);
  color: #fff;
  font-size: 0.32rem;
  font-weight: 600;
  display: flex;
  align-items: center;
  justify-content: center;
}

.coach-name {
  font-size: 0.32rem;
  font-weight: 700;
  color: var(--wb-green);
  line-height: 1.2;
}

.coach-role {
  margin-top: 0.08rem;
  font-size: 0.21rem;
  color: var(--wb-gold);
  letter-spacing: 0.01rem;
}

.coach-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.1rem;
  margin-top: 0.16rem;
}

.coach-tag {
  font-size: 0.2rem;
  color: var(--wb-green-2);
  background: var(--wb-green-mist);
  border-radius: 0.06rem;
  padding: 0.04rem 0.12rem;
}

/* --- 左线分区条目（安全 / 分工） --- */

.hair-item {
  padding: 0.2rem 0 0.2rem 0.26rem;
  border-left: 0.03rem solid var(--wb-hair);
}

.hair-item:first-of-type {
  border-left-color: var(--wb-gold);
}

.hair-name {
  font-size: 0.26rem;
  font-weight: 700;
  color: var(--wb-green);
}

.hair-desc {
  margin-top: 0.06rem;
  font-size: 0.22rem;
  color: var(--wb-muted);
  line-height: 1.66;
}

/* --- 咨询卡 --- */

.contact-card {
  background: var(--wb-green);
  border-radius: 0.22rem;
  padding: 0.4rem 0.34rem 0.34rem;
}

.cc-title {
  margin-top: 0.14rem;
  font-size: 0.4rem;
  font-weight: 700;
  color: #fff;
  line-height: 1.32;
}

.cc-row {
  margin-top: 0.16rem;
  font-size: 0.23rem;
  color: rgba(255, 255, 255, 0.76);
  line-height: 1.6;
}

.cc-phone {
  display: flex;
  align-items: center;
  margin-top: 0.3rem;
  padding-top: 0.26rem;
  border-top: 0.01rem solid rgba(255, 255, 255, 0.16);
}

.cc-phone .ico {
  margin-right: 0.16rem;
}

.ccp-num {
  font-size: 0.34rem;
  font-weight: 700;
  color: #fff;
  letter-spacing: 0.01rem;
}

.ccp-note {
  margin-left: auto;
  font-size: 0.2rem;
  color: rgba(255, 255, 255, 0.56);
}

.cc-tip {
  margin-top: 0.2rem;
  font-size: 0.21rem;
  color: rgba(255, 255, 255, 0.6);
  line-height: 1.7;
}

/* ===== PAGE-SHARED 2：《荒野之书》十章 + 进阶篇（about / brand 两页共用） ===== */

.chapter-grid {
  display: flex;
  flex-wrap: wrap;
}

.chapter-cell {
  width: 50%;
  padding: 0.2rem 0;
  box-sizing: border-box;
  border-top: 0.01rem solid var(--wb-hair);
}

.chapter-cell:nth-child(odd) {
  padding-right: 0.24rem;
}

.chapter-cell:nth-child(even) {
  padding-left: 0.24rem;
  border-left: 0.01rem solid var(--wb-hair);
}

.ch-no {
  font-size: 0.19rem;
  letter-spacing: 0.01rem;
  color: var(--wb-gold);
}

.ch-name {
  margin-top: 0.06rem;
  font-size: 0.28rem;
  font-weight: 600;
  color: var(--wb-green);
}

.ch-name-hl {
  color: var(--wb-clay);
}

.next-season {
  margin-top: 0.3rem;
}

.np-head {
  font-size: 0.27rem;
  font-weight: 700;
  color: var(--wb-green);
}

.np-tail {
  margin-left: 0.08rem;
  font-size: 0.21rem;
  font-weight: 400;
  color: var(--wb-muted);
}

.ns-row {
  display: flex;
  gap: 0.14rem;
  margin-top: 0.16rem;
}

.ns-item {
  flex: 1;
  text-align: center;
  padding: 0.16rem 0;
  font-size: 0.22rem;
  color: var(--wb-green-2);
  background: var(--wb-green-mist);
  border-radius: 0.1rem;
}

/* ===== REVIEW-BLOCK：活动点评（活动详情页展示 / 相册页引导 / 点评页提交，三处共用） ===== */

/* ---- 星级字：金色实心 / 线色空心，全文统一用这一对 ---- */
.rv-star {
  font-size: 0.24rem;
  line-height: 1;
  color: var(--wb-line);
}
.rv-star.on {
  color: var(--wb-gold);
}

/* ---- 总览：左边一个大分数，右边五星分布 ---- */
.rv-sum {
  display: flex;
  align-items: center;
  gap: 0.3rem;
  padding: 0.04rem 0 0.24rem;
}
.rv-sum-left {
  width: 1.8rem;
  flex-shrink: 0;
}
.rv-avg {
  font-size: 0.76rem;
  line-height: 1;
  letter-spacing: -0.02rem;
  color: var(--wb-green);
}
.rv-avg-unit {
  font-size: 0.26rem;
  color: var(--wb-muted);
  margin-left: 0.06rem;
}
.rv-sum-stars {
  display: flex;
  gap: 0.05rem;
  margin: 0.14rem 0 0.1rem;
}
.rv-sum-count {
  font-size: 0.22rem;
  color: var(--wb-muted);
}
.rv-dist {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.11rem;
}
.rv-dist-row {
  display: flex;
  align-items: center;
  gap: 0.12rem;
}
.rv-dist-label {
  width: 0.58rem;
  flex-shrink: 0;
  font-size: 0.21rem;
  color: var(--wb-faint);
}
.rv-bar {
  flex: 1;
  height: 0.08rem;
  border-radius: 0.08rem;
  background: var(--wb-line-soft);
  overflow: hidden;
}
.rv-bar-in {
  height: 100%;
  border-radius: 0.08rem;
  background: var(--wb-gold);
}
.rv-dist-num {
  width: 0.36rem;
  flex-shrink: 0;
  text-align: right;
  font-size: 0.21rem;
  color: var(--wb-muted);
}

/* ---- 单条点评 ---- */
.rv-item {
  display: flex;
  gap: 0.2rem;
  padding: 0.26rem 0;
  border-top: 0.02rem solid var(--wb-hair-soft);
}
.rv-avatar {
  width: 0.68rem;
  height: 0.68rem;
  flex-shrink: 0;
  border-radius: 50%;
  background: var(--wb-green-wash);
  color: var(--wb-green-3);
  font-size: 0.3rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
.rv-body {
  flex: 1;
  min-width: 0;
}
.rv-body-head {
  display: flex;
  align-items: center;
  gap: 0.12rem;
}
.rv-name {
  font-size: 0.27rem;
  color: var(--wb-ink);
}
.rv-time {
  font-size: 0.21rem;
  color: var(--wb-faint);
}
.rv-body-stars {
  display: flex;
  gap: 0.03rem;
  margin-left: auto;
}
.rv-body-stars .rv-star {
  font-size: 0.2rem;
}
.rv-text {
  margin-top: 0.1rem;
  font-size: 0.26rem;
  line-height: 1.62;
  color: var(--wb-ink-2);
}
.rv-more {
  margin-top: 0.06rem;
  padding-top: 0.2rem;
  border-top: 0.02rem solid var(--wb-hair-soft);
  font-size: 0.24rem;
  color: var(--wb-muted);
}

/* ---- 「写点评」引导条：详情页与相册页共用 ---- */
.rv-cta {
  display: flex;
  align-items: center;
  gap: 0.22rem;
}
.rv-cta-mark {
  width: 0.76rem;
  height: 0.76rem;
  flex-shrink: 0;
  border-radius: 50%;
  background: var(--wb-gold-soft);
  color: var(--wb-gold-ink);
  font-size: 0.34rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
.rv-cta-title {
  font-size: 0.29rem;
  color: var(--wb-ink);
}
.rv-cta-sub {
  margin-top: 0.06rem;
  font-size: 0.22rem;
  line-height: 1.5;
  color: var(--wb-muted);
}
.rv-blank {
  font-size: 0.26rem;
  line-height: 1.6;
  color: var(--wb-muted);
}

/* ---- 提交页 ---- */
.footer-tip {
  flex: 1;
  min-width: 0;
}
.rv-foot-label {
  font-size: 0.26rem;
  color: var(--wb-ink);
}
.rv-submit {
  flex-shrink: 0;
  min-width: 2.9rem;
}
.rv-gate-title {
  font-size: 0.34rem;
  color: var(--wb-ink);
}
.rv-gate-sub {
  margin-top: 0.14rem;
  font-size: 0.26rem;
  line-height: 1.65;
  color: var(--wb-ink-2);
}
.rv-gate-btn {
  margin-top: 0.34rem;
}
.rv-label {
  font-size: 0.22rem;
  letter-spacing: 0.02rem;
  color: var(--wb-muted);
}
.rv-label-tight {
  margin-bottom: 0.08rem;
  font-size: 0.28rem;
  letter-spacing: 0;
  color: var(--wb-ink-2);
}
.rv-sub {
  font-size: 0.22rem;
  line-height: 1.55;
  color: var(--wb-muted);
}
.rv-starpick {
  display: flex;
  gap: 0.16rem;
  margin: 0.2rem 0 0.16rem;
}
.rv-star-btn {
  width: 0.92rem;
  height: 0.92rem;
  line-height: 0.92rem;
  text-align: center;
  font-size: 0.54rem;
  color: var(--wb-line);
}
.rv-star-btn.on {
  color: var(--wb-gold);
}
.rv-hint {
  font-size: 0.25rem;
  color: var(--wb-gold-ink);
}
.rv-textarea {
  width: 100%;
  box-sizing: border-box;
  min-height: 2.4rem;
  margin-top: 0.16rem;
  font-size: 0.28rem;
  line-height: 1.62;
  color: var(--wb-ink);
}
.rv-ph {
  color: var(--wb-faint);
}
.rv-count {
  text-align: right;
  font-size: 0.22rem;
  color: var(--wb-faint);
}
.rv-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.12rem;
  margin-top: 0.18rem;
}
.rv-tag {
  font-size: 0.24rem;
}
.rv-input {
  margin-top: 0.14rem;
}
.rv-inline {
  display: flex;
  align-items: center;
  gap: 0.18rem;
  margin-top: 0.18rem;
}
.rv-anon {
  flex-shrink: 0;
  font-size: 0.24rem;
  color: var(--wb-green-3);
  border-bottom: 0.02rem solid var(--wb-hair);
  padding-bottom: 0.03rem;
}
.rv-hint-sm {
  flex: 1;
  min-width: 0;
  font-size: 0.21rem;
  line-height: 1.5;
  color: var(--wb-faint);
}
.rv-note {
  margin-top: 0.2rem;
  padding: 0.18rem 0.22rem;
  border-radius: var(--wb-radius-sm);
  background: var(--wb-paper-2);
  font-size: 0.23rem;
  line-height: 1.6;
  color: var(--wb-ink-2);
}
.rv-note-on {
  background: var(--wb-gold-soft);
  color: var(--wb-gold-ink);
}
.rv-promise {
  margin-top: var(--s-4);
  padding-top: 0.26rem;
  border-top: 0.02rem solid var(--wb-hair);
}
.rv-promise-row {
  display: flex;
  align-items: flex-start;
  gap: 0.14rem;
  margin-bottom: 0.12rem;
  font-size: 0.24rem;
  line-height: 1.6;
  color: var(--wb-ink-2);
}
.rv-dot {
  width: 0.1rem;
  height: 0.1rem;
  margin-top: 0.13rem;
  flex-shrink: 0;
  border-radius: 50%;
  background: var(--wb-gold);
}
