Greasy Fork镜像 支持简体中文。

GreasyFork Dark

12/17/2023, 6:12:59 PM

目前為 2024-01-01 提交的版本,檢視 最新版本

  1. // ==UserScript==
  2. // @name GreasyFork Dark
  3. // @namespace Violentmonkey Scripts
  4. // @match https://gf.qytechs.cn/*
  5. // @match https://sleazyfork.org/*
  6. // @grant none
  7. // @version 0.2.9
  8. // @author CY Fung
  9. // @description 12/17/2023, 6:12:59 PM
  10. // @run-at document-start
  11. // @unwrap
  12. // @inject-into page
  13. // @license MIT
  14. // @require https://cdn.jsdelivr.net/npm/stylis@4.3.0/dist/umd/stylis.min.js
  15. // ==/UserScript==
  16.  
  17.  
  18. if (!localStorage.darkMode) localStorage.darkMode = 'true';
  19.  
  20. (() => {
  21.  
  22. const cssTextFn = () => `
  23.  
  24.  
  25.  
  26. html {
  27. overflow-y: scroll
  28. }
  29.  
  30. body {
  31. margin: 0;
  32. background-color: #24272d;
  33. color: #e9e9e9;
  34. }
  35.  
  36. body,select,input {
  37. font-family: Open Sans,sans-serif,"Segoe UI Emoji"
  38. }
  39.  
  40. input, select {
  41. color: #dadada;
  42. background-color: #1e1e1e;
  43. outline:0;
  44. }
  45.  
  46. input {
  47. border: 1px solid #575757;
  48. }
  49.  
  50. textarea {
  51. background-color: #1e1e1e;
  52. color: #fff;
  53. outline: 0;
  54. }
  55. body .preview-results{
  56. border: 1px solid #565c70;
  57. }
  58.  
  59. body:lang(zh-CN),select:lang(zh-CN),input:lang(zh-CN) {
  60. font-family: Open Sans,Microsoft YaHei UI,sans-serif,"Segoe UI Emoji"
  61. }
  62.  
  63. body:lang(zh-TW),select:lang(zh-TW),input:lang(zh-TW) {
  64. font-family: Open Sans,Microsoft JHengHei UI,sans-serif,"Segoe UI Emoji"
  65. }
  66.  
  67. pre,code {
  68. direction: ltr!important
  69. }
  70.  
  71. textarea {
  72. resize: vertical
  73. }
  74.  
  75. a {
  76. color: #f7c67f;/*#f65e5e;*/
  77. }
  78.  
  79. a:visited {
  80. color: #c9a573; /*#e97575;*/
  81. }
  82.  
  83. input[type=checkbox],input[type=radio] {
  84. vertical-align: middle
  85. }
  86.  
  87. #main-header {
  88. background-color: #967474;
  89. background-image: linear-gradient(#b93030,#891b1b);
  90. box-shadow: 0 0 15px 2px #00000080;
  91. padding: .25em 0
  92. }
  93.  
  94. .width-constraint {
  95. margin: auto;
  96. max-width: 1200px
  97. }
  98.  
  99. @media screen and (max-width: 1228px) {
  100. .width-constraint {
  101. margin:auto 1.2vw
  102. }
  103. }
  104.  
  105. #main-header .width-constraint {
  106. padding: 0 0 .25em;
  107. position: relative
  108. }
  109.  
  110. #site-name img {
  111. vertical-align: bottom
  112. }
  113.  
  114. #site-name-text {
  115. display: inline-block;
  116. vertical-align: top
  117. }
  118.  
  119. #site-name-text h1 {
  120. line-height: 1.1em
  121. }
  122.  
  123. #main-header,#main-header a,#main-header a:visited,#main-header a:active {
  124. color: #fff;
  125. }
  126.  
  127. #main-header h1 {
  128. font-size: 72px;
  129. margin: 0;
  130. letter-spacing: -2px
  131. }
  132.  
  133. #main-header h1 a {
  134. text-decoration: none
  135. }
  136.  
  137. #main-header .subtitle {
  138. margin: -8px 0 0 10px;
  139. font-size: .7em;
  140. text-shadow: -1px -1px 0px #670000,1px -1px 0px #670000,-1px 1px 0px #670000,1px 1px 0px #670000
  141. }
  142.  
  143. #site-nav>nav,#nav-user-info {
  144. text-align: right;
  145. position: absolute;
  146. right: 0
  147. }
  148.  
  149. #site-nav>nav {
  150. bottom: 0
  151. }
  152.  
  153. #nav-user-info {
  154. top: 0
  155. }
  156.  
  157. #site-nav>nav a:hover {
  158. color: #fff
  159. }
  160.  
  161. #site-nav>nav {
  162. padding: 0
  163. }
  164.  
  165. #site-nav>nav>li {
  166. list-style-type: none;
  167. display: inline-block
  168. }
  169.  
  170. #site-nav>nav>li+li {
  171. margin-left: .5em
  172. }
  173.  
  174. #script-search,#language-selector {
  175. display: inline
  176. }
  177.  
  178. #nav-user-info {
  179. font-size: small
  180. }
  181.  
  182. #nav-user-info select,#nav-user-info input {
  183. font-size: 11px
  184. }
  185.  
  186. nav nav {
  187. position: absolute;
  188. right: 0;
  189. background-color: #9c2323;
  190. min-width: 100%;
  191. display: none;
  192. padding: 5px 0;
  193. z-index: 10
  194. }
  195.  
  196. nav nav li {
  197. white-space: nowrap;
  198. margin: 0
  199. }
  200.  
  201. nav nav li a {
  202. display: block;
  203. padding: 5px 15px
  204. }
  205.  
  206. nav a:hover+nav,nav nav:hover,nav a:focus+nav {
  207. display: block
  208. }
  209.  
  210. .with-submenu {
  211. position: relative;
  212. padding-right: 15px
  213. }
  214.  
  215. nav .with-submenu>a:after {
  216. content: " ▾"
  217. }
  218.  
  219. @media screen and (max-width: 920px) {
  220. #site-name img {
  221. max-width:96px;
  222. max-height: 96px;
  223. width: 12%;
  224. height: 12%
  225. }
  226.  
  227. #site-name-text {
  228. margin-top: 2.3vw
  229. }
  230.  
  231. #main-header h1 {
  232. font-size: 8.3vw
  233. }
  234.  
  235. #main-header .subtitle {
  236. margin: -.8em 0 0 10px;
  237. font-size: 2vw
  238. }
  239.  
  240. #site-nav {
  241. margin-top: -1vw
  242. }
  243.  
  244. #site-nav>nav,#nav-user-info {
  245. display: block;
  246. position: unset;
  247. right: unset;
  248. padding-top: .3em
  249. }
  250.  
  251. #site-nav>nav {
  252. bottom: unset
  253. }
  254.  
  255. #nav-user-info {
  256. top: unset;
  257. font-size: unset;
  258. width: 100%
  259. }
  260.  
  261. #nav-user-info .sign-in-link {
  262. padding-right: .7em
  263. }
  264.  
  265. #script-search,#language-selector {
  266. display: unset
  267. }
  268. }
  269.  
  270. #script-info {
  271. border: 1px solid #000000;
  272. border-radius: 5px;
  273. clear: left;
  274. background-color: #2e3037;
  275. margin: 1em 0;
  276. box-shadow: 0 0 5px #282828;
  277. }
  278.  
  279. #script-content {
  280. margin-top: 1.5em
  281. }
  282.  
  283. #script-content>*:first-child {
  284. margin-top: 0
  285. }
  286.  
  287. #script-info header h2 {
  288. margin: .25em 0 0;
  289. font-size: 2em;
  290. overflow-wrap: anywhere
  291. }
  292.  
  293. #script-description {
  294. margin: 0
  295. }
  296.  
  297. #version-note,#reported-note,#deleted-note {
  298. font-style: italic;
  299. background-color: #5b5b09;
  300. border: 2px dotted #CC9999;
  301. padding: .5em
  302. }
  303.  
  304. #script-feedback-suggestion {
  305. margin: .75em 0
  306. }
  307.  
  308. #script-content h3 {
  309. margin-top: 30px
  310. }
  311.  
  312. #install-area {
  313. margin-bottom: 1em
  314. }
  315.  
  316. #install-area .install-link:hover,#install-area .install-link:focus,#install-area .install-help-link:hover,#install-area .install-help-link:focus {
  317. transition: box-shadow .2s;
  318. box-shadow: 0 8px 16px #0003,0 6px 20px #00000030
  319. }
  320.  
  321. .install-link,.install-link:visited,.install-link:active,.install-link:hover,.install-help-link {
  322. transition: box-shadow .2s;
  323. display: inline-block;
  324. background-color: #236d23;
  325. padding: .5em 1em;
  326. color: #fff;
  327. text-decoration: none
  328. }
  329.  
  330. .install-help-link,.install-help-link:visited,.install-help-link:active,.install-help-link:hover {
  331. background-color: #1e971e;
  332. color: #fff
  333. }
  334.  
  335. .inline-list,.block-list {
  336. padding-left: 0;
  337. padding-right: 0;
  338. list-style: none
  339. }
  340.  
  341. .inline-list {
  342. display: inline
  343. }
  344.  
  345. .block-list {
  346. display: block;
  347. margin: 0
  348. }
  349.  
  350. .inline-list li,.block-list li {
  351. display: inline
  352. }
  353.  
  354. .inline-list li:after,.block-list li:after {
  355. content: ", "
  356. }
  357.  
  358. body:lang(he) .inline-list li:after,body:lang(he) .block-list li:after,body:lang(ar) .inline-list li:after,body:lang(ar) .block-list li:after,body:lang(ug) .inline-list li:after,body:lang(ug) .block-list li:after,body:lang(ckb) .inline-list li:after,body:lang(ckb) .block-list li:after {
  359. content: "،"
  360. }
  361.  
  362. .inline-list li:last-child:after,.block-list li:last-child:after {
  363. content: ""
  364. }
  365.  
  366. dt[title]>span {
  367. border-bottom: 1px dotted black
  368. }
  369.  
  370. .form-section {
  371. margin-bottom: 2em
  372. }
  373.  
  374. .form-control {
  375. margin-bottom: 1em
  376. }
  377.  
  378. .form-control textarea,#ace-editor {
  379. width: 100%;
  380. box-sizing: border-box;
  381. margin-top: 1px;
  382. margin-bottom: 1px
  383. }
  384.  
  385. .form-control textarea:not([rows]),#ace-editor {
  386. height: 20em
  387. }
  388.  
  389. #ace-editor {
  390. border: 1px solid #BBB;
  391. border-style: inset;
  392. resize: both
  393. }
  394.  
  395. .form-control input:not([type=radio]):not([type=file]):not([type=checkbox]):not([type=search]):not([type=submit]):not([size]) {
  396. box-sizing: border-box;
  397. width: 100%
  398. }
  399.  
  400. .radio-group input[type=radio] {
  401. margin-left: 1em
  402. }
  403.  
  404. .form-control label {
  405. font-weight: 700
  406. }
  407.  
  408. .form-control label.radio-label,.form-control label.checkbox-label {
  409. font-weight: 400
  410. }
  411.  
  412. label.subselection-radio-title {
  413. font-weight: 400;
  414. font-size: small;
  415. display: block;
  416. margin-left: 3px
  417. }
  418.  
  419. .field_with_errors textarea {
  420. background-color: #3b3535;
  421. }
  422.  
  423. .label-note {
  424. font-size: smaller
  425. }
  426.  
  427. .screenshots-controls>*:not(label) {
  428. padding-left: 1em
  429. }
  430.  
  431. .add-screenshot-control,.screenshot-control {
  432. clear: left
  433. }
  434.  
  435. .screenshot-control>* {
  436. vertical-align: middle
  437. }
  438.  
  439. .screenshot-control a {
  440. float: left;
  441. min-width: 150px;
  442. text-align: center
  443. }
  444.  
  445. #script-info,.user-list,.text-content,.discussion-list {
  446. padding: 0 1em 1em
  447. }
  448.  
  449. #script-info>*:last-child,.user-list>*:last-child,.text-content>*:last-child,.discussion-list>*:last-child {
  450. margin-bottom: 0
  451. }
  452.  
  453. .script-list {
  454. padding: 0
  455. }
  456.  
  457. .script-list,.user-list,.text-content,.discussion-list {
  458. list-style-type: none;
  459. box-shadow: 0 0 5px #101011;
  460. background-color: #31343e;
  461. color: #e0e0e0;
  462. border: 1px solid #27282c;
  463. border-radius: 5px;
  464. box-sizing: border-box;
  465. margin: 14px 0
  466. }
  467.  
  468.  
  469. .discussion-list {
  470. background-color: #343b4a;
  471. }
  472.  
  473.  
  474.  
  475. .user-list {
  476. padding: 1em;
  477. margin: 1em 0
  478. }
  479.  
  480. .script-link,.script-description,.user-link {
  481. unicode-bidi: isolate
  482. }
  483.  
  484. .list-option-groups~ol {
  485. width: calc(960px - 14em)
  486. }
  487.  
  488. .text-content .list-option-groups~ol {
  489. width: calc(960px - 16em)
  490. }
  491.  
  492. @media screen and (max-width: 960px) {
  493. #script-info,.user-list,.text-content {
  494. padding:0 1.2vw 1.2vw
  495. }
  496. }
  497.  
  498. .script-list li:not(.ad-entry) {
  499. border-bottom: 1px solid #000000;
  500. padding: 1em
  501. }
  502.  
  503. .script-list .cf-wrapper {
  504. margin: 0!important
  505. }
  506.  
  507. @media screen and (max-width: 960px) {
  508. .script-list li {
  509. padding:1.2vw
  510. }
  511. }
  512.  
  513. .script-list h2 {
  514. margin: 0;
  515. font-size: 18px
  516. }
  517.  
  518. .script-list p {
  519. margin: 0
  520. }
  521.  
  522. .script-list footer {
  523. margin-top: .25em
  524. }
  525.  
  526. .list-current,.script-list h2 {
  527. font-weight: 700
  528. }
  529.  
  530. .script-list .description {
  531. font-weight: 400;
  532. display: block;
  533. margin: .5em 0;
  534. font-size: smaller
  535. }
  536.  
  537. .script-list .name-description-separator {
  538. display: none
  539. }
  540.  
  541. #script-description,.script-list h2>a,.script-list .description {
  542. word-wrap: break-word
  543. }
  544.  
  545. @media screen and (max-width: 720px) {
  546. .script-list,#script-content {
  547. margin-left:unset
  548. }
  549. }
  550.  
  551. .pagination,.script-list+.pagination,.user-list+.pagination {
  552. font-size: 18px;
  553. display: block;
  554. background-color: transparent;
  555. padding: 0;
  556. margin: 0;
  557. border-radius: 5px
  558. }
  559.  
  560. .pagination>*,.script-list+.pagination>*,.user-list+.pagination>* {
  561. display: inline-block;
  562. background-color: #1b1b1e;
  563. padding: .5em;
  564. border-radius: 5px;
  565. text-decoration: none
  566. }
  567.  
  568. .pagination .disabled {
  569. display: none
  570. }
  571.  
  572. .pagination .current {
  573. font-style: normal;
  574. font-weight: 700
  575. }
  576.  
  577. .pagination .current,.pagination .gap {
  578. background-color: transparent
  579. }
  580.  
  581. .pagination>a:hover,.pagination>a:focus {
  582. background-color: #100f0b
  583. }
  584.  
  585. .good-rating-count,.ok-rating-count,.bad-rating-count {
  586. display: inline-block;
  587. min-width: 1em;
  588. text-align: center;
  589. padding: 0 .25em;
  590. border: 1px solid #DDDDDD;
  591. border-radius: 10px
  592. }
  593.  
  594. .good-rating-count {
  595. background-color: #d8fff8;
  596. border-color: #339b334d;
  597. color: #1f7c1f
  598. }
  599.  
  600. .ok-rating-count {
  601. background-color: #f9fec1;
  602. border-color: #9b9b004d;
  603. color: #626221
  604. }
  605.  
  606. .bad-rating-count {
  607. background-color: #ffdada;
  608. border-color: #9b33334d;
  609. color: #7a1f1f
  610. }
  611.  
  612. .select-all,.select-none {
  613. display: none
  614. }
  615.  
  616. .diff {
  617. border: 2px solid black
  618. }
  619.  
  620. #help-allowed-elements,#help-allowed-styles {
  621. -moz-column-width: 20em;
  622. -webkit-column-width: 20em;
  623. column-width: 20em
  624. }
  625.  
  626. #help-allowed-elements li,#help-allowed-styles li {
  627. padding-right: 1em
  628. }
  629.  
  630. #by-site-list {
  631. list-style-type: none;
  632. padding: 0
  633. }
  634.  
  635. #by-site-list li {
  636. display: inline;
  637. vertical-align: middle
  638. }
  639.  
  640. #user_profile {
  641. width: 100%;
  642. height: 10em
  643. }
  644.  
  645. .preview-result {
  646. display: none;
  647. background-color: #ffa;
  648. padding: .5em
  649. }
  650.  
  651. .failed-sync {
  652. background-color: #fcc
  653. }
  654.  
  655. .alert {
  656. font-style: italic;
  657. background-color: #ffc;
  658. border: none;
  659. border-left: 6px solid #FFEB3B;
  660. padding: .5em
  661. }
  662.  
  663. .notice {
  664. background-color: #2b556a;
  665. border: none;
  666. border-left: 6px solid #5aa5cb;
  667. padding: .5em
  668. }
  669.  
  670. .validation-errors {
  671. background-color: #626240;
  672. border: none;
  673. border-left: 6px solid #FFEB3B;
  674. padding: .5em;
  675. margin: .5em 0
  676. }
  677.  
  678. .validation-errors>p:first-child {
  679. margin-top: 0
  680. }
  681.  
  682. .validation-errors>p:last-child {
  683. margin-bottom: 0
  684. }
  685.  
  686. #install-stats-chart {
  687. width: 100%;
  688. height: 400px
  689. }
  690.  
  691. .stats-table {
  692. border-collapse: collapse
  693. }
  694.  
  695. .stats-table th,.stats-table td {
  696. border: 1px solid gray;
  697. padding: 0 .5em
  698. }
  699.  
  700. td.numeric,th.numeric {
  701. text-align: right
  702. }
  703.  
  704. .translation_missing {
  705. outline: dashed red
  706. }
  707.  
  708. #edit_user>div {
  709. margin-bottom: .5em
  710. }
  711.  
  712. #edit_user>div>label:first-child {
  713. font-weight: 700
  714. }
  715.  
  716. .inline-form {
  717. display: inline
  718. }
  719.  
  720. a.self-link,a.self-link:visited {
  721. text-decoration: none;
  722. color: #000;
  723. opacity: .2
  724. }
  725.  
  726. .indented {
  727. padding-left: 1em
  728. }
  729.  
  730. .external-login {
  731. padding: 2px 2px 3px 25px;
  732. border: 1px solid black;
  733. border-radius: 2px;
  734. background-repeat: no-repeat;
  735. background-size: 16px 16px;
  736. background-position: 5px 2px
  737. }
  738.  
  739. .external-login-container {
  740. display: inline-block;
  741. vertical-align: top
  742. }
  743.  
  744. .external-login-container * {
  745. text-align: center;
  746. display: block
  747. }
  748.  
  749. .external-login-container>*:not(button) {
  750. font-size: smaller
  751. }
  752.  
  753. .external-login-container:not(:last-child) {
  754. margin-right: 5px
  755. }
  756.  
  757. .external-login-container .github-login {
  758. background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpFNTE3OEEyQTk5QTAxMUUyOUExNUJDMTA0NkE4OTA0RCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpFNTE3OEEyQjk5QTAxMUUyOUExNUJDMTA0NkE4OTA0RCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkU1MTc4QTI4OTlBMDExRTI5QTE1QkMxMDQ2QTg5MDREIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkU1MTc4QTI5OTlBMDExRTI5QTE1QkMxMDQ2QTg5MDREIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+m4QGuQAAAyRJREFUeNrEl21ojWEYx895TDPbMNlBK46IUiNmPvHBSUjaqc0H8pF5+aDUKPEBqU2NhRQpX5Rv5jWlDIWlMCv7MMSWsWwmb3tpXub4XXWdPHvc9/Gc41nu+nedc7/8r/99PffLdYdDPsvkwsgkTBwsA/PADJCnzX2gHTwBt8Hl7p537/3whn04XoDZDcpBlk+9P8AFcAghzRkJwPF4zGGw0Y9QS0mAM2AnQj77FqCzrtcwB1Hk81SYojHK4DyGuQ6mhIIrBWB9Xm7ug/6B/nZrBHBegrkFxoVGpnwBMSLR9EcEcC4qb8pP14BWcBcUgewMnF3T34VqhWMFkThLJAalwnENOAKiHpJq1FZgI2AT6HZtuxZwR9GidSHtI30jOrbawxlVX78/AbNfhHlomEUJJI89O2MqeE79T8/nk8nMBm/dK576hZgmA3cp/R4l9/UeSxiHLVIlNm4nFfT0bxyuIj7LHRTKai+zdJobwMKzcZSJb0ePV5PKN+BqAAKE47UlMnERELMM3EdYP/yrd+XYb2mOiYBiQ8OQnoRBlXrl9JZix7D1pHTazu4MoyBcnYamqAjIMTR8G4FT8LuhLsexXYYjICBiqhQBvYb6fLZIJCjPypVvaOoVAW2WcasCnL2Nq82xHJNSqlCeFcDshaPK0twkAhosjZL31QYw+1rlMpWGMArl23SBsZZO58F2tlJXmjOXS+s4WGvpMiBJT/I2PInZ6lIs9/hBsNS1hS6BG0DSqmYEDRlCXQrmy50P1oDRKTSegmNbUsA0zDMwRhPJXeCE3vWLPQMvan6X8AgIa1vcR4AkGZkDR4ejJ1UHpsaVI0g2LInpOsNFUud1rhxSV+fzC9Woz2EZkWQuja7/B+jUrgtIMpy9YCW4n4K41YfzRneW5E1KJTe4B2Zq1Q5EHEtj4U3AfEzR5SVY4l7QYQPJdN2as7RKBF0BPZqqH4VgMAMBL8Byxr7y8zCZiDlnOcEKIPmUpgB5Z2ww5RdOiiRiNajUmWda5IG6WbhsyY2fx6m8gLcoJDJFkH219M3We1+cnda93pfycZpIJEL/s/wSYADmOAwAQgdpBAAAAABJRU5ErkJggg==)
  759. }
  760.  
  761. .external-login-container .gitlab-login {
  762. background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAAsTAAALEwEAmpwYAAACoUlEQVRYhc3WzW+UVRQG8N/MtKKYsEFMmpo27DUEFgSiSIHSsDAxsYr6L4Cs+AMkMWiMCwgB2lQMhIWJ0Rip7owbXbhjhekGTFBQkC9rTCxBWxb3vpkzb2Y6H+00PsnN3Hve8zznzL3nfvA/xQRm8Qk2rUBnU9aYxf5OSevxF5ZyO7eCBM4Fnb/xVCekyUBawl0M9BB8EPdLWq92Qvy0RFrCvh4SmGiic7EdaZ3G6S/aVA8JzDTR+RNPLEd6JTi/h19z/zZqXQQfwB+Zex3Hg+6B5Yjng+MWnAzjl7tIYE/gncDWMP64FSkWzVVUsCsQT3WRwOnAeylr/ZzHd7Qo6v2B9GG21XAr226i2kHwKn7LnN8D56Ogv6cZcTo4bA/2qWDf2UECLwb/s8G+I9jPFMZK/q3lrJ+VCm80O8I4vs39RRxtk8CJ0B/Hd7lfxS8YlmbmuawHxjQWTcSgdBiVt1S71uwAOxW+7yqygteD05cl0iNcaPl/W+MC/i3Zvgj9g6QlqOIGhqSCGxamJqOKbXiyw+ALuNxEpyYt8ZB0tgyTCqtZ0fQLcRn2VqXLp0B5+vuBz0L/TbiWs7knFVy/UVU/4u9QP7Pn5crsM8bVl+AfeDcY/svjXu7/dhjAMY1b9Trpejxf+vA9RlYx+Ah+KMX4HBui09vSMhQO9/HaKgSfxIOgO4+3Wjlvxo+lTKeld2K3WK/xflnK2pvbEQelB8RiIF7B810EfwE/Bf5i1uxql+1Vv1aLij2kfoE1QwWHpZOw4N3MWj3hGXytcRq/wsYmvhtxqeQ7mzVWhAqO4GEQvoHdwWcs24rvC3jH8rPVNbZgTuO6vo8PNNbLXPbtC56WHpWt3gAz2afveEN64xeBH2h8U6wJRvFNbqNrHXzV8BjO7vx8x02KpQAAAABJRU5ErkJggg==)
  763. }
  764.  
  765. .external-login-container .google_oauth2-login {
  766. background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAAnFJREFUOI2FU11Ik1EYfs75zvZ9c35buAKpaWaSSVZoiheBKVmYdWF1ERi7kMhFUeqNFxLURRAhFKvhTcHMioQiCBG8iOgH8QfFKZj4M81ES0fONfe5tW87XcQncw17rs7znud5f87LIUgCn8u1jQaWL2MtWMTBGZGkKUgpLvPVxolELYkn3if3ZP38ytvQ8EAZCa6RzUoK4WDBrJiXey61rtH9T4LVx86cWF/PsPp1OjVZVxpo+q6wpfSUTOz2CAAwAIg5HOJqf89QvFnI3KNQa6ab6vTB2Ir3QGRsdCeMqVw8WmbTzBsJFPNSmzo7bfpbgkI6UeWSm25dIgDXhAHn/YtgRJWvNLza1BLnIOHPWZFwVyVfrizhvjvNXVuNkAimTjVV0PADBnEBpuYiVRnfXRMvaOkMOaOcpyUz7zDgJiPRtRKtTyrBn2a3++NFg7NqnTcAXbIE1UWsjwJkY07ON6/1v4hBYlxn6tP4SHS7yTH5zFS/z/ZLix3OEDrDUVg0PjSjlioRQgBA1GGSsb1334cXsyMd5Liudd7HKuB9CeC0Zmg+azivnR92h6qVCDkGAAYd53pB7KaEgLeJ1147F1YQ4xzv5nurbvc/eoqEcZwfh0r7PWqHxvOtwlhtOQkRAHBMOsQBz9zShH/OrAky5PT1LKN1lDG6/nPdnzPu81gPyeWYGbkAA2P8zBF9YV256N6o0jr6IvvT4qB7evWbvNW75Znzo8VCU8ONk0YnkPCZWtztRp+y/Kb3x0hF4LdC4+8oIci37P9eYMmtuV5g+6DFk66txd1uRFStDarBYnAuiYLkSREMz+sLbV8StX8AjxDtgxiuzNwAAAAASUVORK5CYII=)
  767. }
  768.  
  769. .centered-sections h2,.centered-sections h3 {
  770. text-align: center
  771. }
  772.  
  773. form.external-login-form {
  774. position: relative;
  775. display: table;
  776. margin: 0 auto;
  777. padding: 1em;
  778. background-color: #393939;
  779. border: 1px solid #1c242a;
  780. border-radius: 5px;
  781. text-align: center
  782. }
  783.  
  784. form.external-login-form .remember-me {
  785. margin-top: 12px
  786. }
  787.  
  788. form.new_user {
  789. position: relative;
  790. width: 340px;
  791. margin: 0 auto;
  792. padding: 1em;
  793. background-color: #393939;
  794. border: 1px solid #1c242a;
  795. border-radius: 5px;
  796. text-align: start
  797. }
  798.  
  799. @media screen and (max-width: 440px) {
  800. form.new_user {
  801. width:unset
  802. }
  803. }
  804.  
  805. form.new_user label,form.new_user em {
  806. display: block;
  807. font-size: small
  808. }
  809.  
  810. form.new_user br {
  811. display: none
  812. }
  813.  
  814. form.new_user input[type=text],form.new_user input[type=email],form.new_user input[type=password] {
  815. display: block;
  816. width: 100%;
  817. min-height: 34px;
  818. box-sizing: border-box;
  819. margin-top: .2em;
  820. margin-bottom: .5em;
  821. padding: 6px 8px;
  822. font-size: 14px;
  823. line-height: 20px;
  824. vertical-align: middle;
  825. color: #c8c8c8;
  826. background-color: #1e1e1e;
  827. border: 1px solid #070707;
  828. border-radius: 3px;
  829. outline: none;
  830. box-shadow: inset 0 1px 2px #0000001a
  831. }
  832.  
  833. form input[type=checkbox],form input[type=checkbox]+label,form input[type=radio],form input[type=radio]+label {
  834. display: inline-block;
  835. font-size: small
  836. }
  837.  
  838. .radio-note {
  839. font-size: small;
  840. margin-top: 5px
  841. }
  842.  
  843. @media screen and (max-width: 440px) {
  844. form input[type=checkbox]+label {
  845. display:unset;
  846. word-wrap: break-word
  847. }
  848. }
  849.  
  850. form.new_user input[type=submit] {
  851. display: block;
  852. width: 100%;
  853. min-height: 34px;
  854. box-sizing: border-box;
  855. margin: .5em 0 0;
  856. padding: 6px 8px;
  857. font-size: 14px;
  858. font-weight: 700;
  859. line-height: 20px;
  860. text-align: center;
  861. vertical-align: middle;
  862. color: #fff;
  863. background-color: #670000;
  864. background-image: linear-gradient(#990000,#670000);
  865. border: 0px solid #ddd;
  866. box-shadow: 0 4px 8px #0003,0 6px 20px #00000030;
  867. border-radius: 3px;
  868. white-space: normal
  869. }
  870.  
  871. form.new_user~br {
  872. display: none
  873. }
  874.  
  875. form.new_user~a {
  876. width: 340px;
  877. display: block;
  878. margin: 0 auto 2em;
  879. font-size: small
  880. }
  881.  
  882. form.new_user+a {
  883. width: 340px;
  884. display: block;
  885. margin: 0 auto
  886. }
  887.  
  888. .sidebar-search,.home-search {
  889. position: relative;
  890. vertical-align: middle
  891. }
  892.  
  893. .sidebar-search input[type=search],.home-search input[type=search] {
  894. padding-inline-end:20px}
  895.  
  896. .sidebar-search input[type=search] {
  897. width: 100%;
  898. margin: 0 0 1em
  899. }
  900.  
  901. .sidebar-search input[type=submit],.home-search input[type=submit] {
  902. position: absolute;
  903. -moz-appearance: none;
  904. -webkit-appearance: none;
  905. inset-inline-end: 0;
  906. top: 0;
  907. border-color: transparent;
  908. padding-inline-start:0;padding-inline-end:6px;margin-left: 0;
  909. margin-right: 0;
  910. background: none;
  911. opacity: .5
  912. }
  913.  
  914. @media screen and (max-width: 680px) {
  915. .sidebar-search input[type=search],.home-search input[type=search] {
  916. font-size:unset
  917. }
  918. }
  919.  
  920. figure {
  921. padding: 5px;
  922. box-shadow: 0 4px 8px #00000026,0 6px 10px #00000026;
  923. border-radius: 5px
  924. }
  925.  
  926. figcaption {
  927. font-size: smaller;
  928. text-align: center
  929. }
  930.  
  931. .multiform-page:not(:first-child) {
  932. margin-top: 30px
  933. }
  934.  
  935. .multiform-page:not(:last-child) {
  936. padding-bottom: 30px;
  937. border-bottom: 1px solid lightgray
  938. }
  939.  
  940. summary {
  941. cursor: pointer
  942. }
  943.  
  944. .blocked-script-codes {
  945. font-size: smaller;
  946. border-collapse: collapse;
  947. width: 100%;
  948. text-align: left
  949. }
  950.  
  951. .blocked-script-codes .pattern-row {
  952. font-size: medium
  953. }
  954.  
  955. .blocked-script-codes .pattern-row {
  956. border-top: 1px solid gray
  957. }
  958.  
  959. .blocked-script-codes .info-row td:first-child {
  960. width: 2em
  961. }
  962.  
  963. .ad {
  964. margin-top: 1em;
  965. margin-bottom: 1em
  966. }
  967.  
  968. .after-radio-chosen {
  969. display: none;
  970. margin-left: 29px
  971. }
  972.  
  973. input[type=radio]:checked~.after-radio-chosen {
  974. display: block
  975. }
  976.  
  977. .announcement {
  978. margin: 14px 0;
  979. text-align: center;
  980. font-size: smaller
  981. }
  982.  
  983. .announcement form {
  984. display: inline
  985. }
  986.  
  987. .announcement input {
  988. appearance: none;
  989. -moz-appearance: none;
  990. -webkit-appearance: none;
  991. border: 0;
  992. background: none;
  993. margin: 0 0 0 4px;
  994. padding: 0;
  995. cursor: pointer
  996. }
  997.  
  998. .announcement,.announcement input {
  999. font-size: 12px
  1000. }
  1001.  
  1002. .badge {
  1003. margin-left: 1ex;
  1004. border-radius: 10%/25%;
  1005. font-size: 70%;
  1006. padding: 0 .5ex;
  1007. text-transform: uppercase;
  1008. position: relative;
  1009. top: -.2ex
  1010. }
  1011.  
  1012. .badge-banned,.badge-deleted {
  1013. background-color: #e52020; /* #ff0000e6; */
  1014. color: #ebebeb; /* #fff */
  1015. }
  1016.  
  1017. .badge-deleted {
  1018. margin-left: 0;
  1019. border-color: #ff0000e6
  1020. }
  1021.  
  1022. .badge-moderator {
  1023. background-color: #1a1da8e6;
  1024. color: #fff
  1025. }
  1026.  
  1027. .badge-author {
  1028. background-color: #1e971ee6;
  1029. color: #fff
  1030. }
  1031.  
  1032. .badge-js {
  1033. background-color: #efd81d;
  1034. color: #000
  1035. }
  1036.  
  1037. .badge-css {
  1038. background-color: #254bdd;
  1039. color: #fff
  1040. }
  1041.  
  1042. .badge-js,.badge-css {
  1043. display: none
  1044. }
  1045.  
  1046. .showing-all-languages .badge-js,.showing-all-languages .badge-css {
  1047. display: inline
  1048. }
  1049.  
  1050. .list-option-groups .carbon-ad,.list-option-groups .adsense-ad {
  1051. display: block;
  1052. overflow: hidden;
  1053. margin-bottom: 1em;
  1054. padding: 1em;
  1055. border: 1px solid hsl(0,0%,73%);
  1056. border-radius: 5px;
  1057. background-color: #fff;
  1058. box-shadow: 0 0 5px #ddd;
  1059. text-align: center;
  1060. line-height: 1.5;
  1061. min-height: 203px
  1062. }
  1063.  
  1064. .list-option-groups .carbon-ad a {
  1065. text-decoration: none
  1066. }
  1067.  
  1068. .list-option-groups .carbon-ad span {
  1069. display: block;
  1070. overflow: hidden
  1071. }
  1072.  
  1073. .list-option-groups .carbon-img {
  1074. display: block;
  1075. margin: 0 auto 1em
  1076. }
  1077.  
  1078. .list-option-groups .carbon-text {
  1079. display: block;
  1080. margin-bottom: 1em
  1081. }
  1082.  
  1083. .list-option-groups .carbon-poweredby {
  1084. display: block;
  1085. text-transform: uppercase;
  1086. letter-spacing: 1px;
  1087. font-size: 9px
  1088. }
  1089.  
  1090. #script-show-info-ad .carbon-wrap {
  1091. display: flex
  1092. }
  1093.  
  1094. #script-show-info-ad .carbon-text {
  1095. padding: 10px
  1096. }
  1097.  
  1098. #script-show-info-ad .carbon-text,#script-show-info-ad .carbon-poweredby {
  1099. width: 200px;
  1100. text-align: center
  1101. }
  1102.  
  1103. #script-show-info-ad a {
  1104. text-decoration: none
  1105. }
  1106.  
  1107. #script-show-info-ad #carbonads {
  1108. background-color: #fff;
  1109. font-size: smaller
  1110. }
  1111.  
  1112. #script-show-info-ad .carbon-poweredby {
  1113. font-size: 9px;
  1114. text-transform: uppercase;
  1115. margin-top: -13px;
  1116. display: block;
  1117. margin-left: 140px;
  1118. letter-spacing: 1px
  1119. }
  1120.  
  1121. #script-show-info-ad #carbonads img {
  1122. vertical-align: bottom
  1123. }
  1124.  
  1125. #script-show-info-ad.ad-ca,#script-show-info-ad.ad-c2 {
  1126. width: 350px;
  1127. margin: 1em 0
  1128. }
  1129.  
  1130. #script-show-info-ad.ad-ca .ad-content,#script-show-info-ad.ad-c2 .ad-content {
  1131. min-height: 100px
  1132. }
  1133.  
  1134. code {
  1135. background-color: #5c4b5e
  1136. }
  1137.  
  1138. pre code {
  1139. background: none;
  1140. border: 0
  1141. }
  1142.  
  1143. pre,code {
  1144. border-radius: 2px;
  1145. border: 1px solid #685c71
  1146. }
  1147.  
  1148. pre {
  1149. padding: 1em
  1150. }
  1151.  
  1152. .prettyprint {
  1153. width: max-content;
  1154. min-width: calc(100% - 6px)
  1155. }
  1156.  
  1157. .code-container {
  1158. max-height: calc(100vh - 54px);
  1159. overflow-x: auto;
  1160. border-radius: 2px;
  1161. border: 1px solid #E6DDD6
  1162. }
  1163.  
  1164. .code-container pre {
  1165. border: 0;
  1166. margin: 0
  1167. }
  1168.  
  1169. li.L0,li.L1,li.L2,li.L3,li.L4,li.L5,li.L6,li.L7,li.L8,li.L9 {
  1170. list-style-type: decimal!important
  1171. }
  1172.  
  1173. @media screen and (max-width: 440px) {
  1174. #code-container {
  1175. font-size:small
  1176. }
  1177. }
  1178.  
  1179. .diff_options input[type=number] {
  1180. width: 10ch
  1181. }
  1182.  
  1183. .diff {
  1184. overflow: auto
  1185. }
  1186.  
  1187. .diff ul {
  1188. background: #343439;
  1189. overflow: auto;
  1190. font-size: 13px;
  1191. list-style: none;
  1192. margin: 0;
  1193. padding: 0;
  1194. display: table;
  1195. width: 100%
  1196. }
  1197.  
  1198. .diff del,.diff ins {
  1199. display: block;
  1200. text-decoration: none
  1201. }
  1202.  
  1203. .diff li {
  1204. padding: 0;
  1205. display: table-row;
  1206. margin: 0;
  1207. height: 1em
  1208. }
  1209.  
  1210. .diff li.ins {
  1211. background: #dfd;
  1212. color: #080
  1213. }
  1214.  
  1215. .diff li.del {
  1216. background: #fee;
  1217. color: #b00
  1218. }
  1219.  
  1220. .diff li:hover {
  1221. background: #ffc
  1222. }
  1223.  
  1224. .diff del,.diff ins,.diff span {
  1225. white-space: pre;
  1226. font-family: courier
  1227. }
  1228.  
  1229. .diff del strong {
  1230. font-weight: 400;
  1231. background: #fcc
  1232. }
  1233.  
  1234. .diff ins strong {
  1235. font-weight: 400;
  1236. background: #9f9
  1237. }
  1238.  
  1239. .diff li.diff-comment {
  1240. display: none
  1241. }
  1242.  
  1243. .diff li.diff-block-info {
  1244. background: none repeat scroll 0 0 gray
  1245. }
  1246.  
  1247. .diff del,.diff ins,.diff span {
  1248. font-family: monospace
  1249. }
  1250.  
  1251. .diff {
  1252. max-height: calc(100vh - 54px);
  1253. overflow-y: auto
  1254. }
  1255.  
  1256. .report-diff .diff {
  1257. max-height: 75vh
  1258. }
  1259.  
  1260. .report-diff form {
  1261. display: inline
  1262. }
  1263.  
  1264. .ea-content,.ea-callout {
  1265. margin: 0!important
  1266. }
  1267.  
  1268. .expander {
  1269. cursor: pointer;
  1270. display: block;
  1271. color: #670000;
  1272. border-radius: 3px;
  1273. background-color: #1b1b1e;
  1274. position: absolute;
  1275. width: 20px;
  1276. height: 20px;
  1277. text-align: center;
  1278. inset-inline-end: -22px;
  1279. bottom: 0
  1280. }
  1281.  
  1282. .expanded {
  1283. overflow: auto
  1284. }
  1285.  
  1286. .collapsed {
  1287. overflow: hidden
  1288. }
  1289.  
  1290. .comment {
  1291. margin-bottom: 20px
  1292. }
  1293.  
  1294. .comment-entry {
  1295. width: 100%;
  1296. height: 10em
  1297. }
  1298.  
  1299. .discussion-meta,.comment-meta {
  1300. display: flex;
  1301. align-items: flex-end
  1302. }
  1303.  
  1304. .discussion-meta {
  1305. font-size: 11px
  1306. }
  1307.  
  1308. .comment-meta {
  1309. font-size: smaller;
  1310. margin-bottom: 2px
  1311. }
  1312.  
  1313. .comment-meta-item-main {
  1314. font-size: medium;
  1315. font-weight: 700
  1316. }
  1317.  
  1318. .comment-meta-item+.comment-meta-item {
  1319. margin-left: 15px
  1320. }
  1321.  
  1322. .discussion-meta-item {
  1323. flex: 1;
  1324. text-align: left
  1325. }
  1326.  
  1327. .discussion-meta-item:not(:first-child) {
  1328. margin-left: 8px
  1329. }
  1330.  
  1331. .discussion-meta-item:not(:last-child) {
  1332. margin-right: 8px
  1333. }
  1334.  
  1335. .discussion-meta-item:last-child {
  1336. text-align: right
  1337. }
  1338.  
  1339. .comment-meta-spacer {
  1340. flex: 1
  1341. }
  1342.  
  1343. .post-reply {
  1344. margin-top: 20px
  1345. }
  1346.  
  1347. .post-reply h3,.edit-comment-form h3 {
  1348. margin-bottom: 0
  1349. }
  1350.  
  1351. .post-reply input[type=submit],.edit-comment-form input[type=submit] {
  1352. margin-top: 5px
  1353. }
  1354.  
  1355. .discussion-up-level {
  1356. font-size: smaller;
  1357. margin-top: 0
  1358. }
  1359.  
  1360. .edit-comment-form {
  1361. display: none
  1362. }
  1363.  
  1364. .edit-comment-mode .edit-comment-form {
  1365. display: block
  1366. }
  1367.  
  1368. .edit-comment-mode .user-content,.edit-comment-mode .comment-meta {
  1369. display: none
  1370. }
  1371.  
  1372. .discussion-rating {
  1373. margin-top: 10px
  1374. }
  1375.  
  1376. .discussion-list {
  1377. padding-bottom: 0
  1378. }
  1379.  
  1380. .discussion-list-item {
  1381. padding-top: 10px;
  1382. border-top: 1px solid #CCC
  1383. }
  1384.  
  1385. .discussion-list-container:first-child .discussion-list-item {
  1386. border-top: 0
  1387. }
  1388.  
  1389. .discussion-list-logged-in .discussion-read {
  1390. background-color: #2c303a;
  1391. margin-left: -16px;
  1392. margin-right: -16px;
  1393. padding-left: 16px;
  1394. padding-right: 16px
  1395. }
  1396.  
  1397. .script-discussion-list .discussion-list-item:last-child {
  1398. border-bottom: 1px solid #CCC
  1399. }
  1400.  
  1401. a.discussion-title {
  1402. display: block;
  1403. text-decoration: none;
  1404. color: #d0d0d0;
  1405. padding: 4px 0 14px;
  1406. white-space: nowrap;
  1407. overflow: hidden;
  1408. text-overflow: ellipsis
  1409. }
  1410.  
  1411. .discussion-title {
  1412. vertical-align: middle
  1413. }
  1414.  
  1415. .discussion-title:hover {
  1416. color: #f6f6f6;
  1417. }
  1418.  
  1419. .rating-icon,.badge-deleted {
  1420. border: 2px solid black;
  1421. border-radius: 5px;
  1422. font-size: 12px;
  1423. text-transform: uppercase;
  1424. font-weight: 800;
  1425. padding: 2px 5px;
  1426. margin-right: 5px;
  1427. display: inline-block;
  1428. text-align: center;
  1429. min-width: 45px;
  1430. position: relative;
  1431. top: -1px
  1432. }
  1433.  
  1434. .rating-icon-good {
  1435. border-color: #258925;
  1436. background-color: #cce9cc;
  1437. color: #0f4d0f
  1438. }
  1439.  
  1440. .rating-icon-ok {
  1441. border-color: #a7a71e;
  1442. background-color: #ffffd4;
  1443. color: #4f4f12
  1444. }
  1445.  
  1446. .rating-icon-bad {
  1447. border-color: #cf2929;
  1448. background-color: #f2c7c7;
  1449. color: #440d0d
  1450. }
  1451.  
  1452. .discussion-list-main-content {
  1453. overflow-x: hidden
  1454. }
  1455.  
  1456. .discussion-meta-item-script-name {
  1457. overflow: hidden
  1458. }
  1459.  
  1460. .discussion-meta-item-script-name a {
  1461. white-space: nowrap;
  1462. text-overflow: ellipsis;
  1463. overflow: hidden;
  1464. display: block
  1465. }
  1466.  
  1467. .comment .user-content>*:first-child {
  1468. margin-top: 0
  1469. }
  1470.  
  1471. .comment-screenshot-control {
  1472. font-size: smaller;
  1473. padding: .5em 0
  1474. }
  1475.  
  1476. .discussion-header,.discussion-list-header {
  1477. display: flex;
  1478. margin-top: 30px;
  1479. margin-bottom: 20px
  1480. }
  1481.  
  1482. .discussion-header-no-script {
  1483. margin-top: 16px
  1484. }
  1485.  
  1486. .discussion-header>*:first-child,.discussion-list-header h2 {
  1487. flex: 1;
  1488. margin: 0!important
  1489. }
  1490.  
  1491. .discussion-header h2,.discussion-header .discussion-up-level {
  1492. margin: 0
  1493. }
  1494.  
  1495. .discussion-header .badge {
  1496. vertical-align: middle
  1497. }
  1498.  
  1499. .discussion-actions {
  1500. font-size: smaller
  1501. }
  1502.  
  1503. .discussion-subscribed .discussion-subscribe,.discussion-not-subscribed .discussion-unsubscribe {
  1504. display: none
  1505. }
  1506.  
  1507. .post-discussion label:not(.radio-label),.post-reply label:not(.radio-label),.post-discussion .form-note,.post-reply .form-note {
  1508. font-size: smaller
  1509. }
  1510.  
  1511. #test-require-result-ok,#test-require-result-not-ok {
  1512. display: none;
  1513. font-weight: 700
  1514. }
  1515.  
  1516. #test-require-result-ok {
  1517. color: green
  1518. }
  1519.  
  1520. #test-require-result-not-ok {
  1521. color: red
  1522. }
  1523.  
  1524. #home-script-nav {
  1525. max-width: 700px;
  1526. margin: 0 auto 15px;
  1527. padding-bottom: 20px;
  1528. border-bottom: 1px solid #BBBBBB
  1529. }
  1530.  
  1531. .home-search input {
  1532. font-size: large
  1533. }
  1534.  
  1535. .home-search input[type=search] {
  1536. width: 100%
  1537. }
  1538.  
  1539. #home-top-sites {
  1540. overflow: hidden;
  1541. margin-top: 5px
  1542. }
  1543.  
  1544. #home-top-sites a {
  1545. margin: 0 5px
  1546. }
  1547.  
  1548. #home-step-1,#home-step-2,#home-step-3 {
  1549. overflow: auto
  1550. }
  1551.  
  1552. #home-step-1 figure {
  1553. float: right;
  1554. max-width: 50%;
  1555. margin-inline-end:10px;margin-top: 0
  1556. }
  1557.  
  1558. #home-step-2 figure {
  1559. float: left;
  1560. max-width: 50%;
  1561. margin-inline-start:7px;margin-top: 0
  1562. }
  1563.  
  1564. #home-step-2 li {
  1565. overflow: hidden;
  1566. white-space: nowrap;
  1567. text-overflow: ellipsis
  1568. }
  1569.  
  1570. @media screen and (max-width: 680px) {
  1571. #home-step-1 figure,#home-step-2 figure,#home-step-3 figure {
  1572. float:unset;
  1573. max-width: unset;
  1574. width: fit-content;
  1575. margin: 0 auto
  1576. }
  1577.  
  1578. [id^=home-step-] figure img {
  1579. width: 100%;
  1580. height: auto
  1581. }
  1582. }
  1583.  
  1584. .super-title {
  1585. text-align: center
  1586. }
  1587.  
  1588. .browser-list {
  1589. display: none
  1590. }
  1591.  
  1592. #desktop-browser-list {
  1593. display: block
  1594. }
  1595.  
  1596. .browser-list-selector:not(.browser-list-selector-active) {
  1597. text-decoration: underline;
  1598. cursor: pointer
  1599. }
  1600.  
  1601. .browser-list-selector-active {
  1602. font-weight: 700
  1603. }
  1604.  
  1605. .browser-list-selector:not(:last-child) {
  1606. margin-right: 1em
  1607. }
  1608.  
  1609. .highlight {
  1610. background-color: #ff0
  1611. }
  1612.  
  1613. .installation-instructions-modal-content-firefox,.installation-instructions-modal-content-chrome,.installation-instructions-modal-content-opera,.installation-instructions-modal-content-safari,.installation-instructions-modal-content-other {
  1614. display: none
  1615. }
  1616.  
  1617. .installation-instructions-modal-firefox .installation-instructions-modal-content-firefox,.installation-instructions-modal-chrome .installation-instructions-modal-content-chrome,.installation-instructions-modal-opera .installation-instructions-modal-content-opera,.installation-instructions-modal-safari .installation-instructions-modal-content-safari,.installation-instructions-modal-other .installation-instructions-modal-content-other {
  1618. display: block
  1619. }
  1620.  
  1621. .installation-instructions-modal-content-bypass,.list-option-groups {
  1622. font-size: smaller
  1623. }
  1624.  
  1625. .list-option-group {
  1626. margin-bottom: 1em
  1627. }
  1628.  
  1629. .list-option-group ul {
  1630. margin: .5em 0 0;
  1631. list-style-type: none;
  1632. padding: 1em 0;
  1633. box-shadow: 0 0 5px #17181b;
  1634. border: 1px solid #1b1c1f;
  1635. border-radius: 5px;
  1636. background-color: #2b2f38;
  1637. }
  1638.  
  1639. .list-option-group a {
  1640. padding: .35em 1em;
  1641. display: block
  1642. }
  1643.  
  1644. .list-option-group a:hover,.list-option-group a:focus {
  1645. background: linear-gradient(#3a455c,#343f53);
  1646. text-decoration: none;
  1647. box-shadow: inset 0 -1px #212530, inset 0 1px #1e2127;
  1648. }
  1649.  
  1650. .list-option-group .list-current {
  1651. border-left: 7px solid #d63535;
  1652. box-shadow: inset 0 1px #0000001a,inset 0 -1px #0000001a;
  1653. margin: 0 0 0 -4px;
  1654. padding: .4em 1em .4em calc(1em - 3px);
  1655. background: linear-gradient(#495a71,#3d485a);
  1656. }
  1657.  
  1658. @media screen and (min-width: 440px) and (max-width: 960px) {
  1659. .list-option-group a,.list-option-group .list-current {
  1660. padding-left:1.2vw;
  1661. padding-right: 1.2vw
  1662. }
  1663. }
  1664.  
  1665. .list-option-button {
  1666. display: block;
  1667. background-color: #3c3e45;
  1668. text-align: center;
  1669. text-decoration: none;
  1670. color: #d7d7d7!important;
  1671. border: 1px solid #BBBBBB;
  1672. padding: .5em;
  1673. font-weight: 700
  1674. }
  1675.  
  1676. .list-option-button:hover,.list-option-button:focus {
  1677. background: linear-gradient(#46464f,#3b424a);
  1678. text-decoration: none
  1679. }
  1680.  
  1681. .list-option:not(.list-current) select {
  1682. width: calc(100% - 1.4em + 3px);
  1683. margin: .4em 1em .4em calc(1em - 3px)
  1684. }
  1685.  
  1686. .list-option.list-current select,.log-table {
  1687. width: 100%
  1688. }
  1689.  
  1690. .log-table th {
  1691. text-align: left
  1692. }
  1693.  
  1694. .log-table td,.log-table th {
  1695. padding: 0 5px
  1696. }
  1697.  
  1698. .log-table td .possibly-long-text {
  1699. max-width: 500px;
  1700. overflow-wrap: break-word
  1701. }
  1702.  
  1703. .modal__overlay {
  1704. position: fixed;
  1705. top: 0;
  1706. left: 0;
  1707. right: 0;
  1708. bottom: 0;
  1709. background: rgba(0,0,0,.6);
  1710. display: flex;
  1711. justify-content: center;
  1712. align-items: center;
  1713. z-index: 100
  1714. }
  1715.  
  1716. .modal__container {
  1717. background-color: #293142;
  1718. padding: 30px;
  1719. max-width: 500px;
  1720. max-height: 100vh;
  1721. border-radius: 4px;
  1722. overflow-y: auto;
  1723. box-sizing: border-box
  1724. }
  1725.  
  1726. .modal__header {
  1727. display: flex;
  1728. justify-content: space-between;
  1729. align-items: center
  1730. }
  1731.  
  1732. .modal__title {
  1733. margin-top: 0!important;
  1734. margin-bottom: 0;
  1735. font-weight: 600;
  1736. font-size: 1rem;
  1737. line-height: 1.25;
  1738. box-sizing: border-box
  1739. }
  1740.  
  1741. .modal__close {
  1742. background: transparent;
  1743. border: 0
  1744. }
  1745.  
  1746. .modal__header .modal__close:before {
  1747. content: "✕"
  1748. }
  1749.  
  1750. .modal__content {
  1751. margin-bottom: 2rem
  1752. }
  1753.  
  1754. .modal__content q {
  1755. font-style: italic
  1756. }
  1757.  
  1758. .modal__btn {
  1759. font-size: .875rem;
  1760. padding: .5rem 1rem;
  1761. background-color: #e6e6e6;
  1762. color: #000c;
  1763. border-radius: .25rem;
  1764. border-style: none;
  1765. border-width: 0;
  1766. cursor: pointer;
  1767. -webkit-appearance: button;
  1768. text-transform: none;
  1769. overflow: visible;
  1770. line-height: 1.15;
  1771. margin: 0 0 0 .5rem;
  1772. will-change: transform;
  1773. -moz-osx-font-smoothing: grayscale;
  1774. -webkit-backface-visibility: hidden;
  1775. backface-visibility: hidden;
  1776. -webkit-transform: translateZ(0);
  1777. transform: translateZ(0);
  1778. transition: -webkit-transform .25s ease-out;
  1779. transition: transform .25s ease-out;
  1780. transition: transform .25s ease-out,-webkit-transform .25s ease-out
  1781. }
  1782.  
  1783. .modal__btn:focus,.modal__btn:hover {
  1784. -webkit-transform: scale(1.05);
  1785. transform: scale(1.05)
  1786. }
  1787.  
  1788. .modal__btn-primary {
  1789. background-color: #147914;
  1790. color: #f4f4f4;
  1791. }
  1792.  
  1793. .modal__footer {
  1794. text-align: right
  1795. }
  1796.  
  1797. @keyframes mmfadeIn {
  1798. 0% {
  1799. opacity: 0
  1800. }
  1801.  
  1802. to {
  1803. opacity: 1
  1804. }
  1805. }
  1806.  
  1807. @keyframes mmfadeOut {
  1808. 0% {
  1809. opacity: 1
  1810. }
  1811.  
  1812. to {
  1813. opacity: 0
  1814. }
  1815. }
  1816.  
  1817. @keyframes mmslideIn {
  1818. 0% {
  1819. transform: translateY(15%)
  1820. }
  1821.  
  1822. to {
  1823. transform: translateY(0)
  1824. }
  1825. }
  1826.  
  1827. @keyframes mmslideOut {
  1828. 0% {
  1829. transform: translateY(0)
  1830. }
  1831.  
  1832. to {
  1833. transform: translateY(-10%)
  1834. }
  1835. }
  1836.  
  1837. .micromodal-slide {
  1838. display: none
  1839. }
  1840.  
  1841. .micromodal-slide.is-open {
  1842. display: block
  1843. }
  1844.  
  1845. .micromodal-slide[aria-hidden=false] .modal__overlay {
  1846. animation: mmfadeIn .3s cubic-bezier(0,0,.2,1)
  1847. }
  1848.  
  1849. .micromodal-slide[aria-hidden=false] .modal__container {
  1850. animation: mmslideIn .3s cubic-bezier(0,0,.2,1)
  1851. }
  1852.  
  1853. .micromodal-slide[aria-hidden=true] .modal__overlay {
  1854. animation: mmfadeOut .3s cubic-bezier(0,0,.2,1)
  1855. }
  1856.  
  1857. .micromodal-slide[aria-hidden=true] .modal__container {
  1858. animation: mmslideOut .3s cubic-bezier(0,0,.2,1)
  1859. }
  1860.  
  1861. .micromodal-slide .modal__container,.micromodal-slide .modal__overlay {
  1862. will-change: transform
  1863. }
  1864.  
  1865. .post-install {
  1866. margin: 1em 0;
  1867. border-radius: 2px;
  1868. padding: 5px;
  1869. max-width: 600px;
  1870. display: none;
  1871. align-items: center;
  1872. background-color: #264955;
  1873. border: 1px solid #264955;
  1874. position: relative
  1875. }
  1876.  
  1877. .post-install-label {
  1878. font-size: xx-small;
  1879. position: absolute;
  1880. top: -2px;
  1881. left: 2px;
  1882. opacity: .5
  1883. }
  1884.  
  1885. .post-install-text {
  1886. text-align: center;
  1887. align-items: center;
  1888. flex: 1
  1889. }
  1890.  
  1891. .post-install-text p {
  1892. margin: 0;
  1893. padding: 0
  1894. }
  1895.  
  1896. .post-install-button {
  1897. text-align: center;
  1898. margin-left: 10px;
  1899. white-space: nowrap
  1900. }
  1901.  
  1902. .preview-results {
  1903. border: 1px solid gray;
  1904. overflow: auto;
  1905. box-sizing: border-box;
  1906. margin: 0;
  1907. padding: 16px
  1908. }
  1909.  
  1910. .preview-results>p:first-child {
  1911. margin-top: 0
  1912. }
  1913.  
  1914. .preview-results>p:last-child {
  1915. margin-bottom: 0
  1916. }
  1917.  
  1918. .previewable textarea {
  1919. margin: 0
  1920. }
  1921.  
  1922. .previewable .tabs {
  1923. margin-top: 10px;
  1924. margin-bottom: -4px
  1925. }
  1926.  
  1927. #report_explanation {
  1928. width: 100%;
  1929. height: 10em
  1930. }
  1931.  
  1932. .reportable {
  1933. position: relative
  1934. }
  1935.  
  1936. .report-link-abs {
  1937. position: absolute;
  1938. top: 0;
  1939. right: 0;
  1940. font-size: smaller;
  1941. margin-right: 16px;
  1942. margin-top: 8px
  1943. }
  1944.  
  1945. .report-list-item:not(:last-child) {
  1946. padding-bottom: 20px;
  1947. border-bottom: 1px solid gray;
  1948. margin-bottom: 20px
  1949. }
  1950.  
  1951. .report-list-item .inline-form {
  1952. margin-right: 5px
  1953. }
  1954.  
  1955. .report-resolution-options {
  1956. display: inline-block;
  1957. vertical-align: top;
  1958. min-width: 30%
  1959. }
  1960.  
  1961. .report-resolution-options+.report-resolution-options {
  1962. margin-left: 1em
  1963. }
  1964.  
  1965. .report-resolution-options input[type=submit] {
  1966. margin-top: .5em
  1967. }
  1968.  
  1969. .report-resolution-options textarea {
  1970. width: 100%
  1971. }
  1972.  
  1973. .report-screenshot-control {
  1974. font-size: smaller;
  1975. padding: .5em 0
  1976. }
  1977.  
  1978. .unauthorized-code-comparison th {
  1979. text-align: left
  1980. }
  1981.  
  1982. .unauthorized-code-comparison th,.unauthorized-code-comparison td {
  1983. padding-right: 1em
  1984. }
  1985.  
  1986. body:lang(he),body:lang(ar),body:lang(ug),body:lang(ckb) {
  1987. direction: rtl
  1988. }
  1989.  
  1990. :not(:lang(he)):not(:lang(ar)):not(:lang(ug)):not(:lang(ckb)) {
  1991. direction: ltr
  1992. }
  1993.  
  1994. body:lang(he) #main-header,body:lang(ar) #main-header,body:lang(ug) #main-header,body:lang(ckb) #main-header {
  1995. direction: ltr
  1996. }
  1997.  
  1998. :lang(ar) #home-step-1 figure,:lang(he) #home-step-1 figure,:lang(ug) #home-step-1 figure,:lang(ckb) #home-step-1 figure {
  1999. float: left
  2000. }
  2001.  
  2002. :lang(ar) #home-step-2 figure,:lang(he) #home-step-2 figure,:lang(ug) #home-step-2 figure,:lang(ckb) #home-step-2 figure {
  2003. float: right
  2004. }
  2005.  
  2006. .checkup-list {
  2007. padding-inline-start:1em}
  2008.  
  2009. .checkup-list li {
  2010. list-style-type: "✗";
  2011. padding-inline-start:.5em}
  2012.  
  2013. .checkup-list li::marker {
  2014. color: red
  2015. }
  2016.  
  2017. .checkup-list li.good-check {
  2018. list-style-type: "✓"
  2019. }
  2020.  
  2021. .checkup-list li.good-check::marker {
  2022. color: green
  2023. }
  2024.  
  2025. .script-meta-block {
  2026. max-width: 600px;
  2027. column-count: 2
  2028. }
  2029.  
  2030. .script-meta-block>*:last-child {
  2031. margin-bottom: 1em
  2032. }
  2033.  
  2034. .inline-script-stats {
  2035. display: grid;
  2036. grid-template-columns: max-content auto;
  2037. margin: 0 22px 0 0
  2038. }
  2039.  
  2040. .inline-script-stats,.inline-script-stats dt,.inline-script-stats dd {
  2041. vertical-align: top;
  2042. padding: 0;
  2043. font-size: small
  2044. }
  2045.  
  2046. .inline-script-stats dt,.inline-script-stats dd {
  2047. box-sizing: border-box;
  2048. overflow-wrap: break-word;
  2049. margin: 1px 0
  2050. }
  2051.  
  2052. .inline-script-stats dt {
  2053. font-weight: 700;
  2054. text-align: end;
  2055. padding-inline-end:1em}
  2056.  
  2057. dd.script-list-ratings {
  2058. margin-top: 0;
  2059. margin-bottom: 0
  2060. }
  2061.  
  2062. @media screen and (max-width: 600px) {
  2063. .script-meta-block {
  2064. column-count:1
  2065. }
  2066. }
  2067.  
  2068. .script-antifeatures span[title] {
  2069. text-decoration: underline;
  2070. text-decoration-style: dotted
  2071. }
  2072.  
  2073. .script-show-compatibility {
  2074. vertical-align: bottom
  2075. }
  2076.  
  2077. .browser-compatible,.browser-incompatible,.browser-incompatible-marker {
  2078. width: 16px;
  2079. height: 16px
  2080. }
  2081.  
  2082. .browser-incompatible {
  2083. opacity: .5
  2084. }
  2085.  
  2086. .browser-incompatible-marker {
  2087. position: absolute
  2088. }
  2089.  
  2090. .script-lock-appeal-actions form {
  2091. display: inline-block;
  2092. margin-top: 1em
  2093. }
  2094.  
  2095. .change-script-set section {
  2096. border-bottom: 1px solid #DDDDDD;
  2097. padding-bottom: 1em
  2098. }
  2099.  
  2100. .change-script-set textarea {
  2101. height: 5em
  2102. }
  2103.  
  2104. .change-script-set .selection-box {
  2105. width: 45%;
  2106. display: inline-block;
  2107. vertical-align: top;
  2108. margin-bottom: 1em
  2109. }
  2110.  
  2111. @media screen and (max-width: 720px) {
  2112. .change-script-set .selection-box {
  2113. width:100%
  2114. }
  2115. }
  2116.  
  2117. .change-script-set select[multiple] {
  2118. width: 100%
  2119. }
  2120.  
  2121. .add-script-set label {
  2122. font-weight: 700;
  2123. display: block
  2124. }
  2125.  
  2126. .add-automatic-script-set-4>* {
  2127. vertical-align: top
  2128. }
  2129.  
  2130. .history_versions {
  2131. display: table;
  2132. padding: 0
  2133. }
  2134.  
  2135. .history_versions li {
  2136. display: table-row
  2137. }
  2138.  
  2139. .diff-controls,.version-number,.version-date,.version-changelog {
  2140. display: table-cell;
  2141. padding-bottom: .5em
  2142. }
  2143.  
  2144. .diff-controls,.version-number,.version-date {
  2145. white-space: nowrap;
  2146. padding-right: 1em
  2147. }
  2148.  
  2149. .version-changelog {
  2150. overflow-wrap: anywhere
  2151. }
  2152.  
  2153. .version-changelog img {
  2154. max-width: 100%
  2155. }
  2156.  
  2157. .version-changelog p:first-child {
  2158. margin-top: 0
  2159. }
  2160.  
  2161. .version-changelog p:last-child {
  2162. margin-bottom: 0
  2163. }
  2164.  
  2165. .remove-attachment {
  2166. margin-top: 20px
  2167. }
  2168.  
  2169. .remove-attachment input {
  2170. margin-left: 0
  2171. }
  2172.  
  2173. .sidebarred {
  2174. display: flex
  2175. }
  2176.  
  2177. .sidebarred-main-content {
  2178. flex: 1
  2179. }
  2180.  
  2181. .sidebar {
  2182. width: 200px;
  2183. padding-top: 1.75em;
  2184. padding-bottom: .75em;
  2185. margin-inline-start:1.5em;flex: none
  2186. }
  2187.  
  2188. .close-sidebar,.open-sidebar {
  2189. display: none;
  2190. cursor: pointer
  2191. }
  2192.  
  2193. .open-sidebar {
  2194. float: right;
  2195. background-color: #fff;
  2196. padding: 2px 1.2vw;
  2197. margin-right: -1.2vw;
  2198. border-radius: 3px 0 0 3px;
  2199. border-width: 1px 0 1px 1px;
  2200. border-style: solid;
  2201. border-color: gray
  2202. }
  2203.  
  2204. .sidebar-title {
  2205. flex: 1
  2206. }
  2207.  
  2208. @media screen and (max-width: 800px) {
  2209. .sidebarred {
  2210. display:block;
  2211. position: relative
  2212. }
  2213.  
  2214. .sidebar {
  2215. position: absolute;
  2216. right: -1.2vw;
  2217. top: 0;
  2218. background: white;
  2219. padding-top: 0;
  2220. padding-left: 1em;
  2221. padding-right: 1em;
  2222. border-width: 1px 0 1px 1px;
  2223. border-style: solid;
  2224. border-color: gray;
  2225. border-radius: 3px 0 0 3px
  2226. }
  2227.  
  2228. .sidebar.collapsed {
  2229. display: none
  2230. }
  2231.  
  2232. .close-sidebar {
  2233. display: flex;
  2234. margin-bottom: 1.5em;
  2235. background-color: #eee;
  2236. border-bottom: 1px solid black;
  2237. margin-left: -16px;
  2238. margin-right: -16px;
  2239. padding: .25em 1.2vw .25em 16px
  2240. }
  2241.  
  2242. .open-sidebar.sidebar-collapsed {
  2243. display: block
  2244. }
  2245. }
  2246.  
  2247. @media screen and (min-width: 800px) {
  2248. .sidebarred-main-content {
  2249. max-width:calc(100% - 224px)
  2250. }
  2251. }
  2252.  
  2253. .tabs {
  2254. list-style: none;
  2255. padding: 0 1em;
  2256. margin: 0 -1em;
  2257. display: flex;
  2258. position: relative;
  2259. top: -3.5px;
  2260. flex-wrap: wrap
  2261. }
  2262.  
  2263. .tabs>* {
  2264. align-items: stretch
  2265. }
  2266.  
  2267. .tabs>*>* {
  2268. padding: .25em .5em .5em;
  2269. display: block
  2270. }
  2271.  
  2272. .tabs a {
  2273. text-decoration: none;
  2274. cursor: pointer
  2275. }
  2276.  
  2277. .tabs .current,.tabs>*:not(.current) a:hover,.tabs>*:not(.current) a:focus {
  2278. background: #ffffff08;
  2279. box-shadow: inset 1px 0 #0000001a,inset -1px 0 #0000001a,inset 0 -1px #0000001a
  2280. }
  2281.  
  2282. .tabs .current {
  2283. box-shadow: inset 1px 0 #ffffff1a, inset -1px 0 #ffffff1a, inset 0 -1px #ffffff1a;
  2284. border-top: 7px solid #d63535
  2285. }
  2286.  
  2287. .tabs>*:not(.current) a {
  2288. margin-top: 3.5px;
  2289. padding-top: calc(.25em + 3.5px)
  2290. }
  2291.  
  2292. .user-content {
  2293. outline: 1px solid transparent;
  2294. background: linear-gradient(to right,transparent,transparent 1em);
  2295. border-left: 2px solid #70767d;
  2296. padding: .5em 1em;
  2297. overflow-x: auto
  2298. }
  2299.  
  2300. .user-content>p:first-child {
  2301. margin-top: 0
  2302. }
  2303.  
  2304. .user-content>p:last-child {
  2305. margin-bottom: 0
  2306. }
  2307.  
  2308. .user-content img {
  2309. max-width: 100%
  2310. }
  2311.  
  2312. .user-screenshots * {
  2313. vertical-align: middle
  2314. }
  2315.  
  2316. .user-screenshots a {
  2317. text-decoration: none
  2318. }
  2319.  
  2320. .comment-screenshot-control {
  2321. margin: 10px 0
  2322. }
  2323.  
  2324. .remove-images {
  2325. display: flex;
  2326. margin-top: 5px
  2327. }
  2328.  
  2329. .remove-image {
  2330. border: 2px solid black;
  2331. padding: 5px;
  2332. display: flex;
  2333. justify-content: space-between;
  2334. flex-direction: column
  2335. }
  2336.  
  2337. .remove-image:not(:first-child) {
  2338. margin-left: 5px
  2339. }
  2340.  
  2341. .remove-image img {
  2342. display: block
  2343. }
  2344.  
  2345. .remove-image-selecter,.comment .user-content .user-screenshots {
  2346. margin-top: 10px
  2347. }
  2348.  
  2349. #additional-info .user-screenshots {
  2350. margin-top: 1em
  2351. }
  2352.  
  2353. .user-content blockquote {
  2354. margin-left: 10px;
  2355. padding-left: 10px;
  2356. border-left: 2px solid #CCC
  2357. }
  2358.  
  2359. @keyframes lum-fade {
  2360. 0% {
  2361. opacity: 0
  2362. }
  2363.  
  2364. to {
  2365. opacity: 1
  2366. }
  2367. }
  2368.  
  2369. @keyframes lum-fadeZoom {
  2370. 0% {
  2371. transform: scale(.5);
  2372. opacity: 0
  2373. }
  2374.  
  2375. to {
  2376. transform: scale(1);
  2377. opacity: 1
  2378. }
  2379. }
  2380.  
  2381. @keyframes lum-loader-rotate {
  2382. 0% {
  2383. transform: translate(-50%,-50%) rotate(0)
  2384. }
  2385.  
  2386. 50% {
  2387. transform: translate(-50%,-50%) rotate(-180deg)
  2388. }
  2389.  
  2390. to {
  2391. transform: translate(-50%,-50%) rotate(-360deg)
  2392. }
  2393. }
  2394.  
  2395. @keyframes lum-loader-before {
  2396. 0% {
  2397. transform: scale(1)
  2398. }
  2399.  
  2400. 10% {
  2401. transform: scale(1.2) translate(6px)
  2402. }
  2403.  
  2404. 25% {
  2405. transform: scale(1.3) translate(8px)
  2406. }
  2407.  
  2408. 40% {
  2409. transform: scale(1.2) translate(6px)
  2410. }
  2411.  
  2412. 50% {
  2413. transform: scale(1)
  2414. }
  2415.  
  2416. 60% {
  2417. transform: scale(.8) translate(6px)
  2418. }
  2419.  
  2420. 75% {
  2421. transform: scale(.7) translate(8px)
  2422. }
  2423.  
  2424. 90% {
  2425. transform: scale(.8) translate(6px)
  2426. }
  2427.  
  2428. to {
  2429. transform: scale(1)
  2430. }
  2431. }
  2432.  
  2433. @keyframes lum-loader-after {
  2434. 0% {
  2435. transform: scale(1)
  2436. }
  2437.  
  2438. 10% {
  2439. transform: scale(1.2) translate(-6px)
  2440. }
  2441.  
  2442. 25% {
  2443. transform: scale(1.3) translate(-8px)
  2444. }
  2445.  
  2446. 40% {
  2447. transform: scale(1.2) translate(-6px)
  2448. }
  2449.  
  2450. 50% {
  2451. transform: scale(1)
  2452. }
  2453.  
  2454. 60% {
  2455. transform: scale(.8) translate(-6px)
  2456. }
  2457.  
  2458. 75% {
  2459. transform: scale(.7) translate(-8px)
  2460. }
  2461.  
  2462. 90% {
  2463. transform: scale(.8) translate(-6px)
  2464. }
  2465.  
  2466. to {
  2467. transform: scale(1)
  2468. }
  2469. }
  2470.  
  2471. .lum-lightbox {
  2472. background: rgba(0,0,0,.6)
  2473. }
  2474.  
  2475. .lum-lightbox-inner {
  2476. top: 2.5%;
  2477. right: 2.5%;
  2478. bottom: 2.5%;
  2479. left: 2.5%
  2480. }
  2481.  
  2482. .lum-lightbox-inner img {
  2483. position: relative
  2484. }
  2485.  
  2486. .lum-lightbox-inner .lum-lightbox-caption {
  2487. margin: 0 auto;
  2488. color: #fff;
  2489. max-width: 700px;
  2490. text-align: center
  2491. }
  2492.  
  2493. .lum-loading .lum-lightbox-loader {
  2494. display: block;
  2495. position: absolute;
  2496. top: 50%;
  2497. left: 50%;
  2498. transform: translate(-50%,-50%);
  2499. width: 66px;
  2500. height: 20px;
  2501. animation: lum-loader-rotate 1.8s infinite linear
  2502. }
  2503.  
  2504. .lum-lightbox-loader:before,.lum-lightbox-loader:after {
  2505. content: "";
  2506. display: block;
  2507. width: 20px;
  2508. height: 20px;
  2509. position: absolute;
  2510. top: 50%;
  2511. margin-top: -10px;
  2512. border-radius: 20px;
  2513. background: rgba(255,255,255,.9)
  2514. }
  2515.  
  2516. .lum-lightbox-loader:before {
  2517. left: 0;
  2518. animation: lum-loader-before 1.8s infinite linear
  2519. }
  2520.  
  2521. .lum-lightbox-loader:after {
  2522. right: 0;
  2523. animation: lum-loader-after 1.8s infinite linear;
  2524. animation-delay: -.9s
  2525. }
  2526.  
  2527. .lum-lightbox.lum-opening {
  2528. animation: lum-fade .18s ease-out
  2529. }
  2530.  
  2531. .lum-lightbox.lum-opening .lum-lightbox-inner {
  2532. animation: lum-fadeZoom .18s ease-out
  2533. }
  2534.  
  2535. .lum-lightbox.lum-closing {
  2536. animation: lum-fade .3s ease-in;
  2537. animation-direction: reverse
  2538. }
  2539.  
  2540. .lum-lightbox.lum-closing .lum-lightbox-inner {
  2541. animation: lum-fadeZoom .3s ease-in;
  2542. animation-direction: reverse
  2543. }
  2544.  
  2545. .lum-img {
  2546. transition: opacity .12s ease-out
  2547. }
  2548.  
  2549. .lum-loading .lum-img {
  2550. opacity: 0
  2551. }
  2552.  
  2553. .lum-gallery-button {
  2554. overflow: hidden;
  2555. text-indent: 150%;
  2556. white-space: nowrap;
  2557. background: transparent;
  2558. border: 0;
  2559. margin: 0;
  2560. padding: 0;
  2561. outline: 0;
  2562. position: absolute;
  2563. top: 50%;
  2564. transform: translateY(-50%);
  2565. height: 100px;
  2566. max-height: 100%;
  2567. width: 60px;
  2568. cursor: pointer
  2569. }
  2570.  
  2571. .lum-close-button {
  2572. position: absolute;
  2573. right: 5px;
  2574. top: 5px;
  2575. width: 32px;
  2576. height: 32px;
  2577. opacity: .3
  2578. }
  2579.  
  2580. .lum-close-button:hover {
  2581. opacity: 1
  2582. }
  2583.  
  2584. .lum-close-button:before,.lum-close-button:after {
  2585. position: absolute;
  2586. left: 15px;
  2587. content: " ";
  2588. height: 33px;
  2589. width: 2px;
  2590. background-color: #fff
  2591. }
  2592.  
  2593. .lum-close-button:before {
  2594. transform: rotate(45deg)
  2595. }
  2596.  
  2597. .lum-close-button:after {
  2598. transform: rotate(-45deg)
  2599. }
  2600.  
  2601. .lum-previous-button {
  2602. left: 12px
  2603. }
  2604.  
  2605. .lum-next-button {
  2606. right: 12px
  2607. }
  2608.  
  2609. .lum-gallery-button:after {
  2610. content: "";
  2611. display: block;
  2612. position: absolute;
  2613. top: 50%;
  2614. width: 36px;
  2615. height: 36px;
  2616. border-top: 4px solid rgba(255,255,255,.8)
  2617. }
  2618.  
  2619. .lum-previous-button:after {
  2620. transform: translateY(-50%) rotate(-45deg);
  2621. border-left: 4px solid rgba(255,255,255,.8);
  2622. box-shadow: -2px 0 #0003;
  2623. left: 12%;
  2624. border-radius: 3px 0 0
  2625. }
  2626.  
  2627. .lum-next-button:after {
  2628. transform: translateY(-50%) rotate(45deg);
  2629. border-right: 4px solid rgba(255,255,255,.8);
  2630. box-shadow: 2px 0 #0003;
  2631. right: 12%;
  2632. border-radius: 0 3px 0 0
  2633. }
  2634.  
  2635. @media (max-width: 460px) {
  2636. .lum-lightbox-image-wrapper {
  2637. display:flex;
  2638. overflow: auto;
  2639. -webkit-overflow-scrolling: touch
  2640. }
  2641.  
  2642. .lum-lightbox-caption {
  2643. width: 100%;
  2644. position: absolute;
  2645. bottom: 0
  2646. }
  2647.  
  2648. .lum-lightbox-position-helper {
  2649. margin: auto
  2650. }
  2651.  
  2652. .lum-lightbox-inner img {
  2653. max-width: none;
  2654. max-height: none
  2655. }
  2656. }
  2657.  
  2658.  
  2659.  
  2660.  
  2661. input:-webkit-autofill,
  2662. input:-webkit-autofill:hover,
  2663. input:-webkit-autofill:focus,
  2664. textarea:-webkit-autofill,
  2665. textarea:-webkit-autofill:hover,
  2666. textarea:-webkit-autofill:focus,
  2667. select:-webkit-autofill,
  2668. select:-webkit-autofill:hover,
  2669. select:-webkit-autofill:focus {
  2670. transition: background-color 9000000000s ease-in-out 0s, color 9000000000s ease-in-out 0s;
  2671. }
  2672.  
  2673.  
  2674.  
  2675. [style~="color:#21c"] {
  2676. color: #35deff !important;
  2677. }
  2678. [style~="color:#601d9f"] {
  2679. color: #a47cca !important;
  2680. }
  2681.  
  2682. [style~="color:blue"] {
  2683. color: #39adff !important;
  2684. }
  2685.  
  2686. [style~="color:#4183c4"], [style~="color: #4183c4"], [style*="color:#4183c4;"], [style*="color: #4183c4;"]{
  2687. color: #9fceea !important;
  2688. }
  2689.  
  2690.  
  2691. `
  2692.  
  2693. const key01 = "7QdWEuQ5k6tH"
  2694. const key02 = "SQwUKxgG4hoi"
  2695.  
  2696. const removeNonColor = (text) => {
  2697.  
  2698. const oriText = text;
  2699. const cache01 = sessionStorage.getItem(key01);
  2700. const cache02 = sessionStorage.getItem(key02);
  2701. if (cache01 === `${text}` && cache02 && typeof cache02 === 'string') return cache02;
  2702.  
  2703. let csso = stylis.compile(text);
  2704. const ruleSet = new Set();
  2705. const pp = new Set([
  2706. // "overflow-y",
  2707. // "margin",
  2708. "background-color",
  2709. "color",
  2710. // "font-family",
  2711. "outline",
  2712. "border",
  2713. // "direction",
  2714. // "resize",
  2715. // "vertical-align",
  2716. "background-image",
  2717. "box-shadow",
  2718. // "padding",
  2719. // "max-width",
  2720. // "position",
  2721. // "display",
  2722. // "line-height",
  2723. // "font-size",
  2724. // "letter-spacing",
  2725. // "text-decoration",
  2726. "text-shadow",
  2727. // "text-align",
  2728. // "right",
  2729. // "bottom",
  2730. // "top",
  2731. // "list-style-type",
  2732. // "margin-left",
  2733. // "min-width",
  2734. // "z-index",
  2735. // "white-space",
  2736. // "padding-right",
  2737. // "content",
  2738. "border-radius",
  2739. // "clear",
  2740. // "margin-top",
  2741. // "overflow-wrap",
  2742. // "font-style",
  2743. // "margin-bottom",
  2744. "transition",
  2745. // "padding-left",
  2746. // "list-style",
  2747. "border-bottom",
  2748. // "width",
  2749. // "box-sizing",
  2750. // "height",
  2751. "border-style",
  2752. // "font-weight",
  2753. // "float",
  2754. // "unicode-bidi",
  2755. // "word-wrap",
  2756. "border-color",
  2757. // "-moz-column-width",
  2758. // "-webkit-column-width",
  2759. // "column-width",
  2760. "border-left",
  2761. "border-collapse",
  2762. // "opacity",
  2763. "background-repeat",
  2764. "background-size",
  2765. "background-position",
  2766. // "margin-right",
  2767. // "min-height",
  2768. // "padding-inline-end",
  2769. // "-moz-appearance",
  2770. // "-webkit-appearance",
  2771. // "inset-inline-end",
  2772. // "padding-inline-start",
  2773. "background",
  2774. // "padding-bottom",
  2775. // "cursor",
  2776. "border-top",
  2777. // "appearance",
  2778. "text-transform",
  2779. // "overflow",
  2780. // "max-height",
  2781. // "overflow-x",
  2782. // "align-items",
  2783. // "flex",
  2784. // "padding-top",
  2785. "text-overflow",
  2786. // "margin-inline-end",
  2787. // "margin-inline-start",
  2788. // "left",
  2789. // "justify-content",
  2790. "border-width",
  2791. // "will-change",
  2792. // "-moz-osx-font-smoothing",
  2793. // "-webkit-backface-visibility",
  2794. // "backface-visibility",
  2795. "-webkit-transform",
  2796. "transform",
  2797. "animation",
  2798. // "column-count",
  2799. // "grid-template-columns",
  2800. "text-decoration-style",
  2801. // "flex-wrap",
  2802. // "flex-direction",
  2803. "animation-delay",
  2804. "animation-direction",
  2805. // "text-indent",
  2806. "border-right"
  2807. ]);
  2808.  
  2809. function baseCSSO(csso) {
  2810.  
  2811. let newCsso = new Set();
  2812.  
  2813. for (const entry of csso) {
  2814. newCsso.add(entry);
  2815. if (entry.type === 'rule' && typeof entry.children === 'object' && (entry.children || 0).length >= 1) {
  2816.  
  2817. for (const childEntry of entry.children) {
  2818. ruleSet.add(childEntry)
  2819. if (childEntry.type === 'decl' && typeof childEntry.children === 'string' && typeof childEntry.props === 'string') {
  2820. // pp.add(childEntry.props)
  2821.  
  2822. if (childEntry.props === 'background-image' && childEntry.parent.value.startsWith('.external-login-container .')) {
  2823. ruleSet.delete(childEntry)
  2824. } else if (!pp.has(childEntry.props)) ruleSet.delete(childEntry)
  2825.  
  2826. }
  2827.  
  2828. }
  2829. entry.children = [...ruleSet]
  2830. ruleSet.clear();
  2831. } else if (entry.type === '@media') {
  2832.  
  2833. if (typeof entry.children === 'object' && (entry.children || 0).length >= 1) {
  2834. entry.children = baseCSSO(entry.children)
  2835. }
  2836.  
  2837. } else if (entry.type === '@keyframes') {
  2838. newCsso.delete(entry);
  2839. } else {
  2840.  
  2841. console.log(331, entry)
  2842. }
  2843. }
  2844.  
  2845. return [...newCsso];
  2846.  
  2847.  
  2848. }
  2849.  
  2850. csso = baseCSSO(csso);
  2851.  
  2852.  
  2853.  
  2854.  
  2855.  
  2856. text = stylis.serialize(csso, stylis.stringify)
  2857.  
  2858. // console.log(stylis.compile(text))
  2859. // console.log(text)
  2860.  
  2861. // console.log([...pp])
  2862.  
  2863.  
  2864. sessionStorage.setItem(key01, `${oriText}`);
  2865. sessionStorage.setItem(key02, `${text}`);
  2866.  
  2867. return text
  2868.  
  2869.  
  2870.  
  2871. }
  2872.  
  2873. const mo = new MutationObserver(() => {
  2874. const head = document.head;
  2875. if (!head) return;
  2876. const css = head.querySelector('link[rel="stylesheet"][href*="/vite/assets/application-"][href*=".css"][media="screen"]');
  2877. if (!css || css.parentNode !== head) return;
  2878. mo.disconnect();
  2879. mo.takeRecords();
  2880.  
  2881. const text = removeNonColor(cssTextFn());
  2882. const blob = new Blob([text], { type: 'text/css; charset=UTF-8' });
  2883. const blobURL = URL.createObjectURL(blob);
  2884. const newLinkElm = document.createElement('link');
  2885. newLinkElm.rel = 'stylesheet'
  2886. newLinkElm.media = 'screen'
  2887. newLinkElm.href = blobURL;
  2888. newLinkElm.disabled = true;
  2889. head.insertBefore(newLinkElm, css.nextSibling);
  2890.  
  2891. const aoChange = () => {
  2892. if (document.documentElement.hasAttribute('dark')) {
  2893. newLinkElm.disabled = false;
  2894. } else {
  2895. newLinkElm.disabled = true;
  2896. }
  2897. }
  2898.  
  2899. if (localStorage.darkMode === 'true') {
  2900. document.documentElement.setAttribute('dark', '');
  2901. }
  2902. aoChange();
  2903. let ao = new MutationObserver(aoChange);
  2904. ao.observe(document.documentElement, { attributes: true, attributeFilter: ['dark'] });
  2905.  
  2906.  
  2907. });
  2908. mo.observe(document, { subtree: true, childList: true })
  2909.  
  2910.  
  2911. })();
  2912.  
  2913.  
  2914.  

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址