/* 卡密提货网站 - 前台样式 (移动端优先, 全响应式) */
:root{
  --bg:#f4f6fb; --card:#fff; --ink:#1f2a3d; --mut:#6b7a90;
  --pri:#2b6cb0; --pri-d:#1e4f82; --ok:#2f855a; --err:#c53030;
  --line:#e3e9f2; --radius:14px;
}
*{box-sizing:border-box; -webkit-tap-highlight-color:transparent}
html{scroll-behavior:smooth}
body{margin:0; font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;
  background:var(--bg); color:var(--ink); font-size:16px; line-height:1.6}
.wrap{max-width:720px; margin:0 auto; padding:0 16px}

/* 顶栏 */
.topbar{background:#fff; border-bottom:1px solid var(--line); position:sticky; top:0; z-index:10}
.topbar-in{display:flex; align-items:center; justify-content:space-between; height:56px}
.brand{font-weight:700; font-size:17px; color:var(--ink); text-decoration:none}
.topnav a{margin-left:18px; color:var(--mut); text-decoration:none; font-size:14px}
.topnav a:hover{color:var(--pri)}

/* 公告 */
.announce{background:#fff8e6; border-bottom:1px solid #f0e2b8; color:#8a6d1b;
  padding:10px 16px; font-size:14px; text-align:center}

/* 主体 */
.hero{text-align:center; padding:34px 0 8px}
.hero h1{font-size:24px; margin:0 0 8px}
.hero .sub{color:var(--mut); font-size:14px; margin:0 0 20px}
.redeem-box{background:var(--card); border:1px solid var(--line); border-radius:var(--radius);
  padding:20px; box-shadow:0 6px 24px rgba(43,108,176,.08)}
.redeem-box input{width:100%; padding:14px; font-size:18px; letter-spacing:2px; text-align:center;
  border:2px solid var(--line); border-radius:10px; outline:none; text-transform:uppercase}
.redeem-box input:focus{border-color:var(--pri)}
.captcha-row{display:flex; gap:10px; margin-top:12px}
.captcha-row input{flex:1; font-size:16px; letter-spacing:4px}
.captcha-row img{height:52px; border-radius:10px; border:1px solid var(--line); cursor:pointer; background:#fff}
.redeem-box button{width:100%; margin-top:14px; padding:14px; font-size:17px; font-weight:700;
  color:#fff; background:var(--pri); border:0; border-radius:10px; cursor:pointer}
.redeem-box button:hover{background:var(--pri-d)}
.redeem-box button:disabled{opacity:.6; cursor:wait}
.err{color:var(--err); background:#fff0f0; border:1px solid #f5c2c2; border-radius:10px;
  padding:10px 14px; font-size:14px; margin-top:14px}

/* 结果卡 */
.result{background:var(--card); border:1px solid var(--line); border-radius:var(--radius);
  padding:20px; margin-top:16px; text-align:left; box-shadow:0 6px 24px rgba(47,133,90,.08)}
.result-ok{color:var(--ok); font-weight:700; font-size:17px; margin-bottom:12px}
.lbl{color:var(--mut); font-size:14px; margin:0 0 8px}
.code-view{background:#f7fafc; border:1px dashed var(--pri); border-radius:10px; padding:14px;
  word-break:break-all; font-size:15px; margin-bottom:12px}
.btn{display:inline-block; padding:11px 26px; background:var(--ok); color:#fff; border:0;
  border-radius:10px; font-size:15px; cursor:pointer; text-decoration:none; text-align:center}
.btn:hover{filter:brightness(.94)}
.file-view{display:flex; align-items:center; gap:12px; background:#f7fafc; border:1px solid var(--line);
  border-radius:10px; padding:14px; margin-bottom:12px}
.file-ico{font-size:30px}
.file-meta b{display:block; word-break:break-all}
.file-meta small{color:var(--mut)}
.tip{color:var(--mut); font-size:13px; margin:10px 0 0}
.code-tag{margin:14px 0 0; font-size:13px; color:var(--mut)}
.code-tag span{font-family:monospace; letter-spacing:1px}

/* 内容卡片 */
.card{background:var(--card); border:1px solid var(--line); border-radius:var(--radius);
  padding:20px; margin:18px 0}
.card h2{font-size:18px; margin:0 0 12px}
.card ol{margin:0; padding-left:20px; color:#33415c; font-size:15px}
.card ol li{margin-bottom:8px}
.card details{border-top:1px solid var(--line); padding:12px 0; font-size:15px}
.card details summary{cursor:pointer; font-weight:600}
.card details p{color:var(--mut); margin:8px 0 0; font-size:14px}

/* 页脚 + 广告位 */
footer{margin-top:26px; padding:22px 0 30px; background:#fff; border-top:1px solid var(--line)}
.ad-zone{margin-bottom:16px}
.ad-head{display:flex; align-items:center; gap:8px; color:var(--mut); font-size:13px; margin-bottom:10px}
.ad-badge{font-style:normal; font-size:11px; border:1px solid #d5dce8; border-radius:4px;
  padding:0 5px; color:#98a4b8}
.ad-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:10px}
.ad-card{display:block; border:1px solid var(--line); border-radius:10px; padding:12px;
  text-decoration:none; color:var(--ink); background:#fbfcfe; position:relative}
.ad-card:hover{border-color:var(--pri)}
.ad-card .ad-title{font-size:14px; font-weight:600; display:block; padding-right:34px; text-decoration:none; color:inherit}
.ad-card .ad-badge{position:absolute; top:8px; right:8px}
.ad-card img{width:100%; height:auto; max-height:110px; object-fit:contain; background:#f4f6fb; border-radius:6px; margin-bottom:8px; display:block}
.ad-card .ad-imglink{display:block}
.ad-sub{margin:6px 0 0; border-top:1px dashed var(--line); padding-top:6px}
.ad-sub summary{font-size:12px; color:var(--pri); cursor:pointer; list-style:none}
.ad-sub summary::-webkit-details-marker{display:none}
.ad-sub a{display:block; font-size:13px; color:#33415c; text-decoration:none; padding:5px 0}
.ad-sub a:hover{color:var(--pri)}
.fine{text-align:center; color:#98a4b8; font-size:12px; margin:6px 0}

/* 平板/桌面增强 */
@media (min-width:640px){
  .hero h1{font-size:30px}
  .redeem-box{padding:28px}
  .ad-grid{grid-template-columns:repeat(3,1fr)}
}
@media (min-width:1024px){
  .wrap{max-width:860px}
  .ad-grid{grid-template-columns:repeat(5,1fr)}
}
