/* ======================================================================
   无障碍合规检查清单 · 独立设计（剪贴板 / 验收单主题）
   浅色 = 冷灰板 + 森林绿勾选；深色 = 夜间巡检
   ====================================================================== */
.acl{
  --ink:#1e2a26; --sub:#5c6f68; --faint:#93a79f;
  --bg:#eef2f0; --card:#ffffff; --card2:#e9efec; --line:#d5e0da; --line2:#e2eae6;
  --pri:#15803d; --pri-2:#22c55e; --pri-soft:#e2f3e7; --pri-ink:#14532d;
  --slate:#334155; --slate-soft:#e8edf4;
  --amber:#b45309; --amber-soft:#fdf1dc;
  --red:#b42323; --red-soft:#fbecec;
  --r:14px;
  --shadow:0 1px 2px rgba(30,42,38,.06),0 12px 28px rgba(21,128,61,.08);
  color:var(--ink);
  font-family:-apple-system,"PingFang SC","HarmonyOS Sans SC","Microsoft YaHei",system-ui,sans-serif;
  font-size:15px; line-height:1.75;
  background:
    radial-gradient(720px 340px at 94% -120px, rgba(34,197,94,.10), transparent 60%),
    radial-gradient(640px 320px at -8% 130%, rgba(51,65,85,.06), transparent 60%),
    var(--bg);
  padding:0 16px 56px;
}
:root[data-theme="dark"] .acl{
  --ink:#e4ece8; --sub:#9bb0a8; --faint:#68796f;
  --bg:#0f1513; --card:#171f1b; --card2:#1d2823; --line:#2b3a33; --line2:#243029;
  --pri:#4ade80; --pri-2:#86efac; --pri-soft:rgba(74,222,128,.12); --pri-ink:#bbf7d0;
  --slate:#94a3b8; --slate-soft:rgba(148,163,184,.12);
  --amber:#fbbf24; --amber-soft:rgba(251,191,36,.10);
  --red:#f87171; --red-soft:rgba(248,113,113,.12);
  --shadow:0 1px 2px rgba(0,0,0,.4),0 12px 32px rgba(0,0,0,.4);
}
.acl *{box-sizing:border-box;}
.acl-wrap{max-width:1140px;margin:0 auto;}
.acl pre,.acl textarea{font-family:"JetBrains Mono",ui-monospace,SFMono-Regular,Consolas,monospace;}

/* ---------- 首屏：剪贴板 Hero ---------- */
.acl-hero{margin-top:22px;position:relative;background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:30px 28px 22px 34px;overflow:hidden;}
.acl-clip{position:absolute;top:-14px;left:50%;transform:translateX(-50%);width:150px;height:30px;border-radius:8px;background:var(--slate);border:3px solid var(--slate);}
.acl-clip::after{content:"";position:absolute;top:6px;left:50%;transform:translateX(-50%);width:70px;height:10px;border-radius:5px;background:var(--card);}
.acl-hero h1{margin:6px 0 8px;font-size:clamp(24px,3.6vw,32px);font-weight:900;color:var(--pri-ink);}
.acl-hero p{margin:0;color:var(--sub);max-width:800px;}
.acl-hero p b{color:var(--ink);}

/* ---------- 布局 ---------- */
.acl-desk{display:grid;grid-template-columns:1.5fr .9fr;gap:18px;margin-top:20px;}
@media (max-width:960px){.acl-desk{grid-template-columns:1fr;}}
.acl-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:18px 18px 16px;}
.acl-card h2{margin:0 0 12px;font-size:16px;font-weight:800;display:flex;align-items:center;gap:8px;color:var(--pri-ink);}
.acl-card h2 .acl-num{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:7px;background:var(--pri);color:#fff;font-size:12px;font-weight:800;}
:root[data-theme="dark"] .acl-card h2 .acl-num{color:#052e16;}

/* 分组 */
.acl-group{margin-bottom:16px;}
.acl-gtitle{display:flex;align-items:center;justify-content:space-between;font-size:13.5px;font-weight:800;color:var(--slate);background:var(--slate-soft);border-radius:8px;padding:6px 12px;margin-bottom:8px;}
:root[data-theme="dark"] .acl-gtitle{color:var(--ink);}
.acl-gtitle .acl-gbar{width:120px;height:6px;border-radius:3px;background:var(--line);overflow:hidden;}
.acl-gtitle .acl-gbar i{display:block;height:100%;background:var(--pri);width:0;transition:width .2s;}
.acl-item{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--line2);border-radius:10px;padding:9px 12px;margin-bottom:6px;cursor:pointer;transition:all .12s;background:var(--card);}
.acl-item:hover{border-color:var(--pri-2);}
.acl-item.done{background:var(--pri-soft);border-color:var(--pri);}
.acl-item input{margin-top:5px;width:16px;height:16px;accent-color:var(--pri);cursor:pointer;flex:none;}
.acl-item .acl-t{font-size:13.5px;font-weight:700;color:var(--ink);}
.acl-item .acl-t .acl-crit{font-family:ui-monospace,Consolas,monospace;font-size:11.5px;color:var(--sub);font-weight:600;margin-left:6px;}
.acl-item .acl-d{font-size:12.5px;color:var(--sub);}
.acl-lv{flex:none;font-size:11px;font-weight:900;border-radius:6px;padding:2px 8px;margin-top:2px;}
.acl-lv.A{background:var(--red-soft);color:var(--red);}
.acl-lv.AA{background:var(--amber-soft);color:var(--amber);}

/* ---------- 评分面板 ---------- */
.acl-score{position:sticky;top:16px;}
.acl-ring{display:flex;align-items:center;gap:16px;}
.acl-pct{font-size:40px;font-weight:900;color:var(--pri-ink);line-height:1;}
.acl-pct small{font-size:14px;color:var(--sub);font-weight:700;}
.acl-verdict{margin-top:10px;font-size:13px;font-weight:800;padding:8px 12px;border-radius:9px;}
.acl-verdict.pass{background:var(--pri-soft);color:var(--pri-ink);}
.acl-verdict.mid{background:var(--amber-soft);color:var(--amber);}
.acl-verdict.low{background:var(--red-soft);color:var(--red);}
.acl-rows{margin-top:12px;font-size:13px;color:var(--sub);}
.acl-row{display:flex;justify-content:space-between;border-bottom:1px dashed var(--line2);padding:4px 0;}
.acl-row b{color:var(--ink);}
.acl-btns{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;}
.acl-btn{border:none;border-radius:10px;padding:9px 16px;font-size:13.5px;font-weight:800;cursor:pointer;transition:all .15s;}
.acl-btn-go{background:var(--pri);color:#fff;}
:root[data-theme="dark"] .acl-btn-go{color:#052e16;}
.acl-btn-go:hover{background:var(--pri-2);}
.acl-btn-ghost{background:var(--card2);color:var(--pri-ink);border:1px solid var(--line);}
.acl-btn-ghost:hover{border-color:var(--pri-2);}
.acl-msg{margin-top:10px;font-size:13px;font-weight:700;padding:8px 12px;border-radius:9px;min-height:20px;}
.acl-msg:empty{padding:0;min-height:0;}
.acl-msg.ok{background:var(--pri-soft);color:var(--pri-ink);}
.acl-msg.err{background:var(--red-soft);color:var(--red);}
.acl-report{margin-top:12px;background:var(--card2);border:1px solid var(--line);border-radius:10px;padding:12px 14px;font-size:12.5px;line-height:1.8;white-space:pre-wrap;max-height:260px;overflow:auto;display:none;font-family:ui-monospace,Consolas,monospace;}

/* ---------- FAQ ---------- */
.acl-faq{margin-top:34px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:22px 24px;box-shadow:var(--shadow);}
.acl-faq h2{margin:0 0 12px;font-size:19px;font-weight:900;color:var(--pri-ink);}
.acl-faq h3{margin:18px 0 6px;font-size:15.5px;font-weight:800;color:var(--pri);}
.acl-faq p{margin:0;color:var(--sub);font-size:14px;}
.acl-faq p b{color:var(--ink);}

/* ---------- 扩展：16 条补充准则 / 筛选 / 进度 / 对照表 ---------- */
.aclx-panel{margin-top:18px;}
.aclx-lead{margin:0 0 12px;font-size:13.5px;color:var(--sub);}
.aclx-lead b{color:var(--ink);}
.aclx-tools{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:10px;}
.aclx-q{flex:1 1 220px;min-width:0;padding:8px 12px;border:1px solid var(--line);border-radius:9px;background:var(--card2);color:var(--ink);font-size:13px;outline:none;}
.aclx-q:focus{border-color:var(--pri-2);box-shadow:0 0 0 3px var(--pri-soft);}
.aclx-chips{display:flex;flex-wrap:wrap;gap:6px;}
.aclx-chip{border:1px solid var(--line);background:var(--card2);color:var(--sub);border-radius:999px;padding:5px 13px;font-size:12.5px;font-weight:800;cursor:pointer;}
.aclx-chip.on{background:var(--pri);border-color:var(--pri);color:#fff;}
:root[data-theme="dark"] .aclx-chip.on{color:#052e16;}
.aclx-prog{display:flex;flex-wrap:wrap;gap:12px;align-items:center;font-size:13px;color:var(--sub);font-weight:700;margin-bottom:6px;}
.aclx-prog b{color:var(--pri-ink);}
.aclx-bar{flex:1 1 160px;height:8px;border-radius:4px;background:var(--line);overflow:hidden;min-width:120px;}
.aclx-bar i{display:block;height:100%;width:0;background:var(--pri);transition:width .2s;}
.aclx-prog .acl-btn{padding:6px 12px;font-size:12.5px;}
.aclx-msg{font-size:13px;font-weight:700;border-radius:9px;min-height:0;}
.aclx-msg.ok{background:var(--pri-soft);color:var(--pri-ink);padding:7px 12px;}
.aclx-msg.err{background:var(--red-soft);color:var(--red);padding:7px 12px;}
.aclx-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px;}
@media (max-width:820px){.aclx-grid{grid-template-columns:1fr;}}
.aclx-item{display:block;border:1px solid var(--line2);border-radius:10px;padding:10px 12px;cursor:pointer;background:var(--card);transition:all .12s;}
.aclx-item:hover{border-color:var(--pri-2);}
.aclx-item.done{background:var(--pri-soft);border-color:var(--pri);}
.aclx-top{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-bottom:4px;}
.aclx-t{font-size:13.5px;font-weight:800;color:var(--ink);}
.aclx-t code{font-family:ui-monospace,Consolas,monospace;font-size:11.5px;font-weight:700;color:var(--pri-ink);background:var(--card2);border:1px solid var(--line2);border-radius:5px;padding:0 5px;margin-right:5px;}
.aclx-lv{font-size:11px;font-weight:900;border-radius:6px;padding:1px 7px;}
.aclx-lv.A{background:var(--red-soft);color:var(--red);}
.aclx-lv.AA{background:var(--amber-soft);color:var(--amber);}
.aclx-new{font-size:10.5px;font-weight:900;border-radius:6px;padding:1px 7px;background:var(--slate-soft);color:var(--slate);}
.aclx-item .aclx-d{display:block;font-size:12.5px;color:var(--sub);line-height:1.65;}
.aclx-chk{display:flex;align-items:center;gap:6px;margin-top:6px;font-size:12px;font-weight:700;color:var(--sub);}
.aclx-chk input{width:15px;height:15px;accent-color:var(--pri);cursor:pointer;}
.aclx-empty{padding:26px 10px;text-align:center;font-size:13px;color:var(--sub);border:1px dashed var(--line);border-radius:10px;margin-top:10px;}
.aclx-empty[hidden]{display:none;}
.aclx-h3{margin:20px 0 8px;font-size:14.5px;font-weight:800;color:var(--pri-ink);}
.aclx-tblwrap{overflow-x:auto;border:1px solid var(--line2);border-radius:10px;}
.aclx-tbl{width:100%;min-width:620px;border-collapse:collapse;font-size:12.5px;}
.aclx-tbl th,.aclx-tbl td{padding:7px 10px;border-bottom:1px solid var(--line2);text-align:left;color:var(--sub);}
.aclx-tbl th{background:var(--card2);color:var(--ink);font-weight:800;white-space:nowrap;}
.aclx-tbl tbody tr:last-child td{border-bottom:none;}
.aclx-tbl td:first-child{color:var(--ink);font-weight:700;white-space:nowrap;}
.aclx-tbl td:nth-child(2),.aclx-tbl td:nth-child(3){white-space:nowrap;font-weight:700;}
.aclx-figure{margin-top:6px;overflow-x:auto;border:1px solid var(--line2);border-radius:10px;background:var(--card2);padding:8px;}
.aclx-figure svg{min-width:560px;display:block;}
