.csv-compare{--cc-added-bg: #e6ffec;--cc-added-border: #a6f4b1;--cc-removed-bg: #ffebe9;--cc-removed-border: #ffb4ab;--cc-modified-bg: #fff8c5;--cc-modified-border: #f5d58c;--cc-unchanged-bg: #f6f8fa;--cc-muted: #6e7781;--cc-border: #d0d7de;--cc-word-del: #ffb4ab;--cc-word-ins: #a6f4b1}.csv-compare .cc-panel{border:1px solid var(--cc-border);border-radius:8px;padding:16px;background:#fff}.csv-compare .cc-drop{border:2px dashed var(--cc-border);border-radius:8px;padding:24px 16px;text-align:center;color:var(--cc-muted);cursor:pointer;transition:background .15s,border-color .15s;background:#fafbfc}.csv-compare .cc-drop:hover,.csv-compare .cc-drop.cc-drop-hover{background:#eef5ff;border-color:#0969da;color:#0969da}.csv-compare .cc-drop input[type=file]{display:none}.csv-compare .cc-browse-btn{color:#0969da;text-decoration:underline;cursor:pointer;font-weight:600}.csv-compare .cc-meta{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:10px;font-size:13px;color:var(--cc-muted)}.csv-compare .cc-meta strong{color:#24292f;font-weight:600;margin-left:4px}.csv-compare textarea.cc-paste{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px;min-height:120px;margin-top:10px}.csv-compare .cc-settings{background:#f6f8fa;border:1px solid var(--cc-border);border-radius:8px;padding:16px;margin-top:20px}.csv-compare .cc-settings label{font-size:13px;color:#24292f;font-weight:500}.csv-compare .cc-settings .form-text{font-size:12px;color:var(--cc-muted)}.csv-compare .cc-tabs{display:flex;flex-wrap:wrap;gap:4px;border-bottom:1px solid var(--cc-border);margin-bottom:12px}.csv-compare .cc-tab{background:none;border:1px solid transparent;border-bottom:none;padding:6px 12px;font-size:14px;cursor:pointer;border-radius:6px 6px 0 0;color:var(--cc-muted)}.csv-compare .cc-tab:hover{color:#24292f;background:#f6f8fa}.csv-compare .cc-tab.active{background:#fff;border-color:var(--cc-border);color:#24292f;font-weight:600;margin-bottom:-1px}.csv-compare .cc-tab .cc-badge{display:inline-block;background:#eaeef2;color:#57606a;font-size:11px;font-weight:600;padding:1px 6px;border-radius:10px;margin-left:4px}.csv-compare .cc-tab.active .cc-badge{background:#0969da;color:#fff}.csv-compare .cc-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-bottom:20px}.csv-compare .cc-stat-card{background:#fff;border:1px solid var(--cc-border);border-radius:8px;padding:12px 16px}.csv-compare .cc-stat-card .cc-stat-label{font-size:12px;color:var(--cc-muted);text-transform:uppercase;letter-spacing:.03em}.csv-compare .cc-stat-card .cc-stat-value{font-size:24px;font-weight:700;color:#24292f;margin-top:2px;font-variant-numeric:tabular-nums}.csv-compare .cc-stat-card.cc-stat-added .cc-stat-value{color:#1a7f37}.csv-compare .cc-stat-card.cc-stat-removed .cc-stat-value{color:#cf222e}.csv-compare .cc-stat-card.cc-stat-modified .cc-stat-value{color:#9a6700}.csv-compare .cc-diff-table-wrapper{border:1px solid var(--cc-border);border-radius:8px;overflow:auto;max-height:70vh}.csv-compare table.cc-diff{width:100%;border-collapse:collapse;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px}.csv-compare table.cc-diff thead th{position:sticky;top:0;background:#f6f8fa;border-bottom:1px solid var(--cc-border);padding:8px 10px;text-align:left;font-weight:600;color:#24292f;white-space:nowrap;z-index:2}.csv-compare table.cc-diff tbody td{padding:6px 10px;border-bottom:1px solid #eaeef2;vertical-align:top;white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere}.csv-compare table.cc-diff .cc-row-kind{width:1%;white-space:nowrap;font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.03em}.csv-compare table.cc-diff tr.cc-row-added{background:var(--cc-added-bg)}.csv-compare table.cc-diff tr.cc-row-removed{background:var(--cc-removed-bg)}.csv-compare table.cc-diff tr.cc-row-modified{background:var(--cc-modified-bg)}.csv-compare table.cc-diff tr.cc-row-unchanged{background:#fff}.csv-compare table.cc-diff tr.cc-row-added .cc-row-kind{color:#1a7f37}.csv-compare table.cc-diff tr.cc-row-removed .cc-row-kind{color:#cf222e}.csv-compare table.cc-diff tr.cc-row-modified .cc-row-kind{color:#9a6700}.csv-compare table.cc-diff tr.cc-row-unchanged .cc-row-kind{color:var(--cc-muted)}.csv-compare .cc-cell-old,.csv-compare .cc-cell-new{display:block;padding:2px 4px;border-radius:3px}.csv-compare .cc-cell-old{background:#ff818247;color:#82071e;text-decoration:line-through;text-decoration-color:#82071e66}.csv-compare .cc-cell-new{background:#2ea04333;color:#0a3622;margin-top:2px}.csv-compare .cc-cell-changed{position:relative}.csv-compare .cc-word-del{background:var(--cc-word-del);padding:0 1px;border-radius:2px}.csv-compare .cc-word-ins{background:var(--cc-word-ins);padding:0 1px;border-radius:2px}.csv-compare .cc-toolbar{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px;align-items:center}.csv-compare .cc-toolbar input.cc-search{flex:1 1 200px;min-width:160px}.csv-compare .cc-empty{padding:32px 16px;text-align:center;color:var(--cc-muted);background:var(--cc-unchanged-bg);border-radius:8px;border:1px dashed var(--cc-border)}.csv-compare .cc-pill-group{display:inline-flex;flex-wrap:wrap;gap:6px;padding:6px;border:1px solid var(--cc-border);border-radius:6px;background:#fff;min-height:40px;max-height:140px;overflow:auto}.csv-compare .cc-pill{display:inline-flex;align-items:center;padding:3px 8px;font-size:12px;background:#eaeef2;color:#24292f;border-radius:12px;cursor:pointer;-webkit-user-select:none;user-select:none;border:1px solid transparent}.csv-compare .cc-pill:hover{background:#d8dee4}.csv-compare .cc-pill.cc-pill-active{background:#0969da;color:#fff}.csv-compare .cc-top-changing{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.csv-compare .cc-top-changing .cc-pill{cursor:default;background:#fff;border-color:var(--cc-border)}.csv-compare .cc-show-more{display:block;margin:12px auto 0}.csv-compare .cc-toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);background:#24292f;color:#fff;padding:10px 16px;border-radius:8px;font-size:13px;opacity:0;transition:opacity .2s;pointer-events:none;z-index:1050}.csv-compare .cc-toast.cc-toast-show{opacity:1}.csv-compare details.cc-advanced summary{cursor:pointer;color:#0969da;font-size:13px;margin-top:8px}@media (max-width: 767px){.csv-compare .cc-stats{grid-template-columns:repeat(2,1fr)}.csv-compare .cc-stat-card .cc-stat-value{font-size:20px}}
