options.css 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308
  1. html.opera {
  2. display: flex;
  3. align-items: center;
  4. justify-content: center;
  5. height: 100%;
  6. }
  7. html.opera body {
  8. width: auto;
  9. }
  10. html.firefox .block {
  11. padding-left: 6px;
  12. }
  13. html.firefox #notes {
  14. padding-left: calc(6px + 2ex);
  15. }
  16. body {
  17. background: #fff;
  18. margin: 0;
  19. font-family: "Helvetica Neue", Helvetica, sans-serif;
  20. font-size: 12px;
  21. width: 480px;
  22. min-width: 400px;
  23. max-width: 800px;
  24. }
  25. @media (min-width: 401px) {
  26. .firefox body {
  27. width: calc(100% - 6px); /* TODO: rework to avoid compensating padding of 'html.firefox .block' */
  28. }
  29. }
  30. .firefox body {
  31. /* match the default FF theme */
  32. background-color: #f9f9fa;
  33. }
  34. .firefox .chromium-only {
  35. display: none;
  36. }
  37. .block {
  38. display: flex;
  39. align-items: center;
  40. margin: 1em 0;
  41. border-bottom: 1px dotted #ccc;
  42. padding: 0 16px .75em;
  43. position: relative;
  44. }
  45. .block:last-child {
  46. border-bottom: none;
  47. padding-bottom: 0;
  48. }
  49. .collapsed, .collapsible h1 {
  50. cursor: pointer;
  51. }
  52. .collapsed .items {
  53. display: none;
  54. }
  55. h1 {
  56. width: 30%;
  57. margin: 0;
  58. font-size: 120%;
  59. font-weight: bold;
  60. padding-right: 8px;
  61. box-sizing: border-box;
  62. overflow-wrap: break-word;
  63. }
  64. .items {
  65. width: 70%;
  66. }
  67. label {
  68. display: flex;
  69. margin: .25ex 0;
  70. align-items: center;
  71. }
  72. label > :first-child {
  73. margin-right: 8px;
  74. flex-grow: 1;
  75. }
  76. label:not([disabled]) > :first-child {
  77. cursor: default;
  78. }
  79. label:not([disabled]):hover > :first-child {
  80. text-shadow: 0 0 0.01px rgba(0, 0, 0, .25);
  81. cursor: pointer;
  82. }
  83. button,
  84. input[type=number],
  85. input[type="color"],
  86. select,
  87. .onoffswitch {
  88. width: 60px;
  89. box-sizing: border-box;
  90. flex-shrink: 0;
  91. }
  92. a {
  93. text-decoration-skip: ink;
  94. }
  95. button {
  96. text-align: center;
  97. }
  98. input[type=number] {
  99. text-align: right;
  100. }
  101. input[type=number]:invalid {
  102. background-color: rgba(255, 0, 0, 0.1);
  103. color: darkred;
  104. }
  105. input[type="color"] {
  106. box-sizing: border-box;
  107. height: 2em;
  108. }
  109. .iconset {
  110. display: flex;
  111. }
  112. .iconset input {
  113. display: block;
  114. }
  115. .iconset input[type="radio"] {
  116. margin: 2px 4px 0 0;
  117. }
  118. #actions {
  119. justify-content: space-around;
  120. align-items: stretch;
  121. padding-right: 8px;
  122. }
  123. #actions button {
  124. width: auto;
  125. margin-right: 8px;
  126. }
  127. [data-cmd="check-updates"] button {
  128. position: relative;
  129. }
  130. .update-in-progress [data-cmd="check-updates"] {
  131. opacity: .5;
  132. pointer-events: none;
  133. }
  134. .update-in-progress #update-progress {
  135. position: absolute;
  136. top: 0;
  137. left: 0;
  138. bottom: 0;
  139. background-color: currentColor;
  140. content: "";
  141. opacity: .35;
  142. }
  143. #updates-installed {
  144. position: absolute;
  145. font-size: 85%;
  146. margin-top: 1px;
  147. }
  148. #updates-installed::after {
  149. content: attr(data-value);
  150. margin-left: .5ex;
  151. font-weight: bold;
  152. }
  153. #updates-installed:not([data-value]),
  154. #updates-installed[data-value=""] {
  155. display: none;
  156. }
  157. #advanced.collapsible.collapsed {
  158. height: 40px;
  159. padding: 0;
  160. margin: 0;
  161. justify-content: center;
  162. }
  163. html:not(.firefox):not(.opera) #options > .block:nth-last-of-type(3) {
  164. margin-bottom: 0;
  165. }
  166. #advanced.collapsible:not(.collapsed) .collapsible-resizer,
  167. #advanced:not(.collapsible) .collapsible-resizer {
  168. padding-right: 8px;
  169. box-sizing: border-box;
  170. width: 30%;
  171. }
  172. #advanced.collapsible h1 {
  173. width: unset;
  174. padding: 0;
  175. color: #333;
  176. transition: color .5s;
  177. display: inline-flex;
  178. align-items: center;
  179. }
  180. #advanced:not(.collapsible) .collapsible-resizer h1 {
  181. width: unset;
  182. padding: 0;
  183. display: inline-flex;
  184. }
  185. #advanced.collapsible:not(.collapsed) h1:hover {
  186. color: #666;
  187. }
  188. #advanced.collapsible.collapsed h1 {
  189. padding: 0;
  190. color: #666;
  191. }
  192. #advanced.collapsible.collapsed:hover h1 {
  193. color: #333;
  194. }
  195. #advanced.collapsible .svg-icon {
  196. fill: #333;
  197. transition: fill .5s;
  198. height: 16px;
  199. width: 16px;
  200. }
  201. #advanced.collapsible.collapsed .svg-icon,
  202. #advanced.collapsible:not(.collapsed) h1:hover .svg-icon {
  203. fill: #666;
  204. }
  205. #advanced.collapsible.collapsed:hover .svg-icon {
  206. fill: #333;
  207. }
  208. #advanced.collapsible h1 .svg-icon {
  209. margin-left: 2px;
  210. }
  211. #advanced.collapsible.collapsed .is-expanded,
  212. #advanced:not(.collapsible) .svg-icon {
  213. display: none;
  214. }
  215. #advanced.collapsible:not(.collapsed) .is-collapsed {
  216. display: none;
  217. }
  218. #notes {
  219. background-color: #f4f4f4;
  220. padding: 1.5ex 16px 1ex calc(16px + 2ex);
  221. font-size: 90%;
  222. color: #777;
  223. }
  224. #notes ol {
  225. margin: 0;
  226. padding: 0;
  227. }
  228. #notes li:not(last-child) {
  229. margin-bottom: 1ex;
  230. }
  231. #notes a {
  232. color: inherit;
  233. }
  234. #notes a:hover {
  235. color: black;
  236. }
  237. #notes p {
  238. line-height: 1.25;
  239. margin-top: 1ex;
  240. margin-bottom: 1ex;
  241. }
  242. sup {
  243. vertical-align: baseline;
  244. position: relative;
  245. top: -0.4em;
  246. }
  247. @keyframes fadeinout {
  248. 0% { opacity: 0 }
  249. 10% { opacity: 1 }
  250. 25% { opacity: 1 }
  251. 100% { opacity: 0 }
  252. }