/* ==UserStyle==
@name           Dola (Cici) optimized & customizable for wide screens
@description    Dola (Cici) website interface is reworked to offer a cleaner and comfortable experience on desktop, with visual adjustments that adapt to your needs.
@version        1.0.13
@author         BreatFR (https://breat.fr)
@namespace      https://breat.fr
@homepageURL    https://usercssjs.breat.fr/d/dola-cici
@updateURL      https://code.breat.fr/d/dola-cici/css/pc.user.css
@supportURL     https://discord.gg/W7FKesJ9aG
@license        AGPL-3.0-or-later; https://www.gnu.org/licenses/agpl-3.0.txt
@preprocessor   stylus

@var    select      customciciface      "Custom Cici face"                      {
    "Large Cici face": "cmlgciciface",
    "Small Cici face": "cmsmciciface",
    "Hidden": "nocmciciface"
}
@var    text        cmcicifaceurl       "Custom Cici face URL"                  '"https://gitlab.com/breatfr/cici/-/raw/main/docs/cici-icon.png"'
@var    text        cmciciavatarcorner  "Custom Cici avatar corner"             22%
@var    text        fontsize            "Custom font size"                      1.2rem
@var    checkbox    chatmode            "Chat mode (Require Our avatar URL)"    0
@var    text        ouravatarurl        "Our avatar URL (Require Chat mode)"    '"https://pbs.twimg.com/profile_images/1676568728585007105/9DebaQOc_400x400.jpg"'
@var    checkbox    darkmode            "Dark mode"                             1
@var    checkbox    hidedownload        "Hide download app"                     0
@var    checkbox    widemode            "Wide mode"                             1
==/UserStyle== */

/* ==Credits==
Website         https://breat.fr
Bluesky			https://bsky.app/profile/breatfroff.bsky.social
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== */

/* ==Support==
brave Creators  https://publishers.basicattentiontoken.org/c/breatfr
Buy me a coffee https://buymeacoffee.com/breatfr
ko-fi           https://ko-fi.com/breatfr
PayPal          https://paypal.me/breat
==/Support== */

@-moz-document url-prefix("https://www.dola.com/chat/") {
/* ======================================================
    Chat
====================================================== */
    /* Versions */
    :root {
        --themeversion: 'Theme v1.0.13 by BreatFR (https://breat.fr)';
        --install: ' usercssjs.breat.fr/d/dola-cici';
		--help: ' discord.gg/W7FKesJ9aG';
        --support1: ' ko-fi.com/breatfr ';
        --support2: ' paypal.me/breat';

        --chat-area-max-width: 100%;
        --self-message-box-max-width: 100%;
        --chat-bg-color: #212121;
        --color-neutral-100: #cbcbcb;
        --dot-flashing-from: #cbcbcb;
        --dot-flashing-to: rgba(203, 203, 203, 0.8);
        --s-color-bg-primary: #2f2f2f;
        --s-color-bg-secondary: #2f2f2f;
        --s-color-bg-tertiary: #171717;
        --s-color-bg-quaternary: #2f2f2f;
        --s-color-bg-trans: #2f2f2f;
        --s-color-bg-trans-primary: rgba(126, 148, 254, 0.2);
        --s-color-brand-primary-default: #7e94fe;
        --s-color-text-primary: #cbcbcb;
        --s-color-text-secondary: #cbcbcb;
        --s-color-text-tertiary: #cbcbcb;
        --s-color-text-quaternary: #cbcbcb;
    }

    @media (min-width: 900px) {
		main[data-container-name="main"]::after,
		main[data-container-name="main"]::before {
            background: linear-gradient(88.55deg, rgb(139, 109, 255) 22.43%, rgb(254, 132, 132) 92.28%);
            background-clip: text;
            color: transparent;
			display: block;
            font-family: inherit;
            font-size: 1.2rem;
			line-height: calc(60px / 2);
            pointer-events: none;
            position: absolute;
            text-align: center;
			top: 0;
			transition: left 1s ease;
            width: auto;
			white-space: pre-line;
			z-index: 9999;
		}
		main[data-container-name="main"]::after {
			content: var(--themeversion) '\A Help: ' url("https://code.breat.fr/share/images/icons/discord.png") var(--help);
			left: 15%;
		}

		main[data-container-name="main"]::before {
			content: 'Install: ' url("https://code.breat.fr/share/images/icons/breat.fr.png") var(--install) '\ASupport me: ' url("https://code.breat.fr/share/images/icons/ko-fi.png") var(--support1) url("https://code.breat.fr/share/images/icons/paypal.png") var(--support2);
			right: 15%;
		}
	}

    /* Custom font size */
    .skill-bar-button *,
    [class*="type-and-tag-filter-wrapper-"] *,
    [data-testid="bot_discover_recommend_list"] *,
    [data-testid="carousel-item"] *,
    [data-testid="chat_input_input"] *,
    [data-testid="guidance_groups_skill_card"] *,
    [data-testid="union_message"] *,
    input,
    textarea,
    ::placeholder {
        font-size: fontsize !important;
        line-height: 1.5 !important;
        text-overflow: initial !important;
    }

    if (customciciface=="cmlgciciface") {
        [data-testid="guidance_panel"]::before {
            aspect-ratio: 1 / 1;
            background: url(cmcicifaceurl) no-repeat center center / cover;
            border-radius: cmciciavatarcorner;
            content: "";
            display: inline-block;
            height: 100%;
            margin: auto;
            max-height: 256px;
            min-height: 100px;
            width: auto;
        }
        [data-testid="chat_siderbar"] img[style="width: 36px; height: 36px;"] {
            aspect-ratio: 1 / 1;
            background: url(cmcicifaceurl) no-repeat center center / cover;
            border-radius: cmciciavatarcorner;
            height: 0;
            padding-left: 36px;
            padding-top: 36px;
            width: 0;
        }
    }

    if (customciciface=="cmsmciciface") {
        [data-testid="guidance_panel"] > div:nth-of-type(1) > div::before {
            aspect-ratio: 1 / 1;
            align-self: center;
            background: url(cmcicifaceurl) no-repeat center center / cover;
            border-radius: cmciciavatarcorner;
            content: "";
            display: inline-block;
            height: 100%;
            margin: auto;
            margin-right: 0.5em;
            max-height: 256px;
            min-height: 100px;
            width: auto;
        }
        [data-testid="chat_siderbar"] img[style="width: 36px; height: 36px;"] {
            aspect-ratio: 1 / 1;
            background: url(cmcicifaceurl) no-repeat center center / cover;
            border-radius: cmciciavatarcorner;
            height: 0;
            padding-left: 36px;
            padding-top: 36px;
            width: 0;
        }
        [data-testid="guidance_panel"] > div:nth-of-type(1) > div {
            align-items: center;
        }
    }
    if (customciciface=="nocmciciface") {
        [data-testid="guidance_panel"] > div:nth-of-type(1) > div::before {
            background: none;
            display: none;
        }
    }

    if chatmode && ouravatarurl {
        [data-testid="send_message"]::after {
            align-self: center;
            aspect-ratio: 1 / 1;
            background: url(ouravatarurl) no-repeat center center / cover;
            border-radius: 50%;
            content: "";
            display: inline-flex;
            height: 40px;
            margin-bottom: auto;
            margin-left: .5em;
            width: 40px;
        }

        [data-testid="receive_message"]::before {
            align-self: center;
            aspect-ratio: 1 / 1;
            background: url(cmcicifaceurl) no-repeat center center / cover;
            border-radius: 50%;
            content: "";
            display: inline-flex;
            height: 40px;
            margin-bottom: auto;
            margin-right: .5em;
            width: 40px;
        }
    }

    if darkmode {
        [data-testid="chat_siderbar"] {
            border-right: 1px solid #7e94fe !important;
        }
        [class*="send-message-box-content-"],
        [class*="send-message-box-content-coco-"] {
            background: rgba(50, 50, 50, 0.85);
            border-radius: 1.5rem;
        }

        body {
            color: var(--s-color-text-primary);
        }

        [class*="chat-input-container"] {
            box-shadow: rgba(126, 148, 254, 0.2) -2px -2px 2px 2px,
                        rgba(126, 148, 254, 0.2) -2px 2px 2px 2px,
                        rgba(0, 87, 255, 0.2) 2px -2px 2px 2px,
                        rgba(0, 87, 255, 0.2) 2px 2px 2px 2px;
        }
        [data-testid="create_conversation_button"] svg path,
        svg[class*="short-cut-"] path,
        svg[class*="short-cut-"] rect {
            stroke: #7e94fe;
        }
        [data-testid="scroll_view"] svg path {
            stroke: var(--s-color-text-primary);
        }
        .semi-space svg path {
            fill: var(--s-color-text-primary);
        }

        [class*="thread-creation-"] {
            color: var(--s-color-brand-primary-default, #7e94fe);
        }

        [class*="chat-input-"],
        [class*="semi-input-textarea-wrapper"],
        [data-testid="chat_input_input"] {
            background: var(--s-color-bg-primary) !important;
            border: 0 !important;
            border-radius: 12px !important;
        }
        [data-testid="chat_input_send_button"]:disabled {
            background-color: grey;
        }

        [class*="section-item-"]:not([class*="active-"], [class*="section-item-title-"]):hover,
        [data-testid="guidance_groups"] > div:hover,
        .skill-bar-button > div:hover {
            background: var(--s-color-bg-trans-primary) !important;
        }

        [class*="to-bottom-button-"] {
            background: var(--s-color-bg-tertiary);
        }

        ::selection {
            background: --s-color-bg-trans-primary;
        }

        /* Dots when Cici is writing */
        [data-testid="message_loading"] [class*="dot-flashing-"],
        [data-testid="message_loading"] [class*="dot-flashing-"]::after,
        [data-testid="message_loading"] [class*="dot-flashing-"]::before {
            background-color: transparent !important;
            color: rgba(203, 203, 203, 0.8) !important;
        }

        [class*="header-P"] {
            background: transparent;
        }
    }

    if hidedownload {
        [data-testid="chat_header_download_client"],
        [data-testid="chat_header_menu"] > div:nth-of-type(1),
        [data-testid="chat_header_menu"] > button:nth-of-type(1),
        [data-testid="chat_header_menu"] > button:nth-of-type(2),
        [data-testid="chat_header_menu"] > button:nth-of-type(3),
        [data-testid="chat_siderbar"] > div > div:last-child > [data-testid="sidebar_download_desktop_btn"],
        [data-testid="chat_siderbar"] > div > div:last-child > div > div:nth-of-type(2) > div,
        [data-testid="login_content"] > div > div > div:nth-of-type(1) {
            display: none;
        }
    }

    if widemode {
        /* Wide chat */
        [style*="--right-side-width: 0px; --center-content-max-width:"] {
            --center-content-max-width: 100% !important;
        }

        /* Cici's face on home page */
        @media (max-width: 600px) {
            [class*="guidance-view-layout-"] {
                display: flex;
                flex-direction: column;
                height: calc(100vh - 216px);
                justify-content: center;
                padding: 10px 0;
            }
        }

        /* Full code block */
        [class*="code-block-element-"] [class*="code-area-"] [class*="content-"] {
            max-height: fit-content !important;
        }
        [class*="code-block-element-"] [class*="code-area-"] [class*="mask-"] {
            background: transparent !important;
        }

        /* Full attachment file name */
        [data-testid="attachment_file_item"] {
            min-width: 50% !important;
        }

        /* Images sent by us */
        [data-testid="message_content"] [class*="container-"] {
            margin-left: auto;
        }
        [data-testid="mdbox_image"] {
            border: 1px solid #7e94fe !important;
            border-radius: 12px;
        }

        /* Chat "bubbles" */
        [class*="message-box__reverse-"] {
            margin-left: auto;
        }

		[data-testid="chat_footer_skill_bar"] > div > div {
			display: flex;
			justify-content: space-evenly;
		}
		[data-testid="chat_footer_skill_bar"],
		[data-testid="chat_footer_skill_bar"] > div > div,
        [data-testid="chat_input"] > div,
 		[class*="chat-input-"] {
			max-width: 100% !important;
			width: 100% !important;
        }

		[data-testid="upload_file_button"] {
			margin: 0 !important;
			position: absolute;
			top: .5em !important;
			right: 1em !important;
			z-index: 10;
		}

        /* Avatar */
        .semi-avatar img {
            background-color: transparent !important;
        }
        [data-testid="chat_header_avatar_button"] {
            height: 36px !important;
            width: 36px !important;
        }

        /* Help and comments */
        [data-testid="feedback_modal"] > div:nth-of-type(2) > div {
            width: 80% !important;
        }
    }
}

@-moz-document url-prefix("https://www.dola.com/chat/bot/discover") {
/* ========================================================
    Bots
======================================================== */
    if darkmode {
        [class*="containerWrapper"] [class*="panelWrapper"] {
            background: var(--chat-bg-color);
        }

        [data-testid="bot_discover_search"] > div {
            background: var(--s-color-bg-secondary) !important;
        }

        [class*="newBotItem-"]:hover {
            background: var(--s-color-bg-trans-primary)
        }
    }

    if widemode {
        [class*="newBotItem-"] {
            height: auto;
            max-width: 100%;
        }
    }
}

@-moz-document url-prefix("https://www.dola.com/chat/collection") {
/* ========================================================
    Bookmarks
======================================================== */
    if darkmode {
        .collection-guide-popup-container,
        .collection-guide-popup-container div[data-testid="scroll_view"] {
            background: var(--chat-bg-color);
        }

        [data-testid="scroll_view"] div[class*="wrapper-"] > div:nth-of-type(2) > div > div:nth-of-type(1)::after {
            background: transparent;
        }
    }

    if widemode {
        [class*="type-and-tag-filter-wrapper-"] {
            margin-top: 3em;
        }

        [data-testid="scroll_view"],
        [data-testid="scroll_view"] > div {
            margin-top: 1em;
        }
    }
}

@-moz-document url-prefix("https://www.dola.com/chat/settings") {
/* ========================================================
    Settings
======================================================== */
    :root {
        --s-color-bg-trans: #2f2f2f;
        --s-color-bg-trans-primary: rgba(126, 148, 254, 0.2);
        --s-color-bg-primary: #212121;
        --s-color-text-primary: #cbcbcb;
        --s-color-text-secondary: #cbcbcb;
        --s-color-text-tertiary: #cbcbcb;
        --s-color-text-quaternary: #cbcbcb;
        --semi-color-text-0: #cbcbcb;
    }

    a {
        color: #cbcbcb;
    }
    .semi-dropdown-content {
        background: var(--s-color-bg-primary);
    }

    /* Custom font size */
    [class*="block-"] *,
    li * {
        font-size: fontsize !important;
        line-height: 1.5 !important;
        text-overflow: initial !important;
    }

	[class*="block-"] {
		max-width: 100%;
	}

    /* Dropdown language */
    .flow-dropdown-container > div > div {
        align-items: center;
        height: auto;
    }
    .semi-portal-inner {
        transform: translate(-67%, 0%) !important;
    }

    [data-testid="dropdown-menu-item"] p {
        display: inline-flex;
    }
    [data-testid="dropdown-menu-item"]:not(:first-child) p:nth-of-type(2)::before {
        content: "/";
        margin-left: .3em;
        margin-right: .3em;
    }
}

@-moz-document url-prefix("http://"), url-prefix("https://") {
/* ========================================================
    Browser plugin
======================================================== */
    /* Translated by Cici */
    if (customciciface=="cmlgciciface") || (customciciface=="cmsmciciface") {
        .__Cici_translate_translated_inject_node__:before {
            aspect-ratio: 1 / 1;
            background: url(cmcicifaceurl) no-repeat center center / cover;
            border-radius: cmciciavatarcorner;
            content: "";
            display: inline-block;
            height: 1em;
            margin: auto;
            margin-right: .25em;
            vertical-align: text-top;
            width: 1em;
        }
    }
    if (customciciface=="nocmciciface") {
        .__Cici_translate_translated_inject_node__:before {
            background: none;
            display: none;
        }
    }
    .__Cici_translate_translated_inject_node__ {
        box-shadow: rgba(126, 148, 254, 0.2) -2px -2px 2px 2px,
                    rgba(126, 148, 254, 0.2) -2px 2px 2px 2px,
                    rgba(0, 87, 255, 0.2) 2px -2px 2px 2px,
                    rgba(0, 87, 255, 0.2) 2px 2px 2px 2px;
        border-radius: 12px;
        padding: .25em;
        width: fit-content;
    }
}
