/* ===== 设计系统：纸感编辑风（参照 markethot） ===== */
:root{
  --paper:#FAFAF6; --card:#FFFFFF; --bg:#F1F0EA;
  --ink:#1B1B18; --muted:#6E6D66; --line:#DDDAD0;
  --accent:#C2410C; --accent-soft:#FFF7F2; --good:#1F3D2B; --warn:#B45309;
  --radius:8px; --maxw:1180px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{
  font-family:"PingFang SC","Microsoft YaHei","Hiragino Sans GB",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  background:var(--paper); color:var(--ink);
  font-variant-numeric:tabular-nums; line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit}
img{max-width:100%}

/* ===== 布局 ===== */
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 20px}
main{padding:36px 0 64px}
.site-header{border-bottom:3px solid var(--ink);background:var(--paper)}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;height:64px}
.brand{font-size:16px;font-weight:800;letter-spacing:.02em;text-decoration:none}
.brand .dot{color:var(--accent)}
.nav{display:flex;gap:22px;font-size:13px;color:var(--muted)}
.nav a{text-decoration:none}
.nav a:hover{color:var(--accent)}
.site-footer{margin-top:56px;border-top:3px solid var(--ink);padding:18px 0 32px;font-size:12px;color:var(--muted)}
.site-footer .wrap{display:flex;flex-wrap:wrap;gap:6px 18px;justify-content:space-between}
.site-footer a{color:var(--muted);text-decoration:none}
.site-footer a:hover{color:var(--accent)}

/* ===== 通用元素 ===== */
.kicker{font-size:11px;letter-spacing:.2em;color:var(--accent);font-weight:700;text-transform:uppercase}
h1{font-size:clamp(24px,3.2vw,34px);font-weight:800;letter-spacing:-.01em}
h2.sec{font-size:14px;letter-spacing:.1em;font-weight:800;margin:34px 0 12px;padding-top:14px;border-top:1px solid var(--line)}
h2.sec .no{color:var(--accent);margin-right:8px}
.muted{color:var(--muted)}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius)}

.btn{display:inline-block;padding:11px 22px;background:var(--ink);color:#fff;border:none;border-radius:6px;
  font-size:14px;font-weight:700;font-family:inherit;cursor:pointer;text-decoration:none;transition:background .15s}
.btn:hover{background:var(--accent)}
.btn-lg{padding:14px 30px;font-size:15px}
.btn-accent{background:var(--accent)}
.btn-accent:hover{background:#9A3309}
.btn-ghost{background:transparent;color:var(--ink);border:2px solid var(--line)}
.btn-ghost:hover{background:var(--bg);color:var(--ink)}

/* ===== 首页 ===== */
.hero{padding:56px 0 28px;border-bottom:1px solid var(--line)}
.hero h1{max-width:760px}
.hero-sub{font-size:clamp(15px,1.6vw,18px);color:var(--muted);margin-top:14px;max-width:640px}
.hero-actions{margin-top:26px;display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.hero-note{color:var(--muted);font-size:12.5px;margin-top:12px}

.grid{display:grid;gap:0;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--card);margin-top:22px}
.grid-3{grid-template-columns:repeat(3,1fr)}
.grid-2{grid-template-columns:repeat(2,1fr)}
.feature-card{padding:22px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.grid-3 .feature-card:nth-child(3n){border-right:none}
.grid .feature-card:last-child{border-bottom:none}
.feature-icon{font-size:18px;width:34px;height:34px;line-height:34px;text-align:center;border:1px solid var(--line);border-radius:6px;background:var(--accent-soft);margin-bottom:12px}
.feature-card h3{font-size:15px;font-weight:800;margin-bottom:6px}
.feature-card p{color:var(--muted);font-size:13px}

.how-section,.faq-section,.cta-section{margin-top:22px}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--card)}
.step{padding:20px;border-right:1px solid var(--line)}
.step:last-child{border-right:none}
.step-num{display:inline-block;font-size:12px;font-weight:800;color:var(--accent);letter-spacing:.08em}
.step p{font-size:13px;color:var(--ink);margin-top:8px}
.faq-item{padding:16px 0;border-bottom:1px solid var(--line)}
.faq-item:last-child{border-bottom:none}
.faq-item h4{font-size:14px;font-weight:800;margin-bottom:6px}
.faq-item p{color:var(--muted);font-size:13px}
.cta-section{text-align:center;padding:38px 22px;background:var(--accent-soft);border:1px solid #E8D9CE;border-radius:var(--radius)}
.cta-section h2{font-size:20px;font-weight:800;margin-bottom:16px;border:none;padding:0}

/* ===== 登录页 ===== */
.login-wrap{max-width:520px;margin:40px auto 0}
.login-card{padding:34px 32px;text-align:center}
.login-card h1{font-size:22px}
.login-card .lead{color:var(--muted);font-size:13.5px;margin-top:10px}
.qr-actions{margin-top:24px}
.login-steps{text-align:left;margin:26px auto 0;max-width:360px;border-top:1px solid var(--line);padding-top:18px}
.login-steps li{list-style:none;font-size:13px;color:var(--ink);padding:7px 0 7px 26px;position:relative}
.login-steps li:before{content:"—";position:absolute;left:0;color:var(--accent)}
.notice{font-size:12.5px;color:var(--muted);background:var(--bg);border:1px solid var(--line);border-radius:6px;padding:10px 14px;margin-top:22px;text-align:left}
.mock-entry{display:inline-block;margin-top:14px;color:var(--accent);font-size:12.5px;text-decoration:none;border-bottom:1px dashed var(--accent)}
.mock-entry:hover{opacity:.8}

/* ===== 报告页 ===== */
.report-head{border-bottom:3px solid var(--ink);padding-bottom:16px;margin-bottom:24px}
.report-head h1{font-size:24px}
.report-head .meta{color:var(--muted);font-size:13px;margin-top:8px}
.score-row{display:flex;align-items:baseline;gap:12px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px 22px;margin-bottom:24px}
.score{font-size:46px;font-weight:800;color:var(--accent);line-height:1}
.score-unit{font-size:14px;color:var(--muted)}
.level{font-size:13px;font-weight:700;padding:3px 10px;border:1px solid var(--line);border-radius:4px;background:var(--accent-soft)}
.metrics{width:100%;border-collapse:collapse;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.metrics td{padding:10px 14px;border-bottom:1px solid var(--line);font-size:13.5px}
.metrics tr:last-child td{border-bottom:none}
.metrics td.k{color:var(--muted);width:46%}
.metrics td b{font-weight:800}
.finding{background:var(--card);border:1px solid var(--line);border-left:4px solid var(--line);border-radius:0 6px 6px 0;padding:13px 16px;margin-bottom:10px}
.finding.high{border-left-color:var(--accent)}
.finding.medium{border-left-color:var(--warn)}
.finding.low{border-left-color:#6B7280}
.finding .sev{font-size:10px;font-weight:700;letter-spacing:.08em;color:#fff;padding:1px 7px;border-radius:3px;margin-right:8px;background:#6B7280;vertical-align:middle}
.finding.high .sev{background:var(--accent)}
.finding.medium .sev{background:var(--warn)}
.finding .fname{font-weight:800;font-size:14px}
.finding p{font-size:13px;margin-top:6px;color:#3D3C36}
.finding .advice{margin-top:8px;padding:9px 12px;background:var(--accent-soft);border:1px solid #E8D9CE;font-size:12.5px;color:#4A3A2E;border-radius:4px}
.human{background:var(--card);border:1px dashed var(--line);border-radius:6px;padding:14px 18px;margin-bottom:10px}
.human b{font-weight:800;font-size:14px}
.human p{font-size:12.5px;color:var(--muted);margin-top:4px}
.report-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.error-box{background:var(--card);border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:0 6px 6px 0;padding:26px;max-width:560px;margin:40px auto}
.error-box h3{font-size:16px;margin-bottom:8px}
.error-box p{color:var(--muted);font-size:13.5px;margin-bottom:16px}

/* ===== 响应式 ===== */
@media (max-width:820px){
  .grid-3,.grid-2,.steps{grid-template-columns:1fr}
  .feature-card{border-right:none}
  .step{border-right:none;border-bottom:1px solid var(--line)}
  .step:last-child{border-bottom:none}
  .site-header .nav{display:none}
  main{padding:24px 0 48px}
  .report-head h1{font-size:20px}
  .score{font-size:38px}
  .login-card{padding:26px 20px}
}
