.text-diff-tool[data-v-8be60115]{width:100%;height:100vh;margin:0;padding:20px;box-sizing:border-box;display:flex;flex-direction:column}.diff-container[data-v-8be60115]{display:flex;flex-direction:column;gap:16px;height:100%}.editor-content[data-v-8be60115]{display:grid;grid-template-columns:1fr 1fr;gap:0;flex:1;height:calc(100vh - 200px);min-height:0}.editor-section[data-v-8be60115]{display:flex;flex-direction:column;background:var(--el-bg-color);border:1px solid var(--el-border-color-light);overflow:hidden;height:100%;box-shadow:0 2px 8px #0000000f;transition:box-shadow .3s ease}.editor-section[data-v-8be60115]:first-child{border-radius:8px 0 0 8px;border-right:none}.editor-section[data-v-8be60115]:last-child{border-radius:0 8px 8px 0}.editor-section[data-v-8be60115]:hover{box-shadow:0 4px 16px #0000001a}.section-header[data-v-8be60115]{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:linear-gradient(135deg,var(--el-color-primary-light-9),var(--el-color-primary-light-8));border-bottom:1px solid var(--el-border-color-light);flex-shrink:0}.section-header h3[data-v-8be60115]{margin:0;font-size:16px;font-weight:600;color:var(--el-color-primary)}.header-buttons[data-v-8be60115]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.header-buttons .el-button[data-v-8be60115]{padding:4px 8px;font-size:12px}.paste-btn[data-v-8be60115],.copy-btn[data-v-8be60115],.clear-btn[data-v-8be60115],.upload-btn[data-v-8be60115],.compare-btn[data-v-8be60115],.format-btn[data-v-8be60115],.merge-btn[data-v-8be60115]{display:flex;align-items:center;gap:4px;color:var(--el-color-primary);transition:all .3s ease}.paste-btn[data-v-8be60115]:hover,.copy-btn[data-v-8be60115]:hover,.clear-btn[data-v-8be60115]:hover,.compare-btn[data-v-8be60115]:hover,.upload-btn[data-v-8be60115]:hover,.format-btn[data-v-8be60115]:hover,.merge-btn[data-v-8be60115]:hover{color:var(--el-color-primary-dark-2);transform:scale(1.05)}.editor-wrapper[data-v-8be60115]{margin:0 20px 20px;height:calc(100% - 20px);border-radius:0 0 8px 8px;overflow:hidden}.editor-with-controls[data-v-8be60115]{position:relative;height:100%;display:flex}.codemirror-container[data-v-8be60115]{flex:1;height:100%;border-radius:4px;overflow:hidden;border:1px solid var(--el-border-color-light)}.codemirror-container[data-v-8be60115] .cm-editor{height:100%}.codemirror-container[data-v-8be60115] .cm-scroller{font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:14px;line-height:1.5}.codemirror-container[data-v-8be60115] .cm-focused{outline:none}.merge-controls[data-v-8be60115]{position:absolute;top:0;bottom:0;width:20px;pointer-events:none;z-index:1000}.left-controls[data-v-8be60115]{right:-10px}.right-controls[data-v-8be60115]{left:-10px}.merge-button-wrapper[data-v-8be60115]{position:absolute;pointer-events:auto;transform:translateY(-50%);opacity:0;transition:opacity .2s ease}.merge-button-wrapper[data-v-8be60115]:hover,.editor-with-controls:hover .merge-button-wrapper[data-v-8be60115]{opacity:1}.merge-line-btn[data-v-8be60115]{width:18px;height:18px;padding:0;border:1px solid rgba(255,255,255,.8);border-radius:50%;box-shadow:0 1px 4px #0003;transition:all .2s ease;font-size:10px;min-height:18px}.merge-line-btn.el-button--danger[data-v-8be60115]{background:linear-gradient(135deg,#ff6b6b,#ee5a52);border-color:#fff9}.merge-line-btn.el-button--success[data-v-8be60115]{background:linear-gradient(135deg,#51cf66,#40c057);border-color:#fff9}.merge-line-btn[data-v-8be60115]:hover{transform:scale(1.15);box-shadow:0 2px 8px #0000004d}.merge-line-btn .el-icon[data-v-8be60115]{font-size:8px;line-height:1}.diff-stats[data-v-8be60115]{display:flex;justify-content:center;gap:24px;padding:16px;background:var(--el-bg-color-page);border:1px solid var(--el-border-color);border-radius:8px;flex-shrink:0}.stats-item[data-v-8be60115]{display:flex;align-items:center;gap:8px;font-size:14px}.stats-item.added[data-v-8be60115]{color:var(--el-color-success)}.stats-item.deleted[data-v-8be60115]{color:var(--el-color-danger)}.stats-item.modified[data-v-8be60115]{color:var(--el-color-warning)}.stats-label[data-v-8be60115]{font-weight:600}.stats-value[data-v-8be60115]{font-weight:500}.codemirror-container[data-v-8be60115] .diff-deleted{background-color:#ff818266;border-radius:2px;padding:1px 2px;cursor:pointer;position:relative}.codemirror-container[data-v-8be60115] .diff-added{background-color:#a6e22e66;border-radius:2px;padding:1px 2px;cursor:pointer;position:relative}.codemirror-container[data-v-8be60115] .diff-unchanged{background-color:transparent}.codemirror-container[data-v-8be60115] .diff-deleted:hover{background-color:#ff818299}.codemirror-container[data-v-8be60115] .diff-added:hover{background-color:#a6e22e99}@media (max-width: 768px){.text-diff-tool[data-v-8be60115]{padding:16px}.editor-content[data-v-8be60115]{grid-template-columns:1fr;gap:16px}.editor-section[data-v-8be60115]:first-child,.editor-section[data-v-8be60115]:last-child{border-radius:8px;border:1px solid var(--el-border-color-light)}.section-header[data-v-8be60115]{padding:12px 16px}.section-header h3[data-v-8be60115]{font-size:14px}.editor-wrapper[data-v-8be60115]{margin:0 16px 16px;height:300px}}@media (max-width: 480px){.text-diff-tool[data-v-8be60115]{padding:8px}.header-buttons[data-v-8be60115]{flex-wrap:wrap;gap:4px}.header-buttons .el-button[data-v-8be60115]{font-size:12px;padding:4px 8px}.editor-wrapper[data-v-8be60115]{margin:0 8px 8px;height:250px}}@media (prefers-color-scheme: dark){.codemirror-container[data-v-8be60115]{border-color:var(--el-border-color-darker)}.merge-line-btn[data-v-8be60115]{border-color:var(--el-bg-color)}.codemirror-container[data-v-8be60115] .diff-deleted{background-color:#f851494d}.codemirror-container[data-v-8be60115] .diff-added{background-color:#2ea0434d}.codemirror-container[data-v-8be60115] .diff-deleted:hover{background-color:#f8514980}.codemirror-container[data-v-8be60115] .diff-added:hover{background-color:#2ea04380}}.editor-content[data-v-8be60115]{animation:fadeInUp-8be60115 .6s ease-out}@keyframes fadeInUp-8be60115{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
