/* CET6 备考 —— 复用 HACP 设计令牌（深墨蓝 / 青碧 / 纸感底） */
:root{
  --navy:#0B1F33; --teal:#0E7C86; --gold:#9A6700;
  --risk:#B3261E; --good:#1B6B4A;
  --bg:#F7F8FA; --card:#FFFFFF; --line:#E3E8ED;
  --txt:#1F2933; --dim:#6B7A88; --soft:#E6F4F5;
  --r:10px;
}
*{box-sizing:border-box;margin:0;padding:0}
body{
  font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
  background:var(--bg); color:var(--txt); line-height:1.7; font-size:18.75px;
}
a{color:var(--teal);text-decoration:none}
a:hover{text-decoration:underline}
.wrap{max-width:1080px;margin:0 auto;padding:0 20px 60px}

/* 头部 */
.hd{display:flex;justify-content:space-between;align-items:center;padding:18px 0;border-bottom:1px solid var(--line);margin-bottom:26px}
.hd-l{display:flex;align-items:baseline;gap:12px}
.logo{font-size:23.75px;font-weight:700;color:var(--navy);letter-spacing:.5px}
.logo:hover{text-decoration:none}
.sub{font-size:16.25px;color:var(--dim)}
.hd-r a{font-size:17.5px;color:var(--dim)}

/* hero */
.hero{background:linear-gradient(135deg,#0B1F33 0%,#12455A 100%);color:#fff;border-radius:var(--r);padding:34px 32px;margin-bottom:26px}
.hero h1{font-size:32.5px;font-weight:700;margin-bottom:10px;letter-spacing:.5px}
.hero p{font-size:17.5px;opacity:.85}

/* 四板块 */
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:36px}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:22px 20px;transition:.18s;display:block;color:inherit}
.card:hover{border-color:var(--teal);box-shadow:0 4px 16px rgba(14,124,134,.10);text-decoration:none;transform:translateY(-2px)}
.ci{display:inline-block;font-size:13.75px;font-weight:700;letter-spacing:2px;color:var(--teal);background:var(--soft);padding:3px 9px;border-radius:4px;margin-bottom:12px}
.card h3{font-size:21.25px;color:var(--navy);margin-bottom:7px}
.card p{font-size:16.25px;color:var(--dim);line-height:1.6;min-height:42px}
.cm{margin-top:12px;font-size:16.25px;font-weight:600;color:var(--gold);border-top:1px dashed var(--line);padding-top:10px}

/* 区块 */
.block{margin-bottom:36px}
.block h2{font-size:21.25px;color:var(--navy);margin-bottom:16px;padding-left:11px;border-left:3px solid var(--teal)}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.step{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:18px}
.step .sn{display:block;font-size:15px;font-weight:700;color:var(--teal);letter-spacing:1px;margin-bottom:6px}
.step b{display:block;font-size:17.5px;color:var(--navy);margin-bottom:6px}
.step p{font-size:15.625px;color:var(--dim);line-height:1.65}

/* 套卷列表 */
.paper-list{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.paper-item{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:14px 16px;display:block;color:inherit;transition:.15s}
.paper-item:hover{border-color:var(--teal);text-decoration:none}
.paper-item b{font-size:17.5px;color:var(--navy)}
.tag{font-size:13.75px;background:var(--soft);color:var(--teal);padding:2px 7px;border-radius:3px;margin-left:6px}
.dim{color:var(--dim);font-size:15.625px}

/* 通用控件 */
.btn{display:inline-block;padding:9px 18px;border-radius:7px;border:1px solid var(--teal);background:var(--teal);color:#fff;font-size:17.5px;cursor:pointer;font-family:inherit;transition:.15s}
.btn:hover{background:#0a656d;text-decoration:none;color:#fff}
.btn.ghost{background:#fff;color:var(--teal)}
.btn.ghost:hover{background:var(--soft);color:var(--teal)}
.btn:disabled{opacity:.45;cursor:not-allowed}
.toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:18px}
input,select{font-family:inherit;font-size:17.5px;padding:8px 11px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--txt)}
input:focus,select:focus{outline:none;border-color:var(--teal)}

/* 题卡 */
.qcard{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:22px 24px;margin-bottom:14px}
.qno{font-size:15px;font-weight:700;color:var(--teal);letter-spacing:1px;margin-bottom:8px}
.qstem{font-size:19.375px;color:var(--navy);font-weight:600;line-height:1.65;margin-bottom:4px}
.qstem-zh{font-size:16.25px;color:var(--dim);margin-bottom:14px}
.opts{display:flex;flex-direction:column;gap:8px}
.opt{display:flex;gap:10px;padding:10px 13px;border:1px solid var(--line);border-radius:7px;cursor:pointer;font-size:17.5px;line-height:1.5;transition:.13s}
.opt:hover{border-color:var(--teal);background:#FAFDFD}
.opt .k{font-weight:700;color:var(--teal);flex:0 0 20px}
.opt.sel{border-color:var(--teal);background:var(--soft)}
.opts-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}
.opts-grid .opt{padding:7px 9px;font-size:16.25px;gap:6px}
.opts-grid .opt .k{flex:0 0 14px;font-size:15px}
.opt.right{border-color:var(--good);background:#F1F8F4}
.opt.wrong{border-color:var(--risk);background:#FDF3F1}
.opt.right .k{color:var(--good)}
.opt.wrong .k{color:var(--risk)}

/* 解析 */
.exp{margin-top:14px;border-top:1px dashed var(--line);padding-top:12px;font-size:16.875px;line-height:1.75}
.exp .row{margin-bottom:9px;display:flex;gap:10px}
.exp .lb{flex:0 0 46px;font-weight:700;color:var(--gold);font-size:15.625px;padding-top:2px}
.exp .ct{flex:1;color:#3B4A57}
.ansline{font-size:17.5px;margin-bottom:10px;padding:9px 13px;background:var(--soft);border-radius:6px}
.ansline b{color:var(--good)}

/* 文章 */
.passage{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:24px 28px;margin-bottom:20px;font-size:18.125px;line-height:1.95;color:#2A3743}
.passage h4{font-size:18.75px;color:var(--navy);margin:18px 0 10px;padding-bottom:6px;border-bottom:1px solid var(--line)}
.passage p{margin-bottom:14px}
.passage .para-lb{display:inline-block;font-weight:700;color:var(--teal);margin-right:6px}

/* 结果 */
.result{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:26px;text-align:center;margin-bottom:20px}
.score{font-size:55px;font-weight:700;color:var(--teal);line-height:1.1}
.rate{font-size:17.5px;color:var(--dim);margin-top:6px}

/* 加载 / 空态 */
.loading{padding:40px;text-align:center;color:var(--dim);font-size:17.5px}
.empty{padding:40px;text-align:center;color:var(--dim);font-size:17.5px}

/* 响应 */
@media(max-width:860px){
  .grid4,.steps{grid-template-columns:repeat(2,1fr)}
  .paper-list{grid-template-columns:1fr}
}
@media(max-width:700px){.opts-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:560px){
  .wrap{padding:0 13px 40px}
  .grid4,.steps{grid-template-columns:1fr}
  .hero{padding:24px 20px}
  .hero h1{font-size:26.25px}
  .hd-l .sub{display:none}
  .qcard{padding:16px 15px}
  .passage{padding:17px 16px}
  .exp .row{flex-direction:column;gap:2px}
  .exp .lb{flex:none}
}
