- /* ==UserStyle==
- @name Mistral responsive + customizations
- @version 1.0.19
- @description Mistral website is more suitable for wide screens.
- @author BreatFR (https://breat.fr)
- @namespace https://gitlab.com/breatfr
- @homepageURL https://gitlab.com/breatfr/mistral
- @supportURL https://discord.gg/Q8KSHzdBxs
- @license AGPL-3.0-or-later; https://www.gnu.org/licenses/agpl-3.0.txt
- @preprocessor stylus
-
- @var checkbox chatmode "Chat mode" 1
- @var checkbox avatar "Custom avatar for us" 0
- @var text avatarurl "Custom avatar URL" "URL between quotes"
- @var checkbox cmmistralavatar "Custom Mistral avatar" 0
- @var text cmmistralavatarurl "Custom Mistral avatar URL" "URL between quotes"
- @var text cmmistralavatarsize "Custom Mistral avatar size" calc(100vh - 64px - 163.56px - .5rem)
- @var text cmmistralavatarcorner "Custom Mistral avatar corner" 50%
- @var text fontsize "Custom font size" 1.2rem
- @var checkbox hidepro "Hide pro" 1
- @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 domain("chat.mistral.ai") {
- /* Mistral Chat */
- /* Versions */
- :root {
- --themeversion: 'Theme v1.0.19 by BreatFR (https://breat.fr)';
- --install1: ' usercssjs.breat.fr \A';
- --install2: ' gitlab.com/breatfr/mistral \A \A';
- --support1: ' ko-fi.com/breatfr \A';
- --support2: ' paypal.me/breat';
- }
-
- @media (min-width: 900px) {
- main main::after {
- background: linear-gradient(88.55deg, rgb(253, 73, 2) 22.43%, rgb(254, 206, 0) 92.28%);
- background-clip: text;
- -webkit-background-clip: text;
- color: transparent;
- content: var(--themeversion);
- display: block;
- font-family: ui-sans-serif, system-ui, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji;
- font-size: 1.2rem;
- left: 50%;
- line-height: 1.5;
- max-width: max-content;
- pointer-events: none;
- position: absolute;
- text-align: center;
- top: 0;
- transform: translate(-50%, 50%);
- width: 100%;
- white-space: wrap;
- }
- }
-
- [data-state="expanded"] [data-sidebar="sidebar"]::after,
- [data-mobile="true"][data-sidebar="sidebar"]::after {
- background: linear-gradient(88.55deg, rgb(253, 73, 2) 22.43%, rgb(254, 206, 0) 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: ui-sans-serif, system-ui, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji;
- font-size: 1.2rem;
- left: 0;
- line-height: 1.5;
- max-width: 256px;
- pointer-events: none;
- position: fixed;
- text-align: center;
- width: 100%;
- white-space: pre-line;
- }
-
- body {
- max-height: 100vh;
- overflow: hidden;
- }
-
- /* Textarea focused */
- body:has(textarea:focus) {
- [class="flex w-full flex-col p-4"] {
- border-radius: calc(var(--radius) + 4px);
- box-shadow: rgba(255, 149, 0, 0.4) -2px -2px 2px 2px,
- rgba(255, 149, 0, 0.4) -2px 2px 2px 2px,
- rgba(255, 69, 0, 0.4) 2px -2px 2px 2px,
- rgba(255, 69, 0, 0.4) 2px 2px 2px 2px;
- }
- }
-
- /* Custom font size */
- .prose,
- code,
- textarea,
- .max-w-screen-md:has(textarea) button {
- font-size: fontsize !important;
- line-height: 1.5 !important;
- }
- textarea.py-2 {
- min-height: max-content !important;
- }
-
- if avatar {
- [data-sidebar="header"] button:nth-of-type(1) > div > div:nth-of-type(1) {
- background: transparent;
- color: transparent;
- }
- [class="flex h-fit w-full flex-col"] > div:nth-child(odd) {
- position: relative;
- }
- [class="flex h-fit w-full flex-col"] > div:nth-child(odd) > div {
- margin-right: calc(32px + .5em);
- }
- [class="flex h-fit w-full flex-col"] > div:nth-child(odd) > div::before {
- position: absolute;
- right: 0;
- }
- [data-sidebar="header"] button:nth-of-type(1) > div > div:nth-of-type(1):before,
- [class="flex h-fit w-full flex-col"] > div:nth-child(odd) > div::before {
- background: url(avatarurl) no-repeat center center / cover;
- border-radius: 50%;
- content: "";
- display: inline-block;
- height: 32px;
- width: 32px;
- }
- }
-
- if cmmistralavatar {
- /* Avatar new chat */
- [class="absolute bottom-[65%] flex w-full justify-center"] {
- bottom: auto;
- max-width: 100%;
- top: 0px;
- }
- [class="flex flex-col items-stretch"] {
- height: auto;
- margin: 0;
- max-height: calc(100vh - 64px - 163.56px - .5rem) !important;
- overflow: hidden;
- position: absolute;
- }
- [class="flex flex-col items-stretch"] svg {
- aspect-ratio: 1 / 1;
- background: url(cmmistralavatarurl) no-repeat center center;
- background-size: cover;
- border-radius: cmmistralavatarcorner;
- height: 0;
- margin: 0 auto;
- padding-left: cmmistralavatarsize;
- padding-top: cmmistralavatarsize;
- width: 0;
- }
- /* Textarea new chat */
- [class="absolute flex w-full max-w-(--breakpoint-md) flex-col px-2"] {
- bottom: 0 !important;
- top: auto !important;
- }
-
- /* Avatar in chat */
- [class="group flex w-full gap-3"] > span > svg {
- aspect-ratio: 1 / 1;
- background: url(cmmistralavatarurl) no-repeat center center / cover;
- border-radius: 50%;
- height: 0;
- padding-left: 32px;
- padding-top: 32px;
- width: 0;
- }
- }
-
- if chatmode {
- [class="flex h-fit w-full flex-col"] > div {
- max-width: 80%;
- }
- code[style*="white-space: pre"],
- code[style*="white-space:pre"] {
- white-space: break-spaces !important;
- }
- [class="group flex w-full gap-3"] > div > div:nth-of-type(1) {
- overflow-x: hidden;
- }
- [class="flex h-fit w-full flex-col"] > div:nth-child(odd) {
- align-self: flex-end !important;
- justify-content: flex-end !important;
- }
- [class="flex h-fit w-full flex-col"] > div:nth-child(odd) > div > div:nth-of-type(1) > div > div > div {
- margin-left: auto;
- }
- }
-
- if hidepro {
- [data-sidebar="menu"] > li:nth-of-type(3) {
- display: none;
- }
- }
-
- if widemode {
- .max-w-\\(--breakpoint-md\\) {
- max-width: 98%;
- }
- .max-h-\\[300px\\]:has(textarea) {
- max-height: 50vh !important;
- }
- .max-w-screen-md:has(textarea) {
- padding: 1em 1.75em;
- }
-
- /* Avatars */
- .h-7 {
- height: 32px;
- }
- .w-7 {
- width: 32px;
- }
-
- body:has(iframe[sandbox="allow-scripts allow-same-origin"]) {
- .cm-content {
- flex-shrink: 1;
- }
- .cm-line {
- white-space: wrap;
- width: 100% !important;
- }
- }
-
- /* Generated images */
- [class="group flex w-full gap-3"] > div:nth-of-type(2) p:has(img) {
- margin-left: auto;
- margin-right: auto;
- }
-
- /* Textarea box */
- [class="relative overflow-hidden mb-2 min-h-10 w-full"] {
- margin-bottom: 0 !important;
- }
-
- /* Scroll down icon */
- button:has(svg.lucide-arrow-down) {
- height: 40px;
- width: 40px;
- }
- svg.lucide-arrow-down path {
- stroke: rgb(255, 69, 0);
- }
-
- /* Small space between date and edit button */
- [aria-label="Edit question"] {
- margin-left: 1em !important;
- }
-
- /* Search box */
- div[role="dialog"]:has(label) {
- max-height: 90%;
- max-width: 90%;
- }
-
- /* Documentation et contact */
- [class="fixed right-3 bottom-3 z-40 hidden gap-2 sm:flex"],
- [class="fixed right-3 bottom-3 z-40 hidden gap-2 md:flex"],
- [class="fixed right-3 bottom-3 z-40 hidden gap-2 lg:flex"] {
- left: calc(var(--spacing)*3);
- right: auto;
- }
- }
- }
-
- @-moz-document domain("console.mistral.ai") {
- /* Mistral Console */
- button[class*="flex w-full items-center gap-3 rounded px-3 py-2"] > div:nth-of-type(1),
- .user-initials {
- background: transparent !important;
- color: transparent;
- }
- button[class*="flex w-full items-center gap-3 rounded px-3 py-2"] > div:nth-of-type(1)::before,
- .user-initials::before {
- background: url(avatarurl) no-repeat center center / cover;
- border-radius: 50%;
- content: "";
- display: inline-block;
- height: 32px;
- width: 32px;
- }
- }