/* 高考真题练习 · 样式（手机优先，干净版式） */
:root{
  --ink:#23201c;
  --ink-2:#6b6459;
  --line:#e6e0d6;
  --bg:#faf8f4;
  --card:#ffffff;
  --gold:#b8873b;
  --ok:#1f8a4c;
  --bad:#c0392b;
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;}
html,body{margin:0;padding:0;}
body{
  background:var(--bg);
  color:var(--ink);
  font:16px/1.75 -apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
  padding:0 0 110px;
  overflow-wrap:break-word;
  word-break:break-word;
}
h1{font-size:19px;margin:0;font-weight:600;letter-spacing:.5px;}

/* 顶部 */
.top{
  position:sticky;top:0;z-index:20;
  background:rgba(250,248,244,.94);
  backdrop-filter:saturate(180%) blur(8px);
  border-bottom:1px solid var(--line);
  padding:12px 16px 8px;
}
.papers{display:flex;gap:8px;margin-top:10px;overflow-x:auto;padding-bottom:2px;}
.papers button{
  flex:0 0 auto;font:inherit;font-size:14px;
  padding:7px 14px;border-radius:999px;cursor:pointer;
  border:1px solid var(--line);background:#fff;color:var(--ink-2);
}
.papers button.on{background:var(--ink);color:#f7f3ec;border-color:var(--ink);}

main{max-width:760px;margin:0 auto;padding:14px 14px 0;}
.loading{color:var(--ink-2);text-align:center;padding:40px 0;}

/* 材料卡 */
.group{
  background:var(--card);border:1px solid var(--line);border-radius:14px;
  padding:16px 16px 6px;margin:0 0 16px;
}
.material{font-size:15.5px;color:#3a342c;white-space:pre-wrap;}
.material .tabnote{font-size:13px;color:var(--ink-2);margin:6px 0 2px;}
.qtab{border-collapse:collapse;width:100%;margin:10px 0;font-size:13.5px;}
.qtab th,.qtab td{border:1px solid #e2dcd2;padding:5px 6px;text-align:center;line-height:1.5;}
.qtab th{background:#f6f2ea;font-weight:600;}
.media{margin:12px 0 4px;}
.media img{
  display:block;width:100%;max-width:100%;height:auto;
  border:1px solid var(--line);border-radius:10px;background:#fff;
}
.media figcaption{font-size:12.5px;color:var(--ink-2);text-align:center;margin-top:6px;}

/* 题目 */
.q{padding:14px 0 6px;border-top:1px dashed var(--line);}
.group > .q:first-of-type{border-top:none;}
.q-head{display:flex;gap:9px;align-items:baseline;}
.q-no{
  flex:0 0 auto;min-width:22px;height:22px;line-height:22px;text-align:center;
  border-radius:6px;background:#f2ede4;color:var(--gold);
  font-size:13px;font-weight:700;
}
.q-text{font-size:16px;white-space:pre-wrap;}
.opts{margin:10px 0 4px;display:flex;flex-direction:column;gap:7px;}
.opt{
  display:flex;gap:10px;align-items:flex-start;
  padding:10px 12px;border:1px solid var(--line);border-radius:10px;
  background:#fff;cursor:pointer;font-size:15.5px;line-height:1.6;
  transition:background .12s,border-color .12s;
}
.opt:active{background:#f7f3ec;}
.opt input{margin:5px 0 0;flex:0 0 auto;accent-color:var(--gold);}
.opt-key{flex:0 0 auto;font-weight:600;color:var(--ink-2);min-width:1.1em;}
.opt.on{background:#fdf8ee;border-color:var(--gold);}
.opt.right{background:#eef8f1;border-color:var(--ok);}
.opt.wrong{background:#fdf0ee;border-color:var(--bad);}

/* 解析 */
.sol{
  display:none;margin:10px 0 6px;padding:12px 14px;
  background:#f7f4ee;border-left:3px solid var(--gold);border-radius:0 10px 10px 0;
  font-size:14.5px;color:#4a443b;white-space:pre-wrap;
}
.sol.show{display:block;}
.sol .tag{font-weight:600;color:var(--gold);}
.sol .mine{color:var(--bad);}
.sol .right{color:var(--ok);font-weight:600;}
.err{color:var(--bad);font-size:14.5px;}

/* 底部操作条 */
.bar{
  position:fixed;left:0;right:0;bottom:0;z-index:30;
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:10px 16px calc(10px + env(safe-area-inset-bottom));
  background:rgba(255,255,255,.96);
  backdrop-filter:saturate(180%) blur(10px);
  border-top:1px solid var(--line);
}
.bar-info{display:flex;flex-direction:column;font-size:13px;color:var(--ink-2);line-height:1.5;}
#timer{font-variant-numeric:tabular-nums;color:var(--ink);font-weight:600;}
.bar-actions{display:flex;gap:8px;}
.btn{
  font:inherit;font-size:15px;padding:9px 20px;border-radius:10px;cursor:pointer;
  border:1px solid var(--line);background:#fff;color:var(--ink);
}
.btn.primary{background:var(--ink);color:#f7f3ec;border-color:var(--ink);font-weight:600;}
.btn.ghost{color:var(--ink-2);}
.btn[disabled]{opacity:.45;cursor:default;}

/* 成绩条 */
.score{
  max-width:760px;margin:14px auto 0;padding:16px 18px;
  background:var(--card);border:1px solid var(--line);border-radius:14px;
}
.score .big{font-size:30px;font-weight:700;letter-spacing:.5px;}
.score .big small{font-size:15px;color:var(--ink-2);font-weight:400;margin-left:6px;}
.score .sub{font-size:14px;color:var(--ink-2);margin-top:4px;}

footer.foot{
  max-width:760px;margin:26px auto 0;padding:0 18px 20px;
  font-size:12px;color:#a29a8d;line-height:1.7;text-align:center;
}

/* 错题本入口 */
.wrongbox{
  max-width:760px;margin:12px auto 0;padding:12px 16px;display:flex;
  align-items:center;justify-content:space-between;gap:10px;
  background:#fff8ea;border:1px solid #efe0c4;border-radius:12px;font-size:14.5px;
}
.wrongbox button{font:inherit;font-size:14px;padding:7px 14px;border-radius:9px;
  border:1px solid #e2cf9f;background:#fff;cursor:pointer;color:#7a5a19;}

@media (min-width:720px){
  body{font-size:16.5px;}
  main{padding:18px 16px 0;}
}

/* ---------- 验证码门 ---------- */
[hidden] { display: none !important; }
#gate {
  position: fixed; inset: 0; z-index: 50;
  display: flex; align-items: center; justify-content: center;
  background: var(--bg); padding: 20px;
}
.gate-box {
  width: 100%; max-width: 320px; text-align: center;
  background: #fff; border: 1px solid var(--line); border-radius: 16px;
  padding: 26px 20px 22px;
}
.gate-box h1 { font-size: 20px; margin: 0 0 4px; font-weight: 600; letter-spacing: .12em; }
.gate-sub { font-size: 13px; color: var(--ink-2); margin: 0 0 16px; }
.gate-box input {
  width: 100%; font: inherit; font-size: 16px; padding: 11px 12px;
  border: 1px solid var(--line); border-radius: 10px; background: #fffdf9;
  text-align: center; letter-spacing: .18em; color: var(--ink);
}
.gate-box .btn { width: 100%; margin-top: 10px; }
#gate-msg { font-size: 13px; color: var(--bad); margin: 10px 0 0; min-height: 1.2em; }

/* ---------- 科目行（两级导航） ---------- */
.subjects { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-top: 10px; }
.subjects button {
  font: inherit; font-size: 15px; font-weight: 600;
  padding: 9px 0; border-radius: 9px; cursor: pointer;
  border: 1px solid var(--line); background: #fff; color: var(--ink);
}
.subjects button.on { background: var(--gold); border-color: var(--gold); color: #fff; }
.papers { margin-top: 8px; }
.q-multi {
  flex: 0 0 auto; align-self: center; margin-left: 6px;
  font-size: 11px; color: #8a6a10; background: #fdf6e2;
  border: 1px solid #e3d3a6; border-radius: 4px; padding: 0 4px;
}

/* ---------- 听力播放器（卷级） ---------- */
.audio { margin-top: 10px; }
.audio audio { width: 100%; height: 38px; display: block; }
.q-text.q-empty { font-size: 13.5px; color: var(--ink-2); font-style: italic; }

/* ---------- 折叠选项（英语这类长卷） ---------- */
button.q-no {
  border: 0; padding: 0; font-family: inherit; cursor: default;
  min-width: 22px; height: 22px; line-height: 22px;
}
button.q-no.clickable { cursor: pointer; padding: 0 5px; background: #ece2cd; color: #7a5a19; }
button.q-no.clickable::after { content: '▾'; font-size: 9px; margin-left: 2px; vertical-align: 1px; }
.q.collapsed button.q-no.clickable::after { content: '▸'; }
.q.collapsed .opts, .q.collapsed .sol { display: none; }
.q-flag { flex: 0 0 auto; font-size: 12.5px; font-weight: 700; min-width: 1.6em; letter-spacing: .04em; }
.q-flag.picked { color: var(--gold); }
.q-flag.ok { color: var(--ok); }
.q-flag.no { color: var(--bad); }
.q-flag.blank { font-size: 11px; color: var(--ink-2); font-weight: 400; }
.tip { font-size: 12.5px; color: var(--ink-2); text-align: center; margin: 0 0 12px; }
.toggleall {
  display: block; width: 100%; margin-top: 8px; font: inherit; font-size: 13px;
  padding: 7px 0; border-radius: 8px; cursor: pointer;
  border: 1px dashed var(--line); background: #fffdf8; color: var(--ink-2);
}
.prilink { float: right; font-size: 13px; font-weight: 400; color: var(--ink-2);
  text-decoration: none; border: 1px solid var(--line); border-radius: 7px; padding: 3px 10px; }
.prilink:active { background: #f4efe4; }

/* ---------- 主观题（自助对答案） ---------- */
.refwrap { margin: 10px 0 4px; }
.refbtn {
  font: inherit; font-size: 13.5px; padding: 6px 14px; cursor: pointer;
  border: 1px dashed var(--gold); border-radius: 8px;
  background: #fffdf6; color: #8a6a10;
}
.refbtn:active { background: #f7f1e2; }
.refbox { display: none; margin-top: 10px; padding: 12px 14px; background: #f7f4ee;
  border-left: 3px solid var(--gold); border-radius: 0 10px 10px 0;
  font-size: 14.5px; line-height: 1.85; color: #4a443b; white-space: pre-wrap; }
.refbox.show { display: block; }
.refbox .tag { display: block; font-weight: 600; color: var(--gold); margin-bottom: 2px; font-size: 13px; }
.refbox .rubric { margin-top: 10px; padding-top: 8px; border-top: 1px dashed var(--line); }
