.compare-textarea{font-size:0.875rem;line-height:1.6;resize:vertical;min-height:140px;font-family:'Segoe UI',system-ui,-apple-system,sans-serif;border-radius:0.5rem;transition:border-color 0.2s ease,box-shadow 0.2s ease}.compare-textarea:focus{border-color:#4a6cf7;box-shadow:0 0 0 0.2rem rgba(74,108,247,0.15)}.diff-line{display:flex;align-items:stretch;padding:1px 0;font-size:0.875rem;line-height:1.6;font-family:'Segoe UI',system-ui,-apple-system,sans-serif;border-radius:0.25rem;min-height:28px}.diff-column{flex:1;display:flex;align-items:flex-start;min-width:0}.diff-line .line-num{flex:0 0 34px;text-align:right;padding-right:10px;color:#9ca3af;font-size:0.7rem;user-select:none;font-weight:500;letter-spacing:0.02em;flex-shrink:0}.diff-line .line-content{flex:1;padding:0 6px;white-space:pre-wrap;word-break:break-all;min-width:0}.diff-separator{flex:0 0 24px;display:flex;align-items:center;justify-content:center;color:#d1d5db;font-size:0.6rem;padding:0 4px;flex-shrink:0}.diff-line-equal .line-content{color:#1f2937}.diff-line-delete .line-content{background-color:#fee2e2;color:#991b1b;border-radius:0.2rem}.diff-line-insert .line-content{background-color:#dcfce7;color:#166534;border-radius:0.2rem}.diff-line-modify .line-content{background-color:#fef3c7;color:#78350f;border-radius:0.2rem}.char-diff-del{background-color:#fca5a5;color:#7f1d1d;text-decoration:line-through;border-radius:0.15rem;padding:0 1px}.char-diff-ins{background-color:#86efac;color:#14532d;border-radius:0.15rem;padding:0 1px}.char-diff-eq{background-color:transparent}.diff-result-scroll{max-height:400px;overflow-y:auto}.diff-result-scroll::-webkit-scrollbar{width:5px}.diff-result-scroll::-webkit-scrollbar-track{background:#f1f1f1;border-radius:8px}.diff-result-scroll::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:8px}.diff-result-scroll::-webkit-scrollbar-thumb:hover{background:#b0b4ba}.stat-badge{font-size:0.7rem;padding:0.2rem 0.6rem;border-radius:20px;background:rgba(74,108,247,0.08);color:#4b5563;display:inline-flex;align-items:center;gap:0.25rem}.stat-badge i{color:#4a6cf7}.form-check-label{display:inline-flex;align-items:center;gap:0.375rem;cursor:pointer;padding:0.25rem 0.5rem;border-radius:0.25rem;transition:background-color 0.2s ease}.form-check-label:hover{background-color:rgba(74,108,247,0.05)}.form-check-input{margin-top:0;cursor:pointer}.form-check-input[type="checkbox"]{width:1rem;height:1rem}.drag-drop-zone{position:relative;border-radius:0.375rem;overflow:hidden}.drag-drop-zone.dragover{border:2px dashed #4a6cf7;background-color:rgba(74,108,247,0.05)}.drag-drop-zone.dragover .compare-textarea{opacity:0.5}.file-input{position:absolute;top:0;right:0;width:2rem;height:2rem;opacity:0;cursor:pointer;z-index:10}.drag-drop-zone::after{content:'\f093';font-family:'Font Awesome 5 Free';font-weight:900;position:absolute;top:0.5rem;right:0.5rem;width:1.5rem;height:1.5rem;line-height:1.5rem;text-align:center;background-color:rgba(74,108,247,0.1);color:#4a6cf7;border-radius:0.25rem;font-size:0.75rem;pointer-events:none;z-index:5}.empty-state{padding:2rem 0.5rem;text-align:center;color:#9ca3af}.empty-state i{font-size:2.5rem;margin-bottom:0.5rem;opacity:0.4}@media (max-width:576px){.compare-textarea{min-height:100px;font-size:0.8rem}.diff-line{font-size:0.8rem;min-height:24px}.diff-line .line-num{flex:0 0 26px;padding-right:6px;font-size:0.6rem}.diff-result-scroll{max-height:280px}.stat-badge{font-size:0.6rem;padding:0.1rem 0.4rem}.card-body .btn i{display:none}.card-body .btn{flex:1;min-width:calc(25% - 0.5rem);padding:0.375rem 0.5rem;font-size:0.75rem}}