KinoPoisk.ru – Dark Enhancement [Ath]

Dark color scheme for KinoPoisk.ru/КиноПоиск.ру (both classic and modern parts), with minor enhancements.

  1. /* ==UserStyle==
  2. @name KinoPoisk.ru – Dark Enhancement [Ath]
  3. @namespace kinopoisk.ru
  4. @version 1.0.0
  5. @description Dark color scheme for KinoPoisk.ru/КиноПоиск.ру (both classic and modern parts), with minor enhancements.
  6. @author Athari (https://github.com/Athari)
  7. @homepageURL https://github.com/Athari/AthariUserCSS
  8. @supportURL https://github.com/Athari/AthariUserCSS/issues
  9. @license MIT
  10. @preprocessor default
  11.  
  12. @var checkbox ath-show-hd "Acknowledge existence of HD.KinoPoisk.ru" 0
  13. ==/UserStyle== */
  14.  
  15. @-moz-document domain("kinopoisk.ru") {
  16. /* Common */
  17. :root {
  18. color-scheme: dark;
  19. }
  20. body {
  21. container: if;
  22. }
  23.  
  24. @container if style(--ath-show-hd: 0) {
  25. a[href^="https://hd.kinopoisk.ru/"] {
  26. display: none !important;
  27. }
  28.  
  29. :is(input, select, textarea):is([class], [id], [name]) {
  30. color: revert !important;
  31. background: revert !important;
  32. &::placeholder {
  33. color: revert !important;
  34. }
  35. }
  36. }
  37.  
  38. /* Classic Kinopoisk */
  39. body:is(:not([class]), [class="svg-background_yes"], .Theme) {
  40. color: oklch(90% 0 0) !important;
  41. background: oklch(0% 0 0) !important;
  42.  
  43. div:has(> #social_teaser_link),
  44. .randomMovie,
  45. .kadr_scroller {
  46. display: none !important;
  47. }
  48.  
  49. main.page-content {
  50. /*> div:not(.shadow) {
  51. display: none !important;
  52. }*/
  53. > div.shadow.shadow-restyle {
  54. box-shadow: none !important;
  55. }
  56. }
  57. [style*="background-color: #fff"],
  58. [style*="background-color: white"],
  59. [bgcolor="#ffffff"],
  60. #footer_wrapper {
  61. background: oklch(10% 0 0) !important;
  62. }
  63. [style*="background: #f2f2f2"],
  64. [style*="background-color:#f2f2f2"],
  65. [bgcolor="#f2f2f2"],
  66. td.thbox_n,
  67. td.main_line,
  68. ul.resp_type,
  69. div.response span.date,
  70. div.response ul.useful,
  71. form.response,
  72. form.info,
  73. #suggest-container > div,
  74. .search_adv form,
  75. .sorts dd,
  76. .bestMoviesNav,
  77. .subscribe {
  78. background: oklch(20% 0 0) !important;
  79. }
  80. .kinopoisk-header-suggest-item:hover,
  81. .kinopoisk-header-suggest__groups-container + a {
  82. background: oklch(25% 0 0) !important;
  83. }
  84. [bgcolor="#E5E5F1"] {
  85. background: oklch(15% 0.15 200) !important;
  86. }
  87. [bgcolor="#D9D9E5"] {
  88. background: oklch(25% 0.15 200) !important;
  89. }
  90. [bgcolor="#000077"] {
  91. background: oklch(25% 0.35 200) !important;
  92. }
  93.  
  94. .bestMoviesNav,
  95. .bestMoviesNav .title,
  96. #block_left, #block_left_pad, #block_left_padtop, #block_left_index, #block_left_gray,
  97. td.news {
  98. color: oklch(90% 0 0) !important;
  99. }
  100. td {
  101. color: oklch(90% 0 0);
  102. }
  103. .kinopoisk-header-suggest-item__subtitle,
  104. div.response p.sub_title,
  105. .breadcrumbs__sub {
  106. color: oklch(80% 0 0);
  107. }
  108. [style*="color:#666"],
  109. div.clear_all,
  110. form.response span,
  111. .kinopoisk-header-suggest-group__title,
  112. .dub {
  113. color: oklch(75% 0 0) !important;
  114. }
  115. a {
  116. color: oklch(75% 0.05 260);
  117. }
  118. span[style*="color:#005"],
  119. a.all,
  120. .kinopoisk-header-suggest__groups-container + a,
  121. .breadcrumbs__item a.breadcrumbs__link,
  122. .subscribe .name,
  123. :is(
  124. :is(.tenItems, .search_results, .dub .actorInfo, .personPageItems, form.response) .name,
  125. .search_gray, .keywordsList, .geo, div.thermo, div.response) a {
  126. color: oklch(75% 0.05 260) !important;
  127. }
  128. [style*="color:#000055"] {
  129. color: oklch(90% 0.5 260) !important;
  130. }
  131.  
  132. div.response ul.voter,
  133. div.response ul.useful,
  134. .dub {
  135. border-color: oklch(35% 0 0) !important;
  136. }
  137.  
  138. div.thermo,
  139. td.border-tb {
  140. color: oklch(70% 0 0) !important;
  141. background: oklch(20% 0 0) !important;
  142. border-color: oklch(30% 0 0) !important;
  143. }
  144. .old_settings,
  145. .search_gray,
  146. .search_results_top {
  147. color: oklch(70% 0 0) !important;
  148. background: oklch(20% 0 0) !important;
  149. }
  150. .WidgetStars,
  151. .subscribe .stripe {
  152. filter: invert(1) hue-rotate(180deg);
  153. }
  154. div.response ul.voter li {
  155. filter: hue-rotate(180deg) invert(1) contrast(0.5) brightness(1.5) contrast(2);
  156. }
  157. .MyKP_Folder_Select .select {
  158. .title {
  159. filter: invert(1) hue-rotate(180deg);
  160. }
  161. .list,
  162. .list dd {
  163. color: oklch(95% 0 0) !important;
  164. background: oklch(20% 0 0);
  165. }
  166. .list .arrow {
  167. color: oklch(75% 0.05 260);
  168. }
  169. }
  170. .bestMoviesNav {
  171. .whiteBlock {
  172. filter: invert(1) brightness(1.5) hue-rotate(180deg);
  173. text-shadow: 0 0 1px #0006; /* antialias */
  174. color: oklch(50% 0 0) !important;
  175. .title {
  176. color: oklch(50% 0 0) !important;
  177. }
  178. }
  179. .selectCustom {
  180. filter: invert(1) hue-rotate(180deg);
  181. color: oklch(30% 0 0) !important;
  182. }
  183. .selectList {
  184. color: oklch(90% 0 0) !important;
  185. background: oklch(20% 0 0);
  186. li:hover {
  187. background: oklch(25% 0 0);
  188. }
  189. }
  190. }
  191. dl.block {
  192. dt {
  193. filter: invert(1) hue-rotate(180deg);
  194. }
  195. dd.dl a {
  196. background: oklch(20% 0 0) !important;
  197. s {
  198. color: oklch(75% 0.05 260) !important;
  199. }
  200. }
  201. dd.more {
  202. filter: invert(1) hue-rotate(180deg);
  203. }
  204. }
  205. div.response {
  206. background: oklch(35% 0.15 200);
  207. &.bad {
  208. background: oklch(35% 0.15 30) !important;
  209. }
  210. &.good {
  211. background: oklch(35% 0.15 160) !important;
  212. }
  213. }
  214. }
  215.  
  216. /* Modern Kinopoisk */
  217. body.body {
  218. [class*=styles_hdMetaTableContainer__],
  219. /*[class*=styles_watchingServices__],
  220. [class*=styles_watchingServicesOnline__],*/
  221. [class*=styles_onlineCaption__],
  222. [class*=style_buttonPlus__],
  223. [class*=styles_withPromotionBlock__] > div:has(img[class*=styles_background__]),
  224. div:has(> [data-tid="OfferButton"]),
  225. div:has(> [class*=styles_subscriptionText__]),
  226. div:has(> div > #hd-onboarding-block) {
  227. display: none;
  228. }
  229.  
  230. [class*=styles_text__],
  231. [class*=styles_filmSynopsis__],
  232. [class*=styles_description__][class*=styles_shrinked__],
  233. #add_user_review_form [class*=style_formTitle__],
  234. .film-bloopers-block :is(li, div),
  235. .film-facts-block :is(li, div) {
  236. color: oklch(90% 0 0);
  237. }
  238. [class*=styles_title__],
  239. [class*=styles_basicInfo__] [class*=styles_primaryName__],
  240. [class*=styles_tableHeader__],
  241. [class*=style_buttonPrimary__][class],
  242. [class*=styles_rootSecondary__],
  243. [class*=styles_moreButton__],
  244. [class*=styles_filter__] button *,
  245. [class*=styles_trailerIcon__],
  246. [class*=styles_sidebar__] button,
  247. [class*=styles_addNodeButton__] button,
  248. [class*=styles_episode__][class*=styles_released__],
  249. [class*=styles_select__]:has(> [class*=styles_selectButton__]) [class*=styles_buttonCaption__],
  250. [data-testid="kp-ui-kit.Dropdown.content"] > div,
  251. [data-testid="kp-ui-kit.MenuItem.button"],
  252. :is([class*=styles_tabsSection__], [class*=styles_tabs__]) [class*=styles_itemsSpoiler__] li :is(span:not([class*=styles_itemDisabled__]), button),
  253. button[class*=styles_button__],
  254. summary[class*=styles_heading__][class],
  255. .film-page-section-title,
  256. .kinopoisk-header-suggest__groups-container + a {
  257. color: oklch(95% 0 0);
  258. }
  259. [class*=styles_originalTitle__],
  260. [class*=desktop-person-main-info_secondaryText__] {
  261. color: oklch(80% 0 0);
  262. }
  263. [class*=styles_valueDark__],
  264. [class*=styles_valueContainer__] button,
  265. [class*=styles_subtitle__],
  266. [class*=styles_agreement__],
  267. [class*=styles_titleWrapper__] [class*=styles_subtitle__],
  268. [class*=styles_carouselItem__] [class*=styles_caption__],
  269. [class*=styles_count__][class]:not([class*=styles_countPositive__]):not([class*=styles_countNegative__]),
  270. [class*=styles_reviewCount__],
  271. [class*=styles_kinopoiskCount__],
  272. [class*=styles_suggestion__],
  273. [class*=styles_date__][class],
  274. [class*=styles_publishedDate__],
  275. [class*=styles_captions__] [class*=styles_subtitle__][class],
  276. [class*=styles_quantifiers__] [class*=styles_percent__],
  277. [class*=styles_loginWrapper__] [class*=styles_percent__],
  278. [class*=styles_fullName__],
  279. [class*=styles_subtitle__][class*=styles_released__],
  280. a[href^="/lists/movies/"] :is([class*=styles_filmsCount__], [class*=styles_watchStat__]),
  281. #popover-root [class*=styles_subtitle__],
  282. #popover-root [class*=styles_additionalInfo__] span,
  283. #popover-root [class*=styles_bestMovieTitle__]::after,
  284. .kinopoisk-header-suggest-item__subtitle {
  285. color: oklch(75% 0 0);
  286. }
  287. [class*=styles_ageRate__],
  288. [class*=styles_addNodeButton__] div,
  289. :is([class*=styles_tabsSection__], [class*=styles_tabs__]) [class*=styles_itemsSpoiler__] li span[class*=styles_itemDisabled__] {
  290. color: oklch(55% 0 0);
  291. }
  292. [class*=styles_link__],
  293. [class*=styles_list__] a[class],
  294. [class*=styles_captions__] [class*=styles_title__][class],
  295. [class*=styles_loginWrapper__] a,
  296. [class*=styles_numberOfComments__][class],
  297. [class*=styles_sidebarContainer__] a[class],
  298. [class*=base-movie-main-info_mainInfo__] span,
  299. a[class*=styles_page__],
  300. a[class*=styles_start__],
  301. a[class*=styles_end__],
  302. a[href^="/lists/movies/"] [class*=styles_name__],
  303. :is([class*=styles_tabsSection__], [class*=styles_tabs__]) [class*=styles_itemsSpoiler__] li a,
  304. h1 a,
  305. #add_user_review_form :is(a, button[type=button]),
  306. #popover-root a,
  307. .film-facts-block a,
  308. .film-bloopers-block a,
  309. .film-trailer a[class] {
  310. color: oklch(75% 0.05 260);
  311. }
  312.  
  313. [class*=styles_root__]:has(> [class*=styles_headerContainer__]),
  314. [class*=styles_root__]:has(> [class*=styles_headerContainer__]) > [class*=styles_wideContentContainer__] > [class*=styles_rootLight__],
  315. [class*=styles_baseContainer__],
  316. [class*=styles_baseContainer__] > [class*=styles_mainContainer__],
  317. :is(main, [class*=styles_baseContainer__]) > [class*=styles_rootLight__] {
  318. background: oklch(5% 0 0);
  319. }
  320. [class*=styles_topbarSlot__] > div,
  321. [class*=styles_dropDown__],
  322. [class*=styles_dropdownMenu__],
  323. [class*=styles_filterDropdown__],
  324. [class*=styles_selectDropdown__],
  325. [class*=styles_select__]:has(> [class*=styles_selectButton__]),
  326. [data-testid="kp-ui-kit.Dropdown.content"] > div,
  327. [data-testid="kp-ui-kit.MenuItem.button"],
  328. #suggest-container > div,
  329. #popover-root [class*=styles_root__],
  330. .film-facts-block div,
  331. .film-bloopers-block div {
  332. background: oklch(20% 0 0);
  333. }
  334. [class*=styles_select__]:has(> [class*=styles_selectButton__]) label:hover,
  335. [data-testid="kp-ui-kit.MenuItem.button"]:hover,
  336. .kinopoisk-header-suggest-item:hover {
  337. background: oklch(25% 0 0);
  338. }
  339. [class*=style_buttonPrimary__][class],
  340. .kinopoisk-header-suggest__groups-container + a {
  341. background: oklch(35% 0.05 260);
  342. }
  343. [class*=styles_rootSecondary__],
  344. [class*=styles_moreButton__],
  345. [class*=styles_toogleFilters__] a,
  346. [class*=styles_trailerIcon__],
  347. [class*=styles_friendsVotingSortChips__] button[class*=styles_rootSelected__],
  348. [class*=styles_filter__] button,
  349. button[class*=styles_button__]:not([class*=styles_foldersButtons__]) {
  350. background: oklch(30% 0.05 260);
  351. }
  352. [class*=styles_carouselItem__] article {
  353. background: oklch(30% 0 0);
  354. }
  355.  
  356. a[href^="/lists/movies/"] [class*=styles_progressBar__] {
  357. stroke: oklch(75% 0 0);
  358. }
  359.  
  360. [data-test-id="movie-list-item"] {
  361. &:hover {
  362. background: oklch(30% 0 0);
  363. }
  364. &:has([class*=styles_removeFilmText__]) {
  365. opacity: 0.4;
  366. }
  367. [class*=styles_mainTitle__] {
  368. color: oklch(75% 0.05 260);
  369. }
  370. [class*=desktop-list-main-info_secondaryTitleSlot__] * {
  371. color: oklch(80% 0 0);
  372. }
  373. [class*=desktop-list-main-info_additionalInfo__] * {
  374. color: oklch(75% 0 0);
  375. }
  376. }
  377.  
  378. [class*=styles_review__] {
  379. background: oklch(35% 0.15 200);
  380. [class*=styles_nameLink__] {
  381. color: oklch(75% 0.05 260);
  382. }
  383. }
  384. [class*=styles_review__][class*=styles_rootNegative__] {
  385. background: oklch(35% 0.15 30);
  386. }
  387. [class*=styles_review__][class*=styles_rootPositive__] {
  388. background: oklch(35% 0.15 160);
  389. }
  390. }
  391. }

QingJ © 2025

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