Cici responsive + customizations

Cici website is more suitable for wide screens.

  1. /* ==UserStyle==
  2. @name Cici responsive + customizations
  3. @version 1.0.12
  4. @description Cici website is more suitable for wide screens.
  5. @author BreatFR (https://breat.fr)
  6. @namespace https://gitlab.com/breatfr
  7. @homepageURL https://gitlab.com/breatfr/cici
  8. @supportURL https://discord.gg/Q8KSHzdBxs
  9. @license AGPL-3.0-or-later; https://www.gnu.org/licenses/agpl-3.0.txt
  10. @preprocessor stylus
  11.  
  12. @var select customciciface "Custom Cici face" {
  13. "Large Cici face": "cmlgciciface",
  14. "Small Cici face": "cmsmciciface",
  15. "Hidden": "nocmciciface"
  16. }
  17. @var text cmcicifaceurl "Custom Cici face URL" '"https://gitlab.com/breatfr/cici/-/raw/main/docs/cici-icon.png"'
  18. @var text cmciciavatarcorner "Custom Cici avatar corner" 22%
  19. @var text fontsize "Custom font size" 1.2rem
  20. @var checkbox chatmode "Chat mode (Require Our avatar URL)" 0
  21. @var text ouravatarurl "Our avatar URL (Require Chat mode)" '"https://pbs.twimg.com/profile_images/1676568728585007105/9DebaQOc_400x400.jpg"'
  22. @var checkbox darkmode "Dark mode" 1
  23. @var checkbox hidedownload "Hide download app" 0
  24. @var checkbox widemode "Wide mode" 1
  25. ==/UserStyle== */
  26.  
  27. /* === Credits ===
  28. Website https://breat.fr
  29. facebook https://www.facebook.com/breatfroff
  30. mastodon https://mastodon.social/@breat_fr
  31. telegram https://t.me/breatfr
  32. vk https://vk.com/breatfroff
  33. X (twitter) https://x.com/breatfroff
  34. === Credits === */
  35.  
  36. @-moz-document url-prefix("https://www.cici.com/chat/") {
  37. /* ========================================================
  38. Chat
  39. ======================================================== */
  40. /* Versions */
  41. :root {
  42. --themeversion: 'Theme v1.0.12 · ';
  43. --scriptversion: 'Script v1.0.2 ';
  44. --author: 'by BreatFR (https://breat.fr)';
  45. --install1: ' usercssjs.breat.fr \A';
  46. --install2: ' gitlab.com/breatfr/cici \A \A';
  47. --support1: ' ko-fi.com/breatfr \A';
  48. --support2: ' paypal.me/breat';
  49.  
  50. --chat-area-max-width: 100%;
  51. --self-message-box-max-width: 100%;
  52. --chat-bg-color: #212121;
  53. --color-neutral-100: #cbcbcb;
  54. --dot-flashing-from: #cbcbcb;
  55. --dot-flashing-to: rgba(203, 203, 203, 0.8);
  56. --s-color-bg-primary: #2f2f2f;
  57. --s-color-bg-secondary: #2f2f2f;
  58. --s-color-bg-tertiary: #171717;
  59. --s-color-bg-quaternary: #2f2f2f;
  60. --s-color-bg-trans: #2f2f2f;
  61. --s-color-bg-trans-primary: rgba(126, 148, 254, 0.2);
  62. --s-color-brand-primary-default: #7e94fe;
  63. --s-color-text-primary: #cbcbcb;
  64. --s-color-text-secondary: #cbcbcb;
  65. --s-color-text-tertiary: #cbcbcb;
  66. --s-color-text-quaternary: #cbcbcb;
  67. }
  68. @media (min-width: 900px) {
  69. [data-testid="chat_siderbar"]::before {
  70. background: linear-gradient(88.55deg, rgb(139, 109, 255) 22.43%, rgb(254, 132, 132) 92.28%);
  71. background-clip: text;
  72. -webkit-background-clip: text;
  73. color: transparent;
  74. content: var(--themeversion) var(--scriptversion) var(--author);
  75. display: block;
  76. font-family: Montserrat;
  77. font-size: 1.2rem;
  78. left: 50%;
  79. line-height: 1.5;
  80. max-width: max-content;
  81. pointer-events: none;
  82. position: fixed;
  83. text-align: center;
  84. top: .75em;
  85. transform: translateX(-25%);
  86. width: 100%;
  87. white-space: wrap;
  88. }
  89. }
  90.  
  91. [class*="leftVisible-"] [data-testid="bookmark_entry"]::after {
  92. background: linear-gradient(88.55deg, rgb(139, 109, 255) 22.43%, rgb(254, 132, 132) 92.28%);
  93. background-clip: text;
  94. -webkit-background-clip: text;
  95. bottom: 1em;
  96. color: transparent;
  97. 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);
  98. display: block;
  99. font-family: Montserrat;
  100. font-size: 1rem;
  101. left: 0;
  102. line-height: 1.5;
  103. max-width: 280px;
  104. pointer-events: none;
  105. position: fixed;
  106. text-align: center;
  107. width: 100%;
  108. white-space: pre-line;
  109. }
  110. if (customciciface=="cmlgciciface") {
  111. [data-testid="guidance_panel"]::before {
  112. aspect-ratio: 1 / 1;
  113. background: url(cmcicifaceurl) no-repeat center center / cover;
  114. border-radius: cmciciavatarcorner;
  115. content: "";
  116. display: inline-block;
  117. height: 100%;
  118. margin: auto;
  119. max-height: 256px;
  120. min-height: 100px;
  121. width: auto;
  122. }
  123. [data-testid="chat_siderbar"] img[style="width: 36px; height: 36px;"] {
  124. aspect-ratio: 1 / 1;
  125. background: url(cmcicifaceurl) no-repeat center center / cover;
  126. border-radius: cmciciavatarcorner;
  127. height: 0;
  128. padding-left: 36px;
  129. padding-top: 36px;
  130. width: 0;
  131. }
  132. }
  133. if (customciciface=="cmsmciciface") {
  134. [data-testid="guidance_panel"] > div:nth-of-type(1) > div::before {
  135. aspect-ratio: 1 / 1;
  136. align-self: center;
  137. background: url(cmcicifaceurl) no-repeat center center / cover;
  138. border-radius: cmciciavatarcorner;
  139. content: "";
  140. display: inline-block;
  141. height: 100%;
  142. margin: auto;
  143. margin-right: 0.5em;
  144. max-height: 256px;
  145. min-height: 100px;
  146. width: auto;
  147. }
  148. [data-testid="chat_siderbar"] img[style="width: 36px; height: 36px;"] {
  149. aspect-ratio: 1 / 1;
  150. background: url(cmcicifaceurl) no-repeat center center / cover;
  151. border-radius: cmciciavatarcorner;
  152. height: 0;
  153. padding-left: 36px;
  154. padding-top: 36px;
  155. width: 0;
  156. }
  157. [data-testid="guidance_panel"] > div:nth-of-type(1) > div {
  158. align-items: center;
  159. }
  160. }
  161. if (customciciface=="nocmciciface") {
  162. [data-testid="guidance_panel"] > div:nth-of-type(1) > div::before {
  163. background: none;
  164. display: none;
  165. }
  166. }
  167.  
  168. /* Custom font size */
  169. .skill-bar-button *,
  170. [class*="type-and-tag-filter-wrapper-"] *,
  171. [data-testid="bot_discover_recommend_list"] *,
  172. [data-testid="carousel-item"] *,
  173. [data-testid="chat_input_input"] *,
  174. [data-testid="guidance_groups_skill_card"] *,
  175. [data-testid="union_message"] *,
  176. input,
  177. textarea,
  178. ::placeholder {
  179. font-size: fontsize !important;
  180. line-height: 1.5 !important;
  181. text-overflow: initial !important;
  182. }
  183. if chatmode && ouravatarurl {
  184. [data-testid="send_message"] > div:nth-of-type(1)::before {
  185. align-self: center;
  186. aspect-ratio: 1 / 1;
  187. background: url(ouravatarurl) no-repeat center center / cover;
  188. border-radius: 50%;
  189. content: "";
  190. display: inline-flex;
  191. height: 40px;
  192. margin-bottom: auto;
  193. margin-left: .5em;
  194. width: 40px;
  195. }
  196. [data-testid="receive_message"] > div:nth-of-type(1)::before {
  197. align-self: center;
  198. aspect-ratio: 1 / 1;
  199. background: url(cmcicifaceurl) no-repeat center center / cover;
  200. border-radius: 50%;
  201. content: "";
  202. display: inline-flex;
  203. height: 40px;
  204. margin-bottom: auto;
  205. margin-right: .5em;
  206. width: 40px;
  207. }
  208. }
  209. if darkmode {
  210. [data-testid="chat_siderbar"] {
  211. border-right: 1px solid #7e94fe !important;
  212. }
  213. [class*="send-message-box-content-"],
  214. [class*="send-message-box-content-coco-"] {
  215. background: rgba(50, 50, 50, 0.85);
  216. border-radius: 1.5rem;
  217. }
  218. body {
  219. color: var(--s-color-text-primary);
  220. }
  221.  
  222. [class*="chat-input-container"] {
  223. box-shadow: rgba(126, 148, 254, 0.2) -2px -2px 2px 2px,
  224. rgba(126, 148, 254, 0.2) -2px 2px 2px 2px,
  225. rgba(0, 87, 255, 0.2) 2px -2px 2px 2px,
  226. rgba(0, 87, 255, 0.2) 2px 2px 2px 2px;
  227. }
  228. [data-testid="create_conversation_button"] svg path,
  229. svg[class*="short-cut-"] path,
  230. svg[class*="short-cut-"] rect {
  231. stroke: #7e94fe;
  232. }
  233. [data-testid="scroll_view"] svg path {
  234. stroke: var(--s-color-text-primary);
  235. }
  236. .semi-space svg path {
  237. fill: var(--s-color-text-primary);
  238. }
  239. [class*="thread-creation-"] {
  240. color: var(--s-color-brand-primary-default, #7e94fe);
  241. }
  242. [class*="chat-input-"],
  243. [class*="semi-input-textarea-wrapper"],
  244. [data-testid="chat_input_input"] {
  245. background: var(--s-color-bg-primary) !important;
  246. border: 0 !important;
  247. border-radius: 12px !important;
  248. }
  249. [data-testid="chat_input_send_button"]:disabled {
  250. background-color: grey;
  251. }
  252. [class*="section-item-"]:not([class*="active-"], [class*="section-item-title-"]):hover,
  253. [data-testid="guidance_groups"] > div:hover,
  254. .skill-bar-button > div:hover {
  255. background: var(--s-color-bg-trans-primary) !important;
  256. }
  257. [class*="to-bottom-button-"] {
  258. background: var(--s-color-bg-tertiary);
  259. }
  260. ::selection {
  261. background: --s-color-bg-trans-primary;
  262. }
  263. /* Dots when Cici is writing */
  264. [data-testid="message_loading"] [class*="dot-flashing-"],
  265. [data-testid="message_loading"] [class*="dot-flashing-"]::after,
  266. [data-testid="message_loading"] [class*="dot-flashing-"]::before {
  267. background-color: transparent !important;
  268. color: rgba(203, 203, 203, 0.8) !important;
  269. }
  270. [class*="header-P"] {
  271. background: transparent;
  272. }
  273. }
  274. if hidedownload {
  275. [data-testid="chat_header_download_client"],
  276. [data-testid="chat_header_menu"] > div:nth-of-type(1),
  277. [data-testid="chat_header_menu"] > button:nth-of-type(1),
  278. [data-testid="chat_header_menu"] > button:nth-of-type(2),
  279. [data-testid="chat_header_menu"] > button:nth-of-type(3),
  280. [data-testid="chat_siderbar"] > div > div:last-child > [data-testid="sidebar_download_desktop_btn"],
  281. [data-testid="chat_siderbar"] > div > div:last-child > div > div:nth-of-type(2) > div,
  282. [data-testid="login_content"] > div > div > div:nth-of-type(1) {
  283. display: none;
  284. }
  285. }
  286.  
  287. if widemode {
  288. /* Wide chat */
  289. [style*="--right-side-width: 0px; --center-content-max-width:"] {
  290. --center-content-max-width: 100% !important;
  291. }
  292. /* Cici's face on home page */
  293. @media (max-width: 600px) {
  294. [class*="guidance-view-layout-"] {
  295. display: flex;
  296. flex-direction: column;
  297. height: calc(100vh - 216px);
  298. justify-content: center;
  299. padding: 10px 0;
  300. }
  301. }
  302. /* Full code block */
  303. [class*="code-block-element-"] [class*="code-area-"] [class*="content-"] {
  304. max-height: fit-content !important;
  305. }
  306. [class*="code-block-element-"] [class*="code-area-"] [class*="mask-"] {
  307. background: transparent !important;
  308. }
  309. /* Full attachment file name */
  310. [data-testid="attachment_file_item"] {
  311. min-width: 50% !important;
  312. }
  313. /* Images sent by us */
  314. [data-testid="message_content"] [class*="container-"] {
  315. margin-left: auto;
  316. }
  317. [data-testid="mdbox_image"] {
  318. border: 1px solid #7e94fe !important;
  319. border-radius: 12px;
  320. }
  321. /* Chat "bubbles" */
  322. [class*="message-box__reverse-"] {
  323. margin-left: auto;
  324. }
  325. [class*="send-message-"] {
  326. display: flex;
  327. justify-content: flex-end;
  328. margin-left: auto;
  329. max-width: 100%;
  330. }
  331. [data-testid="send_message"] [data-testid="message_content"] > div > [data-testid="message_text_content"] {
  332. padding-bottom: 0.625rem !important;
  333. padding-left: 1.25rem !important;
  334. padding-right: 1.25rem !important;
  335. padding-top: 0.625rem !important;
  336. }
  337. [data-testid="send_message"],
  338. [data-testid="receive_message"] {
  339. max-width: 80%;
  340. min-width: 80%;
  341. width: 100%;
  342. }
  343. /* Avatar */
  344. .semi-avatar img {
  345. background-color: transparent !important;
  346. }
  347. [data-testid="chat_header_avatar_button"] {
  348. height: 36px !important;
  349. width: 36px !important;
  350. }
  351. /* Help and comments */
  352. [data-testid="feedback_modal"] > div:nth-of-type(2) > div {
  353. width: 80% !important;
  354. }
  355. }
  356. }
  357.  
  358. @-moz-document url-prefix("https://www.cici.com/chat/bot/discover") {
  359. /* ========================================================
  360. Bots
  361. ======================================================== */
  362. if darkmode {
  363. [class*="containerWrapper"] [class*="panelWrapper"] {
  364. background: var(--chat-bg-color);
  365. }
  366.  
  367. [data-testid="bot_discover_search"] > div {
  368. background: var(--s-color-bg-secondary) !important;
  369. }
  370. [class*="newBotItem-"]:hover {
  371. background: var(--s-color-bg-trans-primary)
  372. }
  373. }
  374. if widemode {
  375. [class*="newBotItem-"] {
  376. height: auto;
  377. max-width: 100%;
  378. }
  379. }
  380. }
  381.  
  382. @-moz-document url-prefix("https://www.cici.com/chat/create-image") {
  383. /* ========================================================
  384. Images
  385. ======================================================== */
  386. if darkmode {
  387. [class*="max-width-layout__full-width-"],
  388. .bg-white {
  389. background: var(--chat-bg-color) !important;
  390. }
  391. }
  392. }
  393.  
  394. @-moz-document url-prefix("https://www.cici.com/chat/collection") {
  395. /* ========================================================
  396. Bookmarks
  397. ======================================================== */
  398. if darkmode {
  399. .collection-guide-popup-container,
  400. .collection-guide-popup-container div[data-testid="scroll_view"] {
  401. background: var(--chat-bg-color);
  402. }
  403. [data-testid="scroll_view"] div[class*="wrapper-"] > div:nth-of-type(2) > div > div:nth-of-type(1)::after {
  404. background: transparent;
  405. }
  406. }
  407. if widemode {
  408. [class*="type-and-tag-filter-wrapper-"] {
  409. margin-top: 3em;
  410. }
  411. [data-testid="scroll_view"],
  412. [data-testid="scroll_view"] > div {
  413. margin-top: 1em;
  414. }
  415. }
  416. }
  417.  
  418. @-moz-document url-prefix("https://www.cici.com/chat/settings") {
  419. /* ========================================================
  420. Settings
  421. ======================================================== */
  422. :root {
  423. --s-color-bg-trans: #2f2f2f;
  424. --s-color-bg-trans-primary: rgba(126, 148, 254, 0.2);
  425. --s-color-bg-primary: #212121;
  426. --s-color-text-primary: #cbcbcb;
  427. --s-color-text-secondary: #cbcbcb;
  428. --s-color-text-tertiary: #cbcbcb;
  429. --s-color-text-quaternary: #cbcbcb;
  430. --semi-color-text-0: #cbcbcb;
  431. }
  432. a {
  433. color: #cbcbcb;
  434. }
  435. .semi-dropdown-content {
  436. background: var(--s-color-bg-primary);
  437. }
  438. /* Custom font size */
  439. [class*="block-"] *,
  440. li * {
  441. font-size: fontsize !important;
  442. line-height: 1.5 !important;
  443. text-overflow: initial !important;
  444. }
  445. /* Dropdown language */
  446. .flow-dropdown-container > div > div {
  447. align-items: center;
  448. height: auto;
  449. }
  450. .semi-portal-inner {
  451. transform: translate(-67%, 0%) !important;
  452. }
  453. [data-testid="dropdown-menu-item"] p {
  454. display: inline-flex;
  455. }
  456. [data-testid="dropdown-menu-item"]:not(:first-child) p:nth-of-type(2)::before {
  457. content: "/";
  458. margin-left: .3em;
  459. margin-right: .3em;
  460. }
  461. }
  462.  
  463. @-moz-document url-prefix("http://"), url-prefix("https://") {
  464. /* ========================================================
  465. Browser plugin
  466. ======================================================== */
  467. /* Translated by Cici */
  468. if (customciciface=="cmlgciciface") || (customciciface=="cmsmciciface") {
  469. .__Cici_translate_translated_inject_node__:before {
  470. aspect-ratio: 1 / 1;
  471. background: url(cmcicifaceurl) no-repeat center center / cover;
  472. border-radius: cmciciavatarcorner;
  473. content: "";
  474. display: inline-block;
  475. height: 1em;
  476. margin: auto;
  477. margin-right: .25em;
  478. vertical-align: text-top;
  479. width: 1em;
  480. }
  481. }
  482. if (customciciface=="nocmciciface") {
  483. .__Cici_translate_translated_inject_node__:before {
  484. background: none;
  485. display: none;
  486. }
  487. }
  488. .__Cici_translate_translated_inject_node__ {
  489. box-shadow: rgba(126, 148, 254, 0.2) -2px -2px 2px 2px,
  490. rgba(126, 148, 254, 0.2) -2px 2px 2px 2px,
  491. rgba(0, 87, 255, 0.2) 2px -2px 2px 2px,
  492. rgba(0, 87, 255, 0.2) 2px 2px 2px 2px;
  493. border-radius: 12px;
  494. padding: .25em;
  495. width: fit-content;
  496. }
  497. }

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址