Cici responsive + customizations

Cici website is more suitable for wide screens.

You will need to install an extension such as Tampermonkey, Greasemonkey or Violentmonkey to install this script.

You will need to install an extension such as Tampermonkey to install this script.

You will need to install an extension such as Tampermonkey or Violentmonkey to install this script.

You will need to install an extension such as Tampermonkey or Userscripts to install this script.

You will need to install an extension such as Tampermonkey to install this script.

You will need to install a user script manager extension to install this script.

(I already have a user script manager, let me install it!)

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

(I already have a user style manager, let me install it!)

/* ==UserStyle==
@name           Cici responsive + customizations
@version        1.0.12
@description    Cici website is more suitable for wide screens.
@author         BreatFR (https://breat.fr)
@namespace      https://gitlab.com/breatfr
@homepageURL    https://gitlab.com/breatfr/cici
@supportURL     https://discord.gg/Q8KSHzdBxs
@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
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 url-prefix("https://www.cici.com/chat/") {
/* ========================================================
    Chat
======================================================== */
    /* Versions */
    :root {
        --themeversion: 'Theme v1.0.12 · ';
        --scriptversion: 'Script v1.0.2 ';
        --author: 'by BreatFR (https://breat.fr)';
        --install1: ' usercssjs.breat.fr \A';
        --install2: ' gitlab.com/breatfr/cici \A \A';
        --support1: ' ko-fi.com/breatfr \A';
        --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) {
        [data-testid="chat_siderbar"]::before {
            background: linear-gradient(88.55deg, rgb(139, 109, 255) 22.43%, rgb(254, 132, 132) 92.28%);
            background-clip: text;
            -webkit-background-clip: text;
            color: transparent;
            content: var(--themeversion) var(--scriptversion) var(--author);
            display: block;
            font-family: Montserrat;
            font-size: 1.2rem;
            left: 50%;
            line-height: 1.5;
            max-width: max-content;
            pointer-events: none;
            position: fixed;
            text-align: center;
            top: .75em;
            transform: translateX(-25%);
            width: 100%;
            white-space: wrap;
        }
    }

    [class*="leftVisible-"] [data-testid="bookmark_entry"]::after {
        background: linear-gradient(88.55deg, rgb(139, 109, 255) 22.43%, rgb(254, 132, 132) 92.28%);
        background-clip: text;
        -webkit-background-clip: text;
        bottom: 1em;
        color: transparent;
        content: 'Install: \A' url("https://gitlab.com/breatfr/kindroid/-/raw/main/images/icon_breat.fr.png") var(--install1) url("https://gitlab.com/breatfr/kindroid/-/raw/main/images/icon_gitlab.png") var(--install2) 'Support me: \A' url("https://gitlab.com/breatfr/kindroid/-/raw/main/images/icon_ko-fi.png") var(--support1) url("https://gitlab.com/breatfr/kindroid/-/raw/main/images/icon_paypal.png") var(--support2);
        display: block;
        font-family: Montserrat;
        font-size: 1rem;
        left: 0;
        line-height: 1.5;
        max-width: 280px;
        pointer-events: none;
        position: fixed;
        text-align: center;
        width: 100%;
        white-space: pre-line;
    }
    
    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;
        }
    }

    /* 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 chatmode && ouravatarurl {
        [data-testid="send_message"] > div:nth-of-type(1)::before {
            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"] > div:nth-of-type(1)::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;
        }
        [class*="send-message-"] {
            display: flex;
            justify-content: flex-end;
            margin-left: auto;
            max-width: 100%;
        }
        [data-testid="send_message"] [data-testid="message_content"] > div > [data-testid="message_text_content"] {
            padding-bottom: 0.625rem !important;
            padding-left: 1.25rem !important;
            padding-right: 1.25rem !important;
            padding-top: 0.625rem !important;
        }
        [data-testid="send_message"],
        [data-testid="receive_message"] {
            max-width: 80%;
            min-width: 80%;
            width: 100%;
        }
        
        /* 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.cici.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.cici.com/chat/create-image") {
/* ========================================================
    Images
======================================================== */
    if darkmode {
        [class*="max-width-layout__full-width-"],
        .bg-white {
            background: var(--chat-bg-color) !important;
        }
    }
}

@-moz-document url-prefix("https://www.cici.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.cici.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;
    }
    
    /* 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;
    }
}