.text-diff-container{min-height:100vh;padding:clamp(1rem,2.5vw,2rem);background:radial-gradient(circle at 10% 0%,rgba(20,184,166,.12),transparent 30rem),radial-gradient(circle at 90% 8%,rgba(16,185,129,.1),transparent 28rem),linear-gradient(180deg,#f8fafc,#eef2f7);color:#0f172a;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.text-diff-container .diff-card{width:min(100%,1720px);max-width:1720px;margin:0 auto;padding:clamp(.85rem,2vw,1.7rem);border:1px solid rgba(148,163,184,.3);border-radius:28px;background:#fffffff0;box-shadow:0 24px 80px #0f172a1a;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.text-diff-container .tdiff-page-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;padding:.35rem .35rem 1rem}.text-diff-container .tdiff-title-wrap{display:flex;align-items:center;gap:.85rem;flex-wrap:wrap;min-width:0}.text-diff-container h1{margin:0;color:#0f172a;font-size:clamp(1.3rem,2vw,1.6rem);font-weight:850;letter-spacing:-.02em;line-height:1.15;text-align:left;text-shadow:none}.text-diff-container .tdiff-head-badges{display:flex;gap:.45rem;flex-wrap:wrap}.text-diff-container .tdiff-head-badge{padding:.32rem .7rem;border:1px solid rgba(13,148,136,.22);border-radius:999px;background:#0d948814;color:#0f766e;font-size:.8rem;font-weight:800}.text-diff-container .tdiff-ai-btn{display:inline-flex;align-items:center;gap:.45rem;min-height:42px;padding:.55rem 1.25rem;border:none;border-radius:14px;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;font-size:.92rem;font-weight:800;cursor:pointer;box-shadow:0 10px 24px #6366f147;transition:transform .16s ease,box-shadow .16s ease,opacity .16s ease}.text-diff-container .tdiff-ai-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 14px 30px #6366f15c}.text-diff-container .tdiff-ai-btn:disabled{opacity:.48;cursor:not-allowed;transform:none;box-shadow:none}.text-diff-container .tdiff-ai-spinner{width:14px;height:14px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:tdiffSpin .8s linear infinite}@keyframes tdiffSpin{to{transform:rotate(360deg)}}.text-diff-container .tdiff-toolbar{position:sticky;top:.75rem;z-index:6;display:grid;grid-template-columns:auto minmax(260px,1fr) auto;align-items:center;gap:.85rem;padding:.75rem;margin-bottom:1rem;border:1px solid rgba(148,163,184,.26);border-radius:18px;background:#ffffffeb;box-shadow:0 14px 32px #0f172a14;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.text-diff-container .mode-selector,.text-diff-container .action-btns,.text-diff-container .tdiff-switches{display:flex;align-items:center;flex-wrap:wrap;gap:.55rem}.text-diff-container .mode-selector{padding:0;background:transparent}.text-diff-container .tdiff-switches{justify-content:center}.text-diff-container .mode-btn,.text-diff-container .action-btns .btn{min-height:40px;padding:.55rem .9rem;border-radius:12px;font-size:.9rem;font-weight:800;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,background .16s ease}.text-diff-container .mode-btn{border:1px solid rgba(13,148,136,.24);background:#f8fafc;color:#0f766e}.text-diff-container .mode-btn:hover{background:#f0fdfa;transform:translateY(-1px)}.text-diff-container .mode-btn.active{border-color:#0d9488;background:linear-gradient(135deg,#0d9488,#0f766e);color:#fff;box-shadow:0 10px 24px #0d94883d}.text-diff-container .tdiff-check{display:inline-flex;align-items:center;gap:.42rem;padding:.48rem .68rem;border:1px solid rgba(148,163,184,.24);border-radius:12px;background:#f8fafc;color:#334155;font-size:.86rem;font-weight:750;cursor:pointer}.text-diff-container .tdiff-check input{width:16px;height:16px;accent-color:#0d9488}.text-diff-container .action-btns{justify-content:flex-end}.text-diff-container .action-btns .btn{border:1px solid transparent}.text-diff-container .action-btns .btn-secondary{background:#f8fafc;color:#334155;border-color:#94a3b852}.text-diff-container .action-btns .btn-secondary:hover:not(:disabled){background:#fff;box-shadow:0 8px 20px #0f172a14;transform:translateY(-1px)}.text-diff-container .action-btns .btn-danger{background:#fff1f2;color:#be123c;border-color:#fecdd3}.text-diff-container .action-btns .btn-danger:hover{background:#ffe4e6;transform:translateY(-1px)}.text-diff-container .action-btns .btn:disabled{opacity:.48;cursor:not-allowed;transform:none}.text-diff-container .tdiff-input-section{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(.85rem,1.8vw,1.25rem);margin-bottom:1.1rem}.text-diff-container .tdiff-input-panel{overflow:hidden;border:1px solid rgba(148,163,184,.26);border-radius:20px;background:#fff;box-shadow:0 14px 34px #0f172a0f}.text-diff-container .tdiff-panel-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 1rem;border-bottom:1px solid rgba(148,163,184,.18);background:linear-gradient(180deg,#fff,#f8fafc)}.text-diff-container .tdiff-panel-head h3{margin:0;color:#0f172a;font-size:.98rem;font-weight:850}.text-diff-container .tdiff-panel-head span{flex-shrink:0;color:#64748b;font-size:.8rem;font-weight:750}.text-diff-container .text-input{width:100%;height:clamp(340px,44vh,560px);margin:0;padding:1rem;border:none;border-radius:0;background:#fbfdff;color:#1e293b;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:.9rem;line-height:1.72;resize:vertical;-moz-tab-size:2;tab-size:2;white-space:pre-wrap;overflow-wrap:anywhere;box-shadow:none}.text-diff-container .text-input:focus{outline:none;background:#fff;box-shadow:inset 0 0 0 3px #0d948824}.text-diff-container .text-input::placeholder{color:#94a3b8}.text-diff-container .tdiff-editor{position:relative}.text-diff-container .tdiff-highlight{position:absolute;top:0;right:0;bottom:0;left:0;margin:0;padding:1rem;border:none;overflow:hidden;pointer-events:none;background:#fbfdff;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:.9rem;line-height:1.72;-moz-tab-size:2;tab-size:2;white-space:pre-wrap;overflow-wrap:anywhere}.text-diff-container .tdiff-highlight code{font-family:inherit;font-size:inherit;line-height:inherit}.text-diff-container .text-input.is-json-transparent{position:relative;color:transparent;caret-color:#0d9488;background:transparent}.text-diff-container .text-input.is-json-transparent::selection{background:#0d948838}.text-diff-container .text-input.is-json-transparent::placeholder{color:#94a3b8}.text-diff-container .json-key{color:#0f766e;font-weight:700}.text-diff-container .json-string{color:#b45309}.text-diff-container .json-number{color:#2563eb}.text-diff-container .json-bool{color:#9333ea;font-weight:700}.text-diff-container .json-null{color:#94a3b8;font-style:italic}.text-diff-container .json-plain{color:#334155}.text-diff-container .tdiff-json-badge{display:inline-block;margin-left:.45rem;padding:.08rem .45rem;border-radius:6px;background:#0d94881a;border:1px solid rgba(13,148,136,.28);color:#0f766e;font-size:.68rem;font-weight:850;letter-spacing:.04em;vertical-align:2px}.text-diff-container .tdiff-json-badge.is-auto{background:#f59e0b1f;border-color:#f59e0b59;color:#b45309;font-weight:800}.text-diff-container .tdiff-json-badge.is-escaped{background:#6366f11f;border-color:#6366f159;color:#4338ca;font-weight:800}.text-diff-container .tdiff-mini-btn.is-json{border-color:#0d948866;color:#0f766e;background:#f0fdfa}.text-diff-container .tdiff-mini-btn.is-json:hover:not(:disabled){background:#ccfbf1}.text-diff-container .tdiff-result-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,460px);gap:clamp(.85rem,1.8vw,1.25rem);align-items:stretch}.text-diff-container .tdiff-result-body.without-ai{grid-template-columns:minmax(0,1fr)}.text-diff-container .tdiff-diff-panel{display:flex;flex-direction:column;min-width:0;overflow:hidden;border:1px solid rgba(148,163,184,.28);border-radius:22px;background:#fff;box-shadow:0 18px 48px #0f172a14}.text-diff-container .tdiff-diff-panel-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;padding:.9rem 1.1rem;border-bottom:1px solid rgba(148,163,184,.2);background:linear-gradient(180deg,#fff,#f8fafc)}.text-diff-container .tdiff-diff-panel-head h3{margin:0;color:#0f172a;font-size:1.02rem;font-weight:850}.text-diff-container .tdiff-result-meta{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}.text-diff-container .tdiff-stat-chip{padding:.22rem .6rem;border-radius:999px;border:1px solid rgba(148,163,184,.28);background:#f8fafc;color:#475569;font-size:.78rem;font-weight:750}.text-diff-container .tdiff-stat-chip b{font-weight:850;margin-left:.15rem}.text-diff-container .tdiff-stat-chip.is-mod{color:#a16207;background:#fefce8;border-color:#fde68a}.text-diff-container .tdiff-stat-chip.is-del{color:#be123c;background:#fff1f2;border-color:#fecdd3}.text-diff-container .tdiff-stat-chip.is-add{color:#15803d;background:#ecfdf5;border-color:#bbf7d0}.text-diff-container .tdiff-stat-chip.is-json{color:#0f766e;background:#f0fdfa;border-color:#0d948859}.text-diff-container .tdiff-fast-tip{color:#b45309;font-size:.78rem;font-weight:750}.text-diff-container .tdiff-result-scroll{flex:1;min-height:0;max-height:min(72vh,820px);overflow:auto;background:#fff}.text-diff-container .tdiff-table{min-width:760px;background:#fff}.text-diff-container .tdiff-row{display:grid;grid-template-columns:52px minmax(260px,1fr) 52px minmax(260px,1fr);border-bottom:1px solid #e5e7eb}.text-diff-container .tdiff-table-head{position:sticky;top:0;z-index:2;border-bottom:1px solid rgba(148,163,184,.28);background:#f1f5f9}.text-diff-container .tdiff-line-head,.text-diff-container .tdiff-code-head{min-height:40px;display:flex;align-items:center;padding:.55rem .9rem;color:#475569;font-size:.82rem;font-weight:850}.text-diff-container .tdiff-line-head{justify-content:flex-end;border-right:1px solid rgba(148,163,184,.18);color:#94a3b8;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.text-diff-container .tdiff-code-head:nth-child(2){border-right:1px solid rgba(148,163,184,.18)}.text-diff-container .tdiff-row.is-active-diff .tdiff-code-cell,.text-diff-container .tdiff-row.is-active-diff .tdiff-line-no{box-shadow:inset 0 0 0 2px #0d94888c}.text-diff-container .tdiff-collapsed-row{display:block;width:100%;padding:.45rem 1rem;border:none;border-bottom:1px solid #e5e7eb;background:repeating-linear-gradient(-45deg,#f8fafc,#f8fafc 10px,#f1f5f9 10px,#f1f5f9 20px);color:#64748b;font-family:inherit;font-size:.8rem;font-weight:700;text-align:center;cursor:pointer;transition:color .15s ease,background .15s ease}.text-diff-container .tdiff-collapsed-row:hover{color:#0d9488}.text-diff-container .tdiff-collapsed-row.is-expanded{background:#f8fafc}.text-diff-container .tdiff-diff-nav{display:inline-flex;align-items:center;gap:.3rem;flex-shrink:0}.text-diff-container .tdiff-nav-btn{min-width:32px;min-height:32px;border:1px solid rgba(148,163,184,.35);border-radius:9px;background:#fff;color:#0f766e;font-size:.95rem;font-weight:900;cursor:pointer;transition:background .15s ease,transform .15s ease}.text-diff-container .tdiff-nav-btn:hover{background:#f0fdfa;transform:translateY(-1px)}.text-diff-container .tdiff-nav-pos{min-width:52px;text-align:center;color:#64748b;font-size:.8rem;font-weight:800;font-variant-numeric:tabular-nums}.text-diff-container .tdiff-panel-ops{display:inline-flex;align-items:center;gap:.45rem;flex-shrink:0}.text-diff-container .tdiff-panel-meta{color:#64748b;font-size:.8rem;font-weight:750}.text-diff-container .tdiff-mini-btn{padding:.22rem .6rem;border:1px solid rgba(148,163,184,.32);border-radius:8px;background:#fff;color:#475569;font-family:inherit;font-size:.76rem;font-weight:750;cursor:pointer;transition:background .15s ease,border-color .15s ease}.text-diff-container .tdiff-mini-btn:hover:not(:disabled){background:#f0fdfa;border-color:#0d948866;color:#0f766e}.text-diff-container .tdiff-mini-btn:disabled{opacity:.45;cursor:not-allowed}.text-diff-container .tdiff-input-panel.is-drop-target{border-color:#0d9488;box-shadow:0 0 0 3px #0d94882e,0 14px 34px #0f172a0f}.text-diff-container .tdiff-input-panel.is-drop-target .text-input{background:#f0fdfa}.text-diff-container .tdiff-toast{position:fixed;left:50%;bottom:2.2rem;transform:translate(-50%);z-index:60;padding:.6rem 1.1rem;border:1px solid rgba(13,148,136,.3);border-radius:999px;background:#fffffff7;color:#0f766e;font-size:.85rem;font-weight:750;box-shadow:0 12px 32px #0f172a29;animation:tdiffToastIn .22s ease}@keyframes tdiffToastIn{0%{opacity:0;transform:translate(-50%) translateY(8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.text-diff-container .tdiff-row:not(.tdiff-table-head):hover .tdiff-code-cell,.text-diff-container .tdiff-row:not(.tdiff-table-head):hover .tdiff-line-no{filter:saturate(1.15) brightness(.985)}.text-diff-container .tdiff-row.is-located{animation:tdiffLocated 2.2s ease}@keyframes tdiffLocated{0%,60%{background:#f59e0b38;box-shadow:inset 0 0 0 2px #f59e0b8c}to{background:transparent;box-shadow:none}}.text-diff-container .tdiff-line-no,.text-diff-container .tdiff-code-cell{min-height:30px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:.84rem;line-height:1.72}.text-diff-container .tdiff-line-no{padding:.32rem .68rem .32rem .35rem;border-right:1px solid #e5e7eb;background:#f8fafc;color:#94a3b8;text-align:right;-webkit-user-select:none;user-select:none}.text-diff-container .tdiff-code-cell{display:grid;grid-template-columns:24px minmax(0,1fr);gap:.35rem;min-width:0;padding:.32rem .9rem .32rem .45rem;color:#1e293b;-moz-tab-size:2;tab-size:2}.text-diff-container .tdiff-code-cell:nth-child(2){border-right:1px solid #e5e7eb}.text-diff-container .tdiff-table.is-wrapped .tdiff-code-cell,.text-diff-container .tdiff-table.is-wrapped .tdiff-text{white-space:pre-wrap;overflow-wrap:anywhere}.text-diff-container .tdiff-table.is-nowrap .tdiff-code-cell,.text-diff-container .tdiff-table.is-nowrap .tdiff-text{white-space:pre;word-break:normal}.text-diff-container .tdiff-text{min-width:0}.text-diff-container .change-mark{color:#94a3b8;font-weight:900;text-align:center;-webkit-user-select:none;user-select:none}.text-diff-container .is-delete.tdiff-code-cell,.text-diff-container .is-delete.tdiff-line-no{background:#fff1f2}.text-diff-container .is-insert.tdiff-code-cell,.text-diff-container .is-insert.tdiff-line-no{background:#ecfdf5}.text-diff-container .is-delete.tdiff-code-cell{border-left:3px solid #ef4444;color:#7f1d1d}.text-diff-container .is-insert.tdiff-code-cell{border-left:3px solid #22c55e;color:#064e3b}.text-diff-container .is-delete .change-mark{color:#dc2626}.text-diff-container .is-insert .change-mark{color:#16a34a}.text-diff-container .is-empty.tdiff-code-cell,.text-diff-container .is-empty.tdiff-line-no{background:repeating-linear-gradient(-45deg,#f8fafc,#f8fafc 8px,#f1f5f9 8px,#f1f5f9 16px);color:#cbd5e1}.text-diff-container .row-replace .tdiff-code-cell{box-shadow:inset 0 1px #facc1547,inset 0 -1px #facc1538}.text-diff-container .inline-removed{padding:.04rem .1rem;border-radius:4px;background:#fecdd3;color:#7f1d1d;text-decoration:line-through;text-decoration-color:#ef4444}.text-diff-container .inline-added{padding:.04rem .1rem;border-radius:4px;background:#bbf7d0;color:#064e3b;font-weight:850}.text-diff-container .tdiff-ai-panel{display:flex;flex-direction:column;min-width:0;overflow:hidden;border:1px solid #e2e8f0;border-radius:22px;background:#fff;box-shadow:0 18px 48px #0f172a14}.text-diff-container .tdiff-ai-panel-head{display:flex;align-items:center;gap:.45rem;flex-shrink:0;padding:.85rem 1.1rem;border-bottom:1px solid #f1f5f9;background:linear-gradient(180deg,#fff,#f8fafc);font-size:.95rem;font-weight:750;color:#1e293b}.text-diff-container .tdiff-ai-panel-icon{font-size:1.05rem}.text-diff-container .tdiff-ai-panel-title{flex:1}.text-diff-container .tdiff-ai-panel-status{font-size:.78rem;font-weight:600;color:#16a34a}.text-diff-container .tdiff-ai-panel-status.is-pending{color:#f59e0b}.text-diff-container .tdiff-ai-panel-status.is-failed{color:#ef4444}.text-diff-container .tdiff-ai-panel-body{flex:1;min-height:0;max-height:min(72vh,820px);overflow-y:auto;padding:1rem 1.1rem}.text-diff-container .tdiff-ai-empty{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.7rem;padding:2.5rem 1rem;text-align:center;color:#94a3b8;font-size:.88rem;line-height:1.7}.text-diff-container .tdiff-ai-empty-icon{font-size:2.4rem}.text-diff-container .tdiff-ai-empty p{margin:0;max-width:260px}.text-diff-container .tdiff-ai-loading{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.55rem;color:#94a3b8;font-size:.88rem}.text-diff-container .tdiff-ai-loading-tip{font-size:.78rem;color:#cbd5e1}.text-diff-container .tdiff-ai-failed{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;padding:1.5rem;text-align:center;color:#ef4444;font-size:.88rem}.text-diff-container .tdiff-ai-loading-icon{font-size:2.4rem}.text-diff-container .tdiff-ai-failed-msg{color:#475569;font-size:.85rem;line-height:1.6}.text-diff-container .tdiff-ai-retry-btn{padding:.4rem 1rem;border:1px solid #e2e8f0;border-radius:8px;background:#fff;color:#64748b;font-size:.82rem;cursor:pointer;transition:all .18s}.text-diff-container .tdiff-ai-retry-btn:hover{border-color:#cbd5e1;color:#475569;background:#f8fafc}.text-diff-container .tdiff-result-scroll::-webkit-scrollbar,.text-diff-container .tdiff-ai-panel-body::-webkit-scrollbar,.text-diff-container .text-input::-webkit-scrollbar{width:11px;height:11px}.text-diff-container .tdiff-result-scroll::-webkit-scrollbar-track,.text-diff-container .tdiff-ai-panel-body::-webkit-scrollbar-track,.text-diff-container .text-input::-webkit-scrollbar-track{background:transparent}.text-diff-container .tdiff-result-scroll::-webkit-scrollbar-thumb,.text-diff-container .tdiff-ai-panel-body::-webkit-scrollbar-thumb,.text-diff-container .text-input::-webkit-scrollbar-thumb{border:3px solid transparent;border-radius:999px;background:#64748b6b;background-clip:content-box}.text-diff-container .tdiff-result-scroll::-webkit-scrollbar-thumb:hover,.text-diff-container .tdiff-ai-panel-body::-webkit-scrollbar-thumb:hover,.text-diff-container .text-input::-webkit-scrollbar-thumb:hover{background:#4755699e;background-clip:content-box}@media (max-width: 1180px){.text-diff-container .tdiff-toolbar{grid-template-columns:1fr}.text-diff-container .tdiff-switches,.text-diff-container .action-btns{justify-content:flex-start}.text-diff-container .tdiff-result-body{grid-template-columns:1fr}}@media (max-width: 860px){.text-diff-container{padding:.75rem}.text-diff-container .diff-card{padding:.75rem;border-radius:20px}.text-diff-container .tdiff-input-section{grid-template-columns:1fr}.text-diff-container .text-input{height:clamp(280px,46vh,460px)}.text-diff-container .tdiff-page-head{align-items:flex-start;flex-direction:column}.text-diff-container .mode-selector,.text-diff-container .action-btns,.text-diff-container .tdiff-switches{width:100%}.text-diff-container .mode-btn,.text-diff-container .action-btns .btn{flex:1 1 150px;justify-content:center}.text-diff-container .tdiff-diff-panel-head{align-items:flex-start;flex-direction:column;gap:.55rem}.text-diff-container .tdiff-result-body .tdiff-result-scroll,.text-diff-container .tdiff-ai-panel-body{max-height:65vh}}@media (max-width: 560px){.text-diff-container .tdiff-panel-head{align-items:flex-start;flex-direction:column;gap:.35rem}}
