origine.css 28 KB

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