/* 974 竞赛专题页 competition.css */
.cp{max-width:820px;margin:0 auto;padding:4px 0 8px}
.cp-head{padding:18px 0 14px;border-bottom:1px solid #e6e4dc;margin-bottom:22px}
.cp-kicker{font-size:13px;letter-spacing:.06em;color:#8a8a7e;font-weight:600;margin-bottom:8px}
.cp-head h1{font-size:32px;line-height:1.25;margin:0 0 10px;color:#1d1d18;font-weight:800}
.cp-sum{margin:0 0 12px;font-size:16.5px;line-height:1.75;color:#4a4a42}
.cp-meta{display:flex;flex-wrap:wrap;gap:8px}
.cp-meta span{font-size:12.5px;color:#6b6b60;background:#f2f1ea;border-radius:99px;padding:3px 11px}

.cp-body{font-size:16.5px;line-height:1.95;color:#22221d}
.cp-body h2{font-size:22px;margin:38px 0 14px;padding-left:12px;border-left:4px solid #12554A;line-height:1.4;color:#14201c;font-weight:800}
.cp-body h2:first-child{margin-top:6px}
.cp-body h3{font-size:17.5px;margin:26px 0 10px;color:#12554A;font-weight:750}
.cp-body p{margin:0 0 14px}
.cp-body ul,.cp-body ol{margin:0 0 16px;padding-left:22px}
.cp-body li{margin:6px 0}
.cp-body strong{color:#0f3f37;font-weight:750}
.cp-body table{width:100%;border-collapse:collapse;margin:6px 0 20px;font-size:15px;background:#fff}
.cp-body th,.cp-body td{border:1px solid #e2e0d6;padding:9px 12px;text-align:left;vertical-align:top}
.cp-body th{background:#f4f3ec;font-weight:700;color:#3d3d34}
.cp-body a{color:#12554A;text-decoration:underline;text-underline-offset:3px}

/* 公式 */
.cp-body math{font-size:1.06em}
.cp-body math[display="block"]{display:block;margin:14px auto;font-size:1.12em;line-height:1.6;overflow-x:auto;overflow-y:hidden}

/* 卡片 */
.cp-key,.cp-trap,.cp-drill,.cp-recap,.cp-note{border-radius:12px;padding:16px 18px;margin:22px 0;font-size:15.8px;line-height:1.9}
.cp-key{background:#eef6f2;border:1px solid #cfe4da}
.cp-key .cp-box-h{font-weight:800;color:#0f4d41;margin-bottom:6px;font-size:15px;letter-spacing:.02em}
.cp-trap{background:#fdf1ec;border:1px solid #f3d5c8}
.cp-trap .cp-box-h{font-weight:800;color:#a8401d;margin-bottom:8px}
.cp-drill{background:#fbfaf4;border:1px solid #e8e4d3}
.cp-drill .cp-box-h{font-weight:800;color:#5d5a3f;margin-bottom:10px}
.cp-recap{background:#f5f2f8;border:1px solid #e0d8ea}
.cp-recap .cp-box-h{font-weight:800;color:#4b3a63;margin-bottom:8px}
.cp-note{background:#f7f7f4;border:1px dashed #dcdad0}
.cp-key p:last-child,.cp-trap p:last-child,.cp-drill p:last-child,.cp-recap p:last-child{margin-bottom:0}
.cp-trap ol,.cp-trap ul{margin-bottom:0}
.cp-recap ul{margin-bottom:0}

/* 例题 */
.cp-ex-h{border-top:1px dashed #ddd9cc;padding-top:20px;margin:40px 0 12px!important}
.cp-ex-h + p{margin-top:0}
.cp-body blockquote{margin:10px 0 16px;padding:12px 16px;background:#faf9f4;border-left:3px solid #d8d3be;border-radius:0 8px 8px 0;color:#3a3a32;font-size:15.6px}
.cp-body blockquote p{margin:0 0 8px}
.cp-body blockquote p:last-child{margin-bottom:0}

/* 答案折叠 */
.cp-ans{margin-top:12px;border:1px solid #e2e0d6;border-radius:10px;background:#fff;padding:0 16px}
.cp-ans summary{cursor:pointer;padding:11px 0;font-weight:700;color:#12554A;list-style:none;font-size:15px}
.cp-ans summary::-webkit-details-marker{display:none}
.cp-ans summary::before{content:"▸";display:inline-block;margin-right:7px;transition:transform .15s}
.cp-ans[open] summary::before{content:"▾"}
.cp-ans p{margin:0 0 10px;font-size:15.5px}
.cp-ans p:last-child{margin-bottom:14px}

.cp-foot{margin:34px 0 10px;padding:14px 16px;background:#f4f3ec;border-radius:10px;font-size:14.5px;color:#4a4a42}
.cp-foot a{color:#12554A}

@media (max-width:640px){
  .cp-head h1{font-size:25px}
  .cp-body{font-size:16px;line-height:1.9}
  .cp-body h2{font-size:19.5px}
  .cp-key,.cp-trap,.cp-drill,.cp-recap{padding:13px 14px;font-size:15.2px}
  .cp-body table{font-size:14px}
  .cp-body math[display="block"]{font-size:1.02em}
}

/* 总览卡片 */
.cs{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:24px 0 8px}
.cs-card{display:block;border:1px solid #e5e2d6;border-radius:12px;padding:16px 18px 13px;background:#fff;text-decoration:none;transition:border-color .15s,box-shadow .15s}
.cs-card:hover{border-color:#12554A;box-shadow:0 3px 14px rgba(18,85,74,.09)}
.cs-no{font-size:12px;color:#b3aea1;font-weight:800;letter-spacing:.12em}
.cs-n{font-size:17.5px;font-weight:800;color:#1d1d18;margin:3px 0 6px}
.cs-d{font-size:13.5px;color:#6b6b60;line-height:1.7;min-height:46px}
.cs-f{display:flex;justify-content:space-between;align-items:center;font-size:12.5px;color:#9a968a;margin-top:10px;border-top:1px dashed #ece9de;padding-top:9px}
.cs-go{color:#12554A;font-weight:800}

/* 分册专题列表 */
.cl{margin:22px 0 10px}
.cl-row{display:flex;align-items:center;gap:12px;padding:14px 15px;border:1px solid #e8e5d8;border-radius:10px;margin-bottom:9px;background:#fff;text-decoration:none;transition:.13s}
.cl-row:hover{border-color:#12554A;background:#fafcfb;transform:translateX(2px)}
.cl-no{width:27px;height:27px;flex:0 0 27px;border-radius:8px;background:#eef6f2;color:#12554A;font-size:12.5px;font-weight:800;display:flex;align-items:center;justify-content:center}
.cl-t{flex:1;font-size:16px;font-weight:700;color:#22221d;line-height:1.4}
.cl-lv{font-size:11.5px;color:#b8955c;letter-spacing:.04em;white-space:nowrap}
.cl-m{font-size:12px;color:#9a968a;white-space:nowrap}
.cl-empty{color:#9a968a;font-size:15px;padding:20px 0}

@media (max-width:640px){
  .cs{grid-template-columns:1fr}
  .cs-d{min-height:0}
  .cl-row{flex-wrap:wrap;gap:8px}
  .cl-t{flex:1 1 100%;order:-1}
}
.cp-cta{margin:18px 0 0;padding:14px 16px;border:1px solid #d9e7e1;border-left:4px solid #12554A;border-radius:10px;background:#f7faf8;font-size:14px;line-height:1.7}
.cp-cta b{color:var(--ink-0)}
.cp-cta a{color:#12554A;font-weight:600}
.cp-cta span{display:block;color:#5b6b64;font-size:13px;margin-top:4px}
.cs-soon{opacity:.62;background:#faf9f5}
.cs-soon:hover{border-color:#e5e2d6;box-shadow:none}
.cs-tag{font-size:12px;color:#9a968a}

/* 块级公式容器：超宽时可横向滚动，不撑破页面 */
.mathb{display:flex;overflow-x:auto;overflow-y:hidden;margin:.7em 0;padding:2px 0;-webkit-overflow-scrolling:touch}
.mathb>math{margin:0 auto;flex:0 0 auto}
.mathb.is-scroll{background:linear-gradient(to left,rgba(18,85,74,.10) 0,rgba(18,85,74,0) 26px) right/26px 100% no-repeat}
.mathb::-webkit-scrollbar{height:4px}
.mathb::-webkit-scrollbar-thumb{background:#cfd6d2;border-radius:2px}

/* 手机端兜底：超宽行内公式可单独横向滚动 */
@media (max-width:640px){
  .cp-body{overflow-wrap:anywhere}
  .cp-body math[display="inline"]{max-width:100%;overflow-x:auto;overflow-y:hidden;display:inline-block;vertical-align:-.18em}
}

/* 分册页「计划中」条目（还没有正文的讲次） */
.cl-row.is-plan{background:#fbfaf6;border-style:dashed}
.cl-row.is-plan .cl-t{color:#5b6b64;font-weight:500}
.cl-row.is-plan .cl-no{color:#c9c4b6}
.cl-row.is-plan .cl-lv{color:#b0ab9c;background:#f2f0e8}
.cl-note{font-size:12.5px;color:#9a968a;flex:1 1 100%;order:3;margin-top:2px}
@media (min-width:641px){
  .cl-row.is-plan{display:grid;grid-template-columns:40px minmax(0,1.1fr) minmax(0,1.4fr) 70px;align-items:center;gap:10px}
  .cl-row.is-plan .cl-note{flex:none;order:0;margin:0}
}

/* 正文分段：让全站 toc.js 能扫到 section.sec 生成左侧目录（不改变原有观感） */
.cp-body section.sec{margin:0;padding:0;background:none;border:0;scroll-margin-top:84px}
.cp-body .sec-h{display:block;margin:0;padding:0;border:0}
.cp-body section.sec:first-of-type .sec-h h2{margin-top:6px}
