dark.css 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641
  1. @charset "UTF-8";
  2. :root {
  3. --frss-background-color: #1c1c1c;
  4. --frss-background-color-transparent: #111a;
  5. --frss-font-color-light: #aaa;
  6. --frss-scrollbar-handle: rgba(0, 0, 0, 0.1);
  7. --frss-scrollbar-track: rgba(0, 0, 0, 0.05);
  8. --frss-scrollbar-handle-hover: rgba(0, 0, 0, 0.3);
  9. --frss-scrollbar-track-hover: rgba(0, 0, 0, 0.05);
  10. /** Origine **/
  11. --background-color-light: #1c1c1c;
  12. --background-color-light-shadowed: inherit;
  13. --background-color-light-shadowed-transparent: #262626aa;
  14. --background-color-grey: #1c1c1c;
  15. --background-color-hover: #26303f;
  16. --background-color-flux-hover: #111;
  17. --unread-article-background-color: inherit;
  18. --unread-article-background-color-hover: #111;
  19. --favorite-article-background-color: inherit;
  20. --favorite-article-background-color-hover: #111;
  21. --font-color-link-hover: #888;
  22. --font-color: #888;
  23. --font-color-link: #6986b2;
  24. --font-color-grey: #999;
  25. --empty-feed-color: #c95;
  26. --error-feed-color: #a44;
  27. --font-color-light: #fff;
  28. --alert-warn-font-color: #c95;
  29. --alert-warn-border-color: #c95;
  30. --alert-warn-background-color: inherit;
  31. --alert-success-font-color: #484;
  32. --alert-success-border-color: #484;
  33. --alert-success-background-color: inherit;
  34. --alert-error-font-color: #a44;
  35. --alert-error-boder-color: #a44;
  36. --alert-error-background-color: inherit;
  37. --box-shadow-color: #000a;
  38. --border-color: #000;
  39. --attention-background-color-active: #801;
  40. --dark-attention-background-color: #801;
  41. --dark-attention-gradient-color: #c04;
  42. --form-element-font-color-focus: #6986b2;
  43. --form-element-border-color-focus: #2f2f2f;
  44. --form-element-border-color-invalid: #f00;
  45. --form-element-invalid-box-shadow-color-inset: #f00;
  46. --notification-good-border-color: #484;
  47. --notification-good-font-color: #484;
  48. --notification-bad-border-color: #a44;
  49. --notification-bad-font-color: #a44;
  50. --contrast-border-color-active: #0062be;
  51. --unread-article-border-color: #ff5300;
  52. --favorite-article-border-color: #ffc300;
  53. /** Dark **/
  54. --dark-border-color: #2f2f2f;
  55. --dark-border-color0: #000;
  56. --dark-border-color2: #222;
  57. --dark-border-color3: #333;
  58. --dark-border-color4: #444;
  59. --dark-border-color6: #666;
  60. --dark-border-color8: #888;
  61. --dark-background-color-blue: #26303f;
  62. --dark-background-color1: #111;
  63. --dark-background-color16: #161616;
  64. --dark-background-color2: #222;
  65. --dark-background-color3: #333;
  66. --dark-favicon-background-color: #fff;
  67. --dark-background-color-button-hover-gradient1: #4a5d7a;
  68. --dark-background-color-button-hover-gradient2: #26303f;
  69. --dark-font-color4: #444;
  70. --dark-font-color6: #666;
  71. --dark-font-color8: #888;
  72. --dark-font-color9: #999;
  73. --dark-font-colorA: #aaa;
  74. --dark-notification-border-color: #c95;
  75. --dark-notification-good-border-color: #484;
  76. --dark-notification-bad-border-color: #a44;
  77. --dark-notification-font-color: #c95;
  78. --dark-notification-good-close-background-color-hover: #484;
  79. --dark-notification-bad-close-background-color-hover: #a44;
  80. --dark-form-element-box-shadow-inset: #1d1d1d;
  81. }
  82. /*=== Images */
  83. img.favicon {
  84. background: var(--dark-favicon-background-color);
  85. border-radius: 2px;
  86. }
  87. body img,
  88. body video,
  89. p.help .icon,
  90. .icon {
  91. filter: brightness(.6) contrast(1.2);
  92. }
  93. /*=== Forms */
  94. legend {
  95. border-bottom: 1px solid var(--dark-border-color);
  96. }
  97. input, select, textarea {
  98. background: var(--dark-background-color3);
  99. color: var(--dark-font-color9);
  100. border-color: var(--border-color);
  101. box-shadow: 0 2px 2px var(--dark-form-element-box-shadow-inset) inset;
  102. }
  103. input:disabled, select:disabled {
  104. background-color: var(--dark-background-color2);
  105. color: var(--dark-font-colorA);
  106. border-style: solid;
  107. border-color: var(--dark-border-color0);
  108. }
  109. input:focus,
  110. select:focus,
  111. textarea:focus,
  112. input[type="password"]:focus + .toggle-password {
  113. border: 1px solid var(--form-element-border-color-focus);
  114. box-shadow: 0 2px 2px var(--dark-form-element-box-shadow-inset) inset;
  115. }
  116. /*=== Tables */
  117. th, td {
  118. border: 1px solid var(--dark-border-color3);
  119. }
  120. th {
  121. background-color: var(--dark-background-color2);
  122. }
  123. /*=== COMPONENTS */
  124. /*===============*/
  125. /*=== Forms */
  126. .form-group.form-actions {
  127. background: var(--dark-background-color2);
  128. border-top: 1px solid var(--dark-border-color);
  129. }
  130. /*=== Buttons */
  131. button.as-link[disabled] {
  132. color: var(--dark-font-color4) !important;
  133. }
  134. .stick .btn-important:first-child {
  135. border-right: 1px solid var(--dark-border-color0);
  136. }
  137. .stick input:focus+input {
  138. border-left: 1px solid var(--dark-border-color0);
  139. }
  140. .stick input+input:focus {
  141. border-left: 1px solid var(--dark-border-color3);
  142. }
  143. .btn {
  144. background-image: none;
  145. background-color: var(--dark-background-color1);
  146. color: var(--dark-font-color8);
  147. border: 1px solid var(--dark-border-color0);
  148. }
  149. .btn:hover {
  150. background: linear-gradient(to top, var(--dark-background-color-button-hover-gradient1) 0%, var(--dark-background-color-button-hover-gradient2) 100%);
  151. }
  152. .btn:hover .icon {
  153. filter: brightness(1);
  154. }
  155. .btn.active,
  156. .btn:active,
  157. .dropdown-target:target ~ .btn.dropdown-toggle {
  158. background-color: var(--dark-background-color3);
  159. box-shadow: none;
  160. }
  161. .btn.active .icon,
  162. .dropdown-target:target ~ .btn.dropdown-toggle .icon {
  163. filter: brightness(1);
  164. }
  165. .btn:active {
  166. background-color: var(--dark-background-color-blue);
  167. }
  168. .btn-important {
  169. background: var(--dark-background-color-blue);
  170. }
  171. .btn-important:hover {
  172. background: linear-gradient(to top, var(--dark-background-color-button-hover-gradient1) 0%, var(--dark-background-color-button-hover-gradient2) 100%);
  173. color: inherit;
  174. }
  175. .btn-important:active {
  176. background-color: var(--dark-background-color-blue);
  177. }
  178. .btn-important .icon {
  179. filter: brightness(1);
  180. }
  181. .btn-attention {
  182. background-image: none;
  183. background-color: var(--dark-attention-background-color)
  184. }
  185. .btn-attention:hover {
  186. background: linear-gradient(to top, var(--dark-attention-gradient-color) 0%, var(--dark-attention-background-color) 100%);
  187. }
  188. /*=== switches */
  189. .switch {
  190. background-color: var(--dark-background-color3);
  191. }
  192. .switch.active {
  193. background-color: var(--dark-background-color-blue);
  194. }
  195. .switch::before {
  196. background-color: var(--dark-background-color2);
  197. }
  198. .switch:not([disabled]):hover::before {
  199. background-color: var(--dark-background-color1);
  200. }
  201. /*=== Navigation */
  202. .nav-list .item.active {
  203. background-color: var(--dark-background-color3);
  204. }
  205. .nav-list .nav-section .item.active:hover a,
  206. .nav-list .nav-section .item.active:hover .as-link,
  207. .nav-list .item.active {
  208. color: var(--font-color-link-hover);
  209. background-color: var(--background-color-hover);
  210. }
  211. .nav-list .item.active a,
  212. .nav-list .item.active .as-link {
  213. color: var(--font-color-link-hover);
  214. }
  215. .nav-list .nav-header {
  216. background-color: var(--dark-background-color1);
  217. }
  218. /*=== Dropdown */
  219. .dropdown-menu {
  220. background-color: var(--background-color-light);
  221. border: 1px solid var(--dark-border-color8);
  222. box-shadow: 3px 3px 3px var(--box-shadow-color);
  223. }
  224. .dropdown-menu::after {
  225. border-color: var(--dark-border-color8);
  226. }
  227. .dropdown-header,
  228. .dropdown-section .dropdown-section-title {
  229. color: var(--dark-font-color8);
  230. }
  231. .dropdown-menu .item > a:focus,
  232. .dropdown-menu .item > a:hover,
  233. .dropdown-menu .item > button:focus:not([disabled]),
  234. .dropdown-menu .item > button:hover:not([disabled]),
  235. .dropdown-menu .item > label:focus:not(.noHover),
  236. .dropdown-menu .item > label:hover:not(.noHover) {
  237. background-color: var(--dark-background-color-blue);
  238. color: var(--dark-font-color8);
  239. }
  240. .item ~ .dropdown-header,
  241. .dropdown-section ~ .dropdown-section,
  242. .item.separator {
  243. border-top-color: var(--dark-border-color3);
  244. }
  245. /*=== Alerts */
  246. .alert {
  247. background-color: var(--dark-background-color1);
  248. color: var(--dark-font-colorA);
  249. border: 1px solid var(--dark-border-color8);
  250. }
  251. /*=== Pagination */
  252. .pagination {
  253. color: var(--dark-font-color8);
  254. }
  255. .pagination .item a {
  256. color: var(--dark-font-color6);
  257. }
  258. .pagination:first-child .item {
  259. border-top: 1px solid var(--dark-border-color3);
  260. border-bottom: 1px solid var(--dark-border-color3);
  261. }
  262. /*=== Boxes */
  263. .box {
  264. border: 1px solid var(--dark-border-color0);
  265. }
  266. .box .icon {
  267. filter: brightness(100%);
  268. }
  269. .box .box-title {
  270. background-color: var(--dark-background-color1);
  271. border-bottom: 1px solid var(--dark-border-color0);
  272. }
  273. /*=== Tree */
  274. .tree-folder-title .title {
  275. color: var(--dark-font-color8);
  276. }
  277. .tree-folder.active .tree-folder-title {
  278. background: var(--dark-background-color1);
  279. }
  280. .tree-folder-items {
  281. background: var(--dark-background-color16);
  282. border-top: 1px solid var(--dark-border-color2);
  283. border-bottom: 1px solid var(--dark-border-color2);
  284. }
  285. .tree-folder-items > .item.active {
  286. background: var(--dark-background-color-blue);
  287. }
  288. .tree-folder-items > .item.active .icon {
  289. filter: brightness(1.5);
  290. }
  291. .tree-folder-items > .item.active > a {
  292. color: var(--dark-font-color8);
  293. }
  294. .tree-folder-items .item:hover {
  295. background-color: var(--dark-background-color-blue);
  296. }
  297. .tree-folder .tree-folder-title:hover .dropdown-toggle .icon,
  298. .tree-folder.active .tree-folder-title .dropdown-toggle .icon,
  299. .tree-folder .tree-folder-title:hover > .icon,
  300. .tree-folder.active .tree-folder-title > .icon,
  301. .tree-folder-items .item:hover .icon {
  302. filter: brightness(1.5);
  303. }
  304. /*=== STRUCTURE */
  305. /*===============*/
  306. /*=== Header */
  307. .header > .item {
  308. border-bottom: 1px solid var(--dark-border-color3);
  309. }
  310. .header > .item.title .logo {
  311. filter: grayscale(60%) brightness(1.1);
  312. }
  313. .header > .item.title a:hover .logo {
  314. filter: grayscale(60%) brightness(1.5);
  315. }
  316. .aside {
  317. border-right: 1px solid var(--dark-border-color3);
  318. }
  319. /*=== Aside main page (categories) */
  320. .aside.aside_feed .category .title:not([data-unread="0"])::after {
  321. background-color: var(--dark-background-color16);
  322. }
  323. .aside.aside_feed .category.active .title:not([data-unread="0"])::after {
  324. background-color: var(--dark-background-color3);
  325. }
  326. .aside.aside_feed .feed .item-title:not([data-unread="0"])::after {
  327. background-color: var(--dark-background-color2);
  328. color: var(--dark-font-color8);
  329. }
  330. .aside.aside_feed .feed.active .item-title:not([data-unread="0"])::after {
  331. border-color: var(--dark-border-color8);
  332. color: var(--dark-font-color8);
  333. }
  334. /*=== New article notification */
  335. #new-article {
  336. background-color: var(--dark-background-color-blue);
  337. }
  338. #new-article > a {
  339. color: var(--dark-font-colorA);
  340. }
  341. #new-article > a:hover {
  342. background-color: var(--dark-background-color3);
  343. }
  344. /*=== Day indication */
  345. .day {
  346. border-top: 1px solid var(--dark-border-color3);
  347. border-bottom: 1px solid var(--dark-border-color3);
  348. }
  349. /*=== Index menu */
  350. .nav_menu {
  351. border-bottom: 1px solid var(--dark-border-color);
  352. }
  353. /*=== Feed articles */
  354. .flux {
  355. border-left: 2px solid var(--dark-border-color);
  356. }
  357. .flux_header {
  358. border-top: none;
  359. }
  360. .flux .flux_header:hover {
  361. background-color: var(--background-color-flux-hover);
  362. }
  363. .flux.current {
  364. background-color: var(--dark-background-color1);
  365. }
  366. .flux .flux_header .item .title {
  367. color: var(--dark-font-color8);
  368. }
  369. .flux .flux_header .date,
  370. .flux .flux_content .bottom .date {
  371. color: var(--dark-font-color6);
  372. }
  373. .flux:not(.current):hover .item .title {
  374. background-color: var(--dark-background-color1);
  375. }
  376. /*=== Content of feed articles */
  377. .content > h1.title > a {
  378. color: var(--dark-font-color8);
  379. }
  380. .content hr {
  381. background-color: var(--dark-background-color3);
  382. }
  383. .content pre {
  384. background-color: var(--dark-background-color2);
  385. color: var(--dark-font-colorA);
  386. border: 1px solid var(--dark-border-color0);
  387. }
  388. .content code {
  389. background-color: var(--dark-background-color1);
  390. border-color: var(--dark-border-color3);
  391. }
  392. .content pre code {
  393. color: var(--dark-font-colorA);
  394. }
  395. .content blockquote {
  396. background: var(--dark-background-color2);
  397. color: var(--dark-font-color9);
  398. border-top: 1px solid var(--dark-border-color4);
  399. border-bottom: 1px solid var(--dark-border-color4);
  400. }
  401. /*=== Notification and actualize notification */
  402. .notification {
  403. background-color: var(--dark-background-color1);
  404. color: var(--dark-notification-font-color);
  405. border: 1px solid var(--dark-notification-border-color);
  406. }
  407. .notification.good {
  408. background-color: var(--dark-background-color1);
  409. border-color: var(--dark-notification-good-border-color);
  410. }
  411. .notification.bad {
  412. background-color: var(--dark-background-color1);
  413. border-color: var(--dark-notification-bad-border-color);
  414. }
  415. .notification .close:hover {
  416. background-color: var(--dark-background-color2);
  417. }
  418. .notification.good .close:hover {
  419. background-color: var(--dark-notification-good-close-background-color-hover);
  420. }
  421. .notification.bad .close:hover {
  422. background-color: var(--dark-notification-bad-close-background-color-hover);
  423. }
  424. .notification .close .icon {
  425. filter: brightness(0.6);
  426. }
  427. .notification .close:hover .icon {
  428. filter: brightness(3);
  429. }
  430. /*=== "Load more" part */
  431. #bigMarkAsRead:hover {
  432. background-color: var(--dark-background-color1);
  433. color: var(--dark-font-colorA);
  434. background-image: linear-gradient(to top, var(--dark-background-color-button-hover-gradient1) 0%, var(--dark-background-color-button-hover-gradient2) 5%);
  435. box-shadow: none;
  436. }
  437. /*=== Navigation menu (for articles) */
  438. #nav_entries {
  439. background-color: var(--dark-background-color1);
  440. border-top: 1px solid var(--dark-border-color3);
  441. }
  442. /*=== READER VIEW */
  443. /*================*/
  444. #stream.reader .flux {
  445. background-color: var(--dark-background-color2);
  446. }
  447. #stream.reader .flux .flux_content {
  448. background-color: var(--dark-background-color1);
  449. border: none;
  450. }
  451. #stream.reader .flux .author {
  452. color: var(--dark-font-color6);
  453. }
  454. /*=== GLOBAL VIEW */
  455. /*================*/
  456. .box.category .box-title .title {
  457. color: var(--dark-font-color8);
  458. }
  459. #stream.global .box.category .box-title:hover {
  460. background-color: var(--dark-background-color-blue);
  461. }
  462. .box.category:not([data-unread="0"]) .box-title {
  463. background-color: var(--dark-background-color3);
  464. }
  465. .box.category:not([data-unread="0"]) .box-title .title {
  466. color: var(--dark-font-colorA);
  467. }
  468. #stream.global .feed .item-title:not([data-unread="0"])::after {
  469. background-color: var(--dark-background-color16);
  470. }
  471. /*=== Panel */
  472. #panel {
  473. border: 1px solid var(--dark-border-color6);
  474. }
  475. /*=== Slider */
  476. #slider {
  477. border-left: 1px solid var(--dark-border-color6);
  478. }
  479. .theme-preview-list {
  480. border-color: var(--dark-border-color0);
  481. }
  482. .theme-preview-list .properties {
  483. border-color: var(--dark-border-color0);
  484. color: var(--dark-font-colorA);
  485. }
  486. kbd {
  487. background-color: var(--dark-background-color3);
  488. color: var(--dark-font-color9);
  489. border-color: var(--dark-border-color3);
  490. }
  491. /*=== STATISTICS */
  492. /*===============*/
  493. .stat > table td,
  494. .stat > table th {
  495. border-bottom: 1px solid var(--dark-border-color3);
  496. }
  497. /*=== MOBILE */
  498. /*===========*/
  499. @media (max-width: 840px) {
  500. .aside .toggle_aside,
  501. #overlay .close,
  502. .dropdown-menu .toggle_aside {
  503. background-color: var(--dark-background-color1);
  504. border-bottom: 1px solid var(--dark-border-color3);
  505. }
  506. .dropdown-target:target ~ .dropdown-toggle::after {
  507. border-top: 1px solid var(--dark-border-color8);
  508. border-left: 1px solid var(--dark-border-color8);
  509. }
  510. }