:root{--fc-sunk:#09171c;--fc-detail:#0e1317;--fc-input:#071217;--fc-add:#4f9d69;--fc-add-bg:#173c35;--fc-add-fg:#9fb896;--fc-rem-bg:#3a2025;--fc-rem-fg:#dcb3ac;--fc-mod-bg:#3a2c12;--fc-mod-fg:#e4b56b;--fc-info-bg:#132a33;--fc-info-fg:#8fc4c8;--fc-header:#5f8fa8;--fc-neutral-bg:#232b30;--fc-neutral-fg:#9ca8ad;--fc-active-bg:#1b3c3b;--fc-active-fg:#cddac6;--fc-active-line:#377468;--fc-other-bg:#302043;--fc-other-fg:#d4c8de;--fc-warn-bg:#2a210f;--fc-warn-fg:#d9c690;--fc-warn-line:#c9a227}
html[data-theme="light"]{--fc-sunk:#f4f8f9;--fc-detail:#f7fafb;--fc-input:#fff;--fc-add:#2f7d4a;--fc-add-bg:#dcefe2;--fc-add-fg:#1f5d36;--fc-rem-bg:#f6dfe2;--fc-rem-fg:#8f2436;--fc-mod-bg:#f6e8cf;--fc-mod-fg:#7a4c00;--fc-info-bg:#dcebf0;--fc-info-fg:#2a5866;--fc-header:#4a7d93;--fc-neutral-bg:#e6ecee;--fc-neutral-fg:#53666c;--fc-active-bg:#d9e8ea;--fc-active-fg:#173138;--fc-active-line:#7aa7a0;--fc-other-bg:#ebe2f3;--fc-other-fg:#4e3769;--fc-warn-bg:#fbf1d9;--fc-warn-fg:#6b4d00;--fc-warn-line:#b8860b}
.compare-mode-switch{display:flex;gap:4px;width:max-content;max-width:100%;margin:-6px 0 16px;padding:4px;border:1px solid var(--line);border-radius:2px;background:var(--panel)}
.compare-mode-switch button{border:0;border-radius:2px;background:transparent;color:var(--muted);padding:8px 14px;font-size:11px;font-weight:750;cursor:pointer}
.compare-mode-switch button.active{background:var(--fc-active-bg);color:var(--fc-active-fg)}
.compare-mode-switch button:hover:not(.active){color:var(--text)}
.fc-note{margin:0 0 14px;color:var(--muted);font-size:11px;line-height:1.5}
.fc-upload-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}
.fc-side{min-width:0;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.fc-side.fc-dragging{border-color:var(--brand);box-shadow:0 0 0 2px color-mix(in srgb,var(--brand) 12%,transparent)}
.fc-side-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-bottom:1px solid var(--line);background:var(--panel2)}
.fc-side-title{display:grid;gap:4px;min-width:0}
.fc-side-title>span{color:var(--brand2);font-size:9px;font-weight:850;letter-spacing:.09em;text-transform:uppercase}
.fc-side-label{width:100%;min-width:0;padding:3px 0;border:0;border-bottom:1px solid transparent;outline:0;background:transparent;color:var(--text);font-size:14px;font-weight:800}
.fc-side-label:hover,.fc-side-label:focus{border-bottom-color:var(--brand2)}
.fc-drop{display:grid;place-items:center;margin:14px;padding:22px 16px;border:1px dashed var(--line);border-radius:2px;background:var(--fc-sunk);color:var(--text);text-align:center}
.fc-drop b{font-weight:600;font-size:13px}
.fc-drop small{color:var(--muted);font-size:9px;margin:4px 0 11px}
.fc-side-stats{display:flex;gap:8px;flex-wrap:wrap;padding:0 14px 8px;color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.07em}
.fc-side-files{max-height:180px;overflow:auto;padding:0 14px 12px}
.fc-side-files ul{display:grid;gap:4px;margin:0;padding:0;list-style:none}
.fc-side-files li{display:flex;align-items:baseline;justify-content:space-between;gap:10px;min-width:0;padding:6px 0;border-bottom:1px solid var(--line);color:var(--text);font-size:10px}
.fc-side-files li span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fc-side-files li small{flex:0 0 auto;color:var(--muted);font-size:8px;font-family:var(--font-mono)}
.fc-side-files>p{margin:0;color:var(--muted);font-size:10px;padding:10px 0}
.fc-ignored{margin:0 14px 12px;padding:0 0 0 6px;border-top:1px solid var(--line)}
.fc-ignored summary{cursor:pointer;color:var(--muted);font-size:10px;font-weight:700;padding:8px 0}
.fc-ignored ul{display:grid;gap:5px;margin:0 0 8px;padding-left:14px;list-style:none}
.fc-ignored li{min-width:0;padding:6px;border:1px solid var(--line);border-radius:2px;background:var(--fc-sunk);color:var(--muted);font-size:9px;line-height:1.45}
.fc-ignored li b{display:block;color:var(--text);overflow-wrap:anywhere}
.fc-ignored li small{display:block;margin-top:2px;color:var(--muted)}
.fc-warnings{padding:0 14px 12px}
.fc-warning{margin:6px 0 0;padding:8px 10px;border:1px solid var(--fc-warn-line);border-left:3px solid var(--fc-warn-line);border-radius:2px;background:var(--fc-warn-bg);color:var(--fc-warn-fg);font-size:9px;line-height:1.5;overflow-wrap:anywhere}
.fc-progress{display:flex;align-items:center;gap:8px;margin:0 14px 10px;color:var(--muted);font-size:9px;font-family:var(--font-mono)}
.fc-progress progress{flex:1;height:4px;accent-color:var(--brand)}
.fc-comparison{margin-top:4px}
.fc-summary-grid{display:grid;grid-template-columns:repeat(6,minmax(90px,1fr));gap:8px;margin-bottom:12px}
.fc-summary-card{padding:12px 13px;border:1px solid var(--line);border-radius:2px;background:var(--panel);color:var(--text);text-align:left;cursor:pointer}
.fc-summary-card:hover{border-color:var(--muted);background:var(--panel2)}
.fc-summary-card.active{border-color:var(--brand);background:var(--fc-mod-bg)}
.fc-summary-card span{display:block;color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.07em;font-weight:800}
.fc-summary-card b{display:block;margin-top:5px;font-size:24px;font-family:var(--font-mono);font-weight:600}
.fc-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin:14px 0;padding:12px 14px;border:1px solid var(--line);border-radius:2px;background:var(--panel)}
.fc-filter-chips{display:flex;gap:6px;flex-wrap:wrap}
.fc-filter-chip{border:1px solid var(--line);background:transparent;color:var(--muted);padding:6px 10px;border-radius:2px;font-size:10px}
.fc-filter-chip.active,.fc-filter-chip:hover{background:var(--fc-active-bg);color:var(--fc-active-fg);border-color:var(--fc-active-line)}
.fc-toolbar-right{display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-width:0}
.fc-hide-toggle{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:10px;white-space:nowrap}
.fc-hide-toggle input{accent-color:var(--brand)}
.fc-view-toggle{display:flex;border:1px solid var(--line);border-radius:2px;background:var(--fc-sunk);padding:2px}
.fc-view-toggle button{border:0;border-radius:2px;background:transparent;color:var(--muted);padding:6px 11px;font-size:10px;font-weight:700}
.fc-view-toggle button.active{background:var(--fc-active-bg);color:var(--fc-active-fg)}
#fcSearch{flex:1;min-width:180px;padding:9px 11px;border:1px solid var(--line);border-radius:2px;outline:0;background:var(--fc-input);color:var(--text);font-size:11px}
#fcSearch:focus{border-color:var(--brand2);box-shadow:0 0 0 2px color-mix(in srgb,var(--brand2) 15%,transparent)}
.fc-diff-progress{margin:10px 0;color:var(--muted);font-size:10px;font-family:var(--font-mono)}
.fc-results{display:grid;gap:8px;margin-top:8px}
.fc-empty{display:grid;place-items:center;min-height:200px;border:1px dashed var(--line);border-radius:2px;background:transparent;color:var(--muted);padding:24px;text-align:center;font-size:11px}
.fc-row{display:grid;gap:9px;padding:13px 15px;border:1px solid var(--line);border-left:3px solid var(--muted);border-radius:2px;background:var(--panel);cursor:pointer}
.fc-row:hover{border-color:var(--muted);background:var(--panel2)}
.fc-row.fc-row-identical{border-left-color:var(--muted);background:var(--fc-detail)}
.fc-row.fc-row-header{border-left-color:var(--fc-header)}
.fc-row.fc-row-changed{border-left-color:var(--warn)}
.fc-row.fc-row-onlyA{border-left-color:var(--danger)}
.fc-row.fc-row-onlyB{border-left-color:var(--fc-add)}
.fc-row-main{display:flex;align-items:center;gap:10px;min-width:0}
.fc-badge{flex:0 0 auto;padding:4px 8px;border-radius:2px;font-size:9px;font-weight:850;letter-spacing:.06em;text-transform:uppercase}
.fc-status-identical{background:var(--fc-neutral-bg);color:var(--fc-neutral-fg)}
.fc-status-header{background:var(--fc-info-bg);color:var(--fc-info-fg)}
.fc-status-changed{background:var(--fc-mod-bg);color:var(--fc-mod-fg)}
.fc-status-onlya{background:var(--fc-rem-bg);color:var(--fc-rem-fg)}
.fc-status-onlyb{background:var(--fc-add-bg);color:var(--fc-add-fg)}
.fc-row-title{min-width:0;display:grid;gap:5px}
.fc-row-title>b{font-size:13px;overflow-wrap:anywhere}
.fc-versions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;color:var(--muted);font-size:11px;font-family:var(--font-mono)}
.fc-version-a{color:var(--brand)}
.fc-version-b{color:var(--brand2)}
.fc-arrow{color:var(--muted)}
.fc-version-marker{display:inline-block;padding:3px 7px;border-radius:2px;font-size:8px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.fc-version-marker.fc-warn{background:var(--fc-mod-bg);color:var(--fc-warn-fg)}
.fc-version-marker.fc-info{background:var(--fc-info-bg);color:var(--fc-info-fg)}
.fc-paths{display:flex;align-items:center;gap:8px;min-width:0}
.fc-path-a,.fc-path-b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-family:var(--font-mono);font-size:9px}
.fc-path-arrow{flex:0 0 auto;color:var(--muted)}
.fc-counters{display:grid;gap:7px;min-width:0}
.fc-counter-totals{display:flex;gap:7px;flex-wrap:wrap}
.fc-counter{padding:3px 7px;border-radius:2px;font-size:9px;font-weight:800;font-family:var(--font-mono)}
.fc-add{background:var(--fc-add-bg);color:var(--fc-add-fg)}
.fc-remove{background:var(--fc-rem-bg);color:var(--fc-rem-fg)}
.fc-mod{background:var(--fc-mod-bg);color:var(--fc-mod-fg)}
.fc-bar{display:flex;height:6px;border-radius:2px;overflow:hidden;background:var(--line)}
.fc-bar-segment{height:100%;min-width:2px}
.fc-bar-add{background:var(--fc-add)}
.fc-bar-remove{background:var(--danger)}
.fc-bar-mod{background:var(--warn)}
.fc-kind-breakdown{display:flex;gap:7px;flex-wrap:wrap;color:var(--muted);font-size:8px;font-family:var(--font-mono)}
.fc-detail{margin-top:6px;border:1px solid var(--line);border-radius:2px;background:var(--fc-detail);overflow:hidden}
.fc-detail-tools{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 13px;border-bottom:1px solid var(--line);background:var(--panel2);flex-wrap:wrap}
.fc-detail-search{flex:1;min-width:180px;padding:8px 10px;border:1px solid var(--line);border-radius:2px;outline:0;background:var(--fc-input);color:var(--text);font-size:11px}
.fc-detail-search:focus{border-color:var(--brand2)}
.fc-kind-chips{display:flex;gap:5px;flex-wrap:wrap}
.fc-kind-chip{border:1px solid var(--line);border-radius:2px;background:transparent;color:var(--muted);padding:5px 8px;font-size:9px}
.fc-kind-chip.active,.fc-kind-chip:hover{background:var(--fc-active-bg);color:var(--fc-active-fg);border-color:var(--fc-active-line)}
.fc-detail-body{padding:12px}
.fc-detail-empty,.fc-detail-only{padding:18px;border:1px dashed var(--line);border-radius:2px;color:var(--muted);font-size:11px}
.fc-detail-only b{display:block;margin-bottom:6px;color:var(--text);font-size:13px}
.fc-detail-only p{margin:4px 0;overflow-wrap:anywhere}
.fc-mono{font-family:var(--font-mono);font-size:10px}
.fc-section{margin:12px 0;border:1px solid var(--line);border-radius:2px;overflow:hidden;background:var(--panel)}
.fc-section>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 13px;cursor:pointer;list-style:none;background:var(--panel2);color:var(--text);font-size:12px;font-weight:800}
.fc-section>summary::-webkit-details-marker{display:none}
.fc-section>summary:before{content:'▸';color:var(--muted);margin-right:8px}
.fc-section[open]>summary:before{content:'▾'}
.fc-section>summary .pill{margin-left:auto}
.fc-section-body{display:grid;gap:7px;padding:10px}
.fc-subject{padding:10px;border:1px solid var(--line);border-left:3px solid var(--muted);border-radius:2px;background:var(--fc-sunk)}
.fc-subject-add{border-left-color:var(--fc-add)}
.fc-subject-remove{border-left-color:var(--danger)}
.fc-subject-modified{border-left-color:var(--warn)}
.fc-subject-head{display:flex;align-items:center;gap:8px;min-width:0}
.fc-subject-head b{font-size:11px;overflow-wrap:anywhere}
.fc-kind{flex:0 0 auto;padding:3px 6px;border-radius:2px;background:var(--fc-info-bg);color:var(--fc-info-fg);font-size:8px;font-weight:850;text-transform:uppercase;letter-spacing:.05em}
.fc-kind-class{background:var(--fc-info-bg);color:var(--fc-info-fg)}
.fc-kind-property{background:var(--fc-add-bg);color:var(--fc-add-fg)}
.fc-kind-other{background:var(--fc-other-bg);color:var(--fc-other-fg)}
.fc-kind-ontology{background:var(--fc-info-bg);color:var(--fc-info-fg)}
.fc-facts{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}
.fc-fact{display:inline-flex;align-items:center;gap:5px;padding:5px 7px;border:1px solid var(--line);border-radius:2px;background:var(--fc-sunk);color:var(--text);font-size:9px;line-height:1.4;overflow-wrap:anywhere}
.fc-fact b{color:var(--muted);font-size:8px;text-transform:uppercase;letter-spacing:.05em}
.fc-fact code{color:var(--text);font-family:var(--font-mono);font-size:9px}
.fc-changes{display:grid;gap:8px;margin-top:8px}
.fc-change-line{display:grid;gap:7px;min-width:0}
.fc-change-label{color:var(--muted);font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.07em}
.fc-change-values{display:grid;grid-template-columns:minmax(0,1fr) 20px minmax(0,1fr);align-items:center;gap:8px}
.fc-value-group{display:flex;flex-wrap:wrap;gap:4px;min-width:0}
.fc-chip{padding:4px 7px;border-radius:2px;font-family:var(--font-mono);font-size:9px;line-height:1.45;overflow-wrap:anywhere}
.fc-chip-removed{background:var(--fc-rem-bg);color:var(--fc-rem-fg);text-decoration:line-through}
.fc-chip-added{background:var(--fc-add-bg);color:var(--fc-add-fg)}
.fc-no-value{color:var(--muted);font-size:9px}
.fc-word-diff{font-family:var(--font-mono);font-size:10px;line-height:1.55;overflow-wrap:anywhere}
.fc-word-del{background:var(--fc-rem-bg);color:var(--fc-rem-fg);text-decoration:line-through;padding:1px 2px;border-radius:2px}
.fc-word-ins{background:var(--fc-add-bg);color:var(--fc-add-fg);padding:1px 2px;border-radius:2px}
.fc-show-all{display:block;margin:9px auto 0;border:1px solid var(--line);border-radius:2px;background:transparent;color:var(--brand2);padding:6px 10px;font-size:9px;cursor:pointer}
.fc-show-all:hover{border-color:var(--brand);color:var(--text)}
@media(max-width:800px){
.fc-upload-grid{grid-template-columns:1fr}
.fc-summary-grid{grid-template-columns:repeat(3,1fr)}
.fc-toolbar{align-items:stretch;flex-direction:column}
.fc-toolbar-right{justify-content:flex-start}
}
@media(max-width:560px){
.fc-summary-grid{grid-template-columns:1fr 1fr}
.fc-toolbar-right{align-items:stretch;flex-direction:column}
#fcSearch{width:100%}
.fc-detail-tools{align-items:stretch;flex-direction:column}
.fc-change-values{grid-template-columns:1fr}
.fc-change-values .fc-arrow{transform:rotate(90deg);text-align:center}
.fc-row-main{align-items:flex-start;flex-direction:column}
.fc-paths{flex-direction:column;align-items:flex-start}
}
.fc-row>*,.fc-row-main,.fc-row-title,.fc-comparison,.fc-results,.fc-detail,.fc-section,.fc-subject{min-width:0;max-width:100%}
@media(max-width:560px){.fc-paths{gap:2px}.fc-path-arrow{display:none}.fc-path-a,.fc-path-b{max-width:100%}}
.fc-subject-group{border-left-width:5px}
.fc-group-members{margin-top:9px}.fc-group-members summary{cursor:pointer;color:var(--brand2);font-size:10px;font-weight:700}
.fc-group-members>div{display:flex;flex-wrap:wrap;gap:4px;margin-top:7px}.fc-group-members span{padding:3px 6px;border:1px solid var(--line);border-radius:2px;background:var(--fc-sunk);font-family:var(--font-mono);font-size:9px;overflow-wrap:anywhere}
.fc-analysis-switch{margin:0 0 14px}
