* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-family: "Microsoft YaHei", sans-serif;
  -webkit-tap-highlight-color: transparent;
  outline: none !important;
}
:root {
  --primary: #6366f1;
  --light-purple: #e0e7ff;
  --text-main: #1f2937;
  --text-sub: #6b7280;
  --text-dark: #444444;
  --bg: #f9fafb;
}
body {
  background: var(--bg);
  color: var(--text-main);
  padding-bottom: 70px;
}
.header {
  background: #fff;
  box-shadow: 0 1px 3px rgba(0,0,0,0.05);
}
.nav {
  width: 100%;
  height: 52px;
  padding: 0 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.logo {
  font-size: 17px;
  font-weight: 700;
  color: var(--primary);
}
.nav-right {
  display: flex;
  gap: 8px;
}
.btn {
  padding: 5px 11px;
  border-radius: 6px;
  font-size: 13px;
  cursor: pointer;
  outline:none;
  border: none;
}
.btn-outline {
  border: 1px solid var(--primary);
  background: transparent;
  color: var(--primary);
}
.btn-fill {
  background: var(--primary);
  color: #fff;
}
.container {
  width: 100%;
  padding: 8px 16px 30px;
}
.page-title {
  text-align: center;
  margin-bottom: 10px;
  padding-top: 0;
}
.page-title h1 {
  font-size: 20px;
  margin-bottom: 2px;
}
.page-title p {
  font-size: 13px;
  color: var(--text-sub);
}
.upload-row {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-bottom: 14px;
  flex-wrap: wrap;
}
.upload-left {
  display: flex;
  align-items: center;
  gap: 20px;
}
.upload-btn {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 1px solid var(--light-purple);
  background: transparent;
  color: var(--primary);
  font-size: 18px;
  cursor: pointer;
  outline:none;
  pointer-events: auto !important;
  position: relative !important;
  z-index: 99 !important;
}
#fileInput {
  position: absolute;
  left: -9999px;
}
.detect-btn {
  height: 36px;
  padding: 0 18px;
  border-radius: 8px;
  background: var(--primary);
  color: #fff;
  border: none;
  font-size: 14px;
  cursor: pointer;
  outline:none;
  pointer-events: auto !important;
  position: relative !important;
  z-index: 99 !important;
}
.upload-right{
  display:flex;
  align-items:center;
  gap:12px;
  margin-left: 30px;
}
.count-text{
  font-size:14px;
  color:var(--text-dark);
}
.outline-btn{
  background: transparent;
  border: 1px solid var(--primary);
  color: var(--primary);
  padding: 5px 11px;
  border-radius: 6px;
  font-size: 13px;
  cursor: pointer;
  outline:none;
  pointer-events: auto !important;
  position: relative !important;
  z-index: 99 !important;
}
.preview-area {
  display: none;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 20px;
}
.preview-item {
  width: 22%;
  aspect-ratio: 1/1;
  border-radius: 8px;
  overflow: hidden;
  position: relative;
  background: #eee;
}
.preview-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.preview-close {
  position: absolute;
  top: 4px;
  right: 4px;
  width: 20px;
  height: 20px;
  background: rgba(0,0,0,0.6);
  color: #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  cursor: pointer;
}
.result-section {margin-top: 4px;}
.section-title {
  font-size: 15px;
  font-weight: 600;
  margin-bottom: 10px;
  padding-left: 6px;
  border-left: 3px solid var(--primary);
}
.result-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
}
.result-item {
  background: #fff;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 1px 4px rgba(0,0,0,0.04);
}
.result-img {
  width: 100%;
  height: 140px;
  background: #f3f4f6;
}
.result-info {padding: 10px;}
.result-tag {
  font-size: 12px;
  padding: 2px 6px;
  border-radius: 4px;
  display: inline-block;
  margin-bottom: 4px;
}
.tag-ai {background: #fee2e2;color: #dc2626;}
.tag-real {background: #dcfce7;color: #16a34a;}
.result-desc {
  font-size: 12px;
  color: var(--text-sub);
  line-height: 1.4;
}
.footer {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  background: #fff;
  padding: 10px;
  text-align: center;
  font-size: 12px;
  color: var(--text-sub);
  border-top: 1px solid #eee;
}
/* 弹窗样式 已修复居中不跑偏 */
.modal {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 999;
  display: none;
}
.modal.show{
  display: flex;
}
.modal-box {
  background: #fff;
  width:90%;
  max-width:380px;
  border-radius:12px;
  padding:20px;
  position: relative;
}
.modal-close {
  position:absolute;
  top:12px;
  right:15px;
  font-size:22px;
  color:#999;
  cursor:pointer;
}
.modal-title {
  font-size:16px;
  font-weight:600;
  margin-bottom:12px;
  text-align:center;
}
.modal-content {
  font-size:13px;
  color:#444;
  line-height:1.5;
  margin-bottom:18px;
}
/* 两个按钮并排的容器 保持原本flex不变 */
.modal-btn-row{
  display:flex;
  gap:10px;
  width:100%;
}
/* 重点：单独按钮强制块级、自动居中、加宽 */
.modal-btn{
  width: 80%;
  margin: 12px auto 0;
  padding:10px;
  background:var(--primary);
  color:#fff;
  border:none;
  border-radius:8px;
  cursor:pointer;
  font-size:14px;
  display: block;
}
.modal-cancel{
  background:#999;
}
.login-input {
  width:100%;
  padding:10px;
  margin-bottom:10px;
  border:1px solid #ddd;
  border-radius:6px;
  outline:none;
  font-size:14px;
}
.remember-row {
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin:8px 0 16px;
}
.remember-box {
  margin:0;
  font-size:13px;
}
.remember-tip {
   font-size:12px;
   color:#999;
 }
 .price-wrap {
   display:flex;
   justify-content:space-between;
   gap:8px;
   margin-bottom:25px;
 }
 .price-item {
   flex:1;
   text-align:center;
   background:#f8f9ff;
   border:1px solid #e0e7ff;
   border-radius:8px;
   padding:12px 5px;
   cursor:pointer;
 }
 .price-item.active {
   background:#eff1ff;
   border:2px solid #6366f1;
 }
 .price-tip {
   font-size:12px;
   color:#777;
 }
 .price-num {
   font-size:20px;
   font-weight:bold;
   color:#6366f1;
   margin:6px 0;
 }
 .price-give {
   font-size:12px;
   color:#555;
 }
 #qrcodeCancelBtn {
   flex:1;
   background:transparent;
   border:1px solid #ccc;
   color:#666;
   padding:8px 0;
   border-radius:6px;
   cursor:pointer;
 }
 #qrcodePayBtn {
   flex:2;
   background:#6366f1;
   color:#fff;
   border:none;
   padding:8px 0;
   border-radius:6px;
   cursor:pointer;
   font-size:16px;
   font-weight:bold;
 }
 .saveQrcodeBtn {
   margin-top:6px;
   border:none;
   background:#f5f5f5;
   padding:3px 8px;
   border-radius:6px;
   font-size:12px;
   cursor:pointer;
 }
 .qrcode-row {
   display:flex;
   justify-content:center;
   gap:15px;
   margin-bottom:15px;
 }
 .qrcode-card {
   text-align:center;
 }
 .qrcode-title {
   font-size:14px;
   color:#333;
   margin-bottom:6px;
   font-weight:bold;
 }
 .qrcode-box {
   width:130px;
   height:130px;
   border:1px solid #eee;
   border-radius:8px;
   display:flex;
   align-items:center;
   justify-content:center;
   color:#999;
   font-size:12px;
 }
 .pay-btn-row {
   display:flex;
   justify-content:space-between;
   gap:10px;
   margin-top:20px;
 }
 @media (min-width: 768px){
   .container{padding:20px 12px 30px;}
   .preview-item {
     width: 5.5%;
   }
   .upload-btn {
     width: 50px;
     height: 50px;
     font-size: 24px;
     border-width: 2px;
   }
   .result-grid{
     grid-template-columns:repeat(6,1fr);
     gap:14px;
   }
 }
 @media (max-width: 380px){
   .result-grid{grid-template-columns:1fr;}
 }
/* 彻底隐藏开通会员按钮 看不见+点不了+无法弹窗 */
#vipOpenBtn {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
}
/* 隐藏开通会员按钮 + 彻底禁止点击 */
#vipOpenBtn {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
}
