manage.css 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167
  1. :root {
  2. --header-width: 280px;
  3. --name-padding-left: 20px;
  4. --name-padding-right: 40px;
  5. --actions-width: 75px;
  6. }
  7. body {
  8. margin: 0;
  9. /* Firefox: fill the entire page for drag'n'drop to work */
  10. display: flex;
  11. height: 100%;
  12. }
  13. #header:lang(ja) h1 {
  14. font-weight: normal;
  15. }
  16. body.all-styles-hidden-by-filters::before,
  17. body.all-styles-hidden-by-filters::after {
  18. position: absolute;
  19. left: calc(3rem + var(--header-width));
  20. color: hsla(180, 40%, 45%, .3);
  21. animation: fadein 3s;
  22. }
  23. body.all-styles-hidden-by-filters:before {
  24. content: "\2190"; /* left arrow */
  25. font-size: 3rem;
  26. top: 3.5rem;
  27. }
  28. body.all-styles-hidden-by-filters::after {
  29. content: var(--filteredStylesAllHidden);
  30. font-size: 1.5rem;
  31. position: absolute;
  32. top: 3rem;
  33. }
  34. a, .disabled a:hover {
  35. color: #000;
  36. transition: color .5s;
  37. }
  38. a:hover {
  39. color: #666;
  40. }
  41. #header {
  42. width: var(--header-width);
  43. height: 100vh;
  44. position: fixed;
  45. top: 0;
  46. padding: 1rem;
  47. border-right: 1px dashed #AAA;
  48. box-shadow: 0 0 50px -18px black;
  49. overflow: auto;
  50. box-sizing: border-box;
  51. z-index: 9;
  52. }
  53. #update-check,
  54. #update-all {
  55. margin-bottom: .5rem;
  56. }
  57. #check-all-updates {
  58. max-width: calc(100% - 30px);
  59. }
  60. #check-all-updates-force {
  61. white-space: normal;
  62. text-align: left;
  63. }
  64. #header h1 {
  65. margin-top: 0;
  66. margin-bottom: .3em;
  67. }
  68. #header a[href^="edit"] {
  69. text-decoration: none;
  70. margin-right: 8px;
  71. }
  72. #add-style-wrapper {
  73. display: flex;
  74. align-items: center;
  75. flex-wrap: wrap;
  76. }
  77. #add-style-wrapper > * {
  78. /* in case the children are wrapped */
  79. margin-bottom: .5rem;
  80. }
  81. #add-style-as-usercss-wrapper {
  82. display: flex;
  83. align-items: center;
  84. }
  85. #add-style-as-usercss-wrapper:not(:hover) input:not(:checked) ~ a svg {
  86. fill: #aaa;
  87. }
  88. #add-style-as-usercss-wrapper input {
  89. bottom: 0;
  90. margin: auto;
  91. }
  92. #add-style-as-usercss-wrapper input + svg {
  93. bottom: 0;
  94. margin: auto;
  95. left: 2px;
  96. }
  97. #installed {
  98. position: relative;
  99. padding-left: var(--header-width);
  100. box-sizing: border-box;
  101. width: 100%;
  102. align-self: start;
  103. }
  104. .entry {
  105. margin: 0;
  106. padding: 1.25em 2em;
  107. border-top: 1px solid #ddd;
  108. }
  109. .entry:first-child {
  110. border-top: none;
  111. }
  112. .homepage {
  113. margin-left: 0.25em;
  114. margin-right: 0.1em;
  115. }
  116. .homepage[href=""] {
  117. display: none;
  118. }
  119. .homepage .svg-icon {
  120. margin-top: 0;
  121. }
  122. .style-name {
  123. margin-top: .25em;
  124. overflow-wrap: break-word;
  125. }
  126. .style-name a, .style-edit-link {
  127. text-decoration: none;
  128. }
  129. .applies-to {
  130. overflow-wrap: break-word;
  131. }
  132. .applies-to,
  133. .actions {
  134. padding-left: 15px;
  135. margin-bottom: 0;
  136. }
  137. .actions {
  138. display: flex;
  139. flex-wrap: wrap;
  140. align-items: center;
  141. }
  142. .actions > * {
  143. margin-bottom: .25rem;
  144. display: inline-block;
  145. }
  146. .actions > *:not(:last-child) {
  147. margin-right: .25rem;
  148. }
  149. .applies-to label {
  150. margin-right: .5ex;
  151. }
  152. .applies-to .target:hover {
  153. background-color: rgba(128, 128, 128, .15);
  154. }
  155. .applies-to-extra:not([open]) {
  156. display: inline;
  157. margin-left: 1ex;
  158. }
  159. .applies-to-extra-expander {
  160. font-weight: bold;
  161. cursor: pointer;
  162. }
  163. .applies-to-extra-expander {
  164. list-style-type: none; /* for FF, allegedly */
  165. }
  166. .applies-to-extra-expander::-webkit-details-marker {
  167. display: none;
  168. }
  169. .oldUI .disabled h2::after,
  170. .entry.usercss .style-name-link::after {
  171. font-size: 11px;
  172. border-radius: 4px;
  173. margin-left: 1ex;
  174. white-space: nowrap;
  175. content: "UC";
  176. background-color: hsla(180, 35%, 50%, .35);
  177. padding: 2px 3px;
  178. color: #000;
  179. }
  180. .oldUI .disabled h2::after {
  181. content: var(--genericDisabledLabel);
  182. text-transform: lowercase;
  183. font-weight: normal;
  184. background: rgba(128, 128, 128, .2);
  185. padding: 2px 5px 3px;
  186. vertical-align: middle;
  187. }
  188. .oldUI .entry.usercss .style-name-link::after {
  189. content: "usercss";
  190. font-weight: normal;
  191. vertical-align: middle;
  192. }
  193. .disabled h2 .style-name-link,
  194. .disabled .applies-to,
  195. .newUI .disabled.entry .svg-icon {
  196. color: #888;
  197. fill: #c4c4c4;
  198. font-weight: normal;
  199. transition: color .5s .1s, fill .5s .1s;
  200. }
  201. .disabled.usercss .style-name-link::after {
  202. background-color: hsla(180, 35%, 50%, .2);
  203. }
  204. .disabled:hover .actions {
  205. opacity: 1;
  206. }
  207. .disabled .disable {
  208. display: none;
  209. }
  210. .enabled .enable {
  211. display: none;
  212. }
  213. /* collapsibles */
  214. #add-style-wrapper {
  215. margin-bottom: 0;
  216. }
  217. #backup-buttons {
  218. display: flex;
  219. flex-wrap: wrap;
  220. margin-top: .5rem;
  221. }
  222. #backup-buttons button {
  223. margin: 0 .2rem .5rem 0;
  224. }
  225. #header details:not([open]),
  226. #header details:not([open]) h2 {
  227. padding-bottom: 0;
  228. }
  229. #header details[open] summary {
  230. padding-bottom: .5rem;
  231. }
  232. #header summary {
  233. margin-top: .25rem;
  234. align-items: center;
  235. margin-left: -13px;
  236. cursor: pointer;
  237. }
  238. #header #filters summary {
  239. margin: 0 0 -2px -13px;
  240. }
  241. #header #filters summary h2 {
  242. margin-left: -4px;
  243. }
  244. #header summary h2 {
  245. display: inline-flex;
  246. flex-wrap: wrap;
  247. border-bottom: 1px dotted transparent;
  248. margin-top: .1em;
  249. margin-bottom: .1em;
  250. }
  251. #header summary:hover h2 {
  252. border-color: #bbb;
  253. }
  254. /* compact layout */
  255. .newUI #installed {
  256. display: table;
  257. margin-top: .75rem;
  258. margin-bottom: .75rem;
  259. }
  260. .newUI .entry {
  261. display: table-row;
  262. padding-top: 0;
  263. padding-bottom: 0;
  264. }
  265. .newUI .entry.odd {
  266. background-color: rgba(128, 128, 128, 0.05);
  267. }
  268. .newUI .entry > * {
  269. padding: .5rem 0;
  270. margin: 0;
  271. display: table-cell;
  272. vertical-align: middle;
  273. }
  274. .newUI .entry .actions {
  275. position: relative;
  276. }
  277. .style-info[data-type=version] {
  278. color: #666;
  279. padding-left: .5em;
  280. font-weight: normal;
  281. }
  282. .newUI .style-info[data-type=version][data-is-date],
  283. .newUI .style-info[data-type=version][data-value=""],
  284. .newUI .style-info[data-type=version][data-value="1.0.0"] {
  285. display: none;
  286. }
  287. .newUI .entry .style-info[data-type=age] {
  288. color: #999;
  289. text-align: right;
  290. padding-right: 1em;
  291. }
  292. /************ checkbox & select************/
  293. #newUIoptions > div, #newUIoptions > label {
  294. margin: 4px 0;
  295. }
  296. .filter-selection {
  297. position: relative;
  298. left: -9px;
  299. }
  300. #header label {
  301. padding-left: 16px;
  302. position: relative;
  303. white-space: nowrap;
  304. }
  305. #header .filter-selection label {
  306. display: flex;
  307. box-sizing: border-box;
  308. align-items: center;
  309. height: 18px;
  310. padding: 0 0 0 8px;
  311. }
  312. #header .filter-selection label .checkmate {
  313. vertical-align: middle;
  314. margin-top: -2px;
  315. }
  316. .newUI #newUIoptions > label {
  317. padding-left: 0;
  318. }
  319. .filter-selection select {
  320. height: 18px;
  321. border: none;
  322. max-width: 100%;
  323. padding-left: 4px;
  324. padding-right: 14px;
  325. }
  326. .filter-selection .select-arrow {
  327. margin-top: 2px;
  328. top: 0;
  329. right: 0;
  330. }
  331. .select-resizer {
  332. cursor: default;
  333. border: none;
  334. max-width: calc(100% - 2em);
  335. position: absolute;
  336. top: 0;
  337. left: 20px;
  338. }
  339. #filters label,
  340. #filters .filter-selection {
  341. transition: background-color .25s;
  342. }
  343. #filters label:hover,
  344. #filters .filter-selection:hover {
  345. background-color: hsla(0, 0%, 50%, .2);
  346. }
  347. .checkmate {
  348. position: relative;
  349. height: 12px;
  350. width: 12px;
  351. display: inline-flex;
  352. }
  353. .entry .checkmate {
  354. vertical-align: middle;
  355. margin: -2px 1ex 0 0;
  356. }
  357. #manage-text {
  358. display: flex;
  359. flex-wrap: wrap;
  360. padding-top: .35rem;
  361. }
  362. #manage-text > * {
  363. display: flex;
  364. align-items: center;
  365. }
  366. #manage-text > :not(:last-child):after {
  367. content: "|";
  368. margin: 0 .5em;
  369. }
  370. .newUI .entry .svg-icon.checked,
  371. .newUI .entry:hover .svg-icon.checked {
  372. fill: #000;
  373. }
  374. .newUI .entry input[type="checkbox"]:not(.slider) {
  375. pointer-events: all;
  376. }
  377. .newUI .style-name {
  378. font-size: 14px;
  379. padding-left: var(--name-padding-left);
  380. padding-right: var(--name-padding-right);
  381. position: relative;
  382. cursor: pointer;
  383. }
  384. .newUI .entry .style-name:hover::before {
  385. content: "";
  386. position: absolute;
  387. top: 0;
  388. left: 0;
  389. right: 0;
  390. bottom: 0;
  391. background: linear-gradient(to right, hsla(180, 50%, 30%, 0.2), hsla(180, 20%, 10%, 0.05) 50%, transparent);
  392. pointer-events: none;
  393. }
  394. .newUI .entry.enabled .style-name:hover .style-name-link {
  395. color: hsla(180, 100%, 15%, 1);
  396. }
  397. .newUI .style-name:after {
  398. text-indent: 1.2rem;
  399. }
  400. .newUI .actions:after {
  401. text-indent: -25px;
  402. }
  403. .newUI .actions .homepage[href=""] {
  404. display: inline-block;
  405. visibility: hidden;
  406. height: 0;
  407. }
  408. .newUI .actions {
  409. width: var(--actions-width);
  410. height: 20px;
  411. white-space: nowrap;
  412. }
  413. .newUI .actions > * {
  414. margin: 0 6px 0 0;
  415. width: 20px;
  416. height: 20px;
  417. }
  418. .newUI .updater-icons > * {
  419. transition: opacity 1s;
  420. display: none;
  421. }
  422. .newUI .entry .svg-icon {
  423. fill: #999;
  424. }
  425. .newUI .entry:hover .svg-icon {
  426. fill: #666;
  427. }
  428. .newUI .entry:hover .svg-icon:hover {
  429. fill: #000;
  430. }
  431. .newUI .checking-update .check-update {
  432. opacity: 0;
  433. display: inline-block;
  434. pointer-events: none;
  435. }
  436. .newUI .can-update .update,
  437. .newUI .no-update:not(.update-problem):not(.update-done) .up-to-date,
  438. .newUI .no-update.update-problem .check-update,
  439. .newUI .update-done .updated {
  440. display: inline-block;
  441. }
  442. .newUI .up-to-date svg,
  443. .newUI .updated svg {
  444. cursor: auto;
  445. }
  446. .newUI .update-done .updated svg {
  447. top: -4px;
  448. position: relative;
  449. filter: drop-shadow(0 5px 0 currentColor);
  450. }
  451. .newUI .can-update .update,
  452. .newUI .no-update.update-problem .check-update {
  453. cursor: pointer;
  454. }
  455. .newUI .can-update[data-details$="locally edited"] .update svg,
  456. .newUI .update-problem .check-update svg {
  457. fill: #ef6969;
  458. }
  459. .newUI .can-update[data-details$="locally edited"]:hover .update svg,
  460. .newUI .entry.update-problem:hover .check-update svg {
  461. fill: #fd4040;
  462. }
  463. .newUI .can-update[data-details$="locally edited"]:hover .update svg:hover,
  464. .newUI .entry.update-problem:hover .check-update svg:hover {
  465. fill: red;
  466. }
  467. .newUI .actions {
  468. z-index: 100;
  469. }
  470. .newUI .updater-icons > :not(.check-update):after {
  471. content: attr(title);
  472. position: absolute;
  473. margin-top: 18px;
  474. margin-left: -36px;
  475. padding: 1ex 1.5ex;
  476. border: 1px solid #ded597;
  477. background-color: #fffbd6;
  478. border-radius: 4px;
  479. box-shadow: 2px 3px 10px rgba(0,0,0,.25);
  480. font-size: 90%;
  481. animation: fadeout 10s;
  482. animation-fill-mode: both;
  483. }
  484. .newUI .update-problem .check-update:after {
  485. background-color: red;
  486. border: 1px solid #d40000;
  487. color: white;
  488. animation: none;
  489. }
  490. .newUI .can-update .update:after {
  491. animation: none;
  492. }
  493. .newUI .can-update:not([data-details$="locally edited"]) .update:after {
  494. background-color: #c0fff0;
  495. border: 1px solid #89cac9;
  496. }
  497. .newUI .applies-to {
  498. padding-top: .25rem;
  499. padding-bottom: .25rem;
  500. }
  501. .newUI .targets {
  502. overflow: hidden;
  503. max-height: calc(var(--num-targets) * 18px);
  504. }
  505. .newUI .applies-to.expanded .targets {
  506. max-height: none;
  507. }
  508. .newUI .target {
  509. display: block;
  510. overflow: hidden;
  511. text-overflow: ellipsis;
  512. white-space: nowrap;
  513. max-width: calc(75vw - var(--header-width) - var(--actions-width) - var(--name-padding-left) - var(--name-padding-right) - 6rem);
  514. box-sizing: border-box;
  515. padding-right: 1rem;
  516. line-height: 18px;
  517. }
  518. .newUI .applies-to .expander {
  519. margin: 0;
  520. cursor: pointer;
  521. font-size: 3ex;
  522. line-height: .5ex;
  523. vertical-align: super;
  524. letter-spacing: .1ex;
  525. text-decoration: none;
  526. }
  527. .newUI .applies-to:not(.has-more) .expander {
  528. display: none;
  529. }
  530. .newUI .has-favicons .applies-to .expander {
  531. margin-left: 20px;
  532. }
  533. .newUI .target:hover {
  534. background-color: inherit;
  535. }
  536. .newUI .target img {
  537. width: 16px;
  538. height: 16px;
  539. vertical-align: middle;
  540. margin: -1px 4px 0 -20px;
  541. transition: opacity .5s, filter .5s;
  542. /* workaround for the buggy CSS filter: images in the hidden overflow are shown on Mac */
  543. backface-visibility: hidden;
  544. display: none;
  545. }
  546. .newUI .favicons-grayed .target img {
  547. filter: grayscale(1);
  548. opacity: .25;
  549. }
  550. .newUI .has-favicons .target {
  551. padding-left: 20px;
  552. }
  553. .newUI .has-favicons .target img[src] {
  554. display: inline;
  555. }
  556. .newUI .entry:hover .target img {
  557. opacity: 1;
  558. filter: none;
  559. }
  560. /* Default, no update buttons */
  561. .updater-icons .update,
  562. .updater-icons .check-update {
  563. display: none;
  564. }
  565. /* Check update button for things that can */
  566. .updatable .check-update {
  567. display: inline-block;
  568. }
  569. /* Update check in progress */
  570. .checking-update .check-update {
  571. display: none;
  572. }
  573. /* Updates available */
  574. .can-update .update {
  575. display: inline-block;
  576. }
  577. .can-update[data-details$="locally edited"] button.update:after {
  578. content: "*";
  579. }
  580. .can-update .check-update {
  581. display: none;
  582. }
  583. /* Updates not available */
  584. .no-update:not(.update-problem) .check-update {
  585. display: none;
  586. }
  587. /* Updates done */
  588. .update-done .check-update {
  589. display: none;
  590. }
  591. #apply-all-updates:after {
  592. content: " (" attr(data-value) ")";
  593. }
  594. .update-in-progress #check-all-updates {
  595. position: relative;
  596. }
  597. .update-in-progress #update-progress {
  598. position: absolute;
  599. top: 0;
  600. left: 0;
  601. bottom: 0;
  602. background-color: currentColor;
  603. content: "";
  604. opacity: .35;
  605. }
  606. #check-all-updates-force {
  607. margin-top: 1ex;
  608. }
  609. #update-all-no-updates[data-skipped-edited="true"] {
  610. font-weight: bold;
  611. }
  612. #update-all-no-updates[data-skipped-edited="true"]::after {
  613. content: " " var(--updateAllCheckSucceededSomeEdited);
  614. font-weight: normal;
  615. display: block;
  616. margin: .75em 0 .5em;
  617. }
  618. /* highlight updated/added styles */
  619. .highlight {
  620. animation: highlight 10s cubic-bezier(0,.82,.47,.98);
  621. }
  622. .highlight-quick {
  623. animation: highlight .5s;
  624. }
  625. @keyframes highlight {
  626. from {
  627. background-color: rgba(128, 128, 128, .5);
  628. }
  629. to {
  630. background-color: transparent;
  631. }
  632. }
  633. .hidden {
  634. display: none !important;
  635. }
  636. #filters > label {
  637. display: flex;
  638. align-items: center;
  639. left: -9px;
  640. padding: 2px 0 2px 24px;
  641. }
  642. #filters > label input[type="checkbox"]:not(.slider),
  643. #filters > label input[type="checkbox"]:not(.slider):checked + .svg-icon.checked {
  644. top: 2px;
  645. left: 8px;
  646. }
  647. #filters > label:hover {
  648. background-color: hsla(0, 0%, 50%, .4);
  649. }
  650. .active #filters-stats {
  651. background-color: darkcyan;
  652. border-color: darkcyan;
  653. color: white;
  654. font-size: 0.7rem;
  655. font-weight: normal;
  656. padding: 2px 5px;
  657. position: relative;
  658. white-space: nowrap;
  659. }
  660. .filter-stats-wrapper {
  661. display: flex;
  662. align-items: center;
  663. margin-left: .2rem;
  664. }
  665. #header #filters summary {
  666. white-space: nowrap;
  667. }
  668. #header #filters summary ::-webkit-details-marker {
  669. margin-top: 4px
  670. }
  671. #reset-filters svg {
  672. fill: hsla(180, 50%, 27%, .5);
  673. width: 24px; /* widen the click area a bit */
  674. height: 20px;
  675. padding: 2px;
  676. box-sizing: border-box;
  677. }
  678. #reset-filters:hover svg {
  679. fill: hsla(180, 50%, 27%, 1);
  680. }
  681. #filters summary:not(.active) #reset-filters,
  682. #filters summary:not(.active) #filters-stats {
  683. display: none;
  684. }
  685. #search-wrapper, #sort-wrapper {
  686. display: flex;
  687. align-items: center;
  688. margin-bottom: .5rem;
  689. }
  690. #searchMode {
  691. margin-left: -1px;
  692. }
  693. #search-wrapper {
  694. margin-top: .35rem;
  695. }
  696. #sort-wrapper .sorter-selection {
  697. display: inline-flex;
  698. flex-grow: 1;
  699. position: relative;
  700. }
  701. #manage\.newUI\.sort {
  702. max-width: 100%;
  703. }
  704. #search, #manage\.newUI\.sort {
  705. min-width: 4em; /* reduces the big default width */
  706. flex-grow: 1;
  707. background: #fff;
  708. height: 20px;
  709. box-sizing: border-box;
  710. padding: 3px 3px 3px 4px;
  711. color: #000;
  712. border: 1px solid hsl(0, 0%, 66%);
  713. }
  714. #manage\.newUI\.sort {
  715. padding: 0 18px 0 4px;
  716. width: 100%;
  717. }
  718. .firefox #manage\.newUI\.sort {
  719. padding: 0;
  720. }
  721. #search-help, #sorter-help {
  722. margin: 0 -5px 0 2px;
  723. }
  724. #sort-wrapper .select-arrow {
  725. top: 3px;
  726. right: 4px;
  727. }
  728. #message-box.help-text > div {
  729. max-width: 26rem;
  730. }
  731. .help-text li:not(:last-child) {
  732. margin-bottom: 1em;
  733. }
  734. .help-text mark {
  735. background-color: rgba(128, 128, 128, .15);
  736. color: currentColor;
  737. padding: 2px 6px;
  738. font-weight: bold;
  739. font-family: Consolas, monospace;
  740. border: 1px solid rgba(128, 128, 128, .25);
  741. display: inline-block;
  742. margin: 2px;
  743. }
  744. .help-text mark.last {
  745. display: block;
  746. width: -moz-min-content;
  747. width: min-content;
  748. white-space: nowrap;
  749. }
  750. /* drag-n-drop on import button */
  751. .dropzone:after {
  752. background-color: rgba(0, 0, 0, 0.7);
  753. color: white;
  754. left: 0;
  755. top: 0;
  756. right: 0;
  757. bottom: 0;
  758. z-index: 1000;
  759. position: fixed;
  760. padding: calc(50vh - 3em) calc(50vw - 5em);
  761. content: attr(dragndrop-hint);
  762. text-shadow: 1px 1px 10px black;
  763. font-size: xx-large;
  764. text-align: center;
  765. animation: fadein 1s cubic-bezier(.03, .67, .08, .94);
  766. animation-fill-mode: both;
  767. }
  768. .fadeout.dropzone:after {
  769. animation: fadeout .25s ease-in-out;
  770. animation-fill-mode: both;
  771. }
  772. /* post-import report */
  773. #import details:not([data-id="invalid"]) div:hover {
  774. background-color: rgba(128, 128, 128, .3);
  775. }
  776. #import details:not(:last-child) {
  777. margin-bottom: 1em;
  778. }
  779. #import details small > * {
  780. margin-left: 1.5em;
  781. }
  782. #import details > button {
  783. margin: .5em 1.25em 0;
  784. }
  785. .update-history-log {
  786. font-size: 11px;
  787. white-space: pre;
  788. overflow-x: hidden;
  789. text-overflow: ellipsis;
  790. }
  791. /* sort font */
  792. @font-face {
  793. font-family: 'sorticon';
  794. src: url('data:application/x-font-ttf;base64,AAEAAAAQAQAABAAARkZUTYJtzGIAAAdIAAAAHEdERUYAJwAKAAAHKAAAAB5PUy8yURpfNAAAAYgAAABgY21hcEPk4dUAAAH4AAABSmN2dCAAFQAAAAAEvAAAAAJmcGdtBlicNgAAA0QAAAFzZ2FzcP//ABAAAAcgAAAACGdseWaLrdd8AAAEzAAAAHxoZWFkD8F3ewAAAQwAAAA2aGhlYQeIA8UAAAFEAAAAJGhtdHgMAP/YAAAB6AAAABBsb2NhAD4AAAAABMAAAAAKbWF4cAIUADsAAAFoAAAAIG5hbWX6WE3YAAAFSAAAAZtwb3N0Qb4dhQAABuQAAAA5cHJlcLgAACsAAAS4AAAABAABAAAAAAAA74lHPl8PPPUAHwQAAAAAANZkpgYAAAAA1mSNgP/Y/5wD7gNcAAAACAACAAAAAAAAAAEAAAPA/8AAAAQA/9gAAAPuAAEAAAAAAAAAAAAAAAAAAAAEAAEAAAAEABcABQAAAAAAAQAAAAAACgAAAgAAIwAAAAAAAwQAAZAABQAAApkCzAAAAI8CmQLMAAAB6wAzAQkAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAICAgIABAIekh6QPA/8AAQAPAAEAAAAABAAAAAAAAAAAAAAAgAAEEAAAAAAAAAAQAAAAEAP/YAAAAAwAAAAMAAAAcAAEAAAAAAEQAAwABAAAAHAAEACgAAAAGAAQAAQACAAAh6f//AAAAACHp//8AAd4aAAEAAAAAAAAAAAEGAAABAAAAAAAAAAECAAAAAgAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC4AAAsS7gACFBYsQEBjlm4Af+FuABEHbkACAADX14tuAABLCAgRWlEsAFgLbgAAiy4AAEqIS24AAMsIEawAyVGUlgjWSCKIIpJZIogRiBoYWSwBCVGIGhhZFJYI2WKWS8gsABTWGkgsABUWCGwQFkbaSCwAFRYIbBAZVlZOi24AAQsIEawBCVGUlgjilkgRiBqYWSwBCVGIGphZFJYI4pZL/0tuAAFLEsgsAMmUFhRWLCARBuwQERZGyEhIEWwwFBYsMBEGyFZWS24AAYsICBFaUSwAWAgIEV9aRhEsAFgLbgAByy4AAYqLbgACCxLILADJlNYsEAbsABZioogsAMmU1gjIbCAioobiiNZILADJlNYIyG4AMCKihuKI1kgsAMmU1gjIbgBAIqKG4ojWSCwAyZTWCMhuAFAioobiiNZILgAAyZTWLADJUW4AYBQWCMhuAGAIyEbsAMlRSMhIyFZGyFZRC24AAksS1NYRUQbISFZLQC4AAArABUAAAAAAAAAAAAAAD4AAAAF/9j/nAPuA1wABgAKAA4AEgAWACMAuAAPL7gACy+4AAcvuAATL7gABC+4AAUvuAADL7gABi8wMSUJATMRMxETIRUhFSEVIRUhFSEVMxUjAgr++f7V6ICyAfz+BAGG/noBEf7vm5uc/wABAALA/UACwFZbVlpXWlYAAAAAAAAOAK4AAQAAAAAAAQAHABAAAQAAAAAAAgAHACgAAQAAAAAAAwAHAEAAAQAAAAAABAAHAFgAAQAAAAAABQALAHgAAQAAAAAABgAHAJQAAQAAAAAACgAaANIAAwABBAkAAQAOAAAAAwABBAkAAgAOABgAAwABBAkAAwAOADAAAwABBAkABAAOAEgAAwABBAkABQAWAGAAAwABBAkABgAOAIQAAwABBAkACgA0AJwAaQBjAG8AbQBvAG8AbgAAaWNvbW9vbgAAUgBlAGcAdQBsAGEAcgAAUmVndWxhcgAAaQBjAG8AbQBvAG8AbgAAaWNvbW9vbgAAaQBjAG8AbQBvAG8AbgAAaWNvbW9vbgAAVgBlAHIAcwBpAG8AbgAgADEALgAwAABWZXJzaW9uIDEuMAAAaQBjAG8AbQBvAG8AbgAAaWNvbW9vbgAARgBvAG4AdAAgAGcAZQBuAGUAcgBhAHQAZQBkACAAYgB5ACAASQBjAG8ATQBvAG8AbgAuAABGb250IGdlbmVyYXRlZCBieSBJY29Nb29uLgAAAAIAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAABAAAAQIAAgEDBmdseXBoMQd1bmkyMUU5AAAAAAAAAf//AA8AAQAAAAwAAAAWAAAAAgABAAEAAwABAAQAAAACAAAAAAAAAAEAAAAA1aSY2wAAAADWZKYGAAAAANZkjYA=') format('truetype');
  795. font-weight: normal;
  796. font-style: normal;
  797. unicode-range: U+21E9;
  798. }
  799. #manage\.newUI\.sort {
  800. font-family: 'sorticon', Arial;
  801. -webkit-font-smoothing: antialiased;
  802. -moz-osx-font-smoothing: grayscale;
  803. }
  804. #stylus-embedded-options {
  805. position: fixed;
  806. top: 0;
  807. left: 0;
  808. width: 100%;
  809. height: 100vh;
  810. border: 0;
  811. z-index: 2147483647;
  812. background-color: hsla(0, 0%, 0%, .45);
  813. animation: fadein .25s ease-in-out;
  814. }
  815. #stylus-embedded-options.fadeout {
  816. animation: fadeout .25s ease-in-out;
  817. }
  818. .settings-column {
  819. margin-top: 1rem;
  820. }
  821. @keyframes fadein {
  822. from {
  823. opacity: 0;
  824. }
  825. to {
  826. opacity: 1;
  827. }
  828. }
  829. @keyframes fadeout {
  830. from {
  831. opacity: 1;
  832. }
  833. to {
  834. opacity: 0;
  835. }
  836. }
  837. @keyframes fadein-25pct {
  838. from {
  839. opacity: 0;
  840. }
  841. to {
  842. opacity: .25;
  843. }
  844. }
  845. @media (max-width: 1000px) {
  846. .newUI .entry > .style-info {
  847. display: none;
  848. }
  849. }
  850. @media (max-width: 850px) {
  851. :root {
  852. --name-padding-left: 34px;
  853. }
  854. body {
  855. display: table;
  856. }
  857. body.all-styles-hidden-by-filters:before {
  858. content: "\2191"; /* up arrow */
  859. top: calc(50% + 2.75rem);
  860. left: 2rem;
  861. }
  862. body.all-styles-hidden-by-filters:after {
  863. top: calc(50% + 4rem);
  864. left: 3.75rem;
  865. }
  866. html:not(.newUI) .applies-to {
  867. word-break: break-all;
  868. }
  869. #installed {
  870. table-layout: fixed;
  871. }
  872. .newUI .entry .actions {
  873. padding-right: 30px
  874. }
  875. #search-wrapper,
  876. #sort-wrapper,
  877. #header summary {
  878. max-width: 247px;
  879. }
  880. #message-box > div {
  881. left: 0;
  882. right: 0!important;
  883. margin-left: auto;
  884. margin-right: auto;
  885. }
  886. .filter-selection {
  887. max-width: 226px;
  888. }
  889. #header {
  890. display: table-header-group;
  891. height: auto;
  892. padding: 0;
  893. width: 100%;
  894. position: static;
  895. border-right: none;
  896. border-bottom: 1px dashed #AAA;
  897. }
  898. #manage-settings {
  899. display: flex;
  900. flex-wrap: wrap;
  901. width: 100%;
  902. padding: .5rem 0 1rem;
  903. }
  904. #manage-settings > .settings-column {
  905. display: flex;
  906. flex-direction: column;
  907. flex: 1;
  908. padding: 0 1rem;
  909. box-sizing: border-box;
  910. }
  911. #installed {
  912. margin-top: 0;
  913. padding-left: 0;
  914. }
  915. #header h1,
  916. #header h2,
  917. #header h3,
  918. #backup-message {
  919. display: none;
  920. }
  921. #backup-buttons {
  922. margin-top: 0;
  923. }
  924. #header summary {
  925. margin-top: 0;
  926. padding-bottom: .25rem;
  927. }
  928. .newUI .entry {
  929. padding: 0;
  930. }
  931. .newUI .entry .checkmate {
  932. position: absolute;
  933. left: 14px;
  934. top: 0;
  935. bottom: 0;
  936. margin: auto;
  937. }
  938. .newUI .entry .style-name {
  939. text-indent: unset;
  940. }
  941. .newUI .entry .actions {
  942. width: 104px;
  943. padding: .5rem 0 .5rem 6px;
  944. }
  945. .newUI .entry .applies-to {
  946. padding: .25rem .5rem .25rem 0;
  947. }
  948. .newUI .entry .target {
  949. max-width: 100%;
  950. padding-right: 0;
  951. }
  952. .newUI .style-name-link::after {
  953. text-indent: 0;
  954. display: inline-block;
  955. }
  956. }
  957. @supports (-moz-appearance: none) {
  958. .chromium-only {
  959. display: none;
  960. }
  961. #header .filter-selection label .checkmate {
  962. margin: 0;
  963. }
  964. .filter-selection select {
  965. padding-left: 0;
  966. }
  967. #filters summary h2 {
  968. margin-left: -2px;
  969. }
  970. }