dark.css 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636
  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 .item.active {
  207. color: var(--font-color-link-hover);
  208. background-color: var(--background-color-hover);
  209. }
  210. .nav-list .item.active a {
  211. color: var(--font-color-link-hover);
  212. }
  213. .nav-list .nav-header {
  214. background-color: var(--dark-background-color1);
  215. }
  216. /*=== Dropdown */
  217. .dropdown-menu {
  218. background-color: var(--background-color-light);
  219. border: 1px solid var(--dark-border-color8);
  220. box-shadow: 3px 3px 3px var(--box-shadow-color);
  221. }
  222. .dropdown-menu::after {
  223. border-color: var(--dark-border-color8);
  224. }
  225. .dropdown-header,
  226. .dropdown-section .dropdown-section-title {
  227. color: var(--dark-font-color8);
  228. }
  229. .dropdown-menu .item > a:hover,
  230. .dropdown-menu .item > button:hover:not([disabled]),
  231. .dropdown-menu .item > label:hover:not(.noHover) {
  232. background-color: var(--dark-background-color-blue);
  233. color: var(--dark-font-color8);
  234. }
  235. .item ~ .dropdown-header,
  236. .dropdown-section ~ .dropdown-section,
  237. .item.separator {
  238. border-top-color: var(--dark-border-color3);
  239. }
  240. /*=== Alerts */
  241. .alert {
  242. background-color: var(--dark-background-color1);
  243. color: var(--dark-font-colorA);
  244. border: 1px solid var(--dark-border-color8);
  245. }
  246. /*=== Pagination */
  247. .pagination {
  248. color: var(--dark-font-color8);
  249. }
  250. .pagination .item a {
  251. color: var(--dark-font-color6);
  252. }
  253. .pagination:first-child .item {
  254. border-top: 1px solid var(--dark-border-color3);
  255. border-bottom: 1px solid var(--dark-border-color3);
  256. }
  257. /*=== Boxes */
  258. .box {
  259. border: 1px solid var(--dark-border-color0);
  260. }
  261. .box .icon {
  262. filter: brightness(100%);
  263. }
  264. .box .box-title {
  265. background-color: var(--dark-background-color1);
  266. border-bottom: 1px solid var(--dark-border-color0);
  267. }
  268. /*=== Tree */
  269. .tree-folder-title .title {
  270. color: var(--dark-font-color8);
  271. }
  272. .tree-folder.active .tree-folder-title {
  273. background: var(--dark-background-color1);
  274. }
  275. .tree-folder-items {
  276. background: var(--dark-background-color16);
  277. border-top: 1px solid var(--dark-border-color2);
  278. border-bottom: 1px solid var(--dark-border-color2);
  279. }
  280. .tree-folder-items > .item.active {
  281. background: var(--dark-background-color-blue);
  282. }
  283. .tree-folder-items > .item.active .icon {
  284. filter: brightness(1.5);
  285. }
  286. .tree-folder-items > .item.active > a {
  287. color: var(--dark-font-color8);
  288. }
  289. .tree-folder-items .item:hover {
  290. background-color: var(--dark-background-color-blue);
  291. }
  292. .tree-folder .tree-folder-title:hover .dropdown-toggle .icon,
  293. .tree-folder.active .tree-folder-title .dropdown-toggle .icon,
  294. .tree-folder .tree-folder-title:hover > .icon,
  295. .tree-folder.active .tree-folder-title > .icon,
  296. .tree-folder-items .item:hover .icon {
  297. filter: brightness(1.5);
  298. }
  299. /*=== STRUCTURE */
  300. /*===============*/
  301. /*=== Header */
  302. .header > .item {
  303. border-bottom: 1px solid var(--dark-border-color3);
  304. }
  305. .header > .item.title .logo {
  306. filter: grayscale(60%) brightness(1.1);
  307. }
  308. .header > .item.title a:hover .logo {
  309. filter: grayscale(60%) brightness(1.5);
  310. }
  311. .aside {
  312. border-right: 1px solid var(--dark-border-color3);
  313. }
  314. /*=== Aside main page (categories) */
  315. .aside.aside_feed .category .title:not([data-unread="0"])::after {
  316. background-color: var(--dark-background-color16);
  317. }
  318. .aside.aside_feed .category.active .title:not([data-unread="0"])::after {
  319. background-color: var(--dark-background-color3);
  320. }
  321. .aside.aside_feed .feed .item-title:not([data-unread="0"])::after {
  322. background-color: var(--dark-background-color2);
  323. color: var(--dark-font-color8);
  324. }
  325. .aside.aside_feed .feed.active .item-title:not([data-unread="0"])::after {
  326. border-color: var(--dark-border-color8);
  327. color: var(--dark-font-color8);
  328. }
  329. /*=== New article notification */
  330. #new-article {
  331. background-color: var(--dark-background-color-blue);
  332. }
  333. #new-article > a {
  334. color: var(--dark-font-colorA);
  335. }
  336. #new-article > a:hover {
  337. background-color: var(--dark-background-color3);
  338. }
  339. /*=== Day indication */
  340. .day {
  341. border-top: 1px solid var(--dark-border-color3);
  342. border-bottom: 1px solid var(--dark-border-color3);
  343. }
  344. /*=== Index menu */
  345. .nav_menu {
  346. border-bottom: 1px solid var(--dark-border-color);
  347. }
  348. /*=== Feed articles */
  349. .flux {
  350. border-left: 2px solid var(--dark-border-color);
  351. }
  352. .flux_header {
  353. border-top: none;
  354. }
  355. .flux .flux_header:hover {
  356. background-color: var(--background-color-flux-hover);
  357. }
  358. .flux.current {
  359. background-color: var(--dark-background-color1);
  360. }
  361. .flux .flux_header .item .title {
  362. color: var(--dark-font-color8);
  363. }
  364. .flux .flux_header .date,
  365. .flux .flux_content .bottom .date {
  366. color: var(--dark-font-color6);
  367. }
  368. .flux:not(.current):hover .item .title {
  369. background-color: var(--dark-background-color1);
  370. }
  371. /*=== Content of feed articles */
  372. .content > h1.title > a {
  373. color: var(--dark-font-color8);
  374. }
  375. .content hr {
  376. background-color: var(--dark-background-color3);
  377. }
  378. .content pre {
  379. background-color: var(--dark-background-color2);
  380. color: var(--dark-font-colorA);
  381. border: 1px solid var(--dark-border-color0);
  382. }
  383. .content code {
  384. background-color: var(--dark-background-color1);
  385. border-color: var(--dark-border-color3);
  386. }
  387. .content pre code {
  388. color: var(--dark-font-colorA);
  389. }
  390. .content blockquote {
  391. background: var(--dark-background-color2);
  392. color: var(--dark-font-color9);
  393. border-top: 1px solid var(--dark-border-color4);
  394. border-bottom: 1px solid var(--dark-border-color4);
  395. }
  396. /*=== Notification and actualize notification */
  397. .notification {
  398. background-color: var(--dark-background-color1);
  399. color: var(--dark-notification-font-color);
  400. border: 1px solid var(--dark-notification-border-color);
  401. }
  402. .notification.good {
  403. background-color: var(--dark-background-color1);
  404. border-color: var(--dark-notification-good-border-color);
  405. }
  406. .notification.bad {
  407. background-color: var(--dark-background-color1);
  408. border-color: var(--dark-notification-bad-border-color);
  409. }
  410. .notification .close:hover {
  411. background-color: var(--dark-background-color2);
  412. }
  413. .notification.good .close:hover {
  414. background-color: var(--dark-notification-good-close-background-color-hover);
  415. }
  416. .notification.bad .close:hover {
  417. background-color: var(--dark-notification-bad-close-background-color-hover);
  418. }
  419. .notification .close .icon {
  420. filter: brightness(0.6);
  421. }
  422. .notification .close:hover .icon {
  423. filter: brightness(3);
  424. }
  425. /*=== "Load more" part */
  426. #bigMarkAsRead:hover {
  427. background-color: var(--dark-background-color1);
  428. color: var(--dark-font-colorA);
  429. background-image: linear-gradient(to top, var(--dark-background-color-button-hover-gradient1) 0%, var(--dark-background-color-button-hover-gradient2) 5%);
  430. box-shadow: none;
  431. }
  432. /*=== Navigation menu (for articles) */
  433. #nav_entries {
  434. background-color: var(--dark-background-color1);
  435. border-top: 1px solid var(--dark-border-color3);
  436. }
  437. /*=== READER VIEW */
  438. /*================*/
  439. #stream.reader .flux {
  440. background-color: var(--dark-background-color2);
  441. }
  442. #stream.reader .flux .flux_content {
  443. background-color: var(--dark-background-color1);
  444. border: none;
  445. }
  446. #stream.reader .flux .author {
  447. color: var(--dark-font-color6);
  448. }
  449. /*=== GLOBAL VIEW */
  450. /*================*/
  451. .box.category .box-title .title {
  452. color: var(--dark-font-color8);
  453. }
  454. #stream.global .box.category .box-title:hover {
  455. background-color: var(--dark-background-color-blue);
  456. }
  457. .box.category:not([data-unread="0"]) .box-title {
  458. background-color: var(--dark-background-color3);
  459. }
  460. .box.category:not([data-unread="0"]) .box-title .title {
  461. color: var(--dark-font-colorA);
  462. }
  463. #stream.global .feed .item-title:not([data-unread="0"])::after {
  464. background-color: var(--dark-background-color16);
  465. }
  466. /*=== Panel */
  467. #panel {
  468. border: 1px solid var(--dark-border-color6);
  469. }
  470. /*=== Slider */
  471. #slider {
  472. border-left: 1px solid var(--dark-border-color6);
  473. }
  474. .theme-preview-list {
  475. border-color: var(--dark-border-color0);
  476. }
  477. .theme-preview-list .properties {
  478. border-color: var(--dark-border-color0);
  479. color: var(--dark-font-colorA);
  480. }
  481. kbd {
  482. background-color: var(--dark-background-color3);
  483. color: var(--dark-font-color9);
  484. border-color: var(--dark-border-color3);
  485. }
  486. /*=== STATISTICS */
  487. /*===============*/
  488. .stat > table td,
  489. .stat > table th {
  490. border-bottom: 1px solid var(--dark-border-color3);
  491. }
  492. /*=== MOBILE */
  493. /*===========*/
  494. @media (max-width: 840px) {
  495. .aside .toggle_aside,
  496. #overlay .close,
  497. .dropdown-menu .toggle_aside {
  498. background-color: var(--dark-background-color1);
  499. border-bottom: 1px solid var(--dark-border-color3);
  500. }
  501. .dropdown-target:target ~ .dropdown-toggle::after {
  502. border-top: 1px solid var(--dark-border-color8);
  503. border-left: 1px solid var(--dark-border-color8);
  504. }
  505. }