.novel-diff.nd-shell{--nd-font-size:17px;--nd-line-height:31px;--nd-font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;display:flex;flex-direction:column;min-height:0;height:100%;width:100%;background:#fff;color:#303d38;font-family:var(--nd-font-family);border:1px solid #e7eae8;border-radius:12px;overflow:hidden;box-sizing:border-box}
.novel-diff *{box-sizing:border-box}
.novel-diff .nd-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);flex:none;min-height:43px;background:#f8faf8;border-bottom:1px solid #e7eae8;font-size:12px;font-weight:650;letter-spacing:.02em;color:#344b40}
.novel-diff .nd-head-side{display:flex;align-items:center;gap:7px;padding:10px 15px;min-width:0}
.novel-diff .nd-head-side:first-child{border-right:1px solid #e7eae8}
.novel-diff .nd-head-hint{font-weight:400;color:#8b958f;font-size:11px;margin-left:auto;white-space:nowrap}
.novel-diff .nd-side-dot{display:block;width:6px;height:6px;border-radius:50%;flex:none}
.novel-diff .nd-old-dot{background:#c68781}
.novel-diff .nd-new-dot{background:#5a9d7c}
.novel-diff .nd-scroll{position:relative;overflow:auto;overscroll-behavior:contain;min-height:0;flex:1;scrollbar-width:thin;scrollbar-color:#cdd7d0 #f7faf7;outline:none;background:#fff}
.novel-diff .nd-body{position:relative;min-height:100%;padding:13px 0 24px;background:#fff}
.novel-diff .nd-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);height:var(--nd-line-height);min-height:var(--nd-line-height);position:relative;width:100%;font-size:var(--nd-font-size);line-height:var(--nd-line-height);font-weight:400;letter-spacing:0;font-kerning:none;font-variant-ligatures:none}
.novel-diff .nd-cell{display:grid;grid-template-columns:36px minmax(0,1fr);height:var(--nd-line-height);min-width:0;background:#fff;position:relative}
.novel-diff .nd-cell.nd-left{border-right:1px solid #e7eae8}
.novel-diff .nd-gutter{position:relative;line-height:var(--nd-line-height);font-family:var(--nd-font-family);font-size:10px;text-align:right;padding-right:8px;color:#b0b8b3;user-select:none;border-left:3px solid transparent;overflow:hidden}
.novel-diff .nd-gutter-add{color:#4c9872;border-left-color:#7cb999;background:#f2faf5}
.novel-diff .nd-gutter-del{color:#bd7770;border-left-color:#dca39c;background:#fff7f6}
.novel-diff .nd-break-marker{position:absolute;right:1px;bottom:0;font-size:9px;line-height:11px}
.novel-diff .nd-line-text{font-family:var(--nd-font-family);font-size:var(--nd-font-size);font-weight:400;line-height:var(--nd-line-height);height:var(--nd-line-height);padding:0 14px;min-width:0;white-space:pre;overflow:hidden;text-overflow:clip;tab-size:4;letter-spacing:0;font-kerning:none;font-variant-ligatures:none;outline:none;user-select:text;caret-color:#207454;border:0;border-radius:0}
.novel-diff .nd-editor{cursor:text}
.novel-diff .nd-editor:focus{background:#f5faf6;box-shadow:inset 0 -1px #9fc6ae}
.novel-diff .nd-editor[data-placeholder]:empty:before{content:attr(data-placeholder);color:#a2aea6;pointer-events:none;font-size:14px}
.novel-diff .nd-add{background:#e9f7ef;color:#217456;box-shadow:0 1px #c4e7d2;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.novel-diff .nd-del{background:#fff0ef;color:#b64b4b;text-decoration:line-through;text-decoration-color:#d09b95;text-decoration-thickness:1px;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.novel-diff .nd-equal{color:inherit}
.novel-diff .nd-gap{background:repeating-linear-gradient(135deg,#f8faf8 0,#f8faf8 5px,#f3f6f3 5px,#f3f6f3 6px)}
.novel-diff .nd-gap .nd-gutter{background:#f5f8f5}
.novel-diff .nd-gap-space{height:var(--nd-line-height);min-width:0}
.novel-diff .nd-gap.nd-right{cursor:text}
.novel-diff .nd-active-change .nd-cell{box-shadow:inset 0 1px #e0be73,inset 0 -1px #e0be73}
.novel-diff .nd-active-change .nd-gutter{color:#96763c;background:#fff6df}
.novel-diff .nd-is-pending{background:#f3f9f4;color:#2b5840}
.novel-diff .nd-fold{display:block;width:100%;height:34px;border:0;border-top:1px solid #edf0ed;border-bottom:1px solid #edf0ed;border-radius:0;background:#f7faf7;color:#6d8375;font:500 11px var(--nd-font-family);text-align:center;cursor:pointer;letter-spacing:.015em;margin:7px 0}
.novel-diff .nd-fold:hover{background:#ecf5ed;color:#386c4d}
.novel-diff .nd-fold:focus-visible{outline:2px solid #76a98c;outline-offset:-3px}
.novel-diff .nd-note{padding:8px 15px;margin:-5px 9px 9px;color:#887749;background:#fcf9ed;border:1px solid #f0e8ca;border-radius:6px;font-size:11px;line-height:1.6}
.novel-diff .nd-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 13px;min-height:34px;flex:none;background:#fbfcfb;border-top:1px solid #e7eae8;font-size:10px;line-height:1.5;color:#91a095}
.novel-diff .nd-status{color:#6e917b;text-align:right;white-space:nowrap}
.novel-diff .nd-status-pending{color:#a28850}
.novel-diff .nd-line-text::selection,.novel-diff .nd-line-text *::selection{background:#cbe2d4;color:#193e2c}
@media(max-width:760px){.novel-diff .nd-head-side{padding:9px 10px;gap:5px}.novel-diff .nd-head-hint{font-size:10px}.novel-diff .nd-footer-hint{max-width:64%}.novel-diff .nd-footer{font-size:9px;gap:5px;padding:7px 9px}.novel-diff .nd-cell{grid-template-columns:36px minmax(0,1fr)}}
