origine.css 29 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326
  1. @charset "UTF-8";
  2. /*=== GENERAL */
  3. /*============*/
  4. :root {
  5. --frss-padding-top-bottom: 0.5rem;
  6. --background-color-light-gradient1: #fff;
  7. --background-color-light-gradient2: #eee;
  8. --background-color-light: #fff;
  9. --background-color-light-shadowed: #f6f6f6;
  10. --background-color-light-shadowed-transparent: #f0f0f0a8;
  11. --background-color-grey: #f0f0f0;
  12. --background-color-hover: #f6f6f6;
  13. --unread-article-background-color: #fff3ed;
  14. --unread-article-background-color-hover: #faeee8;
  15. --unread-article-border-color: #ff5300;
  16. --favorite-article-background-color: #fff6da;
  17. --favorite-article-background-color-hover: #fcf2d6;
  18. --favorite-article-border-color: #ffc300;
  19. --contrast-background-color: #0084cc;
  20. --contrast-background-color-gradient: #0045cc;
  21. --contrast-background-color-hover: #06c;
  22. --contrast-background-color-active: #0062be;
  23. --contrast-border-color: #0062b7;
  24. --contrast-background-font-color: #eee;
  25. --attention-background-color-gradient1: #ea4a46;
  26. --attention-background-color-gradient2: #911811;
  27. --attention-background-color-gradient1-hover: #d14641;
  28. --attention-background-color-gradient2-hover: #bd362f;
  29. --attention-background-color-active: #bd362f;
  30. --attention-border-color: #c44742;
  31. --empty-feed-color: #e67e22;
  32. --error-feed-color: #bd362f;
  33. --alert-warn-background-color: #ffffe0;
  34. --alert-warn-font-color: #4b3315;
  35. --alert-warn-border-color: #eeb;
  36. --alert-success-background-color: #e8ffe8;
  37. --alert-success-font-color: #244424;
  38. --alert-success-border-color: #cec;
  39. --alert-error-background-color: #fdd;
  40. --alert-error-font-color: #693a3a;
  41. --alert-error-boder-color: #ecc;
  42. --notification-good-background-color: #ffe;
  43. --notification-good-border-color: #eeb;
  44. --notification-good-font-color: #916a37;
  45. --notification-bad-background-color: #fdd;
  46. --notification-bad-font-color: #643838;
  47. --notification-bad-border-color: #ecc;
  48. --notification-close-background-color-hover: #aaa2;
  49. --font-color: #111;
  50. --font-color-grey: #666;
  51. --font-color-light-shadowed: #aaa;
  52. --font-color-light: #fff;
  53. --text-shadow-color: #aaa;
  54. --text-shadow-color-dark: #666;
  55. --box-shadow-color: #bbb6;
  56. --box-shadow-color-inset: #e0e0e0;
  57. --font-color-link: #0062be;
  58. --font-color-link-hover: #038;
  59. --border-color: #ddd;
  60. --border-color-shadow-side: #ccc;
  61. --frss-border-color: var(--border-color);
  62. --contrast-border-color-active: #0062be;
  63. --form-element-font-color-focus: #0062be;
  64. --form-element-border-color-focus: #3bf;
  65. --form-element-focus-box-shadow-color-inset: #ddf;
  66. --form-element-border-color-invalid: #f00;
  67. --form-element-invalid-box-shadow-color-inset: #fdd;
  68. }
  69. html, body {
  70. background-color: var(--background-color-light);
  71. color: var(--font-color);
  72. font-family: "OpenSans", "Cantarell", "Helvetica", "Arial", sans-serif;
  73. }
  74. /*=== Links */
  75. a, button.as-link {
  76. color: var(--font-color-link);
  77. outline: none;
  78. }
  79. a:hover,
  80. button.as-link:hover {
  81. color: var(--font-color-link-hover);
  82. }
  83. /*=== Forms */
  84. legend {
  85. margin: 20px 0 5px;
  86. padding: 5px 0;
  87. font-size: 1.4em;
  88. border-bottom: 1px solid var(--border-color);
  89. }
  90. label {
  91. min-height: 25px;
  92. padding: 5px 0;
  93. cursor: pointer;
  94. }
  95. input:hover,
  96. select:hover,
  97. textarea:hover {
  98. color: var(--font-color);
  99. }
  100. textarea {
  101. width: 360px;
  102. height: 100px;
  103. }
  104. input, select, textarea {
  105. padding: 7px;
  106. background-color: var(--background-color-light);
  107. color: var(--font-color-grey);
  108. border: 1px solid var(--border-color);
  109. border-radius: 3px;
  110. vertical-align: middle;
  111. }
  112. option {
  113. padding: 0 .5em;
  114. }
  115. input:focus, select:focus, textarea:focus, input[type="password"]:focus + .toggle-password {
  116. color: var(--form-element-font-color-focus);
  117. border-color: var(--form-element-border-color-focus);
  118. box-shadow: 0 2px 2px var(--form-element-focus-box-shadow-color-inset) inset;
  119. outline: none;
  120. }
  121. input:invalid, select:invalid {
  122. border-color: var(--form-element-border-color-invalid);
  123. box-shadow: 0 0 2px 2px var(--form-element-invalid-box-shadow-color-inset) inset;
  124. }
  125. input:disabled, select:disabled {
  126. background-color: var(--background-color-light-shadowed);
  127. }
  128. /*=== Tables */
  129. table {
  130. border-collapse: collapse;
  131. }
  132. th, td {
  133. border: 1px solid var(--border-color);
  134. }
  135. th {
  136. background-color: var(--background-color-light-shadowed);
  137. }
  138. .config-articleicons td,
  139. .config-articleicons th {
  140. font-weight: normal;
  141. text-align: center;
  142. }
  143. /*=== COMPONENTS */
  144. /*===============*/
  145. /*=== Forms */
  146. .form-group.form-actions {
  147. margin-bottom: 40px;
  148. padding: 5px 0;
  149. background-color: var(--background-color-light-shadowed-transparent);
  150. border-top: 1px solid var(--border-color);
  151. }
  152. .form-group.form-actions .btn {
  153. margin: 0 20px 0 0;
  154. }
  155. .form-group .group-name {
  156. padding: 10px 0;
  157. }
  158. .form-group .group-controls {
  159. min-height: 25px;
  160. padding: 0.5rem 0;
  161. }
  162. .form-group.form-actions .group-controls .btn {
  163. margin-top: 0.25rem;
  164. margin-bottom: 0.25rem;
  165. }
  166. .form-group .group-controls label {
  167. padding: 0;
  168. }
  169. .form-group .group-controls > input,
  170. .form-group .group-controls > select,
  171. .form-group .group-controls > textarea,
  172. .form-group .group-controls .stick {
  173. margin: -5px 0 5px 0;
  174. }
  175. .form-group .group-controls .stick .btn {
  176. padding-top: 2px;
  177. padding-bottom: 2px;
  178. }
  179. /*=== Buttons */
  180. .stick input,
  181. .stick .btn,
  182. .group .btn {
  183. border-radius: 0;
  184. }
  185. .stick .btn:first-child,
  186. .group .btn:first-child,
  187. .stick input:first-child,
  188. .stick select:first-child {
  189. border-radius: 3px 0 0 3px;
  190. }
  191. .stick .btn-important:first-child {
  192. border-right: 1px solid var(--contrast-border-color);
  193. }
  194. .stick .btn:last-child,
  195. .group .btn:last-child,
  196. .stick input:last-child {
  197. border-radius: 0 3px 3px 0;
  198. }
  199. .stick .btn + .btn,
  200. .group .btn + .btn,
  201. .stick .btn + input,
  202. .stick .btn + .dropdown > .btn,
  203. .group .btn + .dropdown > .btn,
  204. .stick input + .btn,
  205. .stick select + .btn,
  206. .stick input + input,
  207. .stick input + .dropdown > .btn,
  208. .stick .dropdown + .btn,
  209. .group .dropdown + .btn,
  210. .stick .dropdown + input,
  211. .stick .dropdown + .dropdown > .btn,
  212. .group .dropdown + .dropdown > .btn {
  213. border-left: none;
  214. }
  215. .stick input + .btn {
  216. border-top: 1px solid var(--border-color);
  217. }
  218. .stick .dropdown:last-child > .btn,
  219. .group .dropdown:last-child > .btn {
  220. border-left: none;
  221. border-radius: 0 3px 3px 0;
  222. }
  223. .btn {
  224. margin: 0;
  225. padding: 0.25rem 0.5rem;
  226. background-image: linear-gradient(to bottom, var(--background-color-light-gradient1) 0%, var(--background-color-light-gradient2) 100%);
  227. color: var(--font-color-grey);
  228. font-size: 0.9rem;
  229. border: 1px solid var(--border-color);
  230. border-right: 1px solid var(--border-color-shadow-side);
  231. border-bottom: 1px solid var(--border-color-shadow-side);
  232. border-radius: 3px;
  233. min-height: 25px;
  234. min-width: 15px;
  235. line-height: 1.7;
  236. vertical-align: middle;
  237. }
  238. .btn:hover {
  239. background-image: none;
  240. background-color: var(--background-color-hover);
  241. text-decoration: none;
  242. }
  243. a:hover .icon {
  244. filter: brightness(1.5);
  245. transition: 0.1s linear;
  246. }
  247. #toggle-starred:hover .icon,
  248. .bookmark:hover .icon {
  249. filter: brightness(1.1);
  250. }
  251. #toggle-search.active > .icon {
  252. filter: invert(8%) sepia(99%) saturate(7064%) hue-rotate(248deg) brightness(99%) contrast(142%);
  253. }
  254. .btn.active,
  255. .btn:active,
  256. .dropdown-target:target ~ .btn.dropdown-toggle {
  257. background-color: var(--background-color-grey);
  258. box-shadow: 0px 2px 4px var(--box-shadow-color-inset) inset, 0px 1px 2px var(--background-color-grey);
  259. }
  260. .dropdown-target:target ~ .btn.dropdown-toggle .icon {
  261. filter: brightness(1.1);
  262. }
  263. .btn.active .icon,
  264. .btn:active .icon {
  265. filter: brightness(1.1);
  266. }
  267. .btn-important {
  268. background-image: linear-gradient(to bottom, var(--contrast-background-color), var(--contrast-background-color-gradient));
  269. color: var(--font-color-light);
  270. border: 1px solid var(--contrast-border-color);
  271. font-weight: normal;
  272. }
  273. .btn-important:hover {
  274. background-image: linear-gradient(to bottom, var(--contrast-background-color-hover), var(--contrast-background-color-gradient));
  275. color: var(--font-color-light);
  276. }
  277. .btn-important:hover .icon {
  278. filter: brightness(3);
  279. }
  280. .btn-important:active {
  281. background-color: var(--contrast-background-color-active);
  282. box-shadow: none;
  283. }
  284. .btn-important .icon {
  285. filter: brightness(3);
  286. }
  287. .btn-attention {
  288. background-image: linear-gradient(to bottom, var(--attention-background-color-gradient1), var(--attention-background-color-gradient2));
  289. color: var(--font-color-light);
  290. border: 1px solid var(--attention-border-color);
  291. text-shadow: 0px -1px 0px var(--text-shadow-color-dark);
  292. }
  293. .btn-attention:hover {
  294. background-image: linear-gradient(to bottom, var(--attention-background-color-gradient1-hover), var(--attention-background-color-gradient2-hover));
  295. color: var(--font-color-light);
  296. }
  297. .btn-attention:active {
  298. background-color: var(--attention-background-color-active);
  299. box-shadow: none;
  300. }
  301. /*=== Navigation */
  302. .nav-list {
  303. font-size: 0.9rem;
  304. }
  305. .nav-list .item,
  306. .nav-list .item.nav-header {
  307. min-height: 2.5em;
  308. line-height: 2.5;
  309. }
  310. .nav-list .nav-section .item:hover a,
  311. .nav-list .nav-section .item:hover .as-link {
  312. background-color: var(--background-color-hover);
  313. color: var(--font-color-link-hover);
  314. }
  315. .nav-list .nav-section .item.active:hover a,
  316. .nav-list .nav-section .item.active:hover .as-link,
  317. .nav-list .item.active {
  318. background-color: var(--contrast-background-color-active);
  319. color: var(--font-color-light);
  320. }
  321. .nav-list .item.active a,
  322. .nav-list .item.active .as-link {
  323. color: var(--font-color-light);
  324. }
  325. .nav-list .item > a,
  326. .nav-list .item > .as-link,
  327. .nav-list .item > span,
  328. .nav-list .item > div {
  329. padding: 0 1rem;
  330. }
  331. .nav-list .item > span {
  332. font-style: italic;
  333. color: var(--font-color-grey);
  334. }
  335. .nav-list a:hover {
  336. text-decoration: none;
  337. }
  338. .nav-list .nav-header {
  339. background-color: var(--background-color-grey);
  340. color: var(--font-color-grey);
  341. font-weight: bold;
  342. }
  343. .nav-list .nav-form {
  344. padding: 3px;
  345. text-align: center;
  346. }
  347. /*=== Dropdown */
  348. .dropdown-menu {
  349. margin: 5px 0 0;
  350. padding: 5px 0;
  351. background-color: var(--background-color-light);
  352. font-size: 0.8rem;
  353. border: 1px solid var(--border-color);
  354. border-radius: 5px;
  355. box-shadow: 3px 3px 3px var(--box-shadow-color);
  356. text-align: left;
  357. }
  358. .dropdown-menu::after {
  359. border-color: var(--border-color);
  360. }
  361. .dropdown-header,
  362. .dropdown-section .dropdown-section-title {
  363. padding: 0.25rem 0.5rem 0.25rem 1rem;
  364. color: var(--font-color-grey);
  365. font-weight: bold;
  366. text-align: left;
  367. }
  368. .dropdown-menu .item > a,
  369. .dropdown-menu .item > span,
  370. .dropdown-menu .item > .as-link {
  371. padding: 0 22px;
  372. line-height: 2.5;
  373. font-size: inherit;
  374. }
  375. .dropdown-menu .dropdown-section .item > a,
  376. .dropdown-menu .dropdown-section .item > span,
  377. .dropdown-menu .dropdown-section .item > .as-link {
  378. padding-left: 2rem;
  379. }
  380. .dropdown-menu .dropdown-section .item:last-child {
  381. margin-bottom: 0.5rem;
  382. }
  383. .dropdown-menu .item > a:focus,
  384. .dropdown-menu .item > a:hover,
  385. .dropdown-menu .item > button:focus:not([disabled]),
  386. .dropdown-menu .item > button:hover:not([disabled]),
  387. .dropdown-menu .item > label:focus:not(.noHover),
  388. .dropdown-menu .item > label:hover:not(.noHover) {
  389. background-color: var(--contrast-background-color-active);
  390. color: var(--font-color-light);
  391. }
  392. .dropdown-menu .item > label {
  393. padding: 0;
  394. }
  395. .dropdown-menu > .item:hover > a > .icon,
  396. .dropdown-menu .item.dropdown-section .item:hover .icon {
  397. filter: grayscale(100%) brightness(2.5);
  398. }
  399. .dropdown-menu > .item[aria-checked="true"] > a::before {
  400. font-weight: bold;
  401. margin: 0 0 0 -14px;
  402. }
  403. .dropdown-menu .input select,
  404. .dropdown-menu .input input {
  405. margin: 0 auto 5px;
  406. padding: 2px 5px;
  407. border-radius: 3px;
  408. }
  409. .dropdown-menu input[type="checkbox"] {
  410. margin-left: 1rem;
  411. }
  412. .dropdown-menu .item .emptyLabels {
  413. padding-left: 1rem;
  414. padding-right: 1rem;
  415. }
  416. .item ~ .dropdown-header,
  417. .dropdown-section ~ .dropdown-section,
  418. .item.separator {
  419. border-top-color: var(--border-color);
  420. }
  421. /*=== Alerts */
  422. .alert {
  423. background-color: var(--background-color-grey);
  424. color: var(--font-color-grey);
  425. font-size: 0.9em;
  426. border: 1px solid var(--border-color);
  427. border-right: 1px solid var(--border-color-shadow-side);
  428. border-bottom: 1px solid var(--border-color-shadow-side);
  429. border-radius: 5px;
  430. }
  431. .alert-head {
  432. font-size: 1.15em;
  433. }
  434. .alert > a {
  435. color: inherit;
  436. text-decoration: underline;
  437. }
  438. .alert-warn {
  439. background-color: var(--alert-warn-background-color);
  440. color: var(--alert-warn-font-color);
  441. border: 1px solid var(--alert-warn-border-color);
  442. }
  443. .alert-success {
  444. background-color: var(--alert-success-background-color);
  445. color: var(--alert-success-font-color);
  446. border: 1px solid var(--alert-success-border-color);
  447. }
  448. .alert-error {
  449. background-color: var(--alert-error-background-color);
  450. color: var(--alert-error-font-color);
  451. border: 1px solid var(--alert-error-boder-color);
  452. }
  453. .alert-error a {
  454. color: var(--alert-error-font-color);
  455. font-weight: bold;
  456. }
  457. /*=== Pagination */
  458. .pagination {
  459. background-color: var(--background-color-light);
  460. color: var(--font-color-grey);
  461. }
  462. .pagination .item a:hover {
  463. background-color: var(--background-color-hover);
  464. }
  465. .pagination:first-child .item {
  466. border-bottom: 1px solid var(--border-color);
  467. }
  468. .pagination:last-child .item {
  469. border-top: 1px solid var(--border-color);
  470. }
  471. /*=== Boxes */
  472. .box {
  473. background-color: var(--background-color-light);
  474. border-radius: 5px;
  475. box-shadow: 0 0 3px var(--box-shadow-color);
  476. }
  477. .box .box-title {
  478. background-color: var(--background-color-grey);
  479. border-bottom: 1px solid var(--border-color);
  480. border-radius: 5px 5px 0 0;
  481. }
  482. .box .box-title .configure {
  483. margin-right: 4px;
  484. }
  485. .box .box-content .item {
  486. padding-bottom: 0.25rem;
  487. }
  488. /*=== Tree */
  489. .tree {
  490. margin: 10px 0;
  491. }
  492. .tree-folder-title {
  493. position: relative;
  494. padding-left: 0.75rem;
  495. padding-right: 0.75rem;
  496. background-color: var(--background-color-light);
  497. font-size: 1rem;
  498. }
  499. .aside_feed .tree-folder.all .tree-folder-title .title,
  500. .aside_feed .tree-folder.important .tree-folder-title .title,
  501. .aside_feed .tree-folder.favorites .tree-folder-title .title {
  502. margin-left: 0.25rem;
  503. }
  504. .aside_feed .tree-folder-title button.dropdown-toggle {
  505. margin: -0.75rem 0.25rem -0.75rem -0.75rem;
  506. padding: 0.75rem 0 0.75rem 0.75rem;
  507. }
  508. .aside_feed .tree-folder-title:hover button.dropdown-toggle .icon {
  509. filter: none;
  510. }
  511. .aside_feed .tree-folder-title button.dropdown-toggle:hover .icon {
  512. filter: brightness(1.5);
  513. transition: 0.1s linear;
  514. }
  515. .tree-folder-title .title {
  516. background: inherit;
  517. color: var(--font-color);
  518. }
  519. .tree-folder-title:hover {
  520. background-color: var(--background-color-hover);
  521. }
  522. .tree-folder-title .title:hover {
  523. text-decoration: none;
  524. }
  525. .tree-folder.active .tree-folder-title {
  526. background-color: var(--background-color-grey);
  527. font-weight: bold;
  528. }
  529. .tree-folder.active .tree-folder-title .title {
  530. color: var(--font-color-link);
  531. }
  532. .tree-folder-items {
  533. background-color: var(--background-color-light-shadowed);
  534. border-top: 1px solid var(--border-color);
  535. border-bottom: 1px solid var(--border-color);
  536. }
  537. .tree-folder-items > .item {
  538. line-height: 1.7;
  539. font-size: 0.8rem;
  540. }
  541. .tree-folder-items .item:hover {
  542. background-color: var(--background-color-light);
  543. }
  544. .tree-folder-items > .item.active {
  545. background-color: var(--contrast-background-color-active);
  546. }
  547. .tree-folder-items > .item.active .icon {
  548. filter: brightness(3);
  549. }
  550. .tree-folder-items > .item > a {
  551. text-decoration: none;
  552. }
  553. .tree-folder-items > .item.active > a {
  554. color: var(--font-color-light);
  555. }
  556. /*=== STRUCTURE */
  557. /*===============*/
  558. /*=== Header */
  559. .header {
  560. background-color: var(--background-color-grey);
  561. }
  562. .header > .item {
  563. border-bottom: 1px solid var(--border-color);
  564. vertical-align: middle;
  565. text-align: center;
  566. }
  567. .header > .item.title {
  568. width: 300px;
  569. }
  570. .header > .item.title a:hover .logo {
  571. filter: brightness(1.4);
  572. }
  573. .header > .item.search input {
  574. width: 350px;
  575. }
  576. /*=== Body */
  577. .aside {
  578. background-color: var(--background-color-light);
  579. border-right: 1px solid var(--border-color);
  580. }
  581. .aside.aside_feed {
  582. padding: 0.5rem 0;
  583. text-align: center;
  584. background-color: var(--background-color-light);
  585. }
  586. .aside.aside_feed .tree {
  587. margin: 10px 0 50px;
  588. }
  589. /*=== Aside main page (categories) */
  590. .aside.aside_feed .category .title:not([data-unread="0"])::after,
  591. .global .box.category .title:not([data-unread="0"])::after,
  592. .global .feed .item-title:not([data-unread="0"])::after {
  593. background-color: var(--background-color-light-shadowed);
  594. color: var(--font-color-grey);
  595. }
  596. .aside.aside_feed .category .tree-folder-title:hover .title:not([data-unread="0"])::after {
  597. background-color: var(--background-color-light);
  598. }
  599. .aside.aside_feed .feed .item-title:not([data-unread="0"])::after {
  600. background-color: var(--background-color-light);
  601. color: var(--font-color-grey);
  602. }
  603. .aside.aside_feed .feed:hover .item-title:not([data-unread="0"])::after {
  604. background-color: var(--background-color-light-shadowed);
  605. }
  606. /*=== Aside main page (feeds) */
  607. .feed.item.empty.active {
  608. background-color: var(--empty-feed-color);
  609. }
  610. .feed.item.error.active {
  611. background-color: var(--error-feed-color);
  612. }
  613. .feed.item.empty,
  614. .feed.item.empty > a {
  615. color: var(--empty-feed-color);
  616. }
  617. .feed.item.error,
  618. .feed.item.error > a {
  619. color: var(--error-feed-color);
  620. }
  621. .feed.item.empty.active,
  622. .feed.item.error.active,
  623. .feed.item.empty.active > a,
  624. .feed.item.error.active > a {
  625. color: var(--font-color-light);
  626. }
  627. .aside_feed .tree-folder-items .dropdown-menu::after {
  628. left: 2px;
  629. }
  630. /*=== Prompt (centered) */
  631. .prompt .form-group {
  632. margin-bottom: 1rem;
  633. }
  634. .prompt .form-group::after {
  635. display: none;
  636. }
  637. .prompt .form-group.form-group-actions {
  638. display: flex;
  639. margin-top: 2rem;
  640. align-items: center;
  641. justify-content: space-between;
  642. }
  643. .prompt .btn.btn-important {
  644. padding-left: 1.5rem;
  645. padding-right: 1.5rem;
  646. font-size: 1.1rem;
  647. }
  648. /*=== New article notification */
  649. #new-article {
  650. background-color: var(--contrast-background-color);
  651. text-align: center;
  652. font-size: 0.9em;
  653. }
  654. #new-article > a {
  655. color: var(--font-color-light);
  656. font-weight: bold;
  657. }
  658. #new-article > a:hover {
  659. text-decoration: none;
  660. background-color: var(--contrast-background-color-hover);
  661. }
  662. /*=== Day indication */
  663. .day {
  664. padding: 0 10px;
  665. font-weight: bold;
  666. line-height: 3;
  667. background-color: var(--background-color-light);
  668. border-top: 1px solid var(--border-color);
  669. }
  670. .day span {
  671. line-height: 1.5;
  672. }
  673. #new-article + .day {
  674. border-top: none;
  675. }
  676. .day .name {
  677. padding: 0 10px 0 0;
  678. color: var(--font-color-light-shadowed);
  679. font-size: 1.8em;
  680. opacity: 0.3;
  681. text-shadow: 0px -1px 0px var(--text-shadow-color-dark);
  682. font-style: italic;
  683. text-align: right;
  684. }
  685. /*=== Index menu */
  686. .nav_menu {
  687. background-color: var(--background-color-light-shadowed);
  688. border-bottom: 1px solid var(--border-color);
  689. }
  690. /*=== Feed articles */
  691. .flux {
  692. background-color: var(--background-color-light);
  693. border-left: 2px solid transparent;
  694. }
  695. .flux.current {
  696. background-color: var(--background-color-light);
  697. border-left: 2px solid var(--contrast-border-color-active);
  698. }
  699. .flux .flux_header:hover {
  700. background-color: var(--background-color-hover);
  701. }
  702. .flux .flux_header:not(.current):hover .flux_header,
  703. .flux:not(.current):hover .flux_header .title,
  704. .flux.current .flux_header {
  705. background-color: var(--background-color-hover);
  706. }
  707. .flux.not_read {
  708. border-left: 2px solid var(--unread-article-border-color);
  709. }
  710. .flux.not_read .flux_header {
  711. background-color: var(--unread-article-background-color);
  712. }
  713. .flux.not_read:not(.current):hover .flux_header .title,
  714. .flux.not_read:not(.current):hover .flux_header,
  715. .flux.not_read.current .flux_header {
  716. background-color: var(--unread-article-background-color-hover);
  717. }
  718. .flux.favorite {
  719. border-left: 2px solid var(--favorite-article-border-color);
  720. }
  721. .flux.favorite:not(.current) .flux_header {
  722. background-color: var(--favorite-article-background-color);
  723. }
  724. .flux.favorite:not(.current):hover .flux_header .title,
  725. .flux.favorite:not(.current):hover .flux_header,
  726. .flux.favorite.current .flux_header {
  727. background-color: var(--favorite-article-background-color-hover);
  728. }
  729. .flux_header {
  730. font-size: 0.9rem;
  731. border-top: 1px solid var(--border-color);
  732. cursor: pointer;
  733. }
  734. .flux .item .date {
  735. color: var(--font-color-grey);
  736. font-size: 0.7rem;
  737. }
  738. .flux .bottom {
  739. font-size: 0.8rem;
  740. text-align: center;
  741. }
  742. /*=== Content of feed articles */
  743. .content h1.title > a {
  744. color: var(--font-color);
  745. }
  746. .content hr {
  747. margin: 30px 10px;
  748. background-color: var(--background-color-grey);
  749. height: 1px;
  750. border: 0;
  751. box-shadow: 0 2px 5px var(--box-shadow-color);
  752. }
  753. .content pre {
  754. border: 1px solid var(--border-color);
  755. border-radius: 3px;
  756. }
  757. .content code {
  758. background-color: var(--background-color-light-shadowed);
  759. color: var(--error-feed-color);
  760. border-color: var(--border-color);
  761. border-radius: 3px;
  762. }
  763. .content blockquote {
  764. margin: 0;
  765. padding: 5px 20px;
  766. background-color: var(--background-color-light-shadowed);
  767. display: block;
  768. color: var(--font-color-grey);
  769. border-top: 1px solid var(--border-color);
  770. border-bottom: 1px solid var(--border-color);
  771. }
  772. .content blockquote p {
  773. margin: 0;
  774. }
  775. #stream-footer {
  776. border-top-color: var(--border-color);
  777. }
  778. /*=== Notification and actualize notification */
  779. .notification {
  780. font-size: 0.9em;
  781. border: 1px solid var(--notification-good-border-color);
  782. border-radius: 3px;
  783. box-shadow: 0 0 5px var(--box-shadow-color);
  784. text-align: center;
  785. font-weight: bold;
  786. vertical-align: middle;
  787. }
  788. .notification.good {
  789. background-color: var(--notification-good-background-color);
  790. color: var(--notification-good-font-color);
  791. border: 1px solid var(--notification-good-border-color);
  792. }
  793. .notification.bad {
  794. background-color: var(--notification-bad-background-color);
  795. color: var(--notification-bad-font-color);
  796. border: 1px solid var(--notification-bad-border-color);
  797. }
  798. .notification .close:hover {
  799. background-color: var(--notification-close-background-color-hover);
  800. }
  801. .notification .close .icon {
  802. filter: brightness(1.5);
  803. }
  804. .notification .close:hover .icon {
  805. filter: brightness(0.5);
  806. }
  807. .notification#actualizeProgress {
  808. line-height: 2em;
  809. }
  810. /*=== "Load more" part */
  811. #bigMarkAsRead.big {
  812. color: var(--font-color-grey);
  813. text-align: center;
  814. text-decoration: none;
  815. text-shadow: 0 -1px 0 var(--text-shadow-color);
  816. }
  817. #bigMarkAsRead:hover {
  818. background-color: var(--background-color-hover);
  819. color: var(--contrast-border-color-active);
  820. box-shadow: 0 -5px 10px var(--box-shadow-color-inset) inset;
  821. }
  822. #bigMarkAsRead:hover .bigTick {
  823. text-shadow: 0 0 5px var(--text-shadow-color);
  824. }
  825. /*=== Navigation menu (for articles) */
  826. #nav_entries {
  827. background-color: var(--background-color-light);
  828. border-top: 1px solid var(--border-color);
  829. }
  830. /*=== READER VIEW */
  831. /*================*/
  832. #stream.reader .flux {
  833. background-color: var(--background-color-grey);
  834. border: none;
  835. }
  836. #stream.reader .flux .flux_content {
  837. background-color: var(--background-color-light);
  838. border-color: var(--border-color);
  839. }
  840. #stream.reader .flux .author {
  841. color: var(--font-color-grey);
  842. }
  843. /*=== GLOBAL VIEW */
  844. /*================*/
  845. .box.category:not([data-unread="0"]) .box-title {
  846. background-color: var(--contrast-background-color);
  847. }
  848. .box.category .box-title .title {
  849. display: block;
  850. font-weight: normal;
  851. }
  852. .box.category:not([data-unread="0"]) .box-title .title {
  853. color: var(--font-color-light);
  854. font-weight: bold;
  855. }
  856. .box.category .title:not([data-unread="0"])::after {
  857. background: none;
  858. color: var(--font-color-light);
  859. border: 0;
  860. box-shadow: none;
  861. position: absolute;
  862. top: 5px; right: 10px;
  863. font-weight: bold;
  864. text-shadow: none;
  865. }
  866. /*=== DIVERS */
  867. /*===========*/
  868. .aside.aside_feed .nav-form input,
  869. .aside.aside_feed .nav-form select {
  870. width: 140px;
  871. }
  872. .aside.aside_feed .nav-form .dropdown .dropdown-menu {
  873. right: -20px;
  874. }
  875. .aside.aside_feed .nav-form .dropdown .dropdown-menu::after {
  876. right: 33px;
  877. }
  878. /*=== STATISTICS */
  879. /*===============*/
  880. .stat {
  881. margin: 10px 0 20px;
  882. }
  883. .stat th,
  884. .stat td,
  885. .stat tr {
  886. border: none;
  887. }
  888. .stat > table td,
  889. .stat > table th {
  890. border-bottom: 1px solid var(--border-color);
  891. }
  892. /*=== LOGS */
  893. /*=========*/
  894. .pagination .item.active {
  895. background-color: var(--contrast-background-color-active);
  896. color: white;
  897. }
  898. #loglist td {
  899. font-family: monospace;
  900. }
  901. /*=== MOBILE */
  902. /*===========*/
  903. @media (max-width: 840px) {
  904. .header > .item {
  905. padding: 0.5rem 1rem;
  906. }
  907. .header > .item.title {
  908. width: 75%;
  909. text-align: left;
  910. }
  911. .header > .item.configure {
  912. width: 25%;
  913. text-align: right;
  914. }
  915. .form-group .group-name {
  916. padding-bottom: 0;
  917. }
  918. .aside {
  919. transition: width 200ms linear;
  920. }
  921. .aside:target {
  922. box-shadow: 3px 0 3px var(--text-shadow-color);
  923. }
  924. .aside .toggle_aside,
  925. #overlay .close,
  926. .dropdown-menu .toggle_aside,
  927. #slider .toggle_aside {
  928. background-color: var(--background-color-light-shadowed);
  929. border-bottom: 1px solid var(--border-color);
  930. }
  931. .aside.aside_feed {
  932. padding: 0;
  933. }
  934. .post {
  935. padding-left: 1rem;
  936. padding-right: 1rem;
  937. }
  938. .nav_menu .btn {
  939. margin: 5px 10px;
  940. padding: 3px 5px;
  941. min-height: 0;
  942. }
  943. .nav_menu .stick,
  944. .nav_menu .group {
  945. margin: 0 10px;
  946. }
  947. .nav_menu .stick .btn,
  948. .nav_menu .group .btn {
  949. margin: 5px 0;
  950. }
  951. .dropdown-target:target ~ .dropdown-toggle::after {
  952. background-color: var(--background-color-light);
  953. border-top: 1px solid var(--border-color);
  954. border-left: 1px solid var(--border-color);
  955. }
  956. .dropdown-menu .dropdown-section:last-child {
  957. margin-bottom: 3rem;
  958. }
  959. #nav_menu_read_all .btn {
  960. border-left: 1px solid var(--border-color-shadow-side);
  961. border-radius: 3px;
  962. }
  963. #overlay {
  964. background-color: var(--background-color-light);
  965. }
  966. .form-group.form-actions {
  967. margin-left: -15px;
  968. margin-right: -15px;
  969. padding-left: 15px;
  970. padding-right: 15px;
  971. }
  972. .day .name {
  973. font-size: 1.1rem;
  974. text-shadow: none;
  975. }
  976. .notification .close {
  977. background-color: transparent;
  978. display: block;
  979. left: 0;
  980. }
  981. .notification .close:hover {
  982. opacity: 0.5;
  983. }
  984. .notification .close .icon {
  985. display: none;
  986. }
  987. }
  988. @media screen and (prefers-color-scheme: dark) {
  989. :root.darkMode_auto {
  990. --frss-background-color: #000;
  991. --frss-background-color-middle: #222;
  992. --frss-border-color: #444;
  993. --frss-font-color-grey-dark: #999;
  994. --frss-font-color-dark: #ddd;
  995. --frss-modal-background-color-transparent: #000000a3;
  996. --frss-background-color-transparent: #000000a3;
  997. --frss-scrollbar-handle: #fff1;
  998. --frss-scrollbar-handle-hover: #fff4;
  999. --frss-font-color-grey-light: #555;
  1000. --background-color-light-gradient1: #1c1c1c;
  1001. --background-color-light-gradient2: #111;
  1002. --background-color-light: #111;
  1003. --background-color-light-shadowed: #191919;
  1004. --background-color-light-shadowed-transparent: #191919cf;
  1005. --background-color-grey: #1f1f1f;
  1006. --background-color-hover: #212227;
  1007. --unread-article-background-color: #1b1817;
  1008. --unread-article-background-color-hover: #292422;
  1009. --unread-article-border-color: #ff5300;
  1010. --favorite-article-background-color: #24221d;
  1011. --favorite-article-background-color-hover: #302d26;
  1012. --favorite-article-border-color: #ffc300;
  1013. --contrast-background-color: #0084cc;
  1014. --contrast-background-color-gradient: #0045cc;
  1015. --contrast-background-color-hover: #06c;
  1016. --contrast-background-color-active: #038;
  1017. --contrast-border-color: #0062b7;
  1018. --contrast-background-font-color: #eee;
  1019. --attention-background-color-gradient1: #ea4a46;
  1020. --attention-background-color-gradient2: #911811;
  1021. --attention-background-color-gradient1-hover: #d14641;
  1022. --attention-background-color-gradient2-hover: #bd362f;
  1023. --attention-background-color-active: #bd362f;
  1024. --attention-border-color: #c44742;
  1025. --empty-feed-color: #e67e22;
  1026. --error-feed-color: #bd362f;
  1027. --alert-warn-background-color: #ffffe022;
  1028. --alert-warn-font-color: #ccc;
  1029. --alert-warn-border-color: #eeb;
  1030. --alert-success-background-color: #e8ffe814;
  1031. --alert-success-font-color: #96c196;
  1032. --alert-success-border-color: #cec;
  1033. --alert-error-background-color: #fdda;
  1034. --alert-error-font-color: #512b2b;
  1035. --alert-error-boder-color: #ecc;
  1036. --notification-good-background-color: #ffe;
  1037. --notification-good-border-color: #eeb;
  1038. --notification-good-font-color: #916a37;
  1039. --notification-bad-background-color: #fdd;
  1040. --notification-bad-font-color: #643838;
  1041. --notification-bad-border-color: #ecc;
  1042. --notification-close-background-color-hover: #aaa2;
  1043. --font-color: #ccc;
  1044. --font-color-grey: #aaa;
  1045. --font-color-light-shadowed: #555;
  1046. --font-color-light: #ccc;
  1047. --text-shadow-color: #1c1c1c;
  1048. --text-shadow-color-dark: #666;
  1049. --box-shadow-color: #0009;
  1050. --box-shadow-color-inset: #1f1f1f;
  1051. --font-color-link: #467eb3;
  1052. --font-color-link-hover: #0062be;
  1053. --border-color: #222;
  1054. --border-color-shadow-side: #333;
  1055. --contrast-border-color-active: #0062be;
  1056. --form-element-font-color-focus: #b8d0e7;
  1057. --form-element-border-color-focus: #0062be;
  1058. --form-element-focus-box-shadow-color-inset: #110;
  1059. --form-element-border-color-invalid: #f00;
  1060. --form-element-invalid-box-shadow-color-inset: none;
  1061. }
  1062. :root.darkMode_auto .nav_menu .btn {
  1063. color: #777;
  1064. }
  1065. :root.darkMode_auto .nav_menu .btn:hover {
  1066. color: var(--font-color-grey);
  1067. }
  1068. :root.darkMode_auto .nav_menu .btn.active,
  1069. :root.darkMode_auto .nav_menu .btn:active,
  1070. :root.darkMode_auto .nav_menu .dropdown-target:target ~ .btn.dropdown-toggle {
  1071. background: #292929;
  1072. }
  1073. :root.darkMode_auto .dropdown-menu {
  1074. background-color: #0a0a0a;
  1075. }
  1076. :root.darkMode_auto .nav_menu {
  1077. background-color: #141414;
  1078. }
  1079. :root.darkMode_auto .header {
  1080. background-color: var(--background-color-light-shadowed);
  1081. }
  1082. :root.darkMode_auto .btn.active .icon,
  1083. :root.darkMode_auto .btn:active .icon {
  1084. filter: brightness(1.4);
  1085. }
  1086. }