/* ===== pages/index/index ===== */
#mpScreen[data-route="pages/index/index"]{
  background-color: var(--mp-n100);
  font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Display', 'SF Pro Text', 'Helvetica Neue', 'PingFang SC', 'Noto Sans SC', sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  letter-spacing: -0.022em;
  font-weight: 400;}

/* ========== 地址选择器显示文本 - 美化字体 ========== */#mpScreen[data-route="pages/index/index"] .address-picker-select-text{
  font-size: calc(28 * var(--mprpx));
  line-height: 1.5;
  font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Display', 'PingFang SC', 'Noto Sans SC', sans-serif;
  font-weight: 500;
  color: var(--mp-ink1);
  letter-spacing: -0.018em;
  word-break: break-all;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  position: relative;}

/* 地址选择器占位态样式 - 未选择时显示提示文案，使用柔和的灰色和轻量字重 */#mpScreen[data-route="pages/index/index"] .address-picker-select-text:empty,
#mpScreen[data-route="pages/index/index"] .address-picker-select-text:only-child,
#mpScreen[data-route="pages/index/index"] .address-picker-select-text.is-placeholder{
  color: var(--mp-n68);
  font-weight: 400;
  font-size: calc(26 * var(--mprpx));
  letter-spacing: -0.01em;
  display: flex;
  align-items: center;
  gap: calc(8 * var(--mprpx));}

/* 已选地址富文本样式 - 选中后使用主题色点缀 */#mpScreen[data-route="pages/index/index"] .address-picker-has-value .address-picker-select-text{
  color: var(--mp-b1);
  font-weight: 600;}

/* 长地址文本优雅截断动画 - 超过一行时平滑渐隐 */#mpScreen[data-route="pages/index/index"] .address-picker-select-text.ellipsis-animated{
  background: linear-gradient(to right, var(--mp-n08) 70%, transparent 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;}#mpScreen[data-route="pages/index/index"] .page-container{
  display: flex;
  flex-direction: column;
  height: calc(100 * var(--mpvh));
  /* 手机内置浏览器（微信/Safari）的工具栏沉降后不一定再触发 resize，--mpvh 就会算大，
     这个盒子一旦比真正的滚动区高，末尾的底栏就被 overflow:hidden 裁到框外、还滚不回来。
     max-height 把它永远钳在滚动区自身高度上：数字算错也丢不了底栏。 */
  max-height: 100%;
  overflow: hidden;
  position: relative;
  width: 100%;
  max-width: calc(100 * var(--mpvw));}

/* ========== 角色选择弹窗 - 圆角大卡片宠物风设计 ========== */#mpScreen[data-route="pages/index/index"] .modal-overlay{
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: color-mix(in srgb, var(--mp-n00), transparent 45%);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 1000;}#mpScreen[data-route="pages/index/index"] .modal-mask{
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;}#mpScreen[data-route="pages/index/index"] .modal-main{
  width: calc(84 * var(--mpvw));
  max-width: calc(640 * var(--mprpx));
  max-height: calc(88 * var(--mpvh));
  background: var(--mp-n100);
  border-radius: calc(48 * var(--mprpx));
  position: relative;
  overflow: hidden;
  box-sizing: border-box;
  padding: 0;
  box-shadow: 0 calc(20 * var(--mprpx)) calc(70 * var(--mprpx)) color-mix(in srgb, var(--mp-n00), transparent 82%), 0 calc(4 * var(--mprpx)) calc(16 * var(--mprpx)) color-mix(in srgb, var(--mp-n00), transparent 92%);
  display: flex;
  flex-direction: column;}#mpScreen[data-route="pages/index/index"] .modal-close{
  position: absolute;
  top: calc(20 * var(--mprpx));
  right: calc(20 * var(--mprpx));
  width: calc(56 * var(--mprpx));
  height: calc(56 * var(--mprpx));
  border-radius: 50%;
  background-color: color-mix(in srgb, var(--mp-n00), transparent 94%);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10;
  transition: background-color 0.2s ease;}#mpScreen[data-route="pages/index/index"] .modal-close:active{
  background-color: color-mix(in srgb, var(--mp-n00), transparent 88%);}#mpScreen[data-route="pages/index/index"] .modal-close-icon{
  font-size: calc(28 * var(--mprpx));
  color: var(--mp-n60);
  font-weight: 600;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;}

/* 头像区域 */#mpScreen[data-route="pages/index/index"] .modal-avatar-section{
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: calc(60 * var(--mprpx)) 0 calc(24 * var(--mprpx));
  background: linear-gradient(180deg, var(--mp-w96) 0%, var(--mp-n100) 100%);}#mpScreen[data-route="pages/index/index"] .modal-paw-deco{
  position: absolute;
  font-size: calc(34 * var(--mprpx));
  opacity: 0.3;
  line-height: 1;}#mpScreen[data-route="pages/index/index"] .paw-deco-tl{ top: calc(28 * var(--mprpx)); left: calc(56 * var(--mprpx));}#mpScreen[data-route="pages/index/index"] .paw-deco-tr{ top: calc(28 * var(--mprpx)); right: calc(56 * var(--mprpx));}#mpScreen[data-route="pages/index/index"] .paw-deco-bl{ bottom: calc(38 * var(--mprpx)); left: calc(56 * var(--mprpx));}#mpScreen[data-route="pages/index/index"] .paw-deco-br{ bottom: calc(38 * var(--mprpx)); right: calc(56 * var(--mprpx));}#mpScreen[data-route="pages/index/index"] .modal-avatar-wrapper{
  width: calc(148 * var(--mprpx));
  height: calc(148 * var(--mprpx));
  border-radius: 50%;
  border: calc(5 * var(--mprpx)) solid var(--mp-line4);
  box-shadow: 0 calc(6 * var(--mprpx)) calc(24 * var(--mprpx)) color-mix(in srgb, var(--mp-n00), transparent 90%), 0 0 0 calc(8 * var(--mprpx)) color-mix(in srgb, var(--mp-b2), transparent 90%);
  overflow: hidden;
  flex-shrink: 0;
  box-sizing: border-box;
  background-color: var(--mp-w96);}#mpScreen[data-route="pages/index/index"] .modal-avatar-img{
  width: 100%;
  height: 100%;
  border-radius: 50%;}

/* 标题区域 */#mpScreen[data-route="pages/index/index"] .modal-title-section{
  display: flex;
  align-items: center;
  justify-content: center;
  padding: calc(12 * var(--mprpx)) 0 calc(6 * var(--mprpx));
  gap: calc(14 * var(--mprpx));}#mpScreen[data-route="pages/index/index"] .modal-title-emoji{
  font-size: calc(40 * var(--mprpx));
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  filter: drop-shadow(0 calc(2 * var(--mprpx)) calc(4 * var(--mprpx)) color-mix(in srgb, var(--mp-n00), transparent 92%));}#mpScreen[data-route="pages/index/index"] .modal-app-title{
  font-size: calc(48 * var(--mprpx));
  font-weight: 800;
  color: var(--mp-ink1);
  letter-spacing: -0.03em;
  line-height: 1.2;}

/* 副标题区域 */#mpScreen[data-route="pages/index/index"] .modal-subtitle-section{
  display: flex;
  align-items: center;
  justify-content: center;
  padding: calc(10 * var(--mprpx)) 0 calc(20 * var(--mprpx));
  gap: calc(10 * var(--mprpx));}#mpScreen[data-route="pages/index/index"] .modal-subtitle-emoji{
  font-size: calc(26 * var(--mprpx));
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;}#mpScreen[data-route="pages/index/index"] .modal-subtitle-heart{
  font-size: calc(22 * var(--mprpx));
  animation: heartBeat 1.2s ease-in-out infinite;}

@keyframes heartBeat {
  0%, 100% { transform: scale(1); }
  15% { transform: scale(1.25); }
  30% { transform: scale(1); }
  45% { transform: scale(1.25); }
  60% { transform: scale(1); }
}#mpScreen[data-route="pages/index/index"] .modal-subtitle-text{
  font-size: calc(26 * var(--mprpx));
  color: var(--mp-n60);
  font-weight: 400;
  letter-spacing: -0.01em;
  line-height: 1.4;}

/* 身份选项卡片区域 */#mpScreen[data-route="pages/index/index"] .modal-options-section{
  padding: 0 calc(32 * var(--mprpx)) calc(20 * var(--mprpx));
  display: flex;
  flex-direction: column;
  gap: calc(18 * var(--mprpx));}#mpScreen[data-route="pages/index/index"] .modal-role-card{
  display: flex;
  align-items: center;
  padding: calc(30 * var(--mprpx)) calc(26 * var(--mprpx));
  background-color: var(--mp-n100);
  border-radius: calc(26 * var(--mprpx));
  border: calc(2 * var(--mprpx)) solid color-mix(in srgb, var(--mp-n00), transparent 96%);
  box-sizing: border-box;
  transition: all 0.2s ease;
  position: relative;
  box-shadow: 0 calc(2 * var(--mprpx)) calc(8 * var(--mprpx)) color-mix(in srgb, var(--mp-n00), transparent 97%);}#mpScreen[data-route="pages/index/index"] .modal-role-card:active{
  background-color: var(--mp-w96);
  border-color: color-mix(in srgb, var(--mp-b2), transparent 70%);
  transform: scale(0.98);
  box-shadow: 0 calc(4 * var(--mprpx)) calc(16 * var(--mprpx)) color-mix(in srgb, var(--mp-b2), transparent 90%);}#mpScreen[data-route="pages/index/index"] .modal-role-card-left{
  width: calc(76 * var(--mprpx));
  height: calc(76 * var(--mprpx));
  border-radius: 50%;
  background: linear-gradient(135deg, var(--mp-w96), var(--mp-w92));
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin-right: calc(22 * var(--mprpx));
  box-shadow: 0 calc(2 * var(--mprpx)) calc(8 * var(--mprpx)) color-mix(in srgb, var(--mp-b2), transparent 90%);}#mpScreen[data-route="pages/index/index"] .modal-role-card-emoji{
  font-size: calc(38 * var(--mprpx));
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;}#mpScreen[data-route="pages/index/index"] .modal-role-card-center{
  flex: 1;
  min-width: 0;}#mpScreen[data-route="pages/index/index"] .modal-role-card-title{
  display: block;
  font-size: calc(28 * var(--mprpx));
  font-weight: 700;
  color: var(--mp-ink1);
  margin-bottom: calc(8 * var(--mprpx));
  letter-spacing: -0.015em;
  line-height: 1.3;}#mpScreen[data-route="pages/index/index"] .modal-role-card-desc{
  display: block;
  font-size: calc(22 * var(--mprpx));
  color: var(--mp-n60);
  font-weight: 400;
  line-height: 1.4;}#mpScreen[data-route="pages/index/index"] .modal-role-card-right{
  flex-shrink: 0;
  margin-left: calc(14 * var(--mprpx));
  display: flex;
  align-items: center;
  justify-content: center;}#mpScreen[data-route="pages/index/index"] .modal-role-card-arrow{
  font-size: calc(36 * var(--mprpx));
  color: var(--mp-n85);
  font-weight: 300;
  line-height: 1;}

/* Language 切换按钮区域 */#mpScreen[data-route="pages/index/index"] .modal-lang-section{
  padding: 0 calc(32 * var(--mprpx)) calc(8 * var(--mprpx));
  display: flex;
  flex-direction: column;}#mpScreen[data-route="pages/index/index"] .modal-lang-btn{
  display: flex;
  align-items: center;
  padding: calc(22 * var(--mprpx)) calc(26 * var(--mprpx));
  background-color: var(--mp-n100);
  border-radius: calc(26 * var(--mprpx));
  border: calc(2 * var(--mprpx)) solid color-mix(in srgb, var(--mp-x00), transparent 88%);
  box-sizing: border-box;
  transition: all 0.2s ease;
  box-shadow: 0 calc(2 * var(--mprpx)) calc(8 * var(--mprpx)) color-mix(in srgb, var(--mp-x01), transparent 96%);}#mpScreen[data-route="pages/index/index"] .modal-lang-btn:active{
  background-color: var(--mp-x02);
  border-color: color-mix(in srgb, var(--mp-x00), transparent 70%);
  transform: scale(0.98);}#mpScreen[data-route="pages/index/index"] .modal-lang-btn-icon{
  font-size: calc(34 * var(--mprpx));
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: calc(16 * var(--mprpx));
  flex-shrink: 0;}#mpScreen[data-route="pages/index/index"] .modal-lang-btn-text{
  flex: 1;
  font-size: calc(26 * var(--mprpx));
  font-weight: 600;
  color: var(--mp-x03);
  letter-spacing: -0.01em;
  line-height: 1.3;
  display: flex;
  align-items: center;}#mpScreen[data-route="pages/index/index"] .modal-lang-btn-arrow{
  font-size: calc(36 * var(--mprpx));
  color: var(--mp-x04);
  font-weight: 300;
  line-height: 1;
  flex-shrink: 0;
  margin-left: calc(14 * var(--mprpx));
  display: flex;
  align-items: center;
  justify-content: center;}

/* 底部区域 */#mpScreen[data-route="pages/index/index"] .modal-bottom-section{
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 0 calc(32 * var(--mprpx)) calc(36 * var(--mprpx));
  gap: calc(18 * var(--mprpx));}#mpScreen[data-route="pages/index/index"] .modal-privacy-row{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: calc(6 * var(--mprpx));
  flex-wrap: wrap;
  padding: calc(4 * var(--mprpx)) 0;}#mpScreen[data-route="pages/index/index"] .modal-privacy-checkbox{
  width: calc(32 * var(--mprpx));
  height: calc(32 * var(--mprpx));
  border-radius: 50%;
  border: calc(2 * var(--mprpx)) solid var(--mp-line3);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  box-sizing: border-box;
  transition: all 0.25s ease;}#mpScreen[data-route="pages/index/index"] .modal-privacy-checkbox.checked{
  border-color: var(--mp-b2);
  background-color: var(--mp-b2);}#mpScreen[data-route="pages/index/index"] .modal-privacy-checkmark{
  font-size: calc(18 * var(--mprpx));
  color: var(--mp-inkOn);
  font-weight: 700;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;}#mpScreen[data-route="pages/index/index"] .modal-privacy-text{
  font-size: calc(22 * var(--mprpx));
  color: var(--mp-n60);
  font-weight: 400;
  line-height: 1.4;}#mpScreen[data-route="pages/index/index"] .modal-privacy-link{
  color: var(--mp-b2);
  font-weight: 600;
  font-size: calc(22 * var(--mprpx));
  line-height: 1.4;}#mpScreen[data-route="pages/index/index"] .modal-bottom-fun-deco{
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: calc(10 * var(--mprpx));
  padding: calc(8 * var(--mprpx)) 0 0;
  flex-wrap: wrap;}#mpScreen[data-route="pages/index/index"] .modal-fun-emoji{
  font-size: calc(28 * var(--mprpx));
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  animation: funBounce 2s ease-in-out infinite;}#mpScreen[data-route="pages/index/index"] .modal-fun-emoji:nth-child(1){ animation-delay: 0s;}#mpScreen[data-route="pages/index/index"] .modal-fun-emoji:nth-child(2){ animation-delay: 0.15s;}#mpScreen[data-route="pages/index/index"] .modal-fun-emoji:nth-child(3){ animation-delay: 0.3s;}#mpScreen[data-route="pages/index/index"] .modal-fun-emoji:nth-child(4){ animation-delay: 0.45s;}#mpScreen[data-route="pages/index/index"] .modal-fun-emoji:nth-child(5){ animation-delay: 0.6s;}#mpScreen[data-route="pages/index/index"] .modal-fun-emoji:nth-child(6){ animation-delay: 0.75s;}#mpScreen[data-route="pages/index/index"] .modal-fun-emoji:nth-child(7){ animation-delay: 0.9s;}#mpScreen[data-route="pages/index/index"] .modal-fun-emoji:nth-child(8){ animation-delay: 1.05s;}

@keyframes funBounce {
  0%, 100% { transform: translateY(0) scale(1); }
  30% { transform: translateY(-8rpx) scale(1.15); }
  60% { transform: translateY(0) scale(1); }
}#mpScreen[data-route="pages/index/index"] .modal-fun-heart{
  animation: heartBeat 1.2s ease-in-out infinite;}#mpScreen[data-route="pages/index/index"] .modal-bottom-hint{
  font-size: calc(22 * var(--mprpx));
  color: var(--mp-n68);
  font-weight: 400;
  letter-spacing: -0.005em;
  line-height: 1.4;
  display: flex;
  align-items: center;
  justify-content: center;}

/* ========== 隐私协议 ========== */#mpScreen[data-route="pages/index/index"] .privacy-row{
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 12px 0 4px;
  flex-wrap: wrap;
  gap: 4px;}#mpScreen[data-route="pages/index/index"] .privacy-checkbox{
  width: 20px;
  height: 20px;
  border-radius: 50%;
  border: 2px solid color-mix(in srgb, var(--mp-n00), transparent 88%);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin-right: 6px;
  box-sizing: border-box;
  transition: all 0.2s ease;}#mpScreen[data-route="pages/index/index"] .privacy-checkbox.checked{
  border-color: var(--mp-n08);
  background-color: var(--mp-n08);}#mpScreen[data-route="pages/index/index"] .checkbox-icon{
  font-size: 12px;
  color: var(--mp-inkOn);
  font-weight: 700;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;}#mpScreen[data-route="pages/index/index"] .privacy-text-wrap{
  display: flex;
  align-items: center;
  flex-shrink: 0;}#mpScreen[data-route="pages/index/index"] .privacy-text{
  font-size: 12px;
  color: var(--mp-n60);
  line-height: 1.4;
  font-weight: 400;
  letter-spacing: -0.005em;}#mpScreen[data-route="pages/index/index"] .privacy-link{
  color: var(--mp-ink1);
  font-weight: 600;
  font-size: 12px;}#mpScreen[data-route="pages/index/index"] .douyin-auth-tag{
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, var(--mp-w92), var(--mp-w84));
  border-radius: 10px;
  padding: 4px 10px;
  flex-shrink: 0;
  border: 1px solid color-mix(in srgb, var(--mp-b2), transparent 75%);}#mpScreen[data-route="pages/index/index"] .douyin-auth-tag-text{
  font-size: 11px;
  font-weight: 600;
  color: var(--mp-x05);
  letter-spacing: 0.01em;
  line-height: 1.4;
  white-space: nowrap;
  display: flex;
  align-items: center;
  justify-content: center;}

/* ========== 用户角色行 ========== */#mpScreen[data-route="pages/index/index"] .user-role-row{
  display: flex;
  gap: 6px;
  flex-wrap: wrap;}#mpScreen[data-route="pages/index/index"] .role-badge-adopter{
  background-color: var(--mp-n96);}#mpScreen[data-route="pages/index/index"] .role-badge-guardian{
  background-color: var(--mp-n96);}

/* Language 标签行 - 身份标签下方 */#mpScreen[data-route="pages/index/index"] .user-lang-row{
  display: flex;
  margin-top: 6px;}#mpScreen[data-route="pages/index/index"] .lang-badge{
  background: linear-gradient(135deg, var(--mp-x06), var(--mp-x07));
  border: 1.5px solid color-mix(in srgb, var(--mp-x08), transparent 80%);
  border-radius: 10px;
  padding: 3px 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
  flex-shrink: 0;
  gap: 4px;}#mpScreen[data-route="pages/index/index"] .lang-badge:active{
  transform: scale(0.94);
  background: linear-gradient(135deg, var(--mp-x07), var(--mp-x09));
  border-color: color-mix(in srgb, var(--mp-x08), transparent 60%);
  box-shadow: 0 2px 8px color-mix(in srgb, var(--mp-x10), transparent 85%);}#mpScreen[data-route="pages/index/index"] .lang-badge .badge-text{
  color: var(--mp-x11);
  font-weight: 600;}#mpScreen[data-route="pages/index/index"] .lang-badge-arrow{
  font-size: 14px;
  color: var(--mp-x11);
  font-weight: 300;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;}#mpScreen[data-route="pages/index/index"] .header-actions{
  display: flex;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
  margin-left: auto;}

/* 🐾 游客首页头部右侧的「去登录」标签按钮 */#mpScreen[data-route="pages/index/index"] .guest-login-chip{
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 5px;
  padding: 9px 14px;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--mp-b2), var(--mp-bHi));
  box-shadow: 0 3px 12px color-mix(in srgb, var(--mp-b2), transparent 62%), inset 0 1px 0 color-mix(in srgb, var(--mp-n100), transparent 50%);
  flex-shrink: 0;
  box-sizing: border-box;
  animation: guestChipIn 0.55s cubic-bezier(0.34, 1.56, 0.64, 1) both;
  transition: transform 0.2s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.2s ease;
  will-change: transform;}

@keyframes guestChipIn {
  0% { transform: scale(0.5) translateX(18px); opacity: 0; }
  70% { transform: scale(1.06) translateX(0); opacity: 1; }
  100% { transform: scale(1) translateX(0); opacity: 1; }
}#mpScreen[data-route="pages/index/index"] .guest-login-chip:active{
  transform: scale(0.93);
  box-shadow: 0 1px 6px color-mix(in srgb, var(--mp-b2), transparent 70%), inset 0 1px 0 color-mix(in srgb, var(--mp-n100), transparent 60%);}#mpScreen[data-route="pages/index/index"] .guest-login-chip-shine{
  position: absolute;
  top: 0;
  left: 0;
  width: 45%;
  height: 100%;
  background: linear-gradient(100deg, transparent 0%, color-mix(in srgb, var(--mp-n100), transparent 45%) 50%, transparent 100%);
  transform: translateX(-180%) skewX(-18deg);
  animation: guestChipShine 3.2s cubic-bezier(0.4, 0, 0.2, 1) infinite;
  will-change: transform;}

@keyframes guestChipShine {
  0% { transform: translateX(-180%) skewX(-18deg); }
  55%, 100% { transform: translateX(360%) skewX(-18deg); }
}#mpScreen[data-route="pages/index/index"] .guest-login-chip-icon{
  font-size: 14px;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 1;
  animation: guestChipKey 2.4s cubic-bezier(0.45, 0, 0.55, 1) infinite;}

@keyframes guestChipKey {
  0%, 100% { transform: rotate(0deg) scale(1); }
  30% { transform: rotate(-14deg) scale(1.16); }
  55% { transform: rotate(10deg) scale(1.08); }
}#mpScreen[data-route="pages/index/index"] .guest-login-chip-text{
  font-size: 13px;
  font-weight: 700;
  color: var(--mp-inkOn);
  line-height: 1.2;
  letter-spacing: 0.01em;
  white-space: nowrap;
  position: relative;
  z-index: 1;
  text-shadow: 0 1px 2px color-mix(in srgb, var(--mp-bDeep), transparent 60%);}#mpScreen[data-route="pages/index/index"] .switch-role-btn{
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background-color: var(--mp-n96);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;}#mpScreen[data-route="pages/index/index"] .switch-role-icon{
  font-size: 16px;}

/* ========== 身份切换欢迎弹窗 ========== */#mpScreen[data-route="pages/index/index"] .welcome-popup-overlay{
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 9999;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.3s ease;}#mpScreen[data-route="pages/index/index"] .welcome-popup-overlay.active{
  opacity: 1;
  pointer-events: auto;}

/* 背景模糊遮罩 */#mpScreen[data-route="pages/index/index"] .welcome-popup-bg{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: color-mix(in srgb, var(--mp-n00), transparent 50%);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  z-index: 0;}

/* 礼花容器 */#mpScreen[data-route="pages/index/index"] .firework-container{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 1;
  overflow: hidden;}#mpScreen[data-route="pages/index/index"] .firework-particle{
  position: absolute;
  font-size: 32px;
  line-height: 1;
  opacity: 0;
  display: flex;
  align-items: center;
  justify-content: center;}

/* 礼花粒子 - 第一组（8个粒子从中心炸开） */#mpScreen[data-route="pages/index/index"] .welcome-popup-overlay.active .firework-particle.fp-1{
  animation: fireworkBurst1 1.2s ease-out forwards;}#mpScreen[data-route="pages/index/index"] .welcome-popup-overlay.active .firework-particle.fp-2{
  animation: fireworkBurst2 1.2s ease-out 0.05s forwards;}#mpScreen[data-route="pages/index/index"] .welcome-popup-overlay.active .firework-particle.fp-3{
  animation: fireworkBurst3 1.2s ease-out 0.1s forwards;}#mpScreen[data-route="pages/index/index"] .welcome-popup-overlay.active .firework-particle.fp-4{
  animation: fireworkBurst4 1.2s ease-out 0.15s forwards;}#mpScreen[data-route="pages/index/index"] .welcome-popup-overlay.active .firework-particle.fp-5{
  animation: fireworkBurst5 1.2s ease-out 0.2s forwards;}#mpScreen[data-route="pages/index/index"] .welcome-popup-overlay.active .firework-particle.fp-6{
  animation: fireworkBurst6 1.2s ease-out 0.25s forwards;}#mpScreen[data-route="pages/index/index"] .welcome-popup-overlay.active .firework-particle.fp-7{
  animation: fireworkBurst7 1.2s ease-out 0.3s forwards;}#mpScreen[data-route="pages/index/index"] .welcome-popup-overlay.active .firework-particle.fp-8{
  animation: fireworkBurst8 1.2s ease-out 0.35s forwards;}

/* 礼花粒子 - 第二组（小粒子，延迟炸开） */#mpScreen[data-route="pages/index/index"] .welcome-popup-overlay.active .firework-particle.fp-small-1{
  animation: fireworkBurstSmall1 1s ease-out 0.4s forwards;}#mpScreen[data-route="pages/index/index"] .welcome-popup-overlay.active .firework-particle.fp-small-2{
  animation: fireworkBurstSmall2 1s ease-out 0.45s forwards;}#mpScreen[data-route="pages/index/index"] .welcome-popup-overlay.active .firework-particle.fp-small-3{
  animation: fireworkBurstSmall3 1s ease-out 0.5s forwards;}#mpScreen[data-route="pages/index/index"] .welcome-popup-overlay.active .firework-particle.fp-small-4{
  animation: fireworkBurstSmall4 1s ease-out 0.55s forwards;}#mpScreen[data-route="pages/index/index"] .welcome-popup-overlay.active .firework-particle.fp-small-5{
  animation: fireworkBurstSmall5 1s ease-out 0.6s forwards;}#mpScreen[data-route="pages/index/index"] .welcome-popup-overlay.active .firework-particle.fp-small-6{
  animation: fireworkBurstSmall6 1s ease-out 0.65s forwards;}

/* 礼花粒子 - 第三组（迷你粒子群） */#mpScreen[data-route="pages/index/index"] .welcome-popup-overlay.active .firework-particle.fp-mini-1{
  animation: fireworkBurstMini1 0.8s ease-out 0.7s forwards;}#mpScreen[data-route="pages/index/index"] .welcome-popup-overlay.active .firework-particle.fp-mini-2{
  animation: fireworkBurstMini2 0.8s ease-out 0.73s forwards;}#mpScreen[data-route="pages/index/index"] .welcome-popup-overlay.active .firework-particle.fp-mini-3{
  animation: fireworkBurstMini3 0.8s ease-out 0.76s forwards;}#mpScreen[data-route="pages/index/index"] .welcome-popup-overlay.active .firework-particle.fp-mini-4{
  animation: fireworkBurstMini4 0.8s ease-out 0.79s forwards;}#mpScreen[data-route="pages/index/index"] .welcome-popup-overlay.active .firework-particle.fp-mini-5{
  animation: fireworkBurstMini5 0.8s ease-out 0.82s forwards;}#mpScreen[data-route="pages/index/index"] .welcome-popup-overlay.active .firework-particle.fp-mini-6{
  animation: fireworkBurstMini6 0.8s ease-out 0.85s forwards;}

/* 礼花粒子动画关键帧 - 第一组大粒子 */
@keyframes fireworkBurst1 {
  0% { top: 50%; left: 50%; opacity: 1; transform: translate(-50%, -50%) scale(0.3); }
  100% { top: 5%; left: 10%; opacity: 0; transform: translate(-50%, -50%) scale(1.2); }
}
@keyframes fireworkBurst2 {
  0% { top: 50%; left: 50%; opacity: 1; transform: translate(-50%, -50%) scale(0.3); }
  100% { top: 5%; left: 90%; opacity: 0; transform: translate(-50%, -50%) scale(1.2); }
}
@keyframes fireworkBurst3 {
  0% { top: 50%; left: 50%; opacity: 1; transform: translate(-50%, -50%) scale(0.3); }
  100% { top: 90%; left: 10%; opacity: 0; transform: translate(-50%, -50%) scale(1.2); }
}
@keyframes fireworkBurst4 {
  0% { top: 50%; left: 50%; opacity: 1; transform: translate(-50%, -50%) scale(0.3); }
  100% { top: 90%; left: 90%; opacity: 0; transform: translate(-50%, -50%) scale(1.2); }
}
@keyframes fireworkBurst5 {
  0% { top: 50%; left: 50%; opacity: 1; transform: translate(-50%, -50%) scale(0.3); }
  100% { top: 5%; left: 50%; opacity: 0; transform: translate(-50%, -50%) scale(1.2); }
}
@keyframes fireworkBurst6 {
  0% { top: 50%; left: 50%; opacity: 1; transform: translate(-50%, -50%) scale(0.3); }
  100% { top: 90%; left: 50%; opacity: 0; transform: translate(-50%, -50%) scale(1.2); }
}
@keyframes fireworkBurst7 {
  0% { top: 50%; left: 50%; opacity: 1; transform: translate(-50%, -50%) scale(0.3); }
  100% { top: 50%; left: 5%; opacity: 0; transform: translate(-50%, -50%) scale(1.2); }
}
@keyframes fireworkBurst8 {
  0% { top: 50%; left: 50%; opacity: 1; transform: translate(-50%, -50%) scale(0.3); }
  100% { top: 50%; left: 95%; opacity: 0; transform: translate(-50%, -50%) scale(1.2); }
}

/* 礼花粒子动画关键帧 - 第二组小粒子 */
@keyframes fireworkBurstSmall1 {
  0% { top: 50%; left: 50%; opacity: 1; transform: translate(-50%, -50%) scale(0); }
  100% { top: 15%; left: 20%; opacity: 0; transform: translate(-50%, -50%) scale(1); }
}
@keyframes fireworkBurstSmall2 {
  0% { top: 50%; left: 50%; opacity: 1; transform: translate(-50%, -50%) scale(0); }
  100% { top: 15%; left: 80%; opacity: 0; transform: translate(-50%, -50%) scale(1); }
}
@keyframes fireworkBurstSmall3 {
  0% { top: 50%; left: 50%; opacity: 1; transform: translate(-50%, -50%) scale(0); }
  100% { top: 80%; left: 20%; opacity: 0; transform: translate(-50%, -50%) scale(1); }
}
@keyframes fireworkBurstSmall4 {
  0% { top: 50%; left: 50%; opacity: 1; transform: translate(-50%, -50%) scale(0); }
  100% { top: 80%; left: 80%; opacity: 0; transform: translate(-50%, -50%) scale(1); }
}
@keyframes fireworkBurstSmall5 {
  0% { top: 50%; left: 50%; opacity: 1; transform: translate(-50%, -50%) scale(0); }
  100% { top: 10%; left: 50%; opacity: 0; transform: translate(-50%, -50%) scale(1); }
}
@keyframes fireworkBurstSmall6 {
  0% { top: 50%; left: 50%; opacity: 1; transform: translate(-50%, -50%) scale(0); }
  100% { top: 85%; left: 50%; opacity: 0; transform: translate(-50%, -50%) scale(1); }
}

/* 礼花粒子动画关键帧 - 第三组迷你粒子 */
@keyframes fireworkBurstMini1 {
  0% { top: 50%; left: 50%; opacity: 1; transform: translate(-50%, -50%) scale(0); }
  100% { top: 25%; left: 30%; opacity: 0; transform: translate(-50%, -50%) scale(0.8); }
}
@keyframes fireworkBurstMini2 {
  0% { top: 50%; left: 50%; opacity: 1; transform: translate(-50%, -50%) scale(0); }
  100% { top: 25%; left: 70%; opacity: 0; transform: translate(-50%, -50%) scale(0.8); }
}
@keyframes fireworkBurstMini3 {
  0% { top: 50%; left: 50%; opacity: 1; transform: translate(-50%, -50%) scale(0); }
  100% { top: 70%; left: 30%; opacity: 0; transform: translate(-50%, -50%) scale(0.8); }
}
@keyframes fireworkBurstMini4 {
  0% { top: 50%; left: 50%; opacity: 1; transform: translate(-50%, -50%) scale(0); }
  100% { top: 70%; left: 70%; opacity: 0; transform: translate(-50%, -50%) scale(0.8); }
}
@keyframes fireworkBurstMini5 {
  0% { top: 50%; left: 50%; opacity: 1; transform: translate(-50%, -50%) scale(0); }
  100% { top: 40%; left: 15%; opacity: 0; transform: translate(-50%, -50%) scale(0.8); }
}
@keyframes fireworkBurstMini6 {
  0% { top: 50%; left: 50%; opacity: 1; transform: translate(-50%, -50%) scale(0); }
  100% { top: 60%; left: 85%; opacity: 0; transform: translate(-50%, -50%) scale(0.8); }
}

/* 欢迎卡片 - 主弹窗 */#mpScreen[data-route="pages/index/index"] .welcome-popup-card{
  position: relative;
  z-index: 2;
  width: calc(80 * var(--mpvw));
  max-width: 320px;
  background: linear-gradient(160deg, var(--mp-n100) 0%, var(--mp-n100) 40%, var(--mp-w96) 100%);
  border-radius: 32px;
  padding: 36px 28px 30px;
  box-sizing: border-box;
  box-shadow: 0 20px 60px color-mix(in srgb, var(--mp-n00), transparent 75%), 0 0 0 4px color-mix(in srgb, var(--mp-b2), transparent 85%), 0 0 0 8px color-mix(in srgb, var(--mp-bHi), transparent 92%);
  display: flex;
  flex-direction: column;
  align-items: center;
  transform: translateY(-120%);
  opacity: 0;
  transition: transform 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275), opacity 0.4s ease;}

/* 领养者主题（粉色系） */#mpScreen[data-route="pages/index/index"] .welcome-popup-card.adopter-theme{
  background: linear-gradient(160deg, var(--mp-n100) 0%, var(--mp-n100) 40%, var(--mp-x12) 100%);
  box-shadow: 0 20px 60px color-mix(in srgb, var(--mp-n00), transparent 75%), 0 0 0 4px color-mix(in srgb, var(--mp-x13), transparent 85%), 0 0 0 8px color-mix(in srgb, var(--mp-x13), transparent 92%);}

/* 守护人主题（橙色系） */#mpScreen[data-route="pages/index/index"] .welcome-popup-card.guardian-theme{
  background: linear-gradient(160deg, var(--mp-n100) 0%, var(--mp-n100) 40%, var(--mp-w92) 100%);
  box-shadow: 0 20px 60px color-mix(in srgb, var(--mp-n00), transparent 75%), 0 0 0 4px color-mix(in srgb, var(--mp-b2), transparent 85%), 0 0 0 8px color-mix(in srgb, var(--mp-bHi), transparent 92%);}

/* 弹入阶段 */#mpScreen[data-route="pages/index/index"] .welcome-popup-card.pop-in{
  transform: translateY(0);
  opacity: 1;}

/* 淡出阶段 */#mpScreen[data-route="pages/index/index"] .welcome-popup-card.fade-out{
  transform: translateY(-30px);
  opacity: 0;
  transition: transform 0.5s ease-in, opacity 0.5s ease-in;}

/* 粒子容器 */#mpScreen[data-route="pages/index/index"] .welcome-popup-particles{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 0;
  overflow: visible;}#mpScreen[data-route="pages/index/index"] .welcome-popup-particle{
  position: absolute;
  font-size: 20px;
  line-height: 1;
  opacity: 0;
  display: flex;
  align-items: center;
  justify-content: center;}

/* 卡片粒子弹出动画 */#mpScreen[data-route="pages/index/index"] .welcome-popup-card.pop-in .welcome-popup-particle{
  animation: particleBounce 1.8s ease-out forwards;}#mpScreen[data-route="pages/index/index"] .welcome-popup-card.pop-in .welcome-popup-particle.pp-1{
  animation-delay: 0.15s;}#mpScreen[data-route="pages/index/index"] .welcome-popup-card.pop-in .welcome-popup-particle.pp-2{
  animation-delay: 0.25s;}#mpScreen[data-route="pages/index/index"] .welcome-popup-card.pop-in .welcome-popup-particle.pp-3{
  animation-delay: 0.35s;}#mpScreen[data-route="pages/index/index"] .welcome-popup-card.pop-in .welcome-popup-particle.pp-4{
  animation-delay: 0.45s;}#mpScreen[data-route="pages/index/index"] .welcome-popup-card.pop-in .welcome-popup-particle.pp-5{
  animation-delay: 0.55s;}#mpScreen[data-route="pages/index/index"] .welcome-popup-card.pop-in .welcome-popup-particle.pp-6{
  animation-delay: 0.65s;}

@keyframes particleBounce {
  0% { opacity: 0; transform: translate(0, 0) scale(0); }
  30% { opacity: 1; transform: translate(0, 0) scale(1.5); }
  60% { opacity: 0.8; transform: translate(0, 0) scale(1); }
  100% { opacity: 0; transform: translate(0, 0) scale(0.5); }
}

/* 欢迎主标题 */#mpScreen[data-route="pages/index/index"] .welcome-main-text{
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 6px;
  margin-bottom: 16px;
  z-index: 1;
  flex-wrap: wrap;}#mpScreen[data-route="pages/index/index"] .welcome-emoji-prefix,
#mpScreen[data-route="pages/index/index"] .welcome-emoji-suffix{
  font-size: 36px;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  animation: welcomeEmojiSwing 1.5s ease-in-out infinite;}#mpScreen[data-route="pages/index/index"] .welcome-emoji-suffix{
  animation-delay: 0.3s;}

@keyframes welcomeEmojiSwing {
  0%, 100% { transform: rotate(0deg) scale(1); }
  25% { transform: rotate(10deg) scale(1.15); }
  50% { transform: rotate(0deg) scale(1); }
  75% { transform: rotate(-10deg) scale(1.15); }
}#mpScreen[data-route="pages/index/index"] .welcome-title{
  font-size: 26px;
  font-weight: 800;
  color: var(--mp-ink1);
  letter-spacing: -0.02em;
  line-height: 1.3;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;}

/* 身份标签 */#mpScreen[data-route="pages/index/index"] .welcome-role-tag{
  border-radius: 20px;
  padding: 8px 24px;
  margin-bottom: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1;}#mpScreen[data-route="pages/index/index"] .welcome-role-tag.tag-adopter{
  background: linear-gradient(135deg, var(--mp-x14), var(--mp-x15));
  border: 2px solid color-mix(in srgb, var(--mp-x16), transparent 80%);
  box-shadow: 0 4px 12px color-mix(in srgb, var(--mp-x13), transparent 85%);}#mpScreen[data-route="pages/index/index"] .welcome-role-tag.tag-guardian{
  background: linear-gradient(135deg, var(--mp-w92), var(--mp-w84));
  border: 2px solid color-mix(in srgb, var(--mp-b2), transparent 80%);
  box-shadow: 0 4px 12px color-mix(in srgb, var(--mp-b2), transparent 85%);}#mpScreen[data-route="pages/index/index"] .welcome-role-tag-text{
  font-size: 16px;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;}#mpScreen[data-route="pages/index/index"] .tag-adopter .welcome-role-tag-text{
  color: var(--mp-x17);}#mpScreen[data-route="pages/index/index"] .tag-guardian .welcome-role-tag-text{
  color: var(--mp-bRich);}

/* 底部装饰文字 */#mpScreen[data-route="pages/index/index"] .welcome-sub-text{
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 8px;
  z-index: 1;}#mpScreen[data-route="pages/index/index"] .welcome-sub-emoji{
  font-size: 20px;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;}#mpScreen[data-route="pages/index/index"] .welcome-sub-desc{
  font-size: 14px;
  color: var(--mp-n50);
  font-weight: 400;
  letter-spacing: -0.005em;
  line-height: 1.5;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;}

/* 卡片底部装饰emoji行 */#mpScreen[data-route="pages/index/index"] .welcome-card-bottom-deco{
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin-top: 14px;
  z-index: 1;}#mpScreen[data-route="pages/index/index"] .welcome-card-bottom-emoji{
  font-size: 22px;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  animation: welcomeBottomEmoji 2s ease-in-out infinite;}#mpScreen[data-route="pages/index/index"] .welcome-card-bottom-emoji:nth-child(1){ animation-delay: 0s;}#mpScreen[data-route="pages/index/index"] .welcome-card-bottom-emoji:nth-child(2){ animation-delay: 0.2s;}#mpScreen[data-route="pages/index/index"] .welcome-card-bottom-emoji:nth-child(3){ animation-delay: 0.4s;}#mpScreen[data-route="pages/index/index"] .welcome-card-bottom-emoji:nth-child(4){ animation-delay: 0.6s;}#mpScreen[data-route="pages/index/index"] .welcome-card-bottom-emoji:nth-child(5){ animation-delay: 0.8s;}

@keyframes welcomeBottomEmoji {
  0%, 100% { transform: translateY(0) scale(1); }
  50% { transform: translateY(-6px) scale(1.2); }
}

/* ========== 内容区域 ========== */#mpScreen[data-route="pages/index/index"] .content-area{
  flex: 1;
  overflow-y: auto;
  overflow-x: hidden;
  padding-bottom: 20px;
  -webkit-overflow-scrolling: touch;
  width: 100%;
  box-sizing: border-box;}#mpScreen[data-route="pages/index/index"] .tab-content{
  padding: 16px;
  width: 100%;
  box-sizing: border-box;
  overflow-x: hidden;}

/* ========== 首页背景层：全站统一的极简底色，漂浮 emoji 交给运行时的高帧图层 ========== */#mpScreen[data-route="pages/index/index"] .home-tab-content{
  position: relative;
  min-height: calc(100% + 20px);
  margin-bottom: -20px;
  box-sizing: border-box;
  padding-bottom: 28px;
  background: linear-gradient(180deg, var(--mp-bgA) 0%, var(--mp-bgB) 100%);}#mpScreen[data-route="pages/index/index"] .home-tab-content > *{
  position: relative;
  z-index: 1;}

/* 页面内的漂浮 emoji：小程序端用这套关键帧。
   H5 端由运行时的高帧漂浮层统一接管（base.css 里隐藏），避免出现两层。 */#mpScreen[data-route="pages/index/index"] .home-bg-deco{
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;}#mpScreen[data-route="pages/index/index"] .home-float{
  position: absolute;
  line-height: 1;
  opacity: 0.3;
  will-change: transform;
  animation: homeDriftA 13s ease-in-out infinite;}#mpScreen[data-route="pages/index/index"] .hf-1{ top: 4%; left: 7%; font-size: 22px;}#mpScreen[data-route="pages/index/index"] .hf-2{ top: 12%; right: 9%; font-size: 17px; animation: homeDriftB 17s ease-in-out -3s infinite;}#mpScreen[data-route="pages/index/index"] .hf-3{ top: 30%; left: 4%; font-size: 19px; animation: homeDriftC 15s ease-in-out -7s infinite;}#mpScreen[data-route="pages/index/index"] .hf-4{ top: 46%; right: 6%; font-size: 21px; animation: homeDriftA 19s ease-in-out -5s infinite;}#mpScreen[data-route="pages/index/index"] .hf-5{ top: 65%; left: 9%; font-size: 17px; animation: homeDriftC 12s ease-in-out -9s infinite;}#mpScreen[data-route="pages/index/index"] .hf-6{ top: 84%; right: 11%; font-size: 23px; animation: homeDriftB 16s ease-in-out -2s infinite;}

/* 三条轨迹都不走回头路：横纵不同周期 + 逐帧变向，看起来才不像钟摆 */
@keyframes homeDriftA {
  0% { transform: translate(0, 0) rotate(-8deg); }
  22% { transform: translate(14px, -22px) rotate(6deg); }
  47% { transform: translate(-8px, -38px) rotate(-4deg); }
  71% { transform: translate(18px, -14px) rotate(10deg); }
  100% { transform: translate(0, 0) rotate(-8deg); }
}

@keyframes homeDriftB {
  0% { transform: translate(0, 0) rotate(7deg); }
  31% { transform: translate(-18px, -16px) rotate(-9deg); }
  58% { transform: translate(9px, -34px) rotate(5deg); }
  83% { transform: translate(-11px, -9px) rotate(-6deg); }
  100% { transform: translate(0, 0) rotate(7deg); }
}

@keyframes homeDriftC {
  0% { transform: translate(0, 0) rotate(0deg) scale(1); }
  26% { transform: translate(11px, -27px) rotate(-11deg) scale(1.08); }
  54% { transform: translate(-15px, -12px) rotate(8deg) scale(0.94); }
  79% { transform: translate(6px, -31px) rotate(-5deg) scale(1.05); }
  100% { transform: translate(0, 0) rotate(0deg) scale(1); }
}

/* ========== 用户头部 ========== */#mpScreen[data-route="pages/index/index"] .user-header{
  display: flex;
  align-items: center;
  background: var(--mp-n100);
  border-radius: 22px;
  padding: 18px 16px;
  margin-bottom: 20px;
  box-sizing: border-box;
  box-shadow: 0 1px 3px color-mix(in srgb, var(--mp-n00), transparent 96%);
  border: 0.5px solid color-mix(in srgb, var(--mp-n00), transparent 95%);
  transition: transform 0.2s ease;
  width: 100%;
  overflow: hidden;}#mpScreen[data-route="pages/index/index"] .user-avatar{
  width: 48px;
  height: 48px;
  border-radius: 50%;
  border: 1px solid color-mix(in srgb, var(--mp-n00), transparent 94%);
  flex-shrink: 0;}

/* 头像：emoji 头像 + 色系匹配渐变背景，点一下进选择面板 */#mpScreen[data-route="pages/index/index"] .user-avatar-wrap{
  position: relative;
  flex-shrink: 0;}#mpScreen[data-route="pages/index/index"] .user-avatar-emoji{
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid color-mix(in srgb, var(--mp-n00), transparent 94%);
  box-sizing: border-box;
  transition: transform 0.2s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.2s ease;}#mpScreen[data-route="pages/index/index"] .user-avatar-wrap:active .user-avatar-emoji{
  transform: scale(0.9);
  box-shadow: 0 4px 12px color-mix(in srgb, var(--mp-b2), transparent 72%);}#mpScreen[data-route="pages/index/index"] .user-avatar-emoji-text{
  font-size: 26px;
  line-height: 1;}#mpScreen[data-route="pages/index/index"] .user-avatar-edit{
  position: absolute;
  right: -3px;
  bottom: -2px;
  width: 19px;
  height: 19px;
  border-radius: 50%;
  background-color: var(--mp-n100);
  border: 1px solid color-mix(in srgb, var(--mp-b2), transparent 70%);
  box-shadow: 0 1px 4px color-mix(in srgb, var(--mp-n00), transparent 86%);
  display: flex;
  align-items: center;
  justify-content: center;}#mpScreen[data-route="pages/index/index"] .user-avatar-edit-icon{
  font-size: 10px;
  line-height: 1;}

/* 🧪 内测人员专属角标：配色与后台【内测】身份标同一套紫 */#mpScreen[data-route="pages/index/index"] .user-avatar-edit-beta{
  background-color: var(--mp-x18);
  border-color: color-mix(in srgb, var(--mp-x19), transparent 50%);
  box-shadow: 0 1px 5px color-mix(in srgb, var(--mp-x20), transparent 70%);}#mpScreen[data-route="pages/index/index"] .user-avatar-edit-beta .user-avatar-edit-icon{
  font-size: 11px;}#mpScreen[data-route="pages/index/index"] .user-info-text{
  flex: 1;
  min-width: 0;
  max-width: 55%;
  margin-left: 12px;
  display: flex;
  flex-direction: column;
  overflow: hidden;}#mpScreen[data-route="pages/index/index"] .user-name{
  font-size: 16px;
  font-weight: 600;
  color: var(--mp-ink1);
  margin-bottom: 4px;
  letter-spacing: -0.015em;
  line-height: 1.3;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 100%;}#mpScreen[data-route="pages/index/index"] .user-badge{
  background-color: var(--mp-n96);
  border-radius: 10px;
  padding: 3px 10px;
  align-self: flex-start;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
  flex-shrink: 0;}#mpScreen[data-route="pages/index/index"] .badge-text{
  font-size: 12px;
  color: var(--mp-n60);
  font-weight: 500;
  line-height: 1.4;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  letter-spacing: -0.01em;}#mpScreen[data-route="pages/index/index"] .guardian-type-badge .badge-text{
  font-size: 12px;
  font-weight: 600;
  color: var(--mp-x21);}

/* Language 标签按钮 - 与身份标签样式一致，增加点击感 */#mpScreen[data-route="pages/index/index"] .lang-badge{
  background: linear-gradient(135deg, var(--mp-x22), var(--mp-x23));
  border: 1px solid color-mix(in srgb, var(--mp-x00), transparent 85%);
  cursor: pointer;
  transition: all 0.2s ease;}#mpScreen[data-route="pages/index/index"] .lang-badge:active{
  background: linear-gradient(135deg, var(--mp-x24), var(--mp-x25));
  transform: scale(0.95);
  border-color: color-mix(in srgb, var(--mp-x00), transparent 70%);}#mpScreen[data-route="pages/index/index"] .lang-badge .badge-text{
  color: var(--mp-x26);
  font-weight: 600;}#mpScreen[data-route="pages/index/index"] .publish-entry{
  background: linear-gradient(135deg, var(--mp-b2), var(--mp-bHi));
  border-radius: 22px;
  padding: 8px 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: all 0.2s cubic-bezier(0.25, 0.1, 0.25, 1);
  border: none;
  box-sizing: border-box;
  box-shadow: 0 2px 10px color-mix(in srgb, var(--mp-b2), transparent 65%);
  position: relative;
  overflow: hidden;}#mpScreen[data-route="pages/index/index"] .publish-entry:active{
  transform: scale(0.94);
  box-shadow: 0 1px 4px color-mix(in srgb, var(--mp-b2), transparent 75%);
  background: linear-gradient(135deg, var(--mp-b1), var(--mp-b2));}#mpScreen[data-route="pages/index/index"] .publish-entry-text{
  font-size: 13px;
  font-weight: 700;
  color: var(--mp-inkOn);
  line-height: 1.4;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  letter-spacing: 0.01em;
  text-shadow: 0 1px 2px color-mix(in srgb, var(--mp-n00), transparent 90%);}

/* ========== 区域标题 ========== */#mpScreen[data-route="pages/index/index"] .section-header{
  display: flex;
  flex-direction: column;
  padding: 6px 0 10px;}#mpScreen[data-route="pages/index/index"] .section-title{
  font-size: 22px;
  font-weight: 700;
  color: var(--mp-ink1);
  margin-bottom: 1px;
  letter-spacing: 0.05em;
  line-height: 1.15;
  display: flex;
  align-items: center;
  white-space: nowrap;
  word-spacing: 6px;}#mpScreen[data-route="pages/index/index"] .section-subtitle{
  font-size: 13px;
  color: var(--mp-n60);
  font-weight: 400;
  letter-spacing: -0.01em;
  line-height: 1.2;
  white-space: nowrap;}

/* ========== 宠物卡片列表 ========== */#mpScreen[data-route="pages/index/index"] .pet-list{
  padding: 0;}#mpScreen[data-route="pages/index/index"] .pet-card{
  background-color: var(--mp-n100);
  border-radius: 22px;
  padding: 18px 18px;
  margin-bottom: 16px;
  box-shadow: 0 4px 12px color-mix(in srgb, var(--mp-n00), transparent 92%), 0 2px 6px color-mix(in srgb, var(--mp-n00), transparent 96%);
  box-sizing: border-box;
  border: 0.5px solid color-mix(in srgb, var(--mp-n00), transparent 95%);
  width: 100%;
  overflow: hidden;
  transition: transform 0.2s cubic-bezier(0.25, 0.1, 0.25, 1), box-shadow 0.2s ease;
  position: relative;}#mpScreen[data-route="pages/index/index"] .pet-card:active{
  transform: translateY(-2px);
  box-shadow: 0 6px 16px color-mix(in srgb, var(--mp-n00), transparent 88%), 0 3px 8px color-mix(in srgb, var(--mp-n00), transparent 94%);}

/* 旧的全局卡片顶部边框规则已移除，三种功能卡片分别使用各自的趣味主题样式：
   - waiting-fun-card: 蓝色主题
   - my-favorite-fun-card: 粉色主题
   - my-publish-fun-card: 橙色主题
*/

/* emoji边框装饰容器 */#mpScreen[data-route="pages/index/index"] .pet-card-emoji-border{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 0;
  overflow: visible;}#mpScreen[data-route="pages/index/index"] .pet-card-emoji-dot{
  position: absolute;
  font-size: 20px;
  line-height: 1;
  z-index: 1;}#mpScreen[data-route="pages/index/index"] .pet-card-emoji-dot.dot-tl{
  top: -10px;
  left: -6px;}#mpScreen[data-route="pages/index/index"] .pet-card-emoji-dot.dot-tr{
  top: -10px;
  right: -6px;}#mpScreen[data-route="pages/index/index"] .pet-card-emoji-dot.dot-bl{
  bottom: -10px;
  left: -6px;}#mpScreen[data-route="pages/index/index"] .pet-card-emoji-dot.dot-br{
  bottom: -10px;
  right: -6px;}#mpScreen[data-route="pages/index/index"] .pet-card-header{
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 8px;}#mpScreen[data-route="pages/index/index"] .pet-type-tag{
  border-radius: 12px;
  padding: 8px 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--mp-n96);
  transition: all 0.2s ease;}#mpScreen[data-route="pages/index/index"] .pet-type-text{
  font-size: 12px;
  font-weight: 600;
  color: var(--mp-ink1);
  line-height: 1.4;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;}#mpScreen[data-route="pages/index/index"] .pet-gender{
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  flex-shrink: 0;
  box-sizing: border-box;
  padding: 0;
  margin: 0;
  align-self: center;}#mpScreen[data-route="pages/index/index"] .pet-gender-male{
  color: var(--mp-x27);}#mpScreen[data-route="pages/index/index"] .pet-gender-female{
  color: var(--mp-x16);}#mpScreen[data-route="pages/index/index"] .pet-name{
  font-size: 19px;
  font-weight: 700;
  color: var(--mp-ink1);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 8px;
  letter-spacing: -0.025em;
  line-height: 1.3;
  white-space: nowrap;
  text-align: center;}#mpScreen[data-route="pages/index/index"] .pet-info-row{
  display: flex;
  align-items: baseline;
  margin-bottom: 6px;
  padding: 1px 0;}#mpScreen[data-route="pages/index/index"] .pet-info-label{
  font-size: 13px;
  color: var(--mp-n60);
  width: 52px;
  flex-shrink: 0;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: -0.005em;
  display: flex;
  align-items: center;
  white-space: nowrap;}#mpScreen[data-route="pages/index/index"] .pet-info-value{
  font-size: 14px;
  color: var(--mp-ink2);
  flex: 1;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: -0.005em;
  word-break: break-all;
  overflow-wrap: break-word;}#mpScreen[data-route="pages/index/index"] .pet-card-footer{
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid var(--mp-line1);}#mpScreen[data-route="pages/index/index"] .publisher-info{
  display: flex;
  flex-direction: column;}#mpScreen[data-route="pages/index/index"] .publisher-label{
  font-size: 13px;
  color: var(--mp-n60);
  font-weight: 500;
  margin-bottom: 2px;
  letter-spacing: -0.005em;
  display: flex;
  align-items: center;
  white-space: nowrap;
  text-align: center;}#mpScreen[data-route="pages/index/index"] .publish-time{
  font-size: 11px;
  color: var(--mp-n68);
  font-weight: 400;
  letter-spacing: -0.005em;
  display: flex;
  align-items: center;
  white-space: nowrap;
  text-align: center;}#mpScreen[data-route="pages/index/index"] .contact-btn{
  background: var(--mp-n08);
  border-radius: 22px;
  padding: 9px 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.15s ease, opacity 0.15s ease;}#mpScreen[data-route="pages/index/index"] .contact-btn-text{
  font-size: 14px;
  font-weight: 600;
  color: var(--mp-inkOn);
  line-height: 1.4;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;}#mpScreen[data-route="pages/index/index"] .adopted-btn{
  background: linear-gradient(135deg, var(--mp-b1), var(--mp-bDeep));
  border-radius: calc(24 * var(--mprpx));
  padding: 0 calc(12 * var(--mprpx));
  display: flex;
  align-items: center;
  justify-content: center;
  border: none;
  box-sizing: border-box;
  transition: all 0.2s ease;
  flex-shrink: 1;
  flex-grow: 0;
  min-width: 0;
  overflow: hidden;
  box-shadow: 0 calc(4 * var(--mprpx)) calc(16 * var(--mprpx)) color-mix(in srgb, var(--mp-bDeep), transparent 50%);
  height: calc(52 * var(--mprpx));
  position: relative;
  z-index: 10;
  opacity: 1 !important;
  filter: brightness(1.05);}#mpScreen[data-route="pages/index/index"] .adopted-btn:active{
  transform: scale(0.96);
  opacity: 0.88;}#mpScreen[data-route="pages/index/index"] .adopted-btn-text{
  font-size: calc(26 * var(--mprpx));
  font-weight: 700;
  color: var(--mp-inkOn);
  line-height: 1;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  letter-spacing: 0.01em;
  text-shadow: 0 calc(2 * var(--mprpx)) calc(4 * var(--mprpx)) color-mix(in srgb, var(--mp-n00), transparent 90%);
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;}#mpScreen[data-route="pages/index/index"] .edit-btn{
  background: linear-gradient(135deg, var(--mp-n18), var(--mp-n28));
  border-radius: calc(24 * var(--mprpx));
  padding: 0 calc(12 * var(--mprpx));
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
  max-width: 38%;
  overflow: hidden;
  flex-shrink: 1;
  flex-grow: 0;
  min-width: 0;
  box-sizing: border-box;
  height: calc(52 * var(--mprpx));
  box-shadow: 0 calc(5 * var(--mprpx)) calc(14 * var(--mprpx)) color-mix(in srgb, var(--mp-n00), transparent 82%);}#mpScreen[data-route="pages/index/index"] .edit-btn:active{
  transform: scale(0.96);
  opacity: 0.88;}#mpScreen[data-route="pages/index/index"] .edit-btn-text{
  font-size: calc(26 * var(--mprpx));
  font-weight: 700;
  color: var(--mp-inkOn);
  line-height: 1;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
  letter-spacing: 0.01em;}

/* 卡片底部操作区：两按钮上下摆放、右对齐且等宽；窄屏时随卡片收缩、文字省略，不溢出卡片 */#mpScreen[data-route="pages/index/index"] .footer-actions{
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: center;
  gap: 6px;
  flex: 0 0 auto;
  min-width: 0;
  box-sizing: border-box;}#mpScreen[data-route="pages/index/index"] .footer-actions .adopted-btn,
#mpScreen[data-route="pages/index/index"] .footer-actions .edit-btn{
  flex: 0 1 auto;
  width: 96px;
  min-width: 0;
  max-width: 100%;
  height: 30px;
  padding: 0 10px;
  border-radius: 15px;
  box-sizing: border-box;}#mpScreen[data-route="pages/index/index"] .footer-actions .adopted-btn-text,
#mpScreen[data-route="pages/index/index"] .footer-actions .edit-btn-text{
  font-size: 12px;
  line-height: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;}

/* ========== 互动按钮样式 ========== */#mpScreen[data-route="pages/index/index"] .card-interact-btns{
  display: flex;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;}#mpScreen[data-route="pages/index/index"] .interact-btn{
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background-color: color-mix(in srgb, var(--mp-n00), transparent 96%);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;}#mpScreen[data-route="pages/index/index"] .interact-btn:active{
  transform: scale(0.9);
  background-color: color-mix(in srgb, var(--mp-n00), transparent 92%);}#mpScreen[data-route="pages/index/index"] .interact-btn-text{
  font-size: 16px;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;}#mpScreen[data-route="pages/index/index"] .not-interested-btn:active{
  background-color: color-mix(in srgb, var(--mp-n00), transparent 88%);}#mpScreen[data-route="pages/index/index"] .follow-btn:active{
  background-color: color-mix(in srgb, var(--mp-x28), transparent 90%);}#mpScreen[data-route="pages/index/index"] .favorited-btn{
  background-color: color-mix(in srgb, var(--mp-x13), transparent 90%);}#mpScreen[data-route="pages/index/index"] .favorited-btn:active{
  background-color: color-mix(in srgb, var(--mp-x13), transparent 80%);}

/* ========== 空状态 ========== */#mpScreen[data-route="pages/index/index"] .empty-my{
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 80px 0;}#mpScreen[data-route="pages/index/index"] .empty-icon{
  font-size: 72px;
  margin-bottom: 16px;
  line-height: 1;
  filter: drop-shadow(0 2px 4px color-mix(in srgb, var(--mp-n00), transparent 94%));}#mpScreen[data-route="pages/index/index"] .empty-text{
  font-size: 17px;
  color: var(--mp-n60);
  margin-bottom: 6px;
  font-weight: 500;
  letter-spacing: -0.015em;}#mpScreen[data-route="pages/index/index"] .empty-hint{
  font-size: 13px;
  color: var(--mp-n68);
  font-weight: 400;
  letter-spacing: -0.005em;}

/* 坐等被领养的空状态：换成一张毛玻璃卡，配浮动的放大镜、绕圈的虚线环和一排探头的小动物 */#mpScreen[data-route="pages/index/index"] .empty-pet{
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 320px;
  padding: 20px 0 26px;}#mpScreen[data-route="pages/index/index"] .empty-card{
  position: relative;
  width: 100%;
  max-width: 372px;
  display: flex;
  flex-direction: column;
  align-items: center;
  box-sizing: border-box;
  padding: 28px 22px 24px;
  border-radius: 26px;
  background: linear-gradient(165deg, color-mix(in srgb, var(--mp-n100), transparent 16%) 0%, color-mix(in srgb, var(--mp-n100), transparent 38%) 100%);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  border: 1px solid color-mix(in srgb, var(--mp-line4), transparent 8%);
  box-shadow: 0 14px 36px color-mix(in srgb, var(--mp-b2), transparent 85%), 0 2px 8px color-mix(in srgb, var(--mp-w20), transparent 95%);
  animation: emptyCardIn 0.42s cubic-bezier(0.22, 1.12, 0.36, 1);}

@keyframes emptyCardIn {
  0% { opacity: 0; transform: translateY(16px) scale(0.94); }
  100% { opacity: 1; transform: translateY(0) scale(1); }
}#mpScreen[data-route="pages/index/index"] .empty-card-paw{
  position: absolute;
  line-height: 1;
  opacity: 0.26;}#mpScreen[data-route="pages/index/index"] .empty-card-paw-a{ top: 17px; left: 19px; font-size: 15px; transform: rotate(-18deg);}#mpScreen[data-route="pages/index/index"] .empty-card-paw-b{ top: 23px; right: 21px; font-size: 13px; transform: rotate(16deg);}#mpScreen[data-route="pages/index/index"] .empty-card-paw-c{ bottom: 22px; left: 27px; font-size: 12px; transform: rotate(8deg); opacity: 0.18;}#mpScreen[data-route="pages/index/index"] .empty-card-paw-d{ bottom: 26px; right: 24px; font-size: 14px; transform: rotate(-12deg); opacity: 0.2;}#mpScreen[data-route="pages/index/index"] .empty-card-orb{
  position: relative;
  width: 84px;
  height: 84px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 16px;
  background: radial-gradient(circle at 32% 28%, var(--mp-n100) 0%, var(--mp-w92) 54%, var(--mp-w92) 100%);
  box-shadow: 0 8px 22px color-mix(in srgb, var(--mp-b2), transparent 76%), inset 0 0 0 1px color-mix(in srgb, var(--mp-n100), transparent 10%);
  animation: emptyOrbFloat 3.4s ease-in-out infinite;}#mpScreen[data-route="pages/index/index"] .empty-card-orb-emoji{
  font-size: 36px;
  line-height: 1;}#mpScreen[data-route="pages/index/index"] .empty-card-orb-ring{
  position: absolute;
  top: -8px;
  left: -8px;
  right: -8px;
  bottom: -8px;
  border-radius: 50%;
  border: 1.5px dashed color-mix(in srgb, var(--mp-b2), transparent 68%);
  animation: emptyRingSpin 16s linear infinite;}

@keyframes emptyOrbFloat {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-6px); }
}

@keyframes emptyRingSpin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}#mpScreen[data-route="pages/index/index"] .empty-pet .empty-text{
  color: var(--mp-cDeep);
  margin-bottom: 7px;}#mpScreen[data-route="pages/index/index"] .empty-pet .empty-hint{
  color: var(--mp-w42);
  margin-bottom: 18px;}#mpScreen[data-route="pages/index/index"] .empty-card-animals{
  display: flex;
  align-items: flex-end;
  justify-content: center;
  margin-bottom: 20px;}#mpScreen[data-route="pages/index/index"] .empty-card-animal{
  font-size: 19px;
  line-height: 1;
  opacity: 0.55;
  margin: 0 5px;
  animation: emptyAnimalPeek 2.6s ease-in-out infinite;}#mpScreen[data-route="pages/index/index"] .empty-card-animal-b{ animation-delay: 0.22s;}#mpScreen[data-route="pages/index/index"] .empty-card-animal-c{ animation-delay: 0.44s;}#mpScreen[data-route="pages/index/index"] .empty-card-animal-d{ animation-delay: 0.66s;}#mpScreen[data-route="pages/index/index"] .empty-card-animal-e{ animation-delay: 0.88s;}

@keyframes emptyAnimalPeek {
  0%, 100% { transform: translateY(0); opacity: 0.42; }
  45% { transform: translateY(-5px); opacity: 0.66; }
}#mpScreen[data-route="pages/index/index"] .empty-clear-btn{
  display: flex;
  align-items: center;
  justify-content: center;
  height: 42px;
  padding: 0 24px;
  border-radius: 21px;
  background: linear-gradient(135deg, var(--mp-bGlow) 0%, var(--mp-b2) 54%, var(--mp-b1) 100%);
  box-shadow: 0 7px 18px color-mix(in srgb, var(--mp-b1), transparent 70%);
  transition: transform 0.16s cubic-bezier(0.22, 1.12, 0.36, 1), box-shadow 0.16s ease;}#mpScreen[data-route="pages/index/index"] .empty-clear-btn:active{
  transform: scale(0.95);
  box-shadow: 0 3px 10px color-mix(in srgb, var(--mp-b1), transparent 74%);}#mpScreen[data-route="pages/index/index"] .empty-clear-icon{
  font-size: 16px;
  line-height: 1;
  margin-right: 7px;}#mpScreen[data-route="pages/index/index"] .empty-clear-text{
  font-size: 14px;
  font-weight: 600;
  color: var(--mp-inkOn);
  letter-spacing: 0.01em;}

/* ========== 底部导航：液态玻璃（厚玻璃 + 会晃的高光 + 果冻滑块） ========== */
/* 安全区只能让一次：base.css 里那条 margin-bottom 已经把整颗胶囊抬到手机横条上方，
   这里再往 padding 里加 env() 就会在胶囊底下多出一条 34px 的空带。 */#mpScreen[data-route="pages/index/index"] .bottom-nav{
  position: relative;
  display: flex;
  align-items: stretch;
  align-self: center;
  width: calc(100% - 20px);
  max-width: 460px;
  box-sizing: border-box;
  margin: 0 0 10px;
  padding: 8px;
  /* 0.96 是白卡，0.5 才是玻璃：底色让开，后面的天光透得进来，saturate 再把透进来的色撑艳 */
  background: linear-gradient(180deg, color-mix(in srgb, var(--mp-n100), transparent 48%), color-mix(in srgb, var(--mp-w96), transparent 68%));
  border-radius: 26px;
  box-shadow: 0 10px 26px color-mix(in srgb, var(--mp-b2), transparent 82%), 0 2px 6px color-mix(in srgb, var(--mp-cDeep), transparent 90%);
  backdrop-filter: blur(26px) saturate(1.85);
  -webkit-backdrop-filter: blur(26px) saturate(1.85);
  overflow: hidden;
  flex-shrink: 0;
  transition: background-color 0.3s ease;}

/* 弯月面：玻璃那圈边是一整圈反光，不是一条描边。跟着昼夜令牌走会在夜里变成深色，
   所以这层用不跟昼夜的纯白 inkOn，亮度靠整层 opacity 收。 */#mpScreen[data-route="pages/index/index"] .nav-rim{
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  border-radius: 26px;
  border: 1px solid var(--mp-inkOn);
  box-shadow: inset 0 0 7px 0 var(--mp-inkOn);
  opacity: 0.4;
  pointer-events: none;
  z-index: 3;}

/* 两团会晃的高光：切 tab 时跟着滑块跑，一个 0.95s 一个 1.5s，中途散开再合上。
   液体感就是这个「跟不上」——只有一团在动，看着就还是渐变。 */#mpScreen[data-route="pages/index/index"] .nav-lens,
#mpScreen[data-route="pages/index/index"] .nav-lens-b{
  position: absolute;
  top: -26px;
  bottom: -26px;
  left: 8px;
  width: calc((100% - 16px) / 3);
  pointer-events: none;
  z-index: 0;
  will-change: transform;}

/* 高光的白用不跟昼夜的 inkOn：换成会折叠的近白，夜里这团光就变成一团影子，
   整个「液体」在四套夜间配色里直接消失。 */#mpScreen[data-route="pages/index/index"] .nav-lens{
  background: radial-gradient(ellipse at 50% 42%, var(--mp-inkOn), transparent 70%);
  opacity: 0.42;
  transform: translateX(0);
  transition: transform 0.95s cubic-bezier(0.34, 1.32, 0.5, 1);}#mpScreen[data-route="pages/index/index"] .nav-lens-b{
  background: radial-gradient(ellipse at 50% 66%, var(--mp-inkOn), transparent 64%);
  opacity: 0.26;
  transform: translateX(0);
  transition: transform 1.5s cubic-bezier(0.3, 1.24, 0.42, 1);}#mpScreen[data-route="pages/index/index"] .nav-count-2 .nav-lens,
#mpScreen[data-route="pages/index/index"] .nav-count-2 .nav-lens-b{
  width: calc((100% - 16px) / 2);}#mpScreen[data-route="pages/index/index"] .nav-count-4 .nav-lens,
#mpScreen[data-route="pages/index/index"] .nav-count-4 .nav-lens-b{
  width: calc((100% - 16px) / 4);}#mpScreen[data-route="pages/index/index"] .nav-active-waiting .nav-lens,
#mpScreen[data-route="pages/index/index"] .nav-active-waiting .nav-lens-b{
  transform: translateX(100%);}#mpScreen[data-route="pages/index/index"] .nav-active-nation .nav-lens,
#mpScreen[data-route="pages/index/index"] .nav-active-nation .nav-lens-b{
  transform: translateX(200%);}#mpScreen[data-route="pages/index/index"] .nav-active-messages .nav-lens,
#mpScreen[data-route="pages/index/index"] .nav-active-messages .nav-lens-b{
  transform: translateX(300%);}

/* 缓缓扫过的一缕高光，让底栏有"活着"的呼吸感 */#mpScreen[data-route="pages/index/index"] .nav-glow{
  position: absolute;
  top: 0;
  bottom: 0;
  left: -45%;
  width: 45%;
  background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--mp-n100), transparent 40%), transparent);
  pointer-events: none;
  animation: navGlowSweep 7.5s cubic-bezier(0.45, 0, 0.55, 1) infinite;
  z-index: 0;}

@keyframes navGlowSweep {
  0%, 62% { transform: translateX(0); }
  100% { transform: translateX(322%); }
}#mpScreen[data-route="pages/index/index"] .nav-thumb{
  position: absolute;
  top: 8px;
  left: 8px;
  bottom: 8px;
  width: calc((100% - 16px) / 3);
  transform: translateX(0);
  transition: transform 0.46s cubic-bezier(0.34, 1.48, 0.5, 1);
  will-change: transform;
  pointer-events: none;
  z-index: 1;}

/* 外层只管平移，果冻的挤压交给内层：同名动画换个 class 不会重播，
   所以四个落点各配一个名字，内容是一样的。 */#mpScreen[data-route="pages/index/index"] .nav-thumb-body{
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  border-radius: 20px;
  background: linear-gradient(135deg, var(--mp-b2), var(--mp-bHi));
  box-shadow: 0 4px 14px color-mix(in srgb, var(--mp-b2), transparent 60%), inset 0 1px 0 var(--mp-inkOn);
  overflow: hidden;}

/* 滑块那一圈亮边单独走伪元素：纯白描边直接压在盒子上太硬，只能整层收 opacity */#mpScreen[data-route="pages/index/index"] .nav-thumb-body::after{
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  border-radius: 20px;
  border: 1px solid var(--mp-inkOn);
  opacity: 0.32;
  pointer-events: none;}#mpScreen[data-route="pages/index/index"] .nav-active-home .nav-thumb-body{ animation: navGelA 0.62s cubic-bezier(0.34, 1.42, 0.5, 1);}#mpScreen[data-route="pages/index/index"] .nav-active-waiting .nav-thumb-body{ animation: navGelB 0.62s cubic-bezier(0.34, 1.42, 0.5, 1);}#mpScreen[data-route="pages/index/index"] .nav-active-nation .nav-thumb-body{ animation: navGelC 0.62s cubic-bezier(0.34, 1.42, 0.5, 1);}#mpScreen[data-route="pages/index/index"] .nav-active-messages .nav-thumb-body{ animation: navGelD 0.62s cubic-bezier(0.34, 1.42, 0.5, 1);}

@keyframes navGelA {
  0% { transform: scale(1, 1); }
  26% { transform: scale(1.16, 0.84); }
  54% { transform: scale(0.94, 1.07); }
  78% { transform: scale(1.03, 0.98); }
  100% { transform: scale(1, 1); }
}

@keyframes navGelB {
  0% { transform: scale(1, 1); }
  26% { transform: scale(1.16, 0.84); }
  54% { transform: scale(0.94, 1.07); }
  78% { transform: scale(1.03, 0.98); }
  100% { transform: scale(1, 1); }
}

@keyframes navGelC {
  0% { transform: scale(1, 1); }
  26% { transform: scale(1.16, 0.84); }
  54% { transform: scale(0.94, 1.07); }
  78% { transform: scale(1.03, 0.98); }
  100% { transform: scale(1, 1); }
}

@keyframes navGelD {
  0% { transform: scale(1, 1); }
  26% { transform: scale(1.16, 0.84); }
  54% { transform: scale(0.94, 1.07); }
  78% { transform: scale(1.03, 0.98); }
  100% { transform: scale(1, 1); }
}

/* 顶光：玻璃砖的上半面永远比下半面亮，这层比滑块本身更决定「它是不是透明的」 */#mpScreen[data-route="pages/index/index"] .nav-thumb-sheen{
  position: absolute;
  top: 1px;
  left: 3px;
  right: 3px;
  height: 46%;
  border-radius: 18px 18px 26px 26px;
  background: linear-gradient(180deg, var(--mp-inkOn), transparent);
  opacity: 0.3;
  pointer-events: none;}#mpScreen[data-route="pages/index/index"] .nav-count-2 .nav-thumb{
  width: calc((100% - 16px) / 2);}#mpScreen[data-route="pages/index/index"] .nav-count-4 .nav-thumb{
  width: calc((100% - 16px) / 4);}#mpScreen[data-route="pages/index/index"] .nav-active-waiting .nav-thumb{
  transform: translateX(100%);}#mpScreen[data-route="pages/index/index"] .nav-active-nation .nav-thumb{
  transform: translateX(200%);}#mpScreen[data-route="pages/index/index"] .nav-active-messages .nav-thumb{
  transform: translateX(300%);}#mpScreen[data-route="pages/index/index"] .nav-thumb-spark{
  position: absolute;
  top: 2px;
  right: 5px;
  font-size: 9px;
  line-height: 1;
  opacity: 0.9;
  animation: navSparkTwinkle 2.6s ease-in-out infinite;}

@keyframes navSparkTwinkle {
  0%, 100% { transform: scale(0.7) rotate(-12deg); opacity: 0.55; }
  50% { transform: scale(1.1) rotate(10deg); opacity: 1; }
}#mpScreen[data-route="pages/index/index"] .nav-item{
  flex: 1;
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 6px 0;
  margin: 0;
  border-radius: 20px;
  min-width: 0;
  transition: transform 0.26s cubic-bezier(0.34, 1.48, 0.5, 1);}

/* 按下去 0.1s 到底、松手才弹：慢半拍的「按不动」感就是从这里来的 */#mpScreen[data-route="pages/index/index"] .nav-item:active{
  transform: scale(0.9);
  transition-duration: 0.1s;}#mpScreen[data-route="pages/index/index"] .nav-icon{
  font-size: 26px;
  margin-bottom: 2px;
  line-height: 1;
  transition: filter 0.24s ease;
  filter: grayscale(0.28) opacity(0.78);}

/* 选中那颗图标要「沉」在玻璃里，不是浮在上面：靠一圈贴地的影子，不靠改色 */#mpScreen[data-route="pages/index/index"] .nav-item.active .nav-icon{
  filter: drop-shadow(0 2px 3px color-mix(in srgb, var(--mp-cDeep), transparent 70%));
  animation: navIconPop 0.6s cubic-bezier(0.34, 1.56, 0.64, 1);}

@keyframes navIconPop {
  0% { transform: translateY(0) scale(1); }
  32% { transform: translateY(-5px) scale(1.22); }
  62% { transform: translateY(1px) scale(0.95); }
  100% { transform: translateY(0) scale(1); }
}#mpScreen[data-route="pages/index/index"] .nav-label{
  font-size: 11px;
  font-weight: 600;
  color: var(--mp-n60);
  letter-spacing: -0.01em;
  line-height: 1.4;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  transition: color 0.26s ease;}#mpScreen[data-route="pages/index/index"] .nav-item.active .nav-label{
  color: var(--mp-inkOn);
  text-shadow: 0 1px 3px color-mix(in srgb, var(--mp-bDark), transparent 65%);}

/* ========== 发布/编辑面板 ========== */#mpScreen[data-route="pages/index/index"] .publish-overlay{
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 900;
  display: flex;
  align-items: flex-end;
  justify-content: center;}#mpScreen[data-route="pages/index/index"] .overlay-mask{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: color-mix(in srgb, var(--mp-n00), transparent 55%);}#mpScreen[data-route="pages/index/index"] .publish-panel{
  position: relative;
  background-color: var(--mp-n100);
  border-radius: 32px 32px 0 0;
  width: 100%;
  max-width: calc(100 * var(--mpvw));
  height: calc(85 * var(--mpvh));
  max-height: calc(85 * var(--mpvh));
  display: flex;
  flex-direction: column;
  box-shadow: 0 -8px 32px color-mix(in srgb, var(--mp-n00), transparent 90%), 0 -1px 3px color-mix(in srgb, var(--mp-n00), transparent 96%), 0 -3px 0 0 var(--mp-w92);
  box-sizing: border-box;
  overflow: hidden;
  transition: transform 0.3s cubic-bezier(0.25, 0.1, 0.25, 1);}#mpScreen[data-route="pages/index/index"] .panel-header{
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 24px 16px;
  border-bottom: 1px solid var(--mp-line1);
  flex-shrink: 0;}#mpScreen[data-route="pages/index/index"] .panel-header-left{
  display: flex;
  align-items: center;
  gap: 10px;}

/* 修改面板没有模板箱按钮，用等高占位保证两个面板标题居中位置一致 */#mpScreen[data-route="pages/index/index"] .panel-header-spacer{
  width: 36px;
  height: 36px;
  flex-shrink: 0;}#mpScreen[data-route="pages/index/index"] .panel-fullscreen-toggle{
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--mp-x29);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;}#mpScreen[data-route="pages/index/index"] .fullscreen-toggle-icon{
  font-size: 18px;
  line-height: 1;}

/* 模板收集箱按钮 */#mpScreen[data-route="pages/index/index"] .template-box-btn{
  position: relative;
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: var(--mp-w92);
  cursor: pointer;
  border: 1px solid var(--mp-w84);
  flex-shrink: 0;}#mpScreen[data-route="pages/index/index"] .template-box-icon{
  font-size: 18px;}#mpScreen[data-route="pages/index/index"] .template-box-badge{
  position: absolute;
  top: -4px;
  right: -4px;
  background: var(--mp-b1);
  color: var(--mp-inkOn);
  font-size: 10px;
  min-width: 16px;
  height: 16px;
  line-height: 16px;
  text-align: center;
  border-radius: 8px;
  padding: 0 4px;}#mpScreen[data-route="pages/index/index"] .panel-fullscreen{
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-height: 100% !important;
  border-radius: 0 !important;
  z-index: 1001 !important;}#mpScreen[data-route="pages/index/index"] .panel-fullscreen .panel-header{
  border-radius: 0 !important;
  padding-top: 24px !important;}#mpScreen[data-route="pages/index/index"] .panel-fullscreen .panel-body{
  max-height: none !important;
  flex: 1 !important;}#mpScreen[data-route="pages/index/index"] .panel-title{
  font-size: 17px;
  font-weight: 700;
  color: var(--mp-ink1);
  letter-spacing: -0.025em;
  line-height: 1.3;
  display: flex;
  align-items: center;
  justify-content: center;}#mpScreen[data-route="pages/index/index"] .panel-close{
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background-color: var(--mp-n96);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background-color 0.15s ease;}#mpScreen[data-route="pages/index/index"] .close-icon{
  font-size: 16px;
  color: var(--mp-n60);
  font-weight: 600;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;}#mpScreen[data-route="pages/index/index"] .panel-body{
  flex: 1;
  overflow-y: auto;
  overflow-x: hidden;
  padding: 20px 24px;
  width: 100%;
  box-sizing: border-box;
  min-height: 0;}#mpScreen[data-route="pages/index/index"] .panel-footer{
  padding: 12px 16px;
  padding-bottom: calc(12px + env(safe-area-inset-bottom));
  border-top: 1px solid var(--mp-line1);
  flex-shrink: 0;
  background-color: var(--mp-n100);
  z-index: 10;
  width: 100%;
  box-sizing: border-box;}#mpScreen[data-route="pages/index/index"] .footer-btn-row{
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  overflow: hidden;
  flex-wrap: nowrap;
  padding: 0;}

/* 保存模板按钮 */#mpScreen[data-route="pages/index/index"] .save-template-btn{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 3px;
  padding: 0 8px;
  height: 48px;
  border-radius: 24px;
  background: linear-gradient(135deg, var(--mp-w92), var(--mp-w84));
  border: 1px solid var(--mp-cPale);
  cursor: pointer;
  flex-shrink: 0;
  min-width: 0;
  max-width: 100px;
  box-sizing: border-box;
  overflow: hidden;}#mpScreen[data-route="pages/index/index"] .save-template-btn::after{
  border: none;}#mpScreen[data-route="pages/index/index"] .save-template-icon{
  font-size: 18px;}#mpScreen[data-route="pages/index/index"] .save-template-text{
  font-size: 12px;
  font-weight: 600;
  color: var(--mp-bRich);
  white-space: nowrap;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1.4;
  overflow: hidden;
  text-overflow: ellipsis;}

/* ========== 表单 ========== */#mpScreen[data-route="pages/index/index"] .form-group{
  margin-bottom: 18px;
  width: 100%;
  box-sizing: border-box;
  overflow: hidden;}#mpScreen[data-route="pages/index/index"] .form-label{
  font-size: 14px;
  font-weight: 600;
  color: var(--mp-ink1);
  margin-bottom: 8px;
  display: block;
  letter-spacing: -0.015em;
  line-height: 1.4;}#mpScreen[data-route="pages/index/index"] .required{
  color: var(--mp-x30);
  font-weight: 700;}

/* 聘礼那一格标题边上的小问号，和详情页那颗同一个形状。
   灰字取本页 .form-hint 已在用的 #A0A0A0，折色管线认这个值。 */#mpScreen[data-route="pages/index/index"] .form-help-q{
  display: inline-block;
  vertical-align: middle;
  width: 16px;
  height: 16px;
  box-sizing: border-box;
  border: 1.4px solid var(--mp-n60);
  border-radius: 50%;
  color: var(--mp-n60);
  font-size: 11px;
  font-weight: 700;
  line-height: 13px;
  text-align: center;
  margin-left: 6px;
  cursor: pointer;
  transition: transform 0.18s cubic-bezier(0.34, 1.56, 0.64, 1), background-color 0.18s ease, color 0.18s ease;}#mpScreen[data-route="pages/index/index"] .form-help-q:active{
  transform: scale(1.22);
  background-color: var(--mp-n60);
  color: var(--mp-inkOn);}#mpScreen[data-route="pages/index/index"] .form-input{
  width: 100%;
  max-width: 100%;
  height: 46px;
  background-color: var(--mp-n96);
  border-radius: 14px;
  padding: 0 16px;
  font-size: 15px;
  color: var(--mp-ink2);
  box-sizing: border-box;
  border: 0.5px solid color-mix(in srgb, var(--mp-n00), transparent 94%);
  font-weight: 400;
  letter-spacing: -0.01em;
  transition: border-color 0.15s ease, background-color 0.15s ease;}#mpScreen[data-route="pages/index/index"] .form-textarea{
  width: 100%;
  max-width: 100%;
  height: 84px;
  background-color: var(--mp-n96);
  border-radius: 14px;
  padding: 12px 16px;
  font-size: 15px;
  color: var(--mp-ink2);
  box-sizing: border-box;
  border: 0.5px solid color-mix(in srgb, var(--mp-n00), transparent 94%);
  font-weight: 400;
  letter-spacing: -0.01em;
  transition: border-color 0.15s ease;}#mpScreen[data-route="pages/index/index"] .type-selector{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  width: 100%;
  box-sizing: border-box;}#mpScreen[data-route="pages/index/index"] .type-option{
  flex: 1;
  height: 46px;
  background-color: var(--mp-n96);
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid color-mix(in srgb, var(--mp-n00), transparent 96%);
  box-sizing: border-box;
  transition: all 0.2s cubic-bezier(0.25, 0.1, 0.25, 1);}#mpScreen[data-route="pages/index/index"] .type-option.selected{
  border-color: var(--mp-n08);
  background-color: var(--mp-n96);}#mpScreen[data-route="pages/index/index"] .type-option-text{
  font-size: 14px;
  font-weight: 600;
  color: var(--mp-n60);
  line-height: 1.4;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;}#mpScreen[data-route="pages/index/index"] .type-option.selected .type-option-text{
  color: var(--mp-ink1);}#mpScreen[data-route="pages/index/index"] .form-tip{
  background-color: var(--mp-n96);
  border-radius: 14px;
  padding: 12px 16px;
  margin-top: 8px;
  border: 0.5px solid color-mix(in srgb, var(--mp-n00), transparent 96%);
  transition: background-color 0.2s ease;}#mpScreen[data-route="pages/index/index"] .tip-text{
  font-size: 13px;
  color: var(--mp-n60);
  font-weight: 500;
  letter-spacing: -0.005em;
  line-height: 1.4;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  white-space: nowrap;}#mpScreen[data-route="pages/index/index"] .submit-btn{
  flex: 1;
  min-width: 0;
  width: 0;
  height: 48px;
  background: var(--mp-n08);
  border-radius: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  font-weight: 600;
  color: var(--mp-inkOn);
  border: none;
  box-sizing: border-box;
  letter-spacing: -0.015em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  padding: 0 10px;
  transition: all 0.2s cubic-bezier(0.25, 0.1, 0.25, 1);
  flex-shrink: 1;}#mpScreen[data-route="pages/index/index"] .submit-btn::after{
  border: none;}

/* ========== 编辑面板确认修改按钮美化 ========== */#mpScreen[data-route="pages/index/index"] .edit-submit-btn{
  background: linear-gradient(135deg, var(--mp-x31), var(--mp-x32));
  box-shadow: 0 4px 16px color-mix(in srgb, var(--mp-x31), transparent 65%);
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 8px;
  transition: all 0.2s cubic-bezier(0.25, 0.1, 0.25, 1);}#mpScreen[data-route="pages/index/index"] .edit-submit-btn:active{
  transform: scale(0.96);
  box-shadow: 0 2px 8px color-mix(in srgb, var(--mp-x31), transparent 75%);
  background: linear-gradient(135deg, var(--mp-x32), var(--mp-x33));}#mpScreen[data-route="pages/index/index"] .edit-submit-btn-icon{
  font-size: 18px;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;}#mpScreen[data-route="pages/index/index"] .edit-submit-btn-text{
  font-size: 15px;
  font-weight: 700;
  color: var(--mp-inkOn);
  line-height: 1.4;
  display: flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  letter-spacing: 0.02em;}

/* 面板顶部装饰 */#mpScreen[data-route="pages/index/index"] .gt-panel-top-deco{
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 12px;
  padding: 12px 0 0 0;
  overflow: hidden;}#mpScreen[data-route="pages/index/index"] .gt-panel-deco-emoji{
  font-size: 20px;
  line-height: 1;
  animation: decoFloat 2.5s ease-in-out infinite;}#mpScreen[data-route="pages/index/index"] .gt-panel-deco-emoji.deco-float-1{ animation-delay: 0s;}#mpScreen[data-route="pages/index/index"] .gt-panel-deco-emoji.deco-float-2{ animation-delay: 0.3s;}#mpScreen[data-route="pages/index/index"] .gt-panel-deco-emoji.deco-float-3{ animation-delay: 0.6s;}#mpScreen[data-route="pages/index/index"] .gt-panel-deco-emoji.deco-float-4{ animation-delay: 0.9s;}#mpScreen[data-route="pages/index/index"] .gt-panel-deco-emoji.deco-float-5{ animation-delay: 1.2s;}

@keyframes decoFloat {
  0%, 100% { transform: translateY(0px) scale(1); }
  50% { transform: translateY(-6px) scale(1.1); }
}

/* 面板底部装饰 */#mpScreen[data-route="pages/index/index"] .gt-panel-bottom-deco{
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  padding: 8px 0 12px 0;
  opacity: 0.6;}#mpScreen[data-route="pages/index/index"] .gt-panel-bottom-deco .gt-panel-deco-emoji{
  font-size: 16px;
  animation: none;}

/* 面板标题行 */#mpScreen[data-route="pages/index/index"] .gt-panel-title-row{
  display: flex;
  align-items: center;
  gap: 6px;}#mpScreen[data-route="pages/index/index"] .gt-panel-title-emoji{
  font-size: 22px;
  line-height: 1;}

/* 面板副标题 */#mpScreen[data-route="pages/index/index"] .gt-panel-subtitle-row{
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  padding: 0 24px 6px 24px;}#mpScreen[data-route="pages/index/index"] .gt-panel-subtitle-dot{
  font-size: 14px;
  opacity: 0.7;}#mpScreen[data-route="pages/index/index"] .gt-panel-subtitle{
  font-size: 13px;
  color: var(--mp-n60);
  font-weight: 400;
  letter-spacing: -0.005em;}

/* 守护人版本卡片 emoji 花边装饰 */#mpScreen[data-route="pages/index/index"] .gt-card-emoji-border{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 0;
  overflow: visible;}#mpScreen[data-route="pages/index/index"] .gt-card-emoji-dot{
  position: absolute;
  font-size: 24px;
  line-height: 1;
  z-index: 1;
  opacity: 0.8;
  transition: transform 0.3s ease, opacity 0.3s ease;}#mpScreen[data-route="pages/index/index"] .gt-card-emoji-dot.dot-tl{ top: -12px; left: -10px;}#mpScreen[data-route="pages/index/index"] .gt-card-emoji-dot.dot-tr{ top: -12px; right: -10px;}#mpScreen[data-route="pages/index/index"] .gt-card-emoji-dot.dot-bl{ bottom: -12px; left: -10px;}#mpScreen[data-route="pages/index/index"] .gt-card-emoji-dot.dot-br{ bottom: -12px; right: -10px;}#mpScreen[data-route="pages/index/index"] .gt-card-emoji-dot.dot-tm{ top: -14px; left: 50%; transform: translateX(-50%);}#mpScreen[data-route="pages/index/index"] .gt-card-emoji-dot.dot-bm{ bottom: -14px; left: 50%; transform: translateX(-50%);}

/* 卡片丝带标签 */#mpScreen[data-route="pages/index/index"] .gt-card-ribbon{
  position: absolute;
  top: 14px;
  right: -8px;
  z-index: 2;
  background: linear-gradient(135deg, var(--mp-b2), var(--mp-b1));
  color: var(--mp-inkOn);
  padding: 4px 16px 4px 12px;
  border-radius: 20px 4px 4px 20px;
  box-shadow: 0 2px 8px color-mix(in srgb, var(--mp-b1), transparent 70%);}#mpScreen[data-route="pages/index/index"] .gt-card-ribbon.personal-ribbon{
  background: linear-gradient(135deg, var(--mp-x34), var(--mp-x35));
  box-shadow: 0 2px 8px color-mix(in srgb, var(--mp-x34), transparent 70%);}#mpScreen[data-route="pages/index/index"] .gt-card-ribbon-text{
  font-size: 12px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.02em;}

/* 卡片图标包裹 */#mpScreen[data-route="pages/index/index"] .gt-card-icon-wrap{
  width: 52px;
  height: 52px;
  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 12px;
  flex-shrink: 0;}

/* 守护人版本卡片标题行 */#mpScreen[data-route="pages/index/index"] .gt-card-title-row{
  display: flex;
  align-items: center;
  gap: 8px;}#mpScreen[data-route="pages/index/index"] .gt-card-badge{
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, var(--mp-b2), var(--mp-b1));
  color: var(--mp-inkOn);
  font-size: 10px;
  font-weight: 700;
  padding: 3px 10px;
  border-radius: 10px;
  line-height: 1.4;
  white-space: nowrap;
  box-shadow: 0 2px 6px color-mix(in srgb, var(--mp-b1), transparent 75%);}#mpScreen[data-route="pages/index/index"] .gt-card-badge.personal-badge{
  background: linear-gradient(135deg, var(--mp-x34), var(--mp-x35));
  box-shadow: 0 2px 6px color-mix(in srgb, var(--mp-x34), transparent 80%);}

/* 守护人版本卡片特性行 */#mpScreen[data-route="pages/index/index"] .gt-feature{
  display: flex;
  align-items: center;
  gap: 8px;}#mpScreen[data-route="pages/index/index"] .gt-feature-emoji{
  font-size: 18px;
  line-height: 1;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;}#mpScreen[data-route="pages/index/index"] .gt-feature-text{
  font-size: 14px;
  color: var(--mp-ink2);
  line-height: 1.6;
  font-weight: 400;
  letter-spacing: -0.01em;}#mpScreen[data-route="pages/index/index"] .gt-feature-highlight{
  color: var(--mp-x05);
  font-weight: 700;}#mpScreen[data-route="pages/index/index"] .gt-feature-sub{
  color: var(--mp-n60);
  font-size: 12px;}#mpScreen[data-route="pages/index/index"] .gt-card-header{
  display: flex;
  align-items: center;
  margin-bottom: 16px;
  position: relative;
  z-index: 1;}#mpScreen[data-route="pages/index/index"] .gt-card-icon{
  font-size: 28px;
  line-height: 1;}#mpScreen[data-route="pages/index/index"] .gt-card-title{
  font-size: 20px;
  font-weight: 700;
  color: var(--mp-ink1);
  letter-spacing: -0.025em;
  line-height: 1.3;}#mpScreen[data-route="pages/index/index"] .gt-card-features{
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 16px;
  position: relative;
  z-index: 1;}#mpScreen[data-route="pages/index/index"] .gt-card-footer{
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding-top: 14px;
  border-top: 1.5px dashed color-mix(in srgb, var(--mp-n00), transparent 92%);
  position: relative;
  z-index: 1;}#mpScreen[data-route="pages/index/index"] .gt-card-footer-inner{
  display: flex;
  align-items: baseline;
  gap: 10px;}#mpScreen[data-route="pages/index/index"] .gt-price-row{
  display: flex;
  align-items: baseline;
  gap: 2px;}#mpScreen[data-route="pages/index/index"] .gt-price-symbol{
  font-size: 16px;
  font-weight: 700;
  color: var(--mp-x05);
  line-height: 1;}#mpScreen[data-route="pages/index/index"] .gt-price{
  font-size: 26px;
  font-weight: 800;
  color: var(--mp-ink1);
  letter-spacing: -0.03em;
  line-height: 1;}#mpScreen[data-route="pages/index/index"] .collective-card .gt-price{
  color: var(--mp-x05);}#mpScreen[data-route="pages/index/index"] .personal-card .gt-price.personal-price{
  font-size: 22px;
  color: var(--mp-x36);
  font-weight: 700;}#mpScreen[data-route="pages/index/index"] .gt-price-label{
  font-size: 13px;
  color: var(--mp-n60);
  font-weight: 400;
  letter-spacing: -0.005em;}

/* ========== 疫苗日期区域样式 ========== */#mpScreen[data-route="pages/index/index"] .vaccine-dates-section{
  width: 100%;
  box-sizing: border-box;
  margin-top: 4px;}#mpScreen[data-route="pages/index/index"] .vaccine-count-row{
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px;
  background: linear-gradient(135deg, var(--mp-n100), var(--mp-w96));
  border-radius: 16px;
  margin-bottom: 12px;}#mpScreen[data-route="pages/index/index"] .vaccine-count-label{
  font-size: 15px;
  font-weight: 600;
  color: var(--mp-ink1);}#mpScreen[data-route="pages/index/index"] .vaccine-count-stepper{
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 12px;
  background: var(--mp-n100);
  border-radius: 20px;
  padding: 4px 8px;
  box-shadow: 0 2px 8px color-mix(in srgb, var(--mp-n00), transparent 94%);}#mpScreen[data-route="pages/index/index"] .vaccine-count-btn{
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--mp-b2), var(--mp-b1));
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.15s ease;}#mpScreen[data-route="pages/index/index"] .vaccine-count-btn:active{
  transform: scale(0.92);}#mpScreen[data-route="pages/index/index"] .vaccine-count-btn.disabled{
  background: var(--mp-n91);
  opacity: 0.5;}#mpScreen[data-route="pages/index/index"] .vaccine-count-btn-text{
  font-size: 20px;
  font-weight: 700;
  color: var(--mp-inkOn);
  line-height: 1;
  margin-top: -2px;}#mpScreen[data-route="pages/index/index"] .vaccine-count-value{
  font-size: 18px;
  font-weight: 700;
  color: var(--mp-ink1);
  min-width: 24px;
  text-align: center;}#mpScreen[data-route="pages/index/index"] .vaccine-date-list{
  display: flex;
  flex-direction: column;
  gap: 10px;
  width: 100%;
  box-sizing: border-box;}#mpScreen[data-route="pages/index/index"] .vaccine-date-item{
  display: flex;
  flex-direction: row;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  padding: 12px 14px;
  background: var(--mp-n100);
  border: 1px solid var(--mp-line1);
  border-radius: 16px;
  box-sizing: border-box;
  transition: all 0.2s ease;}#mpScreen[data-route="pages/index/index"] .vaccine-date-item:active{
  transform: scale(0.98);
  border-color: var(--mp-w84);}#mpScreen[data-route="pages/index/index"] .vaccine-date-item-label{
  font-size: 14px;
  font-weight: 700;
  color: var(--mp-b1);
  background: linear-gradient(135deg, var(--mp-w92), var(--mp-w84));
  border-radius: 10px;
  padding: 6px 10px;
  line-height: 1;
  white-space: nowrap;
  flex-shrink: 0;}#mpScreen[data-route="pages/index/index"] .vaccine-date-picker{
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 4px;
  flex: 1;
  min-width: 140px;
  height: 42px;
  background-color: var(--mp-n100);
  border-radius: 12px;
  padding: 0 12px;
  box-sizing: border-box;
  border: 1px solid color-mix(in srgb, var(--mp-n00), transparent 96%);}#mpScreen[data-route="pages/index/index"] .vaccine-date-picker-text{
  font-size: 14px;
  font-weight: 600;
  color: var(--mp-ink1);
  flex: 1;}#mpScreen[data-route="pages/index/index"] .vaccine-date-picker-placeholder{
  font-size: 13px;
  color: var(--mp-n60);
  flex: 1;}#mpScreen[data-route="pages/index/index"] .vaccine-date-picker-arrow{
  font-size: 16px;
  line-height: 1;}#mpScreen[data-route="pages/index/index"] .rabies-checkbox{
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 4px;
  padding: 8px 10px;
  background: linear-gradient(135deg, var(--mp-n96), var(--mp-n91));
  border-radius: 12px;
  border: 2px solid transparent;
  cursor: pointer;
  transition: all 0.2s cubic-bezier(0.25, 0.1, 0.25, 1);
  white-space: nowrap;
  flex-shrink: 0;}#mpScreen[data-route="pages/index/index"] .rabies-checkbox.rabies-checked{
  background: linear-gradient(135deg, var(--mp-x37), var(--mp-x38));
  border-color: var(--mp-x39);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--mp-x40), transparent 90%);}#mpScreen[data-route="pages/index/index"] .rabies-checkbox:active{
  transform: scale(0.94);}#mpScreen[data-route="pages/index/index"] .rabies-checkbox-emoji{
  font-size: 16px;
  line-height: 1;}#mpScreen[data-route="pages/index/index"] .rabies-checkbox-text{
  font-size: 12px;
  font-weight: 600;
  color: var(--mp-n38);
  line-height: 1;}#mpScreen[data-route="pages/index/index"] .rabies-checkbox.rabies-checked .rabies-checkbox-text{
  color: var(--mp-x41);
  font-weight: 700;}

/* 卡片点击提示 */#mpScreen[data-route="pages/index/index"] .gt-card-tap-hint{
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 6px;
  padding: 6px 0 0 0;
  opacity: 0.5;}#mpScreen[data-route="pages/index/index"] .gt-card-tap-hint-paw{
  font-size: 12px;
  line-height: 1;}#mpScreen[data-route="pages/index/index"] .gt-card-tap-hint-text{
  font-size: 11px;
  color: var(--mp-n60);
  font-weight: 400;}

/* ========== 卡片内照片展示 ========== */#mpScreen[data-route="pages/index/index"] .pet-card-photos{
  margin-top: 10px;
  margin-bottom: 4px;
  width: 100%;
  overflow: hidden;
  box-sizing: border-box;
  padding: 0 18px;
  position: relative;
  z-index: 2;}#mpScreen[data-route="pages/index/index"] .card-photo-scroll{
  width: 100%;
  overflow: hidden;
  box-sizing: border-box;
  border-radius: 12px;}#mpScreen[data-route="pages/index/index"] .card-photo-scroll-inner{
  display: flex;
  flex-direction: row;
  white-space: nowrap;
  height: 88px;
  box-sizing: border-box;
  padding: 4px 0;}#mpScreen[data-route="pages/index/index"] .card-photo-item{
  display: inline-flex;
  margin-right: 10px;
  position: relative;
  flex-shrink: 0;
  width: 80px;
  height: 80px;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 2px 8px color-mix(in srgb, var(--mp-n00), transparent 90%);
  border: 2px solid color-mix(in srgb, var(--mp-n00), transparent 96%);
  box-sizing: border-box;
  transition: transform 0.2s ease, box-shadow 0.2s ease;}#mpScreen[data-route="pages/index/index"] .card-photo-item:active{
  transform: scale(0.95);
  box-shadow: 0 1px 4px color-mix(in srgb, var(--mp-n00), transparent 85%);}#mpScreen[data-route="pages/index/index"] .card-photo-item:last-child{
  margin-right: 0;}#mpScreen[data-route="pages/index/index"] .card-photo-thumb{
  width: 80px;
  height: 80px;
  border-radius: 10px;
  display: block;}#mpScreen[data-route="pages/index/index"] .card-photo-cover-tag{
  position: absolute;
  top: 4px;
  left: 4px;
  background: color-mix(in srgb, var(--mp-b2), transparent 10%);
  border-radius: 6px;
  padding: 2px 6px;
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: center;}

/* ========== 宠物卡片增强 ========== */#mpScreen[data-route="pages/index/index"] .pet-dialect{
  font-size: 13px;
  color: var(--mp-n60);
  font-style: italic;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 6px;
  font-weight: 400;
  letter-spacing: -0.005em;
  white-space: nowrap;
  text-align: center;}#mpScreen[data-route="pages/index/index"] .pet-gender-row{
  display: flex;
  align-items: center;
  gap: 8px;}#mpScreen[data-route="pages/index/index"] .pet-sterilized-tag{
  font-size: 11px;
  border-radius: 8px;
  padding: 4px 10px;
  font-weight: 500;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1.4;
  text-align: center;
  white-space: nowrap;
  transition: all 0.2s ease;}#mpScreen[data-route="pages/index/index"] .pet-sterilized-tag.sterilized-yes{
  color: var(--mp-x42);
  background-color: var(--mp-n96);}#mpScreen[data-route="pages/index/index"] .pet-sterilized-tag.sterilized-no{
  color: var(--mp-x21);
  background-color: var(--mp-x43);}#mpScreen[data-route="pages/index/index"] .pet-sterilized-tag.sterilized-unknown{
  color: var(--mp-n60);
  background-color: var(--mp-n96);}#mpScreen[data-route="pages/index/index"] .douyin-btn{
  background: var(--mp-n08);
  border-radius: 22px;
  padding: 9px 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: none;
  height: 36px;
  box-sizing: border-box;
  transition: transform 0.15s ease, opacity 0.15s ease;
  flex-shrink: 0;
  overflow: hidden;}#mpScreen[data-route="pages/index/index"] .douyin-btn::after{
  border: none;}#mpScreen[data-route="pages/index/index"] .douyin-btn-text{
  font-size: 13px;
  font-weight: 600;
  color: var(--mp-inkOn);
  line-height: 1;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;}

/* ========== 品种选择器 ========== */#mpScreen[data-route="pages/index/index"] .breed-select-row{
  width: 100%;}#mpScreen[data-route="pages/index/index"] .breed-display{
  width: 100%;
  height: 46px;
  background-color: var(--mp-n96);
  border-radius: 14px;
  padding: 0 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border: 0.5px solid color-mix(in srgb, var(--mp-n00), transparent 94%);
  box-sizing: border-box;
  transition: border-color 0.15s ease;}#mpScreen[data-route="pages/index/index"] .breed-display-text{
  font-size: 15px;
  color: var(--mp-ink2);
  font-weight: 400;
  letter-spacing: -0.01em;}#mpScreen[data-route="pages/index/index"] .breed-placeholder{
  color: var(--mp-n68);}#mpScreen[data-route="pages/index/index"] .breed-arrow{
  font-size: 12px;
  color: var(--mp-n60);}#mpScreen[data-route="pages/index/index"] .breed-picker-panel{
  position: relative;
  background-color: var(--mp-n100);
  border-radius: 32px 32px 0 0;
  width: 100%;
  max-width: calc(100 * var(--mpvw));
  max-height: calc(70 * var(--mpvh));
  display: flex;
  flex-direction: column;
  box-shadow: 0 -8px 32px color-mix(in srgb, var(--mp-n00), transparent 90%), 0 -1px 3px color-mix(in srgb, var(--mp-n00), transparent 96%), 0 -3px 0 0 var(--mp-w92);
  box-sizing: border-box;
  overflow-x: hidden;}#mpScreen[data-route="pages/index/index"] .breed-list{
  flex: 1;
  overflow-y: auto;
  max-height: calc(50 * var(--mpvh));
  padding: 8px 0;}#mpScreen[data-route="pages/index/index"] .breed-item{
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 24px;
  border-bottom: 1px solid var(--mp-line1);
  transition: background-color 0.15s ease;}#mpScreen[data-route="pages/index/index"] .breed-item.selected{
  background-color: var(--mp-n96);}#mpScreen[data-route="pages/index/index"] .breed-item-text{
  font-size: 15px;
  color: var(--mp-ink2);
  font-weight: 400;
  letter-spacing: -0.01em;}#mpScreen[data-route="pages/index/index"] .breed-item.selected .breed-item-text{
  color: var(--mp-ink1);
  font-weight: 600;}#mpScreen[data-route="pages/index/index"] .breed-check{
  font-size: 18px;
  color: var(--mp-ink1);
  font-weight: 700;}

/* ========== 年龄切换 ========== */#mpScreen[data-route="pages/index/index"] .age-toggle-row{
  display: flex;
  gap: 10px;
  margin-bottom: 10px;}#mpScreen[data-route="pages/index/index"] .age-toggle{
  flex: 1;
  height: 40px;
  background-color: var(--mp-n96);
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid color-mix(in srgb, var(--mp-n00), transparent 96%);
  box-sizing: border-box;
  transition: all 0.2s cubic-bezier(0.25, 0.1, 0.25, 1);}#mpScreen[data-route="pages/index/index"] .age-toggle.active{
  border-color: var(--mp-n08);
  background-color: var(--mp-n96);}#mpScreen[data-route="pages/index/index"] .age-toggle-text{
  font-size: 13px;
  font-weight: 600;
  color: var(--mp-n60);
  line-height: 1.4;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;}#mpScreen[data-route="pages/index/index"] .age-toggle.active .age-toggle-text{
  color: var(--mp-ink1);}

/* ========== 表单提示 ========== */#mpScreen[data-route="pages/index/index"] .form-hint{
  font-size: 12px;
  color: var(--mp-n60);
  margin-top: 6px;
  display: block;
  line-height: 1.4;
  font-weight: 400;
  letter-spacing: -0.005em;}

/* ========== 免审修改提示 ========== */#mpScreen[data-route="pages/index/index"] .free-edit-hint{
  color: var(--mp-ink1);
  font-weight: 600;}

/* ========== 来源选择器 ========== */#mpScreen[data-route="pages/index/index"] .source-selector{
  flex-wrap: wrap;
  gap: 8px;}#mpScreen[data-route="pages/index/index"] .source-selector .type-option{
  flex: 0 0 auto;
  min-width: 0;
  padding: 0 12px;}

/* ========== 选择器搜索框 ========== */#mpScreen[data-route="pages/index/index"] .picker-search{
  padding: 10px 16px;
  border-bottom: 1px solid var(--mp-line1);
  flex-shrink: 0;}#mpScreen[data-route="pages/index/index"] .picker-search-input{
  width: 100%;
  height: 42px;
  background-color: var(--mp-n96);
  border-radius: 12px;
  padding: 0 16px;
  font-size: 14px;
  color: var(--mp-ink2);
  box-sizing: border-box;
  border: 0.5px solid color-mix(in srgb, var(--mp-n00), transparent 94%);
  font-weight: 400;
  letter-spacing: -0.01em;
  transition: border-color 0.15s ease;}#mpScreen[data-route="pages/index/index"] .breed-empty{
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 40px 0;}#mpScreen[data-route="pages/index/index"] .breed-empty-text{
  font-size: 14px;
  color: var(--mp-n68);
  font-weight: 400;
  letter-spacing: -0.005em;}

/* ========== 图片上传 ========== */#mpScreen[data-route="pages/index/index"] .photo-grid{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 8px;}#mpScreen[data-route="pages/index/index"] .photo-item{
  width: 80px;
  height: 80px;
  border-radius: 10px;
  overflow: hidden;
  position: relative;
  flex-shrink: 0;}#mpScreen[data-route="pages/index/index"] .photo-item-cover{
  border: 3px solid var(--mp-b2);
  box-shadow: 0 0 8px color-mix(in srgb, var(--mp-b2), transparent 60%);}#mpScreen[data-route="pages/index/index"] .photo-cover-badge{
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  background: color-mix(in srgb, var(--mp-b2), transparent 10%);
  padding: 2px 0;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2;}#mpScreen[data-route="pages/index/index"] .photo-cover-badge-text{
  font-size: 10px;
  color: var(--mp-inkOn);
  font-weight: 600;
  line-height: 1.2;}#mpScreen[data-route="pages/index/index"] .photo-set-cover{
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: color-mix(in srgb, var(--mp-n00), transparent 50%);
  padding: 2px 0;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2;}#mpScreen[data-route="pages/index/index"] .photo-set-cover-text{
  font-size: 10px;
  color: var(--mp-inkOn);
  font-weight: 500;}#mpScreen[data-route="pages/index/index"] .photo-thumb{
  width: 80px;
  height: 80px;
  border-radius: 10px;}#mpScreen[data-route="pages/index/index"] .photo-delete{
  position: absolute;
  top: -4px;
  right: -4px;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background-color: color-mix(in srgb, var(--mp-n00), transparent 40%);
  display: flex;
  align-items: center;
  justify-content: center;}#mpScreen[data-route="pages/index/index"] .photo-delete-icon{
  font-size: 12px;
  color: var(--mp-inkOn);
  font-weight: 700;}#mpScreen[data-route="pages/index/index"] .photo-add{
  width: 80px;
  height: 80px;
  border-radius: 14px;
  border: 1.5px dashed color-mix(in srgb, var(--mp-n00), transparent 90%);
  background-color: var(--mp-n96);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  box-sizing: border-box;
  transition: all 0.2s cubic-bezier(0.25, 0.1, 0.25, 1);}#mpScreen[data-route="pages/index/index"] .photo-add-icon{
  font-size: 28px;
  color: var(--mp-n60);
  font-weight: 300;
  line-height: 1;}#mpScreen[data-route="pages/index/index"] .photo-add-text{
  font-size: 10px;
  color: var(--mp-n60);
  margin-top: 2px;
  font-weight: 400;
  letter-spacing: -0.005em;}

/* ========== 日期选择器 ========== */#mpScreen[data-route="pages/index/index"] .date-picker-display{
  display: flex;
  align-items: center;}#mpScreen[data-route="pages/index/index"] .date-picker-text{
  font-size: 15px;
  color: var(--mp-ink2);
  font-weight: 400;
  letter-spacing: -0.01em;}#mpScreen[data-route="pages/index/index"] .date-picker-placeholder{
  color: var(--mp-n68);}

/* ========== 地址定位 ========== */#mpScreen[data-route="pages/index/index"] .address-input-row{
  display: flex;
  align-items: center;
  gap: 10px;}#mpScreen[data-route="pages/index/index"] .address-input{
  flex: 1;}#mpScreen[data-route="pages/index/index"] .location-btn{
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 46px;
  background-color: var(--mp-n96);
  border-radius: 14px;
  border: 0.5px solid color-mix(in srgb, var(--mp-n00), transparent 94%);
  box-sizing: border-box;
  flex-shrink: 0;
  transition: background-color 0.15s ease;}#mpScreen[data-route="pages/index/index"] .location-btn-icon{
  font-size: 16px;
  line-height: 1;}#mpScreen[data-route="pages/index/index"] .location-btn-text{
  font-size: 10px;
  color: var(--mp-ink1);
  font-weight: 600;
  margin-top: 1px;
  letter-spacing: -0.005em;}

/* ========== 地址固定显示（不可点击，无下划线） ========== */

/* ========== 宠物来源标签 ========== */#mpScreen[data-route="pages/index/index"] .pet-source-tag{
  font-size: 11px;
  color: var(--mp-n60);
  border-radius: 8px;
  padding: 2px 8px;
  font-weight: 500;
  margin-left: 6px;
  background-color: var(--mp-n96);}

/* ========== 板块分隔线 ========== */#mpScreen[data-route="pages/index/index"] .section-divider{
  height: 1px;
  background-color: color-mix(in srgb, var(--mp-n00), transparent 94%);
  margin: 16px 0 20px;
  border-radius: 0;}

/* ========== 搜索栏 ========== */#mpScreen[data-route="pages/index/index"] .search-bar{
  margin-bottom: 16px;}#mpScreen[data-route="pages/index/index"] .search-input-row{
  display: flex;
  align-items: center;
  background-color: var(--mp-n100);
  border-radius: 14px;
  padding: 0 14px;
  height: 46px;
  border: 0.5px solid color-mix(in srgb, var(--mp-n00), transparent 95%);
  box-sizing: border-box;
  box-shadow: 0 1px 2px color-mix(in srgb, var(--mp-n00), transparent 97%);
  transition: box-shadow 0.2s ease;}#mpScreen[data-route="pages/index/index"] .search-icon{
  font-size: 16px;
  margin-right: 8px;
  flex-shrink: 0;}#mpScreen[data-route="pages/index/index"] .search-input{
  flex: 1;
  height: 46px;
  font-size: 14px;
  color: var(--mp-ink2);
  box-sizing: border-box;
  letter-spacing: -0.01em;}#mpScreen[data-route="pages/index/index"] .search-clear{
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background-color: color-mix(in srgb, var(--mp-n00), transparent 94%);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin-right: 8px;
  transition: background-color 0.15s ease;}#mpScreen[data-route="pages/index/index"] .search-clear-icon{
  font-size: 12px;
  color: var(--mp-n60);
  font-weight: 600;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;}#mpScreen[data-route="pages/index/index"] .filter-toggle{
  width: 32px;
  height: 32px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  background-color: var(--mp-n96);}#mpScreen[data-route="pages/index/index"] .filter-toggle.active{
  background-color: var(--mp-n96);}#mpScreen[data-route="pages/index/index"] .filter-toggle-icon{
  font-size: 18px;
  color: var(--mp-n60);}#mpScreen[data-route="pages/index/index"] .filter-toggle.active .filter-toggle-icon{
  color: var(--mp-ink1);}

/* ========== 筛选面板 ========== */#mpScreen[data-route="pages/index/index"] .filter-panel{
  background-color: var(--mp-n100);
  border-radius: 12px;
  padding: 14px 16px;
  margin-top: 10px;
  border: 0.5px solid color-mix(in srgb, var(--mp-n00), transparent 95%);
  box-shadow: 0 2px 8px color-mix(in srgb, var(--mp-n00), transparent 96%);
  box-sizing: border-box;}#mpScreen[data-route="pages/index/index"] .filter-row{
  display: flex;
  align-items: flex-start;
  margin-bottom: 12px;}#mpScreen[data-route="pages/index/index"] .filter-row:last-of-type{
  margin-bottom: 10px;}#mpScreen[data-route="pages/index/index"] .filter-label{
  font-size: 13px;
  font-weight: 600;
  color: var(--mp-n60);
  width: 52px;
  flex-shrink: 0;
  line-height: 28px;}#mpScreen[data-route="pages/index/index"] .filter-tags{
  flex: 1;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;}#mpScreen[data-route="pages/index/index"] .filter-tag{
  height: 28px;
  padding: 0 12px;
  border-radius: 14px;
  background-color: var(--mp-n96);
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid color-mix(in srgb, var(--mp-n00), transparent 94%);
  box-sizing: border-box;}#mpScreen[data-route="pages/index/index"] .filter-tag.active{
  background-color: var(--mp-n96);
  border-color: var(--mp-n08);}#mpScreen[data-route="pages/index/index"] .filter-tag-text{
  font-size: 12px;
  color: var(--mp-n60);
  font-weight: 500;
  line-height: 1.2;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;}#mpScreen[data-route="pages/index/index"] .filter-tag.active .filter-tag-text{
  color: var(--mp-ink1);
  font-weight: 600;}#mpScreen[data-route="pages/index/index"] .filter-reset{
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 8px 0;
  border-top: 1px solid var(--mp-line1);
  margin-top: 4px;}#mpScreen[data-route="pages/index/index"] .filter-reset-text{
  font-size: 13px;
  color: var(--mp-ink1);
  font-weight: 600;}

/* ========== 位置定位按钮样式 ========== */#mpScreen[data-route="pages/index/index"] .location-locate-btn{
  background-color: var(--mp-n96);
  border-color: color-mix(in srgb, var(--mp-n00), transparent 94%);}#mpScreen[data-route="pages/index/index"] .location-locate-btn .filter-tag-text{
  font-size: 11px;
  color: var(--mp-n60);}

/* ========== 坐等被领养头部（贝壳风格） ========== */#mpScreen[data-route="pages/index/index"] .waiting-tab-content{
  position: relative;
  /* 和首页同一手法：把 content-area 那 20px 底部内边距也吃掉，筛选只剩一条时渐变照样铺满整屏 */
  min-height: calc(100% + 20px);
  margin-bottom: -20px;
  box-sizing: border-box;
  padding-bottom: 34px;
  /* 竖排一列，空状态卡靠 flex: 1 在剩下的空间里居中，不会顶在上半屏、下面空一大片 */
  display: flex;
  flex-direction: column;
  /* 极简页底：全站统一两档洗色，暗纹和多团光晕收进运行时的高帧漂浮层 */
  background: linear-gradient(180deg, var(--mp-bgA) 0%, var(--mp-bgB) 100%);}#mpScreen[data-route="pages/index/index"] .waiting-header{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  padding: 8px 0 16px;}#mpScreen[data-route="pages/index/index"] .waiting-header-left{
  display: flex;
  flex-direction: column;}#mpScreen[data-route="pages/index/index"] .waiting-location-area{
  display: flex;
  align-items: center;
  background-color: var(--mp-n96);
  border-radius: 18px;
  padding: 8px 16px;
  flex-shrink: 0;
  margin-top: 2px;
  transition: background-color 0.15s ease;}#mpScreen[data-route="pages/index/index"] .location-label{
  font-size: 13px;
  font-weight: 600;
  color: var(--mp-ink1);
  max-width: 100px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  line-height: 1.4;
  display: flex;
  align-items: center;
  justify-content: center;}#mpScreen[data-route="pages/index/index"] .location-arrow{
  font-size: 10px;
  color: var(--mp-n60);
  margin-left: 6px;
  line-height: 1;}

/* ========== 横向筛选条件行 ========== */#mpScreen[data-route="pages/index/index"] .filter-row-inline{
  display: flex;
  gap: 10px;
  margin-bottom: 14px;
  /* 整行抬到下拉遮罩之上：可以直接点下一个筛选项切换，不必先关再开 */
  position: relative;
  z-index: 900;}#mpScreen[data-route="pages/index/index"] .filter-inline-item{
  flex: 1;
  height: 40px;
  background-color: var(--mp-n100);
  border-radius: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 0.5px solid color-mix(in srgb, var(--mp-n00), transparent 95%);
  box-sizing: border-box;
  box-shadow: 0 1px 2px color-mix(in srgb, var(--mp-n00), transparent 98%);
  transition: background-color 0.15s ease;}#mpScreen[data-route="pages/index/index"] .filter-inline-text{
  font-size: 13px;
  font-weight: 500;
  color: var(--mp-n60);
  max-width: 80px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  line-height: 1.4;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;}#mpScreen[data-route="pages/index/index"] .filter-inline-arrow{
  font-size: 10px;
  color: var(--mp-n60);
  margin-left: 4px;
  line-height: 1;
  max-width: 14px;
  transition: transform 0.24s cubic-bezier(0.22, 1.12, 0.36, 1), color 0.2s ease, max-width 0.24s cubic-bezier(0.22, 1.12, 0.36, 1), margin-left 0.24s ease, opacity 0.16s ease;}

/* ========== 标签右侧的小 ✕：只有这一项真的在收窄结果时才亮出来，点它只清这一项、不弹下拉 ========== */#mpScreen[data-route="pages/index/index"] .filter-inline-item.has-filter{
  padding-right: 23px;
  background-color: var(--mp-w96);
  border-color: color-mix(in srgb, var(--mp-b2), transparent 70%);}#mpScreen[data-route="pages/index/index"] .filter-inline-item.has-filter .filter-inline-text{
  color: var(--mp-bRich);
  font-weight: 600;}

/* 手机上一格只有 78px：✕ 挤进来 ▼ 就得让位，否则「聘礼最低」会被截成「聘礼最…」。
   让位是收宽度不是删掉，回到未筛选状态时 ▼ 再滑回来；点标签本体照样能展开下拉。 */#mpScreen[data-route="pages/index/index"] .filter-inline-item.has-filter .filter-inline-arrow{
  color: var(--mp-cMid);
  max-width: 0;
  margin-left: 0;
  opacity: 0;
  overflow: hidden;}#mpScreen[data-route="pages/index/index"] .filter-inline-clear{
  position: absolute;
  top: 50%;
  right: 4px;
  width: 17px;
  height: 17px;
  margin-top: -8.5px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: color-mix(in srgb, var(--mp-b2), transparent 84%);
  transition: transform 0.14s cubic-bezier(0.22, 1.12, 0.36, 1), background-color 0.14s ease;
  animation: filterClearIn 0.26s cubic-bezier(0.22, 1.24, 0.36, 1);}#mpScreen[data-route="pages/index/index"] .filter-inline-clear:active{
  transform: scale(0.84);
  background-color: color-mix(in srgb, var(--mp-b2), transparent 70%);}#mpScreen[data-route="pages/index/index"] .filter-inline-clear-icon{
  font-size: 10px;
  line-height: 1;
  font-weight: 700;
  color: var(--mp-b2);}

@keyframes filterClearIn {
  0% { opacity: 0; transform: scale(0.4) rotate(-45deg); }
  100% { opacity: 1; transform: scale(1) rotate(0deg); }
}

/* ========== 筛选 tap 下方就地下拉（品种 / 绝育 / 综合） ========== */
/* 每个 tap 一格，下拉面板贴着这一格往下长 */#mpScreen[data-route="pages/index/index"] .filter-cell{
  flex: 1;
  min-width: 0;
  position: relative;
  z-index: 2;}#mpScreen[data-route="pages/index/index"] .filter-inline-item{
  position: relative;
  transition: background-color 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease, padding-right 0.24s cubic-bezier(0.22, 1.12, 0.36, 1);}#mpScreen[data-route="pages/index/index"] .filter-inline-item.filter-inline-open{
  background-color: var(--mp-w92);
  border-color: color-mix(in srgb, var(--mp-b2), transparent 55%);
  box-shadow: 0 2px 10px color-mix(in srgb, var(--mp-b2), transparent 82%);}#mpScreen[data-route="pages/index/index"] .filter-inline-item.filter-inline-open .filter-inline-text{
  color: var(--mp-bRich);
  font-weight: 700;}#mpScreen[data-route="pages/index/index"] .filter-inline-item.filter-inline-open .filter-inline-arrow{
  color: var(--mp-b2);
  transform: rotate(180deg);}#mpScreen[data-route="pages/index/index"] .filter-drop-mask{
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
  background-color: color-mix(in srgb, var(--mp-w20), transparent 84%);
  animation: filterDropMaskIn 0.18s ease;}

@keyframes filterDropMaskIn {
  0% { opacity: 0; }
  100% { opacity: 1; }
}#mpScreen[data-route="pages/index/index"] .filter-drop{
  position: absolute;
  top: calc(100% + 9px);
  left: 0;
  width: 246px;
  max-width: calc(calc(100 * var(--mpvw)) - 24px);
  box-sizing: border-box;
  background: linear-gradient(180deg, var(--mp-n100) 0%, var(--mp-n100) 100%);
  border: 1.5px solid color-mix(in srgb, var(--mp-b2), transparent 78%);
  border-radius: 16px;
  box-shadow: 0 12px 28px color-mix(in srgb, var(--mp-n00), transparent 86%), 0 2px 6px color-mix(in srgb, var(--mp-n00), transparent 94%);
  transform-origin: top left;
  animation: filterDropIn 0.26s cubic-bezier(0.22, 1.12, 0.36, 1);}

/* 最右边那一格反过来贴右，面板不会顶出屏幕 */#mpScreen[data-route="pages/index/index"] .filter-drop-right{
  left: auto;
  right: 0;
  transform-origin: top right;}

/* 小三角：一眼看出这块面板是从哪个 tap 长出来的 */#mpScreen[data-route="pages/index/index"] .filter-drop::before{
  content: "";
  position: absolute;
  top: -7px;
  left: 26px;
  width: 12px;
  height: 12px;
  background-color: var(--mp-n100);
  border-left: 1.5px solid color-mix(in srgb, var(--mp-b2), transparent 78%);
  border-top: 1.5px solid color-mix(in srgb, var(--mp-b2), transparent 78%);
  transform: rotate(45deg);}#mpScreen[data-route="pages/index/index"] .filter-drop-right::before{
  left: auto;
  right: 26px;}

@keyframes filterDropIn {
  0% { opacity: 0; transform: translateY(-8px) scale(0.92); }
  70% { opacity: 1; transform: translateY(2px) scale(1.015); }
  100% { opacity: 1; transform: translateY(0) scale(1); }
}#mpScreen[data-route="pages/index/index"] .filter-drop-head{
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 12px;
  background: linear-gradient(180deg, var(--mp-w96) 0%, var(--mp-n100) 100%);
  border-bottom: 1px dashed color-mix(in srgb, var(--mp-bHi), transparent 65%);
  border-radius: 15px 15px 0 0;}#mpScreen[data-route="pages/index/index"] .filter-drop-head-emoji{
  font-size: 15px;
  line-height: 1;}#mpScreen[data-route="pages/index/index"] .filter-drop-head-text{
  flex: 1;
  min-width: 0;
  font-size: 13px;
  font-weight: 700;
  color: var(--mp-w42);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;}#mpScreen[data-route="pages/index/index"] .filter-drop-back{
  padding: 4px 9px;
  border-radius: 12px;
  background-color: color-mix(in srgb, var(--mp-b2), transparent 90%);
  border: 1px solid color-mix(in srgb, var(--mp-b2), transparent 78%);
  transition: transform 0.16s cubic-bezier(0.22, 1.12, 0.36, 1);}#mpScreen[data-route="pages/index/index"] .filter-drop-back:active{
  transform: scale(0.9);}#mpScreen[data-route="pages/index/index"] .filter-drop-back-text{
  font-size: 12px;
  font-weight: 700;
  color: var(--mp-bRich);
  line-height: 1.2;}#mpScreen[data-route="pages/index/index"] .filter-drop-scroll{
  max-height: calc(46 * var(--mpvh));}#mpScreen[data-route="pages/index/index"] .filter-drop-body{
  padding: 6px;}#mpScreen[data-route="pages/index/index"] .filter-drop-item{
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 10px;
  margin-bottom: 2px;
  border-radius: 12px;
  border: 1.5px solid transparent;
  box-sizing: border-box;
  transition: background-color 0.18s ease, border-color 0.18s ease, transform 0.18s cubic-bezier(0.22, 1.12, 0.36, 1);}#mpScreen[data-route="pages/index/index"] .filter-drop-item:last-child{
  margin-bottom: 0;}#mpScreen[data-route="pages/index/index"] .filter-drop-item:active{
  background-color: color-mix(in srgb, var(--mp-b2), transparent 92%);
  transform: scale(0.97);}#mpScreen[data-route="pages/index/index"] .filter-drop-item.active{
  background: linear-gradient(135deg, var(--mp-w92), var(--mp-w92));
  border-color: color-mix(in srgb, var(--mp-b2), transparent 70%);}#mpScreen[data-route="pages/index/index"] .filter-drop-item-text{
  flex: 1;
  min-width: 0;
  font-size: 14px;
  font-weight: 500;
  color: var(--mp-ink2);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;}#mpScreen[data-route="pages/index/index"] .filter-drop-item.active .filter-drop-item-text{
  font-weight: 700;
  color: var(--mp-bRich);}

/* 下拉里选项密一些，圆环跟着缩一圈 */#mpScreen[data-route="pages/index/index"] .filter-drop-item .filter-fun-emoji-ring{
  width: 28px;
  height: 28px;}#mpScreen[data-route="pages/index/index"] .filter-drop-item .filter-fun-emoji{
  font-size: 15px;}#mpScreen[data-route="pages/index/index"] .filter-drop-item .filter-dropdown-check{
  font-size: 14px;
  color: var(--mp-b2);}

/* ========== 排序弹窗选项底色 ========== */#mpScreen[data-route="pages/index/index"] .sort-overall-ring{
  background: linear-gradient(135deg, var(--mp-x44), var(--mp-x45));
  border: 1.5px solid color-mix(in srgb, var(--mp-x46), transparent 82%);}#mpScreen[data-route="pages/index/index"] .sort-dowry-ring{
  background: linear-gradient(135deg, var(--mp-x47), var(--mp-x48));
  border: 1.5px solid color-mix(in srgb, var(--mp-x49), transparent 80%);}#mpScreen[data-route="pages/index/index"] .sort-near-ring{
  background: linear-gradient(135deg, var(--mp-x50), var(--mp-x51));
  border: 1.5px solid color-mix(in srgb, var(--mp-x52), transparent 82%);}#mpScreen[data-route="pages/index/index"] .sort-heat-ring{
  background: linear-gradient(135deg, var(--mp-w92), var(--mp-w84));
  border: 1.5px solid color-mix(in srgb, var(--mp-b1), transparent 82%);}#mpScreen[data-route="pages/index/index"] .sort-young-ring{
  background: linear-gradient(135deg, var(--mp-x53), var(--mp-x54));
  border: 1.5px solid color-mix(in srgb, var(--mp-x16), transparent 84%);}#mpScreen[data-route="pages/index/index"] .sort-new-ring{
  background: linear-gradient(135deg, var(--mp-x55), var(--mp-x56));
  border: 1.5px solid color-mix(in srgb, var(--mp-x57), transparent 82%);}

/* ========== 筛选下拉 ========== */#mpScreen[data-route="pages/index/index"] .filter-dropdown{
  background-color: var(--mp-n100);
  border-radius: 16px;
  border: 0.5px solid color-mix(in srgb, var(--mp-n00), transparent 95%);
  box-shadow: 0 4px 20px color-mix(in srgb, var(--mp-n00), transparent 94%);
  margin-bottom: 14px;
  box-sizing: border-box;
  overflow: hidden;
  transition: opacity 0.2s ease;}#mpScreen[data-route="pages/index/index"] .filter-dropdown-item{
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px;
  border-bottom: 1px solid var(--mp-line1);
  transition: background-color 0.15s ease;}#mpScreen[data-route="pages/index/index"] .filter-dropdown-item:last-child{
  border-bottom: none;}#mpScreen[data-route="pages/index/index"] .filter-dropdown-item.active{
  background-color: var(--mp-n96);}#mpScreen[data-route="pages/index/index"] .filter-dropdown-text{
  font-size: 14px;
  color: var(--mp-ink2);
  font-weight: 400;
  letter-spacing: -0.01em;
  display: flex;
  align-items: center;
  white-space: nowrap;}#mpScreen[data-route="pages/index/index"] .filter-dropdown-item.active .filter-dropdown-text{
  color: var(--mp-ink1);
  font-weight: 600;}#mpScreen[data-route="pages/index/index"] .filter-dropdown-check{
  font-size: 16px;
  color: var(--mp-ink1);
  font-weight: 700;}

/* ========== 趣味筛选下拉（品种分组、绝育情况、更多） ========== */#mpScreen[data-route="pages/index/index"] .filter-dropdown-fun{
  background: linear-gradient(160deg, var(--mp-n100) 0%, var(--mp-n100) 30%, var(--mp-n100) 70%, var(--mp-n100) 100%);
  border-radius: calc(20 * var(--mprpx));
  border: calc(2 * var(--mprpx)) solid color-mix(in srgb, var(--mp-bHi), transparent 82%);
  box-shadow: 0 calc(8 * var(--mprpx)) calc(32 * var(--mprpx)) color-mix(in srgb, var(--mp-b2), transparent 92%), 0 calc(2 * var(--mprpx)) calc(8 * var(--mprpx)) color-mix(in srgb, var(--mp-n00), transparent 96%);
  margin-bottom: 14px;
  padding: 0;
  overflow: hidden;
  box-sizing: border-box;
  position: relative;}

/* 趣味下拉头部 */#mpScreen[data-route="pages/index/index"] .filter-dropdown-fun-header{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: calc(12 * var(--mprpx));
  padding: calc(20 * var(--mprpx)) calc(24 * var(--mprpx)) calc(14 * var(--mprpx));
  background: linear-gradient(180deg, var(--mp-w96) 0%, var(--mp-n100) 100%);
  border-bottom: calc(2 * var(--mprpx)) dashed color-mix(in srgb, var(--mp-bHi), transparent 80%);}#mpScreen[data-route="pages/index/index"] .filter-dropdown-fun-header-icon{
  font-size: calc(32 * var(--mprpx));
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  animation: headerIconBounce 2s ease-in-out infinite;}#mpScreen[data-route="pages/index/index"] .filter-dropdown-fun-header-icon:nth-child(3){
  animation-delay: 0.5s;}

@keyframes headerIconBounce {
  0%, 100% { transform: translateY(0) scale(1); }
  30% { transform: translateY(-6rpx) scale(1.15); }
  60% { transform: translateY(0) scale(1); }
}#mpScreen[data-route="pages/index/index"] .filter-dropdown-fun-header-title{
  font-size: calc(26 * var(--mprpx));
  font-weight: 700;
  color: var(--mp-w20);
  letter-spacing: -0.01em;
  line-height: 1.3;
  display: flex;
  align-items: center;
  justify-content: center;}

/* 趣味下拉底部装饰 */#mpScreen[data-route="pages/index/index"] .filter-dropdown-fun-footer{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: calc(16 * var(--mprpx));
  padding: calc(14 * var(--mprpx)) calc(24 * var(--mprpx)) calc(18 * var(--mprpx));
  background: linear-gradient(180deg, var(--mp-n100) 0%, var(--mp-w96) 100%);
  border-top: calc(2 * var(--mprpx)) dashed color-mix(in srgb, var(--mp-bHi), transparent 85%);}#mpScreen[data-route="pages/index/index"] .filter-fun-footer-paw{
  font-size: calc(22 * var(--mprpx));
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  animation: pawFloat 1.8s ease-in-out infinite;}#mpScreen[data-route="pages/index/index"] .filter-fun-footer-paw:nth-child(2){
  animation-delay: 0.3s;
  font-size: calc(28 * var(--mprpx));}#mpScreen[data-route="pages/index/index"] .filter-fun-footer-paw:nth-child(3){
  animation-delay: 0.6s;}

@keyframes pawFloat {
  0%, 100% { transform: translateY(0) rotate(0deg); }
  25% { transform: translateY(-8rpx) rotate(-10deg); }
  75% { transform: translateY(-8rpx) rotate(10deg); }
}

/* 趣味下拉列表项 */#mpScreen[data-route="pages/index/index"] .filter-dropdown-fun-item{
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: calc(20 * var(--mprpx)) calc(28 * var(--mprpx));
  border-bottom: calc(1 * var(--mprpx)) solid color-mix(in srgb, var(--mp-bHi), transparent 92%);
  transition: all 0.2s ease;
  position: relative;}#mpScreen[data-route="pages/index/index"] .filter-dropdown-fun-item:last-child{
  border-bottom: none;}#mpScreen[data-route="pages/index/index"] .filter-dropdown-fun-item:active{
  background-color: color-mix(in srgb, var(--mp-bHi), transparent 94%);}#mpScreen[data-route="pages/index/index"] .filter-dropdown-fun-item.active{
  background: linear-gradient(90deg, color-mix(in srgb, var(--mp-bHi), transparent 92%) 0%, color-mix(in srgb, var(--mp-bHi), transparent 97%) 100%);}

/* 列表项左侧布局 */#mpScreen[data-route="pages/index/index"] .filter-fun-item-left{
  display: flex;
  align-items: center;
  gap: calc(16 * var(--mprpx));
  flex: 1;
  min-width: 0;}

/* emoji 圆环容器 */#mpScreen[data-route="pages/index/index"] .filter-fun-emoji-ring{
  width: calc(52 * var(--mprpx));
  height: calc(52 * var(--mprpx));
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  background-color: var(--mp-n96);
  box-shadow: 0 calc(2 * var(--mprpx)) calc(8 * var(--mprpx)) color-mix(in srgb, var(--mp-n00), transparent 95%);
  transition: transform 0.2s ease, box-shadow 0.2s ease;}#mpScreen[data-route="pages/index/index"] .filter-dropdown-fun-item:active .filter-fun-emoji-ring{
  transform: scale(1.1);}#mpScreen[data-route="pages/index/index"] .filter-dropdown-fun-item.active .filter-fun-emoji-ring{
  background-color: var(--mp-w92);
  box-shadow: 0 calc(2 * var(--mprpx)) calc(10 * var(--mprpx)) color-mix(in srgb, var(--mp-b2), transparent 85%);}

/* 不同类别的圆环颜色 */#mpScreen[data-route="pages/index/index"] .filter-fun-emoji-ring.cat-ring{
  background: linear-gradient(135deg, var(--mp-x53), var(--mp-x58));}#mpScreen[data-route="pages/index/index"] .filter-fun-emoji-ring.dog-ring{
  background: linear-gradient(135deg, var(--mp-x59), var(--mp-x60));}#mpScreen[data-route="pages/index/index"] .filter-fun-emoji-ring.other-ring{
  background: linear-gradient(135deg, var(--mp-x22), var(--mp-x24));}#mpScreen[data-route="pages/index/index"] .filter-fun-emoji-ring.all-ring{
  background: linear-gradient(135deg, var(--mp-x61), var(--mp-x62));}#mpScreen[data-route="pages/index/index"] .filter-fun-emoji-ring.breed-ring{
  background: linear-gradient(135deg, var(--mp-x63), var(--mp-x64));}#mpScreen[data-route="pages/index/index"] .filter-fun-emoji-ring.sterilized-yes-ring{
  background: linear-gradient(135deg, var(--mp-n96), var(--mp-x65));}#mpScreen[data-route="pages/index/index"] .filter-fun-emoji-ring.sterilized-no-ring{
  background: linear-gradient(135deg, var(--mp-w92), var(--mp-w84));}#mpScreen[data-route="pages/index/index"] .filter-fun-emoji{
  font-size: calc(28 * var(--mprpx));
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;}

/* 列表项文本 */#mpScreen[data-route="pages/index/index"] .filter-fun-item-text{
  font-size: calc(28 * var(--mprpx));
  font-weight: 500;
  color: var(--mp-w20);
  letter-spacing: -0.01em;
  line-height: 1.4;
  display: flex;
  align-items: center;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;}#mpScreen[data-route="pages/index/index"] .filter-dropdown-fun-item.active .filter-fun-item-text{
  font-weight: 700;
  color: var(--mp-x05);}

/* 趣味下拉中的对勾 */#mpScreen[data-route="pages/index/index"] .filter-dropdown-fun-item .filter-dropdown-check{
  font-size: calc(28 * var(--mprpx));
  color: var(--mp-b2);
  font-weight: 700;
  flex-shrink: 0;
  margin-left: calc(16 * var(--mprpx));}

/* 品种滚动下拉 */#mpScreen[data-route="pages/index/index"] .breed-scroll-dropdown{
  max-height: 300px;}#mpScreen[data-route="pages/index/index"] .breed-dropdown-scroll{
  max-height: 300px;}

/* ========== 更多筛选弹窗 ========== */#mpScreen[data-route="pages/index/index"] .more-filter-panel{
  position: relative;
  background-color: var(--mp-n100);
  border-radius: 32px 32px 0 0;
  width: 100%;
  max-width: calc(100 * var(--mpvw));
  max-height: calc(85 * var(--mpvh));
  display: flex;
  flex-direction: column;
  box-shadow: 0 -8px 32px color-mix(in srgb, var(--mp-n00), transparent 90%), 0 -1px 3px color-mix(in srgb, var(--mp-n00), transparent 96%), 0 -3px 0 0 var(--mp-w92);
  box-sizing: border-box;
  overflow-x: hidden;}#mpScreen[data-route="pages/index/index"] .more-filter-body{
  flex: 1;
  overflow-y: auto;
  padding: 16px 24px;
  max-height: calc(55 * var(--mpvh));}#mpScreen[data-route="pages/index/index"] .more-filter-section{
  margin-bottom: 20px;}#mpScreen[data-route="pages/index/index"] .more-filter-label{
  font-size: 15px;
  font-weight: 600;
  color: var(--mp-ink1);
  margin-bottom: 10px;
  display: block;
  letter-spacing: -0.015em;
  line-height: 1.3;}#mpScreen[data-route="pages/index/index"] .more-filter-options{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;}#mpScreen[data-route="pages/index/index"] .more-filter-option{
  min-height: 40px;
  height: auto;
  padding: 8px 20px;
  border-radius: 20px;
  background-color: var(--mp-n96);
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid color-mix(in srgb, var(--mp-n00), transparent 96%);
  box-sizing: border-box;
  transition: all 0.2s cubic-bezier(0.25, 0.1, 0.25, 1);
  max-width: 100%;}#mpScreen[data-route="pages/index/index"] .more-filter-option.active{
  background-color: var(--mp-n96);
  border-color: var(--mp-n08);}#mpScreen[data-route="pages/index/index"] .more-filter-option-text{
  font-size: 13px;
  font-weight: 500;
  color: var(--mp-n60);
  line-height: 1.4;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  word-break: keep-all;}#mpScreen[data-route="pages/index/index"] .more-filter-option.active .more-filter-option-text{
  color: var(--mp-ink1);
  font-weight: 600;}

/* 年龄段 */#mpScreen[data-route="pages/index/index"] .more-filter-age-row{
  display: flex;
  align-items: center;
  gap: 8px;}#mpScreen[data-route="pages/index/index"] .more-filter-age-input{
  width: 80px;
  height: 42px;
  background-color: var(--mp-n96);
  border-radius: 12px;
  padding: 0 12px;
  font-size: 14px;
  color: var(--mp-ink2);
  box-sizing: border-box;
  border: 0.5px solid color-mix(in srgb, var(--mp-n00), transparent 94%);
  text-align: center;
  font-weight: 400;
  letter-spacing: -0.01em;
  transition: border-color 0.15s ease;}#mpScreen[data-route="pages/index/index"] .more-filter-age-sep{
  font-size: 16px;
  color: var(--mp-n60);
  font-weight: 400;}#mpScreen[data-route="pages/index/index"] .more-filter-age-unit{
  display: flex;
  gap: 4px;
  margin-left: 4px;}#mpScreen[data-route="pages/index/index"] .age-unit-option{
  width: 44px;
  height: 42px;
  border-radius: 12px;
  background-color: var(--mp-n96);
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid color-mix(in srgb, var(--mp-n00), transparent 96%);
  box-sizing: border-box;
  transition: all 0.2s cubic-bezier(0.25, 0.1, 0.25, 1);}#mpScreen[data-route="pages/index/index"] .age-unit-option.active{
  background-color: var(--mp-n96);
  border-color: var(--mp-n08);}#mpScreen[data-route="pages/index/index"] .age-unit-text{
  font-size: 13px;
  font-weight: 500;
  color: var(--mp-n60);
  line-height: 1.4;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;}#mpScreen[data-route="pages/index/index"] .age-unit-option.active .age-unit-text{
  color: var(--mp-ink1);
  font-weight: 600;}

/* 更多筛选底部 */#mpScreen[data-route="pages/index/index"] .more-filter-footer{
  display: flex;
  gap: 12px;
  padding: 16px 24px;
  padding-bottom: calc(16px + env(safe-area-inset-bottom));
  border-top: 1px solid var(--mp-line1);
  flex-shrink: 0;}#mpScreen[data-route="pages/index/index"] .more-filter-reset{
  flex: 1;
  height: 48px;
  border-radius: 24px;
  background-color: var(--mp-n96);
  display: flex;
  align-items: center;
  justify-content: center;
  border: 0.5px solid color-mix(in srgb, var(--mp-n00), transparent 94%);
  box-sizing: border-box;
  transition: background-color 0.15s ease;}#mpScreen[data-route="pages/index/index"] .more-filter-reset-text{
  font-size: 15px;
  font-weight: 600;
  color: var(--mp-ink1);
  line-height: 1.4;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;}#mpScreen[data-route="pages/index/index"] .more-filter-confirm{
  flex: 2;
  height: 48px;
  border-radius: 24px;
  background: var(--mp-n08);
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  transition: opacity 0.2s ease;}#mpScreen[data-route="pages/index/index"] .more-filter-confirm-text{
  font-size: 15px;
  font-weight: 600;
  color: var(--mp-inkOn);
  line-height: 1.4;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;}

/* ========== 宠物病史【无】勾选按钮 ========== */#mpScreen[data-route="pages/index/index"] .medical-history-header{
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;}#mpScreen[data-route="pages/index/index"] .no-history-check{
  display: flex;
  flex-direction: row;
  align-items: center;
  padding: 6px 14px;
  border-radius: 20px;
  border: 2px solid var(--mp-line2);
  background: var(--mp-n100);
  transition: all 0.2s ease;
  flex-shrink: 0;}#mpScreen[data-route="pages/index/index"] .no-history-check.checked{
  background: linear-gradient(135deg, var(--mp-w92), var(--mp-w84));
  border-color: var(--mp-b2);}#mpScreen[data-route="pages/index/index"] .no-history-check-icon{
  font-size: 12px;
  color: var(--mp-b2);
  font-weight: 700;
  margin-right: 4px;}#mpScreen[data-route="pages/index/index"] .no-history-check-text{
  font-size: 14px;
  color: var(--mp-n38);
  font-weight: 600;
  white-space: nowrap;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1.4;}#mpScreen[data-route="pages/index/index"] .no-history-check.checked .no-history-check-text{
  color: var(--mp-x05);}

/* ========== 守护人 Tab 标签切换（我的收藏 / 我的发布） ========== */#mpScreen[data-route="pages/index/index"] .guardian-tab-section{
  margin-bottom: 20px;}#mpScreen[data-route="pages/index/index"] .guardian-tab-header{
  border-radius: 18px;
  box-sizing: border-box;}#mpScreen[data-route="pages/index/index"] .guardian-tab-row{
  display: flex;
  flex-direction: row;
  width: 100%;
  box-sizing: border-box;}#mpScreen[data-route="pages/index/index"] .guardian-tab-item{
  flex: 1;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  transition: all 0.2s cubic-bezier(0.25, 0.1, 0.25, 1);
  box-sizing: border-box;
  position: relative;
  overflow: hidden;}#mpScreen[data-route="pages/index/index"] .guardian-tab-item.tab-active{
  background: linear-gradient(135deg, var(--mp-b2), var(--mp-bHi));
  box-shadow: 0 2px 10px color-mix(in srgb, var(--mp-b2), transparent 65%);}#mpScreen[data-route="pages/index/index"] .guardian-tab-label{
  font-size: 15px;
  font-weight: 700;
  color: var(--mp-n60);
  line-height: 1.4;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  letter-spacing: -0.01em;
  transition: color 0.2s ease;}#mpScreen[data-route="pages/index/index"] .guardian-tab-item.tab-active .guardian-tab-label{
  color: var(--mp-inkOn);
  text-shadow: 0 1px 2px color-mix(in srgb, var(--mp-n00), transparent 90%);}#mpScreen[data-route="pages/index/index"] .guardian-tab-num{
  font-size: 12px;
  font-weight: 600;
  margin-left: 4px;
  opacity: 0.85;}

/* ========== 风险提示框（与联系弹窗同款琥珀警示样式） ========== */#mpScreen[data-route="pages/index/index"] .legal-warning-box{
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 8px;
  background: linear-gradient(135deg, var(--mp-x47), var(--mp-w92));
  border: 1.5px solid var(--mp-x66);
  border-radius: 12px;
  padding: 10px 14px;}#mpScreen[data-route="pages/index/index"] .legal-warning-icon{
  font-size: 18px;
  line-height: 1.4;
  flex-shrink: 0;}#mpScreen[data-route="pages/index/index"] .legal-warning-body{
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 5px;}#mpScreen[data-route="pages/index/index"] .legal-warning-title{
  font-size: 13px;
  color: var(--mp-x67);
  font-weight: 700;
  line-height: 1.4;}#mpScreen[data-route="pages/index/index"] .legal-warning-line{
  font-size: 12px;
  color: var(--mp-x68);
  font-weight: 400;
  line-height: 1.55;}#mpScreen[data-route="pages/index/index"] .legal-warning-head{
  font-weight: 700;
  color: var(--mp-x67);}

/* ========== 病史法律警告弹窗 - 按钮区域 ========== */#mpScreen[data-route="pages/index/index"] .medical-warning-actions{
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  gap: 10px;
  z-index: 1;}#mpScreen[data-route="pages/index/index"] .medical-warning-unknown-btn{
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 14px 16px;
  background: linear-gradient(135deg, var(--mp-x47), var(--mp-w92), var(--mp-x69));
  border-radius: 18px;
  border: 2px dashed var(--mp-x70);
  box-sizing: border-box;
  transition: all 0.2s cubic-bezier(0.25, 0.1, 0.25, 1);
  box-shadow: 0 2px 8px color-mix(in srgb, var(--mp-x71), transparent 88%);
  position: relative;
  overflow: hidden;}#mpScreen[data-route="pages/index/index"] .medical-warning-unknown-btn::before{
  content: '';
  position: absolute;
  top: -10px;
  right: -10px;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background: color-mix(in srgb, var(--mp-x71), transparent 88%);
  pointer-events: none;}#mpScreen[data-route="pages/index/index"] .medical-warning-unknown-btn::after{
  content: '';
  position: absolute;
  bottom: -8px;
  left: -8px;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: color-mix(in srgb, var(--mp-x71), transparent 92%);
  pointer-events: none;}#mpScreen[data-route="pages/index/index"] .medical-warning-unknown-btn:active{
  transform: scale(0.96);
  background: linear-gradient(135deg, var(--mp-x72), var(--mp-x73), var(--mp-x48));
  border-color: var(--mp-x74);
  box-shadow: 0 4px 16px color-mix(in srgb, var(--mp-x71), transparent 75%);}#mpScreen[data-route="pages/index/index"] .medical-warning-unknown-emoji-row{
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-bottom: 6px;
  z-index: 1;}#mpScreen[data-route="pages/index/index"] .medical-warning-unknown-emoji{
  font-size: 22px;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  animation: unknownEmojiFloat 2s ease-in-out infinite;}#mpScreen[data-route="pages/index/index"] .medical-warning-unknown-emoji:nth-child(1){
  animation-delay: 0s;}#mpScreen[data-route="pages/index/index"] .medical-warning-unknown-emoji:nth-child(2){
  animation-delay: 0.4s;}#mpScreen[data-route="pages/index/index"] .medical-warning-unknown-emoji:nth-child(3){
  animation-delay: 0.8s;}

@keyframes unknownEmojiFloat {
  0%, 100% { transform: translateY(0) rotate(0deg); }
  25% { transform: translateY(-4px) rotate(3deg); }
  50% { transform: translateY(0) rotate(0deg); }
  75% { transform: translateY(-3px) rotate(-3deg); }
}#mpScreen[data-route="pages/index/index"] .medical-warning-unknown-text{
  font-size: 14px;
  font-weight: 700;
  color: var(--mp-x75);
  line-height: 1.4;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  letter-spacing: 0.01em;
  z-index: 1;}#mpScreen[data-route="pages/index/index"] .medical-warning-btn-row{
  display: flex;
  gap: 12px;
  width: 100%;
  z-index: 1;}#mpScreen[data-route="pages/index/index"] .medical-warning-card{
  position: relative;
  width: 85%;
  max-width: 340px;
  background: var(--mp-n100);
  border-radius: 24px;
  padding: 28px 22px 22px;
  box-shadow: 0 12px 40px color-mix(in srgb, var(--mp-n00), transparent 85%);
  z-index: 1002;
  border: 3px solid var(--mp-w84);
  display: flex;
  flex-direction: column;
  align-items: center;
  box-sizing: border-box;
  max-height: calc(90 * var(--mpvh));
  overflow-y: auto;}#mpScreen[data-route="pages/index/index"] .medical-warning-border{
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  pointer-events: none;}#mpScreen[data-route="pages/index/index"] .medical-warning-dot{
  position: absolute;
  font-size: 18px;
  width: 28px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;}#mpScreen[data-route="pages/index/index"] .medical-warning-dot.dot-tl{ top: -10px; left: -10px;}#mpScreen[data-route="pages/index/index"] .medical-warning-dot.dot-tr{ top: -10px; right: -10px;}#mpScreen[data-route="pages/index/index"] .medical-warning-dot.dot-bl{ bottom: -10px; left: -10px;}#mpScreen[data-route="pages/index/index"] .medical-warning-dot.dot-br{ bottom: -10px; right: -10px;}#mpScreen[data-route="pages/index/index"] .medical-warning-icon{
  text-align: center;
  font-size: 48px;
  margin-bottom: 8px;
  z-index: 1;}#mpScreen[data-route="pages/index/index"] .medical-warning-title{
  display: block;
  text-align: center;
  font-size: 18px;
  font-weight: 700;
  color: var(--mp-x05);
  margin-bottom: 12px;
  z-index: 1;}#mpScreen[data-route="pages/index/index"] .medical-warning-body{
  text-align: center;
  margin-bottom: 14px;
  z-index: 1;}#mpScreen[data-route="pages/index/index"] .medical-warning-msg{
  font-size: 15px;
  color: var(--mp-ink3);
  line-height: 1.6;}#mpScreen[data-route="pages/index/index"] .medical-warning-highlight{
  color: var(--mp-x76);
  font-weight: 700;
  background: var(--mp-w92);
  padding: 2px 6px;
  border-radius: 4px;}#mpScreen[data-route="pages/index/index"] .medical-warning-box-inner{
  background: linear-gradient(135deg, var(--mp-w96), var(--mp-w92));
  border: 2px solid var(--mp-w84);
  border-radius: 16px;
  padding: 14px;
  margin-bottom: 18px;
  width: 100%;
  box-sizing: border-box;
  z-index: 1;}#mpScreen[data-route="pages/index/index"] .medical-warning-icon-row{
  display: flex;
  flex-direction: row;
  justify-content: center;
  margin-bottom: 8px;}#mpScreen[data-route="pages/index/index"] .medical-warning-emoji-small{
  font-size: 16px;
  margin: 0 2px;}#mpScreen[data-route="pages/index/index"] .medical-warning-legal-text{
  font-size: 12px;
  color: var(--mp-cDeep);
  line-height: 1.7;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;}#mpScreen[data-route="pages/index/index"] .medical-warning-confirm{
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 14px 0;
  background: linear-gradient(135deg, var(--mp-b2), var(--mp-b1));
  border-radius: 16px;
  margin-left: 10px;
  box-shadow: 0 4px 12px color-mix(in srgb, var(--mp-b1), transparent 70%);}#mpScreen[data-route="pages/index/index"] .medical-warning-confirm-text{
  font-size: 16px;
  font-weight: 700;
  color: var(--mp-inkOn);
  white-space: nowrap;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1.4;}

/* ========== 确认领养弹窗（可爱风格） ========== */#mpScreen[data-route="pages/index/index"] .adopt-modal-overlay{
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1100;
  display: flex;
  align-items: center;
  justify-content: center;}#mpScreen[data-route="pages/index/index"] .adopt-modal-mask{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: color-mix(in srgb, var(--mp-n00), transparent 55%);}#mpScreen[data-route="pages/index/index"] .adopt-modal-card{
  position: relative;
  background-color: var(--mp-n100);
  border-radius: 32px;
  padding: 32px 24px 28px;
  width: 340px;
  display: flex;
  flex-direction: column;
  align-items: center;
  box-shadow: 0 8px 36px color-mix(in srgb, var(--mp-n00), transparent 90%), 0 1px 3px color-mix(in srgb, var(--mp-n00), transparent 94%), 0 0 0 3px var(--mp-w92), 0 0 0 6px var(--mp-w92);
  box-sizing: border-box;
  overflow: hidden;
  transition: transform 0.25s cubic-bezier(0.25, 0.1, 0.25, 1);}

/* 花边装饰容器 */#mpScreen[data-route="pages/index/index"] .adopt-modal-border{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 0;
  overflow: visible;}#mpScreen[data-route="pages/index/index"] .adopt-modal-dot{
  position: absolute;
  font-size: 18px;
  line-height: 1;
  z-index: 1;}#mpScreen[data-route="pages/index/index"] .adopt-modal-dot.dot-tl{
  top: -8px;
  left: -6px;}#mpScreen[data-route="pages/index/index"] .adopt-modal-dot.dot-tr{
  top: -8px;
  right: -6px;}#mpScreen[data-route="pages/index/index"] .adopt-modal-dot.dot-bl{
  bottom: -8px;
  left: -6px;}#mpScreen[data-route="pages/index/index"] .adopt-modal-dot.dot-br{
  bottom: -8px;
  right: -6px;}#mpScreen[data-route="pages/index/index"] .adopt-modal-dot.dot-tm{
  top: -8px;
  left: 50%;
  transform: translateX(-50%);}#mpScreen[data-route="pages/index/index"] .adopt-modal-dot.dot-bm{
  bottom: -8px;
  left: 50%;
  transform: translateX(-50%);}

/* 弹窗关闭按钮 */#mpScreen[data-route="pages/index/index"] .adopt-modal-close{
  position: absolute;
  top: 14px;
  right: 16px;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background-color: var(--mp-n96);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10;
  transition: all 0.2s ease;}#mpScreen[data-route="pages/index/index"] .adopt-modal-close:active{
  background-color: var(--mp-n91);
  transform: scale(0.92);}#mpScreen[data-route="pages/index/index"] .adopt-modal-close-icon{
  font-size: 16px;
  font-weight: 600;
  color: var(--mp-n60);
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;}

/* 弹窗图标 */#mpScreen[data-route="pages/index/index"] .adopt-modal-icon{
  font-size: 52px;
  margin-bottom: 12px;
  line-height: 1;
  filter: drop-shadow(0 2px 4px color-mix(in srgb, var(--mp-n00), transparent 92%));
  z-index: 1;}

/* 弹窗标题 */#mpScreen[data-route="pages/index/index"] .adopt-modal-title{
  font-size: 22px;
  font-weight: 700;
  color: var(--mp-ink1);
  margin-bottom: 8px;
  letter-spacing: -0.025em;
  line-height: 1.2;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;}

/* 宠物名字 */#mpScreen[data-route="pages/index/index"] .adopt-modal-pet-name{
  font-size: 18px;
  font-weight: 600;
  color: var(--mp-b2);
  margin-bottom: 16px;
  letter-spacing: -0.015em;
  line-height: 1.3;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;}

/* 弹窗消息 */#mpScreen[data-route="pages/index/index"] .adopt-modal-message{
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 14px;
  z-index: 1;}#mpScreen[data-route="pages/index/index"] .adopt-modal-msg-line{
  font-size: 14px;
  color: var(--mp-n60);
  font-weight: 400;
  letter-spacing: -0.01em;
  line-height: 1.6;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;}

/* 提示信息 */#mpScreen[data-route="pages/index/index"] .adopt-modal-tip{
  display: flex;
  align-items: center;
  background-color: var(--mp-w96);
  border-radius: 14px;
  padding: 10px 16px;
  margin-bottom: 20px;
  width: 100%;
  box-sizing: border-box;
  z-index: 1;
  border: 1px solid color-mix(in srgb, var(--mp-b2), transparent 85%);}#mpScreen[data-route="pages/index/index"] .adopt-modal-tip-icon{
  font-size: 16px;
  margin-right: 8px;
  flex-shrink: 0;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;}#mpScreen[data-route="pages/index/index"] .adopt-modal-tip-text{
  font-size: 12px;
  color: var(--mp-cDeep);
  font-weight: 400;
  letter-spacing: -0.005em;
  line-height: 1.5;
  flex: 1;}

/* 弹窗按钮区域 */#mpScreen[data-route="pages/index/index"] .adopt-modal-actions{
  display: flex;
  gap: 12px;
  width: 100%;
  z-index: 1;}#mpScreen[data-route="pages/index/index"] .adopt-modal-cancel{
  flex: 1;
  height: 48px;
  border-radius: 24px;
  background-color: var(--mp-n96);
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid color-mix(in srgb, var(--mp-n00), transparent 94%);
  box-sizing: border-box;
  transition: background-color 0.15s ease;}#mpScreen[data-route="pages/index/index"] .adopt-modal-cancel:active{
  background-color: var(--mp-n91);
  transform: scale(0.97);}#mpScreen[data-route="pages/index/index"] .adopt-modal-cancel-text{
  font-size: 15px;
  font-weight: 600;
  color: var(--mp-n60);
  line-height: 1.4;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;}#mpScreen[data-route="pages/index/index"] .adopt-modal-confirm{
  flex: 2;
  height: 48px;
  border-radius: 24px;
  background: linear-gradient(135deg, var(--mp-b2), var(--mp-cMid));
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  transition: opacity 0.2s ease, transform 0.15s ease;
  box-shadow: 0 4px 14px color-mix(in srgb, var(--mp-b2), transparent 70%);}#mpScreen[data-route="pages/index/index"] .adopt-modal-confirm:active{
  opacity: 0.85;
  transform: scale(0.97);}#mpScreen[data-route="pages/index/index"] .adopt-modal-confirm-text{
  font-size: 15px;
  font-weight: 700;
  color: var(--mp-inkOn);
  line-height: 1.4;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;}

/* ========== 位置选择器面板（贝壳风格） ========== */#mpScreen[data-route="pages/index/index"] .location-picker-panel{
  position: relative;
  background-color: var(--mp-n100);
  border-radius: 32px 32px 0 0;
  width: 100%;
  max-width: calc(100 * var(--mpvw));
  max-height: calc(80 * var(--mpvh));
  display: flex;
  flex-direction: column;
  box-shadow: 0 -8px 32px color-mix(in srgb, var(--mp-n00), transparent 90%), 0 -1px 3px color-mix(in srgb, var(--mp-n00), transparent 96%), 0 -3px 0 0 var(--mp-w92);
  box-sizing: border-box;
  overflow-x: hidden;}#mpScreen[data-route="pages/index/index"] .location-picker-tabs{
  display: flex;
  border-bottom: 1px solid color-mix(in srgb, var(--mp-n00), transparent 94%);
  flex-shrink: 0;}#mpScreen[data-route="pages/index/index"] .location-tab{
  flex: 1;
  height: 46px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-bottom: 2px solid transparent;
  box-sizing: border-box;
  transition: border-color 0.2s ease;}#mpScreen[data-route="pages/index/index"] .location-tab.active{
  border-bottom-color: var(--mp-n08);}#mpScreen[data-route="pages/index/index"] .location-tab-text{
  font-size: 14px;
  font-weight: 600;
  color: var(--mp-n60);
  line-height: 1.4;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;}#mpScreen[data-route="pages/index/index"] .location-tab.active .location-tab-text{
  color: var(--mp-ink1);}#mpScreen[data-route="pages/index/index"] .location-picker-list{
  flex: 1;
  min-height: 0;
  max-height: calc(55 * var(--mpvh));
  overflow-y: auto;}#mpScreen[data-route="pages/index/index"] .location-picker-item{
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 24px;
  border-bottom: 1px solid var(--mp-line1);
  transition: background-color 0.15s ease;}#mpScreen[data-route="pages/index/index"] .location-picker-item.active{
  background-color: var(--mp-n96);}#mpScreen[data-route="pages/index/index"] .location-picker-item-text{
  font-size: 15px;
  color: var(--mp-ink2);
  font-weight: 400;
  letter-spacing: -0.01em;}#mpScreen[data-route="pages/index/index"] .location-picker-item.active .location-picker-item-text{
  color: var(--mp-ink1);
  font-weight: 600;}#mpScreen[data-route="pages/index/index"] .location-picker-check{
  font-size: 18px;
  color: var(--mp-ink1);
  font-weight: 700;}#mpScreen[data-route="pages/index/index"] .location-picker-footer{
  padding: 14px 24px;
  padding-bottom: calc(14px + env(safe-area-inset-bottom));
  border-top: 1px solid var(--mp-line1);
  flex-shrink: 0;}#mpScreen[data-route="pages/index/index"] .location-auto-btn{
  height: 46px;
  border-radius: 23px;
  background-color: var(--mp-n96);
  display: flex;
  align-items: center;
  justify-content: center;
  border: 0.5px solid color-mix(in srgb, var(--mp-n00), transparent 94%);
  box-sizing: border-box;
  transition: background-color 0.15s ease;}#mpScreen[data-route="pages/index/index"] .location-auto-btn-text{
  font-size: 15px;
  font-weight: 600;
  color: var(--mp-ink1);
  line-height: 1.4;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;}

/* ========== 📍 定位到我所在的街道 ========== */#mpScreen[data-route="pages/index/index"] .location-pin{
  font-size: 12px;
  margin-right: 4px;
  line-height: 1.4;}#mpScreen[data-route="pages/index/index"] .locate-card{
  margin: 12px 16px 4px;
  padding: 14px 16px 12px;
  border-radius: 20px;
  background: linear-gradient(135deg, var(--mp-n100) 0%, var(--mp-x77) 46%, var(--mp-w96) 100%);
  border: 1.5px solid color-mix(in srgb, var(--mp-x78), transparent 78%);
  box-shadow: 0 6px 18px color-mix(in srgb, var(--mp-x79), transparent 88%);
  box-sizing: border-box;
  flex-shrink: 0;
  animation: locateCardIn 0.32s cubic-bezier(0.34, 1.56, 0.64, 1);}

@keyframes locateCardIn {
  from { opacity: 0; transform: translateY(-8px) scale(0.97); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}#mpScreen[data-route="pages/index/index"] .locate-card-head{
  display: flex;
  align-items: center;}#mpScreen[data-route="pages/index/index"] .locate-card-emoji{
  font-size: 22px;
  margin-right: 10px;
  line-height: 1.2;
  flex-shrink: 0;}#mpScreen[data-route="pages/index/index"] .locate-card-main{
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;}#mpScreen[data-route="pages/index/index"] .locate-card-name{
  font-size: 16px;
  font-weight: 700;
  color: var(--mp-ink2);
  line-height: 1.35;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;}#mpScreen[data-route="pages/index/index"] .locate-card-meta{
  font-size: 11px;
  color: var(--mp-x80);
  line-height: 1.4;
  margin-top: 2px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;}#mpScreen[data-route="pages/index/index"] .locate-card-badge{
  margin-left: 8px;
  padding: 5px 10px;
  border-radius: 14px;
  background-color: var(--mp-n100);
  border: 1px solid color-mix(in srgb, var(--mp-x78), transparent 74%);
  flex-shrink: 0;}#mpScreen[data-route="pages/index/index"] .locate-card-badge-text{
  font-size: 12px;
  font-weight: 700;
  color: var(--mp-x81);
  line-height: 1.3;
  white-space: nowrap;}#mpScreen[data-route="pages/index/index"] .locate-card-tip{
  display: block;
  font-size: 11px;
  color: var(--mp-x82);
  line-height: 1.5;
  margin-top: 8px;}#mpScreen[data-route="pages/index/index"] .locate-cand-row{
  display: flex;
  gap: 8px;
  margin-top: 10px;}#mpScreen[data-route="pages/index/index"] .locate-cand{
  flex: 1;
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 7px 8px;
  border-radius: 14px;
  background-color: color-mix(in srgb, var(--mp-n100), transparent 28%);
  border: 1.5px solid color-mix(in srgb, var(--mp-x78), transparent 82%);
  box-sizing: border-box;
  transition: transform 0.18s cubic-bezier(0.34, 1.56, 0.64, 1), background-color 0.18s ease, border-color 0.18s ease;}#mpScreen[data-route="pages/index/index"] .locate-cand:active{
  transform: scale(0.95);}#mpScreen[data-route="pages/index/index"] .locate-cand-on{
  background-color: var(--mp-n100);
  border-color: var(--mp-x83);
  box-shadow: 0 4px 12px color-mix(in srgb, var(--mp-x84), transparent 82%);}#mpScreen[data-route="pages/index/index"] .locate-cand-emoji{
  font-size: 13px;
  line-height: 1.3;
  flex-shrink: 0;}#mpScreen[data-route="pages/index/index"] .locate-cand-name{
  font-size: 12px;
  font-weight: 600;
  color: var(--mp-ink2);
  line-height: 1.3;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;}#mpScreen[data-route="pages/index/index"] .locate-cand-dist{
  font-size: 11px;
  color: var(--mp-x80);
  line-height: 1.3;
  flex-shrink: 0;}#mpScreen[data-route="pages/index/index"] .locate-cand-hint{
  display: block;
  font-size: 11px;
  color: var(--mp-x85);
  line-height: 1.5;
  margin-top: 8px;}#mpScreen[data-route="pages/index/index"] .locate-deny{
  margin: 12px 16px 4px;
  padding: 12px 14px;
  border-radius: 18px;
  background: linear-gradient(135deg, var(--mp-w96), var(--mp-w92));
  border: 1.5px solid color-mix(in srgb, var(--mp-b2), transparent 78%);
  display: flex;
  align-items: flex-start;
  box-sizing: border-box;
  flex-shrink: 0;}#mpScreen[data-route="pages/index/index"] .locate-deny-emoji{
  font-size: 18px;
  margin-right: 8px;
  line-height: 1.5;
  flex-shrink: 0;}#mpScreen[data-route="pages/index/index"] .locate-deny-text{
  flex: 1;
  font-size: 12px;
  color: var(--mp-cDeep);
  line-height: 1.6;}

/* 还没定位时把定位按钮顶成主行动色，授权入口要显眼 */#mpScreen[data-route="pages/index/index"] .location-auto-btn-cta{
  background: linear-gradient(135deg, var(--mp-x84), var(--mp-x86));
  border: 0;
  box-shadow: 0 6px 16px color-mix(in srgb, var(--mp-x84), transparent 72%);
  transition: background 0.2s ease, transform 0.15s ease;}#mpScreen[data-route="pages/index/index"] .location-auto-btn-cta:active{
  transform: scale(0.97);}#mpScreen[data-route="pages/index/index"] .location-auto-btn-cta .location-auto-btn-text{
  color: var(--mp-inkOn);}

/* ========== 模板收集箱 - 无模板居中卡片弹窗 ========== */#mpScreen[data-route="pages/index/index"] .template-box-empty-overlay{
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;}#mpScreen[data-route="pages/index/index"] .template-box-empty-mask{
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: color-mix(in srgb, var(--mp-n00), transparent 55%);}#mpScreen[data-route="pages/index/index"] .template-box-empty-card{
  position: relative;
  width: 330px;
  background-color: var(--mp-n100);
  border-radius: 24px;
  padding: 32px 28px 28px;
  box-sizing: border-box;
  box-shadow: 0 16px 48px color-mix(in srgb, var(--mp-n00), transparent 88%), 0 4px 12px color-mix(in srgb, var(--mp-n00), transparent 94%);
  display: flex;
  flex-direction: column;
  align-items: center;}#mpScreen[data-route="pages/index/index"] .template-box-empty-border{
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  pointer-events: none;}#mpScreen[data-route="pages/index/index"] .template-box-empty-dot{
  position: absolute;
  font-size: 22px;
  line-height: 1;}#mpScreen[data-route="pages/index/index"] .template-box-empty-dot.dot-tl{ top: -11px; left: -11px;}#mpScreen[data-route="pages/index/index"] .template-box-empty-dot.dot-tr{ top: -11px; right: -11px;}#mpScreen[data-route="pages/index/index"] .template-box-empty-dot.dot-bl{ bottom: -11px; left: -11px;}#mpScreen[data-route="pages/index/index"] .template-box-empty-dot.dot-br{ bottom: -11px; right: -11px;}#mpScreen[data-route="pages/index/index"] .template-box-empty-dot.dot-tm{ top: -11px; left: 50%; transform: translateX(-50%);}#mpScreen[data-route="pages/index/index"] .template-box-empty-dot.dot-bm{ bottom: -11px; left: 50%; transform: translateX(-50%);}#mpScreen[data-route="pages/index/index"] .template-box-empty-close{
  position: absolute;
  top: 14px;
  right: 14px;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background-color: var(--mp-n96);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2;}#mpScreen[data-route="pages/index/index"] .template-box-empty-close-icon{
  font-size: 14px;
  color: var(--mp-n60);
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;}#mpScreen[data-route="pages/index/index"] .template-box-empty-icon{
  font-size: 56px;
  line-height: 1;
  margin-bottom: 16px;
  display: flex;
  align-items: center;
  justify-content: center;}#mpScreen[data-route="pages/index/index"] .template-box-empty-title{
  font-size: 20px;
  font-weight: 700;
  color: var(--mp-ink1);
  line-height: 1.4;
  text-align: center;
  margin-bottom: 8px;
  display: flex;
  align-items: center;
  justify-content: center;}#mpScreen[data-route="pages/index/index"] .template-box-empty-subtitle{
  font-size: 14px;
  color: var(--mp-n60);
  line-height: 1.5;
  text-align: center;
  margin-bottom: 16px;
  display: flex;
  align-items: center;
  justify-content: center;}#mpScreen[data-route="pages/index/index"] .template-box-empty-tip{
  background-color: var(--mp-w96);
  border-radius: 14px;
  padding: 14px 16px;
  width: 100%;
  box-sizing: border-box;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  margin-bottom: 20px;}#mpScreen[data-route="pages/index/index"] .template-box-empty-tip-icon{
  font-size: 16px;
  line-height: 1.5;
  margin-right: 8px;
  flex-shrink: 0;
  display: flex;
  align-items: flex-start;
  justify-content: center;}#mpScreen[data-route="pages/index/index"] .template-box-empty-tip-text{
  font-size: 13px;
  color: var(--mp-cDeep);
  line-height: 1.6;
  flex: 1;}#mpScreen[data-route="pages/index/index"] .template-box-empty-btn{
  width: 100%;
  height: 48px;
  border-radius: 24px;
  background-color: var(--mp-n08);
  display: flex;
  align-items: center;
  justify-content: center;}#mpScreen[data-route="pages/index/index"] .template-box-empty-btn::after{
  border: none;}#mpScreen[data-route="pages/index/index"] .template-box-empty-btn-text{
  font-size: 16px;
  font-weight: 600;
  color: var(--mp-inkOn);
  line-height: 1.4;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;}

/* ========== 模板收集箱 - 有模板底部面板 ========== */#mpScreen[data-route="pages/index/index"] .template-box-panel{
  position: relative;
  background-color: var(--mp-n100);
  border-radius: 32px 32px 0 0;
  width: 100%;
  max-width: calc(100 * var(--mpvw));
  max-height: calc(70 * var(--mpvh));
  display: flex;
  flex-direction: column;
  box-shadow: 0 -8px 32px color-mix(in srgb, var(--mp-n00), transparent 90%), 0 -1px 3px color-mix(in srgb, var(--mp-n00), transparent 96%), 0 -3px 0 0 var(--mp-w92);
  box-sizing: border-box;
  overflow-x: hidden;}#mpScreen[data-route="pages/index/index"] .template-box-list{
  flex: 1;
  max-height: calc(55 * var(--mpvh));
  overflow-y: auto;
  padding: 8px 0 16px;}#mpScreen[data-route="pages/index/index"] .template-box-item{
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 24px;
  border-bottom: 1px solid var(--mp-line1);
  transition: background-color 0.15s ease;}#mpScreen[data-route="pages/index/index"] .template-box-item:active{
  background-color: var(--mp-n100);}#mpScreen[data-route="pages/index/index"] .template-box-item-left{
  display: flex;
  align-items: center;
  flex: 1;
  min-width: 0;}#mpScreen[data-route="pages/index/index"] .template-box-item-icon{
  font-size: 28px;
  line-height: 1;
  margin-right: 14px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;}#mpScreen[data-route="pages/index/index"] .template-box-item-info{
  display: flex;
  flex-direction: column;
  flex: 1;
  min-width: 0;}#mpScreen[data-route="pages/index/index"] .template-box-item-name{
  font-size: 16px;
  font-weight: 600;
  color: var(--mp-ink1);
  line-height: 1.4;
  margin-bottom: 4px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;}#mpScreen[data-route="pages/index/index"] .template-box-item-desc{
  font-size: 13px;
  color: var(--mp-n60);
  line-height: 1.4;
  margin-bottom: 4px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;}#mpScreen[data-route="pages/index/index"] .template-box-item-time{
  font-size: 12px;
  color: var(--mp-n76);
  line-height: 1.4;}#mpScreen[data-route="pages/index/index"] .template-box-item-actions{
  display: flex;
  align-items: center;
  margin-left: 12px;
  flex-shrink: 0;}#mpScreen[data-route="pages/index/index"] .template-box-delete-btn{
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background-color: var(--mp-x87);
  display: flex;
  align-items: center;
  justify-content: center;}#mpScreen[data-route="pages/index/index"] .template-box-delete-text{
  font-size: 16px;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;}

/* ========== 模板命名弹窗 ========== */#mpScreen[data-route="pages/index/index"] .template-name-overlay{
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1200;
  display: flex;
  align-items: center;
  justify-content: center;}#mpScreen[data-route="pages/index/index"] .template-name-mask{
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: color-mix(in srgb, var(--mp-n00), transparent 55%);}#mpScreen[data-route="pages/index/index"] .template-name-card{
  position: relative;
  width: 330px;
  background-color: var(--mp-n100);
  border-radius: 24px;
  padding: 32px 28px 28px;
  box-sizing: border-box;
  box-shadow: 0 16px 48px color-mix(in srgb, var(--mp-n00), transparent 88%), 0 4px 12px color-mix(in srgb, var(--mp-n00), transparent 94%);
  display: flex;
  flex-direction: column;
  align-items: center;
  border: 3px solid var(--mp-w92);}#mpScreen[data-route="pages/index/index"] .template-name-border{
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  pointer-events: none;}#mpScreen[data-route="pages/index/index"] .template-name-dot{
  position: absolute;
  font-size: 22px;
  line-height: 1;}#mpScreen[data-route="pages/index/index"] .template-name-dot.dot-tl{ top: -11px; left: -11px;}#mpScreen[data-route="pages/index/index"] .template-name-dot.dot-tr{ top: -11px; right: -11px;}#mpScreen[data-route="pages/index/index"] .template-name-dot.dot-bl{ bottom: -11px; left: -11px;}#mpScreen[data-route="pages/index/index"] .template-name-dot.dot-br{ bottom: -11px; right: -11px;}#mpScreen[data-route="pages/index/index"] .template-name-dot.dot-tm{ top: -11px; left: 50%; transform: translateX(-50%);}#mpScreen[data-route="pages/index/index"] .template-name-dot.dot-bm{ bottom: -11px; left: 50%; transform: translateX(-50%);}#mpScreen[data-route="pages/index/index"] .template-name-close{
  position: absolute;
  top: 14px;
  right: 14px;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background-color: var(--mp-n96);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2;
  transition: all 0.2s ease;}#mpScreen[data-route="pages/index/index"] .template-name-close:active{
  background-color: var(--mp-n91);
  transform: scale(0.92);}#mpScreen[data-route="pages/index/index"] .template-name-close-icon{
  font-size: 14px;
  color: var(--mp-n60);
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;}#mpScreen[data-route="pages/index/index"] .template-name-icon{
  font-size: 52px;
  line-height: 1;
  margin-bottom: 12px;
  display: flex;
  align-items: center;
  justify-content: center;}#mpScreen[data-route="pages/index/index"] .template-name-title{
  font-size: 20px;
  font-weight: 700;
  color: var(--mp-ink1);
  line-height: 1.4;
  text-align: center;
  margin-bottom: 8px;
  display: flex;
  align-items: center;
  justify-content: center;}#mpScreen[data-route="pages/index/index"] .template-name-subtitle{
  font-size: 14px;
  color: var(--mp-n60);
  line-height: 1.5;
  text-align: center;
  margin-bottom: 20px;
  display: flex;
  align-items: center;
  justify-content: center;}#mpScreen[data-route="pages/index/index"] .template-name-input-row{
  width: 100%;
  margin-bottom: 14px;
  box-sizing: border-box;}#mpScreen[data-route="pages/index/index"] .template-name-input{
  width: 100%;
  height: 48px;
  background-color: var(--mp-n96);
  border-radius: 14px;
  padding: 0 16px;
  font-size: 15px;
  color: var(--mp-ink2);
  box-sizing: border-box;
  border: 0.5px solid color-mix(in srgb, var(--mp-n00), transparent 94%);
  font-weight: 400;
  letter-spacing: -0.01em;
  transition: border-color 0.15s ease;}#mpScreen[data-route="pages/index/index"] .template-name-hint{
  background-color: var(--mp-w96);
  border-radius: 14px;
  padding: 12px 14px;
  width: 100%;
  box-sizing: border-box;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  margin-bottom: 20px;}#mpScreen[data-route="pages/index/index"] .template-name-hint-icon{
  font-size: 16px;
  line-height: 1.5;
  margin-right: 8px;
  flex-shrink: 0;
  display: flex;
  align-items: flex-start;
  justify-content: center;}#mpScreen[data-route="pages/index/index"] .template-name-hint-text{
  font-size: 13px;
  color: var(--mp-cDeep);
  line-height: 1.6;
  flex: 1;}#mpScreen[data-route="pages/index/index"] .template-name-actions{
  display: flex;
  gap: 12px;
  width: 100%;}#mpScreen[data-route="pages/index/index"] .template-name-cancel{
  flex: 1;
  height: 48px;
  border-radius: 24px;
  background-color: var(--mp-n96);
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid color-mix(in srgb, var(--mp-n00), transparent 94%);
  box-sizing: border-box;
  transition: background-color 0.15s ease;}#mpScreen[data-route="pages/index/index"] .template-name-cancel:active{
  background-color: var(--mp-n91);
  transform: scale(0.97);}#mpScreen[data-route="pages/index/index"] .template-name-cancel-text{
  font-size: 15px;
  font-weight: 600;
  color: var(--mp-n60);
  line-height: 1.4;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;}#mpScreen[data-route="pages/index/index"] .template-name-confirm{
  flex: 2;
  height: 48px;
  border-radius: 24px;
  background: linear-gradient(135deg, var(--mp-b2), var(--mp-cMid));
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  transition: opacity 0.2s ease, transform 0.15s ease;
  box-shadow: 0 4px 14px color-mix(in srgb, var(--mp-b2), transparent 70%);}#mpScreen[data-route="pages/index/index"] .template-name-confirm:active{
  opacity: 0.85;
  transform: scale(0.97);}#mpScreen[data-route="pages/index/index"] .template-name-confirm-text{
  font-size: 15px;
  font-weight: 700;
  color: var(--mp-inkOn);
  line-height: 1.4;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;}

/* ========== 名片密码：登录页那只「看/藏」小眼睛 + 设置密码弹窗 ========== */#mpScreen[data-route="pages/index/index"] .login-eye{
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;}#mpScreen[data-route="pages/index/index"] .login-eye-icon{
  font-size: 15px;
  line-height: 1;}

/* 弹窗这壳子照「保存为模板」那张卡抄：糖果边 + 六角 emoji + 取消/确认，颜色一套不改 */#mpScreen[data-route="pages/index/index"] .pw-form-overlay{
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1315;
  display: flex;
  align-items: center;
  justify-content: center;}#mpScreen[data-route="pages/index/index"] .pw-form-mask{
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: color-mix(in srgb, var(--mp-n00), transparent 55%);}#mpScreen[data-route="pages/index/index"] .pw-form-card{
  position: relative;
  width: 330px;
  max-width: calc(88 * var(--mpvw));
  background-color: var(--mp-n100);
  border-radius: 24px;
  padding: 30px 24px 24px;
  box-sizing: border-box;
  box-shadow: 0 16px 48px color-mix(in srgb, var(--mp-n00), transparent 88%), 0 4px 12px color-mix(in srgb, var(--mp-n00), transparent 94%);
  display: flex;
  flex-direction: column;
  align-items: center;
  border: 3px solid var(--mp-w92);}#mpScreen[data-route="pages/index/index"] .pw-form-border{
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  pointer-events: none;}#mpScreen[data-route="pages/index/index"] .pw-form-dot{
  position: absolute;
  font-size: 20px;
  line-height: 1;}#mpScreen[data-route="pages/index/index"] .pw-form-dot.dot-tl{ top: -10px; left: -10px;}#mpScreen[data-route="pages/index/index"] .pw-form-dot.dot-tr{ top: -10px; right: -10px;}#mpScreen[data-route="pages/index/index"] .pw-form-dot.dot-bl{ bottom: -10px; left: -10px;}#mpScreen[data-route="pages/index/index"] .pw-form-dot.dot-br{ bottom: -10px; right: -10px;}#mpScreen[data-route="pages/index/index"] .pw-form-dot.dot-tm{ top: -10px; left: 50%; transform: translateX(-50%);}#mpScreen[data-route="pages/index/index"] .pw-form-dot.dot-bm{ bottom: -10px; left: 50%; transform: translateX(-50%);}#mpScreen[data-route="pages/index/index"] .pw-form-close{
  position: absolute;
  top: 12px;
  right: 12px;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background-color: var(--mp-n96);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2;}#mpScreen[data-route="pages/index/index"] .pw-form-close:active{
  background-color: var(--mp-n91);
  transform: scale(0.92);}#mpScreen[data-route="pages/index/index"] .pw-form-close-icon{
  font-size: 14px;
  color: var(--mp-n60);
  line-height: 1;}#mpScreen[data-route="pages/index/index"] .pw-form-title{
  font-size: 19px;
  font-weight: 700;
  color: var(--mp-ink1);
  line-height: 1.4;
  text-align: center;
  margin-bottom: 6px;}#mpScreen[data-route="pages/index/index"] .pw-form-subtitle{
  font-size: 13px;
  color: var(--mp-n60);
  line-height: 1.5;
  text-align: center;
  margin-bottom: 18px;}#mpScreen[data-route="pages/index/index"] .pw-form-field{
  width: 100%;
  display: flex;
  align-items: center;
  gap: 6px;
  background-color: var(--mp-n96);
  border-radius: 14px;
  padding: 0 14px;
  box-sizing: border-box;
  border: 0.5px solid color-mix(in srgb, var(--mp-n00), transparent 94%);
  margin-bottom: 14px;}#mpScreen[data-route="pages/index/index"] .pw-form-input{
  flex: 1;
  min-width: 0;
  height: 48px;
  background-color: transparent;
  font-size: 15px;
  color: var(--mp-ink2);
  border: none;
  outline: none;
  padding: 0;
  letter-spacing: 0.04em;}#mpScreen[data-route="pages/index/index"] .pw-form-input-ph{
  color: var(--mp-w68);
  font-size: 13px;
  letter-spacing: 0;}#mpScreen[data-route="pages/index/index"] .pw-form-eye{
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;}#mpScreen[data-route="pages/index/index"] .pw-form-eye-icon{
  font-size: 16px;
  line-height: 1;}#mpScreen[data-route="pages/index/index"] .pw-form-hint{
  background-color: var(--mp-w96);
  border-radius: 14px;
  padding: 11px 13px;
  width: 100%;
  box-sizing: border-box;
  display: flex;
  flex-direction: row;
  align-items: flex-start;}#mpScreen[data-route="pages/index/index"] .pw-form-hint-icon{
  font-size: 15px;
  line-height: 1.6;
  margin-right: 7px;
  flex-shrink: 0;}#mpScreen[data-route="pages/index/index"] .pw-form-hint-text{
  font-size: 12.5px;
  color: var(--mp-cDeep);
  line-height: 1.6;
  flex: 1;}#mpScreen[data-route="pages/index/index"] .pw-form-error{
  width: 100%;
  margin-top: 10px;
  background-color: var(--mp-x88);
  border: 1px solid color-mix(in srgb, var(--mp-x05), transparent 76%);
  border-radius: 12px;
  padding: 8px 12px;
  box-sizing: border-box;}#mpScreen[data-route="pages/index/index"] .pw-form-error-text{
  font-size: 12px;
  color: var(--mp-x05);
  font-weight: 600;
  line-height: 1.45;}#mpScreen[data-route="pages/index/index"] .pw-form-actions{
  display: flex;
  gap: 12px;
  width: 100%;
  margin-top: 18px;}#mpScreen[data-route="pages/index/index"] .pw-form-cancel{
  flex: 1;
  height: 46px;
  border-radius: 23px;
  background-color: var(--mp-n96);
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid color-mix(in srgb, var(--mp-n00), transparent 94%);
  box-sizing: border-box;}#mpScreen[data-route="pages/index/index"] .pw-form-cancel:active{
  background-color: var(--mp-n91);
  transform: scale(0.97);}#mpScreen[data-route="pages/index/index"] .pw-form-cancel-text{
  font-size: 15px;
  font-weight: 600;
  color: var(--mp-n60);
  white-space: nowrap;}#mpScreen[data-route="pages/index/index"] .pw-form-submit{
  flex: 2;
  height: 46px;
  border-radius: 23px;
  background: linear-gradient(135deg, var(--mp-b2), var(--mp-cMid));
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  box-shadow: 0 4px 14px color-mix(in srgb, var(--mp-b2), transparent 70%);
  transition: opacity 0.2s ease, transform 0.15s ease;}#mpScreen[data-route="pages/index/index"] .pw-form-submit:active{
  opacity: 0.85;
  transform: scale(0.97);}#mpScreen[data-route="pages/index/index"] .pw-form-submit.is-off{
  background: linear-gradient(135deg, var(--mp-n91), var(--mp-n85));
  box-shadow: none;}#mpScreen[data-route="pages/index/index"] .pw-form-submit.is-off .pw-form-submit-text{
  color: var(--mp-w68);}#mpScreen[data-route="pages/index/index"] .pw-form-submit-text{
  font-size: 15px;
  font-weight: 700;
  color: var(--mp-inkOn);
  white-space: nowrap;}

/* ========== 聘礼展示区域（卡片footer） ========== */#mpScreen[data-route="pages/index/index"] .price-display-row{
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  margin-bottom: 4px;}#mpScreen[data-route="pages/index/index"] .price-display-emoji{
  font-size: 18px;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;}#mpScreen[data-route="pages/index/index"] .price-display-text{
  font-size: 22px;
  font-weight: 800;
  color: var(--mp-b1);
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  letter-spacing: -0.02em;}#mpScreen[data-route="pages/index/index"] .price-display-badge{
  font-size: 11px;
  font-weight: 600;
  color: var(--mp-inkOn);
  background: linear-gradient(135deg, var(--mp-b2), var(--mp-b1));
  border-radius: 10px;
  padding: 3px 8px;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  flex-shrink: 0;
  box-sizing: border-box;}#mpScreen[data-route="pages/index/index"] .price-badge-knife{
  background: linear-gradient(135deg, var(--mp-x89), var(--mp-x90));}

/* 聘礼填 0 的卡片顶这枚绿牌。绿色相不在当季暖色窗口里，四季都不会把它吸进品牌色，
   所以它任何时候都是绿的——语义色要的就是这个不跟着变。 */#mpScreen[data-route="pages/index/index"] .price-badge-free{
  background: linear-gradient(135deg, var(--mp-x91), var(--mp-x92));}

/* ========== 记住抖音号 ========== */#mpScreen[data-route="pages/index/index"] .douyin-id-row{
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  box-sizing: border-box;}#mpScreen[data-route="pages/index/index"] .douyin-id-input{
  flex: 1;
  min-width: 0;}#mpScreen[data-route="pages/index/index"] .remember-douyin-check{
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 8px 14px;
  border-radius: 20px;
  background-color: var(--mp-n96);
  border: 1px solid color-mix(in srgb, var(--mp-n00), transparent 94%);
  box-sizing: border-box;
  flex-shrink: 0;
  transition: all 0.25s cubic-bezier(0.25, 0.1, 0.25, 1);}#mpScreen[data-route="pages/index/index"] .remember-douyin-check.checked{
  background: linear-gradient(135deg, var(--mp-n96), var(--mp-x65));
  border-color: var(--mp-x93);
  box-shadow: 0 2px 8px color-mix(in srgb, var(--mp-x94), transparent 80%);}#mpScreen[data-route="pages/index/index"] .remember-douyin-check-box{
  font-size: 16px;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.25s cubic-bezier(0.25, 0.1, 0.25, 1);}#mpScreen[data-route="pages/index/index"] .remember-douyin-check.checked .remember-douyin-check-box{
  transform: scale(1.1);}#mpScreen[data-route="pages/index/index"] .remember-douyin-check-text{
  font-size: 13px;
  font-weight: 600;
  color: var(--mp-n38);
  line-height: 1.4;
  display: flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  letter-spacing: 0.01em;
  transition: color 0.25s cubic-bezier(0.25, 0.1, 0.25, 1);}#mpScreen[data-route="pages/index/index"] .remember-douyin-check.checked .remember-douyin-check-text{
  color: var(--mp-x42);
  font-weight: 700;}

/* ========== 联系方式勾选卡片 ========== */#mpScreen[data-route="pages/index/index"] .contact-card{
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 16px;
  border-radius: 16px;
  background: linear-gradient(135deg, var(--mp-n100), var(--mp-n96));
  border: 2px solid color-mix(in srgb, var(--mp-n00), transparent 94%);
  box-sizing: border-box;
  margin-bottom: 10px;
  transition: all 0.3s cubic-bezier(0.25, 0.1, 0.25, 1);
  cursor: pointer;}#mpScreen[data-route="pages/index/index"] .contact-card:active{
  transform: scale(0.98);
  opacity: 0.9;}#mpScreen[data-route="pages/index/index"] .contact-card-active{
  border-width: 2px;
  box-shadow: 0 4px 16px color-mix(in srgb, var(--mp-n00), transparent 92%);}#mpScreen[data-route="pages/index/index"] .contact-card-wechat{
  background: linear-gradient(135deg, var(--mp-x95), var(--mp-x96));
  border-color: var(--mp-x93);}#mpScreen[data-route="pages/index/index"] .contact-card-douyin{
  background: linear-gradient(135deg, var(--mp-x97), var(--mp-x98));
  border-color: var(--mp-x99);}#mpScreen[data-route="pages/index/index"] .contact-card-left{
  display: flex;
  align-items: center;
  gap: 10px;
  flex: 1;
  min-width: 0;}#mpScreen[data-route="pages/index/index"] .contact-card-check{
  width: 24px;
  height: 24px;
  border-radius: 50%;
  border: 2px solid color-mix(in srgb, var(--mp-n00), transparent 85%);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: all 0.3s cubic-bezier(0.25, 0.1, 0.25, 1);
  background: white;}#mpScreen[data-route="pages/index/index"] .contact-card-check-on{
  background: linear-gradient(135deg, var(--mp-x91), var(--mp-x92));
  border-color: var(--mp-x57);
  box-shadow: 0 2px 8px color-mix(in srgb, var(--mp-x91), transparent 70%);}#mpScreen[data-route="pages/index/index"] .contact-card-check-icon{
  font-size: 14px;
  color: var(--mp-inkOn);
  font-weight: 700;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;}#mpScreen[data-route="pages/index/index"] .contact-card-emoji{
  font-size: 22px;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;}#mpScreen[data-route="pages/index/index"] .contact-card-label{
  font-size: 16px;
  font-weight: 700;
  color: var(--mp-ink2);
  line-height: 1.4;
  display: flex;
  align-items: center;
  white-space: nowrap;}#mpScreen[data-route="pages/index/index"] .contact-card-badge{
  font-size: 11px;
  font-weight: 500;
  color: var(--mp-n60);
  background: color-mix(in srgb, var(--mp-n00), transparent 95%);
  padding: 2px 8px;
  border-radius: 10px;
  line-height: 1.4;
  display: flex;
  align-items: center;
  white-space: nowrap;
  flex-shrink: 0;}#mpScreen[data-route="pages/index/index"] .contact-card-right{
  display: flex;
  align-items: center;
  flex-shrink: 0;
  margin-left: 8px;}#mpScreen[data-route="pages/index/index"] .contact-card-status{
  font-size: 12px;
  font-weight: 600;
  color: var(--mp-n60);
  line-height: 1.4;
  white-space: nowrap;
  display: flex;
  align-items: center;}#mpScreen[data-route="pages/index/index"] .contact-card-active .contact-card-status{
  color: var(--mp-x57);}

/* ========== 联系方式输入框 ========== */#mpScreen[data-route="pages/index/index"] .contact-input-wrap{
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 10px;
  padding: 10px 14px;
  background: linear-gradient(135deg, var(--mp-n100), var(--mp-x100));
  border: 1.5px solid var(--mp-x70);
  border-radius: 14px;
  box-sizing: border-box;
  animation: contactInputSlideIn 0.3s cubic-bezier(0.25, 0.1, 0.25, 1);}

@keyframes contactInputSlideIn {
  from {
    opacity: 0;
    transform: translateY(-8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}#mpScreen[data-route="pages/index/index"] .contact-input-emoji{
  font-size: 20px;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;}#mpScreen[data-route="pages/index/index"] .contact-input{
  flex: 1;
  height: 38px;
  min-width: 0;
  background: var(--mp-n100);
  border: 1px solid color-mix(in srgb, var(--mp-n00), transparent 92%);
  border-radius: 10px;
  padding: 0 12px;
  font-size: 14px;
  color: var(--mp-ink2);
  box-sizing: border-box;
  line-height: 38px;
  letter-spacing: 0.02em;
  font-family: 'SF Mono', 'Menlo', 'Consolas', monospace;
  transition: border-color 0.2s ease;}#mpScreen[data-route="pages/index/index"] .contact-input:focus{
  border-color: var(--mp-bHi);
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--mp-bHi), transparent 85%);}#mpScreen[data-route="pages/index/index"] .contact-input::placeholder{
  color: var(--mp-n76);
  font-size: 13px;
  font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Display', sans-serif;}

/* 物资标签式多选 */#mpScreen[data-route="pages/index/index"] .goods-tags{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 12px;}#mpScreen[data-route="pages/index/index"] .goods-tag{
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 6px;
  padding: 8px 14px;
  border-radius: 20px;
  background-color: var(--mp-n96);
  border: 1.5px solid color-mix(in srgb, var(--mp-n00), transparent 94%);
  box-sizing: border-box;
  transition: all 0.2s cubic-bezier(0.25, 0.1, 0.25, 1);}#mpScreen[data-route="pages/index/index"] .goods-tag.active{
  background: linear-gradient(135deg, var(--mp-w96), var(--mp-w92));
  border-color: var(--mp-b2);}#mpScreen[data-route="pages/index/index"] .goods-tag-emoji{
  font-size: 18px;
  line-height: 1;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;}#mpScreen[data-route="pages/index/index"] .goods-tag-name{
  font-size: 13px;
  font-weight: 600;
  color: var(--mp-n60);
  line-height: 1.4;
  white-space: nowrap;}#mpScreen[data-route="pages/index/index"] .goods-tag.active .goods-tag-name{
  color: var(--mp-x05);}#mpScreen[data-route="pages/index/index"] .goods-tag-close{
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background-color: color-mix(in srgb, var(--mp-x101), transparent 85%);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 10px;
  color: var(--mp-x05);
  font-weight: 700;
  line-height: 1;
  flex-shrink: 0;}

/* 物资数量输入区域 */#mpScreen[data-route="pages/index/index"] .goods-amount-list{
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 4px;}#mpScreen[data-route="pages/index/index"] .goods-amount-item{
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  padding: 10px 14px;
  background-color: var(--mp-n100);
  border-radius: 14px;
  border: 1px solid color-mix(in srgb, var(--mp-b2), transparent 85%);
  box-sizing: border-box;}#mpScreen[data-route="pages/index/index"] .goods-amount-emoji{
  font-size: 20px;
  line-height: 1;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;}#mpScreen[data-route="pages/index/index"] .goods-amount-label{
  font-size: 13px;
  font-weight: 600;
  color: var(--mp-x05);
  flex-shrink: 0;
  min-width: 32px;
  white-space: nowrap;}#mpScreen[data-route="pages/index/index"] .goods-amount-input-wrap{
  flex: 1;
  display: flex;
  align-items: center;
  gap: 6px;}#mpScreen[data-route="pages/index/index"] .goods-amount-input{
  flex: 1;
  height: 38px;
  background-color: var(--mp-n100);
  border-radius: 10px;
  padding: 0 12px;
  font-size: 14px;
  color: var(--mp-ink2);
  box-sizing: border-box;
  border: 1px solid color-mix(in srgb, var(--mp-b2), transparent 80%);
  font-weight: 400;
  letter-spacing: -0.01em;}#mpScreen[data-route="pages/index/index"] .goods-amount-unit{
  font-size: 13px;
  font-weight: 600;
  color: var(--mp-n60);
  flex-shrink: 0;
  white-space: nowrap;}#mpScreen[data-route="pages/index/index"] .price-cash-row{
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  box-sizing: border-box;}#mpScreen[data-route="pages/index/index"] .price-unit-label{
  font-size: 16px;
  font-weight: 700;
  color: var(--mp-ink1);
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1.4;
  white-space: nowrap;}#mpScreen[data-route="pages/index/index"] .price-cash-input{
  flex: 1;
  min-width: 0;}

/* ========== 聘礼表单 - 现金标签（可小刀/一口价） ========== */#mpScreen[data-route="pages/index/index"] .price-cash-tags{
  display: flex;
  gap: 10px;
  margin-top: 10px;
  width: 100%;
  box-sizing: border-box;}#mpScreen[data-route="pages/index/index"] .price-cash-tag{
  flex: 1;
  height: 40px;
  border-radius: 12px;
  background-color: var(--mp-n96);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  border: 1px solid color-mix(in srgb, var(--mp-n00), transparent 96%);
  box-sizing: border-box;
  transition: all 0.2s cubic-bezier(0.25, 0.1, 0.25, 1);}#mpScreen[data-route="pages/index/index"] .price-cash-tag.active{
  border-color: var(--mp-b2);
  background: linear-gradient(135deg, var(--mp-w96), var(--mp-w92));}#mpScreen[data-route="pages/index/index"] .price-cash-tag-icon{
  font-size: 16px;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;}#mpScreen[data-route="pages/index/index"] .price-cash-tag-text{
  font-size: 13px;
  font-weight: 600;
  color: var(--mp-n60);
  line-height: 1.4;
  display: flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;}#mpScreen[data-route="pages/index/index"] .price-cash-tag.active .price-cash-tag-text{
  color: var(--mp-x05);}

/* ========== 抖音号未填写空状态 ========== */#mpScreen[data-route="pages/index/index"] .douyin-btn-empty{
  background: var(--mp-n96);
  border-radius: 22px;
  padding: 9px 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid color-mix(in srgb, var(--mp-n00), transparent 94%);
  height: 36px;
  box-sizing: border-box;
  flex-shrink: 0;
  overflow: hidden;}#mpScreen[data-route="pages/index/index"] .douyin-btn-empty::after{
  border: none;}#mpScreen[data-route="pages/index/index"] .douyin-btn-empty-text{
  font-size: 12px;
  font-weight: 500;
  color: var(--mp-n68);
  line-height: 1;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;}

/* ========== 卡片互动按钮（不感兴趣 + 关注） ========== */#mpScreen[data-route="pages/index/index"] .card-interact-btns{
  display: flex;
  align-items: center;
  gap: 6px;
  margin-right: 8px;}#mpScreen[data-route="pages/index/index"] .interact-btn{
  width: 32px;
  height: 32px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--mp-n100);
  border: 1px solid color-mix(in srgb, var(--mp-n00), transparent 94%);
  box-sizing: border-box;
  transition: all 0.2s ease;
  flex-shrink: 0;}#mpScreen[data-route="pages/index/index"] .interact-btn::after{
  border: none;}#mpScreen[data-route="pages/index/index"] .not-interested-btn{
  background-color: var(--mp-n100);
  border-color: color-mix(in srgb, var(--mp-x102), transparent 85%);}#mpScreen[data-route="pages/index/index"] .not-interested-btn:active{
  background-color: var(--mp-x103);
  transform: scale(0.92);}#mpScreen[data-route="pages/index/index"] .follow-btn{
  background-color: var(--mp-x87);
  border-color: color-mix(in srgb, var(--mp-x104), transparent 80%);}#mpScreen[data-route="pages/index/index"] .follow-btn:active{
  background-color: var(--mp-x105);
  transform: scale(0.92);}

/* 守护人收藏按钮（📌） - 粉色系 */#mpScreen[data-route="pages/index/index"] .guardian-favorite-btn{
  background-color: var(--mp-x53);
  border-color: color-mix(in srgb, var(--mp-x16), transparent 80%);}#mpScreen[data-route="pages/index/index"] .guardian-favorite-btn:active{
  background-color: var(--mp-x106);
  transform: scale(0.92);}#mpScreen[data-route="pages/index/index"] .interact-btn-text{
  font-size: 16px;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;}

/* ========== 自定义隐私协议弹窗 ========== */#mpScreen[data-route="pages/index/index"] .privacy-popup-mask{
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2000;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: color-mix(in srgb, var(--mp-n00), transparent 50%);}#mpScreen[data-route="pages/index/index"] .privacy-popup-card{
  position: relative;
  width: 85%;
  max-width: 340px;
  background-color: var(--mp-n100);
  border-radius: 24px;
  padding: 32px 24px 24px;
  display: flex;
  flex-direction: column;
  align-items: center;
  box-shadow: 0 12px 40px color-mix(in srgb, var(--mp-n00), transparent 85%);
  box-sizing: border-box;
  border: 2px solid var(--mp-w92);}#mpScreen[data-route="pages/index/index"] .privacy-popup-icon{
  font-size: 48px;
  line-height: 1;
  margin-bottom: 12px;}#mpScreen[data-route="pages/index/index"] .privacy-popup-title{
  font-size: 20px;
  font-weight: 700;
  color: var(--mp-ink1);
  margin-bottom: 12px;
  letter-spacing: -0.02em;
  line-height: 1.3;
  text-align: center;}#mpScreen[data-route="pages/index/index"] .privacy-popup-desc{
  font-size: 14px;
  color: var(--mp-n38);
  line-height: 1.6;
  text-align: center;
  margin-bottom: 24px;
  padding: 0 4px;}#mpScreen[data-route="pages/index/index"] .privacy-popup-btns{
  display: flex;
  gap: 12px;
  width: 100%;}#mpScreen[data-route="pages/index/index"] .privacy-popup-btn{
  flex: 1;
  height: 46px;
  border-radius: 23px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.4;
  box-sizing: border-box;}#mpScreen[data-route="pages/index/index"] .privacy-popup-btn::after{
  border: none;}#mpScreen[data-route="pages/index/index"] .privacy-btn-outline{
  background-color: var(--mp-n96);
  color: var(--mp-ink1);
  border: 1px solid color-mix(in srgb, var(--mp-n00), transparent 92%);}#mpScreen[data-route="pages/index/index"] .privacy-btn-primary{
  background: linear-gradient(135deg, var(--mp-b2), var(--mp-b1));
  color: var(--mp-inkOn);
  border: none;}#mpScreen[data-route="pages/index/index"] .pay-modal-dot.dot-tl{ top: -10px; left: -8px;}#mpScreen[data-route="pages/index/index"] .pay-modal-dot.dot-tr{ top: -10px; right: -8px;}#mpScreen[data-route="pages/index/index"] .pay-modal-dot.dot-bl{ bottom: -10px; left: -8px;}#mpScreen[data-route="pages/index/index"] .pay-modal-dot.dot-br{ bottom: -10px; right: -8px;}#mpScreen[data-route="pages/index/index"] .pay-modal-dot.dot-tm{ top: -10px; left: 50%; transform: translateX(-50%);}#mpScreen[data-route="pages/index/index"] .pay-modal-dot.dot-bm{ bottom: -10px; left: 50%; transform: translateX(-50%);}

/* ========== 实时地图定位面板 ========== */
/* 地图面板的 overlay 需要比发布面板更高 */#mpScreen[data-route="pages/index/index"] .map-overlay{
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 950;
  display: flex;
  align-items: flex-end;
  justify-content: center;}#mpScreen[data-route="pages/index/index"] .map-panel-mask{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: color-mix(in srgb, var(--mp-n00), transparent 40%);}#mpScreen[data-route="pages/index/index"] .map-panel-container{
  position: relative;
  background-color: var(--mp-n100);
  border-radius: 32px 32px 0 0;
  width: 100%;
  max-width: calc(100 * var(--mpvw));
  height: calc(90 * var(--mpvh));
  display: flex;
  flex-direction: column;
  box-shadow: 0 -8px 32px color-mix(in srgb, var(--mp-n00), transparent 88%), 0 -1px 3px color-mix(in srgb, var(--mp-n00), transparent 94%);
  box-sizing: border-box;
  overflow: hidden;}#mpScreen[data-route="pages/index/index"] .map-panel-header{
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 16px 12px;
  border-bottom: 1px solid var(--mp-line1);
  flex-shrink: 0;
  background-color: var(--mp-n100);
  z-index: 10;}#mpScreen[data-route="pages/index/index"] .map-panel-back{
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background-color: var(--mp-n96);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;}#mpScreen[data-route="pages/index/index"] .map-panel-back-icon{
  font-size: 18px;
  font-weight: 700;
  color: var(--mp-ink1);
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;}#mpScreen[data-route="pages/index/index"] .map-panel-title{
  font-size: 17px;
  font-weight: 700;
  color: var(--mp-ink1);
  letter-spacing: -0.02em;
  line-height: 1.3;
  display: flex;
  align-items: center;
  justify-content: center;}#mpScreen[data-route="pages/index/index"] .map-panel-confirm-btn{
  background: var(--mp-n08);
  border-radius: 18px;
  padding: 8px 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;}#mpScreen[data-route="pages/index/index"] .map-panel-confirm-btn::after{
  border: none;}#mpScreen[data-route="pages/index/index"] .map-panel-confirm-text{
  font-size: 14px;
  font-weight: 600;
  color: var(--mp-inkOn);
  line-height: 1.4;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;}

/* 圆角边框装饰emoji */

/* 关闭按钮 */

/* 头部图标行 */

/* 标题 */

/* 功能对比区域 */

/* 浮动背景emoji */

/* 聘礼区域 */

/* 操作按钮 */

/* 底部提示 */

/* ========== 授权提示弹窗 ========== */#mpScreen[data-route="pages/index/index"] .auth-tip-overlay{
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: color-mix(in srgb, var(--mp-n00), transparent 45%);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 2000;}#mpScreen[data-route="pages/index/index"] .auth-tip-mask{
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;}#mpScreen[data-route="pages/index/index"] .auth-tip-card{
  width: calc(80 * var(--mpvw));
  max-width: calc(600 * var(--mprpx));
  background: var(--mp-n100);
  border-radius: calc(40 * var(--mprpx));
  position: relative;
  overflow: hidden;
  box-sizing: border-box;
  padding: calc(48 * var(--mprpx)) calc(36 * var(--mprpx)) calc(36 * var(--mprpx));
  box-shadow: 0 calc(20 * var(--mprpx)) calc(60 * var(--mprpx)) color-mix(in srgb, var(--mp-n00), transparent 80%);
  display: flex;
  flex-direction: column;
  align-items: center;}#mpScreen[data-route="pages/index/index"] .auth-tip-close{
  position: absolute;
  top: calc(20 * var(--mprpx));
  right: calc(20 * var(--mprpx));
  width: calc(52 * var(--mprpx));
  height: calc(52 * var(--mprpx));
  border-radius: 50%;
  background-color: color-mix(in srgb, var(--mp-n00), transparent 94%);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10;}#mpScreen[data-route="pages/index/index"] .auth-tip-close-icon{
  font-size: calc(26 * var(--mprpx));
  color: var(--mp-n60);
  font-weight: 600;
  line-height: 1;}#mpScreen[data-route="pages/index/index"] .auth-tip-icon-row{
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: calc(20 * var(--mprpx));}#mpScreen[data-route="pages/index/index"] .auth-tip-emoji{
  font-size: calc(56 * var(--mprpx));
  line-height: 1;}#mpScreen[data-route="pages/index/index"] .auth-tip-title{
  font-size: calc(34 * var(--mprpx));
  font-weight: 700;
  color: var(--mp-ink1);
  margin-bottom: calc(16 * var(--mprpx));
  text-align: center;}#mpScreen[data-route="pages/index/index"] .auth-tip-message{
  font-size: calc(28 * var(--mprpx));
  color: var(--mp-n38);
  line-height: 1.6;
  text-align: center;
  margin-bottom: calc(32 * var(--mprpx));
  padding: 0 calc(12 * var(--mprpx));}#mpScreen[data-route="pages/index/index"] .auth-tip-actions{
  display: flex;
  flex-direction: row;
  width: 100%;
  gap: calc(20 * var(--mprpx));}#mpScreen[data-route="pages/index/index"] .auth-tip-btn{
  flex: 1;
  height: calc(80 * var(--mprpx));
  border-radius: calc(40 * var(--mprpx));
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;}#mpScreen[data-route="pages/index/index"] .auth-tip-btn-cancel{
  background-color: var(--mp-n96);}#mpScreen[data-route="pages/index/index"] .auth-tip-btn-confirm{
  background: linear-gradient(135deg, var(--mp-b2), var(--mp-b1));}#mpScreen[data-route="pages/index/index"] .auth-tip-btn-text{
  font-size: calc(28 * var(--mprpx));
  font-weight: 600;
  color: var(--mp-n38);
  line-height: 1;}#mpScreen[data-route="pages/index/index"] .auth-tip-btn-confirm-text{
  color: var(--mp-inkOn);}

/* ========== 发布送审确认弹窗（置顶图层，背景模糊，emoji趣味风） ========== */#mpScreen[data-route="pages/index/index"] .publish-confirm-overlay{
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: color-mix(in srgb, var(--mp-n00), transparent 40%);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 9999;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);}#mpScreen[data-route="pages/index/index"] .publish-confirm-mask{
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;}#mpScreen[data-route="pages/index/index"] .publish-confirm-card{
  width: calc(88 * var(--mpvw));
  max-width: calc(680 * var(--mprpx));
  max-height: calc(88 * var(--mpvh));
  background: linear-gradient(180deg, var(--mp-n100) 0%, var(--mp-x59) 15%, var(--mp-n100) 40%, var(--mp-n100) 100%);
  border-radius: calc(48 * var(--mprpx));
  position: relative;
  overflow-y: auto;
  overflow-x: hidden;
  box-sizing: border-box;
  padding: 0;
  box-shadow: 0 calc(30 * var(--mprpx)) calc(80 * var(--mprpx)) color-mix(in srgb, var(--mp-n00), transparent 75%), 0 calc(8 * var(--mprpx)) calc(24 * var(--mprpx)) color-mix(in srgb, var(--mp-n00), transparent 88%), 0 0 0 calc(6 * var(--mprpx)) color-mix(in srgb, var(--mp-bHi), transparent 80%);
  display: flex;
  flex-direction: column;
  z-index: 10000;}

/* 四角emoji花边 */#mpScreen[data-route="pages/index/index"] .pc-emoji-border{
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  pointer-events: none;
  z-index: 1;
  overflow: visible;}#mpScreen[data-route="pages/index/index"] .pc-dot{
  position: absolute;
  font-size: calc(36 * var(--mprpx));
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  filter: drop-shadow(0 calc(3 * var(--mprpx)) calc(6 * var(--mprpx)) color-mix(in srgb, var(--mp-n00), transparent 88%));
  animation: pcDotPulse 2s ease-in-out infinite;}#mpScreen[data-route="pages/index/index"] .pc-dot-tl{ top: calc(18 * var(--mprpx)); left: calc(22 * var(--mprpx)); animation-delay: 0s;}#mpScreen[data-route="pages/index/index"] .pc-dot-tr{ top: calc(18 * var(--mprpx)); right: calc(22 * var(--mprpx)); animation-delay: 0.5s;}#mpScreen[data-route="pages/index/index"] .pc-dot-bl{ bottom: calc(18 * var(--mprpx)); left: calc(22 * var(--mprpx)); animation-delay: 1s;}#mpScreen[data-route="pages/index/index"] .pc-dot-br{ bottom: calc(18 * var(--mprpx)); right: calc(22 * var(--mprpx)); animation-delay: 1.5s;}

@keyframes pcDotPulse {
  0%, 100% { transform: scale(1); opacity: 0.8; }
  50% { transform: scale(1.2); opacity: 1; }
}

/* 背景浮动emoji */#mpScreen[data-route="pages/index/index"] .pc-float-emojis{
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  pointer-events: none;
  z-index: 0;
  overflow: hidden;}#mpScreen[data-route="pages/index/index"] .pc-float-emoji{
  position: absolute;
  font-size: calc(32 * var(--mprpx));
  line-height: 1;
  opacity: 0.12;
  display: flex;
  align-items: center;
  justify-content: center;}#mpScreen[data-route="pages/index/index"] .pc-fe-1{ top: 10%; left: 8%; animation: pcFloat1 4s ease-in-out infinite;}#mpScreen[data-route="pages/index/index"] .pc-fe-2{ top: 15%; right: 10%; animation: pcFloat2 3.5s ease-in-out 0.5s infinite;}#mpScreen[data-route="pages/index/index"] .pc-fe-3{ top: 50%; left: 5%; animation: pcFloat3 5s ease-in-out 1s infinite;}#mpScreen[data-route="pages/index/index"] .pc-fe-4{ top: 55%; right: 8%; animation: pcFloat4 4.5s ease-in-out 1.5s infinite;}#mpScreen[data-route="pages/index/index"] .pc-fe-5{ bottom: 20%; left: 12%; animation: pcFloat1 3s ease-in-out 0.8s infinite;}#mpScreen[data-route="pages/index/index"] .pc-fe-6{ bottom: 15%; right: 15%; animation: pcFloat2 4s ease-in-out 1.2s infinite;}#mpScreen[data-route="pages/index/index"] .pc-fe-7{ top: 35%; left: 50%; animation: pcFloat3 3.8s ease-in-out 0.3s infinite;}#mpScreen[data-route="pages/index/index"] .pc-fe-8{ bottom: 40%; right: 50%; animation: pcFloat4 4.2s ease-in-out 1.8s infinite;}

@keyframes pcFloat1 {
  0%, 100% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-12rpx) rotate(8deg); }
}

@keyframes pcFloat2 {
  0%, 100% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(10rpx) rotate(-6deg); }
}

@keyframes pcFloat3 {
  0%, 100% { transform: translateX(0) scale(1); }
  50% { transform: translateX(-8rpx) scale(1.1); }
}

@keyframes pcFloat4 {
  0%, 100% { transform: translateY(0) scale(1); }
  50% { transform: translateY(-6rpx) scale(1.12); }
}

/* 头部图标行 */#mpScreen[data-route="pages/index/index"] .pc-icon-row{
  display: flex;
  align-items: center;
  justify-content: center;
  padding: calc(40 * var(--mprpx)) 0 calc(8 * var(--mprpx));
  gap: calc(18 * var(--mprpx));
  position: relative;
  z-index: 2;}#mpScreen[data-route="pages/index/index"] .pc-icon-emoji{
  font-size: calc(44 * var(--mprpx));
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  filter: drop-shadow(0 calc(3 * var(--mprpx)) calc(6 * var(--mprpx)) color-mix(in srgb, var(--mp-n00), transparent 90%));}#mpScreen[data-route="pages/index/index"] .pc-icon-main{
  font-size: calc(56 * var(--mprpx));
  animation: pcIconBounce 1.5s ease-in-out infinite;}

@keyframes pcIconBounce {
  0%, 100% { transform: translateY(0); }
  30% { transform: translateY(-10rpx); }
  50% { transform: translateY(0); }
  70% { transform: translateY(-6rpx); }
}

/* 标题 */#mpScreen[data-route="pages/index/index"] .pc-title{
  font-size: calc(38 * var(--mprpx));
  font-weight: 800;
  color: var(--mp-ink1);
  text-align: center;
  letter-spacing: -0.03em;
  line-height: 1.3;
  padding: 0 calc(40 * var(--mprpx)) calc(22 * var(--mprpx));
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;}

/* 提交后的说明卡片 */#mpScreen[data-route="pages/index/index"] .pc-notice-card{
  margin: 0 calc(28 * var(--mprpx)) calc(16 * var(--mprpx));
  padding: calc(18 * var(--mprpx)) calc(20 * var(--mprpx));
  border-radius: calc(24 * var(--mprpx));
  background: linear-gradient(135deg, var(--mp-w96), var(--mp-w92));
  border: calc(1.5 * var(--mprpx)) solid var(--mp-w84);
  position: relative;
  z-index: 2;
  box-sizing: border-box;}#mpScreen[data-route="pages/index/index"] .pc-notice-header{
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: calc(8 * var(--mprpx));
  margin-bottom: calc(12 * var(--mprpx));}#mpScreen[data-route="pages/index/index"] .pc-notice-emoji{
  font-size: calc(28 * var(--mprpx));
  line-height: 1;}#mpScreen[data-route="pages/index/index"] .pc-notice-label{
  font-size: calc(26 * var(--mprpx));
  font-weight: 700;
  color: var(--mp-cDeep);
  line-height: 1.3;}#mpScreen[data-route="pages/index/index"] .pc-notice-list{
  display: flex;
  flex-direction: column;
  gap: calc(8 * var(--mprpx));}#mpScreen[data-route="pages/index/index"] .pc-notice-item{
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: calc(8 * var(--mprpx));}#mpScreen[data-route="pages/index/index"] .pc-notice-dot{
  font-size: calc(22 * var(--mprpx));
  color: var(--mp-x05);
  font-weight: 700;
  line-height: 1.6;
  flex-shrink: 0;}#mpScreen[data-route="pages/index/index"] .pc-notice-text{
  font-size: calc(22 * var(--mprpx));
  color: var(--mp-cDeep);
  font-weight: 400;
  line-height: 1.6;
  flex: 1;}#mpScreen[data-route="pages/index/index"] .pc-notice-highlight{
  color: var(--mp-x05);
  font-weight: 700;}

/* 公众号联系卡片 */#mpScreen[data-route="pages/index/index"] .pc-contact-card{
  margin: 0 calc(28 * var(--mprpx)) calc(20 * var(--mprpx));
  padding: calc(18 * var(--mprpx)) calc(20 * var(--mprpx));
  border-radius: calc(24 * var(--mprpx));
  background: linear-gradient(135deg, var(--mp-n100), var(--mp-w96));
  border: calc(1.5 * var(--mprpx)) dashed var(--mp-cPale);
  position: relative;
  z-index: 2;
  box-sizing: border-box;}#mpScreen[data-route="pages/index/index"] .pc-contact-header{
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: calc(8 * var(--mprpx));
  margin-bottom: calc(8 * var(--mprpx));}#mpScreen[data-route="pages/index/index"] .pc-contact-icon{
  font-size: calc(26 * var(--mprpx));
  line-height: 1;}#mpScreen[data-route="pages/index/index"] .pc-contact-title{
  font-size: calc(26 * var(--mprpx));
  font-weight: 700;
  color: var(--mp-ink1);
  line-height: 1.3;}#mpScreen[data-route="pages/index/index"] .pc-contact-desc{
  display: block;
  font-size: calc(22 * var(--mprpx));
  color: var(--mp-cDeep);
  line-height: 1.6;
  margin-bottom: calc(14 * var(--mprpx));}#mpScreen[data-route="pages/index/index"] .pc-contact-name-pill{
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: calc(6 * var(--mprpx));
  align-self: center;
  padding: calc(10 * var(--mprpx)) calc(24 * var(--mprpx));
  border-radius: calc(32 * var(--mprpx));
  background: linear-gradient(135deg, var(--mp-w92), var(--mp-w84));
  margin-bottom: calc(14 * var(--mprpx));}#mpScreen[data-route="pages/index/index"] .pc-contact-name-emoji{
  font-size: calc(22 * var(--mprpx));
  line-height: 1;}#mpScreen[data-route="pages/index/index"] .pc-contact-name{
  font-size: calc(24 * var(--mprpx));
  font-weight: 800;
  color: var(--mp-cDeep);
  letter-spacing: -0.01em;
  line-height: 1.2;}#mpScreen[data-route="pages/index/index"] .pc-contact-copy-btn{
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: calc(8 * var(--mprpx));
  min-height: calc(68 * var(--mprpx));
  padding: 0 calc(20 * var(--mprpx));
  border-radius: calc(34 * var(--mprpx));
  background: linear-gradient(135deg, var(--mp-bgB), var(--mp-w92));
  border: calc(1.5 * var(--mprpx)) solid var(--mp-w84);
  box-sizing: border-box;
  transition: background-color 0.22s ease, border-color 0.22s ease;}#mpScreen[data-route="pages/index/index"] .pc-contact-copy-btn:active{
  background: linear-gradient(135deg, var(--mp-w92), var(--mp-w84));}#mpScreen[data-route="pages/index/index"] .pc-contact-copy-btn.copied{
  background: linear-gradient(135deg, var(--mp-n96), var(--mp-x107));
  border-color: var(--mp-x108);}#mpScreen[data-route="pages/index/index"] .pc-contact-copy-emoji{
  font-size: calc(24 * var(--mprpx));
  line-height: 1;}#mpScreen[data-route="pages/index/index"] .pc-contact-copy-text{
  font-size: calc(22 * var(--mprpx));
  color: var(--mp-cDeep);
  font-weight: 600;
  line-height: 1.4;}#mpScreen[data-route="pages/index/index"] .pc-contact-copy-btn.copied .pc-contact-copy-text{
  color: var(--mp-x109);}

/* 操作按钮 */#mpScreen[data-route="pages/index/index"] .pc-actions{
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: calc(16 * var(--mprpx));
  margin: 0 calc(28 * var(--mprpx)) calc(12 * var(--mprpx));
  position: relative;
  z-index: 2;}#mpScreen[data-route="pages/index/index"] .pc-btn-cancel{
  flex: 1;
  height: calc(88 * var(--mprpx));
  border-radius: calc(44 * var(--mprpx));
  background-color: var(--mp-n96);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background-color 0.2s ease;
  box-sizing: border-box;
  border: calc(1.5 * var(--mprpx)) solid color-mix(in srgb, var(--mp-n00), transparent 94%);}#mpScreen[data-route="pages/index/index"] .pc-btn-cancel:active{
  background-color: var(--mp-n91);
  transform: scale(0.97);}#mpScreen[data-route="pages/index/index"] .pc-btn-cancel-text{
  font-size: calc(30 * var(--mprpx));
  font-weight: 600;
  color: var(--mp-n38);
  letter-spacing: -0.01em;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;}#mpScreen[data-route="pages/index/index"] .pc-btn-confirm{
  flex: 2.5;
  height: calc(88 * var(--mprpx));
  border-radius: calc(44 * var(--mprpx));
  background: linear-gradient(135deg, var(--mp-b2), var(--mp-b1));
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 calc(8 * var(--mprpx)) calc(24 * var(--mprpx)) color-mix(in srgb, var(--mp-b1), transparent 65%);
  transition: transform 0.15s ease, box-shadow 0.15s ease;
  box-sizing: border-box;
  animation: pcPulse 2.5s infinite;}#mpScreen[data-route="pages/index/index"] .pc-btn-confirm:active{
  transform: scale(0.97);
  box-shadow: 0 calc(4 * var(--mprpx)) calc(12 * var(--mprpx)) color-mix(in srgb, var(--mp-b1), transparent 75%);}

@keyframes pcPulse {
  0% { box-shadow: 0 6rpx 20rpx rgba(255, 107, 53, 0.3); }
  50% { box-shadow: 0 10rpx 30rpx rgba(255, 107, 53, 0.5); }
  100% { box-shadow: 0 6rpx 20rpx rgba(255, 107, 53, 0.3); }
}#mpScreen[data-route="pages/index/index"] .pc-btn-confirm-text{
  font-size: calc(28 * var(--mprpx));
  font-weight: 700;
  color: var(--mp-inkOn);
  letter-spacing: -0.01em;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;}

/* 底部装饰 */#mpScreen[data-route="pages/index/index"] .pc-bottom-deco{
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: calc(14 * var(--mprpx));
  padding: calc(6 * var(--mprpx)) 0 calc(24 * var(--mprpx));
  position: relative;
  z-index: 2;}#mpScreen[data-route="pages/index/index"] .pc-bottom-emoji{
  font-size: calc(22 * var(--mprpx));
  line-height: 1;
  opacity: 0.5;
  display: flex;
  align-items: center;
  justify-content: center;
  animation: pcBottomEmoji 2s ease-in-out infinite;}#mpScreen[data-route="pages/index/index"] .pc-bottom-emoji:nth-child(1){ animation-delay: 0s;}#mpScreen[data-route="pages/index/index"] .pc-bottom-emoji:nth-child(2){ animation-delay: 0.2s;}#mpScreen[data-route="pages/index/index"] .pc-bottom-emoji:nth-child(3){ animation-delay: 0.4s;}#mpScreen[data-route="pages/index/index"] .pc-bottom-emoji:nth-child(4){ animation-delay: 0.6s;}#mpScreen[data-route="pages/index/index"] .pc-bottom-emoji:nth-child(5){ animation-delay: 0.8s;}

@keyframes pcBottomEmoji {
  0%, 100% { transform: translateY(0) scale(1); }
  50% { transform: translateY(-4rpx) scale(1.15); }
}

/* ========== 四级联动地址选择器弹窗 ========== */#mpScreen[data-route="pages/index/index"] .address-picker-overlay{
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: color-mix(in srgb, var(--mp-n00), transparent 45%);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 1100;}#mpScreen[data-route="pages/index/index"] .address-picker-mask{
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;}#mpScreen[data-route="pages/index/index"] .address-picker-panel{
  width: calc(86 * var(--mpvw));
  max-width: calc(680 * var(--mprpx));
  max-height: calc(80 * var(--mpvh));
  background: var(--mp-n100);
  border-radius: calc(36 * var(--mprpx));
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
  box-shadow: 0 calc(20 * var(--mprpx)) calc(60 * var(--mprpx)) color-mix(in srgb, var(--mp-n00), transparent 80%);}#mpScreen[data-route="pages/index/index"] .address-picker-header{
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  padding: calc(28 * var(--mprpx)) calc(32 * var(--mprpx)) calc(20 * var(--mprpx));
  border-bottom: calc(1 * var(--mprpx)) solid var(--mp-line1);
  box-sizing: border-box;}#mpScreen[data-route="pages/index/index"] .address-picker-header-left{
  display: flex;
  flex-direction: row;
  align-items: center;}#mpScreen[data-route="pages/index/index"] .address-picker-back-btn{
  width: calc(56 * var(--mprpx));
  height: calc(56 * var(--mprpx));
  border-radius: calc(28 * var(--mprpx));
  background-color: var(--mp-n96);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: calc(16 * var(--mprpx));}#mpScreen[data-route="pages/index/index"] .address-picker-back-btn text{
  font-size: calc(28 * var(--mprpx));
  color: var(--mp-ink2);
  line-height: 1;}#mpScreen[data-route="pages/index/index"] .address-picker-title{
  font-size: calc(32 * var(--mprpx));
  font-weight: 700;
  color: var(--mp-ink1);
  line-height: 1.4;}#mpScreen[data-route="pages/index/index"] .address-picker-step-indicator{
  font-size: calc(24 * var(--mprpx));
  color: var(--mp-b1);
  font-weight: 600;
  margin-left: calc(12 * var(--mprpx));
  line-height: 1.4;}#mpScreen[data-route="pages/index/index"] .address-picker-close{
  width: calc(56 * var(--mprpx));
  height: calc(56 * var(--mprpx));
  border-radius: calc(28 * var(--mprpx));
  background-color: var(--mp-n96);
  display: flex;
  align-items: center;
  justify-content: center;}#mpScreen[data-route="pages/index/index"] .address-picker-close text{
  font-size: calc(28 * var(--mprpx));
  color: var(--mp-n60);
  line-height: 1;}#mpScreen[data-route="pages/index/index"] .address-picker-body{
  flex: 1;
  overflow-y: auto;
  padding: calc(8 * var(--mprpx)) 0;}#mpScreen[data-route="pages/index/index"] .address-picker-item{
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  padding: calc(24 * var(--mprpx)) calc(32 * var(--mprpx));
  border-bottom: calc(1 * var(--mprpx)) solid var(--mp-line1);
  box-sizing: border-box;
  transition: background-color 0.15s;}#mpScreen[data-route="pages/index/index"] .address-picker-item:active{
  background-color: var(--mp-w96);}#mpScreen[data-route="pages/index/index"] .address-picker-item.selected{
  background-color: var(--mp-w96);}#mpScreen[data-route="pages/index/index"] .address-picker-item-text{
  font-size: calc(28 * var(--mprpx));
  color: var(--mp-ink2);
  line-height: 1.4;
  flex: 1;}#mpScreen[data-route="pages/index/index"] .address-picker-item.selected .address-picker-item-text{
  color: var(--mp-b1);
  font-weight: 600;}#mpScreen[data-route="pages/index/index"] .address-picker-item-check{
  font-size: calc(28 * var(--mprpx));
  color: var(--mp-b1);
  font-weight: 700;
  margin-left: calc(12 * var(--mprpx));}#mpScreen[data-route="pages/index/index"] .address-picker-current{
  padding: calc(16 * var(--mprpx)) calc(32 * var(--mprpx));
  background-color: var(--mp-n100);
  border-bottom: calc(1 * var(--mprpx)) solid var(--mp-w92);
  box-sizing: border-box;}#mpScreen[data-route="pages/index/index"] .address-picker-current-text{
  font-size: calc(24 * var(--mprpx));
  color: var(--mp-cDeep);
  line-height: 1.5;}#mpScreen[data-route="pages/index/index"] .address-picker-current-text .current-highlight{
  color: var(--mp-b1);
  font-weight: 600;}

/* ========== 发布/编辑面板地址选择按钮 ========== */#mpScreen[data-route="pages/index/index"] .address-select-btn{
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  height: calc(80 * var(--mprpx));
  background-color: var(--mp-n100);
  border-radius: calc(20 * var(--mprpx));
  border: calc(1.5 * var(--mprpx)) solid var(--mp-line2);
  padding: 0 calc(24 * var(--mprpx));
  box-sizing: border-box;
  transition: border-color 0.2s;}#mpScreen[data-route="pages/index/index"] .address-select-btn:active{
  border-color: var(--mp-b1);
  background-color: var(--mp-w96);}#mpScreen[data-route="pages/index/index"] .address-select-text{
  font-size: calc(28 * var(--mprpx));
  color: var(--mp-ink2);
  line-height: 1.4;
  flex: 1;
  margin-right: calc(12 * var(--mprpx));}#mpScreen[data-route="pages/index/index"] .address-select-placeholder{
  font-size: calc(28 * var(--mprpx));
  color: var(--mp-n76);
  line-height: 1.4;
  flex: 1;
  margin-right: calc(12 * var(--mprpx));}#mpScreen[data-route="pages/index/index"] .address-select-arrow{
  font-size: calc(24 * var(--mprpx));
  color: var(--mp-n60);
  line-height: 1;}

/* ========== 地址框下方「自动获取」：一键沿用上次选到底的完整地址 ========== */#mpScreen[data-route="pages/index/index"] .address-auto-row{
  display: flex;
  flex-direction: row;
  align-items: center;
  width: 100%;
  height: calc(64 * var(--mprpx));
  margin-top: calc(12 * var(--mprpx));
  padding: 0 calc(20 * var(--mprpx));
  box-sizing: border-box;
  background-color: color-mix(in srgb, var(--mp-b1), transparent 93%);
  border: calc(1.5 * var(--mprpx)) dashed color-mix(in srgb, var(--mp-b1), transparent 55%);
  border-radius: calc(18 * var(--mprpx));
  transition: background-color 0.2s;}#mpScreen[data-route="pages/index/index"] .address-auto-row:active{
  background-color: color-mix(in srgb, var(--mp-b1), transparent 82%);}#mpScreen[data-route="pages/index/index"] .address-auto-emoji{
  font-size: calc(26 * var(--mprpx));
  line-height: 1;
  margin-right: calc(8 * var(--mprpx));
  flex-shrink: 0;}#mpScreen[data-route="pages/index/index"] .address-auto-label{
  font-size: calc(24 * var(--mprpx));
  font-weight: 600;
  color: var(--mp-b1);
  line-height: 1;
  margin-right: calc(12 * var(--mprpx));
  flex-shrink: 0;}

/* 定高 + 省略号：地址长短都不能把按钮撑大，否则每选一次框子就跳一下 */#mpScreen[data-route="pages/index/index"] .address-auto-value{
  flex: 1;
  min-width: 0;
  font-size: calc(24 * var(--mprpx));
  color: var(--mp-cDeep);
  line-height: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;}

/* ========== 位置筛选器四级联动Tab ========== */#mpScreen[data-route="pages/index/index"] .location-picker-tabs{
  display: flex;
  flex-direction: row;
  border-bottom: calc(1 * var(--mprpx)) solid var(--mp-line1);
  background-color: var(--mp-n100);}#mpScreen[data-route="pages/index/index"] .location-tab{
  flex: 1;
  height: calc(80 * var(--mprpx));
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  box-sizing: border-box;}#mpScreen[data-route="pages/index/index"] .location-tab.active{
  background-color: var(--mp-n100);}#mpScreen[data-route="pages/index/index"] .location-tab.active::after{
  content: '';
  position: absolute;
  bottom: 0;
  left: 20%;
  right: 20%;
  height: calc(6 * var(--mprpx));
  background: linear-gradient(135deg, var(--mp-b2), var(--mp-b1));
  border-radius: calc(3 * var(--mprpx));}#mpScreen[data-route="pages/index/index"] .location-tab-text{
  font-size: calc(26 * var(--mprpx));
  color: var(--mp-n60);
  font-weight: 500;
  line-height: 1.4;}#mpScreen[data-route="pages/index/index"] .location-tab.active .location-tab-text{
  color: var(--mp-b1);
  font-weight: 700;}

/* 圆角边框装饰emoji */

/* 关闭按钮 */

/* 头部图标行 */

/* 标题 */

/* 记录列表 */

/* 空状态 */

/* 底部装饰 */

/* 关闭按钮 */

/* 审核状态标签 */#mpScreen[data-route="pages/index/index"] .review-status-badge{
  border-radius: 14px;
  padding: 5px 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin-left: 6px;}#mpScreen[data-route="pages/index/index"] .review-status-badge.status-pending{
  background: linear-gradient(135deg, var(--mp-x47), var(--mp-x72));
  border: 1.5px solid var(--mp-x70);
  box-shadow: 0 2px 8px color-mix(in srgb, var(--mp-x71), transparent 80%);
  animation: pendingPulse 2s ease-in-out infinite;}

@keyframes pendingPulse {
  0%, 100% { box-shadow: 0 2px 8px rgba(255, 193, 7, 0.2); }
  50% { box-shadow: 0 4px 16px rgba(255, 193, 7, 0.4); }
}#mpScreen[data-route="pages/index/index"] .review-status-badge.status-rejected{
  background: linear-gradient(135deg, var(--mp-x87), var(--mp-x103));
  border: 1.5px solid var(--mp-x110);
  box-shadow: 0 2px 8px color-mix(in srgb, var(--mp-x111), transparent 80%);}#mpScreen[data-route="pages/index/index"] .review-status-text{
  font-size: 11px;
  font-weight: 700;
  line-height: 1.2;
  display: flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;}#mpScreen[data-route="pages/index/index"] .status-pending .review-status-text{
  color: var(--mp-bRich);}#mpScreen[data-route="pages/index/index"] .status-rejected .review-status-text{
  color: var(--mp-x112);}

/* 驳回原因展示区域 */#mpScreen[data-route="pages/index/index"] .reject-reason-section{
  margin: 0 18px 10px;
  background: linear-gradient(135deg, var(--mp-n100), var(--mp-x113));
  border-radius: 16px;
  padding: 12px 16px;
  border: 1.5px solid var(--mp-x114);
  position: relative;
  z-index: 2;
  box-sizing: border-box;}#mpScreen[data-route="pages/index/index"] .reject-reason-header{
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 6px;
  margin-bottom: 6px;}#mpScreen[data-route="pages/index/index"] .reject-reason-icon{
  font-size: 16px;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;}#mpScreen[data-route="pages/index/index"] .reject-reason-title{
  font-size: 13px;
  font-weight: 700;
  color: var(--mp-x112);
  line-height: 1.3;
  display: flex;
  align-items: center;}#mpScreen[data-route="pages/index/index"] .reject-reason-text{
  font-size: 13px;
  color: var(--mp-x115);
  font-weight: 400;
  line-height: 1.5;
  display: block;
  word-break: break-all;}#mpScreen[data-route="pages/index/index"] .my-publish-fun-card{
  background: linear-gradient(160deg, var(--mp-x116) 0%, var(--mp-x117) 30%, var(--mp-x118) 100%);
  border-radius: 24px;
  padding: 0;
  margin-bottom: 20px;
  box-shadow: 0 6px 20px color-mix(in srgb, var(--mp-x119), transparent 85%), 0 2px 8px color-mix(in srgb, var(--mp-x120), transparent 94%);
  box-sizing: border-box;
  border: 2px solid color-mix(in srgb, var(--mp-x121), transparent 80%);
  width: 100%;
  overflow: hidden;
  position: relative;}#mpScreen[data-route="pages/index/index"] .my-publish-fun-card:active{
  transform: scale(0.98);
  box-shadow: 0 4px 12px color-mix(in srgb, var(--mp-x119), transparent 80%), 0 1px 4px color-mix(in srgb, var(--mp-x120), transparent 92%);}

/* 顶部星星装饰 */#mpScreen[data-route="pages/index/index"] .fun-card-top-deco{
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 14px 0 6px;
  position: relative;
  z-index: 2;}#mpScreen[data-route="pages/index/index"] .fun-deco-star{
  font-size: 18px;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  animation: funStarTwinkle 1.5s ease-in-out infinite alternate;}#mpScreen[data-route="pages/index/index"] .fun-star-1{ animation-delay: 0s;}#mpScreen[data-route="pages/index/index"] .fun-star-2{ animation-delay: 0.3s;}#mpScreen[data-route="pages/index/index"] .fun-star-3{ animation-delay: 0.6s;}#mpScreen[data-route="pages/index/index"] .fun-star-4{ animation-delay: 0.9s;}

@keyframes funStarTwinkle {
  0% { transform: scale(1); opacity: 0.6; }
  100% { transform: scale(1.3); opacity: 1; }
}

/* 头部区域 */#mpScreen[data-route="pages/index/index"] .fun-card-header{
  display: flex;
  flex-direction: row;
  align-items: center;
  padding: 8px 18px 12px;
  position: relative;
  z-index: 2;}#mpScreen[data-route="pages/index/index"] .fun-card-pet-avatar{
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--mp-x122), var(--mp-x123));
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 12px;
  flex-shrink: 0;
  box-shadow: 0 3px 10px color-mix(in srgb, var(--mp-x124), transparent 75%);
  overflow: hidden;}#mpScreen[data-route="pages/index/index"] .fun-card-pet-avatar-img{
  width: 52px;
  height: 52px;
  border-radius: 50%;}#mpScreen[data-route="pages/index/index"] .fun-card-pet-emoji{
  font-size: 28px;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;}#mpScreen[data-route="pages/index/index"] .fun-card-header-info{
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 4px;}#mpScreen[data-route="pages/index/index"] .fun-card-name-row{
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;}#mpScreen[data-route="pages/index/index"] .fun-card-name{
  font-size: 24px;
  font-weight: 700;
  color: var(--mp-x125);
  line-height: 1.3;
  display: flex;
  align-items: center;}#mpScreen[data-route="pages/index/index"] .fun-card-tags-row{
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;}#mpScreen[data-route="pages/index/index"] .fun-card-tag{
  border-radius: 10px;
  padding: 0 10px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  box-sizing: border-box;}#mpScreen[data-route="pages/index/index"] .fun-type-tag{
  background-color: var(--mp-x126);}#mpScreen[data-route="pages/index/index"] .fun-type-tag.lei-mao{
  background-color: var(--mp-x47);}#mpScreen[data-route="pages/index/index"] .fun-type-tag.lei-mao .fun-tag-text{
  color: var(--mp-x127);}#mpScreen[data-route="pages/index/index"] .fun-type-tag.lei-gou{
  background-color: var(--mp-x37);}#mpScreen[data-route="pages/index/index"] .fun-type-tag.lei-gou .fun-tag-text{
  color: var(--mp-x27);}#mpScreen[data-route="pages/index/index"] .fun-type-tag.lei-qita{
  background-color: var(--mp-x128);}#mpScreen[data-route="pages/index/index"] .fun-type-tag.lei-qita .fun-tag-text{
  color: var(--mp-x129);}#mpScreen[data-route="pages/index/index"] .fun-status-tag{
  background-color: var(--mp-x130);}#mpScreen[data-route="pages/index/index"] .fun-tag-text{
  font-size: 13px;
  font-weight: 600;
  color: var(--mp-x129);
  line-height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;}#mpScreen[data-route="pages/index/index"] .fun-status-tag .fun-tag-text{
  color: var(--mp-x42);}#mpScreen[data-route="pages/index/index"] .fun-status-tag.zhuangtai-wei-jueyu{
  background-color: var(--mp-x43);}#mpScreen[data-route="pages/index/index"] .fun-status-tag.zhuangtai-wei-jueyu .fun-tag-text{
  color: var(--mp-x21);}#mpScreen[data-route="pages/index/index"] .fun-status-tag.zhuangtai-weizhi{
  background-color: var(--mp-x47);}#mpScreen[data-route="pages/index/index"] .fun-status-tag.zhuangtai-weizhi .fun-tag-text{
  color: var(--mp-x75);}#mpScreen[data-route="pages/index/index"] .fun-card-publish-badge{
  flex-shrink: 0;
  background: linear-gradient(135deg, var(--mp-x119), var(--mp-x131));
  border-radius: 14px;
  padding: 6px 12px;
  box-shadow: 0 2px 8px color-mix(in srgb, var(--mp-x119), transparent 70%);}#mpScreen[data-route="pages/index/index"] .fun-publish-badge-text{
  font-size: 11px;
  font-weight: 700;
  color: var(--mp-x132);
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;}

/* 分隔线 */#mpScreen[data-route="pages/index/index"] .fun-card-divider{
  display: flex;
  flex-direction: row;
  align-items: center;
  padding: 0 18px;
  margin-bottom: 8px;
  position: relative;
  z-index: 2;}#mpScreen[data-route="pages/index/index"] .fun-divider-dot{
  font-size: 14px;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;}#mpScreen[data-route="pages/index/index"] .fun-divider-line{
  flex: 1;
  height: 1px;
  background: linear-gradient(90deg, color-mix(in srgb, var(--mp-x119), transparent 60%), color-mix(in srgb, var(--mp-x131), transparent 60%));
  margin: 0 8px;}

/* 信息网格 */#mpScreen[data-route="pages/index/index"] .fun-card-info-grid{
  display: flex;
  flex-direction: column;
  gap: 0px;
  padding: 0 18px 8px;
  position: relative;
  z-index: 2;}#mpScreen[data-route="pages/index/index"] .fun-info-item{
  display: flex;
  flex-direction: row;
  align-items: baseline;
  gap: 6px;
  padding: 1px 0;}

/* 已领养卡片的 180 天下架倒计时，和底部按钮同层 */#mpScreen[data-route="pages/index/index"] .adopted-card-countdown{
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 6px;
  margin: 0 18px 10px;
  padding: 7px 12px;
  border-radius: 14px;
  background: linear-gradient(135deg, var(--mp-x47), var(--mp-w92));
  border: 1.5px solid var(--mp-w84);
  box-sizing: border-box;
  position: relative;
  z-index: 2;}#mpScreen[data-route="pages/index/index"] .adopted-card-countdown-icon{
  font-size: 13px;
  line-height: 1;}#mpScreen[data-route="pages/index/index"] .adopted-card-countdown-text{
  font-size: 12px;
  font-weight: 700;
  color: var(--mp-x67);
  line-height: 1.45;}

/* 底部 */#mpScreen[data-route="pages/index/index"] .fun-card-footer{
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 10px 18px 12px;
  border-top: 1px solid color-mix(in srgb, var(--mp-x121), transparent 85%);
  position: relative;
  z-index: 2;}#mpScreen[data-route="pages/index/index"] .fun-card-footer-left{
  display: flex;
  flex-direction: column;
  gap: 4px;
  flex: 1 1 auto;
  min-width: 0;}

/* 底部装饰 */#mpScreen[data-route="pages/index/index"] .fun-card-bottom-deco{
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 4px 0 12px;
  position: relative;
  z-index: 2;}#mpScreen[data-route="pages/index/index"] .fun-deco-paw{
  font-size: 16px;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0.7;}#mpScreen[data-route="pages/index/index"] .fun-deco-heart{
  font-size: 20px;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  animation: funHeartBeat 1s ease-in-out infinite;}

@keyframes funHeartBeat {
  0% { transform: scale(1); }
  15% { transform: scale(1.25); }
  30% { transform: scale(1); }
  45% { transform: scale(1.2); }
  60% { transform: scale(1); }
  100% { transform: scale(1); }
}

/* ========== 坐等被领养趣味卡片样式 ========== */#mpScreen[data-route="pages/index/index"] .waiting-fun-card{
  background: linear-gradient(160deg, var(--mp-n100) 0%, var(--mp-waitWash) 30%, var(--mp-n100) 100%);
  border-radius: 24px;
  padding: 0;
  margin-bottom: 20px;
  box-shadow: 0 6px 20px color-mix(in srgb, var(--mp-waitDeep), transparent 85%), 0 2px 8px color-mix(in srgb, var(--mp-n00), transparent 94%);
  box-sizing: border-box;
  border: 2px solid color-mix(in srgb, var(--mp-waitDeep), transparent 80%);
  width: 100%;
  overflow: hidden;
  position: relative;}#mpScreen[data-route="pages/index/index"] .waiting-fun-card:active{
  transform: scale(0.98);
  box-shadow: 0 4px 12px color-mix(in srgb, var(--mp-waitDeep), transparent 80%), 0 1px 4px color-mix(in srgb, var(--mp-n00), transparent 92%);}

/* 顶部爱心装饰 */#mpScreen[data-route="pages/index/index"] .waiting-fun-card-top-deco{
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 14px 0 6px;
  position: relative;
  z-index: 2;}#mpScreen[data-route="pages/index/index"] .waiting-fun-deco-heart{
  font-size: 18px;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  animation: waitingHeartFloat 2s ease-in-out infinite alternate;}#mpScreen[data-route="pages/index/index"] .waiting-heart-1{ animation-delay: 0s;}#mpScreen[data-route="pages/index/index"] .waiting-heart-2{ animation-delay: 0.4s;}#mpScreen[data-route="pages/index/index"] .waiting-heart-3{ animation-delay: 0.8s;}#mpScreen[data-route="pages/index/index"] .waiting-heart-4{ animation-delay: 1.2s;}

@keyframes waitingHeartFloat {
  0% { transform: translateY(0) scale(1); opacity: 0.6; }
  100% { transform: translateY(-4px) scale(1.2); opacity: 1; }
}

/* 头部区域 */#mpScreen[data-route="pages/index/index"] .waiting-fun-card-header{
  display: flex;
  flex-direction: row;
  align-items: center;
  padding: 8px 18px 12px;
  position: relative;
  z-index: 2;}#mpScreen[data-route="pages/index/index"] .waiting-fun-card-pet-avatar{
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--mp-waitSoft), var(--mp-waitMid));
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 12px;
  flex-shrink: 0;
  box-shadow: 0 3px 10px color-mix(in srgb, var(--mp-waitBlue), transparent 75%);
  overflow: hidden;}#mpScreen[data-route="pages/index/index"] .waiting-fun-card-pet-avatar-img{
  width: 52px;
  height: 52px;
  border-radius: 50%;}#mpScreen[data-route="pages/index/index"] .waiting-fun-card-pet-emoji{
  font-size: 28px;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;}#mpScreen[data-route="pages/index/index"] .waiting-fun-card-header-info{
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 4px;}#mpScreen[data-route="pages/index/index"] .waiting-fun-card-name-row{
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;}#mpScreen[data-route="pages/index/index"] .waiting-fun-card-name{
  font-size: 24px;
  font-weight: 700;
  color: var(--mp-ink1);
  line-height: 1.3;
  display: flex;
  align-items: center;}#mpScreen[data-route="pages/index/index"] .waiting-fun-gender-tag-gong{
  background-color: var(--mp-x37);}#mpScreen[data-route="pages/index/index"] .waiting-fun-gender-tag-gong .waiting-fun-tag-text{
  color: var(--mp-x27);}#mpScreen[data-route="pages/index/index"] .waiting-fun-gender-tag-mu{
  background-color: var(--mp-x14);}#mpScreen[data-route="pages/index/index"] .waiting-fun-gender-tag-mu .waiting-fun-tag-text{
  color: var(--mp-x16);}#mpScreen[data-route="pages/index/index"] .waiting-fun-card-tags-row{
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;}#mpScreen[data-route="pages/index/index"] .waiting-fun-card-tag{
  border-radius: 10px;
  padding: 0 10px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  box-sizing: border-box;}#mpScreen[data-route="pages/index/index"] .waiting-fun-type-tag{
  background-color: var(--mp-x37);}#mpScreen[data-route="pages/index/index"] .waiting-fun-type-tag.lei-mao{
  background-color: var(--mp-x47);}#mpScreen[data-route="pages/index/index"] .waiting-fun-type-tag.lei-mao .waiting-fun-tag-text{
  color: var(--mp-x127);}#mpScreen[data-route="pages/index/index"] .waiting-fun-type-tag.lei-gou{
  background-color: var(--mp-x37);}#mpScreen[data-route="pages/index/index"] .waiting-fun-type-tag.lei-gou .waiting-fun-tag-text{
  color: var(--mp-x27);}#mpScreen[data-route="pages/index/index"] .waiting-fun-type-tag.lei-qita{
  background-color: var(--mp-x128);}#mpScreen[data-route="pages/index/index"] .waiting-fun-type-tag.lei-qita .waiting-fun-tag-text{
  color: var(--mp-x129);}#mpScreen[data-route="pages/index/index"] .waiting-fun-status-tag{
  background-color: var(--mp-n96);}#mpScreen[data-route="pages/index/index"] .waiting-fun-tag-text{
  font-size: 13px;
  font-weight: 600;
  color: var(--mp-waitInk);
  line-height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;}#mpScreen[data-route="pages/index/index"] .waiting-fun-status-tag .waiting-fun-tag-text{
  color: var(--mp-x42);}#mpScreen[data-route="pages/index/index"] .waiting-fun-status-tag.zhuangtai-wei-jueyu{
  background-color: var(--mp-x43);}#mpScreen[data-route="pages/index/index"] .waiting-fun-status-tag.zhuangtai-wei-jueyu .waiting-fun-tag-text{
  color: var(--mp-x21);}#mpScreen[data-route="pages/index/index"] .waiting-fun-status-tag.zhuangtai-weizhi{
  background-color: var(--mp-x47);}#mpScreen[data-route="pages/index/index"] .waiting-fun-status-tag.zhuangtai-weizhi .waiting-fun-tag-text{
  color: var(--mp-x75);}#mpScreen[data-route="pages/index/index"] .waiting-fun-card-interact{
  flex-shrink: 0;
  display: flex;
  align-items: center;}

/* 分隔线 */#mpScreen[data-route="pages/index/index"] .waiting-fun-card-divider{
  display: flex;
  flex-direction: row;
  align-items: center;
  padding: 0 18px;
  margin-bottom: 8px;
  position: relative;
  z-index: 2;}#mpScreen[data-route="pages/index/index"] .waiting-fun-divider-dot{
  font-size: 14px;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;}#mpScreen[data-route="pages/index/index"] .waiting-fun-divider-line{
  flex: 1;
  height: 1px;
  background: linear-gradient(90deg, color-mix(in srgb, var(--mp-waitDeep), transparent 60%), color-mix(in srgb, var(--mp-waitHot), transparent 60%));
  margin: 0 8px;}

/* 信息网格 */#mpScreen[data-route="pages/index/index"] .waiting-fun-card-info-grid{
  display: flex;
  flex-direction: column;
  gap: 0px;
  padding: 0 18px 8px;
  position: relative;
  z-index: 2;}#mpScreen[data-route="pages/index/index"] .waiting-fun-info-item{
  display: flex;
  flex-direction: row;
  align-items: baseline;
  gap: 8px;
  padding: 1px 0;}#mpScreen[data-route="pages/index/index"] .waiting-fun-info-label-wrap{
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 4px;
  flex-shrink: 0;
  min-width: 30px;
  max-width: 120px;}#mpScreen[data-route="pages/index/index"] .waiting-fun-info-label-emoji{
  font-size: 15px;
  line-height: 1;
  display: flex;
  align-items: center;
  flex-shrink: 0;}#mpScreen[data-route="pages/index/index"] .waiting-fun-info-label{
  font-size: 13px;
  font-weight: 600;
  color: var(--mp-x133);
  line-height: 1.5;
  white-space: nowrap;
  letter-spacing: -0.005em;
  display: flex;
  align-items: center;}#mpScreen[data-route="pages/index/index"] .waiting-fun-info-value{
  font-size: 14px;
  color: var(--mp-ink1);
  font-weight: 500;
  line-height: 1.3;
  word-break: break-all;
  overflow-wrap: break-word;
  flex: 1;}#mpScreen[data-route="pages/index/index"] .waiting-fun-info-emoji{
  font-size: 14px;
  line-height: 1;
  display: flex;
  align-items: center;
  flex-shrink: 0;
  width: 20px;
  justify-content: center;}#mpScreen[data-route="pages/index/index"] .waiting-fun-info-text{
  font-size: 13px;
  color: var(--mp-ink2);
  font-weight: 400;
  line-height: 1.5;
  word-break: break-all;
  overflow-wrap: break-word;
  flex: 1;}

/* 底部 */#mpScreen[data-route="pages/index/index"] .waiting-fun-card-footer{
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  padding: 10px 18px 12px;
  border-top: 1px solid color-mix(in srgb, var(--mp-waitDeep), transparent 85%);
  position: relative;
  z-index: 2;}#mpScreen[data-route="pages/index/index"] .waiting-fun-card-footer-left{
  display: flex;
  flex-direction: column;
  gap: 4px;}

/* 底部装饰 */#mpScreen[data-route="pages/index/index"] .waiting-fun-card-bottom-deco{
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 4px 0 12px;
  position: relative;
  z-index: 2;}#mpScreen[data-route="pages/index/index"] .waiting-fun-deco-paw{
  font-size: 16px;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0.7;}#mpScreen[data-route="pages/index/index"] .waiting-fun-deco-sparkle{
  font-size: 20px;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  animation: waitingSparkle 1.5s ease-in-out infinite alternate;}

@keyframes waitingSparkle {
  0% { transform: scale(1) rotate(0deg); opacity: 0.6; }
  100% { transform: scale(1.3) rotate(20deg); opacity: 1; }
}

/* ========== 已领养卡片叠加层样式 ========== */
/* 已领养状态 - 卡片整体叠加灰色半透明图层 */#mpScreen[data-route="pages/index/index"] .adopted-card{
  position: relative;}#mpScreen[data-route="pages/index/index"] .adopted-card .fun-card-top-deco,
#mpScreen[data-route="pages/index/index"] .adopted-card .fun-card-header,
#mpScreen[data-route="pages/index/index"] .adopted-card .fun-card-divider,
#mpScreen[data-route="pages/index/index"] .adopted-card .fun-card-info-grid,
#mpScreen[data-route="pages/index/index"] .adopted-card .waiting-fun-card-info-grid,
#mpScreen[data-route="pages/index/index"] .adopted-card .pet-card-photos,
#mpScreen[data-route="pages/index/index"] .adopted-card .fun-card-bottom-deco{
  filter: grayscale(40%);
  opacity: 0.55;
  transition: all 0.3s ease;}

/* 灰色图层压在这些数据上，深黑字会顶穿遮罩；已领养时统一提亮 */#mpScreen[data-route="pages/index/index"] .adopted-card .waiting-fun-info-value{
  color: var(--mp-n50);
  font-weight: 400;}

/* 左下角的聘礼、发布时间、浏览/关注同样是用户填的数据，跟着一起压灰；
   右边的按钮是操作入口，保持原样才点得下去 */#mpScreen[data-route="pages/index/index"] .adopted-card .fun-card-footer-left{
  filter: grayscale(40%);
  opacity: 0.55;
  transition: all 0.3s ease;}#mpScreen[data-route="pages/index/index"] .adopted-card .fun-card-footer{
  position: relative;
  z-index: 20;
  filter: none;
  opacity: 1;
  transition: all 0.3s ease;}

/* 已领养遮罩层容器 */#mpScreen[data-route="pages/index/index"] .adopted-overlay{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;}

/* 已领养半透明灰色背景图层 */#mpScreen[data-route="pages/index/index"] .adopted-overlay-bg{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: color-mix(in srgb, var(--mp-n00), transparent 88%);
  border-radius: 24px;
  z-index: 0;}

/* 已领养内容区域（图标+文字） */#mpScreen[data-route="pages/index/index"] .adopted-overlay-content{
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: color-mix(in srgb, var(--mp-n100), transparent 15%);
  border-radius: 24px;
  padding: 24px 40px;
  box-shadow: 0 8px 32px color-mix(in srgb, var(--mp-n00), transparent 88%), 0 2px 8px color-mix(in srgb, var(--mp-n00), transparent 94%);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);}

/* 已领养图标 - 放大显示 */#mpScreen[data-route="pages/index/index"] .adopted-overlay-icon{
  font-size: 56px;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 8px;
  filter: drop-shadow(0 4px 8px color-mix(in srgb, var(--mp-n00), transparent 85%));
  transform: scale(1.3);}

/* 已领养主文字 */#mpScreen[data-route="pages/index/index"] .adopted-overlay-text{
  font-size: 22px;
  font-weight: 800;
  color: var(--mp-x57);
  letter-spacing: -0.02em;
  line-height: 1.3;
  display: flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;}

/* 已领养副文字 */#mpScreen[data-route="pages/index/index"] .adopted-overlay-sub{
  font-size: 14px;
  font-weight: 500;
  color: var(--mp-n60);
  letter-spacing: -0.005em;
  line-height: 1.4;
  margin-top: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;}

/* 领养修改按钮样式 */#mpScreen[data-route="pages/index/index"] .edit-adopt-btn{
  background: var(--mp-n18);
  border-radius: 22px;
  padding: 9px 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: none;
  box-sizing: border-box;
  transition: transform 0.15s ease, opacity 0.15s ease;
  height: 36px;
  flex-shrink: 0;
  max-width: 100%;
  overflow: hidden;
  flex-shrink: 1;
  min-width: 0;}#mpScreen[data-route="pages/index/index"] .edit-adopt-btn::after{
  border: none;}#mpScreen[data-route="pages/index/index"] .edit-adopt-btn:active{
  transform: scale(0.96);
  opacity: 0.85;}#mpScreen[data-route="pages/index/index"] .edit-adopt-btn .adopted-btn-text{
  color: var(--mp-inkOn);
  font-size: 13px;
  font-weight: 600;
  line-height: 1;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;}

/* ========== 守护人标签切换（我的收藏 / 我的发布） ========== */#mpScreen[data-route="pages/index/index"] .guardian-tab-section{
  margin-bottom: 16px;
  width: 100%;
  box-sizing: border-box;}#mpScreen[data-route="pages/index/index"] .guardian-tab-header{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 6px 0 10px;}#mpScreen[data-route="pages/index/index"] .guardian-tab-deco-l,
#mpScreen[data-route="pages/index/index"] .guardian-tab-deco-r{
  font-size: 22px;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;}#mpScreen[data-route="pages/index/index"] .guardian-tab-row{
  position: relative;
  display: flex;
  align-items: center;
  gap: 0;
  background: linear-gradient(135deg, color-mix(in srgb, var(--mp-n100), transparent 6%) 0%, color-mix(in srgb, var(--mp-w96), transparent 12%) 100%);
  border: 1px solid color-mix(in srgb, var(--mp-b2), transparent 78%);
  border-radius: 999px;
  padding: 5px;
  box-sizing: border-box;
  overflow: hidden;
  width: 100%;
  box-shadow: 0 8px 22px color-mix(in srgb, var(--mp-b2), transparent 84%), 0 1px 0 color-mix(in srgb, var(--mp-n100), transparent 10%) inset;
  backdrop-filter: blur(10px);}#mpScreen[data-route="pages/index/index"] .guardian-tab-glow{
  position: absolute;
  top: 0;
  bottom: 0;
  left: -50%;
  width: 50%;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(100deg, transparent 0%, color-mix(in srgb, var(--mp-n100), transparent 38%) 50%, transparent 100%);
  animation: guardianTabGlowSweep 7.5s cubic-bezier(0.4, 0, 0.2, 1) infinite;}

@keyframes guardianTabGlowSweep {
  0%, 62% { transform: translateX(0); }
  100% { transform: translateX(320%); }
}#mpScreen[data-route="pages/index/index"] .guardian-tab-thumb{
  position: absolute;
  top: 5px;
  bottom: 5px;
  left: 5px;
  width: calc(50% - 5px);
  background: linear-gradient(135deg, var(--mp-bGlow) 0%, var(--mp-b2) 46%, var(--mp-b1) 100%);
  border-radius: 999px;
  box-shadow: 0 6px 16px color-mix(in srgb, var(--mp-b1), transparent 66%), 0 1px 0 color-mix(in srgb, var(--mp-n100), transparent 50%) inset;
  transform: translateX(0);
  transition: transform 0.46s cubic-bezier(0.34, 1.48, 0.5, 1);
  will-change: transform;
  z-index: 1;
  pointer-events: none;
  overflow: hidden;}#mpScreen[data-route="pages/index/index"] .guardian-tab-row.thumb-right .guardian-tab-thumb{
  transform: translateX(100%);}#mpScreen[data-route="pages/index/index"] .guardian-tab-spark{
  position: absolute;
  top: 5px;
  right: 9px;
  font-size: 11px;
  line-height: 1;
  animation: guardianTabSparkTwinkle 2.6s ease-in-out infinite;}

@keyframes guardianTabSparkTwinkle {
  0%, 100% { opacity: 0.35; transform: scale(0.82) rotate(-8deg); }
  50% { opacity: 1; transform: scale(1.16) rotate(10deg); }
}#mpScreen[data-route="pages/index/index"] .guardian-tab-item{
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 10px 0;
  flex: 1;
  border-radius: 999px;
  transition: transform 0.3s cubic-bezier(0.34, 1.48, 0.5, 1);
  cursor: pointer;
  box-sizing: border-box;
  min-width: 0;
  overflow: visible;}#mpScreen[data-route="pages/index/index"] .guardian-tab-item.tab-active{
  background: transparent;
  box-shadow: none;}#mpScreen[data-route="pages/index/index"] .guardian-tab-item:active{
  transform: scale(0.94);}#mpScreen[data-route="pages/index/index"] .guardian-tab-emoji{
  font-size: 17px;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: none;
  filter: grayscale(0.3) opacity(0.78);
  transition: filter 0.3s ease;}#mpScreen[data-route="pages/index/index"] .guardian-tab-item.tab-active .guardian-tab-emoji{
  filter: none;
  animation: guardianTabIconPop 0.52s cubic-bezier(0.34, 1.56, 0.64, 1);}

@keyframes guardianTabIconPop {
  0% { transform: scale(0.62) rotate(-14deg); }
  60% { transform: scale(1.22) rotate(6deg); }
  100% { transform: scale(1) rotate(0deg); }
}#mpScreen[data-route="pages/index/index"] .guardian-tab-label{
  font-size: 14px;
  font-weight: 600;
  color: var(--mp-n60);
  letter-spacing: -0.01em;
  line-height: 1.2;
  white-space: nowrap;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: color 0.3s ease;
  text-align: center;}#mpScreen[data-route="pages/index/index"] .guardian-tab-item.tab-active .guardian-tab-label{
  color: var(--mp-inkOn);
  font-weight: 700;
  text-shadow: 0 1px 3px color-mix(in srgb, var(--mp-bDark), transparent 65%);}

/* 守护人Tab数量显示 - 文本后缀形式 */#mpScreen[data-route="pages/index/index"] .guardian-tab-num{
  font-size: 13px;
  font-weight: 700;
  color: var(--mp-b2);
  line-height: 1;
  display: inline;
  white-space: nowrap;
  margin-left: 2px;
  transition: color 0.3s ease;}#mpScreen[data-route="pages/index/index"] .guardian-tab-item.tab-active .guardian-tab-num{
  color: var(--mp-w92);}#mpScreen[data-route="pages/index/index"] .guardian-tab-underline{
  position: absolute;
  bottom: 2px;
  left: 50%;
  transform: translateX(-50%);
  width: 24px;
  height: 3px;
  background: linear-gradient(90deg, var(--mp-b2), var(--mp-bHi));
  border-radius: 2px;}#mpScreen[data-route="pages/index/index"] .guardian-tab-fun-deco{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 4px 0 10px;
  opacity: 0.5;}#mpScreen[data-route="pages/index/index"] .guardian-tab-fun-item{
  font-size: 16px;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;}

/* ========== 我的关注/收藏趣味卡片样式（粉色主题） ========== */#mpScreen[data-route="pages/index/index"] .my-favorite-fun-card{
  background: linear-gradient(160deg, var(--mp-n100) 0%, var(--mp-favWash) 30%, var(--mp-n100) 100%);
  border-radius: 24px;
  padding: 0;
  margin-bottom: 20px;
  box-shadow: 0 6px 20px color-mix(in srgb, var(--mp-favDeep), transparent 88%), 0 2px 8px color-mix(in srgb, var(--mp-n00), transparent 94%);
  box-sizing: border-box;
  border: 2px solid color-mix(in srgb, var(--mp-favDeep), transparent 85%);
  width: 100%;
  overflow: hidden;
  position: relative;}#mpScreen[data-route="pages/index/index"] .my-favorite-fun-card:active{
  transform: scale(0.98);
  box-shadow: 0 4px 12px color-mix(in srgb, var(--mp-favDeep), transparent 82%), 0 1px 4px color-mix(in srgb, var(--mp-n00), transparent 92%);}

/* 顶部爱心装饰 */#mpScreen[data-route="pages/index/index"] .my-favorite-fun-card-top-deco{
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 14px 0 6px;
  position: relative;
  z-index: 2;}#mpScreen[data-route="pages/index/index"] .my-favorite-fun-deco-heart{
  font-size: 18px;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  animation: myFavoriteHeartFloat 2s ease-in-out infinite alternate;}#mpScreen[data-route="pages/index/index"] .my-favorite-heart-1{ animation-delay: 0s;}#mpScreen[data-route="pages/index/index"] .my-favorite-heart-2{ animation-delay: 0.4s;}#mpScreen[data-route="pages/index/index"] .my-favorite-heart-3{ animation-delay: 0.8s;}#mpScreen[data-route="pages/index/index"] .my-favorite-heart-4{ animation-delay: 1.2s;}

@keyframes myFavoriteHeartFloat {
  0% { transform: translateY(0) scale(1); opacity: 0.6; }
  100% { transform: translateY(-4px) scale(1.2); opacity: 1; }
}

/* 头部区域 */#mpScreen[data-route="pages/index/index"] .my-favorite-fun-card-header{
  display: flex;
  flex-direction: row;
  align-items: center;
  padding: 8px 18px 12px;
  position: relative;
  z-index: 2;}#mpScreen[data-route="pages/index/index"] .my-favorite-fun-card-pet-avatar{
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--mp-favSoft), var(--mp-favMid));
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 12px;
  flex-shrink: 0;
  box-shadow: 0 3px 10px color-mix(in srgb, var(--mp-favDeep), transparent 75%);
  overflow: hidden;}#mpScreen[data-route="pages/index/index"] .my-favorite-fun-card-pet-avatar-img{
  width: 52px;
  height: 52px;
  border-radius: 50%;}#mpScreen[data-route="pages/index/index"] .my-favorite-fun-card-pet-emoji{
  font-size: 28px;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;}#mpScreen[data-route="pages/index/index"] .my-favorite-fun-card-header-info{
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 4px;}#mpScreen[data-route="pages/index/index"] .my-favorite-fun-card-name-row{
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;}#mpScreen[data-route="pages/index/index"] .my-favorite-fun-card-name{
  font-size: 24px;
  font-weight: 700;
  color: var(--mp-ink1);
  line-height: 1.3;
  display: flex;
  align-items: center;}#mpScreen[data-route="pages/index/index"] .my-favorite-fun-gender-tag-gong{
  background-color: var(--mp-x37);}#mpScreen[data-route="pages/index/index"] .my-favorite-fun-gender-tag-gong .my-favorite-fun-tag-text{
  color: var(--mp-x27);}#mpScreen[data-route="pages/index/index"] .my-favorite-fun-gender-tag-mu{
  background-color: var(--mp-x14);}#mpScreen[data-route="pages/index/index"] .my-favorite-fun-gender-tag-mu .my-favorite-fun-tag-text{
  color: var(--mp-x16);}#mpScreen[data-route="pages/index/index"] .my-favorite-fun-card-tags-row{
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;}#mpScreen[data-route="pages/index/index"] .my-favorite-fun-card-tag{
  border-radius: 10px;
  padding: 0 10px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  box-sizing: border-box;}#mpScreen[data-route="pages/index/index"] .my-favorite-fun-type-tag{
  background-color: var(--mp-x14);}#mpScreen[data-route="pages/index/index"] .my-favorite-fun-type-tag.lei-mao{
  background-color: var(--mp-x47);}#mpScreen[data-route="pages/index/index"] .my-favorite-fun-type-tag.lei-mao .my-favorite-fun-tag-text{
  color: var(--mp-x127);}#mpScreen[data-route="pages/index/index"] .my-favorite-fun-type-tag.lei-gou{
  background-color: var(--mp-x37);}#mpScreen[data-route="pages/index/index"] .my-favorite-fun-type-tag.lei-gou .my-favorite-fun-tag-text{
  color: var(--mp-x27);}#mpScreen[data-route="pages/index/index"] .my-favorite-fun-type-tag.lei-qita{
  background-color: var(--mp-x128);}#mpScreen[data-route="pages/index/index"] .my-favorite-fun-type-tag.lei-qita .my-favorite-fun-tag-text{
  color: var(--mp-x129);}#mpScreen[data-route="pages/index/index"] .my-favorite-fun-status-tag{
  background-color: var(--mp-n96);}#mpScreen[data-route="pages/index/index"] .my-favorite-fun-tag-text{
  font-size: 13px;
  font-weight: 600;
  color: var(--mp-favText);
  line-height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;}#mpScreen[data-route="pages/index/index"] .my-favorite-fun-status-tag .my-favorite-fun-tag-text{
  color: var(--mp-x42);}#mpScreen[data-route="pages/index/index"] .my-favorite-fun-status-tag.zhuangtai-wei-jueyu{
  background-color: var(--mp-x43);}#mpScreen[data-route="pages/index/index"] .my-favorite-fun-status-tag.zhuangtai-wei-jueyu .my-favorite-fun-tag-text{
  color: var(--mp-x21);}#mpScreen[data-route="pages/index/index"] .my-favorite-fun-status-tag.zhuangtai-weizhi{
  background-color: var(--mp-x47);}#mpScreen[data-route="pages/index/index"] .my-favorite-fun-status-tag.zhuangtai-weizhi .my-favorite-fun-tag-text{
  color: var(--mp-x75);}#mpScreen[data-route="pages/index/index"] .my-favorite-fun-card-interact{
  flex-shrink: 0;
  display: flex;
  align-items: center;}

/* 分隔线 */#mpScreen[data-route="pages/index/index"] .my-favorite-fun-card-divider{
  display: flex;
  flex-direction: row;
  align-items: center;
  padding: 0 18px;
  margin-bottom: 8px;
  position: relative;
  z-index: 2;}#mpScreen[data-route="pages/index/index"] .my-favorite-fun-divider-dot{
  font-size: 14px;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;}#mpScreen[data-route="pages/index/index"] .my-favorite-fun-divider-line{
  flex: 1;
  height: 1px;
  background: linear-gradient(90deg, color-mix(in srgb, var(--mp-favDeep), transparent 65%), color-mix(in srgb, var(--mp-favHot), transparent 65%));
  margin: 0 8px;}

/* 信息网格 */#mpScreen[data-route="pages/index/index"] .my-favorite-fun-card-info-grid{
  display: flex;
  flex-direction: column;
  gap: 0px;
  padding: 0 18px 8px;
  position: relative;
  z-index: 2;}#mpScreen[data-route="pages/index/index"] .my-favorite-fun-info-item{
  display: flex;
  flex-direction: row;
  align-items: baseline;
  gap: 6px;
  padding: 1px 0;}#mpScreen[data-route="pages/index/index"] .my-favorite-fun-info-emoji{
  font-size: 14px;
  line-height: 1;
  display: flex;
  align-items: center;
  flex-shrink: 0;
  width: 20px;
  justify-content: center;}#mpScreen[data-route="pages/index/index"] .my-favorite-fun-info-text{
  font-size: 13px;
  color: var(--mp-ink2);
  font-weight: 400;
  line-height: 1.5;
  word-break: break-all;
  overflow-wrap: break-word;
  flex: 1;}

/* 底部 */#mpScreen[data-route="pages/index/index"] .my-favorite-fun-card-footer{
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  padding: 10px 18px 12px;
  border-top: 1px solid color-mix(in srgb, var(--mp-favDeep), transparent 88%);
  position: relative;
  z-index: 2;}#mpScreen[data-route="pages/index/index"] .my-favorite-fun-card-footer-left{
  display: flex;
  flex-direction: column;
  gap: 4px;}

/* 底部装饰 */#mpScreen[data-route="pages/index/index"] .my-favorite-fun-card-bottom-deco{
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 4px 0 12px;
  position: relative;
  z-index: 2;}#mpScreen[data-route="pages/index/index"] .my-favorite-fun-deco-paw{
  font-size: 16px;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0.7;}#mpScreen[data-route="pages/index/index"] .my-favorite-fun-deco-heart{
  font-size: 20px;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  animation: myFavoriteHeartBeat 1s ease-in-out infinite;}

@keyframes myFavoriteHeartBeat {
  0% { transform: scale(1); }
  15% { transform: scale(1.25); }
  30% { transform: scale(1); }
  45% { transform: scale(1.2); }
  60% { transform: scale(1); }
  100% { transform: scale(1); }
}

/* ========== header-actions 垂直列容器 ========== */#mpScreen[data-route="pages/index/index"] .header-actions-col{
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 6px;}

/* ========== 草稿箱入口按钮样式 - 与发布按钮保持一致 ========== */#mpScreen[data-route="pages/index/index"] .draft-box-entry{
  background: linear-gradient(135deg, var(--mp-b2), var(--mp-bHi));
  border-radius: 22px;
  padding: 8px 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: all 0.2s cubic-bezier(0.25, 0.1, 0.25, 1);
  border: none;
  box-sizing: border-box;
  box-shadow: 0 2px 10px color-mix(in srgb, var(--mp-b2), transparent 65%);
  position: relative;
  overflow: hidden;}#mpScreen[data-route="pages/index/index"] .draft-box-entry:active{
  transform: scale(0.94);
  box-shadow: 0 1px 4px color-mix(in srgb, var(--mp-b2), transparent 75%);
  background: linear-gradient(135deg, var(--mp-b1), var(--mp-b2));}#mpScreen[data-route="pages/index/index"] .draft-box-entry-text{
  font-size: 13px;
  font-weight: 700;
  color: var(--mp-inkOn);
  line-height: 1.4;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  letter-spacing: 0.01em;
  text-shadow: 0 1px 2px color-mix(in srgb, var(--mp-n00), transparent 90%);}#mpScreen[data-route="pages/index/index"] .draft-box-entry-badge{
  background: color-mix(in srgb, var(--mp-n100), transparent 70%);
  border-radius: 10px;
  min-width: 16px;
  height: 16px;
  padding: 0 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  margin-left: 4px;}#mpScreen[data-route="pages/index/index"] .draft-box-entry-badge-text{
  font-size: 10px;
  font-weight: 700;
  color: var(--mp-inkOn);
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;}

/* ========== 草稿箱弹窗面板样式 ========== */#mpScreen[data-route="pages/index/index"] .draft-box-panel{
  position: relative;
  background: linear-gradient(180deg, var(--mp-n100) 0%, var(--mp-x47) 8%, var(--mp-n100) 25%, var(--mp-n100) 100%);
  border-radius: 36px 36px 0 0;
  width: 100%;
  max-width: calc(100 * var(--mpvw));
  max-height: calc(75 * var(--mpvh));
  display: flex;
  flex-direction: column;
  box-shadow: 0 -12px 40px color-mix(in srgb, var(--mp-n00), transparent 88%), 0 -2px 8px color-mix(in srgb, var(--mp-n00), transparent 94%), 0 -4px 0 0 var(--mp-x72);
  box-sizing: border-box;
  overflow-x: hidden;}

/* 面板顶部装饰波浪 */#mpScreen[data-route="pages/index/index"] .draft-panel-top-deco{
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 14px;
  padding: 14px 0 0;
  overflow: hidden;}#mpScreen[data-route="pages/index/index"] .draft-panel-deco-emoji{
  font-size: 22px;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  animation: draftDecoFloat 2.5s ease-in-out infinite;}#mpScreen[data-route="pages/index/index"] .draft-deco-f1{ animation-delay: 0s;}#mpScreen[data-route="pages/index/index"] .draft-deco-f2{ animation-delay: 0.3s;}#mpScreen[data-route="pages/index/index"] .draft-deco-f3{ animation-delay: 0.6s;}#mpScreen[data-route="pages/index/index"] .draft-deco-f4{ animation-delay: 0.9s;}#mpScreen[data-route="pages/index/index"] .draft-deco-f5{ animation-delay: 1.2s;}

@keyframes draftDecoFloat {
  0%, 100% { transform: translateY(0) scale(1); }
  50% { transform: translateY(-6px) scale(1.15); }
}

/* 标题行美化 */#mpScreen[data-route="pages/index/index"] .draft-panel-title-row{
  display: flex;
  align-items: center;
  gap: 8px;}#mpScreen[data-route="pages/index/index"] .draft-panel-title-emoji{
  font-size: 22px;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  animation: draftTitleEmoji 2s ease-in-out infinite;}#mpScreen[data-route="pages/index/index"] .draft-panel-title-emoji:last-child{
  animation-delay: 0.3s;}

@keyframes draftTitleEmoji {
  0%, 100% { transform: rotate(0deg) scale(1); }
  25% { transform: rotate(8deg) scale(1.2); }
  50% { transform: rotate(0deg) scale(1); }
  75% { transform: rotate(-8deg) scale(1.2); }
}

/* 草稿数量徽章 */#mpScreen[data-route="pages/index/index"] .draft-panel-count-badge{
  background: linear-gradient(135deg, var(--mp-x47), var(--mp-x72));
  border-radius: 16px;
  padding: 5px 14px;
  border: 1.5px solid var(--mp-x70);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;}#mpScreen[data-route="pages/index/index"] .draft-panel-count-text{
  font-size: 13px;
  font-weight: 700;
  color: var(--mp-bRich);
  line-height: 1.4;
  display: flex;
  align-items: center;
  white-space: nowrap;}#mpScreen[data-route="pages/index/index"] .draft-box-panel .panel-header{
  border-bottom: 1px solid var(--mp-x134);
  flex-wrap: wrap;
  gap: 10px;}#mpScreen[data-route="pages/index/index"] .draft-box-list{
  flex: 1;
  max-height: calc(55 * var(--mpvh));
  overflow-y: auto;
  padding: 12px 0 16px;}#mpScreen[data-route="pages/index/index"] .draft-box-item{
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  margin: 0 16px 12px;
  padding: 16px 14px 14px;
  background: linear-gradient(145deg, var(--mp-n100) 0%, var(--mp-n100) 30%, var(--mp-n100) 100%);
  border-radius: 20px;
  border: 1.5px solid color-mix(in srgb, var(--mp-x135), transparent 80%);
  box-shadow: 0 3px 12px color-mix(in srgb, var(--mp-n00), transparent 95%), 0 1px 3px color-mix(in srgb, var(--mp-n00), transparent 97%);
  box-sizing: border-box;
  position: relative;
  overflow: hidden;
  transition: all 0.2s cubic-bezier(0.25, 0.1, 0.25, 1);}#mpScreen[data-route="pages/index/index"] .draft-box-item:active{
  background: linear-gradient(145deg, var(--mp-x47), var(--mp-x136), var(--mp-n100));
  border-color: color-mix(in srgb, var(--mp-x137), transparent 60%);
  transform: scale(0.98);
  box-shadow: 0 4px 16px color-mix(in srgb, var(--mp-x138), transparent 85%), 0 2px 6px color-mix(in srgb, var(--mp-n00), transparent 94%);}

/* 卡片顶部装饰线 */#mpScreen[data-route="pages/index/index"] .draft-item-top-line{
  position: absolute;
  top: 0;
  left: 20px;
  right: 20px;
  height: 3px;
  background: linear-gradient(90deg, var(--mp-x73), var(--mp-bHi), var(--mp-x73));
  border-radius: 0 0 3px 3px;
  opacity: 0.7;}

/* 四角emoji小点 */#mpScreen[data-route="pages/index/index"] .draft-item-emoji-border{
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  pointer-events: none;
  z-index: 0;
  overflow: visible;}#mpScreen[data-route="pages/index/index"] .draft-item-dot{
  position: absolute;
  font-size: 14px;
  line-height: 1;
  opacity: 0.5;
  display: flex;
  align-items: center;
  justify-content: center;
  animation: draftDotPulse 2.5s ease-in-out infinite;}#mpScreen[data-route="pages/index/index"] .draft-dot-tl{ top: 8px; left: 8px; animation-delay: 0s;}#mpScreen[data-route="pages/index/index"] .draft-dot-tr{ top: 8px; right: 8px; animation-delay: 1.2s;}

@keyframes draftDotPulse {
  0%, 100% { transform: scale(1); opacity: 0.4; }
  50% { transform: scale(1.3); opacity: 0.8; }
}#mpScreen[data-route="pages/index/index"] .draft-box-item-left{
  display: flex;
  flex-direction: row;
  align-items: center;
  flex: 1;
  min-width: 0;
  position: relative;
  z-index: 1;}

/* 宠物类型图标包裹 */#mpScreen[data-route="pages/index/index"] .draft-item-icon-wrap{
  width: 52px;
  height: 52px;
  border-radius: 16px;
  background: linear-gradient(135deg, var(--mp-x47), var(--mp-x72));
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 14px;
  flex-shrink: 0;
  box-shadow: 0 3px 10px color-mix(in srgb, var(--mp-b1), transparent 80%);
  border: 2px solid color-mix(in srgb, var(--mp-x135), transparent 70%);}#mpScreen[data-route="pages/index/index"] .draft-box-item-icon{
  font-size: 28px;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;}#mpScreen[data-route="pages/index/index"] .draft-box-item-info{
  display: flex;
  flex-direction: column;
  flex: 1;
  min-width: 0;
  gap: 4px;}#mpScreen[data-route="pages/index/index"] .draft-item-name-row{
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;}#mpScreen[data-route="pages/index/index"] .draft-box-item-name{
  font-size: 16px;
  font-weight: 700;
  color: var(--mp-ink1);
  line-height: 1.3;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  display: flex;
  align-items: center;}

/* 宠物类型小标签 */#mpScreen[data-route="pages/index/index"] .draft-item-type-tag{
  background: linear-gradient(135deg, var(--mp-w92), var(--mp-w84));
  border-radius: 10px;
  padding: 3px 10px;
  border: 1px solid color-mix(in srgb, var(--mp-x139), transparent 80%);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  box-sizing: border-box;}#mpScreen[data-route="pages/index/index"] .draft-item-type-tag-text{
  font-size: 11px;
  font-weight: 600;
  color: var(--mp-bRich);
  line-height: 1.2;
  display: flex;
  align-items: center;
  white-space: nowrap;}

/* 元信息行 */#mpScreen[data-route="pages/index/index"] .draft-item-meta-row{
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;}#mpScreen[data-route="pages/index/index"] .draft-box-item-time{
  font-size: 12px;
  color: var(--mp-n60);
  font-weight: 400;
  line-height: 1.4;
  display: flex;
  align-items: center;}#mpScreen[data-route="pages/index/index"] .draft-item-breed{
  font-size: 12px;
  color: var(--mp-n60);
  font-weight: 500;
  line-height: 1.4;
  display: flex;
  align-items: center;
  background: var(--mp-n96);
  border-radius: 8px;
  padding: 2px 8px;}

/* 提示行 */#mpScreen[data-route="pages/index/index"] .draft-item-hint-row{
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 4px;
  opacity: 0.5;}#mpScreen[data-route="pages/index/index"] .draft-item-hint-paw{
  font-size: 12px;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;}#mpScreen[data-route="pages/index/index"] .draft-item-hint-text{
  font-size: 11px;
  color: var(--mp-n68);
  font-weight: 400;
  line-height: 1.4;
  display: flex;
  align-items: center;}#mpScreen[data-route="pages/index/index"] .draft-box-item-actions{
  display: flex;
  align-items: center;
  margin-left: 10px;
  flex-shrink: 0;
  position: relative;
  z-index: 1;}#mpScreen[data-route="pages/index/index"] .draft-box-delete-btn{
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--mp-x87), var(--mp-x103));
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
  border: 1.5px solid color-mix(in srgb, var(--mp-x140), transparent 80%);
  box-shadow: 0 2px 8px color-mix(in srgb, var(--mp-x141), transparent 90%);}#mpScreen[data-route="pages/index/index"] .draft-box-delete-btn:active{
  background: linear-gradient(135deg, var(--mp-x103), var(--mp-x142));
  border-color: color-mix(in srgb, var(--mp-x143), transparent 60%);
  transform: scale(0.88);
  box-shadow: 0 1px 4px color-mix(in srgb, var(--mp-x141), transparent 80%);}#mpScreen[data-route="pages/index/index"] .draft-box-delete-icon{
  font-size: 18px;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;}

/* 草稿箱空状态 */#mpScreen[data-route="pages/index/index"] .draft-box-empty{
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 50px 40px;}#mpScreen[data-route="pages/index/index"] .draft-empty-emoji-circle{
  width: 100px;
  height: 100px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--mp-x47), var(--mp-x72));
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 20px;
  box-shadow: 0 6px 24px color-mix(in srgb, var(--mp-b1), transparent 80%), 0 0 0 8px color-mix(in srgb, var(--mp-x144), transparent 90%);
  animation: draftEmptyBounce 2.5s ease-in-out infinite;}

@keyframes draftEmptyBounce {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-8px); }
}#mpScreen[data-route="pages/index/index"] .draft-empty-main-emoji{
  font-size: 48px;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;}#mpScreen[data-route="pages/index/index"] .draft-box-empty-text{
  font-size: 17px;
  font-weight: 700;
  color: var(--mp-n60);
  margin-bottom: 8px;
  line-height: 1.4;
  display: flex;
  align-items: center;
  justify-content: center;}#mpScreen[data-route="pages/index/index"] .draft-box-empty-hint{
  font-size: 13px;
  color: var(--mp-n68);
  font-weight: 400;
  line-height: 1.6;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 20px;}#mpScreen[data-route="pages/index/index"] .draft-empty-fun-row{
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 14px;
  margin-top: 20px;
  opacity: 0.5;}#mpScreen[data-route="pages/index/index"] .draft-empty-fun-emoji{
  font-size: 20px;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  animation: draftEmptyFunFloat 2s ease-in-out infinite;}#mpScreen[data-route="pages/index/index"] .draft-empty-fun-emoji:nth-child(1){ animation-delay: 0s;}#mpScreen[data-route="pages/index/index"] .draft-empty-fun-emoji:nth-child(2){ animation-delay: 0.2s;}#mpScreen[data-route="pages/index/index"] .draft-empty-fun-emoji:nth-child(3){ animation-delay: 0.4s;}#mpScreen[data-route="pages/index/index"] .draft-empty-fun-emoji:nth-child(4){ animation-delay: 0.6s;}#mpScreen[data-route="pages/index/index"] .draft-empty-fun-emoji:nth-child(5){ animation-delay: 0.8s;}

@keyframes draftEmptyFunFloat {
  0%, 100% { transform: translateY(0) scale(1); }
  50% { transform: translateY(-6px) scale(1.2); }
}

/* ========== 发布面板底部草稿按钮 ========== */#mpScreen[data-route="pages/index/index"] .save-draft-btn{
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 48px;
  border-radius: 24px;
  background: linear-gradient(135deg, var(--mp-x47), var(--mp-x136));
  border: 2px dashed var(--mp-x70);
  cursor: pointer;
  flex-shrink: 0;
  box-sizing: border-box;
  transition: all 0.2s cubic-bezier(0.25, 0.1, 0.25, 1);
  position: relative;
  overflow: hidden;}#mpScreen[data-route="pages/index/index"] .save-draft-btn::after{
  border: none;}#mpScreen[data-route="pages/index/index"] .save-draft-btn:active{
  transform: scale(0.92);
  background: linear-gradient(135deg, var(--mp-x48), var(--mp-x72));
  border-color: var(--mp-x74);
  box-shadow: 0 4px 12px color-mix(in srgb, var(--mp-x71), transparent 70%);}#mpScreen[data-route="pages/index/index"] .save-draft-btn-icon{
  font-size: 20px;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  animation: draftIconBounce 2s ease-in-out infinite;}

@keyframes draftIconBounce {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-3px); }
}#mpScreen[data-route="pages/index/index"] .save-draft-btn-text{
  font-size: 10px;
  font-weight: 600;
  color: var(--mp-bRich);
  line-height: 1;
  margin-top: 2px;
  display: flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;}

/* ========== 语言选择弹窗 - 趣味emoji风 ========== */#mpScreen[data-route="pages/index/index"] .lang-modal-overlay{
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 9999;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: color-mix(in srgb, var(--mp-n00), transparent 45%);}#mpScreen[data-route="pages/index/index"] .lang-modal-mask{
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;}#mpScreen[data-route="pages/index/index"] .lang-modal-card{
  width: calc(82 * var(--mpvw));
  max-width: calc(620 * var(--mprpx));
  height: auto;
  min-height: calc(400 * var(--mprpx));
  background: linear-gradient(180deg, var(--mp-n100) 0%, var(--mp-w96) 20%, var(--mp-n100) 60%, var(--mp-n100) 100%);
  border-radius: calc(48 * var(--mprpx));
  position: relative;
  box-sizing: border-box;
  padding: calc(48 * var(--mprpx)) calc(28 * var(--mprpx)) calc(28 * var(--mprpx)) calc(28 * var(--mprpx));
  box-shadow: 0 calc(30 * var(--mprpx)) calc(90 * var(--mprpx)) color-mix(in srgb, var(--mp-n00), transparent 75%), 0 calc(10 * var(--mprpx)) calc(30 * var(--mprpx)) color-mix(in srgb, var(--mp-n00), transparent 88%), 0 0 0 calc(4 * var(--mprpx)) color-mix(in srgb, var(--mp-bHi), transparent 75%), 0 0 0 calc(10 * var(--mprpx)) color-mix(in srgb, var(--mp-cMid), transparent 90%);
  display: flex;
  flex-direction: column;
  border: calc(2.5 * var(--mprpx)) solid color-mix(in srgb, var(--mp-bHi), transparent 65%);
  overflow-y: auto;
  overflow-x: hidden;}

/* 顶部emoji装饰条 */#mpScreen[data-route="pages/index/index"] .lang-modal-top-deco{
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: calc(12 * var(--mprpx));
  margin-bottom: calc(16 * var(--mprpx));
  flex-wrap: wrap;
  flex-shrink: 0;}#mpScreen[data-route="pages/index/index"] .lang-modal-deco-emoji{
  font-size: calc(28 * var(--mprpx));
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;}#mpScreen[data-route="pages/index/index"] .lang-modal-deco-emoji.deco-bounce-1{ animation: langDecoBounce 1.8s ease-in-out infinite;}#mpScreen[data-route="pages/index/index"] .lang-modal-deco-emoji.deco-bounce-2{ animation: langDecoBounce 1.8s ease-in-out 0.2s infinite;}#mpScreen[data-route="pages/index/index"] .lang-modal-deco-emoji.deco-bounce-3{ animation: langDecoBounce 1.8s ease-in-out 0.4s infinite;}#mpScreen[data-route="pages/index/index"] .lang-modal-deco-emoji.deco-bounce-4{ animation: langDecoBounce 1.8s ease-in-out 0.6s infinite;}#mpScreen[data-route="pages/index/index"] .lang-modal-deco-emoji.deco-bounce-5{ animation: langDecoBounce 1.8s ease-in-out 0.8s infinite;}#mpScreen[data-route="pages/index/index"] .lang-modal-deco-emoji.deco-bounce-6{ animation: langDecoBounce 1.8s ease-in-out 1.0s infinite;}

@keyframes langDecoBounce {
  0%, 100% { transform: translateY(0) scale(1); }
  50% { transform: translateY(-8rpx) scale(1.15); }
}

/* 四角emoji花边 */#mpScreen[data-route="pages/index/index"] .lang-modal-corner{
  position: absolute;
  font-size: calc(32 * var(--mprpx));
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0.5;
  pointer-events: none;}#mpScreen[data-route="pages/index/index"] .lang-modal-corner.corner-tl{ top: calc(16 * var(--mprpx)); left: calc(20 * var(--mprpx));}#mpScreen[data-route="pages/index/index"] .lang-modal-corner.corner-tr{ top: calc(16 * var(--mprpx)); right: calc(20 * var(--mprpx));}#mpScreen[data-route="pages/index/index"] .lang-modal-corner.corner-bl{ bottom: calc(16 * var(--mprpx)); left: calc(20 * var(--mprpx));}#mpScreen[data-route="pages/index/index"] .lang-modal-corner.corner-br{ bottom: calc(16 * var(--mprpx)); right: calc(20 * var(--mprpx));}

/* 关闭按钮 */#mpScreen[data-route="pages/index/index"] .lang-modal-close{
  position: absolute;
  top: calc(20 * var(--mprpx));
  right: calc(20 * var(--mprpx));
  width: calc(52 * var(--mprpx));
  height: calc(52 * var(--mprpx));
  border-radius: 50%;
  background: color-mix(in srgb, var(--mp-n00), transparent 95%);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10;
  transition: all 0.2s ease;}#mpScreen[data-route="pages/index/index"] .lang-modal-close:active{
  background: color-mix(in srgb, var(--mp-n00), transparent 88%);
  transform: scale(0.9);}#mpScreen[data-route="pages/index/index"] .lang-modal-close-icon{
  font-size: calc(28 * var(--mprpx));
  color: var(--mp-n60);
  font-weight: 600;
  line-height: 1;}

/* 标题行 */#mpScreen[data-route="pages/index/index"] .lang-modal-title-row{
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: calc(12 * var(--mprpx));
  margin-bottom: calc(8 * var(--mprpx));
  padding-top: calc(8 * var(--mprpx));}#mpScreen[data-route="pages/index/index"] .lang-modal-title-emoji{
  font-size: calc(36 * var(--mprpx));
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  animation: langTitleSpin 3s ease-in-out infinite;}

@keyframes langTitleSpin {
  0%, 100% { transform: rotate(0deg) scale(1); }
  25% { transform: rotate(-10deg) scale(1.1); }
  75% { transform: rotate(10deg) scale(1.1); }
}#mpScreen[data-route="pages/index/index"] .lang-modal-title{
  font-size: calc(32 * var(--mprpx));
  font-weight: 700;
  color: var(--mp-ink2);
  letter-spacing: 0.02em;
  line-height: 1.3;
  text-align: center;}

/* 副标题 */#mpScreen[data-route="pages/index/index"] .lang-modal-subtitle{
  font-size: calc(22 * var(--mprpx));
  color: var(--mp-n68);
  text-align: center;
  margin-bottom: calc(20 * var(--mprpx));
  line-height: 1.4;}

/* 区域1：顶部标题区（固定不动） */#mpScreen[data-route="pages/index/index"] .lang-modal-header{
  flex-shrink: 0;
  display: flex;
  flex-direction: column;}

/* 语言列表滚动容器 - 使用 calc 动态计算高度，确保在各种屏幕尺寸下可见 */#mpScreen[data-route="pages/index/index"] .lang-modal-scroll{
  height: calc(460 * var(--mprpx));
  max-height: calc(500 * var(--mprpx));
  width: 100%;
  box-sizing: border-box;
  flex-shrink: 0;}

/* 语言列表 */#mpScreen[data-route="pages/index/index"] .lang-modal-list{
  padding: 0 calc(4 * var(--mprpx));}#mpScreen[data-route="pages/index/index"] .lang-modal-item{
  display: flex;
  flex-direction: row;
  align-items: center;
  padding: calc(22 * var(--mprpx)) calc(20 * var(--mprpx));
  border-radius: calc(24 * var(--mprpx));
  margin-bottom: calc(10 * var(--mprpx));
  background: color-mix(in srgb, var(--mp-n00), transparent 98%);
  transition: all 0.2s cubic-bezier(0.25, 0.1, 0.25, 1);
  border: calc(2 * var(--mprpx)) solid transparent;
  box-sizing: border-box;}#mpScreen[data-route="pages/index/index"] .lang-modal-item:active{
  transform: scale(0.97);
  background: color-mix(in srgb, var(--mp-bHi), transparent 92%);}#mpScreen[data-route="pages/index/index"] .lang-modal-item.active{
  background: linear-gradient(135deg, color-mix(in srgb, var(--mp-bHi), transparent 85%), color-mix(in srgb, var(--mp-x145), transparent 90%));
  border-color: color-mix(in srgb, var(--mp-bHi), transparent 60%);
  box-shadow: 0 calc(4 * var(--mprpx)) calc(16 * var(--mprpx)) color-mix(in srgb, var(--mp-bHi), transparent 88%);}#mpScreen[data-route="pages/index/index"] .lang-modal-item-flag{
  font-size: calc(40 * var(--mprpx));
  line-height: 1;
  margin-right: calc(20 * var(--mprpx));
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;}#mpScreen[data-route="pages/index/index"] .lang-modal-item-info{
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: calc(4 * var(--mprpx));}#mpScreen[data-route="pages/index/index"] .lang-modal-item-name{
  font-size: calc(28 * var(--mprpx));
  font-weight: 600;
  color: var(--mp-ink2);
  line-height: 1.3;}#mpScreen[data-route="pages/index/index"] .lang-modal-item.active .lang-modal-item-name{
  color: var(--mp-b1);}#mpScreen[data-route="pages/index/index"] .lang-modal-item-native{
  font-size: calc(22 * var(--mprpx));
  color: var(--mp-n68);
  line-height: 1.3;}#mpScreen[data-route="pages/index/index"] .lang-modal-item.active .lang-modal-item-native{
  color: var(--mp-cMid);}#mpScreen[data-route="pages/index/index"] .lang-modal-item-check{
  font-size: calc(32 * var(--mprpx));
  color: var(--mp-b2);
  font-weight: 700;
  margin-left: calc(12 * var(--mprpx));
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  animation: langCheckPop 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);}

@keyframes langCheckPop {
  0% { transform: scale(0); }
  100% { transform: scale(1); }
}

/* 区域3：底部emoji装饰区（固定在弹窗底部，不滚动） */#mpScreen[data-route="pages/index/index"] .lang-modal-footer{
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  padding-bottom: calc(16 * var(--mprpx));}

/* 底部emoji装饰条 */#mpScreen[data-route="pages/index/index"] .lang-modal-bottom-deco{
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: calc(16 * var(--mprpx));
  margin-top: calc(20 * var(--mprpx));
  padding-top: calc(12 * var(--mprpx));
  border-top: calc(1 * var(--mprpx)) solid color-mix(in srgb, var(--mp-n00), transparent 95%);
  flex-wrap: wrap;}#mpScreen[data-route="pages/index/index"] .lang-modal-bottom-emoji{
  font-size: calc(24 * var(--mprpx));
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0.4;}#mpScreen[data-route="pages/index/index"] .lang-modal-bottom-emoji.heart-spin{
  animation: langHeartBeat 1.5s ease-in-out infinite;}

@keyframes langHeartBeat {
  0%, 100% { transform: scale(1); opacity: 0.4; }
  15% { transform: scale(1.3); opacity: 0.8; }
  30% { transform: scale(1); opacity: 0.4; }
}

/* ========== 游客引导弹窗 · 奶油橘粉（跟首页同一色系，固定不滚动 + 高帧弹性动效） ========== */#mpScreen[data-route="pages/index/index"] .visitor-guide-overlay{
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 2000;
  display: flex;
  justify-content: center;
  align-items: center;}#mpScreen[data-route="pages/index/index"] .visitor-guide-mask{
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: color-mix(in srgb, var(--mp-cDeep), transparent 66%);
  backdrop-filter: blur(10px) saturate(1.1);
  -webkit-backdrop-filter: blur(10px) saturate(1.1);
  animation: vgMaskIn 0.32s ease-out both;}

@keyframes vgMaskIn {
  0% { opacity: 0; }
  100% { opacity: 1; }
}#mpScreen[data-route="pages/index/index"] .visitor-guide-card{
  position: relative;
  width: calc(84 * var(--mpvw));
  max-width: 336px;
  max-height: calc(92 * var(--mpvh));
  box-sizing: border-box;
  padding: 0 0 10px;
  border-radius: 28px;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background: linear-gradient(168deg, var(--mp-n100) 0%, var(--mp-w96) 42%, var(--mp-x146) 78%, var(--mp-x147) 100%);
  border: 1.5px solid color-mix(in srgb, var(--mp-x148), transparent 45%);
  box-shadow: 0 26px 66px color-mix(in srgb, var(--mp-cDeep), transparent 70%), 0 0 0 3px color-mix(in srgb, var(--mp-x149), transparent 74%), 0 0 0 9px color-mix(in srgb, var(--mp-cPale), transparent 84%), inset 0 1px 0 color-mix(in srgb, var(--mp-n100), transparent 10%);
  animation: vgCardIn 0.54s cubic-bezier(0.22, 1.32, 0.36, 1) both;
  will-change: transform;}

/* 顶部一层薄薄的蜜桃光，替代原来的深色反光面 */#mpScreen[data-route="pages/index/index"] .visitor-guide-card::after{
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 116px;
  background: radial-gradient(120% 100% at 50% -34%, color-mix(in srgb, var(--mp-cMid), transparent 70%), transparent 70%);
  pointer-events: none;}

@keyframes vgCardIn {
  0% { transform: scale(0.82) translateY(48px); opacity: 0; }
  62% { transform: scale(1.026) translateY(-5px); opacity: 1; }
  100% { transform: scale(1) translateY(0); opacity: 1; }
}

/* 顶部：淡橘细纹 + 浮动表情 */#mpScreen[data-route="pages/index/index"] .visitor-guide-top-wave{
  position: relative;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 13px 0 10px;
  background: repeating-linear-gradient(90deg, color-mix(in srgb, var(--mp-b2), transparent 93%) 0 1px, transparent 1px 30px);
  border-bottom: 1px solid color-mix(in srgb, var(--mp-cMid), transparent 76%);
  flex-shrink: 0;}#mpScreen[data-route="pages/index/index"] .visitor-guide-wave-emoji{
  font-size: 19px;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  animation: vgWaveFloat 2.4s cubic-bezier(0.45, 0, 0.55, 1) infinite;
  will-change: transform;}#mpScreen[data-route="pages/index/index"] .vg-w1{ animation-delay: 0s;}#mpScreen[data-route="pages/index/index"] .vg-w2{ animation-delay: 0.16s;}#mpScreen[data-route="pages/index/index"] .vg-w3{ animation-delay: 0.32s;}#mpScreen[data-route="pages/index/index"] .vg-w4{ animation-delay: 0.48s;}#mpScreen[data-route="pages/index/index"] .vg-w5{ animation-delay: 0.64s;}

@keyframes vgWaveFloat {
  0%, 100% { transform: translateY(0) rotate(0deg) scale(1); }
  50% { transform: translateY(-7px) rotate(8deg) scale(1.16); }
}

/* 主图标：蜜桃奶油旋转光环 */#mpScreen[data-route="pages/index/index"] .visitor-guide-icon-section{
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 11px 0 0;
  flex-shrink: 0;}#mpScreen[data-route="pages/index/index"] .visitor-guide-icon-ring{
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background: linear-gradient(140deg, var(--mp-cPale) 0%, var(--mp-cMid) 55%, var(--mp-x150) 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  box-shadow: 0 8px 20px color-mix(in srgb, var(--mp-bHi), transparent 66%), inset 0 1px 0 color-mix(in srgb, var(--mp-n100), transparent 15%);
  animation: vgRingBreathe 3.2s cubic-bezier(0.45, 0, 0.55, 1) infinite;
  will-change: transform;}#mpScreen[data-route="pages/index/index"] .visitor-guide-icon-ring::before{
  content: '';
  position: absolute;
  top: -7px;
  left: -7px;
  right: -7px;
  bottom: -7px;
  border-radius: 50%;
  border: 2px dashed color-mix(in srgb, var(--mp-b2), transparent 55%);
  animation: vgHaloSpin 7s linear infinite;}

@keyframes vgHaloSpin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

@keyframes vgRingBreathe {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.06); }
}#mpScreen[data-route="pages/index/index"] .visitor-guide-main-icon{
  font-size: 28px;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  animation: vgMainIconPulse 2.6s cubic-bezier(0.45, 0, 0.55, 1) infinite;
  will-change: transform;}

@keyframes vgMainIconPulse {
  0%, 100% { transform: scale(1) rotate(-6deg); }
  50% { transform: scale(1.14) rotate(6deg); }
}#mpScreen[data-route="pages/index/index"] .visitor-guide-icon-sparkles{
  position: absolute;
  top: 11px;
  left: 0;
  right: 0;
  height: 60px;
  pointer-events: none;}#mpScreen[data-route="pages/index/index"] .visitor-guide-sparkle{
  position: absolute;
  font-size: 13px;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  animation: vgSparkleFloat 2.6s cubic-bezier(0.45, 0, 0.55, 1) infinite;
  will-change: transform, opacity;}#mpScreen[data-route="pages/index/index"] .vg-s1{ top: -6px; left: 26%; animation-delay: 0s;}#mpScreen[data-route="pages/index/index"] .vg-s2{ top: -6px; right: 26%; animation-delay: 0.65s;}#mpScreen[data-route="pages/index/index"] .vg-s3{ bottom: -2px; left: 21%; animation-delay: 1.3s;}#mpScreen[data-route="pages/index/index"] .vg-s4{ bottom: -2px; right: 21%; animation-delay: 1.95s;}

@keyframes vgSparkleFloat {
  0%, 100% { transform: translateY(0) scale(0.55); opacity: 0.35; }
  50% { transform: translateY(-7px) scale(1.25); opacity: 1; }
}

/* 标题 */#mpScreen[data-route="pages/index/index"] .visitor-guide-title-row{
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 9px 18px 0;
  flex-shrink: 0;}#mpScreen[data-route="pages/index/index"] .visitor-guide-title-paw{
  font-size: 16px;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  animation: vgPawSwing 1.6s cubic-bezier(0.45, 0, 0.55, 1) infinite;
  will-change: transform;}#mpScreen[data-route="pages/index/index"] .visitor-guide-title-paw:last-child{
  animation-delay: 0.5s;}

@keyframes vgPawSwing {
  0%, 100% { transform: rotate(0deg) scale(1); }
  25% { transform: rotate(14deg) scale(1.18); }
  75% { transform: rotate(-14deg) scale(1.18); }
}#mpScreen[data-route="pages/index/index"] .visitor-guide-title{
  font-size: 20px;
  font-weight: 800;
  color: var(--mp-cDeep);
  letter-spacing: 0.01em;
  line-height: 1.25;
  text-align: center;
  text-shadow: 0 1px 0 color-mix(in srgb, var(--mp-n100), transparent 15%);
  display: flex;
  align-items: center;
  justify-content: center;}

/* 正文 */#mpScreen[data-route="pages/index/index"] .visitor-guide-body{
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 6px 22px 0;
  gap: 2px;
  flex-shrink: 0;}#mpScreen[data-route="pages/index/index"] .visitor-guide-body-line{
  font-size: 12.5px;
  color: var(--mp-cDeep);
  font-weight: 400;
  line-height: 1.55;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;}

/* 功能亮点：错峰弹入 */#mpScreen[data-route="pages/index/index"] .visitor-guide-features{
  display: flex;
  flex-direction: column;
  gap: 7px;
  padding: 11px 16px 0;
  flex-shrink: 0;}#mpScreen[data-route="pages/index/index"] .visitor-guide-feature-item{
  display: flex;
  flex-direction: row;
  align-items: center;
  padding: 7px 11px;
  background: color-mix(in srgb, var(--mp-n100), transparent 22%);
  border-radius: 14px;
  border: 1px solid color-mix(in srgb, var(--mp-cMid), transparent 70%);
  box-sizing: border-box;
  opacity: 0;
  animation: vgItemIn 0.5s cubic-bezier(0.22, 1.24, 0.36, 1) both;
  transition: transform 0.22s cubic-bezier(0.34, 1.56, 0.64, 1), background 0.22s ease;}#mpScreen[data-route="pages/index/index"] .visitor-guide-features .visitor-guide-feature-item:nth-child(1){ animation-delay: 0.22s;}#mpScreen[data-route="pages/index/index"] .visitor-guide-features .visitor-guide-feature-item:nth-child(2){ animation-delay: 0.33s;}#mpScreen[data-route="pages/index/index"] .visitor-guide-features .visitor-guide-feature-item:nth-child(3){ animation-delay: 0.44s;}

@keyframes vgItemIn {
  0% { opacity: 0; transform: translateX(-20px) scale(0.95); }
  100% { opacity: 1; transform: translateX(0) scale(1); }
}#mpScreen[data-route="pages/index/index"] .visitor-guide-feature-item:active{
  transform: scale(0.975);
  background: color-mix(in srgb, var(--mp-w84), transparent 15%);}#mpScreen[data-route="pages/index/index"] .visitor-guide-feature-icon{
  font-size: 15px;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 10px;
  flex-shrink: 0;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: linear-gradient(140deg, var(--mp-w92), var(--mp-w84));
  box-shadow: inset 0 1px 0 color-mix(in srgb, var(--mp-n100), transparent 10%), 0 3px 8px color-mix(in srgb, var(--mp-cMid), transparent 78%);}#mpScreen[data-route="pages/index/index"] .visitor-guide-feature-content{
  display: flex;
  flex-direction: column;
  gap: 1px;
  flex: 1;}#mpScreen[data-route="pages/index/index"] .visitor-guide-feature-title{
  font-size: 13px;
  font-weight: 700;
  color: var(--mp-cDeep);
  line-height: 1.3;
  display: flex;
  align-items: center;}#mpScreen[data-route="pages/index/index"] .visitor-guide-feature-desc{
  font-size: 11px;
  color: var(--mp-cDeep);
  font-weight: 400;
  line-height: 1.35;
  display: flex;
  align-items: center;}

/* 暖句：蜜桃虚线胶囊 */#mpScreen[data-route="pages/index/index"] .visitor-guide-warm-text{
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 6px;
  margin: 10px 16px 0;
  padding: 5px 12px;
  border-radius: 999px;
  border: 1px dashed color-mix(in srgb, var(--mp-b2), transparent 50%);
  background: color-mix(in srgb, var(--mp-cPale), transparent 68%);
  box-sizing: border-box;
  flex-shrink: 0;
  animation: vgWarmGlow 3.4s cubic-bezier(0.45, 0, 0.55, 1) infinite;}

@keyframes vgWarmGlow {
  0%, 100% { box-shadow: 0 0 0 rgba(255, 160, 90, 0); }
  50% { box-shadow: 0 0 16px rgba(255, 160, 90, 0.32); }
}#mpScreen[data-route="pages/index/index"] .visitor-guide-warm-emoji{
  font-size: 13px;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;}#mpScreen[data-route="pages/index/index"] .visitor-guide-warm-content{
  font-size: 11.5px;
  color: var(--mp-bDeep);
  font-weight: 600;
  line-height: 1.4;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;}

/* 按钮：一行放下，主按钮是焦糖夹心 */#mpScreen[data-route="pages/index/index"] .visitor-guide-actions{
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 9px;
  padding: 12px 16px 0;
  flex-shrink: 0;}#mpScreen[data-route="pages/index/index"] .visitor-guide-btn{
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  height: 43px;
  border-radius: 22px;
  box-sizing: border-box;
  gap: 5px;
  position: relative;
  overflow: hidden;
  transition: transform 0.2s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.2s ease, background 0.2s ease;}#mpScreen[data-route="pages/index/index"] .visitor-guide-btn-cancel{
  flex: 0 0 34%;
  background: color-mix(in srgb, var(--mp-n100), transparent 14%);
  border: 1.5px solid color-mix(in srgb, var(--mp-cMid), transparent 55%);}#mpScreen[data-route="pages/index/index"] .visitor-guide-btn-cancel:active{
  background: color-mix(in srgb, var(--mp-w92), transparent 5%);
  transform: scale(0.96);}#mpScreen[data-route="pages/index/index"] .visitor-guide-btn-auth{
  flex: 1;
  background: linear-gradient(135deg, var(--mp-bHi) 0%, var(--mp-b2) 52%, var(--mp-x151) 100%);
  box-shadow: 0 6px 18px color-mix(in srgb, var(--mp-bHi), transparent 58%), inset 0 1px 0 color-mix(in srgb, var(--mp-n100), transparent 45%);
  border: none;}#mpScreen[data-route="pages/index/index"] .visitor-guide-btn-auth::before{
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 55%;
  height: 100%;
  background: linear-gradient(100deg, transparent 0%, color-mix(in srgb, var(--mp-n100), transparent 40%) 50%, transparent 100%);
  transform: translateX(-180%) skewX(-18deg);
  animation: vgShine 2.9s cubic-bezier(0.4, 0, 0.2, 1) infinite;
  will-change: transform;}

@keyframes vgShine {
  0% { transform: translateX(-180%) skewX(-18deg); }
  55%, 100% { transform: translateX(340%) skewX(-18deg); }
}#mpScreen[data-route="pages/index/index"] .visitor-guide-btn-auth:active{
  transform: scale(0.955);
  box-shadow: 0 2px 10px color-mix(in srgb, var(--mp-bHi), transparent 68%), inset 0 1px 0 color-mix(in srgb, var(--mp-n100), transparent 60%);}#mpScreen[data-route="pages/index/index"] .visitor-guide-btn-icon{
  font-size: 14px;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 1;
  animation: vgBtnSparkle 1.6s cubic-bezier(0.45, 0, 0.55, 1) infinite;}#mpScreen[data-route="pages/index/index"] .visitor-guide-btn-icon:last-child{
  animation-delay: 0.5s;}

@keyframes vgBtnSparkle {
  0%, 100% { transform: scale(1) rotate(0deg); }
  50% { transform: scale(1.32) rotate(18deg); }
}#mpScreen[data-route="pages/index/index"] .visitor-guide-btn-text{
  font-size: 15px;
  font-weight: 800;
  color: var(--mp-inkOn);
  line-height: 1.3;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  position: relative;
  z-index: 1;
  text-shadow: 0 1px 3px color-mix(in srgb, var(--mp-bDeep), transparent 65%);}#mpScreen[data-route="pages/index/index"] .visitor-guide-btn-cancel .visitor-guide-btn-text{
  color: var(--mp-cDeep);
  font-weight: 600;
  font-size: 14px;
  text-shadow: none;}

/* 底部装饰 */#mpScreen[data-route="pages/index/index"] .visitor-guide-bottom-deco{
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 9px 0 0;
  flex-shrink: 0;}#mpScreen[data-route="pages/index/index"] .visitor-guide-bottom-emoji{
  font-size: 13px;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0.42;
  animation: vgBottomFloat 2.2s cubic-bezier(0.45, 0, 0.55, 1) infinite;
  will-change: transform, opacity;}#mpScreen[data-route="pages/index/index"] .visitor-guide-bottom-emoji:nth-child(1){ animation-delay: 0s;}#mpScreen[data-route="pages/index/index"] .visitor-guide-bottom-emoji:nth-child(2){ animation-delay: 0.18s;}#mpScreen[data-route="pages/index/index"] .visitor-guide-bottom-emoji:nth-child(3){ animation-delay: 0.36s;}#mpScreen[data-route="pages/index/index"] .visitor-guide-bottom-emoji:nth-child(4){ animation-delay: 0.54s;}#mpScreen[data-route="pages/index/index"] .visitor-guide-bottom-emoji:nth-child(5){ animation-delay: 0.72s;}#mpScreen[data-route="pages/index/index"] .visitor-guide-bottom-emoji:nth-child(6){ animation-delay: 0.9s;}

@keyframes vgBottomFloat {
  0%, 100% { transform: translateY(0) scale(1); opacity: 0.35; }
  50% { transform: translateY(-5px) scale(1.2); opacity: 0.72; }
}#mpScreen[data-route="pages/index/index"] .vg-heart{
  animation: vgHeartBeat 1.3s cubic-bezier(0.45, 0, 0.55, 1) infinite;}

@keyframes vgHeartBeat {
  0%, 100% { transform: scale(1); opacity: 0.4; }
  15% { transform: scale(1.34); opacity: 0.85; }
  30% { transform: scale(1); opacity: 0.4; }
  45% { transform: scale(1.24); opacity: 0.75; }
  60% { transform: scale(1); opacity: 0.4; }
}

/* ========== 隐私政策弹窗 ========== */#mpScreen[data-route="pages/index/index"] .privacy-policy-overlay{
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 2100;
  display: flex;
  justify-content: center;
  align-items: center;}#mpScreen[data-route="pages/index/index"] .privacy-policy-mask{
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: color-mix(in srgb, var(--mp-n00), transparent 45%);}#mpScreen[data-route="pages/index/index"] .privacy-policy-card{
  width: calc(88 * var(--mpvw));
  max-width: calc(680 * var(--mprpx));
  max-height: calc(85 * var(--mpvh));
  background: var(--mp-n100);
  border-radius: calc(32 * var(--mprpx));
  position: relative;
  overflow: hidden;
  box-sizing: border-box;
  box-shadow: 0 calc(20 * var(--mprpx)) calc(60 * var(--mprpx)) color-mix(in srgb, var(--mp-n00), transparent 80%);
  display: flex;
  flex-direction: column;}#mpScreen[data-route="pages/index/index"] .privacy-policy-header{
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  padding: calc(28 * var(--mprpx)) calc(32 * var(--mprpx)) calc(20 * var(--mprpx));
  border-bottom: calc(1 * var(--mprpx)) solid var(--mp-line1);
  flex-shrink: 0;
  background: linear-gradient(180deg, var(--mp-w96) 0%, var(--mp-n100) 100%);}#mpScreen[data-route="pages/index/index"] .privacy-policy-title{
  font-size: calc(32 * var(--mprpx));
  font-weight: 700;
  color: var(--mp-ink1);
  letter-spacing: -0.02em;
  line-height: 1.4;
  display: flex;
  align-items: center;}#mpScreen[data-route="pages/index/index"] .privacy-policy-close{
  width: calc(52 * var(--mprpx));
  height: calc(52 * var(--mprpx));
  border-radius: 50%;
  background-color: color-mix(in srgb, var(--mp-n00), transparent 94%);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: background-color 0.2s ease;}#mpScreen[data-route="pages/index/index"] .privacy-policy-close:active{
  background-color: color-mix(in srgb, var(--mp-n00), transparent 86%);}#mpScreen[data-route="pages/index/index"] .privacy-policy-close-icon{
  font-size: calc(28 * var(--mprpx));
  color: var(--mp-n60);
  font-weight: 600;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;}#mpScreen[data-route="pages/index/index"] .privacy-policy-body{
  flex: 1;
  padding: calc(16 * var(--mprpx)) calc(28 * var(--mprpx)) 0;
  box-sizing: border-box;
  max-height: calc(60 * var(--mpvh));}#mpScreen[data-route="pages/index/index"] .privacy-policy-section{
  margin-bottom: calc(24 * var(--mprpx));}#mpScreen[data-route="pages/index/index"] .privacy-policy-section-title{
  font-size: calc(28 * var(--mprpx));
  font-weight: 700;
  color: var(--mp-b2);
  line-height: 1.5;
  margin-bottom: calc(10 * var(--mprpx));
  display: block;}#mpScreen[data-route="pages/index/index"] .privacy-policy-text{
  font-size: calc(24 * var(--mprpx));
  color: var(--mp-ink3);
  font-weight: 400;
  line-height: 1.8;
  display: block;
  margin-bottom: calc(8 * var(--mprpx));
  text-indent: 0;}#mpScreen[data-route="pages/index/index"] .privacy-policy-bottom-space{
  height: calc(20 * var(--mprpx));}#mpScreen[data-route="pages/index/index"] .privacy-policy-footer{
  padding: calc(16 * var(--mprpx)) calc(28 * var(--mprpx)) calc(28 * var(--mprpx));
  flex-shrink: 0;
  border-top: calc(1 * var(--mprpx)) solid var(--mp-line1);
  background: var(--mp-n100);}#mpScreen[data-route="pages/index/index"] .privacy-policy-btn{
  width: 100%;
  height: calc(80 * var(--mprpx));
  border-radius: calc(40 * var(--mprpx));
  background: linear-gradient(135deg, var(--mp-b2), var(--mp-b1));
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 calc(6 * var(--mprpx)) calc(20 * var(--mprpx)) color-mix(in srgb, var(--mp-b1), transparent 70%);
  transition: transform 0.15s ease, box-shadow 0.15s ease;
  box-sizing: border-box;}#mpScreen[data-route="pages/index/index"] .privacy-policy-btn:active{
  transform: scale(0.97);
  box-shadow: 0 calc(3 * var(--mprpx)) calc(10 * var(--mprpx)) color-mix(in srgb, var(--mp-b1), transparent 80%);}#mpScreen[data-route="pages/index/index"] .privacy-policy-btn-text{
  font-size: calc(28 * var(--mprpx));
  font-weight: 700;
  color: var(--mp-inkOn);
  line-height: 1.4;
  display: flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;}

/* ========== 互动消息模块样式（内嵌在 index 页面中） ========== */
/* 滚动区裁切线必须正好落在悬浮底栏的上沿（padding-bottom: 0）：
   留着 .tab-content 那 16px 下内边距，卡片会在底栏上方 16px 处被切出
   一条没有圆角的直边，看着像底栏后面藏了一个长方形。 */#mpScreen[data-route="pages/index/index"] .messages-tab-content{
  display: flex;
  flex-direction: column;
  height: calc(calc(100 * var(--mpvh)) - calc(160 * var(--mprpx)));
  /* 和全国那块同一个道理：写死的高度只是理想值，视口比它矮的时候必须允许压缩，
     不能把底栏顶出 .page-container 的裁剪框 */
  min-height: 0;
  padding-bottom: 0;
  background: linear-gradient(180deg, var(--mp-bgA) 0%, var(--mp-bgB) 100%);}

/* ========== 互动消息 · 分段切换药丸（弹性滑动） ========== */
/* 下内边距必须为 0：留 10px 的话，药丸条和卡片之间永远横着一条露底的小背景，
   滚动区的上沿要正好压在药丸条的下沿上，卡片才是从条子底下抽出来的。 */#mpScreen[data-route="pages/index/index"] .msg-tabs{
  flex-shrink: 0;
  padding: 0 14px;}#mpScreen[data-route="pages/index/index"] .msg-tabs-track{
  padding: 5px;
  border-radius: 22px;
  background: color-mix(in srgb, var(--mp-n100), transparent 26%);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--mp-w42), transparent 94%), 0 6px 18px color-mix(in srgb, var(--mp-w68), transparent 90%);
  overflow: hidden;}#mpScreen[data-route="pages/index/index"] .msg-tabs-row{
  position: relative;
  display: flex;
  flex-direction: row;}#mpScreen[data-route="pages/index/index"] .msg-tab-thumb{
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  width: 25%;
  border-radius: 17px;
  background: linear-gradient(135deg, var(--mp-b2), var(--mp-bHi));
  box-shadow: 0 4px 14px color-mix(in srgb, var(--mp-b2), transparent 62%);
  transform: translateX(0);
  transition: transform 0.46s cubic-bezier(0.34, 1.34, 0.44, 1);
  will-change: transform;
  z-index: 0;
  pointer-events: none;}#mpScreen[data-route="pages/index/index"] .thumb-i0{ transform: translateX(0);}#mpScreen[data-route="pages/index/index"] .thumb-i1{ transform: translateX(100%);}#mpScreen[data-route="pages/index/index"] .thumb-i2{ transform: translateX(200%);}#mpScreen[data-route="pages/index/index"] .thumb-i3{ transform: translateX(300%);}#mpScreen[data-route="pages/index/index"] .msg-tab{
  flex: 1;
  position: relative;
  z-index: 1;
  height: 50px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border-radius: 17px;
  transition: transform 0.18s ease;}#mpScreen[data-route="pages/index/index"] .msg-tab:active{
  transform: scale(0.93);}#mpScreen[data-route="pages/index/index"] .msg-tab-emoji{
  font-size: 15px;
  line-height: 1.2;
  transition: transform 0.42s cubic-bezier(0.34, 1.42, 0.5, 1);}#mpScreen[data-route="pages/index/index"] .msg-tab-on .msg-tab-emoji{
  transform: translateY(-1px) scale(1.14);}#mpScreen[data-route="pages/index/index"] .msg-tab-label{
  font-size: 11px;
  font-weight: 600;
  color: var(--mp-w68);
  margin-top: 2px;
  white-space: nowrap;
  transition: color 0.28s ease;}#mpScreen[data-route="pages/index/index"] .msg-tab-on .msg-tab-label{
  color: var(--mp-inkOn);}#mpScreen[data-route="pages/index/index"] .msg-tab-badge{
  position: absolute;
  top: 5px;
  right: 11px;
  min-width: 15px;
  height: 15px;
  padding: 0 4px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--mp-x152);
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--mp-n100), transparent 8%);
  animation: pages-index-index-msgBadgePop 0.4s cubic-bezier(0.34, 1.56, 0.64, 1) both;}#mpScreen[data-route="pages/index/index"] .msg-tab-badge-text{
  font-size: 9px;
  font-weight: 700;
  color: var(--mp-inkOn);}

/* ========== 互动消息 · 留言卡片 ========== */#mpScreen[data-route="pages/index/index"] .msg-list{
  padding: 4px 0 16px 0;
  animation: pages-index-index-msgListIn 0.4s cubic-bezier(0.22, 1, 0.36, 1) both;}#mpScreen[data-route="pages/index/index"] .msg-card{
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  margin: 0 14px 10px 14px;
  padding: 13px 14px;
  border-radius: 18px;
  background: var(--mp-n100);
  border: 1px solid color-mix(in srgb, var(--mp-w42), transparent 95%);
  box-shadow: 0 4px 16px color-mix(in srgb, var(--mp-w42), transparent 93%);
  animation: pages-index-index-msgCardIn 0.46s cubic-bezier(0.22, 1, 0.36, 1) both;
  transition: transform 0.22s ease, box-shadow 0.22s ease;}#mpScreen[data-route="pages/index/index"] .msg-card:active{
  transform: scale(0.985);}#mpScreen[data-route="pages/index/index"] .msg-card-in{ border-left: 4px solid var(--mp-x153);}#mpScreen[data-route="pages/index/index"] .msg-card-out{ border-left: 4px solid var(--mp-bHi);}#mpScreen[data-route="pages/index/index"] .msg-card-unread{
  background: linear-gradient(135deg, var(--mp-n100) 0%, var(--mp-w96) 100%);
  box-shadow: 0 6px 20px color-mix(in srgb, var(--mp-b2), transparent 86%);}#mpScreen[data-route="pages/index/index"] .msg-card-avatar{
  width: 38px;
  height: 38px;
  border-radius: 19px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 11px;
  flex-shrink: 0;}#mpScreen[data-route="pages/index/index"] .msg-card-in .msg-card-avatar{ background: linear-gradient(135deg, var(--mp-x154), var(--mp-x155));}#mpScreen[data-route="pages/index/index"] .msg-card-out .msg-card-avatar{ background: linear-gradient(135deg, var(--mp-w92), var(--mp-w84));}#mpScreen[data-route="pages/index/index"] .msg-card-avatar-emoji{
  font-size: 19px;}#mpScreen[data-route="pages/index/index"] .msg-card-main{
  flex: 1;
  display: flex;
  flex-direction: column;
  min-width: 0;}#mpScreen[data-route="pages/index/index"] .msg-card-top{
  display: flex;
  flex-direction: row;
  align-items: center;
  margin-bottom: 6px;}#mpScreen[data-route="pages/index/index"] .msg-card-tag{
  font-size: 10px;
  font-weight: 700;
  padding: 2px 8px;
  border-radius: 9px;
  margin-right: 6px;}#mpScreen[data-route="pages/index/index"] .msg-tag-in{ background: var(--mp-x156); color: var(--mp-x157);}#mpScreen[data-route="pages/index/index"] .msg-tag-out{ background: var(--mp-w92); color: var(--mp-bRich);}#mpScreen[data-route="pages/index/index"] .msg-card-dot{
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--mp-x158);
  margin-right: 6px;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--mp-x158), transparent 84%);
  animation: pages-index-index-msgDotPulse 1.6s ease-in-out infinite;}#mpScreen[data-route="pages/index/index"] .msg-card-time{
  font-size: 11px;
  color: var(--mp-w68);
  margin-left: auto;}#mpScreen[data-route="pages/index/index"] .msg-card-text{
  font-size: 14px;
  color: var(--mp-w20);
  line-height: 1.55;
  word-break: break-all;}#mpScreen[data-route="pages/index/index"] .msg-card-reply{
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  margin-top: 8px;
  padding: 8px 10px;
  border-radius: 12px;
  background: var(--mp-n96);}#mpScreen[data-route="pages/index/index"] .msg-card-reply-quote{
  font-size: 14px;
  color: var(--mp-w68);
  margin-right: 6px;
  line-height: 1.1;}#mpScreen[data-route="pages/index/index"] .msg-card-reply-body{
  display: flex;
  flex-direction: column;
  min-width: 0;}#mpScreen[data-route="pages/index/index"] .msg-card-reply-label{
  font-size: 10px;
  color: var(--mp-w68);
  margin-bottom: 2px;}#mpScreen[data-route="pages/index/index"] .msg-card-reply-text{
  font-size: 12px;
  color: var(--mp-w42);
  line-height: 1.45;
  word-break: break-all;}#mpScreen[data-route="pages/index/index"] .msg-card-status{
  margin-top: 6px;}#mpScreen[data-route="pages/index/index"] .msg-card-status-pending{
  font-size: 11px;
  color: var(--mp-bDeep);}#mpScreen[data-route="pages/index/index"] .msg-card-status-rejected{
  font-size: 11px;
  color: var(--mp-x159);}#mpScreen[data-route="pages/index/index"] .msg-card-paw{
  position: absolute;
  right: -4px;
  bottom: -6px;
  font-size: 34px;
  opacity: 0.06;
  transform: rotate(-18deg);
  pointer-events: none;}#mpScreen[data-route="pages/index/index"] .msg-list > :nth-child(1){ animation-delay: 0.02s;}#mpScreen[data-route="pages/index/index"] .msg-list > :nth-child(2){ animation-delay: 0.06s;}#mpScreen[data-route="pages/index/index"] .msg-list > :nth-child(3){ animation-delay: 0.10s;}#mpScreen[data-route="pages/index/index"] .msg-list > :nth-child(4){ animation-delay: 0.14s;}#mpScreen[data-route="pages/index/index"] .msg-list > :nth-child(5){ animation-delay: 0.18s;}#mpScreen[data-route="pages/index/index"] .msg-list > :nth-child(6){ animation-delay: 0.22s;}#mpScreen[data-route="pages/index/index"] .msg-list > :nth-child(7){ animation-delay: 0.26s;}#mpScreen[data-route="pages/index/index"] .msg-list > :nth-child(8){ animation-delay: 0.30s;}#mpScreen[data-route="pages/index/index"] .msg-list > :nth-child(n+9){ animation-delay: 0.34s;}

/* ========== 互动消息 · 空状态 ========== */#mpScreen[data-route="pages/index/index"] .msg-empty{
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 64px 24px;
  animation: pages-index-index-msgListIn 0.45s cubic-bezier(0.22, 1, 0.36, 1) both;}#mpScreen[data-route="pages/index/index"] .msg-empty-emoji{
  font-size: 52px;
  margin-bottom: 12px;
  animation: pages-index-index-msgEmptyBob 2.6s ease-in-out infinite;}#mpScreen[data-route="pages/index/index"] .msg-empty-title{
  font-size: 14px;
  font-weight: 600;
  color: var(--mp-w42);}#mpScreen[data-route="pages/index/index"] .msg-empty-hint{
  font-size: 12px;
  color: var(--mp-w68);
  margin-top: 6px;
  text-align: center;
  line-height: 1.6;}

/* ========== 动效关键帧 ========== */
@keyframes pages-index-index-msgListIn {
  from { opacity: 0; transform: translateY(12px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes pages-index-index-msgCardIn {
  from { opacity: 0; transform: translateY(16px) scale(0.98); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes pages-index-index-msgDotPulse {
  0%, 100% { transform: scale(1); opacity: 1; }
  50% { transform: scale(1.35); opacity: 0.6; }
}

@keyframes pages-index-index-msgBadgePop {
  from { transform: scale(0); opacity: 0; }
  to { transform: scale(1); opacity: 1; }
}

@keyframes pages-index-index-msgEmptyBob {
  0%, 100% { transform: translateY(0) rotate(-3deg); }
  50% { transform: translateY(-8px) rotate(3deg); }
}#mpScreen[data-route="pages/index/index"] .messages-scroll{
  flex: 1;
  min-height: 0;
  /* 裁切线的位置是对的，但一条直线切在卡片身上太生硬，宽屏下药丸只有 460px 宽，
     左右两侧各有一截硬边露在底色上。改成上下两端渐隐，卡片是溶进边界而不是被切断。
     用 black/transparent 关键字写：折色管线只认 #hex 和 rgba()，别把遮罩的透明度改掉。 */
  -webkit-mask-image: linear-gradient(to bottom, transparent 0, black 36px, black calc(100% - 36px), transparent 100%);
  mask-image: linear-gradient(to bottom, transparent 0, black 36px, black calc(100% - 36px), transparent 100%);}#mpScreen[data-route="pages/index/index"] .audit-item{
  position: relative;
  overflow: hidden;
  background: var(--mp-n100);
  margin: 0 14px 10px 14px;
  padding: 14px;
  border-radius: 18px;
  border: 1px solid color-mix(in srgb, var(--mp-w42), transparent 95%);
  border-left: 4px solid var(--mp-x160);
  box-shadow: 0 4px 16px color-mix(in srgb, var(--mp-w42), transparent 93%);
  animation: pages-index-index-msgCardIn 0.46s cubic-bezier(0.22, 1, 0.36, 1) both;}#mpScreen[data-route="pages/index/index"] .audit-item-header{
  display: flex;
  flex-direction: row;
  align-items: center;
  margin-bottom: 10px;}#mpScreen[data-route="pages/index/index"] .audit-item-icon{
  font-size: 16px;
  margin-right: 6px;}#mpScreen[data-route="pages/index/index"] .audit-item-title{
  font-size: 14px;
  font-weight: 700;
  color: var(--mp-w20);
  flex: 1;}#mpScreen[data-route="pages/index/index"] .audit-item-time{
  font-size: 11px;
  color: var(--mp-w68);}#mpScreen[data-route="pages/index/index"] .audit-item-body{
  background: var(--mp-n96);
  padding: 10px 12px;
  border-radius: 12px;
  margin-bottom: 10px;}#mpScreen[data-route="pages/index/index"] .audit-requester-row{
  display: flex;
  flex-direction: row;
  align-items: center;
  margin-bottom: 8px;
  flex-wrap: wrap;}#mpScreen[data-route="pages/index/index"] .audit-requester-name{
  font-size: 14px;
  font-weight: 600;
  color: var(--mp-bRich);
  margin-right: 4px;}#mpScreen[data-route="pages/index/index"] .audit-requester-label{
  font-size: 13px;
  color: var(--mp-w42);
  margin-right: 4px;}#mpScreen[data-route="pages/index/index"] .audit-requester-type{
  font-size: 12px;
  color: var(--mp-inkOn);
  background: linear-gradient(135deg, var(--mp-b2), var(--mp-bHi));
  padding: 2px 9px;
  border-radius: 10px;}#mpScreen[data-route="pages/index/index"] .audit-content-card{
  background: var(--mp-n100);
  border: 1px solid color-mix(in srgb, var(--mp-w42), transparent 92%);
  border-radius: 10px;
  padding: 10px 12px;
  margin-bottom: 8px;}#mpScreen[data-route="pages/index/index"] .audit-content-text{
  font-size: 14px;
  color: var(--mp-w20);
  line-height: 1.5;
  word-break: break-all;
  font-style: italic;}#mpScreen[data-route="pages/index/index"] .audit-hint-row{
  margin-top: 4px;}#mpScreen[data-route="pages/index/index"] .audit-hint-text{
  font-size: 12px;
  color: var(--mp-w68);}#mpScreen[data-route="pages/index/index"] .audit-item-actions{
  display: flex;
  flex-direction: row;
  justify-content: flex-end;}#mpScreen[data-route="pages/index/index"] .audit-btn{
  padding: 8px 18px;
  border-radius: 20px;
  margin-left: 10px;
  transition: transform 0.18s ease, box-shadow 0.18s ease;}#mpScreen[data-route="pages/index/index"] .audit-btn:active{
  transform: scale(0.94);}#mpScreen[data-route="pages/index/index"] .audit-btn-reject{
  background: var(--mp-n96);
  border: 1px solid color-mix(in srgb, var(--mp-w42), transparent 88%);}#mpScreen[data-route="pages/index/index"] .audit-btn-reject .audit-btn-text{
  color: var(--mp-w42);
  font-size: 13px;}#mpScreen[data-route="pages/index/index"] .audit-btn-approve{
  background: linear-gradient(135deg, var(--mp-b2), var(--mp-bHi));
  box-shadow: 0 4px 12px color-mix(in srgb, var(--mp-b2), transparent 68%);}#mpScreen[data-route="pages/index/index"] .audit-btn-approve .audit-btn-text{
  color: var(--mp-inkOn);
  font-size: 13px;
  font-weight: 600;}

/* ========== 审核结果通知卡片（通过 / 未通过） ========== */#mpScreen[data-route="pages/index/index"] .audit-result-item{
  background: var(--mp-n100);
  margin: 0 14px 10px 14px;
  padding: 14px;
  border-radius: 18px;
  border: 1px solid color-mix(in srgb, var(--mp-w42), transparent 95%);
  box-shadow: 0 4px 16px color-mix(in srgb, var(--mp-w42), transparent 93%);
  animation: pages-index-index-msgCardIn 0.46s cubic-bezier(0.22, 1, 0.36, 1) both;}#mpScreen[data-route="pages/index/index"] .audit-result-pass{
  border-left: 4px solid var(--mp-x161);
  background: linear-gradient(135deg, var(--mp-n100) 0%, var(--mp-n100) 100%);}#mpScreen[data-route="pages/index/index"] .audit-result-fail{
  border-left: 4px solid var(--mp-x162);
  background: linear-gradient(135deg, var(--mp-n100) 0%, var(--mp-n100) 100%);}#mpScreen[data-route="pages/index/index"] .audit-result-header{
  display: flex;
  flex-direction: row;
  align-items: center;
  margin-bottom: 10px;}#mpScreen[data-route="pages/index/index"] .audit-result-emoji{
  font-size: 16px;
  margin-right: 6px;}#mpScreen[data-route="pages/index/index"] .audit-result-badge{
  font-size: 11px;
  font-weight: 700;
  padding: 2px 9px;
  border-radius: 10px;
  border: 1px solid transparent;
  background: var(--mp-n100);
  margin-right: 6px;}#mpScreen[data-route="pages/index/index"] .audit-result-type{
  font-size: 11px;
  color: var(--mp-w42);
  background: var(--mp-n96);
  padding: 2px 9px;
  border-radius: 10px;
  margin-right: 6px;}#mpScreen[data-route="pages/index/index"] .audit-result-time{
  font-size: 11px;
  color: var(--mp-w68);
  margin-left: auto;}#mpScreen[data-route="pages/index/index"] .audit-result-content-card{
  background: var(--mp-n96);
  border: 1px solid color-mix(in srgb, var(--mp-w42), transparent 94%);
  border-radius: 12px;
  padding: 10px 12px;}#mpScreen[data-route="pages/index/index"] .audit-result-content{
  font-size: 14px;
  color: var(--mp-w20);
  line-height: 1.5;
  word-break: break-all;
  font-style: italic;}#mpScreen[data-route="pages/index/index"] .audit-result-remark{
  margin-top: 8px;
  padding: 9px 12px;
  background: var(--mp-n100);
  border-radius: 12px;
  display: flex;
  flex-direction: column;}#mpScreen[data-route="pages/index/index"] .audit-result-remark-label{
  font-size: 11px;
  color: var(--mp-x159);
  font-weight: 700;
  margin-bottom: 4px;}#mpScreen[data-route="pages/index/index"] .audit-result-remark-text{
  font-size: 13px;
  color: var(--mp-w42);
  line-height: 1.5;
  word-break: break-all;}

/* 底部导航中的消息 tab 图标红点 */#mpScreen[data-route="pages/index/index"] .nav-item-messages{
  position: relative;}#mpScreen[data-route="pages/index/index"] .nav-badge{
  position: absolute;
  top: -1px;
  right: 10px;
  background: linear-gradient(135deg, var(--mp-x163), var(--mp-x164));
  border: 1.5px solid color-mix(in srgb, var(--mp-line4), transparent 8%);
  border-radius: 10px;
  padding: 1px 5px;
  min-width: 17px;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 6px color-mix(in srgb, var(--mp-x164), transparent 65%);
  animation: navBadgePop 0.5s cubic-bezier(0.34, 1.56, 0.64, 1);}

@keyframes navBadgePop {
  0% { transform: scale(0.4); opacity: 0; }
  100% { transform: scale(1); opacity: 1; }
}#mpScreen[data-route="pages/index/index"] .nav-badge-text{
  font-size: 10px;
  color: var(--mp-inkOn);
  font-weight: 700;
  line-height: 1;}

/* ========== 疫苗日期动态UI样式 ========== */#mpScreen[data-route="pages/index/index"] .vaccine-dates-section{
  margin-top: 4px;}#mpScreen[data-route="pages/index/index"] .vaccine-count-row{
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  padding: 10px 14px;
  background: var(--mp-n100);
  border-radius: 12px;
  margin-bottom: 10px;}#mpScreen[data-route="pages/index/index"] .vaccine-count-label{
  font-size: 14px;
  color: var(--mp-ink2);
  font-weight: 500;}#mpScreen[data-route="pages/index/index"] .vaccine-count-stepper{
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 0;}#mpScreen[data-route="pages/index/index"] .vaccine-count-btn{
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--mp-x31);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;}#mpScreen[data-route="pages/index/index"] .vaccine-count-btn.disabled{
  background: var(--mp-n85);
  opacity: 0.5;}#mpScreen[data-route="pages/index/index"] .vaccine-count-btn:active{
  transform: scale(0.9);}#mpScreen[data-route="pages/index/index"] .vaccine-count-btn-text{
  font-size: 20px;
  color: var(--mp-inkOn);
  font-weight: 700;
  line-height: 1;}#mpScreen[data-route="pages/index/index"] .vaccine-count-value{
  font-size: 20px;
  color: var(--mp-ink2);
  font-weight: 700;
  min-width: 44px;
  text-align: center;
  line-height: 1;}#mpScreen[data-route="pages/index/index"] .vaccine-date-list{
  display: flex;
  flex-direction: column;
  gap: 8px;}#mpScreen[data-route="pages/index/index"] .vaccine-date-item{
  display: flex;
  flex-direction: row;
  align-items: center;
  padding: 8px 12px;
  background: var(--mp-n100);
  border-radius: 10px;
  border: 1px solid var(--mp-line2);}#mpScreen[data-route="pages/index/index"] .vaccine-date-item-label{
  font-size: 14px;
  color: var(--mp-x165);
  font-weight: 600;
  min-width: 48px;
  margin-right: 10px;}#mpScreen[data-route="pages/index/index"] .vaccine-date-picker{
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  flex: 1;
  padding: 8px 12px;
  background: var(--mp-n100);
  border: 1px solid var(--mp-line3);
  border-radius: 8px;
  min-height: 36px;
  box-sizing: border-box;}#mpScreen[data-route="pages/index/index"] .vaccine-date-picker-text{
  font-size: 14px;
  color: var(--mp-ink2);
  flex: 1;}#mpScreen[data-route="pages/index/index"] .vaccine-date-picker-placeholder{
  font-size: 13px;
  color: var(--mp-n76);
  flex: 1;}#mpScreen[data-route="pages/index/index"] .vaccine-date-picker-arrow{
  font-size: 16px;
  margin-left: 8px;
  color: var(--mp-n60);}

/* ========== 趣味化筛选下拉列表 ========== */#mpScreen[data-route="pages/index/index"] .filter-dropdown-fun{
  background: linear-gradient(160deg, var(--mp-n100) 0%, var(--mp-n100) 40%, var(--mp-w96) 100%);
  border-radius: 20px;
  border: 1px solid color-mix(in srgb, var(--mp-b2), transparent 88%);
  box-shadow: 0 8px 32px color-mix(in srgb, var(--mp-n00), transparent 92%), 0 0 0 2px color-mix(in srgb, var(--mp-bHi), transparent 95%);
  margin-bottom: 14px;
  box-sizing: border-box;
  overflow: hidden;
  position: relative;}#mpScreen[data-route="pages/index/index"] .filter-dropdown-fun-header{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 14px 16px 10px;
  background: linear-gradient(180deg, color-mix(in srgb, var(--mp-bHi), transparent 94%) 0%, transparent 100%);}#mpScreen[data-route="pages/index/index"] .filter-dropdown-fun-header-icon{
  font-size: 18px;
  line-height: 1;}#mpScreen[data-route="pages/index/index"] .filter-dropdown-fun-header-title{
  font-size: 13px;
  font-weight: 700;
  color: var(--mp-bRich);
  letter-spacing: 0.02em;}#mpScreen[data-route="pages/index/index"] .filter-dropdown-fun-item{
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 13px 16px;
  margin: 0 8px;
  border-radius: 14px;
  border-bottom: none;
  transition: all 0.2s cubic-bezier(0.25, 0.1, 0.25, 1);
  position: relative;}#mpScreen[data-route="pages/index/index"] .filter-dropdown-fun-item:active{
  background-color: color-mix(in srgb, var(--mp-b2), transparent 94%);
  transform: scale(0.97);}#mpScreen[data-route="pages/index/index"] .filter-dropdown-fun-item.active{
  background: linear-gradient(135deg, var(--mp-w92), var(--mp-w92));
  border: 1px solid color-mix(in srgb, var(--mp-b2), transparent 75%);}#mpScreen[data-route="pages/index/index"] .filter-fun-item-left{
  display: flex;
  align-items: center;
  gap: 12px;
  flex: 1;
  min-width: 0;}#mpScreen[data-route="pages/index/index"] .filter-fun-emoji-ring{
  width: 38px;
  height: 38px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  box-shadow: 0 2px 8px color-mix(in srgb, var(--mp-n00), transparent 94%);}#mpScreen[data-route="pages/index/index"] .cat-ring{
  background: linear-gradient(135deg, var(--mp-x53), var(--mp-x58));
  border: 1.5px solid color-mix(in srgb, var(--mp-x16), transparent 82%);}#mpScreen[data-route="pages/index/index"] .dog-ring{
  background: linear-gradient(135deg, var(--mp-w96), var(--mp-w92));
  border: 1.5px solid color-mix(in srgb, var(--mp-b2), transparent 80%);}#mpScreen[data-route="pages/index/index"] .other-ring{
  background: linear-gradient(135deg, var(--mp-x61), var(--mp-x166));
  border: 1.5px solid color-mix(in srgb, var(--mp-x57), transparent 82%);}#mpScreen[data-route="pages/index/index"] .all-ring{
  background: linear-gradient(135deg, var(--mp-x167), var(--mp-x168));
  border: 1.5px solid color-mix(in srgb, var(--mp-x08), transparent 85%);}#mpScreen[data-route="pages/index/index"] .breed-ring{
  background: linear-gradient(135deg, var(--mp-w96), var(--mp-w92));
  border: 1.5px solid color-mix(in srgb, var(--mp-b2), transparent 85%);}#mpScreen[data-route="pages/index/index"] .sterilized-yes-ring{
  background: linear-gradient(135deg, var(--mp-x55), var(--mp-x169));
  border: 1.5px solid color-mix(in srgb, var(--mp-x57), transparent 78%);}#mpScreen[data-route="pages/index/index"] .sterilized-no-ring{
  background: linear-gradient(135deg, var(--mp-w96), var(--mp-w92));
  border: 1.5px solid color-mix(in srgb, var(--mp-b1), transparent 78%);}#mpScreen[data-route="pages/index/index"] .filter-fun-emoji{
  font-size: 18px;
  line-height: 1;}#mpScreen[data-route="pages/index/index"] .filter-fun-item-text{
  font-size: 14px;
  font-weight: 500;
  color: var(--mp-ink2);
  letter-spacing: -0.01em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;}#mpScreen[data-route="pages/index/index"] .filter-dropdown-fun-item.active .filter-fun-item-text{
  font-weight: 700;
  color: var(--mp-bRich);}#mpScreen[data-route="pages/index/index"] .filter-dropdown-fun-footer{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 10px 0 14px;}#mpScreen[data-route="pages/index/index"] .filter-fun-footer-paw{
  font-size: 14px;
  line-height: 1;
  opacity: 0.5;}

/* ========== 品种分组 / 品种具体 / 绝育弹窗 - 底部面板样式（与更多筛选一致） ========== */#mpScreen[data-route="pages/index/index"] .breed-group-panel{
  position: relative;
  background: linear-gradient(180deg, var(--mp-n100) 0%, var(--mp-n100) 100%);
  border-radius: 32px 32px 0 0;
  width: 100%;
  max-width: calc(100 * var(--mpvw));
  max-height: calc(80 * var(--mpvh));
  display: flex;
  flex-direction: column;
  box-shadow: 0 -8px 32px color-mix(in srgb, var(--mp-n00), transparent 90%), 0 -1px 3px color-mix(in srgb, var(--mp-n00), transparent 96%), 0 -3px 0 0 var(--mp-w92);
  box-sizing: border-box;
  overflow-x: hidden;}

/* 品种分组/绝育弹窗真机固定高度方案：flex列布局，scroll-view自适应剩余高度 */
/* 矮弹窗：适用于选项较少（≤3项）的场景，如品种分组、绝育筛选 */#mpScreen[data-route="pages/index/index"] .breed-group-panel-short{
  max-height: calc(50 * var(--mpvh));
  overflow-y: hidden;}

/* 中弹窗：适用于六项左右的一屏选项（排序方式等），不出现内部滚动 */#mpScreen[data-route="pages/index/index"] .breed-group-panel-mid{
  max-height: calc(80 * var(--mpvh));
  overflow-y: hidden;}

/* 高弹窗：适用于选项较多（品种具体列表等），固定80vh */#mpScreen[data-route="pages/index/index"] .breed-group-panel-fixed{
  height: calc(80 * var(--mpvh));
  max-height: calc(80 * var(--mpvh));}

/* 品种弹窗顶部装饰 */#mpScreen[data-route="pages/index/index"] .breed-panel-top-deco{
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 12px;
  padding: 14px 0 0;
  overflow: hidden;}#mpScreen[data-route="pages/index/index"] .breed-panel-deco-emoji{
  font-size: 20px;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  animation: breedDecoFloat 2.5s ease-in-out infinite;}#mpScreen[data-route="pages/index/index"] .breed-deco-1{ animation-delay: 0s;}#mpScreen[data-route="pages/index/index"] .breed-deco-2{ animation-delay: 0.3s;}#mpScreen[data-route="pages/index/index"] .breed-deco-3{ animation-delay: 0.6s;}#mpScreen[data-route="pages/index/index"] .breed-deco-4{ animation-delay: 0.9s;}#mpScreen[data-route="pages/index/index"] .breed-deco-5{ animation-delay: 1.2s;}

@keyframes breedDecoFloat {
  0%, 100% { transform: translateY(0) scale(1); }
  50% { transform: translateY(-6px) scale(1.15); }
}

/* 品种弹窗标题图标 */#mpScreen[data-route="pages/index/index"] .breed-panel-title-icon{
  font-size: 20px;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 6px;
  animation: breedTitleBounce 2s ease-in-out infinite;}#mpScreen[data-route="pages/index/index"] .breed-panel-title-icon:nth-child(3){
  animation-delay: 0.5s;}

@keyframes breedTitleBounce {
  0%, 100% { transform: translateY(0) scale(1); }
  30% { transform: translateY(-4px) scale(1.2); }
  60% { transform: translateY(0) scale(1); }
}

/* 品种弹窗底部装饰 */#mpScreen[data-route="pages/index/index"] .breed-panel-bottom-deco{
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  padding: 8px 0 12px;
  opacity: 0.5;}#mpScreen[data-route="pages/index/index"] .breed-panel-deco-paw{
  font-size: 16px;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;}

/* 品种列表容器（放在scroll-view内，不需要自身flex） */#mpScreen[data-route="pages/index/index"] .breed-group-list{
  padding: 8px 0 4px;}

/* 品种分组/绝育弹窗 scroll-view - 占满剩余高度 */#mpScreen[data-route="pages/index/index"] .breed-group-scroll{
  flex: 1;
  min-height: 0;
  width: 100%;
  box-sizing: border-box;}

/* 品种列表项 */#mpScreen[data-route="pages/index/index"] .breed-group-item{
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 24px;
  margin: 0 16px 4px;
  border-radius: 16px;
  transition: all 0.2s cubic-bezier(0.25, 0.1, 0.25, 1);
  border: 1.5px solid transparent;
  box-sizing: border-box;}#mpScreen[data-route="pages/index/index"] .breed-group-item:active{
  background-color: color-mix(in srgb, var(--mp-b2), transparent 94%);
  transform: scale(0.97);}#mpScreen[data-route="pages/index/index"] .breed-group-item.active{
  background: linear-gradient(135deg, var(--mp-w92), var(--mp-w92));
  border-color: color-mix(in srgb, var(--mp-b2), transparent 70%);}#mpScreen[data-route="pages/index/index"] .breed-group-item-left{
  display: flex;
  align-items: center;
  gap: 14px;
  flex: 1;
  min-width: 0;}#mpScreen[data-route="pages/index/index"] .breed-group-item-text{
  font-size: 15px;
  font-weight: 500;
  color: var(--mp-ink2);
  letter-spacing: -0.01em;}#mpScreen[data-route="pages/index/index"] .breed-group-item.active .breed-group-item-text{
  font-weight: 700;
  color: var(--mp-bRich);}

/* 品种滚动列表区域 */#mpScreen[data-route="pages/index/index"] .breed-scroll-body{
  flex: 1;
  overflow-y: auto;
  max-height: 400px;
  padding: 8px 0 4px;}

/* ========== 更多筛选弹窗趣味化 ========== */#mpScreen[data-route="pages/index/index"] .more-filter-panel{
  position: relative;
  background: linear-gradient(180deg, var(--mp-n100) 0%, var(--mp-n100) 100%);
  border-radius: 32px 32px 0 0;
  width: 100%;
  max-width: calc(100 * var(--mpvw));
  max-height: calc(85 * var(--mpvh));
  display: flex;
  flex-direction: column;
  box-shadow: 0 -8px 32px color-mix(in srgb, var(--mp-n00), transparent 90%), 0 -1px 3px color-mix(in srgb, var(--mp-n00), transparent 96%), 0 -3px 0 0 var(--mp-w92);
  box-sizing: border-box;
  overflow-x: hidden;}#mpScreen[data-route="pages/index/index"] .more-filter-label{
  font-size: 14px;
  font-weight: 700;
  color: var(--mp-ink1);
  margin-bottom: 10px;
  display: flex;
  align-items: center;
  gap: 6px;
  letter-spacing: -0.015em;
  line-height: 1.3;}#mpScreen[data-route="pages/index/index"] .more-filter-footer{
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 24px;
  padding-bottom: calc(14px + env(safe-area-inset-bottom));
  border-top: 1px solid var(--mp-line1);
  background-color: var(--mp-n100);
  flex-shrink: 0;}#mpScreen[data-route="pages/index/index"] .more-filter-reset{
  flex: 1;
  height: 44px;
  border-radius: 22px;
  background-color: var(--mp-n96);
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid color-mix(in srgb, var(--mp-n00), transparent 96%);
  box-sizing: border-box;
  transition: all 0.2s ease;}#mpScreen[data-route="pages/index/index"] .more-filter-reset:active{
  background-color: var(--mp-n91);
  transform: scale(0.96);}#mpScreen[data-route="pages/index/index"] .more-filter-reset-text{
  font-size: 15px;
  font-weight: 600;
  color: var(--mp-n60);}#mpScreen[data-route="pages/index/index"] .more-filter-confirm{
  flex: 2;
  height: 44px;
  border-radius: 22px;
  background: linear-gradient(135deg, var(--mp-b2), var(--mp-bHi));
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 16px color-mix(in srgb, var(--mp-b2), transparent 70%);
  transition: all 0.2s cubic-bezier(0.25, 0.1, 0.25, 1);}#mpScreen[data-route="pages/index/index"] .more-filter-confirm:active{
  transform: scale(0.96);
  box-shadow: 0 2px 8px color-mix(in srgb, var(--mp-b2), transparent 80%);
  background: linear-gradient(135deg, var(--mp-b1), var(--mp-b2));}#mpScreen[data-route="pages/index/index"] .more-filter-confirm-text{
  font-size: 15px;
  font-weight: 700;
  color: var(--mp-inkOn);
  text-shadow: 0 1px 2px color-mix(in srgb, var(--mp-n00), transparent 90%);}

/* ========== 帖子统计标签（浏览/关注） ========== */#mpScreen[data-route="pages/index/index"] .post-stats-row{
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  margin-top: 6px;}#mpScreen[data-route="pages/index/index"] .post-stats-badge{
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 4px;
  padding: 3px 10px;
  border-radius: 12px;
  background: var(--mp-n100);
  border: 1px solid var(--mp-line2);}#mpScreen[data-route="pages/index/index"] .view-badge{
  background: linear-gradient(135deg, var(--mp-x37), var(--mp-x38));
  border-color: var(--mp-x170);}#mpScreen[data-route="pages/index/index"] .follow-badge{
  background: linear-gradient(135deg, var(--mp-x14), var(--mp-x15));
  border-color: var(--mp-x171);}#mpScreen[data-route="pages/index/index"] .post-stats-badge-icon{
  font-size: 12px;
  line-height: 1;}#mpScreen[data-route="pages/index/index"] .post-stats-badge-num{
  font-size: 13px;
  font-weight: 700;
  color: var(--mp-ink2);
  line-height: 1;}

/* =================================================================== */
/* 📱 手机号验证码登录弹窗                                              */
/* =================================================================== */#mpScreen[data-route="pages/index/index"] .login-main{
  width: calc(86 * var(--mpvw));
  max-width: calc(640 * var(--mprpx));
  max-height: calc(90 * var(--mpvh));
  background: var(--mp-n100);
  border-radius: 28px;
  position: relative;
  overflow: hidden;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  box-shadow: 0 20px 70px color-mix(in srgb, var(--mp-n00), transparent 78%), 0 4px 16px color-mix(in srgb, var(--mp-n00), transparent 90%);
  animation: loginPop 0.42s cubic-bezier(0.34, 1.56, 0.64, 1) both;}

@keyframes loginPop {
  0% { opacity: 0; transform: translateY(28px) scale(0.9); }
  100% { opacity: 1; transform: translateY(0) scale(1); }
}#mpScreen[data-route="pages/index/index"] .login-hero{
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 30px 24px 22px;
  background: linear-gradient(160deg, var(--mp-w92) 0%, var(--mp-w92) 45%, var(--mp-n100) 100%);
  overflow: hidden;}#mpScreen[data-route="pages/index/index"] .login-paw{
  position: absolute;
  font-size: 20px;
  opacity: 0.24;
  line-height: 1;
  animation: loginPawFloat 3.6s ease-in-out infinite;}#mpScreen[data-route="pages/index/index"] .login-paw-1{ top: 16px; left: 26px;}#mpScreen[data-route="pages/index/index"] .login-paw-2{ top: 22px; right: 30px; animation-delay: 0.9s;}#mpScreen[data-route="pages/index/index"] .login-paw-3{ bottom: 18px; left: 40px; animation-delay: 1.8s;}#mpScreen[data-route="pages/index/index"] .login-paw-4{ bottom: 14px; right: 44px; animation-delay: 2.6s;}

@keyframes loginPawFloat {
  0%, 100% { transform: translateY(0) rotate(-8deg); }
  50% { transform: translateY(-6px) rotate(8deg); }
}#mpScreen[data-route="pages/index/index"] .login-hero-emoji{
  font-size: 30px;
  line-height: 1;
  animation: loginHeroBounce 2.2s ease-in-out infinite;}

@keyframes loginHeroBounce {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-5px); }
}#mpScreen[data-route="pages/index/index"] .login-hero-title{
  margin: 8px 0 6px;
  font-size: 30px;
  font-weight: 800;
  color: var(--mp-ink1);
  letter-spacing: -0.03em;
  line-height: 1.15;}#mpScreen[data-route="pages/index/index"] .login-hero-sub{
  font-size: 12px;
  color: var(--mp-cDeep);
  font-weight: 600;
  letter-spacing: 0.01em;}#mpScreen[data-route="pages/index/index"] .login-body{
  padding: 20px 24px 22px;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;}#mpScreen[data-route="pages/index/index"] .login-field{
  display: flex;
  align-items: center;
  gap: 8px;
  background: linear-gradient(135deg, var(--mp-n100), var(--mp-w92));
  border: 1.5px solid color-mix(in srgb, var(--mp-b2), transparent 72%);
  border-radius: 16px;
  padding: clamp(9px, calc(1.6 * var(--mpvh)), 12px) 14px;
  box-sizing: border-box;
  box-shadow: inset 0 1px 2px color-mix(in srgb, var(--mp-b2), transparent 94%);}#mpScreen[data-route="pages/index/index"] .login-field-emoji{
  font-size: 17px;
  line-height: 1;
  flex-shrink: 0;}#mpScreen[data-route="pages/index/index"] .login-field-label{
  font-size: 13px;
  font-weight: 700;
  color: var(--mp-cDeep);
  flex-shrink: 0;
  letter-spacing: 0.02em;}#mpScreen[data-route="pages/index/index"] .login-input{
  flex: 1;
  min-width: 0;
  font-size: 16px;
  font-weight: 700;
  color: var(--mp-ink1);
  letter-spacing: 0.06em;
  background: transparent;
  border: none;
  outline: none;
  padding: 0;
  text-align: right;}#mpScreen[data-route="pages/index/index"] .login-input-code{
  letter-spacing: 0.28em;
  font-size: 18px;}#mpScreen[data-route="pages/index/index"] .login-input-ph{
  color: var(--mp-w68);
  font-weight: 500;
  font-size: 13px;
  letter-spacing: 0;}#mpScreen[data-route="pages/index/index"] .login-btn{
  margin-top: clamp(8px, calc(1.5 * var(--mpvh)), 18px);
  height: clamp(42px, calc(6.6 * var(--mpvh)), 48px);
  border-radius: 24px;
  background: linear-gradient(135deg, var(--mp-b2), var(--mp-b1));
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 6px 18px color-mix(in srgb, var(--mp-b1), transparent 64%);
  transition: transform 0.18s cubic-bezier(0.25, 0.1, 0.25, 1), box-shadow 0.18s ease, opacity 0.18s ease;}#mpScreen[data-route="pages/index/index"] .login-btn:active{
  transform: scale(0.96);
  box-shadow: 0 3px 10px color-mix(in srgb, var(--mp-b1), transparent 72%);}#mpScreen[data-route="pages/index/index"] .login-btn-disabled{
  background: linear-gradient(135deg, var(--mp-n91), var(--mp-n85));
  box-shadow: none;
  opacity: 0.85;}#mpScreen[data-route="pages/index/index"] .login-btn-loading{
  opacity: 0.7;}#mpScreen[data-route="pages/index/index"] .login-btn-text{
  font-size: 15px;
  font-weight: 700;
  color: var(--mp-inkOn);
  letter-spacing: 0.02em;}#mpScreen[data-route="pages/index/index"] .login-btn-disabled .login-btn-text{
  color: var(--mp-w68);}

/* 登录页这一格并排放两个入口：验证码是主，密码先用「手机号」那格的奶油底 */#mpScreen[data-route="pages/index/index"] .login-mode-row{
  display: flex;
  align-items: stretch;
  gap: 8px;}

/* 并排时各自那段上间距去掉，整张卡片的高度和原来单条按钮时一样 */#mpScreen[data-route="pages/index/index"] .login-mode-row .login-btn{
  flex: 1;
  min-width: 0;
  margin-top: 0;
  height: clamp(40px, calc(6.2 * var(--mpvh)), 46px);}#mpScreen[data-route="pages/index/index"] .login-mode-row .login-btn-text{
  font-size: clamp(11.5px, calc(3.3 * var(--mpvw)), 13.5px);
  white-space: nowrap;}

/* 次要那条只借上面输入框已有的两层底色和同一条描边，不再开一套颜色 */#mpScreen[data-route="pages/index/index"] .login-btn-ghost{
  background: linear-gradient(135deg, var(--mp-n100), var(--mp-w92));
  border: 1.5px solid color-mix(in srgb, var(--mp-b2), transparent 72%);
  box-shadow: inset 0 1px 2px color-mix(in srgb, var(--mp-b2), transparent 94%);}#mpScreen[data-route="pages/index/index"] .login-btn-ghost .login-btn-text{
  color: var(--mp-cDeep);}

/* 手机号还没填满 11 位时两条一起灰下去，和原来那条按钮同一个表现 */#mpScreen[data-route="pages/index/index"] .login-btn-disabled.login-btn-ghost .login-btn-text{
  color: var(--mp-w68);}#mpScreen[data-route="pages/index/index"] .login-demo-tip{
  margin-top: clamp(6px, calc(1.2 * var(--mpvh)), 14px);
  display: flex;
  align-items: flex-start;
  gap: 6px;
  background: var(--mp-n100);
  border: 1px dashed color-mix(in srgb, var(--mp-x08), transparent 64%);
  border-radius: 14px;
  padding: clamp(7px, calc(1.4 * var(--mpvh)), 10px) 12px;}#mpScreen[data-route="pages/index/index"] .login-demo-tip-icon{
  font-size: 13px;
  line-height: 1.5;
  flex-shrink: 0;}#mpScreen[data-route="pages/index/index"] .login-demo-tip-text{
  font-size: 11.5px;
  color: var(--mp-x172);
  line-height: 1.55;}#mpScreen[data-route="pages/index/index"] .login-sent-row{
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: clamp(6px, calc(1.1 * var(--mpvh)), 12px);}#mpScreen[data-route="pages/index/index"] .login-sent-emoji{
  font-size: 15px;
  line-height: 1;}#mpScreen[data-route="pages/index/index"] .login-sent-text{
  flex: 1;
  min-width: 0;
  font-size: 12.5px;
  color: var(--mp-n38);
  font-weight: 600;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;}#mpScreen[data-route="pages/index/index"] .login-sent-change{
  font-size: 12px;
  font-weight: 700;
  color: var(--mp-b1);
  padding: 3px 10px;
  border-radius: 10px;
  background: var(--mp-w92);
  flex-shrink: 0;}#mpScreen[data-route="pages/index/index"] .login-resend-row{
  margin-top: clamp(6px, calc(1.1 * var(--mpvh)), 12px);
  display: flex;
  justify-content: center;}#mpScreen[data-route="pages/index/index"] .login-resend-text{
  font-size: 12px;
  color: var(--mp-n68);
  font-weight: 500;}#mpScreen[data-route="pages/index/index"] .login-resend-link{
  font-size: 12.5px;
  color: var(--mp-b1);
  font-weight: 700;}#mpScreen[data-route="pages/index/index"] .login-error-row{
  margin-top: 12px;
  background: var(--mp-x88);
  border: 1px solid color-mix(in srgb, var(--mp-x05), transparent 76%);
  border-radius: 12px;
  padding: 9px 12px;
  display: flex;
  justify-content: center;}#mpScreen[data-route="pages/index/index"] .login-error-text{
  font-size: 12px;
  color: var(--mp-x05);
  font-weight: 600;
  line-height: 1.45;
  text-align: center;}#mpScreen[data-route="pages/index/index"] .login-privacy-row{
  margin-top: clamp(8px, calc(1.5 * var(--mpvh)), 16px);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 4px;}#mpScreen[data-route="pages/index/index"] .login-privacy-checkbox{
  width: 16px;
  height: 16px;
  border-radius: 5px;
  border: 1.5px solid var(--mp-w68);
  background: var(--mp-n100);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin-right: 2px;
  transition: all 0.2s ease;}#mpScreen[data-route="pages/index/index"] .login-privacy-checkbox.checked{
  background: linear-gradient(135deg, var(--mp-b2), var(--mp-b1));
  border-color: var(--mp-b1);}#mpScreen[data-route="pages/index/index"] .login-privacy-checkmark{
  font-size: 10px;
  color: var(--mp-inkOn);
  font-weight: 800;
  line-height: 1;}#mpScreen[data-route="pages/index/index"] .login-privacy-text{
  font-size: 11.5px;
  color: var(--mp-n60);}#mpScreen[data-route="pages/index/index"] .login-privacy-link{
  font-size: 11.5px;
  color: var(--mp-b1);
  font-weight: 600;}

/* 🐾 游客模式入口：不用登录，直接进去浏览卡片 */#mpScreen[data-route="pages/index/index"] .login-guest-entry{
  margin-top: clamp(6px, calc(1.4 * var(--mpvh)), 16px);
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: clamp(8px, calc(1.7 * var(--mpvh)), 12px) 14px;
  border-radius: 18px;
  background: linear-gradient(135deg, color-mix(in srgb, var(--mp-n100), transparent 4%), color-mix(in srgb, var(--mp-x173), transparent 4%));
  border: 1.5px dashed color-mix(in srgb, var(--mp-b2), transparent 66%);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  box-shadow: 0 4px 14px color-mix(in srgb, var(--mp-cDeep), transparent 92%);
  transition: transform 0.18s cubic-bezier(0.25, 0.1, 0.25, 1), box-shadow 0.18s ease;}#mpScreen[data-route="pages/index/index"] .login-guest-entry:active{
  transform: scale(0.97);
  box-shadow: 0 2px 8px color-mix(in srgb, var(--mp-cDeep), transparent 88%);}#mpScreen[data-route="pages/index/index"] .login-guest-entry-shine{
  position: absolute;
  top: -60%;
  left: -40%;
  width: 40%;
  height: 220%;
  background: linear-gradient(100deg, transparent 0%, color-mix(in srgb, var(--mp-n100), transparent 40%) 50%, transparent 100%);
  transform: rotate(18deg);
  animation: guestEntryShine 3.8s ease-in-out infinite;
  pointer-events: none;}

@keyframes guestEntryShine {
  0% { left: -40%; }
  55%, 100% { left: 130%; }
}#mpScreen[data-route="pages/index/index"] .login-guest-entry-emoji{
  font-size: 22px;
  line-height: 1;
  flex-shrink: 0;
  animation: loginHeroBounce 2.6s ease-in-out infinite;}#mpScreen[data-route="pages/index/index"] .login-guest-entry-col{
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 3px;}#mpScreen[data-route="pages/index/index"] .login-guest-entry-title{
  font-size: 14px;
  font-weight: 800;
  color: var(--mp-cDeep);
  letter-spacing: -0.01em;
  line-height: 1.25;}#mpScreen[data-route="pages/index/index"] .login-guest-entry-desc{
  font-size: 11px;
  color: var(--mp-w68);
  line-height: 1.35;}#mpScreen[data-route="pages/index/index"] .login-guest-entry-arrow{
  font-size: 20px;
  color: var(--mp-b2);
  font-weight: 700;
  line-height: 1;
  flex-shrink: 0;}#mpScreen[data-route="pages/index/index"] .login-fun-deco{
  margin-top: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;}#mpScreen[data-route="pages/index/index"] .login-fun-emoji{
  font-size: 15px;
  line-height: 1;
  opacity: 0.75;}#mpScreen[data-route="pages/index/index"] .login-fun-heart{
  font-size: 12px;
  animation: heartBeat 1.4s ease-in-out infinite;}

/* =================================================================== */
/* 🆔 昵称位即个人ID（点名字复制）+ 🎨 emoji 头像选择面板                */
/* =================================================================== */#mpScreen[data-route="pages/index/index"] .user-name-row{
  display: flex;
  align-items: center;
  gap: 6px;
  max-width: 100%;
  transition: opacity 0.18s ease;}#mpScreen[data-route="pages/index/index"] .user-name-row:active{
  opacity: 0.55;}#mpScreen[data-route="pages/index/index"] .user-name-copy{
  font-size: 12px;
  line-height: 1;
  opacity: 0.6;
  flex-shrink: 0;}#mpScreen[data-route="pages/index/index"] .user-id-hint{
  font-size: 10px;
  color: var(--mp-w68);
  line-height: 1.5;
  margin-top: 1px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;}

/* 名片上的密码气泡：颜色和上面那条月度名额小签同一套，夜里跟着它一起变 */#mpScreen[data-route="pages/index/index"] .user-pw-bubble{
  position: relative;
  align-self: flex-start;
  display: flex;
  flex-direction: column;
  gap: 3px;
  margin-top: 10px;
  max-width: 100%;
  padding: 5px 11px 6px;
  box-sizing: border-box;
  border-radius: 14px;
  background: linear-gradient(135deg, var(--mp-x174), var(--mp-x175));
  border: 1.5px solid var(--mp-x176);
  box-shadow: 0 4px 12px color-mix(in srgb, var(--mp-b1), transparent 84%);
  animation: pwBubbleBreath 2.6s ease-in-out infinite;}

/* 尾巴压在气泡上沿，指向名片里的名字 */#mpScreen[data-route="pages/index/index"] .user-pw-bubble::after{
  content: '';
  position: absolute;
  left: 16px;
  top: -6px;
  width: 9px;
  height: 9px;
  background: var(--mp-x174);
  border-left: 1.5px solid var(--mp-x176);
  border-top: 1.5px solid var(--mp-x176);
  transform: rotate(45deg);}#mpScreen[data-route="pages/index/index"] .user-pw-bubble-in{
  display: flex;
  align-items: center;
  gap: 5px;}#mpScreen[data-route="pages/index/index"] .user-pw-bubble-text{
  font-size: 11.5px;
  font-weight: 700;
  line-height: 1.5;
  color: var(--mp-x177);
  white-space: nowrap;}

/* 问号这枚只管展开那句话，不算「点开面板」 */#mpScreen[data-route="pages/index/index"] .user-pw-bubble-q{
  display: flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: var(--mp-n100);
  border: 1px solid var(--mp-x176);
  flex-shrink: 0;}#mpScreen[data-route="pages/index/index"] .user-pw-bubble-q-icon{
  font-size: 10px;
  line-height: 1;}#mpScreen[data-route="pages/index/index"] .user-pw-bubble-tip{
  font-size: 10.5px;
  line-height: 1.5;
  color: var(--mp-x177);}

/* 设过密码之后收成人畜无害的一条，呼吸也停 */#mpScreen[data-route="pages/index/index"] .user-pw-bubble-on{
  animation: none;
  background: var(--mp-n100);
  border-color: color-mix(in srgb, var(--mp-w68), transparent 70%);
  box-shadow: none;}#mpScreen[data-route="pages/index/index"] .user-pw-bubble-on::after{
  background: var(--mp-n100);
  border-color: color-mix(in srgb, var(--mp-w68), transparent 70%);}#mpScreen[data-route="pages/index/index"] .user-pw-bubble-on .user-pw-bubble-text{
  font-weight: 600;
  color: var(--mp-w68);}

@keyframes pwBubbleBreath {
  0% { transform: translateY(0); }
  50% { transform: translateY(-2px); }
  100% { transform: translateY(0); }
}#mpScreen[data-route="pages/index/index"] .avatar-picker-mask{
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 2100;
  background-color: color-mix(in srgb, var(--mp-w20), transparent 50%);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  display: flex;
  justify-content: center;
  align-items: flex-end;
  animation: avatarMaskIn 0.2s ease;}

@keyframes avatarMaskIn {
  0% { opacity: 0; }
  100% { opacity: 1; }
}#mpScreen[data-route="pages/index/index"] .avatar-picker-panel{
  width: 100%;
  max-width: 460px;
  max-height: calc(78 * var(--mpvh));
  box-sizing: border-box;
  padding: 16px 14px 14px;
  border-radius: 28px 28px 0 0;
  background: linear-gradient(180deg, var(--mp-w96) 0%, var(--mp-n100) 38%, var(--mp-n100) 100%);
  box-shadow: 0 -14px 40px color-mix(in srgb, var(--mp-n00), transparent 82%), 0 0 0 3px color-mix(in srgb, var(--mp-b2), transparent 82%);
  display: flex;
  flex-direction: column;
  animation: avatarPanelIn 0.34s cubic-bezier(0.22, 1.12, 0.36, 1);}

@keyframes avatarPanelIn {
  0% { transform: translateY(102%); }
  100% { transform: translateY(0); }
}#mpScreen[data-route="pages/index/index"] .avatar-picker-header{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  padding: 0 4px 10px;}#mpScreen[data-route="pages/index/index"] .avatar-picker-title-col{
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;}#mpScreen[data-route="pages/index/index"] .avatar-picker-title{
  font-size: 17px;
  font-weight: 700;
  color: var(--mp-ink1);
  line-height: 1.3;}#mpScreen[data-route="pages/index/index"] .avatar-picker-sub{
  font-size: 11px;
  color: var(--mp-w68);
  line-height: 1.4;}#mpScreen[data-route="pages/index/index"] .avatar-picker-close{
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background-color: color-mix(in srgb, var(--mp-n00), transparent 95%);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: transform 0.18s ease, background-color 0.18s ease;}#mpScreen[data-route="pages/index/index"] .avatar-picker-close:active{
  transform: scale(0.88);
  background-color: color-mix(in srgb, var(--mp-n00), transparent 90%);}#mpScreen[data-route="pages/index/index"] .avatar-picker-close-icon{
  font-size: 13px;
  color: var(--mp-w42);
  line-height: 1;}#mpScreen[data-route="pages/index/index"] .avatar-picker-scroll{
  flex: 1;
  min-height: 0;
  max-height: calc(50 * var(--mpvh));}#mpScreen[data-route="pages/index/index"] .avatar-picker-group{
  margin-bottom: 12px;}#mpScreen[data-route="pages/index/index"] .avatar-picker-group-label{
  display: block;
  font-size: 12px;
  font-weight: 700;
  color: var(--mp-w42);
  margin: 0 2px 7px;
  letter-spacing: 0.02em;}#mpScreen[data-route="pages/index/index"] .avatar-picker-grid{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;}#mpScreen[data-route="pages/index/index"] .avatar-picker-cell{
  width: 46px;
  height: 46px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.2s cubic-bezier(0.34, 1.56, 0.64, 1);}#mpScreen[data-route="pages/index/index"] .avatar-picker-cell:active{
  transform: scale(0.86);}#mpScreen[data-route="pages/index/index"] .avatar-picker-cell.is-current .avatar-picker-dot{
  border: 2px solid var(--mp-b2);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--mp-b2), transparent 82%), 0 3px 10px color-mix(in srgb, var(--mp-b2), transparent 76%);}#mpScreen[data-route="pages/index/index"] .avatar-picker-dot{
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: 1px solid color-mix(in srgb, var(--mp-n00), transparent 94%);
  box-shadow: 0 2px 6px color-mix(in srgb, var(--mp-n00), transparent 93%);
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;}#mpScreen[data-route="pages/index/index"] .avatar-picker-emoji{
  font-size: 22px;
  line-height: 1;}#mpScreen[data-route="pages/index/index"] .avatar-picker-footer{
  display: flex;
  align-items: center;
  justify-content: center;
  /* 三个按钮（换回默认 / 换季 / 换昼夜）在手机宽度下会挤，宁可换行也不缩字号 */
  flex-wrap: wrap;
  gap: 8px 10px;
  padding: 10px 0 calc(10px + env(safe-area-inset-bottom));
  border-top: 0.5px solid color-mix(in srgb, var(--mp-n00), transparent 94%);}#mpScreen[data-route="pages/index/index"] .avatar-picker-reset{
  padding: 7px 18px;
  border-radius: 20px;
  background: linear-gradient(135deg, var(--mp-w92), var(--mp-w84));
  transition: transform 0.18s ease;}#mpScreen[data-route="pages/index/index"] .avatar-picker-reset:active{
  transform: scale(0.93);}#mpScreen[data-route="pages/index/index"] .avatar-picker-reset-text{
  font-size: 12px;
  font-weight: 600;
  color: var(--mp-bRich);
  line-height: 1.4;}

/* 🎨 季节色系试看：点一次换一套，紫色是这套项目里「内测/实验」的既有语义色，不随季节折走 */#mpScreen[data-route="pages/index/index"] .avatar-picker-theme{
  min-width: 116px;
  padding: 7px 14px;
  border-radius: 20px;
  background: color-mix(in srgb, var(--mp-x20), transparent 91%);
  border: 1px solid color-mix(in srgb, var(--mp-x19), transparent 72%);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.18s cubic-bezier(0.34, 1.5, 0.64, 1), background 0.18s ease;}#mpScreen[data-route="pages/index/index"] .avatar-picker-theme:active{
  transform: scale(0.93);
  background: color-mix(in srgb, var(--mp-x20), transparent 82%);}#mpScreen[data-route="pages/index/index"] .avatar-picker-theme-text{
  font-size: 12px;
  font-weight: 600;
  color: var(--mp-x178);
  line-height: 1.4;
  white-space: nowrap;}

/* 🌗 白天 / 夜间呈现：跟季节按钮同一族紫色（内测/实验语义色），只是更瘦一档，
   两个并排读起来是一对「换季 / 换昼夜」的试看开关 */#mpScreen[data-route="pages/index/index"] .avatar-picker-daypart{
  min-width: 84px;
  padding: 7px 12px;
  border-radius: 20px;
  background: color-mix(in srgb, var(--mp-x20), transparent 84%);
  border: 1px solid color-mix(in srgb, var(--mp-x19), transparent 66%);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.18s cubic-bezier(0.34, 1.5, 0.64, 1), background 0.18s ease;}#mpScreen[data-route="pages/index/index"] .avatar-picker-daypart:active{
  transform: scale(0.93);
  background: color-mix(in srgb, var(--mp-x20), transparent 74%);}#mpScreen[data-route="pages/index/index"] .avatar-picker-daypart-text{
  font-size: 12px;
  font-weight: 700;
  color: var(--mp-x179);
  line-height: 1.4;
  white-space: nowrap;}

/* 🚪 退出当前账号：与注销按钮上下竖排，避免横向挤占身份标签空间 */#mpScreen[data-route="pages/index/index"] .header-account-col{
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 5px;
  flex-shrink: 0;}

/* 🚪 退出登录按钮：暖橙玻璃圆底，与下方红色注销按钮同一套「底色+描边」语言 */#mpScreen[data-route="pages/index/index"] .logout-account-btn{
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--mp-w92), var(--mp-w84));
  border: 1px solid color-mix(in srgb, var(--mp-b2), transparent 70%);
  box-shadow: 0 2px 6px color-mix(in srgb, var(--mp-b2), transparent 80%), inset 0 1px 0 color-mix(in srgb, var(--mp-n100), transparent 25%);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: transform 0.18s ease, box-shadow 0.18s ease;
  box-sizing: border-box;}#mpScreen[data-route="pages/index/index"] .logout-account-btn:active{
  transform: scale(0.9);
  box-shadow: 0 1px 3px color-mix(in srgb, var(--mp-b2), transparent 78%), inset 0 1px 0 color-mix(in srgb, var(--mp-n100), transparent 25%);}#mpScreen[data-route="pages/index/index"] .logout-account-icon{
  font-size: 12px;
  line-height: 1;}

/* 🗑️ 注销账号按钮：竖排在退出登录下方，红色调区分危险操作 */#mpScreen[data-route="pages/index/index"] .cancel-account-btn{
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background-color: var(--mp-x180);
  border: 1px solid color-mix(in srgb, var(--mp-x05), transparent 82%);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: transform 0.18s ease;
  box-sizing: border-box;}#mpScreen[data-route="pages/index/index"] .cancel-account-btn:active{
  transform: scale(0.9);}#mpScreen[data-route="pages/index/index"] .cancel-account-icon{
  font-size: 11px;
  line-height: 1;}

/* =================================================================== */
/* 🛡️ 后端管理后台入口（仅管理员可见）                                  */
/* =================================================================== */#mpScreen[data-route="pages/index/index"] .admin-entry-banner{
  position: relative;
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  box-sizing: border-box;
  margin-bottom: 16px;
  padding: 14px 18px;
  border-radius: 22px;
  background: linear-gradient(120deg, var(--mp-admDeep1) 0%, var(--mp-admMid1) 42%, var(--mp-admLite1) 100%);
  border: 1px solid color-mix(in srgb, var(--mp-line4), transparent 84%);
  box-shadow: 0 10px 26px color-mix(in srgb, var(--mp-admGlow), transparent 66%), inset 0 1px 0 color-mix(in srgb, var(--mp-n100), transparent 82%);
  overflow: hidden;
  transition: transform 0.2s cubic-bezier(0.25, 0.1, 0.25, 1), box-shadow 0.2s ease;}#mpScreen[data-route="pages/index/index"] .admin-entry-banner:active{
  transform: scale(0.975);
  box-shadow: 0 5px 14px color-mix(in srgb, var(--mp-admGlow), transparent 70%);}#mpScreen[data-route="pages/index/index"] .admin-entry-shine{
  position: absolute;
  top: -60%;
  left: -30%;
  width: 46%;
  height: 220%;
  background: linear-gradient(100deg, transparent 0%, color-mix(in srgb, var(--mp-n100), transparent 72%) 50%, transparent 100%);
  transform: rotate(14deg);
  animation: adminShine 3.4s ease-in-out infinite;
  pointer-events: none;}

@keyframes adminShine {
  0% { left: -40%; }
  55%, 100% { left: 130%; }
}#mpScreen[data-route="pages/index/index"] .admin-entry-emoji{
  font-size: 26px;
  line-height: 1;
  flex-shrink: 0;
  filter: drop-shadow(0 2px 6px color-mix(in srgb, var(--mp-n00), transparent 70%));
  animation: adminShieldBob 2.4s ease-in-out infinite;}

@keyframes adminShieldBob {
  0%, 100% { transform: translateY(0) rotate(-4deg); }
  50% { transform: translateY(-4px) rotate(4deg); }
}#mpScreen[data-route="pages/index/index"] .admin-entry-text-col{
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 3px;
  position: relative;
  z-index: 1;}#mpScreen[data-route="pages/index/index"] .admin-entry-title{
  font-size: 15px;
  font-weight: 800;
  color: var(--mp-inkOn);
  letter-spacing: 0.01em;
  line-height: 1.25;}#mpScreen[data-route="pages/index/index"] .admin-entry-desc{
  font-size: 11.5px;
  color: color-mix(in srgb, var(--mp-inkOn), transparent 28%);
  font-weight: 500;
  line-height: 1.35;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;}#mpScreen[data-route="pages/index/index"] .admin-entry-arrow{
  font-size: 26px;
  color: color-mix(in srgb, var(--mp-inkOn), transparent 40%);
  font-weight: 300;
  line-height: 1;
  flex-shrink: 0;
  position: relative;
  z-index: 1;}

/* ===================== 草稿 / 模板 有效期倒计时 ===================== */#mpScreen[data-route="pages/index/index"] .draft-box-rule-tip{
  flex-shrink: 0;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 6px;
  margin: 0 16px 10px;
  padding: 8px 12px;
  border-radius: 14px;
  background: linear-gradient(135deg, color-mix(in srgb, var(--mp-x144), transparent 82%) 0%, color-mix(in srgb, var(--mp-b2), transparent 92%) 100%);
  border: 1px dashed color-mix(in srgb, var(--mp-b2), transparent 62%);
  box-sizing: border-box;}#mpScreen[data-route="pages/index/index"] .draft-rule-tip-icon{
  font-size: 14px;
  line-height: 1;
  flex-shrink: 0;}#mpScreen[data-route="pages/index/index"] .draft-rule-tip-text{
  font-size: 11px;
  color: var(--mp-cDeep);
  font-weight: 500;
  line-height: 1.45;}#mpScreen[data-route="pages/index/index"] .draft-item-countdown{
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 6px;
  margin-top: 6px;
  padding: 6px 10px;
  border-radius: 12px;
  background: linear-gradient(135deg, color-mix(in srgb, var(--mp-x181), transparent 86%) 0%, color-mix(in srgb, var(--mp-x181), transparent 95%) 100%);
  border: 1px solid color-mix(in srgb, var(--mp-x182), transparent 70%);
  box-sizing: border-box;}#mpScreen[data-route="pages/index/index"] .draft-countdown-emoji{
  font-size: 13px;
  line-height: 1;
  flex-shrink: 0;}#mpScreen[data-route="pages/index/index"] .draft-countdown-label{
  font-size: 11px;
  color: var(--mp-x183);
  font-weight: 500;
  letter-spacing: 0.2px;}#mpScreen[data-route="pages/index/index"] .draft-countdown-value{
  margin-left: auto;
  font-size: 13px;
  font-weight: 700;
  color: var(--mp-x184);
  line-height: 1.2;
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.3px;}#mpScreen[data-route="pages/index/index"] .draft-item-countdown.countdown-warn{
  background: linear-gradient(135deg, color-mix(in srgb, var(--mp-b2), transparent 82%) 0%, color-mix(in srgb, var(--mp-b2), transparent 94%) 100%);
  border-color: color-mix(in srgb, var(--mp-b2), transparent 62%);}#mpScreen[data-route="pages/index/index"] .draft-item-countdown.countdown-warn .draft-countdown-label{
  color: var(--mp-cDeep);}#mpScreen[data-route="pages/index/index"] .draft-item-countdown.countdown-warn .draft-countdown-value{
  color: var(--mp-bDeep);}#mpScreen[data-route="pages/index/index"] .draft-item-countdown.countdown-danger{
  background: linear-gradient(135deg, color-mix(in srgb, var(--mp-x185), transparent 82%) 0%, color-mix(in srgb, var(--mp-x185), transparent 94%) 100%);
  border-color: color-mix(in srgb, var(--mp-x186), transparent 60%);
  animation: draftCdPulse 1.6s ease-in-out infinite;}#mpScreen[data-route="pages/index/index"] .draft-item-countdown.countdown-danger .draft-countdown-label{
  color: var(--mp-x187);}#mpScreen[data-route="pages/index/index"] .draft-item-countdown.countdown-danger .draft-countdown-value{
  color: var(--mp-x188);}

@keyframes draftCdPulse {
  0%, 100% {
    box-shadow: 0 0 0 0 rgba(255, 86, 48, 0.2);
  }
  50% {
    box-shadow: 0 0 0 5px rgba(255, 86, 48, 0);
  }
}#mpScreen[data-route="pages/index/index"] .template-box-rule-tip{
  flex-shrink: 0;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 6px;
  margin: 0 20px 6px;
  padding: 8px 12px;
  border-radius: 14px;
  background: linear-gradient(135deg, color-mix(in srgb, var(--mp-b2), transparent 86%) 0%, color-mix(in srgb, var(--mp-w92), transparent 50%) 100%);
  border: 1px dashed color-mix(in srgb, var(--mp-b2), transparent 66%);
  box-sizing: border-box;}#mpScreen[data-route="pages/index/index"] .template-rule-tip-icon{
  font-size: 14px;
  line-height: 1;
  flex-shrink: 0;}#mpScreen[data-route="pages/index/index"] .template-rule-tip-text{
  font-size: 11px;
  color: var(--mp-cDeep);
  font-weight: 500;
  line-height: 1.45;}#mpScreen[data-route="pages/index/index"] .template-item-countdown{
  align-self: flex-start;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 5px;
  margin-top: 7px;
  padding: 4px 10px;
  border-radius: 999px;
  background: linear-gradient(135deg, color-mix(in srgb, var(--mp-x181), transparent 86%) 0%, color-mix(in srgb, var(--mp-x181), transparent 95%) 100%);
  border: 1px solid color-mix(in srgb, var(--mp-x182), transparent 72%);
  box-sizing: border-box;}#mpScreen[data-route="pages/index/index"] .template-countdown-emoji{
  font-size: 11px;
  line-height: 1;}#mpScreen[data-route="pages/index/index"] .template-countdown-value{
  font-size: 11px;
  font-weight: 700;
  color: var(--mp-x184);
  line-height: 1.3;}#mpScreen[data-route="pages/index/index"] .template-countdown-unit{
  font-size: 10px;
  color: var(--mp-x189);
  line-height: 1.3;}#mpScreen[data-route="pages/index/index"] .template-item-countdown.countdown-warn{
  background: linear-gradient(135deg, color-mix(in srgb, var(--mp-b2), transparent 82%) 0%, color-mix(in srgb, var(--mp-b2), transparent 94%) 100%);
  border-color: color-mix(in srgb, var(--mp-b2), transparent 64%);}#mpScreen[data-route="pages/index/index"] .template-item-countdown.countdown-warn .template-countdown-value{
  color: var(--mp-bDeep);}#mpScreen[data-route="pages/index/index"] .template-item-countdown.countdown-warn .template-countdown-unit{
  color: var(--mp-cDeep);}#mpScreen[data-route="pages/index/index"] .template-item-countdown.countdown-danger{
  background: linear-gradient(135deg, color-mix(in srgb, var(--mp-x185), transparent 82%) 0%, color-mix(in srgb, var(--mp-x185), transparent 94%) 100%);
  border-color: color-mix(in srgb, var(--mp-x186), transparent 62%);}#mpScreen[data-route="pages/index/index"] .template-item-countdown.countdown-danger .template-countdown-value{
  color: var(--mp-x188);}#mpScreen[data-route="pages/index/index"] .template-item-countdown.countdown-danger .template-countdown-unit{
  color: var(--mp-x190);}#mpScreen[data-route="pages/index/index"] .template-box-empty-rule{
  margin-top: 14px;
  padding: 8px 14px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--mp-b2), transparent 92%);
  border: 1px dashed color-mix(in srgb, var(--mp-b2), transparent 70%);}#mpScreen[data-route="pages/index/index"] .template-box-empty-rule-text{
  font-size: 11px;
  color: var(--mp-cDeep);
  font-weight: 500;
  line-height: 1.4;}

/* ===================== 整页式登录页 ===================== */#mpScreen[data-route="pages/index/index"] .login-page{
  position: absolute;
  inset: 0;
  z-index: 60;
  overflow: hidden;
  background: linear-gradient(168deg, var(--mp-w96) 0%, var(--mp-w92) 34%, var(--mp-w84) 68%, var(--mp-cPale) 100%);}#mpScreen[data-route="pages/index/index"] .login-page-bg{
  position: absolute;
  inset: 0;
  overflow: hidden;}#mpScreen[data-route="pages/index/index"] .login-page-glow{
  position: absolute;
  border-radius: 50%;
  filter: blur(42px);}#mpScreen[data-route="pages/index/index"] .login-page-glow-1{
  width: 240px;
  height: 240px;
  top: -70px;
  left: -70px;
  background: radial-gradient(circle, color-mix(in srgb, var(--mp-cMid), transparent 20%) 0%, transparent 70%);
  animation: loginGlow 6s ease-in-out infinite;}#mpScreen[data-route="pages/index/index"] .login-page-glow-2{
  width: 280px;
  height: 280px;
  bottom: -90px;
  right: -80px;
  background: radial-gradient(circle, color-mix(in srgb, var(--mp-b2), transparent 45%) 0%, transparent 70%);
  animation: loginGlow 7.5s ease-in-out infinite reverse;}

@keyframes loginGlow {
  0%, 100% {
    transform: scale(1);
    opacity: 0.5;
  }
  50% {
    transform: scale(1.16);
    opacity: 0.75;
  }
}

/* 登录页那几枚也换成不走回头路的不规则轨迹，跟首页同一套关键帧 */#mpScreen[data-route="pages/index/index"] .login-float{
  position: absolute;
  font-size: 26px;
  opacity: 0.34;
  will-change: transform;
  animation: homeDriftA 15s ease-in-out infinite;}#mpScreen[data-route="pages/index/index"] .login-float-1{
  top: 7%;
  left: 9%;
  font-size: 30px;}#mpScreen[data-route="pages/index/index"] .login-float-2{
  top: 14%;
  right: 10%;
  font-size: 34px;
  animation: homeDriftB 18s ease-in-out -4s infinite;}#mpScreen[data-route="pages/index/index"] .login-float-3{
  top: 44%;
  left: 5%;
  animation: homeDriftC 16s ease-in-out -9s infinite;}#mpScreen[data-route="pages/index/index"] .login-float-4{
  top: 60%;
  right: 7%;
  font-size: 22px;
  animation: homeDriftB 13s ease-in-out -2s infinite;}#mpScreen[data-route="pages/index/index"] .login-float-5{
  top: 80%;
  left: 12%;
  animation: homeDriftC 19s ease-in-out -6s infinite;}#mpScreen[data-route="pages/index/index"] .login-float-6{
  top: 32%;
  right: 22%;
  font-size: 20px;
  animation: homeDriftA 17s ease-in-out -11s infinite;}#mpScreen[data-route="pages/index/index"] .login-page-scroll{
  position: absolute;
  inset: 0;}#mpScreen[data-route="pages/index/index"] .login-page-inner{
  display: flex;
  flex-direction: column;
  gap: clamp(6px, calc(1.35 * var(--mpvh)), 18px);
  padding: clamp(10px, calc(3.2 * var(--mpvh)), 44px) 22px clamp(8px, calc(2.2 * var(--mpvh)), 28px);
  box-sizing: border-box;
  min-height: 100%;}#mpScreen[data-route="pages/index/index"] .login-brand{
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(3px, calc(0.8 * var(--mpvh)), 10px);}#mpScreen[data-route="pages/index/index"] .login-brand-emoji-row{
  display: flex;
  align-items: center;
  gap: 12px;}#mpScreen[data-route="pages/index/index"] .login-brand-side{
  font-size: clamp(26px, calc(4.6 * var(--mpvh)), 40px);
  line-height: 1;
  animation: loginBounce 2.6s ease-in-out infinite;}#mpScreen[data-route="pages/index/index"] .login-brand-side-2{
  animation-delay: 1.3s;}

@keyframes loginBounce {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-8px);
  }
}#mpScreen[data-route="pages/index/index"] .login-brand-heart-wrap{
  width: clamp(46px, calc(7.4 * var(--mpvh)), 66px);
  height: clamp(46px, calc(7.4 * var(--mpvh)), 66px);
  border-radius: 50%;
  background: color-mix(in srgb, var(--mp-n100), transparent 20%);
  border: 1px solid color-mix(in srgb, var(--mp-line4), transparent 5%);
  box-shadow: 0 10px 24px color-mix(in srgb, var(--mp-b2), transparent 70%);
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;}#mpScreen[data-route="pages/index/index"] .login-brand-heart{
  font-size: clamp(21px, calc(3.5 * var(--mpvh)), 30px);
  line-height: 1;
  animation: loginHeart 1.6s ease-in-out infinite;}

@keyframes loginHeart {
  0%, 100% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.18);
  }
}#mpScreen[data-route="pages/index/index"] .login-brand-name{
  font-size: clamp(26px, calc(5.4 * var(--mpvh)), 42px);
  font-weight: 800;
  letter-spacing: 8px;
  line-height: 1.15;
  background: linear-gradient(135deg, var(--mp-b2) 0%, var(--mp-x191) 55%, var(--mp-x192) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  text-indent: 8px;}#mpScreen[data-route="pages/index/index"] .login-brand-slogan{
  font-size: 13px;
  color: var(--mp-cDeep);
  font-weight: 600;
  letter-spacing: 1px;}#mpScreen[data-route="pages/index/index"] .login-brand-tags{
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: 2px;}#mpScreen[data-route="pages/index/index"] .login-brand-tag{
  font-size: 11px;
  color: var(--mp-cDeep);
  background: color-mix(in srgb, var(--mp-n100), transparent 32%);
  border: 1px solid color-mix(in srgb, var(--mp-line4), transparent 8%);
  padding: 4px 10px;
  border-radius: 999px;
  font-weight: 600;
  line-height: 1.4;}#mpScreen[data-route="pages/index/index"] .login-glass-card{
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  gap: clamp(6px, calc(1.1 * var(--mpvh)), 14px);
  padding: clamp(11px, calc(2 * var(--mpvh)), 22px) 18px;
  border-radius: 26px;
  background: color-mix(in srgb, var(--mp-n100), transparent 26%);
  border: 1px solid color-mix(in srgb, var(--mp-line4), transparent 8%);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  box-shadow: 0 14px 34px color-mix(in srgb, var(--mp-b1), transparent 82%);
  box-sizing: border-box;}#mpScreen[data-route="pages/index/index"] .login-glass-card-shine{
  position: absolute;
  top: 0;
  left: -60%;
  width: 40%;
  height: 100%;
  background: linear-gradient(100deg, transparent 0%, color-mix(in srgb, var(--mp-n100), transparent 45%) 50%, transparent 100%);
  animation: loginShine 4.5s ease-in-out infinite;}

@keyframes loginShine {
  0% {
    left: -60%;
  }
  55%, 100% {
    left: 120%;
  }
}#mpScreen[data-route="pages/index/index"] .login-glass-title{
  font-size: 18px;
  font-weight: 800;
  color: var(--mp-cDeep);
  line-height: 1.3;}#mpScreen[data-route="pages/index/index"] .login-glass-sub{
  font-size: 11.5px;
  color: var(--mp-cDeep);
  margin-top: -6px;
  line-height: 1.5;}#mpScreen[data-route="pages/index/index"] .login-page-footer{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-top: auto;
  padding-top: 6px;}#mpScreen[data-route="pages/index/index"] .login-page-footer-paw{
  font-size: 12px;
  opacity: 0.6;
  animation: loginBounce 2.2s ease-in-out infinite;}#mpScreen[data-route="pages/index/index"] .login-page-footer-text{
  font-size: 11px;
  color: var(--mp-cDeep);
  font-weight: 500;
  letter-spacing: 0.5px;}

/* 📱 矮屏走到第二步时收起装饰区，保证整页固定不滚动 */
@media (max-height: 780px) {#mpScreen[data-route="pages/index/index"] .login-step-code .login-brand-emoji-row,
#mpScreen[data-route="pages/index/index"] .login-step-code .login-brand-tags{
    display: none;}
}

/* 📱 极矮屏（≤620）连第一步也收起装饰区 */
@media (max-height: 620px) {#mpScreen[data-route="pages/index/index"] .login-brand-emoji-row,
#mpScreen[data-route="pages/index/index"] .login-brand-tags,
#mpScreen[data-route="pages/index/index"] .login-page-footer{
    display: none;}#mpScreen[data-route="pages/index/index"] .login-step-code .login-guest-entry{
    display: none;}
}

/* =================================================================== */
/* 🧪 内测人员申请：首页入口 banner + 申请表单弹窗                       */
/* =================================================================== */
/* 五态共用的浅底框（2026-11-03 用户「另外四个状态也要换成浅底跟季」）。
   原先只有「已通过」在 #217 改成浅底，其余四条还是深渐变压白字，同一页里像五种产品。
   底走 w96→w92、发丝线走 w68——这三档本来就是「跟季的中性梯度」：立春嫩绿、立夏薄荷、
   立秋香槟、立冬霜紫，永远和页面同色系；夜间 w 档自己翻深底，字走语义色自动变浅，不写第二套。
   渐变不能往 w84 那档走：夜间它是中深绿/中深蓝，浅字压上去只剩 3.4。
   「已通过」这一套值本来就是照它做的，所以那条规则不再重复写背景。 */#mpScreen[data-route="pages/index/index"] .beta-entry-banner{
  position: relative;
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  box-sizing: border-box;
  margin-bottom: 16px;
  padding: 14px 18px;
  border-radius: 22px;
  background: linear-gradient(120deg, var(--mp-w96) 0%, var(--mp-w92) 100%);
  border: 1.5px solid var(--mp-w68);
  box-shadow: 0 10px 26px color-mix(in srgb, var(--mp-w68), transparent 62%), inset 0 1px 0 color-mix(in srgb, var(--mp-n100), transparent 34%);
  overflow: hidden;
  transition: transform 0.2s cubic-bezier(0.25, 0.1, 0.25, 1), box-shadow 0.2s ease;}#mpScreen[data-route="pages/index/index"] .beta-entry-banner:active{
  transform: scale(0.975);
  box-shadow: 0 5px 14px color-mix(in srgb, var(--mp-w68), transparent 70%), inset 0 1px 0 color-mix(in srgb, var(--mp-n100), transparent 34%);}

/* 浅底之后，五种身份只能靠发丝线、扫光、投影和 emoji 光晕区分（🧪 五态共用，emoji 不换）。
   色号一律取 beta 令牌族里已有的那批：zone 白名单认识它们，所以四季各自换色、夜间自己翻亮，
   不会像冷色字面量那样定死不动。
   「已过期」整条用 betaExp2 而不是亮端 betaExp3：betaExp3 在四套夜间表里都是 #3B3245，
   压在同一档深底上几乎看不见；已过期本来就该往后退，中段这一档深浅两边都够用。
   「审核中」的发丝线同理换到中段 betaPend2：亮端 betaPend3 白天只有 1.58（立秋）/1.71（立春），
   压在奶油底上基本消失，换中段后各季 2.9–4.8；它的扫光和光晕仍留亮端，那边夜间 5 上下正合适。 */#mpScreen[data-route="pages/index/index"] .beta-entry-new{
  border-color: var(--mp-betaNew3);
  box-shadow: 0 10px 26px color-mix(in srgb, var(--mp-betaNew3), transparent 70%), inset 0 1px 0 color-mix(in srgb, var(--mp-n100), transparent 34%);}#mpScreen[data-route="pages/index/index"] .beta-entry-new:active{
  box-shadow: 0 5px 14px color-mix(in srgb, var(--mp-betaNew3), transparent 74%), inset 0 1px 0 color-mix(in srgb, var(--mp-n100), transparent 34%);}#mpScreen[data-route="pages/index/index"] .beta-entry-new .beta-entry-shine{
  background: linear-gradient(100deg, transparent 0%, color-mix(in srgb, var(--mp-betaNew3), transparent 60%) 50%, transparent 100%);}#mpScreen[data-route="pages/index/index"] .beta-entry-new .beta-entry-emoji{
  filter: drop-shadow(0 2px 8px color-mix(in srgb, var(--mp-betaNew3), transparent 55%));}#mpScreen[data-route="pages/index/index"] .beta-entry-pending{
  border-color: var(--mp-betaPend2);
  box-shadow: 0 10px 26px color-mix(in srgb, var(--mp-betaPend3), transparent 66%), inset 0 1px 0 color-mix(in srgb, var(--mp-n100), transparent 34%);}#mpScreen[data-route="pages/index/index"] .beta-entry-pending:active{
  box-shadow: 0 5px 14px color-mix(in srgb, var(--mp-betaPend3), transparent 72%), inset 0 1px 0 color-mix(in srgb, var(--mp-n100), transparent 34%);}#mpScreen[data-route="pages/index/index"] .beta-entry-pending .beta-entry-shine{
  background: linear-gradient(100deg, transparent 0%, color-mix(in srgb, var(--mp-betaPend3), transparent 58%) 50%, transparent 100%);}#mpScreen[data-route="pages/index/index"] .beta-entry-pending .beta-entry-emoji{
  filter: drop-shadow(0 2px 8px color-mix(in srgb, var(--mp-betaPend3), transparent 50%));}

/* 已通过：用户两次标「颜色不好看」。浅屏上压一条深焦糖块既闷又和当季底色撞色（立夏那页是薄荷底），
   而且白字逼着整条渐变必须一路压暗，越改越泥。改成浅底 + 深字之后，这套值已经上浮成上面
   五态共用的底，这里只留它自己那束焦糖光晕。 */#mpScreen[data-route="pages/index/index"] .beta-entry-approved .beta-entry-emoji{
  filter: drop-shadow(0 2px 8px color-mix(in srgb, var(--mp-betaOk2), transparent 55%));}#mpScreen[data-route="pages/index/index"] .beta-entry-rejected{
  border-color: var(--mp-betaNo3);
  box-shadow: 0 10px 26px color-mix(in srgb, var(--mp-betaNo3), transparent 70%), inset 0 1px 0 color-mix(in srgb, var(--mp-n100), transparent 34%);}#mpScreen[data-route="pages/index/index"] .beta-entry-rejected:active{
  box-shadow: 0 5px 14px color-mix(in srgb, var(--mp-betaNo3), transparent 74%), inset 0 1px 0 color-mix(in srgb, var(--mp-n100), transparent 34%);}#mpScreen[data-route="pages/index/index"] .beta-entry-rejected .beta-entry-shine{
  background: linear-gradient(100deg, transparent 0%, color-mix(in srgb, var(--mp-betaNo3), transparent 64%) 50%, transparent 100%);}#mpScreen[data-route="pages/index/index"] .beta-entry-rejected .beta-entry-emoji{
  filter: drop-shadow(0 2px 8px color-mix(in srgb, var(--mp-betaNo3), transparent 58%));}

/* 过期：原本用 #6E6482（betaExp2）跟季，量出来八套里有四套夜里塌到 1.85–2.18，
   淡紫落在深底上几乎看不见，等于这一态没有描边。betaExp3 夜里更暗（#3B3245，1.0–1.2）更不能选。
   所以这一态的发丝线改走语义色：色相在 12–40 窗口外，折不进季节档，白天就是源码这个紫，
   夜里由管线按角色自己提亮（描边→#9F8BC6，投影→#8372A1），八套最差也有 3.05。
   底还是跟季的浅底，只有紫线不跟着换季——过期本就是退在场外的状态。 */#mpScreen[data-route="pages/index/index"] .beta-entry-expired{
  border-color: var(--mp-x193);
  box-shadow: 0 10px 26px color-mix(in srgb, var(--mp-x194), transparent 74%), inset 0 1px 0 color-mix(in srgb, var(--mp-n100), transparent 34%);}#mpScreen[data-route="pages/index/index"] .beta-entry-expired:active{
  box-shadow: 0 5px 14px color-mix(in srgb, var(--mp-x194), transparent 78%), inset 0 1px 0 color-mix(in srgb, var(--mp-n100), transparent 34%);}#mpScreen[data-route="pages/index/index"] .beta-entry-expired .beta-entry-shine{
  background: linear-gradient(100deg, transparent 0%, color-mix(in srgb, var(--mp-x194), transparent 66%) 50%, transparent 100%);}#mpScreen[data-route="pages/index/index"] .beta-entry-expired .beta-entry-emoji{
  filter: drop-shadow(0 2px 8px color-mix(in srgb, var(--mp-x194), transparent 60%));}#mpScreen[data-route="pages/index/index"] .beta-entry-shine{
  position: absolute;
  top: -60%;
  left: -30%;
  width: 46%;
  height: 220%;
  background: linear-gradient(100deg, transparent 0%, color-mix(in srgb, var(--mp-w68), transparent 50%) 50%, transparent 100%);
  transform: rotate(14deg);
  animation: betaShine 3.8s ease-in-out infinite;
  pointer-events: none;}

@keyframes betaShine {
  0% { left: -40%; }
  55%, 100% { left: 130%; }
}#mpScreen[data-route="pages/index/index"] .beta-entry-emoji{
  font-size: 26px;
  line-height: 1;
  flex-shrink: 0;
  filter: drop-shadow(0 2px 6px color-mix(in srgb, var(--mp-n00), transparent 70%));
  animation: betaFlaskWiggle 2.8s ease-in-out infinite;}

@keyframes betaFlaskWiggle {
  0%, 100% { transform: translateY(0) rotate(-6deg); }
  50% { transform: translateY(-4px) rotate(8deg); }
}#mpScreen[data-route="pages/index/index"] .beta-entry-text-col{
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 3px;
  position: relative;
  z-index: 1;}

/* 五态都是浅底，所以墨色统一走 #2B4A5E（折成语义令牌，夜间自动翻浅蓝），白字全部收掉。
   弱级靠字号（11.5/500 对 15/800），不靠 opacity：夜间这行字的语义色只到浅蓝，
   再乘 0.74 就掉到 3 上下，等于把「时效剩余几天」这条最要紧的信息糊掉。
   注释必须写在选择器外面：写在声明前面会让构建把属性名读成一长串注释，
   折色时认不出这是文字色，按「背景色」压深，夜间直接变成一块糊字。 */#mpScreen[data-route="pages/index/index"] .beta-entry-title{
  font-size: 15px;
  font-weight: 800;
  color: var(--mp-x195);
  letter-spacing: 0.01em;
  line-height: 1.25;}#mpScreen[data-route="pages/index/index"] .beta-entry-desc{
  font-size: 11.5px;
  color: var(--mp-x195);
  font-weight: 500;
  line-height: 1.35;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;}#mpScreen[data-route="pages/index/index"] .beta-entry-arrow{
  font-size: 24px;
  color: var(--mp-x195);
  opacity: 0.55;
  line-height: 1;
  flex-shrink: 0;}

/* ---------- 🎉 内测身份状态弹窗 ----------
   颜色全部写死 hex（自定义属性不参与折色），但一个冷色号都不留：原先光晕盘是定死的
   薄荷蓝、时效条底槽是定死的冷灰，首页换季它们纹丝不动，用户标「这个弹窗也要跟着颜色变换」。
   现在底色只走两类跟季带：w96/w92/w84/cMid（四季各自换色、夜间自己翻深）和
   FORCE 点名的 betaOk1/2/3（已通过焦糖金，选择器无关，所以不必再挤 beta 白名单）。
   这个弹窗只在「已通过」状态弹出，糖果边和按钮原来却从「未申请」的绿 (#17796F/#2FA98F) 起步，
   身份串了色；糖果边改成和注销挽留面板同一串四段渐变，两个弹窗的缎带完全一致。
   字色仍然用 #2B4A5E 这类落到语义折色的冷墨：背景带的深色（betaOk1 夜间 #6B3D10）当字用会糊。 */#mpScreen[data-route="pages/index/index"] .beta-status-overlay{
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1310;
  display: flex;
  align-items: center;
  justify-content: center;}#mpScreen[data-route="pages/index/index"] .beta-status-mask{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: color-mix(in srgb, var(--mp-x196), transparent 48%);
  animation: bsMaskIn 0.26s ease-out both;}#mpScreen[data-route="pages/index/index"] .beta-status-card{
  position: relative;
  width: 84%;
  max-width: 322px;
  padding: 7px;
  box-sizing: border-box;
  border-radius: 30px;
  background: repeating-linear-gradient(135deg, var(--mp-betaOk1) 0 13px, var(--mp-betaOk2) 13px 26px, var(--mp-betaOk3) 26px 39px, var(--mp-betaOk2) 39px 52px);
  box-shadow: 0 20px 46px color-mix(in srgb, var(--mp-betaOk1), transparent 66%);
  animation: bsCardIn 0.5s cubic-bezier(0.2, 0.9, 0.25, 1.28) both, bsSettle 0.72s ease-in-out 0.54s both;}#mpScreen[data-route="pages/index/index"] .beta-status-border{
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  pointer-events: none;}#mpScreen[data-route="pages/index/index"] .beta-status-dot{
  position: absolute;
  width: 27px;
  height: 27px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 17px;
  line-height: 1;
  animation: bsDotFloat 2.9s ease-in-out infinite;}#mpScreen[data-route="pages/index/index"] .beta-status-dot.dot-tl{ top: -14px; left: -13px;}#mpScreen[data-route="pages/index/index"] .beta-status-dot.dot-tr{ top: -14px; right: -13px; animation-delay: 0.36s;}#mpScreen[data-route="pages/index/index"] .beta-status-dot.dot-bl{ bottom: -14px; left: -13px; animation-delay: 0.72s;}#mpScreen[data-route="pages/index/index"] .beta-status-dot.dot-br{ bottom: -14px; right: -13px; animation-delay: 1.08s;}#mpScreen[data-route="pages/index/index"] .beta-status-inner{
  position: relative;
  box-sizing: border-box;
  padding: 20px 18px 18px;
  display: flex;
  flex-direction: column;
  align-items: center;
  background: var(--mp-w96);
  border: 2px solid var(--mp-w84);
  border-radius: 23px;
  overflow: hidden;}

/* 里面飘的小彩片：被 .beta-status-inner 裁掉，出界即消失，不会糊到遮罩上 */#mpScreen[data-route="pages/index/index"] .beta-status-flake-row{
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 100%;
  pointer-events: none;}#mpScreen[data-route="pages/index/index"] .beta-status-flake{
  position: absolute;
  top: -20px;
  font-size: 13px;
  line-height: 1;
  opacity: 0;
  animation: bsFall 4.2s linear infinite;}

/* 盘的三色刻意由浅入深往外走：白天是奶油→杏→焦糖，夜间 w92/w84/cMid 各自翻深后
   正好反过来——中心最暗、外沿最亮，加一圈 betaOk3 的金边（夜间 #D2A24A，对白底 4.6~5.6），
   盘子在深底卡片上就是一枚会发光的 medal，而不是原来那块定死的薄荷蓝。 */#mpScreen[data-route="pages/index/index"] .beta-status-halo{
  width: 78px;
  height: 78px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: radial-gradient(circle at 34% 26%, var(--mp-w92) 0 15%, var(--mp-w84) 55%, var(--mp-cMid) 100%);
  border: 3px solid var(--mp-betaOk3);
  box-shadow: 0 6px 18px color-mix(in srgb, var(--mp-betaOk3), transparent 68%);
  margin-bottom: 10px;
  animation: bsWobble 2.8s ease-in-out infinite;}#mpScreen[data-route="pages/index/index"] .beta-status-big{
  font-size: 40px;
  line-height: 1;}#mpScreen[data-route="pages/index/index"] .beta-status-title{
  display: block;
  font-size: 17px;
  font-weight: 800;
  color: var(--mp-x195);
  text-align: center;
  line-height: 1.35;
  margin-bottom: 13px;
  animation: bsLineIn 0.4s cubic-bezier(0.2, 0.85, 0.25, 1) 0.1s both;}#mpScreen[data-route="pages/index/index"] .beta-status-meter{
  position: relative;
  width: 100%;
  height: 15px;
  box-sizing: border-box;
  border-radius: 999px;
  background: var(--mp-w92);
  border: 2px solid var(--mp-w84);
  overflow: hidden;
  margin-bottom: 9px;
  animation: bsLineIn 0.4s cubic-bezier(0.2, 0.85, 0.25, 1) 0.18s both;}

/* 宽度由 {{pct}}% 决定，动画只推 scaleX，所以进场是从零长出来的 */#mpScreen[data-route="pages/index/index"] .beta-status-meter-fill{
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  border-radius: 999px;
  transform-origin: left center;
  background: linear-gradient(90deg, var(--mp-betaOk2) 0%, var(--mp-betaOk3) 100%);
  animation: bsFill 0.95s cubic-bezier(0.2, 0.85, 0.25, 1) 0.42s both;}#mpScreen[data-route="pages/index/index"] .beta-status-meter-glint{
  position: absolute;
  top: 0;
  left: -40%;
  width: 34%;
  height: 100%;
  background: linear-gradient(100deg, transparent 0%, color-mix(in srgb, var(--mp-betaOk3), transparent 28%) 50%, transparent 100%);
  animation: bsGlint 2.8s ease-in-out 1.35s infinite;}#mpScreen[data-route="pages/index/index"] .beta-status-line{
  display: block;
  font-size: 13px;
  font-weight: 700;
  color: var(--mp-x195);
  text-align: center;
  line-height: 1.4;
  animation: bsLineIn 0.4s cubic-bezier(0.2, 0.85, 0.25, 1) 0.26s both;}

/* 按钮收在 betaOk1→betaOk2 这一档就停：亮端 betaOk3 夜间是 #D2A24A，
   白字压上去只剩 2.33，而 betaOk2 夜间 #9C6A20 对白字有 4.67，白天四档 5.0~7.5。 */#mpScreen[data-route="pages/index/index"] .beta-status-ok{
  margin-top: 14px;
  padding: 10px 26px;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--mp-betaOk1) 0%, var(--mp-betaOk2) 100%);
  box-shadow: 0 8px 20px color-mix(in srgb, var(--mp-betaOk2), transparent 70%);
  cursor: pointer;
  transition: transform 0.18s cubic-bezier(0.25, 0.1, 0.25, 1), box-shadow 0.18s ease;
  animation: bsBadgeIn 0.44s cubic-bezier(0.2, 0.9, 0.25, 1.5) 0.3s backwards;
  /* backwards 而不是 both：both 会把动画末帧一直钉在 transform 上，:active 那一下按不动 */
;}#mpScreen[data-route="pages/index/index"] .beta-status-ok:active{
  transform: scale(0.95);
  box-shadow: 0 4px 12px color-mix(in srgb, var(--mp-betaOk2), transparent 72%);}#mpScreen[data-route="pages/index/index"] .beta-status-ok-text{
  font-size: 14.5px;
  font-weight: 800;
  color: var(--mp-inkOn);
  letter-spacing: 0.01em;}

@keyframes bsMaskIn {
  0% { opacity: 0; }
  100% { opacity: 1; }
}

@keyframes bsCardIn {
  0% { transform: translateY(40px) scale(0.9); opacity: 0; }
  62% { transform: translateY(-7px) scale(1.04); opacity: 1; }
  100% { transform: translateY(0) scale(1); opacity: 1; }
}

@keyframes bsSettle {
  0%, 100% { transform: translateY(0) scale(1) rotate(0deg); }
  14% { transform: translateY(0) scale(1) rotate(-1.6deg); }
  32% { transform: translateY(0) scale(1) rotate(1.3deg); }
  52% { transform: translateY(0) scale(1) rotate(-0.8deg); }
  74% { transform: translateY(0) scale(1) rotate(0.4deg); }
}

@keyframes bsWobble {
  0%, 100% { transform: rotate(-5deg) scale(1); }
  30% { transform: rotate(4deg) scale(1.05); }
  60% { transform: rotate(-2deg) scale(0.99); }
}

@keyframes bsDotFloat {
  0%, 100% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-5px) rotate(11deg); }
}

@keyframes bsBadgeIn {
  0% { transform: scale(0) rotate(-22deg); opacity: 0; }
  60% { transform: scale(1.16) rotate(5deg); opacity: 1; }
  100% { transform: scale(1) rotate(0deg); opacity: 1; }
}

@keyframes bsLineIn {
  0% { transform: translateY(9px); opacity: 0; }
  100% { transform: translateY(0); opacity: 1; }
}

@keyframes bsFill {
  0% { transform: scaleX(0); }
  100% { transform: scaleX(1); }
}

@keyframes bsGlint {
  0% { left: -40%; opacity: 0; }
  18% { opacity: 1; }
  62% { left: 118%; opacity: 0.9; }
  63%, 100% { left: 118%; opacity: 0; }
}

@keyframes bsFall {
  0% { transform: translateY(-14px) rotate(0deg); opacity: 0; }
  10% { opacity: 0.95; }
  78% { opacity: 0.85; }
  100% { transform: translateY(232px) rotate(210deg); opacity: 0; }
}

/* ---------- 🥺 注销挽留面板 ----------
   原生 showModal 长什么样就是什么样，所以挪进页面做成卡片。和内测弹窗同一套房子样式：
   糖果斜纹边 + 四角 emoji 错峰 + 里面飘的小碎片，动画只推 transform/opacity（颜色折不成变体）。
   焦糖那三个色号 #6B2A12/#A94E18/#D2802A 在 tokens.mjs 的 FORCE 表里点过名，任何选择器写它们
   都直接折进 beta 令牌，所以这张卡天生跟四季换色，不必再扩 zone 白名单。
   底色只走跟季带，明度阶梯和内测弹窗完全对齐：卡体 w96 → 身份章/爪印槽 w92 → 描边 w84 →
   金边 betaOk3 → 光晕外沿 cMid。原先卡体和光晕心部写的是 #FFFDF8/#FFFFFF，两个都折成 n100，
   而 n100 四季白天全是纯白——首页换季它们一动不动，用户标的「颜色不跟着色系变换」就是这两处。
   字色一律用 #2B4A5E 这类冷调语义色——暖色那几个深值是「背景色」，夜里拿来当字色会糊。 */#mpScreen[data-route="pages/index/index"] .leave-overlay{
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1315;
  display: flex;
  align-items: center;
  justify-content: center;}#mpScreen[data-route="pages/index/index"] .leave-mask{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: color-mix(in srgb, var(--mp-x196), transparent 50%);
  animation: lvMaskIn 0.3s ease-out both;}#mpScreen[data-route="pages/index/index"] .leave-card{
  position: relative;
  width: 84%;
  max-width: 322px;
  padding: 7px;
  box-sizing: border-box;
  border-radius: 30px;
  background: repeating-linear-gradient(135deg, var(--mp-betaOk1) 0 13px, var(--mp-betaOk2) 13px 26px, var(--mp-betaOk3) 26px 39px, var(--mp-betaOk2) 39px 52px);
  box-shadow: 0 20px 46px color-mix(in srgb, var(--mp-betaOk1), transparent 66%);
  animation: lvCardIn 0.54s cubic-bezier(0.2, 0.9, 0.25, 1.24) both, lvBreathe 3.6s ease-in-out 0.62s infinite;}#mpScreen[data-route="pages/index/index"] .leave-border{
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  pointer-events: none;}#mpScreen[data-route="pages/index/index"] .leave-dot{
  position: absolute;
  width: 27px;
  height: 27px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 17px;
  line-height: 1;
  animation: lvDotFloat 3.2s ease-in-out infinite;}#mpScreen[data-route="pages/index/index"] .leave-dot.dot-tl{ top: -14px; left: -13px;}#mpScreen[data-route="pages/index/index"] .leave-dot.dot-tr{ top: -14px; right: -13px; animation-delay: 0.4s;}#mpScreen[data-route="pages/index/index"] .leave-dot.dot-bl{ bottom: -14px; left: -13px; animation-delay: 0.8s;}#mpScreen[data-route="pages/index/index"] .leave-dot.dot-br{ bottom: -14px; right: -13px; animation-delay: 1.2s;}#mpScreen[data-route="pages/index/index"] .leave-inner{
  position: relative;
  box-sizing: border-box;
  padding: 18px 17px 16px;
  display: flex;
  flex-direction: column;
  align-items: center;
  background: var(--mp-w96);
  border: 2px solid var(--mp-w84);
  border-radius: 23px;
  overflow: hidden;}

/* 里面飘的小碎片：被 .leave-inner 裁掉，出界即消失 */#mpScreen[data-route="pages/index/index"] .leave-flake-row{
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 100%;
  pointer-events: none;}#mpScreen[data-route="pages/index/index"] .leave-flake{
  position: absolute;
  top: -20px;
  font-size: 13px;
  line-height: 1;
  opacity: 0;
  animation: lvFall 4.6s linear infinite;}

/* 一圈慢慢晕开的暖光。三色刻意由浅入深往外走（w92→w84→cMid），外沿再套一圈 betaOk3 金边：
   白天是奶油→杏→橘的软光，夜里这三档自己翻深，正好倒过来变成中心最暗、外沿最亮，
   金边（夜间 #D2A24A）在深底卡上就是一枚会发光的奖牌。原来心部写的是 #FFFFFF，
   折成 n100 后四季白天全是同一个纯白，换季时这块光晕纹丝不动——用户标「颜色不跟着色系变换」
   说的就是它。全部用不透明色号：带 alpha 的会折成 color-mix()，安卓微信内置浏览器（≈Chromium 86）
   不认，整条 background 会被丢掉，光晕直接消失 */#mpScreen[data-route="pages/index/index"] .leave-halo{
  width: 74px;
  height: 74px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: radial-gradient(circle at 32% 28%, var(--mp-w92) 0 22%, var(--mp-w84) 60%, var(--mp-cMid) 100%);
  border: 3px solid var(--mp-betaOk3);
  box-shadow: 0 6px 18px color-mix(in srgb, var(--mp-betaOk3), transparent 70%);
  margin-bottom: 10px;
  animation: lvWobble 3.2s ease-in-out infinite;}#mpScreen[data-route="pages/index/index"] .leave-big{
  font-size: 38px;
  line-height: 1;}#mpScreen[data-route="pages/index/index"] .leave-title{
  display: block;
  font-size: 16.5px;
  font-weight: 800;
  color: var(--mp-x195);
  text-align: center;
  line-height: 1.4;
  margin-bottom: 9px;
  animation: lvLineIn 0.44s cubic-bezier(0.2, 0.85, 0.25, 1) 0.1s both;}

/* 身份小章：把「你要注销的是哪一个」摆清楚，暖底冷字。
   底和边原来是两处 rgba 焦糖（0.15 / 0.4），折出来是 color-mix()——安卓微信内置浏览器
   不认，整条丢掉后这颗章既没底也没边，只剩一行裸字。现在换成不透明的 w92 底 + betaOk3 金边，
   四季各自换色（春 w92 是淡薄荷、秋是奶油杏），夜间金边 #D2A24A 对白底卡有 4.6~5.6 的对比 */#mpScreen[data-route="pages/index/index"] .leave-who{
  padding: 5px 14px;
  border-radius: 999px;
  background: var(--mp-w92);
  border: 1.5px solid var(--mp-betaOk3);
  margin-bottom: 11px;
  animation: lvLineIn 0.44s cubic-bezier(0.2, 0.85, 0.25, 1) 0.16s both;}#mpScreen[data-route="pages/index/index"] .leave-who-text{
  font-size: 12.5px;
  font-weight: 700;
  color: var(--mp-x195);
  letter-spacing: 0.01em;}

/* 一路向右边淡出去的爪印：这张框里唯一的「挽留画面」，靠一道暖光慢慢扫过去。
   原来这条道是透明的，暖光扫在白卡上就是一块移动的黄渍（截图里左半边那坨方块），所以给它
   和内测量条同款的槽：w92 底 + w84 边，四季自己换色，光扫过浅底才读得出是「光」。 */#mpScreen[data-route="pages/index/index"] .leave-trail{
  position: relative;
  width: 100%;
  height: 26px;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--mp-w92);
  border: 1.5px solid var(--mp-w84);
  border-radius: 999px;
  overflow: hidden;
  margin-bottom: 10px;
  animation: lvLineIn 0.44s cubic-bezier(0.2, 0.85, 0.25, 1) 0.22s both;}#mpScreen[data-route="pages/index/index"] .leave-paw{
  font-size: 15px;
  line-height: 1;
  margin: 0 5px;
  flex: none;}#mpScreen[data-route="pages/index/index"] .leave-trail-glint{
  position: absolute;
  top: 0;
  left: -40%;
  width: 34%;
  height: 100%;
  background: linear-gradient(100deg, transparent 0%, color-mix(in srgb, var(--mp-betaOk3), transparent 70%) 50%, transparent 100%);
  animation: lvGlint 3.4s ease-in-out 1.2s infinite;}#mpScreen[data-route="pages/index/index"] .leave-line{
  display: block;
  font-size: 12.5px;
  font-weight: 600;
  color: var(--mp-x195);
  text-align: center;
  line-height: 1.55;
  animation: lvLineIn 0.44s cubic-bezier(0.2, 0.85, 0.25, 1) 0.28s both;}#mpScreen[data-route="pages/index/index"] .leave-line.sub{
  /* 弱化靠 opacity，不靠另一档字色：夜间语义折色把深浅两种冷字都提成同一个亮蓝，
     层级就没了；而 opacity 不参与折色，昼夜都压得住。末帧直接落在 0.72，动画才盖不住它 */
  font-weight: 500;
  opacity: 0.72;
  margin-bottom: 12px;
  animation: lvLineInSoft 0.44s cubic-bezier(0.2, 0.85, 0.25, 1) 0.34s both;}#mpScreen[data-route="pages/index/index"] .leave-keep{
  width: 100%;
  box-sizing: border-box;
  padding: 11px 18px;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--mp-betaOk1) 0%, var(--mp-betaOk2) 100%);
  box-shadow: 0 8px 20px color-mix(in srgb, var(--mp-betaOk1), transparent 70%);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: transform 0.18s cubic-bezier(0.25, 0.1, 0.25, 1), box-shadow 0.18s ease;
  /* backwards 而不是 both：both 会把末帧钉在 transform 上，:active 那一下按不动 */
  animation: lvBadgeIn 0.46s cubic-bezier(0.2, 0.9, 0.25, 1.5) 0.36s backwards;}#mpScreen[data-route="pages/index/index"] .leave-keep:active{
  transform: scale(0.965);
  box-shadow: 0 4px 12px color-mix(in srgb, var(--mp-betaOk1), transparent 74%);}#mpScreen[data-route="pages/index/index"] .leave-keep-text{
  font-size: 14.5px;
  font-weight: 800;
  color: var(--mp-inkOn);
  letter-spacing: 0.01em;}

/* 仍要注销：故意做成描边幽灵键，不给它入场动画——opacity 是它的表情，
   被动画末帧钉住就没法压暗，:active 也抬不起来。
   边原来是 currentColor（跟着字色走，折不进任何色带），现在换成 betaOk3 金边：
   夜里字是淡蓝 #8BAFC6、压在深底卡上只有 2.7，整颗键看着像坏了；改成「金边负责认得出、
   冷字负责读得清」，并把 opacity 从 0.56 提到 0.72，夜间字对卡底约 3.5，仍然是弱一档的次按钮 */#mpScreen[data-route="pages/index/index"] .leave-quit{
  margin-top: 9px;
  padding: 7px 20px;
  border-radius: 999px;
  border: 1.5px solid var(--mp-betaOk3);
  color: var(--mp-x195);
  opacity: 0.72;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: transform 0.18s cubic-bezier(0.25, 0.1, 0.25, 1), opacity 0.18s ease;}#mpScreen[data-route="pages/index/index"] .leave-quit:active{
  transform: scale(0.965);
  opacity: 0.92;}#mpScreen[data-route="pages/index/index"] .leave-quit-text{
  font-size: 13px;
  font-weight: 700;
  color: inherit;}

@keyframes lvMaskIn {
  0% { opacity: 0; }
  100% { opacity: 1; }
}

@keyframes lvCardIn {
  0% { opacity: 0; transform: scale(0.84) translateY(18px); }
  100% { opacity: 1; transform: scale(1) translateY(0); }
}

@keyframes lvBreathe {
  0%, 100% { transform: scale(1) translateY(0); }
  50% { transform: scale(1.007) translateY(-3px); }
}

@keyframes lvDotFloat {
  0%, 100% { transform: translateY(0) rotate(-6deg); }
  50% { transform: translateY(-5px) rotate(8deg); }
}

@keyframes lvWobble {
  0%, 100% { transform: rotate(-2.5deg) scale(1); }
  50% { transform: rotate(2.5deg) scale(1.035); }
}

@keyframes lvLineIn {
  0% { opacity: 0; transform: translateY(9px); }
  100% { opacity: 1; transform: translateY(0); }
}

@keyframes lvLineInSoft {
  0% { opacity: 0; transform: translateY(9px); }
  100% { opacity: 0.72; transform: translateY(0); }
}

@keyframes lvBadgeIn {
  0% { opacity: 0; transform: scale(0.86); }
  100% { opacity: 1; transform: scale(1); }
}

@keyframes lvGlint {
  0% { left: -40%; opacity: 0; }
  16% { opacity: 1; }
  70% { left: 118%; opacity: 0.85; }
  71%, 100% { left: 118%; opacity: 0; }
}

@keyframes lvFall {
  0% { transform: translateY(-14px) rotate(0deg); opacity: 0; }
  12% { opacity: 0.9; }
  76% { opacity: 0.7; }
  100% { transform: translateY(228px) rotate(-190deg); opacity: 0; }
}

/* ---------- 申请表单弹窗 ---------- */#mpScreen[data-route="pages/index/index"] .beta-form-mask{
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 2100;
  background-color: color-mix(in srgb, var(--mp-x197), transparent 50%);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  display: flex;
  justify-content: center;
  align-items: flex-end;
  animation: avatarMaskIn 0.2s ease;}#mpScreen[data-route="pages/index/index"] .beta-form-panel{
  width: 100%;
  max-width: 460px;
  max-height: calc(86 * var(--mpvh));
  box-sizing: border-box;
  padding: 16px 14px calc(12px + env(safe-area-inset-bottom));
  border-radius: 28px 28px 0 0;
  background: linear-gradient(180deg, var(--mp-n96) 0%, var(--mp-n100) 34%, var(--mp-n100) 100%);
  box-shadow: 0 -14px 40px color-mix(in srgb, var(--mp-n00), transparent 82%), 0 0 0 3px color-mix(in srgb, var(--mp-x198), transparent 82%);
  display: flex;
  flex-direction: column;
  animation: avatarPanelIn 0.34s cubic-bezier(0.22, 1.12, 0.36, 1);}#mpScreen[data-route="pages/index/index"] .beta-form-header{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  padding: 0 4px 10px;}#mpScreen[data-route="pages/index/index"] .beta-form-title-col{
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;}#mpScreen[data-route="pages/index/index"] .beta-form-title{
  font-size: 17px;
  font-weight: 700;
  color: var(--mp-ink1);
  line-height: 1.3;}#mpScreen[data-route="pages/index/index"] .beta-form-sub{
  font-size: 11px;
  color: var(--mp-x199);
  line-height: 1.4;}#mpScreen[data-route="pages/index/index"] .beta-form-close{
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background-color: color-mix(in srgb, var(--mp-n00), transparent 95%);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: transform 0.18s ease, background-color 0.18s ease;}#mpScreen[data-route="pages/index/index"] .beta-form-close:active{
  transform: scale(0.88);
  background-color: color-mix(in srgb, var(--mp-n00), transparent 90%);}#mpScreen[data-route="pages/index/index"] .beta-form-close-icon{
  font-size: 13px;
  color: var(--mp-x200);
  line-height: 1;}#mpScreen[data-route="pages/index/index"] .beta-form-scroll{
  flex: 1;
  min-height: 0;}#mpScreen[data-route="pages/index/index"] .beta-form-item{
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 11px 12px;
  margin-bottom: 10px;
  border-radius: 16px;
  background: linear-gradient(135deg, var(--mp-n100) 0%, var(--mp-n96) 100%);
  border: 1px solid color-mix(in srgb, var(--mp-x201), transparent 86%);
  box-sizing: border-box;}#mpScreen[data-route="pages/index/index"] .beta-form-label{
  font-size: 12.5px;
  font-weight: 700;
  color: var(--mp-x202);
  line-height: 1.4;}#mpScreen[data-route="pages/index/index"] .beta-form-required{
  font-size: 9.5px;
  font-weight: 700;
  color: var(--mp-bRich);
  background-color: var(--mp-w92);
  border-radius: 6px;
  padding: 1px 5px;
  margin-left: 4px;}#mpScreen[data-route="pages/index/index"] .beta-form-optional{
  font-size: 9.5px;
  font-weight: 700;
  color: var(--mp-x203);
  background-color: var(--mp-x204);
  border-radius: 6px;
  padding: 1px 5px;
  margin-left: 4px;}#mpScreen[data-route="pages/index/index"] .beta-id-row{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;}#mpScreen[data-route="pages/index/index"] .beta-id-value{
  font-size: 14px;
  font-weight: 800;
  color: var(--mp-x205);
  letter-spacing: 0.04em;}#mpScreen[data-route="pages/index/index"] .beta-chip-row{
  display: flex;
  flex-wrap: wrap;
  gap: 7px;}#mpScreen[data-route="pages/index/index"] .beta-province-row{
  max-height: 116px;
  overflow-y: auto;}#mpScreen[data-route="pages/index/index"] .beta-chip{
  padding: 6px 12px;
  border-radius: 15px;
  background-color: var(--mp-n100);
  border: 1px solid color-mix(in srgb, var(--mp-x201), transparent 78%);
  box-shadow: 0 1px 3px color-mix(in srgb, var(--mp-n00), transparent 96%);
  transition: transform 0.18s cubic-bezier(0.34, 1.56, 0.64, 1), background-color 0.18s ease, border-color 0.18s ease;}#mpScreen[data-route="pages/index/index"] .beta-chip:active{
  transform: scale(0.93);}#mpScreen[data-route="pages/index/index"] .beta-chip.is-on{
  background: linear-gradient(135deg, var(--mp-x198) 0%, var(--mp-x206) 100%);
  border-color: var(--mp-x201);
  box-shadow: 0 3px 10px color-mix(in srgb, var(--mp-x198), transparent 68%);}#mpScreen[data-route="pages/index/index"] .beta-chip-text{
  font-size: 12px;
  font-weight: 600;
  color: var(--mp-x202);
  line-height: 1.4;
  white-space: nowrap;}#mpScreen[data-route="pages/index/index"] .beta-chip.is-on .beta-chip-text{
  color: var(--mp-inkOn);}#mpScreen[data-route="pages/index/index"] .beta-chip-sm{
  padding: 4px 9px;
  border-radius: 12px;}#mpScreen[data-route="pages/index/index"] .beta-chip-sm .beta-chip-text{
  font-size: 11px;}#mpScreen[data-route="pages/index/index"] .beta-form-input{
  width: 100%;
  box-sizing: border-box;
  padding: 9px 12px;
  border-radius: 13px;
  background-color: var(--mp-n100);
  border: 1px solid color-mix(in srgb, var(--mp-x201), transparent 80%);
  font-size: 13px;
  color: var(--mp-ink1);}#mpScreen[data-route="pages/index/index"] .beta-agree-row{
  display: flex;
  align-items: flex-start;
  gap: 9px;}#mpScreen[data-route="pages/index/index"] .beta-agree-box{
  width: 18px;
  height: 18px;
  border-radius: 6px;
  border: 1.5px solid color-mix(in srgb, var(--mp-x201), transparent 55%);
  background-color: var(--mp-n100);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin-top: 1px;
  transition: background-color 0.18s ease, border-color 0.18s ease, transform 0.18s ease;}#mpScreen[data-route="pages/index/index"] .beta-agree-box.is-on{
  background: linear-gradient(135deg, var(--mp-x198), var(--mp-x206));
  border-color: var(--mp-x201);
  transform: scale(1.06);}#mpScreen[data-route="pages/index/index"] .beta-agree-tick{
  font-size: 12px;
  font-weight: 800;
  color: var(--mp-inkOn);
  line-height: 1;}#mpScreen[data-route="pages/index/index"] .beta-agree-text{
  flex: 1;
  min-width: 0;
  font-size: 11.5px;
  color: var(--mp-x200);
  line-height: 1.55;}#mpScreen[data-route="pages/index/index"] .beta-form-error{
  padding: 8px 12px;
  margin-bottom: 10px;
  border-radius: 13px;
  background: linear-gradient(135deg, var(--mp-x207), var(--mp-x208));
  border: 1px solid color-mix(in srgb, var(--mp-x209), transparent 78%);}#mpScreen[data-route="pages/index/index"] .beta-form-error-text{
  font-size: 11.5px;
  font-weight: 600;
  color: var(--mp-x210);
  line-height: 1.4;}#mpScreen[data-route="pages/index/index"] .beta-form-footer{
  padding-top: 10px;
  border-top: 0.5px solid color-mix(in srgb, var(--mp-n00), transparent 94%);}#mpScreen[data-route="pages/index/index"] .beta-form-submit{
  border-radius: 18px;
  padding: 11px 0;
  background: linear-gradient(120deg, var(--mp-x211) 0%, var(--mp-x198) 100%);
  box-shadow: 0 6px 18px color-mix(in srgb, var(--mp-x198), transparent 66%);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.18s ease;}#mpScreen[data-route="pages/index/index"] .beta-form-submit:active{
  transform: scale(0.97);}#mpScreen[data-route="pages/index/index"] .beta-form-submit-text{
  font-size: 14.5px;
  font-weight: 800;
  color: var(--mp-inkOn);
  letter-spacing: 0.02em;}

/* =================================================================== */
/* 🗺️ 全国数据看板：发帖位置地图 + 领养日历                              */
/* =================================================================== */
/* 全国、互动消息两块是直接挂在 .page-container 上的（首页/坐等被领养包在 .content-area 里）。
   底栏是同一个 flex 列的最后一个子元素，所以这一块必须自己声明"可以压缩、内部滚动"，
   否则看板比屏幕高时它会把底栏顶出 overflow:hidden 的裁剪框。
   以前只是靠 .tab-content 那句 overflow-x:hidden 顺带把它变成了滚动容器才没出事。 */#mpScreen[data-route="pages/index/index"] .nation-tab-content{
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  padding-bottom: 26px;}#mpScreen[data-route="pages/index/index"] .nation-hero{
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 16px 16px 13px;
  border-radius: 28px;
  background:
    radial-gradient(78% 62% at 88% -12%, color-mix(in srgb, var(--mp-w84), transparent 28%), transparent 68%),
    radial-gradient(62% 52% at -8% 6%, color-mix(in srgb, var(--mp-x212), transparent 50%), transparent 70%),
    linear-gradient(148deg, var(--mp-bHi) 0%, var(--mp-bHi) 34%, var(--mp-b1) 68%, var(--mp-bHi) 100%);
  border: 1px solid color-mix(in srgb, var(--mp-line4), transparent 48%);
  box-shadow: 0 16px 32px color-mix(in srgb, var(--mp-b1), transparent 73%), inset 0 1px 0 color-mix(in srgb, var(--mp-n100), transparent 50%);
  overflow: hidden;
  margin-bottom: 12px;}

/* 两团缓慢漂移的柔光，让橙色面不再是死板的平涂 */#mpScreen[data-route="pages/index/index"] .nation-hero-glow{
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
  will-change: transform;}#mpScreen[data-route="pages/index/index"] .nation-hero-glow-a{
  right: -42px;
  top: -58px;
  width: 156px;
  height: 156px;
  background: radial-gradient(circle, color-mix(in srgb, var(--mp-n100), transparent 58%), transparent 70%);
  animation: nationGlowA 11s ease-in-out infinite alternate;}#mpScreen[data-route="pages/index/index"] .nation-hero-glow-b{
  left: -36px;
  bottom: -50px;
  width: 126px;
  height: 126px;
  background: radial-gradient(circle, color-mix(in srgb, var(--mp-cMid), transparent 48%), transparent 70%);
  animation: nationGlowB 14s ease-in-out infinite alternate;}

@keyframes nationGlowA {
  0% { transform: translate(0, 0) scale(1); }
  100% { transform: translate(-12px, 14px) scale(1.12); }
}

@keyframes nationGlowB {
  0% { transform: translate(0, 0) scale(1.08); }
  100% { transform: translate(14px, -10px) scale(0.94); }
}#mpScreen[data-route="pages/index/index"] .nation-hero-shine{
  position: absolute;
  top: 0;
  bottom: 0;
  left: -40%;
  width: 40%;
  background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--mp-n100), transparent 74%), transparent);
  animation: nationShine 5.5s cubic-bezier(0.45, 0, 0.55, 1) infinite;
  pointer-events: none;}

@keyframes nationShine {
  0%, 55% { transform: translateX(0); }
  100% { transform: translateX(350%); }
}

/* 上半行：白色磨砂圆徽 + 标题与标签 */#mpScreen[data-route="pages/index/index"] .nation-hero-top{
  position: relative;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 13px;}

/* 白色磨砂圆徽托住地图 emoji：视觉重心略低于几何中心 */#mpScreen[data-route="pages/index/index"] .nation-hero-medal{
  position: relative;
  top: 4px;
  flex: none;
  box-sizing: border-box;
  width: 52px;
  height: 52px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: color-mix(in srgb, var(--mp-n100), transparent 6%);
  box-shadow: 0 7px 15px color-mix(in srgb, var(--mp-bDark), transparent 74%), inset 0 -7px 13px color-mix(in srgb, var(--mp-cMid), transparent 45%);}#mpScreen[data-route="pages/index/index"] .nation-hero-emoji{
  display: block;
  font-size: 27px;
  line-height: 1;
  animation: nationHeroBob 3.2s ease-in-out infinite;}

/* 漂浮围绕下移后的中心上下对称，不再单边吊高 */
@keyframes nationHeroBob {
  0%, 100% { transform: translateY(-2px) rotate(-4deg); }
  50% { transform: translateY(3px) rotate(4deg); }
}#mpScreen[data-route="pages/index/index"] .nation-hero-col{
  display: flex;
  flex-direction: column;
  gap: 4px;
  flex: 1;
  min-width: 0;}#mpScreen[data-route="pages/index/index"] .nation-hero-title{
  font-size: 18px;
  font-weight: 800;
  color: var(--mp-inkOn);
  letter-spacing: 0.03em;
  text-shadow: 0 1px 0 color-mix(in srgb, var(--mp-bDark), transparent 70%);}#mpScreen[data-route="pages/index/index"] .nation-hero-sub{
  font-size: 10.5px;
  line-height: 1.4;
  color: color-mix(in srgb, var(--mp-inkOn), transparent 6%);}#mpScreen[data-route="pages/index/index"] .nation-hero-chips{
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 4px;}#mpScreen[data-route="pages/index/index"] .nation-hero-chip{
  font-size: 10.5px;
  font-weight: 700;
  color: var(--mp-bRich);
  background: color-mix(in srgb, var(--mp-n100), transparent 7%);
  padding: 4px 10px;
  border-radius: 999px;
  box-shadow: 0 2px 6px color-mix(in srgb, var(--mp-bDark), transparent 84%);}#mpScreen[data-route="pages/index/index"] .nation-hero-spark{
  position: absolute;
  font-size: 15px;
  line-height: 1;
  opacity: 0.55;
  pointer-events: none;}#mpScreen[data-route="pages/index/index"] .nation-hero-spark-a{
  right: 16px;
  top: 12px;
  animation: nationSparkFloat 3.6s ease-in-out infinite;}#mpScreen[data-route="pages/index/index"] .nation-hero-spark-b{
  right: 42px;
  top: 40px;
  font-size: 12px;
  animation: nationSparkFloat 4.4s ease-in-out infinite reverse;}

@keyframes nationSparkFloat {
  0%, 100% { transform: translateY(0) rotate(10deg); }
  50% { transform: translateY(-5px) rotate(-8deg); }
}#mpScreen[data-route="pages/index/index"] .nation-stat-row{
  display: flex;
  gap: 8px;
  margin-bottom: 12px;}#mpScreen[data-route="pages/index/index"] .nation-stat-chip{
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  padding: 10px 4px 8px;
  border-radius: 18px;
  background: color-mix(in srgb, var(--mp-n100), transparent 10%);
  border: 1px solid color-mix(in srgb, var(--mp-b2), transparent 84%);
  box-shadow: 0 4px 12px color-mix(in srgb, var(--mp-b2), transparent 90%), inset 0 1px 0 color-mix(in srgb, var(--mp-n100), transparent 10%);
  animation: nationChipPop 0.5s cubic-bezier(0.34, 1.56, 0.64, 1) backwards;}#mpScreen[data-route="pages/index/index"] .nation-stat-chip:nth-child(2){ animation-delay: 0.06s;}#mpScreen[data-route="pages/index/index"] .nation-stat-chip:nth-child(3){ animation-delay: 0.12s;}#mpScreen[data-route="pages/index/index"] .nation-stat-chip:nth-child(4){ animation-delay: 0.18s;}

@keyframes nationChipPop {
  0% { transform: translateY(10px) scale(0.8); opacity: 0; }
  100% { transform: translateY(0) scale(1); opacity: 1; }
}#mpScreen[data-route="pages/index/index"] .nation-stat-emoji{ font-size: 17px; line-height: 1;}#mpScreen[data-route="pages/index/index"] .nation-stat-num{
  font-size: 19px;
  font-weight: 800;
  color: var(--mp-bDeep);
  line-height: 1.1;}#mpScreen[data-route="pages/index/index"] .nation-stat-label{
  font-size: 10px;
  color: var(--mp-n60);
  font-weight: 600;}

/* ---------- 地图 ---------- */#mpScreen[data-route="pages/index/index"] .nation-map-card{
  background: color-mix(in srgb, var(--mp-n100), transparent 8%);
  border: 1px solid color-mix(in srgb, var(--mp-b2), transparent 86%);
  border-radius: 22px;
  padding: 14px 12px 10px;
  box-shadow: 0 6px 18px color-mix(in srgb, var(--mp-n00), transparent 94%), inset 0 1px 0 color-mix(in srgb, var(--mp-n100), transparent 10%);
  margin-bottom: 12px;}#mpScreen[data-route="pages/index/index"] .nation-map-head{
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 0 4px 10px;}#mpScreen[data-route="pages/index/index"] .nation-map-title{
  font-size: 15px;
  font-weight: 800;
  color: var(--mp-ink1);}#mpScreen[data-route="pages/index/index"] .nation-map-sub{
  font-size: 11px;
  color: var(--mp-n60);}

/* 🧭 当前缩放层级胶囊：省 → 市 → 区县 → 街道 → 毛孩子 */#mpScreen[data-route="pages/index/index"] .nation-map-title-row{
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;}#mpScreen[data-route="pages/index/index"] .nation-map-tier{
  display: inline-flex;
  align-items: center;
  height: 20px;
  padding: 0 9px;
  box-sizing: border-box;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--mp-bGlow), var(--mp-b2));
  box-shadow: 0 3px 9px color-mix(in srgb, var(--mp-b2), transparent 68%);
  animation: nationTierIn 0.46s cubic-bezier(0.22, 0.8, 0.3, 1);}#mpScreen[data-route="pages/index/index"] .nation-map-tier-text{
  font-size: 10.5px;
  font-weight: 800;
  color: var(--mp-inkOn);
  line-height: 1;}

@keyframes nationTierIn {
  0% { opacity: 0; transform: translateY(5px) scale(0.84); }
  100% { opacity: 1; transform: translateY(0) scale(1); }
}#mpScreen[data-route="pages/index/index"] .nation-map-stage{
  position: relative;
  height: 292px;
  border-radius: 18px;
  overflow: hidden;
  background:
    radial-gradient(circle at 22% 18%, color-mix(in srgb, var(--mp-x213), transparent 82%), transparent 46%),
    radial-gradient(circle at 80% 78%, color-mix(in srgb, var(--mp-bHi), transparent 80%), transparent 50%),
    linear-gradient(180deg, var(--mp-x214) 0%, var(--mp-n100) 55%, var(--mp-w96) 100%);
  border: 1px solid color-mix(in srgb, var(--mp-x215), transparent 88%);
  touch-action: none;
  user-select: none;
  -webkit-user-select: none;
  cursor: grab;}#mpScreen[data-route="pages/index/index"] .nation-map-stage:active{ cursor: grabbing;}#mpScreen[data-route="pages/index/index"] .nation-map-world{
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  transform-origin: 50% 50%;
  will-change: transform;}#mpScreen[data-route="pages/index/index"] .nation-map-canvas{
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  background-size: 100% 100%;
  background-position: center;}#mpScreen[data-route="pages/index/index"] .nation-map-world.map-anim{
  transition: transform 0.52s cubic-bezier(0.22, 0.8, 0.3, 1), --pin-s 0.52s cubic-bezier(0.22, 0.8, 0.3, 1);}

/* 滚轮连发：每格只走 0.19s，后一格从当前插值位置接着走，
   一格一格的增量就连成一条连续曲线 */#mpScreen[data-route="pages/index/index"] .nation-map-world.map-anim-live{
  transition: transform 0.19s cubic-bezier(0.33, 1, 0.68, 1), --pin-s 0.19s cubic-bezier(0.33, 1, 0.68, 1);}

/* 标记的反缩放已经跟着世界层一起插值了，自己那条 transition 只会再叠一层延迟，
   缩放期间关掉，标记才不会比地图慢半拍 */#mpScreen[data-route="pages/index/index"] .nation-map-world.map-anim .nation-pin,
#mpScreen[data-route="pages/index/index"] .nation-map-world.map-anim-live .nation-pin{
  transition: none;}

/* 🔍 换级时底图轻轻推近再稳住，flip 类名交替保证动画可重放 */#mpScreen[data-route="pages/index/index"] .nation-map-world.map-flip-a .nation-map-canvas{
  animation: nationMapDrillA 0.55s cubic-bezier(0.22, 0.8, 0.3, 1);}#mpScreen[data-route="pages/index/index"] .nation-map-world.map-flip-b .nation-map-canvas{
  animation: nationMapDrillB 0.55s cubic-bezier(0.22, 0.8, 0.3, 1);}

@keyframes nationMapDrillA {
  0% { transform: scale(1.05); opacity: 0.55; }
  100% { transform: scale(1); opacity: 1; }
}

@keyframes nationMapDrillB {
  0% { transform: scale(1.05); opacity: 0.55; }
  100% { transform: scale(1); opacity: 1; }
}#mpScreen[data-route="pages/index/index"] .nation-pin{
  position: absolute;
  display: flex;
  flex-direction: column;
  align-items: center;
  transform: translate(-50%, -50%) scale(var(--pin-s, 1));
  transition: transform 0.3s cubic-bezier(0.22, 0.8, 0.3, 1);
  cursor: pointer;}#mpScreen[data-route="pages/index/index"] .nation-pin.pin-anim-a{
  animation: nationPinInA 0.42s cubic-bezier(0.22, 0.8, 0.3, 1) backwards;}#mpScreen[data-route="pages/index/index"] .nation-pin.pin-anim-b{
  animation: nationPinInB 0.42s cubic-bezier(0.22, 0.8, 0.3, 1) backwards;}

/* 标记不掉落、不弹跳：只是轻轻淡入并稳住，错峰一圈像涟漪散开 */
@keyframes nationPinInA {
  0% { transform: translate(-50%, -50%) scale(calc(var(--pin-s, 1) * 0.86)); opacity: 0; }
  100% { transform: translate(-50%, -50%) scale(var(--pin-s, 1)); opacity: 1; }
}

@keyframes nationPinInB {
  0% { transform: translate(-50%, -50%) scale(calc(var(--pin-s, 1) * 0.86)); opacity: 0; }
  100% { transform: translate(-50%, -50%) scale(var(--pin-s, 1)); opacity: 1; }
}#mpScreen[data-route="pages/index/index"] .nation-pin.pin-on{
  transform: translate(-50%, -50%) scale(calc(var(--pin-s, 1) * 1.16));
  z-index: 5;}#mpScreen[data-route="pages/index/index"] .nation-pin-emoji{
  font-size: 21px;
  line-height: 1;
  padding: 5px 6px 6px;
  background: color-mix(in srgb, var(--mp-n100), transparent 5%);
  border: 1.5px solid color-mix(in srgb, var(--mp-b2), transparent 55%);
  border-radius: 50% 50% 50% 8px;
  box-shadow: 0 3px 8px color-mix(in srgb, var(--mp-n00), transparent 84%), inset 0 1px 0 color-mix(in srgb, var(--mp-n100), transparent 10%);}#mpScreen[data-route="pages/index/index"] .nation-pin-count{
  margin-top: -4px;
  min-width: 16px;
  padding: 1px 5px;
  box-sizing: border-box;
  border-radius: 9px;
  background: linear-gradient(135deg, var(--mp-b2), var(--mp-x163));
  border: 1.5px solid var(--mp-line4);
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 6px color-mix(in srgb, var(--mp-x163), transparent 60%);}#mpScreen[data-route="pages/index/index"] .nation-pin-count-text{
  font-size: 9.5px;
  font-weight: 800;
  color: var(--mp-inkOn);
  line-height: 1.2;}

/* 只剩一只毛孩子的点：脚下挂一块名字牌，比数字徽标更认得出是谁。
   绝对定位挂在 emoji 下面，不参与标记自身的高度，否则定标点会被名字牌顶偏 */#mpScreen[data-route="pages/index/index"] .nation-pin-name{
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  margin-top: 2px;
  max-width: 72px;
  padding: 2px 6px;
  box-sizing: border-box;
  border-radius: 9px;
  background: color-mix(in srgb, var(--mp-n100), transparent 8%);
  border: 1px solid color-mix(in srgb, var(--mp-b2), transparent 60%);
  box-shadow: 0 2px 6px color-mix(in srgb, var(--mp-n00), transparent 86%);
  font-size: 9.5px;
  font-weight: 700;
  color: var(--mp-bDeep);
  line-height: 1.25;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;}#mpScreen[data-route="pages/index/index"] .nation-pin-bubble{
  position: absolute;
  z-index: 8;
  pointer-events: auto;
  transform: translate(-50%, -50%) scale(var(--pin-s, 1));}#mpScreen[data-route="pages/index/index"] .nation-pin-bubble-card{
  position: absolute;
  left: 50%;
  bottom: 15px;
  transform: translateX(-50%);
  background: var(--mp-n100);
  border: 1.5px solid color-mix(in srgb, var(--mp-x215), transparent 70%);
  border-radius: 14px;
  padding: 7px 12px;
  box-sizing: border-box;
  box-shadow: 0 8px 20px color-mix(in srgb, var(--mp-n00), transparent 82%);
  animation: nationBubblePop 0.34s cubic-bezier(0.34, 1.56, 0.64, 1);
  white-space: nowrap;}#mpScreen[data-route="pages/index/index"] .nation-pin-bubble-card::after{
  content: '';
  position: absolute;
  left: 50%;
  bottom: -6px;
  width: 10px;
  height: 10px;
  background: var(--mp-n100);
  border-right: 1.5px solid color-mix(in srgb, var(--mp-x215), transparent 70%);
  border-bottom: 1.5px solid color-mix(in srgb, var(--mp-x215), transparent 70%);
  transform: translateX(-50%) rotate(45deg);}

@keyframes nationBubblePop {
  0% { opacity: 0; }
  100% { opacity: 1; }
}#mpScreen[data-route="pages/index/index"] .nation-pin-bubble-text{
  font-size: 12px;
  font-weight: 700;
  color: var(--mp-x215);}#mpScreen[data-route="pages/index/index"] .nation-map-cloud{
  position: absolute;
  font-size: 22px;
  opacity: 0.5;
  pointer-events: none;
  animation: nationCloudDrift 16s linear infinite;}#mpScreen[data-route="pages/index/index"] .nation-cloud-1{ top: 8%; left: -12%; animation-duration: 19s;}#mpScreen[data-route="pages/index/index"] .nation-cloud-2{ top: 34%; left: -16%; animation-duration: 26s; animation-delay: 6s; font-size: 17px; opacity: 0.38;}#mpScreen[data-route="pages/index/index"] .nation-cloud-3{ top: 62%; left: -10%; animation-duration: 22s; animation-delay: 11s; font-size: 15px; opacity: 0.45;}

@keyframes nationCloudDrift {
  0% { transform: translateX(0); }
  100% { transform: translateX(420px); }
}#mpScreen[data-route="pages/index/index"] .nation-map-ctrls{
  position: absolute;
  right: 8px;
  bottom: 8px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  z-index: 6;}#mpScreen[data-route="pages/index/index"] .nation-map-ctrl{
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: color-mix(in srgb, var(--mp-n100), transparent 8%);
  border: 1px solid color-mix(in srgb, var(--mp-x215), transparent 78%);
  box-shadow: 0 3px 8px color-mix(in srgb, var(--mp-n00), transparent 88%);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.18s cubic-bezier(0.34, 1.56, 0.64, 1);}#mpScreen[data-route="pages/index/index"] .nation-map-ctrl:active{ transform: scale(0.86);}#mpScreen[data-route="pages/index/index"] .nation-map-ctrl-text{ font-size: 13px; line-height: 1;}#mpScreen[data-route="pages/index/index"] .nation-map-empty{
  position: absolute;
  left: 0;
  right: 0;
  top: 40%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  padding: 0 30px;}#mpScreen[data-route="pages/index/index"] .nation-map-empty-emoji{ font-size: 30px;}#mpScreen[data-route="pages/index/index"] .nation-map-empty-text{
  font-size: 12px;
  color: var(--mp-x216);
  text-align: center;
  line-height: 1.5;}#mpScreen[data-route="pages/index/index"] .nation-map-hint{
  padding: 8px 4px 2px;
  font-size: 10.5px;
  color: var(--mp-n60);
  text-align: center;}

/* ---------- 领养日历 ---------- */#mpScreen[data-route="pages/index/index"] .nation-cal-card{
  background: color-mix(in srgb, var(--mp-n100), transparent 8%);
  border: 1px solid color-mix(in srgb, var(--mp-b2), transparent 86%);
  border-radius: 22px;
  padding: 14px 12px 14px;
  box-shadow: 0 6px 18px color-mix(in srgb, var(--mp-n00), transparent 94%), inset 0 1px 0 color-mix(in srgb, var(--mp-n100), transparent 10%);}#mpScreen[data-route="pages/index/index"] .nation-cal-head{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 10px;}#mpScreen[data-route="pages/index/index"] .nation-cal-arrow{
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--mp-w92);
  border: 1px solid color-mix(in srgb, var(--mp-b2), transparent 76%);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: transform 0.18s cubic-bezier(0.34, 1.56, 0.64, 1);}#mpScreen[data-route="pages/index/index"] .nation-cal-arrow:active{ transform: scale(0.86);}#mpScreen[data-route="pages/index/index"] .nation-cal-arrow-text{ font-size: 12px; line-height: 1;}#mpScreen[data-route="pages/index/index"] .nation-cal-title-col{
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  min-width: 0;}#mpScreen[data-route="pages/index/index"] .nation-cal-title{
  font-size: 16px;
  font-weight: 800;
  color: var(--mp-ink1);}#mpScreen[data-route="pages/index/index"] .nation-cal-sub{
  font-size: 10.5px;
  color: var(--mp-n60);}#mpScreen[data-route="pages/index/index"] .nation-cal-switch{
  display: flex;
  background: var(--mp-n96);
  border-radius: 16px;
  padding: 3px;
  margin-bottom: 10px;}#mpScreen[data-route="pages/index/index"] .nation-cal-switch-item{
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 6px 0;
  border-radius: 13px;
  transition: all 0.25s cubic-bezier(0.25, 0.1, 0.25, 1);}#mpScreen[data-route="pages/index/index"] .nation-cal-switch-item.on{
  background: linear-gradient(135deg, var(--mp-b2), var(--mp-bHi));
  box-shadow: 0 2px 8px color-mix(in srgb, var(--mp-b2), transparent 65%);}#mpScreen[data-route="pages/index/index"] .nation-cal-switch-text{
  font-size: 12px;
  font-weight: 700;
  color: var(--mp-n60);}#mpScreen[data-route="pages/index/index"] .nation-cal-switch-item.on .nation-cal-switch-text{ color: var(--mp-inkOn);}#mpScreen[data-route="pages/index/index"] .nation-flip-a,
#mpScreen[data-route="pages/index/index"] .nation-flip-b{
  animation: nationCalIn 0.36s cubic-bezier(0.25, 0.9, 0.3, 1);}

@keyframes nationCalIn {
  0% { transform: translateY(8px) scale(0.985); opacity: 0.35; }
  100% { transform: translateY(0) scale(1); opacity: 1; }
}#mpScreen[data-route="pages/index/index"] .nation-cal-week{
  display: flex;
  margin-bottom: 4px;}#mpScreen[data-route="pages/index/index"] .nation-cal-week-text{
  flex: 1;
  text-align: center;
  font-size: 10.5px;
  font-weight: 700;
  color: var(--mp-n68);}#mpScreen[data-route="pages/index/index"] .nation-cal-grid{
  display: flex;
  flex-wrap: wrap;
  gap: 4px;}#mpScreen[data-route="pages/index/index"] .nation-cal-cell{
  position: relative;
  width: calc((100% - 24px) / 7);
  height: 40px;
  border-radius: 12px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1px;
  box-sizing: border-box;
  transition: transform 0.2s cubic-bezier(0.34, 1.56, 0.64, 1), background-color 0.2s ease;}#mpScreen[data-route="pages/index/index"] .nation-cal-cell.in-month .nation-cal-day{ color: var(--mp-ink3);}#mpScreen[data-route="pages/index/index"] .nation-cal-day{
  font-size: 11px;
  font-weight: 600;
  color: transparent;
  line-height: 1;}#mpScreen[data-route="pages/index/index"] .nation-cal-num{
  font-size: 12px;
  font-weight: 800;
  color: var(--mp-bDeep);
  line-height: 1;}

/* 星星贴在格子右上角，不参与 flex 排布，免得把日号顶歪 */#mpScreen[data-route="pages/index/index"] .nation-cal-star{
  position: absolute;
  top: 1px;
  right: 2px;
  font-size: 9px;
  line-height: 1;}#mpScreen[data-route="pages/index/index"] .nation-cal-cell.has-num{ background: var(--mp-w92);}#mpScreen[data-route="pages/index/index"] .nation-cal-cell.has-num.lv-2{ background: var(--mp-cPale);}#mpScreen[data-route="pages/index/index"] .nation-cal-cell.has-num.lv-3{
  background: linear-gradient(135deg, var(--mp-b2), var(--mp-x163));
  box-shadow: 0 3px 10px color-mix(in srgb, var(--mp-x163), transparent 65%);}#mpScreen[data-route="pages/index/index"] .nation-cal-cell.has-num.lv-3 .nation-cal-day,
#mpScreen[data-route="pages/index/index"] .nation-cal-cell.has-num.lv-3 .nation-cal-num{ color: var(--mp-inkOn);}#mpScreen[data-route="pages/index/index"] .nation-cal-cell.is-today{
  border: 1.5px dashed color-mix(in srgb, var(--mp-b2), transparent 30%);}#mpScreen[data-route="pages/index/index"] .nation-cal-cell.picked{
  transform: scale(1.08);
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--mp-x211), transparent 45%), 0 4px 10px color-mix(in srgb, var(--mp-n00), transparent 88%);}#mpScreen[data-route="pages/index/index"] .nation-cal-daychip{
  display: flex;
  justify-content: center;
  margin-top: 10px;}#mpScreen[data-route="pages/index/index"] .nation-cal-daychip-text{
  padding: 6px 14px;
  border-radius: 16px;
  background: linear-gradient(135deg, var(--mp-x211), var(--mp-x198));
  color: var(--mp-inkOn);
  font-size: 12px;
  font-weight: 700;
  box-shadow: 0 4px 12px color-mix(in srgb, var(--mp-x211), transparent 70%);
  animation: nationChipPop 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);}#mpScreen[data-route="pages/index/index"] .nation-year-grid{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;}#mpScreen[data-route="pages/index/index"] .nation-year-cell{
  width: calc((100% - 24px) / 4);
  height: 62px;
  border-radius: 16px;
  background: var(--mp-n100);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 3px;
  box-sizing: border-box;
  transition: transform 0.2s cubic-bezier(0.34, 1.56, 0.64, 1);}#mpScreen[data-route="pages/index/index"] .nation-year-cell:active{ transform: scale(0.94);}#mpScreen[data-route="pages/index/index"] .nation-year-month{
  font-size: 11px;
  font-weight: 700;
  color: var(--mp-n50);}#mpScreen[data-route="pages/index/index"] .nation-year-num{
  font-size: 17px;
  font-weight: 800;
  color: var(--mp-n76);
  line-height: 1;}#mpScreen[data-route="pages/index/index"] .nation-year-cell.has-num{ background: var(--mp-w92);}#mpScreen[data-route="pages/index/index"] .nation-year-cell.has-num.lv-2{ background: var(--mp-cPale);}#mpScreen[data-route="pages/index/index"] .nation-year-cell.has-num.lv-3{
  background: linear-gradient(135deg, var(--mp-b2), var(--mp-x163));}#mpScreen[data-route="pages/index/index"] .nation-year-cell.has-num .nation-year-num{ color: var(--mp-bDeep);}#mpScreen[data-route="pages/index/index"] .nation-year-cell.has-num.lv-3 .nation-year-num{ color: var(--mp-inkOn);}#mpScreen[data-route="pages/index/index"] .nation-year-cell.has-num.lv-3 .nation-year-month{ color: color-mix(in srgb, var(--mp-inkOn), transparent 10%);}#mpScreen[data-route="pages/index/index"] .nation-year-cell.is-now{
  border: 1.5px dashed color-mix(in srgb, var(--mp-b2), transparent 30%);}

/* ---------- 🐾 养宠冷知识轮播：全国看板紧凑条 + 游客首页大版块 ---------- */

/* 串门小动物：两套跳跃节拍来回切，换 emoji 时动作也跟着换 */#mpScreen[data-route="pages/index/index"] .mascot-flip-a{
  display: inline-block;
  animation: mascotHopA 1.8s ease-in-out infinite;}#mpScreen[data-route="pages/index/index"] .mascot-flip-b{
  display: inline-block;
  animation: mascotHopB 1.8s ease-in-out infinite;}

@keyframes mascotHopA {
  0%, 100% { transform: translateY(0) rotate(-8deg); }
  50% { transform: translateY(-3px) rotate(8deg); }
}

@keyframes mascotHopB {
  0%, 100% { transform: translateY(-1px) rotate(10deg) scale(1.06); }
  50% { transform: translateY(1px) rotate(-10deg) scale(0.94); }
}

/* 看板底部磨砂条：只托着那句轮播知识 */#mpScreen[data-route="pages/index/index"] .nation-hero-ticker{
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 8px 11px 9px;
  border-radius: 18px;
  background: linear-gradient(180deg, color-mix(in srgb, var(--mp-n100), transparent 4%) 0%, color-mix(in srgb, var(--mp-w96), transparent 8%) 100%);
  border: 1px solid color-mix(in srgb, var(--mp-line4), transparent 28%);
  box-shadow: 0 6px 16px color-mix(in srgb, var(--mp-bDark), transparent 82%), inset 0 1px 0 color-mix(in srgb, var(--mp-n100), transparent 5%);}

/* 底边下拉到三行：按语料最长那条知识预留高度，短句垂直居中，框不再随语句长短涨缩 */#mpScreen[data-route="pages/index/index"] .nation-hero-tip{
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 4px;
  min-height: 43px;
  width: 100%;
  opacity: 0;
  transform: translateY(3px);
  transition: opacity 0.45s ease, transform 0.45s ease;}#mpScreen[data-route="pages/index/index"] .nation-hero-tip.is-on{
  opacity: 1;
  transform: translateY(0);}#mpScreen[data-route="pages/index/index"] .hero-tip-spark{
  font-size: 10px;
  line-height: 1.4;
  animation: heroTipSpark 1.8s cubic-bezier(0.45, 0, 0.55, 1) infinite;}

@keyframes heroTipSpark {
  0%, 100% { transform: scale(0.8) rotate(0deg); opacity: 0.5; }
  50% { transform: scale(1.25) rotate(24deg); opacity: 1; }
}#mpScreen[data-route="pages/index/index"] .nation-hero-tip-text{
  flex: 1;
  min-width: 0;
  font-size: 10.5px;
  line-height: 1.35;
  color: var(--mp-cDeep);
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;}

/* 游客首页的大版块：四周留出走兽道，动物沿边绕行成框 */#mpScreen[data-route="pages/index/index"] .tip-board{
  position: relative;
  margin-bottom: 14px;
  padding: 28px 30px 30px;
  border-radius: 26px;
  background: linear-gradient(135deg, var(--mp-w96) 0%, var(--mp-w92) 55%, var(--mp-w84) 100%);
  border: 1px solid color-mix(in srgb, var(--mp-b2), transparent 68%);
  box-shadow: 0 12px 26px color-mix(in srgb, var(--mp-b2), transparent 84%), inset 0 1px 0 color-mix(in srgb, var(--mp-n100), transparent 10%);
  overflow: hidden;}#mpScreen[data-route="pages/index/index"] .tip-board-shine{
  position: absolute;
  top: 0;
  bottom: 0;
  left: -40%;
  width: 40%;
  background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--mp-cMid), transparent 65%), transparent);
  animation: nationShine 6.5s cubic-bezier(0.45, 0, 0.55, 1) infinite;
  pointer-events: none;}#mpScreen[data-route="pages/index/index"] .tip-board-head{
  position: relative;
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 10px;}#mpScreen[data-route="pages/index/index"] .tip-board-mascot{
  font-size: 34px;
  line-height: 1;
  padding: 8px;
  border-radius: 18px;
  background: color-mix(in srgb, var(--mp-n100), transparent 38%);
  box-shadow: inset 0 1px 0 color-mix(in srgb, var(--mp-n100), transparent 10%);}#mpScreen[data-route="pages/index/index"] .tip-board-head-col{
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;}#mpScreen[data-route="pages/index/index"] .tip-board-title{
  font-size: 16px;
  font-weight: 800;
  color: var(--mp-bDeep);
  letter-spacing: 0.02em;}#mpScreen[data-route="pages/index/index"] .tip-board-sub{
  font-size: 11px;
  color: var(--mp-cDeep);}

/* 游客小课堂：串门小分队排一整排，领队最大，后面错峰小跑 */
/* 🐾 动态边框：80 只动物沿卡片四边顺时针绕行，四边各取一段错相 */#mpScreen[data-route="pages/index/index"] .tip-ring{
  position: absolute;
  overflow: hidden;
  pointer-events: none;}#mpScreen[data-route="pages/index/index"] .tip-ring-top,
#mpScreen[data-route="pages/index/index"] .tip-ring-bottom{
  left: 27px;
  right: 27px;
  height: 20px;
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, var(--mp-n00) 9%, var(--mp-n00) 91%, transparent 100%);
  mask-image: linear-gradient(90deg, transparent 0%, var(--mp-n00) 9%, var(--mp-n00) 91%, transparent 100%);}#mpScreen[data-route="pages/index/index"] .tip-ring-top{ top: 5px;}#mpScreen[data-route="pages/index/index"] .tip-ring-bottom{ bottom: 5px;}#mpScreen[data-route="pages/index/index"] .tip-ring-left,
#mpScreen[data-route="pages/index/index"] .tip-ring-right{
  top: 27px;
  bottom: 27px;
  width: 19px;
  -webkit-mask-image: linear-gradient(180deg, transparent 0%, var(--mp-n00) 12%, var(--mp-n00) 88%, transparent 100%);
  mask-image: linear-gradient(180deg, transparent 0%, var(--mp-n00) 12%, var(--mp-n00) 88%, transparent 100%);}#mpScreen[data-route="pages/index/index"] .tip-ring-left{ left: 5px;}#mpScreen[data-route="pages/index/index"] .tip-ring-right{ right: 5px;}#mpScreen[data-route="pages/index/index"] .tip-ring-run{
  display: inline-block;
  width: max-content;
  white-space: nowrap;
  font-size: 15px;
  line-height: 20px;
  opacity: 0.9;
  animation: tipRingFlow 46s linear infinite;
  will-change: transform;}

/* 竖边：用 break-all 把同一串动物挤成一列，emoji 保持正立 */#mpScreen[data-route="pages/index/index"] .tip-ring-run-v{
  display: block;
  width: 17px;
  height: max-content;
  white-space: normal;
  word-break: break-all;
  font-size: 14px;
  line-height: 17px;
  animation-name: tipRingFlowV;
  animation-duration: 47s;}

/* 顺时针一圈：上边向右、右边向下、下边向左、左边向上 */#mpScreen[data-route="pages/index/index"] .tip-ring-top .tip-ring-run,
#mpScreen[data-route="pages/index/index"] .tip-ring-right .tip-ring-run-v{
  animation-direction: reverse;}#mpScreen[data-route="pages/index/index"] .tip-ring-top .tip-ring-run{ animation-delay: 0s;}#mpScreen[data-route="pages/index/index"] .tip-ring-right .tip-ring-run-v{ animation-delay: -12s;}#mpScreen[data-route="pages/index/index"] .tip-ring-bottom .tip-ring-run{ animation-delay: -23s;}#mpScreen[data-route="pages/index/index"] .tip-ring-left .tip-ring-run-v{ animation-delay: -35s;}

@keyframes tipRingFlow {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

@keyframes tipRingFlowV {
  0% { transform: translateY(0); }
  100% { transform: translateY(-50%); }
}#mpScreen[data-route="pages/index/index"] .tip-board-tail{
  font-size: 14px;
  line-height: 1.2;
  align-self: flex-end;
  animation: tipTailWave 2.4s cubic-bezier(0.45, 0, 0.55, 1) infinite;}

@keyframes tipTailWave {
  0%, 100% { transform: translateY(0) rotate(-8deg); opacity: 0.6; }
  50% { transform: translateY(-4px) rotate(8deg); opacity: 1; }
}#mpScreen[data-route="pages/index/index"] .tip-board-body{
  position: relative;
  display: flex;
  /* 知识行高度锁死为四行（按语料最长那条预留），短句在框里垂直居中，绕场边框才不会随语句长短涨缩 */
  align-items: center;
  box-sizing: border-box;
  height: 122px;
  gap: 10px;
  padding: 12px 14px;
  border-radius: 18px;
  background: color-mix(in srgb, var(--mp-n100), transparent 28%);
  border: 1px dashed color-mix(in srgb, var(--mp-b2), transparent 60%);
  opacity: 0;
  transform: translateY(6px);
  transition: opacity 0.5s ease, transform 0.5s ease;}#mpScreen[data-route="pages/index/index"] .tip-board-body.is-on{
  opacity: 1;
  transform: translateY(0);}#mpScreen[data-route="pages/index/index"] .tip-board-emoji{
  font-size: 26px;
  line-height: 1.2;}#mpScreen[data-route="pages/index/index"] .tip-board-text{
  flex: 1;
  min-width: 0;
  font-size: 14px;
  line-height: 1.7;
  font-weight: 600;
  color: var(--mp-cDeep);
  /* 语料最长 44 字＝四行（整页随视口等比缩放，行数不随宽度变化） */
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
  overflow: hidden;}

/* ========== 🖼️ 领养信息留档图 ========== */
/* 卡片右下角的生成按钮：奶油底 + 橘色描边，和深色的「领养详情」区分开 */#mpScreen[data-route="pages/index/index"] .poster-adopt-btn{
  background-color: var(--mp-n100);
  background-image: none;
  border: 2px solid var(--mp-bHi);
  box-shadow: 0 4px 12px color-mix(in srgb, var(--mp-b2), transparent 78%);}#mpScreen[data-route="pages/index/index"] .poster-adopt-btn .adopted-btn-text{
  color: var(--mp-bDeep);
  text-shadow: none;}#mpScreen[data-route="pages/index/index"] .poster-modal-overlay{
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1200;
  display: flex;
  align-items: center;
  justify-content: center;}#mpScreen[data-route="pages/index/index"] .poster-modal-mask{
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: color-mix(in srgb, var(--mp-w20), transparent 55%);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);}#mpScreen[data-route="pages/index/index"] .poster-modal-card{
  position: relative;
  width: 340px;
  max-width: calc(92 * var(--mpvw));
  max-height: calc(88 * var(--mpvh));
  padding: 26px 22px 20px;
  box-sizing: border-box;
  border-radius: 26px;
  background: linear-gradient(180deg, var(--mp-n100) 0%, var(--mp-w96) 100%);
  box-shadow: 0 16px 48px color-mix(in srgb, var(--mp-n00), transparent 84%);
  display: flex;
  flex-direction: column;
  animation: posterCardIn 0.42s cubic-bezier(0.34, 1.56, 0.64, 1) both;}

@keyframes posterCardIn {
  0% { opacity: 0; transform: translateY(18px) scale(0.94); }
  100% { opacity: 1; transform: translateY(0) scale(1); }
}#mpScreen[data-route="pages/index/index"] .poster-modal-border{
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  pointer-events: none;}#mpScreen[data-route="pages/index/index"] .poster-modal-dot{
  position: absolute;
  font-size: 22px;
  line-height: 1;}#mpScreen[data-route="pages/index/index"] .poster-modal-dot.dot-tl{ top: -11px; left: -11px;}#mpScreen[data-route="pages/index/index"] .poster-modal-dot.dot-tr{ top: -11px; right: -11px;}#mpScreen[data-route="pages/index/index"] .poster-modal-dot.dot-bl{ bottom: -11px; left: -11px;}#mpScreen[data-route="pages/index/index"] .poster-modal-dot.dot-br{ bottom: -11px; right: -11px;}#mpScreen[data-route="pages/index/index"] .poster-modal-close{
  position: absolute;
  top: 12px;
  right: 12px;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background-color: var(--mp-w92);
  display: flex;
  align-items: center;
  justify-content: center;}#mpScreen[data-route="pages/index/index"] .poster-modal-close-icon{
  font-size: 14px;
  line-height: 1;
  color: var(--mp-cDeep);}#mpScreen[data-route="pages/index/index"] .poster-modal-title{
  font-size: 19px;
  font-weight: 800;
  color: var(--mp-w20);
  text-align: center;
  line-height: 1.3;}#mpScreen[data-route="pages/index/index"] .poster-modal-sub{
  margin-top: 4px;
  font-size: 12px;
  color: var(--mp-w42);
  text-align: center;
  line-height: 1.5;}#mpScreen[data-route="pages/index/index"] .poster-modal-scroll{
  margin-top: 14px;
  flex: 1 1 auto;
  min-height: 0;
  max-height: calc(46 * var(--mpvh));
  border-radius: 18px;
  border: 2px dashed var(--mp-cMid);
  background-color: var(--mp-n100);
  box-sizing: border-box;
  padding: 10px;}#mpScreen[data-route="pages/index/index"] .poster-loading{
  height: 160px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;}#mpScreen[data-route="pages/index/index"] .poster-loading-icon{
  font-size: 30px;
  line-height: 1;
  animation: posterPawBounce 1.1s ease-in-out infinite;}

@keyframes posterPawBounce {
  0%, 100% { transform: translateY(0) scale(1); }
  50% { transform: translateY(-8px) scale(1.08); }
}#mpScreen[data-route="pages/index/index"] .poster-loading-text{
  font-size: 13px;
  color: var(--mp-w42);}#mpScreen[data-route="pages/index/index"] .poster-modal-img{
  width: 100%;
  display: block;
  border-radius: 14px;}#mpScreen[data-route="pages/index/index"] .poster-modal-zoom-hint{
  margin-top: 8px;
  font-size: 11px;
  color: var(--mp-w68);
  text-align: center;}#mpScreen[data-route="pages/index/index"] .poster-modal-tip{
  margin-top: 12px;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 8px;
  padding: 10px 12px;
  border-radius: 14px;
  background-color: var(--mp-w92);
  border: 2px solid var(--mp-cMid);
  box-sizing: border-box;}#mpScreen[data-route="pages/index/index"] .poster-modal-tip-icon{
  font-size: 15px;
  line-height: 1.5;
  flex-shrink: 0;}#mpScreen[data-route="pages/index/index"] .poster-modal-tip-text{
  flex: 1;
  min-width: 0;
  font-size: 12px;
  line-height: 1.6;
  color: var(--mp-cDeep);
  font-weight: 600;}#mpScreen[data-route="pages/index/index"] .poster-modal-actions{
  margin-top: 14px;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 10px;}#mpScreen[data-route="pages/index/index"] .poster-save-btn{
  flex: 1 1 auto;
  height: 42px;
  border-radius: 21px;
  background: linear-gradient(135deg, var(--mp-bHi), var(--mp-b1));
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 6px 16px color-mix(in srgb, var(--mp-b1), transparent 68%);
  transition: transform 0.15s ease, opacity 0.15s ease;}#mpScreen[data-route="pages/index/index"] .poster-save-btn:active{
  transform: scale(0.96);
  opacity: 0.9;}#mpScreen[data-route="pages/index/index"] .poster-save-text{
  font-size: 14px;
  font-weight: 800;
  color: var(--mp-inkOn);
  line-height: 1;}#mpScreen[data-route="pages/index/index"] .poster-later-btn{
  flex: 0 0 auto;
  height: 42px;
  padding: 0 18px;
  border-radius: 21px;
  background-color: var(--mp-w92);
  border: 2px solid var(--mp-cMid);
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  transition: transform 0.15s ease, opacity 0.15s ease;}#mpScreen[data-route="pages/index/index"] .poster-later-btn:active{
  transform: scale(0.96);
  opacity: 0.9;}#mpScreen[data-route="pages/index/index"] .poster-later-text{
  font-size: 13px;
  font-weight: 700;
  color: var(--mp-cDeep);
  line-height: 1;}

/* ============================================================
   📅 日期选择格（出生日期 / 收留日期 / 每针疫苗日期）
   空着是虚线奶油格，选过变实心暖橘；点开是月历弹层（样式在 base.css）
   ============================================================ */#mpScreen[data-route="pages/index/index"] .date-picker-display{
  justify-content: space-between;
  gap: 8px;
  background-color: var(--mp-n100);
  background-image: linear-gradient(135deg, var(--mp-n100) 0%, var(--mp-w92) 100%);
  border: 1.5px dashed color-mix(in srgb, var(--mp-b1), transparent 62%);
  box-shadow: inset 0 1px 0 color-mix(in srgb, var(--mp-n100), transparent 10%);
  transition: border-color 0.2s ease, background-image 0.2s ease, box-shadow 0.2s ease, transform 0.18s cubic-bezier(0.34, 1.56, 0.64, 1);}#mpScreen[data-route="pages/index/index"] .date-picker-display:active{ transform: scale(0.985);}#mpScreen[data-route="pages/index/index"] .date-picker-display::after{
  content: '📅';
  font-size: 15px;
  line-height: 1;
  flex: none;
  opacity: 0.85;}#mpScreen[data-route="pages/index/index"] .date-picker-display:not(:has(.date-picker-placeholder)){
  border-style: solid;
  border-color: color-mix(in srgb, var(--mp-b1), transparent 50%);
  background-image: linear-gradient(135deg, var(--mp-w92) 0%, var(--mp-w84) 100%);
  box-shadow: 0 4px 12px color-mix(in srgb, var(--mp-b1), transparent 84%);}#mpScreen[data-route="pages/index/index"] .date-picker-text{
  font-size: 15px;
  font-weight: 700;
  color: var(--mp-cDeep);
  letter-spacing: 0;}#mpScreen[data-route="pages/index/index"] .date-picker-text.date-picker-placeholder{
  font-size: 14px;
  font-weight: 500;
  color: var(--mp-w68);}#mpScreen[data-route="pages/index/index"] .vaccine-date-item{
  background-image: linear-gradient(135deg, var(--mp-n100) 0%, var(--mp-w96) 100%);
  border: 1px solid color-mix(in srgb, var(--mp-b2), transparent 74%);
  border-radius: 14px;
  box-shadow: 0 2px 8px color-mix(in srgb, var(--mp-cDeep), transparent 92%);}#mpScreen[data-route="pages/index/index"] .vaccine-date-item-label{
  color: var(--mp-cDeep);}#mpScreen[data-route="pages/index/index"] .vaccine-date-picker{
  min-width: 140px;
  height: 40px;
  padding: 0 12px;
  gap: 6px;
  justify-content: flex-start;
  border-radius: 14px;
  background-image: linear-gradient(135deg, var(--mp-n100) 0%, var(--mp-w92) 100%);
  border: 1.5px dashed color-mix(in srgb, var(--mp-b1), transparent 62%);
  box-shadow: inset 0 1px 0 color-mix(in srgb, var(--mp-n100), transparent 10%);
  transition: border-color 0.2s ease, background-image 0.2s ease, box-shadow 0.2s ease, transform 0.18s cubic-bezier(0.34, 1.56, 0.64, 1);}#mpScreen[data-route="pages/index/index"] .vaccine-date-picker:active{ transform: scale(0.985);}#mpScreen[data-route="pages/index/index"] .vaccine-date-picker:not(:has(.vaccine-date-picker-placeholder)){
  border-style: solid;
  border-color: color-mix(in srgb, var(--mp-b1), transparent 50%);
  background-image: linear-gradient(135deg, var(--mp-w92) 0%, var(--mp-w84) 100%);
  box-shadow: 0 4px 12px color-mix(in srgb, var(--mp-b1), transparent 84%);}#mpScreen[data-route="pages/index/index"] .vaccine-date-picker-text{
  font-size: 13.5px;
  font-weight: 700;
  color: var(--mp-cDeep);}#mpScreen[data-route="pages/index/index"] .vaccine-date-picker-placeholder{
  font-size: 12.5px;
  font-weight: 500;
  color: var(--mp-w68);}#mpScreen[data-route="pages/index/index"] .vaccine-date-picker-arrow{ opacity: 0.85;}

/* ==================== 🎛️ 筛选/排序弹窗族：升起动效 + 更多筛选整块美化 ====================
   14 个弹窗共用 .publish-overlay，动效写在这一层就全都跟着有；
   色号一律取当前调色板里的值，构建期会被折进 --mp-* 季节令牌，换季时弹窗一起换脸。 */
@keyframes popMaskIn { from { opacity: 0; } to { opacity: 1; } }

/* 升起带一点点过冲，像卡片被弹到位，而不是平移进来 */
@keyframes popSheetIn {
  0% { transform: translateY(42px) scale(0.985); opacity: 0; }
  70% { transform: translateY(-4px) scale(1.004); opacity: 1; }
  100% { transform: translateY(0) scale(1); opacity: 1; }
}

@keyframes popChipPick {
  0% { transform: scale(0.9); }
  55% { transform: scale(1.07); }
  100% { transform: scale(1); }
}

@keyframes popBadgeIn {
  0% { transform: scale(0) rotate(-40deg); opacity: 0; }
  60% { transform: scale(1.25) rotate(8deg); opacity: 1; }
  100% { transform: scale(1) rotate(0deg); opacity: 1; }
}#mpScreen[data-route="pages/index/index"] .publish-overlay .overlay-mask{
  animation: popMaskIn 0.26s ease-out both;}#mpScreen[data-route="pages/index/index"] .breed-group-panel,
#mpScreen[data-route="pages/index/index"] .more-filter-panel{
  animation: popSheetIn 0.44s cubic-bezier(0.2, 0.85, 0.25, 1) both;}

/* ---- 面板头部：标题带放大镜，关闭键按下会转一下 ---- */#mpScreen[data-route="pages/index/index"] .more-filter-panel .panel-header{
  border-bottom: 1px solid var(--mp-w84);}#mpScreen[data-route="pages/index/index"] .more-filter-panel .panel-title::before{
  content: '🔎';
  margin-right: 8px;
  font-size: 17px;
  line-height: 1;}#mpScreen[data-route="pages/index/index"] .more-filter-panel .panel-close{
  background-color: var(--mp-w96);
  border: 1px solid var(--mp-w84);
  box-sizing: border-box;
  transition: background-color 0.18s ease, transform 0.28s cubic-bezier(0.2, 0.9, 0.25, 1.3);}#mpScreen[data-route="pages/index/index"] .more-filter-panel .panel-close:active{
  background-color: var(--mp-w84);
  transform: rotate(90deg) scale(0.9);}#mpScreen[data-route="pages/index/index"] .more-filter-panel .close-icon{ color: var(--mp-w42);}

/* ---- 分区卡：奶油底 + 暖沙描边，逐层错开升起 ---- */#mpScreen[data-route="pages/index/index"] .more-filter-body{ padding: 18px 20px 8px;}#mpScreen[data-route="pages/index/index"] .more-filter-section{
  margin-bottom: 12px;
  padding: 14px 16px 12px;
  border-radius: 22px;
  background-color: var(--mp-w96);
  border: 1px solid var(--mp-w84);
  box-sizing: border-box;
  animation: popSheetIn 0.5s cubic-bezier(0.2, 0.85, 0.25, 1) both;}#mpScreen[data-route="pages/index/index"] .more-filter-section:nth-child(1){ animation-delay: 0.05s;}#mpScreen[data-route="pages/index/index"] .more-filter-section:nth-child(2){ animation-delay: 0.11s;}#mpScreen[data-route="pages/index/index"] .more-filter-section:nth-child(3){ animation-delay: 0.17s;}#mpScreen[data-route="pages/index/index"] .more-filter-section:nth-child(4){ animation-delay: 0.23s;}#mpScreen[data-route="pages/index/index"] .more-filter-label{
  font-size: 13px;
  font-weight: 700;
  color: var(--mp-w42);
  letter-spacing: 0.01em;
  margin-bottom: 12px;}#mpScreen[data-route="pages/index/index"] .more-filter-label::before{ margin-right: 7px; font-size: 15px; line-height: 1;}#mpScreen[data-route="pages/index/index"] .more-filter-section:nth-child(1) .more-filter-label::before{ content: '📦';}#mpScreen[data-route="pages/index/index"] .more-filter-section:nth-child(2) .more-filter-label::before{ content: '🧬';}#mpScreen[data-route="pages/index/index"] .more-filter-section:nth-child(3) .more-filter-label::before{ content: '🛡️';}#mpScreen[data-route="pages/index/index"] .more-filter-section:nth-child(4) .more-filter-label::before{ content: '🎂';}

/* ---- 选项药丸：白底暖沙边，选中翻成品牌渐变并弹一下 ---- */#mpScreen[data-route="pages/index/index"] .more-filter-option{
  position: relative;
  min-height: 42px;
  padding: 8px 18px;
  border-radius: 21px;
  background-color: var(--mp-n100);
  border: 1.5px solid var(--mp-w84);
  box-sizing: border-box;
  transition: transform 0.24s cubic-bezier(0.2, 0.9, 0.25, 1.35), background-color 0.2s ease,
    border-color 0.2s ease, box-shadow 0.26s ease;}#mpScreen[data-route="pages/index/index"] .more-filter-option:active{ transform: scale(0.93);}#mpScreen[data-route="pages/index/index"] .more-filter-option.active{
  background: linear-gradient(135deg, var(--mp-b2) 0%, var(--mp-bHi) 100%);
  border-color: var(--mp-b2);
  box-shadow: 0 6px 16px color-mix(in srgb, var(--mp-b2), transparent 70%);
  animation: popChipPick 0.36s cubic-bezier(0.2, 0.9, 0.25, 1.3) both;}#mpScreen[data-route="pages/index/index"] .more-filter-option-text{ color: var(--mp-w42); font-weight: 600;}#mpScreen[data-route="pages/index/index"] .more-filter-option.active .more-filter-option-text{
  color: var(--mp-inkOn);
  font-weight: 700;}

/* 13px 下 ♂️/♀️ 的墨迹比汉字多往下伸约 3.7px，不抬就是「符号掉在下面」 */#mpScreen[data-route="pages/index/index"] .more-filter-option-glyph{
  flex-shrink: 0;
  margin-right: 4px;
  transform: translateY(-2px);}

/* 选中角标：右上角一枚小勾，弹进来 */#mpScreen[data-route="pages/index/index"] .more-filter-option.active::after{
  content: '✓';
  position: absolute;
  top: -7px;
  right: -3px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background-color: var(--mp-n100);
  color: var(--mp-bRich);
  font-size: 12px;
  font-weight: 800;
  line-height: 18px;
  text-align: center;
  box-shadow: 0 2px 6px color-mix(in srgb, var(--mp-n00), transparent 88%);
  animation: popBadgeIn 0.34s cubic-bezier(0.2, 0.9, 0.25, 1.4) both;}

/* ---- 年龄段：两个输入格 + 月/岁分段 ---- */#mpScreen[data-route="pages/index/index"] .more-filter-age-input{
  background-color: var(--mp-n100);
  border: 1.5px solid var(--mp-w84);
  color: var(--mp-ink1);
  font-weight: 600;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;}#mpScreen[data-route="pages/index/index"] .more-filter-age-sep{ color: var(--mp-w68); font-weight: 700;}#mpScreen[data-route="pages/index/index"] .more-filter-age-unit{
  padding: 3px;
  border-radius: 15px;
  background-color: var(--mp-n100);
  border: 1.5px solid var(--mp-w84);
  box-sizing: border-box;
  gap: 3px;}#mpScreen[data-route="pages/index/index"] .age-unit-option{
  width: 40px;
  height: 34px;
  border-radius: 12px;
  background-color: var(--mp-w96);
  border: 1px solid var(--mp-w84);
  transition: transform 0.24s cubic-bezier(0.2, 0.9, 0.25, 1.35), background-color 0.2s ease,
    border-color 0.2s ease, box-shadow 0.24s ease;}#mpScreen[data-route="pages/index/index"] .age-unit-option:active{ transform: scale(0.92);}#mpScreen[data-route="pages/index/index"] .age-unit-option.active{
  background: linear-gradient(135deg, var(--mp-b2) 0%, var(--mp-bHi) 100%);
  border-color: var(--mp-b2);
  box-shadow: 0 4px 12px color-mix(in srgb, var(--mp-b2), transparent 72%);
  animation: popChipPick 0.36s cubic-bezier(0.2, 0.9, 0.25, 1.3) both;}#mpScreen[data-route="pages/index/index"] .age-unit-text{ color: var(--mp-w42); font-weight: 600;}#mpScreen[data-route="pages/index/index"] .age-unit-option.active .age-unit-text{ color: var(--mp-inkOn); font-weight: 700;}

/* ---- 底部：重置走柔和描边，确定保持品牌渐变 ---- */#mpScreen[data-route="pages/index/index"] .more-filter-footer{
  padding: 14px 20px;
  padding-bottom: calc(14px + env(safe-area-inset-bottom));
  border-top: 1px solid var(--mp-w84);
  background-color: var(--mp-n100);}#mpScreen[data-route="pages/index/index"] .more-filter-reset{
  background-color: var(--mp-w96);
  border: 1.5px solid var(--mp-w84);}#mpScreen[data-route="pages/index/index"] .more-filter-reset:active{
  background-color: var(--mp-w84);
  transform: scale(0.96);}#mpScreen[data-route="pages/index/index"] .more-filter-reset-text{ color: var(--mp-w42);}#mpScreen[data-route="pages/index/index"] .more-filter-confirm{
  background: linear-gradient(135deg, var(--mp-b2) 0%, var(--mp-bHi) 100%);
  box-shadow: 0 6px 18px color-mix(in srgb, var(--mp-b2), transparent 68%);}#mpScreen[data-route="pages/index/index"] .more-filter-confirm:active{
  transform: scale(0.97);
  box-shadow: 0 2px 8px color-mix(in srgb, var(--mp-b2), transparent 76%);}

/* ==================== 🐾 物种风险提示弹窗 ====================
   选中野生来源 / 城区禁养犬 / 遗传病 / CITES 附录 / 家畜家禽 / 外来入侵物种时弹出。
   外圈是斜纹警示带，内里保持奶油卡片。色号一律写实色：构建期会折进昼夜令牌，
   夜里面板翻深、警示色提亮，六档不用另外写夜间分支。 */#mpScreen[data-route="pages/index/index"] .species-advice-overlay{
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1300;
  display: flex;
  align-items: center;
  justify-content: center;}#mpScreen[data-route="pages/index/index"] .species-advice-mask{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: color-mix(in srgb, var(--mp-w20), transparent 48%);
  animation: saMaskIn 0.26s ease-out both;}#mpScreen[data-route="pages/index/index"] .species-advice-card{
  position: relative;
  width: 88%;
  max-width: 344px;
  padding: 6px;
  box-sizing: border-box;
  border-radius: 30px;
  animation: saCardIn 0.46s cubic-bezier(0.2, 0.9, 0.25, 1.28) both, saShake 0.62s ease-in-out 0.5s both;}#mpScreen[data-route="pages/index/index"] .species-advice-inner{
  position: relative;
  background: var(--mp-n100);
  border: 2px solid var(--mp-w84);
  border-radius: 24px;
  padding: 22px 18px 18px;
  display: flex;
  flex-direction: column;
  align-items: center;
  box-sizing: border-box;
  max-height: calc(86 * var(--mpvh));
  overflow-y: auto;}#mpScreen[data-route="pages/index/index"] .species-advice-border{
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  pointer-events: none;}#mpScreen[data-route="pages/index/index"] .species-advice-dot{
  position: absolute;
  font-size: 17px;
  width: 26px;
  height: 26px;
  display: flex;
  align-items: center;
  justify-content: center;
  animation: saDotFloat 2.9s ease-in-out infinite;}#mpScreen[data-route="pages/index/index"] .species-advice-dot.dot-tl{ top: -14px; left: -13px;}#mpScreen[data-route="pages/index/index"] .species-advice-dot.dot-tr{ top: -14px; right: -13px; animation-delay: 0.36s;}#mpScreen[data-route="pages/index/index"] .species-advice-dot.dot-bl{ bottom: -14px; left: -13px; animation-delay: 0.72s;}#mpScreen[data-route="pages/index/index"] .species-advice-dot.dot-br{ bottom: -14px; right: -13px; animation-delay: 1.08s;}#mpScreen[data-route="pages/index/index"] .species-advice-halo{
  width: 76px;
  height: 76px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: radial-gradient(circle at 32% 28%, var(--mp-n100) 0 16%, var(--mp-n91) 17%, var(--mp-w84) 100%);
  border: 3px solid var(--mp-w68);
  margin-bottom: 10px;
  animation: saWobble 2.8s ease-in-out infinite;}#mpScreen[data-route="pages/index/index"] .species-advice-big{
  font-size: 40px;
  line-height: 1;}#mpScreen[data-route="pages/index/index"] .species-advice-badge{
  display: block;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 1px;
  color: var(--mp-inkOn);
  background: linear-gradient(135deg, var(--mp-x217), var(--mp-x218));
  padding: 4px 12px;
  border-radius: 999px;
  margin-bottom: 8px;
  animation: saBadgeIn 0.4s cubic-bezier(0.2, 0.9, 0.25, 1.5) 0.14s both;}#mpScreen[data-route="pages/index/index"] .species-advice-name{
  display: block;
  font-size: 17px;
  font-weight: 800;
  color: var(--mp-cDeep);
  margin-bottom: 2px;}#mpScreen[data-route="pages/index/index"] .species-advice-title{
  display: block;
  font-size: 14px;
  font-weight: 700;
  color: var(--mp-cDeep);
  text-align: center;
  line-height: 1.4;
  margin-bottom: 12px;}#mpScreen[data-route="pages/index/index"] .species-advice-lines{
  width: 100%;
  box-sizing: border-box;
  background: var(--mp-n96);
  border: 2px dashed var(--mp-w84);
  border-radius: 16px;
  padding: 11px 12px;
  margin-bottom: 12px;
  display: flex;
  flex-direction: column;}#mpScreen[data-route="pages/index/index"] .species-advice-line{
  display: block;
  font-size: 12.5px;
  line-height: 1.6;
  color: var(--mp-w20);
  margin-bottom: 7px;
  animation: saLineIn 0.34s cubic-bezier(0.2, 0.85, 0.25, 1) both;}#mpScreen[data-route="pages/index/index"] .species-advice-line:last-child{
  margin-bottom: 0;}#mpScreen[data-route="pages/index/index"] .species-advice-tip{
  width: 100%;
  box-sizing: border-box;
  background: var(--mp-n100);
  border: 2px solid var(--mp-w84);
  border-radius: 14px;
  padding: 9px 11px;
  margin-bottom: 14px;}#mpScreen[data-route="pages/index/index"] .species-advice-tip-text{
  display: block;
  font-size: 11.5px;
  line-height: 1.5;
  color: var(--mp-cDeep);}#mpScreen[data-route="pages/index/index"] .species-advice-actions{
  display: flex;
  flex-direction: row;
  width: 100%;}#mpScreen[data-route="pages/index/index"] .species-advice-rethink{
  flex: 1;
  background: var(--mp-w96);
  border: 2px solid var(--mp-w84);
  border-radius: 16px;
  padding: 10px 0;
  text-align: center;
  margin-right: 10px;
  box-sizing: border-box;
  transition: transform 0.18s cubic-bezier(0.2, 0.9, 0.25, 1.2);}#mpScreen[data-route="pages/index/index"] .species-advice-rethink:active{
  transform: scale(0.95);}#mpScreen[data-route="pages/index/index"] .species-advice-rethink-text{
  font-size: 13px;
  font-weight: 700;
  color: var(--mp-cDeep);}#mpScreen[data-route="pages/index/index"] .species-advice-ok{
  flex: 1.2;
  background: linear-gradient(135deg, var(--mp-x217), var(--mp-x218));
  border-radius: 16px;
  padding: 12px 0;
  text-align: center;
  box-sizing: border-box;
  box-shadow: 0 6px 14px color-mix(in srgb, var(--mp-n00), transparent 84%);
  transition: transform 0.18s cubic-bezier(0.2, 0.9, 0.25, 1.2);}#mpScreen[data-route="pages/index/index"] .species-advice-ok:active{
  transform: scale(0.96);}#mpScreen[data-route="pages/index/index"] .species-advice-ok-text{
  font-size: 13.5px;
  font-weight: 800;
  color: var(--mp-inkOn);}

/* 六档配色：只覆盖带色的那几处，结构一律沿用上面的默认值 */#mpScreen[data-route="pages/index/index"] .species-advice-tone-wild .species-advice-card{ background: repeating-linear-gradient(45deg, var(--mp-x219) 0 10px, var(--mp-w96) 10px 20px);}#mpScreen[data-route="pages/index/index"] .species-advice-tone-wild .species-advice-inner{ border-color: var(--mp-x220);}#mpScreen[data-route="pages/index/index"] .species-advice-tone-wild .species-advice-halo{ background: radial-gradient(circle at 32% 28%, var(--mp-n100) 0 16%, var(--mp-n96) 17%, var(--mp-x221) 100%); border-color: var(--mp-x222); box-shadow: 0 6px 16px color-mix(in srgb, var(--mp-n00), transparent 86%), 0 0 0 5px var(--mp-n96);}#mpScreen[data-route="pages/index/index"] .species-advice-tone-wild .species-advice-badge{ background: linear-gradient(135deg, var(--mp-x219), var(--mp-x223));}#mpScreen[data-route="pages/index/index"] .species-advice-tone-wild .species-advice-name{ color: var(--mp-x224);}#mpScreen[data-route="pages/index/index"] .species-advice-tone-wild .species-advice-title{ color: var(--mp-x222);}#mpScreen[data-route="pages/index/index"] .species-advice-tone-wild .species-advice-lines{ background: var(--mp-n96); border-color: var(--mp-x220);}#mpScreen[data-route="pages/index/index"] .species-advice-tone-wild .species-advice-tip{ border-color: var(--mp-x220);}#mpScreen[data-route="pages/index/index"] .species-advice-tone-wild .species-advice-tip-text{ color: var(--mp-x224);}#mpScreen[data-route="pages/index/index"] .species-advice-tone-wild .species-advice-rethink{ border-color: var(--mp-x220);}#mpScreen[data-route="pages/index/index"] .species-advice-tone-wild .species-advice-rethink-text{ color: var(--mp-x224);}#mpScreen[data-route="pages/index/index"] .species-advice-tone-wild .species-advice-ok{ background: linear-gradient(135deg, var(--mp-x219), var(--mp-x223));}#mpScreen[data-route="pages/index/index"] .species-advice-tone-ban .species-advice-card{ background: repeating-linear-gradient(45deg, var(--mp-x217) 0 10px, var(--mp-w96) 10px 20px);}#mpScreen[data-route="pages/index/index"] .species-advice-tone-ban .species-advice-inner{ border-color: var(--mp-w84);}#mpScreen[data-route="pages/index/index"] .species-advice-tone-ban .species-advice-halo{ background: radial-gradient(circle at 32% 28%, var(--mp-n100) 0 16%, var(--mp-w96) 17%, var(--mp-w84) 100%); border-color: var(--mp-x225); box-shadow: 0 6px 16px color-mix(in srgb, var(--mp-n00), transparent 86%), 0 0 0 5px var(--mp-w96);}#mpScreen[data-route="pages/index/index"] .species-advice-tone-ban .species-advice-badge{ background: linear-gradient(135deg, var(--mp-x217), var(--mp-x218));}#mpScreen[data-route="pages/index/index"] .species-advice-tone-ban .species-advice-name{ color: var(--mp-x226);}#mpScreen[data-route="pages/index/index"] .species-advice-tone-ban .species-advice-title{ color: var(--mp-x225);}#mpScreen[data-route="pages/index/index"] .species-advice-tone-ban .species-advice-lines{ background: var(--mp-w96); border-color: var(--mp-w84);}#mpScreen[data-route="pages/index/index"] .species-advice-tone-ban .species-advice-tip{ border-color: var(--mp-w84);}#mpScreen[data-route="pages/index/index"] .species-advice-tone-ban .species-advice-tip-text{ color: var(--mp-x226);}#mpScreen[data-route="pages/index/index"] .species-advice-tone-ban .species-advice-rethink{ border-color: var(--mp-w84);}#mpScreen[data-route="pages/index/index"] .species-advice-tone-ban .species-advice-rethink-text{ color: var(--mp-x226);}#mpScreen[data-route="pages/index/index"] .species-advice-tone-ban .species-advice-ok{ background: linear-gradient(135deg, var(--mp-x217), var(--mp-x218));}#mpScreen[data-route="pages/index/index"] .species-advice-tone-health .species-advice-card{ background: repeating-linear-gradient(45deg, var(--mp-x227) 0 10px, var(--mp-w96) 10px 20px);}#mpScreen[data-route="pages/index/index"] .species-advice-tone-health .species-advice-inner{ border-color: var(--mp-x228);}#mpScreen[data-route="pages/index/index"] .species-advice-tone-health .species-advice-halo{ background: radial-gradient(circle at 32% 28%, var(--mp-n100) 0 16%, var(--mp-x229) 17%, var(--mp-x230) 100%); border-color: var(--mp-x231); box-shadow: 0 6px 16px color-mix(in srgb, var(--mp-n00), transparent 86%), 0 0 0 5px var(--mp-x229);}#mpScreen[data-route="pages/index/index"] .species-advice-tone-health .species-advice-badge{ background: linear-gradient(135deg, var(--mp-x227), var(--mp-x232));}#mpScreen[data-route="pages/index/index"] .species-advice-tone-health .species-advice-name{ color: var(--mp-x233);}#mpScreen[data-route="pages/index/index"] .species-advice-tone-health .species-advice-title{ color: var(--mp-x231);}#mpScreen[data-route="pages/index/index"] .species-advice-tone-health .species-advice-lines{ background: var(--mp-x229); border-color: var(--mp-x228);}#mpScreen[data-route="pages/index/index"] .species-advice-tone-health .species-advice-tip{ border-color: var(--mp-x228);}#mpScreen[data-route="pages/index/index"] .species-advice-tone-health .species-advice-tip-text{ color: var(--mp-x233);}#mpScreen[data-route="pages/index/index"] .species-advice-tone-health .species-advice-rethink{ border-color: var(--mp-x228);}#mpScreen[data-route="pages/index/index"] .species-advice-tone-health .species-advice-rethink-text{ color: var(--mp-x233);}#mpScreen[data-route="pages/index/index"] .species-advice-tone-health .species-advice-ok{ background: linear-gradient(135deg, var(--mp-x227), var(--mp-x232));}#mpScreen[data-route="pages/index/index"] .species-advice-tone-cites .species-advice-card{ background: repeating-linear-gradient(45deg, var(--mp-x234) 0 10px, var(--mp-w96) 10px 20px);}#mpScreen[data-route="pages/index/index"] .species-advice-tone-cites .species-advice-inner{ border-color: var(--mp-x235);}#mpScreen[data-route="pages/index/index"] .species-advice-tone-cites .species-advice-halo{ background: radial-gradient(circle at 32% 28%, var(--mp-n100) 0 16%, var(--mp-n96) 17%, var(--mp-x236) 100%); border-color: var(--mp-x237); box-shadow: 0 6px 16px color-mix(in srgb, var(--mp-n00), transparent 86%), 0 0 0 5px var(--mp-n96);}#mpScreen[data-route="pages/index/index"] .species-advice-tone-cites .species-advice-badge{ background: linear-gradient(135deg, var(--mp-x234), var(--mp-x238));}#mpScreen[data-route="pages/index/index"] .species-advice-tone-cites .species-advice-name{ color: var(--mp-x239);}#mpScreen[data-route="pages/index/index"] .species-advice-tone-cites .species-advice-title{ color: var(--mp-x237);}#mpScreen[data-route="pages/index/index"] .species-advice-tone-cites .species-advice-lines{ background: var(--mp-n96); border-color: var(--mp-x235);}#mpScreen[data-route="pages/index/index"] .species-advice-tone-cites .species-advice-tip{ border-color: var(--mp-x235);}#mpScreen[data-route="pages/index/index"] .species-advice-tone-cites .species-advice-tip-text{ color: var(--mp-x239);}#mpScreen[data-route="pages/index/index"] .species-advice-tone-cites .species-advice-rethink{ border-color: var(--mp-x235);}#mpScreen[data-route="pages/index/index"] .species-advice-tone-cites .species-advice-rethink-text{ color: var(--mp-x239);}#mpScreen[data-route="pages/index/index"] .species-advice-tone-cites .species-advice-ok{ background: linear-gradient(135deg, var(--mp-x234), var(--mp-x238));}#mpScreen[data-route="pages/index/index"] .species-advice-tone-farm .species-advice-card{ background: repeating-linear-gradient(45deg, var(--mp-x240) 0 10px, var(--mp-w96) 10px 20px);}#mpScreen[data-route="pages/index/index"] .species-advice-tone-farm .species-advice-inner{ border-color: var(--mp-x241);}#mpScreen[data-route="pages/index/index"] .species-advice-tone-farm .species-advice-halo{ background: radial-gradient(circle at 32% 28%, var(--mp-n100) 0 16%, var(--mp-w92) 17%, var(--mp-x242) 100%); border-color: var(--mp-x243); box-shadow: 0 6px 16px color-mix(in srgb, var(--mp-n00), transparent 86%), 0 0 0 5px var(--mp-w92);}#mpScreen[data-route="pages/index/index"] .species-advice-tone-farm .species-advice-badge{ background: linear-gradient(135deg, var(--mp-x240), var(--mp-cDeep));}#mpScreen[data-route="pages/index/index"] .species-advice-tone-farm .species-advice-name{ color: var(--mp-cDeep);}#mpScreen[data-route="pages/index/index"] .species-advice-tone-farm .species-advice-title{ color: var(--mp-x243);}#mpScreen[data-route="pages/index/index"] .species-advice-tone-farm .species-advice-lines{ background: var(--mp-w92); border-color: var(--mp-x241);}#mpScreen[data-route="pages/index/index"] .species-advice-tone-farm .species-advice-tip{ border-color: var(--mp-x241);}#mpScreen[data-route="pages/index/index"] .species-advice-tone-farm .species-advice-tip-text{ color: var(--mp-cDeep);}#mpScreen[data-route="pages/index/index"] .species-advice-tone-farm .species-advice-rethink{ border-color: var(--mp-x241);}#mpScreen[data-route="pages/index/index"] .species-advice-tone-farm .species-advice-rethink-text{ color: var(--mp-cDeep);}#mpScreen[data-route="pages/index/index"] .species-advice-tone-farm .species-advice-ok{ background: linear-gradient(135deg, var(--mp-x240), var(--mp-cDeep));}#mpScreen[data-route="pages/index/index"] .species-advice-tone-invade .species-advice-card{ background: repeating-linear-gradient(45deg, var(--mp-x244) 0 10px, var(--mp-w96) 10px 20px);}#mpScreen[data-route="pages/index/index"] .species-advice-tone-invade .species-advice-inner{ border-color: var(--mp-x245);}#mpScreen[data-route="pages/index/index"] .species-advice-tone-invade .species-advice-halo{ background: radial-gradient(circle at 32% 28%, var(--mp-n100) 0 16%, var(--mp-x246) 17%, var(--mp-x247) 100%); border-color: var(--mp-x248); box-shadow: 0 6px 16px color-mix(in srgb, var(--mp-n00), transparent 86%), 0 0 0 5px var(--mp-x246);}#mpScreen[data-route="pages/index/index"] .species-advice-tone-invade .species-advice-badge{ background: linear-gradient(135deg, var(--mp-x244), var(--mp-x249));}#mpScreen[data-route="pages/index/index"] .species-advice-tone-invade .species-advice-name{ color: var(--mp-x250);}#mpScreen[data-route="pages/index/index"] .species-advice-tone-invade .species-advice-title{ color: var(--mp-x248);}#mpScreen[data-route="pages/index/index"] .species-advice-tone-invade .species-advice-lines{ background: var(--mp-x246); border-color: var(--mp-x245);}#mpScreen[data-route="pages/index/index"] .species-advice-tone-invade .species-advice-tip{ border-color: var(--mp-x245);}#mpScreen[data-route="pages/index/index"] .species-advice-tone-invade .species-advice-tip-text{ color: var(--mp-x250);}#mpScreen[data-route="pages/index/index"] .species-advice-tone-invade .species-advice-rethink{ border-color: var(--mp-x245);}#mpScreen[data-route="pages/index/index"] .species-advice-tone-invade .species-advice-rethink-text{ color: var(--mp-x250);}#mpScreen[data-route="pages/index/index"] .species-advice-tone-invade .species-advice-ok{ background: linear-gradient(135deg, var(--mp-x244), var(--mp-x249));}

@keyframes saMaskIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

@keyframes saCardIn {
  0% { transform: translateY(38px) scale(0.9); opacity: 0; }
  62% { transform: translateY(-6px) scale(1.035); opacity: 1; }
  100% { transform: translateY(0) scale(1); opacity: 1; }
}

/* 落位之后自己抖一下，像被点了一下头的提示牌 */
@keyframes saShake {
  0%, 100% { transform: translateY(0) scale(1) rotate(0deg); }
  14% { transform: translateY(0) scale(1) rotate(-1.7deg); }
  30% { transform: translateY(0) scale(1) rotate(1.4deg); }
  48% { transform: translateY(0) scale(1) rotate(-0.9deg); }
  66% { transform: translateY(0) scale(1) rotate(0.5deg); }
  84% { transform: translateY(0) scale(1) rotate(-0.2deg); }
}

@keyframes saWobble {
  0%, 100% { transform: rotate(-5deg) scale(1); }
  30% { transform: rotate(4deg) scale(1.05); }
  60% { transform: rotate(-2deg) scale(0.99); }
}

@keyframes saBadgeIn {
  0% { transform: scale(0) rotate(-24deg); opacity: 0; }
  60% { transform: scale(1.18) rotate(6deg); opacity: 1; }
  100% { transform: scale(1) rotate(0deg); opacity: 1; }
}

@keyframes saLineIn {
  0% { transform: translateX(-14px); opacity: 0; }
  100% { transform: translateX(0); opacity: 1; }
}

@keyframes saDotFloat {
  0%, 100% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-5px) rotate(10deg); }
}

/* ==================== 🎁 月度发布名额 ====================
   颜色全部写死 hex：构建时按语义折成昼/夜两套令牌。
   用 CSS 自定义属性的话不参与折色，夜间会出现深底配浅字块读不清。 */#mpScreen[data-route="pages/index/index"] .user-quota-row{
  display: flex;
  flex-direction: row;
  align-items: center;
  margin-top: calc(6 * var(--mprpx));}#mpScreen[data-route="pages/index/index"] .user-quota-text{
  font-size: calc(20 * var(--mprpx));
  font-weight: 600;
  line-height: 1.5;
  color: var(--mp-x177);
  background: linear-gradient(135deg, var(--mp-x174), var(--mp-x175));
  border: calc(1.5 * var(--mprpx)) solid var(--mp-x176);
  border-radius: calc(999 * var(--mprpx));
  padding: calc(3 * var(--mprpx)) calc(14 * var(--mprpx));}

/* 名额牌子右边的小问号，和详情页那颗同一个形状。
   边框字色都取牌子上已有的 #8A6A1F，折色管线认这个值，夜间自动跟着变浅。 */#mpScreen[data-route="pages/index/index"] .user-quota-help{
  flex: none;
  width: calc(32 * var(--mprpx));
  height: calc(32 * var(--mprpx));
  box-sizing: border-box;
  border: calc(2.8 * var(--mprpx)) solid var(--mp-x177);
  border-radius: 50%;
  color: var(--mp-x177);
  font-size: calc(22 * var(--mprpx));
  font-weight: 700;
  line-height: calc(26 * var(--mprpx));
  text-align: center;
  margin-left: calc(10 * var(--mprpx));
  cursor: pointer;
  transition: transform 0.18s cubic-bezier(0.34, 1.56, 0.64, 1), background-color 0.18s ease, color 0.18s ease;}#mpScreen[data-route="pages/index/index"] .user-quota-help:active{
  transform: scale(1.22);
  background-color: var(--mp-x251);
  color: var(--mp-x252);}

/* 确认发布弹窗里的名额卡：比下面的发布说明更抢眼一点 */#mpScreen[data-route="pages/index/index"] .pc-quota-card{
  margin: 0 calc(28 * var(--mprpx)) calc(14 * var(--mprpx));
  padding: calc(18 * var(--mprpx)) calc(20 * var(--mprpx)) calc(16 * var(--mprpx));
  border-radius: calc(24 * var(--mprpx));
  background: linear-gradient(135deg, var(--mp-n100), var(--mp-x253));
  border: calc(2 * var(--mprpx)) dashed var(--mp-x254);
  position: relative;
  z-index: 2;
  box-sizing: border-box;
  animation: pcQuotaIn 0.42s cubic-bezier(0.2, 0.9, 0.25, 1.3) both;}#mpScreen[data-route="pages/index/index"] .pc-quota-header{
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: calc(8 * var(--mprpx));
  margin-bottom: calc(10 * var(--mprpx));}#mpScreen[data-route="pages/index/index"] .pc-quota-emoji{
  font-size: calc(30 * var(--mprpx));
  line-height: 1;
  animation: pcQuotaWobble 2.6s ease-in-out infinite;}#mpScreen[data-route="pages/index/index"] .pc-quota-label{
  font-size: calc(26 * var(--mprpx));
  font-weight: 700;
  color: var(--mp-x177);
  line-height: 1.3;}#mpScreen[data-route="pages/index/index"] .pc-quota-main{
  display: block;
  font-size: calc(27 * var(--mprpx));
  font-weight: 700;
  line-height: 1.55;
  color: var(--mp-cDeep);
  margin-bottom: calc(8 * var(--mprpx));}#mpScreen[data-route="pages/index/index"] .pc-quota-check{
  display: block;
  font-size: calc(23 * var(--mprpx));
  line-height: 1.6;
  color: var(--mp-cDeep);}

@keyframes pcQuotaIn {
  0% { opacity: 0; transform: translateY(14rpx) scale(0.94); }
  60% { opacity: 1; transform: translateY(-3rpx) scale(1.02); }
  100% { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes pcQuotaWobble {
  0%, 72%, 100% { transform: rotate(0deg) scale(1); }
  78% { transform: rotate(-14deg) scale(1.14); }
  84% { transform: rotate(11deg) scale(1.08); }
  90% { transform: rotate(-6deg) scale(1.02); }
}


/* ===== pages/pet-detail/index ===== */
#mpScreen[data-route="pages/pet-detail/index"]{
  background: linear-gradient(180deg, var(--mp-bgA) 0%, var(--mp-bgB) 100%);
  font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Display', 'SF Pro Text', 'Helvetica Neue', 'PingFang SC', sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  letter-spacing: -0.022em;
  font-weight: 400;}#mpScreen[data-route="pages/pet-detail/index"] .page-container{
  display: flex;
  flex-direction: column;
  height: calc(100 * var(--mpvh));
  overflow: hidden;}#mpScreen[data-route="pages/pet-detail/index"] .detail-body{
  flex: 1;
  overflow-y: auto;
  overflow-x: hidden;
  padding: 0 16px;
  padding-bottom: 140px;
  box-sizing: border-box;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;}

/* ========== 🎀 顶部装饰横幅 ========== */#mpScreen[data-route="pages/pet-detail/index"] .pet-hero-banner{
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 24px 0 16px;
  width: 100%;
  max-width: 600px;
  box-sizing: border-box;}#mpScreen[data-route="pages/pet-detail/index"] .hero-deco-row{
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-bottom: 16px;}#mpScreen[data-route="pages/pet-detail/index"] .hero-deco-emoji{
  font-size: 18px;
  line-height: 1;
  animation: heroFloat 2s ease-in-out infinite;}#mpScreen[data-route="pages/pet-detail/index"] .hero-deco-emoji:nth-child(1){ animation-delay: 0s;}#mpScreen[data-route="pages/pet-detail/index"] .hero-deco-emoji:nth-child(2){ animation-delay: 0.3s;}#mpScreen[data-route="pages/pet-detail/index"] .hero-deco-emoji:nth-child(3){ animation-delay: 0.6s;}#mpScreen[data-route="pages/pet-detail/index"] .hero-deco-emoji:nth-child(4){ animation-delay: 0.9s;}#mpScreen[data-route="pages/pet-detail/index"] .hero-deco-emoji:nth-child(5){ animation-delay: 1.2s;}

@keyframes heroFloat {
  0%, 100% { transform: translateY(0); opacity: 0.6; }
  50% { transform: translateY(-6px); opacity: 1; }
}#mpScreen[data-route="pages/pet-detail/index"] .hero-avatar-ring{
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--mp-w84), var(--mp-cPale), var(--mp-bHi));
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 20px color-mix(in srgb, var(--mp-x124), transparent 75%);
  border: 3px solid var(--mp-line4);
  margin-bottom: 10px;}#mpScreen[data-route="pages/pet-detail/index"] .hero-avatar-img{
  width: 80px;
  height: 80px;
  border-radius: 50%;
  display: block;
  object-fit: cover;}#mpScreen[data-route="pages/pet-detail/index"] .hero-avatar-emoji{
  font-size: 42px;
  line-height: 1;}#mpScreen[data-route="pages/pet-detail/index"] .hero-welcome-text{
  font-size: 14px;
  font-weight: 600;
  color: var(--mp-x67);
  letter-spacing: 1px;}

/* ========== 宠物详情卡片 ========== */#mpScreen[data-route="pages/pet-detail/index"] .pet-detail-card{
  background-color: var(--mp-n100);
  border-radius: 24px;
  padding: 20px 18px;
  box-shadow: 0 4px 24px color-mix(in srgb, var(--mp-n00), transparent 94%), 0 1px 4px color-mix(in srgb, var(--mp-n00), transparent 96%);
  box-sizing: border-box;
  border: 1px solid color-mix(in srgb, var(--mp-x139), transparent 92%);
  margin-bottom: 16px;
  width: 100%;
  max-width: 600px;
  align-self: center;}

/* ========== 卡片头部 ========== */#mpScreen[data-route="pages/pet-detail/index"] .pet-card-header{
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 14px;}#mpScreen[data-route="pages/pet-detail/index"] .pet-type-tag{
  border-radius: 20px;
  padding: 6px 16px;
  display: flex;
  align-items: center;
  gap: 6px;
  border: 1px solid transparent;}#mpScreen[data-route="pages/pet-detail/index"] .pet-type-tag.type-cat{
  background-color: var(--mp-x47);
  border-color: color-mix(in srgb, var(--mp-x139), transparent 85%);}#mpScreen[data-route="pages/pet-detail/index"] .pet-type-tag.type-dog{
  background-color: var(--mp-x37);
  border-color: color-mix(in srgb, var(--mp-x27), transparent 85%);}#mpScreen[data-route="pages/pet-detail/index"] .pet-type-tag.type-other{
  background-color: var(--mp-n91);
  border-color: color-mix(in srgb, var(--mp-w20), transparent 85%);}#mpScreen[data-route="pages/pet-detail/index"] .pet-type-text{
  font-size: 14px;
  font-weight: 700;}#mpScreen[data-route="pages/pet-detail/index"] .pet-type-tag.type-cat .pet-type-text{
  color: var(--mp-bRich);}#mpScreen[data-route="pages/pet-detail/index"] .pet-type-tag.type-dog .pet-type-text{
  color: var(--mp-x27);}#mpScreen[data-route="pages/pet-detail/index"] .pet-type-tag.type-other .pet-type-text{
  color: var(--mp-w20);}#mpScreen[data-route="pages/pet-detail/index"] .pet-gender-row{
  display: flex;
  align-items: center;
  gap: 8px;}#mpScreen[data-route="pages/pet-detail/index"] .pet-gender-badge{
  border-radius: 14px;
  padding: 0 12px;
  height: 26px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;}#mpScreen[data-route="pages/pet-detail/index"] .pet-gender-badge.pet-gender-male{
  background-color: var(--mp-x37);
  border: 1px solid color-mix(in srgb, var(--mp-x27), transparent 85%);}#mpScreen[data-route="pages/pet-detail/index"] .pet-gender-badge.pet-gender-female{
  background-color: var(--mp-x14);
  border: 1px solid color-mix(in srgb, var(--mp-x16), transparent 85%);}#mpScreen[data-route="pages/pet-detail/index"] .pet-gender-text{
  font-size: 13px;
  font-weight: 700;
  line-height: 26px;
  display: flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;}#mpScreen[data-route="pages/pet-detail/index"] .pet-gender-male .pet-gender-text{
  color: var(--mp-x27);}#mpScreen[data-route="pages/pet-detail/index"] .pet-gender-female .pet-gender-text{
  color: var(--mp-x16);}#mpScreen[data-route="pages/pet-detail/index"] .pet-sterilized-tag{
  font-size: 12px;
  border-radius: 10px;
  padding: 3px 10px;
  display: flex;
  align-items: center;
  gap: 4px;}#mpScreen[data-route="pages/pet-detail/index"] .sterilized-text{
  font-size: 12px;
  font-weight: 600;
  line-height: 1.4;}#mpScreen[data-route="pages/pet-detail/index"] .pet-sterilized-tag.sterilized-yes{
  color: var(--mp-x42);
  background-color: var(--mp-n96);
  border: 1px solid color-mix(in srgb, var(--mp-x42), transparent 88%);}#mpScreen[data-route="pages/pet-detail/index"] .pet-sterilized-tag.sterilized-no{
  color: var(--mp-x21);
  background-color: var(--mp-x43);
  border: 1px solid color-mix(in srgb, var(--mp-x21), transparent 88%);}#mpScreen[data-route="pages/pet-detail/index"] .pet-sterilized-tag.sterilized-unknown{
  color: var(--mp-n60);
  background-color: var(--mp-n96);
  border: 1px solid color-mix(in srgb, var(--mp-n00), transparent 94%);}

/* ========== 宠物名字区域 ========== */#mpScreen[data-route="pages/pet-detail/index"] .pet-name-section{
  margin-bottom: 18px;
  padding-bottom: 16px;
  border-bottom: 2px dashed var(--mp-w92);}#mpScreen[data-route="pages/pet-detail/index"] .pet-name-row{
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;}#mpScreen[data-route="pages/pet-detail/index"] .pet-name-icon{
  font-size: 22px;
  line-height: 1;}#mpScreen[data-route="pages/pet-detail/index"] .pet-name{
  font-size: 26px;
  font-weight: 800;
  color: var(--mp-ink1);
  display: block;
  letter-spacing: 0.5px;}#mpScreen[data-route="pages/pet-detail/index"] .pet-dialect-row{
  display: flex;
  align-items: center;
  gap: 6px;}#mpScreen[data-route="pages/pet-detail/index"] .pet-dialect-tag{
  font-size: 16px;
  line-height: 1;}#mpScreen[data-route="pages/pet-detail/index"] .pet-dialect{
  font-size: 14px;
  color: var(--mp-n60);
  display: block;
  font-weight: 500;}

/* ========== 区块标题行 ========== */#mpScreen[data-route="pages/pet-detail/index"] .section-title-row{
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;}#mpScreen[data-route="pages/pet-detail/index"] .section-title-icon{
  font-size: 20px;
  line-height: 1;}#mpScreen[data-route="pages/pet-detail/index"] .section-title-deco{
  font-size: 14px;
  line-height: 1;
  margin-left: auto;}

/* 照片压缩说明的入口。用这页次级文字同一个灰 #8E8E93，折色管线会连它一起换昼夜档；
   写成 rgba 或 currentColor 就进不了折色口袋，夜间会糊在深底里看不见。 */#mpScreen[data-route="pages/pet-detail/index"] .section-title-help{
  flex: none;
  width: 16px;
  height: 16px;
  margin-left: 5px;
  box-sizing: border-box;
  border: 1.4px solid var(--mp-n60);
  border-radius: 50%;
  color: var(--mp-n60);
  font-size: 11px;
  font-weight: 700;
  line-height: 13px;
  text-align: center;
  cursor: pointer;
  transition: transform 0.18s cubic-bezier(0.34, 1.56, 0.64, 1), background-color 0.18s ease, color 0.18s ease;}#mpScreen[data-route="pages/pet-detail/index"] .section-title-help:active{
  transform: scale(1.22);
  background-color: var(--mp-n60);
  color: var(--mp-inkOn);}

/* ========== 详情区块 ========== */#mpScreen[data-route="pages/pet-detail/index"] .detail-section{
  margin-bottom: 18px;
  padding: 14px 16px;
  border-radius: 16px;
  box-sizing: border-box;
  border: 1px solid transparent;}#mpScreen[data-route="pages/pet-detail/index"] .detail-section:last-child{
  margin-bottom: 0;}#mpScreen[data-route="pages/pet-detail/index"] .section-basic{
  background: linear-gradient(135deg, var(--mp-n100), var(--mp-w96));
  border-color: color-mix(in srgb, var(--mp-x139), transparent 92%);}#mpScreen[data-route="pages/pet-detail/index"] .section-health{
  background: linear-gradient(135deg, var(--mp-n100), var(--mp-x255));
  border-color: color-mix(in srgb, var(--mp-x57), transparent 92%);}#mpScreen[data-route="pages/pet-detail/index"] .section-photo{
  background: linear-gradient(135deg, var(--mp-n100), var(--mp-x256));
  border-color: color-mix(in srgb, var(--mp-x257), transparent 92%);}#mpScreen[data-route="pages/pet-detail/index"] .section-price{
  background: linear-gradient(135deg, var(--mp-n100), var(--mp-w96));
  border-color: color-mix(in srgb, var(--mp-x139), transparent 88%);}#mpScreen[data-route="pages/pet-detail/index"] .section-location{
  background: linear-gradient(135deg, var(--mp-n100), var(--mp-x258));
  border-color: color-mix(in srgb, var(--mp-x39), transparent 92%);}#mpScreen[data-route="pages/pet-detail/index"] .section-hobby{
  background: linear-gradient(135deg, var(--mp-n100), var(--mp-x259));
  border-color: color-mix(in srgb, var(--mp-x16), transparent 92%);}#mpScreen[data-route="pages/pet-detail/index"] .section-desc{
  background: linear-gradient(135deg, var(--mp-n100), var(--mp-x260));
  border-color: color-mix(in srgb, var(--mp-x36), transparent 92%);}#mpScreen[data-route="pages/pet-detail/index"] .section-publisher{
  background: linear-gradient(135deg, var(--mp-n96), var(--mp-n91));
  border-color: color-mix(in srgb, var(--mp-n00), transparent 94%);}#mpScreen[data-route="pages/pet-detail/index"] .section-contact{
  background: linear-gradient(135deg, var(--mp-x69), var(--mp-x261));
  border-color: color-mix(in srgb, var(--mp-x74), transparent 85%);
  padding: 16px;}#mpScreen[data-route="pages/pet-detail/index"] .detail-section-title{
  font-size: 15px;
  font-weight: 700;
  color: var(--mp-ink1);
  display: block;
  line-height: 1.4;}#mpScreen[data-route="pages/pet-detail/index"] .detail-info-row{
  display: grid;
  grid-template-columns: 88px minmax(0, 1fr);
  column-gap: 10px;
  align-items: start;
  margin-bottom: 8px;
  width: 100%;
  box-sizing: border-box;}#mpScreen[data-route="pages/pet-detail/index"] .detail-info-row:last-child{
  margin-bottom: 0;}#mpScreen[data-route="pages/pet-detail/index"] .detail-label{
  font-size: 13px;
  color: var(--mp-n60);
  font-weight: 500;
  line-height: 21px;
  white-space: nowrap;}#mpScreen[data-route="pages/pet-detail/index"] .detail-value{
  font-size: 14px;
  color: var(--mp-ink2);
  min-width: 0;
  word-break: break-all;
  box-sizing: border-box;
  line-height: 1.5;
  font-weight: 500;}#mpScreen[data-route="pages/pet-detail/index"] .detail-value-tag{
  color: var(--mp-x42);
  font-weight: 600;}

/* 疫苗信息行可点击样式 */#mpScreen[data-route="pages/pet-detail/index"] .detail-vaccine-clickable{
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 4px;
  padding: 4px 8px;
  border-radius: 8px;
  background-color: color-mix(in srgb, var(--mp-x262), transparent 96%);
  border: 1px solid color-mix(in srgb, var(--mp-x42), transparent 90%);
  transition: all 0.2s ease;}#mpScreen[data-route="pages/pet-detail/index"] .detail-vaccine-clickable:active{
  background-color: color-mix(in srgb, var(--mp-x262), transparent 90%);
  transform: scale(0.97);}#mpScreen[data-route="pages/pet-detail/index"] .detail-vaccine-summary{
  font-size: 14px;
  color: var(--mp-x42);
  font-weight: 600;
  line-height: 1.5;
  word-break: break-all;
  flex: 1;}#mpScreen[data-route="pages/pet-detail/index"] .detail-vaccine-arrow{
  font-size: 20px;
  color: var(--mp-x42);
  font-weight: 700;
  line-height: 1;
  flex-shrink: 0;
  margin-left: 2px;}#mpScreen[data-route="pages/pet-detail/index"] .detail-address-link{
  color: var(--mp-x27);
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 2px;}#mpScreen[data-route="pages/pet-detail/index"] .detail-desc{
  font-size: 14px;
  color: var(--mp-ink2);
  line-height: 1.7;
  display: block;
  font-weight: 400;}

/* ========== 照片网格 ========== */#mpScreen[data-route="pages/pet-detail/index"] .detail-photo-grid{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  width: 100%;
  box-sizing: border-box;}#mpScreen[data-route="pages/pet-detail/index"] .detail-photo{
  display: block;
  width: calc((100% - 16px) / 3);
  height: 110px;
  border-radius: 14px;
  flex-shrink: 0;
  border: 2px solid color-mix(in srgb, var(--mp-n00), transparent 96%);
  box-sizing: border-box;
  object-fit: cover;
  box-shadow: 0 2px 8px color-mix(in srgb, var(--mp-n00), transparent 94%);}

/* ========== 发布人卡片 ========== */#mpScreen[data-route="pages/pet-detail/index"] .publisher-card{
  background-color: var(--mp-n100);
  border-radius: 14px;
  padding: 14px 16px;
  box-sizing: border-box;
  border: 1px solid color-mix(in srgb, var(--mp-n00), transparent 94%);
  box-shadow: 0 1px 4px color-mix(in srgb, var(--mp-n00), transparent 97%);}#mpScreen[data-route="pages/pet-detail/index"] .publisher-info-row{
  display: grid;
  grid-template-columns: 88px minmax(0, 1fr);
  column-gap: 10px;
  align-items: start;
  margin-bottom: 8px;}#mpScreen[data-route="pages/pet-detail/index"] .publisher-info-row:last-child{
  margin-bottom: 0;}#mpScreen[data-route="pages/pet-detail/index"] .detail-footer{
  display: none;}

/* ========== 联系发布人按钮 ========== */#mpScreen[data-route="pages/pet-detail/index"] .contact-publisher-area{
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;}#mpScreen[data-route="pages/pet-detail/index"] .douyin-contact-btn{
  width: 100%;
  height: 52px;
  background: linear-gradient(135deg, var(--mp-n08) 0%, var(--mp-n18) 50%, var(--mp-n08) 100%);
  border-radius: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  box-sizing: border-box;
  padding: 0 28px;
  box-shadow: 0 4px 16px color-mix(in srgb, var(--mp-n00), transparent 85%);}#mpScreen[data-route="pages/pet-detail/index"] .douyin-contact-btn:active{
  transform: scale(0.97);
  opacity: 0.9;}#mpScreen[data-route="pages/pet-detail/index"] .douyin-contact-btn-icon{
  font-size: 22px;
  line-height: 1;}#mpScreen[data-route="pages/pet-detail/index"] .douyin-contact-btn-text{
  font-size: 16px;
  font-weight: 600;
  color: var(--mp-inkOn);
  line-height: 1.4;
  letter-spacing: 0.5px;}#mpScreen[data-route="pages/pet-detail/index"] .douyin-contact-btn-arrow{
  font-size: 18px;
  line-height: 1;
  opacity: 0.8;}#mpScreen[data-route="pages/pet-detail/index"] .contact-divider{
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;}#mpScreen[data-route="pages/pet-detail/index"] .contact-divider-text{
  font-size: 12px;
  color: var(--mp-n68);
  font-weight: 400;
  letter-spacing: 0.5px;}

/* ========== 联系弹窗样式 ========== */#mpScreen[data-route="pages/pet-detail/index"] .contact-modal-overlay{
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: color-mix(in srgb, var(--mp-n00), transparent 45%);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 999;
  backdrop-filter: blur(4px);}#mpScreen[data-route="pages/pet-detail/index"] .contact-modal-card{
  width: 85%;
  max-width: 340px;
  max-height: calc(86 * var(--mpvh));
  overflow-y: auto;
  background: linear-gradient(160deg, var(--mp-n100) 0%, var(--mp-n100) 100%);
  border-radius: 28px;
  padding: 28px 24px 22px;
  box-sizing: border-box;
  box-shadow: 0 20px 50px color-mix(in srgb, var(--mp-n00), transparent 80%);
  display: flex;
  flex-direction: column;
  align-items: center;}#mpScreen[data-route="pages/pet-detail/index"] .contact-modal-emoji-row{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin-bottom: 14px;}#mpScreen[data-route="pages/pet-detail/index"] .contact-modal-emoji{
  font-size: 36px;
  line-height: 1;}#mpScreen[data-route="pages/pet-detail/index"] .contact-modal-sparkle{
  font-size: 28px;
  line-height: 1;
  animation: sparklePulse 1.5s ease-in-out infinite;}

@keyframes sparklePulse {
  0%, 100% { transform: scale(1); opacity: 0.7; }
  50% { transform: scale(1.3); opacity: 1; }
}#mpScreen[data-route="pages/pet-detail/index"] .contact-modal-title{
  font-size: 20px;
  font-weight: 700;
  color: var(--mp-ink1);
  display: block;
  margin-bottom: 16px;
  letter-spacing: 0.5px;}#mpScreen[data-route="pages/pet-detail/index"] .contact-modal-douyin-id-box{
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 10px;
  background: linear-gradient(135deg, var(--mp-x47), var(--mp-w92));
  border: 2px dashed var(--mp-x66);
  border-radius: 16px;
  padding: 12px 20px;
  margin-bottom: 14px;
  width: 100%;
  box-sizing: border-box;}#mpScreen[data-route="pages/pet-detail/index"] .contact-modal-douyin-id-label{
  font-size: 13px;
  color: var(--mp-x67);
  font-weight: 600;
  flex-shrink: 0;}#mpScreen[data-route="pages/pet-detail/index"] .contact-modal-douyin-id-value{
  font-size: 16px;
  font-weight: 700;
  color: var(--mp-bRich);
  letter-spacing: 0.5px;
  flex: 1;
  word-break: break-all;}#mpScreen[data-route="pages/pet-detail/index"] .contact-modal-desc{
  font-size: 13px;
  color: var(--mp-n60);
  text-align: center;
  display: block;
  margin-bottom: 20px;
  line-height: 1.5;
  letter-spacing: 0.3px;}#mpScreen[data-route="pages/pet-detail/index"] .contact-modal-risk-warning{
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 8px;
  background: linear-gradient(135deg, var(--mp-x47), var(--mp-w92));
  border: 1.5px solid var(--mp-x66);
  border-radius: 12px;
  padding: 10px 14px;
  margin-bottom: 12px;
  width: 100%;
  box-sizing: border-box;}#mpScreen[data-route="pages/pet-detail/index"] .contact-modal-risk-icon{
  font-size: 18px;
  line-height: 1.4;
  flex-shrink: 0;}#mpScreen[data-route="pages/pet-detail/index"] .contact-modal-risk-body{
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 5px;}#mpScreen[data-route="pages/pet-detail/index"] .contact-modal-risk-title{
  font-size: 13px;
  color: var(--mp-x67);
  font-weight: 700;
  line-height: 1.4;}#mpScreen[data-route="pages/pet-detail/index"] .contact-modal-risk-line{
  font-size: 12px;
  color: var(--mp-x68);
  font-weight: 400;
  line-height: 1.55;}#mpScreen[data-route="pages/pet-detail/index"] .contact-modal-risk-head{
  font-weight: 700;
  color: var(--mp-x67);}#mpScreen[data-route="pages/pet-detail/index"] .contact-modal-fun-tip{
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 6px;
  margin-bottom: 18px;
  width: 100%;
  box-sizing: border-box;}#mpScreen[data-route="pages/pet-detail/index"] .contact-modal-fun-emoji{
  font-size: 18px;
  line-height: 1;}#mpScreen[data-route="pages/pet-detail/index"] .contact-modal-fun-text{
  font-size: 13px;
  color: var(--mp-n60);
  font-weight: 400;
  letter-spacing: 0.3px;}#mpScreen[data-route="pages/pet-detail/index"] .contact-modal-buttons{
  display: flex;
  flex-direction: row;
  gap: 12px;
  width: 100%;
  box-sizing: border-box;}#mpScreen[data-route="pages/pet-detail/index"] .contact-modal-btn{
  flex: 1;
  height: 48px;
  border-radius: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;}#mpScreen[data-route="pages/pet-detail/index"] .contact-modal-btn-cancel{
  background-color: var(--mp-n96);
  border: 1px solid var(--mp-line2);}#mpScreen[data-route="pages/pet-detail/index"] .contact-modal-btn-cancel:active{
  background-color: var(--mp-n91);
  transform: scale(0.97);}#mpScreen[data-route="pages/pet-detail/index"] .contact-modal-btn-confirm{
  background: linear-gradient(135deg, var(--mp-n08), var(--mp-n18));
  box-shadow: 0 4px 14px color-mix(in srgb, var(--mp-n00), transparent 80%);}#mpScreen[data-route="pages/pet-detail/index"] .contact-modal-btn-confirm::after{
  border: none;}#mpScreen[data-route="pages/pet-detail/index"] .contact-modal-btn-confirm:active{
  transform: scale(0.97);
  opacity: 0.9;}#mpScreen[data-route="pages/pet-detail/index"] .contact-modal-btn-text{
  font-size: 15px;
  font-weight: 600;
  color: var(--mp-ink1);
  line-height: 1.4;
  display: flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;}#mpScreen[data-route="pages/pet-detail/index"] .contact-modal-btn-confirm .contact-modal-btn-text{
  color: var(--mp-inkOn);}#mpScreen[data-route="pages/pet-detail/index"] .douyin-btn{
  background: var(--mp-n08);
  border-radius: 24px;
  padding: 0 24px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  box-sizing: border-box;
  flex: 1;}#mpScreen[data-route="pages/pet-detail/index"] .douyin-btn::after{
  border: none;}#mpScreen[data-route="pages/pet-detail/index"] .douyin-btn-icon{
  font-size: 16px;
  line-height: 1;}#mpScreen[data-route="pages/pet-detail/index"] .douyin-btn-text{
  font-size: 14px;
  font-weight: 600;
  color: var(--mp-inkOn);
  line-height: 1.4;}#mpScreen[data-route="pages/pet-detail/index"] .copy-btn{
  background: var(--mp-n96);
  border-radius: 24px;
  padding: 0 20px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  box-sizing: border-box;
  flex: 1;
  transition: all 0.2s ease;}#mpScreen[data-route="pages/pet-detail/index"] .copy-btn:active{
  background: var(--mp-n91);
  transform: scale(0.96);}#mpScreen[data-route="pages/pet-detail/index"] .copy-btn-icon{
  font-size: 16px;
  line-height: 1;}#mpScreen[data-route="pages/pet-detail/index"] .copy-btn-text{
  font-size: 14px;
  font-weight: 600;
  color: var(--mp-ink1);
  line-height: 1.4;}#mpScreen[data-route="pages/pet-detail/index"] .douyin-btn-empty{
  background-color: var(--mp-n96);
  border-radius: 24px;
  padding: 0 32px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  flex: 1;}#mpScreen[data-route="pages/pet-detail/index"] .douyin-btn-empty-text{
  font-size: 14px;
  color: var(--mp-n60);}#mpScreen[data-route="pages/pet-detail/index"] .detail-cured-yes{
  color: var(--mp-x42);
  font-weight: 600;}#mpScreen[data-route="pages/pet-detail/index"] .detail-cured-no{
  color: var(--mp-x76);
  font-weight: 600;}#mpScreen[data-route="pages/pet-detail/index"] .detail-price{
  font-size: 20px;
  font-weight: 800;
  color: var(--mp-b1);}#mpScreen[data-route="pages/pet-detail/index"] .detail-price-badge{
  font-size: 11px;
  font-weight: 600;
  color: var(--mp-inkOn);
  background: linear-gradient(135deg, var(--mp-b2), var(--mp-b1));
  border-radius: 10px;
  padding: 3px 8px;
  margin-left: 8px;
  line-height: 1.4;
  display: inline-flex;
  align-items: center;
  white-space: nowrap;}#mpScreen[data-route="pages/pet-detail/index"] .detail-price-knife{
  background: linear-gradient(135deg, var(--mp-x89), var(--mp-x90));}

/* 聘礼填 0 时顶上这枚绿牌，和首页卡片那枚同一个渐变；绿色相不在当季暖色窗口里，四季都不会变 */#mpScreen[data-route="pages/pet-detail/index"] .detail-price-free{
  background: linear-gradient(135deg, var(--mp-x91), var(--mp-x92));}

/* 金额与一口价/可小刀标签同行，并与左侧标签文字齐平 */#mpScreen[data-route="pages/pet-detail/index"] .detail-price-wrap{
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
  min-width: 0;
  margin-top: -4px;}#mpScreen[data-route="pages/pet-detail/index"] .detail-price-wrap .detail-price-badge{
  margin-left: 0;}

/* ========== 物资聘礼明细 ========== */#mpScreen[data-route="pages/pet-detail/index"] .detail-goods-list{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: -4px;}#mpScreen[data-route="pages/pet-detail/index"] .detail-goods-item{
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 4px 11px 4px 9px;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--mp-n100) 0%, var(--mp-x263) 100%);
  border: 1px solid color-mix(in srgb, var(--mp-x139), transparent 78%);
  box-shadow: 0 2px 8px color-mix(in srgb, var(--mp-x124), transparent 87%);
  animation: goodsChipIn 0.44s cubic-bezier(0.34, 1.48, 0.5, 1) both;}#mpScreen[data-route="pages/pet-detail/index"] .detail-goods-item:nth-child(2){ animation-delay: 0.06s;}#mpScreen[data-route="pages/pet-detail/index"] .detail-goods-item:nth-child(3){ animation-delay: 0.12s;}#mpScreen[data-route="pages/pet-detail/index"] .detail-goods-item:nth-child(4){ animation-delay: 0.18s;}#mpScreen[data-route="pages/pet-detail/index"] .detail-goods-item:nth-child(5){ animation-delay: 0.24s;}#mpScreen[data-route="pages/pet-detail/index"] .detail-goods-item:nth-child(6){ animation-delay: 0.30s;}

@keyframes goodsChipIn {
  from { opacity: 0; transform: translateY(7px) scale(0.92); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}#mpScreen[data-route="pages/pet-detail/index"] .detail-goods-emoji{
  font-size: 15px;
  line-height: 1;}#mpScreen[data-route="pages/pet-detail/index"] .detail-goods-name{
  font-size: 13px;
  font-weight: 700;
  color: var(--mp-cDeep);}#mpScreen[data-route="pages/pet-detail/index"] .detail-goods-amount{
  font-size: 13px;
  font-weight: 800;
  color: var(--mp-b1);
  padding-left: 6px;
  border-left: 1px dashed color-mix(in srgb, var(--mp-x139), transparent 65%);}#mpScreen[data-route="pages/pet-detail/index"] .detail-goods-empty{
  font-size: 13px;
  color: var(--mp-cDeep);
  line-height: 21px;}

/* ========== 评论区样式 ========== */#mpScreen[data-route="pages/pet-detail/index"] .comment-section{
  padding: 16px 16px 0;
  background-color: var(--mp-n100);
  border-top: 1px solid var(--mp-line1);
  width: 100%;
  max-width: 600px;
  align-self: center;
  box-sizing: border-box;
  margin-bottom: 0;
  padding-bottom: 16px;}#mpScreen[data-route="pages/pet-detail/index"] .comment-section-title{
  font-size: 17px;
  font-weight: 700;
  color: var(--mp-ink1);
  display: flex;
  align-items: center;
  margin-bottom: 12px;
  letter-spacing: -0.02em;
  line-height: 1.3;}#mpScreen[data-route="pages/pet-detail/index"] .comment-list{
  margin-bottom: 12px;}#mpScreen[data-route="pages/pet-detail/index"] .comment-item{
  background-color: var(--mp-n100);
  border-radius: 14px;
  padding: 12px 14px;
  margin-bottom: 10px;
  box-sizing: border-box;
  /* 整条可点=回复，按下去要有反应，否则没人知道这里能点。
     cursor 那行不只是给电脑看的：iOS Safari 上没有 cursor:pointer 的元素不触发 :active。
     按下色走令牌，白天是浅灰绿、夜里是浅棕，两套都看得出来。 */
  cursor: pointer;
  transition: background-color .16s ease, transform .16s ease;}#mpScreen[data-route="pages/pet-detail/index"] .comment-item:active{
  background-color: var(--mp-n91);
  transform: scale(0.994);}#mpScreen[data-route="pages/pet-detail/index"] .comment-item-header{
  display: flex;
  align-items: center;
  justify-content: flex-start;
  margin-bottom: 6px;}

/* 💬 评论行小头像：emoji + 色系匹配背景，图片头像仍按图片显示 */#mpScreen[data-route="pages/pet-detail/index"] .comment-avatar{
  width: 26px;
  height: 26px;
  border-radius: 50%;
  flex-shrink: 0;
  margin-right: 7px;
  border: 1px solid color-mix(in srgb, var(--mp-n00), transparent 94%);
  box-sizing: border-box;}#mpScreen[data-route="pages/pet-detail/index"] .comment-avatar-emoji{
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 1px 4px color-mix(in srgb, var(--mp-n00), transparent 94%);}#mpScreen[data-route="pages/pet-detail/index"] .comment-avatar-emoji-text{
  font-size: 14px;
  line-height: 1;}#mpScreen[data-route="pages/pet-detail/index"] .reply-avatar{
  width: 20px;
  height: 20px;
  margin-right: 6px;}#mpScreen[data-route="pages/pet-detail/index"] .reply-avatar-emoji-text{
  font-size: 11px;}

/* 👤 发布者：头像 + 个人ID 并排 */#mpScreen[data-route="pages/pet-detail/index"] .publisher-id-cell{
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;}#mpScreen[data-route="pages/pet-detail/index"] .publisher-avatar{
  width: 30px;
  height: 30px;
  border-radius: 50%;
  flex-shrink: 0;
  border: 1px solid color-mix(in srgb, var(--mp-n00), transparent 94%);
  box-sizing: border-box;}#mpScreen[data-route="pages/pet-detail/index"] .publisher-avatar-emoji{
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 1px 5px color-mix(in srgb, var(--mp-n00), transparent 93%);}#mpScreen[data-route="pages/pet-detail/index"] .publisher-avatar-emoji-text{
  font-size: 16px;
  line-height: 1;}#mpScreen[data-route="pages/pet-detail/index"] .comment-item-time{
  font-size: 11px;
  color: var(--mp-n68);
  font-weight: 400;
  line-height: 1.4;}#mpScreen[data-route="pages/pet-detail/index"] .comment-item-text{
  font-size: 14px;
  color: var(--mp-ink2);
  line-height: 1.6;
  font-weight: 400;
  letter-spacing: -0.005em;
  word-break: break-all;
  display: block;}#mpScreen[data-route="pages/pet-detail/index"] .comment-item-image{
  width: 120px;
  border-radius: 10px;
  margin-top: 8px;
  display: block;}#mpScreen[data-route="pages/pet-detail/index"] .comment-empty{
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 24px 0;
  margin-bottom: 12px;}#mpScreen[data-route="pages/pet-detail/index"] .comment-empty-icon{
  font-size: 36px;
  margin-bottom: 8px;
  line-height: 1;}#mpScreen[data-route="pages/pet-detail/index"] .comment-empty-text{
  font-size: 13px;
  color: var(--mp-n68);
  font-weight: 400;
  letter-spacing: -0.005em;}#mpScreen[data-route="pages/pet-detail/index"] .comment-fixed-bar{
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  background-color: var(--mp-n100);
  border-top: 1px solid var(--mp-line1);
  padding: 10px 16px;
  padding-bottom: calc(10px + env(safe-area-inset-bottom));
  box-sizing: border-box;
  z-index: 100;
  box-shadow: 0 -2px 12px color-mix(in srgb, var(--mp-n00), transparent 94%);}#mpScreen[data-route="pages/pet-detail/index"] .comment-input-area{
  background-color: var(--mp-n100);
  padding-bottom: 8px;}#mpScreen[data-route="pages/pet-detail/index"] .comment-input-row{
  display: flex;
  align-items: center;
  gap: 6px;
  width: 100%;
  box-sizing: border-box;}#mpScreen[data-route="pages/pet-detail/index"] .comment-input{
  flex: 1;
  height: 40px;
  background-color: var(--mp-n96);
  border-radius: 20px;
  padding: 0 16px;
  font-size: 14px;
  color: var(--mp-ink2);
  box-sizing: border-box;
  border: 0.5px solid color-mix(in srgb, var(--mp-n00), transparent 94%);
  font-weight: 400;
  letter-spacing: -0.01em;
  min-width: 0;}#mpScreen[data-route="pages/pet-detail/index"] .comment-emoji-btn,
#mpScreen[data-route="pages/pet-detail/index"] .comment-photo-btn,
#mpScreen[data-route="pages/pet-detail/index"] .comment-live-btn{
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background-color: var(--mp-n96);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  border: 0.5px solid color-mix(in srgb, var(--mp-n00), transparent 94%);
  box-sizing: border-box;}#mpScreen[data-route="pages/pet-detail/index"] .comment-emoji-icon,
#mpScreen[data-route="pages/pet-detail/index"] .comment-photo-icon,
#mpScreen[data-route="pages/pet-detail/index"] .comment-live-icon{
  font-size: 18px;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;}#mpScreen[data-route="pages/pet-detail/index"] .comment-submit-btn{
  height: 36px;
  padding: 0 16px;
  border-radius: 18px;
  background: var(--mp-n08);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  box-sizing: border-box;}#mpScreen[data-route="pages/pet-detail/index"] .comment-submit-btn::after{
  border: none;}#mpScreen[data-route="pages/pet-detail/index"] .comment-submit-text{
  font-size: 13px;
  font-weight: 600;
  color: var(--mp-inkOn);
  line-height: 1.4;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;}#mpScreen[data-route="pages/pet-detail/index"] .comment-image-preview{
  position: relative;
  display: inline-flex;
  margin-top: 8px;}#mpScreen[data-route="pages/pet-detail/index"] .comment-preview-img{
  width: 60px;
  height: 60px;
  border-radius: 10px;}#mpScreen[data-route="pages/pet-detail/index"] .comment-preview-remove{
  position: absolute;
  top: -6px;
  right: -6px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background-color: color-mix(in srgb, var(--mp-n00), transparent 40%);
  display: flex;
  align-items: center;
  justify-content: center;}#mpScreen[data-route="pages/pet-detail/index"] .comment-preview-remove-icon{
  font-size: 11px;
  color: var(--mp-inkOn);
  font-weight: 700;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;}#mpScreen[data-route="pages/pet-detail/index"] .emoji-panel{
  margin-top: 8px;
  background-color: var(--mp-n100);
  border-radius: 14px;
  padding: 10px;
  box-sizing: border-box;}#mpScreen[data-route="pages/pet-detail/index"] .emoji-grid{
  display: flex;
  flex-wrap: wrap;
  gap: 6px;}#mpScreen[data-route="pages/pet-detail/index"] .emoji-item{
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  background-color: var(--mp-n100);
  border: 0.5px solid color-mix(in srgb, var(--mp-n00), transparent 96%);
  box-sizing: border-box;
  transition: transform 0.15s ease;}#mpScreen[data-route="pages/pet-detail/index"] .emoji-item:active{
  transform: scale(0.9);
  background-color: var(--mp-n96);}#mpScreen[data-route="pages/pet-detail/index"] .emoji-text{
  font-size: 22px;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;}#mpScreen[data-route="pages/pet-detail/index"] .emoji-scroll{
  max-height: 300px;
  width: 100%;
  box-sizing: border-box;}#mpScreen[data-route="pages/pet-detail/index"] .emoji-category{
  margin-bottom: 12px;}#mpScreen[data-route="pages/pet-detail/index"] .emoji-category-label{
  font-size: 12px;
  color: var(--mp-n60);
  font-weight: 500;
  margin-bottom: 6px;
  display: block;
  padding: 0 4px;}#mpScreen[data-route="pages/pet-detail/index"] .comment-replies{
  margin-top: 8px;
  padding-left: 12px;
  border-left: 2px solid var(--mp-line2);}#mpScreen[data-route="pages/pet-detail/index"] .reply-item{
  background-color: var(--mp-n100);
  border-radius: 10px;
  padding: 8px 10px;
  margin-bottom: 6px;
  border: 0.5px solid color-mix(in srgb, var(--mp-n00), transparent 95%);}#mpScreen[data-route="pages/pet-detail/index"] .reply-item:last-child{
  margin-bottom: 0;}#mpScreen[data-route="pages/pet-detail/index"] .reply-item-header{
  display: flex;
  align-items: center;
  margin-bottom: 4px;}#mpScreen[data-route="pages/pet-detail/index"] .reply-item-time{
  font-size: 10px;
  color: var(--mp-n68);
  font-weight: 400;
  line-height: 1.4;}#mpScreen[data-route="pages/pet-detail/index"] .reply-item-text{
  font-size: 13px;
  color: var(--mp-ink2);
  line-height: 1.5;
  font-weight: 400;
  word-break: break-all;
  display: block;}#mpScreen[data-route="pages/pet-detail/index"] .reply-item-image{
  width: 100px;
  border-radius: 8px;
  margin-top: 6px;
  display: block;}#mpScreen[data-route="pages/pet-detail/index"] .reply-to-bar{
  display: flex;
  flex-direction: row;
  align-items: center;
  background-color: var(--mp-x264);
  padding: 6px 12px;
  border-radius: 10px;
  margin-bottom: 6px;
  width: 100%;
  box-sizing: border-box;}#mpScreen[data-route="pages/pet-detail/index"] .reply-to-label{
  font-size: 12px;
  color: var(--mp-x265);
  font-weight: 500;
  flex-shrink: 0;}#mpScreen[data-route="pages/pet-detail/index"] .reply-to-preview{
  font-size: 12px;
  color: var(--mp-n38);
  flex: 1;
  margin: 0 8px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;}#mpScreen[data-route="pages/pet-detail/index"] .reply-cancel-btn{
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background-color: color-mix(in srgb, var(--mp-n00), transparent 90%);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;}#mpScreen[data-route="pages/pet-detail/index"] .reply-cancel-icon{
  font-size: 10px;
  color: var(--mp-n38);
  font-weight: 700;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;}#mpScreen[data-route="pages/pet-detail/index"] .comment-input-inner-row{
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 6px;
  width: 100%;
  box-sizing: border-box;}

/* ========== 评论高亮动画 ========== */
@keyframes commentHighlight {
  0% {
    background-color: #FFF3CD;
    box-shadow: 0 0 0 2px #FFC107;
  }
  50% {
    background-color: #FFF8E1;
    box-shadow: 0 0 0 3px #FFB300;
  }
  100% {
    background-color: #F8F8F8;
    box-shadow: 0 0 0 0 rgba(255, 193, 7, 0);
  }
}

@keyframes replyHighlight {
  0% {
    background-color: #FFF3CD;
    box-shadow: 0 0 0 2px #FFC107;
  }
  50% {
    background-color: #FFF8E1;
    box-shadow: 0 0 0 3px #FFB300;
  }
  100% {
    background-color: #FFFFFF;
    box-shadow: 0 0 0 0 rgba(255, 193, 7, 0);
  }
}

/* ========== 疫苗详情可点击样式 ========== */#mpScreen[data-route="pages/pet-detail/index"] .detail-vaccine-clickable{
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 4px;}#mpScreen[data-route="pages/pet-detail/index"] .detail-vaccine-summary{
  font-size: 14px;
  color: var(--mp-x42);
  font-weight: 600;
  line-height: 1.5;
  word-break: break-all;
  flex: 1;}#mpScreen[data-route="pages/pet-detail/index"] .detail-vaccine-arrow{
  font-size: 20px;
  color: var(--mp-x42);
  font-weight: 600;
  line-height: 1.5;
  flex-shrink: 0;
  margin-left: 4px;}

/* ========== 疫苗详情弹窗 ========== */#mpScreen[data-route="pages/pet-detail/index"] .vaccine-modal-overlay{
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: color-mix(in srgb, var(--mp-n00), transparent 45%);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
  backdrop-filter: blur(4px);}#mpScreen[data-route="pages/pet-detail/index"] .vaccine-modal-card{
  width: 85%;
  max-width: 360px;
  background: linear-gradient(160deg, var(--mp-n100) 0%, var(--mp-n100) 100%);
  border-radius: 24px;
  padding: 24px 20px 20px;
  box-sizing: border-box;
  box-shadow: 0 20px 50px color-mix(in srgb, var(--mp-n00), transparent 80%);
  display: flex;
  flex-direction: column;}#mpScreen[data-route="pages/pet-detail/index"] .vaccine-modal-header{
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 18px;
  padding-bottom: 12px;
  border-bottom: 2px dashed var(--mp-line1);}#mpScreen[data-route="pages/pet-detail/index"] .vaccine-modal-title{
  font-size: 18px;
  font-weight: 700;
  color: var(--mp-ink1);
  letter-spacing: 0.5px;}#mpScreen[data-route="pages/pet-detail/index"] .vaccine-modal-close{
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background-color: var(--mp-n96);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;}#mpScreen[data-route="pages/pet-detail/index"] .vaccine-modal-close:active{
  background-color: var(--mp-n91);
  transform: scale(0.9);}#mpScreen[data-route="pages/pet-detail/index"] .vaccine-modal-close-icon{
  font-size: 16px;
  color: var(--mp-n38);
  font-weight: 700;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;}#mpScreen[data-route="pages/pet-detail/index"] .vaccine-modal-body{
  display: flex;
  flex-direction: column;}#mpScreen[data-route="pages/pet-detail/index"] .vaccine-status-row{
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  background: linear-gradient(135deg, var(--mp-n100), var(--mp-x255));
  border-radius: 12px;
  padding: 12px 16px;
  margin-bottom: 16px;
  border: 1px solid color-mix(in srgb, var(--mp-x57), transparent 88%);
  box-sizing: border-box;}#mpScreen[data-route="pages/pet-detail/index"] .vaccine-status-label{
  font-size: 14px;
  color: var(--mp-n38);
  font-weight: 600;}#mpScreen[data-route="pages/pet-detail/index"] .vaccine-status-value{
  font-size: 15px;
  color: var(--mp-x42);
  font-weight: 700;}#mpScreen[data-route="pages/pet-detail/index"] .vaccine-list{
  display: flex;
  flex-direction: column;
  gap: 10px;
  max-height: 320px;
  overflow-y: auto;}#mpScreen[data-route="pages/pet-detail/index"] .vaccine-item{
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 12px;
  background-color: var(--mp-n100);
  border-radius: 14px;
  padding: 12px 14px;
  border: 1px solid color-mix(in srgb, var(--mp-n00), transparent 96%);
  box-sizing: border-box;}#mpScreen[data-route="pages/pet-detail/index"] .vaccine-item-dot{
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--mp-n96), var(--mp-x65));
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;}#mpScreen[data-route="pages/pet-detail/index"] .vaccine-dot-icon{
  font-size: 18px;
  line-height: 1;}#mpScreen[data-route="pages/pet-detail/index"] .vaccine-item-info{
  display: flex;
  flex-direction: column;
  gap: 4px;
  flex: 1;}#mpScreen[data-route="pages/pet-detail/index"] .vaccine-item-name{
  font-size: 15px;
  color: var(--mp-ink1);
  font-weight: 600;
  line-height: 1.4;}#mpScreen[data-route="pages/pet-detail/index"] .vaccine-item-date{
  font-size: 13px;
  color: var(--mp-n60);
  font-weight: 400;
  line-height: 1.4;}#mpScreen[data-route="pages/pet-detail/index"] .vaccine-item-date-row{
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;}#mpScreen[data-route="pages/pet-detail/index"] .vaccine-rabies-mark{
  font-size: 11px;
  font-weight: 700;
  color: var(--mp-x05);
  background: color-mix(in srgb, var(--mp-b2), transparent 86%);
  border: 1px solid color-mix(in srgb, var(--mp-b2), transparent 65%);
  border-radius: 999px;
  padding: 1px 8px;
  line-height: 1.5;}#mpScreen[data-route="pages/pet-detail/index"] .vaccine-empty{
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 28px 0 8px;}#mpScreen[data-route="pages/pet-detail/index"] .vaccine-empty-icon{
  font-size: 36px;
  line-height: 1;
  margin-bottom: 10px;}#mpScreen[data-route="pages/pet-detail/index"] .vaccine-empty-text{
  font-size: 14px;
  color: var(--mp-n68);
  font-weight: 400;}#mpScreen[data-route="pages/pet-detail/index"] .comment-highlight{
  animation: commentHighlight 2.5s ease-out;}#mpScreen[data-route="pages/pet-detail/index"] .reply-highlight{
  animation: replyHighlight 2.5s ease-out;}

/* ========== 帖子 ID 复制行 ========== */#mpScreen[data-route="pages/pet-detail/index"] .detail-id-copy-row{
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  flex: 1;
  cursor: pointer;}#mpScreen[data-route="pages/pet-detail/index"] .detail-id-value{
  font-size: 14px;
  color: var(--mp-ink2);
  font-weight: 500;
  font-family: 'SF Mono', 'Menlo', 'Consolas', monospace;
  letter-spacing: 0.02em;
  word-break: break-all;
  line-height: 1.5;
  flex: 1;}#mpScreen[data-route="pages/pet-detail/index"] .detail-id-copy-icon{
  font-size: 18px;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background-color: var(--mp-n96);
  transition: all 0.2s ease;}#mpScreen[data-route="pages/pet-detail/index"] .detail-id-copy-row:active .detail-id-copy-icon{
  background-color: var(--mp-n91);
  transform: scale(0.9);}

/* ========== 逐条喜好列表样式 ========== */#mpScreen[data-route="pages/pet-detail/index"] .hobby-item-list{
  display: flex;
  flex-direction: column;
  gap: 10px;
  width: 100%;
  box-sizing: border-box;}#mpScreen[data-route="pages/pet-detail/index"] .hobby-item-row{
  display: flex;
  flex-direction: column;
  background-color: color-mix(in srgb, var(--mp-n100), transparent 40%);
  border-radius: 12px;
  padding: 10px 12px;
  box-sizing: border-box;
  border: 1px solid color-mix(in srgb, var(--mp-x16), transparent 92%);}#mpScreen[data-route="pages/pet-detail/index"] .hobby-item-content{
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 6px;}#mpScreen[data-route="pages/pet-detail/index"] .hobby-item-bullet{
  font-size: 14px;
  line-height: 1.5;
  flex-shrink: 0;}#mpScreen[data-route="pages/pet-detail/index"] .hobby-item-text{
  font-size: 14px;
  color: var(--mp-ink2);
  line-height: 1.5;
  font-weight: 500;
  flex: 1;
  word-break: break-all;}

/* ========== Hobby 自动翻译展示 ========== */#mpScreen[data-route="pages/pet-detail/index"] .hobby-translation-display{
  margin-top: 16px;
  margin-bottom: 8px;}

/* 原文折叠区域 */#mpScreen[data-route="pages/pet-detail/index"] .hobby-original-area{
  margin-top: 12px;
  padding: 12px 16px;
  background: var(--mp-n96);
  border-radius: 10px;
  border-left: 3px solid var(--mp-cMid);}#mpScreen[data-route="pages/pet-detail/index"] .hobby-original-text{
  font-size: 26px;
  color: var(--mp-w42);
  line-height: 1.6;
  word-break: break-word;}

/* 查看原文 / 隐藏原文 小字链接 */#mpScreen[data-route="pages/pet-detail/index"] .hobby-original-toggle-row{
  margin-top: 12px;
  display: flex;
  align-items: center;}#mpScreen[data-route="pages/pet-detail/index"] .hobby-original-toggle-btn{
  display: inline-flex;
  align-items: center;
  padding: 4px 0;}#mpScreen[data-route="pages/pet-detail/index"] .hobby-original-toggle-text{
  font-size: 22px;
  color: var(--mp-x266);
  border-bottom: 1px dashed var(--mp-x266);}

/* ========== 翻译功能样式 ========== */#mpScreen[data-route="pages/pet-detail/index"] .comment-translate-row{
  display: flex;
  flex-direction: row;
  align-items: center;
  margin-top: 6px;}#mpScreen[data-route="pages/pet-detail/index"] .hobby-translate-row{
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-end;
  margin-top: 6px;}#mpScreen[data-route="pages/pet-detail/index"] .translate-btn{
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 6px 16px;
  border-radius: 14px;
  background-color: color-mix(in srgb, var(--mp-x267), transparent 92%);
  min-width: 60px;
  height: 30px;
  box-sizing: border-box;}#mpScreen[data-route="pages/pet-detail/index"] .translate-btn:active{
  background-color: color-mix(in srgb, var(--mp-x267), transparent 85%);
  transform: scale(0.96);}#mpScreen[data-route="pages/pet-detail/index"] .translate-btn-text{
  font-size: 13px;
  color: var(--mp-x265);
  font-weight: 500;
  line-height: 1;
  white-space: nowrap;
  display: flex;
  align-items: center;
  justify-content: center;}#mpScreen[data-route="pages/pet-detail/index"] .translate-result{
  display: flex;
  flex-direction: row;
  align-items: center;
  margin-top: 6px;
  padding: 6px 10px;
  background-color: color-mix(in srgb, var(--mp-x267), transparent 96%);
  border-radius: 8px;
  border-left: 3px solid var(--mp-x265);
  gap: 8px;}#mpScreen[data-route="pages/pet-detail/index"] .translate-result-text{
  font-size: 12px;
  color: var(--mp-n60);
  line-height: 1.5;
  font-weight: 400;
  word-break: break-all;
  flex: 1;}#mpScreen[data-route="pages/pet-detail/index"] .translate-result-label{
  font-size: 9px;
  color: var(--mp-n68);
  font-weight: 400;
  line-height: 1;
  flex-shrink: 0;
  background-color: color-mix(in srgb, var(--mp-n00), transparent 96%);
  padding: 2px 6px;
  border-radius: 4px;}

/* 🆔 评论区只展示发送人ID（不展示头像和昵称） */#mpScreen[data-route="pages/pet-detail/index"] .comment-sender-id{
  display: inline-flex;
  align-items: center;
  gap: 2px;
  margin-right: 8px;
  padding: 2px 8px;
  border-radius: 9px;
  background: linear-gradient(135deg, var(--mp-n100), var(--mp-x268));
  border: 1px solid color-mix(in srgb, var(--mp-x08), transparent 78%);
  font-size: 10.5px;
  font-weight: 700;
  color: var(--mp-x269);
  letter-spacing: 0.03em;
  line-height: 1.45;
  white-space: nowrap;
  flex-shrink: 0;}#mpScreen[data-route="pages/pet-detail/index"] .reply-sender-id{
  padding: 1px 7px;
  font-size: 10px;
  background: linear-gradient(135deg, var(--mp-n100), var(--mp-x270));}


/* ===== pages/adoption-record/index ===== */
#mpScreen[data-route="pages/adoption-record/index"]{
  background: linear-gradient(180deg, var(--mp-bgA) 0%, var(--mp-bgB) 100%);
  font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Display', 'PingFang SC', sans-serif;}#mpScreen[data-route="pages/adoption-record/index"] .page-container{
  display: flex;
  flex-direction: column;
  min-height: calc(100 * var(--mpvh));
  padding-bottom: env(safe-area-inset-bottom);}

/* 顶部导航 */#mpScreen[data-route="pages/adoption-record/index"] .top-bar{
  display: flex;
  align-items: center;
  padding: 16px 20px;
  background-color: var(--mp-n100);
  border-bottom: 0.5px solid color-mix(in srgb, var(--mp-n00), transparent 94%);
  position: sticky;
  top: 0;
  z-index: 10;}#mpScreen[data-route="pages/adoption-record/index"] .back-btn{
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background-color: var(--mp-n96);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;}#mpScreen[data-route="pages/adoption-record/index"] .back-icon{
  font-size: 18px;
  color: var(--mp-ink1);
  font-weight: 600;}#mpScreen[data-route="pages/adoption-record/index"] .top-title{
  flex: 1;
  text-align: center;
  font-size: 17px;
  font-weight: 700;
  color: var(--mp-ink1);
  letter-spacing: -0.02em;}#mpScreen[data-route="pages/adoption-record/index"] .top-placeholder{
  width: 36px;
  flex-shrink: 0;}

/* 内容区域 */#mpScreen[data-route="pages/adoption-record/index"] .content-area{
  flex: 1;
  padding: 20px;
  box-sizing: border-box;
  width: 100%;}

/* 宠物信息卡片 */#mpScreen[data-route="pages/adoption-record/index"] .pet-info-card{
  background: var(--mp-n100);
  border-radius: 16px;
  padding: 16px 20px;
  margin-bottom: 20px;
  box-shadow: 0 1px 3px color-mix(in srgb, var(--mp-n00), transparent 96%);}#mpScreen[data-route="pages/adoption-record/index"] .pet-info-header{
  display: flex;
  align-items: center;
  margin-bottom: 8px;}#mpScreen[data-route="pages/adoption-record/index"] .pet-info-emoji{
  font-size: 28px;
  margin-right: 10px;}#mpScreen[data-route="pages/adoption-record/index"] .pet-info-name{
  font-size: 18px;
  font-weight: 700;
  color: var(--mp-ink1);
  letter-spacing: -0.02em;}#mpScreen[data-route="pages/adoption-record/index"] .pet-info-hint{
  font-size: 13px;
  color: var(--mp-n60);
  margin-top: 4px;}

/* 表单卡片 */#mpScreen[data-route="pages/adoption-record/index"] .form-card{
  background: var(--mp-n100);
  border-radius: 16px;
  padding: 20px;
  margin-bottom: 20px;
  box-shadow: 0 1px 3px color-mix(in srgb, var(--mp-n00), transparent 96%);}#mpScreen[data-route="pages/adoption-record/index"] .form-card-title{
  font-size: 15px;
  font-weight: 700;
  color: var(--mp-ink1);
  margin-bottom: 16px;
  letter-spacing: -0.015em;
  display: flex;
  align-items: center;}#mpScreen[data-route="pages/adoption-record/index"] .form-card-title-icon{
  margin-right: 6px;
  font-size: 16px;}

/* 标题是 flex，行内空格会被吞掉，必填星号得自己留出间距 */#mpScreen[data-route="pages/adoption-record/index"] .form-card-title .required{
  margin-right: 5px;}#mpScreen[data-route="pages/adoption-record/index"] .form-group{
  margin-bottom: 16px;}#mpScreen[data-route="pages/adoption-record/index"] .form-group:last-child{
  margin-bottom: 0;}#mpScreen[data-route="pages/adoption-record/index"] .form-label{
  font-size: 14px;
  font-weight: 600;
  color: var(--mp-ink2);
  margin-bottom: 8px;
  display: block;
  letter-spacing: -0.01em;}#mpScreen[data-route="pages/adoption-record/index"] .required{
  color: var(--mp-x30);
  font-weight: 700;}#mpScreen[data-route="pages/adoption-record/index"] .form-input{
  width: 100%;
  height: 46px;
  background-color: var(--mp-n96);
  border-radius: 12px;
  padding: 0 16px;
  font-size: 15px;
  color: var(--mp-ink2);
  box-sizing: border-box;
  border: 0.5px solid color-mix(in srgb, var(--mp-n00), transparent 94%);
  letter-spacing: -0.01em;}#mpScreen[data-route="pages/adoption-record/index"] .date-picker-row{
  display: flex;
  align-items: center;
  background-color: var(--mp-n96);
  border-radius: 12px;
  padding: 0 16px;
  height: 46px;
  border: 0.5px solid color-mix(in srgb, var(--mp-n00), transparent 94%);
  box-sizing: border-box;}#mpScreen[data-route="pages/adoption-record/index"] .date-picker-text{
  flex: 1;
  font-size: 15px;
  color: var(--mp-ink2);
  letter-spacing: -0.01em;}#mpScreen[data-route="pages/adoption-record/index"] .date-picker-placeholder{
  color: var(--mp-n68);}#mpScreen[data-route="pages/adoption-record/index"] .date-picker-arrow{
  font-size: 14px;
  color: var(--mp-n60);}#mpScreen[data-route="pages/adoption-record/index"] .gender-selector{
  display: flex;
  gap: 10px;}#mpScreen[data-route="pages/adoption-record/index"] .gender-option{
  flex: 1;
  height: 46px;
  background-color: var(--mp-n96);
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid color-mix(in srgb, var(--mp-n00), transparent 96%);
  box-sizing: border-box;
  transition: all 0.2s ease;}#mpScreen[data-route="pages/adoption-record/index"] .gender-option.selected{
  border-color: var(--mp-n08);
  background-color: var(--mp-n96);}#mpScreen[data-route="pages/adoption-record/index"] .gender-option-text{
  font-size: 14px;
  font-weight: 600;
  color: var(--mp-n60);}#mpScreen[data-route="pages/adoption-record/index"] .gender-option.selected .gender-option-text{
  color: var(--mp-ink1);}

/* 地址选择 */#mpScreen[data-route="pages/adoption-record/index"] .address-row{
  display: flex;
  align-items: center;
  gap: 10px;}#mpScreen[data-route="pages/adoption-record/index"] .address-input{
  flex: 1;}#mpScreen[data-route="pages/adoption-record/index"] .location-btn{
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 46px;
  background-color: var(--mp-n96);
  border-radius: 12px;
  border: 0.5px solid color-mix(in srgb, var(--mp-n00), transparent 94%);
  box-sizing: border-box;
  flex-shrink: 0;}#mpScreen[data-route="pages/adoption-record/index"] .location-btn-icon{
  font-size: 16px;
  line-height: 1;}#mpScreen[data-route="pages/adoption-record/index"] .location-btn-text{
  font-size: 10px;
  color: var(--mp-ink1);
  font-weight: 600;
  margin-top: 1px;}

/* 图片上传 */#mpScreen[data-route="pages/adoption-record/index"] .photo-grid{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 8px;}#mpScreen[data-route="pages/adoption-record/index"] .photo-item{
  width: 80px;
  height: 80px;
  border-radius: 10px;
  overflow: hidden;
  position: relative;
  flex-shrink: 0;}#mpScreen[data-route="pages/adoption-record/index"] .photo-thumb{
  width: 80px;
  height: 80px;
  border-radius: 10px;}#mpScreen[data-route="pages/adoption-record/index"] .photo-delete{
  position: absolute;
  top: -4px;
  right: -4px;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background-color: color-mix(in srgb, var(--mp-n00), transparent 40%);
  display: flex;
  align-items: center;
  justify-content: center;}#mpScreen[data-route="pages/adoption-record/index"] .photo-delete-icon{
  font-size: 12px;
  color: var(--mp-inkOn);
  font-weight: 700;}#mpScreen[data-route="pages/adoption-record/index"] .photo-add{
  width: 80px;
  height: 80px;
  border-radius: 12px;
  border: 1.5px dashed color-mix(in srgb, var(--mp-n00), transparent 88%);
  background-color: var(--mp-n96);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  box-sizing: border-box;}#mpScreen[data-route="pages/adoption-record/index"] .photo-add-icon{
  font-size: 28px;
  color: var(--mp-n60);
  font-weight: 300;
  line-height: 1;}#mpScreen[data-route="pages/adoption-record/index"] .photo-add-text{
  font-size: 10px;
  color: var(--mp-n60);
  margin-top: 2px;}

/* 隐私提示：复用详情页那块卡片，这里只补表单区的上下间距 */#mpScreen[data-route="pages/adoption-record/index"] .privacy-notice{
  margin-bottom: 20px;}

/* 表单子标签 */#mpScreen[data-route="pages/adoption-record/index"] .form-sub-label{
  font-size: 12px;
  color: var(--mp-n60);
  font-weight: 400;
  margin-bottom: 10px;
  display: block;
  letter-spacing: -0.005em;
  line-height: 1.4;}

/* 身份证双卡片并排布局 */#mpScreen[data-route="pages/adoption-record/index"] .idcard-dual-row{
  display: flex;
  gap: 12px;}#mpScreen[data-route="pages/adoption-record/index"] .idcard-half-card{
  flex: 1;
  min-width: 0;}#mpScreen[data-route="pages/adoption-record/index"] .idcard-half-label{
  font-size: 12px;
  font-weight: 600;
  color: var(--mp-n60);
  margin-bottom: 8px;
  display: block;
  letter-spacing: -0.005em;
  text-align: center;}

/* 身份证上传区域 */#mpScreen[data-route="pages/adoption-record/index"] .idcard-upload-area{
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background-color: var(--mp-n96);
  border-radius: 14px;
  border: 1.5px dashed color-mix(in srgb, var(--mp-n00), transparent 90%);
  padding: 24px 12px;
  box-sizing: border-box;
  transition: background-color 0.15s ease;
  min-height: 160px;}#mpScreen[data-route="pages/adoption-record/index"] .idcard-upload-area:active{
  background-color: var(--mp-n91);}#mpScreen[data-route="pages/adoption-record/index"] .idcard-upload-icon{
  font-size: 32px;
  margin-bottom: 6px;
  line-height: 1;}#mpScreen[data-route="pages/adoption-record/index"] .idcard-upload-text{
  font-size: 13px;
  font-weight: 600;
  color: var(--mp-ink1);
  margin-bottom: 4px;
  letter-spacing: -0.015em;
  line-height: 1.4;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;}#mpScreen[data-route="pages/adoption-record/index"] .idcard-upload-hint{
  font-size: 11px;
  color: var(--mp-n60);
  font-weight: 400;
  letter-spacing: -0.005em;
  line-height: 1.4;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;}

/* 身份证识别中 */#mpScreen[data-route="pages/adoption-record/index"] .idcard-uploading{
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background-color: var(--mp-n96);
  border-radius: 14px;
  padding: 24px 12px;
  box-sizing: border-box;
  border: 1px solid color-mix(in srgb, var(--mp-n00), transparent 94%);
  min-height: 160px;}#mpScreen[data-route="pages/adoption-record/index"] .idcard-uploading-icon{
  font-size: 28px;
  margin-bottom: 8px;
  line-height: 1;
  animation: rotate 1.2s linear infinite;}#mpScreen[data-route="pages/adoption-record/index"] .idcard-uploading-text{
  font-size: 12px;
  font-weight: 600;
  color: var(--mp-ink1);
  margin-bottom: 10px;
  letter-spacing: -0.01em;
  line-height: 1.4;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;}#mpScreen[data-route="pages/adoption-record/index"] .idcard-uploading-bar{
  width: 120px;
  height: 4px;
  background-color: color-mix(in srgb, var(--mp-n00), transparent 92%);
  border-radius: 2px;
  overflow: hidden;}#mpScreen[data-route="pages/adoption-record/index"] .idcard-uploading-bar-inner{
  width: 60%;
  height: 100%;
  background: linear-gradient(90deg, var(--mp-b2), var(--mp-cMid));
  border-radius: 2px;
  animation: slide 1.8s ease-in-out infinite;}

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

@keyframes slide {
  0% { transform: translateX(-100%); }
  100% { transform: translateX(266%); }
}

/* 身份证照片预览（卡片内） */#mpScreen[data-route="pages/adoption-record/index"] .idcard-photo-preview{
  position: relative;
  border-radius: 14px;
  overflow: hidden;
  min-height: 160px;
  background-color: var(--mp-n96);
  border: 1px solid color-mix(in srgb, var(--mp-n00), transparent 94%);
  box-sizing: border-box;}#mpScreen[data-route="pages/adoption-record/index"] .idcard-photo-thumb-full{
  width: 100%;
  height: 160px;
  border-radius: 14px;}#mpScreen[data-route="pages/adoption-record/index"] .idcard-photo-mask{
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: linear-gradient(transparent, color-mix(in srgb, var(--mp-n00), transparent 55%));
  padding: 20px 10px 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;}#mpScreen[data-route="pages/adoption-record/index"] .idcard-mask-icon{
  font-size: 14px;
  line-height: 1;}#mpScreen[data-route="pages/adoption-record/index"] .idcard-mask-text{
  font-size: 12px;
  font-weight: 600;
  color: var(--mp-inkOn);
  letter-spacing: -0.01em;}#mpScreen[data-route="pages/adoption-record/index"] .idcard-reupload-btn{
  position: absolute;
  top: 6px;
  right: 6px;
  padding: 4px 10px;
  border-radius: 12px;
  background-color: color-mix(in srgb, var(--mp-n00), transparent 45%);
  flex-shrink: 0;}#mpScreen[data-route="pages/adoption-record/index"] .idcard-reupload-text{
  font-size: 11px;
  font-weight: 600;
  color: var(--mp-inkOn);
  line-height: 1.4;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;}

/* 身份证识别结果字段 */#mpScreen[data-route="pages/adoption-record/index"] .idcard-fields{
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 12px;}#mpScreen[data-route="pages/adoption-record/index"] .idcard-field{
  display: flex;
  align-items: center;
  background-color: var(--mp-n100);
  border-radius: 10px;
  padding: 0 14px;
  height: 44px;
  box-sizing: border-box;
  border: 0.5px solid color-mix(in srgb, var(--mp-n00), transparent 94%);}#mpScreen[data-route="pages/adoption-record/index"] .idcard-field-label{
  font-size: 13px;
  font-weight: 600;
  color: var(--mp-n60);
  width: 56px;
  flex-shrink: 0;
  letter-spacing: -0.01em;
  line-height: 1.4;
  display: flex;
  align-items: center;}#mpScreen[data-route="pages/adoption-record/index"] .idcard-field-value{
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;}#mpScreen[data-route="pages/adoption-record/index"] .idcard-field-value.readonly{
  cursor: default;}#mpScreen[data-route="pages/adoption-record/index"] .idcard-field-text{
  font-size: 14px;
  font-weight: 500;
  color: var(--mp-ink1);
  letter-spacing: -0.01em;
  line-height: 1.4;
  display: flex;
  align-items: center;}#mpScreen[data-route="pages/adoption-record/index"] .idcard-field-text.idcard-number{
  font-family: 'SF Mono', 'Menlo', 'Courier New', monospace;
  letter-spacing: 0.02em;}#mpScreen[data-route="pages/adoption-record/index"] .idcard-field-lock{
  font-size: 14px;
  line-height: 1;
  flex-shrink: 0;
  margin-left: 8px;
  display: flex;
  align-items: center;
  justify-content: center;}

/* ========== 提交按钮 - 抖音小程序规范实现 ========== */#mpScreen[data-route="pages/adoption-record/index"] .submit-btn{
  width: 100%;
  height: 52px;
  background-color: var(--mp-n08);
  color: var(--mp-inkOn);
  font-size: 16px;
  font-weight: 700;
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 24px;
  margin-bottom: 12px;
  box-sizing: border-box;
  border: none;
  line-height: 52px;
  white-space: nowrap;
  position: relative;
  z-index: 10;}

/* 抖音小程序 button 组件必须清除伪元素边框，这是按钮点击事件不响应的核心修复点 */#mpScreen[data-route="pages/adoption-record/index"] .submit-btn::after{
  border: none;}#mpScreen[data-route="pages/adoption-record/index"] .submit-btn:active{
  opacity: 0.85;
  transform: scale(0.98);
  transition: all 0.1s ease-out;}#mpScreen[data-route="pages/adoption-record/index"] .submit-btn-hint{
  display: block;
  text-align: center;
  font-size: 12px;
  color: var(--mp-n60);
  font-weight: 400;
  letter-spacing: -0.005em;
  margin-bottom: 40px;}

/* ========== 四级联动地址选择器弹窗 ========== */#mpScreen[data-route="pages/adoption-record/index"] .address-picker-overlay{
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: color-mix(in srgb, var(--mp-n00), transparent 45%);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 1100;}#mpScreen[data-route="pages/adoption-record/index"] .address-picker-mask{
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;}#mpScreen[data-route="pages/adoption-record/index"] .address-picker-panel{
  width: calc(86 * var(--mpvw));
  max-width: calc(680 * var(--mprpx));
  max-height: calc(80 * var(--mpvh));
  background: var(--mp-n100);
  border-radius: calc(36 * var(--mprpx));
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
  box-shadow: 0 calc(20 * var(--mprpx)) calc(60 * var(--mprpx)) color-mix(in srgb, var(--mp-n00), transparent 80%);}#mpScreen[data-route="pages/adoption-record/index"] .address-picker-header{
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  padding: calc(28 * var(--mprpx)) calc(32 * var(--mprpx)) calc(20 * var(--mprpx));
  border-bottom: calc(1 * var(--mprpx)) solid var(--mp-line1);
  box-sizing: border-box;}#mpScreen[data-route="pages/adoption-record/index"] .address-picker-header-left{
  display: flex;
  flex-direction: row;
  align-items: center;}#mpScreen[data-route="pages/adoption-record/index"] .address-picker-back-btn{
  width: calc(56 * var(--mprpx));
  height: calc(56 * var(--mprpx));
  border-radius: calc(28 * var(--mprpx));
  background-color: var(--mp-n96);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: calc(16 * var(--mprpx));}#mpScreen[data-route="pages/adoption-record/index"] .address-picker-back-btn text{
  font-size: calc(28 * var(--mprpx));
  color: var(--mp-ink2);
  line-height: 1;}#mpScreen[data-route="pages/adoption-record/index"] .address-picker-title{
  font-size: calc(32 * var(--mprpx));
  font-weight: 700;
  color: var(--mp-ink1);
  line-height: 1.4;}#mpScreen[data-route="pages/adoption-record/index"] .address-picker-step-indicator{
  font-size: calc(24 * var(--mprpx));
  color: var(--mp-b1);
  font-weight: 600;
  margin-left: calc(12 * var(--mprpx));
  line-height: 1.4;}#mpScreen[data-route="pages/adoption-record/index"] .address-picker-close{
  width: calc(56 * var(--mprpx));
  height: calc(56 * var(--mprpx));
  border-radius: calc(28 * var(--mprpx));
  background-color: var(--mp-n96);
  display: flex;
  align-items: center;
  justify-content: center;}#mpScreen[data-route="pages/adoption-record/index"] .address-picker-close text{
  font-size: calc(28 * var(--mprpx));
  color: var(--mp-n60);
  line-height: 1;}#mpScreen[data-route="pages/adoption-record/index"] .address-picker-body{
  flex: 1;
  overflow-y: auto;
  padding: calc(8 * var(--mprpx)) 0;}#mpScreen[data-route="pages/adoption-record/index"] .address-picker-item{
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  padding: calc(24 * var(--mprpx)) calc(32 * var(--mprpx));
  border-bottom: calc(1 * var(--mprpx)) solid var(--mp-line1);
  box-sizing: border-box;
  transition: background-color 0.15s;}#mpScreen[data-route="pages/adoption-record/index"] .address-picker-item:active{
  background-color: var(--mp-w96);}#mpScreen[data-route="pages/adoption-record/index"] .address-picker-item-text{
  font-size: calc(28 * var(--mprpx));
  color: var(--mp-ink2);
  line-height: 1.4;
  flex: 1;}#mpScreen[data-route="pages/adoption-record/index"] .address-picker-current{
  padding: calc(16 * var(--mprpx)) calc(32 * var(--mprpx));
  background-color: var(--mp-n100);
  border-bottom: calc(1 * var(--mprpx)) solid var(--mp-w92);
  box-sizing: border-box;}#mpScreen[data-route="pages/adoption-record/index"] .address-picker-current-text{
  font-size: calc(24 * var(--mprpx));
  color: var(--mp-cDeep);
  line-height: 1.5;}#mpScreen[data-route="pages/adoption-record/index"] .current-highlight{
  color: var(--mp-b1);
  font-weight: 600;}

/* ========== 地址选择按钮 ========== */#mpScreen[data-route="pages/adoption-record/index"] .address-select-btn{
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  height: calc(80 * var(--mprpx));
  background-color: var(--mp-n100);
  border-radius: calc(20 * var(--mprpx));
  border: calc(1.5 * var(--mprpx)) solid var(--mp-line2);
  padding: 0 calc(24 * var(--mprpx));
  box-sizing: border-box;
  transition: border-color 0.2s;}#mpScreen[data-route="pages/adoption-record/index"] .address-select-btn:active{
  border-color: var(--mp-b1);
  background-color: var(--mp-w96);}#mpScreen[data-route="pages/adoption-record/index"] .address-select-text{
  font-size: calc(28 * var(--mprpx));
  color: var(--mp-ink2);
  line-height: 1.4;
  flex: 1;
  margin-right: calc(12 * var(--mprpx));}#mpScreen[data-route="pages/adoption-record/index"] .address-select-placeholder{
  font-size: calc(28 * var(--mprpx));
  color: var(--mp-n76);
  line-height: 1.4;
  flex: 1;
  margin-right: calc(12 * var(--mprpx));}#mpScreen[data-route="pages/adoption-record/index"] .address-select-arrow{
  font-size: calc(24 * var(--mprpx));
  color: var(--mp-n60);
  line-height: 1;}

/* ========== 地址框下方「自动获取」：一键沿用上次选到底的完整地址 ========== */#mpScreen[data-route="pages/adoption-record/index"] .address-auto-row{
  display: flex;
  flex-direction: row;
  align-items: center;
  width: 100%;
  height: calc(64 * var(--mprpx));
  margin-top: calc(12 * var(--mprpx));
  padding: 0 calc(20 * var(--mprpx));
  box-sizing: border-box;
  background-color: color-mix(in srgb, var(--mp-b1), transparent 93%);
  border: calc(1.5 * var(--mprpx)) dashed color-mix(in srgb, var(--mp-b1), transparent 55%);
  border-radius: calc(18 * var(--mprpx));
  transition: background-color 0.2s;}#mpScreen[data-route="pages/adoption-record/index"] .address-auto-row:active{
  background-color: color-mix(in srgb, var(--mp-b1), transparent 82%);}#mpScreen[data-route="pages/adoption-record/index"] .address-auto-emoji{
  font-size: calc(26 * var(--mprpx));
  line-height: 1;
  margin-right: calc(8 * var(--mprpx));
  flex-shrink: 0;}#mpScreen[data-route="pages/adoption-record/index"] .address-auto-label{
  font-size: calc(24 * var(--mprpx));
  font-weight: 600;
  color: var(--mp-b1);
  line-height: 1;
  margin-right: calc(12 * var(--mprpx));
  flex-shrink: 0;}

/* 定高 + 省略号：地址长短都不能把按钮撑大，否则每选一次框子就跳一下 */#mpScreen[data-route="pages/adoption-record/index"] .address-auto-value{
  flex: 1;
  min-width: 0;
  font-size: calc(24 * var(--mprpx));
  color: var(--mp-cDeep);
  line-height: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;}

/* ========== 领养详情展示模式样式（参考宠物详情风格） ========== */#mpScreen[data-route="pages/adoption-record/index"] .detail-body{
  flex: 1;
  overflow-y: auto;
  overflow-x: hidden;
  padding: 16px;
  padding-bottom: 140px;
  box-sizing: border-box;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;}#mpScreen[data-route="pages/adoption-record/index"] .adoption-detail-card{
  background-color: var(--mp-n100);
  border-radius: 22px;
  padding: 20px 20px;
  box-shadow: 0 2px 12px color-mix(in srgb, var(--mp-n00), transparent 94%);
  box-sizing: border-box;
  border: 0.5px solid color-mix(in srgb, var(--mp-n00), transparent 95%);
  margin-bottom: 16px;
  width: 100%;
  max-width: 600px;
  align-self: center;
  position: relative;
  overflow: hidden;}

/* 顶部装饰emoji */#mpScreen[data-route="pages/adoption-record/index"] .detail-fun-top-deco{
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin-bottom: 16px;
  padding: 8px 0;}#mpScreen[data-route="pages/adoption-record/index"] .detail-fun-deco-emoji{
  font-size: 22px;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;}#mpScreen[data-route="pages/adoption-record/index"] .detail-fun-deco-emoji.deco-1{ animation: detailFloat 2.5s ease-in-out infinite;}#mpScreen[data-route="pages/adoption-record/index"] .detail-fun-deco-emoji.deco-2{ animation: detailFloat 2.8s ease-in-out 0.2s infinite;}#mpScreen[data-route="pages/adoption-record/index"] .detail-fun-deco-emoji.deco-3{ animation: detailFloat 3.0s ease-in-out 0.4s infinite;}#mpScreen[data-route="pages/adoption-record/index"] .detail-fun-deco-emoji.deco-4{ animation: detailFloat 2.6s ease-in-out 0.6s infinite;}#mpScreen[data-route="pages/adoption-record/index"] .detail-fun-deco-emoji.deco-5{ animation: detailFloat 3.2s ease-in-out 0.8s infinite;}

@keyframes detailFloat {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-6px); }
}

/* 宠物名称头部 */#mpScreen[data-route="pages/adoption-record/index"] .detail-header-section{
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 14px;
  margin-bottom: 16px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--mp-line1);}#mpScreen[data-route="pages/adoption-record/index"] .detail-pet-avatar-area{
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--mp-x47), var(--mp-w84));
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;}#mpScreen[data-route="pages/adoption-record/index"] .detail-pet-avatar-emoji{
  font-size: 30px;
  line-height: 1;}#mpScreen[data-route="pages/adoption-record/index"] .detail-pet-name-area{
  display: flex;
  flex-direction: column;
  gap: 4px;}#mpScreen[data-route="pages/adoption-record/index"] .detail-pet-name{
  font-size: 20px;
  font-weight: 700;
  color: var(--mp-ink1);
  display: block;}#mpScreen[data-route="pages/adoption-record/index"] .detail-adopted-badge{
  display: inline-flex;
  align-items: center;}#mpScreen[data-route="pages/adoption-record/index"] .detail-adopted-badge-text{
  font-size: 11px;
  font-weight: 600;
  color: var(--mp-x42);
  background-color: var(--mp-n96);
  border-radius: 10px;
  padding: 3px 8px;
  line-height: 1.4;
  white-space: nowrap;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  display: inline-block;
  box-sizing: border-box;}

/* 分割线 */#mpScreen[data-route="pages/adoption-record/index"] .detail-divider{
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin-bottom: 16px;}#mpScreen[data-route="pages/adoption-record/index"] .detail-divider-dot{
  font-size: 16px;
  line-height: 1;
  flex-shrink: 0;}#mpScreen[data-route="pages/adoption-record/index"] .detail-divider-line{
  flex: 1;
  height: 1px;
  background-color: var(--mp-n96);}

/* 详情分组 */#mpScreen[data-route="pages/adoption-record/index"] .detail-section{
  margin-bottom: 18px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--mp-line1);}#mpScreen[data-route="pages/adoption-record/index"] .detail-section:last-child{
  border-bottom: none;
  margin-bottom: 0;
  padding-bottom: 0;}#mpScreen[data-route="pages/adoption-record/index"] .detail-section-title{
  font-size: 15px;
  font-weight: 700;
  color: var(--mp-ink1);
  margin-bottom: 10px;
  display: block;}#mpScreen[data-route="pages/adoption-record/index"] .detail-info-row{
  display: flex;
  align-items: flex-start;
  margin-bottom: 8px;
  width: 100%;
  box-sizing: border-box;}#mpScreen[data-route="pages/adoption-record/index"] .detail-info-row:last-child{
  margin-bottom: 0;}#mpScreen[data-route="pages/adoption-record/index"] .detail-label{
  font-size: 13px;
  color: var(--mp-n60);
  width: 90px;
  flex-shrink: 0;
  font-weight: 500;
  line-height: 1.5;}#mpScreen[data-route="pages/adoption-record/index"] .detail-value{
  font-size: 14px;
  color: var(--mp-ink2);
  flex: 1;
  word-break: break-all;
  box-sizing: border-box;
  line-height: 1.5;
  font-weight: 500;}#mpScreen[data-route="pages/adoption-record/index"] .detail-idcard-num{
  font-family: 'SF Mono', 'Menlo', 'Courier New', monospace;
  letter-spacing: 0.02em;}

/* 身份证照片 */#mpScreen[data-route="pages/adoption-record/index"] .detail-idcard-photo-row{
  display: flex;
  flex-direction: row;
  gap: 12px;
  width: 100%;
  box-sizing: border-box;}#mpScreen[data-route="pages/adoption-record/index"] .detail-idcard-photo-item{
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;}#mpScreen[data-route="pages/adoption-record/index"] .detail-idcard-photo-label{
  font-size: 12px;
  font-weight: 600;
  color: var(--mp-n60);
  text-align: center;}#mpScreen[data-route="pages/adoption-record/index"] .detail-idcard-photo{
  width: 100%;
  height: 110px;
  border-radius: 12px;
  border: 0.5px solid color-mix(in srgb, var(--mp-n00), transparent 94%);
  box-sizing: border-box;}

/* 照片网格 */#mpScreen[data-route="pages/adoption-record/index"] .detail-photo-grid{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  width: 100%;
  box-sizing: border-box;}#mpScreen[data-route="pages/adoption-record/index"] .detail-photo{
  display: block;
  width: calc((100% - 16px) / 3);
  height: 110px;
  border-radius: 12px;
  flex-shrink: 0;
  border: 0.5px solid color-mix(in srgb, var(--mp-n00), transparent 94%);
  box-sizing: border-box;}

/* 隐私卡片 */#mpScreen[data-route="pages/adoption-record/index"] .detail-privacy-card{
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, var(--mp-x47), var(--mp-w92));
  border-radius: 14px;
  padding: 14px 16px;
  margin-top: 8px;
  box-sizing: border-box;
  border: 1.5px solid var(--mp-w84);}#mpScreen[data-route="pages/adoption-record/index"] .detail-privacy-emoji-row{
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-bottom: 6px;}#mpScreen[data-route="pages/adoption-record/index"] .detail-privacy-emoji{
  font-size: 18px;
  line-height: 1;}#mpScreen[data-route="pages/adoption-record/index"] .detail-privacy-title{
  font-size: 13px;
  color: var(--mp-x67);
  font-weight: 700;
  text-align: center;
  line-height: 1.5;}#mpScreen[data-route="pages/adoption-record/index"] .detail-privacy-text{
  width: 100%;
  margin-top: 6px;
  font-size: 12px;
  color: var(--mp-x68);
  font-weight: 500;
  text-align: left;
  line-height: 1.75;}

/* 底部装饰 */#mpScreen[data-route="pages/adoption-record/index"] .detail-fun-bottom-deco{
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin-top: 16px;
  padding: 8px 0;}

/* 修改领养人信息按钮 */#mpScreen[data-route="pages/adoption-record/index"] .detail-edit-btn-area{
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  width: 100%;
  max-width: 600px;
  align-self: center;
  margin-bottom: 20px;}#mpScreen[data-route="pages/adoption-record/index"] .detail-edit-btn{
  width: 100%;
  min-height: 52px;
  background: linear-gradient(135deg, var(--mp-b2), var(--mp-cMid));
  border-radius: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  box-sizing: border-box;
  padding: 12px 16px;
  box-shadow: 0 4px 16px color-mix(in srgb, var(--mp-b2), transparent 65%);
  flex-wrap: wrap;}#mpScreen[data-route="pages/adoption-record/index"] .detail-edit-btn:active{
  transform: scale(0.97);
  opacity: 0.9;}#mpScreen[data-route="pages/adoption-record/index"] .detail-edit-btn-icon{
  font-size: 20px;
  line-height: 1;}#mpScreen[data-route="pages/adoption-record/index"] .detail-edit-btn-text{
  font-size: 15px;
  font-weight: 600;
  color: var(--mp-inkOn);
  line-height: 1.4;
  letter-spacing: 0.3px;
  text-align: center;
  word-break: break-word;
  display: inline-block;}#mpScreen[data-route="pages/adoption-record/index"] .detail-edit-btn-arrow{
  font-size: 18px;
  line-height: 1;}#mpScreen[data-route="pages/adoption-record/index"] .detail-edit-btn-hint{
  font-size: 12px;
  color: var(--mp-n68);
  font-weight: 400;
  text-align: center;
  display: block;
  width: 100%;}

/* ========== 确认提交弹窗 - 圆角趣味设计 ========== */#mpScreen[data-route="pages/adoption-record/index"] .confirm-modal-overlay{
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: color-mix(in srgb, var(--mp-n00), transparent 45%);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 1200;}#mpScreen[data-route="pages/adoption-record/index"] .confirm-modal-mask{
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;}#mpScreen[data-route="pages/adoption-record/index"] .confirm-modal-card{
  position: relative;
  width: calc(85 * var(--mpvw));
  max-width: calc(640 * var(--mprpx));
  background: linear-gradient(180deg, var(--mp-n100) 0%, var(--mp-x59) 15%, var(--mp-n100) 40%, var(--mp-n100) 100%);
  border-radius: calc(56 * var(--mprpx));
  padding: calc(48 * var(--mprpx)) calc(32 * var(--mprpx)) calc(36 * var(--mprpx));
  display: flex;
  flex-direction: column;
  align-items: center;
  box-shadow: 0 calc(24 * var(--mprpx)) calc(80 * var(--mprpx)) color-mix(in srgb, var(--mp-n00), transparent 80%), 0 calc(6 * var(--mprpx)) calc(20 * var(--mprpx)) color-mix(in srgb, var(--mp-n00), transparent 90%), 0 0 0 calc(3 * var(--mprpx)) color-mix(in srgb, var(--mp-bHi), transparent 85%);
  box-sizing: border-box;
  border: calc(3 * var(--mprpx)) solid color-mix(in srgb, var(--mp-x139), transparent 80%);
  overflow: visible;
  z-index: 1201;}#mpScreen[data-route="pages/adoption-record/index"] .confirm-modal-border{
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  pointer-events: none;
  z-index: 0;
  overflow: visible;}#mpScreen[data-route="pages/adoption-record/index"] .confirm-modal-dot{
  position: absolute;
  font-size: calc(32 * var(--mprpx));
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  filter: drop-shadow(0 calc(2 * var(--mprpx)) calc(4 * var(--mprpx)) color-mix(in srgb, var(--mp-n00), transparent 90%));}#mpScreen[data-route="pages/adoption-record/index"] .confirm-modal-dot.dot-tl{ top: calc(20 * var(--mprpx)); left: calc(26 * var(--mprpx));}#mpScreen[data-route="pages/adoption-record/index"] .confirm-modal-dot.dot-tr{ top: calc(20 * var(--mprpx)); right: calc(26 * var(--mprpx));}#mpScreen[data-route="pages/adoption-record/index"] .confirm-modal-dot.dot-bl{ bottom: calc(20 * var(--mprpx)); left: calc(26 * var(--mprpx));}#mpScreen[data-route="pages/adoption-record/index"] .confirm-modal-dot.dot-br{ bottom: calc(20 * var(--mprpx)); right: calc(26 * var(--mprpx));}#mpScreen[data-route="pages/adoption-record/index"] .confirm-modal-dot.dot-tm{ top: calc(18 * var(--mprpx)); left: 50%; transform: translateX(-50%); font-size: calc(28 * var(--mprpx));}#mpScreen[data-route="pages/adoption-record/index"] .confirm-modal-dot.dot-bm{ bottom: calc(18 * var(--mprpx)); left: 50%; transform: translateX(-50%); font-size: calc(28 * var(--mprpx));}#mpScreen[data-route="pages/adoption-record/index"] .confirm-modal-close{
  position: absolute;
  top: calc(20 * var(--mprpx));
  right: calc(20 * var(--mprpx));
  width: calc(56 * var(--mprpx));
  height: calc(56 * var(--mprpx));
  border-radius: 50%;
  background-color: color-mix(in srgb, var(--mp-n00), transparent 94%);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10;
  transition: background-color 0.2s ease;}#mpScreen[data-route="pages/adoption-record/index"] .confirm-modal-close:active{
  background-color: color-mix(in srgb, var(--mp-n00), transparent 88%);}#mpScreen[data-route="pages/adoption-record/index"] .confirm-modal-close-icon{
  font-size: calc(28 * var(--mprpx));
  color: var(--mp-n60);
  font-weight: 600;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;}#mpScreen[data-route="pages/adoption-record/index"] .confirm-modal-icon-row{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: calc(18 * var(--mprpx));
  margin-bottom: calc(16 * var(--mprpx));
  position: relative;
  z-index: 2;}#mpScreen[data-route="pages/adoption-record/index"] .confirm-modal-icon{
  font-size: calc(44 * var(--mprpx));
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  filter: drop-shadow(0 calc(3 * var(--mprpx)) calc(6 * var(--mprpx)) color-mix(in srgb, var(--mp-n00), transparent 90%));}#mpScreen[data-route="pages/adoption-record/index"] .confirm-modal-icon-main{
  font-size: calc(56 * var(--mprpx));
  animation: confirmBounce 1.5s ease-in-out infinite;}

@keyframes confirmBounce {
  0%, 100% { transform: translateY(0); }
  30% { transform: translateY(-10rpx); }
  50% { transform: translateY(0); }
  70% { transform: translateY(-6rpx); }
  85% { transform: translateY(0); }
}#mpScreen[data-route="pages/adoption-record/index"] .confirm-modal-title{
  font-size: calc(36 * var(--mprpx));
  font-weight: 800;
  color: var(--mp-ink1);
  text-align: center;
  letter-spacing: -0.03em;
  line-height: 1.3;
  margin-bottom: calc(12 * var(--mprpx));
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;}#mpScreen[data-route="pages/adoption-record/index"] .confirm-modal-subtitle-row{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: calc(8 * var(--mprpx));
  margin-bottom: calc(20 * var(--mprpx));
  position: relative;
  z-index: 2;}#mpScreen[data-route="pages/adoption-record/index"] .confirm-modal-subtitle-emoji{
  font-size: calc(22 * var(--mprpx));
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;}#mpScreen[data-route="pages/adoption-record/index"] .confirm-modal-subtitle{
  font-size: calc(24 * var(--mprpx));
  color: var(--mp-n50);
  font-weight: 400;
  letter-spacing: -0.01em;
  line-height: 1.4;
  display: flex;
  align-items: center;
  justify-content: center;}#mpScreen[data-route="pages/adoption-record/index"] .confirm-modal-warning{
  width: 100%;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: calc(10 * var(--mprpx));
  padding: calc(16 * var(--mprpx)) calc(20 * var(--mprpx));
  background: linear-gradient(135deg, var(--mp-w96), var(--mp-w92));
  border-radius: calc(20 * var(--mprpx));
  border: calc(1.5 * var(--mprpx)) solid var(--mp-w84);
  margin-bottom: calc(24 * var(--mprpx));
  box-sizing: border-box;
  position: relative;
  z-index: 2;}#mpScreen[data-route="pages/adoption-record/index"] .confirm-modal-warning-icon{
  font-size: calc(28 * var(--mprpx));
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;}#mpScreen[data-route="pages/adoption-record/index"] .confirm-modal-warning-text{
  font-size: calc(23 * var(--mprpx));
  color: var(--mp-cDeep);
  font-weight: 400;
  line-height: 1.5;
  flex: 1;}#mpScreen[data-route="pages/adoption-record/index"] .confirm-modal-actions{
  display: flex;
  gap: calc(16 * var(--mprpx));
  width: 100%;
  position: relative;
  z-index: 2;}#mpScreen[data-route="pages/adoption-record/index"] .confirm-modal-cancel{
  flex: 1;
  height: calc(88 * var(--mprpx));
  border-radius: calc(44 * var(--mprpx));
  background-color: var(--mp-n96);
  display: flex;
  align-items: center;
  justify-content: center;
  border: calc(1 * var(--mprpx)) solid color-mix(in srgb, var(--mp-n00), transparent 94%);
  box-sizing: border-box;
  transition: background-color 0.2s ease;}#mpScreen[data-route="pages/adoption-record/index"] .confirm-modal-cancel:active{
  background-color: var(--mp-n91);
  transform: scale(0.97);}#mpScreen[data-route="pages/adoption-record/index"] .confirm-modal-cancel-text{
  font-size: calc(30 * var(--mprpx));
  font-weight: 600;
  color: var(--mp-n38);
  letter-spacing: -0.01em;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;}#mpScreen[data-route="pages/adoption-record/index"] .confirm-modal-confirm{
  flex: 2;
  height: calc(88 * var(--mprpx));
  border-radius: calc(44 * var(--mprpx));
  background: linear-gradient(135deg, var(--mp-b2), var(--mp-cMid));
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 calc(8 * var(--mprpx)) calc(24 * var(--mprpx)) color-mix(in srgb, var(--mp-b2), transparent 65%);
  transition: transform 0.15s ease, box-shadow 0.15s ease;
  box-sizing: border-box;}#mpScreen[data-route="pages/adoption-record/index"] .confirm-modal-confirm{
  flex: 2;
  height: calc(88 * var(--mprpx));
  border-radius: calc(44 * var(--mprpx));
  background: linear-gradient(135deg, var(--mp-b2), var(--mp-cMid));
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 calc(8 * var(--mprpx)) calc(24 * var(--mprpx)) color-mix(in srgb, var(--mp-b2), transparent 65%);
  transition: transform 0.15s ease, box-shadow 0.15s ease;
  box-sizing: border-box;
  border: none;
  position: relative;
  z-index: 10;}

/* 抖音小程序点击元素必须清除伪元素边框，这是按钮点击事件不响应的核心修复点 */#mpScreen[data-route="pages/adoption-record/index"] .confirm-modal-confirm::after{
  border: none;}#mpScreen[data-route="pages/adoption-record/index"] .confirm-modal-confirm:active{
  transform: scale(0.97);
  opacity: 0.9;
  box-shadow: 0 calc(4 * var(--mprpx)) calc(12 * var(--mprpx)) color-mix(in srgb, var(--mp-b2), transparent 75%);}#mpScreen[data-route="pages/adoption-record/index"] .confirm-modal-confirm-text{
  font-size: calc(30 * var(--mprpx));
  font-weight: 700;
  color: var(--mp-inkOn);
  letter-spacing: -0.01em;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;}
/* 📅 领养日期格：空着是虚线奶油格，选过变实心暖橘（点开是月历弹层，样式在 base.css） */#mpScreen[data-route="pages/adoption-record/index"] .date-picker-row{
  justify-content: space-between;
  gap: 8px;
  border-radius: 14px;
  background-color: var(--mp-n100);
  background-image: linear-gradient(135deg, var(--mp-n100) 0%, var(--mp-w92) 100%);
  border: 1.5px dashed color-mix(in srgb, var(--mp-b1), transparent 62%);
  box-shadow: inset 0 1px 0 color-mix(in srgb, var(--mp-n100), transparent 10%);
  transition: border-color 0.2s ease, background-image 0.2s ease, box-shadow 0.2s ease, transform 0.18s cubic-bezier(0.34, 1.56, 0.64, 1);}#mpScreen[data-route="pages/adoption-record/index"] .date-picker-row:active{ transform: scale(0.985);}#mpScreen[data-route="pages/adoption-record/index"] .date-picker-row:not(:has(.date-picker-placeholder)){
  border-style: solid;
  border-color: color-mix(in srgb, var(--mp-b1), transparent 50%);
  background-image: linear-gradient(135deg, var(--mp-w92) 0%, var(--mp-w84) 100%);
  box-shadow: 0 4px 12px color-mix(in srgb, var(--mp-b1), transparent 84%);}#mpScreen[data-route="pages/adoption-record/index"] .date-picker-text{
  font-size: 15px;
  font-weight: 700;
  color: var(--mp-cDeep);
  letter-spacing: 0;}#mpScreen[data-route="pages/adoption-record/index"] .date-picker-text.date-picker-placeholder{
  font-size: 14px;
  font-weight: 500;
  color: var(--mp-w68);}#mpScreen[data-route="pages/adoption-record/index"] .date-picker-arrow{ font-size: 15px; color: var(--mp-cDeep); opacity: 0.9;}


/* ===== pages/messages/index ===== */
#mpScreen[data-route="pages/messages/index"] .messages-page{
  display: flex;
  flex-direction: column;
  height: calc(100 * var(--mpvh));
  background: linear-gradient(180deg, var(--mp-bgA) 0%, var(--mp-bgB) 100%);}

/* ========== 互动消息 · 顶部形象区 ========== */#mpScreen[data-route="pages/messages/index"] .msg-hero{
  position: relative;
  overflow: hidden;
  flex-shrink: 0;
  display: flex;
  flex-direction: row;
  align-items: center;
  margin: 12px 14px 10px 14px;
  padding: 14px 16px;
  border-radius: 22px;
  background: linear-gradient(135deg, color-mix(in srgb, var(--mp-w92), transparent 5%) 0%, color-mix(in srgb, var(--mp-msgTint), transparent 5%) 100%);
  box-shadow: 0 10px 26px color-mix(in srgb, var(--mp-bHi), transparent 82%);
  animation: msgHeroIn 0.5s cubic-bezier(0.22, 1, 0.36, 1) both;}#mpScreen[data-route="pages/messages/index"] .msg-hero-badge{
  width: 44px;
  height: 44px;
  border-radius: 22px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 12px;
  flex-shrink: 0;
  background: linear-gradient(135deg, var(--mp-b2), var(--mp-bHi));
  box-shadow: 0 6px 16px color-mix(in srgb, var(--mp-b2), transparent 60%);
  animation: msgBadgeFloat 3.2s ease-in-out infinite;}#mpScreen[data-route="pages/messages/index"] .msg-hero-badge-emoji{
  font-size: 22px;}#mpScreen[data-route="pages/messages/index"] .msg-hero-text{
  display: flex;
  flex-direction: column;
  flex: 1;
  min-width: 0;}#mpScreen[data-route="pages/messages/index"] .msg-hero-title{
  font-size: 17px;
  font-weight: 800;
  color: var(--mp-w20);
  letter-spacing: -0.2px;}#mpScreen[data-route="pages/messages/index"] .msg-hero-sub{
  font-size: 11px;
  color: var(--mp-cDeep);
  margin-top: 3px;}#mpScreen[data-route="pages/messages/index"] .msg-hero-deco{
  position: absolute;
  opacity: 0.5;
  animation: msgFloat 4.5s ease-in-out infinite;}#mpScreen[data-route="pages/messages/index"] .msg-hero-deco-a{ top: 10px; right: 58px; font-size: 14px;}#mpScreen[data-route="pages/messages/index"] .msg-hero-deco-b{ top: 28px; right: 22px; font-size: 12px; animation-delay: 0.8s;}#mpScreen[data-route="pages/messages/index"] .msg-hero-deco-c{ bottom: 9px; right: 116px; font-size: 11px; animation-delay: 1.6s;}

/* ========== 互动消息 · 分段切换药丸（弹性滑动） ========== */#mpScreen[data-route="pages/messages/index"] .msg-tabs{
  flex-shrink: 0;
  padding: 0 14px 10px 14px;}#mpScreen[data-route="pages/messages/index"] .msg-tabs-track{
  padding: 5px;
  border-radius: 22px;
  background: color-mix(in srgb, var(--mp-n100), transparent 26%);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--mp-w42), transparent 94%), 0 6px 18px color-mix(in srgb, var(--mp-w68), transparent 90%);
  overflow: hidden;}#mpScreen[data-route="pages/messages/index"] .msg-tabs-row{
  position: relative;
  display: flex;
  flex-direction: row;}#mpScreen[data-route="pages/messages/index"] .msg-tab-thumb{
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  width: 25%;
  border-radius: 17px;
  background: linear-gradient(135deg, var(--mp-b2), var(--mp-bHi));
  box-shadow: 0 4px 14px color-mix(in srgb, var(--mp-b2), transparent 62%);
  transform: translateX(0);
  transition: transform 0.46s cubic-bezier(0.34, 1.34, 0.44, 1);
  will-change: transform;
  z-index: 0;
  pointer-events: none;}#mpScreen[data-route="pages/messages/index"] .thumb-i0{ transform: translateX(0);}#mpScreen[data-route="pages/messages/index"] .thumb-i1{ transform: translateX(100%);}#mpScreen[data-route="pages/messages/index"] .thumb-i2{ transform: translateX(200%);}#mpScreen[data-route="pages/messages/index"] .thumb-i3{ transform: translateX(300%);}#mpScreen[data-route="pages/messages/index"] .msg-tab{
  flex: 1;
  position: relative;
  z-index: 1;
  height: 50px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border-radius: 17px;
  transition: transform 0.18s ease;}#mpScreen[data-route="pages/messages/index"] .msg-tab:active{
  transform: scale(0.93);}#mpScreen[data-route="pages/messages/index"] .msg-tab-emoji{
  font-size: 15px;
  line-height: 1.2;
  transition: transform 0.42s cubic-bezier(0.34, 1.42, 0.5, 1);}#mpScreen[data-route="pages/messages/index"] .msg-tab-on .msg-tab-emoji{
  transform: translateY(-1px) scale(1.14);}#mpScreen[data-route="pages/messages/index"] .msg-tab-label{
  font-size: 11px;
  font-weight: 600;
  color: var(--mp-w68);
  margin-top: 2px;
  white-space: nowrap;
  transition: color 0.28s ease;}#mpScreen[data-route="pages/messages/index"] .msg-tab-on .msg-tab-label{
  color: var(--mp-inkOn);}#mpScreen[data-route="pages/messages/index"] .msg-tab-badge{
  position: absolute;
  top: 5px;
  right: 11px;
  min-width: 15px;
  height: 15px;
  padding: 0 4px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--mp-x152);
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--mp-n100), transparent 8%);
  animation: pages-messages-index-msgBadgePop 0.4s cubic-bezier(0.34, 1.56, 0.64, 1) both;}#mpScreen[data-route="pages/messages/index"] .msg-tab-badge-text{
  font-size: 9px;
  font-weight: 700;
  color: var(--mp-inkOn);}

/* ========== 互动消息 · 留言卡片 ========== */#mpScreen[data-route="pages/messages/index"] .msg-list{
  padding: 4px 0 16px 0;
  animation: pages-messages-index-msgListIn 0.4s cubic-bezier(0.22, 1, 0.36, 1) both;}#mpScreen[data-route="pages/messages/index"] .msg-card{
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  margin: 0 14px 10px 14px;
  padding: 13px 14px;
  border-radius: 18px;
  background: var(--mp-n100);
  border: 1px solid color-mix(in srgb, var(--mp-w42), transparent 95%);
  box-shadow: 0 4px 16px color-mix(in srgb, var(--mp-w42), transparent 93%);
  animation: pages-messages-index-msgCardIn 0.46s cubic-bezier(0.22, 1, 0.36, 1) both;
  transition: transform 0.22s ease, box-shadow 0.22s ease;}#mpScreen[data-route="pages/messages/index"] .msg-card:active{
  transform: scale(0.985);}#mpScreen[data-route="pages/messages/index"] .msg-card-in{ border-left: 4px solid var(--mp-x153);}#mpScreen[data-route="pages/messages/index"] .msg-card-out{ border-left: 4px solid var(--mp-bHi);}#mpScreen[data-route="pages/messages/index"] .msg-card-unread{
  background: linear-gradient(135deg, var(--mp-n100) 0%, var(--mp-w96) 100%);
  box-shadow: 0 6px 20px color-mix(in srgb, var(--mp-b2), transparent 86%);}#mpScreen[data-route="pages/messages/index"] .msg-card-avatar{
  width: 38px;
  height: 38px;
  border-radius: 19px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 11px;
  flex-shrink: 0;}#mpScreen[data-route="pages/messages/index"] .msg-card-in .msg-card-avatar{ background: linear-gradient(135deg, var(--mp-x154), var(--mp-x155));}#mpScreen[data-route="pages/messages/index"] .msg-card-out .msg-card-avatar{ background: linear-gradient(135deg, var(--mp-w92), var(--mp-w84));}#mpScreen[data-route="pages/messages/index"] .msg-card-avatar-emoji{
  font-size: 19px;}#mpScreen[data-route="pages/messages/index"] .msg-card-main{
  flex: 1;
  display: flex;
  flex-direction: column;
  min-width: 0;}#mpScreen[data-route="pages/messages/index"] .msg-card-top{
  display: flex;
  flex-direction: row;
  align-items: center;
  margin-bottom: 6px;}#mpScreen[data-route="pages/messages/index"] .msg-card-tag{
  font-size: 10px;
  font-weight: 700;
  padding: 2px 8px;
  border-radius: 9px;
  margin-right: 6px;}#mpScreen[data-route="pages/messages/index"] .msg-tag-in{ background: var(--mp-x156); color: var(--mp-x157);}#mpScreen[data-route="pages/messages/index"] .msg-tag-out{ background: var(--mp-w92); color: var(--mp-bRich);}#mpScreen[data-route="pages/messages/index"] .msg-card-dot{
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--mp-x158);
  margin-right: 6px;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--mp-x158), transparent 84%);
  animation: pages-messages-index-msgDotPulse 1.6s ease-in-out infinite;}#mpScreen[data-route="pages/messages/index"] .msg-card-time{
  font-size: 11px;
  color: var(--mp-w68);
  margin-left: auto;}#mpScreen[data-route="pages/messages/index"] .msg-card-text{
  font-size: 14px;
  color: var(--mp-w20);
  line-height: 1.55;
  word-break: break-all;}#mpScreen[data-route="pages/messages/index"] .msg-card-reply{
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  margin-top: 8px;
  padding: 8px 10px;
  border-radius: 12px;
  background: var(--mp-n96);}#mpScreen[data-route="pages/messages/index"] .msg-card-reply-quote{
  font-size: 14px;
  color: var(--mp-w68);
  margin-right: 6px;
  line-height: 1.1;}#mpScreen[data-route="pages/messages/index"] .msg-card-reply-body{
  display: flex;
  flex-direction: column;
  min-width: 0;}#mpScreen[data-route="pages/messages/index"] .msg-card-reply-label{
  font-size: 10px;
  color: var(--mp-w68);
  margin-bottom: 2px;}#mpScreen[data-route="pages/messages/index"] .msg-card-reply-text{
  font-size: 12px;
  color: var(--mp-w42);
  line-height: 1.45;
  word-break: break-all;}#mpScreen[data-route="pages/messages/index"] .msg-card-status{
  margin-top: 6px;}#mpScreen[data-route="pages/messages/index"] .msg-card-status-pending{
  font-size: 11px;
  color: var(--mp-bDeep);}#mpScreen[data-route="pages/messages/index"] .msg-card-status-rejected{
  font-size: 11px;
  color: var(--mp-x159);}#mpScreen[data-route="pages/messages/index"] .msg-card-paw{
  position: absolute;
  right: -4px;
  bottom: -6px;
  font-size: 34px;
  opacity: 0.06;
  transform: rotate(-18deg);
  pointer-events: none;}#mpScreen[data-route="pages/messages/index"] .msg-list > :nth-child(1){ animation-delay: 0.02s;}#mpScreen[data-route="pages/messages/index"] .msg-list > :nth-child(2){ animation-delay: 0.06s;}#mpScreen[data-route="pages/messages/index"] .msg-list > :nth-child(3){ animation-delay: 0.10s;}#mpScreen[data-route="pages/messages/index"] .msg-list > :nth-child(4){ animation-delay: 0.14s;}#mpScreen[data-route="pages/messages/index"] .msg-list > :nth-child(5){ animation-delay: 0.18s;}#mpScreen[data-route="pages/messages/index"] .msg-list > :nth-child(6){ animation-delay: 0.22s;}#mpScreen[data-route="pages/messages/index"] .msg-list > :nth-child(7){ animation-delay: 0.26s;}#mpScreen[data-route="pages/messages/index"] .msg-list > :nth-child(8){ animation-delay: 0.30s;}#mpScreen[data-route="pages/messages/index"] .msg-list > :nth-child(n+9){ animation-delay: 0.34s;}

/* ========== 互动消息 · 空状态 ========== */#mpScreen[data-route="pages/messages/index"] .msg-empty{
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 64px 24px;
  animation: pages-messages-index-msgListIn 0.45s cubic-bezier(0.22, 1, 0.36, 1) both;}#mpScreen[data-route="pages/messages/index"] .msg-empty-emoji{
  font-size: 52px;
  margin-bottom: 12px;
  animation: pages-messages-index-msgEmptyBob 2.6s ease-in-out infinite;}#mpScreen[data-route="pages/messages/index"] .msg-empty-title{
  font-size: 14px;
  font-weight: 600;
  color: var(--mp-w42);}#mpScreen[data-route="pages/messages/index"] .msg-empty-hint{
  font-size: 12px;
  color: var(--mp-w68);
  margin-top: 6px;
  text-align: center;
  line-height: 1.6;}

/* ========== 动效关键帧 ========== */
@keyframes msgHeroIn {
  from { opacity: 0; transform: translateY(-14px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes pages-messages-index-msgListIn {
  from { opacity: 0; transform: translateY(12px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes pages-messages-index-msgCardIn {
  from { opacity: 0; transform: translateY(16px) scale(0.98); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes pages-messages-index-msgDotPulse {
  0%, 100% { transform: scale(1); opacity: 1; }
  50% { transform: scale(1.35); opacity: 0.6; }
}

@keyframes pages-messages-index-msgBadgePop {
  from { transform: scale(0); opacity: 0; }
  to { transform: scale(1); opacity: 1; }
}

@keyframes msgFloat {
  0%, 100% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-7px) rotate(10deg); }
}

@keyframes msgBadgeFloat {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-3px); }
}

@keyframes pages-messages-index-msgEmptyBob {
  0%, 100% { transform: translateY(0) rotate(-3deg); }
  50% { transform: translateY(-8px) rotate(3deg); }
}#mpScreen[data-route="pages/messages/index"] .messages-scroll{
  flex: 1;
  min-height: 0;}

/* ========== 删除审核请求卡片 ========== */#mpScreen[data-route="pages/messages/index"] .audit-item{
  position: relative;
  overflow: hidden;
  background: var(--mp-n100);
  margin: 0 14px 10px 14px;
  padding: 14px;
  border-radius: 18px;
  border: 1px solid color-mix(in srgb, var(--mp-w42), transparent 95%);
  border-left: 4px solid var(--mp-x160);
  box-shadow: 0 4px 16px color-mix(in srgb, var(--mp-w42), transparent 93%);
  animation: pages-messages-index-msgCardIn 0.46s cubic-bezier(0.22, 1, 0.36, 1) both;}#mpScreen[data-route="pages/messages/index"] .audit-item-header{
  display: flex;
  flex-direction: row;
  align-items: center;
  margin-bottom: 10px;}#mpScreen[data-route="pages/messages/index"] .audit-item-icon{
  font-size: 16px;
  margin-right: 6px;}#mpScreen[data-route="pages/messages/index"] .audit-item-title{
  font-size: 14px;
  font-weight: 700;
  color: var(--mp-w20);
  flex: 1;}#mpScreen[data-route="pages/messages/index"] .audit-item-time{
  font-size: 11px;
  color: var(--mp-w68);}#mpScreen[data-route="pages/messages/index"] .audit-item-body{
  background: var(--mp-n96);
  padding: 10px 12px;
  border-radius: 12px;
  margin-bottom: 10px;}#mpScreen[data-route="pages/messages/index"] .audit-requester-row{
  display: flex;
  flex-direction: row;
  align-items: center;
  margin-bottom: 8px;
  flex-wrap: wrap;}#mpScreen[data-route="pages/messages/index"] .audit-requester-name{
  font-size: 14px;
  font-weight: 600;
  color: var(--mp-bRich);
  margin-right: 4px;}#mpScreen[data-route="pages/messages/index"] .audit-requester-label{
  font-size: 13px;
  color: var(--mp-w42);
  margin-right: 4px;}#mpScreen[data-route="pages/messages/index"] .audit-requester-type{
  font-size: 12px;
  color: var(--mp-inkOn);
  background: linear-gradient(135deg, var(--mp-b2), var(--mp-bHi));
  padding: 2px 9px;
  border-radius: 10px;}#mpScreen[data-route="pages/messages/index"] .audit-content-card{
  background: var(--mp-n100);
  border: 1px solid color-mix(in srgb, var(--mp-w42), transparent 92%);
  border-radius: 10px;
  padding: 10px 12px;
  margin-bottom: 8px;}#mpScreen[data-route="pages/messages/index"] .audit-content-text{
  font-size: 14px;
  color: var(--mp-w20);
  line-height: 1.5;
  word-break: break-all;
  font-style: italic;}#mpScreen[data-route="pages/messages/index"] .audit-hint-row{
  margin-top: 4px;}#mpScreen[data-route="pages/messages/index"] .audit-hint-text{
  font-size: 12px;
  color: var(--mp-w68);}#mpScreen[data-route="pages/messages/index"] .audit-item-actions{
  display: flex;
  flex-direction: row;
  justify-content: flex-end;}#mpScreen[data-route="pages/messages/index"] .audit-btn{
  padding: 8px 18px;
  border-radius: 20px;
  margin-left: 10px;
  transition: transform 0.18s ease, box-shadow 0.18s ease;}#mpScreen[data-route="pages/messages/index"] .audit-btn:active{
  transform: scale(0.94);}#mpScreen[data-route="pages/messages/index"] .audit-btn-reject{
  background: var(--mp-n96);
  border: 1px solid color-mix(in srgb, var(--mp-w42), transparent 88%);}#mpScreen[data-route="pages/messages/index"] .audit-btn-reject .audit-btn-text{
  color: var(--mp-w42);
  font-size: 13px;}#mpScreen[data-route="pages/messages/index"] .audit-btn-approve{
  background: linear-gradient(135deg, var(--mp-b2), var(--mp-bHi));
  box-shadow: 0 4px 12px color-mix(in srgb, var(--mp-b2), transparent 68%);}#mpScreen[data-route="pages/messages/index"] .audit-btn-approve .audit-btn-text{
  color: var(--mp-inkOn);
  font-size: 13px;
  font-weight: 600;}

/* ========== 审核结果通知卡片（通过 / 未通过） ========== */#mpScreen[data-route="pages/messages/index"] .audit-result-item{
  background: var(--mp-n100);
  margin: 0 14px 10px 14px;
  padding: 14px;
  border-radius: 18px;
  border: 1px solid color-mix(in srgb, var(--mp-w42), transparent 95%);
  box-shadow: 0 4px 16px color-mix(in srgb, var(--mp-w42), transparent 93%);
  animation: pages-messages-index-msgCardIn 0.46s cubic-bezier(0.22, 1, 0.36, 1) both;}#mpScreen[data-route="pages/messages/index"] .audit-result-pass{
  border-left: 4px solid var(--mp-x161);
  background: linear-gradient(135deg, var(--mp-n100) 0%, var(--mp-n100) 100%);}#mpScreen[data-route="pages/messages/index"] .audit-result-fail{
  border-left: 4px solid var(--mp-x162);
  background: linear-gradient(135deg, var(--mp-n100) 0%, var(--mp-n100) 100%);}#mpScreen[data-route="pages/messages/index"] .audit-result-header{
  display: flex;
  flex-direction: row;
  align-items: center;
  margin-bottom: 10px;}#mpScreen[data-route="pages/messages/index"] .audit-result-emoji{
  font-size: 16px;
  margin-right: 6px;}#mpScreen[data-route="pages/messages/index"] .audit-result-badge{
  font-size: 11px;
  font-weight: 700;
  padding: 2px 9px;
  border-radius: 10px;
  border: 1px solid transparent;
  background: var(--mp-n100);
  margin-right: 6px;}#mpScreen[data-route="pages/messages/index"] .audit-result-type{
  font-size: 11px;
  color: var(--mp-w42);
  background: var(--mp-n96);
  padding: 2px 9px;
  border-radius: 10px;
  margin-right: 6px;}#mpScreen[data-route="pages/messages/index"] .audit-result-time{
  font-size: 11px;
  color: var(--mp-w68);
  margin-left: auto;}#mpScreen[data-route="pages/messages/index"] .audit-result-content-card{
  background: var(--mp-n96);
  border: 1px solid color-mix(in srgb, var(--mp-w42), transparent 94%);
  border-radius: 12px;
  padding: 10px 12px;}#mpScreen[data-route="pages/messages/index"] .audit-result-content{
  font-size: 14px;
  color: var(--mp-w20);
  line-height: 1.5;
  word-break: break-all;
  font-style: italic;}#mpScreen[data-route="pages/messages/index"] .audit-result-remark{
  margin-top: 8px;
  padding: 9px 12px;
  background: var(--mp-n100);
  border-radius: 12px;
  display: flex;
  flex-direction: column;}#mpScreen[data-route="pages/messages/index"] .audit-result-remark-label{
  font-size: 11px;
  color: var(--mp-x159);
  font-weight: 700;
  margin-bottom: 4px;}#mpScreen[data-route="pages/messages/index"] .audit-result-remark-text{
  font-size: 13px;
  color: var(--mp-w42);
  line-height: 1.5;
  word-break: break-all;}
/* ========== 底部导航 ========== */#mpScreen[data-route="pages/messages/index"] .bottom-nav{
  display: flex;
  background-color: color-mix(in srgb, var(--mp-n100), transparent 8%);
  border-top: 0.5px solid color-mix(in srgb, var(--mp-n00), transparent 95%);
  padding: 8px 0;
  padding-bottom: env(safe-area-inset-bottom);
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  flex-shrink: 0;}#mpScreen[data-route="pages/messages/index"] .nav-item{
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 6px 0;
  border-radius: 16px;
  margin: 0 4px;}#mpScreen[data-route="pages/messages/index"] .nav-item.active{
  background-color: color-mix(in srgb, var(--mp-n00), transparent 97%);
  transition: background-color 0.2s ease;}#mpScreen[data-route="pages/messages/index"] .nav-icon{
  font-size: 26px;
  margin-bottom: 2px;
  line-height: 1;}#mpScreen[data-route="pages/messages/index"] .nav-label{
  font-size: 11px;
  font-weight: 600;
  color: var(--mp-n60);
  letter-spacing: -0.01em;
  line-height: 1.4;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;}#mpScreen[data-route="pages/messages/index"] .nav-item.active .nav-label{
  color: var(--mp-ink1);}

/* ========== 🐾 审核删除二次确认弹窗 ========== */#mpScreen[data-route="pages/messages/index"] .audit-confirm-mask{
  position: fixed;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  background: color-mix(in srgb, var(--mp-n08), transparent 58%);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 999;
  padding: 0 32px;}#mpScreen[data-route="pages/messages/index"] .audit-confirm-card{
  width: 100%;
  max-width: 300px;
  background: color-mix(in srgb, var(--mp-n100), transparent 4%);
  border-radius: 24px;
  padding: 22px 20px 18px 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
  box-shadow: 0 18px 44px color-mix(in srgb, var(--mp-n00), transparent 78%), 0 2px 8px color-mix(in srgb, var(--mp-b2), transparent 86%);
  animation: mpAuditPop 0.26s cubic-bezier(0.34, 1.56, 0.64, 1);}#mpScreen[data-route="pages/messages/index"] .audit-confirm-emoji-row{
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  margin-bottom: 10px;}#mpScreen[data-route="pages/messages/index"] .audit-confirm-emoji{
  font-size: 40px;
  line-height: 1.1;
  animation: mpAuditWiggle 1.6s ease-in-out infinite;}#mpScreen[data-route="pages/messages/index"] .audit-confirm-spark{
  font-size: 16px;
  opacity: 0.85;}#mpScreen[data-route="pages/messages/index"] .audit-confirm-spark-left{
  margin-right: 10px;
  animation: mpAuditTwinkle 1.4s ease-in-out infinite;}#mpScreen[data-route="pages/messages/index"] .audit-confirm-spark-right{
  margin-left: 10px;
  animation: mpAuditTwinkle 1.4s ease-in-out 0.5s infinite;}#mpScreen[data-route="pages/messages/index"] .audit-confirm-title{
  font-size: 17px;
  font-weight: 700;
  color: var(--mp-ink1);
  letter-spacing: -0.02em;
  text-align: center;
  margin-bottom: 6px;}#mpScreen[data-route="pages/messages/index"] .audit-confirm-desc{
  font-size: 13px;
  color: var(--mp-n38);
  line-height: 1.6;
  text-align: center;
  margin-bottom: 12px;}#mpScreen[data-route="pages/messages/index"] .audit-confirm-quote{
  width: 100%;
  background: linear-gradient(135deg, color-mix(in srgb, var(--mp-b2), transparent 88%), color-mix(in srgb, var(--mp-cMid), transparent 82%));
  border: 1px solid color-mix(in srgb, var(--mp-b2), transparent 76%);
  border-radius: 16px;
  padding: 10px 12px;
  margin-bottom: 16px;}#mpScreen[data-route="pages/messages/index"] .audit-confirm-quote-text{
  font-size: 12px;
  color: var(--mp-cDeep);
  line-height: 1.55;
  word-break: break-all;
  display: block;
  max-height: 62px;
  overflow: hidden;}#mpScreen[data-route="pages/messages/index"] .audit-confirm-actions{
  width: 100%;
  display: flex;
  flex-direction: row;
  justify-content: space-between;}#mpScreen[data-route="pages/messages/index"] .audit-confirm-btn{
  flex: 1;
  height: 42px;
  border-radius: 21px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.15s ease, opacity 0.15s ease;}#mpScreen[data-route="pages/messages/index"] .audit-confirm-btn:active{
  transform: scale(0.96);
  opacity: 0.88;}#mpScreen[data-route="pages/messages/index"] .audit-confirm-cancel{
  background: var(--mp-n96);
  margin-right: 10px;}#mpScreen[data-route="pages/messages/index"] .audit-confirm-cancel .audit-confirm-btn-text{
  color: var(--mp-n38);}#mpScreen[data-route="pages/messages/index"] .audit-confirm-approve{
  background: linear-gradient(135deg, var(--mp-b2), var(--mp-b1));
  box-shadow: 0 6px 16px color-mix(in srgb, var(--mp-b1), transparent 68%);}#mpScreen[data-route="pages/messages/index"] .audit-confirm-reject{
  background: linear-gradient(135deg, var(--mp-x271), var(--mp-x272));
  box-shadow: 0 6px 16px color-mix(in srgb, var(--mp-x272), transparent 72%);}#mpScreen[data-route="pages/messages/index"] .audit-confirm-approve .audit-confirm-btn-text,
#mpScreen[data-route="pages/messages/index"] .audit-confirm-reject .audit-confirm-btn-text{
  color: var(--mp-inkOn);}#mpScreen[data-route="pages/messages/index"] .audit-confirm-btn-text{
  font-size: 14px;
  font-weight: 600;
  letter-spacing: -0.01em;}

@keyframes mpAuditPop {
  0% { transform: scale(0.82); opacity: 0; }
  100% { transform: scale(1); opacity: 1; }
}

@keyframes mpAuditWiggle {
  0%, 100% { transform: rotate(-6deg) scale(1); }
  50% { transform: rotate(6deg) scale(1.08); }
}

@keyframes mpAuditTwinkle {
  0%, 100% { opacity: 0.35; transform: scale(0.9); }
  50% { opacity: 1; transform: scale(1.15); }
}


/* ===== pages/audit/audit ===== */
/* =================================================================== */
/* 🛡️ 内容审核管理后台（手机 / PC 自适应，保持 emoji 趣味）            */
/* 全部使用 px，避免 rpx 随外框宽度变化导致 PC 端字号失控              */
/* =================================================================== */#mpScreen[data-route="pages/audit/audit"] .audit-page{
  min-height: 100%;
  box-sizing: border-box;
  padding-bottom: 28px;
  background: linear-gradient(180deg, var(--mp-bgA) 0%, var(--mp-bgB) 100%);
  display: flex;
  flex-direction: column;}

/* ---------------- 顶部工作台头 ---------------- */#mpScreen[data-route="pages/audit/audit"] .audit-hero{
  position: relative;
  padding: 22px 18px 20px;
  background: linear-gradient(135deg, var(--mp-admDeep2) 0%, var(--mp-admMid2) 45%, var(--mp-admLite1) 100%);
  border-radius: 0 0 28px 28px;
  overflow: hidden;
  box-shadow: 0 10px 28px color-mix(in srgb, var(--mp-admGlow), transparent 72%);}#mpScreen[data-route="pages/audit/audit"] .audit-hero-paw{
  position: absolute;
  font-size: 26px;
  opacity: 0.16;
  line-height: 1;
  animation: auditPawFloat 4s ease-in-out infinite;}#mpScreen[data-route="pages/audit/audit"] .audit-hero-paw-1{ top: 14px; right: 26px;}#mpScreen[data-route="pages/audit/audit"] .audit-hero-paw-2{ top: 64px; right: 74px; animation-delay: 1.2s;}#mpScreen[data-route="pages/audit/audit"] .audit-hero-paw-3{ bottom: 16px; left: 22px; animation-delay: 2.1s;}

@keyframes auditPawFloat {
  0%, 100% { transform: translateY(0) rotate(-10deg); }
  50% { transform: translateY(-7px) rotate(10deg); }
}#mpScreen[data-route="pages/audit/audit"] .audit-hero-title-row{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  position: relative;
  z-index: 1;}#mpScreen[data-route="pages/audit/audit"] .audit-hero-shield{
  font-size: 26px;
  line-height: 1;
  animation: auditShieldBob 2.6s ease-in-out infinite;
  filter: drop-shadow(0 2px 6px color-mix(in srgb, var(--mp-n00), transparent 65%));}

@keyframes auditShieldBob {
  0%, 100% { transform: translateY(0) rotate(-6deg); }
  50% { transform: translateY(-4px) rotate(6deg); }
}#mpScreen[data-route="pages/audit/audit"] .audit-hero-title{
  font-size: 21px;
  font-weight: 800;
  color: var(--mp-inkOn);
  letter-spacing: 0.01em;
  line-height: 1.2;}#mpScreen[data-route="pages/audit/audit"] .audit-hero-sub{
  display: block;
  margin-top: 6px;
  text-align: center;
  font-size: 12px;
  color: color-mix(in srgb, var(--mp-inkOn), transparent 32%);
  font-weight: 500;
  position: relative;
  z-index: 1;}#mpScreen[data-route="pages/audit/audit"] .audit-hero-admin-row{
  margin-top: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 8px;
  position: relative;
  z-index: 1;}#mpScreen[data-route="pages/audit/audit"] .audit-admin-chip{
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--mp-n100), transparent 84%);
  border: 1px solid color-mix(in srgb, var(--mp-line4), transparent 78%);}#mpScreen[data-route="pages/audit/audit"] .audit-admin-chip-emoji{ font-size: 14px; line-height: 1;}#mpScreen[data-route="pages/audit/audit"] .audit-admin-chip-name{
  font-size: 12.5px;
  font-weight: 700;
  color: var(--mp-inkOn);}#mpScreen[data-route="pages/audit/audit"] .audit-admin-chip-level{
  font-size: 11px;
  font-weight: 600;
  color: var(--mp-cPale);}#mpScreen[data-route="pages/audit/audit"] .audit-admin-id{
  padding: 5px 11px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--mp-n100), transparent 90%);
  border: 1px dashed color-mix(in srgb, var(--mp-line4), transparent 66%);
  transition: transform 0.16s ease;}#mpScreen[data-route="pages/audit/audit"] .audit-admin-id:active{ transform: scale(0.94);}#mpScreen[data-route="pages/audit/audit"] .audit-admin-id-text{
  font-size: 11px;
  font-weight: 700;
  color: color-mix(in srgb, var(--mp-inkOn), transparent 10%);
  letter-spacing: 0.04em;}#mpScreen[data-route="pages/audit/audit"] .audit-stat-row{
  margin-top: 14px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
  position: relative;
  z-index: 1;}#mpScreen[data-route="pages/audit/audit"] .audit-stat-card{
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  padding: 10px 4px 8px;
  border-radius: 16px;
  background: color-mix(in srgb, var(--mp-n100), transparent 85%);
  border: 1px solid color-mix(in srgb, var(--mp-line4), transparent 82%);}#mpScreen[data-route="pages/audit/audit"] .audit-stat-emoji{ font-size: 15px; line-height: 1;}#mpScreen[data-route="pages/audit/audit"] .audit-stat-num{
  font-size: 19px;
  font-weight: 800;
  color: var(--mp-inkOn);
  line-height: 1.15;}#mpScreen[data-route="pages/audit/audit"] .audit-stat-label{
  font-size: 10px;
  font-weight: 600;
  color: color-mix(in srgb, var(--mp-inkOn), transparent 34%);
  letter-spacing: 0.03em;}#mpScreen[data-route="pages/audit/audit"] .audit-stat-orange{ background: linear-gradient(150deg, color-mix(in srgb, var(--mp-b2), transparent 58%), color-mix(in srgb, var(--mp-b1), transparent 76%));}#mpScreen[data-route="pages/audit/audit"] .audit-stat-blue{ background: linear-gradient(150deg, color-mix(in srgb, var(--mp-x10), transparent 60%), color-mix(in srgb, var(--mp-x273), transparent 76%));}#mpScreen[data-route="pages/audit/audit"] .audit-stat-amber{ background: linear-gradient(150deg, color-mix(in srgb, var(--mp-x274), transparent 58%), color-mix(in srgb, var(--mp-x275), transparent 76%));}#mpScreen[data-route="pages/audit/audit"] .audit-stat-purple{ background: linear-gradient(150deg, color-mix(in srgb, var(--mp-x276), transparent 56%), color-mix(in srgb, var(--mp-x277), transparent 74%));}

/* ---------------- Tab 栏 ---------------- */#mpScreen[data-route="pages/audit/audit"] .audit-tabs{
  position: sticky;
  top: 8px;
  z-index: 30;
  display: flex;
  gap: 0;
  margin: -16px 14px 0;
  padding: 5px;
  border-radius: 20px;
  background: color-mix(in srgb, var(--mp-n100), transparent 8%);
  border: 1px solid color-mix(in srgb, var(--mp-b2), transparent 84%);
  box-shadow: 0 8px 24px color-mix(in srgb, var(--mp-cDeep), transparent 86%);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  overflow: hidden;}#mpScreen[data-route="pages/audit/audit"] .audit-tabs-glow{
  position: absolute;
  top: 0;
  bottom: 0;
  left: -45%;
  width: 45%;
  background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--mp-bHi), transparent 78%), transparent);
  pointer-events: none;
  animation: auditGlowSweep 7.5s cubic-bezier(0.45, 0, 0.55, 1) infinite;
  z-index: 0;}

@keyframes auditGlowSweep {
  0%, 62% { transform: translateX(0); }
  100% { transform: translateX(322%); }
}#mpScreen[data-route="pages/audit/audit"] .audit-tab-thumb{
  position: absolute;
  top: 5px;
  left: 5px;
  bottom: 5px;
  width: calc((100% - 10px) / 5);
  border-radius: 15px;
  background: linear-gradient(135deg, var(--mp-b2), var(--mp-b1));
  box-shadow: 0 4px 14px color-mix(in srgb, var(--mp-b1), transparent 64%), inset 0 1px 0 color-mix(in srgb, var(--mp-n100), transparent 55%);
  transform: translateX(0);
  transition: transform 0.46s cubic-bezier(0.34, 1.48, 0.5, 1);
  will-change: transform;
  pointer-events: none;
  z-index: 1;}#mpScreen[data-route="pages/audit/audit"] .tab-pos-1 .audit-tab-thumb{ transform: translateX(100%);}#mpScreen[data-route="pages/audit/audit"] .tab-pos-2 .audit-tab-thumb{ transform: translateX(200%);}#mpScreen[data-route="pages/audit/audit"] .tab-pos-3 .audit-tab-thumb{ transform: translateX(300%);}#mpScreen[data-route="pages/audit/audit"] .tab-pos-4 .audit-tab-thumb{ transform: translateX(400%);}#mpScreen[data-route="pages/audit/audit"] .audit-tab-spark{
  position: absolute;
  top: 2px;
  right: 5px;
  font-size: 9px;
  line-height: 1;
  opacity: 0.9;
  animation: auditSparkTwinkle 2.6s ease-in-out infinite;}

@keyframes auditSparkTwinkle {
  0%, 100% { transform: scale(0.7) rotate(-12deg); opacity: 0.55; }
  50% { transform: scale(1.1) rotate(10deg); opacity: 1; }
}#mpScreen[data-route="pages/audit/audit"] .audit-tab{
  flex: 1;
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  padding: 8px 4px 7px;
  border-radius: 15px;
  min-width: 0;
  transition: transform 0.26s cubic-bezier(0.34, 1.48, 0.5, 1);}#mpScreen[data-route="pages/audit/audit"] .audit-tab:active{ transform: scale(0.92);}#mpScreen[data-route="pages/audit/audit"] .audit-tab-emoji{
  font-size: 16px;
  line-height: 1;
  filter: grayscale(0.28) opacity(0.78);
  transition: filter 0.24s ease;}#mpScreen[data-route="pages/audit/audit"] .audit-tab-text{
  font-size: 12px;
  font-weight: 700;
  color: var(--mp-n60);
  letter-spacing: 0.01em;
  transition: color 0.24s ease;}#mpScreen[data-route="pages/audit/audit"] .audit-tab-active .audit-tab-emoji{
  filter: none;
  animation: auditTabIconPop 0.6s cubic-bezier(0.34, 1.56, 0.64, 1);}#mpScreen[data-route="pages/audit/audit"] .audit-tab-active .audit-tab-text{
  color: var(--mp-inkOn);
  text-shadow: 0 1px 3px color-mix(in srgb, var(--mp-bDark), transparent 65%);}

@keyframes auditTabIconPop {
  0% { transform: translateY(0) scale(1); }
  32% { transform: translateY(-4px) scale(1.22); }
  62% { transform: translateY(1px) scale(0.95); }
  100% { transform: translateY(0) scale(1); }
}

/* ---------------- 面板与卡片 ---------------- */#mpScreen[data-route="pages/audit/audit"] .audit-panel{
  padding: 14px;
  display: flex;
  flex-direction: column;
  gap: 14px;}#mpScreen[data-route="pages/audit/audit"] .audit-card{
  background: var(--mp-n100);
  border-radius: 22px;
  padding: 16px;
  border: 1px solid color-mix(in srgb, var(--mp-n00), transparent 95.5%);
  box-shadow: 0 3px 14px color-mix(in srgb, var(--mp-cDeep), transparent 92%);}#mpScreen[data-route="pages/audit/audit"] .audit-card-title-row{
  display: flex;
  align-items: center;
  gap: 7px;
  margin-bottom: 12px;}#mpScreen[data-route="pages/audit/audit"] .audit-card-title-emoji{ font-size: 16px; line-height: 1;}#mpScreen[data-route="pages/audit/audit"] .audit-card-title{
  font-size: 15px;
  font-weight: 800;
  color: var(--mp-ink2);
  letter-spacing: -0.01em;}

/* ---------------- 筛选区 ---------------- */#mpScreen[data-route="pages/audit/audit"] .audit-filter-grid{
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;}#mpScreen[data-route="pages/audit/audit"] .audit-field-wide{ grid-column: 1 / -1;}#mpScreen[data-route="pages/audit/audit"] .audit-field{
  display: flex;
  flex-direction: column;
  gap: 5px;
  min-width: 0;}#mpScreen[data-route="pages/audit/audit"] .audit-field-label{
  font-size: 11px;
  font-weight: 700;
  color: var(--mp-cDeep);
  letter-spacing: 0.02em;}#mpScreen[data-route="pages/audit/audit"] .audit-input{
  width: 100%;
  box-sizing: border-box;
  height: 38px;
  padding: 0 12px;
  border-radius: 13px;
  border: 1.5px solid color-mix(in srgb, var(--mp-b2), transparent 76%);
  background: linear-gradient(135deg, var(--mp-n100), var(--mp-w96));
  font-size: 13px;
  font-weight: 600;
  color: var(--mp-ink2);
  outline: none;
  transition: border-color 0.18s ease, box-shadow 0.18s ease;}#mpScreen[data-route="pages/audit/audit"] .audit-input:focus{
  border-color: var(--mp-b2);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--mp-b2), transparent 86%);}#mpScreen[data-route="pages/audit/audit"] .audit-picker-text{
  height: 38px;
  display: flex;
  align-items: center;
  padding: 0 12px;
  border-radius: 13px;
  border: 1.5px solid color-mix(in srgb, var(--mp-admLite1), transparent 78%);
  background: linear-gradient(135deg, var(--mp-n100), var(--mp-x278));
  font-size: 13px;
  font-weight: 600;
  color: var(--mp-admMid1);
  box-sizing: border-box;}

/* 日期筛选：暖橘虚线胶囊，选过之后实线描边 + 底色变深，一眼看出哪天定了 */#mpScreen[data-route="pages/audit/audit"] .audit-date{
  height: 38px;
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 0 11px;
  border-radius: 13px;
  border: 1.5px dashed color-mix(in srgb, var(--mp-b1), transparent 64%);
  background: linear-gradient(135deg, var(--mp-n100), var(--mp-w92));
  font-size: 13px;
  font-weight: 700;
  color: var(--mp-cDeep);
  box-sizing: border-box;
  cursor: pointer;
  transition: border-color 0.18s ease, background 0.18s ease, box-shadow 0.18s ease, transform 0.18s cubic-bezier(0.34, 1.56, 0.64, 1);}#mpScreen[data-route="pages/audit/audit"] .audit-date:active{ transform: scale(0.97);}#mpScreen[data-route="pages/audit/audit"] .audit-date-ico{ font-size: 14px; line-height: 1; flex: none;}#mpScreen[data-route="pages/audit/audit"] .audit-date-txt{
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;}#mpScreen[data-route="pages/audit/audit"] .audit-date-filled{
  border-style: solid;
  border-color: color-mix(in srgb, var(--mp-b1), transparent 54%);
  background: linear-gradient(135deg, var(--mp-w92), var(--mp-w84));
  color: var(--mp-cDeep);
  box-shadow: 0 3px 10px color-mix(in srgb, var(--mp-b1), transparent 82%);}#mpScreen[data-route="pages/audit/audit"] .audit-code-row{
  display: flex;
  align-items: center;
  gap: 6px;}#mpScreen[data-route="pages/audit/audit"] .audit-code-row .audit-input{ flex: 1; min-width: 0; letter-spacing: 0.16em;}#mpScreen[data-route="pages/audit/audit"] .audit-dice-btn{
  width: 38px;
  height: 38px;
  flex-shrink: 0;
  border-radius: 13px;
  background: linear-gradient(135deg, var(--mp-w92), var(--mp-w84));
  border: 1.5px solid color-mix(in srgb, var(--mp-b2), transparent 70%);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.16s ease;}#mpScreen[data-route="pages/audit/audit"] .audit-dice-btn:active{ transform: scale(0.9) rotate(-12deg);}#mpScreen[data-route="pages/audit/audit"] .audit-dice-btn-text{ font-size: 16px; line-height: 1;}#mpScreen[data-route="pages/audit/audit"] .audit-filter-actions{
  margin-top: 14px;
  display: flex;
  gap: 10px;}#mpScreen[data-route="pages/audit/audit"] .audit-btn{
  flex: 1;
  height: 42px;
  border-radius: 21px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.16s cubic-bezier(0.25, 0.1, 0.25, 1), box-shadow 0.16s ease;}#mpScreen[data-route="pages/audit/audit"] .audit-btn:active{ transform: scale(0.96);}#mpScreen[data-route="pages/audit/audit"] .audit-btn-primary{
  background: linear-gradient(135deg, var(--mp-b2), var(--mp-b1));
  box-shadow: 0 5px 16px color-mix(in srgb, var(--mp-b1), transparent 66%);}#mpScreen[data-route="pages/audit/audit"] .audit-btn-danger{
  background: linear-gradient(135deg, var(--mp-x279), var(--mp-x101));
  box-shadow: 0 5px 16px color-mix(in srgb, var(--mp-x101), transparent 68%);}#mpScreen[data-route="pages/audit/audit"] .audit-btn-ghost{
  background: var(--mp-n100);
  border: 1.5px solid color-mix(in srgb, var(--mp-n00), transparent 90%);}#mpScreen[data-route="pages/audit/audit"] .audit-btn-disabled{
  background: linear-gradient(135deg, var(--mp-n91), var(--mp-n85));
  box-shadow: none;}#mpScreen[data-route="pages/audit/audit"] .audit-btn-text{
  font-size: 13.5px;
  font-weight: 700;
  color: var(--mp-inkOn);
  letter-spacing: 0.02em;}#mpScreen[data-route="pages/audit/audit"] .audit-btn-ghost .audit-btn-text{ color: var(--mp-n38);}#mpScreen[data-route="pages/audit/audit"] .audit-btn-disabled .audit-btn-text{ color: var(--mp-w68);}#mpScreen[data-route="pages/audit/audit"] .audit-form-error{
  margin-top: 10px;
  padding: 8px 12px;
  border-radius: 12px;
  background: var(--mp-x88);
  border: 1px solid color-mix(in srgb, var(--mp-x05), transparent 76%);
  display: flex;
  justify-content: center;}#mpScreen[data-route="pages/audit/audit"] .audit-form-error-text{
  font-size: 12px;
  font-weight: 600;
  color: var(--mp-x05);
  text-align: center;
  line-height: 1.45;}

/* ---------------- 列表 ---------------- */#mpScreen[data-route="pages/audit/audit"] .audit-list-head{
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 4px;}#mpScreen[data-route="pages/audit/audit"] .audit-list-head-text{
  font-size: 12.5px;
  font-weight: 700;
  color: var(--mp-w42);}#mpScreen[data-route="pages/audit/audit"] .audit-list-head-hint{
  font-size: 11.5px;
  color: var(--mp-cDeep);
  font-weight: 600;}

/* ---------------- 评论这一屏的两个队列：两枚牌 + 一句说明 ---------------- */#mpScreen[data-route="pages/audit/audit"] .audit-src-bar{
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 0 4px 6px;}#mpScreen[data-route="pages/audit/audit"] .audit-src-hint{
  display: block;
  padding: 0 6px 10px;
  font-size: 11.5px;
  line-height: 1.45;
  font-weight: 600;
  color: var(--mp-cDeep);}

/* =================================================================== */
/* ☑️ 批量审核：开关 chip + 那一排工具 + 卡片左上角的勾选圈              */
/* =================================================================== */#mpScreen[data-route="pages/audit/audit"] .audit-batch-chip{
  flex-shrink: 0;
  padding: 5px 12px;
  border-radius: 15px;
  border: 1.5px solid color-mix(in srgb, var(--mp-cDeep), transparent 55%);
  background: color-mix(in srgb, var(--mp-n100), transparent 28%);
  transition: transform 0.15s cubic-bezier(0.34, 1.56, 0.64, 1), background 0.18s ease, border-color 0.18s ease;}#mpScreen[data-route="pages/audit/audit"] .audit-batch-chip:active{ transform: scale(0.93);}#mpScreen[data-route="pages/audit/audit"] .audit-batch-chip-text{
  font-size: 11.5px;
  font-weight: 700;
  color: var(--mp-w42);
  letter-spacing: 0.01em;}#mpScreen[data-route="pages/audit/audit"] .audit-batch-chip-on{
  background: linear-gradient(135deg, var(--mp-cDeep), var(--mp-cDeep));
  border-color: transparent;
  box-shadow: 0 3px 10px color-mix(in srgb, var(--mp-cDeep), transparent 72%);}#mpScreen[data-route="pages/audit/audit"] .audit-batch-chip-on .audit-batch-chip-text{ color: var(--mp-inkOn);}#mpScreen[data-route="pages/audit/audit"] .audit-batch-bar{
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 8px 0 2px;
  padding: 8px 10px;
  border-radius: 18px;
  background: color-mix(in srgb, var(--mp-w96), transparent 8%);
  border: 1px solid color-mix(in srgb, var(--mp-cDeep), transparent 72%);
  box-shadow: 0 3px 12px color-mix(in srgb, var(--mp-cDeep), transparent 93%);}#mpScreen[data-route="pages/audit/audit"] .audit-batch-tool,
#mpScreen[data-route="pages/audit/audit"] .audit-batch-go{
  height: 30px;
  padding: 0 12px;
  border-radius: 15px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.15s cubic-bezier(0.34, 1.56, 0.64, 1);}#mpScreen[data-route="pages/audit/audit"] .audit-batch-tool:active,
#mpScreen[data-route="pages/audit/audit"] .audit-batch-go:active{ transform: scale(0.93);}#mpScreen[data-route="pages/audit/audit"] .audit-batch-tool{
  flex-shrink: 0;
  background: var(--mp-w92);
  border: 1px solid color-mix(in srgb, var(--mp-cDeep), transparent 70%);}#mpScreen[data-route="pages/audit/audit"] .audit-batch-tool-text{
  font-size: 11.5px;
  font-weight: 700;
  color: var(--mp-w42);
  white-space: nowrap;}#mpScreen[data-route="pages/audit/audit"] .audit-batch-count{
  flex: 1;
  text-align: center;
  font-size: 11.5px;
  font-weight: 700;
  color: var(--mp-w42);}#mpScreen[data-route="pages/audit/audit"] .audit-batch-go{ flex: none;}#mpScreen[data-route="pages/audit/audit"] .audit-batch-pass{
  background: linear-gradient(135deg, var(--mp-x280), var(--mp-x262));
  box-shadow: 0 3px 10px color-mix(in srgb, var(--mp-x262), transparent 72%);}#mpScreen[data-route="pages/audit/audit"] .audit-batch-reject{
  background: linear-gradient(135deg, var(--mp-x279), var(--mp-x101));
  box-shadow: 0 3px 10px color-mix(in srgb, var(--mp-x101), transparent 72%);}#mpScreen[data-route="pages/audit/audit"] .audit-batch-pass .audit-batch-tool-text,
#mpScreen[data-route="pages/audit/audit"] .audit-batch-reject .audit-batch-tool-text{ color: var(--mp-inkOn);}

/* 卡片左上角的勾选圈：判过的画虚线圈 + 一个点，摆明了点不动 */#mpScreen[data-route="pages/audit/audit"] .audit-batch-check{
  flex-shrink: 0;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  border: 2px solid color-mix(in srgb, var(--mp-cDeep), transparent 45%);
  background: color-mix(in srgb, var(--mp-n100), transparent 8%);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.15s cubic-bezier(0.34, 1.56, 0.64, 1), background 0.18s ease, border-color 0.18s ease;}#mpScreen[data-route="pages/audit/audit"] .audit-batch-check:active{ transform: scale(0.88);}#mpScreen[data-route="pages/audit/audit"] .audit-batch-check-on{
  background: linear-gradient(135deg, var(--mp-x280), var(--mp-x262));
  border-color: var(--mp-x42);}#mpScreen[data-route="pages/audit/audit"] .audit-batch-check-done{
  border-style: dashed;
  background: var(--mp-n91);}#mpScreen[data-route="pages/audit/audit"] .audit-batch-check-mark{
  font-size: 13px;
  font-weight: 800;
  line-height: 1;
  color: var(--mp-inkOn);}#mpScreen[data-route="pages/audit/audit"] .audit-batch-check-done .audit-batch-check-mark{ color: var(--mp-w68);}#mpScreen[data-route="pages/audit/audit"] .audit-list{
  display: flex;
  flex-direction: column;
  gap: 12px;}#mpScreen[data-route="pages/audit/audit"] .audit-empty{
  padding: 44px 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  background: color-mix(in srgb, var(--mp-n100), transparent 30%);
  border: 1.5px dashed color-mix(in srgb, var(--mp-b2), transparent 70%);
  border-radius: 22px;}#mpScreen[data-route="pages/audit/audit"] .audit-empty-emoji{ font-size: 34px; line-height: 1; opacity: 0.7;}#mpScreen[data-route="pages/audit/audit"] .audit-empty-text{
  font-size: 13px;
  color: var(--mp-cDeep);
  font-weight: 600;}#mpScreen[data-route="pages/audit/audit"] .audit-item-card{
  background: var(--mp-n100);
  border-radius: 22px;
  padding: 14px;
  border: 1px solid color-mix(in srgb, var(--mp-n00), transparent 95.5%);
  box-shadow: 0 3px 14px color-mix(in srgb, var(--mp-cDeep), transparent 92%);
  display: flex;
  flex-direction: column;
  gap: 10px;
  transition: transform 0.18s ease, box-shadow 0.18s ease;}#mpScreen[data-route="pages/audit/audit"] .audit-item-card:active{ transform: scale(0.99);}#mpScreen[data-route="pages/audit/audit"] .audit-item-top{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;}

/* 右侧竖排：审核状态在上，提交方式标紧跟其下 */#mpScreen[data-route="pages/audit/audit"] .audit-item-side{
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 6px;}#mpScreen[data-route="pages/audit/audit"] .audit-item-who{
  display: flex;
  align-items: center;
  gap: 9px;
  min-width: 0;
  flex: 1;}#mpScreen[data-route="pages/audit/audit"] .audit-item-avatar{
  width: 38px;
  height: 38px;
  border-radius: 50%;
  border: 1.5px solid color-mix(in srgb, var(--mp-b2), transparent 72%);
  flex-shrink: 0;
  background: var(--mp-w92);}#mpScreen[data-route="pages/audit/audit"] .audit-item-who-col{
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;}#mpScreen[data-route="pages/audit/audit"] .audit-item-name{
  font-size: 13.5px;
  font-weight: 700;
  color: var(--mp-ink2);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;}#mpScreen[data-route="pages/audit/audit"] .audit-item-meta{
  font-size: 11px;
  color: var(--mp-n60);
  font-weight: 500;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;}#mpScreen[data-route="pages/audit/audit"] .audit-status-pill{
  flex-shrink: 0;
  padding: 4px 11px;
  border-radius: 999px;
  border: 1px solid transparent;}#mpScreen[data-route="pages/audit/audit"] .audit-status-pill-text{
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.02em;}#mpScreen[data-route="pages/audit/audit"] .audit-status-0{ background: var(--mp-x281); border-color: color-mix(in srgb, var(--mp-x282), transparent 68%);}#mpScreen[data-route="pages/audit/audit"] .audit-status-0 .audit-status-pill-text{ color: var(--mp-x283);}#mpScreen[data-route="pages/audit/audit"] .audit-status-1{ background: var(--mp-x284); border-color: color-mix(in srgb, var(--mp-x42), transparent 72%);}#mpScreen[data-route="pages/audit/audit"] .audit-status-1 .audit-status-pill-text{ color: var(--mp-x42);}#mpScreen[data-route="pages/audit/audit"] .audit-status-2{ background: var(--mp-x88); border-color: color-mix(in srgb, var(--mp-x05), transparent 72%);}#mpScreen[data-route="pages/audit/audit"] .audit-status-2 .audit-status-pill-text{ color: var(--mp-x05);}#mpScreen[data-route="pages/audit/audit"] .audit-item-body{
  display: flex;
  flex-direction: column;
  gap: 6px;
  background: linear-gradient(135deg, var(--mp-n100), var(--mp-w96));
  border-radius: 16px;
  padding: 11px 12px;
  border: 1px solid color-mix(in srgb, var(--mp-b2), transparent 86%);}#mpScreen[data-route="pages/audit/audit"] .audit-item-title{
  font-size: 14px;
  font-weight: 800;
  color: var(--mp-ink2);
  line-height: 1.4;}#mpScreen[data-route="pages/audit/audit"] .audit-item-preview{
  font-size: 12.5px;
  color: var(--mp-n38);
  line-height: 1.6;
  word-break: break-all;}#mpScreen[data-route="pages/audit/audit"] .audit-comment-text{
  font-size: 13px;
  color: var(--mp-ink3);}#mpScreen[data-route="pages/audit/audit"] .audit-thumbs{
  display: flex;
  gap: 6px;
  flex-wrap: wrap;}#mpScreen[data-route="pages/audit/audit"] .audit-thumb{
  width: 58px;
  height: 58px;
  border-radius: 12px;
  border: 1px solid color-mix(in srgb, var(--mp-n00), transparent 94%);
  background: var(--mp-w92);}#mpScreen[data-route="pages/audit/audit"] .audit-thumb-more{
  width: 58px;
  height: 58px;
  border-radius: 12px;
  background: color-mix(in srgb, var(--mp-n00), transparent 95%);
  display: flex;
  align-items: center;
  justify-content: center;}#mpScreen[data-route="pages/audit/audit"] .audit-thumb-more-text{
  font-size: 13px;
  font-weight: 700;
  color: var(--mp-n38);}#mpScreen[data-route="pages/audit/audit"] .audit-item-foot{
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;}#mpScreen[data-route="pages/audit/audit"] .audit-item-foot-text{
  font-size: 11px;
  color: var(--mp-w42);
  font-weight: 500;}

/* 时间靠右，和左侧地址拉开；地址过长时整条时间换行后仍然贴右 */#mpScreen[data-route="pages/audit/audit"] .audit-item-foot-time{
  margin-left: auto;
  white-space: nowrap;}#mpScreen[data-route="pages/audit/audit"] .audit-item-actions{
  display: flex;
  gap: 8px;}#mpScreen[data-route="pages/audit/audit"] .audit-action-btn{
  flex: 1;
  height: 36px;
  border-radius: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.15s cubic-bezier(0.25, 0.1, 0.25, 1), opacity 0.15s ease;}#mpScreen[data-route="pages/audit/audit"] .audit-action-btn:active{ transform: scale(0.94);}#mpScreen[data-route="pages/audit/audit"] .audit-action-btn-text{
  font-size: 12px;
  font-weight: 700;
  color: var(--mp-inkOn);
  letter-spacing: 0.01em;}#mpScreen[data-route="pages/audit/audit"] .audit-action-view{
  background: linear-gradient(135deg, var(--mp-admLite1), var(--mp-admLite2));
  box-shadow: 0 3px 10px color-mix(in srgb, var(--mp-admLite1), transparent 70%);}#mpScreen[data-route="pages/audit/audit"] .audit-action-pass{
  background: linear-gradient(135deg, var(--mp-x280), var(--mp-x262));
  box-shadow: 0 3px 10px color-mix(in srgb, var(--mp-x262), transparent 72%);}#mpScreen[data-route="pages/audit/audit"] .audit-action-reject{
  background: linear-gradient(135deg, var(--mp-x279), var(--mp-x101));
  box-shadow: 0 3px 10px color-mix(in srgb, var(--mp-x101), transparent 72%);}#mpScreen[data-route="pages/audit/audit"] .audit-action-disabled{
  background: var(--mp-n91);
  box-shadow: none;
  opacity: 0.75;}#mpScreen[data-route="pages/audit/audit"] .audit-action-disabled .audit-action-btn-text{ color: var(--mp-w68);}#mpScreen[data-route="pages/audit/audit"] .audit-action-small{
  flex: none;
  height: 30px;
  padding: 0 12px;
  border-radius: 15px;}#mpScreen[data-route="pages/audit/audit"] .audit-action-small .audit-action-btn-text{ font-size: 11px;}

/* ---------------- 管理员名单 ---------------- */#mpScreen[data-route="pages/audit/audit"] .audit-admin-item{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  padding: 12px;
  border-radius: 18px;
  background: linear-gradient(135deg, var(--mp-n100), var(--mp-x285));
  border: 1px solid color-mix(in srgb, var(--mp-admLite1), transparent 84%);}#mpScreen[data-route="pages/audit/audit"] .audit-admin-item + .audit-admin-item{ margin-top: 10px;}#mpScreen[data-route="pages/audit/audit"] .audit-admin-item-left{
  display: flex;
  align-items: flex-start;
  gap: 10px;
  min-width: 0;
  flex: 1;}#mpScreen[data-route="pages/audit/audit"] .audit-admin-item-emoji{
  font-size: 22px;
  line-height: 1;
  flex-shrink: 0;
  margin-top: 2px;}#mpScreen[data-route="pages/audit/audit"] .audit-admin-item-col{
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;}#mpScreen[data-route="pages/audit/audit"] .audit-admin-item-name-row{
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;}#mpScreen[data-route="pages/audit/audit"] .audit-admin-item-name{
  font-size: 13.5px;
  font-weight: 800;
  color: var(--mp-ink2);}#mpScreen[data-route="pages/audit/audit"] .audit-admin-item-level{
  font-size: 10.5px;
  font-weight: 700;
  color: var(--mp-x286);
  background: var(--mp-x287);
  border: 1px solid color-mix(in srgb, var(--mp-x286), transparent 76%);
  border-radius: 8px;
  padding: 2px 7px;}#mpScreen[data-route="pages/audit/audit"] .audit-admin-item-phone{
  font-size: 11.5px;
  color: var(--mp-n50);
  font-weight: 600;
  letter-spacing: 0.03em;}#mpScreen[data-route="pages/audit/audit"] .audit-admin-item-idrow{
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;}#mpScreen[data-route="pages/audit/audit"] .audit-admin-item-id,
#mpScreen[data-route="pages/audit/audit"] .audit-admin-item-code{
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.04em;
  padding: 3px 8px;
  border-radius: 9px;
  transition: transform 0.15s ease;}#mpScreen[data-route="pages/audit/audit"] .audit-admin-item-id:active,
#mpScreen[data-route="pages/audit/audit"] .audit-admin-item-code:active{ transform: scale(0.92);}#mpScreen[data-route="pages/audit/audit"] .audit-admin-item-id{
  color: var(--mp-x269);
  background: var(--mp-x288);
  border: 1px solid color-mix(in srgb, var(--mp-x08), transparent 76%);}#mpScreen[data-route="pages/audit/audit"] .audit-admin-item-code{
  color: var(--mp-x283);
  background: var(--mp-x281);
  border: 1px solid color-mix(in srgb, var(--mp-x282), transparent 70%);}#mpScreen[data-route="pages/audit/audit"] .audit-admin-item-note{
  font-size: 11px;
  color: var(--mp-n60);
  line-height: 1.5;}#mpScreen[data-route="pages/audit/audit"] .audit-admin-item-right{
  flex-shrink: 0;
  display: flex;
  align-items: center;}#mpScreen[data-route="pages/audit/audit"] .audit-admin-super-tag{
  font-size: 10.5px;
  font-weight: 700;
  color: var(--mp-x283);
  background: linear-gradient(135deg, var(--mp-x281), var(--mp-x289));
  border: 1px solid color-mix(in srgb, var(--mp-x282), transparent 66%);
  border-radius: 9px;
  padding: 4px 9px;}#mpScreen[data-route="pages/audit/audit"] .audit-admin-form-hint{
  margin-bottom: 12px;
  padding: 9px 12px;
  border-radius: 13px;
  background: var(--mp-x281);
  border: 1px dashed color-mix(in srgb, var(--mp-x282), transparent 60%);}#mpScreen[data-route="pages/audit/audit"] .audit-admin-form-hint-ok{
  background: var(--mp-n96);
  border-color: color-mix(in srgb, var(--mp-x42), transparent 70%);}#mpScreen[data-route="pages/audit/audit"] .audit-admin-form-hint-text{
  font-size: 11.5px;
  color: var(--mp-x290);
  font-weight: 600;
  line-height: 1.55;}#mpScreen[data-route="pages/audit/audit"] .audit-admin-form-hint-ok .audit-admin-form-hint-text{ color: var(--mp-x291);}

/* ---------------- 弹窗 ---------------- */#mpScreen[data-route="pages/audit/audit"] .audit-modal-overlay{
  position: fixed;
  inset: 0;
  background: color-mix(in srgb, var(--mp-n08), transparent 50%);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 900;
  padding: 20px;
  box-sizing: border-box;}#mpScreen[data-route="pages/audit/audit"] .audit-modal{
  width: 100%;
  max-width: 520px;
  max-height: 82%;
  background: var(--mp-n100);
  border-radius: 24px;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  box-shadow: 0 24px 70px color-mix(in srgb, var(--mp-n00), transparent 70%);
  animation: auditModalPop 0.32s cubic-bezier(0.34, 1.4, 0.64, 1) both;}#mpScreen[data-route="pages/audit/audit"] .audit-modal-small{ max-width: 400px;}

@keyframes auditModalPop {
  0% { opacity: 0; transform: translateY(24px) scale(0.92); }
  100% { opacity: 1; transform: translateY(0) scale(1); }
}#mpScreen[data-route="pages/audit/audit"] .audit-modal-head{
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 15px 18px;
  background: linear-gradient(135deg, var(--mp-w96), var(--mp-w92));
  border-bottom: 1px solid color-mix(in srgb, var(--mp-b2), transparent 84%);
  flex-shrink: 0;}#mpScreen[data-route="pages/audit/audit"] .audit-modal-title{
  font-size: 15px;
  font-weight: 800;
  color: var(--mp-ink2);}#mpScreen[data-route="pages/audit/audit"] .audit-modal-close{
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: color-mix(in srgb, var(--mp-n00), transparent 94%);
  display: flex;
  align-items: center;
  justify-content: center;}#mpScreen[data-route="pages/audit/audit"] .audit-modal-close-icon{
  font-size: 13px;
  color: var(--mp-n38);
  font-weight: 700;
  line-height: 1;}#mpScreen[data-route="pages/audit/audit"] .audit-modal-body{
  padding: 16px 18px;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;}#mpScreen[data-route="pages/audit/audit"] .audit-modal-foot{
  display: flex;
  gap: 10px;
  padding: 14px 18px 18px;
  flex-shrink: 0;}#mpScreen[data-route="pages/audit/audit"] .audit-detail-avatar{
  width: 30px;
  height: 30px;
  border-radius: 50%;
  border: 1px solid color-mix(in srgb, var(--mp-n00), transparent 92%);
  background: var(--mp-w92);}

/* ---------------- 帖子详情弹窗：一格一项发布表单 ---------------- */#mpScreen[data-route="pages/audit/audit"] .audit-modal-detail{ max-width: 680px;}#mpScreen[data-route="pages/audit/audit"] .audit-modal-headcol{
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;}#mpScreen[data-route="pages/audit/audit"] .audit-modal-subtitle{
  font-size: 10.5px;
  color: var(--mp-w42);
  line-height: 1.4;}#mpScreen[data-route="pages/audit/audit"] .pd-meta{
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 12px 14px;
  border-radius: 16px;
  background: linear-gradient(135deg, var(--mp-w96), var(--mp-w92));
  border: 1px solid color-mix(in srgb, var(--mp-b2), transparent 84%);}#mpScreen[data-route="pages/audit/audit"] .pd-meta-user{
  display: flex;
  align-items: center;
  gap: 8px;}#mpScreen[data-route="pages/audit/audit"] .pd-meta-id{
  font-size: 13px;
  font-weight: 800;
  color: var(--mp-ink2);
  letter-spacing: 0.02em;}#mpScreen[data-route="pages/audit/audit"] .pd-meta-tags{
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;}#mpScreen[data-route="pages/audit/audit"] .pd-meta-tag{
  font-size: 10.5px;
  font-weight: 700;
  color: var(--mp-cDeep);
  background: color-mix(in srgb, var(--mp-n100), transparent 28%);
  border: 1px solid color-mix(in srgb, var(--mp-b2), transparent 82%);
  border-radius: 999px;
  padding: 2px 8px;}#mpScreen[data-route="pages/audit/audit"] .pd-meta-line{
  display: flex;
  align-items: baseline;
  gap: 8px;}#mpScreen[data-route="pages/audit/audit"] .pd-meta-key{
  font-size: 10.5px;
  font-weight: 700;
  color: var(--mp-w42);
  letter-spacing: 0.04em;
  flex-shrink: 0;}#mpScreen[data-route="pages/audit/audit"] .pd-meta-val{
  font-size: 12px;
  color: var(--mp-ink3);
  word-break: break-all;}#mpScreen[data-route="pages/audit/audit"] .pd-fields{
  margin-top: 10px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;}#mpScreen[data-route="pages/audit/audit"] .pd-field{
  display: flex;
  flex-direction: column;
  gap: 5px;
  min-width: 0;
  padding: 9px 11px;
  border-radius: 14px;
  background: var(--mp-n100);
  border: 1px solid color-mix(in srgb, var(--mp-n00), transparent 94%);}#mpScreen[data-route="pages/audit/audit"] .pd-field-wide{ grid-column: 1 / -1;}#mpScreen[data-route="pages/audit/audit"] .pd-field-top{
  display: flex;
  align-items: center;
  gap: 6px;}#mpScreen[data-route="pages/audit/audit"] .pd-field-no{
  font-size: 9.5px;
  font-weight: 800;
  color: var(--mp-cDeep);
  background: color-mix(in srgb, var(--mp-b2), transparent 87%);
  border-radius: 6px;
  padding: 1px 5px;
  line-height: 1.5;
  flex-shrink: 0;}#mpScreen[data-route="pages/audit/audit"] .pd-field-label{
  font-size: 11px;
  font-weight: 700;
  color: var(--mp-w42);
  letter-spacing: 0.04em;}#mpScreen[data-route="pages/audit/audit"] .pd-field-flag{
  margin-left: auto;
  font-size: 10px;
  font-weight: 700;
  color: var(--mp-x05);
  flex-shrink: 0;}#mpScreen[data-route="pages/audit/audit"] .pd-field-value{
  font-size: 13px;
  color: var(--mp-ink3);
  line-height: 1.6;
  word-break: break-word;}#mpScreen[data-route="pages/audit/audit"] .pd-field-lines{
  display: flex;
  flex-direction: column;
  gap: 3px;}#mpScreen[data-route="pages/audit/audit"] .pd-field-line{
  font-size: 11.5px;
  color: var(--mp-n38);
  background: color-mix(in srgb, var(--mp-n00), transparent 96.5%);
  border-radius: 8px;
  padding: 3px 7px;}#mpScreen[data-route="pages/audit/audit"] .pd-photos{
  display: flex;
  gap: 8px;
  flex-wrap: wrap;}#mpScreen[data-route="pages/audit/audit"] .pd-photo{
  width: 72px;
  height: 72px;
  border-radius: 14px;
  border: 1px solid color-mix(in srgb, var(--mp-n00), transparent 94%);
  background: var(--mp-w92);}#mpScreen[data-route="pages/audit/audit"] .pd-field-missing{
  background: color-mix(in srgb, var(--mp-x101), transparent 96%);
  border-style: dashed;
  border-color: color-mix(in srgb, var(--mp-x05), transparent 72%);}#mpScreen[data-route="pages/audit/audit"] .pd-field-missing .pd-field-label{ color: var(--mp-w68);}#mpScreen[data-route="pages/audit/audit"] .pd-remark{
  margin-top: 10px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 10px 12px;
  border-radius: 14px;
  background: color-mix(in srgb, var(--mp-x101), transparent 93%);
  border: 1px solid color-mix(in srgb, var(--mp-x05), transparent 82%);}#mpScreen[data-route="pages/audit/audit"] .pd-remark-label{
  font-size: 11px;
  font-weight: 700;
  color: var(--mp-x05);
  letter-spacing: 0.04em;}#mpScreen[data-route="pages/audit/audit"] .pd-remark-text{
  font-size: 12.5px;
  color: var(--mp-cDeep);
  line-height: 1.6;
  word-break: break-word;}

@media (max-width: 560px) {#mpScreen[data-route="pages/audit/audit"] .pd-fields{ grid-template-columns: 1fr;}
}#mpScreen[data-route="pages/audit/audit"] .audit-reject-tip{
  display: block;
  font-size: 12.5px;
  color: var(--mp-n38);
  font-weight: 600;
  line-height: 1.55;
  margin-bottom: 10px;}#mpScreen[data-route="pages/audit/audit"] .audit-reject-textarea{
  width: 100%;
  box-sizing: border-box;
  min-height: 92px;
  padding: 11px 12px;
  border-radius: 15px;
  border: 1.5px solid color-mix(in srgb, var(--mp-x05), transparent 74%);
  background: var(--mp-n100);
  font-size: 13px;
  color: var(--mp-ink3);
  line-height: 1.6;
  outline: none;}#mpScreen[data-route="pages/audit/audit"] .audit-reject-textarea:focus{
  border-color: var(--mp-x05);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--mp-x101), transparent 88%);}

/* ---------------- 新增管理员成功弹窗 ---------------- */#mpScreen[data-route="pages/audit/audit"] .audit-result-modal{
  align-items: center;
  padding: 22px 20px 20px;
  box-sizing: border-box;}#mpScreen[data-route="pages/audit/audit"] .audit-result-emoji{
  font-size: 42px;
  line-height: 1;
  animation: auditResultBounce 1.4s ease-in-out infinite;}

@keyframes auditResultBounce {
  0%, 100% { transform: translateY(0) scale(1); }
  50% { transform: translateY(-7px) scale(1.06); }
}#mpScreen[data-route="pages/audit/audit"] .audit-result-title{
  margin-top: 8px;
  font-size: 17px;
  font-weight: 800;
  color: var(--mp-ink2);}#mpScreen[data-route="pages/audit/audit"] .audit-result-body{
  margin-top: 14px;
  width: 100%;
  box-sizing: border-box;
  background: linear-gradient(135deg, var(--mp-n100), var(--mp-w92));
  border: 1px solid color-mix(in srgb, var(--mp-b2), transparent 80%);
  border-radius: 18px;
  padding: 12px 14px;
  display: flex;
  flex-direction: column;
  gap: 8px;}#mpScreen[data-route="pages/audit/audit"] .audit-result-row{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;}#mpScreen[data-route="pages/audit/audit"] .audit-result-label{
  font-size: 11.5px;
  font-weight: 700;
  color: var(--mp-w42);
  flex-shrink: 0;}#mpScreen[data-route="pages/audit/audit"] .audit-result-value{
  font-size: 12.5px;
  font-weight: 700;
  color: var(--mp-ink3);
  text-align: right;
  word-break: break-all;}#mpScreen[data-route="pages/audit/audit"] .audit-result-code{
  font-size: 17px;
  font-weight: 800;
  color: var(--mp-x05);
  letter-spacing: 0.18em;}#mpScreen[data-route="pages/audit/audit"] .audit-result-hint{
  margin-top: 12px;
  font-size: 11.5px;
  color: var(--mp-n60);
  line-height: 1.55;
  text-align: center;}#mpScreen[data-route="pages/audit/audit"] .audit-result-btn{
  margin-top: 14px;
  width: 100%;}

/* =================================================================== */
/* 🖥️ PC 端：更宽的工作台布局                                           */
/* =================================================================== */
@media (min-width: 760px) {#mpScreen[data-route="pages/audit/audit"] .audit-hero{ padding: 28px 28px 24px;}#mpScreen[data-route="pages/audit/audit"] .audit-hero-title{ font-size: 26px;}#mpScreen[data-route="pages/audit/audit"] .audit-hero-sub{ font-size: 13px;}#mpScreen[data-route="pages/audit/audit"] .audit-stat-row{ gap: 12px;}#mpScreen[data-route="pages/audit/audit"] .audit-stat-card{ padding: 14px 8px 12px; border-radius: 20px;}#mpScreen[data-route="pages/audit/audit"] .audit-stat-num{ font-size: 24px;}#mpScreen[data-route="pages/audit/audit"] .audit-stat-label{ font-size: 11px;}#mpScreen[data-route="pages/audit/audit"] .audit-tabs{ margin: -18px 24px 0; padding: 6px; border-radius: 22px;}#mpScreen[data-route="pages/audit/audit"] .audit-tab{ flex-direction: row; justify-content: center; gap: 7px; padding: 10px 8px; border-radius: 17px;}#mpScreen[data-route="pages/audit/audit"] .audit-tab-text{ font-size: 13.5px;}#mpScreen[data-route="pages/audit/audit"] .audit-tab-thumb{ top: 6px; left: 6px; bottom: 6px; width: calc((100% - 12px) / 5); border-radius: 17px;}#mpScreen[data-route="pages/audit/audit"] .audit-panel{ padding: 20px 24px; gap: 16px;}#mpScreen[data-route="pages/audit/audit"] .audit-card{ padding: 20px; border-radius: 24px;}#mpScreen[data-route="pages/audit/audit"] .audit-filter-grid{ grid-template-columns: repeat(3, 1fr); gap: 12px;}#mpScreen[data-route="pages/audit/audit"] .audit-input,
#mpScreen[data-route="pages/audit/audit"] .audit-picker-text{ height: 42px; font-size: 13.5px;}#mpScreen[data-route="pages/audit/audit"] .audit-date{ height: 42px; font-size: 13.5px; border-radius: 15px;}#mpScreen[data-route="pages/audit/audit"] .audit-btn{ height: 44px;}#mpScreen[data-route="pages/audit/audit"] .audit-filter-actions{ max-width: 460px;}#mpScreen[data-route="pages/audit/audit"] .audit-list{ display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; align-items: start;}#mpScreen[data-route="pages/audit/audit"] .audit-empty{ grid-column: 1 / -1;}#mpScreen[data-route="pages/audit/audit"] .audit-item-card{ padding: 16px;}#mpScreen[data-route="pages/audit/audit"] .audit-list-head{ padding: 0 2px;}#mpScreen[data-route="pages/audit/audit"] .audit-list-head-text{ font-size: 13px;}#mpScreen[data-route="pages/audit/audit"] .audit-admin-item{ padding: 14px 16px;}#mpScreen[data-route="pages/audit/audit"] .audit-modal{ max-width: 640px;}#mpScreen[data-route="pages/audit/audit"] .audit-modal-detail{ max-width: 760px;}
}

@media (min-width: 1100px) {#mpScreen[data-route="pages/audit/audit"] .audit-list{ grid-template-columns: repeat(2, 1fr);}#mpScreen[data-route="pages/audit/audit"] .audit-filter-grid{ grid-template-columns: repeat(4, 1fr);}
}

/* =================================================================== */
/* 🔑 注册 / 登录记录                                                    */
/* =================================================================== */#mpScreen[data-route="pages/audit/audit"] .audit-record-tip{
  display: flex;
  align-items: flex-start;
  gap: 7px;
  padding: 11px 13px;
  border-radius: 18px;
  background: linear-gradient(135deg, color-mix(in srgb, var(--mp-w92), transparent 8%), color-mix(in srgb, var(--mp-w96), transparent 8%));
  border: 1px dashed color-mix(in srgb, var(--mp-b2), transparent 60%);}#mpScreen[data-route="pages/audit/audit"] .audit-record-tip-icon{
  font-size: 13px;
  line-height: 1.5;
  flex-shrink: 0;}#mpScreen[data-route="pages/audit/audit"] .audit-record-tip-text{
  font-size: 11.5px;
  line-height: 1.55;
  color: var(--mp-cDeep);
  font-weight: 600;}#mpScreen[data-route="pages/audit/audit"] .audit-user-card{
  background: var(--mp-n100);
  border-radius: 22px;
  padding: 14px;
  border: 1px solid color-mix(in srgb, var(--mp-n00), transparent 95.5%);
  box-shadow: 0 3px 14px color-mix(in srgb, var(--mp-cDeep), transparent 92%);
  display: flex;
  flex-direction: column;
  gap: 11px;
  transition: transform 0.18s ease, box-shadow 0.18s ease;}#mpScreen[data-route="pages/audit/audit"] .audit-user-card:active{ transform: scale(0.99);}#mpScreen[data-route="pages/audit/audit"] .audit-user-card-off{
  background: linear-gradient(135deg, var(--mp-n100), var(--mp-n100));
  border-color: color-mix(in srgb, var(--mp-x05), transparent 84%);}#mpScreen[data-route="pages/audit/audit"] .audit-user-head{
  display: flex;
  align-items: flex-start;
  gap: 10px;}#mpScreen[data-route="pages/audit/audit"] .audit-user-avatar{
  width: 40px;
  height: 40px;
  border-radius: 14px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(150deg, var(--mp-w92), var(--mp-w92));
  border: 1px solid color-mix(in srgb, var(--mp-b2), transparent 76%);
  box-shadow: inset 0 1px 0 color-mix(in srgb, var(--mp-n100), transparent 30%);}#mpScreen[data-route="pages/audit/audit"] .audit-user-card-off .audit-user-avatar{
  background: linear-gradient(150deg, var(--mp-n96), var(--mp-n91));
  border-color: color-mix(in srgb, var(--mp-w42), transparent 80%);}#mpScreen[data-route="pages/audit/audit"] .audit-user-avatar-emoji{ font-size: 20px; line-height: 1;}#mpScreen[data-route="pages/audit/audit"] .audit-user-head-col{
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 5px;}#mpScreen[data-route="pages/audit/audit"] .audit-user-name-row{
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;}#mpScreen[data-route="pages/audit/audit"] .audit-user-name{
  font-size: 14.5px;
  font-weight: 800;
  color: var(--mp-w20);
  letter-spacing: -0.01em;}#mpScreen[data-route="pages/audit/audit"] .audit-user-pill{
  padding: 2px 8px;
  border-radius: 999px;
  font-size: 10.5px;
  font-weight: 700;
  line-height: 1.5;
  white-space: nowrap;}#mpScreen[data-route="pages/audit/audit"] .audit-user-pill-active{
  background: color-mix(in srgb, var(--mp-x292), transparent 88%);
  color: var(--mp-x293);
  border: 1px solid color-mix(in srgb, var(--mp-x294), transparent 72%);}#mpScreen[data-route="pages/audit/audit"] .audit-user-pill-cancelled{
  background: color-mix(in srgb, var(--mp-x101), transparent 90%);
  color: var(--mp-x295);
  border: 1px solid color-mix(in srgb, var(--mp-x05), transparent 76%);}#mpScreen[data-route="pages/audit/audit"] .audit-user-pill-admin{
  background: linear-gradient(135deg, color-mix(in srgb, var(--mp-x276), transparent 82%), color-mix(in srgb, var(--mp-x277), transparent 86%));
  color: var(--mp-x296);
  border: 1px solid color-mix(in srgb, var(--mp-x297), transparent 74%);}#mpScreen[data-route="pages/audit/audit"] .audit-user-contact-row{
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;}#mpScreen[data-route="pages/audit/audit"] .audit-user-phone{
  font-size: 12px;
  font-weight: 700;
  color: var(--mp-w42);
  letter-spacing: 0.02em;}#mpScreen[data-route="pages/audit/audit"] .audit-user-id{
  font-size: 11px;
  font-weight: 700;
  color: var(--mp-b1);
  background: color-mix(in srgb, var(--mp-b2), transparent 90%);
  border: 1px solid color-mix(in srgb, var(--mp-b2), transparent 78%);
  padding: 2px 8px;
  border-radius: 999px;}#mpScreen[data-route="pages/audit/audit"] .audit-user-id:active{ transform: scale(0.96);}#mpScreen[data-route="pages/audit/audit"] .audit-user-grid{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;}#mpScreen[data-route="pages/audit/audit"] .audit-user-cell{
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 9px 10px;
  border-radius: 16px;
  background: linear-gradient(150deg, var(--mp-n100), var(--mp-w96));
  border: 1px solid color-mix(in srgb, var(--mp-cMid), transparent 78%);
  min-width: 0;}#mpScreen[data-route="pages/audit/audit"] .audit-user-cell-label{
  font-size: 10px;
  font-weight: 700;
  color: var(--mp-cDeep);
  letter-spacing: 0.02em;}#mpScreen[data-route="pages/audit/audit"] .audit-user-cell-value{
  font-size: 12px;
  font-weight: 800;
  color: var(--mp-w20);
  line-height: 1.35;
  word-break: break-all;}#mpScreen[data-route="pages/audit/audit"] .audit-user-cell-danger{ color: var(--mp-x298);}#mpScreen[data-route="pages/audit/audit"] .audit-user-cell-sub{
  font-size: 10px;
  color: var(--mp-w42);
  font-weight: 600;
  line-height: 1.35;}

@media (max-width: 380px) {#mpScreen[data-route="pages/audit/audit"] .audit-user-grid{ grid-template-columns: repeat(2, 1fr);}
}

@media (min-width: 1100px) {#mpScreen[data-route="pages/audit/audit"] .audit-user-grid{ grid-template-columns: repeat(4, 1fr);}
}

/* ========== Tab 4：内测人员申请 ========== */#mpScreen[data-route="pages/audit/audit"] .audit-tab{ position: relative;}#mpScreen[data-route="pages/audit/audit"] .audit-tab-text{ font-size: 11px; white-space: nowrap;}#mpScreen[data-route="pages/audit/audit"] .audit-tab-badge{
  position: absolute;
  top: 3px;
  right: 7px;
  min-width: 15px;
  height: 15px;
  padding: 0 4px;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--mp-x299), var(--mp-x300));
  color: var(--mp-inkOn);
  font-size: 9.5px;
  font-weight: 800;
  line-height: 15px;
  text-align: center;
  box-shadow: 0 2px 6px color-mix(in srgb, var(--mp-x300), transparent 60%);
  animation: betaBadgePop 0.42s cubic-bezier(0.34, 1.56, 0.64, 1);}

@keyframes betaBadgePop {
  0% { transform: scale(0.4); opacity: 0; }
  100% { transform: scale(1); opacity: 1; }
}#mpScreen[data-route="pages/audit/audit"] .beta-audit-card{ border-left: 3px solid color-mix(in srgb, var(--mp-x301), transparent 55%);}#mpScreen[data-route="pages/audit/audit"] .beta-audit-approved{ border-left-color: color-mix(in srgb, var(--mp-x294), transparent 50%);}#mpScreen[data-route="pages/audit/audit"] .beta-audit-rejected{ border-left-color: color-mix(in srgb, var(--mp-x05), transparent 60%);}#mpScreen[data-route="pages/audit/audit"] .beta-audit-avatar{ overflow: hidden;}#mpScreen[data-route="pages/audit/audit"] .beta-audit-avatar-img{ width: 100%; height: 100%; border-radius: 14px;}#mpScreen[data-route="pages/audit/audit"] .beta-audit-pill-pending{
  background: color-mix(in srgb, var(--mp-x302), transparent 86%);
  color: var(--mp-cDeep);
  border: 1px solid color-mix(in srgb, var(--mp-x301), transparent 70%);}#mpScreen[data-route="pages/audit/audit"] .beta-audit-pill-approved{
  background: color-mix(in srgb, var(--mp-x292), transparent 88%);
  color: var(--mp-x293);
  border: 1px solid color-mix(in srgb, var(--mp-x294), transparent 72%);}#mpScreen[data-route="pages/audit/audit"] .beta-audit-pill-rejected{
  background: color-mix(in srgb, var(--mp-x101), transparent 90%);
  color: var(--mp-x295);
  border: 1px solid color-mix(in srgb, var(--mp-x05), transparent 76%);}#mpScreen[data-route="pages/audit/audit"] .beta-valid-line{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 8px;
  margin-top: 10px;
  padding: 9px 11px;
  border-radius: 13px;
  background: linear-gradient(135deg, color-mix(in srgb, var(--mp-x20), transparent 90%), color-mix(in srgb, var(--mp-x20), transparent 96%));
  border: 1px solid color-mix(in srgb, var(--mp-x19), transparent 80%);}#mpScreen[data-route="pages/audit/audit"] .beta-valid-state{
  padding: 3px 9px;
  border-radius: 999px;
  font-size: 10.5px;
  font-weight: 800;
  white-space: nowrap;}#mpScreen[data-route="pages/audit/audit"] .beta-valid-on{
  background: color-mix(in srgb, var(--mp-x292), transparent 86%);
  color: var(--mp-x293);
  border: 1px solid color-mix(in srgb, var(--mp-x294), transparent 70%);}#mpScreen[data-route="pages/audit/audit"] .beta-valid-off{
  background: color-mix(in srgb, var(--mp-x303), transparent 86%);
  color: var(--mp-x304);
  border: 1px solid color-mix(in srgb, var(--mp-x305), transparent 74%);}#mpScreen[data-route="pages/audit/audit"] .beta-valid-wait{
  background: color-mix(in srgb, var(--mp-x302), transparent 86%);
  color: var(--mp-cDeep);
  border: 1px solid color-mix(in srgb, var(--mp-x301), transparent 70%);}#mpScreen[data-route="pages/audit/audit"] .beta-valid-detail{
  font-size: 11px;
  font-weight: 700;
  color: var(--mp-x306);
  line-height: 1.5;
  word-break: break-all;}#mpScreen[data-route="pages/audit/audit"] .beta-valid-tip .audit-record-tip-text{ color: var(--mp-x306);}#mpScreen[data-route="pages/audit/audit"] .beta-audit-note{
  margin-top: 8px;
  padding: 8px 11px;
  border-radius: 13px;
  background: color-mix(in srgb, var(--mp-x307), transparent 93%);
  border: 1px solid color-mix(in srgb, var(--mp-x209), transparent 84%);}#mpScreen[data-route="pages/audit/audit"] .beta-audit-note-text{
  font-size: 11px;
  font-weight: 600;
  color: var(--mp-x308);
  line-height: 1.5;}#mpScreen[data-route="pages/audit/audit"] .beta-audit-actions{
  display: flex;
  gap: 8px;
  margin-top: 12px;}#mpScreen[data-route="pages/audit/audit"] .beta-audit-btn{
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px 12px;
  border-radius: 15px;
  transition: transform 0.18s cubic-bezier(0.25, 0.1, 0.25, 1), box-shadow 0.18s ease;}#mpScreen[data-route="pages/audit/audit"] .beta-audit-btn:active{ transform: scale(0.96);}#mpScreen[data-route="pages/audit/audit"] .beta-audit-btn-ok{
  flex: 1.6;
  background: linear-gradient(135deg, var(--mp-x292), var(--mp-x309));
  box-shadow: 0 6px 16px color-mix(in srgb, var(--mp-x309), transparent 70%);}#mpScreen[data-route="pages/audit/audit"] .beta-audit-btn-no{
  flex: 1;
  background: color-mix(in srgb, var(--mp-x101), transparent 92%);
  border: 1px solid color-mix(in srgb, var(--mp-x05), transparent 76%);}#mpScreen[data-route="pages/audit/audit"] .beta-audit-btn-text{
  font-size: 11.5px;
  font-weight: 800;
  color: var(--mp-inkOn);
  white-space: nowrap;}#mpScreen[data-route="pages/audit/audit"] .beta-audit-btn-no .beta-audit-btn-text{ color: var(--mp-x295);}

/* 帖子/评论审核：个人ID + emoji 头像 */#mpScreen[data-route="pages/audit/audit"] .audit-item-avatar-emoji,
#mpScreen[data-route="pages/audit/audit"] .audit-detail-avatar-emoji{
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  box-shadow: inset 0 1px 0 color-mix(in srgb, var(--mp-n100), transparent 35%);}#mpScreen[data-route="pages/audit/audit"] .audit-item-avatar-emoji{ font-size: 19px;}#mpScreen[data-route="pages/audit/audit"] .audit-detail-avatar-emoji{ font-size: 15px; flex-shrink: 0;}

/* ========== 内测身份标记：挂在个人ID旁，代表「这个人是谁」 ========== */#mpScreen[data-route="pages/audit/audit"] .audit-item-name-row{
  display: flex;
  align-items: center;
  gap: 6px;
  min-width: 0;}#mpScreen[data-route="pages/audit/audit"] .audit-item-name-row .audit-item-name{ min-width: 0;}#mpScreen[data-route="pages/audit/audit"] .audit-identity-badge{
  flex-shrink: 0;
  padding: 2px 8px;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.02em;
  color: var(--mp-inkOn);
  background: linear-gradient(120deg, var(--mp-x20) 0%, var(--mp-x310) 100%);
  box-shadow: 0 2px 7px color-mix(in srgb, var(--mp-x20), transparent 70%), inset 0 1px 0 color-mix(in srgb, var(--mp-n100), transparent 66%);
  white-space: nowrap;}

/* ========== 提交方式标记：挂在卡片上，代表「这条帖子怎么来的」 ========== */#mpScreen[data-route="pages/audit/audit"] .audit-tag-row{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;}#mpScreen[data-route="pages/audit/audit"] .audit-tag-row-side{
  justify-content: flex-end;}#mpScreen[data-route="pages/audit/audit"] .audit-tag{
  padding: 3px 10px;
  border-radius: 999px;
  font-size: 10.5px;
  font-weight: 800;
  border: 1px solid transparent;
  white-space: nowrap;}#mpScreen[data-route="pages/audit/audit"] .audit-kind-first{
  color: var(--mp-x293);
  background: color-mix(in srgb, var(--mp-x292), transparent 88%);
  border-color: color-mix(in srgb, var(--mp-x294), transparent 74%);}#mpScreen[data-route="pages/audit/audit"] .audit-kind-repeat{
  color: var(--mp-x311);
  background: color-mix(in srgb, var(--mp-x312), transparent 88%);
  border-color: color-mix(in srgb, var(--mp-x313), transparent 74%);}#mpScreen[data-route="pages/audit/audit"] .audit-kind-edit{
  color: var(--mp-x283);
  background: var(--mp-x281);
  border-color: color-mix(in srgb, var(--mp-x314), transparent 68%);}

/* ========== 公益牌：用了本月名额的帖子，和「内测」同一类身份牌 ========== */#mpScreen[data-route="pages/audit/audit"] .audit-identity-badge-public{
  background: linear-gradient(120deg, var(--mp-x315) 0%, var(--mp-x316) 100%);
  box-shadow: 0 2px 7px color-mix(in srgb, var(--mp-x315), transparent 70%), inset 0 1px 0 color-mix(in srgb, var(--mp-n100), transparent 66%);}

/* ========== 疑似换宠：改了身份字段的人，ID 直接标红 ========== */#mpScreen[data-route="pages/audit/audit"] .audit-item-name-suspect{
  color: var(--mp-x05);}#mpScreen[data-route="pages/audit/audit"] .audit-tag-suspect{
  color: var(--mp-x05);
  background: color-mix(in srgb, var(--mp-x101), transparent 90%);
  border-color: color-mix(in srgb, var(--mp-x05), transparent 68%);}

/* ========== 改前 / 改后对比 ========== */#mpScreen[data-route="pages/audit/audit"] .audit-diff{
  display: flex;
  flex-direction: column;
  gap: 7px;
  padding: 10px 12px;
  border-radius: 14px;
  border: 1px dashed color-mix(in srgb, var(--mp-x05), transparent 66%);
  background: color-mix(in srgb, var(--mp-n100), transparent 28%);}#mpScreen[data-route="pages/audit/audit"] .audit-diff-head{
  font-size: 11.5px;
  font-weight: 800;
  color: var(--mp-w42);
  letter-spacing: 0.02em;}#mpScreen[data-route="pages/audit/audit"] .audit-diff-row{
  display: flex;
  flex-direction: column;
  gap: 1px;
  padding-left: 8px;
  border-left: 2px solid var(--mp-w84);}#mpScreen[data-route="pages/audit/audit"] .audit-diff-row-hot{
  border-left-color: var(--mp-x05);}#mpScreen[data-route="pages/audit/audit"] .audit-diff-label{
  font-size: 10.5px;
  font-weight: 700;
  color: var(--mp-n60);}#mpScreen[data-route="pages/audit/audit"] .audit-diff-row-hot .audit-diff-label{
  color: var(--mp-x05);}#mpScreen[data-route="pages/audit/audit"] .audit-diff-vals{
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 5px;}

/* 箭头跟新值绑成一块，长文本换行时不会被单独丢在一行 */#mpScreen[data-route="pages/audit/audit"] .audit-diff-newwrap{
  display: flex;
  flex-direction: row;
  align-items: baseline;
  gap: 5px;
  flex: 1 1 auto;
  min-width: 0;}#mpScreen[data-route="pages/audit/audit"] .audit-diff-old{
  font-size: 12.5px;
  color: var(--mp-n68);
  text-decoration: line-through;
  word-break: break-all;}#mpScreen[data-route="pages/audit/audit"] .audit-diff-arrow{
  font-size: 12px;
  font-weight: 800;
  color: var(--mp-x317);}#mpScreen[data-route="pages/audit/audit"] .audit-diff-new{
  font-size: 12.5px;
  font-weight: 800;
  color: var(--mp-ink2);
  word-break: break-all;}#mpScreen[data-route="pages/audit/audit"] .audit-diff-row-hot .audit-diff-new{
  color: var(--mp-x05);}#mpScreen[data-route="pages/audit/audit"] .audit-diff-note{
  font-size: 11px;
  line-height: 1.5;
  color: var(--mp-w42);
  background: color-mix(in srgb, var(--mp-x101), transparent 94%);
  border-radius: 10px;
  padding: 6px 9px;}

/* ========== 调整时效按钮 ========== */#mpScreen[data-route="pages/audit/audit"] .beta-audit-btn-adjust{
  flex: 1;
  background: color-mix(in srgb, var(--mp-x20), transparent 91%);
  border: 1px solid color-mix(in srgb, var(--mp-x19), transparent 74%);}#mpScreen[data-route="pages/audit/audit"] .beta-audit-btn-adjust .beta-audit-btn-text{ color: var(--mp-x178);}

/* ========== 「x次提交」小标签：同一个帖子被反复提交过，点开展开提交日志 ========== */#mpScreen[data-route="pages/audit/audit"] .audit-tag-resubmit{
  display: flex;
  align-items: center;
  cursor: pointer;
  background: color-mix(in srgb, var(--mp-x318), transparent 90%);
  border-style: dashed;
  border-color: color-mix(in srgb, var(--mp-x319), transparent 60%);
  transition: background 0.18s ease, transform 0.18s cubic-bezier(0.34, 1.5, 0.64, 1);}#mpScreen[data-route="pages/audit/audit"] .audit-tag-resubmit:active{
  background: color-mix(in srgb, var(--mp-x318), transparent 78%);
  transform: scale(0.94);}#mpScreen[data-route="pages/audit/audit"] .audit-tag-resubmit-text{
  font-size: 10.5px;
  font-weight: 800;
  color: var(--mp-x320);
  line-height: 1.35;
  white-space: nowrap;}

/* ========== 提交日志弹窗 ========== */#mpScreen[data-route="pages/audit/audit"] .submit-log-modal{ max-width: 380px;}#mpScreen[data-route="pages/audit/audit"] .submit-log-body{
  display: flex;
  flex-direction: column;
  gap: 11px;
  overflow: hidden;}#mpScreen[data-route="pages/audit/audit"] .submit-log-head{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 9px 12px;
  border-radius: 14px;
  background: linear-gradient(135deg, var(--mp-n100) 0%, var(--mp-x321) 100%);
  border: 1px solid color-mix(in srgb, var(--mp-x319), transparent 80%);
  flex-shrink: 0;}#mpScreen[data-route="pages/audit/audit"] .submit-log-id{
  font-size: 11.5px;
  font-weight: 700;
  color: var(--mp-x322);
  letter-spacing: 0.3px;}#mpScreen[data-route="pages/audit/audit"] .submit-log-count{
  font-size: 10.5px;
  font-weight: 800;
  color: var(--mp-x320);
  padding: 2px 9px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--mp-n100), transparent 25%);
  border: 1px solid color-mix(in srgb, var(--mp-x319), transparent 74%);
  white-space: nowrap;}#mpScreen[data-route="pages/audit/audit"] .submit-log-list{
  max-height: 300px;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  display: flex;
  flex-direction: column;
  gap: 8px;}#mpScreen[data-route="pages/audit/audit"] .submit-log-row{
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 10px;
  border-radius: 13px;
  background: var(--mp-n100);
  border: 1px solid color-mix(in srgb, var(--mp-n00), transparent 95%);
  flex-shrink: 0;}#mpScreen[data-route="pages/audit/audit"] .submit-log-seq{
  width: 22px;
  height: 22px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, var(--mp-b1), var(--mp-b2));
  flex-shrink: 0;}#mpScreen[data-route="pages/audit/audit"] .submit-log-seq-text{
  font-size: 11px;
  font-weight: 800;
  color: var(--mp-inkOn);
  line-height: 1;}#mpScreen[data-route="pages/audit/audit"] .submit-log-time-col{
  display: flex;
  align-items: baseline;
  gap: 7px;}#mpScreen[data-route="pages/audit/audit"] .submit-log-time{
  font-size: 12.5px;
  font-weight: 700;
  color: var(--mp-w20);}#mpScreen[data-route="pages/audit/audit"] .submit-log-ago{
  font-size: 11px;
  font-weight: 600;
  color: var(--mp-w42);}#mpScreen[data-route="pages/audit/audit"] .submit-log-close-btn{ flex: 1;}

/* ========== 内测时效弹窗 ========== */#mpScreen[data-route="pages/audit/audit"] .beta-valid-modal{ max-width: 400px;}#mpScreen[data-route="pages/audit/audit"] .beta-valid-body{
  display: flex;
  flex-direction: column;
  gap: 13px;
  padding: 4px 18px 6px;}#mpScreen[data-route="pages/audit/audit"] .beta-valid-who{
  display: flex;
  flex-direction: column;
  gap: 5px;
  padding: 10px 12px;
  border-radius: 14px;
  background: linear-gradient(135deg, var(--mp-n100) 0%, var(--mp-x323) 100%);
  border: 1px solid color-mix(in srgb, var(--mp-x19), transparent 80%);}#mpScreen[data-route="pages/audit/audit"] .beta-valid-who-label{
  font-size: 10.5px;
  font-weight: 700;
  color: var(--mp-x324);
  letter-spacing: 0.04em;}#mpScreen[data-route="pages/audit/audit"] .beta-valid-who-id{
  font-size: 14px;
  font-weight: 800;
  color: var(--mp-x325);
  letter-spacing: 0.06em;
  word-break: break-all;}#mpScreen[data-route="pages/audit/audit"] .beta-valid-field{
  display: flex;
  flex-direction: column;
  gap: 6px;}#mpScreen[data-route="pages/audit/audit"] .beta-valid-field-label{
  font-size: 11.5px;
  font-weight: 700;
  color: var(--mp-cDeep);
  letter-spacing: 0.03em;}#mpScreen[data-route="pages/audit/audit"] .beta-valid-picker{ height: 44px; font-size: 15px;}#mpScreen[data-route="pages/audit/audit"] .beta-valid-hint{
  padding: 10px 12px;
  border-radius: 13px;
  background: linear-gradient(135deg, var(--mp-w96) 0%, var(--mp-w92) 100%);
  border: 1px solid var(--mp-w84);}#mpScreen[data-route="pages/audit/audit"] .beta-valid-hint-text{
  font-size: 10.5px;
  font-weight: 600;
  color: var(--mp-cDeep);
  line-height: 1.55;}

/* =================================================================== */
/* 🛠️ 运维倒计时                                                        */
/* =================================================================== */#mpScreen[data-route="pages/audit/audit"] .audit-ops-strip{
  margin-top: 13px;
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: 7px;
  height: 34px;
  padding: 0 12px;
  border-radius: 17px;
  background: color-mix(in srgb, var(--mp-n100), transparent 86%);
  border: 1px solid color-mix(in srgb, var(--mp-line4), transparent 78%);
  transition: background 320ms cubic-bezier(0.22, 0.8, 0.3, 1), border-color 320ms cubic-bezier(0.22, 0.8, 0.3, 1), transform 160ms cubic-bezier(0.22, 0.8, 0.3, 1);}#mpScreen[data-route="pages/audit/audit"] .audit-ops-strip:active{
  transform: scale(0.982);}#mpScreen[data-route="pages/audit/audit"] .audit-ops-strip-emoji{
  font-size: 14px;
  line-height: 1;
  flex-shrink: 0;}#mpScreen[data-route="pages/audit/audit"] .audit-ops-strip-text{
  flex: 1;
  min-width: 0;
  font-size: 12px;
  font-weight: 700;
  color: var(--mp-inkOn);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;}#mpScreen[data-route="pages/audit/audit"] .audit-ops-strip-more{
  flex-shrink: 0;
  font-size: 11px;
  font-weight: 600;
  color: color-mix(in srgb, var(--mp-inkOn), transparent 28%);}

/* 只剩最近一项紧时才开始往暖里加档，平时这条就是深底上一块更淡的玻璃。
   due 这档原先写 #FF984A，色相 25.9° 落在品牌窗口 14–35 里，被折成 bHi —— 一到立春/立夏，
   这条深底玻璃就从橙色变成绿色，紧急程度反而看不出来了。改成 #FF6A4A（色相 10.6°，窗口外）
   就是语义色：白天原样、夜里管线自己压到 #EF4825，八套都是红的。描边同理取 #FF8C6E。 */#mpScreen[data-route="pages/audit/audit"] .audit-ops-strip-soon{ background: color-mix(in srgb, var(--mp-x326), transparent 76%); border-color: color-mix(in srgb, var(--mp-cMid), transparent 48%);}#mpScreen[data-route="pages/audit/audit"] .audit-ops-strip-due{ background: color-mix(in srgb, var(--mp-x327), transparent 66%); border-color: color-mix(in srgb, var(--mp-x328), transparent 30%);}#mpScreen[data-route="pages/audit/audit"] .audit-ops-strip-over{ background: color-mix(in srgb, var(--mp-x329), transparent 64%); border-color: color-mix(in srgb, var(--mp-x330), transparent 24%); animation: opsStripNudge 2.1s ease-in-out infinite;}

@keyframes opsStripNudge {
  0%, 74%, 100% { transform: translateX(0); }
  80% { transform: translateX(-2.5px); }
  86% { transform: translateX(2.5px); }
  92% { transform: translateX(-1.2px); }
}

/* ---------------- 幕后概览：只给超级管理员的那张卡 ---------------- */#mpScreen[data-route="pages/audit/audit"] .audit-ov-refresh{
  margin-left: auto;
  padding: 5px 11px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--mp-x302), transparent 86%);
  transition: transform 220ms cubic-bezier(0.2, 0.9, 0.25, 1.3);}#mpScreen[data-route="pages/audit/audit"] .audit-ov-refresh:active{ transform: scale(0.9);}

/* 时间范围：三档胶囊 + ◀ 月历 ▶。选中那颗用焦糖实心，没选的只有淡底 */#mpScreen[data-route="pages/audit/audit"] .audit-ov-modes{
  display: flex;
  gap: 6px;
  margin-bottom: 8px;}#mpScreen[data-route="pages/audit/audit"] .audit-ov-mode{
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 7px 0;
  border-radius: 999px;
  border: 1px solid color-mix(in srgb, var(--mp-x301), transparent 78%);
  background: color-mix(in srgb, var(--mp-x302), transparent 91%);
  transition: transform 240ms cubic-bezier(0.2, 0.9, 0.25, 1.35), background 240ms ease, border-color 240ms ease;}#mpScreen[data-route="pages/audit/audit"] .audit-ov-mode:active{ transform: scale(0.93);}#mpScreen[data-route="pages/audit/audit"] .audit-ov-mode-on{
  border-color: color-mix(in srgb, var(--mp-x331), transparent 50%);
  background: linear-gradient(135deg, var(--mp-x302), var(--mp-x332));
  box-shadow: 0 3px 9px color-mix(in srgb, var(--mp-x332), transparent 72%);}#mpScreen[data-route="pages/audit/audit"] .audit-ov-mode-text{
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: -0.01em;
  color: var(--mp-w42);}#mpScreen[data-route="pages/audit/audit"] .audit-ov-mode-on .audit-ov-mode-text{
  /* 实心焦糖上只能压 --mp-inkOn：写 #FFFFFF 会被折成 --mp-n100，夜里就变成深字压深底 */
  color: var(--mp-inkOn);
  text-shadow: 0 1px 2px color-mix(in srgb, var(--mp-cDeep), transparent 65%);}#mpScreen[data-route="pages/audit/audit"] .audit-ov-stepper{
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 10px;}#mpScreen[data-route="pages/audit/audit"] .audit-ov-step{
  flex: none;
  width: 30px;
  height: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: color-mix(in srgb, var(--mp-x302), transparent 86%);
  transition: transform 220ms cubic-bezier(0.2, 0.9, 0.25, 1.3), opacity 220ms ease;}#mpScreen[data-route="pages/audit/audit"] .audit-ov-step:active{ transform: scale(0.86);}#mpScreen[data-route="pages/audit/audit"] .audit-ov-step-done{ opacity: 0.32;}#mpScreen[data-route="pages/audit/audit"] .audit-ov-step-text{ font-size: 11px; line-height: 1; color: var(--mp-x331);}#mpScreen[data-route="pages/audit/audit"] .audit-ov-picker{ flex: 1 1 auto; min-width: 0;}#mpScreen[data-route="pages/audit/audit"] .audit-ov-range{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  height: 32px;
  padding: 0 12px;
  border-radius: 999px;
  border: 1.5px dashed color-mix(in srgb, var(--mp-x301), transparent 58%);
  background: linear-gradient(135deg, var(--mp-n100), var(--mp-w92));
  box-sizing: border-box;
  transition: transform 220ms cubic-bezier(0.2, 0.9, 0.25, 1.3);}#mpScreen[data-route="pages/audit/audit"] .audit-ov-range:active{ transform: scale(0.97);}#mpScreen[data-route="pages/audit/audit"] .audit-ov-range-ico{ font-size: 13px; line-height: 1; flex: none;}#mpScreen[data-route="pages/audit/audit"] .audit-ov-range-text{
  font-size: 13px;
  font-weight: 800;
  letter-spacing: -0.01em;
  color: var(--mp-ink2);
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;}#mpScreen[data-route="pages/audit/audit"] .audit-ov-empty{
  margin-top: 10px;
  text-align: center;}#mpScreen[data-route="pages/audit/audit"] .audit-ov-empty-text{
  font-size: 11px;
  line-height: 1.6;
  color: var(--mp-w42);}#mpScreen[data-route="pages/audit/audit"] .audit-ov-refresh-text{
  font-size: 10.5px;
  font-weight: 700;
  color: var(--mp-x331);
  white-space: nowrap;}#mpScreen[data-route="pages/audit/audit"] .audit-ov-lead{
  display: block;
  margin-top: 0;
  margin-bottom: 11px;
  font-size: 11.5px;
  line-height: 1.6;
  color: var(--mp-w42);}#mpScreen[data-route="pages/audit/audit"] .audit-ov-error{
  display: block;
  margin-bottom: 10px;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.6;
  color: var(--mp-x333);}#mpScreen[data-route="pages/audit/audit"] .audit-ov-grid{
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 9px;}#mpScreen[data-route="pages/audit/audit"] .audit-ov-cell{
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 11px 8px 10px;
  border-radius: 16px;
  background: linear-gradient(135deg, color-mix(in srgb, var(--mp-w92), transparent 8%), color-mix(in srgb, var(--mp-w96), transparent 8%));
  animation: ovCellIn 420ms cubic-bezier(0.2, 0.9, 0.25, 1.28) both;}#mpScreen[data-route="pages/audit/audit"] .audit-ov-cell:nth-child(2){ animation-delay: 60ms;}#mpScreen[data-route="pages/audit/audit"] .audit-ov-cell:nth-child(3){ animation-delay: 120ms;}#mpScreen[data-route="pages/audit/audit"] .audit-ov-cell:nth-child(4){ animation-delay: 180ms;}

@keyframes ovCellIn {
  from { opacity: 0; transform: translateY(9px) scale(0.94); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}#mpScreen[data-route="pages/audit/audit"] .audit-ov-cell-emoji{ font-size: 14px; line-height: 1.2;}#mpScreen[data-route="pages/audit/audit"] .audit-ov-num{
  margin-top: 1px;
  font-size: 23px;
  font-weight: 800;
  line-height: 1.15;
  letter-spacing: -0.02em;
  color: var(--mp-ink2);}#mpScreen[data-route="pages/audit/audit"] .audit-ov-cap{
  margin-top: 2px;
  font-size: 10.5px;
  line-height: 1.35;
  color: var(--mp-w42);}

/* 每日柱子：高度按窗口里最大的那天折算，全 0 也留 2px 让柱子存在 */#mpScreen[data-route="pages/audit/audit"] .audit-ov-chart{
  display: flex;
  align-items: flex-end;
  gap: 6px;
  height: 78px;
  margin-top: 13px;}#mpScreen[data-route="pages/audit/audit"] .audit-ov-col{
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  gap: 3px;}#mpScreen[data-route="pages/audit/audit"] .audit-ov-col-num{
  font-size: 10px;
  font-weight: 700;
  line-height: 1;
  color: var(--mp-x331);}#mpScreen[data-route="pages/audit/audit"] .audit-ov-col-bar{
  width: 100%;
  max-width: 17px;
  border-radius: 5px;
  background: linear-gradient(180deg, var(--mp-x302), var(--mp-x332));
  transform-origin: bottom center;
  animation: ovBarUp 460ms cubic-bezier(0.22, 0.8, 0.3, 1) both;}#mpScreen[data-route="pages/audit/audit"] .audit-ov-col:nth-child(2) .audit-ov-col-bar{ animation-delay: 55ms;}#mpScreen[data-route="pages/audit/audit"] .audit-ov-col:nth-child(3) .audit-ov-col-bar{ animation-delay: 110ms;}#mpScreen[data-route="pages/audit/audit"] .audit-ov-col:nth-child(4) .audit-ov-col-bar{ animation-delay: 165ms;}#mpScreen[data-route="pages/audit/audit"] .audit-ov-col:nth-child(5) .audit-ov-col-bar{ animation-delay: 220ms;}#mpScreen[data-route="pages/audit/audit"] .audit-ov-col:nth-child(6) .audit-ov-col-bar{ animation-delay: 275ms;}#mpScreen[data-route="pages/audit/audit"] .audit-ov-col:nth-child(7) .audit-ov-col-bar{ animation-delay: 330ms;}

@keyframes ovBarUp {
  from { transform: scaleY(0); }
  to { transform: scaleY(1); }
}#mpScreen[data-route="pages/audit/audit"] .audit-ov-col-day{
  font-size: 9px;
  line-height: 1.2;
  color: var(--mp-w42);}

/* 一天一格铺满整月时柱子很密：缝收到 2px、柱子收窄，全部一起起落（只给前 7 根错峰会像排到一半卡住） */#mpScreen[data-route="pages/audit/audit"] .audit-ov-chart-many{ gap: 2px;}#mpScreen[data-route="pages/audit/audit"] .audit-ov-chart-many .audit-ov-col{ gap: 2px;}#mpScreen[data-route="pages/audit/audit"] .audit-ov-chart-many .audit-ov-col-bar{ max-width: 9px; border-radius: 3px; animation-delay: 0ms;}#mpScreen[data-route="pages/audit/audit"] .audit-ov-chart-many .audit-ov-col-num{ font-size: 8px;}#mpScreen[data-route="pages/audit/audit"] .audit-ov-chart-many .audit-ov-col-day{ font-size: 8px;}#mpScreen[data-route="pages/audit/audit"] .audit-ov-lines{
  margin-top: 12px;}#mpScreen[data-route="pages/audit/audit"] .audit-ov-line{
  display: block;
  font-size: 11.5px;
  font-weight: 600;
  line-height: 1.75;
  color: var(--mp-w42);}#mpScreen[data-route="pages/audit/audit"] .audit-ov-toggle{
  margin-top: 10px;}#mpScreen[data-route="pages/audit/audit"] .audit-ov-toggle-text{
  font-size: 11px;
  font-weight: 700;
  color: var(--mp-w42);}#mpScreen[data-route="pages/audit/audit"] .audit-ov-rows{
  margin-top: 9px;
  padding: 4px 12px;
  border-radius: 14px;
  background: color-mix(in srgb, var(--mp-w92), transparent 30%);}#mpScreen[data-route="pages/audit/audit"] .audit-ov-row{
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 7px 0;
  border-bottom: 1px solid color-mix(in srgb, var(--mp-cDeep), transparent 92%);}#mpScreen[data-route="pages/audit/audit"] .audit-ov-row:last-child{ border-bottom: none;}#mpScreen[data-route="pages/audit/audit"] .audit-ov-row-name{
  flex: 1;
  font-size: 11.5px;
  font-weight: 600;
  color: var(--mp-ink2);}#mpScreen[data-route="pages/audit/audit"] .audit-ov-row-docs{
  font-size: 11.5px;
  font-weight: 700;
  color: var(--mp-w42);}#mpScreen[data-route="pages/audit/audit"] .audit-ov-row-bytes{
  width: 58px;
  text-align: right;
  font-size: 10.5px;
  color: var(--mp-w42);}#mpScreen[data-route="pages/audit/audit"] .audit-ops-lead{
  display: block;
  margin-top: 3px;
  font-size: 11.5px;
  line-height: 1.6;
  color: var(--mp-w42);}#mpScreen[data-route="pages/audit/audit"] .audit-ops-item{
  margin-top: 12px;
  padding: 12px 13px;
  border-radius: 18px;
  background: linear-gradient(135deg, color-mix(in srgb, var(--mp-w92), transparent 8%), color-mix(in srgb, var(--mp-w96), transparent 8%));
  border-left: 3px solid color-mix(in srgb, var(--mp-x199), transparent 10%);
  box-shadow: 0 3px 12px color-mix(in srgb, var(--mp-cDeep), transparent 93%);}

/* 四档左边线：绿→金→红橙→红这条梯子必须四季都不变味，所以三档紧急色全部取在暖色窗口
   （12–40°）之外当语义色用。原先 due 写 #D9642A（色相 19.9°、纯度 0.69）被折进 bDeep，
   立春白天是 #1C5E49 墨绿、夜里是 #6AD3A2 薄荷 —— 「还剩 3 天」画成绿色是反的。
   现在 due=#E0502A（12.4°）、over=#D3402A（7.8°）、soon=#D69424（37.7°，本来就在窗口外）。
   over 再叠一层半透明红晕压在跟季底上（两层 background，不覆盖掉 w92/w96 那张季节底），
   因为夜间提亮会把所有暖色拉到同一档明度，due 和 over 的描边在夜里分不开，靠整块红晕分开。 */#mpScreen[data-route="pages/audit/audit"] .audit-ops-soon{ border-left-color: var(--mp-x301);}#mpScreen[data-route="pages/audit/audit"] .audit-ops-due{ border-left-color: var(--mp-x334);}#mpScreen[data-route="pages/audit/audit"] .audit-ops-over{
  border-left-color: var(--mp-x333);
  background: linear-gradient(135deg, color-mix(in srgb, var(--mp-x329), transparent 80%), color-mix(in srgb, var(--mp-x335), transparent 90%)), linear-gradient(135deg, color-mix(in srgb, var(--mp-w92), transparent 8%), color-mix(in srgb, var(--mp-w96), transparent 8%));}#mpScreen[data-route="pages/audit/audit"] .audit-ops-head{
  display: flex;
  align-items: center;
  gap: 9px;}#mpScreen[data-route="pages/audit/audit"] .audit-ops-emoji{
  font-size: 19px;
  line-height: 1;
  flex-shrink: 0;}#mpScreen[data-route="pages/audit/audit"] .audit-ops-col{
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;}#mpScreen[data-route="pages/audit/audit"] .audit-ops-title{
  font-size: 13.5px;
  font-weight: 800;
  color: var(--mp-ink2);
  line-height: 1.3;}#mpScreen[data-route="pages/audit/audit"] .audit-ops-sub{
  font-size: 11px;
  font-weight: 600;
  color: var(--mp-w42);
  line-height: 1.4;}#mpScreen[data-route="pages/audit/audit"] .audit-ops-over .audit-ops-sub{ color: var(--mp-x333); font-weight: 800;}#mpScreen[data-route="pages/audit/audit"] .audit-ops-done-btn{
  flex-shrink: 0;
  padding: 7px 11px;
  border-radius: 14px;
  background: linear-gradient(135deg, var(--mp-x198), var(--mp-x211));
  box-shadow: 0 4px 12px color-mix(in srgb, var(--mp-x198), transparent 72%);
  transition: transform 150ms cubic-bezier(0.22, 0.8, 0.3, 1), box-shadow 150ms ease;}#mpScreen[data-route="pages/audit/audit"] .audit-ops-done-btn:active{
  transform: scale(0.93);
  box-shadow: 0 2px 7px color-mix(in srgb, var(--mp-x198), transparent 76%);}#mpScreen[data-route="pages/audit/audit"] .audit-ops-done-text{
  font-size: 11.5px;
  font-weight: 800;
  color: var(--mp-inkOn);
  white-space: nowrap;}#mpScreen[data-route="pages/audit/audit"] .audit-ops-bar{
  margin-top: 11px;
  height: 5px;
  border-radius: 3px;
  background: color-mix(in srgb, var(--mp-cDeep), transparent 90%);
  overflow: hidden;}

/* 进度条 = 这一轮已经走掉多少。默认（ok/soon）取语义金棕 #D69424→#A9711A；
   ok 单独给一档灰绿 #6E9188，免得三条都「还早」却全是琥珀色，看着像都在催。
   原来的 #E6B45C 纯度只有 0.54，会被归进 cMid 跟季 —— 立春白天 #F6DC74 淡黄落在
   淡绿卡底上对比只有 1.65，等于没有条。due/over 同理换成窗口外的红橙与红。 */#mpScreen[data-route="pages/audit/audit"] .audit-ops-bar-fill{
  height: 100%;
  border-radius: 3px;
  background: linear-gradient(90deg, var(--mp-x302), var(--mp-x332));
  transition: width 460ms cubic-bezier(0.22, 0.8, 0.3, 1);}#mpScreen[data-route="pages/audit/audit"] .audit-ops-ok .audit-ops-bar-fill{ background: var(--mp-x336);}#mpScreen[data-route="pages/audit/audit"] .audit-ops-due .audit-ops-bar-fill{ background: linear-gradient(90deg, var(--mp-x337), var(--mp-x338));}#mpScreen[data-route="pages/audit/audit"] .audit-ops-over .audit-ops-bar-fill{ background: var(--mp-x335);}#mpScreen[data-route="pages/audit/audit"] .audit-ops-toggle{
  margin-top: 10px;}#mpScreen[data-route="pages/audit/audit"] .audit-ops-toggle-text{
  font-size: 11px;
  font-weight: 700;
  color: var(--mp-w42);}#mpScreen[data-route="pages/audit/audit"] .audit-ops-steps{
  margin-top: 10px;
  padding: 11px 12px;
  border-radius: 15px;
  background: color-mix(in srgb, var(--mp-n100), transparent 38%);
  border: 1px dashed color-mix(in srgb, var(--mp-cDeep), transparent 78%);}#mpScreen[data-route="pages/audit/audit"] .audit-ops-note{
  display: block;
  font-size: 11.5px;
  line-height: 1.6;
  color: var(--mp-w42);}#mpScreen[data-route="pages/audit/audit"] .audit-ops-step{
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin-top: 8px;}

/* 序号小圆片：原来白字压 #8A5E12（折进 cDeep），夜间 cDeep 翻成 #9EDE73 亮绿，
   白字就糊在亮底上。改成让两边一起翻 —— 字走 #2B2B30→ink2（白天墨、夜里近白），
   底走 #E6B45C→cMid（白天浅金、夜里深金），八套都是深压浅或浅压深。 */#mpScreen[data-route="pages/audit/audit"] .audit-ops-step-no{
  flex-shrink: 0;
  width: 17px;
  height: 17px;
  border-radius: 9px;
  font-size: 10px;
  font-weight: 800;
  line-height: 17px;
  text-align: center;
  color: var(--mp-ink2);
  background: var(--mp-cMid);}#mpScreen[data-route="pages/audit/audit"] .audit-ops-step-text{
  flex: 1;
  min-width: 0;
  font-size: 11.5px;
  line-height: 1.6;
  color: var(--mp-w20);}#mpScreen[data-route="pages/audit/audit"] .audit-ops-last{
  display: block;
  margin-top: 10px;
  font-size: 10.5px;
  font-weight: 600;
  color: var(--mp-w42);}


/* ===== pages/privacy/privacy ===== */
#mpScreen[data-route="pages/privacy/privacy"] .privacy-page{
  display: flex;
  flex-direction: column;
  height: calc(100 * var(--mpvh));
  background: linear-gradient(180deg, var(--mp-bgA) 0%, var(--mp-bgB) 100%);}#mpScreen[data-route="pages/privacy/privacy"] .privacy-header{
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px;
  background-color: var(--mp-n100);
  border-bottom: 1px solid var(--mp-w84);}#mpScreen[data-route="pages/privacy/privacy"] .privacy-back-btn{
  display: flex;
  flex-direction: row;
  align-items: center;
  padding: 6px 12px;
  border-radius: 20px;
  background-color: var(--mp-w92);}#mpScreen[data-route="pages/privacy/privacy"] .privacy-back-icon{
  font-size: 18px;
  color: var(--mp-x05);
  margin-right: 4px;}#mpScreen[data-route="pages/privacy/privacy"] .privacy-back-text{
  font-size: 14px;
  color: var(--mp-x05);}#mpScreen[data-route="pages/privacy/privacy"] .privacy-title{
  font-size: 17px;
  font-weight: 600;
  color: var(--mp-ink2);
  flex: 1;
  text-align: center;}#mpScreen[data-route="pages/privacy/privacy"] .privacy-header-spacer{
  width: 60px;}#mpScreen[data-route="pages/privacy/privacy"] .privacy-body{
  flex: 1;
  padding: 16px;
  box-sizing: border-box;}#mpScreen[data-route="pages/privacy/privacy"] .privacy-content-text{
  font-size: 14px;
  color: var(--mp-n38);
  line-height: 1.8;
  display: block;
  white-space: pre-wrap;
  word-break: break-word;}#mpScreen[data-route="pages/privacy/privacy"] .privacy-bottom-space{
  height: 30px;}


/* ===== pages/importArea/importArea ===== */
#mpScreen[data-route="pages/importArea/importArea"] .container{
  padding: calc(30 * var(--mprpx)) calc(24 * var(--mprpx));
  min-height: calc(100 * var(--mpvh));
  background-color: var(--mp-n100);
  display: flex;
  flex-direction: column;
  box-sizing: border-box;}#mpScreen[data-route="pages/importArea/importArea"] .page-title{
  font-size: calc(40 * var(--mprpx));
  font-weight: 600;
  color: var(--mp-ink2);
  text-align: center;
  margin-bottom: calc(32 * var(--mprpx));}#mpScreen[data-route="pages/importArea/importArea"] .card{
  background-color: var(--mp-n100);
  border-radius: calc(16 * var(--mprpx));
  padding: calc(32 * var(--mprpx)) calc(28 * var(--mprpx));
  margin-bottom: calc(24 * var(--mprpx));
  box-shadow: 0 calc(2 * var(--mprpx)) calc(12 * var(--mprpx)) color-mix(in srgb, var(--mp-n00), transparent 96%);}#mpScreen[data-route="pages/importArea/importArea"] .card-title{
  font-size: calc(32 * var(--mprpx));
  font-weight: 600;
  color: var(--mp-ink2);
  margin-bottom: calc(24 * var(--mprpx));}#mpScreen[data-route="pages/importArea/importArea"] .info-card .card-content{
  display: flex;
  flex-direction: column;
  gap: calc(12 * var(--mprpx));}#mpScreen[data-route="pages/importArea/importArea"] .info-text{
  font-size: calc(26 * var(--mprpx));
  color: var(--mp-x339);
  line-height: 1.6;}#mpScreen[data-route="pages/importArea/importArea"] .progress-info{
  display: flex;
  justify-content: space-between;
  font-size: calc(26 * var(--mprpx));
  color: var(--mp-x339);
  margin-bottom: calc(16 * var(--mprpx));}#mpScreen[data-route="pages/importArea/importArea"] .progress-bar-container{
  width: 100%;
  height: calc(16 * var(--mprpx));
  background-color: var(--mp-n91);
  border-radius: calc(8 * var(--mprpx));
  overflow: hidden;
  margin-bottom: calc(20 * var(--mprpx));}#mpScreen[data-route="pages/importArea/importArea"] .progress-bar-fill{
  height: 100%;
  background: linear-gradient(90deg, var(--mp-x267) 0%, var(--mp-x340) 100%);
  border-radius: calc(8 * var(--mprpx));
  transition: width 0.3s ease;}#mpScreen[data-route="pages/importArea/importArea"] .stats-info{
  display: flex;
  justify-content: space-between;
  font-size: calc(26 * var(--mprpx));
  color: var(--mp-x339);}#mpScreen[data-route="pages/importArea/importArea"] .success-text{
  color: var(--mp-x341);}#mpScreen[data-route="pages/importArea/importArea"] .fail-text{
  color: var(--mp-x342);}#mpScreen[data-route="pages/importArea/importArea"] .start-btn{
  width: 100%;
  height: calc(92 * var(--mprpx));
  line-height: calc(92 * var(--mprpx));
  background-color: var(--mp-x267);
  color: var(--mp-inkOn);
  font-size: calc(32 * var(--mprpx));
  font-weight: 500;
  border-radius: calc(46 * var(--mprpx));
  text-align: center;
  margin-top: calc(16 * var(--mprpx));
  margin-bottom: calc(24 * var(--mprpx));
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;}#mpScreen[data-route="pages/importArea/importArea"] .start-btn::after{
  border: none;}#mpScreen[data-route="pages/importArea/importArea"] .start-btn[disabled]{
  background-color: var(--mp-x343);
  color: color-mix(in srgb, var(--mp-inkOn), transparent 10%);}#mpScreen[data-route="pages/importArea/importArea"] .log-scroll{
  width: 100%;
  height: calc(500 * var(--mprpx));
  background-color: var(--mp-n18);
  border-radius: calc(8 * var(--mprpx));
  padding: calc(20 * var(--mprpx));
  box-sizing: border-box;}#mpScreen[data-route="pages/importArea/importArea"] .log-item{
  margin-bottom: calc(12 * var(--mprpx));
  display: flex;
  flex-wrap: wrap;}#mpScreen[data-route="pages/importArea/importArea"] .log-time{
  font-size: calc(24 * var(--mprpx));
  color: var(--mp-x344);
  margin-right: calc(8 * var(--mprpx));
  flex-shrink: 0;}#mpScreen[data-route="pages/importArea/importArea"] .log-message{
  font-size: calc(24 * var(--mprpx));
  color: var(--mp-n91);
  line-height: 1.5;}#mpScreen[data-route="pages/importArea/importArea"] .log-success{
  color: var(--mp-x341);}#mpScreen[data-route="pages/importArea/importArea"] .log-error{
  color: var(--mp-x342);}#mpScreen[data-route="pages/importArea/importArea"] .log-warn{
  color: var(--mp-bDeep);}#mpScreen[data-route="pages/importArea/importArea"] .log-info{
  color: var(--mp-x345);}


/* ===== app.ttss（全局统一层） ===== */
/* ============================================================
   爪聘 · 全局统一层（app.ttss）
   这里放"跨页面共用"的设计令牌：卡片标签配色、滚动条外观。
   小程序与 H5 共用同一份，H5 构建时会把它拼在页面样式之后。
   ============================================================ */

/* ------------------------------------------------------------
   🎨 卡片标签统一配色
   规则：标签颜色只由"内容"决定，不再跟着卡片主题色
   （我的收藏=粉 / 我的发布=黄 / 坐等被领养=蓝）跑偏。
     · 品种类型：猫咪=黄、狗狗=蓝、其他=棕
     · 性别：公=蓝、母=粉
     · 绝育：已绝育=绿、未绝育=紫、未知=灰
   ------------------------------------------------------------ */

/* 通用底色重置：三种卡片家族（fun / my-favorite-fun / waiting-fun） */
.fun-type-tag,
.fun-gender-tag-gong,
.fun-gender-tag-mu,
.fun-status-tag,
.my-favorite-fun-type-tag,
.my-favorite-fun-gender-tag-gong,
.my-favorite-fun-gender-tag-mu,
.my-favorite-fun-status-tag,
.waiting-fun-type-tag,
.waiting-fun-gender-tag-gong,
.waiting-fun-gender-tag-mu,
.waiting-fun-status-tag {
  border-radius: 12px !important;
  border-width: 1px !important;
  border-style: solid !important;
  box-shadow: 0 2px 6px color-mix(in srgb, var(--mp-n08), transparent 93%) !important;}

.fun-tag-text,
.my-favorite-fun-tag-text,
.waiting-fun-tag-text {
  font-weight: 700 !important;
  letter-spacing: 0.2px !important;}

/* ---- 品种类型 ----
   三枚徽章是同一套材质，只差色相。2026-11-04 用户圈出「猫咪/其他和狗狗的质感不一样」，
   量下来差在三个地方，这里一次对齐（以狗狗那枚为基准，它一个字没改）：
     · 渐变跨度：白天起→止各降 8~10 度，夜里三枚都只剩 0.5 度、等于一片平色。
       改之前猫咪夜里要亮 32 度、其他亮 47 度，所以同排三枚里只有一枚是哑光，另外两枚像镀了一层。
     · 描边：alpha 三枚都是 0.34，但浓度要看描边色压在芯片上差多少明度。现在白天是
       10.2 / 10.4 / 8.0，夜里三枚同为 +14.9。改之前猫咪 16.3（那支 #CA910C 太深）。
     · 字色：白天对各自芯片 5.2~5.6，夜里一律压到 L66。
   圆角/描边宽度/投影/字重本来就是上面那段公用重置发的，三枚一直一样，不是这次的问题。
   「其他」那支暖棕以前会被折色当成「纸张暖灰」收进季节档，换季会变色、夜里明度阶梯也不同，
   现在和另外两支一样钉成语义色（见 h5/theme/tokens.mjs 的 TAG_PIN_CLASS）。 */
/* 🐱 猫咪 = 黄色 */
.fun-type-tag.lei-mao,
.my-favorite-fun-type-tag.lei-mao,
.waiting-fun-type-tag.lei-mao {
  background: linear-gradient(135deg, var(--mp-x47) 0%, var(--mp-x48) 100%) !important;
  border-color: color-mix(in srgb, var(--mp-x346), transparent 66%) !important;}
.fun-type-tag.lei-mao .fun-tag-text,
.my-favorite-fun-type-tag.lei-mao .my-favorite-fun-tag-text,
.waiting-fun-type-tag.lei-mao .waiting-fun-tag-text {
  color: var(--mp-x347) !important;}

/* 🐶 狗狗 = 蓝色（基准，未改动） */
.fun-type-tag.lei-gou,
.my-favorite-fun-type-tag.lei-gou,
.waiting-fun-type-tag.lei-gou {
  background: linear-gradient(135deg, var(--mp-x348) 0%, var(--mp-x38) 100%) !important;
  border-color: color-mix(in srgb, var(--mp-x08), transparent 66%) !important;}
.fun-type-tag.lei-gou .fun-tag-text,
.my-favorite-fun-type-tag.lei-gou .my-favorite-fun-tag-text,
.waiting-fun-type-tag.lei-gou .waiting-fun-tag-text {
  color: var(--mp-x349) !important;}

/* 🐾 其他 = 棕色 */
.fun-type-tag.lei-qita,
.my-favorite-fun-type-tag.lei-qita,
.waiting-fun-type-tag.lei-qita {
  background: linear-gradient(135deg, var(--mp-x350) 0%, var(--mp-x351) 100%) !important;
  border-color: color-mix(in srgb, var(--mp-x352), transparent 66%) !important;}
.fun-type-tag.lei-qita .fun-tag-text,
.my-favorite-fun-type-tag.lei-qita .my-favorite-fun-tag-text,
.waiting-fun-type-tag.lei-qita .waiting-fun-tag-text {
  color: var(--mp-x353) !important;}

/* ---- 性别 ---- */
/* ♂ 公 = 蓝色 */
.fun-gender-tag-gong,
.my-favorite-fun-gender-tag-gong,
.waiting-fun-gender-tag-gong {
  background: linear-gradient(135deg, var(--mp-x348) 0%, var(--mp-x354) 100%) !important;
  border-color: color-mix(in srgb, var(--mp-x39), transparent 66%) !important;}
.fun-gender-tag-gong .fun-tag-text,
.my-favorite-fun-gender-tag-gong .my-favorite-fun-tag-text,
.waiting-fun-gender-tag-gong .waiting-fun-tag-text {
  color: var(--mp-x27) !important;}

/* ♀ 母 = 粉色 */
.fun-gender-tag-mu,
.my-favorite-fun-gender-tag-mu,
.waiting-fun-gender-tag-mu {
  background: linear-gradient(135deg, var(--mp-x355) 0%, var(--mp-x15) 100%) !important;
  border-color: color-mix(in srgb, var(--mp-x16), transparent 70%) !important;}
.fun-gender-tag-mu .fun-tag-text,
.my-favorite-fun-gender-tag-mu .my-favorite-fun-tag-text,
.waiting-fun-gender-tag-mu .waiting-fun-tag-text {
  color: var(--mp-x17) !important;}

/* ---- 绝育情况 ---- */
/* ✅ 已绝育 = 绿色（无修饰类时即为已绝育） */
.fun-status-tag,
.my-favorite-fun-status-tag,
.waiting-fun-status-tag {
  background: linear-gradient(135deg, var(--mp-x284) 0%, var(--mp-x65) 100%) !important;
  border-color: color-mix(in srgb, var(--mp-x57), transparent 66%) !important;}
.fun-status-tag .fun-tag-text,
.my-favorite-fun-status-tag .my-favorite-fun-tag-text,
.waiting-fun-status-tag .waiting-fun-tag-text {
  color: var(--mp-x42) !important;}

/* ⚠️ 未绝育 = 紫色 */
.fun-status-tag.zhuangtai-wei-jueyu,
.my-favorite-fun-status-tag.zhuangtai-wei-jueyu,
.waiting-fun-status-tag.zhuangtai-wei-jueyu {
  background: linear-gradient(135deg, var(--mp-x356) 0%, var(--mp-x357) 100%) !important;
  border-color: color-mix(in srgb, var(--mp-x358), transparent 70%) !important;}
.fun-status-tag.zhuangtai-wei-jueyu .fun-tag-text,
.my-favorite-fun-status-tag.zhuangtai-wei-jueyu .my-favorite-fun-tag-text,
.waiting-fun-status-tag.zhuangtai-wei-jueyu .waiting-fun-tag-text {
  color: var(--mp-x286) !important;}

/* 🤷 未知 = 中性灰 */
.fun-status-tag.zhuangtai-weizhi,
.my-favorite-fun-status-tag.zhuangtai-weizhi,
.waiting-fun-status-tag.zhuangtai-weizhi {
  background: linear-gradient(135deg, var(--mp-n96) 0%, var(--mp-n91) 100%) !important;
  border-color: color-mix(in srgb, var(--mp-n60), transparent 70%) !important;}
.fun-status-tag.zhuangtai-weizhi .fun-tag-text,
.my-favorite-fun-status-tag.zhuangtai-weizhi .my-favorite-fun-tag-text,
.waiting-fun-status-tag.zhuangtai-weizhi .waiting-fun-tag-text {
  color: var(--mp-n38) !important;}

/* ------------------------------------------------------------
   🐾 全局滑动带：彻底隐藏所有滚动条，只保留滚动能力
   ------------------------------------------------------------ */
* {
  scrollbar-width: none !important;
  -ms-overflow-style: none !important;}

*::-webkit-scrollbar,
*::-webkit-scrollbar-track,
*::-webkit-scrollbar-thumb,
*::-webkit-scrollbar-corner {
  width: 0 !important;
  height: 0 !important;
  display: none !important;
  background: transparent !important;}
