// ==UserScript==
// @name X バナー削除
// @namespace local
// @version 1.0
// @description Xの下部固定バナーのみ削除
// @match https://x.com/*
// @grant none
// @run-at document-end
// ==/UserScript==

(function () {
'use strict';

function removeBottomBanner() {
document.querySelectorAll('div').forEach(el => {
const s = getComputedStyle(el);

if (
s.position === 'fixed' &&
s.bottom === '0px' &&
el.offsetWidth >= window.innerWidth * 0.9 &&
el.offsetHeight < window.innerHeight * 0.5
) {
el.remove();
}
});
}

new MutationObserver(removeBottomBanner).observe(document.body, {
childList: true,
subtree: true
});

removeBottomBanner();
})();// ==UserScript==
// @name X Overlay Remover
// @namespace local
// @version 1.0
// @description Xの全画面オーバーレイを削除
// @match https://x.com/*
// @grant none
// @run-at document-end
// ==/UserScript==

(function () {
'use strict';

function removeOverlay() {
document
.querySelectorAll('.bg-black.flex-col.size-full.flex.z-\\[100\\].inset-0.fixed')
.forEach(el => el.remove());
}

new MutationObserver(removeOverlay).observe(document.documentElement, {
childList: true,
subtree: true
});

removeOverlay();
})();