/* ======================================================================
 * 54 · 翡翠真伪鉴别 —— 「墨玉 · 金印」
 * 视觉：深墨绿 + 鎏金；帝王绿渐变印章式侧栏、自查打分卡；
 *       与本批其余 10 页不共用配色与构图。
 * ====================================================================== */

.nx.jd {
    --bg: #f3f4f0;
    --bg2: #e9ebe4;
    --card: #ffffff;
    --card2: #f4f5ef;
    --card3: #eaecdf;
    --ink: #1b231e;
    --ink2: #414d45;
    --muted: #77837a;
    --line: #d7dcd2;
    --line2: #e5e8de;
    --accent: #1f6f54;          /* 翡翠绿 */
    --accent-ink: #f4fbf7;
    --accent-soft: #dcedd9;
    --accent2: #a8802f;         /* 金 */
    --accent2-soft: #f2e8cd;
    --ok: #2c7a4b;
    --ok-bg: #e1f2e7;
    --warn: #8f6400;
    --warn-bg: #f8efd4;
    --bad: #a83a32;
    --bad-bg: #f9e5e1;
    --info: #1a6e84;
    --info-bg: #e0f0f4;
    --radius: 15px;
    --radius-sm: 10px;
    --font-head: "Songti SC", "STSong", "SimSun", "PingFang SC", "Microsoft YaHei", serif;
    --head-weight: 700;
    --tracking: .02em;

    background:
        radial-gradient(circle at 12% -4%, rgba(31, 111, 84, .08), transparent 38%),
        var(--bg);
}
:root[data-theme="dark"] .nx.jd {
    --bg: #10150f;
    --bg2: #151b14;
    --card: #1a211a;
    --card2: #202820;
    --card3: #29332a;
    --ink: #ecf1ea;
    --ink2: #c2ccc1;
    --muted: #87928a;
    --line: #313c31;
    --line2: #273026;
    --accent: #5aab87;
    --accent-ink: #0c1710;
    --accent-soft: #173226;
    --accent2: #d0aa55;
    --accent2-soft: #372c12;
    --ok: #6cbb89;
    --ok-bg: #1c3526;
    --warn: #d5af5b;
    --warn-bg: #352b13;
    --bad: #e0827a;
    --bad-bg: #3c201c;
    --info: #5fb7d0;
    --info-bg: #143038;
    background:
        radial-gradient(circle at 12% -4%, rgba(90, 171, 135, .09), transparent 38%),
        var(--bg);
}

/* ---------- 首屏 ---------- */
.jd-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.6fr) minmax(240px, .9fr);
    gap: 0;
    margin: 22px 0 6px;
    background: var(--card);
    border: 1px solid var(--line);
    border-radius: var(--radius);
    box-shadow: var(--shadow);
    overflow: hidden;
}
.jd-main { padding: 28px 30px 26px; min-width: 0; }
.jd-kicker {
    font: 700 11px var(--font-mono);
    letter-spacing: .24em;
    text-transform: uppercase;
    color: var(--accent);
    margin: 0 0 8px;
}
.jd-hero h1 { font-size: clamp(30px, 3.8vw, 44px); margin-bottom: 12px; }
.jd-lede { font-size: 14.8px; line-height: 1.95; color: var(--ink2); margin: 0 0 18px; max-width: 58em; }
.jd-lede b { color: var(--accent); border-bottom: 2px solid var(--accent-soft); }

/* ---------- 自查打分 ---------- */
.jd-score-hd { display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap; margin-bottom: 12px; }
.jd-score-hd b { font-size: 16px; color: var(--accent); }
.jd-score-hd span { font-size: 12.5px; color: var(--muted); }

.jd-checks { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; margin-bottom: 14px; }
.jd-check {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    border: 1px solid var(--line2);
    border-radius: var(--radius-sm);
    background: var(--card2);
    padding: 11px 13px;
    cursor: pointer;
    font-size: 13.4px;
    line-height: 1.7;
    color: var(--ink2);
    transition: border-color .15s, background .15s;
}
.jd-check:hover { border-color: var(--accent); }
.jd-check input { margin-top: 3px; accent-color: var(--accent); flex: none; }
.jd-check b { color: var(--ink); display: block; }
.jd-check.on { border-color: var(--bad); background: var(--bad-bg); }

.jd-verdict { display: none; margin-bottom: 14px; }
.jd-verdict.is-on { display: block; }
.jd-risk {
    border-radius: var(--radius-sm);
    padding: 14px 17px;
    border-left: 5px solid var(--line);
    background: var(--card2);
}
.jd-risk h3 { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; margin-bottom: 6px; }
.jd-risk h3 .lv { font-size: 13px; padding: 4px 11px; border-radius: 999px; }
.jd-risk p { font-size: 13.6px; line-height: 1.85; color: var(--ink2); margin: 0; }
.jd-risk.is-low  { border-left-color: var(--ok); }
.jd-risk.is-low  .lv { background: var(--ok-bg); color: var(--ok); }
.jd-risk.is-mid  { border-left-color: var(--warn); }
.jd-risk.is-mid  .lv { background: var(--warn-bg); color: var(--warn); }
.jd-risk.is-high { border-left-color: var(--bad); }
.jd-risk.is-high .lv { background: var(--bad-bg); color: var(--bad); }
.jd-risk b { color: var(--ink); }

.jd-acts { display: flex; flex-wrap: wrap; gap: 8px; }

/* ---------- 侧栏印章式分级 ---------- */
.jd-side {
    background:
        linear-gradient(160deg, rgba(31, 111, 84, .1), transparent 46%),
        var(--bg2);
    border-left: 1px solid var(--line);
    padding: 22px 18px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.jd-side-hd {
    font: 700 13px var(--font-head);
    letter-spacing: .4em;
    color: var(--accent2);
    margin-bottom: 4px;
}
.jd-grade {
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    background: var(--card);
    padding: 12px 14px;
    position: relative;
    padding-left: 18px;
}
.jd-grade::before {
    content: '';
    position: absolute;
    left: 0;
    top: 10px;
    bottom: 10px;
    width: 4px;
    border-radius: 4px;
    background: var(--line);
}
.jd-grade.is-a::before { background: var(--accent); }
.jd-grade.is-b::before { background: var(--bad); }
.jd-grade.is-c::before { background: var(--warn); }
.jd-grade.is-d::before { background: var(--muted); }
.jd-grade b { font-family: var(--font-head); font-size: 17px; margin-right: 6px; }
.jd-grade.is-a b { color: var(--accent); }
.jd-grade.is-b b { color: var(--bad); }
.jd-grade.is-c b { color: var(--warn); }
.jd-grade span { display: block; font-size: 12.6px; color: var(--ink2); margin-top: 2px; }
.jd-grade em { font-style: normal; font-size: 11.8px; color: var(--accent2); }
.jd-side-note { margin-top: auto; border-top: 1px solid var(--line); padding-top: 12px; }
.jd-side-note b { display: block; font-size: 13.5px; margin-bottom: 4px; color: var(--accent); }
.jd-side-note p { font-size: 12.3px; line-height: 1.8; color: var(--ink2); margin: 0; }

/* ---------- 对照双卡 ---------- */
.jd-cols {
    display: grid;
    grid-template-columns: 1.15fr 1fr;
    gap: var(--gap);
    align-items: start;
}
.jd-cols .nx-card + .nx-card { margin-top: 0; }
.jd-h3 { color: var(--accent); margin-bottom: 12px; }
.jd-terms { display: flex; flex-wrap: wrap; gap: 8px; }

/* ---------- 响应式 ---------- */
@media (max-width: 940px) {
    .jd-hero { grid-template-columns: minmax(0, 1fr); }
    .jd-side { border-left: 0; border-top: 1px solid var(--line); }
    .jd-cols { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 640px) {
    .jd-main { padding: 22px 16px; }
    .jd-checks { grid-template-columns: minmax(0, 1fr); }
}
