/* ==UserStyle==
@name           Bluesky responsive + customizations
@version        1.0.0
@description    Bluesky website is more suitable for wide screens.
@author         BreatFR (https://breat.fr)
@namespace      https://gitlab.com/breatfr
@homepageURL    https://gitlab.com/breatfr/bluesky
@supportURL     https://discord.gg/Q8KSHzdBxs
@license        AGPL-3.0-or-later; https://www.gnu.org/licenses/agpl-3.0.txt
@preprocessor   stylus

@var    checkbox    bigimages       "Big images"        1
@var    checkbox    hidescrollbars  "Hide scrollbars"   1
@var    checkbox    widemode        "Wide mode"         1
@downloadURL https://update.greasyfork.org/scripts/549417/Bluesky%20responsive%20%2B%20customizations.user.css
@updateURL https://update.greasyfork.org/scripts/549417/Bluesky%20responsive%20%2B%20customizations.meta.css
==/UserStyle== */

/* === Credits ===
Website         https://breat.fr
facebook        https://www.facebook.com/breatfroff
mastodon        https://mastodon.social/@breat_fr
telegram        https://t.me/breatfr
vk              https://vk.com/breatfroff
X (twitter)     https://x.com/breatfroff
=== Credits === */

@-moz-document domain("bsky.app") {
    /* Whole website */
    :root {
        --themeversion: 'Theme v1.0.0 by BreatFR (https://breat.fr) \A';
        --install1: ' usercssjs.breat.fr ';
        --install2: ' gitlab.com/breatfr/bluesky ';
        --space: '\00a0\00a0\00a0\00a0\00a0';
        --support1: ' ko-fi.com/breatfr ';
        --support2: ' paypal.me/breat';
    }
	
    @media screen and (min-width: 900px) {
        body::before {
            background: -webkit-linear-gradient(88.55deg, rgb(139, 109, 255) 22.43%, rgb(254, 132, 132) 92.28%);
            background: -o-linear-gradient(88.55deg, rgb(139, 109, 255) 22.43%, rgb(254, 132, 132) 92.28%);
            background: -ms-linear-gradient(88.55deg, rgb(139, 109, 255) 22.43%, rgb(254, 132, 132) 92.28%);
            background: -moz-linear-gradient(88.55deg, rgb(139, 109, 255) 22.43%, rgb(254, 132, 132) 92.28%);
            background: linear-gradient(88.55deg, rgb(139, 109, 255) 22.43%, rgb(254, 132, 132) 92.28%);
            -webkit-background-clip: text;
            -o-background-clip: text;
            -ms-background-clip: text;
            -moz-background-clip: text;
            background-clip: text;
            color: transparent;
            content: var(--themeversion) '\A''Install:''\A' url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAABGdBTUEAAK/INwWK6QAAAAlwSFlzAAAOwgAADsIBFShKgAAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAARxSURBVDhPvZR5TJNnGMAfBIUFzLSctqWUlqPcCBlQjhpdkGvNWCY2rQfKBihImMc4VgUhoIM4mG5z7MicCROZbBBxICAUHEeG6IRF2nKUwteDclhbbkq/7gO+ZRoy+W+/5P3n+Z7n9z7fm+d94X/DALDF0PC7v7alJVlVW1sir668qaiqKFf8cufG+G+1l2eaW+PQm02WePrrUd6uYg+WlTUKs8+phfHv6QdimLqhUM/FIZb74lC496IolqV/lnp0pb+0QDhaXs7ByzZi6OnZ+qiwuPhx8lH9ANNxQUUHZMEZBlZ2gkhvASJ0OwhRJxDqyCCaMYEhCflNbRf3gK4vvygWV7xKY3o6vzuGaVC7whjqDv3YEi8zYHiFZCTWO2BSexAvEWEYJWByG2y5Qr+UbKJ9wIsVoFcHTHHNOoLMy9R7rEBE4wZy1AdEiJ+16s9w5mQHlzvax96NoG4gHN1PHG2L440P+Lso9V4gxroVrZBhpJXpMdKUVULDVet8eTg+spNmrUEdYLg9xHPqAfdQzdOkU5zmD1J5ze5UGeoCIx0hNElXYub7dfG87yTMHeN4p5KW3TTJT8nnnXHVOmU8nle1K1VVz3CYv8s5xEcj09Z+ITc0NLbDbrsatYexGh/HHjAYjK6FR+3rtCdMoX4gXvABeSXTtVOQ8rPFmugfsDExqotmp/0aw87GQ2vkOzsX9TuaaGYtYfw6zbFyNZbFYKR07TLTYkLhE5KZ5ovAwItryZthyBWYXCJZNmqdQPXMHKay7IgXIgFM+XZWLZP0LRMaF0CuUym9d48kUfCS15PkyWR8bWOGoCQY7qMTFDnRUcIcdkx3vRdRPesMkm/td4xVRLHfwdM350MqPbHBynQOJYJwwnvrqJxhp5Z5kTQ62rZhhGwuLwgJkOeG7Q3G0zengE69I7cxfq61haEffN2U9TTKOGIHMpSCDbitkXjQ1/ZFiYeH7IJfqD9e8t9c2sN2qmBQEJQM0j8YhIkq9oFT7UeOcW7v3dfZ7USa1lOwOcQGu9/RYqk00KdGgJ03XvoqD9MKras+LY24cSzxVh9jp3re3hi5HxrcZgCD0ep3NPczQg2X+03/W+RxbDPRCg2ktX60sR8T+fQ1wcs0JSVRqnmcnvbDB/VP3g1aWLKEwTEGSXU/k9/bfKU0obeo1HU1byrjKrljD0u0bAVSFDuOR0EMpC670HtN8jIPCwvffuzrMjdnDlI9dq2wWyOeJ8KgOIym7uZEox2pJya6CvLauj6/0vQ0LEC5QoUB7KEY7ePu/6uv8JYtrvkXyfflDlJunFhnY6yYY1EV8pTjz1+wgyb0WBfLAOLpbSCTEm00w57kGS02Nqg5CKeD3WaHMrKu4YqNIB9nn1acOalEzmc0SE6e4Uj5OV+pTiTL5yNY03oXogwlvCFFbUylugCqQpMQPSPL/6RVkXDWAS/fyOpLLT543GfMPYiAh0CSks6S5+UVT/Kz702d/ah16txpgTKHX4PkXMyWhkXswtMwAP4GEl0BMY+jC7gAAAAASUVORK5CYII=") var(--install1)'\A' url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAUCAYAAACJfM0wAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAOwwAADsMBx2+oZAAAAvRJREFUOE+dU0lrU1EUfqhbK4rixiHvvptW+gu0TZqkrQWHhVJpKyoI4lRx3ghdOCwFrS24cwCbmKYtVelCqIorf0NBrGkSWqJkWmgb7Hvv+J37brSxg9UPDuGcb8h5Jy/Gn5hsEv3TodrNul0VZgJyC/t0uxjptvpNX1r8xUxENOvRqpAK+Vuz8JUCOzbqUTVSYauTDtZTOmL16dGqkAnLfvalIlaHHlUDgcP2vl2UDlufKRRap8crgnXwJT2fHNLj3yi0ig0gSl9b/FRoraXpsGjU1IpIhUSA9ezLRGRxEjma8pAJySPf2uqYpDl8Yuv7mloR0PWynn3KH5btmvIAYrASnMcGMHwiw1ij6SWB514L3WQO+gXBcU0bxkdD1qSDspBt9lM6JJmkXHMtJRvlbi1ZEskGa08eOtazj/2ZoMxPGHXrlaD8QBy2r0maPSlo9pRXzlmLih1iKhmQH3D7RcXzYqeYYl3Fw37OKfdah1Swk/DFKG6Rc8n06opJ7lWTqBvheMwS194FhZ7nzLOO9RWvyhn2RQ33ubnVjpozNIpvu2eSfQ510SvnsknZ/Ralm3Ae3LBS3GcPIAB8Rat88HPO/IA5bSB01I0hJApiEHVHiyDmbUpdglLB6mDuS0eF4n+Fsg9+znGQh2DfW0oIoiFsjIGqG6jz3sblMya/+FXB/GPxXG0MndJrL+dwnrqxHdvZ5SREnl5JcuIQPEWx6YJnVufgtwWh6tdHr0LB27gv69mn/AmRw7KdKpjhPtthYviGxiTRCLZ/CEM3zgHjwnOoM6DnOfOsYz374B+fQ46OrIYdN3sgcGnMIvsuNoG5fFqfg9/Xyhk4FDzrWI8z9OiI5fFjwAw6Q2KCXktybyMEd+THnwroM6DnOfNKFxMBbf07cn2yxhk2n9BLi+imoGK7oGSDVJ90C4W5MyIeu4/0v+xfYb/wnXCjokD4R6URTNexJXp71DyuJf8P9/026faJ8e/H5LyDT/fddktTy8AwfgLHRHNkJDm7EgAAAABJRU5ErkJggg==") var(--install2) '\A''\A' 'Support me:''\A' url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAUCAYAAACaq43EAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAOwwAADsMBx2+oZAAAA2FJREFUSEu1lktIVGEYhqfIXW5ctUkDF250q4jLILLUvBSjzjh285pahoxIK3Fop0iRiWbiNRMUzcvIpI1dNkVGYBckIzTRAkVHCbOyt/f7/Y81alOgvvBw5nzf+b/3/Nc5Jq0I4iKPdpg7xEy2VCSZJtglfpBRkkm85CQoKSlBT0/PjtDf34+BgQG0trYiOzsbAQEBxkvcI/uJ0gMCt9uN3dLs7CzMZrNhPkD2ENOgBHp7e/Vj29P4+DhCQ0MRGBiIkJAQZGRkYH5+XuVSUlIM8ywxlkUAp9Opkl76+BlwjwDPXgPLKzpIjfDe+ZAuEzrwWzLEuvgH8kp+ywssLi7C4/EYw/6S/MW43QXEFwFH84BjF4CCq8CT50DZdSDmHGPpwImzwN0u3WBNg4ODhnGhFKdKCex2u8pbrVbJeSSx2XhqhqYXgcRLQPJljhGviTmMZfB6HkjNBixZgPkMYynAu/e6oZexXYprTYSFhal8ZWWl5FYkuNn4xSgQm0nDAsIep+YSGqcyZqG5hT220tR6Gog7AQwN6YZexsVSXOtpUFCQyjc0NEjuuwQfkw09ngZO0SSZvbJsNOMQW9OANCuvqUASjd++0Q29jAukOHWIeKKiolS+rKxMcl8l4Sbo6+tTiXWVcy6Pn6QB51HM0rRZmgWwaeJjAEcpsLqqGwEul8swvkVsZEzuOzo6VD4iIkJyn4jpviRk43tpaQmwF7M4e2QYGaTzBaSn+ZyCuTndYE3Dw8OGscLPzw8Oh0PlxFzHm8jaydXd3a2SXlrg/isqBBLi1swM46R4IJfTMMMp2aDl5WXU1NSgoqICTU1NmJqaUnGZAn9/fzH9QoLFuEuMOzs71QObJJtfzONjdU9pmsN5n95supXGxsaQn59v9PQbiSVKbQTt7e360S3EjY8rJcCRw0Aeh9eH6eTkJKKjoxEZGYng4GDDUBghUWRdt4k60H2KQ4iaag4v97gPyVqRemSByAnVSJLIXuKlawSNjY266fYk8yv1SLoU96UEog7w7WqV2yo8PFxMf5KDUvxfUn+NNpsNzc3NaGtrU9eWlpZ15F5OHaG+vh51dXWora1FdXU1qqqqUF5eDjkkpA65IUX/RweIfPrIUl/1gXxN/IkcfYKsVmGO3CT7iA+ZTL8ANy582NV4RdEAAAAASUVORK5CYII=") var(--support1) '\A'url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAUCAYAAABroNZJAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAOwwAADsMBx2+oZAAAAslJREFUOE+Nk0tIVFEYx6WNEC1attA7znXmnHNvpjH3js7GRQ+dKDKTMgx6UOnMvaNZaRAoGD0WRTQPH6Nii6CgRa1yUUGEjo+0mTSkB7UIF0G0aFlUxNd37jmOjo7QH/6cgXu+3/leU7BSxLSvaVXnvhDTWmNqRhap2TqmVbZf1PXDm2RIrjyetkJiWJ9Z5Vmgpr2+/ZFfeOcd8YUaZeiyvKalUtP6y/yt+YNXGLNFnwfiC++U4UII2a1Vta8KiKxjG/RAB2D5T2S4ENZt8w85EMMCYoTXmKJ5NtQXfiPDhZCayEL8EbwcghLWAC5av8Yl9CCoWiOUVoU+GGnYKBEO5KmOdXII74t3+ylQvPvBReryurhoF3iabgAdmX8mET0bsJxPmpwMh3jKj0vIgbxWlCB4O+4BG54DB6H77S1Y/4+lyfBTLTu6DqQelOIacFdjb/qmgcYnBYT5wgGxH6LzvCduvRFcqyHeOlCKasClHwJy5THQgRmgsZSAYD+O6YELAsCNUylx73NeVJRaPLkxWN0L7h2tQK6OAku+QsAEkFjqj4AY1vXl8eJkfCFQgx2g1neDWtcFakMPlJ6MgrfrIdB+fJ07Og7a0ByQ6PiChNiPsplUNAMNdgMdSgMbygAb5Kf47aQfn3AArO8lbL3zFlgi1eBAqGG/zm7rttNAj9wCOjjr1Ltk1jcDrH8WtGTGCdaSaSC3xy45AN1oUbCcr8zfJiBlCGkZzoGwxBS+nvqGk1ikiekMwgZIbNLvALiYYTdhJj+zkyk/A7TzQbbz/GUSTaVd0RebPfGPhTIsV7hk90VD0TgVx5dHxQ4gRB9Z4Fn0y+v5heP9Lv7aaLMNWHUn0JvPgSYmlyGxVLu8nl/MZxnMiNTgWcsqmmvJid4I6+WbiFPg5fAxxsf3yOv/J3r3fVAfnncAvKG4TL898YlS+TmPCgr+AaBy8VrppmCMAAAAAElFTkSuQmCC") var(--support2);
            bottom: 1em;
            display: inline-block;
            font-family: InterVariable, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";
            font-size: 1.2rem;
            line-height: 1.5;
            right: 0;
            pointer-events: none;
            position: fixed;
            text-align: center;
            width: 330px;
            white-space: pre-line;
            z-index: 9999;
        }
    }

    body {
        max-width: 100vw;
        overflow-x: hidden;
    }
    
    if bigimages {
        [style*="height: 100%"][style*="border-radius: 12px"][style*="overflow: hidden"][style*="aspect-ratio:"] {
            aspect-ratio: auto !important;
            width: 100% !important;
        }
        [data-expoimage="true"],
        [data-expoimage="true"] > div > img {
            aspect-ratio: 1 / 1 !important;
            height: auto !important;
            max-width: 100% !important;
            min-width: 100% !important;
            min-height: 100% !important;
            object-fit: cover !important;
            object-position: center center !important;
            position: initial !important;
            width: 100% !important;
        }
        [data-testid="userBannerImage"] {
            height: 100% !important;
        }
    }
    
    if hidescrollbars {
        *,
        :root ::-webkit-scrollbar {
            scrollbar-width: none !important;
            -ms-overflow-style: none !important;
            -moz-overflow-style: none !important;
            -webkit-overflow-style: none !important;
        }
        ::-webkit-scrollbar {
            display: none !important;
            width: 0 !important;
        }
    }

    if widemode {
        /* Back to top */
        [data-testid="loadLatestBtn"] {
            display: flex;
            justify-content: center;
            left: 0;
            width: 240px;
        }
        [data-testid="loadLatestBtn"] > button {
            margin: auto;
        }

        /* Left nav */
        nav {
            left: 0 !important;
            transform: none !important;
        }
        nav > div:nth-of-type(1) > button:not(:hover) > div:nth-of-type(1) {
            left: 50% !important;
            transform: translateX(-50%) !important;
        }

        /* Feed */
        main > div > div > div > div > div:nth-of-type(1),
        [data-testid="homeScreenFeedTabs"] > div:nth-of-type(2) {
            display: none;
        }
        main > div > div > div > div > div:nth-of-type(2) {
            margin-left: 240px !important;
            width: calc(100vw - 240px - 330px - 1em) !important;
        }
        [data-testid="HomeScreen"] > div > div:nth-of-type(2),
        main > div > div > div > div > div:nth-of-type(2) > div > div:nth-of-type(1),
        main > div > div > div > div > div:nth-of-type(2) > div > div:nth-of-type(3) {
            margin: 0 !important;
            max-width: calc(100vw - 240px - 330px - 1em) !important;
            transform: none !important;
        }
        main > div > div > div > div > div:nth-of-type(2) > div > div:nth-of-type(3) > div {
            width: 100%;
        }
        [data-testid="customFeedPage-feed-flatlist"] > div:nth-of-type(2) {
            margin: 0 !important;
            max-width: calc(100% - 1em) !important;
            transform: none !important;
        }

        /* Right sidebar */
        body > div > div > div > div > div > div > div {
            left: auto !important;
            right: 1em !important;
            transform: none !important;
        }
    }
}

@-moz-document url-prefix("https://bsky.app/search") {
    /* Search page */
    if widemode {
        [data-testid="searchScreen"] > div:nth-of-type(3),
        [data-testid="searchScreen"] > div:nth-of-type(3) > div > div:nth-of-type(2) {
            margin: 0 !important;
            max-width: 100% !important;
            transform: none !important;
            width: 100% !important;
        }
    }
}

@-moz-document url("https://bsky.app/notifications") {
    /* Notifications page */
    if widemode {
        [data-testid="notificationsScreen"] > div:nth-of-type(1),
        [data-testid="notificationsScreen"] > div:nth-of-type(2) > div:nth-of-type(1) > div,
        [data-testid="notificationsScreen"] > div:nth-of-type(2) > div:nth-of-type(2) > div > div > div > div:nth-of-type(2) {
            margin: 0 !important;
            max-width: 100% !important;
            transform: none !important;
            width: 100% !important;
        }
    }
}

@-moz-document url("https://bsky.app/messages") {
    /* Messages page */
    if widemode {
        .css-g5y9jx[style="min-height: 100vh; padding-top: 0px;"] > div:nth-of-type(1),
        .css-g5y9jx[style="min-height: 100vh; padding-top: 0px;"] > div:nth-of-type(2) {
            margin: 0 !important;
            max-width: 100% !important;
            transform: none !important;
            width: 100% !important;
        }
    }
}

@-moz-document url("https://bsky.app/feeds") {
    /* Feeds page */
    if widemode {
        [data-testid="FeedsScreen"] > div:nth-of-type(1),
        [data-testid="FeedsScreen"] > div:nth-of-type(1) > div:nth-of-type(2) > div:nth-of-type(2) {
            margin: 0 !important;
            max-width: 100% !important;
            transform: none !important;
            width: 100% !important;
        }
    }
}

@-moz-document url("https://bsky.app/lists") {
    /* Lists page */
    if widemode {
        [data-testid="listsScreen"] > div:nth-of-type(1),
        [data-testid="listsScreen"] div:nth-of-type(2) > div,
        [data-testid="listsScreen"] div:nth-of-type(2) > div > div:nth-of-type(2),
        [data-testid="listsScreen"] div:nth-of-type(2) > div > div:nth-of-type(2) > div {
            margin: 0 !important;
            max-width: 100% !important;
            transform: none !important;
            width: 100% !important;
        }
    }
}

@-moz-document url("https://bsky.app/saved") {
    /* Saved page */
    if widemode {
        [data-testid="bookmarksScreen"] > div:nth-of-type(1),
        [data-testid="bookmarksScreen"] div:nth-of-type(2) > div,
        [data-testid="bookmarksScreen"] div:nth-of-type(2) > div > div:nth-of-type(2),
        [data-testid="bookmarksScreen"] div:nth-of-type(2) > div > div:nth-of-type(2) > div {
            margin: 0 !important;
            max-width: 100% !important;
            transform: none !important;
            width: 100% !important;
        }
        [href="/"] > div {
            margin: auto;
        }
    }
}

@-moz-document url-prefix("https://bsky.app/profile/") {
    /* Profile page */
    if widemode {
        [data-testid="profileView"] > div:nth-of-type(1) > div:nth-of-type(1),
        [data-testid="profileView"] > div:nth-of-type(1) > div:nth-of-type(3),
        [data-testid="profileView"] > div:nth-of-type(1) > div:nth-of-type(3) > div,
        [data-testid="profileView"] > div:nth-of-type(1) > div:nth-of-type(4),
        [data-testid="profileView"] > div:nth-of-type(1) > div:nth-of-type(5),
        [data-testid="profileView"] > div:nth-of-type(1) > div:nth-of-type(6),
        [data-testid="profileView"] > div:nth-of-type(1) > div:nth-of-type(7),
        [data-testid="profileView"] > div:nth-of-type(1) > div:nth-of-type(8),
        [data-testid="profileView"] > div:nth-of-type(1) > div:nth-of-type(9),
        [data-testid="profileView"] > div:nth-of-type(1) > div:nth-of-type(10),
        [data-testid="postsFeed-flatlist"] > div:nth-of-type(2),
        [data-testid="profileView"] > div:nth-of-type(1) > div:nth-of-type(9) > div > div > div > div:nth-of-type(2) {
            margin: 0 !important;
            max-width: 100% !important;
            transform: none !important;
            width: 100% !important;
        }
    }
}

@-moz-document url("https://bsky.app/moderation"), url-prefix("https://bsky.app/settings") {
    /* Settings page */
    if widemode {
        .css-g5y9jx[style="min-height: 100vh; padding-top: 0px;"] > div:nth-of-type(1),
        .css-g5y9jx[style="min-height: 100vh; padding-top: 0px;"] > div:nth-of-type(2) > div > div {
            margin: 0 !important;
            max-width: 100% !important;
            transform: none !important;
            width: 100% !important;
        }
    }
}

@-moz-document url-prefix("https://bsky.app/starter-pack/") {
    /* Starter pack page */
    if widemode {
        .css-g5y9jx[style="min-height: 100vh; padding-top: 0px;"] > div > div:nth-of-type(1) > div:nth-of-type(1),
        .css-g5y9jx[style="min-height: 100vh; padding-top: 0px;"] > div > div:nth-of-type(3),
        .css-g5y9jx[style="min-height: 100vh; padding-top: 0px;"] > div > div:nth-of-type(4) > div > div > div:nth-of-type(2) {
            margin: 0 !important;
            max-width: 100% !important;
            transform: none !important;
            width: 100% !important;
        }
    }
}
