:root {
  --primary: #ff96b8;
  --light-pink: #ffe6ef;
  --text-dark: #222;
  --card-bg: #ffffff;
  --border-radius: 16px;
  --touch-min: 44px;
}
body {
  background-color: #fef7fa;
  color: var(--text-dark);
  transition: background 0.3s, color 0.3s;
  /* 移动端基础阅读优化 */
  font-size: 1rem;
  line-height: 1.6;
}
/* 手机全局放大基础字号 */
@media (max-width: 576px) {
  body {
    font-size: 1.05rem;
  }
  .container {
    padding-left: 0.75rem;
    padding-right: 0.75rem;
  }
  h2 {
    font-size: 1.5rem;
  }
  h3 {
    font-size: 1.25rem;
  }
}
body.dark {
  background-color: #191016;
  color: #eee;
  --card-bg: #2b1e27;
}
.navbar {
  background-color: var(--light-pink);
}
.dark .navbar {
  background-color: #2b1e27;
}
/* 导航汉堡按钮放大触控区域 */
.navbar-toggler {
  min-height: var(--touch-min);
  min-width: var(--touch-min);
}
.btn-primary-custom {
  background-color: var(--primary);
  color: white;
  border: none;
  min-height: var(--touch-min);
}
.btn-primary-custom:hover {
  background-color: #ff7ca5;
  color: white;
}
/* 所有按钮统一触控最小高度 */
.btn {
  min-height: var(--touch-min);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.card {
  background: var(--card-bg);
  border-radius: var(--border-radius);
  border: 0;
  box-shadow: 0 2px 14px rgba(255, 150, 184, 0.18);
  /* 手机加大内边距 */
}
@media (max-width:576px) {
  .card {
    padding: 1.25rem !important;
  }
}
.carousel-item {
  border-radius: 20px;
  overflow: hidden;
}
/* 手机轮播减少垂直高度，避免遮挡页面 */
@media (max-width:576px) {
  .carousel-item .p-5 {
    padding: 2rem 1rem !important;
  }
  .carousel-item h2 {
    font-size: 1.3rem;
  }
  .carousel-item p {
    font-size: 0.95rem;
  }
}
.code-block {
  background: var(--card-bg);
  border-radius: 8px;
  /* 手机兑换码单独占一行 */
  width: 100%;
  display: flex;
  justify-content: space-between;
}
.dark .table {
  color: #eee;
}
.table th {
  background-color: var(--light-pink);
}
.dark .table th {
  background-color: #3a2a33;
}
/* 表格滚动容器，手机横向滑动 */
.table-responsive {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
/* 输入框手机加高，方便打字 */
.form-control {
  min-height: var(--touch-min);
}
.form-select {
  min-height: var(--touch-min);
}
/* 快捷卡片图标手机缩小适配 */
@media (max-width:576px) {
  .bi.fs-1 {
    font-size: 3rem !important;
  }
}
/* 结果提示框手机加宽内边距 */
#calcResult, #autoCalcResult {
  padding: 1rem !important;
}
/* 语言下拉菜单样式 */
.lang-select {
  min-height: var(--touch-min);
  cursor: pointer;
  max-width: 140px;
}
/* 紫色文字（地图图标） */
.text-violet { color: #8b5cf6; }
.dark .text-violet { color: #a78bfa; }