origine.css 24 KB

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