.batch-modal-backdrop{z-index:30;background:#1a1a1859;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.batch-modal-container{background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-lg);width:100%;max-width:640px;box-shadow:var(--shadow-md);padding:24px}.batch-modal-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.batch-modal-title{font-size:16px;font-weight:600}.batch-modal-count{color:var(--text-ghost);text-transform:uppercase;letter-spacing:.1em;font-size:12px}.batch-modal-list{flex-direction:column;gap:8px;max-height:55vh;display:flex;overflow-y:auto}.batch-modal-item{border-radius:var(--radius-md);border:1px solid var(--border-light);align-items:flex-start;gap:8px;padding:8px 12px;font-size:14px;display:flex}.batch-modal-item.included{background:var(--bg-subtle);color:var(--text-main)}.batch-modal-item.excluded{background:var(--bg-card);color:var(--text-ghost)}.batch-modal-item-btn{border:1px solid var(--border-light);background:var(--bg-card);cursor:pointer;width:24px;height:24px;color:var(--text-muted);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;display:flex}.batch-modal-item-text{line-height:1.6}.batch-modal-item-modified{background:var(--success-bg);color:var(--success);border-radius:2px;padding:0 4px}.batch-modal-footer{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.batch-modal-footer-btn{padding:8px 20px;font-size:13px}.batch-modal-footer-btn:disabled{opacity:.5;cursor:not-allowed}
.output-actions-container{gap:12px;margin-top:16px;display:flex}.output-actions-format-group{gap:8px;margin-right:8px;display:flex}.output-actions-format-btn{border-radius:var(--radius-md);cursor:pointer;background:var(--bg-subtle);color:var(--text-muted);border:none;padding:8px 12px;font-size:13px;transition:all .2s}.output-actions-format-btn.active{background:var(--accent);color:#fff;font-weight:600}.output-actions-format-btn:hover:not(.active){background:var(--border-light)}.output-actions-download-btn{padding:8px 20px;font-size:13px}.output-actions-error{color:var(--error);margin-top:8px;font-size:13px}
.diff-display-hint{color:var(--text-main);margin:12px 0 16px;font-size:14px;font-weight:500}.diff-display-hint-bold{font-weight:700}.diff-display-hint-green{color:var(--success);background:#2d5a2726;border-radius:4px;padding:2px 6px}.diff-display-hint-red{color:var(--error);text-decoration:underline}.diff-display-content-pre{white-space:pre-wrap;word-wrap:break-word;font-family:var(--font-serif);color:var(--text-main);margin:0;font-size:19px;line-height:1.8}.diff-display-content-div{white-space:pre-wrap;word-wrap:break-word;font-family:var(--font-serif);color:var(--text-main);font-size:19px;line-height:1.8}.diff-display-copy-btn,.diff-display-toggle-btn{cursor:pointer;border-radius:var(--radius-md);background:0 0;border:none;padding:6px;transition:color .2s;position:absolute;top:12px}.diff-display-copy-btn{color:var(--text-ghost);right:48px}.diff-display-copy-btn.copied{color:var(--success)}.diff-display-toggle-btn{color:var(--text-ghost);right:12px}.diff-display-toggle-btn.active{color:var(--accent)}.diff-display-deleted{cursor:pointer;transition:background .2s}.diff-display-deleted.reverted{color:var(--error);text-decoration:underline}.diff-display-added{cursor:pointer;transition:background .2s}.diff-display-added.preview{background:#2d5a2726}.diff-display-added.reverted{color:var(--error);text-decoration:underline}.diff-display-modified{cursor:pointer;transition:background .2s}.diff-display-modified.preview{background:#2d5a2726}.diff-display-modified.reverted{color:var(--error);text-decoration:underline}.diff-display-modified-original{color:var(--error);cursor:pointer;text-decoration:underline;transition:background .2s}
.loader-container{color:var(--text-muted);align-items:center;gap:12px;margin-bottom:16px;font-size:14px;display:flex}.loader-spinner{border:2px solid var(--border-light);border-top-color:var(--accent);border-radius:50%;width:16px;height:16px;animation:1s linear infinite spin;display:inline-block}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
