@charset "utf-8";
/* =========================================================================
   compliance.html 专用样式（只服务本页，不污染 main.css / ui.css）
   ========================================================================= */

/* 红色系：暗色沿用 --no；亮色下 #FF6B6B 对比不足，本页局部加深（仅本页生效） */
:root{
  --cpno:var(--no);
  --cpno-07:rgba(255,107,107,.07);
  --cpno-12:rgba(255,107,107,.13);
  --cpno-28:rgba(255,107,107,.28);
  --cpno-32:rgba(255,107,107,.32);
}
:root[data-theme="light"]{
  --cpno:#B32E22;
  --cpno-07:rgba(179,46,34,.06);
  --cpno-12:rgba(179,46,34,.10);
  --cpno-28:rgba(179,46,34,.26);
  --cpno-32:rgba(179,46,34,.30);
}

/* ---------- 紧凑页头 ---------- */
.cp-head{position:relative;padding-top:calc(var(--nav-h) + 58px);padding-bottom:0;overflow:hidden}
.cp-head h1{
  font-size:clamp(28px,5vw,56px);line-height:1.12;font-weight:700;letter-spacing:-.03em;
  max-width:17em;margin-top:4px;
}
.cp-g{
  background:linear-gradient(96deg,var(--cy) 4%,#7FF0D6 46%,var(--am) 108%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.cp-head-lead{margin-top:22px;font-size:17px;line-height:1.85;color:var(--ink-2);max-width:680px}
.cp-head-lead b{color:var(--ink);font-weight:560}
.cp-head-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px}
.cp-head-act{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.cp-head-note{
  margin-top:30px;padding-top:18px;border-top:1px solid var(--hair);
  display:flex;gap:10px;align-items:flex-start;max-width:660px;
  font-size:12.5px;line-height:1.7;color:var(--ink-3);
}
.cp-head-note svg{width:14px;height:14px;flex:none;margin-top:3px;color:var(--ink-4)}

/* 章节速览 */
.cp-jump{
  margin-top:40px;display:flex;flex-wrap:wrap;gap:0;
  border-top:1px solid var(--hair);border-bottom:1px solid var(--hair);
}
.cp-jump a{
  display:flex;align-items:baseline;gap:9px;padding:13px 20px 13px 0;margin-right:20px;
  font-size:13.5px;color:var(--ink-2);transition:color .28s var(--ease);
}
.cp-jump a:hover{color:var(--cy)}
.cp-jump a i{font-family:var(--ff-mono);font-size:10.5px;color:var(--ink-4);font-style:normal;letter-spacing:.1em}
.cp-jump a:hover i{color:var(--cy)}

/* ---------- 通用小件 ---------- */
.cp-sub{font-family:var(--ff-mono);font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--ink-4)}
.cp-h3{font-size:19px;font-weight:640;letter-spacing:-.014em;display:flex;align-items:center;gap:11px;flex-wrap:wrap}
.cp-h3 svg{width:18px;height:18px;color:var(--cy);flex:none}
.cp-lead{color:var(--ink-2);font-size:15px;line-height:1.85;max-width:760px}

/* ---------- 01 三条如实陈述 ---------- */
.cp-state{border-top:1px solid var(--hair)}
.cp-state-i{
  display:grid;grid-template-columns:minmax(0,214px) minmax(0,1fr);gap:10px 28px;
  padding:26px 4px;border-bottom:1px solid var(--hair);
  transition:background .35s var(--ease),padding-left .35s var(--ease);
}
.cp-state-i:hover{background:linear-gradient(90deg,var(--cy-05),transparent 62%);padding-left:12px}
.cp-state-k{display:flex;flex-direction:column;gap:10px;align-items:flex-start}
.cp-state-k .n{font-family:var(--ff-mono);font-size:11.5px;color:var(--ink-4);letter-spacing:.12em}
.cp-state-k h4{font-size:17.5px;font-weight:620;letter-spacing:-.012em}
.cp-state-i p{color:var(--ink-2);font-size:15px;line-height:1.85;max-width:720px}

/* ---------- 02 允许 / 禁止 对照 ---------- */
.cp-cmp{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.cp-col{border:1px solid var(--hair);border-radius:var(--r-md);overflow:hidden;
  background:linear-gradient(180deg,var(--panel-hi),var(--panel))}
.cp-col-h{display:flex;align-items:center;gap:10px;padding:16px 20px;border-bottom:1px solid var(--hair);
  font-size:14.5px;font-weight:620;letter-spacing:-.01em}
.cp-col-h svg{width:16px;height:16px;flex:none}
.cp-col-h .tag{margin-left:auto;font-family:var(--ff-mono);font-size:10px;letter-spacing:.12em;
  padding:3px 8px;border-radius:3px;white-space:nowrap;font-weight:400}
.cp-col.ok .cp-col-h{color:var(--cy);background:var(--cy-05);border-bottom-color:var(--cy-35)}
.cp-col.ok .cp-col-h .tag{border:1px solid var(--cy-35);color:var(--cy)}
.cp-col.no .cp-col-h{color:var(--cpno);background:var(--cpno-07);border-bottom-color:var(--cpno-28)}
.cp-col.no .cp-col-h .tag{border:1px solid var(--cpno-32);color:var(--cpno)}
.cp-col ul{padding:8px 20px 18px}
.cp-col li{display:flex;align-items:flex-start;gap:11px;padding:10px 0;border-bottom:1px solid var(--hair);
  font-size:14.5px;line-height:1.7;color:var(--ink)}
.cp-col li:last-child{border-bottom:0}
.cp-col li em{font-style:normal;color:var(--ink-3);font-size:13px;display:block;margin-top:2px}
.cp-mk{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:3px;flex:none;margin-top:3px}
.cp-mk svg{width:11px;height:11px;stroke-width:2.4}
.cp-mk.ok{background:var(--cy-10);color:var(--cy)}
.cp-mk.no{background:var(--cpno-12);color:var(--cpno)}
.cp-col.no li{color:var(--ink-2)}
.cp-col.no li b{color:var(--ink);font-weight:560}

/* 禁做功能表内的红色判定标记 */
.mk.cp-no{background:var(--cpno-12);color:var(--cpno);font-size:12px}
.matrix td .cp-alt{color:var(--cy)}

/* ---------- 03 流程图 ---------- */
.cp-flowwrap{
  overflow-x:auto;border:1px solid var(--hair);border-radius:var(--r-md);padding:24px 22px;
  background:linear-gradient(180deg,var(--panel-hi),var(--panel));
}
.cp-flow{display:block;width:100%;min-width:940px;height:auto;font-family:var(--ff)}
.cp-flow .fn{font-family:var(--ff-mono);font-size:11px;fill:var(--ink-4);letter-spacing:.12em}
.cp-flow .fbox{fill:var(--panel-hi);stroke:var(--hair-2);stroke-width:1}
.cp-flow .fbox.hot{fill:var(--cy-05);stroke:var(--cy-35)}
.cp-flow .ft{font-size:15.5px;font-weight:620;fill:var(--ink)}
.cp-flow .fs{font-size:11.5px;fill:var(--ink-3)}
.cp-flow .farr{fill:none;stroke:var(--hair-3);stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}
.cp-flow .fbr{fill:none;stroke:var(--cy-35);stroke-width:1}
.cp-flow .fbt{font-size:12.5px;fill:var(--cy);text-anchor:middle}
.cp-flowhint{display:none;margin-top:12px;font-family:var(--ff-mono);font-size:11px;
  letter-spacing:.1em;color:var(--ink-4)}

/* ---------- 05 六条安全约束 ---------- */
.cp-six{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--hair);
  border:1px solid var(--hair);border-radius:var(--r-md);overflow:hidden}
.cp-six-i{background:var(--panel);padding:26px 24px;transition:background .4s var(--ease)}
.cp-six-i:hover{background:var(--panel-hi)}
.cp-six-i .n{font-family:var(--ff-mono);font-size:11px;color:var(--ink-4);letter-spacing:.12em}
.cp-six-i h4{font-size:16.5px;font-weight:620;margin-top:12px;display:flex;align-items:center;gap:9px}
.cp-six-i h4 svg{width:17px;height:17px;color:var(--cy);flex:none}
.cp-six-i p{color:var(--ink-2);font-size:14px;line-height:1.8;margin-top:10px}

/* ---------- 06 诚实性索引 ---------- */
.cp-honest{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.cp-honest li{border:1px solid var(--hair);border-radius:var(--r-sm);padding:15px 17px;
  background:rgba(255,255,255,.014);transition:border-color .35s var(--ease)}
:root[data-theme="light"] .cp-honest li{background:rgba(8,12,20,.018)}
.cp-honest li:hover{border-color:var(--cy-35)}
.cp-honest b{display:block;font-size:15px;font-weight:620;letter-spacing:-.01em}
.cp-honest span{display:block;color:var(--ink-3);font-size:13px;line-height:1.65;margin-top:5px}
.cp-honest .n{font-family:var(--ff-mono);font-size:10.5px;color:var(--ink-4);letter-spacing:.12em}

/* ---------- 07 举报入口 ---------- */
.cp-report{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);gap:36px;align-items:start}
.cp-formwrap{border:1px solid var(--hair);border-radius:var(--r-md);padding:28px 28px 26px;
  background:linear-gradient(180deg,var(--panel-hi),var(--panel))}
.cp-formwrap h3{font-size:19px;font-weight:640;letter-spacing:-.014em}
.cp-formwrap > p{color:var(--ink-2);font-size:14px;line-height:1.8;margin-top:10px;margin-bottom:22px}
.cp-types{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 24px}
.cp-side{display:flex;flex-direction:column;gap:18px}
.cp-contactcard{border:1px solid var(--hair);border-radius:var(--r-md);padding:24px 26px;
  background:linear-gradient(180deg,var(--panel-hi),var(--panel))}
.cp-contactcard h4{font-size:16.5px;font-weight:620;display:flex;align-items:center;gap:10px}
.cp-contactcard h4 svg{width:17px;height:17px;color:var(--cy);flex:none}
.cp-contactcard dl{margin-top:16px}
.cp-contactcard dt{font-family:var(--ff-mono);font-size:10.5px;letter-spacing:.13em;color:var(--ink-4);
  text-transform:uppercase;margin-top:14px}
.cp-contactcard dt:first-child{margin-top:0}
.cp-contactcard dd{margin:5px 0 0;font-size:15px;color:var(--ink);line-height:1.7}
.cp-contactcard dd a:hover{color:var(--cy)}
.cp-contactcard dd small{display:block;font-size:12.5px;color:var(--ink-3);line-height:1.7;margin-top:3px}

/* 权威部门入口卡 */
.cp-orgs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--hair);
  border:1px solid var(--hair);border-radius:var(--r-md);overflow:hidden}
.cp-org{background:var(--panel);padding:26px 26px 24px;display:flex;flex-direction:column;
  transition:background .4s var(--ease)}
.cp-org:hover{background:var(--panel-hi)}
.cp-org .n{font-family:var(--ff-mono);font-size:10.5px;color:var(--ink-4);letter-spacing:.12em}
.cp-org h4{font-size:16.5px;font-weight:620;margin-top:11px;letter-spacing:-.012em;line-height:1.45}
.cp-org p{color:var(--ink-2);font-size:14px;line-height:1.78;margin-top:10px;flex:1}
.cp-org-meta{margin-top:16px;padding-top:14px;border-top:1px solid var(--hair);
  display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center}
.cp-org-tel{font-family:var(--ff-mono);font-size:13px;color:var(--ink-2);display:inline-flex;align-items:center;gap:8px}
.cp-org-tel svg{width:14px;height:14px;color:var(--ink-4);flex:none}
.cp-org-tel b{color:var(--ink);font-weight:560;letter-spacing:.04em}
.cp-org .alink{font-size:13.5px}
.cp-org-nolink{font-family:var(--ff-mono);font-size:11px;letter-spacing:.08em;color:var(--am);
  border:1px solid var(--am-30);background:var(--am-10);border-radius:3px;padding:4px 9px;line-height:1.5}

/* ---------- 08 协议文档 ---------- */
.cp-docs{border-top:1px solid var(--hair)}
.cp-doc{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px 24px;align-items:center;
  padding:19px 4px;border-bottom:1px solid var(--hair)}
.cp-doc h4{font-size:16px;font-weight:600}
.cp-doc p{color:var(--ink-3);font-size:13.5px;line-height:1.7;margin-top:5px;max-width:640px}

/* ---------- 响应式 ---------- */
@media (max-width:1180px){
  .cp-report{grid-template-columns:minmax(0,1fr);gap:26px}
}
@media (max-width:960px){
  .cp-cmp{grid-template-columns:minmax(0,1fr)}
  .cp-six{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cp-honest{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cp-orgs{grid-template-columns:minmax(0,1fr)}
  .cp-state-i{grid-template-columns:minmax(0,1fr);gap:12px}
  .cp-flowhint{display:block}
  .cp-head{padding-top:calc(var(--nav-h) + 40px)}
}
@media (max-width:600px){
  .cp-six{grid-template-columns:minmax(0,1fr)}
  .cp-honest{grid-template-columns:minmax(0,1fr)}
  .cp-formwrap{padding:22px 18px}
  .cp-contactcard{padding:20px 18px}
  .cp-org{padding:22px 18px}
  .cp-flowwrap{padding:18px 14px}
  .cp-jump a{padding:11px 14px 11px 0;margin-right:14px;font-size:13px}
  .cp-doc{grid-template-columns:minmax(0,1fr)}
}

/* =========================================================================
   移动端（≤720px）—— 与 assets/css/mobile.css 同一套尺度
   ========================================================================= */
@media (max-width:720px){
  .page .cp-head{padding-top:calc(var(--nav-h) + 24px)}
  .cp-head h1{font-size:clamp(26px,7.2vw,32px);line-height:1.16;letter-spacing:-.036em;max-width:none}
  .cp-head-lead{margin-top:14px;font-size:15.5px;line-height:1.76;max-width:none}
  .cp-head-note{margin-top:20px;padding-top:14px;font-size:11.8px;line-height:1.68;max-width:none}
  .cp-jump a{padding:11px 14px 11px 0;margin-right:14px;font-size:12.8px;min-height:44px}
  .cp-jump a i{font-size:9.8px;letter-spacing:.08em}
  .cp-sub{font-size:9.8px;letter-spacing:.09em}
  .cp-h3{font-size:16.4px;gap:9px}
  .cp-lead{font-size:14.8px;line-height:1.76;max-width:none}

  .cp-state-i{padding:16px 0;gap:9px}
  .cp-state-k .n{font-size:10px;letter-spacing:.09em}
  .cp-state-k h4{font-size:15.8px}
  .cp-state-i p{font-size:14.6px;line-height:1.74;max-width:none}

  .cp-col-h{padding:13px 15px;font-size:14px;gap:9px}
  .cp-col-h .tag{font-size:9.2px;letter-spacing:.08em}
  .cp-col ul{padding:6px 15px 14px}
  .cp-col li{padding:9px 0;font-size:14.2px;line-height:1.66;gap:9px}
  .cp-col li em{font-size:12.4px}

  .cp-flowhint{margin-top:9px;font-size:10px}
  .cp-six-i{padding:17px 14px}
  .cp-six-i .n{font-size:10px;letter-spacing:.09em}
  .cp-six-i h4{font-size:15.4px;margin-top:9px;gap:8px}
  .cp-six-i p{font-size:14.2px;line-height:1.74;margin-top:8px}
  .cp-honest{gap:9px}
  .cp-honest li{padding:13px 14px}
  .cp-honest b{font-size:14.6px}
  .cp-honest span{font-size:12.6px;line-height:1.6;margin-top:4px}
  .cp-honest .n{font-size:9.8px;letter-spacing:.09em}

  .cp-report{gap:24px}
  .cp-formwrap{padding:18px 15px 18px}
  .cp-formwrap h3{font-size:16.6px}
  .cp-formwrap > p{font-size:13.8px;line-height:1.74;margin-top:8px;margin-bottom:16px}
  .cp-types{gap:7px;margin:14px 0 18px}
  .cp-contactcard{padding:16px 15px}
  .cp-contactcard h4{font-size:15.4px;gap:9px}
  .cp-contactcard dl{margin-top:13px}
  .cp-contactcard dt{font-size:9.8px;letter-spacing:.09em;margin-top:12px}
  .cp-contactcard dd{font-size:14.6px;line-height:1.66;margin-top:4px}
  .cp-contactcard dd small{font-size:12.2px;margin-top:3px}

  .cp-org{padding:17px 15px 16px}
  .cp-org .n{font-size:9.8px;letter-spacing:.09em}
  .cp-org h4{font-size:15.4px;margin-top:9px;line-height:1.42}
  .cp-org p{font-size:14.2px;line-height:1.72;margin-top:8px}
  .cp-org-meta{margin-top:13px;padding-top:12px}
  .cp-org-tel{font-size:12.4px}
  .cp-org .alink{font-size:13px}
  .cp-org-nolink{font-size:10.5px;letter-spacing:.07em}

  .cp-doc{padding:15px 0;gap:9px 0}
  .cp-doc h4{font-size:15.2px}
  .cp-doc p{font-size:12.8px;line-height:1.66;margin-top:4px;max-width:none}
}
