/* ======================================================================
   开源许可证兼容性自查 · 合规台账主题（石板灰 + 判定徽章）
   ====================================================================== */
.olc{
  --ink:#232a31; --sub:#5d6a76; --faint:#94a2ae;
  --bg:#f2f5f7; --card:#ffffff; --card2:#eaf0f3; --line:#d7dfe5; --line2:#e4ebef;
  --pri:#0f6b52; --pri-2:#14b887; --pri-soft:#e2f4ed; --pri-ink:#0b5340;
  --warn:#a16207; --warn-soft:#fdf4dd;
  --bad:#b3261e; --bad-soft:#fcebea;
  --r:13px;
  --shadow:0 1px 2px rgba(35,42,49,.06),0 10px 26px rgba(35,42,49,.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:
    linear-gradient(180deg, rgba(15,107,82,.05), transparent 240px),
    repeating-linear-gradient(90deg, transparent 0 60px, rgba(93,106,118,.035) 60px 61px),
    var(--bg);
  padding:0 16px 56px;
}
:root[data-theme="dark"] .olc{
  --ink:#e6edf2; --sub:#9db0bd; --faint:#66788a;
  --bg:#10151a; --card:#171e24; --card2:#1d262e; --line:#2b3742; --line2:#232e38;
  --pri:#34d399; --pri-2:#6ee7b7; --pri-soft:rgba(52,211,153,.13); --pri-ink:#a7f3d0;
  --warn:#fbbf24; --warn-soft:rgba(251,191,36,.12);
  --bad:#f87171; --bad-soft:rgba(248,113,113,.13);
  --shadow:0 1px 2px rgba(0,0,0,.4),0 12px 30px rgba(0,0,0,.4);
}
.olc *{box-sizing:border-box;}
.olc-wrap{max-width:1120px;margin:0 auto;}
.olc code{font-family:"JetBrains Mono",ui-monospace,Consolas,monospace;}

/* ---------- Hero ---------- */
.olc-hero{margin-top:22px;background:var(--card);border:1px solid var(--line);border-left:5px solid var(--pri);
  border-radius:var(--r);box-shadow:var(--shadow);padding:20px 24px;}
.olc-hero h1{margin:0 0 6px;font-size:clamp(22px,3.4vw,29px);font-weight:900;}
.olc-hero p{margin:0;color:var(--sub);font-size:14.5px;max-width:820px;}
.olc-hero p b{color:var(--pri-ink);}

/* ---------- 面板 ---------- */
.olc-panel{margin-top:16px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:18px 20px;}
.olc-panel h2{margin:0 0 4px;font-size:15.5px;font-weight:900;display:flex;gap:8px;align-items:center;}
.olc-panel h2 i{font-style:normal;font-size:11px;font-weight:800;color:#fff;background:var(--pri);border-radius:6px;padding:2px 8px;}
:root[data-theme="dark"] .olc-panel h2 i{color:#062018;}
.olc-tip{font-size:12.5px;color:var(--sub);margin:0 0 12px;}
.olc-opts{display:flex;flex-wrap:wrap;gap:8px;}
.olc-opt{border:1px solid var(--line);background:var(--card2);color:var(--sub);border-radius:10px;
  padding:8px 14px;font-size:13.5px;cursor:pointer;font-weight:700;transition:all .14s;text-align:left;}
.olc-opt small{display:block;font-weight:500;font-size:11px;color:var(--faint);}
.olc-opt:hover{border-color:var(--pri-2);}
.olc-opt.on{background:var(--pri-soft);border-color:var(--pri);color:var(--pri-ink);}
.olc-lic{display:flex;flex-wrap:wrap;gap:8px;}
.olc-lic .olc-opt.on{background:var(--pri);border-color:var(--pri);color:#fff;}
:root[data-theme="dark"] .olc-lic .olc-opt.on{color:#062018;}
.olc-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;align-items:center;}
.olc-btn{border:none;border-radius:10px;padding:9px 18px;font-size:14px;font-weight:800;cursor:pointer;transition:all .15s;}
.olc-btn-go{background:var(--pri);color:#fff;}
:root[data-theme="dark"] .olc-btn-go{color:#062018;}
.olc-btn-go:hover{background:var(--pri-2);}
.olc-btn-ghost{background:var(--card2);color:var(--pri-ink);border:1px solid var(--line);}
.olc-btn-ghost:hover{border-color:var(--pri-2);}
.olc-msg{margin-top:10px;font-size:13px;min-height:20px;font-weight:700;}
.olc-msg.err{color:var(--bad);}
.olc-msg.ok{color:var(--pri);}

/* ---------- 判定结果 ---------- */
.olc-verdicts{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:12px;margin-top:16px;}
.olc-v{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:14px 16px;}
.olc-v h3{margin:0 0 8px;font-size:15px;font-weight:900;display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.olc-badge{font-size:11px;font-weight:800;border-radius:6px;padding:2px 8px;}
.olc-badge.ok{background:var(--pri-soft);color:var(--pri-ink);}
.olc-badge.cond{background:var(--warn-soft);color:var(--warn);}
.olc-badge.no{background:var(--bad-soft);color:var(--bad);}
.olc-v dl{margin:0;font-size:13px;}
.olc-v dt{float:left;clear:left;width:74px;color:var(--faint);font-weight:700;}
.olc-v dd{margin:0 0 4px 82px;color:var(--ink);}
.olc-v .olc-duty{margin-top:8px;padding-top:8px;border-top:1px dashed var(--line);font-size:12.5px;color:var(--sub);}
.olc-v .olc-duty b{color:var(--ink);}
.olc-summary{margin-top:14px;border-radius:var(--r);padding:14px 18px;font-size:14px;font-weight:700;border:1px solid var(--line);background:var(--card);}
.olc-summary.ok{background:var(--pri-soft);border-color:var(--pri);color:var(--pri-ink);}
.olc-summary.cond{background:var(--warn-soft);border-color:var(--warn);color:var(--warn);}
.olc-summary.no{background:var(--bad-soft);border-color:var(--bad);color:var(--bad);}
.olc-summary small{display:block;font-weight:500;margin-top:4px;opacity:.85;}

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