origine.css 27 KB

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