.diff-checker-root{--dc-bg:#0b0c0e;--dc-panel:#131519;--dc-panel-alt:#191c22;--dc-border:#262932;--dc-border-soft:#1d2027;--dc-text:#e7e8ea;--dc-text-muted:#8d919c;--dc-text-faint:#5b5e68;--dc-accent:#e8a33d;--dc-accent-text:#1b1400;--dc-added-bg:rgba(63,182,139,0.14);--dc-added-strong:rgba(63,182,139,0.3);--dc-added-text:#5fd7a6;--dc-removed-bg:rgba(229,72,77,0.13);--dc-removed-strong:rgba(229,72,77,0.3);--dc-removed-text:#f2828a;--dc-modified-bg:rgba(232,163,61,0.1);--dc-modified-text:#e8a33d;--dc-radius:3px;--dc-mono:ui-monospace,SFMono-Regular,"IBM Plex Mono",Menlo,Consolas,monospace;--dc-sans:"IBM Plex Sans",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;box-sizing:border-box;display:flex;flex-direction:column;height:100%;max-height:100%;overflow:hidden;background:var(--dc-bg);color:var(--dc-text);font-family:var(--dc-sans);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;color-scheme:dark}.diff-checker-root[data-theme=light]{--dc-bg:#fafaf8;--dc-panel:#ffffff;--dc-panel-alt:#f3f2ee;--dc-border:#e2e1dc;--dc-border-soft:#eae9e4;--dc-text:#1b1c1f;--dc-text-muted:#6b6d75;--dc-text-faint:#a2a3aa;--dc-accent:#b5760a;--dc-accent-text:#fff8ec;--dc-added-bg:#e7f6ef;--dc-added-strong:#c7ebda;--dc-added-text:#1f7a55;--dc-removed-bg:#fceaeb;--dc-removed-strong:#f7cfd1;--dc-removed-text:#b3272c;--dc-modified-bg:#fbf0dc;--dc-modified-text:#92650e;color-scheme:light}.diff-checker-root *,.diff-checker-root :after,.diff-checker-root :before{box-sizing:border-box}.diff-checker-root ::selection{background:var(--dc-accent);color:var(--dc-accent-text)}.diff-checker-root button{font-family:inherit}.diff-checker-root .dc-hdr{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 20px;border-bottom:1px solid var(--dc-border);flex-wrap:wrap;flex-shrink:0}.diff-checker-root .dc-brand{display:flex;align-items:baseline;gap:9px;text-decoration:none;color:inherit}.diff-checker-root .dc-brand-mark{font-family:var(--dc-mono);font-weight:600;font-size:15px;letter-spacing:-.02em;color:var(--dc-text);display:flex;align-items:center;gap:6px}.diff-checker-root .dc-dash{color:var(--dc-added-text)}.diff-checker-root .dc-dash2{color:var(--dc-removed-text)}.diff-checker-root .dc-brand-sub{color:var(--dc-text-faint);font-size:12.5px}.diff-checker-root .dc-hdr-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.diff-checker-root .dc-icon-btn{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--dc-border);border-radius:var(--dc-radius);color:var(--dc-text-muted);cursor:pointer;transition:border-color .12s,color .12s}.diff-checker-root .dc-icon-btn:hover{color:var(--dc-text);border-color:var(--dc-text-faint)}.diff-checker-root .dc-privacy-note{display:flex;align-items:center;gap:6px;color:var(--dc-text-muted);font-size:12.5px;padding:5px 10px;border:1px solid var(--dc-border-soft);border-radius:var(--dc-radius)}.diff-checker-root .dc-toolbar{display:flex;align-items:center;gap:8px;padding:10px 20px;flex-wrap:wrap;border-bottom:1px solid var(--dc-border);background:var(--dc-panel-alt);flex-shrink:0}.diff-checker-root .dc-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 13px;font-size:13px;font-weight:500;border-radius:var(--dc-radius);border:1px solid var(--dc-border);background:var(--dc-panel);color:var(--dc-text);cursor:pointer;transition:border-color .12s,background .12s}.diff-checker-root .dc-btn:hover{border-color:var(--dc-text-faint)}.diff-checker-root .dc-btn:active{transform:translateY(1px)}.diff-checker-root .dc-btn-primary{background:var(--dc-accent);color:var(--dc-accent-text);border-color:var(--dc-accent);font-weight:600}.diff-checker-root .dc-btn-primary:hover{filter:brightness(1.06)}.diff-checker-root .dc-btn-ghost{background:transparent}.diff-checker-root .dc-btn-sm{padding:5px 9px;font-size:12.5px}.diff-checker-root .dc-kbd{font-family:var(--dc-mono);font-size:10.5px;color:var(--dc-text-faint);background:var(--dc-panel-alt);border:1px solid var(--dc-border-soft);border-radius:2px;padding:1px 4px;margin-left:2px}.diff-checker-root .dc-btn .dc-kbd{background:transparent}.diff-checker-root .dc-spacer{flex:1}.diff-checker-root .dc-menu-wrap{position:relative}.diff-checker-root .dc-select{padding:6px 10px;font-size:13px;background:var(--dc-panel);color:var(--dc-text);border:1px solid var(--dc-border);border-radius:var(--dc-radius);cursor:pointer}.diff-checker-root select.dc-select{-webkit-appearance:none;appearance:none;padding-right:26px;background-image:linear-gradient(45deg,transparent 50%,var(--dc-text-muted) 50%),linear-gradient(135deg,var(--dc-text-muted) 50%,transparent 50%);background-position:calc(100% - 14px) 55%,calc(100% - 9px) 55%;background-size:5px 5px,5px 5px;background-repeat:no-repeat}.diff-checker-root .dc-menu{display:none;position:absolute;top:110%;left:0;background:var(--dc-panel);border:1px solid var(--dc-border);border-radius:var(--dc-radius);min-width:150px;z-index:10}.diff-checker-root .dc-menu[data-align=right]{left:auto;right:0;min-width:170px}.diff-checker-root .dc-menu[data-open]{display:block}.diff-checker-root .dc-menu-item{width:100%;justify-content:flex-start;border:none;border-radius:0}.diff-checker-root .dc-file-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.diff-checker-root .dc-options{display:none;gap:16px 22px;padding:12px 20px;border-bottom:1px solid var(--dc-border);background:var(--dc-panel);flex-wrap:wrap;font-size:12.5px;color:var(--dc-text-muted);flex-shrink:0}.diff-checker-root .dc-options[data-open]{display:flex}.diff-checker-root .dc-options-group{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.diff-checker-root .dc-options-label{color:var(--dc-text-faint);font-size:11px;text-transform:uppercase;letter-spacing:.06em;margin-right:2px}.diff-checker-root .dc-chk{display:flex;align-items:center;gap:6px;cursor:pointer;white-space:nowrap}.diff-checker-root .dc-chk input{accent-color:var(--dc-accent);width:14px;height:14px;cursor:pointer}.diff-checker-root .dc-divider-v{width:1px;align-self:stretch;background:var(--dc-border);margin:0 2px}.diff-checker-root .dc-editors{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--dc-border);border-bottom:1px solid var(--dc-border);flex:0 0 auto;height:min(32vh,260px);min-height:140px;overflow:hidden}.diff-checker-root .dc-editor-pane{background:var(--dc-panel);display:flex;flex-direction:column;min-height:0;height:100%;overflow:hidden;position:relative}.diff-checker-root .dc-editor-pane[data-drag-over]:after{content:"Drop file to load";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(232,163,61,.08);border:2px dashed var(--dc-accent);color:var(--dc-accent);font-weight:600;font-size:13px;pointer-events:none}.diff-checker-root .dc-editor-head{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-bottom:1px solid var(--dc-border-soft)}.diff-checker-root .dc-editor-title{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600;color:var(--dc-text-muted);text-transform:uppercase;letter-spacing:.05em}.diff-checker-root .dc-dot{width:7px;height:7px;border-radius:50%}.diff-checker-root .dc-dot-orig{background:var(--dc-removed-text)}.diff-checker-root .dc-dot-mod{background:var(--dc-added-text)}.diff-checker-root .dc-editor-file-actions{display:flex;align-items:center;gap:4px}.diff-checker-root .dc-file-meta{display:flex;align-items:center;gap:8px;padding:6px 12px;font-size:11.5px;color:var(--dc-text-faint);border-bottom:1px solid var(--dc-border-soft);background:var(--dc-panel-alt);font-family:var(--dc-mono)}.diff-checker-root .dc-file-meta[data-hidden]{display:none}.diff-checker-root .dc-lang-tag{padding:1px 6px;border-radius:2px;background:var(--dc-panel);border:1px solid var(--dc-border-soft);color:var(--dc-text-muted)}.diff-checker-root textarea.dc-code-input{flex:1;width:100%;min-height:0;resize:none;overflow:auto;border:none;outline:none;background:transparent;color:var(--dc-text);font-family:var(--dc-mono);font-size:13px;line-height:1.6;padding:12px 14px;tab-size:2}.diff-checker-root textarea.dc-code-input::placeholder{color:var(--dc-text-faint)}.diff-checker-root .dc-resultbar{display:flex;align-items:center;gap:16px;padding:10px 20px;border-bottom:1px solid var(--dc-border);flex-wrap:wrap;background:var(--dc-panel-alt);flex-shrink:0}.diff-checker-root .dc-summary{display:flex;align-items:center;gap:14px;font-family:var(--dc-mono);font-size:12.5px}.diff-checker-root .dc-stat{display:flex;align-items:center;gap:5px}.diff-checker-root .dc-stat-added{color:var(--dc-added-text)}.diff-checker-root .dc-stat-removed{color:var(--dc-removed-text)}.diff-checker-root .dc-stat-modified{color:var(--dc-modified-text)}.diff-checker-root .dc-stat-unchanged{color:var(--dc-text-faint)}.diff-checker-root .dc-view-tabs{display:flex;border:1px solid var(--dc-border);border-radius:var(--dc-radius);overflow:hidden}.diff-checker-root .dc-view-tab{padding:6px 12px;font-size:12.5px;background:var(--dc-panel);color:var(--dc-text-muted);border:none;cursor:pointer;border-right:1px solid var(--dc-border)}.diff-checker-root .dc-view-tab:last-child{border-right:none}.diff-checker-root .dc-view-tab[data-active]{background:var(--dc-accent);color:var(--dc-accent-text);font-weight:600}.diff-checker-root .dc-nav-changes{display:flex;align-items:center;gap:4px;font-size:12.5px;color:var(--dc-text-muted)}.diff-checker-root .dc-nav-changes .dc-count{font-family:var(--dc-mono);min-width:52px;text-align:center;color:var(--dc-text)}.diff-checker-root .dc-search-box{display:flex;align-items:center;gap:6px;background:var(--dc-panel);border:1px solid var(--dc-border);border-radius:var(--dc-radius);padding:4px 8px;min-width:180px}.diff-checker-root .dc-search-box input{border:none;outline:none;background:transparent;color:var(--dc-text);font-size:12.5px;width:100%;font-family:var(--dc-mono)}.diff-checker-root .dc-search-box .dc-count{color:var(--dc-text-faint);font-size:11.5px;white-space:nowrap;font-family:var(--dc-mono)}.diff-checker-root .dc-search-nav{width:22px;height:22px}.diff-checker-root .dc-viewer-wrap{flex:1;overflow:auto;background:var(--dc-panel);min-height:0;overscroll-behavior:contain}.diff-checker-root .dc-empty-state,.diff-checker-root .dc-no-diff-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:80px 20px;color:var(--dc-text-muted);text-align:center}.diff-checker-root .dc-empty-state .dc-big{font-size:16px;color:var(--dc-text);font-weight:600}.diff-checker-root .dc-no-diff-state .dc-icon{font-size:22px}.diff-checker-root table.dc-diff-table{width:100%;border-collapse:collapse;font-family:var(--dc-mono);font-size:13px}.diff-checker-root table.dc-diff-table td{vertical-align:top;padding:1px 0}.diff-checker-root table.dc-diff-table td.dc-ln{width:1%;white-space:nowrap;text-align:right;padding:0 10px;color:var(--dc-text-faint);user-select:none;border-right:1px solid var(--dc-border-soft);font-size:11.5px}.diff-checker-root table.dc-diff-table td.dc-code-cell{padding:0 12px;white-space:pre-wrap;word-break:break-word}.diff-checker-root tr.row-add .dc-code-cell,.diff-checker-root tr.row-add .dc-ln{background:var(--dc-added-bg)}.diff-checker-root tr.row-modified-old .dc-code-cell,.diff-checker-root tr.row-modified-old .dc-ln,.diff-checker-root tr.row-remove .dc-code-cell,.diff-checker-root tr.row-remove .dc-ln{background:var(--dc-removed-bg)}.diff-checker-root tr.row-modified-new .dc-code-cell,.diff-checker-root tr.row-modified-new .dc-ln{background:var(--dc-added-bg)}.diff-checker-root tr.row-empty .dc-code-cell{color:var(--dc-text-faint)}.diff-checker-root tr.change-active{outline:1px solid var(--dc-accent);outline-offset:-1px}.diff-checker-root .tok-add{background:var(--dc-added-strong);border-radius:2px}.diff-checker-root .tok-remove{background:var(--dc-removed-strong);border-radius:2px;text-decoration:line-through;text-decoration-color:var(--dc-removed-text);opacity:.85}.diff-checker-root .dc-gutter-mark{width:16px;text-align:center;color:var(--dc-text-faint);user-select:none;font-size:11px}.diff-checker-root tr.row-add .dc-gutter-mark{color:var(--dc-added-text)}.diff-checker-root tr.row-modified-old .dc-gutter-mark,.diff-checker-root tr.row-remove .dc-gutter-mark{color:var(--dc-removed-text)}.diff-checker-root tr.row-modified-new .dc-gutter-mark{color:var(--dc-added-text)}.diff-checker-root mark.search-hit{background:var(--dc-accent);color:var(--dc-accent-text);border-radius:2px}.diff-checker-root mark.search-hit.active-hit{outline:2px solid var(--dc-text)}.diff-checker-root .dc-sbs-table{width:100%;table-layout:fixed}.diff-checker-root .dc-sbs-table col.col-ln{width:48px}.diff-checker-root .dc-sbs-table col.col-mark{width:18px}.diff-checker-root .dc-inline-new,.diff-checker-root .dc-inline-old{display:block}.diff-checker-root .dc-json-panel{padding:16px 20px;font-family:var(--dc-mono);font-size:13px}.diff-checker-root .dc-json-row{display:flex;gap:10px;padding:6px 10px;border-bottom:1px solid var(--dc-border-soft);align-items:baseline;flex-wrap:wrap}.diff-checker-root .dc-json-path{color:var(--dc-text-muted);min-width:180px}.diff-checker-root .dc-json-tag{font-size:11px;padding:1px 6px;border-radius:2px;text-transform:uppercase;letter-spacing:.03em;font-family:var(--dc-sans);font-weight:600}.diff-checker-root .dc-json-tag.added{background:var(--dc-added-bg);color:var(--dc-added-text)}.diff-checker-root .dc-json-tag.removed{background:var(--dc-removed-bg);color:var(--dc-removed-text)}.diff-checker-root .dc-json-tag.changed{background:var(--dc-modified-bg);color:var(--dc-modified-text)}.diff-checker-root .dc-json-val-old{color:var(--dc-removed-text);text-decoration:line-through;opacity:.8}.diff-checker-root .dc-json-val-new{color:var(--dc-added-text)}.diff-checker-root .dc-json-error{color:var(--dc-removed-text);padding:16px 20px;font-family:var(--dc-mono);font-size:13px}.diff-checker-root .dc-ftr{display:flex;align-items:center;justify-content:space-between;padding:10px 20px;color:var(--dc-text-faint);font-size:11.5px;border-top:1px solid var(--dc-border);flex-wrap:wrap;gap:8px;flex-shrink:0}.diff-checker-root .dc-ftr-link{color:var(--dc-text-muted);background:none;border:none;padding:0;cursor:pointer;font:inherit}.diff-checker-root .dc-ftr-link:hover{color:var(--dc-text)}.diff-checker-root .dc-modal-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.55);align-items:center;justify-content:center;z-index:50;padding:20px}.diff-checker-root .dc-modal-overlay[data-open]{display:flex}.diff-checker-root .dc-modal{background:var(--dc-panel);border:1px solid var(--dc-border);border-radius:6px;max-width:440px;width:100%;padding:20px}.diff-checker-root .dc-modal h3{margin:0 0 14px;font-size:15px}.diff-checker-root .dc-modal-close{float:right;background:none;border:none;color:var(--dc-text-muted);cursor:pointer;font-size:16px}.diff-checker-root .dc-shortcut-row{display:flex;justify-content:space-between;padding:7px 0;border-bottom:1px solid var(--dc-border-soft);font-size:13px}.diff-checker-root .dc-shortcut-row .dc-keys{font-family:var(--dc-mono);color:var(--dc-text-muted)}.diff-checker-root .dc-toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%) translateY(20px);background:var(--dc-text);color:var(--dc-bg);padding:9px 16px;border-radius:5px;font-size:13px;opacity:0;pointer-events:none;transition:opacity .18s,transform .18s;z-index:60}.diff-checker-root .dc-toast[data-show]{opacity:1;transform:translateX(-50%) translateY(0)}@media (max-width:860px){.diff-checker-root .dc-editors{grid-template-columns:1fr;height:min(40vh,240px)}.diff-checker-root .dc-resultbar{gap:10px}.diff-checker-root .dc-hdr{padding:10px 12px}.diff-checker-root .dc-ftr,.diff-checker-root .dc-options,.diff-checker-root .dc-resultbar,.diff-checker-root .dc-toolbar{padding-left:12px;padding-right:12px}.diff-checker-root .dc-brand-sub,.diff-checker-root .dc-kbd,.diff-checker-root .dc-privacy-note{display:none}.diff-checker-root .dc-search-box{min-width:0;flex:1 1 140px}.diff-checker-root .dc-spacer{display:none}}@media (max-width:480px){.diff-checker-root .dc-hdr-actions{gap:6px}.diff-checker-root .dc-btn{padding:7px 10px}.diff-checker-root .dc-empty-state,.diff-checker-root .dc-no-diff-state{padding:32px 16px}}@media (prefers-reduced-motion:reduce){.diff-checker-root *{transition:none}}