/* ============================================================
   special.css — 收付款码、语音输入、设置页补充样式
   ============================================================ */

/* 设置页输入行 */
.set-row { display: flex; align-items: center; gap: 12px; padding: 13px 16px; background: var(--wx-card); }
.set-row + .set-row::before { content: ""; display: block; height: 1px; background: var(--wx-line); position: relative; top: -13px; margin: 0 -16px; }
.set-row .sr-label { width: 92px; font-size: 15px; flex-shrink: 0; }
.set-row .sr-value { flex: 1; text-align: right; font-size: 14px; color: var(--wx-sub); overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.set-row .sr-input { flex: 1; text-align: right; font-size: 14px; }
.set-row .sr-input::placeholder { color: var(--wx-placeholder); }
.set-row .sr-arrow { color: var(--wx-light); }
.set-row select.sr-select { flex: 1; text-align: right; font-size: 14px; background: transparent; color: var(--wx-text); }

/* 开关 */
.wx-switch { width: 50px; height: 30px; border-radius: 15px; background: var(--wx-line-deep); position: relative; cursor: pointer; transition: background 0.2s; flex-shrink: 0; }
.wx-switch::after {
  content: "";
  position: absolute;
  top: 2px;
  left: 2px;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: #fff;
  transition: left 0.2s;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
}
.wx-switch.on { background: var(--wx-green); }
.wx-switch.on::after { left: 22px; }

/* 滑块 */
.wx-range { flex: 1; accent-color: var(--wx-green); height: 22px; }

/* 设置分组 */
.set-group { background: var(--wx-card); margin-bottom: 10px; }
.set-group-title { padding: 14px 16px 4px; font-size: 13px; color: var(--wx-sub); }

/* AI 设置卡片 */
.ai-provider-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; padding: 12px 16px; background: var(--wx-card); }
.ai-provider-grid .ap-item {
  border: 1.5px solid var(--wx-line);
  border-radius: 10px;
  padding: 12px 10px;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
}
.ai-provider-grid .ap-item.active { border-color: var(--wx-green); background: rgba(7, 193, 96, 0.06); }
.ai-provider-grid .ap-item .ap-dot { width: 10px; height: 10px; border-radius: 50%; border: 2px solid var(--wx-line-deep); flex-shrink: 0; }
.ai-provider-grid .ap-item.active .ap-dot { background: var(--wx-green); border-color: var(--wx-green); }

/* 工具开关列表 */
.tool-toggle { display: flex; align-items: center; gap: 10px; padding: 12px 16px; background: var(--wx-card); }
.tool-toggle + .tool-toggle { border-top: 1px solid var(--wx-line); }
.tool-toggle .tt-ico {
  width: 34px;
  height: 34px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  flex-shrink: 0;
}
.tool-toggle .tt-ico svg { width: 18px; height: 18px; }
.tool-toggle .tt-main { flex: 1; }
.tool-toggle .tt-name { font-size: 15px; }
.tool-toggle .tt-desc { font-size: 11px; color: var(--wx-sub); margin-top: 2px; }

/* 背景选择 */
.wallpaper-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; padding: 14px 16px; background: var(--wx-card); }
.wallpaper-grid .wp-item { cursor: pointer; border-radius: 8px; overflow: hidden; border: 2px solid transparent; height: 56px; }
.wallpaper-grid .wp-item.active { border-color: var(--wx-green); }
.wallpaper-grid .wp-item .wpi-bg { width: 100%; height: 100%; }
.wallpaper-grid .wp-item .wpi-bg.wp-default { background: var(--wx-bg) repeating-linear-gradient(45deg, transparent 0 8px, rgba(0,0,0,0.02) 8px 16px); }
.wallpaper-grid .wp-item .wpi-bg.wp-green { background: linear-gradient(160deg, #D5F5E2, #B9EED3); }
.wallpaper-grid .wp-item .wpi-bg.wp-blue { background: linear-gradient(160deg, #DCEBFA, #C4DFF7); }
.wallpaper-grid .wp-item .wpi-bg.wp-night { background: linear-gradient(160deg, #2B3A55, #1C2434); }
.wallpaper-grid .wp-item .wpi-bg.wp-sakura { background: linear-gradient(160deg, #FDE9EC, #FADCE3); }

/* 语音录音态 */
.recording-bar { display: flex; align-items: center; justify-content: center; gap: 8px; padding: 8px; color: var(--wx-red); font-size: 13px; }
.recording-bar .rec-dot { width: 9px; height: 9px; border-radius: 50%; background: var(--wx-red); animation: blink 0.8s infinite; }

/* 关于页 */
.about-logo { width: 88px; height: 88px; border-radius: 20px; background: var(--wx-green); display: flex; align-items: center; justify-content: center; margin: 40px auto 16px; color: #fff; }
.about-logo svg { width: 52px; height: 52px; }
.about-name { text-align: center; font-size: 19px; font-weight: 600; }
.about-ver { text-align: center; font-size: 13px; color: var(--wx-sub); margin-top: 4px; }
.about-desc { text-align: center; font-size: 13px; color: var(--wx-sub); margin: 14px 30px; line-height: 1.7; }

/* 页面通用渐变图标底色 */
.ico-green { background: #07C160; }
.ico-blue { background: #4A90D9; }
.ico-orange { background: #FA9D3B; }
.ico-red { background: #FA5151; }
.ico-purple { background: #8B6CE0; }
.ico-cyan { background: #2BC6C6; }
.ico-pink { background: #F46B9C; }
.ico-dark { background: #3B3B4A; }
.ico-yellow { background: #F2B33D; }

/* 删除确认按钮 */
.delete-zone { padding: 14px 16px; }
.delete-zone .wx-btn.danger { background: var(--wx-red); }
