/* ==UserStyle==
@name           FANBOX responsive + customizations
@version        1.0.2
@description    FANBOX website is more suitable for wide screens (Theme) + download all post images in 1 click (Script).
@author         BreatFR (https://breat.fr)
@namespace      https://gitlab.com/breatfr
@homepageURL    https://gitlab.com/breatfr/fanbox
@supportURL     https://discord.gg/Q8KSHzdBxs
@license        AGPL-3.0-or-later; https://www.gnu.org/licenses/agpl-3.0.txt
@preprocessor   stylus

@var    text        fontsize        "Custom font size"  1.2rem
@var    checkbox    hidescrollbars  "Hide scrollbars"   1
@var    checkbox    hidecover       "Hide cover"        1
@var    checkbox    hidecomments    "Hide comments"     0
@var    checkbox    hidesupport     "Hide support"      1
@var    checkbox    widemode        "Wide mode"         1
@downloadURL https://update.greasyfork.org/scripts/550034/FANBOX%20responsive%20%2B%20customizations.user.css
@updateURL https://update.greasyfork.org/scripts/550034/FANBOX%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("fanbox.cc") {
    /* === Versions === */
    :root {
        --themeversion: 'Theme v1.0.2'
        --scriptversion: 'Script v1.0.2 by BreatFR (https://breat.fr)';
        --install1: ' usercssjs.breat.fr ';
        --install2: ' gitlab.com/breatfr/fanbox ';
        --support1: ' ko-fi.com/breatfr ';
        --support2: ' paypal.me/breat';
    }

    [class*="Header__Wrapper"]::before {
        align-items: center;
        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) ' · ' var(--scriptversion) '\A''Install: ' 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) 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) ' · Support me: ' 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) 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);
        display: inline-flex;
        flex-wrap: wrap;
        font-family: inherit;
        font-size: 1.2rem;
        height: 64px;
        justify-content: center;
        left: 0;
        line-height: 1.5;
        pointer-events: none;
        position: fixed;
        text-align: center;
        top: 0;
        width: 100vw;
        white-space: pre-line;
        z-index: 9999;
    }
    
    * {
        box-sizing: border-box;
    }

    /* Custom font size */
    [class*="LanguageButton__LanguageWrapper"],
    [class*="links__Anchor"],
    [class*="links__Link"],
    [class*="links__LinkToPixivWrapper"],
    [class*="SideMenuForWidthLarge__Wrapper"] *,
    [class*="styled__CommentText"],
    [class*="styled__Description"],
    [class*="styled__UserName"],
    [class*="ToggleSwitch__Label"] {
        font-size: fontsize !important;
        line-height: 1.5 !important;
    }
    
    /* Images corner in posts */
    [class*="styled__EditorWrapper"],
    [class*="styled__Wrapper"] {
        background: transparent !important;
    }
    figure {
        margin: 16px 0 !important;
    }
    article img,
    article video {
        border-radius: 1em;
    }

    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;
            width: 0;
        }
    }

    if hidesupport {
        [class*="TwoColumnLayout__MainColumn"] {
            width: calc(100% + 284px + 1em);
        }
        [class*="TwoColumnLayout__SideColumn"],[href*="plans"] {
            display: none;
        }
    }

    if widemode {
        body:has([class*="AppFrame__SideMenuWrapper"]) {
            [class*="AppFrame__Wrapper"] {
                padding-left: 283.13px;
                width: auto;
            }
            [class*="AppFrame__SideMenuWrapper"] {
                width: auto !important;
            }
        }
        
        body:not(:has([class*="AppFrame__SideMenuWrapper"])) {
            [class*="AppFrame__Wrapper"] {
                padding-left: 0;
                width: auto;
            }
        }

        [class*="AppFrame__Content"] > div,
        [class*="AppFrame__Content"] > main > div,
        [class*="Footer__Wrapper-sc"] > div,
        [class*="PlanListPage__OuterWrapper-sc"] > div,
        [class*="PostPage__InnerWrapper-sc"] > div:nth-of-type(2),
        [class*="PostPage__OuterWrapper-sc"],
        [class*="ResponsiveWrapper__Outer-sc"] > div,
        [class*="TwoColumnLayout__Wrapper"] {
            max-width: 100% !important;
            width: 100% !important;
        }
        .profile-items,
        [class*="PostPage__InnerWrapper-sc"] > div:nth-of-type(2) > div:nth-of-type(1) > div > div,
        [class*="PostPage__OuterWrapper-sc"] > div > div:nth-of-type(2) > div > div {
            align-items: center;
            display: flex;
            flex-wrap: wrap;
            gap: 1em;
            justify-content: space-evenly;
        }
        [class*="CreatorPostList__CardsWrapper"] > a,
        [class*="CreatorPostList__InnerWrapper"] > a {
            border-radius: 1em;
            width: 300px;
        }
        
        /* Fix public draft posts */
        body:has(.public-DraftEditor-content) {
            [class*="styled__Wrapper"] {
                padding: 0;
            }
        }
    
        /* Save some place in public draft posts */
        div[data-block="true"]:has(br[data-text="true"]) ~ div[data-block="true"]:has(br[data-text="true"]) {
            display: none;
        }
    
        /* Avatars */
        [class*="styled__Wrapper"] > [class*="UserIcon__Icon"],
        [class*="styled__Wrapper"] > [class*="UserIcon__NoIcon"] {
            align-self: center;
            aspect-ratio: 1 / 1;
            background-size: cover;
            height: 80px;
            width: auto;
        }
        
        /* Menu */
        [class*="HeaderMenuButton__Balloon"] * {
            height: auto;
        }

        /* Pagination */
        [class*="PostPage__OuterWrapper"] {
            min-height: 0;
        }
        [class*="AppFrame__Content"] {
            padding-bottom: 1em;
        }
        [class*="CreatorPostList__PaginationWrapper"] {
            padding-top: .5em;
        }
        [class*="CreatorPostList__PaginationWrapper"],
        [class*="CreatorPostList__PaginationWrapper"] > div,
        [class*="CreatorPostList__PaginationWrapper"] > div > div {
            display: flex;
            justify-content: space-evenly;
            padding-top: 0;
            width: 100%;
        }
        [class*="Pagination__MobileWrapper"] {
            display: none !important;
        }
        [class*="Pagination__StyledLink"]:hover {
            background: rgba(16, 16, 16, .3);
            border-radius: 50%;
            color: white;
        }
        
        /* Footer */
        [class*="FooterLinks__NextPostWrapper"],
        [class*="FooterLinks__PrevPostWrapper"] {
            width: auto;
        }
        [class*="styled__FullWidthWrapper"] {
            margin: 0;
        }
        [class*="Footer__LinksWrapper"] {
            display: flex;
            flex-direction: column;
        }
        [class*="Footer__LinksWrapper"] > div {
            justify-content: space-evenly;            
        }
    }
    
    if !widemode {
        .fanbox-download-btn {
            font-size: .9em !important;
        }
    }
    
    #kemono-search-button {
        bottom: 11em !important;
        left: 1em !important;
        position: fixed;
        transform: none !important;
        text-align: center;
        top: auto !important;
        width: 247.49px !important;
    }
}

@-moz-document url-prefix("https://www.fanbox.cc/home/pickup"), url-prefix("https://www.fanbox.cc/creators/") {
    /* Creators list */
    if widemode {
        [class*="styled__Wrapper"] {
            display: flex;
            flex-flow: unset;
            flex-direction: column-reverse;
        }
        [class*="styled__Info"] {
            width: 100%;
        }
        [class*="styled__ProfileItemWrapper"] {
            padding-bottom: 16px;
        }
        [class*="styled__ProfileItemWrapper"] > div > div > div > div > div {
            border-radius: .5em;
        }
        [class*="styled__Description"] {
            max-height: unset;
        }
    }
}

@-moz-document regexp("https://www\\.fanbox\\.cc/[^/]+/posts/[^/]+") {
    /* Post page */
    if hidecomments {
        [class*="PostDetail__OuterWrapper"] {
            display: none;
        }
    }
    if hidecover {
        [class*="CoverImage__CoverWrapper"],
        [class*="CreatorPageTab__Wrapper"],
        [class*="ResponsiveWrapper__Outer"] {
            display: none;
        }
    }
}
