.file-diff-page{--fd-primary:#4f46e5;--fd-primary-dark:#3730a3;--fd-ink:#172033;--fd-muted:#64748b;--fd-border:#dce3ed;--fd-surface:#fff;--fd-soft:#f6f8fc;--fd-add:#e9f8ef;--fd-add-strong:#b8ebc9;--fd-remove:#fff0f0;--fd-remove-strong:#ffc8c8;--fd-change:#fff8df;--fd-code-line:29px}.file-diff-page .fd-sr-only{height:1px!important;margin:-1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;width:1px!important;clip:rect(0,0,0,0)!important;border:0!important;white-space:nowrap!important}.file-diff-page svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.fd-hero{margin-bottom:24px}.file-diff-page .tool-h1{margin-bottom:14px}.file-diff-page .tool-intro{margin-bottom:16px!important}.file-diff-page .fd-app{background:var(--fd-soft)!important;border:1px solid var(--fd-border)!important;overflow:hidden;padding:0!important}.fd-app button,.fd-app input,.fd-app textarea{font:inherit}.fd-topbar.tool-ui__header{align-items:center;background:var(--fd-surface);border-bottom:1px solid var(--fd-border);color:var(--fd-ink);display:flex;flex-direction:row;gap:14px;justify-content:space-between;margin:0;min-height:62px;padding:10px 14px}.fd-brand{align-items:center;display:flex;gap:10px;min-width:0}.fd-brand__mark{background:linear-gradient(145deg,#6366f1,#3730a3);border-radius:9px;box-shadow:0 5px 14px rgba(79,70,229,.24);color:#fff;display:grid;flex:0 0 auto;height:38px;place-items:center;width:38px}.fd-brand__mark svg{height:22px;width:22px}.fd-brand .tool-ui__title,.fd-brand small{display:block}.fd-brand .tool-ui__title{color:var(--fd-ink);font-size:.88rem;font-weight:800;line-height:1.3;margin:0}.fd-brand small{color:var(--fd-muted);font-size:.63rem;letter-spacing:.015em;margin-top:2px}.fd-input-hint{color:var(--fd-muted);font-size:.68rem;line-height:1.5;margin:0;padding:9px 13px 0}.fd-primary-actions>div,.fd-top-actions{align-items:center;display:flex;gap:7px}.fd-btn,.fd-icon-btn{align-items:center;background:var(--fd-surface);border:1px solid var(--fd-border);border-radius:7px;color:var(--fd-ink);cursor:pointer;display:inline-flex;font-size:.72rem;font-weight:800;gap:7px;justify-content:center;min-height:36px;padding:8px 13px;transition:.18s ease}.fd-btn:hover,.fd-icon-btn:hover{border-color:#a5b4fc;color:var(--fd-primary);transform:translateY(-1px)}.fd-icon-btn{padding:0;width:36px}.fd-btn svg,.fd-icon-btn svg{height:17px;width:17px}.fd-btn--primary{background:linear-gradient(135deg,#5b5ee9,#4038bd);border-color:#4038bd;box-shadow:0 6px 16px rgba(79,70,229,.23);color:#fff;min-width:132px}.fd-btn--primary:hover{border-color:#312e81;box-shadow:0 8px 20px rgba(79,70,229,.3);color:#fff}.fd-btn:disabled{cursor:not-allowed;opacity:.56;transform:none}.fd-btn.is-loading svg{animation:fdSpin .8s linear infinite}.fd-fullscreen-exit{display:none}.fd-app:is(.is-native-fullscreen,.is-fullscreen-fallback) .fd-fullscreen-enter{display:none}.fd-app:is(.is-native-fullscreen,.is-fullscreen-fallback) .fd-fullscreen-exit{display:block}.fd-input-grid{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr));padding:12px 12px 0}.fd-input-card{background:var(--fd-surface);border:1px solid var(--fd-border);border-radius:8px;min-width:0;overflow:hidden;transition:.18s ease}.fd-input-card.is-dragging{border-color:var(--fd-primary);box-shadow:0 0 0 3px rgba(79,70,229,.12)}.fd-input-card>header{align-items:center;border-bottom:1px solid var(--fd-border);display:flex;gap:8px;justify-content:space-between;min-height:43px;padding:8px 10px}.fd-input-card>header>div{align-items:center;display:flex;gap:8px;min-width:0}.fd-input-card>header strong{color:var(--fd-ink);font-size:.7rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fd-side-badge{border-radius:5px;color:#fff;display:inline-grid;flex:0 0 auto;font-size:.65rem;font-weight:900;height:23px;place-items:center;width:23px}.fd-side-badge--a{background:#dc5252}.fd-side-badge--b{background:#16845d}.fd-file-meta{color:var(--fd-muted);flex:0 0 auto;font-size:.61rem}.fd-file-row{align-items:center;background:#fafbfe;border-bottom:1px solid var(--fd-border);display:flex;gap:8px;min-height:45px;padding:7px 9px}.fd-file-btn{align-items:center;background:#eef2ff;border:1px solid #cbd5ff;border-radius:6px;color:var(--fd-primary);cursor:pointer;display:inline-flex;flex:0 0 auto;font-size:.64rem;font-weight:800;gap:6px;min-height:30px;padding:6px 9px}.fd-file-btn:hover{background:#e0e7ff}.fd-file-btn svg{height:15px;width:15px}.fd-file-name{color:var(--fd-muted);flex:1 1 auto;font-size:.62rem;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fd-clear-side{background:transparent;border:0;border-radius:5px;color:#94a3b8;cursor:pointer;display:grid;flex:0 0 auto;font-size:1rem;height:26px;padding:0;place-items:center;width:26px}.fd-clear-side:hover{background:#fee2e2;color:#b4232c}.fd-input-card textarea{background:#fff;border:0;color:#253147;display:block;font:500 .72rem/1.65 SFMono-Regular,Consolas,Liberation Mono,monospace;height:210px;outline:0;padding:12px 13px;resize:vertical;tab-size:2;width:100%}.fd-input-card textarea:focus{box-shadow:inset 0 0 0 2px rgba(79,70,229,.22)}.fd-input-card textarea:disabled{background:#f8fafc;color:var(--fd-muted);cursor:default}.fd-input-grid.is-collapsed .fd-input-card textarea{height:100px;min-height:100px}.fd-primary-actions{align-items:center;display:flex;gap:15px;justify-content:space-between;padding:12px}.fd-primary-actions p{align-items:center;color:var(--fd-muted);display:flex;font-size:.64rem;gap:7px;line-height:1.45;margin:0}.fd-primary-actions p svg{color:#168049;flex:0 0 auto;height:17px;width:17px}.fd-status{border:1px solid;border-radius:7px;font-size:.7rem;font-weight:700;margin:0 12px 12px;padding:10px 12px}.fd-status.is-loading{background:#eef2ff;border-color:#c7d2fe;color:#3730a3}.fd-status.is-success{background:#ecfdf3;border-color:#bbf7d0;color:#166534}.fd-status.is-error{background:#fff1f2;border-color:#fecdd3;color:#991b1b}.fd-results{background:var(--fd-surface);border:1px solid var(--fd-border);border-radius:9px;box-shadow:0 8px 24px rgba(34,46,80,.07);margin:0 12px 12px;overflow:hidden}.fd-result-head{align-items:center;border-bottom:1px solid var(--fd-border);display:flex;gap:14px;justify-content:space-between;min-height:58px;padding:10px 12px}.fd-result-title{align-items:center;display:flex;gap:9px;min-width:0}.fd-success-dot{background:#1fad72;border:3px solid #c8f3df;border-radius:50%;box-sizing:content-box;flex:0 0 auto;height:10px;width:10px}.fd-result-title small,.fd-result-title strong{display:block}.fd-result-title strong{color:var(--fd-ink);font-size:.78rem}.fd-result-title small{color:var(--fd-muted);font-size:.62rem;margin-top:3px}.fd-view-switch{background:#eef1f6;border:1px solid #e1e6ee;border-radius:7px;display:flex;gap:4px;padding:3px}.fd-view-switch button{align-items:center;background:transparent;border:0;border-radius:5px;color:var(--fd-muted);cursor:pointer;display:flex;font-size:.63rem;font-weight:800;gap:5px;min-height:30px;padding:5px 9px}.fd-view-switch button svg{height:14px;width:14px}.fd-view-switch button.is-active{background:#fff;box-shadow:0 1px 5px rgba(30,41,59,.13);color:var(--fd-primary)}.fd-stats{border-bottom:1px solid var(--fd-border);display:grid;grid-template-columns:repeat(5,minmax(0,1fr))}.fd-stats>:is(article,.fd-stat-button){align-items:center;background:transparent;border:0;border-radius:0;border-right:1px solid var(--fd-border);display:flex;font:inherit;gap:7px;justify-content:space-between;margin:0;min-width:0;padding:9px 11px;text-align:left}.fd-stats>:is(article,.fd-stat-button):last-child{border-right:0}.fd-stats span{color:var(--fd-muted);font-size:.58rem;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fd-stats strong{color:var(--fd-ink);font-size:.9rem}.fd-stats .fd-stat--different strong{color:#c2413b}.fd-stats .fd-stat--added strong{color:#168049}.fd-stats .fd-stat--removed strong{color:#c2413b}.fd-stat-button{cursor:pointer;position:relative;transition:color .18s ease,background-color .18s ease,box-shadow .18s ease}.fd-stat-button:hover:not(:disabled){background:#f5f7ff;box-shadow:inset 0 -2px #a5b4fc}.fd-stat-button:focus-visible{outline:2px solid #6366f1;outline-offset:-3px;z-index:1}.fd-stat-button.is-active{background:#eef2ff;box-shadow:inset 0 -3px var(--fd-primary)}.fd-stat-button.is-active span{color:#3730a3}.fd-stat-button:disabled{cursor:default;opacity:.52}.fd-result-toolbar{background:#fafbfe;border-bottom:1px solid var(--fd-border);gap:9px;justify-content:space-between;min-height:51px;padding:8px 10px}.fd-result-toolbar,.fd-search{align-items:center;display:flex}.fd-search{background:#fff;border:1px solid var(--fd-border);border-radius:6px;flex:1 1 auto;gap:6px;height:34px;max-width:270px;min-width:155px;padding:0 9px}.fd-search:focus-within{border-color:#818cf8;box-shadow:0 0 0 2px rgba(99,102,241,.11)}.fd-search svg{color:var(--fd-muted);flex:0 0 auto;height:15px;width:15px}.fd-search input{background:transparent;border:0;color:var(--fd-ink);flex:1;font-size:.64rem;min-width:0;outline:0;padding:0}.fd-search span{color:var(--fd-muted);flex:0 0 auto;font-size:.58rem}.fd-nav-actions{align-items:center;display:flex;gap:5px}.fd-nav-actions button{align-items:center;background:#fff;border:1px solid var(--fd-border);border-radius:6px;color:var(--fd-ink);cursor:pointer;display:inline-flex;font-size:.6rem;font-weight:800;gap:4px;min-height:31px;padding:5px 8px}.fd-nav-actions button:hover{border-color:#a5b4fc;color:var(--fd-primary)}.fd-nav-actions button:disabled{cursor:not-allowed;opacity:.42}.fd-nav-actions button svg{height:14px;width:14px}.fd-nav-actions>span{color:var(--fd-muted);font-size:.59rem;font-weight:800;min-width:38px;text-align:center}.fd-mobile-tabs{display:none}.fd-diff-view{background:#fff;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));min-width:0}.fd-pane{border-right:1px solid var(--fd-border);min-width:0}.fd-pane:nth-child(2){border-right:0}.fd-pane>header,.fd-unified-pane>header{align-items:center;background:#f5f7fb;border-bottom:1px solid var(--fd-border);color:var(--fd-ink);display:flex;gap:7px;height:38px;padding:6px 9px}.fd-pane>header strong{font-size:.65rem;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fd-unified-pane>header{justify-content:space-between}.fd-unified-pane>header strong{font-size:.69rem}.fd-unified-pane>header span{color:var(--fd-muted);font-size:.6rem}.fd-code-scroll{background:#fff;height:420px;overflow:auto;overscroll-behavior:contain;scrollbar-color:#bac4d4 #f1f5f9;scrollbar-width:thin}.fd-code{color:#334155;font:500 .68rem/var(--fd-code-line) SFMono-Regular,Consolas,Liberation Mono,monospace;min-width:max-content;width:100%}.fd-line{align-items:stretch;border-bottom:1px solid rgba(226,232,240,.55);display:grid;grid-template-columns:44px minmax(max-content,1fr);height:var(--fd-code-line);transition:box-shadow .18s ease}.fd-line-number,.fd-unified-numbers{background:rgba(248,250,252,.72);border-right:1px solid rgba(226,232,240,.7);color:#94a3b8;display:block;font-variant-numeric:tabular-nums;padding:0 8px 0 4px;text-align:right;user-select:none}.fd-line code{background:transparent;color:inherit;display:block;font:inherit;min-width:max-content;padding:0 10px;white-space:pre}.fd-line.is-equal{background:#fff}.fd-line.is-removed{background:var(--fd-remove);color:#762a30}.fd-line.is-added{background:var(--fd-add);color:#185b3c}.fd-line.is-changed{background:var(--fd-change);color:#6b4b11}.fd-line.is-placeholder{background:#f8fafc;color:transparent}.fd-line.is-placeholder .fd-line-number{background-image:repeating-linear-gradient(135deg,transparent 0 5px,rgba(148,163,184,.13) 5px 6px);color:transparent}.fd-inline-added,.fd-inline-removed{border-radius:2px;color:inherit;padding:2px 0}.fd-inline-removed{background:var(--fd-remove-strong);text-decoration:none}.fd-inline-added{background:var(--fd-add-strong)}.fd-page-row{align-items:center;background:#eef2ff;border-bottom:1px solid #c7d2fe;border-top:1px solid #c7d2fe;color:#3730a3;display:flex;font:800 .64rem/1 Inter,sans-serif;height:34px;letter-spacing:.05em;padding:0 10px;text-transform:uppercase}.fd-page-row:first-child{border-top:0}.fd-line.is-search-hit{box-shadow:inset 3px 0 #eab308}.fd-line.is-current-diff,.fd-line.is-current-search{box-shadow:inset 0 0 0 2px #6366f1,inset 4px 0 #4f46e5;position:relative;z-index:1}.fd-line.is-current-diff{animation:fdDifferenceFocus .85s ease-out}.fd-unified-pane{display:none;grid-column:1/-1;min-width:0}.fd-unified-pane .fd-line{grid-template-columns:64px 22px minmax(max-content,1fr)}.fd-unified-pane .fd-line>b{display:block;font-size:.78rem;text-align:center;user-select:none}.fd-unified-pane .fd-line.is-removed+.fd-line.is-added{border-top:1px solid hsla(0,0%,100%,.72)}.fd-diff-view.is-unified .fd-pane{display:none}.fd-diff-view.is-unified .fd-unified-pane{display:block}.fd-legend{align-items:center;background:#fafbfe;border-top:1px solid var(--fd-border);color:var(--fd-muted);display:flex;flex-wrap:wrap;font-size:.59rem;font-weight:700;gap:8px 16px;min-height:38px;padding:8px 11px}.fd-legend span{align-items:center;display:inline-flex;gap:5px}.fd-legend i{border:1px solid;border-radius:2px;height:10px;width:10px}.fd-legend i.is-added{background:var(--fd-add);border-color:#86d3a3}.fd-legend i.is-removed{background:var(--fd-remove);border-color:#f0a8ad}.fd-legend i.is-changed{background:var(--fd-change);border-color:#e4c76c}.fd-legend i.is-equal{background:#fff;border-color:#cbd5e1}.fd-app.is-fullscreen-fallback,.fd-app.is-native-fullscreen{border:0!important;border-radius:0!important;height:100vh!important;inset:0!important;margin:0!important;max-width:none!important;overflow:auto!important;position:fixed!important;width:100vw!important;z-index:100000!important}.fd-app:is(.is-native-fullscreen,.is-fullscreen-fallback) .fd-code-scroll{height:calc(100vh - 395px);min-height:260px}body.fd-scroll-locked{overflow:hidden!important}.dark-mode .file-diff-page,html[data-theme=dark] .file-diff-page{--fd-ink:#e4eaf4;--fd-muted:#94a3b8;--fd-border:#334155;--fd-surface:#111927;--fd-soft:#0c1320;--fd-add:#123b2d;--fd-add-strong:#1d6245;--fd-remove:#422326;--fd-remove-strong:#74363d;--fd-change:#463b1f}.dark-mode .file-diff-page .fd-app,html[data-theme=dark] .file-diff-page .fd-app{background:var(--fd-soft)!important}.dark-mode .fd-file-row,.dark-mode .fd-legend,.dark-mode .fd-pane>header,.dark-mode .fd-result-toolbar,.dark-mode .fd-unified-pane>header,html[data-theme=dark] .fd-file-row,html[data-theme=dark] .fd-legend,html[data-theme=dark] .fd-pane>header,html[data-theme=dark] .fd-result-toolbar,html[data-theme=dark] .fd-unified-pane>header{background:#172131}.dark-mode .fd-code-scroll,.dark-mode .fd-diff-view,.dark-mode .fd-input-card textarea,.dark-mode .fd-line.is-equal,.dark-mode .fd-search,html[data-theme=dark] .fd-code-scroll,html[data-theme=dark] .fd-diff-view,html[data-theme=dark] .fd-input-card textarea,html[data-theme=dark] .fd-line.is-equal,html[data-theme=dark] .fd-search{background:#0e1623;color:#dbe4f0}.dark-mode .fd-line-number,.dark-mode .fd-unified-numbers,html[data-theme=dark] .fd-line-number,html[data-theme=dark] .fd-unified-numbers{background:rgba(15,23,42,.6);border-color:#334155;color:#6f8199}.dark-mode .fd-view-switch,html[data-theme=dark] .fd-view-switch{background:#0f172a;border-color:#334155}.dark-mode .fd-nav-actions button,.dark-mode .fd-view-switch button.is-active,html[data-theme=dark] .fd-nav-actions button,html[data-theme=dark] .fd-view-switch button.is-active{background:#273449;color:#c7d2fe}.dark-mode .fd-stat-button:hover:not(:disabled),html[data-theme=dark] .fd-stat-button:hover:not(:disabled){background:#1e293b}.dark-mode .fd-stat-button.is-active,html[data-theme=dark] .fd-stat-button.is-active{background:#252d4b}.dark-mode .fd-stat-button.is-active span,html[data-theme=dark] .fd-stat-button.is-active span{color:#c7d2fe}@keyframes fdSpin{to{transform:rotate(1turn)}}@keyframes fdDifferenceFocus{0%{box-shadow:inset 0 0 0 2px #6366f1,inset 5px 0 #4f46e5,0 0 0 5px rgba(99,102,241,.2)}to{box-shadow:inset 0 0 0 2px #6366f1,inset 4px 0 #4f46e5,0 0 0 0 rgba(99,102,241,0)}}@media (prefers-reduced-motion:reduce){.fd-line.is-current-diff{animation:none}}@media (max-width:980px){.fd-primary-actions{align-items:flex-end}.fd-primary-actions p{max-width:52%}.fd-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.fd-stats>:is(article,.fd-stat-button){border-bottom:1px solid var(--fd-border)}}@media (max-width:720px){.file-diff-page .fd-app{border-radius:8px!important}.fd-topbar{align-items:flex-start;padding:10px}.fd-brand small{display:none}.fd-brand__mark{height:34px;width:34px}.fd-top-actions .fd-btn{padding:7px 9px}.fd-input-grid{grid-template-columns:1fr;padding:9px 9px 0}.fd-input-card textarea{height:170px}.fd-primary-actions{align-items:stretch;flex-direction:column;padding:9px}.fd-primary-actions p{max-width:none}.fd-primary-actions>div{justify-content:flex-end}.fd-results,.fd-status{margin-left:9px;margin-right:9px}.fd-result-head{align-items:stretch;flex-direction:column}.fd-view-switch{align-self:flex-start}.fd-result-toolbar{align-items:stretch;flex-direction:column}.fd-search{max-width:none;width:100%}.fd-nav-actions{justify-content:space-between;overflow-x:auto}.fd-nav-actions button span{display:none}.fd-mobile-tabs{background:#eef1f6;border-bottom:1px solid var(--fd-border);display:grid;gap:4px;grid-template-columns:1fr 1fr;padding:6px}.fd-mobile-tabs button{background:transparent;border:0;border-radius:5px;color:var(--fd-muted);font-size:.67rem;font-weight:850;min-height:34px}.fd-mobile-tabs button.is-active{background:#fff;box-shadow:0 1px 5px rgba(30,41,59,.13);color:var(--fd-primary)}.fd-diff-view.is-side{grid-template-columns:minmax(0,1fr)}.fd-app[data-mobile-side=a] .fd-diff-view.is-side .fd-pane--b,.fd-app[data-mobile-side=b] .fd-diff-view.is-side .fd-pane--a{display:none}.fd-pane{border-right:0}.fd-code-scroll{height:380px}.fd-legend{gap:7px 12px}.fd-app:is(.is-native-fullscreen,.is-fullscreen-fallback) .fd-code-scroll{height:calc(100vh - 520px);min-height:230px}}@media (max-width:430px){.fd-top-actions .fd-btn{display:none}.fd-brand .tool-ui__title{font-size:.79rem}.fd-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.fd-file-btn span{display:none}.fd-primary-actions>div .fd-btn{flex:1}.fd-view-switch{width:100%}.fd-view-switch button{flex:1;justify-content:center}.fd-code{font-size:.64rem}.fd-line{grid-template-columns:38px minmax(max-content,1fr)}.fd-line code{padding:0 7px}}@media (prefers-reduced-motion:reduce){.fd-app *,.fd-app :after,.fd-app :before{animation-duration:.01ms!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}