dark.css 14 KB

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