/* app.wxss - 全局样式 */
.mp-page {
  background-color: #f5f6fa;
  font-family: -apple-system, BlinkMacSystemFont, 'PingFang SC', 'Helvetica Neue', sans-serif;
  font-size: 3.7333vw;
  color: #1a1b1c;
  line-height: 1.6;
}

/* 容器 */
.container {
  padding: 3.2vw;
  padding-bottom: 18.6667vw;
  min-height: 100vh;
  box-sizing: border-box;
}

/* 卡片 */
.card {
  background: #fff;
  border-radius: 3.2vw;
  padding: 4.2667vw;
  margin-bottom: 3.2vw;
  box-shadow: 0 0.2667vw 1.6vw rgba(0, 0, 0, 0.04);
}

/* 主按钮 */
.btn-primary {
  background: linear-gradient(135deg, #5b8def, #3d6bc4);
  color: #fff;
  border-radius: 6.4vw;
  padding: 3.2vw 6.4vw;
  font-size: 4vw;
  font-weight: 500;
  text-align: center;
  border: none;
}

.btn-primary::after {
  border: none;
}

.btn-secondary {
  background: #f0f2f7;
  color: #4a5568;
  border-radius: 6.4vw;
  padding: 3.2vw 6.4vw;
  font-size: 4vw;
  text-align: center;
  border: none;
}

.btn-secondary::after {
  border: none;
}

/* 标题 */
.page-title {
  font-size: 5.3333vw;
  font-weight: 700;
  margin-bottom: 2.1333vw;
}

.section-title {
  font-size: 4.2667vw;
  font-weight: 600;
  margin-bottom: 2.6667vw;
}

.section-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 2.6667vw;
}

.section-count {
  font-size: 3.2vw;
  color: #9ca3af;
}

/* 标签 */
.tag {
  display: inline-block;
  padding: 0.8vw 2.6667vw;
  border-radius: 2.1333vw;
  font-size: 2.9333vw;
  margin-right: 1.6vw;
  margin-bottom: 1.0667vw;
}

.tag-blue { background: #eef3fd; color: #4a7fd4; }
.tag-green { background: #eaf8e8; color: #3da134; }
.tag-orange { background: #fff4e5; color: #e8912a; }
.tag-purple { background: #f3eefd; color: #7c5cd4; }
.tag-gray { background: #f0f2f7; color: #6b7280; }

/* 空状态 */
.empty-state {
  text-align: center;
  padding: 10.6667vw 5.3333vw;
  color: #9ca3af;
}

.empty-icon {
  font-size: 10.6667vw;
  margin-bottom: 2.6667vw;
}

.empty-text {
  font-size: 3.7333vw;
}

/* 底部导航 */
.tab-bar {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  background: #fff;
  display: flex;
  border-top: 0.1333vw solid #e8e9ee;
  padding-bottom: env(safe-area-inset-bottom);
  z-index: 100;
}

.tab-item {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 2.1333vw 0;
  font-size: 2.9333vw;
  color: #9ca3af;
}

.tab-item.active {
  color: #4a7fd4;
}

.tab-icon {
  font-size: 5.3333vw;
  margin-bottom: 0.5333vw;
}

/* 顶部导航 */
.nav-bar {
  display: flex;
  align-items: center;
  padding: 3.2vw;
  background: #fff;
  border-bottom: 0.1333vw solid #e8e9ee;
}

.nav-back {
  font-size: 4.8vw;
  color: #333;
  padding: 1.0667vw 2.1333vw 1.0667vw 0;
}

.nav-title {
  flex: 1;
  font-size: 4.5333vw;
  font-weight: 600;
  text-align: center;
}

.nav-right {
  width: 10.6667vw;
  text-align: right;
}

/* 输入框 */
.input-field {
  background: #f7f8fc;
  border-radius: 2.1333vw;
  padding: 0 3.2vw;
  font-size: 3.7333vw;
  width: 100%;
  height: 11.7333vw;
  line-height: 11.7333vw;
  box-sizing: border-box;
}

.textarea-field {
  background: #f7f8fc;
  border-radius: 2.1333vw;
  padding: 3.2vw;
  font-size: 3.7333vw;
  width: 100%;
  height: 26.6667vw;
  line-height: 1.5;
  box-sizing: border-box;
}

/* 模态框 */
.modal-mask {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.5);
  z-index: 200;
  display: flex;
  align-items: flex-end;
}

.modal-content {
  background: #fff;
  border-radius: 4.2667vw 4.2667vw 0 0;
  width: 100%;
  max-height: 80vh;
  overflow-y: auto;
  padding: 5.3333vw 5.3333vw 8vw;
  box-sizing: border-box;
}

.modal-title {
  font-size: 4.8vw;
  font-weight: 700;
  margin-bottom: 4.2667vw;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.modal-close {
  font-size: 5.3333vw;
  color: #9ca3af;
  padding: 1.0667vw;
}

/* 通用 */
.flex { display: flex; }
.flex-between { display: flex; justify-content: space-between; align-items: center; }
.flex-center { display: flex; justify-content: center; align-items: center; }
.text-secondary { color: #6b7280; }
.text-small { font-size: 3.2vw; }
.mt-20 { margin-top: 2.6667vw; }
.mb-20 { margin-bottom: 2.6667vw; }
.mb-32 { margin-bottom: 4.2667vw; }

.form-label {
  font-size: 3.4667vw;
  color: #6b7280;
  margin-bottom: 1.6vw;
  margin-top: 1.0667vw;
}

/* AI 生成标签 */
.ai-badge {
  display: inline-block;
  background: linear-gradient(135deg, #667eea, #764ba2);
  color: #fff;
  font-size: 2.6667vw;
  padding: 0.8vw 2.4vw;
  border-radius: 2.1333vw;
  margin-left: 2.1333vw;
  font-weight: 500;
  vertical-align: middle;
}

.ai-badge-small {
  display: inline-block;
  background: linear-gradient(135deg, #667eea, #764ba2);
  color: #fff;
  font-size: 2.4vw;
  padding: 0.5333vw 1.8667vw;
  border-radius: 1.6vw;
  margin-left: 1.6vw;
  font-weight: 500;
  vertical-align: middle;
}

/* Showcase visual system: quiet paper, blue ink, readable supporting span. */
.mp-page { background:#f4f6f8; color:#22334a; line-height:1.65; }
.container { padding:3.7333vw; padding-bottom:calc(21.3333vw + env(safe-area-inset-bottom)); }
.card { border:0.1333vw solid #e9edf2; box-shadow:0 1.0667vw 3.2vw rgba(35,52,75,.025); border-radius:3.2vw; }
.btn-primary { background:#365f93; border-radius:2.4vw; font-weight:600; }
.btn-secondary { background:#edf2f8; color:#365f93; border-radius:2.4vw; }
.btn-primary[disabled] { background:#b5c2d3; color:white; }
.section-title { color:#22334a; }
.demo-caption { color:#64748b; font-size:2.9333vw; letter-spacing:0.1333vw; margin:0 0.5333vw 2.9333vw; }
.eyebrow { color:#577b70; font-size:2.8vw; letter-spacing:0.2667vw; font-weight:600; }
.page-intro { color:#657487; font-size:3.6vw; }
.source-note { color:#657487; font-size:3.0667vw; line-height:1.7; margin:1.6vw 0; }
.discovery-entry { display:flex; justify-content:space-between; align-items:center; background:#edf3ef; border:0.1333vw solid #dce7df; border-radius:2.9333vw; padding:3.7333vw; margin:3.2vw 0; }
.discovery-title { font-size:3.8667vw; font-weight:600; color:#2e5147; margin-top:1.0667vw; }
.discovery-arrow { font-size:5.8667vw; color:#577b70; padding-left:2.1333vw; }
.ai-badge,.ai-badge-small { background:#e8edf5; color:#506783; font-size:2.8vw; }
.modal-content { padding-bottom:calc(5.3333vw + env(safe-area-inset-bottom)); }
.text-secondary,.section-count { color:#657487; }
.helper-toggle { padding:3.2vw 0; color:#365f93; font-size:3.4667vw; }

.ai-result-mark { display:inline-block; font-size:2.9333vw; line-height:4.5333vw; padding:0.2667vw 1.6vw; border-radius:1.0667vw; color:#5265b0; background:#edf0ff; margin:0.5333vw 0 1.3333vw; flex-shrink:0; }
