/* ======================================================================
 * 55 · 英语连读规则 —— 「黑板粉笔 · 荧光笔」
 * 视觉：板书墨绿 + 粉笔白 + 荧光黄标注；连读点用 ‿ 高亮手写感；
 *       与本批其余 10 页不共用配色与构图。
 * ====================================================================== */

.nx.el {
    --bg: #f5f3ea;
    --bg2: #edeade;
    --card: #ffffff;
    --card2: #f6f4ec;
    --card3: #edeadd;
    --ink: #23302a;
    --ink2: #47554d;
    --muted: #7f8c84;
    --line: #d8ddd2;
    --line2: #e6e8dd;
    --accent: #2e6b4f;          /* 板书绿 */
    --accent-ink: #f6fbf8;
    --accent-soft: #dcebe1;
    --accent2: #b98d0f;         /* 荧光黄褐 */
    --accent2-soft: #f7eece;
    --ok: #2c7a4b;
    --ok-bg: #e1f2e7;
    --warn: #8f6400;
    --warn-bg: #f8efd4;
    --bad: #a83a32;
    --bad-bg: #f9e5e1;
    --info: #1a6e84;
    --info-bg: #e0f0f4;
    --radius: 14px;
    --radius-sm: 10px;
    --font-head: Georgia, "PingFang SC", "Microsoft YaHei", serif;
    --head-weight: 700;
    --tracking: .002em;

    background: var(--bg);
}
:root[data-theme="dark"] .nx.el {
    --bg: #0f1512;
    --bg2: #141b17;
    --card: #18211c;
    --card2: #1e2822;
    --card3: #27332b;
    --ink: #eef3ee;
    --ink2: #c4cec6;
    --muted: #8a968e;
    --line: #2f3b33;
    --line2: #26302a;
    --accent: #6fbe94;
    --accent-ink: #0c1710;
    --accent-soft: #1b3527;
    --accent2: #e0c163;
    --accent2-soft: #37300f;
    --ok: #6cbb89;
    --ok-bg: #1c3526;
    --warn: #d5af5b;
    --warn-bg: #352b13;
    --bad: #e0827a;
    --bad-bg: #3c201c;
    --info: #5fb7d0;
    --info-bg: #143038;
}

/* ---------- 首屏 ---------- */
.el-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.66fr) minmax(256px, .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;
}
.el-main { padding: 28px 30px 26px; min-width: 0; }
.el-kicker {
    font: 700 11px var(--font-mono);
    letter-spacing: .22em;
    text-transform: uppercase;
    color: var(--accent);
    margin: 0 0 8px;
}
.el-hero h1 { font-size: clamp(28px, 3.6vw, 42px); margin-bottom: 12px; }
.el-lede { font-size: 14.8px; line-height: 1.95; color: var(--ink2); margin: 0 0 18px; max-width: 58em; }
.el-lede b { color: var(--accent); border-bottom: 2px solid var(--accent-soft); }

.el-entry { display: flex; flex-direction: column; gap: 6px; }
.el-entry textarea {
    font-family: var(--font-mono);
    font-size: 15.5px;
    line-height: 1.9;
    background:
        repeating-linear-gradient(0deg, var(--card2), var(--card2) 27px, var(--line2) 27px, var(--line2) 28px);
}
.el-acts { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }

/* ---------- 规则侧栏 ---------- */
.el-side {
    background: var(--bg2);
    border-left: 1px dashed var(--line);
    padding: 22px 18px;
}
.el-side-hd {
    font: 700 12px var(--font-mono);
    letter-spacing: .26em;
    text-transform: uppercase;
    color: var(--accent);
    margin-bottom: 12px;
}
.el-rules { display: grid; gap: 9px; }
.el-rule {
    border-bottom: 1px dotted var(--line);
    padding-bottom: 8px;
}
.el-rule:last-child { border-bottom: 0; padding-bottom: 0; }
.el-rule b { display: block; font-size: 13.8px; color: var(--ink); margin-bottom: 2px; }
.el-rule span { display: block; font-size: 12px; line-height: 1.65; color: var(--muted); }

/* ---------- 标注结果 ---------- */
.el-line { margin-bottom: 20px; }
.el-line-src {
    font-family: var(--font-mono);
    font-size: 14px;
    color: var(--muted);
    margin: 0 0 8px;
}
.el-marked {
    font-size: 20px;
    line-height: 2.15;
    background: var(--card);
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    padding: 13px 16px;
    margin-bottom: 10px;
    word-break: break-word;
}
.el-link {
    color: var(--accent);
    font-weight: 700;
    background: var(--accent2-soft);
    border-radius: 6px;
    padding: 1px 4px;
    white-space: nowrap;
}
.el-link .tie { color: var(--accent2); font-weight: 800; }
.el-plain { color: var(--ink); }
.el-rule-hits { display: flex; flex-direction: column; gap: 7px; }
.el-hit {
    display: flex;
    gap: 10px;
    align-items: baseline;
    font-size: 13.4px;
    line-height: 1.75;
    color: var(--ink2);
    background: var(--card2);
    border-left: 3px solid var(--accent2);
    border-radius: 8px;
    padding: 8px 12px;
}
.el-hit b { color: var(--accent); white-space: nowrap; }
.el-acts-row { display: flex; gap: 8px; margin-top: 8px; flex-wrap: wrap; }

/* ---------- 响应式 ---------- */
@media (max-width: 900px) {
    .el-hero { grid-template-columns: minmax(0, 1fr); }
    .el-side { border-left: 0; border-top: 1px dashed var(--line); }
}
@media (max-width: 640px) {
    .el-main { padding: 22px 16px; }
    .el-marked { font-size: 17px; }
}
